From nobody Mon Jan 13 04:24:40 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 4YWfL045tbz5kSr6; Mon, 13 Jan 2025 04:24: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 4YWfL03RG8z56pK; Mon, 13 Jan 2025 04:24:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736742280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7U1XaJIo3WoJPlZ+nBVgKz8wn2KOzdNCaDRn1NKjCNk=; b=iz/cPXYNKSlvYvyJ5sxRcai5I9yVEsuCNISmc5M9kkoXThozYX52gSrpIYYAvY8rCp2zfL j639W/VlCbqYagSWXQDu/rW+dwB2iHjOSSwBngEhwg/gX1XKE4rciXtXY1fiaRrJaO2Rcl 8jyObOreknZuoPQB0d7tmGYHBi0wWFE3ZEEdtLpSGstE0sa268Sl5PF3zG4NTUQswpg6g7 WXz9Z1E58ADXn1M3rOkm+8ZO8P8vOwW0AkWFZyNGYtjmISWjjnrNukYhNNC5P9VcPqaHLA rojZzzdz5Pxcq5AeRmhshIl84llfrwvREa/tWSUoQtSmvF4iwe/+N384l9HMqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736742280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7U1XaJIo3WoJPlZ+nBVgKz8wn2KOzdNCaDRn1NKjCNk=; b=Kb4wM2ySk9e8lbtL8bNTdXyJ5BjyhWu9F/z+yflW53ijwuxAWBNTTD3Yr5ul3mfoA+4DPm T+cueztXJEX6BHgnjoI4IBGhsVKxWOnhuR2LDzGZkJhMNNdTZefhJfFJOOrySngPHjUIim c3bsc4Li5F+71ARmTlVwcv57yNbx/EEW4KMWvy8C99anJMTaA3/el1GrH9G2fC36bc1+/U vIcXmLASqPlMGD0BRWm0lJonNTzBA3rszs0Nb2kjprpFcdDiJNLXRLuOSzh0nk9zyj+D/H yQNpM5zRIXwRBwQ/skBGBqg4yMkTZLeryzr5ogCAyaRksYl0tKncFiI9cezXpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736742280; a=rsa-sha256; cv=none; b=DGAiPDs9ACdGgUge01tbBH0H8h1aSsf8Iz+Dt1NHdHJpjsn41wf/NXW0AFMZnNa7qBVh9z 6X91Q4c/apbXk/af2hqlK+pKzv0zRSX2uWGkD6mBg6uxlKtr98c/NOdQrBtOQw3hA5Z+Kx MzIrGln9lFTWQYhnG2khJ7XE0Fsg9pXkvPZOp8KjlfoCJctFUhJbe4mSO/wdV8ZIGHNSTw LPDzYWTh0cOq3yzVNb/l6CmXMhqppvsEHf6+N1gt2D6vVb7pCc1nkv7CGVDl+rrQSmi7bs 2q1/aA1xwCJYm//QGzEKT0iKhBFaIkqQBhRtMFSDBSAJh2jH4rpb7B1xIZEqPQ== 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 4YWfL02kbszhG; Mon, 13 Jan 2025 04:24: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 50D4Oecp050387; Mon, 13 Jan 2025 04:24:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50D4OeFq050384; Mon, 13 Jan 2025 04:24:40 GMT (envelope-from git) Date: Mon, 13 Jan 2025 04:24:40 GMT Message-Id: <202501130424.50D4OeFq050384@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: e6de39be80e2 - stable/14 - MFC: libmagic: Unbreak for older FreeBSD releases. 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: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e6de39be80e2283517f3c51d3d238d851435898e Auto-Submitted: auto-generated The branch stable/14 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=e6de39be80e2283517f3c51d3d238d851435898e commit e6de39be80e2283517f3c51d3d238d851435898e Author: Xin LI AuthorDate: 2025-01-08 04:42:16 +0000 Commit: Xin LI CommitDate: 2025-01-13 04:24:19 +0000 MFC: libmagic: Unbreak for older FreeBSD releases. PR: bin/273736 Reported by: philip (cherry picked from commit 7f8f120439b77e60a1070d87f4dc6cb9a43d0335) --- lib/libmagic/config.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/libmagic/config.h b/lib/libmagic/config.h index 12cd382ab9bb..d642880d6096 100644 --- a/lib/libmagic/config.h +++ b/lib/libmagic/config.h @@ -1,6 +1,9 @@ /* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ +/* FreeBSD */ +#include + /* Define if building universal (internal helper macro) */ /* #undef AC_APPLE_UNIVERSAL_BUILD */ @@ -21,8 +24,10 @@ /* Define to 1 if you have the header file. */ #ifndef __APPLE__ /* Cross building tools on macOS */ +#if __FreeBSD_version >= 1400079 || (__FreeBSD_version < 1400000 && __FreeBSD_version >= 1302500) #define HAVE_BYTESWAP_H 1 #endif +#endif /* Define to 1 if you have the header file. */ /* #undef HAVE_BZLIB_H */ From nobody Mon Jan 13 04:25:36 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 4YWfM473Nxz5kSp2; Mon, 13 Jan 2025 04:25:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YWfM46bQdz57C0; Mon, 13 Jan 2025 04:25:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736742336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a1G6/t4iF2YtEXUQinj6JYQCSJ0TQEjX6LpnaGTsP+o=; b=MS21ymLNNUYUPYRJ0xYs6H3nR0Sa2oM2n1K5G+AYcNgvy4vsJUuBFtRYtEIyjIO74gnudp ZuJPUzc1W1oJrSZq/F4ft5fqgcHy7Jqz4b1obJSROnwW+HWhFAgry/PVy/wUF4cMuED7oi atCE17C/nzzTDsLprmQNx+iqydlOuOufskVzhGC7ZgZP1mf6OXGwehRCEoHpNqukX9hWY2 4Zkpu3vl/glHnSAV8i0my2Hn7rvR6syt1x1m32fhgS9i5nx7foamYe8LQQZuAtr8BZRXY9 kEup+CqeS2Ea2WrO5TydOABrK9W60s87kO0pUUscd6wnIF2XxdyxULQgbMZsjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736742336; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a1G6/t4iF2YtEXUQinj6JYQCSJ0TQEjX6LpnaGTsP+o=; b=LZEFcrkwTMBBGY9aKtKRNeRDO2ChBNU9IgSOeRBsPshTdv2HKHnAbxLZOWn0Y/AMaBPMJ4 /5V2v2A3fgsL8QNhFWgwm47H8l6vbb3zVuaQHMkAuzGAWM6HhJEIShtpAz0YO3GiMd/rC7 SzYD2Rp7f+zw8TTolV48i8KyLjhL6UU0OG7VsE7PT5GP91b0O2iyu/UUO051zWtQFruag6 u+BlzNwOG7kve8FiJozpXipu7A3Bt+A0NC+iIWqqEr61spjCyQjLKSDjKtv58MfV3UvmZB RbXPtDeoWRC+5B8qTFSP8bNCNlIP1GtgbijU/Q2Fa54tJnlCxjMzdj3CtwKV3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736742336; a=rsa-sha256; cv=none; b=hssQ4K6PBJ6tCkUynvclgsGF7/6gjVJKZPUdx4OSl4Cs9XdDDb0mL4fxDJoAnAEmNHafuO d8JeF9K55awpHM5ammRdXehepM6Hk991MPS5p8aKknx+4Io016vJI/yQrXnl6zeG+5NN51 GIpEhFZMPtiEywbspQeQLcgnpXlD7IJ0cY4Y72Ah+RId/VNvn+RMChnrvcS8B5xnVyZnZV Uzk2d1XhAc4TkJI0pq7ba1bUFE1in2Fu9nHVeLkBjWUFaeUxd63CL6ACO1VEVToepRXXwo KfZ4afEGJyhqN02jzSJPd+4jgr6Ug/N0S1POq4TgICiW2f05xccPgvk/0YJqzw== 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 4YWfM468yzzkD; Mon, 13 Jan 2025 04:25:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50D4Pa6v050841; Mon, 13 Jan 2025 04:25:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50D4PaeR050838; Mon, 13 Jan 2025 04:25:36 GMT (envelope-from git) Date: Mon, 13 Jan 2025 04:25:36 GMT Message-Id: <202501130425.50D4PaeR050838@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Xin LI Subject: git: 163951959866 - stable/13 - MFC: libmagic: Unbreak for older FreeBSD releases. 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: delphij X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 163951959866377ebf6d9af84a412dd22b1a8983 Auto-Submitted: auto-generated The branch stable/13 has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=163951959866377ebf6d9af84a412dd22b1a8983 commit 163951959866377ebf6d9af84a412dd22b1a8983 Author: Xin LI AuthorDate: 2025-01-13 04:25:29 +0000 Commit: Xin LI CommitDate: 2025-01-13 04:25:29 +0000 MFC: libmagic: Unbreak for older FreeBSD releases. PR: bin/273736 Reported by: philip (cherry picked from commit 7f8f120439b77e60a1070d87f4dc6cb9a43d0335) --- lib/libmagic/config.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/libmagic/config.h b/lib/libmagic/config.h index 12cd382ab9bb..d642880d6096 100644 --- a/lib/libmagic/config.h +++ b/lib/libmagic/config.h @@ -1,6 +1,9 @@ /* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ +/* FreeBSD */ +#include + /* Define if building universal (internal helper macro) */ /* #undef AC_APPLE_UNIVERSAL_BUILD */ @@ -21,8 +24,10 @@ /* Define to 1 if you have the header file. */ #ifndef __APPLE__ /* Cross building tools on macOS */ +#if __FreeBSD_version >= 1400079 || (__FreeBSD_version < 1400000 && __FreeBSD_version >= 1302500) #define HAVE_BYTESWAP_H 1 #endif +#endif /* Define to 1 if you have the header file. */ /* #undef HAVE_BZLIB_H */ From nobody Tue Jan 14 02:54:09 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YXDH56JTbz5j0BF; Tue, 14 Jan 2025 02:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXDH55qDNz3QV2; Tue, 14 Jan 2025 02:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736823249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tG9H3C32ffqlk4fpEHxrCw/JHb4wZQbqAOoS23NOpXo=; b=PrQXulFIeeKwHmVqzcRP5C6DqpEWmo59fkQt6OK8pG4w7L/HZF1JcpTMf/6VAWlX/tcr1r hSbxx2zuhIJ31FwcrSEgcObj/M+JJxWpMP55TrkPsGG0HC4RjxY3i5pdLdMO29rrgL/Nua mUHK0wz8WhS7rfUDS1iUMy4Rmvn1JAp3gV5XQKv/aC0YpLQudbD6EJuZlIqoAC1yQzhYT3 /eFjYKI1uF3s86hdFHS7Ggo/axIylgkJB5aGusMLOEwYyWZD+49NhtJgk+i4ePKa9ajYTr f6xzsM43G4qJi7P9Oa3F66iwxwSLEpXDwHyXq4FVxIS5y7X4nqXMdcalphIW2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736823249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tG9H3C32ffqlk4fpEHxrCw/JHb4wZQbqAOoS23NOpXo=; b=AeQNILUh6OTOC6ZhWvYoMDKGqKl8htJfn871q2R3fU+92rcgP/z4O9v4BYgVgwM6zeqTov VbGJDpnEQjY3TS/phVLLuYzVeQn9kPwkI/kbpU9iCxUag3SIijCoa+/2or1wi98TZ/io1v USODsf0EjGwcCv+gsBjk+wYEXoT6yCzCKNkUEGnvQi+0W+ewa7B292NDzQRnWeiiIWyXA6 WryYktFux0At8cbLHK7DFgIY4Sut5d97LqsSna7tYZ7Czdb/gNQRCgte1+fH8XG28OK+9f lDg2856ihg6WKBZanAdub/OUF0fx3piZ8G3gknVUmPPQACby64bbkQ9Et68GaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736823249; a=rsa-sha256; cv=none; b=uqaiYmPI3FEA8B5e0dRpGE8aObjKmAjxh4f730ZFaOanT6IEd1BQeHfwMBDBaANxpsuzTp pM+0fLiqIzmxcgNdG3t+b4du/aT/LoXwtSuuL6hI86/qaIZUmQ1bO73yuuRLa3zTwgbWLj sBU1LT7oni/JqvyB1XH+Y8MpVNB6SBTPv42XlIbDVXdEs32tFKCCsOmyZJgJuouQVCMy7b 4F/rs7MaTDxKEDWtX8lqSsP4iivis3jeofScom6uZDRJf2EH7qkZX7ChwaHbb9UZNL5O4m JNtH13aURDYIPH1sfDgip8r25q5B6S0LbCK8UD5AhGol8lLxZ7GfuXL5VTSawQ== 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 4YXDH55P1XzyT9; Tue, 14 Jan 2025 02:54:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50E2s99Y081043; Tue, 14 Jan 2025 02:54:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50E2s9g3081040; Tue, 14 Jan 2025 02:54:09 GMT (envelope-from git) Date: Tue, 14 Jan 2025 02:54:09 GMT Message-Id: <202501140254.50E2s9g3081040@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Joseph Mingrone Subject: git: 9110e31e1df7 - stable/14 - tcpdump/print-pflog: Print uid with host endianness 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: jrm X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9110e31e1df788495d62c74b1a969c6deb303423 Auto-Submitted: auto-generated The branch stable/14 has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=9110e31e1df788495d62c74b1a969c6deb303423 commit 9110e31e1df788495d62c74b1a969c6deb303423 Author: Eric A. Borisch AuthorDate: 2025-01-03 00:21:52 +0000 Commit: Joseph Mingrone CommitDate: 2025-01-14 02:49:14 +0000 tcpdump/print-pflog: Print uid with host endianness PR: 283799 Reported by: Eric A. Borisch Reviewed by: jrm, kp Fixes: 0a7e5f1f02aad2ff5fff1c60f44c6975fd07e1d9 (cherry picked from commit d72f87c0fd1418bdb814594ea8fc76a202f7d5c6) --- contrib/tcpdump/print-pflog.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/tcpdump/print-pflog.c b/contrib/tcpdump/print-pflog.c index e54d33ac13bb..71bf01f07555 100644 --- a/contrib/tcpdump/print-pflog.c +++ b/contrib/tcpdump/print-pflog.c @@ -119,8 +119,8 @@ pflog_print(netdissect_options *ndo, const struct pfloghdr *hdr) ND_PRINT("%s", tok2str(pf_reasons, "unkn(%u)", GET_U_1(hdr->reason))); - if (GET_BE_U_4(hdr->uid) != UID_MAX) - ND_PRINT(" [uid %u]", (unsigned)GET_BE_U_4(hdr->uid)); + if (GET_HE_U_4(hdr->uid) != UID_MAX) + ND_PRINT(" [uid %u]", GET_HE_U_4(hdr->uid)); if (ridentifier != 0) ND_PRINT(" [ridentifier %u]", ridentifier); From nobody Tue Jan 14 04:21: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 4YXGCg5CzKz5j5xM; Tue, 14 Jan 2025 04: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 4YXGCg4jWDz3bCn; Tue, 14 Jan 2025 04: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=1736828479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UmI6nlbhYdsfqMPBIJV09xR5QuI4jiG5TGsj185pQRk=; b=OfbO2gXL/HOcR1cES9403OYZ5IbDCNNtJLbN8Rl/3uEeEOI64/rrqVkPI39Wg7KuEwdXav 3/dKkdtilNkALcTXT/GafL6JoEtd0e106LBAaJsB+SGUMv/3bO/earo/4ToLy3QBVOLHoU 45puRpJWdD+cz0JibBy57n4zyOrUL1iU6tv056BTXOeL8jLr5UXk6p/YeobkFGJfMrpkrS Ed5fBxM6kjTyOfNVm2TQVilmnVnGqwpel29vwDvktmweVi4FObxRWIdzXQ01z10rcIbufl jwSMPSU5F0JMFKN60kC0CrsGhJv/FIlH0p6q+wMYoHGlpVBeRse1epb+tM76+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736828479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UmI6nlbhYdsfqMPBIJV09xR5QuI4jiG5TGsj185pQRk=; b=dphnrR3HQpdHqe8lnkRVRKNIb3LIloy/DPpd/XA3VMx4aRPRrLdAc61Lnm7WfB5ZAJm+G6 v+yRtKlCdvjUY8uv4nPlzr3DzfsVKYqibyASo4fR61C7zlvmxqC925n7R3YyyNLI32XiR0 ScZn36XPOW39DuZhIv+dEcNmrZiXJPwk6MJ7iCH8otofhz33xADwt9X5SSzdEn3ds/M9lj U+JXnczsEGGdDjiWl6CvJE1mxKkiJ0LydEQwNIF6XDohd2bofNT3V8be63Sj93LFrpGgCb iOlifCHfu7EzMoVXweRqgvg443ewNQVjefPvYlEkVkt2rM0ntj6qg34WwZgAhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736828479; a=rsa-sha256; cv=none; b=NkCdOPD0TmLNRCW9AYwW5GTrOUfICorTD3lAkwP4YS82sHrMem9QJ06FnnO8JN4JGSiDOs k8vfTINeeWcteP2YvTSE04045dJYEy0eUq5B78bgXC6AGeiTu7iELkDKfq4Nz2hHfbNzaF kgeAO12/H6jO++jb0Sqq1yaPqgnvRg6yjpv4MNXqcKiN/5LUDsPe24spA1lFfhgvppAA8a vwU8054RmMhj7QmBhjHF9hP2BqDMFT8tKOUDC1//IaNYFAuxzvh3Dq1FCaDGGsCdNPBfD1 RwuRR9r+zyBcnXHRza/zErvQBbylYSrhobBTO6z4UCkfIxB98L54BNVMeXAnew== 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 4YXGCg463Cz11ZH; Tue, 14 Jan 2025 04: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 50E4LJuE046193; Tue, 14 Jan 2025 04: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 50E4LJ82046190; Tue, 14 Jan 2025 04:21:19 GMT (envelope-from git) Date: Tue, 14 Jan 2025 04:21:19 GMT Message-Id: <202501140421.50E4LJ82046190@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 42d4bcc6c560 - stable/14 - sys/sys/kernel.h: Remove SI_SUB_DONE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 42d4bcc6c5607b666413db88978e0cc1181de6c4 Auto-Submitted: auto-generated The branch stable/14 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=42d4bcc6c5607b666413db88978e0cc1181de6c4 commit 42d4bcc6c5607b666413db88978e0cc1181de6c4 Author: Zhenlei Huang AuthorDate: 2024-12-31 16:01:21 +0000 Commit: Zhenlei Huang CommitDate: 2025-01-14 04:20:49 +0000 sys/sys/kernel.h: Remove SI_SUB_DONE It was not used since 9a7add6d01f3. Reviewed by: mhorne, imp Fixes: 9a7add6d01f3 init_main: Switch from sysinit array to SLIST MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47915 (cherry picked from commit 81f9d3b11f310b28e4bf8cc2ad2d84e4aadd929d) --- sys/sys/kernel.h | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h index f547ff4690de..e07dc7031bb8 100644 --- a/sys/sys/kernel.h +++ b/sys/sys/kernel.h @@ -87,7 +87,6 @@ extern volatile int ticks; */ enum sysinit_sub_id { SI_SUB_DUMMY = 0x0000000, /* not executed; for linker */ - SI_SUB_DONE = 0x0000001, /* processed */ SI_SUB_TUNABLES = 0x0700000, /* establish tunable values */ SI_SUB_COPYRIGHT = 0x0800001, /* first use of console */ SI_SUB_VM = 0x1000000, /* virtual memory system init */ From nobody Tue Jan 14 08:57: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 4YXNL32Wzdz5kPT9; Tue, 14 Jan 2025 08:57: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 4YXNL31jdXz424H; Tue, 14 Jan 2025 08:57:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736845035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6DNsR4hutgGyrq9RkuwqTdT23bflXwIxYWvFXk0asA0=; b=YJBL8d3ojw3i0UQQ2iQ17ScDht0eTVWpNiwodvB3Tuj89zo3wUvCejHy43fIqTOdy6YMnz IAVm6g/cpXSWdNNQSs3w1RjF+2yIOQVab3uGBg5ag6VXZO1X9G19qM5hnQhLs/pbyN0YF8 hzbCbK17MsZj+3zjwijbfrh2UgPNr5vYq9lCLTXts7UOo3AKH4Y5XSzZa31mkfin2MhSW2 0LuvSiHrbDmw0GhELS7ELILcXyUg/4i6Wmnc6Y61B1Pmar6EWkt6TNSoum0dCOeQnwFFPV SeuMhsSQ6ahy4pGSwlG9q7hMEfCkmTf7/9f+hnZvVp1MtKccwjAU/Jp75Dl6vQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736845035; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6DNsR4hutgGyrq9RkuwqTdT23bflXwIxYWvFXk0asA0=; b=CRD+Ili6XtcTs1GfqiplmFL9MCTAIkS9zYMjd8FBnGvqkwfrU0b0EVIJuHWV68/HllUmrQ mkjN6IkLocZP4rl+fcXLKLWBEzKptdaucBNSXkxVFbcF3u8H1qHhQd8kni9W5M5Gy8T75g aTEk0W/UGJHFTZfGYKduj8PtgiNYCXLHugH+Ce9PaEku5ssyD4sFcKMtbqsR0hcE5OTuWJ gQdP2w+iyTAXgPoNcaoY/xIiNMhe9UX6JGuHXh8iBgaMhb/Dnbsro3v4LvDoggzcjqubvy hSWXCvdrRXbWGOySz6pJlpgnB6DjZrarc5ir0tafLbN06a8ShTKMhMOPYvy/6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736845035; a=rsa-sha256; cv=none; b=O9njuft49mxnGhwa8vaqgs5zrNeSiDiwms6uMNApYj3sz28xDKQXzWKIJcZcKoupDjaiBP cgDyVw/Td9obIXW1QMS/lTBVmYGkT3iM5vGmtAo4ClE//3t+2mO2rUqMcQOGFEAtphIYiA DTQx5ZtqlPGsfphfenJ0ZFd1V5zV/RjnPpFB+hz4ShmGN+2yC8F9kWEWz0cRjLL6Ufo8nt vYYIv88aAghrgYZKdLvCAybvk+QlONDypUKpJuA4ywakpsNO/Mhv3jQ+efoMbvMwnv+f7c TrAtG7nUcW+otJ7vW4O9uBoYL8cru3/UxFQr1m6mbFFUju5EvzYVWbWiX91iRA== 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 4YXNL31JQTz18q4; Tue, 14 Jan 2025 08:57: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 50E8vFk1058881; Tue, 14 Jan 2025 08:57:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50E8vFiB058878; Tue, 14 Jan 2025 08:57:15 GMT (envelope-from git) Date: Tue, 14 Jan 2025 08:57:15 GMT Message-Id: <202501140857.50E8vFiB058878@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: aa8067cbe7c6 - stable/14 - open(2): allow O_PATH | O_CREAT 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: aa8067cbe7c65fa30c0bf92c9e24207ed6b9f665 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=aa8067cbe7c65fa30c0bf92c9e24207ed6b9f665 commit aa8067cbe7c65fa30c0bf92c9e24207ed6b9f665 Author: Konstantin Belousov AuthorDate: 2025-01-06 11:01:11 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-14 08:56:41 +0000 open(2): allow O_PATH | O_CREAT (cherry picked from commit cc0d806f63e833b9e011c0665905b2208b436c8b) --- sys/kern/vfs_syscalls.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index fbb1e1cdda92..45a9a0c2bd48 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -1147,7 +1147,7 @@ openatfp(struct thread *td, int dirfd, const char *path, * except O_EXEC is ignored. */ if ((flags & O_PATH) != 0) { - flags &= ~(O_CREAT | O_ACCMODE); + flags &= ~O_ACCMODE; } else if ((flags & O_EXEC) != 0) { if (flags & O_ACCMODE) return (EINVAL); From nobody Tue Jan 14 08:57: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 4YXNL43D24z5kP1f; Tue, 14 Jan 2025 08:57: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 4YXNL427Yrz42TV; Tue, 14 Jan 2025 08:57:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736845036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TVz78caoWkTq/pEiphuhNdTfJmTAUJHhjNv3TQErUYk=; b=DwUdLyr3YU+VpV7TFp1mGoARAVwuz0WBuZ8lw008L9li+3R8eT5nYyLOGRXSqwFcSiOkBX Ls2YJ2U+DtTQ5LDWeDiJSHKAeqAVm4Kmtcg88JHkC73qI0fWAOltFSVc12jfhJhWdIjn5Q bQhZhVqlr1CPSbWjcAJHBBbdjAbFhAleIC7VpbI8O6yGGv3mSvoFwErUSQ/Uff1kV42hTw 0bkvsGNNfe//mRDJzfDtdd7GMNSvEtvurgp2Paj1OmA9H/Vb+FHh5pRD81e0638AWAfuCf DoO+23BBauAu050vpdF+vCLQu4WYnZ2iS9xD6JvdzO3lcjUf9q3YTgS+oJwWGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736845036; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TVz78caoWkTq/pEiphuhNdTfJmTAUJHhjNv3TQErUYk=; b=xWDyv/wl5dT7RH7OQCQZ6BnDy5UmYIGNF0WOnrnkokCy8h3CsR2L1LgWscZguefFof5nq4 b8WPOYTSmf/lYi27KbmrYPuH++hmIatGhPSI73g2VHey15/JOkxiEtD+3oX17uTNACTj9F yp5Idcm/nf476yYdJh7gc381+01jyKVFq5c9EV3JFgb7B5o+7GBHBZJkx3D2Wr70ErrOJJ GWkpXLsZNd2jDnI1SxFZm+pUf1aKDIXZQWmUeVMFJospPlkqVpYkcGVrTiYzR3zeJ0QcXA RRXxfrP8fGPSnAblWUlXotTPkNJyVxL9HIubcKBqJLMEc9LVAeAchD0v3VpwYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736845036; a=rsa-sha256; cv=none; b=PpWNFTpY4ZQDgYOq7kZ3zyQfasWYf5x5hgtYYe/A1DSMbvcbIIqVhflCkX3bXGiQKMupQP fb45u8EX+gp+omapTybfbf/akj8DZ6jnces9jspTAm7wxK7lg5Zm9Fj6zs+lE6xx6CdwXD K1y3f5qt4ois1PIQlhb8uN/fES5Kv0iirKYF3X/wkz9LjtlxOodZQFnaAAjYKR+d7sS/iX a5co2VMJfUzu0JTl05yUyIfS0dFnBIrsjdK7+Ai8j9TzAaIuW+gAAwKeOX/OYTDI6u6YLt clbJMePA+QSaE+qEU367b2Yf6H339YbzpAYeKQ8JGtOG2Ot/maL4Qbkf+3BzgQ== 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 4YXNL41d9Qz184G; Tue, 14 Jan 2025 08:57: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 50E8vGRW058946; Tue, 14 Jan 2025 08:57:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50E8vGgt058943; Tue, 14 Jan 2025 08:57:16 GMT (envelope-from git) Date: Tue, 14 Jan 2025 08:57:16 GMT Message-Id: <202501140857.50E8vGgt058943@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: 1b2bf32658e5 - stable/14 - path_test: adjust test for open(O_PATH | O_CREAT) 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: 1b2bf32658e5a0dfb572e256370cb772255d2ad5 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1b2bf32658e5a0dfb572e256370cb772255d2ad5 commit 1b2bf32658e5a0dfb572e256370cb772255d2ad5 Author: Konstantin Belousov AuthorDate: 2025-01-06 22:07:07 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-14 08:56:41 +0000 path_test: adjust test for open(O_PATH | O_CREAT) (cherry picked from commit 749b3b2c0629f44f6b0044992dfb2ce5ac7e562b) --- tests/sys/file/path_test.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/sys/file/path_test.c b/tests/sys/file/path_test.c index 911c7c7075f0..b3b8b7cebd4d 100644 --- a/tests/sys/file/path_test.c +++ b/tests/sys/file/path_test.c @@ -684,10 +684,14 @@ ATF_TC_BODY(path_io, tc) size_t page_size; int error, fd, pathfd, sd[2]; - /* It shouldn't be possible to create new files with O_PATH. */ + /* It is allowed to create new files with O_PATH. */ snprintf(path, sizeof(path), "path_io.XXXXXX"); ATF_REQUIRE_MSG(mktemp(path) == path, FMT_ERR("mktemp")); - ATF_REQUIRE_ERRNO(ENOENT, open(path, O_PATH | O_CREAT, 0600) < 0); + pathfd = open(path, O_PATH | O_CREAT, 0600); + ATF_REQUIRE_MSG(pathfd >= 0, FMT_ERR("open(O_PATH|O_CREAT)")); + /* Ensure that this is indeed O_PATH fd */ + ATF_REQUIRE_ERRNO(EBADF, write(pathfd, path, strlen(path)) == -1); + CHECKED_CLOSE(pathfd); /* Create a non-empty file for use in the rest of the tests. */ mktfile(path, "path_io.XXXXXX"); From nobody Tue Jan 14 08:57: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 4YXNL55W48z5kPWq; Tue, 14 Jan 2025 08:57: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 4YXNL53RKjz42MT; Tue, 14 Jan 2025 08:57:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736845037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NEqgrSCqKDrusFBilzYTmEJpfXFQ6/Q7sY53tSYtB40=; b=Dv8PTF68NUffqGhUK8iviENrtTbDzqdv19ITgTw8UerXWios4G60nL8c4qT10rcZl7CuFu kyl1XzlrYRzDrcTPpjQiZxqfHhvS90twm820Rse/lxP/Duep1kClhtjMQK4WfNy0wyERoc sM2OB7LdGikUa4abNOiaZtzb0T/KZ5jHtbBu39dWgy5BJExpfOULV1YIADtytkIDojKvFF uZJnxlqkGn2OyOB9ejrQxCQYUf3vtb6CnS+nYyTs1Gz5+yL+FEWE/HEPjqngYESDYgjg72 uofJjKkOVNdAZjRG7n09bI9izg1awb/cGfkhSu83UCMNsvEPW9X6WMrCZRIwmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736845037; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NEqgrSCqKDrusFBilzYTmEJpfXFQ6/Q7sY53tSYtB40=; b=LkG1wDoE567vV3rpWsoCCumSt4H+wvPaiD/ZXqy/tmVzLl2WMdvStEaLYu5UHpJqfWMEkd 4rI7Fe5isoR7sUUTAJTipBVDDEeVKRzA2P01f3J7Y4OGFmmEIe1V39msL07nDMfsKQijbm BkR3t1sbySsq3Z8qrqdaNOcIe20eh3tkfv6bmeU8iO7njTvPF99LEAcCmdBko7o1wMPk2o 4bMmQWx3C5+BwIxhsQZwxEb3fB3eWPneU4JTa+dTSH//jrPEmpfjgH/4ds9m5Hilo1XR2C 3BqJnCkPqomNWugGWIVdkMcyIPvAR3Q8fbf2axa6HvbhId/ajfYXzH3QsVNB+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736845037; a=rsa-sha256; cv=none; b=NK5wdZCxtepBEgqpCNogrE8XjN1z6WF2hLfpcAFaA0KYq78qKRF3002c51/dTXjO4duthh lkyZZa3WtWmwrLsywtkwuAiMfKiYjEDahMMnZA0dL3ewEIMZ261ywLZ1MXCFWRShNTnzx5 WEbNFJsWIDCddDhD6IuEKo7AeumNK4EQPK28NihaCY+SdAGuLmi7HC/lmV4gWK9QiTwuIG 1Wfv1If14F05tY+8ZG2ULjKcJdJ9eBEnz3SA874x/UvPxDHocEaDddMetPA/0nJL7b3w6b /pb0mciCcUQWTqKvPqoO6cmLaJWbacZMnjQjjqNIBXe3/KefGO36qD0iizAkow== 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 4YXNL52yVmz18n7; Tue, 14 Jan 2025 08:57: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 50E8vHRf059007; Tue, 14 Jan 2025 08:57:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50E8vHZu059004; Tue, 14 Jan 2025 08:57:17 GMT (envelope-from git) Date: Tue, 14 Jan 2025 08:57:17 GMT Message-Id: <202501140857.50E8vHZu059004@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: df3796cc68fc - stable/14 - pci_find_cap_method(): limit number of iterations for finding a capability 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: df3796cc68fc22fc164049ca25c45f646581203a Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=df3796cc68fc22fc164049ca25c45f646581203a commit df3796cc68fc22fc164049ca25c45f646581203a Author: Konstantin Belousov AuthorDate: 2025-01-06 23:29:18 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-14 08:56:41 +0000 pci_find_cap_method(): limit number of iterations for finding a capability PR: 283815 (cherry picked from commit 6ba2c036a0117ac02f9979b7dc49f15e9c1ea9c9) --- sys/dev/pci/pci.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 8236b8bde41a..1a415f676ff7 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -1513,6 +1513,7 @@ pci_find_cap_method(device_t dev, device_t child, int capability, pcicfgregs *cfg = &dinfo->cfg; uint32_t status; uint8_t ptr; + int cnt; /* * Check the CAP_LIST bit of the PCI status register first. @@ -1539,9 +1540,11 @@ pci_find_cap_method(device_t dev, device_t child, int capability, ptr = pci_read_config(child, ptr, 1); /* - * Traverse the capabilities list. + * Traverse the capabilities list. Limit by total theoretical + * maximum number of caps: capability needs at least id and + * next registers, and any type X header cannot contain caps. */ - while (ptr != 0) { + for (cnt = 0; ptr != 0 && cnt < (PCIE_REGMAX - 0x40) / 2; cnt++) { if (pci_read_config(child, ptr + PCICAP_ID, 1) == capability) { if (capreg != NULL) *capreg = ptr; From nobody Tue Jan 14 10:58:26 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 4YXR1v5nkTz5kX3y; Tue, 14 Jan 2025 10:58: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 4YXR1v0Mg4z3Kgk; Tue, 14 Jan 2025 10:58:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736852307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GhCdHLHV6FLbqziIBB4vxDEI6AsmqF6YMf4GlTGRLug=; b=ZSWtmkb2jcfZ8OUpM7+z8g8VYVPN+LNsr8YTjqf4QabB7j3kPjnXTiNJhLVUU20j4mP9hr dn8vnZO8GIIHkZK8pMvW6TLwWcHJXjw07rUF14FtMkRIuYWx+DIQZsCmsMZlqA5MoZ/v8R oIv1iZIjv206OxIVtqJ4s4xhIIrNCpfNTDW76/o6ONYUbgFcRTEwmEAMTtwzugWTZuqEVR KeDS6TCzHEDMMZmXiel4VlArTPmckxzv8Hks9iLphFHN+cKYhgBSUiMFEiujHGU7UTTIBD i9sbWbYmyXhn4aUyyjRtj6oQNtTWCGZDpnEtlnOTVsplB2uu/kMf/ERJ3MwXjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736852307; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GhCdHLHV6FLbqziIBB4vxDEI6AsmqF6YMf4GlTGRLug=; b=Tdw8gAd901IMjEO1asej+kfPoAYZf3zIE4uTOpbu3D/kYMC6fsklj3sOT3o5nc4ka/ezz1 a8rBgRNt5fvqsa99imDlCNLLN+sIihSFnynnT6IdlDNJLHmE2/I7mP65uddWsE+98BFo7Z zDYLXWgOwi574EGZeJrD3ENbUjAbdis6tSkbpVj9+1JEtlt3BG+6NTxYYByMJdQuaPajL5 6LBSQj20Do5IpT2Kin/vlGguXrACrzuwQfyNA1hAYIqRBQrb+mQYNtA2Asp92e97whLp8n nZkODO0zBGrdEfDJpW2J22rIhavPjb+rrNgDUOQH1s2Iprj6Oo1P+OjmV1HfFQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736852307; a=rsa-sha256; cv=none; b=NBGwEWuSjMU7oIDIq7XuTTPh1z2S0NquJiK1iCpdXYYSaSb/wz3Hd4FE92ustXLuiDX1o6 28koMIWjWlcjPbuod8kNk74CxvEngW7TNxDyFu69aLZRO19nBb9JhQVtd0vjYdTWTAIgOF CgpNlq4/92BG/p386mJSupUkLc6jz8Bt4504txANtNgv3F0BssdMd8HtVhpWDZn55B+11v WLYyUPZ32631rmWTyQDwk/K92LbXZCKPGIf36n1FxEpj4So+qzzFl5QLTDi2qi/RcQ3h4W eIzBbujuGoN5ZNkUuiIyiEBMXujnEu9WPVSFBcByRxZamRVhzaRAHU30+VAVMw== 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 4YXR1t6Ykdz1Cnp; Tue, 14 Jan 2025 10:58: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 50EAwQco085583; Tue, 14 Jan 2025 10:58:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EAwQ3X085580; Tue, 14 Jan 2025 10:58:26 GMT (envelope-from git) Date: Tue, 14 Jan 2025 10:58:26 GMT Message-Id: <202501141058.50EAwQ3X085580@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Zhenlei Huang Subject: git: 08ec14fecf6a - stable/13 - sppp: Fix getting wrong spppreq cmd from ioctl List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 08ec14fecf6a93c0321c31ba1f0b04db6b888f16 Auto-Submitted: auto-generated The branch stable/13 has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=08ec14fecf6a93c0321c31ba1f0b04db6b888f16 commit 08ec14fecf6a93c0321c31ba1f0b04db6b888f16 Author: Zhenlei Huang AuthorDate: 2025-01-14 10:56:49 +0000 Commit: Zhenlei Huang CommitDate: 2025-01-14 10:56:49 +0000 sppp: Fix getting wrong spppreq cmd from ioctl ifr->ifr_data is supposed to point to a struct spppreq. The first member cmd of struct spppreq is int type. It was pre-read via `fueword()` before a full fetching. Unfortunately an user space `struct spppreq spr` may not be zeroed explicitly, on 64bit architectures `fueword()` reads 64bit word thus the garbage (extra 4 bytes) may be read into kernel space (subcmd). Prior to f9d8181868ee, `subcmd` was declared as int and assigned from `fuword()` and was implicitly converted from long to int. On 64bit little endian architectures the implicitly conversion overflows (undefined bahavior) which happen to trash the garbage (the extra 4 bytes, high 32 bits) and worked, but no luck on 64bit big endian architectures. Since f9d8181868ee `subcmd` was changed to u_long then there is no conversion so we end up mismatching `subcmd` with user space's `cmd`. It is also a bit hackish to get the value of cmd via `fueword()`, instead we refer to it directly from spr->cmd. This is a direct commit to stable/13 as sppp(4) no longer exists in main and stable/14. PR: 173002 Reviewed by: glebius (previous version) Fixes: f9d8181868ee Fixed yet more ioctl breakage due to the type of ... Differential Revision: https://reviews.freebsd.org/D47335 --- sys/net/if_spppsubr.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sys/net/if_spppsubr.c b/sys/net/if_spppsubr.c index ed198c59bbfe..269a6ef1d0da 100644 --- a/sys/net/if_spppsubr.c +++ b/sys/net/if_spppsubr.c @@ -5044,10 +5044,10 @@ sppp_suggest_ip6_addr(struct sppp *sp, struct in6_addr *suggest) static int sppp_params(struct sppp *sp, u_long cmd, void *data) { - u_long subcmd; + int subcmd __diagused; struct ifreq *ifr = (struct ifreq *)data; struct spppreq *spr; - int rv = 0; + int rv; if ((spr = malloc(sizeof(struct spppreq), M_TEMP, M_NOWAIT)) == NULL) return (EAGAIN); @@ -5056,7 +5056,7 @@ sppp_params(struct sppp *sp, u_long cmd, void *data) * Check the cmd word first before attempting to fetch all the * data. */ - rv = fueword(ifr_data_get_ptr(ifr), &subcmd); + rv = fueword32(ifr_data_get_ptr(ifr), &subcmd); if (rv == -1) { rv = EFAULT; goto quit; @@ -5067,8 +5067,9 @@ sppp_params(struct sppp *sp, u_long cmd, void *data) goto quit; } - switch (subcmd) { - case (u_long)SPPPIOGDEFS: + MPASS(subcmd == spr->cmd); + switch (spr->cmd) { + case (intptr_t)SPPPIOGDEFS: if (cmd != SIOCGIFGENERIC) { rv = EINVAL; break; @@ -5103,7 +5104,7 @@ sppp_params(struct sppp *sp, u_long cmd, void *data) sizeof(struct spppreq)); break; - case (u_long)SPPPIOSDEFS: + case (intptr_t)SPPPIOSDEFS: if (cmd != SIOCSIFGENERIC) { rv = EINVAL; break; From nobody Tue Jan 14 14:43:30 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 4YXX1Z5DpSz5km0Q; Tue, 14 Jan 2025 14:43:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1Z4N5kz3gPg; Tue, 14 Jan 2025 14:43:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TCRezlNRJ/QnvR6wuZOIfeWx1zydso6DSsRtBll48iE=; b=ttvkrPZQa0CmcaAuSFcKJAxxzkyK2aA38GRuzWAJLOSjwAAJB1nKQYjD9WnOCwPbH7tw59 XuXtA13byKMK/0v4yYZR6psT5zcnUhdlprQJAoyo6okrVJybKD4V632zyAnKSpgUKgV6ES u8BlMB392gGhA/+zmmSmmxQJtRH6wzWqoki3DREFqmmxKKIbwgxYnIxXEDgLNDt88QNZzj iW9ytQ196wWVnLsyhN7C35pr+ZULcPdD3eM86xJCjvCdRdtjnB9w3a5D8kINe0Fylx+2Vv JVBIhTpJWi7BWMA0e6hcP5DrqZiW9myzLrFeQRPfYXYkXVoqwqtV9DQMCEqJgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TCRezlNRJ/QnvR6wuZOIfeWx1zydso6DSsRtBll48iE=; b=eHv915zTcSwIo+XZt7Q52cKW2eAa677Z7wMnBtjbuySM3gT/5gpRYkluJlsb43+b03OjkZ nkl8Q/wp4mM5SAXhBI8hWQvqmVq+bQrrzzqlGvHNREWmdJozZgZNtKOTOzaULJ7Atk68dp JcHFlkVBf8Wsj9GJxhszs7cQ8VmuQPm/4s0FyIHJBhTz2L0Puujam6AKmi61vwrHEx50x9 3uaXmTaMRYxqrZncA04d7bdIrhVNvO7GXOeYrDi/fiUAQrJaJHTGvJBbK1xY/h6/DTCuUh s8FfUEyvDnaOL34eVfiaaAw7yTaIib/BzX3AC+8UXj8BpglGdhaZyMOQE6v86Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865810; a=rsa-sha256; cv=none; b=oKdf4Kk3MQDtbT0BI6mq5a6DimsnlWhZcxYOpAw9CgmpOkI69jpAfgXkhTMOHXp4Gj+GLN pbwUu/qkSHHAeooqtcXWTf2JS+qr9CZRLr/TigGk6xelKjzKp6Nk3xwVhktrX7kP0DlWAH y7FP4n+Rol+Nd9OLRtWmsVU4BVQB6WHfqkuPzNOrZzmwsId+h8GeqrRy/ZmoX3F2zo6XmH RHmnUChBSTF1jDLLMl2DenT99QIuE9pkyO8Rdlz9enVSch8mdr5KG8yN0mLJ8YHMu3VrAS Dgzy1r0CEkuU5Li1LkJN7Sp5DxsjgNq1cK0ZYJCekuSWlw0eLwAecB4FvoBi2w== 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 4YXX1Z3rPMz1Kgj; Tue, 14 Jan 2025 14:43:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EEhUtO013998; Tue, 14 Jan 2025 14:43:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhUeo013995; Tue, 14 Jan 2025 14:43:30 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:30 GMT Message-Id: <202501141443.50EEhUeo013995@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: 2c1c6bd7d5db - stable/14 - sed: Fix handling of an empty pattern space 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: 2c1c6bd7d5dbddd953587c1f003e6164749e087b Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2c1c6bd7d5dbddd953587c1f003e6164749e087b commit 2c1c6bd7d5dbddd953587c1f003e6164749e087b Author: Mohamed Akram AuthorDate: 2024-12-23 19:06:09 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:14:24 +0000 sed: Fix handling of an empty pattern space Add a regression test. PR: 271791 Obtained from: OpenBSD (1.38 millert) MFC after: 2 weeks (cherry picked from commit 5982237f1e5a30b6b7d67b307b4d3685b00718bf) --- usr.bin/sed/process.c | 10 ++++------ usr.bin/sed/tests/sed2_test.sh | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/usr.bin/sed/process.c b/usr.bin/sed/process.c index 3d88096ffb77..945db462a601 100644 --- a/usr.bin/sed/process.c +++ b/usr.bin/sed/process.c @@ -439,14 +439,12 @@ substitute(struct s_command *cp) * and at the end of the line, terminate. */ if (match[0].rm_so == match[0].rm_eo) { - if (*s == '\0' || *s == '\n') - slen = -1; - else - slen--; - if (*s != '\0') { + if (slen > 0) { cspace(&SS, s++, 1, APPEND); + slen--; le++; - } + } else + slen = -1; lastempty = 1; } else lastempty = 0; diff --git a/usr.bin/sed/tests/sed2_test.sh b/usr.bin/sed/tests/sed2_test.sh index f50619612561..0b849b1ea132 100755 --- a/usr.bin/sed/tests/sed2_test.sh +++ b/usr.bin/sed/tests/sed2_test.sh @@ -159,6 +159,19 @@ minus_e_body() atf_check -o 'inline:--\nab\n' sed $'1 i\\\n--' a } +atf_test_case command_D +command_D_head() +{ + atf_set "descr" "Test handling of an empty pattern space" +} +command_D_body() +{ + printf "hello\n\nworld\n" > a + + atf_check -o file:a sed -e 's/^//;P;D' a + atf_check -o file:a sed -e 's/^//;$!N;P;D' a +} + atf_init_test_cases() { atf_add_test_case inplace_command_q @@ -169,4 +182,5 @@ atf_init_test_cases() atf_add_test_case hex_subst atf_add_test_case bracket_y atf_add_test_case minus_e + atf_add_test_case command_D } From nobody Tue Jan 14 14:43:31 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YXX1c097Zz5kmDK; Tue, 14 Jan 2025 14:43: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 4YXX1b53GQz3gV1; Tue, 14 Jan 2025 14:43:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4t6Bxh4WKgJ2RdsUAvc7C5EJW26dW2HNKzMCh8/KHbI=; b=hOPk6IaAYwPVgkMCZ/L2oO3aG0rA4OmWRCAkjSMQ9xq/cXYK+O2RkTWOaD0tP6jGOs5/ie n9IuIBsLqSdCjpFbWEZ0vLgrBCWhDL7HGio90A/Ldxhza2+VB+Porj9jDyGRy0bG9991Sp j4AIBdH8/fDAZLHXcL+gnCt7gfmJCI4V+3XqSItGe/sbS/2eIrc6FKynKS6+93vnvuwWAF merrmIr+J6SKMaaN5hmTVg6Lb1VAb8L6tz1BKfQXk6dPmI//sXzUvxSzjauC6E1WSWRZiq SQwkMqjyjiSUEZVMxBO1F5ClKKFVf11tYgh/Mhzt82jC4XspOp6ZzT8POy/FaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4t6Bxh4WKgJ2RdsUAvc7C5EJW26dW2HNKzMCh8/KHbI=; b=UrMNSOLxcgLlfStUUrUXGkAZixJn+curNaVhx4nxZQ/PzTM+dk6O60rh7IAmtafNooQI/4 fK4j0VWJ6fIiIItuaq1DHaDymUpszMAHI9fQ4OTKDEsAMKCAfpIteksrjGmfjReOkbcCt8 Xmr/+Ue8ZouKh7lld3MbJySnlYt76uqOW56i4kc5QQ4MjLPpQoP5bJUNWcaMNontA5hPAJ PnaeD7KHFH7i/n5KpLdqgE+B9PsR3/GYrjGpKdrLjOg25Yx3+wtt7CJWdPkhkQCsQExuRc sozhfOJiIsuxCIR2pO7GG/ku1Airbs5QInG9dB0lGnFNxxnhGhaYzTL4tAZQVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865811; a=rsa-sha256; cv=none; b=VcEOCWYWKteicAZscxGW4doPeiHRAOZn1Ek/bprObncOmHAw36ExzDnkXDA7UaXbcFwlmq vjS20t+o8w9UIp8M/QKX3URmzWDQX+4a3xYawRGny+m5sJBTYhliP0LG9/w24ysyNQUscO VA821sZb3h9uS2xKvZUeOXjTMjMI7BzM82bQ/Zg3ZxLYhpRN7T3joPVn4NHi1VbpcGFk5X hSulaLfgb7pypL8Geymih1KQswfGBGBPsUH7p92VZmk3z0/Ns1CmAKaNSZtNB8n/y0yAhZ ZEfNa/Orr+x4Ceh5Bl/D2EeQFqH1LS5TuNmZpzR/5PrVyWbzds3XmN+uYvDRXQ== 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 4YXX1b4cqDz1KQ1; Tue, 14 Jan 2025 14:43:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EEhVRg014046; Tue, 14 Jan 2025 14:43:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhVVd014043; Tue, 14 Jan 2025 14:43:31 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:31 GMT Message-Id: <202501141443.50EEhVVd014043@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: cbf77cecec38 - stable/14 - inpcb: Remove bogus SO_REUSEPORT(_LB) checks in in_pcbbind() 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: cbf77cecec38dfcdd5fdc24fc1fba9eeae3b00f1 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=cbf77cecec38dfcdd5fdc24fc1fba9eeae3b00f1 commit cbf77cecec38dfcdd5fdc24fc1fba9eeae3b00f1 Author: Mark Johnston AuthorDate: 2024-12-12 14:06:06 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:14:24 +0000 inpcb: Remove bogus SO_REUSEPORT(_LB) checks in in_pcbbind() This check for SO_REUSEPORT was added way back in commit 52b65dbe85faf. Per the commit log, this commit restricted this port-stealing check to unicast addresses, and then only if the existing socket does not have SO_REUSEPORT set. In other words, if there exists a socket bound to INADDR_ANY, and we bind a socket to INADDR_ANY with the same port, then the two sockets need not be owned by the same user if the existing socket has SO_REUSEPORT set. This is a surprising semantic; bugzilla PR 7713 gives some additional context. That PR makes a case for the behaviour described above when binding to a multicast address. But, the SO_REUSEPORT check is only applied when binding to a non-multicast address, so it doesn't really make sense. In the PR the committer notes that "unicast applications don't set SO_REUSEPORT", which makes some sense, but also refers to "multicast applications that bind to INADDR_ANY", which sounds a bit suspicious. OpenBSD performs the multicast check, but not the SO_REUSEPORT check. DragonflyBSD removed the SO_REUSEPORT (and INADDR_ANY) checks back in 2014 (commit 0323d5fde12a4). NetBSD explicitly copied our logic and still has it. The plot thickens: 20 years later, SO_REUSEPORT_LB was ported from DragonflyBSD: this option provides similar semantics to SO_REUSEPORT, but for unicast addresses it causes incoming connections/datagrams to be distributed among all sockets in the group. This commit (1a43cff92a20d) inverted the check for SO_REUSEPORT while adding one for SO_REUSEPORT_LB; this appears to have been inadvertent. However: - apparently no one has noticed that the semantics were changed; - sockets belonging to different users can now be bound to the same port so long as they belong to a single lbgroup bound to INADDR_ANY, which is not correct. Simply remove the SO_REUSEPORT(_LB) checks, as their original justification was dubious and their current implementation is wrong; add some tests. Reviewed by: glebius MFC after: 1 month Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D47832 (cherry picked from commit 4f02a7d739b354eef38e19b25866f64842d69414) --- sys/netinet/in_pcb.c | 4 +- sys/netinet6/in6_pcb.c | 4 +- tests/sys/netinet/socket_afinet.c | 240 +++++++++++++++++++++++++++++++++++++- 3 files changed, 241 insertions(+), 7 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 0add5a7c340b..331804545bee 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -928,9 +928,7 @@ in_pcbbind_avail(struct inpcb *inp, const struct in_addr laddr, (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) && + !in_nullhost(t->inp_laddr)) && (inp->inp_cred->cr_uid != t->inp_cred->cr_uid)) return (EADDRINUSE); } diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index de864305b434..04b87819d629 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -247,9 +247,7 @@ in6_pcbbind_avail(struct inpcb *inp, const struct sockaddr_in6 *sin6, (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) && + !IN6_IS_ADDR_UNSPECIFIED(&t->in6p_laddr)) && (inp->inp_cred->cr_uid != t->inp_cred->cr_uid)) return (EADDRINUSE); diff --git a/tests/sys/netinet/socket_afinet.c b/tests/sys/netinet/socket_afinet.c index 7076f084719a..ba8c03af46a6 100644 --- a/tests/sys/netinet/socket_afinet.c +++ b/tests/sys/netinet/socket_afinet.c @@ -2,6 +2,7 @@ * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2019 Bjoern A. Zeeb + * Copyright (c) 2024 Stormshield * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -25,11 +26,17 @@ * SUCH DAMAGE. */ -#include +#include #include +#include + #include + #include #include +#include +#include +#include #include @@ -281,6 +288,235 @@ ATF_TC_BODY(socket_afinet_stream_reconnect, tc) ATF_CHECK_EQ(0, rc); } +/* + * Make sure that unprivileged users can't set the IP_BINDANY or IPV6_BINDANY + * socket options. + */ +ATF_TC(socket_afinet_bindany); +ATF_TC_HEAD(socket_afinet_bindany, tc) +{ + atf_tc_set_md_var(tc, "require.user", "unprivileged"); +} +ATF_TC_BODY(socket_afinet_bindany, tc) +{ + int s; + + s = socket(AF_INET, SOCK_STREAM, 0); + ATF_REQUIRE(s >= 0); + ATF_REQUIRE_ERRNO(EPERM, + setsockopt(s, IPPROTO_IP, IP_BINDANY, &(int){1}, sizeof(int)) == + -1); + ATF_REQUIRE(close(s) == 0); + + s = socket(AF_INET, SOCK_DGRAM, 0); + ATF_REQUIRE(s >= 0); + ATF_REQUIRE_ERRNO(EPERM, + setsockopt(s, IPPROTO_IP, IP_BINDANY, &(int){1}, sizeof(int)) == + -1); + ATF_REQUIRE(close(s) == 0); + + s = socket(AF_INET6, SOCK_STREAM, 0); + ATF_REQUIRE(s >= 0); + ATF_REQUIRE_ERRNO(EPERM, + setsockopt(s, IPPROTO_IPV6, IPV6_BINDANY, &(int){1}, sizeof(int)) == + -1); + ATF_REQUIRE(close(s) == 0); + + s = socket(AF_INET6, SOCK_DGRAM, 0); + ATF_REQUIRE(s >= 0); + ATF_REQUIRE_ERRNO(EPERM, + setsockopt(s, IPPROTO_IPV6, IPV6_BINDANY, &(int){1}, sizeof(int)) == + -1); + ATF_REQUIRE(close(s) == 0); +} + +/* + * Bind a socket to the specified address, optionally dropping privileges and + * setting one of the SO_REUSE* options first. + * + * Returns true if the bind succeeded, and false if it failed with EADDRINUSE. + */ +static bool +child_bind(const atf_tc_t *tc, int type, struct sockaddr *sa, int opt, bool unpriv) +{ + const char *user; + pid_t child; + + if (unpriv) { + if (!atf_tc_has_config_var(tc, "unprivileged_user")) + atf_tc_skip("unprivileged_user not set"); + user = atf_tc_get_config_var(tc, "unprivileged_user"); + } else { + user = NULL; + } + + child = fork(); + ATF_REQUIRE(child != -1); + if (child == 0) { + int s; + + if (user != NULL) { + struct passwd *passwd; + + passwd = getpwnam(user); + if (seteuid(passwd->pw_uid) != 0) + _exit(1); + } + + s = socket(sa->sa_family, type, 0); + if (s < 0) + _exit(2); + if (bind(s, sa, sa->sa_len) == 0) + _exit(3); + if (errno != EADDRINUSE) + _exit(4); + if (opt != 0) { + if (setsockopt(s, SOL_SOCKET, opt, &(int){1}, + sizeof(int)) != 0) + _exit(5); + } + if (bind(s, sa, sa->sa_len) == 0) + _exit(6); + if (errno != EADDRINUSE) + _exit(7); + _exit(0); + } else { + int status; + + ATF_REQUIRE_EQ(waitpid(child, &status, 0), child); + ATF_REQUIRE(WIFEXITED(status)); + status = WEXITSTATUS(status); + ATF_REQUIRE_MSG(status == 0 || status == 6, + "child exited with %d", status); + return (status == 6); + } +} + +static bool +child_bind_priv(const atf_tc_t *tc, int type, struct sockaddr *sa, int opt) +{ + return (child_bind(tc, type, sa, opt, false)); +} + +static bool +child_bind_unpriv(const atf_tc_t *tc, int type, struct sockaddr *sa, int opt) +{ + return (child_bind(tc, type, sa, opt, true)); +} + +static int +bind_socket(int domain, int type, int opt, bool unspec, struct sockaddr *sa) +{ + socklen_t slen; + int s; + + s = socket(domain, type, 0); + ATF_REQUIRE(s >= 0); + + if (domain == AF_INET) { + struct sockaddr_in sin; + + bzero(&sin, sizeof(sin)); + sin.sin_family = AF_INET; + sin.sin_len = sizeof(sin); + sin.sin_addr.s_addr = htonl(unspec ? + INADDR_ANY : INADDR_LOOPBACK); + sin.sin_port = htons(0); + ATF_REQUIRE(bind(s, (struct sockaddr *)&sin, sizeof(sin)) == 0); + + slen = sizeof(sin); + } else /* if (domain == AF_INET6) */ { + struct sockaddr_in6 sin6; + + bzero(&sin6, sizeof(sin6)); + sin6.sin6_family = AF_INET6; + sin6.sin6_len = sizeof(sin6); + sin6.sin6_addr = unspec ? in6addr_any : in6addr_loopback; + sin6.sin6_port = htons(0); + ATF_REQUIRE(bind(s, (struct sockaddr *)&sin6, sizeof(sin6)) == 0); + + slen = sizeof(sin6); + } + + if (opt != 0) { + ATF_REQUIRE(setsockopt(s, SOL_SOCKET, opt, &(int){1}, + sizeof(int)) == 0); + } + + ATF_REQUIRE(getsockname(s, sa, &slen) == 0); + + return (s); +} + +static void +multibind_test(const atf_tc_t *tc, int domain, int type) +{ + struct sockaddr_storage ss; + int opts[4] = { 0, SO_REUSEADDR, SO_REUSEPORT, SO_REUSEPORT_LB }; + int s; + bool flags[2] = { false, true }; + bool res; + + for (size_t flagi = 0; flagi < nitems(flags); flagi++) { + for (size_t opti = 0; opti < nitems(opts); opti++) { + s = bind_socket(domain, type, opts[opti], flags[flagi], + (struct sockaddr *)&ss); + for (size_t optj = 0; optj < nitems(opts); optj++) { + int opt; + + opt = opts[optj]; + res = child_bind_priv(tc, type, + (struct sockaddr *)&ss, opt); + /* + * Multi-binding is only allowed when both + * sockets have SO_REUSEPORT or SO_REUSEPORT_LB + * set. + */ + if (opts[opti] != 0 && + opts[opti] != SO_REUSEADDR && opti == optj) + ATF_REQUIRE(res); + else + ATF_REQUIRE(!res); + + res = child_bind_unpriv(tc, type, + (struct sockaddr *)&ss, opt); + /* + * Multi-binding is only allowed when both + * sockets have the same owner. + * + * XXX-MJ we for some reason permit this when + * binding to the unspecified address, but I + * don't think that's right + */ + if (flags[flagi] && opts[opti] != 0 && + opts[opti] != SO_REUSEADDR && opti == optj) + ATF_REQUIRE(res); + else + ATF_REQUIRE(!res); + } + ATF_REQUIRE(close(s) == 0); + } + } +} + +/* + * Try to bind two sockets to the same address/port tuple. Under some + * conditions this is permitted. + */ +ATF_TC(socket_afinet_multibind); +ATF_TC_HEAD(socket_afinet_multibind, tc) +{ + atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.config", "unprivileged_user"); +} +ATF_TC_BODY(socket_afinet_multibind, tc) +{ + multibind_test(tc, AF_INET, SOCK_STREAM); + multibind_test(tc, AF_INET, SOCK_DGRAM); + multibind_test(tc, AF_INET6, SOCK_STREAM); + multibind_test(tc, AF_INET6, SOCK_DGRAM); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, socket_afinet); @@ -289,6 +525,8 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, socket_afinet_poll_no_rdhup); ATF_TP_ADD_TC(tp, socket_afinet_poll_rdhup); ATF_TP_ADD_TC(tp, socket_afinet_stream_reconnect); + ATF_TP_ADD_TC(tp, socket_afinet_bindany); + ATF_TP_ADD_TC(tp, socket_afinet_multibind); return atf_no_error(); } From nobody Tue Jan 14 14:43: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 4YXX1d3LTNz5kmDM; Tue, 14 Jan 2025 14:43:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1c5mw7z3gPm; Tue, 14 Jan 2025 14:43:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IlNdvHQxDkWU15IAN9mjo8QrJsudpGfx2yAE74qGgg4=; b=e83VNDavZ93OjsmxpDOieNJF6mqxnHr9SzrUkitfGM+A/bIbrqk6i1avC2OaIqlMOVTeD8 tIQH+LAHl5fKVTJyOb07qGNMHu8VZwriX3Jr413GL+Cp2j3599G3RbB5BRH8peuc1Ycqin B5HYjCWtoQ/ffVxKfFrl8Vz0bWGKyHywKWNX3Q8wsumlpBJW80Y2l2Jp4qFMm1sL0O778J LaYpQG5Mbt2ewTMOHOR5BlWwX3yXK3zgRDmGXF4FqmKMr/qH+qpceIqbrSdtwqMzzyyEYy sUo6K6UvQwLhMU+zTj+uNvkD1m2r3GQffghOHGON/EZAuied6PJG0Q+bb819Zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IlNdvHQxDkWU15IAN9mjo8QrJsudpGfx2yAE74qGgg4=; b=AIQ/NcrgQT4CSVzBHShskslwatwLt8Byh3YwJ6nEfBngoctpKVpPAb4JdX0SgYAn0VKrPS vxZduQJUFlByeFWazcktfKO6c5U5c4wngIEb/5PZYfWvKw2ZqV+XqN6klf27GCCdO0cmYV XxNkrXhmA/CqCb2Ube+0xuUfY5ODVwHDC+KAbfZ+hUXk0Kss2n4HntyfqaigIlXExt4mwm hJV0uZ9nYnNMpTx2NAxWSFGxs/Berr5dXfLpqlKG+/q5YNcxKL0RvBRWNO1stBP5+QtJ73 YeLokDlifUQzqMZj5ifJJUu6CHkzS9HnAY3vUAOvksAMLJCs2Kgrc9RUb87Ikw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865812; a=rsa-sha256; cv=none; b=PXrBbvER4Bqk1dOkDX0V9ruBXLGMcnGKYwgxCkTcRFt2XuqU67C6Zjf59d2vnhiIwwhARr Eyb6HMCv1v3J+uy4rhUhImmeS9VcZDWpAi+64YfdUNbb4yC7nqy5OFkboHpite7XH4TcvC iyNXh986FFHfa2VgD87fU1yoFMjA6YV5B8dyAMG2QsNyv9N4BuwiRf+Yl2F/y33dFnR3Zs 6+4LhAp7wTG19uzpy+7WabVvwIWLGylmv7qzypCvhQeZ/PewQTCfBypd7ZMGb2BVjk9u+1 buQW8tshzHDqFvRvB3MtTIMjySv04qkBtgHix39PNSf8XVGblXBUR0RvnBJnjg== 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 4YXX1c5MVhz1Jgk; Tue, 14 Jan 2025 14:43: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 50EEhW61014097; Tue, 14 Jan 2025 14:43:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhW06014094; Tue, 14 Jan 2025 14:43:32 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:32 GMT Message-Id: <202501141443.50EEhW06014094@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: 5f610cf1ec62 - stable/14 - inpcb: Close some SO_REUSEPORT_LB races 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: 5f610cf1ec62ee7c9843a2eee5010901f3ebdbe6 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5f610cf1ec62ee7c9843a2eee5010901f3ebdbe6 commit 5f610cf1ec62ee7c9843a2eee5010901f3ebdbe6 Author: Mark Johnston AuthorDate: 2024-12-12 14:02:12 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:14:24 +0000 inpcb: Close some SO_REUSEPORT_LB races For a long time, the inpcb lookup path has been lockless in the common case: we use net_epoch to synchronize lookups. However, the routines which update lbgroups were not careful to synchronize with unlocked lookups. I believe that in the worst case this can result in spurious connection aborts (I have a regression test case to exercise this), but it's hard to be certain. Modify in_pcblbgroup* routines to synchronize with unlocked lookup: - When removing inpcbs from an lbgroup, do not shrink the array. The maximum number of lbgroup entries is INPCBLBGROUP_SIZMAX (256), and it doesn't seem worth the complexity to shrink the array when a socket is removed. - When resizing an lbgroup, do not insert it into the hash table until it is fully initialized; otherwise lookups may observe a partially constructed lbgroup. - When adding an inpcb to the group, increment the counter after adding the array entry, using a release store. Otherwise it's possible for lookups to observe a null array slot. - When looking up an entry, use a corresponding acquire load. Reviewed by: ae, glebius MFC after: 1 month Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D48020 (cherry picked from commit a600aabe9b04f0906069a8fb1f8d696ad186080f) --- sys/netinet/in_pcb.c | 94 ++++++++++++++++++++++++++++---------------------- sys/netinet6/in6_pcb.c | 13 +++++-- 2 files changed, 63 insertions(+), 44 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 331804545bee..15729bcd1ce3 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -255,9 +255,8 @@ static void in_pcbremhash(struct inpcb *); */ static struct inpcblbgroup * -in_pcblbgroup_alloc(struct inpcblbgrouphead *hdr, struct ucred *cred, - u_char vflag, uint16_t port, const union in_dependaddr *addr, int size, - uint8_t numa_domain) +in_pcblbgroup_alloc(struct ucred *cred, u_char vflag, uint16_t port, + const union in_dependaddr *addr, int size, uint8_t numa_domain) { struct inpcblbgroup *grp; size_t bytes; @@ -272,7 +271,6 @@ in_pcblbgroup_alloc(struct inpcblbgrouphead *hdr, struct ucred *cred, grp->il_numa_domain = numa_domain; grp->il_dependladdr = *addr; grp->il_inpsiz = size; - CK_LIST_INSERT_HEAD(hdr, grp, il_list); return (grp); } @@ -294,6 +292,24 @@ in_pcblbgroup_free(struct inpcblbgroup *grp) NET_EPOCH_CALL(in_pcblbgroup_free_deferred, &grp->il_epoch_ctx); } +static void +in_pcblbgroup_insert(struct inpcblbgroup *grp, struct inpcb *inp) +{ + KASSERT(grp->il_inpcnt < grp->il_inpsiz, + ("invalid local group size %d and count %d", grp->il_inpsiz, + grp->il_inpcnt)); + INP_WLOCK_ASSERT(inp); + + inp->inp_flags |= INP_INLBGROUP; + grp->il_inp[grp->il_inpcnt] = inp; + + /* + * Synchronize with in_pcblookup_lbgroup(): make sure that we don't + * expose a null slot to the lookup path. + */ + atomic_store_rel_int(&grp->il_inpcnt, grp->il_inpcnt + 1); +} + static struct inpcblbgroup * in_pcblbgroup_resize(struct inpcblbgrouphead *hdr, struct inpcblbgroup *old_grp, int size) @@ -301,7 +317,7 @@ in_pcblbgroup_resize(struct inpcblbgrouphead *hdr, struct inpcblbgroup *grp; int i; - grp = in_pcblbgroup_alloc(hdr, old_grp->il_cred, old_grp->il_vflag, + grp = in_pcblbgroup_alloc(old_grp->il_cred, old_grp->il_vflag, old_grp->il_lport, &old_grp->il_dependladdr, size, old_grp->il_numa_domain); if (grp == NULL) @@ -314,34 +330,11 @@ in_pcblbgroup_resize(struct inpcblbgrouphead *hdr, for (i = 0; i < old_grp->il_inpcnt; ++i) grp->il_inp[i] = old_grp->il_inp[i]; grp->il_inpcnt = old_grp->il_inpcnt; + CK_LIST_INSERT_HEAD(hdr, grp, il_list); in_pcblbgroup_free(old_grp); return (grp); } -/* - * PCB at index 'i' is removed from the group. Pull up the ones below il_inp[i] - * and shrink group if possible. - */ -static void -in_pcblbgroup_reorder(struct inpcblbgrouphead *hdr, struct inpcblbgroup **grpp, - int i) -{ - struct inpcblbgroup *grp, *new_grp; - - grp = *grpp; - for (; i + 1 < grp->il_inpcnt; ++i) - grp->il_inp[i] = grp->il_inp[i + 1]; - grp->il_inpcnt--; - - if (grp->il_inpsiz > INPCBLBGROUP_SIZMIN && - grp->il_inpcnt <= grp->il_inpsiz / 4) { - /* Shrink this group. */ - new_grp = in_pcblbgroup_resize(hdr, grp, grp->il_inpsiz / 2); - if (new_grp != NULL) - *grpp = new_grp; - } -} - /* * Add PCB to load balance group for SO_REUSEPORT_LB option. */ @@ -386,11 +379,13 @@ in_pcbinslbgrouphash(struct inpcb *inp, uint8_t numa_domain) } if (grp == NULL) { /* Create new load balance group. */ - grp = in_pcblbgroup_alloc(hdr, inp->inp_cred, inp->inp_vflag, + grp = in_pcblbgroup_alloc(inp->inp_cred, inp->inp_vflag, inp->inp_lport, &inp->inp_inc.inc_ie.ie_dependladdr, INPCBLBGROUP_SIZMIN, numa_domain); if (grp == NULL) return (ENOBUFS); + in_pcblbgroup_insert(grp, inp); + CK_LIST_INSERT_HEAD(hdr, grp, il_list); } else if (grp->il_inpcnt == grp->il_inpsiz) { if (grp->il_inpsiz >= INPCBLBGROUP_SIZMAX) { if (ratecheck(&lastprint, &interval)) @@ -403,15 +398,10 @@ in_pcbinslbgrouphash(struct inpcb *inp, uint8_t numa_domain) grp = in_pcblbgroup_resize(hdr, grp, grp->il_inpsiz * 2); if (grp == NULL) return (ENOBUFS); + in_pcblbgroup_insert(grp, inp); + } else { + in_pcblbgroup_insert(grp, inp); } - - KASSERT(grp->il_inpcnt < grp->il_inpsiz, - ("invalid local group size %d and count %d", grp->il_inpsiz, - grp->il_inpcnt)); - - grp->il_inp[grp->il_inpcnt] = inp; - grp->il_inpcnt++; - inp->inp_flags |= INP_INLBGROUP; return (0); } @@ -443,8 +433,17 @@ in_pcbremlbgrouphash(struct inpcb *inp) /* We are the last, free this local group. */ in_pcblbgroup_free(grp); } else { - /* Pull up inpcbs, shrink group if possible. */ - in_pcblbgroup_reorder(hdr, &grp, i); + KASSERT(grp->il_inpcnt >= 2, + ("invalid local group count %d", + grp->il_inpcnt)); + grp->il_inp[i] = + grp->il_inp[grp->il_inpcnt - 1]; + + /* + * Synchronize with in_pcblookup_lbgroup(). + */ + atomic_store_rel_int(&grp->il_inpcnt, + grp->il_inpcnt - 1); } inp->inp_flags &= ~INP_INLBGROUP; return; @@ -2112,8 +2111,11 @@ in_pcblookup_lbgroup(const struct inpcbinfo *pcbinfo, const struct inpcblbgrouphead *hdr; struct inpcblbgroup *grp; struct inpcblbgroup *jail_exact, *jail_wild, *local_exact, *local_wild; + struct inpcb *inp; + u_int count; INP_HASH_LOCK_ASSERT(pcbinfo); + NET_EPOCH_ASSERT(); hdr = &pcbinfo->ipi_lbgrouphashbase[ INP_PCBPORTHASH(lport, pcbinfo->ipi_lbgrouphashmask)]; @@ -2172,9 +2174,17 @@ in_pcblookup_lbgroup(const struct inpcbinfo *pcbinfo, grp = local_wild; if (grp == NULL) return (NULL); + out: - return (grp->il_inp[INP_PCBLBGROUP_PKTHASH(faddr, lport, fport) % - grp->il_inpcnt]); + /* + * Synchronize with in_pcblbgroup_insert(). + */ + count = atomic_load_acq_int(&grp->il_inpcnt); + if (count == 0) + return (NULL); + inp = grp->il_inp[INP_PCBLBGROUP_PKTHASH(faddr, lport, fport) % count]; + KASSERT(inp != NULL, ("%s: inp == NULL", __func__)); + return (inp); } static bool diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 04b87819d629..b3b2f03451aa 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -922,6 +922,8 @@ in6_pcblookup_lbgroup(const struct inpcbinfo *pcbinfo, const struct inpcblbgrouphead *hdr; struct inpcblbgroup *grp; struct inpcblbgroup *jail_exact, *jail_wild, *local_exact, *local_wild; + struct inpcb *inp; + u_int count; INP_HASH_LOCK_ASSERT(pcbinfo); @@ -983,8 +985,15 @@ in6_pcblookup_lbgroup(const struct inpcbinfo *pcbinfo, if (grp == NULL) return (NULL); out: - return (grp->il_inp[INP6_PCBLBGROUP_PKTHASH(faddr, lport, fport) % - grp->il_inpcnt]); + /* + * Synchronize with in_pcblbgroup_insert(). + */ + count = atomic_load_acq_int(&grp->il_inpcnt); + if (count == 0) + return (NULL); + inp = grp->il_inp[INP6_PCBLBGROUP_PKTHASH(faddr, lport, fport) % count]; + KASSERT(inp != NULL, ("%s: inp == NULL", __func__)); + return (inp); } static bool From nobody Tue Jan 14 14:43:33 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 4YXX1f279Lz5kltd; Tue, 14 Jan 2025 14:43:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1d6dgWz3gpC; Tue, 14 Jan 2025 14:43:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fxvrOSERdQwOv7+krqNoJbbdR+IDVQ/lZfJACUZtm50=; b=QNIivccVTUyGXVy1qqgMN2eqKwVb0cvDhABWz1IAT2lIB6YZdyqJaYS02XEzs35Q1eKTjy gal4DYsU+T3Rosr+rdSqLLzF+SLwUb6zB3Um4+rrQDCDGf48LnGEoNegDXx0L1G99+CAUw Da7rhQueFgN5fXesExR0bKu3fAChZmzMtGYlS2rR5goRkJi6MV/eZcde26I8n4jixvN4/m uJtAFvPrp83f4yH3XxdZxYCofZlmW05LL4kffAPErAiw3uUw1Bc0qSDnISAbBz437WT3nh LuCSGyY+O8cYLFwupzaGTAzcLf5p21cdjKyngYfjcBFpJK99Yc/iJ6CgoFsxVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fxvrOSERdQwOv7+krqNoJbbdR+IDVQ/lZfJACUZtm50=; b=ac9ZU8/s0n9cpE/Hxf/vHXt0CQeoLrncqEUIkhsgywC60LYxq1CABAsdoyWUTENIfDMPJX veM+sa0RA9W63H9rvc2RgQ4EhTSxMpOUKMFFjshpDv5//Z9inrsubl0lQQorFSxNlAIw7R j8p6BCNNvVV9vJ2YzXQMpLysjzVjkLTrDhe1icydiE/TYyd2h5PB+w+vqZiGkdmJJmWBgN C90DlqBr8m55UQBJFb9WeXVDUlUCdGyLL5onUpke9f0vUnBzcv9EBq+4876Wx/t32hZsy4 mqAQWe7CXvw3GIL+ydboyR/MOIJiAKGseCkF75sOjLcg+B5RLYCbaZM1jHky7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865813; a=rsa-sha256; cv=none; b=azSO7qwJKBRZfpT7cHa3oFXNxTx0Ax3iKJ7qqjr/nMZeNE5/oUkBO/U+9g5y3fUJTuP7KM fcEmrbuUAVkYmZEK4RQ4YshmqeXhA4GozXAsuGLHBPDKL4B5/LGj07lSHYDLN6Qef9Ma12 3GQhtFKFDbhD3LejJhEjwhjCGbjGK6QWO0FllOB6U4JyolUXPJ0wBz2XXxrEp4t93DuAh+ GBUKFZbqld+xByM/hiUL7NKMt1U/+J7OvGEXFEqejp401Uj8BKQYsX5VU/jTLBTkfW0Zze S4pdsbER+g1F5ashkVhq+J88olnPSzUyKL0RhdcWrlqkD8/eM+dW2NozUcyF4g== 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 4YXX1d6FGNz1Kb5; Tue, 14 Jan 2025 14:43:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EEhX4O014139; Tue, 14 Jan 2025 14:43:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhXfu014136; Tue, 14 Jan 2025 14:43:33 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:33 GMT Message-Id: <202501141443.50EEhXfu014136@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: 1c7f325e76e0 - stable/14 - rc: Document rtadvd_flags 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: 1c7f325e76e02f5dd8592574d2b4b2a3adb5065b Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1c7f325e76e02f5dd8592574d2b4b2a3adb5065b commit 1c7f325e76e02f5dd8592574d2b4b2a3adb5065b Author: Mark Johnston AuthorDate: 2025-01-06 23:20:00 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:14:24 +0000 rc: Document rtadvd_flags PR: 283696 MFC after: 1 week (cherry picked from commit 872686b17e70636f031436b458262eb7dacc5832) --- libexec/rc/rc.conf | 1 + share/man/man5/rc.conf.5 | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 1be8924ba893..3f8b0ae7b42f 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -555,6 +555,7 @@ rtadvd_enable="NO" # Set to YES to enable an IPv6 router # advertisement daemon. If set to YES, # this router becomes a possible candidate # IPv6 default router for local subnets. +rtadvd_flags="" # Flags to the IPv6 router advertisement daemon. rtadvd_interfaces="" # Interfaces rtadvd sends RA packets. stf_interface_ipv4addr="" # Local IPv4 addr for 6to4 IPv6 over IPv4 # tunneling interface. Specify this entry diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index fb010c20af26..2bab31e9d9fe 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 14, 2024 +.Dd January 6, 2025 .Dt RC.CONF 5 .Os .Sh NAME @@ -3122,6 +3122,14 @@ the interfaces specified in This should only be enabled with great care. You may want to fine-tune .Xr rtadvd.conf 5 . +.It Va rtadvd_flags +.Pq Vt str +If +.Va rtadvd_enable +is set to +.Dq Li YES , +these are the flags to pass to +.Xr rtadvd 8 . .It Va rtadvd_interfaces .Pq Vt str If From nobody Tue Jan 14 14:43:36 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 4YXX1j17Mhz5km32; Tue, 14 Jan 2025 14:43:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1h1jbCz3gky; Tue, 14 Jan 2025 14:43:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HHKUpqXiNufqT9/JtAy0N+mxcWnwNVnNB5IUgH1WoiQ=; b=T81gBDZeYf/TpiA5ouUP+KgfBR4HKrRdjfGSqA1MuF/1wysKB0A3PSbpUPpZTloW+WEjAz 6YHtRxTIs4yDXbtd5fb8cnHsWaoTNiFy2Z7SeO3hZ+RwA+xU7vuHphx118IDragOGd1Pe+ uqVVaBuYYZR6aKlyOORuO3Lb6rREeW/jvLF3/fLtQJgoq4Sd4ELCHJPVb2kn7Pl1HWitCU Ofkv0iOe/2UmORoZAPyK0Qhi9GHQM+EsW1zY7N+1X9CJTpNoHLUjJ8xVyFLY0KlsSXuQGq 0QB3iR4eYwxRuH2YcRbCfN8eZQ0U0SmO6AixDxZSQsI73RvwGGisZRQRlpXCNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HHKUpqXiNufqT9/JtAy0N+mxcWnwNVnNB5IUgH1WoiQ=; b=eydiUvUW6yrix9YYVMZOMHK1BVgCykWrPCpILQao/Q71hM/BaYY5teBDjo7wzPi/jfrD/D d2DOMsN7j4c2bBqZ92Q+S3xFb4kvRiNLNHqvXAwuRpqzG5+mm6PDe/lsfdbcIlV3DjQF50 M+B96UxhC+vEI/Kza4d/UTbqncQu0xMyKzy4zavyE9zTvN9iTzI21GSlDleEu08uMZJ0XQ /RFYQQJhf8VgwYSrJVM9czacew53zQim9aKS9G/Ke5LTUz+nDnLDKRjp1ruj2w4i0leQpY eWm1E2dMppxRXAyX3ngxirCJiqKjb1KwKVjSCd3+zg8x+dq/VymV6nON/VZ8SA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865816; a=rsa-sha256; cv=none; b=kX3mU5ZzMeAQYTpqUAodJnidwdntqjFyEam3nnM1B1XzQFINvG/X5PrPOO4fs2eEmJR2si 2skZbAF233n7TGqp2+uXcG7viyAZ1FkQwf/9K8OgpEMrwyt8uMCKgVsRxv43IVMirXgKgg bzFGTyb5VPyZbMdvGg6zSSFK9opnUQdPSvnwli1mLBwYpHh1q0Pmc6aA/m/h4euY3p2A9I NRyYNmpt3S47Qi6Y/E82ann9mdlTzJ63EW3Td9JJ8OL7U4xxlmhySKOOR+Mz9FnQb4DvV5 UcZQhYKlRceQV7hfMNdCb6BaB6ClDi/YGvjWmnWNgf1e4N1gNJtb4HM5FfO8mQ== 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 4YXX1h17jvz1Kb6; Tue, 14 Jan 2025 14:43:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EEhau1014246; Tue, 14 Jan 2025 14:43:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhaAf014243; Tue, 14 Jan 2025 14:43:36 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:36 GMT Message-Id: <202501141443.50EEhaAf014243@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: ad3a4bbf4ee8 - stable/14 - bsdinstall: Fix a typo in a 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ad3a4bbf4ee80c4f93413c65c90dcbd35254664e Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ad3a4bbf4ee80c4f93413c65c90dcbd35254664e commit ad3a4bbf4ee80c4f93413c65c90dcbd35254664e Author: Mark Johnston AuthorDate: 2025-01-06 22:56:07 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:14:24 +0000 bsdinstall: Fix a typo in a comment PR: 283507 MFC after: 1 week (cherry picked from commit 5bf3ac7ae219f126cf3965be97a2d718007c1be4) --- usr.sbin/bsdinstall/scripts/zfsboot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/bsdinstall/scripts/zfsboot b/usr.sbin/bsdinstall/scripts/zfsboot index 93d9490f972a..4f3c9719dde0 100755 --- a/usr.sbin/bsdinstall/scripts/zfsboot +++ b/usr.sbin/bsdinstall/scripts/zfsboot @@ -139,7 +139,7 @@ f_include $BSDCFG_SHARE/variable.subr # # Default ZFS datasets for root zpool # -# NOTE: Requires /tmp, /var/tmp, /$ZFSBOOT_BOOTFS_NAME/$ZFSBOOT_BOOTFS_NAME +# NOTE: Requires /tmp, /var/tmp, /$ZFSBOOT_BEROOT_NAME/$ZFSBOOT_BOOTFS_NAME # NOTE: Anything after pound/hash character [#] is ignored as a comment. # f_isset ZFSBOOT_DATASETS || ZFSBOOT_DATASETS=" From nobody Tue Jan 14 14:43:37 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YXX1j59Ljz5km4q; Tue, 14 Jan 2025 14:43:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1j2FyHz3gVS; Tue, 14 Jan 2025 14:43:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OcRx5xHL0LWGjmdOY02B8mLP4REITCUc5mnNEkIjwy0=; b=KAzK+p7yGww/tsEhQxgMesZ1qr+hNSVmMP0ucJqF5hZvusiI3cFV1DEE6t+6vpWDh8wyin MgnrI8w4sAQHIyk4665poCz/rAHpUfuAok9IFsDxbIG+mqgjUUc/LPvULy7eiDW0IkDeyn fPEbYUZe18Zd3v4Wry4GC022u4j68HbHTyk1TwTA0RViMLdW/wn1WpT4ovwqc+ghKHRdic 6CfDQ6zm5AR3AS77mtRVnpUJr0p92C1zHPU5cD++QSZI9NH0miu6kNoJ5LKoGXJl/0bdDI 3v6/tdZo5tRsHzLujGKQm46TbGgi0JOPqjfUHNCuvevEB08m4cKXZ0GadM7IHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OcRx5xHL0LWGjmdOY02B8mLP4REITCUc5mnNEkIjwy0=; b=TKhsaMPeMx5ld7hTUq1SA93eQI1o2lRLtmHD+i+iChWplio54QrAn3XVyRkW87j5PrehH+ U2E6RUAGX0cBo88hUni406vxCyhx7D250viVvw/hEeu7RkfpR0HlIiXhiupTXwtz1pOnXg nVqIPlF4SzdgdW+VcTlaz4pHEj5su+eA8arTomObODCCGdxW2K8g5DAT1GWed7ZK4Mg9s5 QsxUWlCm0ZPeoE3dNhoFJIdkE5VY1CVws4WbTDaJNW1rQGFcBa9vIyZrB6JJAAhlhlvADy v7jybXMkI1SJKP+2wmLn8k5Y7u6fizFvHYw0H4AzWYaw19OQawfovPWL45jdvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865817; a=rsa-sha256; cv=none; b=q05wX48hez5bDLcJcnEJC1/PbMIZPp2/nfJSBZ1B4iDEjEGJE+5JWF7DZOjIXUxG+hMXH9 JKh1VPL/E/eMxZm/zaumM9RVbuV64TF9A/B5YifqcZz/HreH+QkjPK0HYh7/ap9OjnY5VW KpzZ4UXY7J1ELIzdUpK5u4pkBiKVWFdUNrY/7RcKRG92tYYwxL3d/pCbWdEvHtPTvFkXIB iQvpS6eFLdeBMpzu3KrZzcz1EcIGfX1USJJGnerXzupnMVqpcBb3khjGe872Ko8siwya6K ITGSazA+5FzjZ6KzYxE5iZ4b/ga01jg9VA+VuLCXnfOst+FuywD1J3Scz7p6yQ== 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 4YXX1j1sSgz1Kgk; Tue, 14 Jan 2025 14:43:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EEhbiN014291; Tue, 14 Jan 2025 14:43:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhbdH014288; Tue, 14 Jan 2025 14:43:37 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:37 GMT Message-Id: <202501141443.50EEhbdH014288@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: e59fdfbf2524 - stable/14 - makefs: Remove dead code in inode_type() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e59fdfbf2524a320dbe4bcfc8fce30ef1e22f860 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e59fdfbf2524a320dbe4bcfc8fce30ef1e22f860 commit e59fdfbf2524a320dbe4bcfc8fce30ef1e22f860 Author: Mark Johnston AuthorDate: 2025-01-07 14:30:53 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:14:27 +0000 makefs: Remove dead code in inode_type() No functional change intended. MFC after: 1 week (cherry picked from commit 2be86b6cc168615e19350710347b77616c4b7f19) --- usr.sbin/makefs/walk.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/usr.sbin/makefs/walk.c b/usr.sbin/makefs/walk.c index 56e2d19c6f00..98ddb53f7917 100644 --- a/usr.sbin/makefs/walk.c +++ b/usr.sbin/makefs/walk.c @@ -605,8 +605,6 @@ inode_type(mode_t mode) return ("symlink"); if (S_ISDIR(mode)) return ("dir"); - if (S_ISLNK(mode)) - return ("link"); if (S_ISFIFO(mode)) return ("fifo"); if (S_ISSOCK(mode)) From nobody Tue Jan 14 14:43:34 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 4YXX1g45cXz5klZG; Tue, 14 Jan 2025 14:43:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1g0ZpVz3glx; Tue, 14 Jan 2025 14:43:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9YqCYaCSNfJGhcSRtHgnipbU+lW6f6V6Ocgrt0LzSFY=; b=gOaTcjE9NwvobCoZI0Fe2LUS1Uk0QVw2H+P3mJoc+XL5vBaUjsUHhv4LhBsiGlxRS21B1q 88Rd8bmJKgP5IHHMq2RKfkU04WtvVJQ0xJweY/+XSmOfgmk9Jn/p7lGz/eekMH4uu5Dkzj Mf5cZmHnIHM5+3+LLwns6inOujcmpOFXkn21VP/nj6d0AG1f7sCx4Q+k5LzfZcK11fTSWM Mpplasq9JWnTl2GqnFxuiHMlkWeo2NKKplffavWmYg3QechkcbvMtKfIHw3A8IIfOTqars nLYkRRmxidq/8F2OM8VC2vTfPLn1Us6RIboyp9GU8NLSZ/jQXC7OIq7Nge4Rkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9YqCYaCSNfJGhcSRtHgnipbU+lW6f6V6Ocgrt0LzSFY=; b=wlmKNwnFbqhLBGsAqmqKtDcVbHi+N6YWfAjJJ35FxqbRFNaioZl9oytPk2T+OdJu5fOydp qTmiit0NoiDxXj6fv6k1LXytaDDbXEQSqOD6Avoit7nym18KuHQC8tuRTmObygEOr8YxlI bPQpy3UylTqvcZwb+ctHBrriySlhzTxT08YZJK8IuEUT9zHYU9rKvQoHqnJIrj9+SPprAG V0/DY9RrksrQUd7kvRTAlBPbqAFHMcELYBfeNOj/RIHTNQXv6rWYnakjFrJwSWLGsmoSX0 Q5nd1+ImBaP/jtKuKKA86w3qCiZeAqAbmhCna0jH1x9wD0DCtVScJPOKkQkTTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865815; a=rsa-sha256; cv=none; b=WZyudxhlZMFgkXIBJ1OKpgTi1DMsJH5yV+hnNNmVr+6zUSTNf1si1w1nBWA4tJdufQXD+b aevtoFgYZxoWFDaliDw4r8bve/YBJG9A7XkAW+jX9Q9VfSWjcQcZmYbe2ubytZGZeBS+Hp vMZxSlNNCD1Qw1eJknEPwpWoYEF/2AmClhXCRqi9CxgIUvBUX+W6rQ865yBHH9zQE1plTc A4nGw4a7f5tA8d7ellTBOmT5Ena2JNc+proy4NZuD4vXtPtZgDSRn8lEgi0lOLQydDJMos Hkf72hQtE4psDxVX0h/P/WuV9bMJ3eHbCNghRHbm88Q2g7tawvggnGVBLRgbnw== 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 4YXX1g074wz1K9L; Tue, 14 Jan 2025 14:43:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EEhYlq014195; Tue, 14 Jan 2025 14:43:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhYRD014192; Tue, 14 Jan 2025 14:43:34 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:34 GMT Message-Id: <202501141443.50EEhYRD014192@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: 872da05f8c61 - stable/14 - SO_SPLICE tests: Fix a comment typo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 872da05f8c616fb94ae0754a93424e90f041e68d Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=872da05f8c616fb94ae0754a93424e90f041e68d commit 872da05f8c616fb94ae0754a93424e90f041e68d Author: Mark Johnston AuthorDate: 2025-01-06 20:53:52 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:14:24 +0000 SO_SPLICE tests: Fix a comment typo MFC after: 1 week Sponsored by: Klara, Inc. (cherry picked from commit 9743e9efdf5f0d2338d7cfeed8f09d89d889bac4) --- tests/sys/kern/socket_splice.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/kern/socket_splice.c b/tests/sys/kern/socket_splice.c index 3970f16b34dc..3a85ae91ecc7 100644 --- a/tests/sys/kern/socket_splice.c +++ b/tests/sys/kern/socket_splice.c @@ -330,7 +330,7 @@ ATF_TC_BODY(splice_capsicum, tc) tcp4_socketpair(right); /* - * Make sure that we splice a socket that's missing recv rights. + * Make sure that we can't splice a socket that's missing recv rights. */ remove_rights(left[1], cap_rights_init(&rights, CAP_RECV)); splice_init(&sp, right[0], 0, NULL); From nobody Tue Jan 14 14:43:39 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YXX1n4FKfz5kmKN; Tue, 14 Jan 2025 14:43:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1l4Km0z3glX; Tue, 14 Jan 2025 14:43:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eSp33bLh7CF9MyjOIJmPZ0e4vztMZuqhX9UxGLNiLMk=; b=JTRQsp6p/TpqzRGgGOJWH5+0X9wLzLXSebuCSlcOwnpNwKaBf/wMt3b5kthQScpPE3lhP0 pzM+5PkoEWC2iikfk1Uwo32YnfmT/7EmLAeoKeyEnEmfWhFQgIBFRmDzL3Vko+6TsXF9rQ ai3/oleUl3VEoJUziFWCTPWA3ci777FgIxhGdKpvscWwlO5bOJc7kkCrYqIkTIMD0ElVp4 nd5bXHV0oiV/gvhALnz8i47kGgYKHZco8Lv5nV9lieCvz1reZFn8SRR8jzh3RIiyzG1vBZ KCotL10PNKZaI2sW6DSthoN0TVp8SceZ5RAaZvWhB7O4uF18JIjePOos9fk5KA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eSp33bLh7CF9MyjOIJmPZ0e4vztMZuqhX9UxGLNiLMk=; b=Pgv9bKKAYGCokMTPffeh4wHtcQ6X9817TAknXYTITwQ+tpdHIzchPYh7nYO2LGPugRgEqH A16j9jmul7ZCSYkbl3I0UsqYntAGxgEwnvYEBhRLs5Gd3zeWQtzyOUtZmiSGmAFYF5dAe2 I8UKEy643hZkPC0zHVZ71a5XKo6dJeINXfRshmyLhF8P1Yg60D60r4ee1XRhjGV7Svpik6 8BYNcTJsRs7GIh5G30Sjg5uRhxUum8S8uhEAmDthm7+jfhTgwSgAlWb3KIgPfgZpP0nnXa 93jZSEHl2uwDHQoGb1N7NOIByMVjs/aGKYXDTu5RCLqlTheO1DfW5bvjU7w+SA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865819; a=rsa-sha256; cv=none; b=scRW+jLonRe6roYN6jDMJS4nnSIaSg6xcNRtpgjGbuZRfKejyA9EL9V0cjWzdwmYt186aZ 677YtIsL/cdghBxEqCifhF0Ye2oM8St4b3Ub1ogNxJ118oOdix4Vvfxb4RIjvE+wLwirfI ifUpeKChQQ3O+WWHhDBY4/5RzrTZR5aOOi8a+VJtc3K597CyQlktUMSVkxQdXPKk6tCnCH TO3Kp6oU75EMwKZkfwq9OqSzdN2VkDBYnHaMhIuJlo+c88UNo6n5XeteazBtATP0ORc+tM hQszFyz7LoNeKTqVtQNofg6uM6MwK1Feldj7B12WsvWk9gff6V62Q4MsvmNPaw== 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 4YXX1l3xLkz1KYK; Tue, 14 Jan 2025 14:43:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EEhd5u014394; Tue, 14 Jan 2025 14:43:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhdmw014391; Tue, 14 Jan 2025 14:43:39 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:39 GMT Message-Id: <202501141443.50EEhdmw014391@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: f849557c06e5 - stable/14 - x86: Short-circuit ipi_all_but_self() on UP systems 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: f849557c06e55e7ebedc1b5c873fdf5111587918 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f849557c06e55e7ebedc1b5c873fdf5111587918 commit f849557c06e55e7ebedc1b5c873fdf5111587918 Author: Mark Johnston AuthorDate: 2025-01-07 17:58:58 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:14:42 +0000 x86: Short-circuit ipi_all_but_self() on UP systems Apparently this is required on old intel hw, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275086#c3 PR: 275086 Reviewed by: mav, kib Fixes: 279cd05b7e4d ("Use APIC_IPI_DEST_OTHERS for bitmapped IPIs too.") MFC after: 1 week Diagnosed by: Ben Wilber Differential Revision: https://reviews.freebsd.org/D48361 (cherry picked from commit 254a2b767f9a39f1541e0a07a70bbe269e86ad70) --- sys/x86/x86/mp_x86.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/x86/x86/mp_x86.c b/sys/x86/x86/mp_x86.c index 11b11471d736..c52102e2de1e 100644 --- a/sys/x86/x86/mp_x86.c +++ b/sys/x86/x86/mp_x86.c @@ -1427,6 +1427,9 @@ ipi_all_but_self(u_int ipi) cpuset_t other_cpus; int cpu, c; + if (mp_ncpus == 1) + return; + /* * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit * of help in order to understand what is the source. From nobody Tue Jan 14 14:43:38 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 4YXX1l3Fdbz5kmKH; Tue, 14 Jan 2025 14:43:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1k3P40z3gxj; Tue, 14 Jan 2025 14:43:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hFjokFCsOeP2NmLCiL3OOxc0osbp6c5KyIX6i4wI4xg=; b=l+vQncYML16ApLoY1hDqzlWVqdPgtJ48Z9V4yZIgJjEPiYCKZJDfWd888UIzZrEZRvLOZ0 lEWfQRMTfAT3jXRfVudR1bS6nOTp3QryB6+ibSQSQKePDuOdf8piKn1fvEK1st3ofWuJh+ XI3/zUXTPPNMi9NKgcH7FithJF/LrlDzAag0ASnak3AePCvwikMRict72TdsL/t4JriO3/ OIeHwJ4Hph7tmvLXWpxG8oUBqW7+6JpDf2FFSShFW4kOSnATd4sUIHMW4L7yNDqjKEPriU lA1kwrowUyL/4dmrhbVYGESzPVk7hn+PMlEbcQBp+2Yrr3oESQJVDIHRQTeInA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hFjokFCsOeP2NmLCiL3OOxc0osbp6c5KyIX6i4wI4xg=; b=Pb6Mislvid+p63KSAVnckw1l28mu6nArmenbvQYLoZFAoE/03XYpJbVmqosZXbQ3R1MWag kN8DOHpRKfZ1FZc9EYmj4KfKphTWfcWTfYSsS+bP4P9ht/1TYQOGsaET/a4t9XUn5NG6x+ X+23VMxnFeWYhdjfp7AA/DND2CnJBORH/UVbf5T50BO6pPJrA2+67IHMD4ikgjzzA0EfMW 49gSnTbYleZ9J0pkj7OXGHLQ9a4WQ+MfjzaAQJKMrGJHPGsuKNzMWltIewovM/oCiQTwEb niRoSANXlmLp68X8jYBf6NR+fIp7OelkI19c9BASnuw10s0CNJn3uzUlIQ445A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865818; a=rsa-sha256; cv=none; b=QnauCvJwZ4bmqpBvblD5ZSTSnI0UIqzwke8bGdcHjTlMbv4f5vyVDCikF8n2d48RaE/pM9 r5vHD0dmbWk7xBbeouDHeP8C7sPJ/oE9PtRPj9FLi2QD1wZsKgVbYb/U763WzcUlX3OBtK Xf6pzVwn/h95YIEnbutPGzlobWiI+G39a1Bqj2cX8D+ZZVObmNcM+vnfLykvVFAiSrBOKt ccmWRc06orJsHyNEN+exBB+DSRWF+LguWTs0wufvDb28fHDJb904eJ34x0bkVfcVrfc5MY 3w0cYD3I4yY+YMpHeeSij6mnc7NRe6Nan9t4iyWyuC4P9MxToPv453EtLA1qzw== 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 4YXX1k2rMPz1Kgl; Tue, 14 Jan 2025 14:43:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EEhcqt014345; Tue, 14 Jan 2025 14:43:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhcEU014342; Tue, 14 Jan 2025 14:43:38 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:38 GMT Message-Id: <202501141443.50EEhcEU014342@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: e39435733339 - stable/14 - rawip: Take the inpcb lock when appropriate in rip_ctloutput() 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: e3943573333937b881d4b7839c0b7d8595753d21 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e3943573333937b881d4b7839c0b7d8595753d21 commit e3943573333937b881d4b7839c0b7d8595753d21 Author: Mark Johnston AuthorDate: 2025-01-07 02:20:05 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:14:35 +0000 rawip: Take the inpcb lock when appropriate in rip_ctloutput() Reviewed by: glebius MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D48344 (cherry picked from commit fd94571ccf0c9c6521063c08a72a760873e87897) --- sys/netinet/raw_ip.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index 04b12b6587dd..c30878d48c74 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -627,8 +627,6 @@ rip_send(struct socket *so, int pruflags, struct mbuf *m, struct sockaddr *nam, * * When adding new socket options here, make sure to add access control * checks here as necessary. - * - * XXX-BZ inp locking? */ int rip_ctloutput(struct socket *so, struct sockopt *sopt) @@ -639,7 +637,9 @@ rip_ctloutput(struct socket *so, struct sockopt *sopt) if (sopt->sopt_level != IPPROTO_IP) { if ((sopt->sopt_level == SOL_SOCKET) && (sopt->sopt_name == SO_SETFIB)) { + INP_WLOCK(inp); inp->inp_inc.inc_fibnum = so->so_fibnum; + INP_WUNLOCK(inp); return (0); } return (EINVAL); @@ -709,10 +709,12 @@ rip_ctloutput(struct socket *so, struct sockopt *sopt) sizeof optval); if (error) break; + INP_WLOCK(inp); if (optval) inp->inp_flags |= INP_HDRINCL; else inp->inp_flags &= ~INP_HDRINCL; + INP_WUNLOCK(inp); break; case IP_FW3: /* generic ipfw v.3 functions */ From nobody Tue Jan 14 14:43: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 4YXX1x3Plzz5km50; Tue, 14 Jan 2025 14:43:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1x0lYbz3grM; Tue, 14 Jan 2025 14:43:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gqTW6Un84ctWBIOefR6eIGOiDXci4CdJHH51xkteYho=; b=xDwsM5RlvjyZPu/hktEES9NWDLnXMD1+616u8zpFwMQ5SHyNiX9MYRxptfJo/YeFKYXKCS OgS/trobcjvaXkn+SOLn1eyNeVM6ihENFI37KPqt+2wcanUz4h4F6yyqe8xUSvtXY3jzC3 h1WOq3p/sbZtNvHXIz+1A11Wj3dxW6RkJqw0a1BCHvJRccT1hw5PxKMSylexHOdo+02aCZ tTB9AwiuFZrPTYxL25Vbkk43xopmto5X6ZGDctv/phShmC9Ii1ukv3W4pQQgLBSdS6Yzb+ R/YL8UpieAePTYb/bxyAxdOrFJUu169Tewj8ZXrAoOZbhEJftn+hWXOzIVgT7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gqTW6Un84ctWBIOefR6eIGOiDXci4CdJHH51xkteYho=; b=TfvzBNuX4UaLMPOjmrahnDT4D6WEk9TWsHxxWrJLbU9473iLYfI6h7LToD6kxVcYDq6ppD GIMNF5Gq6j0PTtLZOUNhJxcgO8H7ahtuZIDHMZ0TXkMlR4qKhd6MQS5CLT1JVAEAx32ogH PSbqSc1JM2PXIM7+3z84ZOrPNMcDQRFC0Lw0AF7YHr4VKiygHvld2YOmlY2c+nEmtqTThz G+Udx1/IPUS/qUjMXL0vO7c5jAcomDULjKlyDH5jCQpyix0kRKDVhA9swVqe+0xvZK7OIk f0G/vsKecUQ5G0YZRb6KobmAHqyL15ystvU8C3HGDajQ6ufMHogM31lSRcJh9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865829; a=rsa-sha256; cv=none; b=qFIOnsZ5LsjAzKGM/pnNymnv+AKi0XtbHqtt848BswxwgWh95phzS8doIGF6Zb8AhXDzpQ xnXut9S5uqb26WQy+Rd8NTuBAt29Z1oeEqwKPoSrtzNT+tWDMg5cprmI9KPq5Qa1gmXC4I 6ib3uSY2U82R9uCnv+JRW8S6/9v54Q7slRJOs3jyiLed91S0sZPpSDTJyzpwrxJyjopCvz thXbGrBetoLDf0BlKmVfuUa085h3L1NFNlDrdlHGgEK7vfZIjQNeUvk5vxmo5qFdrxnem7 Ha4JaDqJfjJkVgEyrWUIR1Y2N6cUAMUsZOM3HbtkPTtanjMGxCP7ZsKE2QtOiw== 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 4YXX1x0LfJz1Jgl; Tue, 14 Jan 2025 14:43: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 50EEhmCA014784; Tue, 14 Jan 2025 14:43:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhmoO014781; Tue, 14 Jan 2025 14:43:48 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:48 GMT Message-Id: <202501141443.50EEhmoO014781@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: 91af1b8001d3 - stable/13 - sed: Fix handling of an empty pattern space List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 91af1b8001d34a1563d861f1da81deaa121adca8 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=91af1b8001d34a1563d861f1da81deaa121adca8 commit 91af1b8001d34a1563d861f1da81deaa121adca8 Author: Mohamed Akram AuthorDate: 2024-12-23 19:06:09 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:43:05 +0000 sed: Fix handling of an empty pattern space Add a regression test. PR: 271791 Obtained from: OpenBSD (1.38 millert) MFC after: 2 weeks (cherry picked from commit 5982237f1e5a30b6b7d67b307b4d3685b00718bf) --- usr.bin/sed/process.c | 10 ++++------ usr.bin/sed/tests/sed2_test.sh | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/usr.bin/sed/process.c b/usr.bin/sed/process.c index 3d88096ffb77..945db462a601 100644 --- a/usr.bin/sed/process.c +++ b/usr.bin/sed/process.c @@ -439,14 +439,12 @@ substitute(struct s_command *cp) * and at the end of the line, terminate. */ if (match[0].rm_so == match[0].rm_eo) { - if (*s == '\0' || *s == '\n') - slen = -1; - else - slen--; - if (*s != '\0') { + if (slen > 0) { cspace(&SS, s++, 1, APPEND); + slen--; le++; - } + } else + slen = -1; lastempty = 1; } else lastempty = 0; diff --git a/usr.bin/sed/tests/sed2_test.sh b/usr.bin/sed/tests/sed2_test.sh index f50619612561..0b849b1ea132 100755 --- a/usr.bin/sed/tests/sed2_test.sh +++ b/usr.bin/sed/tests/sed2_test.sh @@ -159,6 +159,19 @@ minus_e_body() atf_check -o 'inline:--\nab\n' sed $'1 i\\\n--' a } +atf_test_case command_D +command_D_head() +{ + atf_set "descr" "Test handling of an empty pattern space" +} +command_D_body() +{ + printf "hello\n\nworld\n" > a + + atf_check -o file:a sed -e 's/^//;P;D' a + atf_check -o file:a sed -e 's/^//;$!N;P;D' a +} + atf_init_test_cases() { atf_add_test_case inplace_command_q @@ -169,4 +182,5 @@ atf_init_test_cases() atf_add_test_case hex_subst atf_add_test_case bracket_y atf_add_test_case minus_e + atf_add_test_case command_D } From nobody Tue Jan 14 14:43: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 4YXX1w5DRGz5km4y; Tue, 14 Jan 2025 14:43:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1w03q1z3gtM; Tue, 14 Jan 2025 14:43:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0hP3TsQ2S9q3guyrU4ztBs0m2MWb2SaaMAp2kv9DguA=; b=J8EhLW8eqpNCqoUevfTgzZouHBcO9Bh/76gJSY/ORWhHh26lILmMJ0gGdgLXKMkjz5NvFl gGVTtppOPjSbxwVZJ3BJCPOcMkJGcct5FCQJON+2YI+qAhS0eaHNWgoD28PWz8ye2jH1WG oLU/9EYRNnqREeexDTCMWt2SoLR9qxvsWbwBbMFXiGB8KNs3zmVZyymzm/QE9iT8uPu8Of ZmvdNzTNsTEoExiXB4tF2vsgOjrtzlfbnfIpNxLa0y/0hPVL/s/kvJo1YwjJMTJyxbSeC9 cpqZZc+2AzOAXL/JmANnMyNkR9ehWgpVqG9DEbs9Y+Ggftomu7ajtQQMoaSwlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0hP3TsQ2S9q3guyrU4ztBs0m2MWb2SaaMAp2kv9DguA=; b=eC5BUlfcedRXmCJgjqWGQWgUUNhdeOiS6ftMVbRUqf19hxtMtb6gtGPPMvCYa0+iB8EBkd z/j+/bs27sTGv7jNak988H1zOHV2Kb+UBdwdjbo9YSXSnF+9OwQw7QX4f0gmqIhQR6Iww1 Cem2wtxG/3acOT/Ok6lIzwZdSp1PHELnOuiDwEkirjGSJhVl9D45MElYFxiyBpuyhmRAcT lxdolwFtdl/PGWQSAnMEpeIFVqSHwnnDHTZk4+ZBQ+1FQEZHlTI5pA1H49UkRBh/3llrVl 4Fwv9w6Hx7OBWcCRxPrOzwToxf+dGTU8FCcN5Oeh4L/zQYP2oHeJJL55GgnGzw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865828; a=rsa-sha256; cv=none; b=AidPMJRuZ24gO0aKBt5OBlRCgnxY6TzSkcip2qUetahPgLo7RF16RMB8U6avlurZEQIAx6 tWLLfGHjpxayAAsEL0Ge3bgKbd5nhdavhzqOQoT9qbnnvvGcub3Mfu4lp4GIDxsAZ/VoqI bv4gtYKN1i3C4vGqgKkur1+bYViQTslodNox+b6dnNrnxLBFItcrSoosnnPShjP6zvjZ6R g/Xj7Qe+z081agObLJjamNxy7kDsNs4q6TC2JqfFzKMrdGUTL38Ggcl17lgGIDpB/jh5Jc 9eRvi/tY969LyosWCOuXLo3O9PIyOs9bwzvyvsDcSLabWqUn5KoPutinEK50Iw== 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 4YXX1v6nLTz1Kb8; Tue, 14 Jan 2025 14:43:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EEhlxY014733; Tue, 14 Jan 2025 14:43:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEhlgw014730; Tue, 14 Jan 2025 14:43:47 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:47 GMT Message-Id: <202501141443.50EEhlgw014730@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: 40c01de13562 - stable/13 - x86: Short-circuit ipi_all_but_self() on UP systems List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 40c01de1356224a82fec217bd3cd59dd058ef095 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=40c01de1356224a82fec217bd3cd59dd058ef095 commit 40c01de1356224a82fec217bd3cd59dd058ef095 Author: Mark Johnston AuthorDate: 2025-01-07 17:58:58 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:14:45 +0000 x86: Short-circuit ipi_all_but_self() on UP systems Apparently this is required on old intel hw, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275086#c3 PR: 275086 Reviewed by: mav, kib Fixes: 279cd05b7e4d ("Use APIC_IPI_DEST_OTHERS for bitmapped IPIs too.") MFC after: 1 week Diagnosed by: Ben Wilber Differential Revision: https://reviews.freebsd.org/D48361 (cherry picked from commit 254a2b767f9a39f1541e0a07a70bbe269e86ad70) --- sys/x86/x86/mp_x86.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/x86/x86/mp_x86.c b/sys/x86/x86/mp_x86.c index 56cf7e426076..771cf95f36b4 100644 --- a/sys/x86/x86/mp_x86.c +++ b/sys/x86/x86/mp_x86.c @@ -1424,6 +1424,9 @@ ipi_all_but_self(u_int ipi) cpuset_t other_cpus; int cpu, c; + if (mp_ncpus == 1) + return; + /* * IPI_STOP_HARD maps to a NMI and the trap handler needs a bit * of help in order to understand what is the source. From nobody Tue Jan 14 14:43:40 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 4YXX1n4m2Yz5km0V; Tue, 14 Jan 2025 14:43:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXX1m5XBDz3gXY; Tue, 14 Jan 2025 14:43:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kks3cjLkLiXrh7VSQlEz7eFGD04K7doulpuCbGc2i+E=; b=nNCIpUA24W7sk+EF3DQE+Mi9gEaaWnBawTOUAaCX721qMb5X7jB2gmH6iRj6G7tnwyfs7N xtwFTnsprWXQJNxqabrzDmUMxVeyxN/DwAGtyasgQJNrVjyY8HJ5mEQ14fPFwkd+Ilsfq9 /4OyP6C1iEV2tmrl15kTVv1VeNYCYSZPC09yqAk5iJGUGayMqRv0LfS8Wkgv68JVwgW9J1 GPjnUlDHG2tv/rvKUS1ajgldm0qCiRzLehNLu68fbLfQ6yvLykE3XPm+Ojc46bBfG2D2rc TNz90K8IdpNc7IksSOpQik7q9R9YFox/ZRG1XvnKIMJ0sUg47iXynvemonGm0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736865820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kks3cjLkLiXrh7VSQlEz7eFGD04K7doulpuCbGc2i+E=; b=EnZTodd4BExvW0lbygFVyMivMgeS508bJ4cnskSFqg7wukPOkn4Lrartzye+j3GfPgRhpp qjDMGuvl9E4iQS6LPJ1aaNhtkMEhJce++vlmuPBk5ijasU6nlJYyQoUrLhoBdjtp7lcOHI i1fQLjZxlkPXnqxYVKuWdvemxGoJPMB9YzCFzZkTDhncku5LJ8XUc+LlmOOE/MIHnIvOs1 /naqeaibAv9zu9nnI5HMLTIjPzDznzcyUijfcDffcs4aMEwocYCbGasJmQaZm2HOB67HKJ +qdrXr3giN2JXyUSQ6Y3412YkBoOT0Wm+C4g3oZPT09OY5rGAz3mS3OyoSZ1Qw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736865820; a=rsa-sha256; cv=none; b=lQozMmvuPqfzwe2/glJ4EvrEqNpdfMOvPMKZUmlTdhmoHy+IhaajK8Tmw9gNbYSfLbhO/N Qwx3EnX2LRNlnjL23Sw+sW49n6/ffS7b8+vmTA7858q/JZiGc6qMU9qPpMlkXqrGURAm2p jSZ/ZDbm/BjmardbiQO2+byvxbQqTqV+WQx4/Bg7PVXKn5kJk0ZHoFbqiVC+9RDmRjGLzY Pi9ZB3M1HGoxLYNDz1Bd2iqFCC3kmY9f3K+Lor6nqfkCBYdhpBd0uMRYGr2JR4s/su7K8B 1jPAliX8TP8h75Fp3Ge0gODcHuqC1kRQOpWneXoc3ieM6WhXtqMq+zz74OUNNA== 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 4YXX1m4ybnz1KYL; Tue, 14 Jan 2025 14:43:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EEhet5014468; Tue, 14 Jan 2025 14:43:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EEheL2014465; Tue, 14 Jan 2025 14:43:40 GMT (envelope-from git) Date: Tue, 14 Jan 2025 14:43:40 GMT Message-Id: <202501141443.50EEheL2014465@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: 0325afa63942 - stable/14 - ktrace: Make -t t trace struct arrays as well as structs 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: 0325afa639424ba3960b5487867d07b19c3995b1 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0325afa639424ba3960b5487867d07b19c3995b1 commit 0325afa639424ba3960b5487867d07b19c3995b1 Author: Mark Johnston AuthorDate: 2025-01-07 14:31:15 +0000 Commit: Mark Johnston CommitDate: 2025-01-14 14:15:00 +0000 ktrace: Make -t t trace struct arrays as well as structs Otherwise there is no specific -t option which captures struct arrays. MFC after: 1 week (cherry picked from commit 596ee234ef4537e71f030e13598ecbe73ee697bb) --- usr.bin/ktrace/ktrace.1 | 2 +- usr.bin/ktrace/subr.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/ktrace/ktrace.1 b/usr.bin/ktrace/ktrace.1 index 5cc6df52d69a..bab58c99c71f 100644 --- a/usr.bin/ktrace/ktrace.1 +++ b/usr.bin/ktrace/ktrace.1 @@ -132,7 +132,7 @@ trace capability check failures .It Cm s trace signal processing .It Cm t -trace various structures +trace various structures and arrays of structures .It Cm u userland traces generated by .Xr utrace 2 diff --git a/usr.bin/ktrace/subr.c b/usr.bin/ktrace/subr.c index b52ae1b981ec..fb96a3461db6 100644 --- a/usr.bin/ktrace/subr.c +++ b/usr.bin/ktrace/subr.c @@ -77,7 +77,7 @@ getpoints(char *s) facs |= KTRFAC_PSIG; break; case 't': - facs |= KTRFAC_STRUCT; + facs |= KTRFAC_STRUCT | KTRFAC_STRUCT_ARRAY; break; case 'u': facs |= KTRFAC_USER; From nobody Tue Jan 14 21:08:00 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YXhYF23h1z5kR1G; Tue, 14 Jan 2025 21:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXhYD6S1vz4Nf2; Tue, 14 Jan 2025 21:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736888880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZYXca2KfZpVr7j3E2F5dKYO6LuDFSjqxMMdohkQVIbk=; b=kymIDJwgdfc2ijnUCjfHgkWjaB+weWQbxfQk0Gkvt8fF1pFZBN8CwqUf7TYZDaX6KG6QBA xNGgdQjbcCVbhcTyRIIH/1zI5hVFZtjexMI6hd8etSifWJZL+8xJxBqtpstuo6zgquH17R 92TR18/vlZVi4frh14TdlgYRxV5uztuX+hutclyUpTieRXE7d5DN28AWO3u3ohaB+CTWN4 JDdoUpjwg+U2C8v8Ms0PKLMmpccc8RubszF+3+07NQMdI49pOEEAsuRkNFFXlH9G0zRlD3 fPLrQRCEgTGlqCKOPhs2+QFGOpY6PtwyGryeHuv6skLbDgTzU6f1ok+5t7SO1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736888880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZYXca2KfZpVr7j3E2F5dKYO6LuDFSjqxMMdohkQVIbk=; b=r8r+kObVMh2rthxoxoN5arqXRToSOqR3VcAwKl3NoMhHMeqEhCcgvZ+RtnLQgQx6MEk3aO t5U0Zn4IlQw5NbCf8Mdr9JBQRSJ1ifFOyhaVmYlixOovqmG3XRAPubIvsi8kL48IsZNaTc 0NZ9CBRFejYssRC+jrgLuejyWi51dR/Q5oqj5/IxYraloiJHeozuMMDzOo4LFElriZJd7i 7jNnOrnujKsGTBtQrZ8VGfmR67TUSQLft83NYHn/u6kCyTJJ3F+spBWwM6Bbb2v9hJLyyW hzeVyyTBWD4oUfkR43HRmqvu0N8iSGlz70s7lmWYYTpTwXJt6EWezV2W0K4DrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736888880; a=rsa-sha256; cv=none; b=HYYewDxuI9PltQ4GDa8cg1kP6aqpcypIvv+/x+xpUuyHE/QQ8yht4/cFBYceDFlgIDMLHk HulNEkGE8eKTTRpwNvsTwQIcZuSbkFCYEv5UteqCy1gQ9sOh2qY3JX7n38ERjnKWyAfktx uDGjbpNlU9bxYBC+ub6iSH2dPAhoX7vliAjg4rjET4Y495zP6CwtMr/QWml3xPmTjhQcXi d7RgZfOnaM8cVlfEOUg67QrBU4a6mih1AblKXSFHrvgoAhs83GNPqdmyuW5VEiJ7xMclEJ 92sFUum2ABGe1ykKHclvYIBOcyTwt6x37ByAHlJ/ECxLrrxPhY7fgjbJfViEuw== 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 4YXhYD5xkNz2TK; Tue, 14 Jan 2025 21:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50EL801h029843; Tue, 14 Jan 2025 21:08:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EL80kt029840; Tue, 14 Jan 2025 21:08:00 GMT (envelope-from git) Date: Tue, 14 Jan 2025 21:08:00 GMT Message-Id: <202501142108.50EL80kt029840@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: fb0239e69f17 - stable/14 - makefs: Crudely fix a sprintf warning 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: fb0239e69f17400b08421a002a72b9520afd8285 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=fb0239e69f17400b08421a002a72b9520afd8285 commit fb0239e69f17400b08421a002a72b9520afd8285 Author: Ed Maste AuthorDate: 2024-12-22 16:00:49 +0000 Commit: Ed Maste CommitDate: 2025-01-14 21:07:39 +0000 makefs: Crudely fix a sprintf warning Reviewed by: kevans Obtained from: OpenBSD d95291fdb2dc Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48178 (cherry picked from commit 2069f6ecb1b1268deac980176c652ffab264970e) --- usr.sbin/makefs/cd9660.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/usr.sbin/makefs/cd9660.c b/usr.sbin/makefs/cd9660.c index bb3a86b7c8b5..0263970bba89 100644 --- a/usr.sbin/makefs/cd9660.c +++ b/usr.sbin/makefs/cd9660.c @@ -142,10 +142,11 @@ static void cd9660_convert_structure(iso9660_disk *, fsnode *, cd9660node *, int static void cd9660_free_structure(cd9660node *); static int cd9660_generate_path_table(iso9660_disk *); static int cd9660_level1_convert_filename(iso9660_disk *, const char *, char *, - int); + size_t, int); static int cd9660_level2_convert_filename(iso9660_disk *, const char *, char *, + size_t, int); +static int cd9660_convert_filename(iso9660_disk *, const char *, char *, size_t, int); -static int cd9660_convert_filename(iso9660_disk *, const char *, char *, int); static void cd9660_populate_dot_records(iso9660_disk *, cd9660node *); static int64_t cd9660_compute_offsets(iso9660_disk *, cd9660node *, int64_t); #if 0 @@ -225,7 +226,8 @@ cd9660_set_defaults(iso9660_disk *diskStructure) memset(diskStructure->primaryDescriptor.abstract_file_id, 0x20,37); memset(diskStructure->primaryDescriptor.bibliographic_file_id, 0x20,37); - strcpy(diskStructure->primaryDescriptor.system_id, "FreeBSD"); + strlcpy(diskStructure->primaryDescriptor.system_id, "FreeBSD", + sizeof(diskStructure->primaryDescriptor.system_id)); /* Boot support: Initially disabled */ diskStructure->has_generic_bootimage = 0; @@ -809,7 +811,7 @@ cd9660_translate_node_common(iso9660_disk *diskStructure, cd9660node *newnode) memset(temp, 0, ISO_FILENAME_MAXLENGTH_WITH_PADDING); (void)cd9660_convert_filename(diskStructure, newnode->node->name, - temp, !(S_ISDIR(newnode->node->type))); + temp, sizeof(temp), !(S_ISDIR(newnode->node->type))); flag = ISO_FLAG_CLEAR; if (S_ISDIR(newnode->node->type)) @@ -1112,7 +1114,9 @@ cd9660_rename_filename(iso9660_disk *diskStructure, cd9660node *iter, int num, while (digits > 0) { digit = (int)(temp / powers); temp = temp - digit * powers; - sprintf(&tmp[numbts] , "%d", digit); + snprintf(&tmp[numbts], + ISO_FILENAME_MAXLENGTH_WITH_PADDING - numbts, + "%d", digit); digits--; numbts++; powers = powers / 10; @@ -1578,7 +1582,7 @@ cd9660_compute_full_filename(cd9660node *node, char *buf) */ static int cd9660_level1_convert_filename(iso9660_disk *diskStructure, const char *oldname, - char *newname, int is_file) + char *newname, size_t newnamelen, int is_file) { /* * ISO 9660 : 10.1 @@ -1589,6 +1593,7 @@ cd9660_level1_convert_filename(iso9660_disk *diskStructure, const char *oldname, int namelen = 0; int extlen = 0; int found_ext = 0; + char *orignewname = newname; while (*oldname != '\0' && extlen < 3) { /* Handle period first, as it is special */ @@ -1630,7 +1635,7 @@ cd9660_level1_convert_filename(iso9660_disk *diskStructure, const char *oldname, if (!found_ext && !diskStructure->omit_trailing_period) *newname++ = '.'; /* Add version */ - sprintf(newname, ";%i", 1); + snprintf(newname, newnamelen - (newname - orignewname), ";%i", 1); } return namelen + extlen + found_ext; } @@ -1638,7 +1643,7 @@ cd9660_level1_convert_filename(iso9660_disk *diskStructure, const char *oldname, /* XXX bounds checking! */ static int cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, - char *newname, int is_file) + char *newname, size_t newnamelen, int is_file) { /* * ISO 9660 : 7.5.1 @@ -1652,6 +1657,7 @@ cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, int namelen = 0; int extlen = 0; int found_ext = 0; + char *orignewname = newname; while (*oldname != '\0' && namelen + extlen < 30) { /* Handle period first, as it is special */ @@ -1697,7 +1703,7 @@ cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, if (!found_ext && !diskStructure->omit_trailing_period) *newname++ = '.'; /* Add version */ - sprintf(newname, ";%i", 1); + snprintf(newname, newnamelen - (newname - orignewname), ";%i", 1); } return namelen + extlen + found_ext; } @@ -1712,15 +1718,15 @@ cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, */ static int cd9660_convert_filename(iso9660_disk *diskStructure, const char *oldname, - char *newname, int is_file) + char *newname, size_t newnamelen, int is_file) { assert(1 <= diskStructure->isoLevel && diskStructure->isoLevel <= 2); if (diskStructure->isoLevel == 1) return(cd9660_level1_convert_filename(diskStructure, - oldname, newname, is_file)); + oldname, newname, newnamelen, is_file)); else if (diskStructure->isoLevel == 2) return (cd9660_level2_convert_filename(diskStructure, - oldname, newname, is_file)); + oldname, newname, newnamelen, is_file)); abort(); } @@ -1932,7 +1938,7 @@ cd9660_create_virtual_entry(iso9660_disk *diskStructure, const char *name, temp->isoDirRecord = emalloc(sizeof(*temp->isoDirRecord)); cd9660_convert_filename(diskStructure, tfsnode->name, - temp->isoDirRecord->name, file); + temp->isoDirRecord->name, sizeof(temp->isoDirRecord->name), file); temp->node = tfsnode; temp->parent = parent; From nobody Tue Jan 14 21:08: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 4YXhYH3tFXz5kQh6; Tue, 14 Jan 2025 21:08: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 4YXhYH0t16z4Nf4; Tue, 14 Jan 2025 21:08:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736888883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qr1kwfDHAcT2HltvJF66VUeYwY4Ix5+Cvl5rW+25coA=; b=vQ4J7WPvkWX4wtE2Rl8LH3UqJvtEYhtetenBM1btv+h/nhG64zwv06N61nKdG8AhoXsQBx lplY/xJHnH0JQp7WfaZK+z8RJfyy3/KdO/8FhiDgM2Dkm8C8MTRmxT+Z5gW9GyjEVKiGjA iCWlsDIerkZbPvdC9lazoH/XBJoTI6IrWETPEEegwraJHPXMHriAnF0eEoquh9JnfkyLDv pL0DHq0y0fwQK0ikHSEEMF5qPK1ZjJ0vdo4PiYcfA6UCP8CQ3lt/L1h1L3pivDqmGcrop0 QMXqEQ5VR7CMaQJ3dhvENavcCTzTBLys7rH6LDz8YpDfNkXkoVDsXKr5jWFPUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736888883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qr1kwfDHAcT2HltvJF66VUeYwY4Ix5+Cvl5rW+25coA=; b=KF56ZmWGxpjt8pBrHEL3RaHp+M6Nn92wE8fXc6AB4y/1VEOGRtfe9qVN4RR+KnV7/tt7TN ffUdIlU9XWP6J83qR96P3CoIvnZ/dxJI9TepzQW9TVFWEsGrHkYwK/oNFedtV37iM/Gjtt Mq9zoE9PGABd9mS8FZK3pG3nvd0YO6lA0rRnQUzVh36nHh6LDqVW0lKRnlv4YVC67Ifh9F fdTg8MHB1Uhk0sbGTUZxxB5rbqEFE3pMM/XTQbHr4jvxiT0DYM7MD5cCmHKEmLmcDM4Ttb FFN0wE2E1sTxLuZEEB67vU0g4aGEGPeLKDUzOuE/gc+Hb55kuBlXmI/FuHQFkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736888883; a=rsa-sha256; cv=none; b=Y2KI45pvSMddtRDcraS62J7y3biXFcSKYipsd4ZW9oI7KoU/ma+ytuaAYkJfttyq7GE4SE 92felb1nTo0GgVMUD+nn1VQhvjzmyL524CIT8twakNJr/dhWMeDxSxuIPdcNCDVTmqBnu7 G3DT0M3NrEGiqzhw9Pb+CsBS3T3Gb3PzNIxb8F5LEK/Fb5Mkz0yxzPo6Yy7ynOnf75ubwk 3Kv8Pppw2Oofd1ApQQWp0irmcVo3teXCqwqeF57B+niL3UW6jQwjrYj0DLYcxpQFlXmYZZ d/sa4Wu9aMnuZHG+S/8obf5pqhjnAubtoXZ+uy19WNPlky6hHikS1GGgdHZDhw== 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 4YXhYH0Tb2z2YD; Tue, 14 Jan 2025 21:08: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 50EL83Ts029946; Tue, 14 Jan 2025 21:08:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EL830S029943; Tue, 14 Jan 2025 21:08:03 GMT (envelope-from git) Date: Tue, 14 Jan 2025 21:08:03 GMT Message-Id: <202501142108.50EL830S029943@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: 302be497fc03 - stable/14 - makefs: Remove impossible if condition 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: 302be497fc0349979df05b700a7d27ffdac941f4 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=302be497fc0349979df05b700a7d27ffdac941f4 commit 302be497fc0349979df05b700a7d27ffdac941f4 Author: Ed Maste AuthorDate: 2024-12-24 01:58:37 +0000 Commit: Ed Maste CommitDate: 2025-01-14 21:07:39 +0000 makefs: Remove impossible if condition This test is inside the else block for `if (*oldname == '.')`, so *oldname cannot be '.' here. Reviewed by: kevans Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48243 (cherry picked from commit 788e1eb7c199297aa438fc5cb6caabc9be01b419) --- usr.sbin/makefs/cd9660.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/usr.sbin/makefs/cd9660.c b/usr.sbin/makefs/cd9660.c index 5fc3ae4d8b2a..440b1d6d26b7 100644 --- a/usr.sbin/makefs/cd9660.c +++ b/usr.sbin/makefs/cd9660.c @@ -1683,12 +1683,8 @@ cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, else if (isupper((unsigned char)*oldname) || isdigit((unsigned char)*oldname)) *newname++ = *oldname; - else if (diskStructure->allow_multidot && - *oldname == '.') { - *newname++ = '.'; - } else { + else *newname++ = '_'; - } if (found_ext) extlen++; From nobody Tue Jan 14 21:08: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 4YXhYJ3Yfyz5kQc1; Tue, 14 Jan 2025 21:08: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 4YXhYJ2BG0z4NWj; Tue, 14 Jan 2025 21:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736888884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UiaOo+dFAUg+afv9JdcUhs6ATh89qiMnmUZcZoFQGuw=; b=VDAGQ9vt3TS2N9/u4C0gum9C7xrIO73WaDTRoLZzOhht4jOfqM05REci+lXhVRk90bDGxM /ovUVT0fpRLJPUNmzTB6CgA/GPXbybfLXEsD5dpc1boKp2kpNyj6VhOxOmq3AVAUJm0/Sm pK2RdLpqj1vcQQFoC/Rp3JidxuvLdU25Q3gYWzclgFj4talvr2rhFN8igQ4pGCqGAtAOfo n5JDPYDp2UQ0dUzK52vgad7nFH9QqKD6viSIvE4CJGkykRhALxltqVF+TgRUHHKhjRZhbh YB2UqB5ylmDKUjFVecsu2Z/MFRTrCz4g8UVeg7i2aSK1mXysS2CcVHMdDpBgpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736888884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UiaOo+dFAUg+afv9JdcUhs6ATh89qiMnmUZcZoFQGuw=; b=ZzS7SP9Y8j4OkqQYMYZkkbWO98gpe5igCty45yPwbhxH1jQhJKDsfCKJOjH7EJVSaVk8F2 wMLSnuqV6/uWO0Ovw25697zpklpnrii23/23WLoSFbBxR41BVZ7wd5bnmr2Mwzyfscs1Px hK0exPRQSTBm3xv7Y7GMopWsrTG6Wp036neblQuxXl/kVAKerVaBTCLh2dDOIdHcT7cdpS EO4CC+seM5LMCcLGPUBWTyedYiLRQ8FbObo0GOnOMhiIwxFIyXXpTsyxg/6ZWr37WrONLL XtrdPp8PYWwF3RgKhfMt/IzK96d/CtJVeGfg1JbVMmCVMji4GzJbD5gTmqcY4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736888884; a=rsa-sha256; cv=none; b=EzHyp9VoypqncR6tpqsMgX1AZYEhTiONAhgQBP/KvICiU5I6Zc/EPjbfk3fVNNvgYom8bN ZjlqqnYc/DwpLz2+nSNJYpQKc7xYyovz93VnkK2uSVdno1Xxd0+hxh2OT5FK5IQ2AFAJXx G3uMDmWQ/Aoih66SuiabkfICRJeYQcL+uIdJyT3k+xg5fKGDhgdCN7mdF8dr+X4L0PDYZK JXoZqRafgNNxO3iFH/s+uDNNF6Y6ybtrIpy+3CDd+YdegDOc3Lnnt6YpO8rd7TC07HQGuj +vUfbupq6PA56L3ur2EuJhY+KYKSDkAED/aGW6uH/kFYmK6YfruZFw3gptwUFw== 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 4YXhYJ1nWCz2TL; Tue, 14 Jan 2025 21:08: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 50EL8468030002; Tue, 14 Jan 2025 21:08:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50EL841v029999; Tue, 14 Jan 2025 21:08:04 GMT (envelope-from git) Date: Tue, 14 Jan 2025 21:08:04 GMT Message-Id: <202501142108.50EL841v029999@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: 40b11c1c16d8 - stable/14 - makefs: Fix cd9660 duplicate directory names List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 40b11c1c16d85b3339be4c3c4fde2ef7fa36f3ff Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=40b11c1c16d85b3339be4c3c4fde2ef7fa36f3ff commit 40b11c1c16d85b3339be4c3c4fde2ef7fa36f3ff Author: Ed Maste AuthorDate: 2024-12-30 15:01:06 +0000 Commit: Ed Maste CommitDate: 2025-01-14 21:07:39 +0000 makefs: Fix cd9660 duplicate directory names Previously we could create cd9660 images with duplicate short (level 2) names. cd9660_level2_convert_filename used a 30-character limit (for files and directories), not including the '.' separator. cd9660_rename_filename used a 31-character limit, including the '.'. Directory names 31 characters or longer (without '.') were shortened to 30 characters, and if a collision occurred cd9660_rename_filename uniquified them starting with the 31st character. Unfortunately the directory record's name_len was already set, so the unique part of the name was stripped off. Directories are up to 31 d-characters (i.e., A-Z 0-9 and _); there is no provision for a '.' in a directory name. Increase the name length limit to 31 for directories, and exclude '.'s. This name mapping and deduplication code is still fragile and convoluted and would beenfit from a more holistic effort. PR: 283238, 283112 Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48251 (cherry picked from commit 1f31d437428014e864bcce1223cf7017180e2608) --- usr.sbin/makefs/cd9660.c | 5 ++-- usr.sbin/makefs/tests/makefs_cd9660_tests.sh | 39 ++++++++++++++++++++++++++-- usr.sbin/makefs/tests/makefs_tests_common.sh | 2 +- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/usr.sbin/makefs/cd9660.c b/usr.sbin/makefs/cd9660.c index 440b1d6d26b7..17fab3a8cfdf 100644 --- a/usr.sbin/makefs/cd9660.c +++ b/usr.sbin/makefs/cd9660.c @@ -1652,14 +1652,15 @@ cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, * File version number (5 characters, 1-32767) * 1 <= Sum of File name and File name extension <= 30 */ + int maxlen = is_file ? 30 : 31; int namelen = 0; int extlen = 0; int found_ext = 0; char *orignewname = newname; - while (*oldname != '\0' && namelen + extlen < 30) { + while (*oldname != '\0' && namelen + extlen < maxlen) { /* Handle period first, as it is special */ - if (*oldname == '.') { + if (*oldname == '.' && is_file) { if (found_ext) { if (diskStructure->allow_multidot) { *newname++ = '.'; diff --git a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh index 2fdf47f76a4c..066a9d6ec0e0 100644 --- a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh +++ b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh @@ -51,8 +51,8 @@ common_cleanup() check_base_iso9660_image_contents() { # Symlinks are treated like files when rockridge support isn't - # specified - check_image_contents "$@" -X c + # specified, and directories cannot contain a '.'. + check_image_contents "$@" -X c -X .g -X _g atf_check -e empty -o empty -s exit:0 test -L $TEST_INPUTS_DIR/c atf_check -e empty -o empty -s exit:0 test -f $TEST_MOUNT_DIR/c @@ -374,6 +374,39 @@ o_flag_rockridge_dev_nodes_cleanup() common_cleanup } +atf_test_case duplicate_names cleanup +duplicate_names_head() +{ + atf_set "descr" "Ensure shortened directory names are unique (PR283238)" +} +duplicate_names_body() +{ + check_cd9660_support + create_test_dirs + + # Create three directories which are identical in the first 31 characters. + dir_prefix="this_directory_name_is_31_chars" + mkdir -p $TEST_INPUTS_DIR/${dir_prefix}1 + mkdir -p $TEST_INPUTS_DIR/${dir_prefix}2 + mkdir -p $TEST_INPUTS_DIR/${dir_prefix}3 + + atf_check -e empty -o empty -s exit:0 \ + $MAKEFS -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR + + # Disable Rock Ridge extensions to read the plain ISO Level 2 names. + mount_image -r + + # The specific way the short names are made unique is not important. + # We verify only that there are three unique names and that the unique + # part is at the end of the name. + atf_check_equal $(ls -1 $TEST_MOUNT_DIR | sort | uniq | wc -l) 3 + atf_check_equal $(ls -1 $TEST_MOUNT_DIR | cut -c -29 | sort | uniq | wc -l) 1 +} +duplicate_names_cleanup() +{ + common_cleanup +} + atf_init_test_cases() { atf_add_test_case D_flag @@ -392,4 +425,6 @@ atf_init_test_cases() atf_add_test_case o_flag_publisher atf_add_test_case o_flag_rockridge atf_add_test_case o_flag_rockridge_dev_nodes + + atf_add_test_case duplicate_names } diff --git a/usr.sbin/makefs/tests/makefs_tests_common.sh b/usr.sbin/makefs/tests/makefs_tests_common.sh index 12c7c7c84fb7..b418cafc90a6 100644 --- a/usr.sbin/makefs/tests/makefs_tests_common.sh +++ b/usr.sbin/makefs/tests/makefs_tests_common.sh @@ -138,6 +138,6 @@ mount_image() atf_check -e empty -o save:$TEST_MD_DEVICE_FILE -s exit:0 \ mdconfig -a -f $TEST_IMAGE atf_check -e empty -o empty -s exit:0 \ - $MOUNT /dev/$(cat $TEST_MD_DEVICE_FILE) $TEST_MOUNT_DIR + $MOUNT ${1} /dev/$(cat $TEST_MD_DEVICE_FILE) $TEST_MOUNT_DIR } From nobody Wed Jan 15 02:33:42 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YXqn246HGz5kmSf; Wed, 15 Jan 2025 02:33:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXqn23C1kz3fkB; Wed, 15 Jan 2025 02:33:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736908422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hLrxx6wYvj1OfvC/pA6chO/ITlSIjzOyoYmtZ4i3yPI=; b=PDgzeLQn78PTVVR8yOLcCU+c+hqZPSFXaq547xTh9sDPkheecvWUhbRH7gK2GkN0YJOjP7 QnJ9DpGsH7+XLWxYixCuksdAdfHl3G3gOzY/OqhQ0VM6y47hf/0MV3nmRudvpoDiiIcVFo eNNToK6oS6bj2LuonxXpnTdRLhBjide3Y8s1+F0QlMSNRzH3HzSXqu6aqR4e/OHfhzftMX HN4sDti/eiYOUAinOauWjhNf+ZnNX3PG26CeKZ8O+du/TxMwftOcJKJO4f46km3YOdTvPl CucC+hfMgVWrVJ+pMA/1jCQryEpH5Z2gs0toV4qsitELjRGGBaBNX8XsQ8etmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736908422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hLrxx6wYvj1OfvC/pA6chO/ITlSIjzOyoYmtZ4i3yPI=; b=NbMDCUgApeMha6ZE5e044p3II25eNtgWG+EjTcwje9KBaWLwKOh3yUlxIiBfXfadxWuIuP uAvxdls7MK8tPOe5jltclL+zAIls61eCrL+kS6KmlaV/bwQSRHC94KknAiBXtnwtzVcRK5 yLne3IcuaAFcQ31WVLJieT7BX5UiEltWwVlgUg1YGz8xgWOLIYhtdwx8GEaMGKxzAzXodT X11T0n5qxOdAMP9ES1is70+Iutq7ib4H1p+uxa0+57/fysTl/JK8G5zDCxsXVSLm9fS4Cj 5SlKIIoKfjNTMStfYOILTw6amlyHTwunMzk6vVO880tu4uxv9hElBl8NwV0iNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736908422; a=rsa-sha256; cv=none; b=fMxyFiXgg7khYvFNiFc/rCjZezFrdaROCaJ/FFFz25wH189NSVJujtDUE0CVJQJG+8RHkO MMIUPfftDVOPXYenTLJoS0SPAsqSx8Kz+EOlpBuW8PueDNgNsW9SngoY6x4sssGhkjZYo4 hVS5LmnNsFzrEUkm4Q5jdegYm8IkjsDbly/AXhB1wZsRL7m+kjY2TwBjWUJgLGgHvUk7Rs cN8hI43v/RVMrmR52dQidP+qCOR4h5+fH/55j+swNO+MK7f3OSA3o0NLLAVeaC2FgIiB1R 03M4jW/U2vRIZvGicun08rGVA+tyYf9wun6ko17gakYBv8PuwJ9z9JL8SWbMZg== 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 4YXqn22Y51zBy7; Wed, 15 Jan 2025 02:33:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50F2XgBw046453; Wed, 15 Jan 2025 02:33:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F2XgsP046450; Wed, 15 Jan 2025 02:33:42 GMT (envelope-from git) Date: Wed, 15 Jan 2025 02:33:42 GMT Message-Id: <202501150233.50F2XgsP046450@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: 954de313b261 - stable/13 - makefs: Crudely fix a sprintf warning List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 954de313b261f6e631ca1a29106ae47e5621479c Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=954de313b261f6e631ca1a29106ae47e5621479c commit 954de313b261f6e631ca1a29106ae47e5621479c Author: Ed Maste AuthorDate: 2024-12-22 16:00:49 +0000 Commit: Ed Maste CommitDate: 2025-01-15 02:33:30 +0000 makefs: Crudely fix a sprintf warning Reviewed by: kevans Obtained from: OpenBSD d95291fdb2dc Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48178 (cherry picked from commit 2069f6ecb1b1268deac980176c652ffab264970e) (cherry picked from commit fb0239e69f17400b08421a002a72b9520afd8285) --- usr.sbin/makefs/cd9660.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/usr.sbin/makefs/cd9660.c b/usr.sbin/makefs/cd9660.c index 7ce9a3b6cbb2..e895f09bef0f 100644 --- a/usr.sbin/makefs/cd9660.c +++ b/usr.sbin/makefs/cd9660.c @@ -142,10 +142,11 @@ static void cd9660_convert_structure(iso9660_disk *, fsnode *, cd9660node *, int static void cd9660_free_structure(cd9660node *); static int cd9660_generate_path_table(iso9660_disk *); static int cd9660_level1_convert_filename(iso9660_disk *, const char *, char *, - int); + size_t, int); static int cd9660_level2_convert_filename(iso9660_disk *, const char *, char *, + size_t, int); +static int cd9660_convert_filename(iso9660_disk *, const char *, char *, size_t, int); -static int cd9660_convert_filename(iso9660_disk *, const char *, char *, int); static void cd9660_populate_dot_records(iso9660_disk *, cd9660node *); static int64_t cd9660_compute_offsets(iso9660_disk *, cd9660node *, int64_t); #if 0 @@ -225,7 +226,8 @@ cd9660_set_defaults(iso9660_disk *diskStructure) memset(diskStructure->primaryDescriptor.abstract_file_id, 0x20,37); memset(diskStructure->primaryDescriptor.bibliographic_file_id, 0x20,37); - strcpy(diskStructure->primaryDescriptor.system_id, "FreeBSD"); + strlcpy(diskStructure->primaryDescriptor.system_id, "FreeBSD", + sizeof(diskStructure->primaryDescriptor.system_id)); /* Boot support: Initially disabled */ diskStructure->has_generic_bootimage = 0; @@ -806,7 +808,7 @@ cd9660_translate_node_common(iso9660_disk *diskStructure, cd9660node *newnode) memset(temp, 0, ISO_FILENAME_MAXLENGTH_WITH_PADDING); (void)cd9660_convert_filename(diskStructure, newnode->node->name, - temp, !(S_ISDIR(newnode->node->type))); + temp, sizeof(temp), !(S_ISDIR(newnode->node->type))); flag = ISO_FLAG_CLEAR; if (S_ISDIR(newnode->node->type)) @@ -1109,7 +1111,9 @@ cd9660_rename_filename(iso9660_disk *diskStructure, cd9660node *iter, int num, while (digits > 0) { digit = (int)(temp / powers); temp = temp - digit * powers; - sprintf(&tmp[numbts] , "%d", digit); + snprintf(&tmp[numbts], + ISO_FILENAME_MAXLENGTH_WITH_PADDING - numbts, + "%d", digit); digits--; numbts++; powers = powers / 10; @@ -1575,7 +1579,7 @@ cd9660_compute_full_filename(cd9660node *node, char *buf) */ static int cd9660_level1_convert_filename(iso9660_disk *diskStructure, const char *oldname, - char *newname, int is_file) + char *newname, size_t newnamelen, int is_file) { /* * ISO 9660 : 10.1 @@ -1586,6 +1590,7 @@ cd9660_level1_convert_filename(iso9660_disk *diskStructure, const char *oldname, int namelen = 0; int extlen = 0; int found_ext = 0; + char *orignewname = newname; while (*oldname != '\0' && extlen < 3) { /* Handle period first, as it is special */ @@ -1627,7 +1632,7 @@ cd9660_level1_convert_filename(iso9660_disk *diskStructure, const char *oldname, if (!found_ext && !diskStructure->omit_trailing_period) *newname++ = '.'; /* Add version */ - sprintf(newname, ";%i", 1); + snprintf(newname, newnamelen - (newname - orignewname), ";%i", 1); } return namelen + extlen + found_ext; } @@ -1635,7 +1640,7 @@ cd9660_level1_convert_filename(iso9660_disk *diskStructure, const char *oldname, /* XXX bounds checking! */ static int cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, - char *newname, int is_file) + char *newname, size_t newnamelen, int is_file) { /* * ISO 9660 : 7.5.1 @@ -1649,6 +1654,7 @@ cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, int namelen = 0; int extlen = 0; int found_ext = 0; + char *orignewname = newname; while (*oldname != '\0' && namelen + extlen < 30) { /* Handle period first, as it is special */ @@ -1694,7 +1700,7 @@ cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, if (!found_ext && !diskStructure->omit_trailing_period) *newname++ = '.'; /* Add version */ - sprintf(newname, ";%i", 1); + snprintf(newname, newnamelen - (newname - orignewname), ";%i", 1); } return namelen + extlen + found_ext; } @@ -1709,15 +1715,15 @@ cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, */ static int cd9660_convert_filename(iso9660_disk *diskStructure, const char *oldname, - char *newname, int is_file) + char *newname, size_t newnamelen, int is_file) { assert(1 <= diskStructure->isoLevel && diskStructure->isoLevel <= 2); if (diskStructure->isoLevel == 1) return(cd9660_level1_convert_filename(diskStructure, - oldname, newname, is_file)); + oldname, newname, newnamelen, is_file)); else if (diskStructure->isoLevel == 2) return (cd9660_level2_convert_filename(diskStructure, - oldname, newname, is_file)); + oldname, newname, newnamelen, is_file)); abort(); } @@ -1929,7 +1935,7 @@ cd9660_create_virtual_entry(iso9660_disk *diskStructure, const char *name, temp->isoDirRecord = emalloc(sizeof(*temp->isoDirRecord)); cd9660_convert_filename(diskStructure, tfsnode->name, - temp->isoDirRecord->name, file); + temp->isoDirRecord->name, sizeof(temp->isoDirRecord->name), file); temp->node = tfsnode; temp->parent = parent; From nobody Wed Jan 15 02:33: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 4YXqn36mRcz5kmN9; Wed, 15 Jan 2025 02:33:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXqn342lfz3fmh; Wed, 15 Jan 2025 02:33:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736908423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jQNdj5IMcqmmGrwPGORiq1Pi7hzmt7b97dQ+NMmIMaU=; b=EO/JJFahr6OFCRyYljB0KZ6xqPHUu/QuSizdWoT0ZqS3mjCWMUmo880RT/oMu8Jjl5yTCI kCy7ex1mU3Jk+zn2CkwG60mcC0lYbIltb4iQ0Y4F2/D6Fkk9yvNqaFANUtmeyGeBkjSgd8 +3uQUXGyCS+XXZtjqjwx/EPPLnV7C1EBZjNSVolEN7kXRI3AoS3hv+ovZYQW/s46PZZY3I l5VnGNU1j1MV5y8wgJ41wF2wU9WToKP94mBazL/GP59cJsCmnPj+xYEj5km1d7hNsCHkP7 CfN0esM732w7U3rhjCTAlTiCY3svhWUJ9aPFRnVzNV+BnsEqMUaOyHRYlCdcqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736908423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jQNdj5IMcqmmGrwPGORiq1Pi7hzmt7b97dQ+NMmIMaU=; b=T1fqqNtLo/u8pjOGFwIZiumw3Wl/tXcuof5OnzB0fefP3oWFRWgTHhDz7RCjKo4ttdilZ7 64I6BaXlRAaM0mSPx4r9mamQmteABnDOWM686DGLM2pU/z5jhWAzf7dz9f4lv/jvqJcRUh WF8chbTpuT1I5ubplT2TBs+qbVWR0f+Aw35EHnI6ssMD1ujhuydonTDaSAIJxg/ByIlFjE KOoHCvwnXcU3yeYG7gU6jt8kQHPoutQnfulnckzltP1aTSAJ25zORXwKjTOFWwsSw0gxEM 1gLI1xLEnANHb0flXzRrTOlypvW5g9nD6ZeYh2nACJX8T9VD3LcFdbl7UVhruw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736908423; a=rsa-sha256; cv=none; b=SQrXDZXHVht1Qk0wnLV4fZgIEBa9oQTcgu3t+iJ7YkATZ15Nd76Cfuh0UvFLbR90QeR1gG 3pphU2I9UWP93YU1hLEkP6IUnJ4QadwzPSbN6MdBTYVMqm7DD5GuWKv8oRg8J2OKX4hDpq rgESLpPivxWiBMFlbGYjMSrXfuHONhLG5KNhKSKk/m2IRneDOwZBwIHo9tYU1x7qSa3SCg UhsJ4zevtclqFnl6aN0RLRmWW3BvSORXy8WRWEVr9LzGnQOBpvwZ5ny1wCecLK01F0nxUS eD/WgKsSNr2rF2rI2en8lqg/KUIlNA2UHccP5Gz72cDS2sUvdO9E+ex+nYGolw== 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 4YXqn33ZfnzC5W; Wed, 15 Jan 2025 02:33: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 50F2Xh9o046501; Wed, 15 Jan 2025 02:33:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F2XhmS046498; Wed, 15 Jan 2025 02:33:43 GMT (envelope-from git) Date: Wed, 15 Jan 2025 02:33:43 GMT Message-Id: <202501150233.50F2XhmS046498@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: f6a64ab6a2c9 - stable/13 - makefs: Fix cd9660 filename buffer maximum length List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f6a64ab6a2c936a7660ddddce8b8676737b994ed Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f6a64ab6a2c936a7660ddddce8b8676737b994ed commit f6a64ab6a2c936a7660ddddce8b8676737b994ed Author: Ed Maste AuthorDate: 2024-12-24 16:08:10 +0000 Commit: Ed Maste CommitDate: 2025-01-15 02:33:30 +0000 makefs: Fix cd9660 filename buffer maximum length The maximum length is 30 characters for name and extension, two separators (. and ;) and 5 characters for file version from 1 to 32767, which is 37 characters. Add one for the null term as we treat these buffers as C strings. This is not an issue in practice, as the file version is always 1 in makefs. While here, drop `_WITH_PADDING` from the macro name and update the previously-unused ISO_FILENAME_MAXLENGTH for the corrected length. A 0x00 padding byte is used by ISO9660 when needed for alignment, which can be the null byte at the end of the string. Use sizeof where appropriate. Reviewed by: kevans Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48193 (cherry picked from commit 2e09cef8dc6f46faba8bab87c42c3f19ba2ffe87) (cherry picked from commit 999c7a888f4fbe74573bc342052f3146b8d756c9) --- usr.sbin/makefs/cd9660.c | 16 +++++++--------- usr.sbin/makefs/cd9660.h | 9 ++++----- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/usr.sbin/makefs/cd9660.c b/usr.sbin/makefs/cd9660.c index e895f09bef0f..283879df16ae 100644 --- a/usr.sbin/makefs/cd9660.c +++ b/usr.sbin/makefs/cd9660.c @@ -502,7 +502,7 @@ cd9660_makefs(const char *image, const char *dir, fsnode *root, real_root->isoDirRecord = emalloc(sizeof(*real_root->isoDirRecord)); /* Leave filename blank for root */ memset(real_root->isoDirRecord->name, 0, - ISO_FILENAME_MAXLENGTH_WITH_PADDING); + sizeof(real_root->isoDirRecord->name)); real_root->level = 0; diskStructure->rootNode = real_root; @@ -802,10 +802,10 @@ static int cd9660_translate_node_common(iso9660_disk *diskStructure, cd9660node *newnode) { u_char flag; - char temp[ISO_FILENAME_MAXLENGTH_WITH_PADDING]; + char temp[ISO_FILENAME_MAXLENGTH]; /* Now populate the isoDirRecord structure */ - memset(temp, 0, ISO_FILENAME_MAXLENGTH_WITH_PADDING); + memset(temp, 0, sizeof(temp)); (void)cd9660_convert_filename(diskStructure, newnode->node->name, temp, sizeof(temp), !(S_ISDIR(newnode->node->type))); @@ -1050,7 +1050,7 @@ cd9660_rename_filename(iso9660_disk *diskStructure, cd9660node *iter, int num, else maxlength = ISO_FILENAME_MAXLENGTH_BEFORE_VERSION; - tmp = emalloc(ISO_FILENAME_MAXLENGTH_WITH_PADDING); + tmp = emalloc(ISO_FILENAME_MAXLENGTH); while (i < num && iter) { powers = 1; @@ -1111,8 +1111,7 @@ cd9660_rename_filename(iso9660_disk *diskStructure, cd9660node *iter, int num, while (digits > 0) { digit = (int)(temp / powers); temp = temp - digit * powers; - snprintf(&tmp[numbts], - ISO_FILENAME_MAXLENGTH_WITH_PADDING - numbts, + snprintf(&tmp[numbts], ISO_FILENAME_MAXLENGTH - numbts, "%d", digit); digits--; numbts++; @@ -1159,8 +1158,7 @@ cd9660_copy_filenames(iso9660_disk *diskStructure, cd9660node *node) TAILQ_FOREACH(cn, &node->cn_children, cn_next_child) { cd9660_copy_filenames(diskStructure, cn); - memcpy(cn->o_name, cn->isoDirRecord->name, - ISO_FILENAME_MAXLENGTH_WITH_PADDING); + memcpy(cn->o_name, cn->isoDirRecord->name, sizeof(cn->o_name)); } } @@ -1283,7 +1281,7 @@ cd9660_rrip_move_directory(iso9660_disk *diskStructure, cd9660node *dir) /* TODO: Inherit permissions / ownership (basically the entire inode) */ /* Set the new name */ - memset(dir->isoDirRecord->name, 0, ISO_FILENAME_MAXLENGTH_WITH_PADDING); + memset(dir->isoDirRecord->name, 0, sizeof(dir->isoDirRecord->name)); strncpy(dir->isoDirRecord->name, newname, 8); dir->isoDirRecord->length[0] = 34 + 8; dir->isoDirRecord->name_len[0] = 8; diff --git a/usr.sbin/makefs/cd9660.h b/usr.sbin/makefs/cd9660.h index b7324322d383..2892d6d206c2 100644 --- a/usr.sbin/makefs/cd9660.h +++ b/usr.sbin/makefs/cd9660.h @@ -72,8 +72,7 @@ /*30 for name and extension, as well as version number and padding bit*/ #define ISO_FILENAME_MAXLENGTH_BEFORE_VERSION 30 -#define ISO_FILENAME_MAXLENGTH 36 -#define ISO_FILENAME_MAXLENGTH_WITH_PADDING 37 +#define ISO_FILENAME_MAXLENGTH 38 #define ISO_FLAG_CLEAR 0x00 #define ISO_FLAG_HIDDEN 0x01 @@ -118,7 +117,7 @@ typedef struct _iso_directory_record_cd9660 { u_char interleave [ISODCL (28, 28)]; /* 711 */ u_char volume_sequence_number [ISODCL (29, 32)]; /* 723 */ u_char name_len [ISODCL (33, 33)]; /* 711 */ - char name [ISO_FILENAME_MAXLENGTH_WITH_PADDING]; + char name [ISO_FILENAME_MAXLENGTH]; } iso_directory_record_cd9660; /* TODO: Lots of optimization of this structure */ @@ -154,7 +153,7 @@ typedef struct _cd9660node { int fileRecordSize;/*copy of a variable, int for quicker calculations*/ /* Old name, used for renaming - needs to be optimized but low priority */ - char o_name [ISO_FILENAME_MAXLENGTH_WITH_PADDING]; + char o_name [ISO_FILENAME_MAXLENGTH]; /***** SPACE RESERVED FOR EXTENSIONS *****/ /* For memory efficiency's sake - we should move this to a separate struct @@ -194,7 +193,7 @@ typedef struct _path_table_entry u_char extended_attribute_length[ISODCL (2, 2)]; u_char first_sector[ISODCL (3, 6)]; u_char parent_number[ISODCL (7, 8)]; - char name[ISO_FILENAME_MAXLENGTH_WITH_PADDING]; + char name[ISO_FILENAME_MAXLENGTH]; } path_table_entry; typedef struct _volume_descriptor From nobody Wed Jan 15 02:33: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 4YXqn50BmLz5kmSq; Wed, 15 Jan 2025 02:33: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 4YXqn44mFXz3ffH; Wed, 15 Jan 2025 02:33:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736908424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2SlmGoHEYk9BstFuAu/SdWMxPfLpDyz8Mpr9D5dLhQE=; b=V78k3WL0dl+7+tnJtGyOdXLzGb/M+TvSju4sqJU+nAupcHlwxne1/yEjHSe/hBDvv7piN/ S+4O3G4mTDvHFPIDbj2csQIfSqtX9msKAEh5WwlKacY/4QYOWc7N6q44qeJiVnYj/5tSs+ Vpcq/TCi15lBG1LlCQ+g+n0E0Q7UFbpctGW3T62OCfkq88bzP011lqq2dybJ+2a2prZ8UQ jF5qHtDiZP2iQ4WkQXJrvGpVF0noOXcoT1MJ5EyejdOR5KrflwZThCzebBdXUqzlRxgWMw cKGoR6KtltYGvmwBakWfCBlnlBfZ4ueBEv9Bwrcmg2jF1AxZdymoRxkgRx2oRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736908424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2SlmGoHEYk9BstFuAu/SdWMxPfLpDyz8Mpr9D5dLhQE=; b=MjL06fHeF30qjWJ7go0BbH5NWsUZYQP6cZFuzwxx06PDxm9DKtGwtK0OLseZflqbTkwLL5 8J3Vrn5+eje5gY3XqZApDAJyklaWZjyuPZqUzSnPhp127CrUGHYbEFZr+w3P9b4ccCEG3F u/7YnJKWevRzcBtQ5wfuvX/kfiLNIzbsmKaSDcSBuxjrkpPKuqT+cB0yFOVcpFYTNKRkFu eOS8zcS51Bv8l92JAH8j5o3HCHxOjnrFwpHSp1ARfGalcEaza0PEj1Ho8r0WV7LpLBi23I T9nSN7kP5AtsqjV6GefRpwzkWqJU6tb1GRVyZF5gnQtSF8YZiiKBEvyXdQ7OLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736908424; a=rsa-sha256; cv=none; b=Q3sDU7FfaeQ5+4+dbTFRjKAHNlWuuWp2lS6WgSlRdHiH/Pe9OvN6/G7vxL2BdvRbkgHS6t QRH+G4FW6I8d/f2fEJvc4+JK5bIvgk/rqKTk3mQeOXU6Owscsdxy/feIcCBCtZLghO+jJk hvqOIfwwAqoZNqzygQVjf1LMDTXIgkLT/rMhbvgACClJRZ0yvV2jBtH447YM8YMVQbwSa7 YsVdi3TJPQj8FLGnBUINUrREfsPitWW3sxdKtZ4pc4OB20FFsRaL43degxbdny4fAAcrQC pEV06e1jOYrnEF6y5BLJvzmEuwrd+YO/s0qq5cbhnA/xyml3NYUq0LpC54piwA== 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 4YXqn44MRSzBwC; Wed, 15 Jan 2025 02:33:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50F2XiP0046546; Wed, 15 Jan 2025 02:33:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F2XiB3046543; Wed, 15 Jan 2025 02:33:44 GMT (envelope-from git) Date: Wed, 15 Jan 2025 02:33:44 GMT Message-Id: <202501150233.50F2XiB3046543@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: 94652c10c07a - stable/13 - makefs: Remove impossible if condition List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 94652c10c07abecb1d799145807cc0e01bad8b36 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=94652c10c07abecb1d799145807cc0e01bad8b36 commit 94652c10c07abecb1d799145807cc0e01bad8b36 Author: Ed Maste AuthorDate: 2024-12-24 01:58:37 +0000 Commit: Ed Maste CommitDate: 2025-01-15 02:33:30 +0000 makefs: Remove impossible if condition This test is inside the else block for `if (*oldname == '.')`, so *oldname cannot be '.' here. Reviewed by: kevans Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48243 (cherry picked from commit 788e1eb7c199297aa438fc5cb6caabc9be01b419) (cherry picked from commit 302be497fc0349979df05b700a7d27ffdac941f4) --- usr.sbin/makefs/cd9660.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/usr.sbin/makefs/cd9660.c b/usr.sbin/makefs/cd9660.c index 283879df16ae..6c917deaa6a0 100644 --- a/usr.sbin/makefs/cd9660.c +++ b/usr.sbin/makefs/cd9660.c @@ -1680,12 +1680,8 @@ cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, else if (isupper((unsigned char)*oldname) || isdigit((unsigned char)*oldname)) *newname++ = *oldname; - else if (diskStructure->allow_multidot && - *oldname == '.') { - *newname++ = '.'; - } else { + else *newname++ = '_'; - } if (found_ext) extlen++; From nobody Wed Jan 15 02:33: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 4YXqn629Wxz5kmSr; Wed, 15 Jan 2025 02:33: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 4YXqn56QQvz3fQ4; Wed, 15 Jan 2025 02:33:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736908425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IE4qZpRlLVt+oS9pSEqYTrwvmQ3bMiwGv2LIW6xQi50=; b=UkVqHoTPdMGwYyAVkWpLwjhHeNsYnqs/hCCIKnlhcgzMbSQUKbLGzqVtUHrvq9z75GOjuM nUacWdMEwM8/1JT6ZOnupHXwpLRxXtMWrSoEFJtEhAeSJzjNmOf9vWj1QvgOQRu3bZIE12 pAXLRhbIvLOJDUc8R7aW7rwmau89aocNb+IVrF5qlH2EYi7T0TP2c+H0qU5oNj4H47rmb6 m91UDoSUlGaTZy5uakE1G1xmwDvp/GIh+x7KtefYLpZBre0SbOAmaLNNZu+/xoJlIZyOCs yVwIHa+2IZ4mbI1zWIfPIWwwBHhpNnh7DjSIX16SjsUuPNr+PEi/mVLlRU9S1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736908425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IE4qZpRlLVt+oS9pSEqYTrwvmQ3bMiwGv2LIW6xQi50=; b=E3pyRC/OG4sok/Cz2ahrblGCByyhEqXPwxsyF22RRs76ryygdLIeAP6IPyg2IFY9oXKAT3 amN7QG9LVDQeXN6439zRfAee4n+70fim+0pcgaoqwY6Q02rHclwLxZLiVGcnki41IBaR5S JwBxhQv2HgACm3u6hCzS1LBKUxSAScb+EFe2jfuI3IXnvkksHqMdWj2TAgggM3nsvRM1cE cO2yuqu54Pf3XyRUBlnojQzownYlOMu36+ub0rdMwrOZC/8TbumGzMgTSbikoEov6lh6V1 jrJLS/9s+MmZy+1Jj3kVDl0++HV5717ETCQgEekdWy6AIL92qRePgqygkraO4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736908425; a=rsa-sha256; cv=none; b=pbHWaf2I1k/3gLXvHCoarJwRefyhacwNROMy6uenk9+7zAP06US88cnNy6jcWdgupQFc+I 8CS5QzCCLDKjhWjrXjEtQ/KfAjF2MlMls3dMq3W3QJ5XSrJuiBbEmNP5QQTCSPPSV0KiVn pbkmoVgHGgn254YijeRIYhj47YtwvHKyPwRgDEP6TI3TsqZ3gUQEn410cDkGNDzdgSIrLY s/v/SR6D/MKFFhrPOAFQlI7Zbav8GWdISz6N5oKggZ04VGrnO0wE1KpzaoVySZtQhgvGtN CUMQWtqCQ5VOmfZHrpXishyvgyHqq49cUCuCx1EDZDjCRcK0cVDuQwqdH5MQYw== 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 4YXqn55RDzzBwD; Wed, 15 Jan 2025 02:33: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 50F2Xje6046600; Wed, 15 Jan 2025 02:33:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F2Xjx5046597; Wed, 15 Jan 2025 02:33:45 GMT (envelope-from git) Date: Wed, 15 Jan 2025 02:33:45 GMT Message-Id: <202501150233.50F2Xjx5046597@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: 79778b7aafc8 - stable/13 - makefs: Fix cd9660 duplicate directory names List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 79778b7aafc829e6f67cbf0d50a51836e69dc784 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=79778b7aafc829e6f67cbf0d50a51836e69dc784 commit 79778b7aafc829e6f67cbf0d50a51836e69dc784 Author: Ed Maste AuthorDate: 2024-12-30 15:01:06 +0000 Commit: Ed Maste CommitDate: 2025-01-15 02:33:30 +0000 makefs: Fix cd9660 duplicate directory names Previously we could create cd9660 images with duplicate short (level 2) names. cd9660_level2_convert_filename used a 30-character limit (for files and directories), not including the '.' separator. cd9660_rename_filename used a 31-character limit, including the '.'. Directory names 31 characters or longer (without '.') were shortened to 30 characters, and if a collision occurred cd9660_rename_filename uniquified them starting with the 31st character. Unfortunately the directory record's name_len was already set, so the unique part of the name was stripped off. Directories are up to 31 d-characters (i.e., A-Z 0-9 and _); there is no provision for a '.' in a directory name. Increase the name length limit to 31 for directories, and exclude '.'s. This name mapping and deduplication code is still fragile and convoluted and would beenfit from a more holistic effort. PR: 283238, 283112 Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48251 (cherry picked from commit 1f31d437428014e864bcce1223cf7017180e2608) (cherry picked from commit 40b11c1c16d85b3339be4c3c4fde2ef7fa36f3ff) --- usr.sbin/makefs/cd9660.c | 5 ++-- usr.sbin/makefs/tests/makefs_cd9660_tests.sh | 39 ++++++++++++++++++++++++++-- usr.sbin/makefs/tests/makefs_tests_common.sh | 2 +- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/usr.sbin/makefs/cd9660.c b/usr.sbin/makefs/cd9660.c index 6c917deaa6a0..654285057378 100644 --- a/usr.sbin/makefs/cd9660.c +++ b/usr.sbin/makefs/cd9660.c @@ -1649,14 +1649,15 @@ cd9660_level2_convert_filename(iso9660_disk *diskStructure, const char *oldname, * File version number (5 characters, 1-32767) * 1 <= Sum of File name and File name extension <= 30 */ + int maxlen = is_file ? 30 : 31; int namelen = 0; int extlen = 0; int found_ext = 0; char *orignewname = newname; - while (*oldname != '\0' && namelen + extlen < 30) { + while (*oldname != '\0' && namelen + extlen < maxlen) { /* Handle period first, as it is special */ - if (*oldname == '.') { + if (*oldname == '.' && is_file) { if (found_ext) { if (diskStructure->allow_multidot) { *newname++ = '.'; diff --git a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh index 2fdf47f76a4c..066a9d6ec0e0 100644 --- a/usr.sbin/makefs/tests/makefs_cd9660_tests.sh +++ b/usr.sbin/makefs/tests/makefs_cd9660_tests.sh @@ -51,8 +51,8 @@ common_cleanup() check_base_iso9660_image_contents() { # Symlinks are treated like files when rockridge support isn't - # specified - check_image_contents "$@" -X c + # specified, and directories cannot contain a '.'. + check_image_contents "$@" -X c -X .g -X _g atf_check -e empty -o empty -s exit:0 test -L $TEST_INPUTS_DIR/c atf_check -e empty -o empty -s exit:0 test -f $TEST_MOUNT_DIR/c @@ -374,6 +374,39 @@ o_flag_rockridge_dev_nodes_cleanup() common_cleanup } +atf_test_case duplicate_names cleanup +duplicate_names_head() +{ + atf_set "descr" "Ensure shortened directory names are unique (PR283238)" +} +duplicate_names_body() +{ + check_cd9660_support + create_test_dirs + + # Create three directories which are identical in the first 31 characters. + dir_prefix="this_directory_name_is_31_chars" + mkdir -p $TEST_INPUTS_DIR/${dir_prefix}1 + mkdir -p $TEST_INPUTS_DIR/${dir_prefix}2 + mkdir -p $TEST_INPUTS_DIR/${dir_prefix}3 + + atf_check -e empty -o empty -s exit:0 \ + $MAKEFS -o rockridge $TEST_IMAGE $TEST_INPUTS_DIR + + # Disable Rock Ridge extensions to read the plain ISO Level 2 names. + mount_image -r + + # The specific way the short names are made unique is not important. + # We verify only that there are three unique names and that the unique + # part is at the end of the name. + atf_check_equal $(ls -1 $TEST_MOUNT_DIR | sort | uniq | wc -l) 3 + atf_check_equal $(ls -1 $TEST_MOUNT_DIR | cut -c -29 | sort | uniq | wc -l) 1 +} +duplicate_names_cleanup() +{ + common_cleanup +} + atf_init_test_cases() { atf_add_test_case D_flag @@ -392,4 +425,6 @@ atf_init_test_cases() atf_add_test_case o_flag_publisher atf_add_test_case o_flag_rockridge atf_add_test_case o_flag_rockridge_dev_nodes + + atf_add_test_case duplicate_names } diff --git a/usr.sbin/makefs/tests/makefs_tests_common.sh b/usr.sbin/makefs/tests/makefs_tests_common.sh index 12c7c7c84fb7..b418cafc90a6 100644 --- a/usr.sbin/makefs/tests/makefs_tests_common.sh +++ b/usr.sbin/makefs/tests/makefs_tests_common.sh @@ -138,6 +138,6 @@ mount_image() atf_check -e empty -o save:$TEST_MD_DEVICE_FILE -s exit:0 \ mdconfig -a -f $TEST_IMAGE atf_check -e empty -o empty -s exit:0 \ - $MOUNT /dev/$(cat $TEST_MD_DEVICE_FILE) $TEST_MOUNT_DIR + $MOUNT ${1} /dev/$(cat $TEST_MD_DEVICE_FILE) $TEST_MOUNT_DIR } From nobody Wed Jan 15 02:35:39 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YXqqH5hXJz5kmJC; Wed, 15 Jan 2025 02:35:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXqqH4D0tz3gxv; Wed, 15 Jan 2025 02:35:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736908539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iSGvd0G71uvEupleuYBeqnZQQLaJGk49CCEW2QnR+0I=; b=xNNmafMDrlQsIT/7a1Wi2uaw7sCDauyqLq1RfFhABAk1Xy3IBrZfuS/v+AU5Wd2ivRxySV HEAj78+tHSiV96HQJ4bA5N0dSBcJbGukzAlG2PK2nQ5KW21KC62dXxSWkXUt/3pjAZluk1 1DJeAvHLc63hkvDGjgSXQMgJ1Q6Hv7NgWWsixSqMgU2c83BFWeORq9rPE9ZSx+tMOImhpJ cRUgU3Nx0TtPs64HZyzXrXl1iTmys8RxrbqQ35IKsNLKjIwdMsOfY4DJ315qMMDZDJFlZq uo7hZIJUxVouuzmpU2vgelHzSCkipfDJJDkxt4aaqK3tEXZrJ0Kh+5EVDvZjQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736908539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iSGvd0G71uvEupleuYBeqnZQQLaJGk49CCEW2QnR+0I=; b=NkjLEdzPW8CV9qi0f6C5DdSDnOdpGbberD/E8e8oCC1x2HyWgt3llud0KaS2YFaDvHX8jJ a8m67IjhVzqkZp862Jts8VaVCf5arrgJKCXu1UVUPs+Q5z8DNhAmNolZIVMHRGiJT3KIBA trP7uPCz0ATk7HSiLIabAAuiu+H4uysKytH79bsgaB76vfPwAufLQVW0yStBcZVcozARg6 jCtigI1XKCV1UpOQbw0sAqXY4qnzAVwmI8qqvFr02dmv3SrYU/gwcwqC8DW7xPU5ai6lsK gi1kyWYnPzcCQsqnTrQfhi3/0uT+cXvuKKqCRvyt0+IDiyL9V2ilUb/qc9sjdA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736908539; a=rsa-sha256; cv=none; b=MfcDgSblE5ud9L9OSgr24OjvjTQOUFhdfs9JW4ZRS4cM7AKVA4MnoeEKDWbkV9/eW8gRE0 tr1Fa5/mqlKlqaLqQHTHzzbhYj/e/prYwXBdXHMf2rKjH6n4keZn5ioF64CRquSIfDzhHS nx0AiahgIjPgsHC0R656Yw6iTAyCiFTxfR1xfQzDMGVDUEHr8n8LZ3pW9K/Azq60++N5aM bHCTDj2oUmi+przLYf1ZJuCEtnrwFoJ6/99V4rnICf4+jRt9udjJjJIWsPvgCD6IFZeacL 2B8cmMkzAmzPWD27LzPcAc1uHlepkmqpfHTvHUSa76zkAU/tXSkU5Djqth54Bw== 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 4YXqqH3VppzCCN; Wed, 15 Jan 2025 02:35:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50F2Zdl1047354; Wed, 15 Jan 2025 02:35:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F2Zd1B047351; Wed, 15 Jan 2025 02:35:39 GMT (envelope-from git) Date: Wed, 15 Jan 2025 02:35:39 GMT Message-Id: <202501150235.50F2Zd1B047351@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: f81286d19230 - stable/13 - 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/13 X-Git-Reftype: branch X-Git-Commit: f81286d192304bba45697ec157c73a8e44ff57eb Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f81286d192304bba45697ec157c73a8e44ff57eb commit f81286d192304bba45697ec157c73a8e44ff57eb Author: Ed Maste AuthorDate: 2024-12-23 15:54:32 +0000 Commit: Ed Maste CommitDate: 2025-01-15 02:35:28 +0000 makefs: Exit with error if writing cd image fails Obtained from: OpenBSD c8f48d9b1ea9 Sponsored by: The FreeBSD Foundation (cherry picked from commit b45f84cc6213854ead00a4bfc7973332eda65676) (cherry picked from commit afb7a85e52c323aca544f0d235b67123bf87d342) --- 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 654285057378..17fab3a8cfdf 100644 --- a/usr.sbin/makefs/cd9660.c +++ b/usr.sbin/makefs/cd9660.c @@ -467,7 +467,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; @@ -613,7 +613,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); @@ -625,7 +625,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 Wed Jan 15 02:48:59 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YXr6g6HC9z5kmxB; Wed, 15 Jan 2025 02:48:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YXr6g5ZYGz3hQd; Wed, 15 Jan 2025 02:48:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736909339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4pVxIFIKx2Z3BVUbatJOU4q2mMYN5ovMQF3F40tctZk=; b=byqSaLi/nsIJib0+W/nJftcpBZ2KcajZHwLZ4HtsnzYfA9guYgXd81UmM0x0c443VkUmZE PTmrsDDpnxNvx3oDGlkxTIynOv91WRdWCtHOo+gpC6vbl0lKJMChXe3jrPoOKq1Le0/j4P NPX2q2m+4xtqmvivkVj6uP3PkDLNtONL9b5fUoOnFR+s2US7Hs/qDEnz3PsYDZVnoRkk4J GZAdZW3DSEH3UF7EBLNGiCg4lj85QJZ0td/xFtlgNTtgrOhZSVnXzLU0BzvlImIvYcFLeO c+FseMP/Qf2305wwfzQb8MKCNb175TRfcNen9HwYogAaVxBsSHN/d24EUsZeYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736909339; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4pVxIFIKx2Z3BVUbatJOU4q2mMYN5ovMQF3F40tctZk=; b=FDUgm+BQrx+araZuu58eVSFQn/WVMO8FsnqfuZiBSWV64Rlgdppd0JrZl/Awc9FY2maBaa Yctr/nUeZs22dlqTrvwCLygScgeKR9XtswlzkiAXfiVPjZgMTdfG/PxOuKkoFJW0qzmVXG sl77/s+mYv/MaMJQZ65Jv2uKOxO1DbqNVwuRagbD6QBSaSIHYhMyQBs/CfSEAX5HwZSSof UolFev8yjaDc2N8gvr8ML9U1IeUAmDRFtc6SMTw5k2AAZ5NR/GAYvqcf4L1iPn0jhnoU5K WL8y1FS/UvdRqIi3JG44HFd3P9WX1JHfPk/cSgbBVVA1aWKmWoTbsg0dTaGbOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736909339; a=rsa-sha256; cv=none; b=ELank1lhhXrp12YiIjdy/sh4MKOxqcv47Gp7sEv5N/mIYzk3Ws2C2LCDzmd9/HqIgJop51 iUU6Cr+y2IT4J7O0MUEiurEER14VNwt097xaslhSMBfK7r31lSD2psTmUw6zxJDY8K/qXi nPJqKv8yzCkzb1bhcNK5XjrHA9l7lwum9c787MnffO2Mf2lP3aQGF9G7nYz4xkGWMSKqEo Z/JBVYGwoikHt/+MI1RRvEQ7qvaHIm+IBW+GcovQ5k3JP0reUdWnpwHueoFeMLDWPHnVv3 8672FXAnIoyGwCYabpHwQz1hDNUh25rumdzyoLXw7gNXPOo7wgtt7MIUG4ua1g== 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 4YXr6g4tc7zCPV; Wed, 15 Jan 2025 02:48:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50F2mx6q067201; Wed, 15 Jan 2025 02:48:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F2mx1H067198; Wed, 15 Jan 2025 02:48:59 GMT (envelope-from git) Date: Wed, 15 Jan 2025 02:48:59 GMT Message-Id: <202501150248.50F2mx1H067198@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: ff911710de34 - stable/14 - isp: Fix abort issue introduced by previous commit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ff911710de34864cd748141b460c498e9217904d Auto-Submitted: auto-generated The branch stable/14 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=ff911710de34864cd748141b460c498e9217904d commit ff911710de34864cd748141b460c498e9217904d Author: Alexander Motin AuthorDate: 2025-01-08 18:23:26 +0000 Commit: Alexander Motin CommitDate: 2025-01-15 02:48:41 +0000 isp: Fix abort issue introduced by previous commit Aborting ATIO while its CTIOs are in progress makes impossible to handle their completions, making them stuck forever. Detect this case by checking ctcnt counter and if so instead of aborting just mark the ATIO as dead to block any new CTIOs. It is not perfect since the task id can not be reused for some more time, but not as bad as the task stuck forever. MFC after: 1 week (cherry picked from commit 2c48a8f161c91bf7020122697d064a25287097a3) --- sys/dev/isp/isp_freebsd.c | 19 +++++++++++++++++-- sys/dev/isp/isp_freebsd.h | 3 ++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c index d5aa7a54142e..b496eae1b466 100644 --- a/sys/dev/isp/isp_freebsd.c +++ b/sys/dev/isp/isp_freebsd.c @@ -986,6 +986,16 @@ isp_target_start_ctio(ispsoftc_t *isp, union ccb *ccb, enum Start_Ctio_How how) continue; } + /* + * Is this command a dead duck? + */ + if (atp->dead) { + isp_prt(isp, ISP_LOGERR, "%s: [0x%x] not sending a CTIO for a dead command", __func__, cso->tag_id); + ccb->ccb_h.status = CAM_REQ_ABORTED; + xpt_done(ccb); + continue; + } + /* * Check to make sure we're still in target mode. */ @@ -2503,14 +2513,19 @@ isp_action(struct cam_sim *sim, union ccb *ccb) } /* - * Target should abort all affected CCBs before ACK-ing INOT, + * Target should abort all affected tasks before ACK-ing INOT, * but if/since it doesn't, add this hack to allow tag reuse. + * We can not do it if some CTIOs are in progress, or we won't + * handle the completions. In such case just block new ones. */ uint32_t rsp = (ccb->ccb_h.flags & CAM_SEND_STATUS) ? ccb->cna2.arg : 0; if (ntp->nt.nt_ncode == NT_ABORT_TASK && (rsp & 0xff) == 0 && (atp = isp_find_atpd(isp, XS_CHANNEL(ccb), ccb->cna2.seq_id)) != NULL) { - if (isp_abort_atpd(isp, XS_CHANNEL(ccb), atp) == 0) + if (atp->ctcnt == 0 && + isp_abort_atpd(isp, XS_CHANNEL(ccb), atp) == 0) isp_put_atpd(isp, XS_CHANNEL(ccb), atp); + else + atp->dead = 1; } if (isp_handle_platform_target_notify_ack(isp, &ntp->nt, rsp)) { diff --git a/sys/dev/isp/isp_freebsd.h b/sys/dev/isp/isp_freebsd.h index 5bb3dd43b6de..73390fa14769 100644 --- a/sys/dev/isp/isp_freebsd.h +++ b/sys/dev/isp/isp_freebsd.h @@ -104,8 +104,9 @@ typedef struct atio_private_data { uint16_t ctcnt; /* number of CTIOs currently active */ uint8_t seqno; /* CTIO sequence number */ uint8_t cdb0; - uint8_t srr_notify_rcvd : 1, + uint16_t srr_notify_rcvd : 1, sendst : 1, + dead : 1, tattr : 3, state : 3; void * ests; From nobody Wed Jan 15 02:49:40 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 4YXr7S6yftz5knLp; Wed, 15 Jan 2025 02:49: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 4YXr7S4d8Sz3j3G; Wed, 15 Jan 2025 02:49:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736909380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JzA9U/RmKa//XSQfGU89PAbfX+ocD7zctnK1IxAEuTY=; b=lhOnIDFu4k3Md5evXe02wwzCZ/KTvacBfvSqgWcMOowBrOvDdbWIgoxtQ9oLxEpeHBb8Ib +NhhYO5H4AykiqoLYIyud3t6LPLxe682QleixXcIECw8tOc3CUwyT2Jj3+O03zIpBLKknv w1RGozFaqhWHEkd+VAAFp/HKzBHhEf3ePvzB3uAFZaMDw+4c5c/tjsCwX7qxovQFodJ800 krQqtLQRb6DcbUbU6/MLpIdh0k+MGDXGyp8Wlb5MfWEOdEFu04n6aF1wzE1tYNvQ3wyxzR kIOciScv9ybwIo3WUCR4JR+L0goqmpxLHc8SiR6QCnGKUuT93H9FfcMfxRjMGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736909380; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JzA9U/RmKa//XSQfGU89PAbfX+ocD7zctnK1IxAEuTY=; b=OEy3BiMXsZ03//6t3lJgpxySE6UWMZMc63P66baCf6w8CT7qOo4HR7p1j4d4qQtMzDzXnC 8UFhOdnVE7jUiJ0RJu1SrpCQKtaPpIyE3fsmB2gEPnZfMS9OsmPA4+gZjeh6glTGdhSJ4G jpEU+i4/uXgL/XfHrkcexlCFvlfGhrlWbQFrPXNpyzD3Vp3JPCifRRSxaY/uarQxVK+F5p 1gTE6miCcTQRU1P9mpp/qPgJZ4uznxh6dLBtQhua1p13IThi5qxLqqitKqEEWQokfeHffN J3m1oTnIydBef4JS7JQi0NX7eylJiQSayxv0MtXa2N841aDJuz7T9NwvYHIGMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736909380; a=rsa-sha256; cv=none; b=HNoQciSAZHmfaKb9UfZu+gjjs2yZgk7JcMEQ2jb6fCMts17uWgIa6GFVDawJ43Nc63cscE RHSaSK1PK++JaOUCYZjrlzGX2iXjJn29KObUEwlIBOqdMx7SCdD/ELY6Gdt53v21qZhBiY sLyOAMAtcRSVziWr8jMPsJKXFmAFj3fNNR+FN4AfgmUWCoyfUG59MJ2j6TcG4U8uVSVZcA te1KLMmvXBwIi7iJVDYt+/jRdPbZe+y3eOi64KvVDLZfy2XekE3ZYaXiaVjYgiif8IEprQ MhwrZy/+cc/xoW1ChA76Hlcxe6q+QTdwcSmdXRYszpYIm6U+EKnXPrpFhSlMbQ== 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 4YXr7S3tqRzBS8; Wed, 15 Jan 2025 02:49: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 50F2neOi067581; Wed, 15 Jan 2025 02:49:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F2ne0v067578; Wed, 15 Jan 2025 02:49:40 GMT (envelope-from git) Date: Wed, 15 Jan 2025 02:49:40 GMT Message-Id: <202501150249.50F2ne0v067578@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Alexander Motin Subject: git: 519121f5ea03 - stable/13 - isp: Fix abort issue introduced by previous commit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 519121f5ea03c93da8f0600555c138df4a1c5e0a Auto-Submitted: auto-generated The branch stable/13 has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=519121f5ea03c93da8f0600555c138df4a1c5e0a commit 519121f5ea03c93da8f0600555c138df4a1c5e0a Author: Alexander Motin AuthorDate: 2025-01-08 18:23:26 +0000 Commit: Alexander Motin CommitDate: 2025-01-15 02:49:23 +0000 isp: Fix abort issue introduced by previous commit Aborting ATIO while its CTIOs are in progress makes impossible to handle their completions, making them stuck forever. Detect this case by checking ctcnt counter and if so instead of aborting just mark the ATIO as dead to block any new CTIOs. It is not perfect since the task id can not be reused for some more time, but not as bad as the task stuck forever. MFC after: 1 week (cherry picked from commit 2c48a8f161c91bf7020122697d064a25287097a3) --- sys/dev/isp/isp_freebsd.c | 19 +++++++++++++++++-- sys/dev/isp/isp_freebsd.h | 3 ++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/sys/dev/isp/isp_freebsd.c b/sys/dev/isp/isp_freebsd.c index d5aa7a54142e..b496eae1b466 100644 --- a/sys/dev/isp/isp_freebsd.c +++ b/sys/dev/isp/isp_freebsd.c @@ -986,6 +986,16 @@ isp_target_start_ctio(ispsoftc_t *isp, union ccb *ccb, enum Start_Ctio_How how) continue; } + /* + * Is this command a dead duck? + */ + if (atp->dead) { + isp_prt(isp, ISP_LOGERR, "%s: [0x%x] not sending a CTIO for a dead command", __func__, cso->tag_id); + ccb->ccb_h.status = CAM_REQ_ABORTED; + xpt_done(ccb); + continue; + } + /* * Check to make sure we're still in target mode. */ @@ -2503,14 +2513,19 @@ isp_action(struct cam_sim *sim, union ccb *ccb) } /* - * Target should abort all affected CCBs before ACK-ing INOT, + * Target should abort all affected tasks before ACK-ing INOT, * but if/since it doesn't, add this hack to allow tag reuse. + * We can not do it if some CTIOs are in progress, or we won't + * handle the completions. In such case just block new ones. */ uint32_t rsp = (ccb->ccb_h.flags & CAM_SEND_STATUS) ? ccb->cna2.arg : 0; if (ntp->nt.nt_ncode == NT_ABORT_TASK && (rsp & 0xff) == 0 && (atp = isp_find_atpd(isp, XS_CHANNEL(ccb), ccb->cna2.seq_id)) != NULL) { - if (isp_abort_atpd(isp, XS_CHANNEL(ccb), atp) == 0) + if (atp->ctcnt == 0 && + isp_abort_atpd(isp, XS_CHANNEL(ccb), atp) == 0) isp_put_atpd(isp, XS_CHANNEL(ccb), atp); + else + atp->dead = 1; } if (isp_handle_platform_target_notify_ack(isp, &ntp->nt, rsp)) { diff --git a/sys/dev/isp/isp_freebsd.h b/sys/dev/isp/isp_freebsd.h index 5bb3dd43b6de..73390fa14769 100644 --- a/sys/dev/isp/isp_freebsd.h +++ b/sys/dev/isp/isp_freebsd.h @@ -104,8 +104,9 @@ typedef struct atio_private_data { uint16_t ctcnt; /* number of CTIOs currently active */ uint8_t seqno; /* CTIO sequence number */ uint8_t cdb0; - uint8_t srr_notify_rcvd : 1, + uint16_t srr_notify_rcvd : 1, sendst : 1, + dead : 1, tattr : 3, state : 3; void * ests; From nobody Wed Jan 15 09:51:34 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 4YY1VG3tntz5lC6D; Wed, 15 Jan 2025 09:51:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YY1VG3Pgqz3H3g; Wed, 15 Jan 2025 09:51:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736934694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4EzwbhAPrBwXeM2q1gtK2+TJDiDAcu9jtvSyH/WPm1o=; b=IZ+v2rUr4tHysKJHH9kD/ZeH3N559Ho1ln8hF2JmmMYCkaoNhK2OUvuey3Ua/NSimuE27A ZrH0ylKPXw0+aFqoRl+NkTQwSTULPG0CFchjT5ZYiRWtjhP9O86gzRhwDt0KoMTh8vH72G uIpbU+A04ynV5U18kkv8TdC8p1L09z4nwOG6xkD0zGurDqX3MF/fv2RWcjH8F4eMGlfHhh ujnoqeEeFu+WzxS88t8qyrVjqxJUcE81vzn5D8WEQBn8GkaS3mQeEWQLutbNZCOzgnClBF v6n0ur6ozUiyIT9IcdyJNKkMkskDHmkQJdWgjyxWYPlOZ6RW5gHdFHSoYUICzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736934694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4EzwbhAPrBwXeM2q1gtK2+TJDiDAcu9jtvSyH/WPm1o=; b=tMR9k/NvoPOEjdLfdhwruo3id2b+X+fEWmhfKfh2shqjxBqUSurIR8HU8jnNZqUKnVCkQf NF9D7CoiUo/G02F0h6PMGsEbxRlJJ3JNB5um+0VrhvhdyhnBG9qRC010JywWLI+d+vyx5v kaaBO7WGaJUUD8RTBrM31spbdDt1VtseeH1330uqJt0s0evegTzxcGkZyp3f5R1Lqcgewx lildCpmdj+wqXI3+on7wlKcr96hTlkzrNC6AvOlpf+NfCK4vHoFqV2lcKPW1gVCWBriKTV wzQBYQ0vNVBuoSbaUGofERhNpvuKkXO9ENsYGKbMfZmqSSkqR5fZo3AXYstKXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736934694; a=rsa-sha256; cv=none; b=f5NxbOAPuAcGU07uJb1ODK/i2nyP/y3Q6m1imW6PvSGarOz0ebpZO4RUYioZeeGTa+eZv0 i4blpgZdYucEuJKhUr9TiNU8gRsjsSJONHfbB11hz5skYrdPp5NNrpAYo9chdlYJG6oxKg Wlau78uXU+NUCHfDFhCFjZpzHDp54hhxuKtjy5+j1yuFwZWRPmH7mCuz3wG0qdNZ+EIVVK 3znZLhnjAXv9MBtuI/yKNlwm/MiVvhiLTWjmRkGRfX90XGV04GM7VQA/5B0McF5s9Fcrz2 1KbJ3crTlvo68cig5AHrSG3W7/xqDBv3GhFuu8d86KF5bVKcTl306uxWWhvmcA== 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 4YY1VG2zdqzhlf; Wed, 15 Jan 2025 09:51:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50F9pY5k065424; Wed, 15 Jan 2025 09:51:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F9pYFr065421; Wed, 15 Jan 2025 09:51:34 GMT (envelope-from git) Date: Wed, 15 Jan 2025 09:51:34 GMT Message-Id: <202501150951.50F9pYFr065421@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 707a34afe16b - stable/14 - nuageinit: remove redundant mkdirs 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 707a34afe16bffa0f9ab1ae936faa5c3ee7f47c4 Auto-Submitted: auto-generated The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=707a34afe16bffa0f9ab1ae936faa5c3ee7f47c4 commit 707a34afe16bffa0f9ab1ae936faa5c3ee7f47c4 Author: Baptiste Daroussin AuthorDate: 2024-11-27 09:03:06 +0000 Commit: Baptiste Daroussin CommitDate: 2025-01-15 09:51:27 +0000 nuageinit: remove redundant mkdirs (cherry picked from commit f3b371f4d938c09c4cdc8fd95b4b52e1d8dd41dd) --- libexec/nuageinit/nuageinit | 2 -- 1 file changed, 2 deletions(-) diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 5249c09eb5f1..88e8b6c4c2cd 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -95,7 +95,6 @@ local function config2_network(p) mylinks[v["id"]] = ifaces[s] end - nuage.mkdir_p(root .. "/etc/rc.conf.d") local network = open_config("network") local routing = open_config("routing") local ipv6 = {} @@ -308,7 +307,6 @@ if line == "#cloud-config" then end if obj.network then local ifaces = get_ifaces() - nuage.mkdir_p(root .. "/etc/rc.conf.d") local network = open_config("network") local routing = open_config("routing") local ipv6 = {} From nobody Wed Jan 15 09:53:50 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 4YY1Xv18yLz5lBrK; Wed, 15 Jan 2025 09:53:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YY1Xv0JlKz3HSd; Wed, 15 Jan 2025 09:53:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736934831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gsZoi9o4ep2UJUPkHrP4FlRcSTvoq/KDfmxvyTUp0aw=; b=qAEtKX1bxx+iFn+Hy1dMsCBPfMZWkpFJspaFsvn5TuOkgrsyHtWEBbmbGLZdJg7zd92kb6 N8JQvZQLr9JYdI3IL8Y2s7WC93KoJUzswydZfidGoPiiviytVLnGaM04iKFFrHU/c5GLY2 JvfxPGSm11A6L8oO5n/MKO5KAKcG8yK4oh9tx8xgH2KgKVScoLX861cbKUf67aOYuJ49fG /rxPhgXwj1l6glY+3K5bb80vXqgA0ir4tB137kDi9TfPC8ETJiW3QHe/sr86cXXkPy8jgz dZXkqyDtfq7rkZIHApbK01FQb+bieUgikGOmmx7SEpPvIdO/meU0AQD+RtD70A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736934831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gsZoi9o4ep2UJUPkHrP4FlRcSTvoq/KDfmxvyTUp0aw=; b=t85aZSuPmAXFg2JdROr5nq0MjiUCXJbyj8dJZCQpSQu1ctZ9gOtbi7ip3rGNo9iVB4a8QS UdvPv2T83QrNBBS+GfsSenmeR3j4uKhZw9KhF8wDePpMqq4b3MaBaLfDNUfXvRhPCDeYOP LetJsJe7IoC0QiqFqrdOmn6L0v7775q3JnbNrd3k5d9Z29dLiicFr0VdCAvmuurdEoQwzW FexngD7xe9J9C1jgvLgTIIg1louW+jSBfI0HtPLBbp9zWRQs1vxC5YYquHRdWZv/uTA5LK GoA3RpChkmdcRe1Elsg32oyeW9GPQAhOzyWP0Vpv3wZikBZEEGaLBNZdXMmn5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736934831; a=rsa-sha256; cv=none; b=vcfFKByUGYNqkzyEAl2irvhtSuumnOlR3eBi6F/YfpYBBUmdjy05YB2YAUQ8RdfHl1kj+u Y5EbRxgh0phhpb7hZtlJjI1Ol+7t1Pt0WZOLjHDfFPm4MPuAaFmwLp6Vt5bPV9YW5cQEBs qB4x9x8GXRIdmtnR0LSdLtjdHCnrDa5yd9RH7ti3qhwylYoQ3HX7znLHspIgR8a3h3+Jpd j/YrCX+itZDVzD3cndTwgcs5KadxXew50BWXgBkbVYQi84T2sZd1lVQIqXnisuFxrym163 v624+C1bwIV0TAhTrG7vwOfoFB28zMbMotBbCL3v5AzpcclwQKQXRmO8ZeRSmw== 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 4YY1Xt6mR1zhq8; Wed, 15 Jan 2025 09:53:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50F9ro3A070724; Wed, 15 Jan 2025 09:53:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F9roQc070721; Wed, 15 Jan 2025 09:53:50 GMT (envelope-from git) Date: Wed, 15 Jan 2025 09:53:50 GMT Message-Id: <202501150953.50F9roQc070721@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 68f025feeb11 - stable/14 - nuageinit: use io.popen instead of pipes in shell for password 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 68f025feeb11e05382e9a9feb5105b23ffe7c30c Auto-Submitted: auto-generated The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=68f025feeb11e05382e9a9feb5105b23ffe7c30c commit 68f025feeb11e05382e9a9feb5105b23ffe7c30c Author: Baptiste Daroussin AuthorDate: 2024-11-20 09:39:50 +0000 Commit: Baptiste Daroussin CommitDate: 2025-01-15 09:53:39 +0000 nuageinit: use io.popen instead of pipes in shell for password using echo in a sh(1) command line, requires many escaping to be done right, using io.popen we don't need to do this escaping anymore. (cherry picked from commit 3e502866073f8d922eecb9016920a56b90c35e38) --- libexec/nuageinit/nuage.lua | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 4e21405a443b..978de02a63fc 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -119,11 +119,12 @@ local function adduser(pwd) end local precmd = "" local postcmd = "" + local input = nil if pwd.passwd then - precmd = "echo '" .. pwd.passwd .. "' | " + input = pwd.passwd postcmd = " -H 0" elseif pwd.plain_text_passwd then - precmd = "echo '" .. pwd.plain_text_passwd .. "' | " + input = pwd.plain_text_passwd postcmd = " -h 0" end cmd = precmd .. "pw " @@ -134,7 +135,11 @@ local function adduser(pwd) cmd = cmd .. extraargs .. " -c '" .. pwd.gecos cmd = cmd .. "' -d '" .. pwd.homedir .. "' -s " .. pwd.shell .. postcmd - local r = os.execute(cmd) + local f = io.popen(cmd, "w") + if input then + f:write(input) + end + local r = f:close(cmd) if not r then warnmsg("fail to add user " .. pwd.name) warnmsg(cmd) From nobody Wed Jan 15 09:55:07 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YY1ZM5PXlz5lBrV; Wed, 15 Jan 2025 09:55:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YY1ZM4hvFz3Hlc; Wed, 15 Jan 2025 09:55:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736934907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7u2kXTHsmvorHbH8lPBGyQ6JM1U2zITdK/kOeNNsdiU=; b=RwNA/C7cyQ707ye9DrBivpV8TWyWArghf7EzQRL7TcyS/sfR1iAB3sye4GwPhFs9Wy5d28 XTC13Y+v4iTfuWgLyW3gm1GLSQ++6czZwZSD17ypOLMFHl1UYR/cqpbpjA0m8ECGFDkxhk FScEXR0s47VrSdXkklF8Zc2lcNwRmh698r64t1NJy0RBPkCal/zHF1v+EkWX63MMG3j3RM /gX/pM77vU2mTwU7b8IgwgW3jKUsQtfHwYD1Bpl0MH8Zi+pcE8u192seJwE6AiauNSvikw yASNrP/Gh34P6/Fivjr8oGKpI82OcnRDA3iJO5lWoRlKiTFzOJm91w0fwFbAnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736934907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7u2kXTHsmvorHbH8lPBGyQ6JM1U2zITdK/kOeNNsdiU=; b=c8bHz9IYS/IJRcMZ03vRxyc+5gWszMrI5gXEm+gZVMz3nYgJVaq/U+uBl2AvJyXpAmfL0m O0v41VmfJuznzxuLbOngy+UoncjtyMxDLaD+3os4MRlF14qjV9hw+4Ztw/DClc6dy6vTkk cFzgnm//yjZrBWX2fxJ9WvVqMODcoWNzC4uwGncvePWbgzkEjdKQr3GAkLvOaY/cE4afI9 MNUxRHILaRaMZBXJklnhA0C+PRuzveDHlHkfaI3RneyyPKleZS4R8ZrBdljtB70yizCi8S q0To+dRBKs3PEPKqJ2tPJj7jstGpL5vVi6/WCoOGaUf54MQ/Y79PElf9gJqJOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736934907; a=rsa-sha256; cv=none; b=jV4Q1tMSVZgFAs/NOTPpEeIUy9GSUPkvdJI9e7w0uJvzpXN8CIfIzYbpzi8l2C4AhxcmGU 5NOTPpSIQP2DirddxRJRVxaTCnKXEFKlBZFaA8B/EpwT6kWhalLxao6bJU2dmyv/7PKEzs CiTc6f5esuUtvuGjb27vpA89nUAjkngxsdAeiFQdwXml/nAJRzL5cI9pzMMK7gdJ4JLZs6 AIc2nYX4kixigT45EXVfbv0EOHzWD+K+Vj4d4+PTvaCxGOSrS+I9RuXviQOkoDb+PEq0a+ 0TSeBL0VdDTYTtpash2Nw6ulQf8HNVcZDRsni9gtiBeOpoIae1ol7/VKYEs9hQ== 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 4YY1ZM448Czhlw; Wed, 15 Jan 2025 09:55:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50F9t7MV071243; Wed, 15 Jan 2025 09:55:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F9t7s2071240; Wed, 15 Jan 2025 09:55:07 GMT (envelope-from git) Date: Wed, 15 Jan 2025 09:55:07 GMT Message-Id: <202501150955.50F9t7s2071240@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 88f55c3150e9 - stable/14 - nvi: import version 2.2.1-52c07e8 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 88f55c3150e94285197623b6d9608f966e7efa12 Auto-Submitted: auto-generated The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=88f55c3150e94285197623b6d9608f966e7efa12 commit 88f55c3150e94285197623b6d9608f966e7efa12 Author: Baptiste Daroussin AuthorDate: 2025-01-02 08:56:55 +0000 Commit: Baptiste Daroussin CommitDate: 2025-01-15 09:55:01 +0000 nvi: import version 2.2.1-52c07e8 (cherry picked from commit 4087ffdbce725367566bc3fc60a959292daac99d) --- contrib/nvi/CMakeLists.txt | 1 - contrib/nvi/common/common.h | 1 + contrib/nvi/common/log.c | 1 - contrib/nvi/common/options.c | 4 +++- contrib/nvi/man/vi.1 | 51 ++++++++++++++++++++++++-------------------- contrib/nvi/vi/vs_refresh.c | 15 +++++++++---- usr.bin/vi/options_def.h | 51 ++++++++++++++++++++++---------------------- 7 files changed, 69 insertions(+), 55 deletions(-) diff --git a/contrib/nvi/CMakeLists.txt b/contrib/nvi/CMakeLists.txt index 0c935b3c2a19..9451eaa89799 100644 --- a/contrib/nvi/CMakeLists.txt +++ b/contrib/nvi/CMakeLists.txt @@ -37,7 +37,6 @@ if (NOT APPLE) endif() add_compile_options($<$:-Wuninitialized>) add_compile_options($<$:-Wno-dangling-else>) -add_compile_options(-Wno-string-compare) add_compile_options(-Wstack-protector -fstack-protector) add_compile_options(-Wstrict-aliasing -fstrict-aliasing) diff --git a/contrib/nvi/common/common.h b/contrib/nvi/common/common.h index 45f22fb49d1b..fd97a4655cf5 100644 --- a/contrib/nvi/common/common.h +++ b/contrib/nvi/common/common.h @@ -17,6 +17,7 @@ #include #endif #include /* May refer to the bundled regex. */ +#include /* * Forward structure declarations. Not pretty, but the include files diff --git a/contrib/nvi/common/log.c b/contrib/nvi/common/log.c index d1a1bc6f704a..7aad94d7e74a 100644 --- a/contrib/nvi/common/log.c +++ b/contrib/nvi/common/log.c @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include diff --git a/contrib/nvi/common/options.c b/contrib/nvi/common/options.c index c3d1f7343f9a..87d5c5a88521 100644 --- a/contrib/nvi/common/options.c +++ b/contrib/nvi/common/options.c @@ -181,6 +181,8 @@ OPTLIST const optlist[] = { {L("shellmeta"), NULL, OPT_STR, 0}, /* O_SHIFTWIDTH 4BSD */ {L("shiftwidth"), NULL, OPT_NUM, OPT_NOZERO}, +/* O_SHOWFILENAME */ + {L("showfilename"), NULL, OPT_0BOOL, 0}, /* O_SHOWMATCH 4BSD */ {L("showmatch"), NULL, OPT_0BOOL, 0}, /* O_SHOWMODE 4.4BSD */ @@ -317,7 +319,7 @@ opts_init(SCR *sp, int *oargs) /* Set numeric and string default values. */ #define OI(indx, str) do { \ a.len = STRLEN(str); \ - if ((CHAR_T*)str != b2) /* GCC puts strings in text-space. */ \ + if (STRCMP((CHAR_T*)str, b2) != 0) \ (void)MEMCPY(b2, str, a.len+1); \ if (opts_set(sp, argv, NULL)) { \ optindx = indx; \ diff --git a/contrib/nvi/man/vi.1 b/contrib/nvi/man/vi.1 index f1893040ceb7..596657319eee 100644 --- a/contrib/nvi/man/vi.1 +++ b/contrib/nvi/man/vi.1 @@ -12,11 +12,13 @@ .\" that you would have purchased it, or if any company wishes to .\" redistribute it, contributions to the authors would be appreciated. .\" -.Dd September 25, 2020 +.Dd April 18, 2024 .Dt VI 1 .Os .Sh NAME -.Nm ex , vi , view +.Nm ex , +.Nm vi , +.Nm view .Nd text editors .Sh SYNOPSIS .Nm ex @@ -302,7 +304,7 @@ Quit editing and leave (if you've modified the file, but not saved your changes, .Nm vi will refuse to quit). -.It Cm :q! +.It Cm :q\&! Quit, discarding any modifications that you may have made. .El .Pp @@ -706,7 +708,7 @@ Execute the .Nm ex command being entered, or cancel it if it is only partial. .Pp -.It Aq Cm control-] +.It Aq Cm control-\(rB Push a tag reference onto the tag stack. .Pp .It Aq Cm control-\(ha @@ -830,7 +832,7 @@ or to the position of the cursor before the last of the following commands: .Aq Cm control-A , .Aq Cm control-T , -.Aq Cm control-] , +.Aq Cm control-\(rB , .Cm % , .Cm \(aq , .Cm \` , @@ -1809,8 +1811,8 @@ Display buffers, Cscope connections, screens or tags. .Op Ar +cmd .Op Ar file .Xc -Edit a different file. The capitalized command opens a new screen below the -current screen. +Edit a different file. +The capitalized command opens a new screen below the current screen. .Pp .It Xo .Cm exu Ns Op Cm sage @@ -1833,8 +1835,8 @@ Display and optionally change the file name. .Xc .Nm vi mode only. -Foreground the specified screen. The capitalized command opens a new screen -below the current screen. +Foreground the specified screen. +The capitalized command opens a new screen below the current screen. .Pp .It Xo .Op Ar range @@ -1921,8 +1923,8 @@ Write the abbreviations, editor options and maps to the specified .Op Cm !\& .Op Ar .Xc -Edit the next file from the argument list. The capitalized command opens a -new screen below the current screen. +Edit the next file from the argument list. +The capitalized command opens a new screen below the current screen. .\" .Pp .\" .It Xo .\" .Op Ar line @@ -1943,8 +1945,8 @@ option. .Cm rev Ns Op Cm ious Ns .Op Cm !\& .Xc -Edit the previous file from the argument list. The capitalized command opens -a new screen below the current screen. +Edit the previous file from the argument list. +The capitalized command opens a new screen below the current screen. .Pp .It Xo .Op Ar range @@ -2107,8 +2109,8 @@ character is usually .Op Cm !\& .Ar tagstring .Xc -Edit the file containing the specified tag. The capitalized command opens a -new screen below the current screen. +Edit the file containing the specified tag. +The capitalized command opens a new screen below the current screen. .Pp .It Xo .Cm tagn Ns Op Cm ext Ns @@ -2178,8 +2180,8 @@ Enter .Op Ar file .Xc .Nm vi -mode only. Edit a different file by opening a new screen below the current -screen. +mode only. +Edit a different file by opening a new screen below the current screen. .Pp .It Xo .Cm viu Ns Op Cm sage @@ -2226,7 +2228,8 @@ Write the entire file, or .Sq !\& overwrites a different, preexisting file. .Sq >> -appends to a file that may preexist. Whitespace followed by +appends to a file that may preexist. +Whitespace followed by .Sq !\& pipes the file to .Ar shell-command . @@ -2479,7 +2482,7 @@ Set the number of lines about which the editor reports changes or yanks. .It Cm ruler Bq off .Nm vi only. -Display a row/column ruler on the colon command line. +Display a row/column/percentage ruler on the colon command line. .It Cm scroll , scr Bq "window size / 2" Set the number of lines scrolled. .It Cm searchincr Bq off @@ -2505,6 +2508,10 @@ Set the meta characters checked to determine if file name expansion is necessary. .It Cm shiftwidth , sw Bq 8 Set the autoindent and shift command indentation width. +.It Cm showfilename Bq off +.Nm vi +only. +Display the file name on the colon command line. .It Cm showmatch , sm Bq off .Nm vi only. @@ -2773,10 +2780,8 @@ and \*(Gt0 if an error occurs. .Xr ctags 1 , .Xr iconv 1 , .Xr re_format 7 -.Rs -.%T vi/ex reference manual -.%U https://docs.freebsd.org/44doc/usd/13.viref/paper.pdf -.Re +.Pp +.Lk https://docs.freebsd.org/44doc/usd/13.viref/paper.pdf "Vi/Ex Reference Manual" .Sh STANDARDS .Nm nex Ns / Ns Nm nvi is close to diff --git a/contrib/nvi/vi/vs_refresh.c b/contrib/nvi/vi/vs_refresh.c index b64ec7392cbb..406a89ad7d9d 100644 --- a/contrib/nvi/vi/vs_refresh.c +++ b/contrib/nvi/vi/vs_refresh.c @@ -774,7 +774,8 @@ vs_modeline(SCR *sp) size_t cols, curcol, curlen, endpoint, len, midpoint; const char *t = NULL; int ellipsis; - char buf[20]; + char buf[30]; + recno_t last; gp = sp->gp; @@ -795,7 +796,7 @@ vs_modeline(SCR *sp) /* If more than one screen in the display, show the file name. */ curlen = 0; - if (IS_SPLIT(sp)) { + if (IS_SPLIT(sp) || O_ISSET(sp, O_SHOWFILENAME)) { CHAR_T *wp, *p; size_t l; @@ -846,8 +847,14 @@ vs_modeline(SCR *sp) cols = sp->cols - 1; if (O_ISSET(sp, O_RULER)) { vs_column(sp, &curcol); - len = snprintf(buf, sizeof(buf), "%lu,%lu", - (u_long)sp->lno, (u_long)(curcol + 1)); + + if (db_last(sp, &last) || last == 0) + len = snprintf(buf, sizeof(buf), "%lu,%zu", + (u_long)sp->lno, curcol + 1); + else + len = snprintf(buf, sizeof(buf), "%lu,%zu %lu%%", + (u_long)sp->lno, curcol + 1, + (u_long)(sp->lno * 100) / last); midpoint = (cols - ((len + 1) / 2)) / 2; if (curlen < midpoint) { diff --git a/usr.bin/vi/options_def.h b/usr.bin/vi/options_def.h index cd6f5ba3eb26..15104845c380 100644 --- a/usr.bin/vi/options_def.h +++ b/usr.bin/vi/options_def.h @@ -58,28 +58,29 @@ #define O_SHELL 57 #define O_SHELLMETA 58 #define O_SHIFTWIDTH 59 -#define O_SHOWMATCH 60 -#define O_SHOWMODE 61 -#define O_SIDESCROLL 62 -#define O_SLOWOPEN 63 -#define O_SOURCEANY 64 -#define O_TABSTOP 65 -#define O_TAGLENGTH 66 -#define O_TAGS 67 -#define O_TERM 68 -#define O_TERSE 69 -#define O_TILDEOP 70 -#define O_TIMEOUT 71 -#define O_TTYWERASE 72 -#define O_VERBOSE 73 -#define O_W1200 74 -#define O_W300 75 -#define O_W9600 76 -#define O_WARN 77 -#define O_WINDOW 78 -#define O_WINDOWNAME 79 -#define O_WRAPLEN 80 -#define O_WRAPMARGIN 81 -#define O_WRAPSCAN 82 -#define O_WRITEANY 83 -#define O_OPTIONCOUNT 84 +#define O_SHOWFILENAME 60 +#define O_SHOWMATCH 61 +#define O_SHOWMODE 62 +#define O_SIDESCROLL 63 +#define O_SLOWOPEN 64 +#define O_SOURCEANY 65 +#define O_TABSTOP 66 +#define O_TAGLENGTH 67 +#define O_TAGS 68 +#define O_TERM 69 +#define O_TERSE 70 +#define O_TILDEOP 71 +#define O_TIMEOUT 72 +#define O_TTYWERASE 73 +#define O_VERBOSE 74 +#define O_W1200 75 +#define O_W300 76 +#define O_W9600 77 +#define O_WARN 78 +#define O_WINDOW 79 +#define O_WINDOWNAME 80 +#define O_WRAPLEN 81 +#define O_WRAPMARGIN 82 +#define O_WRAPSCAN 83 +#define O_WRITEANY 84 +#define O_OPTIONCOUNT 85 From nobody Wed Jan 15 09:55: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 4YY1bG1yLqz5lBby; Wed, 15 Jan 2025 09:55: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 4YY1bG1MVXz3Hs2; Wed, 15 Jan 2025 09:55:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736934954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yVW8ckYWt0ERJQTxA5xJSB5iFIjahs9E2I51ujLerAo=; b=HUr7/1HUv6stXs3I804SGbSDo5WExaW4NJOkegkB1XkbRZKNzPArhckiCQxhtODGVO+aRr fn9q/vtBYkDP0aoAcNC3qQB4koAJW+C07ll74+qVIr72RKYKNA9Hn6180B9Ll+3moOzEiC F3YQmXRH/MA0IkrcFvabk3T4xsbRNdMXwySo2h9gKGKHr30+Yok/9pWdc2twb7FTKFlgMa di/3Df2c42PZbguamZvoL+H2BTlp+iZfoiKjI4tdYvU1D3/ZFwwFg49UkhLcbWIReO73o1 Eibtlqnp+IwReYA7hGbwsBjzdYHiN11ck12cMvHcOpEAcy9i7fum9zmghtVLSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736934954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yVW8ckYWt0ERJQTxA5xJSB5iFIjahs9E2I51ujLerAo=; b=r2IRNNelWPVa09WdGphVes3/DBqYVv2JptsZjiqk88Dv8CFtjW+CDFxBcMV7aRORPDTG6R jwRV9OJueghFyP038p9iGEB9CsHGDdufJZLfidKS4XCXK35oe5SGUef0Ui9lPFji5AG3MH 0jfYhzi3YtvDi5Ppco77oga4tvhZnzawRLqs9XZmTgjxGv9Ym8vrjoKbOTPnloSZq75Oln iQ7kbDqwNe+Uzj75C8xuAvbf6d8hcIKZOwCnoBByuqhoEMbRyx6PYUw7EB/mkPBu+V7o+C uS07GFY1otE3zgjWu2T03+Hu2eaOwNdwLk3GeDxwjbS3FaFOVwCv3wO8uus36A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736934954; a=rsa-sha256; cv=none; b=cuaMtxaaUAYJnZoSH1GKUEDrcwsUnv/TASAItUQKzF4wEX1T2xxK/yelydR6uhNJh8tM7n fi9EJpJrzWz4in2T0Q9/nA4gpnKpAqMUIY4hmM2W6lVclLweDQlWJXbVEt93XYeVairrdr +XrTwK2m2fkTKab4sbdo3+hz+qBBbKGT9dCUhweMNk6BY5GEBgiQZ8tXj9kJg0eUVLiIIf AzPjEQ9TvyuPJFzIXL9B0hgt1wWuRKrn4MgaaDT/HFnnxYNu4HvYsM+BJG8BOnrnpzdSY3 afhjxZVeSg9AkZbvhOsU0f/GeviUMXpCuMTcdFCq6rOKN7d5dUwolFZOEcvnBQ== 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 4YY1bG0lF9zhR7; Wed, 15 Jan 2025 09:55: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 50F9tsOr071601; Wed, 15 Jan 2025 09:55:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F9trnS071598; Wed, 15 Jan 2025 09:55:53 GMT (envelope-from git) Date: Wed, 15 Jan 2025 09:55:53 GMT Message-Id: <202501150955.50F9trnS071598@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 73121d8c7d0f - stable/14 - usb_vendors: update to 2024.12.04 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 73121d8c7d0f312379f9a18e11a6cc8f61a77361 Auto-Submitted: auto-generated The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=73121d8c7d0f312379f9a18e11a6cc8f61a77361 commit 73121d8c7d0f312379f9a18e11a6cc8f61a77361 Author: Baptiste Daroussin AuthorDate: 2025-01-09 09:47:22 +0000 Commit: Baptiste Daroussin CommitDate: 2025-01-15 09:55:47 +0000 usb_vendors: update to 2024.12.04 (cherry picked from commit 4413d9f3775118c4d8c082a404dd7eb04fe9636a) --- share/misc/usb_vendors | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/misc/usb_vendors b/share/misc/usb_vendors index 41b367d1a0d6..3304de282c18 100644 --- a/share/misc/usb_vendors +++ b/share/misc/usb_vendors @@ -9,8 +9,8 @@ # The latest version can be obtained from # http://www.linux-usb.org/usb.ids # -# Version: 2024.07.04 -# Date: 2024-07-04 20:34:02 +# Version: 2024.12.04 +# Date: 2024-12-04 20:34:02 # # Vendors, devices and interfaces. Please keep sorted. @@ -16876,7 +16876,7 @@ 0256 Schwalm & Tate LLC pISO Raspberry Pi Hat 053a Hackerspace San Salvador HSSV SAMR21-Mote 0cbd Andrzej Szombierski kuku.eu.org keyboard - 0d32 ODrive Robotics ODrive v3 + 0d32 ODrive Robotics ODrive 1001 InterBiometrics Hub 1002 InterBiometrics Relais 1003 InterBiometrics IBSecureCam-P From nobody Wed Jan 15 09:55:55 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YY1bH2mPHz5lBhn; Wed, 15 Jan 2025 09:55:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YY1bH2V61z3Hk0; Wed, 15 Jan 2025 09:55:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736934955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=du0SQN1zq0ne7yLOs3H2JttuqEyHF3TidpA7bv1AnAU=; b=o0CsfXs/H8zcS/AvWOXiYgeYIkXKUjatHqmng5H83bi6KVZukKiZnRQdo9GGlR2X2Ffru4 FT1ggKBB2AimE1Ab2J8jBr857K2AnT4bsHPkRP7HXxzUaYAitBspm4/xmFYOhUo96KZGY5 iXxmvwU8r/QsPyzoMJ3JYJwQBA+MQcV70K0y401Kyoh1b+iMqjAwVv4De/5hkENfKeEzoN m+njnXDACF8YCGBpnGKf1S4L+DpNDJryvTYkyPV6bAqFMxIFRH2cuhZwNWEoUpal9s1tpG fVrDa2cRMP2UUevtbuUkJUrH4Z7cKXdrCiveFsN+aZ3LBkoTOb0IHAQGNHt9Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736934955; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=du0SQN1zq0ne7yLOs3H2JttuqEyHF3TidpA7bv1AnAU=; b=Tk8cbpWEuEnfBjx20dmLRXRs2AiDY8aGb6bPaOEDDvgklN+uutJBztGda8CldWYd3+e0jL mvp2ugw8Bknz/PNetiAFPEpjfDGsJwMMJllCYodnm23jjWY+dES0jqdewdU+1v8cS7mOlL JctVzxLTfPyOq+mwk00Yr8/uzBniHng/wbjgy5UcdT6PHZbVTa1rflxlsDNJp/XeEGK0yk vG617eZh2aInBs6YGN7bxEnrncj3Wz57AJRMenvCquFfr3cttoyUng8219nCgdRcR79Nrm mVzxLHais61EJl3+BfstHM/+aj400E20ojrDJpgd3aBhuzAhODhNVYO4jvjWaQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736934955; a=rsa-sha256; cv=none; b=dT1jcG+QgkP5dtpA0K98GeJzz1VdcFwHwcgPks1McBr/gDeSZKHZpcs1f3VYYCr+GbMVeS nyNcm8ldlfNUdsTyeGNVEacmmmFex1zHvY7k89pNZQDmGX7Y0h/75etxxKZzZKb9uqShW8 m5Geg8YA0wd2kkbz6oUy8Mfk+q5NDEyLsn2Z3HOg+65LzsSsxOe5z0eDtVKSeR9zbK46bY Gbbd9DHzLQQjU15otlBlYlOBZDGDzEYbjXU9GQ9p5BMsl7PnkK3vP2G3ykROR0TpuUH3Bg Rbyg12r2TuV0t+CXAC+F1qDO/L6pnJz440CHJt4YiTgLLNOjupMQ3IHaiUiKQw== 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 4YY1bH1qtqzhlx; Wed, 15 Jan 2025 09:55:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50F9ttrG071640; Wed, 15 Jan 2025 09:55:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50F9ttlD071637; Wed, 15 Jan 2025 09:55:55 GMT (envelope-from git) Date: Wed, 15 Jan 2025 09:55:55 GMT Message-Id: <202501150955.50F9ttlD071637@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 7e56062fdf9a - stable/14 - pci_vendors: update to 2024.11.25 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7e56062fdf9a14f7e5e5d90f3bc2cdfef47c91e0 Auto-Submitted: auto-generated The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=7e56062fdf9a14f7e5e5d90f3bc2cdfef47c91e0 commit 7e56062fdf9a14f7e5e5d90f3bc2cdfef47c91e0 Author: Baptiste Daroussin AuthorDate: 2025-01-09 09:47:59 +0000 Commit: Baptiste Daroussin CommitDate: 2025-01-15 09:55:47 +0000 pci_vendors: update to 2024.11.25 (cherry picked from commit 2f82bf3521f955c0ef9cc0019b7f86c13020660c) --- share/misc/pci_vendors | 602 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 509 insertions(+), 93 deletions(-) diff --git a/share/misc/pci_vendors b/share/misc/pci_vendors index 968338dd1099..0eebacf92d41 100644 --- a/share/misc/pci_vendors +++ b/share/misc/pci_vendors @@ -1,8 +1,8 @@ # # List of PCI ID's # -# Version: 2024.09.20 -# Date: 2024-09-20 03:15:02 +# Version: 2024.11.25 +# Date: 2024-11-25 03:15:02 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. @@ -46,13 +46,20 @@ 7a10 Hyper Transport Bridge Controller 7a14 EHCI USB Controller 7a15 Vivante GPU (Graphics Processing Unit) + 7a18 SATA 3 AHCI Controller 7a19 PCI-to-PCI Bridge + 7a1b SPI Controller 7a24 OHCI USB Controller # Found on 7A2000 PCH 7a25 LG100 GPU 7a29 PCI-to-PCI Bridge + 7a34 xHCI USB Controller # Found on 7A2000 PCH 7a36 Display Controller + 7a39 PCIe x1 Root Port + 7a49 PCIe x4 Root Port + 7a59 PCIe x8 Root Port + 7a69 PCIe x16 Root Port 0018 Fn-Link Technology Limited 6252 6252CPUB 802.11ax PCIe Wireless Network Adapter 001c PEAK-System Technik GmbH @@ -3992,6 +3999,7 @@ # Reference 1002 0e3a Radeon RX 6950 XT 1849 5230 Navi 21 [ASRock OC Forumla Radeon RX 6950XT] + 1849 5238 Navi 21 [ASRock Radeon RX 6950 XT Phantom Gaming OC] 1da2 441d Navi 21 [Sapphire Nitro+ Radeon RX 6950 XT] 1eae 6950 Navi 21 [XFX Speedster MERC319 Radeon RX 6950 XT] 73ab Navi 21 Pro-XLA [Radeon Pro W6800X/Radeon Pro W6800X Duo] @@ -4055,11 +4063,13 @@ 744c Navi 31 [Radeon RX 7900 XT/7900 XTX/7900 GRE/7900M] 1002 0e3b RX 7900 XTX / RX 7900 GRE [XFX] 1043 0506 TUF Gaming Radeon RX 7900 XTX OC + 148c 2425 HELLHOUND RX 7900 GRE 1849 5304 Radeon RX 7900 XTX 1da2 471e PULSE RX 7900 XTX 1da2 475e PULSE RX 7900 GRE 1da2 e471 NITRO+ RX 7900 XTX Vapor-X 1eae 7901 RX-79XMERCB9 [SPEEDSTER MERC 310 RX 7900 XTX] + 1eae 790a RX-79GMERCBR [XFX RX 7900 GRE] 745e Navi 31 [Radeon Pro W7800] 7460 Navi32 GL-XL [AMD Radeon PRO V710] 7461 Navi 32 [AMD Radeon PRO V710] @@ -4075,7 +4085,11 @@ 7499 Navi 33 [Radeon RX 7400/7300/Pro W7400] 74a0 Aqua Vanjaram [Instinct MI300A] 74a1 Aqua Vanjaram [Instinct MI300X] + 74a2 Aqua Vanjaram [Instinct MI308X] + 74a5 Aqua Vanjaram [Instinct MI325X] + 74a9 Aqua Vanjaram [Instinct MI300X HF] 74b5 Aqua Vanjaram [Instinct MI300X VF] + 74bd Aqua Vanjaram [Instinct MI300X HF] 7833 RS350 Host Bridge 7834 RS350 [Radeon 9100 PRO/XT IGP] 7835 RS350M [Mobility Radeon 9000 IGP] @@ -4434,7 +4448,6 @@ 99a2 Trinity 2 [Radeon HD 7420G] 99a4 Trinity 2 [Radeon HD 7400G] aa00 R600 HDMI Audio [Radeon HD 2900 GT/PRO/XT] - aa01 RV635 HDMI Audio [Radeon HD 3650/3730/3750] aa08 RV630 HDMI Audio [Radeon HD 2600 PRO/XT / HD 3610] aa10 RV610 HDMI Audio [Radeon HD 2350 PRO / 2400 PRO/XT / HD 3410] 174b aa10 Radeon HD 2400 PRO @@ -5007,6 +5020,14 @@ 1202 Family 10h Processor DRAM Controller 1203 Family 10h Processor Miscellaneous Control 1204 Family 10h Processor Link Control + 12c0 Turin Data Fabric; Function 0 + 12c1 Turin Data Fabric; Function 1 + 12c2 Turin Data Fabric; Function 2 + 12c3 Turin Data Fabric; Function 3 + 12c4 Turin Data Fabric; Function 4 + 12c5 Turin Data Fabric; Function 5 + 12c6 Turin Data Fabric; Function 6 + 12c7 Turin Data Fabric; Function 7 1300 Family 11h Processor HyperTransport Configuration 1301 Family 11h Processor Address Map 1302 Family 11h Processor DRAM Controller @@ -5130,6 +5151,7 @@ 1480 Starship/Matisse Root Complex 1462 7c37 X570-A PRO motherboard 15d9 1b95 H12SSL-i + 1849 1480 ROME2D32LM3 1481 Starship/Matisse IOMMU 1482 Starship/Matisse PCIe Dummy Host Bridge 1483 Starship/Matisse GPP Bridge @@ -5163,18 +5185,72 @@ 149c Matisse USB 3.0 Host Controller 1462 7c37 X570-A PRO motherboard 149d Vangogh CVIP + 149e Genoa/Bergamo IOMMU + 149f Genoa/Bergamo Dummy Host Bridge + 14a4 Genoa/Bergamo Root Complex + 14a5 Genoa/Bergamo GPP Bridge + 14a6 Genoa/Bergamo RCEC + 14a7 Genoa/Bergamo Internal PCIe GPP Bridge to Bus [D:B] + 14aa Genoa/Bergamo GPP Bridge + 14ab Genoa/Bergamo GPP Bridge + 14ac Genoa/Bergamo Dummy Function + 14ad Genoa/Bergamo Data Fabric; Function 0 + 14ae Genoa/Bergamo Data Fabric; Function 1 + 14af Genoa/Bergamo Data Fabric; Function 2 + 14b0 Genoa/Bergamo Data Fabric; Function 3 + 14b1 Genoa/Bergamo Data Fabric; Function 4 + 14b2 Genoa/Bergamo Data Fabric; Function 5 + 14b3 Genoa/Bergamo Data Fabric; Function 6 + 14b4 Genoa/Bergamo Data Fabric; Function 7 14b5 Family 17h-19h PCIe Root Complex 14b6 Family 17h-19h IOMMU 14b7 Family 17h-19h PCIe Dummy Host Bridge 14b8 Family 17h-19h PCIe GPP Bridge 14b9 Family 17h-19h Internal PCIe GPP Bridge 14ba Family 17h-19h PCIe GPP Bridge + 14c1 Secondary vNTB # Server device 14ca Genoa CCP/PSP 4.0 Device 14cd Family 19h USB4/Thunderbolt PCIe tunnel - 14de Phoenix PCIe Dummy Function + 14d8 Raphael/Granite Ridge Root Complex + 14d9 Raphael/Granite Ridge IOMMU + 14da Raphael/Granite Ridge Dummy Host Bridge + 14db Raphael/Granite Ridge GPP Bridge + 14dc SDXI + 14dd Raphael/Granite Ridge Internal GPP Bridge to Bus [C:A] + 14de Raphael/Granite Ridge PCIe Dummy Function + 14e0 Raphael/Granite Ridge Data Fabric; Function 0 + 14e1 Raphael/Granite Ridge Data Fabric; Function 1 + 14e2 Raphael/Granite Ridge Data Fabric; Function 2 + 14e3 Raphael/Granite Ridge Data Fabric; Function 3 + 14e4 Raphael/Granite Ridge Data Fabric; Function 4 + 14e5 Raphael/Granite Ridge Data Fabric; Function 5 + 14e6 Raphael/Granite Ridge Data Fabric; Function 6 + 14e7 Raphael/Granite Ridge Data Fabric; Function 7 + 14e8 Phoenix Root Complex + 14e9 Phoenix IOMMU + 14ea Phoenix Dummy Host Bridge + 14eb Phoenix Internal GPP Bridge to Bus [C:A] + 14ec Phoenix Dummy Function + 14ed Phoenix GPP Bridge + 14ee Phoenix GPP Bridge 14ef Family 19h USB4/Thunderbolt PCIe tunnel + 14f0 Phoenix Data Fabric; Function 0 + 14f1 Phoenix Data Fabric; Function 1 + 14f2 Phoenix Data Fabric; Function 2 + 14f3 Phoenix Data Fabric; Function 3 + 14f4 Phoenix Data Fabric; Function 4 + 14f5 Phoenix Data Fabric; Function 5 + 14f6 Phoenix Data Fabric; Function 6 + 14f7 Phoenix Data Fabric; Function 7 1502 AMD IPU Device + 1507 Strix Root Complex + 1508 Strix IOMMU + 1509 Strix Dummy Host Bridge + 150a Strix PCIe USB4 Bridge + 150b Strix GPP Bridge + 150c Strix Internal GPP Bridge to Bus [C:A] + 150d Strix PCIe Dummy function 1510 Family 14h Processor Root Complex 174b 1001 PURE Fusion Mini 1512 Family 14h Processor Root Port @@ -5194,12 +5270,11 @@ 1537 Kabini/Mullins PSP-Platform Security Processor 1538 Family 16h Processor Function 0 1539 Kabini P2P Bridge for PCIe Ports[4:0] -# AMD EPYC Turin CPU - 153a Family 1Ah (Models 00h-0Fh) Root Complex -# AMD EPYC Turin CPU - 153b Family 1Ah (Models 00h-0Fh) IOMMU -# AMD EPYC Turin CPU - 153d Family 1Ah (Models 00h-0Fh) PCIe Dummy Host Bridge + 153a Turin Root Complex + 153b Turin IOMMU + 153c Turin RCEC + 153d Turin PCIe Dummy Host Bridge + 153e Turin GPP Bridge 1540 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky HT Configuration 1541 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky Address Maps 1542 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky DRAM Configuration @@ -5216,10 +5291,10 @@ 154f Anubis Audio Processor 1550 Garfield+/Arlene/Pooky/Anubis SPLL Configuration 1553 Arlene/Pooky P2P Bridge for PCIE (3:0) -# AMD EPYC Turin CPU - 1555 Family 1Ah (Models 00h-0Fh) Internal PCIe GPP Bridge -# AMD EPYC Turin CPU - 1556 Family 1Ah (Models 00h-0Fh) PCIe Dummy Function + 1554 Turin GPP Bridge + 1555 Turin Internal PCIe GPP Bridge to Bus [D:C] + 1556 Turin PCIe Dummy Function + 1557 Turin USB 3.1 xHCI 155b Anubis Root Complex 155c Anubis IOMMU 155d Anubis UMI PCIe Dummy Bridge @@ -5228,6 +5303,7 @@ 1566 Family 16h (Models 30h-3fh) Processor Root Complex 1567 Mullins IOMMU 156b Family 16h (Models 30h-3fh) Host Bridge + 156e Turin CCP/ASP 1570 Family 15h (Models 60h-6fh) Processor Function 0 1571 Family 15h (Models 60h-6fh) Processor Function 1 1572 Family 15h (Models 60h-6fh) Processor Function 2 @@ -5266,11 +5342,13 @@ 15b3 Stoney Miscellaneous Configuration 15b4 Stoney PM Configuration 15b5 Stoney NB Performance Monitor + 15b6 Raphael/Granite Ridge USB 3.1 xHCI + 15b7 Raphael/Granite Ridge USB 3.1 xHCI 15bc Stoney PCIe [GFX,GPP] Bridge [4:0] 15be Stoney Audio Processor 15c4 Phoenix USB4/Thunderbolt NHI controller #1 15c5 Phoenix USB4/Thunderbolt NHI controller #2 - 15c7 Family 19h (Model 74h) CCP/PSP 3.0 Device + 15c7 Phoenix CCP/PSP 3.0 Device 15d0 Raven/Raven2 Root Complex 103c 8615 Pavilion Laptop 15-cw1xxx 1043 876b PRIME B450M-A Motherboard @@ -5309,7 +5387,7 @@ 15e2 ACP/ACP3X/ACP6x Audio Coprocessor 17aa 5124 ThinkPad E595 ea50 ce19 mCOM10-L1900 - 15e3 Family 17h/19h HD Audio Controller + 15e3 Family 17h/19h/1ah HD Audio Controller 103c 8615 Pavilion Laptop 15-cw1xxx 103c 8b17 ProBook 445 G9/455 G9 1043 86c7 PRIME B450M-A Motherboard @@ -5402,6 +5480,8 @@ 1647 VanGogh PCIe GPP Bridge 1648 VanGogh Internal PCIe GPP Bridge to Bus 1649 Family 19h PSP/CCP + 164a Sensor Fusion Hub + 164b Non-Sensor Fusion Hub 164f Milan IOMMU 1650 Milan Data Fabric; Function 0 1651 Milan Data Fabric; Function 1 @@ -5437,6 +5517,14 @@ 167e Rembrandt Data Fabric: Device 18h; Function 5 167f Rembrandt Data Fabric: Device 18h; Function 6 1680 Rembrandt Data Fabric: Device 18h; Function 7 + 16f8 Strix Data Fabric; Function 0 + 16f9 Strix Data Fabric; Function 1 + 16fa Strix Data Fabric; Function 2 + 16fb Strix Data Fabric; Function 3 + 16fc Strix Data Fabric; Function 4 + 16fd Strix Data Fabric; Function 5 + 16fe Strix Data Fabric; Function 6 + 16ff Strix Data Fabric; Function 7 1700 Family 12h/14h Processor Function 0 1701 Family 12h/14h Processor Function 1 1702 Family 12h/14h Processor Function 2 @@ -5454,6 +5542,8 @@ 1716 Family 12h/14h Processor Function 5 1718 Family 12h/14h Processor Function 6 1719 Family 12h/14h Processor Function 7 + 17e0 Strix CCP/ASP + 17f0 Strix Neural Processing Unit 2000 79C97x [PCnet32 LANCE] 1014 2000 NetFinity 10/100 Fast Ethernet 1022 2000 PCnet - Fast 79C971 @@ -5808,7 +5898,8 @@ 5225 M5225 5229 M5229 5235 M5235 - 5237 M5237 PCI USB Host Controller + 5237 OHCI USB Controller + 5239 EHCI USB Controller 5240 EIDE Controller 5241 PCMCIA Bridge 5242 General Purpose Controller @@ -6731,28 +6822,28 @@ c066 3010S Ultra3 Dual Channel 1045 OPTi Inc. a0f8 82C750 [Vendetta] USB Controller - c101 92C264 + c101 82C264 GUI Accelerator c178 92C178 c556 82X556 [Viper] c557 82C557 [Viper-M] c558 82C558 [Viper-M ISA+IDE] - c567 82C750 [Vendetta], device 0 - c568 82C750 [Vendetta], device 1 + c567 82C750 [Vendetta] Host Bridge + c568 82C750 [Vendetta] ISA Bridge c569 82C579 [Viper XPress+ Chipset] - c621 82C621 [Viper-M/N+] + c621 82C621A PCI IDE Contoller c700 82C700 [FireStar] - c701 82C701 [FireStar Plus] - c814 82C814 [Firebridge 1] + c701 82C700 [FireStar] Host Bridge + c814 82C814 [FireBridge II] Docking Stration Controller c822 82C822 - c824 82C824 - c825 82C825 [Firebridge 2] + c824 82C824 [FireFox] 32-Bit PC Card Controller + c825 82C825 [FireBridge II] Docking Stration Controller c832 82C832 - c861 82C861 OHCI USB Host + c861 82C861/2/3 [FireLink] PCI-USB Host Bridge c881 82C881 [FireLink] 1394 OHCI Link Controller c895 82C895 - c935 EV1935 ECTIVA MachOne PCIAudio - d568 82C825 [Firebridge 2] - d721 IDE [FireStar] + c935 82С935 [MachOne] Integrated PCI Audio Processor + d568 82C700 [FireStar] PCI IDE Controller + d721 82C700 [FireStar] PCI IDE Controller 1046 IPC Corporation, Ltd. 1047 Genoa Systems Corp 1048 Elsa AG @@ -7151,12 +7242,13 @@ 0001 W83769F 0033 W89C33D 802.11 a/b/g BB/MAC 0105 W82C105 + 0628 W83628F/W83629D PCI to ISA Bridge Set 0840 W89C840 1050 0001 W89C840 Ethernet Adapter 1050 0840 W89C840 Ethernet Adapter 0940 W89C940 - 5a5a W89C940F - 6692 W6692 + 5a5a W89C940 Twisted-pair Ether-LAN Controller With PCI Interface [ELANC-PCI] + 6692 W6692 PCI ISDN S/T-Controller 1043 1702 ISDN Adapter (PCI Bus, D, W) 1043 1703 ISDN Adapter (PCI Bus, DV, W) 1043 1707 ISDN Adapter (PCI Bus, DV, W) @@ -7165,6 +7257,7 @@ 144f 1707 ISDN Adapter (PCI Bus, DV, W) 9921 W99200F MPEG-1 Video Encoder 9922 W99200F/W9922PF MPEG-1/2 Video Encoder + 9960 W9960CF Video Codec 9970 W9970CF 1051 Anigma, Inc. 1052 ?Young Micro Systems @@ -9163,13 +9256,13 @@ 5842 2051 ISA bridge 10ab Digicom 10ac Honeywell IAC -10ad Symphony Labs +10ad Winbond Electronics Corp / Symphony Labs 0001 W83769F 0003 SL82C103 0005 SL82C105 0103 SL82c103 - 0105 SL82c105 - 0565 W83C553F/W83C554F + 0105 SL82C105/W83C55xF Bus Master IDE + 0565 W83C553F/554F ISA bridge 10ae Cornerstone Technology 10af Micro Computer Systems Inc 10b0 CardExpert Technology @@ -13009,7 +13102,7 @@ 2182 TU116 [GeForce GTX 1660 Ti] 2183 TU116 2184 TU116 [GeForce GTX 1660] - 2187 TU116 [GeForce GTX 1660 SUPER] + 2187 TU116 [GeForce GTX 1650 SUPER] 2188 TU116 [GeForce GTX 1650] 2189 TU116 [CMP 30HX] 2191 TU116M [GeForce GTX 1660 Ti Mobile] @@ -13047,6 +13140,7 @@ 223f GA102GL 228b GA104 High Definition Audio Controller 228e GA106 High Definition Audio Controller + 2291 GA107 High Definition Audio Controller 2296 Tegra PCIe Endpoint Virtual Network 22a3 GH100 [H100 NVSwitch] 22ba AD102 High Definition Audio Controller @@ -13059,6 +13153,7 @@ 2322 GH100 [H800 PCIe] 2324 GH100 [H800] 2329 GH100 [H20] + 232c GH100 [H20 HBM3e] 2330 GH100 [H100 SXM5 80GB] 2331 GH100 [H100 PCIe] 2335 GH100 [H200 SXM 141GB] @@ -13072,6 +13167,7 @@ 2342 GH100 [GH200 120GB / 480GB] 2343 GH100 2345 GH100 [GH100-88K-A1] + 2348 GH100 [GH200 144G HBM3e] 237f GH100 [Skinny Joe] 23b0 GH100 23f0 GH100 @@ -13150,7 +13246,7 @@ 25a9 GA107M [GeForce RTX 2050] 25aa GA107M [GeForce MX570 A] 25ab GA107M [GeForce RTX 3050 4GB Laptop GPU] - 25ac GN20-P0-R-K2 [GeForce RTX 3050 6GB Laptop GPU] + 25ac GA107BM / GN20-P0-R-K2 [GeForce RTX 3050 6GB Laptop GPU] 25ad GA107 [GeForce RTX 2050] 25af GA107 [GeForce RTX 3050 Engineering Sample] 25b0 GA107GL [RTX A1000] @@ -13167,7 +13263,7 @@ 25e0 GA107BM [GeForce RTX 3050 Ti Mobile] 25e2 GA107BM [GeForce RTX 3050 Mobile] 25e5 GA107BM [GeForce RTX 3050 Mobile] - 25ec GN20-P0-R-K2 [GeForce RTX 3050 6GB Laptop GPU] + 25ec GA107BM / GN20-P0-R-K2 [GeForce RTX 3050 6GB Laptop GPU] 25ed GA107 [GeForce RTX 2050] 25f9 GA107 [RTX A1000 Embedded GPU ] 25fa GA107 [RTX A2000 Embedded GPU] @@ -13190,9 +13286,9 @@ 2704 AD103 [GeForce RTX 4080] 2705 AD103 [GeForce RTX 4070 Ti SUPER] 2709 AD103 [GeForce RTX 4070] - 2717 GN21-X11 [GeForce RTX 4090 Laptop GPU] + 2717 AD103M / GN21-X11 [GeForce RTX 4090 Laptop GPU] 2730 AD103GLM [RTX 5000 Ada Generation Laptop GPU] - 2757 GN21-X11 [GeForce RTX 4090 Laptop GPU] + 2757 AD103M / GN21-X11 [GeForce RTX 4090 Laptop GPU] 2770 AD103GLM [RTX 5000 Ada Generation Embedded GPU] 2782 AD104 [GeForce RTX 4070 Ti] 2783 AD104 [GeForce RTX 4070 SUPER] @@ -13230,8 +13326,24 @@ 28e0 AD107M [GeForce RTX 4060 Max-Q / Mobile] 28e1 AD107M [GeForce RTX 4050 Max-Q / Mobile] 28f8 AD107GLM [RTX 2000 Ada Generation Embedded GPU] - 2900 GB100 - 2940 GB100 + 2900 GB100 [Reserved Dev ID A] + 2940 GB100 [Reserved Dev ID B] + 2941 GB100 [GB200 SKU] + 2980 GB102 + 29c0 GB102 + 2c18 GB203M / GN22 [GeForce RTX 5090 Max-Q / Mobile] + 2c19 GB203M / GN22 [GeForce RTX 5080 Max-Q / Mobile] + 2c2c GB6-256(N22W-ES-A1) + 2c58 GB203M / GN22-X11 [GeForce RTX 5090 Max-Q / Mobile] + 2c59 GB203M / GN22-X9 [GeForce RTX 5080 Max-Q / Mobile] + 2d18 AD108M [GeForce RTX 5070 Max-Q / Mobile] + 2d19 AD108M [GeForce RTX 5060 Max-Q / Mobile] + 2d58 AD108M [GeForce RTX 5070 Max-Q / Mobile] + 2d59 AD108M [GeForce RTX 5060 Max-Q / Mobile] + 2d98 AD108M [GeForce RTX 5050 Max-Q / Mobile] + 2dd8 AD108M [GeForce RTX 5050 Max-Q / Mobile] + 2f18 AD108M [GeForce RTX 5070 Ti Max-Q / Mobile] + 2f58 AD108M [GeForce RTX 5070 Ti Max-Q / Mobile] 10df Emulex Corporation 0720 OneConnect NIC (Skyhawk) 103c 1934 FlexFabric 20Gb 2-port 650M Adapter @@ -13333,6 +13445,7 @@ f500 LPe37000/LPe38000 Series 32Gb/64Gb Fibre Channel Adapter 1014 06c1 PCIe4 4-Port 32Gb Fibre Channel Adapter for POWER (FC EN1L/EN1M; CCIN 2CFC) 1014 06c2 PCIe4 2-Port 64Gb Fibre Channel Adapter for POWER (FC EN1N/EN1P; CCIN 2CFD) + f600 LPe37100S/LPe38100S Series 32Gb/64Gb Fibre Channel Adapter f700 LP7000 Fibre Channel Host Adapter f701 LP7000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2) f800 LP8000 Fibre Channel Host Adapter @@ -13671,6 +13784,7 @@ 8813 RTL8813AE 802.11ac PCIe Wireless Network Adapter 8821 RTL8821AE 802.11ac PCIe Wireless Network Adapter 8852 RTL8852AE 802.11ax PCIe Wireless Network Adapter + 8922 RTL8922AE 802.11be PCIe Wireless Network Adapter a85a RTL8852AE WiFi 6 802.11ax PCIe Adapter b520 RTL8852BE-VT PCIe 802.11ax Wireless Network Controller b723 RTL8723BE PCIe Wireless Network Adapter @@ -14046,6 +14160,7 @@ 0410 VX900 Series Host Bridge: Host Control 0415 VT6415 PATA IDE Host Controller 1043 838f Motherboard + 0419 VN1000 Host Bridge 0501 VT8501 [Apollo MVP4] 0505 VT82C505 # Shares chip with :0576. The VT82C576M has :1571 instead of :0561. @@ -14137,6 +14252,7 @@ 1364 CN896/VN896/P4M900 Host Bridge 1409 VX855/VX875 Error Reporting 1410 VX900 Series Error Reporting + 1419 VN1000 Host Bridge 1571 VT82C576M/VT82C586 1595 VT82C595/97 [Apollo VP2/97] 1732 VT1732 [Envy24 II] PCI Multi-Channel Audio Controller @@ -14162,11 +14278,12 @@ 2364 CN896/VN896/P4M900 Host Bridge 2409 VX855/VX875 Host Bus Control 2410 VX900 Series CPU Bus Controller + 2419 VN1000 Host Bridge 287a VT8251 PCI to PCI Bridge 287b VT8251 Host Bridge 287c VT8251 PCIE Root Port 287d VT8251 PCIE Root Port - 287e VT8237/8251 Ultra VLINK Controller + 287e VT8237/8251/8261 Ultra VLINK Controller 3022 CLE266 3038 VT82xx/62xx/VX700/8x0/900 UHCI USB 1.1 Controller 0925 1234 onboard UHCI USB 1.1 Controller @@ -14331,7 +14448,7 @@ 3116 VT8375 [KM266/KL266] Host Bridge 1297 f641 FX41 motherboard 3118 CN400/PM800/PM880/PN800/PN880 [S3 UniChrome Pro] - 3119 VT6120/VT6121/VT6122 Gigabit Ethernet Adapter + 3119 VT6120/VT6121/VT6122/VT6130 Gigabit Ethernet Adapter 3122 VT8623 [Apollo CLE266] integrated CastleRock graphics 3123 VT8623 [Apollo CLE266] 3128 VT8753 [P4X266 AGP] @@ -14432,12 +14549,14 @@ 3372 VT8237S PCI to ISA Bridge 337a VT8237A PCI to PCI Bridge 337b VT8237A Host Bridge + 3402 VT8261 PCI to ISA Bridge 3403 VT6315 Series Firewire Controller 1043 8374 M5A88-V EVO 1043 8384 P8P67 Deluxe Motherboard 3409 VX855/VX875 DRAM Bus Control 3410 VX900 Series DRAM Bus Control 19da a179 ZBOX nano VD01 + 3419 VN1000 Host Bridge 3432 VL800/801 xHCI USB 3.0 Controller 3456 VX11 Standard Host Bridge 345b VX11 Miscellaneous Bus @@ -14466,6 +14585,7 @@ 4409 VX855/VX875 Power Management Control 4410 VX900 Series Power Management and Chip Testing Control 19da a179 ZBOX nano VD01 + 4419 VN1000 Host Bridge 5030 VT82C596 ACPI [Apollo PRO] 5122 VX855/VX875 Chrome 9 HCM Integrated Graphics 5208 PT890 I/O APIC Interrupt Controller @@ -14483,6 +14603,7 @@ 5372 VT8237/8251 Serial ATA Controller 5409 VX855/VX875 APIC and Central Traffic Control 5410 VX900 Series APIC and Central Traffic Control + 5419 VN1000 I/O APIC Interrupt Controller 6100 VT85C100A [Rhine II] 6122 VN1000 Graphics [Chrome 520 IGP] 6287 SATA RAID Controller @@ -14493,6 +14614,7 @@ 6409 VX855/VX875 Scratch Registers 6410 VX900 Series Scratch Registers 19da a179 ZBOX nano VD01 + 6419 VN1000 Host Bridge 7122 VX900 Graphics [Chrome9 HD] 7204 K8M800 Host Bridge 7205 KM400/KN400/P4M800 [S3 UniChrome] @@ -14519,6 +14641,7 @@ 7409 VX855/VX875 North-South Module Interface Control 7410 VX900 Series North-South Module Interface Control 19da a179 ZBOX nano VD01 + 7419 VN1000 Host Bridge 8231 VT8231 [PCI-to-ISA Bridge] 8235 VT8235 ACPI 8305 VT8363/8365 [KT133/KM133 AGP] @@ -14543,12 +14666,14 @@ 8a26 KL133/KL133A/KM133/KM133A [S3 ProSavage] 8d01 PN133/PN133T [S3 Twister] 8d04 KM266/P4M266/P4M266A/P4N266 [S3 ProSavageDDR] + 9000 VT8261 IDE Controller [StorX IDE Controller - 9000] 9001 VX900 Series Serial-ATA Controller + 9040 VT8261 SATA Controller [StorX RAID Controller - 9040] 9082 Standard AHCI 1.0 SATA Controller 9140 HDMI Audio Device 9201 USB3.0 Controller 9380 Ncore Coprocessor for Centaur CNS - 9530 VX800/820/900 Series Secure Digital Memory Card Controller + 9530 VX800/820/900/VT8261 Series Secure Digital Memory Card Controller 95d0 VX800/820/900 Series SDIO Host Controller a208 PT890 PCI to PCI Bridge Controller a238 K8T890 PCI to PCI Bridge Controller @@ -14557,6 +14682,7 @@ a364 CN896/VN896/P4M900 PCI to PCI Bridge Controller a409 VX855/VX875/VX900 Series USB Device Controller a410 VX900 Series PCI Express Root Port 0 + a419 VN1000 PCI to PCI Bridge b091 VT8633 [Apollo Pro266 AGP] b099 VT8366/A/7 [Apollo KT266/A/333 AGP] b101 VT8653 AGP Bridge @@ -14572,6 +14698,7 @@ b213 VPX/VPX2 I/O APIC Interrupt Controller b353 VX855/VX875/VX900 PCI to PCI Bridge b410 VX900 Series PCI Express Root Port 1 + b419 VN1000 Host Bridge b999 [K8T890 North / VT8237 South] PCI Bridge c208 PT890 PCI to PCI Bridge Controller c238 K8T890 PCI to PCI Bridge Controller @@ -14581,22 +14708,26 @@ c364 CN896/VN896/P4M900 PCI to PCI Bridge Controller c409 VX855/VX875 EIDE Controller c410 VX900 Series PCI Express Root Port 2 + c419 VN1000 PCI to PCI Bridge d104 VT8237R USB UDCI Controller d208 PT890 PCI to PCI Bridge Controller d213 VPX/VPX2 PCI to PCI Bridge Controller d238 K8T890 PCI to PCI Bridge Controller d340 PT900 PCI to PCI Bridge Controller d410 VX900 Series PCI Express Root Port 3 + d419 VN1000 PCI to PCI Bridge e208 PT890 PCI to PCI Bridge Controller e238 K8T890 PCI to PCI Bridge Controller e340 PT900 PCI to PCI Bridge Controller e353 VX800/820-Series PCI-Express Root Port 0 e410 VX900 Series PCI Express Physical Layer Electrical Sub-block + e419 VN1000 PCI to PCI Bridge f208 PT890 PCI to PCI Bridge Controller f238 K8T890 PCI to PCI Bridge Controller f340 PT900 PCI to PCI Bridge Controller f353 VX800/820-Series PCI-Express Root Port 1 f410 VX900 Series PCI UART Port 0-3 + f419 VN1000 PCI to PCI Bridge 1107 Stratus Computers 0576 VIA VT82C570MV [Apollo] (Wrong vendor ID!) 1108 Proteon, Inc. @@ -17016,9 +17147,7 @@ 123b Seeq Technology, Inc. 123c Century Systems, Inc. 123d Engineering Design Team, Inc. - 0000 EasyConnect 8/32 - 0002 EasyConnect 8/64 - 0003 EasyIO + 0000 PCI 11W 0047 PCIe4 CDa 004b PCIe4 CDa 16 009d VisionLink F1 @@ -17132,7 +17261,9 @@ 1028 0085 ES1968 Maestro-2 PCI 1033 8051 ES1968 Maestro-2 Audiodrive 1969 ES1938/ES1946/ES1969 Solo-1 Audiodrive + 1014 0162 16 Bit PCI Audio Adapter (37L4457) 1014 0166 ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard + 121f 8800 eDio Hi-Live SC1938 125d 8888 Solo-1 Audio Adapter 125d 8898 ES1938S TTSOLO1-SL [TerraTec 128i PCI] 153b 111b Terratec 128i PCI @@ -18379,6 +18510,8 @@ 0207 GLN180PEX GPS/GLONASS receiver (PCI Express) 0208 GPS180AMC GPS Receiver (PCI Express / MicroTCA / AdvancedMC) 0209 GNS181PEX GPS/Galileo/GLONASS/BEIDOU receiver (PCI Express) + 020a GPS183PEX GPS Receiver (PCI Express) + 020b GNS183PEX GPS/Galileo/GLONASS/BEIDOU receiver (PCI Express) 0301 TCR510PCI IRIG Timecode Reader 0302 TCR167PCI IRIG Timecode Reader 0303 TCR511PCI IRIG Timecode Reader @@ -20018,6 +20151,7 @@ 1028 215a DC NVMe PM9A3 RI U.2 960GB 1028 215b DC NVMe PM9A3 RI U.2 1.92TB 1028 215c DC NVMe PM9A3 RI U.2 3.84TB + 1028 215d Dell DC NVMe PM9A3 RI U.2 7.68TB 1028 2166 DC NVMe PM9A3 RI 110M.2 960GB 1028 2167 DC NVMe PM9A3 RI 110M.2 1.92TB 1028 2168 DC NVMe PM9A3 RI 80M.2 480GB @@ -20154,6 +20288,45 @@ 1028 225e NVMe FIPS PM1745 MU U.2 12.8TB 1028 225f NVMe PM1745 MU U.2 12.8TB a900 NVMe SSD Controller PM9DXa + 1028 230f DC NVMe PM9D3a RI 80M.2 480GB ISE + 1028 2310 DC NVMe PM9D3a RI 80M.2 960GB ISE + 1028 2311 DC NVMe PM9D3a RI 80M.2 1.92TB ISE + 1028 2341 DC NVMe PM9D3a RI U.2 960GB  + 1028 2342 DC NVMe PM9D3a RI U.2 1.92TB + 1028 2343 DC NVMe PM9D3a RI U.2 3.84TB + 1028 2344 DC NVMe PM9D3a RI U.2 7.68GTB + 1028 2345 DC NVMe PM9D3a RI U.2 15.36TB + 1028 2346 DC NVMe FIPS PM9D3a RI U.2 960GB + 1028 2347 DC NVMe FIPS PM9D3a RI U.2 1.92TB + 1028 2348 DC NVMe FIPS PM9D3a RI U.2 3.84TB + 1028 2349 DC NVMe FIPS PM9D3a RI U.2 7.68TB + 1028 234a DC NVMe FIPS PM9D3a RI U.2 15.36TB  + 1028 234d DC NVMe PM9D3a RI E3s 1.92TB + 1028 234e DC NVMe PM9D3a RI E3s 3.84TB  + 1028 234f DC NVMe PM9D3a RI E3s 7.68GTB + 1028 2350 DC NVMe PM9D3a RI E3s 15.36TB + 1028 2351 DC NVMe FIPS PM9D3a RI E3s 1.92TB + 1028 2352 DC NVMe FIPS PM9D3a RI E3s 3.84TB + 1028 2353 DC NVMe FIPS PM9D3a RI E3s 7.68TB + 1028 2354 DC NVMe FIPS PM9D3a RI E3s 15.36TB + 1028 2355 DC NVMe PM9D5a MU U.2 800GB + 1028 2356 DC NVMe PM9D5a MU U.2 1.6TB + 1028 2357 DC NVMe PM9D5a MU U.2 3.2TB + 1028 2358 DC NVMe PM9D5a MU U.2 6.4TB + 1028 2359 DC NVMe PM9D5a MU E3.s 1.6TB + 1028 235a DC NVMe PM9D5a MU E3.s 3.2TB + 1028 235b DC NVMe PM9D5a MU E3.s 6.4TB + aa00 NVMe SSD Controller BM1743 + 1028 2312 NVMe FIPS BM1743 QLC U.2 15.36TB + 1028 2313 NVMe FIPS BM1743 QLC U.2 30.72TB + 1028 2314 NVMe FIPS BM1743 QLC U.2 61.44TB + 1028 2315 NVMe BM1743 QLC U.2 15.36TB + 1028 2316 NVMe BM1743 QLC U.2 30.72TB + 1028 2317 NVMe BM1743 QLC U.2 61.44TB + 1028 2364 NVMe BM1743 QLC U.2 122.88TB + 1028 2366 MZ3MO15THCLCAD3 + 1028 2367 MZ3MO30THCLFAD3 + ac00 NVMe SSD Controller PM175x ecec Exynos 8895 PCIe Root Complex 144e OLITEC 144f Askey Computer Corp. @@ -20353,6 +20526,7 @@ 14c3 MEDIATEK Corp. 0608 MT7921K (RZ608) Wi-Fi 6E 80MHz 0616 MT7922 802.11ax PCI Express Wireless Network Adapter + 4d75 T700 5G Modem [5G Solution 5000] 7603 MT7603E 802.11bgn PCI Express Wireless Network Adapter 7612 MT7612E 802.11acbgn PCI Express Wireless Network Adapter 7615 MT7615E 802.11ac PCI Express Wireless Network Adapter @@ -20360,12 +20534,16 @@ 7650 MT7650 802.11ac # MT7612E too? 7662 MT7662E 802.11ac PCI Express Wireless Network Adapter + 7663 MT7663 802.11ac PCI Express Wireless Network Adapter 7915 MT7915E 802.11ax PCI Express Wireless Network Adapter 7916 MT7905D/MT7975 # WiFi 6E capable 7922 MT7922 802.11ax PCI Express Wireless Network Adapter 1a3b 5300 ASUS PCE-AXE59BT 7961 MT7921 802.11ax PCI Express Wireless Network Adapter + 7988 MT7988 PCIe Host Bridge [Filogic 880] + 7990 MT7996 802.11be PCI Express Wireless Network Adapter (Port 0) + 7991 MT7996 802.11be PCI Express Wireless Network Adapter (Port 1) 8650 MT7650 Bluetooth 14c4 IWASAKI Information Systems Co Ltd 14c5 Automation Products AB @@ -20992,7 +21170,20 @@ 14e4 d142 NetXtreme-E P425D BCM57504 4x25G SFP28 PCIE 1590 0420 HPE Ethernet 25/50Gb 2-port 6310C Adapter 1752 BCM57502 NetXtreme-E 10Gb/25Gb/40Gb/50Gb Ethernet - 1760 BCM57608 10Gb/25Gb/50Gb/100Gb/200Gb/400Gb Ethernet + 1760 BCM57608 25Gb/50Gb/100Gb/200Gb/400Gb Ethernet + 14e4 9110 BCM57608 1x400G PCIe Ethernet NIC + 14e4 9120 BCM57608 2x200G PCIe Ethernet NIC + 14e4 9121 BCM57608 2x100G PCIe Ethernet NIC + 14e4 9125 BCM57608 2x200G PCIe Ethernet NIC + 14e4 9126 BCM57608 2x100G PCIe Ethernet NIC + 14e4 9140 BCM57608 1x400G QSFP-DD PCIe Ethernet NIC + 14e4 9310 BCM57608 1x400G QSFP-DD OCP Ethernet NIC + 14e4 9311 BCM57608 1x400G OCP Ethernet NIC + 14e4 9312 BCM57608 1x200G OCP Ethernet NIC + 14e4 9320 BCM57608 2x200G OCP Ethernet NIC + 14e4 9325 BCM57608 2x200G OCP Ethernet NIC + 14e4 9326 BCM57608 2x100G OCP Ethernet NIC + 14e4 9340 BCM57608 4x100G OCP Ethernet NIC 14e4 d125 BCM57608 2x200G PCIe Ethernet NIC 1800 BCM57502 NetXtreme-E Ethernet Partition 1801 BCM57504 NetXtreme-E Ethernet Partition @@ -21010,6 +21201,7 @@ 14e4 df24 BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz Ethernet Virtual Function 1809 BCM5750X NetXtreme-E RDMA Virtual Function 14e4 df24 BCM57508 NetXtreme-E NGM2100D 2x100G KR Mezz RDMA Virtual Function + 1819 BCM5760X Ethernet Virtual Function 2711 BCM2711 PCIe Bridge 2712 BCM2712 PCIe Bridge 3352 BCM3352 @@ -21983,6 +22175,7 @@ 6893 3U OpenVPX Multi-function I/O Board [Model 68C3] 15ad VMware 0405 SVGA II Adapter + 0406 SVGA II Adapter (Fusion) 0710 SVGA Adapter 0720 VMXNET Ethernet Controller 0740 Virtual Machine Communication Interface @@ -22061,7 +22254,7 @@ 0271 Spectrum-5 RMA 0274 Spectrum-6 in Flash Recovery Mode 0275 Spectrum-6 RMA - 0277 Spectrum-4TOR RMA + 0277 Spectrum-6 Tile 0278 Quantum-4 in Flash Recovery Mode 0279 Quantum-4 RMA 027a Eros Chiplet @@ -22075,6 +22268,7 @@ # Flash recovery 0288 Arcus2 0289 Arcus2 RMA + 0290 SagittaZ 1002 MT25400 Family [ConnectX-2 Virtual Function] 1003 MT27500 Family [ConnectX-3] 1014 04b5 PCIe3 40GbE RoCE Converged Host Bus Adapter for Power @@ -22151,6 +22345,7 @@ 193d 1083 NIC-ETH640F-3S-2P # NIC-ETH540F-3S-2P OCP3.0 2x10G Card 193d 1084 NIC-ETH540F-3S-2P + 1e81 0c10 25GbE dual-port SFP28, PCIe3.0 x8 [3SC10] 1016 MT27710 Family [ConnectX-4 Lx Virtual Function] 1017 MT27800 Family [ConnectX-5] 15b3 0006 ConnectX-5 EN network interface card, 100GbE single-port QSFP28, PCIe3.0 x16, tall bracket; MCX515A-CCAT @@ -22169,9 +22364,14 @@ 101b MT28908 Family [ConnectX-6] 101c MT28908 Family [ConnectX-6 Virtual Function] 101d MT2892 Family [ConnectX-6 Dx] + 193d 1055 NIC-ETH1040F-LP-2P QSFP56 2x100GbE PCIe Network Adapter 101e ConnectX Family mlx5Gen Virtual Function 101f MT2894 Family [ConnectX-6 Lx] 193d 1035 NIC-ETH641F-LP-2P SFP28 2x25GbE PCIe Network Adapter + 1bd4 00ac O252MCX6Lx + 1bd4 00ae S252MCX6Lx + 1ff9 00ad ENFM6251-SP2 + 1ff9 00af ENPM6251-SP2 1020 MT28860 1021 MT2910 Family [ConnectX-7] 1023 CX8 Family [ConnectX-8] @@ -22316,7 +22516,7 @@ 5006 SanDisk Extreme Pro / WD Black SN750 / PC SN730 / Red SN700 NVMe SSD 5007 IX SN530 NVMe SSD (DRAM-less) 5008 PC SN530 NVMe SSD (DRAM-less) - 5009 SanDisk Ultra 3D / WD Blue SN550 NVMe SSD + 5009 SanDisk Ultra 3D / WD PC SN530, IX SN530, Blue SN550 NVMe SSD (DRAM-less) 15b7 5009 WD Blue SN550 NVMe SSD 500b PC SN530 NVMe SSD 1414 500b Xbox Series X @@ -22339,6 +22539,7 @@ 5036 WD PC SN5000S M.2 2280 NVMe SSD (DRAM-less) 5041 WD Blue SN580 NVMe SSD (DRAM-less) 5042 WD Black SN770M NVMe SSD (DRAM-less) + 5046 SanDisk Extreme NVMe SSD (DRAM-less) 15b8 ADDI-DATA GmbH 1001 APCI1516 SP controller (16 digi outputs) 1003 APCI1032 SP controller (32 digi inputs w/ opto coupler) @@ -23436,6 +23637,7 @@ 8084 GL880 USB 2.0 EHCI controller 9750 GL9750 SD Host Controller 9755 GL9755 SD Host Controller + 9767 GL9767 SD Host Controller e763 GL9763E eMMC Controller 17aa Lenovo 0003 LENSE20256GMSP34MEAT2TA @@ -23930,6 +24132,8 @@ # Sitecom HFC-S based ISDN controller card DC-105v2 3069 DC-105v2 ISDN controller 18d4 Celestica +# OCP-TAP + 1007 Time Card 18d8 Dialogue Technology Corp. 18dd Artimi Inc 4c6f Artimi RTMI-100 UWB adapter @@ -24676,6 +24880,7 @@ 1a03 ASPEED Technology, Inc. 1150 AST1150 PCI-to-PCI Bridge 2000 ASPEED Graphics Family + 15d9 0821 X10DRW-i 15d9 0832 X10SRL-F 15d9 1b95 H12SSL-i 1a05 deltaww @@ -24826,6 +25031,7 @@ 1ad7 Spectracom Corporation 8000 TSync-PCIe Time Code Processor 9100 TPRO-PCI-66U Timecode Reader/Generator + a000 OCP-TAP [ARTCard] 1ade Spin Master Ltd. 1501 Swipetech barcode scanner 3038 PCIe Video Bridge @@ -25457,6 +25663,7 @@ 0022 FD788 0023 FD722-M2 0024 FD722 with bypass + 0025 FD922 1c28 Lite-On IT Corp. / Plextor 0122 M6e PCI Express SSD [Marvell 88SS9183] # previously Fiberblaze @@ -25656,6 +25863,12 @@ 1c5f 5437 NVMe SSD PBlaze6 6647 3200G 2.5" U.2(dual port) 1c5f 5441 NVMe SSD PBlaze6 6547 6400G 2.5" U.2 1c5f 5447 NVMe SSD PBlaze6 6647 6400G 2.5" U.2(dual port) + 0027 PBlaze7 7A40/7A46 NVMe SSD + 1c5f 1421 NVMe SSD PBlaze7 7A40 1920G 2.5" U.2 + 1c5f 1431 NVMe SSD PBlaze7 7A40 3840G 2.5" U.2 + 1c5f 1441 NVMe SSD PBlaze7 7A40 7680G 2.5" U.2 + 1c5f 5431 NVMe SSD PBlaze7 7A46 3200G 2.5" U.2 + 1c5f 5441 NVMe SSD PBlaze7 7A46 6400G 2.5" U.2 003d PBlaze5 920/926 1c5f 0a30 NVMe SSD PBlaze5 920 3840G AIC 1c5f 0a31 NVMe SSD PBlaze5 920 3840G 2.5" U.2 @@ -25679,9 +25892,12 @@ 1c5f 4b61 NVMe SSD PBlaze6 6936 25600GB 2.5" U.3 003f PBlaze7 7940/7946 NVMe SSD 1c5f 0431 NVMe SSD PBlaze7 7940 3840G 2.5" U.2 + 1c5f 0441 NVMe SSD PBlaze7 7940 7680G 2.5" U.2 + 1c5f 0451 NVMe SSD PBlaze7 7940 15360G 2.5" U.2 1c5f 0c31 NVMe SSD PBlaze7 7940 3840G 2.5" U.2 1c5f 0c41 NVMe SSD PBlaze7 7940 7680G 2.5" U.2 1c5f 0c51 NVMe SSD PBlaze7 7940 15360G 2.5" U.2 + 1c5f 0c61 NVMe SSD PBlaze7 7940 30720G 2.5" U.2 1c5f 1430 NVMe SSD PBlaze7 7940 3840G AIC 1c5f 1431 NVMe SSD PBlaze7 7940 3840G 2.5" U.2 1c5f 1435 NVMe SSD PBlaze7 7940 3840G E1.S @@ -25690,6 +25906,9 @@ 1c5f 1445 NVMe SSD PBlaze7 7940 7680G E1.S 1c5f 1450 NVMe SSD PBlaze7 7940 15360G AIC 1c5f 1451 NVMe SSD PBlaze7 7940 15360G 2.5" U.2 + 1c5f 4431 NVMe SSD PBlaze7 7946 3200G 2.5" U.2 + 1c5f 4441 NVMe SSD PBlaze7 7946 6400G 2.5" U.2 + 1c5f 4451 NVMe SSD PBlaze7 7946 12800G 2.5" U.2 1c5f 4c31 NVMe SSD PBlaze7 7946 3200G 2.5" U.2 1c5f 4c41 NVMe SSD PBlaze7 7946 6400G 2.5" U.2 1c5f 4c51 NVMe SSD PBlaze7 7946 12800G 2.5" U.2 @@ -25775,6 +25994,7 @@ 627a LEGEND 800 NVMe SSD (DRAM-less) # 500GB 628a LEGEND 800 NVMe SSD (DRAM-less) + 642a XPG GAMMIX S50 CORE NVMe SSD (DRAM-less) 8201 XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive 1cc4 Shenzhen Unionmemory Information System Ltd. 1203 NVMe SSD Controller UHXXXa series @@ -25808,6 +26028,8 @@ 6a03 RPETJ512MKP1QDQ PCIe 4.0 NVMe SSD 512GB (DRAM-less) 6a13 RPJYJ512MKN1QWQ PCIe 4.0 NVMe SSD 512GB (DRAM-less) 6a14 RPEYJ1T24MKN2QWY PCIe 4.0 NVMe SSD 1024GB (DRAM-less) + 6b13 RPJYJ512MLR1QWY PCIe 4.0 NVMe SSD 512GB (DRAM-less) + 6b14 RPJYJ1T24MLR1HWY PCIe 4.0 NVMe SSD 1024GB (DRAM-less) 8030 NVMe SSD Controller UH8X2X/UH7X2X series 1cc4 1122 NVMe SSD UH812a U.2 1.92TB 1cc4 1123 NVMe SSD UH812a U.2 3.84TB @@ -25894,6 +26116,7 @@ efa0 Elastic Fabric Adapter (EFA) efa1 Elastic Fabric Adapter (EFA) efa2 Elastic Fabric Adapter (EFA) + efa3 Elastic Fabric Adapter (EFA) 1d17 Zhaoxin 070f ZX-100 PCI Express Root Port 0710 ZX-100/ZX-200 PCI Express Root Port @@ -26106,6 +26329,8 @@ 1028 AR-P2P-ATR [P2P Actor Function] 1029 AR-P2P-UTL [P2P Utility Function] 102a AR-TK242-FX2 [4x100GbE Gen5 Packet Capture-Replay Device] + 102b AR-ARKV-FX1 [Arkville 128B DPDK Data Mover for Versal/CPM5] + 102c AR-TK242-V80 [Gen5 PCAP Processor] 4200 A5PL-E1-10GETI [10 GbE Ethernet Traffic Instrument] 1d72 Xiaomi 1d78 DERA Storage @@ -26255,6 +26480,7 @@ 0010 Networking DOM Engine 0011 IO Bridge 0013 Host Network Interface + 0400 Time Card 1da1 Teko Telecom S.r.l. 1da2 Sapphire Technology Limited 475d Radeon RX 7800 XT [PULSE] @@ -26270,6 +26496,7 @@ 1010 HL-2000 AI Training Accelerator [Gaudi secured] # PCIe accelerator card for Deep Learning training tasks 1020 Gaudi2 AI Training Accelerator + 1060 Gaudi3 AI Training Accelerator 1da8 Corigine, Inc. 3800 Network Flow Processor 3800 3803 Network Flow Processor 3800 Virtual Function @@ -26333,6 +26560,7 @@ 1dbe 5007 Dongting-N3 DC SSD U.2 12800GB 1dbe 5008 Dongting-N3 DC SSD U.2 15360GB 1dbe 5009 Dongting-N3 DC SSD U.2 25600GB + 1dbe 5010 Dongting-N3 DC SSD U.2 30720GB 5669 NVMe SSD Controller IG5669 [Tacoma] 1dbf Guizhou Huaxintong Semiconductor Technology Co., Ltd 0401 StarDragon4800 PCI Express Root Port @@ -26793,6 +27021,7 @@ 1028 223d Ent NVMe CM7 U.2 MU 3.2TB 1028 223e Ent NVMe CM7 U.2 MU 1.6TB 002a Exceria Plus G3 NVMe SSD (DRAM-less) + 002b NVMe SSD Controller CD8P 002c NVMe SSD Controller CD8P EDSFF 1028 22bf DC NVMe CD8P E3.S 15.36TB 1028 22c0 DC NVMe CD8P E3.S 7.68TB @@ -26848,8 +27077,14 @@ 1e3b DapuStor Corporation 0600 NVMe SSD Controller DP600 1e3b 0006 Enterprise NVMe SSD U.2 7.68TB (J5000) + 1e3b 000c Enterprise NVMe SSD U.2 30.72TB (J5060) + 1e3b 000d Enterprise NVMe SSD U.2 61.44TB (J5060) *** 708 LINES SKIPPED *** From nobody Wed Jan 15 17:26:57 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 4YYCbk0Q39z5kPy7; Wed, 15 Jan 2025 17:26:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYCbj72Ncz469W; Wed, 15 Jan 2025 17:26:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736962018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3BTqho66k5UvZ6kGUjCIF+u3h8KjhahqiVrhgUDguR8=; b=tbqIoPUrx58jq7A/vErye8WmmxlxB4u/MjCVxyie9jK1IyPW56DrbwdzM7KwbvwPNcPQcN IjW9avs7wEof6K0PmHmY9cvSde3UdUNUoG/4Z4kstpfy0B8iuuyAfhHhgCMhD0e1/oxpg/ vfvihvWZGKl+lhLJhiwSOl7eGJAawOZJFe8QOxoC6y2bmKyolAXM2vLr/iVDEfvim0xdp1 S1KGeeoyjisGUVfcY5oId/tgyMBtOpXmaXrC3vaUg4FIBXQ8m4I4oPU+KCaojLH9wf+mFm ppWULlV9RL4hDliNeS7NTycfkOrJDhqXvu5bPNq2v5EwgwN8H0Q9UeiBQRanOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1736962018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3BTqho66k5UvZ6kGUjCIF+u3h8KjhahqiVrhgUDguR8=; b=A14/ZGDLzdSB6KG2MlpHiJ1dBZ8IXryUcmND1lkcC2YRFaz0gbneEolH/fIUPfMjfWCF5A 7vnP4CGPuebZUQamaGmrh9duQxJCSUDhla4PXrbLbJM3dUawy/VMz60lfblS4XVJjpaJSH UW0OO5fSaalyNIuURQsWeva2c2mMduhRPBGT5dwiT2VExpOTL+rvS+xbKwP9whcSd4Iv1H cc7b8fcX1d/gnTG4mxX1FrAGZUhZGp7KmOfxhhUKUtY+MoI4dUyV3AVIKG5O6nlMnkYBAe LKc7/Uy9b62Na7Dw+/IoTLwjSD1tAELLPOegkVs7i10rpr4bFwjTq+0cIc2d+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1736962018; a=rsa-sha256; cv=none; b=cftiZEia1RRujaa98QsYNXc1aV8S4nmkEijyiHBsipQbF1IMp52kNOL7H8EdLJc7KnxqQ3 TGz7tzdU+wQnzENDECdwjfA1EJLXqB12Mw1eOHuvLZzotH3WUGUhePpZfWNVgkR997Epda XByc0/b7PyQkFISjWGcT2pP6E6AcQkucrhdS41mU55ZMtrlV9hTh3ClnB/oCSw7ht8ts5m JEUu2GC0+brFXKhMUsW0oYp3Kf8bqWAKIQh0A/nXLzVxlw0WR4T6jL8E4byTD9A7dJLMv5 KB8DfywW7CVJWIx/1IYIW+s8sR8EUO7jvWAPYKcIeidcdd6PmszQwY/S6vfvWg== 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 4YYCbj6DJpzwYK; Wed, 15 Jan 2025 17:26:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50FHQvHH015955; Wed, 15 Jan 2025 17:26:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50FHQvb0015952; Wed, 15 Jan 2025 17:26:57 GMT (envelope-from git) Date: Wed, 15 Jan 2025 17:26:57 GMT Message-Id: <202501151726.50FHQvb0015952@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: 2c5fbcff0717 - stable/14 - libdtrace: Be less strict when comparing pointer types 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: 2c5fbcff0717ab7586a5862a76b8692503662efa Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=2c5fbcff0717ab7586a5862a76b8692503662efa commit 2c5fbcff0717ab7586a5862a76b8692503662efa Author: Mark Johnston AuthorDate: 2024-12-31 19:25:52 +0000 Commit: Mark Johnston CommitDate: 2025-01-15 17:10:57 +0000 libdtrace: Be less strict when comparing pointer types If one of two pointers refers to a forward declaration, let the pointers be compatible so long as the referred types have the same name. Otherwise we can get spurious errors. To give a specific example, this can happen when ipfw_nat.ko is loaded before ipfw.ko and /usr/lib/dtrace/ipfw.d is processed. Currently, ipfw_nat.ko does not have a definition for struct inpcb (i.e., none of its files include in_pcb.h), so in the CTF type graph, struct ip_fw_args' "inp" member refers to a forward declaration, represented in CTF with CTF_K_FORWARD. Then, when libdtrace processes the ipfw_match_info_t translator in ipfw.d, it decides that the "inp" field assignment is incorrect because the two pointers are incompatible. However, there's no harm in allowing this assignment. Add some logic to dt_node_is_ptrcompat() to detect this case and declare the pointers as compatible so long as the name of the thing they refer to is the same, similar to how any pointer is compatible with a void *. Reported by: marck Reviewed by: Domagoj Stolfa MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D48254 (cherry picked from commit 4196f227aa84448ef3cae9e99678fbe787726cf7) --- .../opensolaris/lib/libdtrace/common/dt_parser.c | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_parser.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_parser.c index 2b85dd2b26b6..d1ebaa8791da 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_parser.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_parser.c @@ -1130,6 +1130,29 @@ dt_node_is_ptrcompat(const dt_node_t *lp, const dt_node_t *rp, lp_is_void = ctf_type_encoding(lfp, lref, &e) == 0 && IS_VOID(e); rp_is_void = ctf_type_encoding(rfp, rref, &e) == 0 && IS_VOID(e); + /* + * Let a pointer to a forward declaration be compatible with a pointer + * to a struct or union of the same name. + */ + if (lkind == CTF_K_POINTER && rkind == CTF_K_POINTER) { + int lrkind, rrkind; + + lrkind = ctf_type_kind(lfp, lref); + rrkind = ctf_type_kind(rfp, rref); + if (lrkind == CTF_K_FORWARD || rrkind == CTF_K_FORWARD) { + const char *lname, *rname; + char ln[DT_TYPE_NAMELEN], rn[DT_TYPE_NAMELEN]; + + lname = ctf_type_name(lfp, lref, ln, sizeof (ln)); + rname = ctf_type_name(rfp, rref, rn, sizeof (rn)); + if (lname != NULL && rname != NULL && + strcmp(lname, rname) == 0) { + lp_is_void = lrkind == CTF_K_FORWARD; + rp_is_void = rrkind == CTF_K_FORWARD; + } + } + } + /* * The types are compatible if both are pointers to the same type, or * if either pointer is a void pointer. If they are compatible, set From nobody Thu Jan 16 09:18:20 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 4YYcjS64s7z5lQTy; Thu, 16 Jan 2025 09:18: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 4YYcjS5WBnz3msp; Thu, 16 Jan 2025 09:18:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737019100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eWOyjuYWZW1+dm23UQi8oj2yWOdweTyi2NDmEd71EiQ=; b=wWNVvTlSwZ7wBXKhTiG+0Xg4cW48IoTtwh3Ik80M/VcH/GAcKPpQbx2EKu4bie69NCjz9P icAiLe5yPqXKks9ahjgOXTj4syYyl0zQl3bttbRQqlSRj0Li4qwPA65M97kRHevNd9mOpx PQEW2c0wU1aPYsaD19yN1BnfdpA3XIT9u/JsXNZ3wIWV8HWl7HBJM+G6Mn81o/cU2Ks9Fj ZsIE2rs+6j4ZLjSBYZNhr1W927UnBwQOkVZdt7rrdm+epnI8+ISo3teO/v2bwU3r9UogGa LnCv6B9OedB2f3N0VqMCG7bZ9P6zhuJKFO3EYVIGiiyv+XGr6AAgJT8zha7Rbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737019100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eWOyjuYWZW1+dm23UQi8oj2yWOdweTyi2NDmEd71EiQ=; b=NpkVH3bPwyE+TKz3W+aJGxAd3GajRx3emKvqnwt44X5IB61RDcY0vZLm+Iz33RJUxN6Zhd I/E2+na6gFNFS4qS2VN3DKIGS+VXkPOr0mJGWuGGUm5yCUDoj12YGibLRl2fBWnz/zpUqw c2VEVAROv4wrVrO5A88Z2koi9w70ULF+WZg4pdHfncKjTRV/yPjFdXCPUKC2hhRUXkqUyS zqVHbEK8wWtLoMz0frv5oA22xSL2S2IQQMkxcS1qkrjX+QpyVMw83Q6QZl+yf0crredCId AKDCKJoE4iHK1XDmozGdQH4ccx/5fWLDCLeOcKtI27+HTqazSMpFb3iEIJ6dCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737019100; a=rsa-sha256; cv=none; b=F6lGsp34Rqrlz+DCteslXCYeN3negtx0v4MfqOA6pBv0+nbWYRKBgWNc5Rd9jps9XDwUJR fsd3z6WwUFtab0V9FSponLzEmk+Qy+PILAhBBrNWQ/FP4/bflWOVXTTdMbr7EtViU//R76 9uXl+64OLNO9HG3D51JmP0SS4sAdaesTtLshWZvcE9Yv42dCxFjxiSa7Ej5JCUguh5qWTb VFYlMMuQLSILw6YsT3NIHqw4orkirYZDAQyOHtpqFGam9fzX1NFwxeH71y8sMFq/c127rP kGpTJ/ero6Z13wGLA9GcvzVezTeAP5VkEW9kMb2ZUNxLbc0xRg3lz+f4qzcSyQ== 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 4YYcjS538MzB7B; Thu, 16 Jan 2025 09:18:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50G9IKqA096020; Thu, 16 Jan 2025 09:18:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50G9IKdh096017; Thu, 16 Jan 2025 09:18:20 GMT (envelope-from git) Date: Thu, 16 Jan 2025 09:18:20 GMT Message-Id: <202501160918.50G9IKdh096017@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 16dee1cc652b - stable/14 - bintrans(1): qp switch to getopt_long 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 16dee1cc652b21bb4d03fc24cec259861647a8d5 Auto-Submitted: auto-generated The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=16dee1cc652b21bb4d03fc24cec259861647a8d5 commit 16dee1cc652b21bb4d03fc24cec259861647a8d5 Author: Baptiste Daroussin AuthorDate: 2025-01-08 11:13:54 +0000 Commit: Baptiste Daroussin CommitDate: 2025-01-16 09:18:14 +0000 bintrans(1): qp switch to getopt_long In preparation for more arguments, switch bintrans qp argument parsing to getopt_long, while here make the decodign argument being -d|--decode for compatibility with base64 encoding/decoding MFC After: 1 week Reviewed by: pstef Differential Revision: https://reviews.freebsd.org/D48380 (cherry picked from commit a8d9bd3fa5855fe7583ed05946296ab6b9937d69) --- usr.bin/bintrans/bintrans.1 | 4 +-- usr.bin/bintrans/qp.c | 61 +++++++++++++++++++++++++-------------------- 2 files changed, 36 insertions(+), 29 deletions(-) diff --git a/usr.bin/bintrans/bintrans.1 b/usr.bin/bintrans/bintrans.1 index 3376ecd332ed..4177a5c6b9eb 100644 --- a/usr.bin/bintrans/bintrans.1 +++ b/usr.bin/bintrans/bintrans.1 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 23, 2024 +.Dd January 8, 2025 .Dt BINTRANS 1 .Os .Sh NAME @@ -230,7 +230,7 @@ through a dedicated program: is a quoted-printable converter and accepts the following options: .Bl -tag -width indent -.It Fl u +.It Fl d Decode. .It Fl o Ar output_file Output to diff --git a/usr.bin/bintrans/qp.c b/usr.bin/bintrans/qp.c index c2c9dfa7a224..3bff47945acf 100644 --- a/usr.bin/bintrans/qp.c +++ b/usr.bin/bintrans/qp.c @@ -26,6 +26,7 @@ */ #include +#include #include #include #include @@ -151,44 +152,50 @@ static void usage(void) { fprintf(stderr, - "usage: bintrans qp [-u] [-o outputfile] [file name]\n"); + "usage: bintrans qp [-d] [-o outputfile] [file name]\n"); } int main_quotedprintable(int argc, char *argv[]) { - int i; + int ch; bool encode = true; FILE *fp = stdin; FILE *fpo = stdout; - for (i = 1; i < argc; ++i) { - if (argv[i][0] == '-') { - switch (argv[i][1]) { - case 'o': - if (++i >= argc) { - fprintf(stderr, "qp: -o requires a file name.\n"); - exit(EXIT_FAILURE); - } - fpo = fopen(argv[i], "w"); - if (fpo == NULL) { - perror(argv[i]); - exit(EXIT_FAILURE); - } - break; - case 'u': - encode = false; - break; - default: - usage(); - exit(EXIT_FAILURE); - } - } else { - fp = fopen(argv[i], "r"); - if (fp == NULL) { - perror(argv[i]); + static const struct option opts[] = + { + { "decode", no_argument, NULL, 'd'}, + { "output", required_argument, NULL, 'o'}, + {NULL, no_argument, NULL, 0} + }; + + while ((ch = getopt_long(argc, argv, "do:u", opts, NULL)) != -1) { + switch(ch) { + case 'o': + fpo = fopen(optarg, "w"); + if (fpo == NULL) { + perror(optarg); exit(EXIT_FAILURE); } + break; + case 'u': + /* FALLTHROUGH for backward compatibility */ + case 'd': + encode = false; + break; + default: + usage(); + exit(EXIT_FAILURE); + } + }; + argc -= optind; + argv += optind; + if (argc > 0) { + fp = fopen(argv[0], "r"); + if (fp == NULL) { + perror(argv[0]); + exit(EXIT_FAILURE); } } qp(fp, fpo, encode); From nobody Thu Jan 16 09:18:21 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYcjV0kYjz5lQP7; Thu, 16 Jan 2025 09:18:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYcjT6sZpz3mnv; Thu, 16 Jan 2025 09:18:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737019102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yrNr6Ssphe5mSAioFOsjT46UJVnO2ASjAATUfErB6SE=; b=j1Vimv2YoIwOPkg0QfJvmW9G8K/r/XA38V+nY99iWfz1gOKcao5GXN9imZRXzniE/kZzdJ rQdJIFf0PQxv1WULmjyXWNw0XAYAae6RRccMESuhtZkaUd7iUAbq0XIkDctdNH51RRKpMn VPF1PrR9tXsi25VgoEnJUgZWcx3rRmRBpeazK3EdqsYKLoqaQLVnYxc6iFvMmQBVefQZIW ZvzJYBxsdUEQcgIwv71mY23ZLEg3eMJeSqz6ur5XoKngbdgWpLXs10qn4rDP+6G1cyLyy9 FG5p/BFJ75YTmTW6SV4HX7fAwTpLZuoatrEHuFpCAWvJeIcWp1w3/tZvSOvD7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737019102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yrNr6Ssphe5mSAioFOsjT46UJVnO2ASjAATUfErB6SE=; b=vJ910Q4fooOpCKQg0ZPCeG4CKWJ1kG4rXEaB79VHrJgGYPTYjl1h+HtmEEu8lv9XNFBzoD inWZNJi6rV3Od/4W1Ty7HEbqkXXJd/G9/tc0SC0AGQUF4u8kO+5mPOiz4NbcicL8h5FLwr SQw2cqjBYTSoM5JiLpjXAfAnfskruiULKVjxrAX+qdnWgR78+5SQUQsIDzfG0WN32pIKP3 WCCvs9Pdj6yuiwRfEckDmItQdr0VIYS9za8q9/qI6Zc4n7GrJ/3WJb6cNVmYBa0BEXJrZ4 Ooe8cpQs0gdmFjl54y42pQf2sNHu/bsUC4lWA8vEFuW3BuGv89VwK+wK3ohoZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737019102; a=rsa-sha256; cv=none; b=iOb6z2ORHDYevrYUNas5qKm0kCdZJXsqLzobKAJyDOhl3cFcWZELwUFZ79oiOiTG9y/9pa 7VRvOtOcRDpLn4pnn/dtdDvyz1v2u+fP1ZszZGfQVTWUMypnr6RwKwp9hJbHDCrEnGhfLq eV4WreKsSIBAbZ+ENklXP59wT03mm16b+b+ZUIfteNLloDzc9OM9+WQi16XKzSppTVxCbk z3T7Gv5dpbLgQXg6Y574kfS028DROeRZ95a1nI5juE1+5zZZuPJp17E2kOI5gHVBB47D5B Szj49MFDy4p+123ASnmjTpOTqHfrcGOe2pP6eQ/lu53Ukf5sbHctLMoSuXFLng== 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 4YYcjT6KHjzB7C; Thu, 16 Jan 2025 09:18:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50G9IL0R096069; Thu, 16 Jan 2025 09:18:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50G9IL1G096065; Thu, 16 Jan 2025 09:18:21 GMT (envelope-from git) Date: Thu, 16 Jan 2025 09:18:21 GMT Message-Id: <202501160918.50G9IL1G096065@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 1795eae9a2cf - stable/14 - bintrans(1): RFC2047 variant of quoted print 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1795eae9a2cfdd0d83dc2b76420d55d363627ae7 Auto-Submitted: auto-generated The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=1795eae9a2cfdd0d83dc2b76420d55d363627ae7 commit 1795eae9a2cfdd0d83dc2b76420d55d363627ae7 Author: Baptiste Daroussin AuthorDate: 2025-01-08 12:39:30 +0000 Commit: Baptiste Daroussin CommitDate: 2025-01-16 09:18:14 +0000 bintrans(1): RFC2047 variant of quoted print MFC After: 1 week Reviewed by: pstref Differential Revision: https://reviews.freebsd.org/D48381 (cherry picked from commit beab8b1ddf86a88e0605562f2cc1d6a26c68604f) --- usr.bin/bintrans/bintrans.1 | 2 ++ usr.bin/bintrans/qp.c | 32 +++++++++++++++++++++++--------- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/usr.bin/bintrans/bintrans.1 b/usr.bin/bintrans/bintrans.1 index 4177a5c6b9eb..02571067c8f0 100644 --- a/usr.bin/bintrans/bintrans.1 +++ b/usr.bin/bintrans/bintrans.1 @@ -236,6 +236,8 @@ Decode. Output to .Ar output_file instead of standard output. +.It fl r +Encode/Decode in RFC2047 specific variant. .El .Sh EXAMPLES The following example packages up a source tree, compresses it, diff --git a/usr.bin/bintrans/qp.c b/usr.bin/bintrans/qp.c index 3bff47945acf..862db437f4e0 100644 --- a/usr.bin/bintrans/qp.c +++ b/usr.bin/bintrans/qp.c @@ -51,7 +51,7 @@ decode_char(const char *s) static void -decode_quoted_printable(const char *body, FILE *fpo) +decode_quoted_printable(const char *body, FILE *fpo, bool rfc2047) { while (*body != '\0') { switch (*body) { @@ -80,6 +80,12 @@ decode_quoted_printable(const char *body, FILE *fpo) fputc(decode_char(body), fpo); body += 2; break; + case '_': + if (rfc2047) { + fputc(0x20, fpo); + break; + } + /* FALLTHROUGH */ default: fputc(*body, fpo); break; @@ -89,7 +95,7 @@ decode_quoted_printable(const char *body, FILE *fpo) } static void -encode_quoted_printable(const char *body, FILE *fpo) +encode_quoted_printable(const char *body, FILE *fpo, bool rfc2047) { const char *end = body + strlen(body); size_t linelen = 0; @@ -111,7 +117,10 @@ encode_quoted_printable(const char *body, FILE *fpo) if ((*body == ' ' || *body == '\t') && body + 1 < end && (body[1] != '\n' && body[1] != '\r')) { - fputc(*body, fpo); + if (*body == 0x20 && rfc2047) + fputc('_', fpo); + else + fputc(*body, fpo); prev = *body; } else { fprintf(fpo, "=%02X", (unsigned char)*body); @@ -135,16 +144,16 @@ encode_quoted_printable(const char *body, FILE *fpo) } static void -qp(FILE *fp, FILE *fpo, bool encode) +qp(FILE *fp, FILE *fpo, bool encode, bool rfc2047) { char *line = NULL; size_t linecap = 0; - void (*codec)(const char *line, FILE *f); + void (*codec)(const char *line, FILE *f, bool rfc2047); codec = encode ? encode_quoted_printable : decode_quoted_printable ; while (getline(&line, &linecap, fp) > 0) - codec(line, fpo); + codec(line, fpo, rfc2047); free(line); } @@ -152,7 +161,7 @@ static void usage(void) { fprintf(stderr, - "usage: bintrans qp [-d] [-o outputfile] [file name]\n"); + "usage: bintrans qp [-d] [-r] [-o outputfile] [file name]\n"); } int @@ -160,6 +169,7 @@ main_quotedprintable(int argc, char *argv[]) { int ch; bool encode = true; + bool rfc2047 = false; FILE *fp = stdin; FILE *fpo = stdout; @@ -167,10 +177,11 @@ main_quotedprintable(int argc, char *argv[]) { { "decode", no_argument, NULL, 'd'}, { "output", required_argument, NULL, 'o'}, + { "rfc2047", no_argument, NULL, 'r'}, {NULL, no_argument, NULL, 0} }; - while ((ch = getopt_long(argc, argv, "do:u", opts, NULL)) != -1) { + while ((ch = getopt_long(argc, argv, "do:ru", opts, NULL)) != -1) { switch(ch) { case 'o': fpo = fopen(optarg, "w"); @@ -184,6 +195,9 @@ main_quotedprintable(int argc, char *argv[]) case 'd': encode = false; break; + case 'r': + rfc2047 = true; + break; default: usage(); exit(EXIT_FAILURE); @@ -198,7 +212,7 @@ main_quotedprintable(int argc, char *argv[]) exit(EXIT_FAILURE); } } - qp(fp, fpo, encode); + qp(fp, fpo, encode, rfc2047); return (EXIT_SUCCESS); } From nobody Thu Jan 16 13:10:52 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 4YYjsm41mvz5kR1M; Thu, 16 Jan 2025 13:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYjsm3HYFz44K6; Thu, 16 Jan 2025 13:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737033052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FjPVXF1c+o1IAhjLekuykmhydHYl5lGwDGZqKuDnWTw=; b=Cp24wxLd0JHQQOD2rHPyBw70dyftEdYM+byjSG3B7VJJMHVT8QcQHvLFXKB8JNVTCkN0D4 8Y/OLlJINqTi9r5phYRSC5f0jLXODsxO7N74llDF0JZKvjDHVYCxye/PpjM5ofl32bS9Vc JyWQuc/a4PLdCdWiFP76f7lbz0VGW2eWwC+P7FWGFciYUIgCF0/9tKEhhUQdNcgv7E7ZcW 6Ag1/4lIe22C3hQDEzjo57tKI4cBblgiw4tgXX8s/VzcvDN00qJ0XWoZpIlNoQnJSqhdyQ x2WV0tCHaKKRN6smxM93dRkc6qzNGXTWja58f8mRzhFbpwa9TO9tidRd7JTe5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737033052; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FjPVXF1c+o1IAhjLekuykmhydHYl5lGwDGZqKuDnWTw=; b=rxig5kyBM3c45a9MQTf7koYSXmd1+ieajpFpfh+ZtELLhe0fZEfAZsiYfnc2Ues1mHZOlE dqYAlQHyz6M2RkF+P93om8682BlzVAbdPtDHzzLyfhdIBDq8J0wrQmVW++0oVC5/7i5n+C wHZHzj5op0H/lgKNKkf06Hk3SUM8FwekoaSpXSs0VG+oF5iO8OyVDV9WVdjIEJil0rgoJQ 5Eb7/jLF/nF0UK1L4ZeuOcy6AMDtktE0U9tbBQ6hgSAToI7mv5+3stqM6Ba1rRCo0gnYKp TzeycPvqoP181w2U8j5l3VtH08Ro75knRzTL3Ik/XchM3+sV/b7H2NVtSk8rEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737033052; a=rsa-sha256; cv=none; b=VkBwLg2eabHYqfCR6hSo0zNU/HeYtRT7VcANQ6ydoOOqRwuyu/BAB/dQHHpkm0E79PsBZG gxQS311XOR6+A3JJs958SoGBa3xK4O4uH9bg/QN1ro1rw4u3ce/42pFtolM2Xlvp/wLF5e YyPO1zYPaP8Iljmv46lqNv8pUEBdr0Q89hptegL2h5KdqAp1tWMf58mOSLuiWo5sZZ9uYM 3BG1xB7E1G1VunSp0atBCchUv0xe5XXyktLk5sXH571rPCX+HdwuAzLtD8NxPv51apxSNZ s+ZAnbciOzKtyKDrM6vSNN0eD3XmuATqAEYOX/WkmSPBlVMrYn0yf0gb/TXNbw== 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 4YYjsm2pn7zZhJ; Thu, 16 Jan 2025 13:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GDAq34040204; Thu, 16 Jan 2025 13:10:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GDAqwp040201; Thu, 16 Jan 2025 13:10:52 GMT (envelope-from git) Date: Thu, 16 Jan 2025 13:10:52 GMT Message-Id: <202501161310.50GDAqwp040201@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: f538407b1ac2 - stable/14 - hda: Add patch for Framework Laptop Intel 13th gen 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: f538407b1ac238abda529d653d01ea6cc88dad27 Auto-Submitted: auto-generated The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f538407b1ac238abda529d653d01ea6cc88dad27 commit f538407b1ac238abda529d653d01ea6cc88dad27 Author: Daniel Schaefer AuthorDate: 2025-01-04 15:53:37 +0000 Commit: Ed Maste CommitDate: 2025-01-16 13:10:33 +0000 hda: Add patch for Framework Laptop Intel 13th gen It uses the same audio codec as 12th gen (PCI ID 0x0002). Actually everything is the same, except the CPU. Signed-off-by: Daniel Schaefer (cherry picked from commit 48b9d78a0a9d795cfdeb56895a27309aadd50c77) --- sys/dev/sound/pci/hda/hdaa_patches.c | 3 ++- sys/dev/sound/pci/hda/hdac.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c index d425e3c0080b..3c063deb0822 100644 --- a/sys/dev/sound/pci/hda/hdaa_patches.c +++ b/sys/dev/sound/pci/hda/hdaa_patches.c @@ -330,7 +330,8 @@ hdac_pin_patch(struct hdaa_widget *w) } } else if (id == HDA_CODEC_IDT92HD95B && (subid == FRAMEWORK_LAPTOP_0001_SUBVENDOR || - subid == FRAMEWORK_LAPTOP_0002_SUBVENDOR)) { + subid == FRAMEWORK_LAPTOP_0002_SUBVENDOR || + subid == FRAMEWORK_LAPTOP_0003_SUBVENDOR)) { switch (nid) { case 10: patch_str = "as=1 seq=15 color=Black loc=Left"; diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h index d00ad4e4705c..f0e72f091a85 100644 --- a/sys/dev/sound/pci/hda/hdac.h +++ b/sys/dev/sound/pci/hda/hdac.h @@ -528,6 +528,7 @@ #define FRAMEWORK_VENDORID 0xf111 #define FRAMEWORK_LAPTOP_0001_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0001) #define FRAMEWORK_LAPTOP_0002_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0002) +#define FRAMEWORK_LAPTOP_0003_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0003) /* All codecs you can eat... */ #define HDA_CODEC_CONSTRUCT(vendor, id) \ From nobody Thu Jan 16 15:02: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 4YYmLZ6gbhz5kYFF for ; Thu, 16 Jan 2025 15:02:30 +0000 (UTC) (envelope-from freebsd@oldach.net) Received: from nuc.oldach.net (hmo.in-vpn.de [IPv6:2001:67c:1407:60::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "nuc.oldach.net", Issuer "E5" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYmLX3yN7z4JLF for ; Thu, 16 Jan 2025 15:02:28 +0000 (UTC) (envelope-from freebsd@oldach.net) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of freebsd@oldach.net designates 2001:67c:1407:60::1 as permitted sender) smtp.mailfrom=freebsd@oldach.net; dmarc=pass (policy=none) header.from=oldach.net Received: from nuc.oldach.net (localhost [127.0.0.1]) by nuc.oldach.net (8.18.1/8.18.1) with ESMTPS id 50GF2F2D009130 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Thu, 16 Jan 2025 16:02:15 +0100 (CET) (envelope-from freebsd@oldach.net) Received: (from hmo@localhost) by nuc.oldach.net (8.18.1/8.18.1/Submit) id 50GF2FSt009129; Thu, 16 Jan 2025 16:02:15 +0100 (CET) (envelope-from freebsd@oldach.net) Message-Id: <202501161502.50GF2FSt009129@nuc.oldach.net> X-Authentication-Warning: nuc.oldach.net: hmo set sender to freebsd@oldach.net using -f Subject: Re: git: 1795eae9a2cf - stable/14 - bintrans(1): RFC2047 variant of quoted print In-Reply-To: <202501160918.50G9IL1G096065@gitrepo.freebsd.org> from Baptiste Daroussin at "16 Jan 2025 09:18:21" To: bapt@FreeBSD.org (Baptiste Daroussin) Date: Thu, 16 Jan 2025 16:02:15 +0100 (CET) Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: freebsd@oldach.net (Helge Oldach) X-No-Archive: Yes 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=US-ASCII Content-Transfer-Encoding: 7bit X-Greylist: inspected by milter-greylist-4.6.4 (nuc.oldach.net [0.0.0.0]); Thu, 16 Jan 2025 16:02:15 +0100 (CET) for IP:127.0.0.1 DOMAIN:localhost HELO:nuc.oldach.net FROM:freebsd@oldach.net RCPT: X-Spamd-Result: default: False [-3.75 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; NEURAL_HAM_LONG(-0.95)[-0.948]; DMARC_POLICY_ALLOW(-0.50)[oldach.net,none]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; FROM_NO_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:29670, ipnet:2001:67c:1400::/45, country:DE]; MISSING_XM_UA(0.00)[]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-branches@FreeBSD.org]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; HAS_XAW(0.00)[]; MID_RHS_MATCH_FROMTLD(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_NONE(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Spamd-Bar: --- X-Rspamd-Queue-Id: 4YYmLX3yN7z4JLF Baptiste Daroussin wrote on Thu, 16 Jan 2025 10:18:21 +0100 (CET): > The branch stable/14 has been updated by bapt: > > URL: https://cgit.FreeBSD.org/src/commit/?id=1795eae9a2cfdd0d83dc2b76420d55d363627ae7 > > commit 1795eae9a2cfdd0d83dc2b76420d55d363627ae7 > Author: Baptiste Daroussin > AuthorDate: 2025-01-08 12:39:30 +0000 > Commit: Baptiste Daroussin > CommitDate: 2025-01-16 09:18:14 +0000 > > bintrans(1): RFC2047 variant of quoted print > > MFC After: 1 week > Reviewed by: pstref > Differential Revision: https://reviews.freebsd.org/D48381 > > (cherry picked from commit beab8b1ddf86a88e0605562f2cc1d6a26c68604f) > --- > usr.bin/bintrans/bintrans.1 | 2 ++ > usr.bin/bintrans/qp.c | 32 +++++++++++++++++++++++--------- > 2 files changed, 25 insertions(+), 9 deletions(-) > > diff --git a/usr.bin/bintrans/bintrans.1 b/usr.bin/bintrans/bintrans.1 > index 4177a5c6b9eb..02571067c8f0 100644 > --- a/usr.bin/bintrans/bintrans.1 > +++ b/usr.bin/bintrans/bintrans.1 > @@ -236,6 +236,8 @@ Decode. > Output to > .Ar output_file > instead of standard output. > +.It fl r > +Encode/Decode in RFC2047 specific variant. That should probably read "Fl" not "fl"? Kind regards Helge From nobody Thu Jan 16 15:23: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 4YYmpH2kpBz5kYt5; Thu, 16 Jan 2025 15:23: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 4YYmpH1sDQz4KjN; Thu, 16 Jan 2025 15:23:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737040983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e9y6XAIQogJmz+Crj/oSVLuOl88XX8yoZEs54JKxCMo=; b=J4w93QB4GBlVfi+lTl5jFqkxXWWUUFqTK5h7kF9GVEBLtBgckUw33vzVAUJkPVFC2yxs3t +EEhjfjC5vpxYaPdY2N6/OzLK7LyAMDf8bS5EVBOG9TcqgYBhjxcDG99W/isQ05EYY/oM3 z8prailg6x0/9HsKXphCDNq+R0GPFGyYBxEFkqtZy3ttWJnak/gIPPDR4h92Q6D6cHlkco dWLmh1imxSKL/9+0R/yVD6g3LwTvvkUQrMKo28CHC5gJPZ6S03ZX9Qo8bpADxUG92IPrgY cMkDyPEUHF3HscgP/D4r0xDLxTesD76sYA2hpmEqAiLIIEctX8n8ae8smtR6Bg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737040983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e9y6XAIQogJmz+Crj/oSVLuOl88XX8yoZEs54JKxCMo=; b=DDr7DA44ByTshUSBJjY+Jw5f+pHywLzF7vqdcezgy6LKJjQ7BrjuxW+SNk96UcDH+J+i5d hZS4t12s2leIOJihBOXBFSS/NW8pJOXXPm46TG6HrNSQTI2e6KashQ0IWzimnZRLKcw8ku VDYOvBtERiiWOFjVahgC5ZXuIdnPLpv+/O40K63BouMZnQ+Pp7Q+a/Uaqqx4KJPfkfAhuy t3lhUw2lRbOzi+mwHAbg1I7wwSYCG716HP/JYvk+80QDuy5FBfPkkBZEpOQ7cGFERt+Jkg HwBVysqqaR1LoKC7oJSbJhAb2C+HolmTSFxthzrKED4i2gKLEy7eKccNif1RKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737040983; a=rsa-sha256; cv=none; b=Rk6hmJANP8T+RPF4tiNEYvA0llDAdmagOEcIL66cE8BQrUC+nLCe9W23MNpkAYMiMbihcA yYw1gxSVu++MXdVS/dY1bqenl9r2zjTg9VF8fUShrbkoflnS1g9yiIBT0W2bjw3CbTsS3/ qOxPQbSheL1IlxqxBdysWDldQFaZrYHfqCLvMvhBwpVuikwDZ1W8yrIYjE5nzIptj/PgO6 12NGb99GzgaADS7N9JGstchxgm1PmM5UtL20gt+INKYcxjfmFcR8lhXB/LBqii3cdBuMJk BLdUnxG9KaW/C8INPuPD5Ai15Q/5Z0p8h5ntVWyVDsjkegyKm2DeJ1KkunXjMg== 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 4YYmpH18N0zfHT; Thu, 16 Jan 2025 15:23: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 50GFN3R5087861; Thu, 16 Jan 2025 15:23:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GFN3lV087858; Thu, 16 Jan 2025 15:23:03 GMT (envelope-from git) Date: Thu, 16 Jan 2025 15:23:03 GMT Message-Id: <202501161523.50GFN3lV087858@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: 635c2b82f60e - stable/13 - pf tests: check cleared time when zeroing stats for table addresses 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: 635c2b82f60e7417746a03d4d22c7fafd08f7e7c Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=635c2b82f60e7417746a03d4d22c7fafd08f7e7c commit 635c2b82f60e7417746a03d4d22c7fafd08f7e7c Author: Leonid Evdokimov AuthorDate: 2025-01-02 09:30:06 +0000 Commit: Kristof Provost CommitDate: 2025-01-16 08:42:04 +0000 pf tests: check cleared time when zeroing stats for table addresses Verify that we reset the cleared time when we zero an address' counters in a table. PR: 282877, 282984 Reviewed by: kp MFC after: 2 weeks Signed-off-by: Leonid Evdokimov Differential Revision: https://reviews.freebsd.org/D48242 (cherry picked from commit 0749d8134300b8e3c956e161890ab496247d2542) --- tests/sys/netpfil/pf/table.sh | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/tests/sys/netpfil/pf/table.sh b/tests/sys/netpfil/pf/table.sh index b650884c7c30..b2fb2ea728e8 100644 --- a/tests/sys/netpfil/pf/table.sh +++ b/tests/sys/netpfil/pf/table.sh @@ -116,6 +116,20 @@ zero_one_head() atf_set require.user root } +pft_cleared_ctime() +{ + jexec "$1" pfctl -t "$2" -vvT show | awk -v ip="$3" ' + ($1 == ip) { m = 1 } + ($1 == "Cleared:" && m) { + sub("[[:space:]]*Cleared:[[:space:]]*", ""); print; exit }' +} + +ctime_to_unixtime() +{ + # NB: it's not TZ=UTC, it's TZ=/etc/localtime + date -jf '%a %b %d %H:%M:%S %Y' "$1" '+%s' +} + zero_one_body() { epair_send=$(vnet_mkepair) @@ -145,16 +159,31 @@ zero_one_body() -o match:'Out/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \ jexec alcatraz pfctl -t foo -T show -vv + local uniq base ts1 ts3 + uniq=`jexec alcatraz pfctl -t foo -vvT show | sort -u | grep -c Cleared` + atf_check_equal 1 "$uniq" # time they were added + + base=`pft_cleared_ctime alcatraz foo 192.0.2.1` + atf_check -s exit:0 -e ignore \ jexec alcatraz pfctl -t foo -T zero 192.0.2.3 + ts1=`pft_cleared_ctime alcatraz foo 192.0.2.1` + atf_check_equal "$base" "$ts1" + + ts3=`pft_cleared_ctime alcatraz foo 192.0.2.3` + atf_check test "$ts1" != "$ts3" + + ts1=`ctime_to_unixtime "$ts1"` + ts3=`ctime_to_unixtime "$ts3"` + atf_check test $(( "$ts3" - "$ts1" )) -lt 10 # (3 pings * 2) + epsilon + atf_check test "$ts1" -lt "$ts3" + # We now have a zeroed and a non-zeroed counter, so both patterns # should match atf_check -s exit:0 -e ignore \ -o match:'In/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \ -o match:'Out/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \ - jexec alcatraz pfctl -t foo -T show -vv - atf_check -s exit:0 -e ignore \ -o match:'In/Pass:.*'"$TABLE_STATS_ZERO_REGEXP" \ -o match:'Out/Pass:.*'"$TABLE_STATS_ZERO_REGEXP" \ jexec alcatraz pfctl -t foo -T show -vv From nobody Thu Jan 16 15:23: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 4YYmpJ0gHxz5kZ87; Thu, 16 Jan 2025 15:23: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 4YYmpH69CJz4KrS; Thu, 16 Jan 2025 15:23:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737040983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fpt+/u5hV0JXvwrdl4Of6bdvZzin5D0lSuhfN6tr3Ew=; b=XbruP7c4GVVdCz/Wd2OcmYoPedU4QvwCBJ0VahUTn6ub0s2G0CxfzWPmZokuXTcfh5PYbW HPxA7IApJ27cE9G0nKqArBceib2ixURF7Da7XwmT/OttblfJqpBM1l+67KV4knFBtxDj5F fk6rCKAa9Ffc8E29EqIS/iigKoWD/+CAxPwjyHcxoKpN3ndkkPw92yLfxiwnLgCc8s3yG2 HOpSea6eEWQhCtNKCIQdWFUlWwmqOJHZONhvBUNOOf4vKoRub3yZeriAlIpdbrofKJtxz9 F8gRpdZ44gxYdUzj3wvgdAWuH4h1aXQaFQE1DIowbh2zBIWLUjqL7Hn0tYfvUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737040983; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fpt+/u5hV0JXvwrdl4Of6bdvZzin5D0lSuhfN6tr3Ew=; b=fO2pPLgbDbhbA50EuFeAEkqfqlUlZs02LMF1sP+7mzzbAJGgXsJv3WEl5Y8FrZ3IhCHjnF w2+vd4GCDYhBq7lSFGdjvW8ONGxn/L4tJkRCQFvzaHQJrPUEUUUIk/tMC1Iw99bAr52qdr pTlwXNz0dKZOPalHd6yyg58UTMBLWC/YWLyp/5HSXzJ/QKBHaQAOsrLgkuD98S9xnowFC7 ZzJT2pCTiQ3lM4kMuS26ME6gn5C1HiGwIDrKqMpsVlZwKZpVxhOBamiSDpOXYJl7GaT2Wv 4WVkTd+V0wqLhC5IjTBVU89ebBN2kX7LPn7x7FT4SqI9qVJRfsigSjEhFVFffg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737040983; a=rsa-sha256; cv=none; b=obbexrXSEfEU3+dhHp2Hs1U01SNwPlsAO06CWb0D6RS5dFGHDaJxN0xEDglt5juxtCUeIe qg8GaaIUj02spotZ9uXhVOKEgeQM5wYcNP5QOHBJRBuBOvQL6spNXoffei3cOZRg03qLY6 N0r89bJ3fXx3SU+PuKp83LDDsQY9uWhtxGvcatvFzuWf5VwEUS/+0x/MMou9do/JNAbwx5 d+ZOkeLGzhs8sBhv8e+yfBsfvXf/gDbcnxaUY3Tpmo/FtohtxQTBsfPk4Fq8DO1q0S/2Zc 7Y582Dd3T7VA0HNG6JXc4scxrp11RsUKNDdtq2hBd38zEUgbYJqBmROjuvSLuw== 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 4YYmpH5Rb6zdZs; Thu, 16 Jan 2025 15:23: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 50GFN3QF087976; Thu, 16 Jan 2025 15:23:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GFN3Q2087973; Thu, 16 Jan 2025 15:23:03 GMT (envelope-from git) Date: Thu, 16 Jan 2025 15:23:03 GMT Message-Id: <202501161523.50GFN3Q2087973@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: 3870483ec496 - stable/14 - pf tests: check cleared time when zeroing stats for table addresses 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: 3870483ec496544c5c1d1b29903cb2ca6872646d Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=3870483ec496544c5c1d1b29903cb2ca6872646d commit 3870483ec496544c5c1d1b29903cb2ca6872646d Author: Leonid Evdokimov AuthorDate: 2025-01-02 09:30:06 +0000 Commit: Kristof Provost CommitDate: 2025-01-16 15:20:34 +0000 pf tests: check cleared time when zeroing stats for table addresses Verify that we reset the cleared time when we zero an address' counters in a table. PR: 282877, 282984 Reviewed by: kp MFC after: 2 weeks Signed-off-by: Leonid Evdokimov Differential Revision: https://reviews.freebsd.org/D48242 (cherry picked from commit 0749d8134300b8e3c956e161890ab496247d2542) --- tests/sys/netpfil/pf/table.sh | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/tests/sys/netpfil/pf/table.sh b/tests/sys/netpfil/pf/table.sh index 62c9d66d80ce..f655463f3c03 100644 --- a/tests/sys/netpfil/pf/table.sh +++ b/tests/sys/netpfil/pf/table.sh @@ -116,6 +116,20 @@ zero_one_head() atf_set require.user root } +pft_cleared_ctime() +{ + jexec "$1" pfctl -t "$2" -vvT show | awk -v ip="$3" ' + ($1 == ip) { m = 1 } + ($1 == "Cleared:" && m) { + sub("[[:space:]]*Cleared:[[:space:]]*", ""); print; exit }' +} + +ctime_to_unixtime() +{ + # NB: it's not TZ=UTC, it's TZ=/etc/localtime + date -jf '%a %b %d %H:%M:%S %Y' "$1" '+%s' +} + zero_one_body() { epair_send=$(vnet_mkepair) @@ -145,16 +159,31 @@ zero_one_body() -o match:'Out/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \ jexec alcatraz pfctl -t foo -T show -vv + local uniq base ts1 ts3 + uniq=`jexec alcatraz pfctl -t foo -vvT show | sort -u | grep -c Cleared` + atf_check_equal 1 "$uniq" # time they were added + + base=`pft_cleared_ctime alcatraz foo 192.0.2.1` + atf_check -s exit:0 -e ignore \ jexec alcatraz pfctl -t foo -T zero 192.0.2.3 + ts1=`pft_cleared_ctime alcatraz foo 192.0.2.1` + atf_check_equal "$base" "$ts1" + + ts3=`pft_cleared_ctime alcatraz foo 192.0.2.3` + atf_check test "$ts1" != "$ts3" + + ts1=`ctime_to_unixtime "$ts1"` + ts3=`ctime_to_unixtime "$ts3"` + atf_check test $(( "$ts3" - "$ts1" )) -lt 10 # (3 pings * 2) + epsilon + atf_check test "$ts1" -lt "$ts3" + # We now have a zeroed and a non-zeroed counter, so both patterns # should match atf_check -s exit:0 -e ignore \ -o match:'In/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \ -o match:'Out/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \ - jexec alcatraz pfctl -t foo -T show -vv - atf_check -s exit:0 -e ignore \ -o match:'In/Pass:.*'"$TABLE_STATS_ZERO_REGEXP" \ -o match:'Out/Pass:.*'"$TABLE_STATS_ZERO_REGEXP" \ jexec alcatraz pfctl -t foo -T show -vv From nobody Thu Jan 16 15:49:23 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYnNg4yxQz5kbFW; Thu, 16 Jan 2025 15:49:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYnNg3jWLz4PRx; Thu, 16 Jan 2025 15:49:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737042563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a+cDIRFaYXn044JShC3OKoEPd/bpLZRMZYXCkUjQNnM=; b=Bv/LbXo0jGJSUZGFr5zKICOwxXcupXcWdtKkZX6/zkOSpdu+6JCM4zglCsYuaywJ8jZXfc X6j97Gj5Bxu1YUhPK0vTRufV72yKWiWayJu4fYENpSRvP3Xfcw7KYJObOggWkHKIhZH4e6 CPdrZcGKJ1ktNOqKhwnqEVgvlCbuGyjVIT1AzVMnZHAjUSTLdDOgQ1HhJ4Kz7EW/UQAKxx xnOOmWmm147yd+bP7Y6gijmGziWfzaUwIztHpC1Qt8SBerQryvcQAUUzRjqpDpGcQgt0CJ FnWNsJVHPjIeUS53OuGiesmt+iBsL4zD/N/HThjXMHTCHNK6hcjoNeKRSp138A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737042563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a+cDIRFaYXn044JShC3OKoEPd/bpLZRMZYXCkUjQNnM=; b=A996PZ1p+oBOuqf3N+FDJOCH/xF71qTkm2mjnrFhho2wI4kEihwybufvtqS/vHzTk14rqC HsbG/9i4jtXWxNBm8lHvH9rmg46TovIC0yKEvEB0fKdg6ayLe0BYI0WBTHAGt2lXQ2qt3w Ez0ZCg7zxd51poAZz8ms0tlZv3ERnLYusbsbVaZvwCwUeg6bHydYQGSUWxraVVDZ6PUFn8 +0Ixlsu0g562cDtWsdOrxD0MSHbiGNuAOGcjWT6nip1S94Ypwr+J5FXYjJVj1hufb6DM4B uvvbH1cTTkrbrlCa5gQLtGDYEx3vvhTQSoOUngfUMzHdBnYO1iAjSTCRdkUmjQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737042563; a=rsa-sha256; cv=none; b=SBWmAD0bk0cvGMfxXbzzhYUIgl9wHrMvZ8Bc2XAlDelm6RMXR/LYaQ6kXYovAVLig3D2Gs 0+IOvL3QTYJgWrnt82XHpQlAg4BMDi8IfuJfeAZnI1Uuv4+f9pOyhtjyxj6Rm5ZRl0+1r/ p8Xu2fNq4nBCDnVuOyWnahPSjABpxmhvit4koOWA2cEFl/PYy2Gv5gdtBqMd8q3qUeOvhk tHhNvBA7TfH4QyiclCIof4D4Z0uLlub83e3tTlHyvWiFGt2NjmHinxHU/UMHchW17cjJae RFfNrS0F+PhuklqEd/AJYkmE0Oedtu3Jb86uBfm7k4M3P2AxssYOw6t3cPOdjQ== 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 4YYnNg3J9gzfKP; Thu, 16 Jan 2025 15:49:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GFnN8S026850; Thu, 16 Jan 2025 15:49:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GFnNFw026847; Thu, 16 Jan 2025 15:49:23 GMT (envelope-from git) Date: Thu, 16 Jan 2025 15:49:23 GMT Message-Id: <202501161549.50GFnNFw026847@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Baptiste Daroussin Subject: git: 279d6c5173ff - stable/14 - bintrans(1): fix typo List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bapt X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 279d6c5173ffb4f47c37f97ca54948628ce6650c Auto-Submitted: auto-generated The branch stable/14 has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=279d6c5173ffb4f47c37f97ca54948628ce6650c commit 279d6c5173ffb4f47c37f97ca54948628ce6650c Author: Baptiste Daroussin AuthorDate: 2025-01-16 15:48:10 +0000 Commit: Baptiste Daroussin CommitDate: 2025-01-16 15:49:17 +0000 bintrans(1): fix typo Reported by: Helge Oldach --- usr.bin/bintrans/bintrans.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/bintrans/bintrans.1 b/usr.bin/bintrans/bintrans.1 index 02571067c8f0..73baac115de4 100644 --- a/usr.bin/bintrans/bintrans.1 +++ b/usr.bin/bintrans/bintrans.1 @@ -236,7 +236,7 @@ Decode. Output to .Ar output_file instead of standard output. -.It fl r +.It Fl r Encode/Decode in RFC2047 specific variant. .El .Sh EXAMPLES From nobody Thu Jan 16 15:49: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 4YYnP71lsWz5kb0m; Thu, 16 Jan 2025 15:49:47 +0000 (UTC) (envelope-from bapt@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYnP715jrz4Pq5; Thu, 16 Jan 2025 15:49:47 +0000 (UTC) (envelope-from bapt@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737042587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=wZQZr8h5NLZEjm67GayVBlQyFWklCDFUsXoK4LvTA/Y=; b=rFKn7M4sVgi65LYM1uPxT6lJSobQ1wfhvBSavFyi0KqBDzS3Q2Iwmpm3TT/HEGzifFsyq2 uV5AoxmhxVgakIeOkQjRWVLxlkrwUTRUhlHgV24loytlxYChRDvAHuex47216qUv6GB5FG vdKmoapBMQ6APwe3SPLrr6kaF/MLn+iFlfGJk5967LPq+CP619g5SoU6JHJ7ynmC1WDP/P B3O9zs8Ls0fR9wrNRBDqeRhcMlaJJkyQxG8wqRV7zXxMxpAGKto+2eUEJtN9zgwJXtTXEo OrBU81UvCTcZ8IOmwO4CT/0wqR88VBTC4oVlQVzTwbQnURdWtF3GBj43cUvRqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737042587; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=wZQZr8h5NLZEjm67GayVBlQyFWklCDFUsXoK4LvTA/Y=; b=tu0uF6+mBG667mvjqtiyRx6InHn/i6qrihWEu0fz2mdR1AK40wtC0prwMHrDHYl9gftKGh Upet1SzlFHDhw6LMcRrUeZhH+0rNqooVpybq/iSaxumBA6Il/tUIh4cC1Wnv/Cz+tDX49v Yv03uHYIicl2iYa7Q/Zt6dhI6Xpu1r4+5btEShxAmUOKZB1z9AFSvBdcOSwcdvHfYPKM09 wxDyWraf3MHcVMsgombipur24/KHA90bMooTjLmn3vO9F/XaKWIfwG6BrzfKcdWpm0qiFh Yp+bciMk9jJOhHs5YkFgAH0uFn1TdcfjxNbskXuwLP1bCgziWjUkSLJPsPxgrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737042587; a=rsa-sha256; cv=none; b=eKQ7kvW0a9uq37pBtsnW1VLAcKOvzgRYsr+OE1EC02mo6/KuvflfA4Efdldch4vLRn/8Jm Lk0jml97UQDuw6j+weqgWqHjE+bfs4gb39UmqpDoysOEXcRp4++/T1gYhI/E3AfOjwRnZt f+1cpaATfpGokqTRuwxs82+hMiDeqXLULXwtRROZggZ5Myrk3dzS6nuL9VfbIOI+bUHPd2 pryRTxhzhYuscMK6U/HQi+7uNMDOqRn22v2eZkRbYsfOJK2bdl6DrhPF28EAnOJ2v5TnSe gvlWJbRIHY1NXtiDpBHfDpqygSKcVUH1Qg7BKh5qGlPlVVlr1SmCvv4w7US1Gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from aniel.nours.eu (nours.eu [176.31.115.77]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: bapt) by smtp.freebsd.org (Postfix) with ESMTPSA id 4YYnP66nWqzrjL; Thu, 16 Jan 2025 15:49:46 +0000 (UTC) (envelope-from bapt@freebsd.org) Received: by aniel.nours.eu (Postfix, from userid 1001) id 66126153691; Thu, 16 Jan 2025 16:49:45 +0100 (CET) Date: Thu, 16 Jan 2025 16:49:45 +0100 From: Baptiste Daroussin To: Helge Oldach Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-branches@freebsd.org Subject: Re: git: 1795eae9a2cf - stable/14 - bintrans(1): RFC2047 variant of quoted print Message-ID: References: <202501160918.50G9IL1G096065@gitrepo.freebsd.org> <202501161502.50GF2FSt009129@nuc.oldach.net> 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=us-ascii Content-Disposition: inline In-Reply-To: <202501161502.50GF2FSt009129@nuc.oldach.net> On Thu 16 Jan 16:02, Helge Oldach wrote: > Baptiste Daroussin wrote on Thu, 16 Jan 2025 10:18:21 +0100 (CET): > > The branch stable/14 has been updated by bapt: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=1795eae9a2cfdd0d83dc2b76420d55d363627ae7 > > > > commit 1795eae9a2cfdd0d83dc2b76420d55d363627ae7 > > Author: Baptiste Daroussin > > AuthorDate: 2025-01-08 12:39:30 +0000 > > Commit: Baptiste Daroussin > > CommitDate: 2025-01-16 09:18:14 +0000 > > > > bintrans(1): RFC2047 variant of quoted print > > > > MFC After: 1 week > > Reviewed by: pstref > > Differential Revision: https://reviews.freebsd.org/D48381 > > > > (cherry picked from commit beab8b1ddf86a88e0605562f2cc1d6a26c68604f) > > --- > > usr.bin/bintrans/bintrans.1 | 2 ++ > > usr.bin/bintrans/qp.c | 32 +++++++++++++++++++++++--------- > > 2 files changed, 25 insertions(+), 9 deletions(-) > > > > diff --git a/usr.bin/bintrans/bintrans.1 b/usr.bin/bintrans/bintrans.1 > > index 4177a5c6b9eb..02571067c8f0 100644 > > --- a/usr.bin/bintrans/bintrans.1 > > +++ b/usr.bin/bintrans/bintrans.1 > > @@ -236,6 +236,8 @@ Decode. > > Output to > > .Ar output_file > > instead of standard output. > > +.It fl r > > +Encode/Decode in RFC2047 specific variant. > > That should probably read "Fl" not "fl"? > > Kind regards > Helge Good catch, fixed, thank you! Best regards, Bapt From nobody Thu Jan 16 18:07:58 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrSZ30C1z5kktJ; Thu, 16 Jan 2025 18:07:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrSZ2H1Pz3R9V; Thu, 16 Jan 2025 18:07:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hUxlhvxX4K6KBFbwK7UmY+pl/7Bas3LHF2FFftMbMW0=; b=TvCH6USAJf1zpB6T8sGXC8lOYz4AbNZBAbFp8OdYLt3FVhKX0dYqMQw5Cc70CPuK68C1WA 26qeDTDpQljcehpL3L+7PnL4QdJhpfrgvr8xlsgPVeutMhgnzedmB3USZBd06kxLTsOFZz TvxOB2oP3sYIpapzzrZSBL8s+tr6vJuncnLZ/hzW8jubTpBHaH2XPqZ9rzULdfz/VKTVUK iC3JzkaCoo0bk+v9Vj77csUYpw9OQ6wRKCUOEkEsX/sqaI2VngQhup01lTBR7NuOOdr755 ZqMtFyAag9VMLvGFB9uFTliXYtiLOu+I4py7s0AxujgVnBwxe7ZglNSSm/2AaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hUxlhvxX4K6KBFbwK7UmY+pl/7Bas3LHF2FFftMbMW0=; b=isYpEEKm2bd3H503Nbo86uk0hm6V8IK05ETPnpJn+KiSCgaEwhuFkecqpN8P71C+gD15Er NjXgZyxiM4LSKyaWqaBkDxVbGTq+3BdFfb3EccdcxuJbnN2mbChvqt8Gcf5IVVLtfftDEr ScEfQ+TrEIyYvVXSwgxIDs+qtkeFH6NYBZBfpKmsJIGtEj5IwhjN/KVN5Gjt5fw4dbxPGg zJ3n/+0idSyEQrtf3HJWcyyzUfnaR8m1L2L5nuXwQ191+x0xQgvSf6kEqy31xuVFvnhM0v 0CixvK2zXycTUhWIcLwTKoZg8UfCuBTixxwSK34cpILILp/zd04mRzLtMwbjAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050878; a=rsa-sha256; cv=none; b=KXQb6OrI57ctC4N2IisW7TFulqZQuIlGRq+LLv/uTGUAribfIqwki+clq9o0u3LoFMdmPy E7u2THN12WaYFQ6S2NLcWdlVYcO0YUgcdSB6B6M5c6usRDfUe4nKGi8aCQ8gmwzcbSBc6/ 5VMF6QTT0XlTanD1U5QlS0SeEMTRjl0/kuYsvynzihd+HCoJCmqJl9lgTYZM/jLrQalz4N pOMDFwRPqJDcSm/lDJsA3wNBZgeYG7xSnBc96fh4T2kNgJZrVW6DiNdUNW/vtDR/sUVmD1 JmYiAtS24Fp40l9WDMgCHQKHngdxkXWxb5hGNVQ0D66pCvhNY2LJ5I83kOzenQ== 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 4YYrSZ1lsRzjbv; Thu, 16 Jan 2025 18:07:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI7wFv090957; Thu, 16 Jan 2025 18:07:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI7wkO090954; Thu, 16 Jan 2025 18:07:58 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:07:58 GMT Message-Id: <202501161807.50GI7wkO090954@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 1ae0a4f52af6 - stable/14 - Open-code proc_set_cred_init() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1ae0a4f52af67d345d9829422b3c7cf9e704da0e Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=1ae0a4f52af67d345d9829422b3c7cf9e704da0e commit 1ae0a4f52af67d345d9829422b3c7cf9e704da0e Author: Olivier Certner AuthorDate: 2023-09-25 08:48:49 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:46 +0000 Open-code proc_set_cred_init() This function is to be called only when initializing a new process (so, 'proc0' and at fork), and not in any other circumstances. Setting the process' 'p_ucred' field to the result of crcowget() on the original credentials is the only thing it does, hiding the fact that the process' 'p_ucred' field is crushed by the call. Moreover, most of the code it executes is already encapsulated in crcowget(). To prevent misuse and improve code readability, just remove this function and replace it with a direct assignment to 'p_ucred'. Reviewed by: markj (earlier version), kib MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42255 (cherry picked from commit 92541c12bc25c59333d7f3b0721b6b16aaff3644) --- sys/kern/init_main.c | 2 +- sys/kern/kern_fork.c | 2 +- sys/kern/kern_prot.c | 11 ----------- sys/sys/ucred.h | 1 - 4 files changed, 2 insertions(+), 14 deletions(-) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 23a1eb944b7b..5835db44b853 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -562,7 +562,7 @@ proc0_init(void *dummy __unused) curthread->td_ucred = NULL; newcred->cr_prison = &prison0; newcred->cr_users++; /* avoid assertion failure */ - proc_set_cred_init(p, newcred); + p->p_ucred = crcowget(newcred); newcred->cr_users--; crfree(newcred); #ifdef AUDIT diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 9bbe7c8a8153..8054f93c2c9d 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -1060,7 +1060,7 @@ fork1(struct thread *td, struct fork_req *fr) * XXX: This is ugly; when we copy resource usage, we need to bump * per-cred resource counters. */ - proc_set_cred_init(newproc, td->td_ucred); + newproc->p_ucred = crcowget(td->td_ucred); /* * Initialize resource accounting for the child process. diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 85c38c474df5..44a1f26767ed 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2278,17 +2278,6 @@ cru2xt(struct thread *td, struct xucred *xcr) xcr->cr_pid = td->td_proc->p_pid; } -/* - * Set initial process credentials. - * Callers are responsible for providing the reference for provided credentials. - */ -void -proc_set_cred_init(struct proc *p, struct ucred *newcred) -{ - - p->p_ucred = crcowget(newcred); -} - /* * Change process credentials. * Callers are responsible for providing the reference for passed credentials diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index e7f8d7328dda..8724cfcdc1e6 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -158,7 +158,6 @@ void crcopy(struct ucred *dest, struct ucred *src); struct ucred *crcopysafe(struct proc *p, struct ucred *cr); struct ucred *crdup(struct ucred *cr); void crextend(struct ucred *cr, int n); -void proc_set_cred_init(struct proc *p, struct ucred *cr); void proc_set_cred(struct proc *p, struct ucred *cr); void proc_unset_cred(struct proc *p); void crfree(struct ucred *cr); From nobody Thu Jan 16 18:07:59 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrSb4ZWNz5kkWw; Thu, 16 Jan 2025 18:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrSb3cFqz3RGM; Thu, 16 Jan 2025 18:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UNAjDgARKpDhEiqlbfGoIaW3EplE1kOe1pYXDA1UI04=; b=dO7CMhY8YRQKlJKiN6k4teCIGMPCl530qYFuQ0WSkDK9sFR1XItDTZcscXrdwb7f1g/Nsq J52OETUdqpqcvulpUolM8u7aJkSgSQbMWweIyXxf81AHlvJZy3GgqOTMsGsQmKrAFbeQy0 4cxChmS85p7ikyPpKRyTWQ/uUKZTUI8Askd7+6VyAneaavqCQhVkGybPr5AUSk+QPKku4Q a7y2nDMfz5x0V4l87qzn6VKGOXWx4fnU+hnJzKNauAUV7YGzKUE18X+yIrUMM+fU8Ngjkk NgVp5fTYEH+JDam+kxGHFnQRdUMVn9aY82U8lMY8e1+Yce8aNV69tjtNC84aew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UNAjDgARKpDhEiqlbfGoIaW3EplE1kOe1pYXDA1UI04=; b=ynb/NDhADN+Xo68KPtcC4HUy/IL/aaiWWMY4ERbzTHO5a4/i073IAxIwEOWpzObG7Wz/Sa Ie2RzAXMuv1vb1s8CC+eeLhkEG4LRY1VMR0Ihp42EEFomtai2PVKzsdUPeW9x08MFEoHru F+Wigx3ZDChydX2rQMwPDjwuYkq1NCjtQoQZi6OgrfBWidLSWMoUSW5hyl0tUswZyFbeA+ vwog51XkS/8cJS/+AdY8EGzPR/8YrG6j30gvRMcNIcoYrroMnAB2+ad2Inzn8kiRNnlmu3 LvN7qpoWXRclC/N9bShZlrdJnPKupP24wBgY3W2qYUDLSHFczux+A+xHoJHWew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050879; a=rsa-sha256; cv=none; b=fpDXzGX9Tnd0qOfN1kszgprP+yZxycugaJnDd8sKjX2x/64ODq/MWRMFKrcmlCHGhk3KRi Kj1ndOjz7Hf6ADi+NEfFHz7D09SgiZQQbrHgUByrYw77QxGqnytvur26vPj+ia7THvH912 RNMAiEksTLOGUKP+QrbCHUTvuh722Q9R6h9RP62PtEUqH4Ewu5ZFA/24RpGoF1SqHm+0B8 4V4quyZ7ebAKFEh07nAuIDnTmnmu0xToskA9AkWpVSoxAsvjSxX0TyR2YQorCd4uHDWbrj ALOP2pnJ1UlABT3T/zOaTEkUhCYpbtiNykF4n2lWoHh6FKBagb1Am/rIOpTTZg== 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 4YYrSb35l9zjVn; Thu, 16 Jan 2025 18:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI7xS6091022; Thu, 16 Jan 2025 18:07:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI7x2n091018; Thu, 16 Jan 2025 18:07:59 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:07:59 GMT Message-Id: <202501161807.50GI7x2n091018@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 3e496c9f10fc - stable/14 - Add function to OSD to get values without taking the lock. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3e496c9f10fc8add74722d9bd5b892a1149f31d8 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=3e496c9f10fc8add74722d9bd5b892a1149f31d8 commit 3e496c9f10fc8add74722d9bd5b892a1149f31d8 Author: Stephen J. Kiernan AuthorDate: 2024-04-04 00:12:57 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:52 +0000 Add function to OSD to get values without taking the lock. There are some cases of OSD use where the value is only initialized once at a point where successive access of the value can be done so safely without the need to take the lock. Reviewed by: markj Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D44631 (cherry picked from commit 56b274213024957cea378d27393304ae5cc8ded9) --- sys/kern/kern_osd.c | 23 ++++++++++++++++------- sys/sys/osd.h | 5 +++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_osd.c b/sys/kern/kern_osd.c index 1f93f7021201..9f5803847d24 100644 --- a/sys/kern/kern_osd.c +++ b/sys/kern/kern_osd.c @@ -279,25 +279,34 @@ osd_free_reserved(void **rsv) } void * -osd_get(u_int type, struct osd *osd, u_int slot) +osd_get_unlocked(u_int type, struct osd *osd, u_int slot) { - struct rm_priotracker tracker; void *value; - KASSERT(type >= OSD_FIRST && type <= OSD_LAST, ("Invalid type.")); - KASSERT(slot > 0, ("Invalid slot.")); - - rm_rlock(&osdm[type].osd_object_lock, &tracker); KASSERT(osdm[type].osd_destructors[slot - 1] != NULL, ("Unused slot.")); if (slot > osd->osd_nslots) { value = NULL; OSD_DEBUG("Slot doesn't exist (type=%u, slot=%u).", type, slot); } else { - value = osd->osd_slots[slot - 1]; + value = atomic_load_ptr(&osd->osd_slots[slot - 1]); OSD_DEBUG("Returning slot value (type=%u, slot=%u, value=%p).", type, slot, value); } + return (value); +} + +void * +osd_get(u_int type, struct osd *osd, u_int slot) +{ + struct rm_priotracker tracker; + void *value; + + KASSERT(type >= OSD_FIRST && type <= OSD_LAST, ("Invalid type.")); + KASSERT(slot > 0, ("Invalid slot.")); + + rm_rlock(&osdm[type].osd_object_lock, &tracker); + value = osd_get_unlocked(type, osd, slot); rm_runlock(&osdm[type].osd_object_lock, &tracker); return (value); } diff --git a/sys/sys/osd.h b/sys/sys/osd.h index 1c58c4fff8de..498cad5064f9 100644 --- a/sys/sys/osd.h +++ b/sys/sys/osd.h @@ -64,6 +64,7 @@ int osd_set_reserved(u_int type, struct osd *osd, u_int slot, void **rsv, void *value); void osd_free_reserved(void **rsv); void *osd_get(u_int type, struct osd *osd, u_int slot); +void *osd_get_unlocked(u_int type, struct osd *osd, u_int slot); void osd_del(u_int type, struct osd *osd, u_int slot); int osd_call(u_int type, u_int method, void *obj, void *data); @@ -79,6 +80,8 @@ void osd_exit(u_int type, struct osd *osd); osd_set_reserved(OSD_THREAD, &(td)->td_osd, (slot), (rsv), (value)) #define osd_thread_get(td, slot) \ osd_get(OSD_THREAD, &(td)->td_osd, (slot)) +#define osd_thread_get_unlocked(td, slot) \ + osd_get_unlocked(OSD_THREAD, &(td)->td_osd, (slot)) #define osd_thread_del(td, slot) do { \ KASSERT((td) == curthread, ("Not curthread.")); \ osd_del(OSD_THREAD, &(td)->td_osd, (slot)); \ @@ -98,6 +101,8 @@ void osd_exit(u_int type, struct osd *osd); osd_set_reserved(OSD_JAIL, &(pr)->pr_osd, (slot), (rsv), (value)) #define osd_jail_get(pr, slot) \ osd_get(OSD_JAIL, &(pr)->pr_osd, (slot)) +#define osd_jail_get_unlocked(pr, slot) \ + osd_get_unlocked(OSD_JAIL, &(pr)->pr_osd, (slot)) #define osd_jail_del(pr, slot) \ osd_del(OSD_JAIL, &(pr)->pr_osd, (slot)) #define osd_jail_call(pr, method, data) \ From nobody Thu Jan 16 18:08: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 4YYrSf311Gz5kktL; Thu, 16 Jan 2025 18:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrSd5N6Xz3R9s; Thu, 16 Jan 2025 18:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hLwfgWId9MPLMCZJrlany1YrC1SxsExd26oTjEZ4ljA=; b=PtQL0nl+mvPmWdxI/TqzuR6FcuGxLt0ienIEDaEqJWYjv7OZ219doO1rhotZ6OhD672/nL 2HzdGc7Pk8U4QvDNge2PAovFdMQ0vQklhPwImlxN3U2CDsCZ1B4zho6UDJaaFEOP90vF7C CQ4FYr0FRioBR+mRV9m4hkw45Nvb70OkGtnZ9fL6xmmqjP9bMMuWl39MYnBz411L0HWiSM a++FPJzHkmSmRCvE/InvfFftDpI2FtiGrwCcV+SQBLhgsNnsE/+YDFUNuHi6cElZ9olcVO gESM3Yq8PD/TQ9/FDdqxuTCFDKco1WBft7/rlqtseEdwR6kBbC5x1XQD2yVhHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hLwfgWId9MPLMCZJrlany1YrC1SxsExd26oTjEZ4ljA=; b=MvF3WPnA7W9hteuKtsFtFEl6bjmPfLA8xTuqd2YXnex9nBrr14Wl/eSmxuIQwW1J5Q/Xg/ KAhbUXL+kQgobPsHPUxO4Idi72x2y8hSHuEHcbRm/tUdIY+rCI9NycFB3C2b1i0JJ6c5cA s51YZnl32mHAewLZlKcvIzd5vHKLO42X739h6IEar4xr6YydCwYVVXRTvVoXRKadsVWKmk wfhDb64MkrfGLZtwhMISM2HWNhKId5sDm9IdKaYYiSX1Xt4DL3gzW4cvFyS2Ryh3+9oPbi Ri3UNMy6tUwERxKG8Ioty+xzj3C3gj1eMXCiy35jwxQimPwPhyTwHIZzF/aP3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050881; a=rsa-sha256; cv=none; b=CY56fgrGNZrue7SVeZjvLioxTzBbwZmJ6ltfsR8YG3i6NgjQyuKrAlzFzDdZgXmhPwj4qy 4axDJ9B626F18qhIXzDquEzr8+T7ms2FvQGTtjYMQEnNP9iSOAZ/4UPs5yfTbjO3wU9DM2 XVtaYEJmAW4MQfyF7qJqtGofOvlRrzDO5XEpMKjnL5VcdvIM80oU1ls34eIpq1wPKcJAUQ tf/qlNgI85zofzF63TqKHjEjY9uTkPA1RrAe3sScpFR9ZcxQihPqZny+iZoRnmvujs6UG6 LB1A6VTQlbiE8oSQublbIpxEJNcDr38139KjpX+g2qJWTEEZcLYMVMh6cl6hLg== 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 4YYrSd4xNFzkMx; Thu, 16 Jan 2025 18:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI81AJ091110; Thu, 16 Jan 2025 18:08:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI816N091107; Thu, 16 Jan 2025 18:08:01 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:01 GMT Message-Id: <202501161808.50GI816N091107@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 63abb6a3b5d4 - stable/14 - osd: Constify signature of osd_register() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 63abb6a3b5d499f4fcd7d10e891900ae09bfbb06 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=63abb6a3b5d499f4fcd7d10e891900ae09bfbb06 commit 63abb6a3b5d499f4fcd7d10e891900ae09bfbb06 Author: Olivier Certner AuthorDate: 2024-07-01 17:10:47 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:52 +0000 osd: Constify signature of osd_register() This makes it clear that 'methods' (if not NULL) points to an array that won't be modified. Internally, this array is indeed copied into the given OSD type's larger array of all methods for all slots. Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46886 (cherry picked from commit 4a26b63145a5e18610aa9050262e3b4f75aa7117) --- share/man/man9/osd.9 | 4 ++-- sys/kern/kern_osd.c | 2 +- sys/sys/osd.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/share/man/man9/osd.9 b/share/man/man9/osd.9 index 95547f5211c2..5e0e482914c3 100644 --- a/share/man/man9/osd.9 +++ b/share/man/man9/osd.9 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 26, 2016 +.Dd October 07, 2024 .Dt OSD 9 .Os .Sh NAME @@ -49,7 +49,7 @@ .Fo osd_register .Fa "u_int type" .Fa "osd_destructor_t destructor" -.Fa "osd_method_t *methods" +.Fa "const osd_method_t *methods" .Fc .Ft void .Fo osd_deregister diff --git a/sys/kern/kern_osd.c b/sys/kern/kern_osd.c index 9f5803847d24..7073ee564301 100644 --- a/sys/kern/kern_osd.c +++ b/sys/kern/kern_osd.c @@ -91,7 +91,7 @@ osd_default_destructor(void *value __unused) } int -osd_register(u_int type, osd_destructor_t destructor, osd_method_t *methods) +osd_register(u_int type, osd_destructor_t destructor, const osd_method_t *methods) { void *newptr; u_int i, m; diff --git a/sys/sys/osd.h b/sys/sys/osd.h index 498cad5064f9..5d59ce5a3d9a 100644 --- a/sys/sys/osd.h +++ b/sys/sys/osd.h @@ -55,7 +55,7 @@ typedef void (*osd_destructor_t)(void *value); typedef int (*osd_method_t)(void *obj, void *data); int osd_register(u_int type, osd_destructor_t destructor, - osd_method_t *methods); + const osd_method_t *methods); void osd_deregister(u_int type, u_int slot); int osd_set(u_int type, struct osd *osd, u_int slot, void *value); From nobody Thu Jan 16 18:08:00 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrSd0DB3z5kkpK; Thu, 16 Jan 2025 18:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrSc4qLtz3RK8; Thu, 16 Jan 2025 18:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qGTA4cNG5FMyw6uGuLHY+qGL763939l/w/S+JCDZwxo=; b=UVS4RyhApQYkR8lQ8pw+x8nCXqqGcfAn0oNS9IeHlx36XLYxNYHbxxwj/nuw4s5SbR0da/ hEcSGGeVYBt7xfbuvhJV9ngfyQ1Bxeh68MlscTOOoz9RyOM84+5dSc1xKMIWlkCkpt4o9/ wpSw/tjjbbwhveIT8IXNRGmCLvBvwLFi9+bSWvzlzcq27gIA9bq+EspSxTOxd+yeg18uDy Z1pUEqOUjUFIDTHEXmYaUZXz2JY3kZYZdOCGb00hwi7bcMHQMvugGmdPNHMaKOEs9uxZFa e6ITh14kiErOrdZtzGFzIyDaNGGuxxLtjkLeP3Ho6XuJ150NZ49pWS0rlckzJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qGTA4cNG5FMyw6uGuLHY+qGL763939l/w/S+JCDZwxo=; b=s7HS/lhx873dAmz+vyFcTgWDumVRgWQJxd0OIR+98nXKzf0kV4l+41F99p1QcwMAgOkasa LwMfS3mts7M9ebsLMEMtBPmjOUcGELMArJyNEbo7O/M8DQtvywEfir9owDiU/av6cg9+TL 7X0jXW59CcqVnm3AHORNBZnAFchBbOZxNkhvRuedO5CLby03krXsmjE6hQiV+zP++gU7yw 9P+57oP0rJL7bo02meR+Hw7xhy0lCQIZOQZ4MPGhZxM/4UNmO8IkblC/oF1965D/7hNvI6 mbQ4B4R5LaxwuWMoMyq1Nb5bC6qMBH5ic+FLAxK1MqVywqHgEEqsrv87v76b0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050880; a=rsa-sha256; cv=none; b=irfikmIVPLeGILYfT+JCV9sch2EoIZ4+nDLwVlil3JfypcbV5bIgdzQUQ1Pwy5nodjNfeT BOh8VFSmCIpwtFU4gBF3jRnhNdZvvPzCiqOyHYDJThIa519DzORstSxxr/w9Y6Rtl7a344 CC09OGFGY+rPgX2v14agSSIEijSyB+oDvygAAA+BxVE2fV1OHZaxqfJL2NFvkGLTpDqjVM 4eoH0Bq80skrA3MtSpey9stQzxHGL7Ak0toHYZOluLED01Vjqb36oinsnQVrStFYBXhl66 ccbCKYLBimSS8ydQEkUCh+CVx2b0LheiWCIJ/3jBITgQBAO1OrdXLYVdPtkR8g== 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 4YYrSc3xPZzjs0; Thu, 16 Jan 2025 18:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI80Ku091068; Thu, 16 Jan 2025 18:08:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI80aZ091065; Thu, 16 Jan 2025 18:08:00 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:00 GMT Message-Id: <202501161808.50GI80aZ091065@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 0635f5eeacbf - stable/14 - riscv: Implement atomic operations List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 0635f5eeacbfccff227dc5722cad62ca11abd47b Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=0635f5eeacbfccff227dc5722cad62ca11abd47b commit 0635f5eeacbfccff227dc5722cad62ca11abd47b Author: Ruslan Bukin AuthorDate: 2024-05-22 15:07:27 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:52 +0000 riscv: Implement atomic operations Implement atomic_load_acq_16, atomic_store_rel_16. These are needed by bhyve(8) PCIe bus emulation code. Group 16-bit atomic functions similarly to 32 and 64-bit. Reviewed by: mhorne Differential Revision: https://reviews.freebsd.org/D45228 (cherry picked from commit 2183004e14a863d65ca9192df1bea2625e3fdfb3) --- sys/riscv/include/atomic.h | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/sys/riscv/include/atomic.h b/sys/riscv/include/atomic.h index fee82e6a6bc9..aaa7add6894b 100644 --- a/sys/riscv/include/atomic.h +++ b/sys/riscv/include/atomic.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2015 Ruslan Bukin + * Copyright (c) 2015-2024 Ruslan Bukin * All rights reserved. * * Portions of this software were developed by SRI International and the @@ -105,8 +105,6 @@ atomic_fcmpset_rel_##WIDTH(__volatile uint##WIDTH##_t *p, \ ATOMIC_CMPSET_ACQ_REL(8); ATOMIC_FCMPSET_ACQ_REL(8); -ATOMIC_CMPSET_ACQ_REL(16); -ATOMIC_FCMPSET_ACQ_REL(16); #define atomic_cmpset_char atomic_cmpset_8 #define atomic_cmpset_acq_char atomic_cmpset_acq_8 @@ -116,11 +114,40 @@ ATOMIC_FCMPSET_ACQ_REL(16); #define atomic_fcmpset_rel_char atomic_fcmpset_rel_8 #define atomic_cmpset_short atomic_cmpset_16 -#define atomic_cmpset_acq_short atomic_cmpset_acq_16 -#define atomic_cmpset_rel_short atomic_cmpset_rel_16 #define atomic_fcmpset_short atomic_fcmpset_16 + +ATOMIC_CMPSET_ACQ_REL(16); +ATOMIC_FCMPSET_ACQ_REL(16); + +#define atomic_load_acq_16 atomic_load_acq_16 +static __inline uint16_t +atomic_load_acq_16(volatile uint16_t *p) +{ + uint16_t ret; + + ret = *p; + + fence(); + + return (ret); +} + +static __inline void +atomic_store_rel_16(volatile uint16_t *p, uint16_t val) +{ + + fence(); + + *p = val; +} + +#define atomic_cmpset_acq_short atomic_cmpset_acq_16 #define atomic_fcmpset_acq_short atomic_fcmpset_acq_16 +#define atomic_load_acq_short atomic_load_acq_16 + +#define atomic_cmpset_rel_short atomic_cmpset_rel_16 #define atomic_fcmpset_rel_short atomic_fcmpset_rel_16 +#define atomic_store_rel_short atomic_store_rel_16 static __inline void atomic_add_32(volatile uint32_t *p, uint32_t val) From nobody Thu Jan 16 18:08: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 4YYrSg2Krqz5kktP; Thu, 16 Jan 2025 18:08: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 4YYrSf6L26z3RMS; Thu, 16 Jan 2025 18:08:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mOzOscrZCZ0OXFyYaQXkmND++MvMj6vbVDzG3pZPhEc=; b=ejQ7dGBaXMJ80rEiQk2aRPLn/ROrOhNNnJgVV94e9x0ykQxuhvofWWIY/lHvZ778QWxPXV 6W/A1cnJOwp9aXu5BORdERtDZ1qLZf3nq6PfyCVCupbYidfURJrawQzl8P/iIUknotOmUP 5KLf2sGI8L3y1CKgBzyX7bBNvmiFp848xj/i4zRtcfDVsIJHh0VvAnIMvhdAwmLxANKLFL 1s3/xBDUvi8voMsYapLhUhn3B4acyFalIzGm+6OXGVIOKGSvf+APeX/bTdDZlIz9FqzCFL sAZYSlz4wg62Ci39Le4GzwojkvLuxeakbRXyKVSUExOiFaw93CesMJA5trxtoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mOzOscrZCZ0OXFyYaQXkmND++MvMj6vbVDzG3pZPhEc=; b=huiPn6xBUb7zLFjqyegrCJDulK44U/6URd7F4wz9Ey4/J4WaaUkRH+wDS9vbjqdgKZq+NX rHRPZdzwidrZcyD/e/E7/kh4/Wz3NNupEz5b8I/A6B+z3nwlT+2k0e7KtsIF5IvHIDg67/ AQ1PcrStlGu2hcK5OAfWQM5SNG5l9MG/P1h/1p9F2uFYdIylng+oVFQZYESAHi40+5RSq+ jQgG67/51TKyg+VmqztnAxt/W0gzfMwpklKFKwDdtKKlSTHba0CGzbqTfzaALe8iwxN1fY NTyRzLtP07V/CuTcYXtADJpuZ/IixCJcg65cknD9QsSuexyIQ55tupHjVaaYmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050882; a=rsa-sha256; cv=none; b=RNQxKsVIyxb1vLEcyIGOlbIv9exQ+dxJ5LG9igwFO/wqUMLMZAjRucSMr31N9nKpRsFPlL pu62EGu0Rc2Kp/lPF2G/sbz/Pjx1zKepUGH5WxGyl0g9AxjGp2l7mvgQcElCbUJ9ET7c0m T8nzGbRy2O56rd9TIqZTqMz+OBIJtlC83TNUhnlA70lQEjM3jzz9GZ1E2CQz8APRmYAooq j5Kvc5ZbQc7gUrXa3OkscNYHDgqG+olIfkDi7aLP3WuDwuq3fcu3lZ63yf9cLKwojyfIWr AOe9fsEiNQ8qPnChGHRerdnhOmRjBVmVXG8f2MUA50Syb5Ts3Lj2h7QtIVeytg== 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 4YYrSf5whnzkKd; Thu, 16 Jan 2025 18:08: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 50GI82B2091158; Thu, 16 Jan 2025 18:08:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI82RY091155; Thu, 16 Jan 2025 18:08:02 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:02 GMT Message-Id: <202501161808.50GI82RY091155@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 1fc5db8e9f4b - stable/14 - atomics: Constify loads List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1fc5db8e9f4b10fed01fc1c07d0e5725c4089b97 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=1fc5db8e9f4b10fed01fc1c07d0e5725c4089b97 commit 1fc5db8e9f4b10fed01fc1c07d0e5725c4089b97 Author: Olivier Certner AuthorDate: 2024-07-19 15:23:19 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:53 +0000 atomics: Constify loads In order to match reality, allow using these functions with pointers on const objects, and bring us closer to C11. Remove the '+' modifier in the atomic_load_acq_64_i586()'s inline asm statement's constraint for '*p' (the value to load). CMPXCHG8B always writes back some value, even when the value exchange does not happen in which case what was read is written back. atomic_load_acq_64_i586() further takes care of the operation atomically writing back the same value that was read in any case. All in all, this makes the inline asm's write back undetectable by any other code, whether executing on other CPUs or code on the same CPU before and after the call to atomic_load_acq_64_i586(), except for the fact that CMPXCHG8B will trigger a #GP(0) if the memory address is part of a read-only mapping. This unfortunate property is however out of scope of the C abstract machine, and in particular independent of whether the 'uint64_t' pointed to is declared 'const' or not. Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46887 (cherry picked from commit 5e9a82e898d55816c366cfa3ffbca84f02569fe5) --- sys/amd64/include/atomic.h | 2 +- sys/arm/include/atomic.h | 8 ++++---- sys/arm64/include/atomic.h | 2 +- sys/i386/include/atomic.h | 28 ++++++++++++++++------------ sys/powerpc/include/atomic.h | 6 +++--- sys/riscv/include/atomic.h | 4 ++-- sys/sys/_atomic64e.h | 2 +- sys/sys/_atomic_subword.h | 4 ++-- sys/sys/atomic_common.h | 20 ++++++++++---------- 9 files changed, 40 insertions(+), 36 deletions(-) diff --git a/sys/amd64/include/atomic.h b/sys/amd64/include/atomic.h index 8eb3fddb0478..91a4398a0815 100644 --- a/sys/amd64/include/atomic.h +++ b/sys/amd64/include/atomic.h @@ -304,7 +304,7 @@ __storeload_barrier(void) #define ATOMIC_LOAD(TYPE) \ static __inline u_##TYPE \ -atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ +atomic_load_acq_##TYPE(const volatile u_##TYPE *p) \ { \ u_##TYPE res; \ \ diff --git a/sys/arm/include/atomic.h b/sys/arm/include/atomic.h index 73e769885f71..a7b5ed76c0ad 100644 --- a/sys/arm/include/atomic.h +++ b/sys/arm/include/atomic.h @@ -614,7 +614,7 @@ atomic_fetchadd_long(volatile u_long *p, u_long val) } static __inline uint32_t -atomic_load_acq_32(volatile uint32_t *p) +atomic_load_acq_32(const volatile uint32_t *p) { uint32_t v; @@ -624,7 +624,7 @@ atomic_load_acq_32(volatile uint32_t *p) } static __inline uint64_t -atomic_load_64(volatile uint64_t *p) +atomic_load_64(const volatile uint64_t *p) { uint64_t ret; @@ -643,7 +643,7 @@ atomic_load_64(volatile uint64_t *p) } static __inline uint64_t -atomic_load_acq_64(volatile uint64_t *p) +atomic_load_acq_64(const volatile uint64_t *p) { uint64_t ret; @@ -653,7 +653,7 @@ atomic_load_acq_64(volatile uint64_t *p) } static __inline u_long -atomic_load_acq_long(volatile u_long *p) +atomic_load_acq_long(const volatile u_long *p) { u_long v; diff --git a/sys/arm64/include/atomic.h b/sys/arm64/include/atomic.h index f7018f2f9e0b..998a49c02e60 100644 --- a/sys/arm64/include/atomic.h +++ b/sys/arm64/include/atomic.h @@ -465,7 +465,7 @@ _ATOMIC_TEST_OP(set, orr, set) #define _ATOMIC_LOAD_ACQ_IMPL(t, w, s) \ static __inline uint##t##_t \ -atomic_load_acq_##t(volatile uint##t##_t *p) \ +atomic_load_acq_##t(const volatile uint##t##_t *p) \ { \ uint##t##_t ret; \ \ diff --git a/sys/i386/include/atomic.h b/sys/i386/include/atomic.h index 71aa09c57007..e68af0454130 100644 --- a/sys/i386/include/atomic.h +++ b/sys/i386/include/atomic.h @@ -249,7 +249,7 @@ atomic_testandclear_int(volatile u_int *p, u_int v) #define ATOMIC_LOAD(TYPE) \ static __inline u_##TYPE \ -atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ +atomic_load_acq_##TYPE(const volatile u_##TYPE *p) \ { \ u_##TYPE res; \ \ @@ -302,8 +302,8 @@ atomic_thread_fence_seq_cst(void) #ifdef WANT_FUNCTIONS int atomic_cmpset_64_i386(volatile uint64_t *, uint64_t, uint64_t); int atomic_cmpset_64_i586(volatile uint64_t *, uint64_t, uint64_t); -uint64_t atomic_load_acq_64_i386(volatile uint64_t *); -uint64_t atomic_load_acq_64_i586(volatile uint64_t *); +uint64_t atomic_load_acq_64_i386(const volatile uint64_t *); +uint64_t atomic_load_acq_64_i586(const volatile uint64_t *); void atomic_store_rel_64_i386(volatile uint64_t *, uint64_t); void atomic_store_rel_64_i586(volatile uint64_t *, uint64_t); uint64_t atomic_swap_64_i386(volatile uint64_t *, uint64_t); @@ -353,12 +353,12 @@ atomic_fcmpset_64_i386(volatile uint64_t *dst, uint64_t *expect, uint64_t src) } static __inline uint64_t -atomic_load_acq_64_i386(volatile uint64_t *p) +atomic_load_acq_64_i386(const volatile uint64_t *p) { - volatile uint32_t *q; + const volatile uint32_t *q; uint64_t res; - q = (volatile uint32_t *)p; + q = (const volatile uint32_t *)p; __asm __volatile( " pushfl ; " " cli ; " @@ -447,8 +447,12 @@ atomic_fcmpset_64_i586(volatile uint64_t *dst, uint64_t *expect, uint64_t src) return (res); } +/* + * Architecturally always writes back some value to '*p' so will trigger + * a #GP(0) on read-only mappings. + */ static __inline uint64_t -atomic_load_acq_64_i586(volatile uint64_t *p) +atomic_load_acq_64_i586(const volatile uint64_t *p) { uint64_t res; @@ -456,9 +460,9 @@ atomic_load_acq_64_i586(volatile uint64_t *p) " movl %%ebx,%%eax ; " " movl %%ecx,%%edx ; " " lock; cmpxchg8b %1" - : "=&A" (res), /* 0 */ - "+m" (*p) /* 1 */ - : : "memory", "cc"); + : "=&A" (res) /* 0 */ + : "m" (*p) /* 1 */ + : "memory", "cc"); return (res); } @@ -514,7 +518,7 @@ atomic_fcmpset_64(volatile uint64_t *dst, uint64_t *expect, uint64_t src) } static __inline uint64_t -atomic_load_acq_64(volatile uint64_t *p) +atomic_load_acq_64(const volatile uint64_t *p) { if ((cpu_feature & CPUID_CX8) == 0) @@ -842,7 +846,7 @@ atomic_swap_long(volatile u_long *p, u_long v) #define atomic_subtract_rel_ptr(p, v) \ atomic_subtract_rel_int((volatile u_int *)(p), (u_int)(v)) #define atomic_load_acq_ptr(p) \ - atomic_load_acq_int((volatile u_int *)(p)) + atomic_load_acq_int((const volatile u_int *)(p)) #define atomic_store_rel_ptr(p, v) \ atomic_store_rel_int((volatile u_int *)(p), (v)) #define atomic_cmpset_ptr(dst, old, new) \ diff --git a/sys/powerpc/include/atomic.h b/sys/powerpc/include/atomic.h index 0c3a57698342..015a283e2de7 100644 --- a/sys/powerpc/include/atomic.h +++ b/sys/powerpc/include/atomic.h @@ -502,7 +502,7 @@ atomic_readandclear_long(volatile u_long *addr) */ #define ATOMIC_STORE_LOAD(TYPE) \ static __inline u_##TYPE \ -atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ +atomic_load_acq_##TYPE(const volatile u_##TYPE *p) \ { \ u_##TYPE v; \ \ @@ -534,10 +534,10 @@ ATOMIC_STORE_LOAD(long) #define atomic_store_rel_ptr atomic_store_rel_long #else static __inline u_long -atomic_load_acq_long(volatile u_long *addr) +atomic_load_acq_long(const volatile u_long *addr) { - return ((u_long)atomic_load_acq_int((volatile u_int *)addr)); + return ((u_long)atomic_load_acq_int((const volatile u_int *)addr)); } static __inline void diff --git a/sys/riscv/include/atomic.h b/sys/riscv/include/atomic.h index aaa7add6894b..bf9c42453d8b 100644 --- a/sys/riscv/include/atomic.h +++ b/sys/riscv/include/atomic.h @@ -121,7 +121,7 @@ ATOMIC_FCMPSET_ACQ_REL(16); #define atomic_load_acq_16 atomic_load_acq_16 static __inline uint16_t -atomic_load_acq_16(volatile uint16_t *p) +atomic_load_acq_16(const volatile uint16_t *p) { uint16_t ret; @@ -312,7 +312,7 @@ ATOMIC_CMPSET_ACQ_REL(32); ATOMIC_FCMPSET_ACQ_REL(32); static __inline uint32_t -atomic_load_acq_32(volatile uint32_t *p) +atomic_load_acq_32(const volatile uint32_t *p) { uint32_t ret; diff --git a/sys/sys/_atomic64e.h b/sys/sys/_atomic64e.h index f7245dafb98a..82fe817f307b 100644 --- a/sys/sys/_atomic64e.h +++ b/sys/sys/_atomic64e.h @@ -55,7 +55,7 @@ int atomic_fcmpset_64(volatile u_int64_t *, u_int64_t *, u_int64_t); u_int64_t atomic_fetchadd_64(volatile u_int64_t *, u_int64_t); -u_int64_t atomic_load_64(volatile u_int64_t *); +u_int64_t atomic_load_64(const volatile u_int64_t *); #define atomic_load_acq_64 atomic_load_64 void atomic_readandclear_64(volatile u_int64_t *); diff --git a/sys/sys/_atomic_subword.h b/sys/sys/_atomic_subword.h index dad23383f642..dee5a3bed871 100644 --- a/sys/sys/_atomic_subword.h +++ b/sys/sys/_atomic_subword.h @@ -176,7 +176,7 @@ atomic_fcmpset_16(__volatile uint16_t *addr, uint16_t *old, uint16_t val) #ifndef atomic_load_acq_8 static __inline uint8_t -atomic_load_acq_8(volatile uint8_t *p) +atomic_load_acq_8(const volatile uint8_t *p) { int shift; uint8_t ret; @@ -189,7 +189,7 @@ atomic_load_acq_8(volatile uint8_t *p) #ifndef atomic_load_acq_16 static __inline uint16_t -atomic_load_acq_16(volatile uint16_t *p) +atomic_load_acq_16(const volatile uint16_t *p) { int shift; uint16_t ret; diff --git a/sys/sys/atomic_common.h b/sys/sys/atomic_common.h index 83e0d5af583d..e03cd93c2d4a 100644 --- a/sys/sys/atomic_common.h +++ b/sys/sys/atomic_common.h @@ -36,18 +36,18 @@ #include -#define __atomic_load_bool_relaxed(p) (*(volatile _Bool *)(p)) +#define __atomic_load_bool_relaxed(p) (*(const volatile _Bool *)(p)) #define __atomic_store_bool_relaxed(p, v) \ (*(volatile _Bool *)(p) = (_Bool)(v)) -#define __atomic_load_char_relaxed(p) (*(volatile u_char *)(p)) -#define __atomic_load_short_relaxed(p) (*(volatile u_short *)(p)) -#define __atomic_load_int_relaxed(p) (*(volatile u_int *)(p)) -#define __atomic_load_long_relaxed(p) (*(volatile u_long *)(p)) -#define __atomic_load_8_relaxed(p) (*(volatile uint8_t *)(p)) -#define __atomic_load_16_relaxed(p) (*(volatile uint16_t *)(p)) -#define __atomic_load_32_relaxed(p) (*(volatile uint32_t *)(p)) -#define __atomic_load_64_relaxed(p) (*(volatile uint64_t *)(p)) +#define __atomic_load_char_relaxed(p) (*(const volatile u_char *)(p)) +#define __atomic_load_short_relaxed(p) (*(const volatile u_short *)(p)) +#define __atomic_load_int_relaxed(p) (*(const volatile u_int *)(p)) +#define __atomic_load_long_relaxed(p) (*(const volatile u_long *)(p)) +#define __atomic_load_8_relaxed(p) (*(const volatile uint8_t *)(p)) +#define __atomic_load_16_relaxed(p) (*(const volatile uint16_t *)(p)) +#define __atomic_load_32_relaxed(p) (*(const volatile uint32_t *)(p)) +#define __atomic_load_64_relaxed(p) (*(const volatile uint64_t *)(p)) #define __atomic_store_char_relaxed(p, v) \ (*(volatile u_char *)(p) = (u_char)(v)) @@ -124,7 +124,7 @@ __atomic_store_generic(p, v, int64_t, uint64_t, 64) #endif -#define atomic_load_ptr(p) (*(volatile __typeof(*p) *)(p)) +#define atomic_load_ptr(p) (*(const volatile __typeof(*p) *)(p)) #define atomic_store_ptr(p, v) (*(volatile __typeof(*p) *)(p) = (v)) /* From nobody Thu Jan 16 18:08: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 4YYrSj5lN2z5kkZM; Thu, 16 Jan 2025 18:08: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 4YYrSj1jfzz3RKt; Thu, 16 Jan 2025 18:08:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+IWgXEuPorjn7ZVBhA7gqH2wBKlNX8R9Ge8Okk/V4Y8=; b=G9piMxNB/EtK6B1KHIICV8ZjHig1Fp2jsc9F+MWmNFWNIH/wAujXNwfK7leyXdVrSkZJWM l5xlHqM1knzKO/iutfZIpRV5whtUlqmz9vNnpBuvOQLhe7WQ/jBjxn4ZRUzWwHJBqsGcx4 sudVOGgyOyEE+gC0OR3ruXLEMwveJzDWKLIN5gZtcihlgVrOpTwETgTcT9N3w8XCg90r7K Zoia1C5zgUEnimTh7dVmumhzq74v5bm6IlRwN4NAZkZ+AcaWjXWBKaXM0bAhFY9qXFvNob Ucc4sVNPjct2zsYtUfAy/RJPx+81v7tZ4bz87/XT/8dyHEzZt3X9as3rUihQOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+IWgXEuPorjn7ZVBhA7gqH2wBKlNX8R9Ge8Okk/V4Y8=; b=eeak7B5UEEj7dP/r6DZaZhU03VwhRmD7KaQim8ZdycvFtvdaOp6lgtTxEPszzru2F0H3hv jeLTSM5/Yt1yoYHMwrbyhugf1LiQ6/z+jAhLkjVgTZv8lexqDzy39dPGBDQgA23cxWFxPN zN8yA3QyyCWC8eNig6QH5GoUvARWjMV6M0L8o0oeKW3m+B2nQN6vgafB7BoPO1Tc/hg95j kbeiaIQ8eGz4I/aa4sVw11j64lQleZNXj+a5TVxnrk3Y+CqtXP0wDf88tBIuN2QFof8xYm 19wK1opQ42tPdULSmGNHdmeVC0lu1y1gvIZo2ifgTd3Co8A0+c8izrxXmmjb3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050885; a=rsa-sha256; cv=none; b=E2tSMjRk9gL81s+RXUcrO33OEgyJVeRWjuVjOnk8zmlNVqkwf1s7dCiLl5NeVpOVN4oZlk Ym2N7m6qI9uNSidYOw8yg4t3SbP6r7RTFTmH2b1qPRwk0uFakG9tqmcWfg6BDA3hHjdRrC +hKcPU9bJeRNqJoD9hG8TnzaE1QDjO4aER7xzUz+GJpIK1x1SIXC96S1pBuuCd4n3GsXHQ Gv3zYB3P79ccvpQ/lxrIKHdkQKRC99DuHbwv5LLOuGP3LCHu9oeb6UfNFA8CWwaOI7bkqO T5bjKK3zRWnzEt5RNylsiVAgif9cBIPbkxrrMHnI0Oa+rkhu7HfRoKNSItmclg== 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 4YYrSj0qf2zkKf; Thu, 16 Jan 2025 18:08: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 50GI85pP091254; Thu, 16 Jan 2025 18:08:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI85rP091251; Thu, 16 Jan 2025 18:08:05 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:05 GMT Message-Id: <202501161808.50GI85rP091251@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: fa940dd2bf03 - stable/14 - queue: New debug macros for STAILQ List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fa940dd2bf034a294f6638bd0def2022c7746fd5 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=fa940dd2bf034a294f6638bd0def2022c7746fd5 commit fa940dd2bf034a294f6638bd0def2022c7746fd5 Author: Olivier Certner AuthorDate: 2024-07-08 16:15:49 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:53 +0000 queue: New debug macros for STAILQ The new STAILQ_ASSERT_EMPTY() macro allows callers to assert that some STAILQ is empty. It leverages the new QMD_STAILQ_CHECK_EMPTY() internal macro. QMD_STAILQ_CHECK_EMPTY() is a check for empty STAILQ, where heads's 'stqh_last' field must point to the 'stqh_first' one. Use it in STAILQ_ASSERT_EMPTY(). QMD_STAILQ_CHECK_TAIL() checks that the tail pointed by 'head' does not have a next element. It is similar to the already existing QMD_TAILQ_CHECK_TAIL(), but without the superfluous 'field' argument and clearer documentation. Use it in STAILQ_INSERT_TAIL(). Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46889 (cherry picked from commit 34740937f7a46c7475bb57e804701ba8830bf6ed) --- sys/sys/queue.h | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/sys/sys/queue.h b/sys/sys/queue.h index 9bdfd497b165..fee6618ee88c 100644 --- a/sys/sys/queue.h +++ b/sys/sys/queue.h @@ -341,6 +341,40 @@ struct { \ /* * Singly-linked Tail queue functions. */ +#if (defined(_KERNEL) && defined(INVARIANTS)) +/* + * QMD_STAILQ_CHECK_EMPTY(STAILQ_HEAD *head) + * + * Validates that the stailq head's pointer to the last element's next pointer + * actually points to the head's first element pointer field. + */ +#define QMD_STAILQ_CHECK_EMPTY(head) do { \ + if ((head)->stqh_last != &(head)->stqh_first) \ + panic("Empty stailq %p->stqh_last is %p, not head's " \ + "first field address", (head), (head)->stqh_last); \ +} while (0) + +#define STAILQ_ASSERT_EMPTY(head) do { \ + if (!STAILQ_EMPTY((head))) \ + panic("stailq %p is not empty", (head)); \ +} + +/* + * QMD_STAILQ_CHECK_TAIL(STAILQ_HEAD *head) + * + * Validates that the stailq's last element's next pointer is NULL. + */ +#define QMD_STAILQ_CHECK_TAIL(head) do { \ + if (*(head)->stqh_last != NULL) \ + panic("Stailq %p last element's next pointer is %p, " \ + "not NULL", (head), *(head)->stqh_last); \ +} while (0) +#else +#define QMD_STAILQ_CHECK_EMPTY(head) +#define STAILQ_ASSERT_EMPTY(head) +#define QMD_STAILQ_CHECK_TAIL(head) +#endif /* (_KERNEL && INVARIANTS) */ + #define STAILQ_CONCAT(head1, head2) do { \ if (!STAILQ_EMPTY((head2))) { \ *(head1)->stqh_last = (head2)->stqh_first; \ @@ -349,7 +383,11 @@ struct { \ } \ } while (0) -#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL) +#define STAILQ_EMPTY(head) ({ \ + if (STAILQ_FIRST(head) == NULL) \ + QMD_STAILQ_CHECK_EMPTY(head); \ + STAILQ_FIRST(head) == NULL; \ +}) #define STAILQ_FIRST(head) ((head)->stqh_first) @@ -391,6 +429,7 @@ struct { \ } while (0) #define STAILQ_INSERT_TAIL(head, elm, field) do { \ + QMD_STAILQ_CHECK_TAIL(head); \ STAILQ_NEXT((elm), field) = NULL; \ *(head)->stqh_last = (elm); \ (head)->stqh_last = &STAILQ_NEXT((elm), field); \ From nobody Thu Jan 16 18:08: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 4YYrSh3Yfdz5kkx6; Thu, 16 Jan 2025 18:08: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 4YYrSh0JNjz3RKc; Thu, 16 Jan 2025 18:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=81ky+eIuB2NJiY95GpvXc4e85tuDY3er5xsQDWBpmtw=; b=lBxQ0vaFGuHTSGxVJnpXMqeDBzfGXSj7OLsq+C4In3BWNcdklE0QeMngN7UN5XDPtWpMSH VdDu2kDjuyy4IXLSd4I68AlUdBpaE9bVtiLhBQu8lyyhFXIeQNqoDq0rnzQm+rTYSV6Qlg TZYOs/Pl3GYx8TiIaJqnpsrexc6INrVAP3UFvp1x6sCZoWj95EIfynu/mKARo5w9uRqINW HUuCpVe6VZzg1mgS/tOyR6ndoKVuLu5HehjCxU09rv14cuUwy7MLjJlhkvGoEItS0idoDV sJGf8faqRcdBkGr8UP0u+j6JY1ukM5KlfyGcmO45nPdAgrBjjZcp1Q0/lC6iMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=81ky+eIuB2NJiY95GpvXc4e85tuDY3er5xsQDWBpmtw=; b=EzNnuKY9Q5HuK6EigevNcOJGoSaLSxK1ZywlASGeZ/C3ork4o39jKAHNdkZlS/subXBQdE JkF07z4CEzTuB4mZZ2wX8VU7MsablStNQbEJo3lMKw0OZyYt57n795LTlkUlqqEuRyFo3+ OULV94/XUY4tnVuUrVuJi7EoytTfKbMEcN/0L41B3TmY5eTicYpMD4Ra+c7q8anc3CEEf2 dKJJKtMo7M8LVSmpAp+JFeGZA2MMS+2zpb6DRYBBEs+IyCG6T3CmblEsDkeQqIm8+OSuPL 386lGBu/ZmEA8DuqCP/1+ah9sjbmK5aA9QxjDZlAlRcnPOPjYXDJoWs7GtCtZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050884; a=rsa-sha256; cv=none; b=Duhkm4mrS/L4S5A/arJsKj8wxfATrbcn+BBvMA8d0cvhf5v3wFu2vUFQeGGmUgJ8HC6JHI Zy2TxbNbu/azxsTUH9ghV8i4PMtaBcR9Ud9UCHDOi7LmxQwyfUtDRgcJHIreHboYsnm4hr 43y6yQBKZt3chOP58U8CC7te94HdoRGgpsXkXHjATdU+OC+dqqgHKWpfnSdvJSzHclueYV +da9cP7iUY6jkJyEm8yr4NzI2kkNDpmX61qoJrhYxw0hSTc312EtzBKipz61uJV9MxLaRT kz9nvC30FSQLz0i3m7W6JRD8otdEx5VDyvm5f8X4k9g63Z7IBBFtC4aIuDilBw== 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 4YYrSg6wBQzk0w; Thu, 16 Jan 2025 18:08: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 50GI83g3091205; Thu, 16 Jan 2025 18:08:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI83rJ091202; Thu, 16 Jan 2025 18:08:03 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:03 GMT Message-Id: <202501161808.50GI83rJ091202@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 2e866a1ea99e - stable/14 - refcount: Constify refcount_load() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 2e866a1ea99ebc14568a8d8ded8d88958a1f011a Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=2e866a1ea99ebc14568a8d8ded8d88958a1f011a commit 2e866a1ea99ebc14568a8d8ded8d88958a1f011a Author: Olivier Certner AuthorDate: 2024-07-19 15:23:45 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:53 +0000 refcount: Constify refcount_load() Reviewed by: markj Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46888 (cherry picked from commit 9dc5b3dbb063f55543ff8a0619eee2e294fb7dc5) --- sys/sys/refcount.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/refcount.h b/sys/sys/refcount.h index 212e8e516271..58d4ec573931 100644 --- a/sys/sys/refcount.h +++ b/sys/sys/refcount.h @@ -65,7 +65,7 @@ refcount_init(volatile u_int *count, u_int value) } static __inline u_int -refcount_load(volatile u_int *count) +refcount_load(volatile const u_int *count) { return (atomic_load_int(count)); } From nobody Thu Jan 16 18:08:06 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrSk3VF3z5kkxC; Thu, 16 Jan 2025 18:08: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 4YYrSk1tw4z3RQZ; Thu, 16 Jan 2025 18:08:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050886; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y7Qy8ViZpZOwFYLq2TNuqdkkDJgPFOuL/u02RdR1MWc=; b=Rqpanf8TIbvJHa7hcUkylTOJPiAE37njxM7aLqUUbmKm41u3un8HiDNnFtJ6DiNZzAIauQ Kr4+4LIC+Fcxx35TOjbCeBpmFLBAOEyVrCDYbMdPIIS0clwElD5IJyfSS6cZaQU4prjn9d 8SRsmQcGH2j/MU/9pyjPwAI+LqwU6z783uESXX+9VZxS+zWHkWOLZfR5aEuOLJtBC0BEgJ rjGe36I0GZFdRT1Oq0INVHrsk/Myf/Ivh4JgW2oN6M35PVTeZKkCrh9/GcqevS5RQsyVhc 9ndu5itb8a7vBAArWyBGjRmSzZvumShhYbLtJKeGemSRFIQPZaBxIRrMnSqTnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050886; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y7Qy8ViZpZOwFYLq2TNuqdkkDJgPFOuL/u02RdR1MWc=; b=Lw9v8vTjT4E+m7cHT9uilDD1iJiooNNdyi8f1m+cLWc4vejxNH5khO9CgztSnpnwrcmVk0 fzGV0fHapUtobf22SezpYx6jtyK1nPwxB0/lfNHyoNLOqM6Cz7bozcSHiARhdtI2ijrMSA OTFUsQwsv+/e0Zt90cmqgZ+QvQ0o+idZQQuoQesQVc6pn1f058a5fhAlVURLKZFhNQJKfR sV2JQJid2oJZ7q50oIBXSMae5YkMTy/K10rlQPgM3pwF7l0lFo/WC6tSjzK4lm9XnWj/NH 5X+3T6fGQzu5eDyQJOf0K7qpQY8XiT72non4R8/pXh/xgfl1pJB5Uf8PvKfpiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050886; a=rsa-sha256; cv=none; b=XcAEotReyUJoeLshkkvG4DGhIvMO2Uf1oafU5L+UuTcgMfjtLnq0E6toR9PlfV2b2wJF2D qfbsYOvJ1GtrGnCEDRKXrZLmg/AeLr7qA3jrEwIDqEJbmGZUGg4z306wwZuNIFcyM2AS6k HGfaXuTLnDtrfiHbtQCv36eWpIGIPFj/SGt1fdR0bSYITjB+FT1utPdexNsbVMYv0w9Yng PFa++LdogVsb7ja1IlPrGmyb6PsWwpicqdZmjz5ikp8rfG/xWn2OiXpTXi0aQWWmTOt+Gj Ek7KtodMHcyxZJUIMo1IoldCV8m029D0MZWSEEXYcsrWyzJZIr0V+pdBNzll/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YYrSk1RHCzjbw; Thu, 16 Jan 2025 18:08:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI86QF091311; Thu, 16 Jan 2025 18:08:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI86PJ091308; Thu, 16 Jan 2025 18:08:06 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:06 GMT Message-Id: <202501161808.50GI86PJ091308@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: b1fe5eac37ba - stable/14 - MAC: mac.h: Fix missing includes/typedefs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b1fe5eac37bab5bb2606bb4e0b1eee4877b3b367 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=b1fe5eac37bab5bb2606bb4e0b1eee4877b3b367 commit b1fe5eac37bab5bb2606bb4e0b1eee4877b3b367 Author: Olivier Certner AuthorDate: 2024-07-29 14:21:52 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:53 +0000 MAC: mac.h: Fix missing includes/typedefs This fixes inclusion from userspace, and also kernel inclusion for source files not including explicitly nor implicitly . Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46896 (cherry picked from commit 5140ccf2268b0e771c89e46f46c60e1fee7637c3) --- sys/sys/mac.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sys/sys/mac.h b/sys/sys/mac.h index facdc14c332d..ae8d8d38f17b 100644 --- a/sys/sys/mac.h +++ b/sys/sys/mac.h @@ -47,6 +47,13 @@ #ifndef _SYS_MAC_H_ #define _SYS_MAC_H_ +#include + +#ifndef _SIZE_T_DECLARED +typedef __size_t size_t; +#define _SIZE_T_DECLARED +#endif + #ifndef _POSIX_MAC #define _POSIX_MAC #endif @@ -72,6 +79,13 @@ typedef struct mac *mac_t; #ifndef _KERNEL +#include /* For __BEGIN_DECLS and __END_DECLS. */ + +#ifndef _PID_T_DECLARED +typedef __pid_t pid_t; /* process id */ +#define _PID_T_DECLARED +#endif + /* * Location of the userland MAC framework configuration file. mac.conf * set defaults for MAC-aware applications. From nobody Thu Jan 16 18:08:07 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrSl70mdz5kkTw; Thu, 16 Jan 2025 18:08:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrSl2v3Zz3R8X; Thu, 16 Jan 2025 18:08:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050887; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nh0F/syJZLCjNXKfDBENMckeMqWgKcpG+uCfbRKyi68=; b=C80+cVhyx9NLgGPoK7qZ+OC4jLI74YtACtebXQYcSoFO6JISYT/OyFDMBVtEcRTYihckC9 ottl5sasTBtwT7y5kwPGUkNxxbyRPOtAgtDSZJBRq7XQ49ayEEXtjYiedNS0yH8ArtBOS/ pL+KsrlMjWRjrjFiZhC/m4ARFtD06+u8KyHVJP/mMPOgsOP7pCzQw6y5nBAv7cFg+8kT7G SmBj90qcwjoMQ5FEOKoBT6tr+q6P2SxEUw6/Pr/7U0VrqdGnmwbnsVKeanrvkn8/qnE0C6 Gxe0LyJMpNN7JGUcaE8DlNJ5xfcqQnHXAlKKoqEKkuLP7Cm5yrhy1DjhZ6YW0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050887; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nh0F/syJZLCjNXKfDBENMckeMqWgKcpG+uCfbRKyi68=; b=iv1gfjmFBgoeWt6TyVdwNgetYKB9rQgrwSQD08iQLM1tTalNNDssc/F9uxvNQhyf62y6PX m+MuopRsIkZP1qDiQk4AfEfayz56aVH4N42qrVvzo/LbOYQLh6X9sdzJ6OEgJLfsI/1mwF 7x9DccVNtWKEhaMcIRuBtQSZqNaEqht4n/ahiZ6MoqfY4a7HuWpwAihrTUCGIXwEMOSwN6 wq2LUDQLqhnhilyyLSfO7YPRw4dG/i7GfOdQG71Jnutek96tK5D3AMaEIuV0tkZCKZP3BJ 0xekljGlFrdTIbbqmvh1122Ye3uFYe4DhT541FRYBY4yu6kgBxaRkIZd78t+sA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050887; a=rsa-sha256; cv=none; b=KWx5dRWM+TE/tBdqCb+OwE4JYukoZDYeAdgJMoFu83dpsNaI50v8K1X2+0fg0mCScGOrak FiKEN6qZcPPBZ/AKosnFTELbxzvRwbHBlSyuHaYcLTqkG29T8PRRA9FEV/M0mYYVrYj6um MDE49FT274q2w/N8r44yqP70N7SEMiXB8JHf5IN5TtTd+kC9I0wWauSuGkOaMCw697M1QF TCQYs53uu6q7JyylZe9n9SnbAlA+59BJfTQaGWOZa7Ehhb9PJnvhEt1rR7/BoQdXEnP6Cd 4KQSJNykOJEeWi98rx8pEaV3lGCwpwdUIgrW0zF5TNvi+EVqmI4WTtu37Tl69g== 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 4YYrSl2RtGzk0x; Thu, 16 Jan 2025 18:08:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI87O1091367; Thu, 16 Jan 2025 18:08:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8723091364; Thu, 16 Jan 2025 18:08:07 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:07 GMT Message-Id: <202501161808.50GI8723091364@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 1bd029729e45 - stable/14 - MAC: mac.h: Separately test inclusion from userspace List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1bd029729e4537aae2b5e946e9c569034eabeef2 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=1bd029729e4537aae2b5e946e9c569034eabeef2 commit 1bd029729e4537aae2b5e946e9c569034eabeef2 Author: Olivier Certner AuthorDate: 2024-07-31 08:52:50 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:54 +0000 MAC: mac.h: Separately test inclusion from userspace Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46897 (cherry picked from commit b47f4718c0725f4ea2e8f88359e86661e8dc4a38) --- tools/build/test-includes/badfiles.inc | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/build/test-includes/badfiles.inc b/tools/build/test-includes/badfiles.inc index eb0cd05cb39f..21657bfef4ed 100644 --- a/tools/build/test-includes/badfiles.inc +++ b/tools/build/test-includes/badfiles.inc @@ -75,7 +75,6 @@ BADHDRS= \ sys/lockf.h \ sys/lockmgr.h \ sys/loginclass.h \ - sys/mac.h \ sys/mbuf.h \ sys/md4.h \ sys/md5.h \ From nobody Thu Jan 16 18:08:08 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrSn0H7Qz5kkZR; Thu, 16 Jan 2025 18:08:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrSm3bRSz3RR5; Thu, 16 Jan 2025 18:08:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v8h/VaN5aQy9ElMBtDIyVZNG9nKBCpQp4eLxLh2kk/Y=; b=yu7xfPZ6tIaq5g81kjZAWQ8hw6ThcOcNjNbs4/gxRAf3mTsS2QgdhFyKH3vPTs9nugRqC6 pMoG6CJg71mudCvbnq5wuZagzuVOF9uFDk7INpSJFcidQJ2oJkqWPcbejS/Or9YGXaT8+D TXpIMLJDg0r02dHthFIzbUKXDyYoHFi3sxbGdivvedv6o9UeNcJF4c+8d1JMOt+Zjer6oF 9vCrBWMBHZoRa0xH6s9/RsYHf+e7B30Y0ZJqUoSSPWcAgQpwykUmy2SQbWxUpda2CS3DkU xSEvDIFr10Vcez/q/hXziCGBvTojfHi7CtuxkyNnZpZCyxz3/G+L4tQcMHTPGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v8h/VaN5aQy9ElMBtDIyVZNG9nKBCpQp4eLxLh2kk/Y=; b=ca2dg/JavaWCpmAQ1yiphYWq6jpl3HRqB/Hx4xr0o54OH0H4S5EE2EHaQECk646vabqwly LQO8qu1WHgP7cGCkCJ8niUuWso/en6NNvFQ5Qigr0fd4p4uwjirj7wbQK9JxmLRsYVLS5z 00ORBAPw0FD3Z6En6glV3EX2nP2JuSZNuJVKI7nmQ/potu1Y9YsxRoHskqu5xBwDLF0iz2 PArs4HYzL03eodB2uotPqvMZ5O6oBP4VbU6436147q97ZCWs1zA0r9Ycs0a5IL+X81Mcuv CLY7NxaIzahrfSNbar5CyA/zZUqlNKIJDJ9rYdR6cy8Dn81ivk2WOnqc1pq7sA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050888; a=rsa-sha256; cv=none; b=jbSuD9YbPE3IJxCOs4mjOKHOYvbgZwUwH7o8ttH4XKAd145tjmAH0xiJIQEF7V46m4CtO3 6NbggOoWFp+1jtzyB079b0NBN5MoDY1zR+RGetaFbRULc/OmA+PiKjK92tRx7/R5OrBA6R owj1NdkyE6dbXqfheOhNR3mS4e8lfIGgXXkUwg9qyKgdoJrBWMxCfzLKpUX0wlFcYnhwtE qA2nA6VU6v7i6J8RAmrxW1OIcM6n99mfYyYy2wdNe+NNMq/UZx+ZaZ31YfEfYqdc0BZ0hN C20zJqmnFLFWPLSyg6Z8PD+3l/+PUkH1fi3K+C7++FrhysdwNQ1G+x3uTX0R2A== 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 4YYrSm39tqzk0y; Thu, 16 Jan 2025 18:08:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI883k091426; Thu, 16 Jan 2025 18:08:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI884A091423; Thu, 16 Jan 2025 18:08:08 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:08 GMT Message-Id: <202501161808.50GI884A091423@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: f878893bdc59 - stable/14 - MAC: 'kernel_mac_support' module: Make an outdated comment more generic List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f878893bdc59de2d6db9275713c3876150028de6 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f878893bdc59de2d6db9275713c3876150028de6 commit f878893bdc59de2d6db9275713c3876150028de6 Author: Olivier Certner AuthorDate: 2024-07-03 14:23:38 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:54 +0000 MAC: 'kernel_mac_support' module: Make an outdated comment more generic No functional change. Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46898 (cherry picked from commit 90678c892d7b3a90339b7fc19fde16c64fe3cb70) --- sys/security/mac/mac_framework.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/security/mac/mac_framework.c b/sys/security/mac/mac_framework.c index 8f1aa37d45b3..7fdb7b4ed2d2 100644 --- a/sys/security/mac/mac_framework.c +++ b/sys/security/mac/mac_framework.c @@ -106,7 +106,7 @@ SYSCTL_NODE(_security, OID_AUTO, mac, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD MAC policy controls"); /* - * Declare that the kernel provides MAC support, version 3 (FreeBSD 7.x). + * Declare that the kernel provides a specific version of MAC support. * This permits modules to refuse to be loaded if the necessary support isn't * present, even if it's pre-boot. */ From nobody Thu Jan 16 18:08:09 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrSp16mjz5kkXJ; Thu, 16 Jan 2025 18:08:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrSn5vsJz3RRJ; Thu, 16 Jan 2025 18:08:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zspZVsmQa41VUK4wf/BYYW5umtJgQzisuEeQD1WdVpU=; b=ipWmmANUzn3fjgp22SqjGJmUg0EQd9AI0ltw/Avwq/Xjqbve3iY23cHaZ9y0qYQyIMpVAc Xoi0YG6eB2NyV//EDtxRxH2W9MKEBeeBV71mDB+72sszOeDd9CNj11OUN8FyVkyG6LUfHN XEYmnpjY/d28h0b6uiv3LWRfPt2neyZMDyfJqWE69Drfjdso4R+lRmf52LUlIiFO0ZLdwD AlUrlCOZ//VoUs+s1hF6Am6Ojp27lhaPDoK3kzEXbuMQpqgQ+AX2AKPVz+W4b6GFOIHBfW ERRLBhFu0yifCcycXge+Dmd+ZOcfXDojyqQOWuN/ePlX+AtNggm6umqhPAddKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zspZVsmQa41VUK4wf/BYYW5umtJgQzisuEeQD1WdVpU=; b=cNP3VeeRz8HLf+Yo2wNty+5sBGi2GfWle2T1CeIb4QF0/BbM5rLr0++kDuwGxYiMueqjby GiPcrOoz9cM9H9dVFbidNH9bjrAMzRgUCxnx138JlLUOa3xz7XyMX5bCgKYhXg2Hv9e9p4 13N3rC/Px+kC69p4iZNrl2zwhbK9L5Z1KNXlgDrUT0eOO/UVbuE6JCkT7R8zQyPwUFAVtC /hbdIDSe36njPyCivDpO7JZ5erp7r1p1jhAu6xzuthTvwbB8lCaMFbqDKqKqd+MNyoxq/W 3cpXI1/teb4bTTrx6YgTIzC4Vt3ujPAF65XvG8Vs7hvTvtv8LVWSY/HKkePMSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050889; a=rsa-sha256; cv=none; b=CJgdWqmUwRG0KyNa3yfLRXzhPP6ykBIu8iEAxtiyKBQUEHBKRWXeym6t5HEvDKuS/2cCFU Luy/vZpn+QEmM2JPNx7ALfNQMqOTx6FsJyTWxyljbO7uPMpBRf10+xqJxZBLrIsdsitWya EWXpsV6OvLbGRPq8DsGS6Brk1hG0fFAAhpH7RCWqQo2WZU7K2amwIPjkt15CuqNxmezG1T twC/GL7+pJwoUcO05yNqDPVbpcPmVw68x0/zgDUM53ZE64TftgFZirY1OZ67YEDuRBlAyy Fqti9FvcEJXStPF2wT1IzRwDlwI+L+M1nPSh4BmGYRmWtbf89h8tEJ4yYDYKDw== 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 4YYrSn4Z3XzjVp; Thu, 16 Jan 2025 18:08:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI89nu091508; Thu, 16 Jan 2025 18:08:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI89mb091505; Thu, 16 Jan 2025 18:08:09 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:09 GMT Message-Id: <202501161808.50GI89mb091505@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 66fb52a27279 - stable/14 - MAC: Define a common 'mac' node for MAC's jail parameters List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 66fb52a27279235d0c42b605355afe3227feacee Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=66fb52a27279235d0c42b605355afe3227feacee commit 66fb52a27279235d0c42b605355afe3227feacee Author: Olivier Certner AuthorDate: 2024-07-03 14:30:19 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:54 +0000 MAC: Define a common 'mac' node for MAC's jail parameters To be used by MAC/do. Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46899 (cherry picked from commit 5041b20503dbb442cc9ebd0a6e4db26905102c72) --- sys/security/mac/mac_framework.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/security/mac/mac_framework.c b/sys/security/mac/mac_framework.c index 7fdb7b4ed2d2..b5eb1620300a 100644 --- a/sys/security/mac/mac_framework.c +++ b/sys/security/mac/mac_framework.c @@ -72,6 +72,7 @@ #include #include #include +#include #include #include #include @@ -105,6 +106,11 @@ SDT_PROBE_DEFINE1(mac, , policy, unregister, SYSCTL_NODE(_security, OID_AUTO, mac, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD MAC policy controls"); +/* + * Root sysctl node for MAC modules' jail parameters. + */ +SYSCTL_JAIL_PARAM_NODE(mac, "Jail parameters for MAC policy controls"); + /* * Declare that the kernel provides a specific version of MAC support. * This permits modules to refuse to be loaded if the necessary support isn't From nobody Thu Jan 16 18:08:10 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrSq48Wpz5kkXS; Thu, 16 Jan 2025 18:08:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrSp6RxQz3RCD; Thu, 16 Jan 2025 18:08:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yYq6GJXhTttgZICrPgQg8ntlai+yBZMcVp+9mq3nZFw=; b=QjKkuSG4xKyM3xrbdOPiPVAo9eWxtcgE0VAFCB6bu/df8D4w2RH9P0uqeiyiv3cExW/az2 j37MgmFfIum/mRzdfaf3ZExDi1CcqEALLYv2HOktkjn4xFgXQYbsVK0yVq/x2gtrvjLXH3 ZuQw0/IBYdMdBnEPbkzh38IwFOuO4dTkxKnNddXNwQbS7xjv4T6C+QyNbIPQmDW8NPDE2f hPk+ij1QGDRLS6zH5XUSWevUQG3FWPAP8JWDBWOETBgmU0/uR7AgCr1quW9R1yPKU+tctw Ry+ITxujRavxoxP5BnLnKFdaMjON1mXMQ38cbA+XRRS5ByMzFCA7y3T+5KZ7iQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yYq6GJXhTttgZICrPgQg8ntlai+yBZMcVp+9mq3nZFw=; b=wf64xKaUf01aiXIteBmaIbp+6WF4wwbexruz35U/PQptBwwCAbFLuvnqm26rGeIJjSiUXG cbYg0Qv3z+nl1YxW5WET+6nIRAfm2/gH3hohuHBmCnb1ZyROSZyhgbpiJ8InpaW3BUd0pi YLnC625/VQNHEdKxzAwsbyyQuPu1rnrL7INhoz3CbDq0peTEMNy6fsGz2Ldy0rb8mWk09H IXhdEMscLvaxusTlVFokBlbEsJcWtk8WT9g7om3/zu0jTj81dMrdkjt+bhtycGHqnucQwz FWsvF0VHdb9cW7K98Gz+UgbeBLtfcjtSqPvRlGw3TSkThFz/3getch84alfPXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050890; a=rsa-sha256; cv=none; b=hemVrwdGyM/V/wddieFg7CuWx8Vd9xrEBleRaeniZbKq7BApBueVMqYHVYYkVlkqM4/dT9 3Lk/W9ovY9c0NdQXebEgFBKO9jagB7Jdjh/oMopfGtOoNwQW3OSNQ0dnQFrJBLRUpaqT9r chReMOvXs3QLsntZknS2Ep6kysuIAa/yQrCOTw34GknC7H+I7WwWtYuNgYFOyvLL6sCZjK w1iQYI6mNWNk4JEKU9x0i3EhURIl/0psl7QqivQZW48wW576GuLKcDLu10yEo3JZeGfFIH S1rjpTp0BYIoXwuGtb2kBUQwg8s0bQniKHEjJNIgR+RzJJyAVZqO1Hmjib6QXw== 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 4YYrSp5Zy0zkMy; Thu, 16 Jan 2025 18:08:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8Agl091565; Thu, 16 Jan 2025 18:08:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8A5x091562; Thu, 16 Jan 2025 18:08:10 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:10 GMT Message-Id: <202501161808.50GI8A5x091562@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: ec661f29c3e3 - stable/14 - jail.h: Fix whitespace in the param macros declaration block List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ec661f29c3e350c7a54ed95af5b110d427e830cd Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=ec661f29c3e350c7a54ed95af5b110d427e830cd commit ec661f29c3e350c7a54ed95af5b110d427e830cd Author: Olivier Certner AuthorDate: 2024-07-04 09:01:10 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:54 +0000 jail.h: Fix whitespace in the param macros declaration block Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46900 (cherry picked from commit f8fe6bc73bbbced506a02ed88783c0c0bb9b49e4) --- sys/sys/jail.h | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/sys/sys/jail.h b/sys/sys/jail.h index 088a0bc33d6d..fa30a363340e 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -376,26 +376,26 @@ extern struct sx allprison_lock; SYSCTL_DECL(_security_jail_param); #define SYSCTL_JAIL_PARAM(module, param, type, fmt, descr) \ - SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ - (type) | CTLFLAG_MPSAFE, NULL, 0, sysctl_jail_param, fmt, descr) + SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ + (type) | CTLFLAG_MPSAFE, NULL, 0, sysctl_jail_param, fmt, descr) #define SYSCTL_JAIL_PARAM_STRING(module, param, access, len, descr) \ - SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ - CTLTYPE_STRING | CTLFLAG_MPSAFE | (access), NULL, len, \ - sysctl_jail_param, "A", descr) -#define SYSCTL_JAIL_PARAM_STRUCT(module, param, access, len, fmt, descr)\ - SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ - CTLTYPE_STRUCT | CTLFLAG_MPSAFE | (access), NULL, len, \ - sysctl_jail_param, fmt, descr) + SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ + CTLTYPE_STRING | CTLFLAG_MPSAFE | (access), NULL, len, \ + sysctl_jail_param, "A", descr) +#define SYSCTL_JAIL_PARAM_STRUCT(module, param, access, len, fmt, descr) \ + SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ + CTLTYPE_STRUCT | CTLFLAG_MPSAFE | (access), NULL, len, \ + sysctl_jail_param, fmt, descr) #define SYSCTL_JAIL_PARAM_NODE(module, descr) \ - SYSCTL_NODE(_security_jail_param, OID_AUTO, module, CTLFLAG_MPSAFE, \ - 0, descr) + SYSCTL_NODE(_security_jail_param, OID_AUTO, module, CTLFLAG_MPSAFE, \ + 0, descr) #define SYSCTL_JAIL_PARAM_SUBNODE(parent, module, descr) \ - SYSCTL_NODE(_security_jail_param_##parent, OID_AUTO, module, \ - CTLFLAG_MPSAFE, 0, descr) + SYSCTL_NODE(_security_jail_param_##parent, OID_AUTO, module, \ + CTLFLAG_MPSAFE, 0, descr) #define SYSCTL_JAIL_PARAM_SYS_NODE(module, access, descr) \ - SYSCTL_JAIL_PARAM_NODE(module, descr); \ - SYSCTL_JAIL_PARAM(_##module, , CTLTYPE_INT | (access), "E,jailsys", \ - descr) + SYSCTL_JAIL_PARAM_NODE(module, descr); \ + SYSCTL_JAIL_PARAM(_##module, , CTLTYPE_INT | (access), "E,jailsys", \ + descr) /* * Kernel support functions for jail(). From nobody Thu Jan 16 18: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 4YYrSv0Lq6z5kkrw; Thu, 16 Jan 2025 18: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 4YYrSt2mF4z3RYf; Thu, 16 Jan 2025 18:08:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TNu8LMTD3PUy5/+p+IwHnHkE8j9YaspnJAXRaVxZxWM=; b=jTk5rxuCs3ABlk7ZKWgw+2jaKNg+JIO+EfeYGwGZZqNrXyZVtRLdwbKbXjfv6rkk2KC/jL yLWlXnI1AOjcDP5zzIfySebUdfHul57+QSIl4TPpacF2T7bvTTAvf/gReAjx1fOy0q/CCj HqLK8ujLmnEsP3u6206ZulntjHFJQVrmidr75fRmjeOBp+jq7KUUPzSMYc6gabZQ0MMUNC CxXWH45qcW4NbxENwUn+44M6xA54ekyUJnUjOBlRxcMmsZN4i1B/wTtVy82FS2ncy5dfmo O+lzfAPblKxG6l+n1SwubLWS5F/NOrUtJLTBQVn0vqGgkUueMgkMOAqBd3LtXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TNu8LMTD3PUy5/+p+IwHnHkE8j9YaspnJAXRaVxZxWM=; b=gxUndV80XRPzROu/u7oCwU887TAS4WOJoS6N7KhiD4tmAhPzuLaXoO5a3NvajxVc2JKUFP 2v5N3/KN0pLR8s9a3Neu+g2EvtJkLDl7Gjxu+BDC9PHl/tL9jtES2f7lmTy+9MQx10Bpdv /u8zhaSiIpRZGboWxxVS1azwP55Iwcp2oPHvPA+W+5i/bn1Y4JZjdzg3zrDhyp/b3J2Xj7 t5noL96Vofd5DECOglsIhnYQyqY9coHw+N1lvrqvpC3hVbe2Zq6+/qn61SiEnnKNqyRraU JyEE91gTjgXv4Lh/C1r8tiHoPvoeh1wUOqM9SUvtPEzU8OENOkX4cTVzzTXzng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050894; a=rsa-sha256; cv=none; b=fduK1++wswzjme5lT55lVViqULkLlj2WvtfM6dcSxhyDdvZkpbaYXXD0clUUMlbWjvIC0q oWvrfreaX4BXQk/wH5b8wfTjlYEftE1bxcnX8TvwJvtkStJAy4/cQk/shm/XDc3gaICFFl sdS1IMl2jQdDS2VhWWZJ6iwx79hyKO64qGzFwegw7yXz3ySu4xlqNNnbv+xIB5n3SaWFQF booqcvBtCeDXdesFhWAa0ZRTT8PTj6AcASvNbAM66yl0dAJddMQmNjJLK0bveI2g38xHee wb04QddOL2Ue0bSNh6HN3ZCpUs34U3duPT6hhLazDEDg9y7ERRc7N6hwClbXGA== 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 4YYrSt1XC6zk11; Thu, 16 Jan 2025 18: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 50GI8EsO091701; Thu, 16 Jan 2025 18: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 50GI8EVg091698; Thu, 16 Jan 2025 18:08:14 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:14 GMT Message-Id: <202501161808.50GI8EVg091698@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 62d3e81935c6 - stable/14 - MAC: mac_policy.h: Declare common MAC sysctl and jail parameters' nodes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 62d3e81935c6b642bc6a3ffb0b909c14d15efbed Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=62d3e81935c6b642bc6a3ffb0b909c14d15efbed commit 62d3e81935c6b642bc6a3ffb0b909c14d15efbed Author: Olivier Certner AuthorDate: 2024-07-04 14:08:20 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:55 +0000 MAC: mac_policy.h: Declare common MAC sysctl and jail parameters' nodes Do this only when the headers for these functionalities were included prior to this one. Indeed, if they need to be included, style(9) mandates they should have been so before this one. Remove the common MAC sysctl declaration from , as it is now redundant (all its includers also include ). Remove local such declarations from all policies' files. Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46903 (cherry picked from commit db33c6f3ae9d1231087710068ee4ea5398aacca7) The original changes in 'sys/security/mac_grantbylabel/mac_grantbylabel.c' were removed as MAC/grantbylabel has not been MFCed. --- sys/security/mac/mac_internal.h | 7 ------- sys/security/mac/mac_policy.h | 15 +++++++++++++++ sys/security/mac_biba/mac_biba.c | 2 -- sys/security/mac_bsdextended/mac_bsdextended.c | 2 -- sys/security/mac_ifoff/mac_ifoff.c | 2 -- sys/security/mac_ipacl/mac_ipacl.c | 2 -- sys/security/mac_lomac/mac_lomac.c | 2 -- sys/security/mac_mls/mac_mls.c | 2 -- sys/security/mac_ntpd/mac_ntpd.c | 2 -- sys/security/mac_partition/mac_partition.c | 2 -- sys/security/mac_pimd/mac_pimd.c | 2 -- sys/security/mac_portacl/mac_portacl.c | 2 -- sys/security/mac_priority/mac_priority.c | 2 -- sys/security/mac_seeotheruids/mac_seeotheruids.c | 2 -- sys/security/mac_stub/mac_stub.c | 2 -- sys/security/mac_test/mac_test.c | 2 -- sys/security/mac_veriexec/mac_veriexec.c | 2 -- 17 files changed, 15 insertions(+), 37 deletions(-) diff --git a/sys/security/mac/mac_internal.h b/sys/security/mac/mac_internal.h index 4b2be98b4e03..c35504e04ea9 100644 --- a/sys/security/mac/mac_internal.h +++ b/sys/security/mac/mac_internal.h @@ -56,13 +56,6 @@ #include #include -/* - * MAC Framework sysctl namespace. - */ -#ifdef SYSCTL_DECL -SYSCTL_DECL(_security_mac); -#endif /* SYSCTL_DECL */ - /* * MAC Framework SDT DTrace probe namespace, macros for declaring entry * point probes, macros for invoking them. diff --git a/sys/security/mac/mac_policy.h b/sys/security/mac/mac_policy.h index cf101bc4414e..084684e57497 100644 --- a/sys/security/mac/mac_policy.h +++ b/sys/security/mac/mac_policy.h @@ -1064,4 +1064,19 @@ int mac_policy_modevent(module_t mod, int type, void *data); intptr_t mac_label_get(struct label *l, int slot); void mac_label_set(struct label *l, int slot, intptr_t v); +/* + * Common MAC Framework's sysctl and jail parameters' sysctl nodes' declarations. + * + * Headers and normally have to be included before + * this header as style(9) hints to. If they weren't, just forego the + * corresponding declarations, assuming they are not needed. + */ +#ifdef SYSCTL_DECL +SYSCTL_DECL(_security_mac); +#endif + +#ifdef SYSCTL_JAIL_PARAM_DECL +SYSCTL_JAIL_PARAM_DECL(mac); +#endif + #endif /* !_SECURITY_MAC_MAC_POLICY_H_ */ diff --git a/sys/security/mac_biba/mac_biba.c b/sys/security/mac_biba/mac_biba.c index 5d66e2fd4b9b..e991e05311df 100644 --- a/sys/security/mac_biba/mac_biba.c +++ b/sys/security/mac_biba/mac_biba.c @@ -88,8 +88,6 @@ #include #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, biba, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_biba policy controls"); diff --git a/sys/security/mac_bsdextended/mac_bsdextended.c b/sys/security/mac_bsdextended/mac_bsdextended.c index 95efc537735a..8a6549214380 100644 --- a/sys/security/mac_bsdextended/mac_bsdextended.c +++ b/sys/security/mac_bsdextended/mac_bsdextended.c @@ -68,8 +68,6 @@ static struct mtx ugidfw_mtx; -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, bsdextended, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD extended BSD MAC policy controls"); diff --git a/sys/security/mac_ifoff/mac_ifoff.c b/sys/security/mac_ifoff/mac_ifoff.c index d84b9c85a5be..cffe93b4d9a9 100644 --- a/sys/security/mac_ifoff/mac_ifoff.c +++ b/sys/security/mac_ifoff/mac_ifoff.c @@ -58,8 +58,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, ifoff, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_ifoff policy controls"); diff --git a/sys/security/mac_ipacl/mac_ipacl.c b/sys/security/mac_ipacl/mac_ipacl.c index 5bcb9d652a13..69802845252a 100644 --- a/sys/security/mac_ipacl/mac_ipacl.c +++ b/sys/security/mac_ipacl/mac_ipacl.c @@ -70,8 +70,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, ipacl, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_ipacl policy controls"); diff --git a/sys/security/mac_lomac/mac_lomac.c b/sys/security/mac_lomac/mac_lomac.c index aa9abf458721..23acc7b7a592 100644 --- a/sys/security/mac_lomac/mac_lomac.c +++ b/sys/security/mac_lomac/mac_lomac.c @@ -89,8 +89,6 @@ struct mac_lomac_proc { struct mtx mtx; }; -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, lomac, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_lomac policy controls"); diff --git a/sys/security/mac_mls/mac_mls.c b/sys/security/mac_mls/mac_mls.c index a22b504c3362..54a32b6d564d 100644 --- a/sys/security/mac_mls/mac_mls.c +++ b/sys/security/mac_mls/mac_mls.c @@ -89,8 +89,6 @@ #include #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, mls, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_mls policy controls"); diff --git a/sys/security/mac_ntpd/mac_ntpd.c b/sys/security/mac_ntpd/mac_ntpd.c index 3125bc057be8..1aeaeb032bb8 100644 --- a/sys/security/mac_ntpd/mac_ntpd.c +++ b/sys/security/mac_ntpd/mac_ntpd.c @@ -34,8 +34,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, ntpd, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "mac_ntpd policy controls"); diff --git a/sys/security/mac_partition/mac_partition.c b/sys/security/mac_partition/mac_partition.c index 2cff042cb33a..2f0189b79ace 100644 --- a/sys/security/mac_partition/mac_partition.c +++ b/sys/security/mac_partition/mac_partition.c @@ -61,8 +61,6 @@ #include #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, partition, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_partition policy controls"); diff --git a/sys/security/mac_pimd/mac_pimd.c b/sys/security/mac_pimd/mac_pimd.c index 19ee307c918d..a9276a73b433 100644 --- a/sys/security/mac_pimd/mac_pimd.c +++ b/sys/security/mac_pimd/mac_pimd.c @@ -35,8 +35,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, pimd, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "mac_pimd policy controls"); diff --git a/sys/security/mac_portacl/mac_portacl.c b/sys/security/mac_portacl/mac_portacl.c index 184ec4b4738c..b3a5e06c0e2a 100644 --- a/sys/security/mac_portacl/mac_portacl.c +++ b/sys/security/mac_portacl/mac_portacl.c @@ -79,8 +79,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, portacl, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_portacl policy controls"); diff --git a/sys/security/mac_priority/mac_priority.c b/sys/security/mac_priority/mac_priority.c index f460e5195cb9..1e5bfb5386cb 100644 --- a/sys/security/mac_priority/mac_priority.c +++ b/sys/security/mac_priority/mac_priority.c @@ -35,8 +35,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, priority, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "mac_priority policy controls"); diff --git a/sys/security/mac_seeotheruids/mac_seeotheruids.c b/sys/security/mac_seeotheruids/mac_seeotheruids.c index 1677b092daad..9cd2e0f3c0fc 100644 --- a/sys/security/mac_seeotheruids/mac_seeotheruids.c +++ b/sys/security/mac_seeotheruids/mac_seeotheruids.c @@ -59,8 +59,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, seeotheruids, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_seeotheruids policy controls"); diff --git a/sys/security/mac_stub/mac_stub.c b/sys/security/mac_stub/mac_stub.c index 9a2650ea32f4..c602c639ec95 100644 --- a/sys/security/mac_stub/mac_stub.c +++ b/sys/security/mac_stub/mac_stub.c @@ -88,8 +88,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, stub, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_stub policy controls"); diff --git a/sys/security/mac_test/mac_test.c b/sys/security/mac_test/mac_test.c index 267666555f22..7a6a76ce23cc 100644 --- a/sys/security/mac_test/mac_test.c +++ b/sys/security/mac_test/mac_test.c @@ -78,8 +78,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, test, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_test policy controls"); diff --git a/sys/security/mac_veriexec/mac_veriexec.c b/sys/security/mac_veriexec/mac_veriexec.c index 7ac09e2acf0f..36217b5c6f4d 100644 --- a/sys/security/mac_veriexec/mac_veriexec.c +++ b/sys/security/mac_veriexec/mac_veriexec.c @@ -81,8 +81,6 @@ static int sysctl_mac_veriexec_state(SYSCTL_HANDLER_ARGS); static int sysctl_mac_veriexec_db(SYSCTL_HANDLER_ARGS); static struct mac_policy_ops mac_veriexec_ops; -SYSCTL_DECL(_security_mac); - SYSCTL_NODE(_security_mac, OID_AUTO, veriexec, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "MAC/veriexec policy controls"); From nobody Thu Jan 16 18:08:11 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrSr3VTJz5kktY; Thu, 16 Jan 2025 18:08: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 4YYrSr1lcMz3RCN; Thu, 16 Jan 2025 18:08:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ynclcVoDOshjXnnXiCkj14KlEyF9CnY52KuX+kzQhV0=; b=l80+k5bng7/SD+JsltMY0tPylyubBLFYPn5elChy5iIRAytk6GeheMx5weQ+KpcHmf9p2P OAXkpv0RIwKRP60popcg+ydpZRDDBq526aOLE9as65wupLKcPeZ9Z512SLp+OBNPPUsDzT 0wSdr3Ev9RFggAlF8dz+RZkuQE+7K7sHXTicX++3OJOi4eIudzq6fN4i7tZ7o7ek7+fAiD UpCFwDgtSPoG/owKvstXGVe2PAzDsvf0NQapJB8GL6CracvQ2Ojq6eB5dboL23tmK1Hy3W Mut/ROeJ8Jdp7BtoenPEE8+V9vHimmdqm3Xf/uU6SgQlTlkoPdLWSshv8Ku/gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050892; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ynclcVoDOshjXnnXiCkj14KlEyF9CnY52KuX+kzQhV0=; b=THt0IhLLRAtEnQVm8Wsi2XyEu6mVjezzZuA/3qGc9kKIhKn4+vT7exbIxXdPHlGwzBS+zJ VJdka0PGN8A1l36cZ5ybqO4Et9px8wmj+VLsFFXOXiTqGi6ZIM9I5k28KyFIIt/pl3omDy CFjjrUVfz9/3OHSU45j8yFYw1jPhbg8656yQiHHH5Br3rA8osefDs3C4RY18d3Gj6jzO1k tgfzhJZcZeBKSbhOj+gfIxa/j2RVl2VfEMNV9MEnVUWY0TBFxNECKMryqgk5EM36pY0bDg STtu9UdJBIrk0JsfZvN1Cr/XK4K928Vml4ImRL0s72wdTmrJbHPNyHzcw/LZlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050892; a=rsa-sha256; cv=none; b=N4mf/hUhLvfXbvTRmfybWCFEmJzqtWXf645Z6kSYBHm7wiqjrw0VFxz0/qNVhSq8/1GTk+ W4Hpx9e0HzXFHOcGpgS/muR4EtL//CWKl9S7/YN5zbDRHNpHFobcAUavN9/qhE1Yu97B2S TvaNs++l439DfSnVo+RYRY/PxLayYzh2H7WYbvvnhLwONjvBafE7PW3lLc4Idiw4ENeMVs voPr8yWN/XJFXgrZkvw4oWFB92L0YpQvyJj/j3/GT6ErldCRWpVia8ON8ZhcK1DbCNjykS Wpdm/yByL4/bp1OtIxZC4ErtnBzE2NDy/NLKromgQ9biLtftyVqtlXX/aX77DA== 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 4YYrSq6W6tzk10; Thu, 16 Jan 2025 18:08:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8BEU091601; Thu, 16 Jan 2025 18:08:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8BuG091598; Thu, 16 Jan 2025 18:08:11 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:11 GMT Message-Id: <202501161808.50GI8BuG091598@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 7340eb44087f - stable/14 - jail.h: New SYSCTL_JAIL_PARAM_SYS_SUBNODE() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7340eb44087fe067b0bac9f32cbc07342b5261e1 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=7340eb44087fe067b0bac9f32cbc07342b5261e1 commit 7340eb44087fe067b0bac9f32cbc07342b5261e1 Author: Olivier Certner AuthorDate: 2024-07-04 09:05:44 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:55 +0000 jail.h: New SYSCTL_JAIL_PARAM_SYS_SUBNODE() Same as SYSCTL_JAIL_PARAM_SYS_NODE() but allowing another level of hierarchy. To be used with MAC policies, so that they can have their own node under "security.jail.param.mac". Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46901 (cherry picked from commit 9f8020e65ba8f2398bf79505037b75670340e5fa) --- sys/sys/jail.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/sys/jail.h b/sys/sys/jail.h index fa30a363340e..053f68a36735 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -396,6 +396,10 @@ SYSCTL_DECL(_security_jail_param); SYSCTL_JAIL_PARAM_NODE(module, descr); \ SYSCTL_JAIL_PARAM(_##module, , CTLTYPE_INT | (access), "E,jailsys", \ descr) +#define SYSCTL_JAIL_PARAM_SYS_SUBNODE(parent, module, access, descr) \ + SYSCTL_JAIL_PARAM_SUBNODE(parent, module, descr); \ + SYSCTL_JAIL_PARAM(_##parent##_##module, , CTLTYPE_INT | (access), \ + "E,jailsys", descr) /* * Kernel support functions for jail(). From nobody Thu Jan 16 18:08: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 4YYrSt0MJQz5kkxS; Thu, 16 Jan 2025 18:08: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 4YYrSs47ZFz3RWZ; Thu, 16 Jan 2025 18:08:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZhSXOCvawuutJFZoN1YiFbznfrdpetwJ3n0xy3YfTIg=; b=wZJE1Ojh6xR2PAwr+1GkSV5VFgcKeYep8bBuqCoWKyTNp0/oKbZQ/fxwHE+oD9vu7IGr40 oJ8vN0UCbg9RXuY2TwfNml4QisFHk4MFiRjQve7XZviR9Y+pJGVjCQ6EntUDGNrUzLAKtI pm6Quok66wAKndVNLOd3gx0gCtDMPDNMzC98lYU0W+i6+W5rjLjlbs/A8NJT65HpQXizVt MTgpKAl1zsf61ofWe+qFxHr6324aedgzfvfmGMW9FbBdlDZIpMz6y6tNvbxLovFhn+eB3i I8YyeeliTeS8sgTOgc8lkSnpY/dJlo0WJ/rl4p7qDLzdMOCp0HGspjLrO3KjVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZhSXOCvawuutJFZoN1YiFbznfrdpetwJ3n0xy3YfTIg=; b=FfsOMXEl0EN550Ajqj0S+/gGIIT0VOzQ9darxtdkOt5XI3WkYbdJLd+Kfyc1cnJue3JzpL SL0Tg4fkO6sbCYshrPVVPPfZkL6yjATHw/suYth2PjcXMXsqJpwXn28pgZoTWD28/wRlWv SFqeVcxMj4QoxCu2LkdqCfGNvgIAeswMN/Izide22JDD3KxPvp44urGOhG0G8inPrzAVaG 8RdunPE1bzE5vaZxTnFiRgDkDvr6TWcM/3YWsgrGHeFgcX0EN5TPBvg4Hog2yxXLlWYuny DDIrdC2MuvEya8y0P3oOeptIMUSGDWms+MkHPRKWImvZUhWfpGkEFuY/bL/6wg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050893; a=rsa-sha256; cv=none; b=eNe8E8R+BO4qwnqWnOQAT+s4Kv+Dt4jIs2duFosbEWJBHkivZb9Xm1bz1EieMikoesWkHq Mh+F3+KTixZ2VBz7ehYXtGpRxnfCOQsR+EinJKJS+oS9ZWfqJOPiJrgVh1S8g6ZSysSB8B PR12+eo9NbB1j1VXbCvIlMrGupqSLfUDKn4i7KD9NpdNNh8fWajDVOoJ/BO+odn/0SKiw8 hjN9LBOgnckkToXdX2+T3XUAiREDoYFlRtxsm8wvuK3EejlAdwZ1UFr1srUXbGI7SR9nat CZfUa2bPYtr1LtG3VuJeOBCsragJQW8u6yONP0rF0bErquGJBcdntViHxbJ2SA== 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 4YYrSs0PBVzjVq; Thu, 16 Jan 2025 18:08: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 50GI8CbZ091644; Thu, 16 Jan 2025 18:08:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8CDU091641; Thu, 16 Jan 2025 18:08:12 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:12 GMT Message-Id: <202501161808.50GI8CDU091641@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 4ccba65f9190 - stable/14 - jail.h: New SYSCTL_JAIL_PARAM_DECL() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4ccba65f91907df7bfe6b2e447eb0d28519f4125 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=4ccba65f91907df7bfe6b2e447eb0d28519f4125 commit 4ccba65f91907df7bfe6b2e447eb0d28519f4125 Author: Olivier Certner AuthorDate: 2024-07-04 09:50:04 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:55 +0000 jail.h: New SYSCTL_JAIL_PARAM_DECL() Like SYSCTL_DECL(), additionally prepending the well-known jail parameters' sysctl prefix. Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46902 (cherry picked from commit f7bda491ef05717fb4fe6c89083485599db951b8) --- sys/sys/jail.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/sys/jail.h b/sys/sys/jail.h index 053f68a36735..0b0ee9cdde0f 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -375,6 +375,8 @@ extern struct sx allprison_lock; */ SYSCTL_DECL(_security_jail_param); +#define SYSCTL_JAIL_PARAM_DECL(name) \ + SYSCTL_DECL(_security_jail_param_##name) #define SYSCTL_JAIL_PARAM(module, param, type, fmt, descr) \ SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ (type) | CTLFLAG_MPSAFE, NULL, 0, sysctl_jail_param, fmt, descr) From nobody Thu Jan 16 18:08: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 4YYrSv54TRz5kklr; Thu, 16 Jan 2025 18: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 4YYrSv2YgKz3RZ3; Thu, 16 Jan 2025 18: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=1737050895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HOOG+/TBIUbNvsoyc/Vm/wnwmrJYeO8TaPatIIEDg70=; b=nkkvnYXAjNNX7GJgEpcfYvX/EcItrVD/66WOeYoEHHYZVvCtWeBBz7olpX5PBCqTTBxVlG GpW1wpvPTX4MRmlE0+7oXAeiGFGx1/76zRSPa1lVBiQ2EQ9aVU5EbYvvO/19mIHXC7tj0Q Kc1joZo1+NQkrft8CxSj/2GgzHVkz8MkJOLauQB3ZwwUSOLI3nTh+KoQfWAjgRnR19pOBM uKGrZyVwqUfGwAmEV/I95x/m/IClShKk1GHzoOR0cgl58hnWegwSJHx/8Xd4aL8svgf/P+ rk4MTJWAVqieoD5hIMEN1DuK21juAOrRU7OM5hSIJtRuFuJKBkYdFYUFmMLFgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HOOG+/TBIUbNvsoyc/Vm/wnwmrJYeO8TaPatIIEDg70=; b=gmAhzfIte3YVRUX11n5onZYvyhCc03hqjRoT7WLGjQG6xLBdX20TBzEkM/+Pi3FBIfcym1 bbx433tTL1GdRQ3J3+jqqN2fDK/JE4BqoJo/NWefL7ihdXLtGWAYqtppWIwnyO3pBLiclb FBm8K3CBwtb/aTaICg0gqLyv55IYlA2DMF30vRlKqy0VPc0F7cY9XvkLrp8mTxRaoiLmxG QKAng+jf2bipUZHpazgPHn8V+VJuzBK59Zt4PsOv5J9w7G5FkfKuy968MquiZ0zbSlRAF9 khI5SQfJ/GN4Mq8F/+L7Y7QjDJoNKZYZKRGz9dIe+lo1q6dexoQQZ+8BSjbh3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050895; a=rsa-sha256; cv=none; b=UKtzh70izVUIPgG4HreQHr4atR8A20ZhzGwew4S4Wj6wo0sG58I/BQApvC7v2dhNWM6NeK jeqcyJMohFMS0HprJjcEwLTJw+lAWKuMLRL0SIw1sZHOrZEfczslwcvB1HnHz8zbH6GJq2 eWorL2ynIYMEzx3MuDUA0wD5Pg+otvI3i/KWJkX5GB+M70nLBl/ikCf+2Oy+1cF6sM0x1U 7bDLKb1cQrj932ePgpO5Xax+U4Jdzoxh6+hhMeBzan0/BWzTSoUpCnArWCXypjYvrfDWx3 51+Yq1qUrBxR/yuuc//9OqYWNx6Z944Ws1WuxjV/cx7vWh6NGMRBTSpB/8a4yg== 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 4YYrSv1q0hzjbx; Thu, 16 Jan 2025 18:08: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 50GI8FnA091783; Thu, 16 Jan 2025 18:08:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8F3Y091778; Thu, 16 Jan 2025 18:08:15 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:15 GMT Message-Id: <202501161808.50GI8F3Y091778@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: f0bd9df3e6ad - stable/14 - MAC: syscalls: Factor out common label copy-in code List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f0bd9df3e6ad3687a8d7bd3648d333488a6a1206 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f0bd9df3e6ad3687a8d7bd3648d333488a6a1206 commit f0bd9df3e6ad3687a8d7bd3648d333488a6a1206 Author: Olivier Certner AuthorDate: 2024-07-26 14:40:22 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:56 +0000 MAC: syscalls: Factor out common label copy-in code Besides simplifying existing code, this will later enable the new setcred() system call to copy MAC labels. MFC after: 2 weeks Approved by: markj (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46904 (cherry picked from commit 2e593dd3b5e1c515d57b3d3f929e544a6622b04a) --- sys/security/mac/mac_syscalls.c | 201 +++++++++++++++++----------------------- 1 file changed, 83 insertions(+), 118 deletions(-) diff --git a/sys/security/mac/mac_syscalls.c b/sys/security/mac/mac_syscalls.c index 56aaba935442..74db8625114e 100644 --- a/sys/security/mac/mac_syscalls.c +++ b/sys/security/mac/mac_syscalls.c @@ -78,26 +78,67 @@ static int kern___mac_get_path(struct thread *td, const char *path_p, static int kern___mac_set_path(struct thread *td, const char *path_p, struct mac *mac_p, int follow); +/* + * Copyin a 'struct mac', including the string pointed to by 'm_string'. + * + * On success (0 returned), fills '*mac', whose associated storage must be freed + * after use by calling free_copied_label() (which see). On success, 'u_string' + * if not NULL is filled with the userspace address for 'u_mac->m_string'. + */ +static int +mac_label_copyin(const struct mac *const u_mac, struct mac *const mac, + char **const u_string) +{ + char *buffer; + int error; + + error = copyin(u_mac, mac, sizeof(*mac)); + if (error != 0) + return (error); + + error = mac_check_structmac_consistent(mac); + if (error != 0) + return (error); + + /* 'm_buflen' not too big checked by function call above. */ + buffer = malloc(mac->m_buflen, M_MACTEMP, M_WAITOK); + error = copyinstr(mac->m_string, buffer, mac->m_buflen, NULL); + if (error != 0) { + free(buffer, M_MACTEMP); + return (error); + } + + MPASS(error == 0); + if (u_string != NULL) + *u_string = mac->m_string; + mac->m_string = buffer; + return (0); +} + +static void +free_copied_label(const struct mac *const mac) +{ + free(mac->m_string, M_MACTEMP); +} + int sys___mac_get_pid(struct thread *td, struct __mac_get_pid_args *uap) { - char *elements, *buffer; + char *buffer, *u_buffer; struct mac mac; struct proc *tproc; struct ucred *tcred; int error; - error = copyin(uap->mac_p, &mac, sizeof(mac)); - if (error) - return (error); - - error = mac_check_structmac_consistent(&mac); + error = mac_label_copyin(uap->mac_p, &mac, &u_buffer); if (error) return (error); tproc = pfind(uap->pid); - if (tproc == NULL) - return (ESRCH); + if (tproc == NULL) { + error = ESRCH; + goto free_mac_and_exit; + } tcred = NULL; /* Satisfy gcc. */ error = p_cansee(td, tproc); @@ -105,58 +146,40 @@ sys___mac_get_pid(struct thread *td, struct __mac_get_pid_args *uap) tcred = crhold(tproc->p_ucred); PROC_UNLOCK(tproc); if (error) - return (error); - - elements = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK); - error = copyinstr(mac.m_string, elements, mac.m_buflen, NULL); - if (error) { - free(elements, M_MACTEMP); - crfree(tcred); - return (error); - } + goto free_mac_and_exit; buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); - error = mac_cred_externalize_label(tcred->cr_label, elements, + error = mac_cred_externalize_label(tcred->cr_label, mac.m_string, buffer, mac.m_buflen); if (error == 0) - error = copyout(buffer, mac.m_string, strlen(buffer)+1); - + error = copyout(buffer, u_buffer, strlen(buffer)+1); free(buffer, M_MACTEMP); - free(elements, M_MACTEMP); crfree(tcred); + +free_mac_and_exit: + free_copied_label(&mac); return (error); } int sys___mac_get_proc(struct thread *td, struct __mac_get_proc_args *uap) { - char *elements, *buffer; + char *buffer, *u_buffer; struct mac mac; int error; - error = copyin(uap->mac_p, &mac, sizeof(mac)); + error = mac_label_copyin(uap->mac_p, &mac, &u_buffer); if (error) return (error); - error = mac_check_structmac_consistent(&mac); - if (error) - return (error); - - elements = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK); - error = copyinstr(mac.m_string, elements, mac.m_buflen, NULL); - if (error) { - free(elements, M_MACTEMP); - return (error); - } - buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); error = mac_cred_externalize_label(td->td_ucred->cr_label, - elements, buffer, mac.m_buflen); + mac.m_string, buffer, mac.m_buflen); if (error == 0) - error = copyout(buffer, mac.m_string, strlen(buffer)+1); + error = copyout(buffer, u_buffer, strlen(buffer)+1); free(buffer, M_MACTEMP); - free(elements, M_MACTEMP); + free_copied_label(&mac); return (error); } @@ -167,30 +190,18 @@ sys___mac_set_proc(struct thread *td, struct __mac_set_proc_args *uap) struct label *intlabel; struct proc *p; struct mac mac; - char *buffer; int error; if (!(mac_labeled & MPC_OBJECT_CRED)) return (EINVAL); - error = copyin(uap->mac_p, &mac, sizeof(mac)); - if (error) - return (error); - - error = mac_check_structmac_consistent(&mac); + error = mac_label_copyin(uap->mac_p, &mac, NULL); if (error) return (error); - buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK); - error = copyinstr(mac.m_string, buffer, mac.m_buflen, NULL); - if (error) { - free(buffer, M_MACTEMP); - return (error); - } - intlabel = mac_cred_label_alloc(); - error = mac_cred_internalize_label(intlabel, buffer); - free(buffer, M_MACTEMP); + error = mac_cred_internalize_label(intlabel, mac.m_string); + free_copied_label(&mac); if (error) goto out; @@ -224,7 +235,7 @@ out: int sys___mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) { - char *elements, *buffer; + char *u_buffer, *buffer; struct label *intlabel; struct file *fp; struct mac mac; @@ -234,21 +245,10 @@ sys___mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) cap_rights_t rights; int error; - error = copyin(uap->mac_p, &mac, sizeof(mac)); + error = mac_label_copyin(uap->mac_p, &mac, &u_buffer); if (error) return (error); - error = mac_check_structmac_consistent(&mac); - if (error) - return (error); - - elements = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK); - error = copyinstr(mac.m_string, elements, mac.m_buflen, NULL); - if (error) { - free(elements, M_MACTEMP); - return (error); - } - buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); error = fget(td, uap->fd, cap_rights_init_one(&rights, CAP_MAC_GET), &fp); @@ -267,7 +267,7 @@ sys___mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); mac_vnode_copy_label(vp->v_label, intlabel); VOP_UNLOCK(vp); - error = mac_vnode_externalize_label(intlabel, elements, + error = mac_vnode_externalize_label(intlabel, mac.m_string, buffer, mac.m_buflen); mac_vnode_label_free(intlabel); break; @@ -282,7 +282,7 @@ sys___mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) PIPE_LOCK(pipe); mac_pipe_copy_label(pipe->pipe_pair->pp_label, intlabel); PIPE_UNLOCK(pipe); - error = mac_pipe_externalize_label(intlabel, elements, + error = mac_pipe_externalize_label(intlabel, mac.m_string, buffer, mac.m_buflen); mac_pipe_label_free(intlabel); break; @@ -297,7 +297,7 @@ sys___mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) SOCK_LOCK(so); mac_socket_copy_label(so->so_label, intlabel); SOCK_UNLOCK(so); - error = mac_socket_externalize_label(intlabel, elements, + error = mac_socket_externalize_label(intlabel, mac.m_string, buffer, mac.m_buflen); mac_socket_label_free(intlabel); break; @@ -306,12 +306,12 @@ sys___mac_get_fd(struct thread *td, struct __mac_get_fd_args *uap) error = EINVAL; } if (error == 0) - error = copyout(buffer, mac.m_string, strlen(buffer)+1); + error = copyout(buffer, u_buffer, strlen(buffer)+1); out_fdrop: fdrop(fp, td); out: free(buffer, M_MACTEMP); - free(elements, M_MACTEMP); + free_copied_label(&mac); return (error); } @@ -333,7 +333,7 @@ static int kern___mac_get_path(struct thread *td, const char *path_p, struct mac *mac_p, int follow) { - char *elements, *buffer; + char *u_buffer, *buffer; struct nameidata nd; struct label *intlabel; struct mac mac; @@ -342,21 +342,10 @@ kern___mac_get_path(struct thread *td, const char *path_p, struct mac *mac_p, if (!(mac_labeled & MPC_OBJECT_VNODE)) return (EINVAL); - error = copyin(mac_p, &mac, sizeof(mac)); - if (error) - return (error); - - error = mac_check_structmac_consistent(&mac); + error = mac_label_copyin(mac_p, &mac, &u_buffer); if (error) return (error); - elements = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK); - error = copyinstr(mac.m_string, elements, mac.m_buflen, NULL); - if (error) { - free(elements, M_MACTEMP); - return (error); - } - buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK | M_ZERO); NDINIT(&nd, LOOKUP, LOCKLEAF | follow, UIO_USERSPACE, path_p); error = namei(&nd); @@ -365,18 +354,18 @@ kern___mac_get_path(struct thread *td, const char *path_p, struct mac *mac_p, intlabel = mac_vnode_label_alloc(); mac_vnode_copy_label(nd.ni_vp->v_label, intlabel); - error = mac_vnode_externalize_label(intlabel, elements, buffer, + error = mac_vnode_externalize_label(intlabel, mac.m_string, buffer, mac.m_buflen); vput(nd.ni_vp); NDFREE_PNBUF(&nd); mac_vnode_label_free(intlabel); if (error == 0) - error = copyout(buffer, mac.m_string, strlen(buffer)+1); + error = copyout(buffer, u_buffer, strlen(buffer)+1); out: free(buffer, M_MACTEMP); - free(elements, M_MACTEMP); + free_copied_label(&mac); return (error); } @@ -392,24 +381,12 @@ sys___mac_set_fd(struct thread *td, struct __mac_set_fd_args *uap) struct vnode *vp; struct mac mac; cap_rights_t rights; - char *buffer; int error; - error = copyin(uap->mac_p, &mac, sizeof(mac)); + error = mac_label_copyin(uap->mac_p, &mac, NULL); if (error) return (error); - error = mac_check_structmac_consistent(&mac); - if (error) - return (error); - - buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK); - error = copyinstr(mac.m_string, buffer, mac.m_buflen, NULL); - if (error) { - free(buffer, M_MACTEMP); - return (error); - } - error = fget(td, uap->fd, cap_rights_init_one(&rights, CAP_MAC_SET), &fp); if (error) @@ -423,7 +400,7 @@ sys___mac_set_fd(struct thread *td, struct __mac_set_fd_args *uap) goto out_fdrop; } intlabel = mac_vnode_label_alloc(); - error = mac_vnode_internalize_label(intlabel, buffer); + error = mac_vnode_internalize_label(intlabel, mac.m_string); if (error) { mac_vnode_label_free(intlabel); break; @@ -447,7 +424,7 @@ sys___mac_set_fd(struct thread *td, struct __mac_set_fd_args *uap) goto out_fdrop; } intlabel = mac_pipe_label_alloc(); - error = mac_pipe_internalize_label(intlabel, buffer); + error = mac_pipe_internalize_label(intlabel, mac.m_string); if (error == 0) { pipe = fp->f_data; PIPE_LOCK(pipe); @@ -464,7 +441,7 @@ sys___mac_set_fd(struct thread *td, struct __mac_set_fd_args *uap) goto out_fdrop; } intlabel = mac_socket_label_alloc(M_WAITOK); - error = mac_socket_internalize_label(intlabel, buffer); + error = mac_socket_internalize_label(intlabel, mac.m_string); if (error == 0) { so = fp->f_data; error = mac_socket_label_set(td->td_ucred, so, @@ -479,7 +456,7 @@ sys___mac_set_fd(struct thread *td, struct __mac_set_fd_args *uap) out_fdrop: fdrop(fp, td); out: - free(buffer, M_MACTEMP); + free_copied_label(&mac); return (error); } @@ -505,30 +482,18 @@ kern___mac_set_path(struct thread *td, const char *path_p, struct mac *mac_p, struct nameidata nd; struct mount *mp; struct mac mac; - char *buffer; int error; if (!(mac_labeled & MPC_OBJECT_VNODE)) return (EINVAL); - error = copyin(mac_p, &mac, sizeof(mac)); + error = mac_label_copyin(mac_p, &mac, NULL); if (error) return (error); - error = mac_check_structmac_consistent(&mac); - if (error) - return (error); - - buffer = malloc(mac.m_buflen, M_MACTEMP, M_WAITOK); - error = copyinstr(mac.m_string, buffer, mac.m_buflen, NULL); - if (error) { - free(buffer, M_MACTEMP); - return (error); - } - intlabel = mac_vnode_label_alloc(); - error = mac_vnode_internalize_label(intlabel, buffer); - free(buffer, M_MACTEMP); + error = mac_vnode_internalize_label(intlabel, mac.m_string); + free_copied_label(&mac); if (error) goto out; From nobody Thu Jan 16 18: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 4YYrSw6R2Nz5kkpt; Thu, 16 Jan 2025 18: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 4YYrSw3jq1z3RfY; Thu, 16 Jan 2025 18: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=1737050896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AC2N3Fo7YF4gDnI73YdcDc+RGr/G/dr0h5vttmR+4CQ=; b=ZZqZ323a59Irzf+t0Se33pjnMZoWjKVJk3HMQUdKBxp1zLvZW0q9L7CdmjkoJTIVVBhUS1 OAbefX92YuXMwU1msnYLGr/+X18OGEdQKxDLiGd9e6yUR81BTYQbH1LFPUaqJAszZfJxRk NjdXmWBXgiYTQzb0QReZIcpwApDXdfYcAIPHEISHvk9PYfV+cJ6wMBoaN/vhxqibwSuuA7 LYLn8sAiPwKf4GF127CpWAxVBJbHi1rLTjKauuPBV2mdz5JCtQa0CVFO/RT0a3vS1IiLqa 7GzA87fS4RgSQZkWapS0cOaPQTVMv74O17BfGlBhYKNQGGkQMep69HDhHJeWuQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050896; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AC2N3Fo7YF4gDnI73YdcDc+RGr/G/dr0h5vttmR+4CQ=; b=UD/GvycrBP/f+qmuk8qc79SVi2jLnYstonfzlNPBOj41PL9XwPDsVZ5/Fpr7CUNwPh7NDF J4w5Voru1Z8hN+8tKD4CnTFKXsGJXN5gDq4EDE06cPlDOZoMHMG+rh359ZFwfISBFGp8/6 lHIU/g1YZ8C37STS59RarwTO6pmJVimPGxCvvE/uOTiFCjPXYWlzCxwEsPIe/mzl+uMp3i tMQBIRqX8F87iXO3HlTJolfMuFipXDDRm4xjQNr61FqRGzZ75r4AKFQKraEuys//3xGFn2 UDl5m2i6u/TvuH8PMLXxVfKWKTUf+YSqSlSbO5fiYnzbWfspVxSwmBCmprMQsg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050896; a=rsa-sha256; cv=none; b=GPsdTMCrP5LaTZAdrL0qnnz+6qJQBz/iAmIgxOuy4S4XupJBytKT7GI84mDTNo1YFSTkxp v2ddV1Fnq+W1cJE/CUMTteBzoyhQdPL6jbVhAH+DSJ9g5EL5Ca5PTsIfIfDa61Te8lTYwG MLKoaatOPtMK21CFFyrA8PCRgT9tiBumTK5RRM6Pf2IKLTC7O38/loNhQAxZ0rGggfnKxR O84kE2uh6kfrWxiCnFPkP1MuP+DyuPMCQBCTlYolr65pdPG86f5QNmwrJLVkCJ/aRNO53G 0gJmW3m6/hhUGZXTz58T3OuTP/fH4ulFT1FzBoYVS4ZpMZraKIbW4IQrsnTkyA== 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 4YYrSw33LLzk7n; Thu, 16 Jan 2025 18: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 50GI8GaL091845; Thu, 16 Jan 2025 18: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 50GI8G54091842; Thu, 16 Jan 2025 18:08:16 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:16 GMT Message-Id: <202501161808.50GI8G54091842@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: c2bf375d1023 - stable/14 - MAC: syscalls: Split mac_set_proc() into reusable pieces List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c2bf375d102329723f5e2fd45429bc4d92878a51 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=c2bf375d102329723f5e2fd45429bc4d92878a51 commit c2bf375d102329723f5e2fd45429bc4d92878a51 Author: Olivier Certner AuthorDate: 2024-07-27 08:31:16 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:56 +0000 MAC: syscalls: Split mac_set_proc() into reusable pieces This is in preparation for enabling the new setcred() system call to set a process' MAC label. No functional change (intended). MFC after: 2 weeks Approved by: markj (mentor) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46905 (cherry picked from commit 8a4d24a39098ed8170a37ca2aa83bf1da1976de1) --- sys/security/mac/mac_syscalls.c | 115 +++++++++++++++++++++++++++++++++------- sys/security/mac/mac_syscalls.h | 33 ++++++++++++ 2 files changed, 128 insertions(+), 20 deletions(-) diff --git a/sys/security/mac/mac_syscalls.c b/sys/security/mac/mac_syscalls.c index 74db8625114e..e97a7dc09700 100644 --- a/sys/security/mac/mac_syscalls.c +++ b/sys/security/mac/mac_syscalls.c @@ -68,6 +68,7 @@ #include #include #include +#include #ifdef MAC @@ -85,7 +86,7 @@ static int kern___mac_set_path(struct thread *td, const char *path_p, * after use by calling free_copied_label() (which see). On success, 'u_string' * if not NULL is filled with the userspace address for 'u_mac->m_string'. */ -static int +int mac_label_copyin(const struct mac *const u_mac, struct mac *const mac, char **const u_string) { @@ -115,7 +116,7 @@ mac_label_copyin(const struct mac *const u_mac, struct mac *const mac, return (0); } -static void +void free_copied_label(const struct mac *const mac) { free(mac->m_string, M_MACTEMP); @@ -183,52 +184,126 @@ sys___mac_get_proc(struct thread *td, struct __mac_get_proc_args *uap) return (error); } +/* + * Performs preparation (including allocations) for mac_set_proc(). + * + * No lock should be held while calling this function. On success, + * mac_set_proc_finish() must be called to free the data associated to + * 'mac_set_proc_data', even if mac_set_proc_core() fails. 'mac_set_proc_data' + * is not set in case of error, and is set to a non-NULL value on success. + */ int -sys___mac_set_proc(struct thread *td, struct __mac_set_proc_args *uap) +mac_set_proc_prepare(struct thread *const td, const struct mac *const mac, + void **const mac_set_proc_data) { - struct ucred *newcred, *oldcred; struct label *intlabel; - struct proc *p; - struct mac mac; int error; + PROC_LOCK_ASSERT(td->td_proc, MA_NOTOWNED); + if (!(mac_labeled & MPC_OBJECT_CRED)) return (EINVAL); + intlabel = mac_cred_label_alloc(); + error = mac_cred_internalize_label(intlabel, mac->m_string); + if (error) { + mac_cred_label_free(intlabel); + return (error); + } + + *mac_set_proc_data = intlabel; + return (0); +} + +/* + * Actually sets the MAC label on 'newcred'. + * + * The current process' lock *must* be held. This function only sets the label + * on 'newcred', but does not put 'newcred' in place on the current process' + * (consequently, it also does not call setsugid()). 'mac_set_proc_data' must + * be the pointer returned by mac_set_proc_prepare(). If called, this function + * must be so between a successful call to mac_set_proc_prepare() and + * mac_set_proc_finish(), but calling it is not mandatory (e.g., if some other + * error occured under the process lock that obsoletes setting the MAC label). + */ +int +mac_set_proc_core(struct thread *const td, struct ucred *const newcred, + void *const mac_set_proc_data) +{ + struct label *const intlabel = mac_set_proc_data; + struct proc *const p = td->td_proc; + int error; + + MPASS(td == curthread); + PROC_LOCK_ASSERT(p, MA_OWNED); + + error = mac_cred_check_relabel(p->p_ucred, intlabel); + if (error) + return (error); + + mac_cred_relabel(newcred, intlabel); + return (0); +} + +/* + * Performs mac_set_proc() last operations, without the process lock. + * + * 'proc_label_set' indicates whether the label was actually set by a call to + * mac_set_proc_core() that succeeded. 'mac_set_proc_data' must be the pointer + * returned by mac_set_proc_prepare(), and its associated data will be freed. + */ +void +mac_set_proc_finish(struct thread *const td, bool proc_label_set, + void *const mac_set_proc_data) +{ + struct label *const intlabel = mac_set_proc_data; + + PROC_LOCK_ASSERT(td->td_proc, MA_NOTOWNED); + + if (proc_label_set) + mac_proc_vm_revoke(td); + mac_cred_label_free(intlabel); +} + +int +sys___mac_set_proc(struct thread *td, struct __mac_set_proc_args *uap) +{ + struct ucred *newcred, *oldcred; + void *intlabel; + struct proc *const p = td->td_proc; + struct mac mac; + int error; + error = mac_label_copyin(uap->mac_p, &mac, NULL); if (error) return (error); - intlabel = mac_cred_label_alloc(); - error = mac_cred_internalize_label(intlabel, mac.m_string); - free_copied_label(&mac); + error = mac_set_proc_prepare(td, &mac, &intlabel); if (error) - goto out; + goto free_label; newcred = crget(); - p = td->td_proc; PROC_LOCK(p); oldcred = p->p_ucred; + crcopy(newcred, oldcred); - error = mac_cred_check_relabel(oldcred, intlabel); + error = mac_set_proc_core(td, newcred, intlabel); if (error) { PROC_UNLOCK(p); crfree(newcred); - goto out; + goto finish; } setsugid(p); - crcopy(newcred, oldcred); - mac_cred_relabel(newcred, intlabel); proc_set_cred(p, newcred); - PROC_UNLOCK(p); - crfree(oldcred); - mac_proc_vm_revoke(td); -out: - mac_cred_label_free(intlabel); + crfree(oldcred); +finish: + mac_set_proc_finish(td, error == 0, intlabel); +free_label: + free_copied_label(&mac); return (error); } diff --git a/sys/security/mac/mac_syscalls.h b/sys/security/mac/mac_syscalls.h new file mode 100644 index 000000000000..37445eafe364 --- /dev/null +++ b/sys/security/mac/mac_syscalls.h @@ -0,0 +1,33 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 The FreeBSD Foundation + * + * This software was developed by Olivier Certner at + * Kumacom SARL under sponsorship from the FreeBSD Foundation. + */ + +/* + * Prototypes for functions used to implement system calls that must manipulate + * MAC labels. + */ + +#ifndef _SECURITY_MAC_MAC_SYSCALLS_H_ +#define _SECURITY_MAC_MAC_SYSCALLS_H_ + +#ifndef _KERNEL +#error "no user-serviceable parts inside" +#endif + +int mac_label_copyin(const struct mac *const u_mac, struct mac *const mac, + char **const u_string); +void free_copied_label(const struct mac *const mac); + +int mac_set_proc_prepare(struct thread *const td, + const struct mac *const mac, void **const mac_set_proc_data); +int mac_set_proc_core(struct thread *const td, struct ucred *const newcred, + void *const mac_set_proc_data); +void mac_set_proc_finish(struct thread *const td, bool proc_label_set, + void *const mac_set_proc_data); + +#endif /* !_SECURITY_MAC_MAC_SYSCALLS_H_ */ From nobody Thu Jan 16 18: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 4YYrSz2KbNz5kkZr; Thu, 16 Jan 2025 18: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 4YYrSy4fsHz3RV7; Thu, 16 Jan 2025 18: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=1737050898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1ZkTddVo7sQHYYdPAzIGYMkiy0PnWg5i4+K+8W0lSC4=; b=QCajwdgeoY+ROrJnUieUcLWWOuZ1kKl/sbaRo4aSFMnGdb3h/YE1AS6ZbUGBsUDsXZl/SQ AP4zg6P08sTJ6CrGqXfaAwOEKdASwx3kDxEsIO/IxNLnaBbup4LkhvZMA+uLfDWEJaFmxa f8JAoKCfnNbU1/HufpBey7gYaAsIsy7SoRt3/Mdz2exE8dgCWkw0fa8R4mHqS+Q6UxcK/l 7QUApnVzbawwRGjk52k7TvvdAbYw3L/9L93c4X+au6VV4dfVLSBctdwjynRDWgqm42BZ65 wMzi0W1Nm5LZ+0jB/TFv5gMgvU9o+Xf8GD0Czx4Ob3ueqmImmjjHu7Cz1q72uA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050898; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1ZkTddVo7sQHYYdPAzIGYMkiy0PnWg5i4+K+8W0lSC4=; b=kKlbLu9sF8BwD0k2J6+NS/l8mGDt3Zf7ohRI1/RPtGk7iPFc59QY6Ym0vEQTtAN4vsEu+Y +0+BRyxnyAj1H0guBrURRY6Rj8D2ZFLZrXNiVE1au3CaSfGFElPaI8+ajK7bfzZSMMi63N VvFlWryh4ii+WwBy1c/meeORdB6Zw70d105BdmOc6hewrF4+FzAuh6X7QXzmd46GaqWQ0B WjqF3/R3GJPANBk9JKUctB9a+PjQ/mWfgvCXH+uj9FfH1lDOH83U2HL6JgmeeT4Qo/nnXu jPG1DBT4NjLSZrBN5tS0YZcw3T/WQ0SBF5XFmL2knnfCfeqqhBpWzR9rnzWHnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050898; a=rsa-sha256; cv=none; b=mYmik3OavZ6JpXTKgpndrBMkiJrW8gHsrR9modeCeFzQfrgonDxUL3JkM9hDKoUxdyLTvT zI8s9ebhIRGC0P35L8ExC4FemcxeerySHXKSPr0/qVm9CEWoqSJbLKdML7pSBUh+9eSsBE WR8DcShhNjz0qFK2j6aaPm3mWJ0pIkq9XY6XwEth9N3M0/QyUnuj5RSYqO25kxzx/25Ar/ NP0wL7Irzp4dDq38KRRQN9HC7m8ygRcOXGV39BuwQMwaixX0ZtW5nh2V4dma7bHXqKuhmJ bDEwlVpf2/j8KpQj3H/51GP+RWijwq3FnisJCmYlTZwvixSUFzKQm5Uybic/gg== 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 4YYrSy4F1gzk12; Thu, 16 Jan 2025 18: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 50GI8IOt091948; Thu, 16 Jan 2025 18: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 50GI8Ign091945; Thu, 16 Jan 2025 18:08:18 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:18 GMT Message-Id: <202501161808.50GI8Ign091945@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 6a654950dd5f - stable/14 - cred: crget(): Compute initial 'cr_agroups' with nitems() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6a654950dd5ff32efdaeb0f3e622a2f04212c51b Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=6a654950dd5ff32efdaeb0f3e622a2f04212c51b commit 6a654950dd5ff32efdaeb0f3e622a2f04212c51b Author: Olivier Certner AuthorDate: 2024-07-16 20:32:19 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:56 +0000 cred: crget(): Compute initial 'cr_agroups' with nitems() No functional change (intended). Reviewed by: mhorne, emaste Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46910 (cherry picked from commit f5b46856918cc6cc3ea49e3ab95163d318563ece) --- sys/kern/kern_prot.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 44a1f26767ed..3510dc16f731 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2119,8 +2119,7 @@ crget(void) mac_cred_init(cr); #endif cr->cr_groups = cr->cr_smallgroups; - cr->cr_agroups = - sizeof(cr->cr_smallgroups) / sizeof(cr->cr_smallgroups[0]); + cr->cr_agroups = nitems(cr->cr_smallgroups); return (cr); } From nobody Thu Jan 16 18: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 4YYrSy0VYxz5kkZq; Thu, 16 Jan 2025 18:08:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrSx42Ctz3RTy; Thu, 16 Jan 2025 18: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=1737050897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EHwl0e7rlcS5uSSDm3RqfOCcyDQRlXzpE2X0L93kY38=; b=AfwL4xEy1/wIop3pV243HsWNPnBM45391DWlcm4ZpddU6MZ/dv8cW57b/YS56DeIqPCRf0 5s/Gbyd/yXWa8Maln26gkNdXidYGIYXqmagGWw556ZTckQiIFogAJjhNO2McJTurLU9Zhp pJl6fy+piYwy1haa2OmjvukvsMrSWeThFwAyb2uyq9Dvk2Mjv7fdEOwuC7iyIYVadSrEV7 0jgZE/ayva2HfUA856J+T/NcwwCTqNV6PbRq/e8jZJKN56KL8vLC/3imF1I3WiJ1xNaotL SJ8N7z2ac89sca6UpW2lLI/5LiXN3JiTJ0U8EyUXGqeAdOZYpeCksObv/VGXwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050897; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EHwl0e7rlcS5uSSDm3RqfOCcyDQRlXzpE2X0L93kY38=; b=R61Il2bzQAR9+OxeidLphWrGWqOe0JAV/X/pSfncrdzGezBE5OSr4GQhnNrdBIgc4CBuZy fdch40or6Jeu/iB+6OzUztcvpKEBubnhGMlKBLly+ux2WQW3xGVeBGgmoGY2EeGJne7GwP rzdjmB9Xh4Wy7qzl8M4nVsvo+99WQ23Wn56zqcsKZ9cTTiOx7ZTYu0DyZhckyw4uumzY+M 17+YCooOgD5KLLxTb91PFcUKxGRqVTkgBaVmEDsmj3rnkt/sPpyVEky8mLs0njx74U57QJ VyrdVcbnIBjpuz71ME0st77iJWk3203zfn/ZKh87e5qyRnV//5b4KsjZ7Qa9wQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050897; a=rsa-sha256; cv=none; b=k5IrC6mIrp/1Vc8ahEXvjoV8A5CWndRlOmuwAI+ag6aosuw2VBGZwsnrwLUdSFXTjKEGGA r9+1DqBA99Lxcn0mj6oayxnHHrwjQILW+Wbaw21kmufmqtQF7aMA5yEvGZ0xueHcdLybE5 CPM/f0B9FYYevzM5Yz3/5ay3EAbbTpmqi1BHZguHxEFefChgPQVV8B6gyxYzCfbcx8269H kOVAN4hvdnXmLBs+SVnJxF2euS1Cincz6kIKypFBCzokn7rNVJCBbeVDidwhSJVXiNiZTM sBOek0/NRU2eSJmmu8U5xWunermngNzpTUBeGOBfy0y8F5AooPKCRMjgchYdfA== 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 4YYrSx3c4rzkN0; Thu, 16 Jan 2025 18: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 50GI8H6k091899; Thu, 16 Jan 2025 18: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 50GI8HSq091896; Thu, 16 Jan 2025 18:08:17 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:17 GMT Message-Id: <202501161808.50GI8HSq091896@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 731dc8994cc8 - stable/14 - MAC: syscalls: mac_label_copyin(): 32-bit compatibility List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 731dc8994cc8a8bd31fe2cbfca7390fc7b1499bf Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=731dc8994cc8a8bd31fe2cbfca7390fc7b1499bf commit 731dc8994cc8a8bd31fe2cbfca7390fc7b1499bf Author: Olivier Certner AuthorDate: 2024-12-02 10:23:18 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:56 +0000 MAC: syscalls: mac_label_copyin(): 32-bit compatibility Needed by the upcoming setcred() system call. More generally, is a step on the way to support 32-bit compatibility for MAC-related system calls. Reviewed by: brooks Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47878 (cherry picked from commit 3bdc5ba2ac760634056c66c3c98b6b3452258a5b) --- sys/security/mac/mac_syscalls.c | 50 ++++++++++++++++++++++++++++++++++++----- sys/security/mac/mac_syscalls.h | 7 ++++++ 2 files changed, 51 insertions(+), 6 deletions(-) diff --git a/sys/security/mac/mac_syscalls.c b/sys/security/mac/mac_syscalls.c index e97a7dc09700..26181781a394 100644 --- a/sys/security/mac/mac_syscalls.c +++ b/sys/security/mac/mac_syscalls.c @@ -46,6 +46,7 @@ #include "opt_mac.h" #include +#include #include #include #include @@ -79,6 +80,13 @@ static int kern___mac_get_path(struct thread *td, const char *path_p, static int kern___mac_set_path(struct thread *td, const char *path_p, struct mac *mac_p, int follow); +#ifdef COMPAT_FREEBSD32 +struct mac32 { + uint32_t m_buflen; /* size_t */ + uint32_t m_string; /* char * */ +}; +#endif + /* * Copyin a 'struct mac', including the string pointed to by 'm_string'. * @@ -86,16 +94,30 @@ static int kern___mac_set_path(struct thread *td, const char *path_p, * after use by calling free_copied_label() (which see). On success, 'u_string' * if not NULL is filled with the userspace address for 'u_mac->m_string'. */ -int -mac_label_copyin(const struct mac *const u_mac, struct mac *const mac, - char **const u_string) +static int +mac_label_copyin_impl(const void *const u_mac, struct mac *const mac, + char **const u_string, bool is_32bit) { char *buffer; int error; - error = copyin(u_mac, mac, sizeof(*mac)); - if (error != 0) - return (error); +#ifdef COMPAT_FREEBSD32 + if (is_32bit) { + struct mac32 mac32; + + error = copyin(u_mac, &mac32, sizeof(mac32)); + if (error != 0) + return (error); + + CP(mac32, *mac, m_buflen); + PTRIN_CP(mac32, *mac, m_string); + } else +#endif + { + error = copyin(u_mac, mac, sizeof(*mac)); + if (error != 0) + return (error); + } error = mac_check_structmac_consistent(mac); if (error != 0) @@ -116,12 +138,28 @@ mac_label_copyin(const struct mac *const u_mac, struct mac *const mac, return (0); } +int +mac_label_copyin(const struct mac *const u_mac, struct mac *const mac, + char **const u_string) +{ + return (mac_label_copyin_impl(u_mac, mac, u_string, false)); +} + void free_copied_label(const struct mac *const mac) { free(mac->m_string, M_MACTEMP); } +#ifdef COMPAT_FREEBSD32 +int +mac_label_copyin32(const struct mac32 *const u_mac, + struct mac *const mac, char **const u_string) +{ + return (mac_label_copyin_impl(u_mac, mac, u_string, true)); +} +#endif + int sys___mac_get_pid(struct thread *td, struct __mac_get_pid_args *uap) { diff --git a/sys/security/mac/mac_syscalls.h b/sys/security/mac/mac_syscalls.h index 37445eafe364..4efeaf300d31 100644 --- a/sys/security/mac/mac_syscalls.h +++ b/sys/security/mac/mac_syscalls.h @@ -23,6 +23,13 @@ int mac_label_copyin(const struct mac *const u_mac, struct mac *const mac, char **const u_string); void free_copied_label(const struct mac *const mac); +#ifdef COMPAT_FREEBSD32 +struct mac32; + +int mac_label_copyin32(const struct mac32 *const u_mac, + struct mac *const mac, char **const u_string); +#endif /* COMPAT_FREEBSD32 */ + int mac_set_proc_prepare(struct thread *const td, const struct mac *const mac, void **const mac_set_proc_data); int mac_set_proc_core(struct thread *const td, struct ucred *const newcred, From nobody Thu Jan 16 18: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 4YYrT01TCzz5kl2s; Thu, 16 Jan 2025 18: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 4YYrSz5s3cz3RZr; Thu, 16 Jan 2025 18: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=1737050899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uimoa9U4yfMVgQxZFBII0YiqaQkLZQr9msrSKcWkUpo=; b=B6PKHWBpKZ1Q1XH7ajNhdcWMXyHnHpmVbFrKW9A73jSXgXDHwLeGDgYNIdve4GBW5qLaA/ Gpteh/hzeQN32DcosrxKTUJFDTaEnUkZuUHYc+YgYuz06DRxStxC8WyGJLg0gQ94kuF+rx oB+UNrMCkLSFq4bno2OfOgDYsfiKY46Cl2pOCNcAH8m3S/tWwRx0Mg1BAbGr1R110++La4 WxY4Dmw+LsQEtmrxYbFpyPout74AgbcBLOgdvrRSmQwNKtNDDN1hyy7Jd97/V7fxUWAYIC J0YZwShKuGv/Ct6Gqs2rt2NkeOH0GYbGiBRhfGwkW399B7pLzJNJ76JCvLUU1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050899; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uimoa9U4yfMVgQxZFBII0YiqaQkLZQr9msrSKcWkUpo=; b=b/XzRxhdypeln6qXO9ZuAbfPKVGPBDz1SInGazcjb+fMTlzg9ZBwDH1qyDubivaVHiv1dH Bc6RrdLShWr6Dt0a+ark5IZ9k9betXeG7uWTR1NAE8+KeCWrObfBfppNJ3QjLjHW4DIJZQ cR3fcPTjCWuSTIw4mtojLIJd5U6LSEBcZA7XaieSI7eUBdPJp8fMZvtaPCJXMFYoEVEIKG tKTXK8fpbl7sou43LBqO3Ah1HiQB3ixLIQSHY2ljVXgVqCSPPPgxuo8VspL22rjKYVKKeb GBWkpD9k9yurGuZ7yjjWjN8dnFF2iJUVFkdfzUlqh4e9RjZwmJIa1psMYhe5og== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050899; a=rsa-sha256; cv=none; b=iU9QBk/ODgnINTXcLwdABQ7wLFr33+h18QCSIThQ8rK7oqU+NM0olh7HyppG/xqfsIL4Pz Nw/jco/fFCXJX3LcrFVsnghlmlAe3xgQ/eD3ZCQxToPL+7i3Dc343vCr+yUJBsVZ84ykTl cZ33NBcdkAKK/ITF3X2ihvE0038QN/3H0URjgPdyQVZILJQpM+2+/s2D7pIz9zV1ooy8kp Q+IaThuKe0eJRXTTzOjqakEVL4T8z47I+oQ5+MeCmHql/zslf/iYSiWDGsB01is4kgyO4V dQ6PXDDKh08ao7rBuYASyeXLjZ0Rkgm/+I1ydeAGtQhIMzVXgLRoBGwd1a6HwA== 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 4YYrSz5G1yzkKg; Thu, 16 Jan 2025 18: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 50GI8JCt092009; Thu, 16 Jan 2025 18: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 50GI8JMG092006; Thu, 16 Jan 2025 18:08:19 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:19 GMT Message-Id: <202501161808.50GI8JMG092006@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: aeff6867a4df - stable/14 - mountd(8): parsecred(): uid:gid:... loop: Simplify a bit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: aeff6867a4df37bdb3058aa9530480c59699783a Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=aeff6867a4df37bdb3058aa9530480c59699783a commit aeff6867a4df37bdb3058aa9530480c59699783a Author: Olivier Certner AuthorDate: 2024-09-26 16:16:16 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:57 +0000 mountd(8): parsecred(): uid:gid:... loop: Simplify a bit No functional change intended. Reviewed by: rmacklem (older version) Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46919 (cherry picked from commit ae22a4bb7437019e34fc593e101a6ac14c9d7959) --- usr.sbin/mountd/mountd.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index fa270f3a42d4..e01140593c11 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -3686,7 +3686,9 @@ parsecred(char *namelist, struct expcred *cr) cr->cr_uid = name_ul; } cr->cr_ngroups = 0; - while (names != NULL && *names != '\0' && cr->cr_ngroups < NGROUPS_MAX) { + while (names != NULL && *names != '\0') { + gid_t group; + name = strsep_quote(&names, ":"); name_ul = strtoul(name, &end, 10); if (*end != '\0' || end == name) { @@ -3694,13 +3696,16 @@ parsecred(char *namelist, struct expcred *cr) syslog(LOG_ERR, "unknown group: %s", name); continue; } - groups[cr->cr_ngroups++] = gr->gr_gid; + group = gr->gr_gid; } else { - groups[cr->cr_ngroups++] = name_ul; + group = name_ul; + } + if (cr->cr_ngroups == NGROUPS_MAX) { + syslog(LOG_ERR, "too many groups"); + break; } + groups[cr->cr_ngroups++] = group; } - if (names != NULL && *names != '\0' && cr->cr_ngroups == NGROUPS_MAX) - syslog(LOG_ERR, "too many groups"); if (cr->cr_ngroups > SMALLNGROUPS) cr->cr_groups = malloc(cr->cr_ngroups * sizeof(gid_t)); memcpy(cr->cr_groups, groups, cr->cr_ngroups * sizeof(gid_t)); From nobody Thu Jan 16 18:08:21 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrT23wXHz5kktl; Thu, 16 Jan 2025 18:08:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrT20f05z3RPX; Thu, 16 Jan 2025 18:08:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W+4yyTVl72b2Fm3bjvMpkDs18T8aq//CxJmENLWptos=; b=EJCeRipBrmh/h84VuFBKc7EkRQrUvURMFRD/i3KpPRAMmYZfIy3zgKc4sws4vzWxSy5VVu 1Xd0YQeLgHsaz4IfkxiG67gPq7P2g07o75TAAELZ+4a8bcNFSbFHeM97ivMQ1P/Q0AjL01 DyiErnt4IJND134cdC5gk27Q5WnTmUjHPOU0ZAHVYYkDpV5uLP0wWzk5AXkW02Vr+YzBNI 1dy/qdoZ8sBUHxD1n2O0g+phjjjYeqZu3i4vw9qPgPy98A4+DyhgZo2PXvrzkKk995JqNi aALRR+e03J/kIEhS6Hj1NzRVDMgAwWeMpYumgxMmKREnOOKc7v/H7fZEoTHd7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W+4yyTVl72b2Fm3bjvMpkDs18T8aq//CxJmENLWptos=; b=vmjZfsz7PPYky8BsbxhLu7MIBd6Cvt1CFFloI57ndHF1eD5w9GTYYCp7eUYi1NX6pcTl4a 2sT3h6WdSqmcgYZCkHK7/Py4tOgwrilBiABf08uZ/aalkHpK2KF5bxW++xpHpsEiIdZy22 M5I+qHqg36SlsSrWOcN7iMVR0X/SGX3cX7FWB+/bdxQZsiBeMQnVXhTxlt7CEJ6iEOXleE N+KysFJQVeGyThmVvGS9FkrmDOFL8Tc46VekOgm0y10zYfr3hSi9/F5Iwg0UMej4EYZ6Xw Mo+Hky6+rQ70EeUCLUNoJqrnWktxoVzSrVIR73YjqAFQxv6D2uuy8Wso3RCZkA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050902; a=rsa-sha256; cv=none; b=EMXYuwjfpB207wrWtnugufMVQq+IwmpTQEb/YqSIjcpq+2hxroibyWz1wsrVW2NJ6tbe6O 8yLNPdmItoyXJtiy9TsOnLRrC3wxI0ffRw0Ti3SggYMQZRSQfHhakf5yd5F60V5YHaXagU 6pq5mbfgDBit7P+5K1nVkZqeHvmxSb9ZF4CvCu95Ux52NOxoB7jqAWfEme4NX7giQHJWDf cpUym4S0RiDt1NSv+yhhb4TJ1SBVaOZN1T2krl3aucF6s9vlx3jH0FSCdYfn/XYet4OZmW Nqr7B/Zq+0KEGq0SUU3XqXMNkNSWD6l5tYVGJdr4GoGZoLLIK9Q5up1hdcYbPA== 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 4YYrT206HKzjby; Thu, 16 Jan 2025 18:08:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8Lmw092105; Thu, 16 Jan 2025 18:08:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8LsE092102; Thu, 16 Jan 2025 18:08:21 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:21 GMT Message-Id: <202501161808.50GI8LsE092102@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: fb651b231863 - stable/14 - mountd(8): parsecred(): Fallback to "nogroup" or GID_NOGROUP List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fb651b2318631eeceb08dc8ef88e868887ce362e Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=fb651b2318631eeceb08dc8ef88e868887ce362e commit fb651b2318631eeceb08dc8ef88e868887ce362e Author: Olivier Certner AuthorDate: 2024-10-08 09:21:17 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:57 +0000 mountd(8): parsecred(): Fallback to "nogroup" or GID_NOGROUP In the 'uid:gid:gid:...' case (for '-maproot' or '-mapall'), if no GID is specified at all (i.e., input is of the form 'uid:', with the colon at the end), mountd(8) would pass credentials with an empty array of groups to the kernel. For security reasons, we have put in place a kernel fallback a while ago, which is to use the single group GID_NOGROUP (see commits cfbe7a62dc62 ("nfs, rpc: Ensure kernel credentials have at least one group") and 5169d4307eb9 ("nfs: Fallback to GID_NOGROUP on no groups")). Here, as we are in userland, we first try to find the GID number corresponding to "nogroup", and only then fall back to GID_NOGROUP, as nfsuserd(8) does. Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47011 (cherry picked from commit bdc259ef382f76b1821d4356049d5b856c42901a) --- usr.sbin/mountd/mountd.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index f7ab5d6d696d..8ee8280b5d67 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -277,6 +277,8 @@ static int xdr_mlist(XDR *, caddr_t); static void terminate(int); static void cp_cred(struct expcred *, struct expcred *); +static gid_t nogroup(); + #define EXPHASH(f) (fnv_32_buf((f), sizeof(fsid_t), 0) % exphashsize) static struct exportlisthead *exphead = NULL; static struct exportlisthead *oldexphead = NULL; @@ -1589,7 +1591,7 @@ get_exportlist_one(int passno) anon.cr_groups = anon.cr_smallgrps; anon.cr_uid = UID_NOBODY; anon.cr_ngroups = 1; - anon.cr_groups[0] = GID_NOGROUP; + anon.cr_groups[0] = nogroup(); exflags = MNT_EXPORTED; got_nondir = 0; opt_flags = 0; @@ -3625,7 +3627,7 @@ parsecred(char *namelist, struct expcred *cr) */ cr->cr_groups = cr->cr_smallgrps; cr->cr_uid = UID_NOBODY; - cr->cr_groups[0] = GID_NOGROUP; + cr->cr_groups[0] = nogroup(); cr->cr_ngroups = 1; /* * Get the user's password table entry. @@ -3694,6 +3696,11 @@ parsecred(char *namelist, struct expcred *cr) } groups[cr->cr_ngroups++] = group; } + if (cr->cr_ngroups == 0) { + /* cr->cr_groups[0] filled at start with nogroup(). */ + cr->cr_ngroups = 1; + return; + } if (cr->cr_ngroups > SMALLNGROUPS) cr->cr_groups = malloc(cr->cr_ngroups * sizeof(gid_t)); memcpy(cr->cr_groups, groups, cr->cr_ngroups * sizeof(gid_t)); @@ -4079,3 +4086,19 @@ cp_cred(struct expcred *outcr, struct expcred *incr) memcpy(outcr->cr_groups, incr->cr_groups, incr->cr_ngroups * sizeof(gid_t)); } + +static gid_t +nogroup() +{ + static gid_t nogroup = 0; /* 0 means unset. */ + + if (nogroup == 0) { + const struct group *gr = getgrnam("nogroup"); + + if (gr != NULL && gr->gr_gid != 0) + nogroup = gr->gr_gid; + else + nogroup = GID_NOGROUP; + } + return (nogroup); +} From nobody Thu Jan 16 18:08:20 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 4YYrT203x2z5kl2y; Thu, 16 Jan 2025 18:08:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrT06dMtz3Rb7; Thu, 16 Jan 2025 18:08:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OGqb5dIkKYsfzBT8lUfFNJDA8E2b5B1QlKGNHITTliQ=; b=nxN9DR+4xFZytpM8f7NFm0vofDpZzKC56pbNRG8b4o6upT5tbwqtG/ism4xQS51BBHTxFr ZhzpLET04Gt9s+hkLrpTr/Ft9KkSSf5JbSm2ZFKu/OT1iGI/yqUi3FG1fKx+ND9WpyVHDd ORkcjxsuHq1y7Qp8OxLw/iC+/6TdOV0hjsF/Qr3/OCDYMxy1ycOZcAYLlTFKZiwcXH8Myh IeKMhR4WuecmgO/bVEHRYy+i7kOqHz+6dCVW+mKPuaqtBKYI+JRngikOYtoqe1UGwA8kjG r9IRy5HKdWV9dSm/5exXeIPhe5lBPOjdcRk+i3dRRmmfH1SE0owW5X+J3JK7qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OGqb5dIkKYsfzBT8lUfFNJDA8E2b5B1QlKGNHITTliQ=; b=FXvRi25PP/OCykliSELxQ0+xy3/KIQrQK/RJOnWXgCIUsPvliLTtpWM9WULoAGj2jJsxPB FG7rjQ5KJ6OjHRUyb92dhvCwhcr5kYkr2InkNx6aUxqKy8r/wyrYbr/0RZGypnaNKkmbqF PzBVFRdvJvpfDbKuY2z7g1NLcH0pLOVqKHoqoNwG8oedRiQ4qBQwBbpbEcHQnpow4Gaccy RHFYhxxV9/s015D7USQRzt8Tzx32ip6haKzYsQRRkpSR9gn3BupEsrCh3LDdbIL8AgmlQu igCCqGuxlP/LOw+OIugtX+QvnutuEO+CIY0d70h0vd9KDeqZakJ1xvjWoF590A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050900; a=rsa-sha256; cv=none; b=aYZX3PcDb+lOU7YZ/6ExajznIeyK/wzXsIFrywrtm8ikO8WEnTDBdCa2PwKm02HEdVIr3T a98Ld3ho4exyAzj6ucceOOo9WXi5tcXYfIue5KsBR12D7+VPvjcw2M3pNlCmB/dDxWrr+M mtOg1bytKPjNqnJ+koU3BIP3WIwtKgPtSP04T9RqOhcOX/U0xrPlvVRB5cqOrFERxim9mo cVFUAPxx7FiiufW2ei/S7tAWRnz7ikiymxJF8Jmtjo4PO35v7C9wgmOkE/H5Rm09uZgha4 L2TrBhwbznK/akKDe0TVRIwG+va6EsGvj6j8N95kUZqlvKgygMNJsQNpQnToZQ== 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 4YYrT06DDfzkKh; Thu, 16 Jan 2025 18:08:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8KD4092057; Thu, 16 Jan 2025 18:08:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8Kms092054; Thu, 16 Jan 2025 18:08:20 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:20 GMT Message-Id: <202501161808.50GI8Kms092054@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: a633b10e3d85 - stable/14 - mountd(8): parsecred(): Remove "duplicate compression" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a633b10e3d85345cfc80c1043825fa440fbc5753 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=a633b10e3d85345cfc80c1043825fa440fbc5753 commit a633b10e3d85345cfc80c1043825fa440fbc5753 Author: Olivier Certner AuthorDate: 2024-09-26 17:00:26 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:57 +0000 mountd(8): parsecred(): Remove "duplicate compression" No functional change (intended). This code dates back to 4.4BSD, became wrong after some getgrouplist() (nssswitch-related) change in 2007, was fixed only in 2020 and since then underwent cosmetic changes. It is likely that in fact it never served any useful purpose in FreeBSD, except perhaps at the very beginning. It's most probably not the case today: NFS credentials are normally only used to check for file accesses, whose group is checked against all groups of a credentials indiscriminately (except for the real GID). Consequently, having a single duplicate, which the code would actually remove only if in the first supplementary group slot, doesn't change behavior. Moreover, we are going to regain one slot in a subsequent commit. Discussed with: rmacklem Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46920 (cherry picked from commit f2d2318fafbb16c8a7773fe20c724c986f424fa2) --- usr.sbin/mountd/mountd.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index e01140593c11..f7ab5d6d696d 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -3612,7 +3612,6 @@ static void parsecred(char *namelist, struct expcred *cr) { char *name; - int inpos; char *names; struct passwd *pw; struct group *gr; @@ -3654,23 +3653,12 @@ parsecred(char *namelist, struct expcred *cr) ngroups = NGROUPS_MAX + 1; } - /* - * Compress out duplicate. - */ - if (ngroups > 1 && groups[0] == groups[1]) { - ngroups--; - inpos = 2; - } else { - inpos = 1; - } if (ngroups > NGROUPS_MAX) ngroups = NGROUPS_MAX; if (ngroups > SMALLNGROUPS) cr->cr_groups = malloc(ngroups * sizeof(gid_t)); cr->cr_ngroups = ngroups; - cr->cr_groups[0] = groups[0]; - memcpy(&cr->cr_groups[1], &groups[inpos], (ngroups - 1) * - sizeof(gid_t)); + memcpy(cr->cr_groups, groups, ngroups * sizeof(gid_t)); return; } /* From nobody Thu Jan 16 18:08:23 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrT35Vx7z5kktp; Thu, 16 Jan 2025 18:08:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrT31hxmz3RkY; Thu, 16 Jan 2025 18:08:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=89qv+IAs8kR1jlKRLCHNB2e07QZt3B4Q3hWC77H95ok=; b=RfwoFcyr6oQKOUOu9wjVf5fwRSvEigkvZxoagDk8qt3DkX8K2PTZ6sMnjR9TbuuCKox9Yx VH9diU2QHsYLPZqgwhPjQbi1JF2w5utXYvc4eDiHxSNEFZvXdRD/FpqBcZ2iJbmySyriOH iTjhpZYRdhjn6dHuvAyTJG0CMOK9vRZEoOhRzE7bJH8fHOTcw/FwUiHmXqBC5PTdFZlgab RNR74Az+0jDoUlnvgGR7LETmE0PkPzirAPNZvGQ1BhJa6JELg0/7b1bzQwBhh31cJu8s0Y er/bt3D1Qhm1wM8Kov0tWKv5ixbu8QlPCQgg5KQ5Geea+IdF+O5rbDyqTNWuHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=89qv+IAs8kR1jlKRLCHNB2e07QZt3B4Q3hWC77H95ok=; b=RQfkrft2V57yl2q7eg3dK+0ADjTQDiPawU5OV1eX5GYrAMWF/51gUe+KQZTZzJIY8Ca3rP YPlOUD22oGJLqtgOafVigiwYQqI+x0v5z4/vaTt+deixq4e9BQCscHVnjCrYqkN9r/5HLT bU+MUfnNwsqQvchDxuXn99tyPGL7bmFteRO0hSzeBEJfHkgXQ3mTXO+hiJrp2Cf0GI8BM7 6WONLwKRNPbuv/WkM18Ks/k9alFYOlxTD1+KA8pxIZIJzMIG3Pk7ZWpKhlF9DeLtQaH8Yz F+JICZV4T+8k62WOAxlWIzy64ndFhLGpCzRobJDuP8K6UmpOqn7D5sNAssvaqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050903; a=rsa-sha256; cv=none; b=aOfsGse3sy0varUh0WL0e3dMGGcPOWPnTmMJ4+kETdHAOhjk+6e+rmKRp4YKebLrT1C0vC LPVkPtfY3u+6pMU1Vmmfkvz6pukGEEfUKtl68kNwRMTV22vsg0xUnZticgRZuqs0U9CaHF bQk0y/q2h6XRXMo+uwXPjia/KUOzqKPUJTPv1qUSHeI/nP7qKhFhDYfQMtBtLIP6hP7SvW VHCFCAAca3bXdJ0to3cHQmF5d+C77JPCO4rqxGJR6P4+KBGUUv8cwRmyOVojM+unugaWF3 bNLT9lHh3lDqtx5ggcYTFIRaPXuDRqWyxNETwz+aRDZq7xNiSv68ByzSnJ/ukw== 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 4YYrT310srzk13; Thu, 16 Jan 2025 18:08:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8NT3092163; Thu, 16 Jan 2025 18:08:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8Nam092160; Thu, 16 Jan 2025 18:08:23 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:23 GMT Message-Id: <202501161808.50GI8Nam092160@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: b82144e708d6 - stable/14 - exports(5): -maproot, -mapall: Explain the fallback on no group List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b82144e708d6c302e70d609a301b99795674cf69 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=b82144e708d6c302e70d609a301b99795674cf69 commit b82144e708d6c302e70d609a301b99795674cf69 Author: Olivier Certner AuthorDate: 2024-10-08 09:34:44 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:57 +0000 exports(5): -maproot, -mapall: Explain the fallback on no group Reviewed by: rmacklem (older version) Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47012 (cherry picked from commit 2ef608de90629df37c29043afc638f8ff99ecfc4) --- usr.sbin/mountd/exports.5 | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/usr.sbin/mountd/exports.5 b/usr.sbin/mountd/exports.5 index c3a6af5a9f0e..6c18e910c116 100644 --- a/usr.sbin/mountd/exports.5 +++ b/usr.sbin/mountd/exports.5 @@ -27,7 +27,7 @@ .\" .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 .\" -.Dd April 16, 2024 +.Dd October 08, 2024 .Dt EXPORTS 5 .Os .Sh NAME @@ -172,8 +172,23 @@ The user string may be quoted, or use backslash escaping. The colon separated list is used to specify the precise credential to be used for remote access by root. The elements of the list may be either names or numbers. -Note that user: should be used to distinguish a credential containing -no groups from a complete credential for that user. +Note that +.Cm user: +should be used to specify a credential containing no groups, in which case the +established credential will use +.Ql nogroup , +else 65533 +.Pq Dv GID_NOGROUP , +as the fallback group +.Pq a credential object must have at least one group internally . +Using just +.Cm user +.Pq without colon at end +falls into the +.Sm off +.Fl maproot Li = Sy user +.Sm on +case described above. The group names may be quoted, or use backslash escaping. .Pp .Sm off From nobody Thu Jan 16 18:08:24 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrT44hpDz5kkm5; Thu, 16 Jan 2025 18:08:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrT4278Vz3Rkh; Thu, 16 Jan 2025 18:08:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Eu46sXwIH5XNLfwkBTs1YmP+Cz6NnP0Z7mshCJtt69w=; b=niGxpK+q2qrihropIyWnrWWxheXB+Gmwl+aqpn4VhZXi6Bi1YDqVWIiE0e2pqnm4gObleS XpJA3zI7RW1hcpAXII4aYQikmFVyv/HdWlq8X5mR5vxHj/E6t+d7elgc5P5oFPJeht06oT N+ZDmLtYbdvVmGg/nUpjkoxj2pBbaYEeMuQT/RWUpTDnkS24zP5iYErGo/lSpRbinNVvMC WvoTGF4gLMFR66tCuG/n5Puk0Z98glsTla+jfAR7aIg8GeYWS+hdOriwProtFt3jhUJMc5 gn8r3BQOpiPCcxHBxSX7sfLvx0XdCHKmqViykR9yVRucr5qsao14piGwzVPz2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Eu46sXwIH5XNLfwkBTs1YmP+Cz6NnP0Z7mshCJtt69w=; b=diYeoHnmcUjZTw8Jc5sp+Z57Nh0IApMueJCiPmOsHPuv8IRHZhRb3C7ErAj8xgLifYl0U0 7bolKi/OfM2s3x6Wd6cMS4IC1B13A1Rq5gd+QZSqHSTOBL0mU5a2eopbviw6socFP5etMo xqgHAUoYGvkbD1GI5Ddd3ehPRqKcQm3tengucGd4bYK//3ah1B+21NvtR+iPHjGLU+o8jQ e6mDjX7s08DId85eYZedJP19odeBNIhjJVdab56yIZJ3lnVPauWf//MR6a89e4PH+6YKne 3IcZRwMbUjhMT0vuZiyHmu88myEDD2AussrdjW3mLb3ZQmfhTUS/pgUdls1RQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050904; a=rsa-sha256; cv=none; b=DbvOR48dOaped7AGUl0R10jNJuiDK5rBpZrxbwtsYM6ZVKG2NHIdXpBcviOUFljNjNVyJt Ro4AizFvlhlrtkNPhxj4gKXFeb9IXufqZrSitwqIxcRyb7iUkWIQzWnCIoiq0Gei90MnZo yQ8PebxaFqstYif9148TyeC44P4Jv0OeE3UCAPYZP2O+JgLLn7WklnZu9r2hS9bEBzcj40 y6FIl7X9nJlaMPVNVprSgGU1tZChcarLjmkNHz1BwB5dG/ELRPArCLA1LyBiJR2fGSrhPB OOH4mIxfvSnyFE3V5nEFgtIQ0PwLklYOFeupRe4aR9MKweIx3WP2leuoO7BiYQ== 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 4YYrT41kfFzkKj; Thu, 16 Jan 2025 18:08:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8OYs092219; Thu, 16 Jan 2025 18:08:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8OhK092216; Thu, 16 Jan 2025 18:08:24 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:24 GMT Message-Id: <202501161808.50GI8OhK092216@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 3f0b888ae3d0 - stable/14 - mountd(8): parsecred(): Groups limit: NGROUPS_MAX => NGROUPS_MAX + 1 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3f0b888ae3d0b3a9bf520af9a5708d271a9198f8 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=3f0b888ae3d0b3a9bf520af9a5708d271a9198f8 commit 3f0b888ae3d0b3a9bf520af9a5708d271a9198f8 Author: Olivier Certner AuthorDate: 2024-10-03 14:49:40 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:58 +0000 mountd(8): parsecred(): Groups limit: NGROUPS_MAX => NGROUPS_MAX + 1 Lift this unnecessary limitation. Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46921 (cherry picked from commit 7f7f3b6cafac6e8ab993a14386e34991224f86f3) --- usr.sbin/mountd/mountd.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 8ee8280b5d67..55db501332bf 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -3655,8 +3655,6 @@ parsecred(char *namelist, struct expcred *cr) ngroups = NGROUPS_MAX + 1; } - if (ngroups > NGROUPS_MAX) - ngroups = NGROUPS_MAX; if (ngroups > SMALLNGROUPS) cr->cr_groups = malloc(ngroups * sizeof(gid_t)); cr->cr_ngroups = ngroups; @@ -3690,7 +3688,7 @@ parsecred(char *namelist, struct expcred *cr) } else { group = name_ul; } - if (cr->cr_ngroups == NGROUPS_MAX) { + if (cr->cr_ngroups == NGROUPS_MAX + 1) { syslog(LOG_ERR, "too many groups"); break; } From nobody Thu Jan 16 18:08:25 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrT572GZz5kktt; Thu, 16 Jan 2025 18:08: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 4YYrT53Sqtz3Rrt; Thu, 16 Jan 2025 18:08:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5wFqvxJsurgCMGxUvWs464Ypc7esd5+73eePteIuqPc=; b=O3zH1MdNmNMiytNbS1NcKTtES36+MB+tA6nAJRa55pt+ozBxvh2ESWTX3RPpGpGPLiV5F8 iwHk1AzrOoKcrYMcdI3U999XMAyIaFlZGqaSOapjDdlyhLH2XAgHcqQjKhF3mqaXef/cEz ukkTpaNkvQlmopJ/IMp6mht7WA3dgGdgxhcAYQIoPHpH9/0mKvkrGexDOit3kytTYJWnnn ZT+wnki9gRdF6GkhYoPmtwks8lcHREZk8kmZDdEoahI8g0CDV5prRQn1+h4x7gP6Ai+Ev+ +6VCy/SwTO1nRXtsdvcZcDSbE+IV62+P7Xq3A1xDyAoWroEHTQwUGXnppm872A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5wFqvxJsurgCMGxUvWs464Ypc7esd5+73eePteIuqPc=; b=gVxeQ2bHwaEf1bRyd/i2oeF2gSGUZuM+hlrr7Qrc4nRp57AVMV6dDSqBAxlF07kqARDkLz 9+LdOI1n6u2MiBfFw19cmuKRCOyJnS45lm7DodrUZ1Zo23YW/eb9Uf368galaTZEOVVc9s wE/+vosgnOObC7WF6YmCrZ8DteGpuNoBKvxP6Wam9Sr/OGLYg/b/hguDdL04+ecm9t06eg A30CareZNM7Yhc56UPE4sBlp4ttG+17/B1sDjtxaevWhoG1eh2XYyr7gsWu/NcNDL7Ramu 2//hNU/5VQrhi4GuaiVIwENAfD6e+EHaaMUSMF/4SEz4LqM5N08QjCAgUelaVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050905; a=rsa-sha256; cv=none; b=ZG3z8q96V1fipi7ReHBhXav/WOfwn53hBuDsHynQoxK4bhAbl/NYCYBVbXh0W+0u6Kzhmo ukwKZTBX3BSNUUNV07mzofMbyT2OZO8QtPHwB7ENZRY/FV/TcW4CWvTPOCSMzXJROvyuax sF1gU+gt84PpGowBgzwkpgJsEq24ixs5QcRvuzdrL41mLNgageLARMi7PjBGDJofCfY6pY k34tfvcfaY6m62dZBmXnSrXnNilhVf6hEGxzyZsI8ebvN880XIKZSL0rSOkQz+Y0qnhwZ+ jgkzc+q3jRtfnSyZUOElZ2ld8FI7tRFqDhbGSo7mzcOneweceGHxKkBm5Sm0ew== 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 4YYrT534VqzkN1; Thu, 16 Jan 2025 18:08: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 50GI8P1a092284; Thu, 16 Jan 2025 18:08:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8Pcv092281; Thu, 16 Jan 2025 18:08:25 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:25 GMT Message-Id: <202501161808.50GI8Pcv092281@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: d8b77cc05ab2 - stable/14 - nmount(2), NFS: Accept 'ngroups_max + 1' groups in "export" credentials List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d8b77cc05ab25500636d0d34f10a8a9091778914 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=d8b77cc05ab25500636d0d34f10a8a9091778914 commit d8b77cc05ab25500636d0d34f10a8a9091778914 Author: Olivier Certner AuthorDate: 2024-10-08 09:39:08 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:58 +0000 nmount(2), NFS: Accept 'ngroups_max + 1' groups in "export" credentials There is no technical reason to limit that to NGROUPS_MAX, which is off by one and just our minimum maximum value. Reviewed by: rmacklem Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47013 (cherry picked from commit 84337218786b13f0ebfa834d28de41dce02bc937) --- sys/kern/vfs_mount.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 206618b4ac6b..1990f3714ab6 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -1498,7 +1498,7 @@ vfs_domount_update( bcopy(bufp, &export, len); grps = NULL; if (export.ex_ngroups > 0) { - if (export.ex_ngroups <= NGROUPS_MAX) { + if (export.ex_ngroups <= ngroups_max + 1) { grps = malloc(export.ex_ngroups * sizeof(gid_t), M_TEMP, M_WAITOK); export_error = copyin(export.ex_groups, From nobody Thu Jan 16 18:08:26 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 4YYrT704rXz5kkq5; Thu, 16 Jan 2025 18:08: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 4YYrT64nSmz3Rdd; Thu, 16 Jan 2025 18:08:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OHmadE6YVBYhbQZPak0ioc4haq/k6JYZ0AK0oYUxHBs=; b=mp0/ItfM2UtcbZry1pIKVpta90KKjwTKaqpiqVM86jvWEu+ekGTHvfVPL05BCJnDvwROfW W1mqYYIDaK/MQ34Z71/6Lym+qGBcYMgbwsZJZEaP0nxeJSZKS1P8nCeOPKB+iPhfmPALPK K2gz3pGZ6pvPYmbRPKTX5Y02xutCRRTCdLF++lMFiUY5GmHeIkwQfXNni7rfyjxa3U76sR qX+cTPJdAtwWpJVozp/nHfbYVF3hubNcGUK/Tl9iNLSVK7jdWlRzhDwHJU5j0+Qp5W3BZd 1uxmY17Bu5l0sN3/xfSazjxLM5IGoPZ/rqiXnzb1k9307fJ87/cvUYARTovf5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050906; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OHmadE6YVBYhbQZPak0ioc4haq/k6JYZ0AK0oYUxHBs=; b=KAr6QZ2DVsX+nxmOv7FuhPJTm/bWHo9q2JerQcau5WVd1SBY5dA0vLuR6hsYizQhQkeJML NxlQWlfBt8jBOOCwJNmNVgur87hrxfGgobHpEUn0EmZFovHFcFR7g1WpLWBICN026r4aVn SJedtUyBOFeR5ztAvwo5TthnGRjV2HwTHoaIEPkXBe3Asstjuee5vRx6ZqWmo74YhpPCVQ B58sMqZzK7/g1G82VjVr7fex744BV6nvfHNyqAsRwtvTvysLPBt7GZrGxTZirajwSYmE5N N3w0x0z1zgSvciQyzEzvrjX8dOksDInZvrTodL/n+O5hGkhziLVF+8FYUyx0Nw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050906; a=rsa-sha256; cv=none; b=FlrJHlxD+DJwymuKDmDz39Wv1REGbOe6nUhK1DD9G4oIz8Siut4UgoKsCAmJc2Nz6DIc7q Y51RTX0FeBhJ84bjf+XJ+0uTup1Q1Htmxy7XKzJE6Qc17KNMHQvI28yT62ZojTtR+RqfjW ozXcDraNWrikqMh8HGOrCCjwihkIkjFNWX7w9Zq7BQIbnKbdFJY9EDgjHZMEi1hiK/3hVh H7uqCkHG5MwN7FK1EJLvDdMV6qMfh8qo57jgRmiwxnNZfz26m/hgTMzpaqUUgbQRLY68dO ooxdZ60zzah5k3/ab4codhDfK4yCfXBy32O4Wy/3P4b+q3CAVis6ARbKwrYYcA== 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 4YYrT6455xzjs1; Thu, 16 Jan 2025 18:08: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 50GI8QMX092338; Thu, 16 Jan 2025 18:08:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8QOY092335; Thu, 16 Jan 2025 18:08:26 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:26 GMT Message-Id: <202501161808.50GI8QOY092335@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 42a885e6907c - stable/14 - mountd(8): parsecred(): Remove comment on non-existent bug List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 42a885e6907c44afd0d848c6f5c37f58f108e029 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=42a885e6907c44afd0d848c6f5c37f58f108e029 commit 42a885e6907c44afd0d848c6f5c37f58f108e029 Author: Olivier Certner AuthorDate: 2024-10-08 09:44:06 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:58 +0000 mountd(8): parsecred(): Remove comment on non-existent bug 'name' can never be NULL, as it is equal to 'names' and 'namelist', which was passed by do_cred() only if the actual parameter wasn't NULL. Reviewed by: rmacklem Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47014 (cherry picked from commit 0b011b5cddb5b17cf5b8f50ff580f3eb4abaeeef) --- usr.sbin/mountd/mountd.c | 1 - 1 file changed, 1 deletion(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 55db501332bf..efc6e0ef6730 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -3634,7 +3634,6 @@ parsecred(char *namelist, struct expcred *cr) */ names = namelist; name = strsep_quote(&names, ":"); - /* Bug? name could be NULL here */ name_ul = strtoul(name, &end, 10); if (*end != '\0' || end == name) pw = getpwnam(name); From nobody Thu Jan 16 18:08:27 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 4YYrT85PMRz5kksZ; Thu, 16 Jan 2025 18:08:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrT74xjrz3RvQ; Thu, 16 Jan 2025 18:08:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mw+Xu11BMN7mvcoZoW/aTy56lhTZQnrFwAh2wFg4P+M=; b=uz8uPFGA6QdpwlshfvqatsxcQCiJkhvol7FJLjhI56ON6a2K5Oi5C3C9mTYXucsUHh3/HE MU3uosCjFkMfCPZQY7ceACxSD0P9xNIj/XgXJiLD0ZqfU8T/bWtoluyMPwtTDRMnDDtByt U+eVhCXtp0DXco7isd4yby5QYvIlXm1uIx0c3qmRs1bR2DJfvGbhUdoKj3uBUdxmHIzTMH YJjKNG967rCWvE0UMr9W2yukvZPJMLmgtCdGOO96pVIeyOFF0X0SLOMFoZRBzYqHgl175S SJ1gAKS3+v8j0mPGbCG9v8koH9KnH9wNqyBU7CUWMYAREoSBHoqdEcKg1QlrJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mw+Xu11BMN7mvcoZoW/aTy56lhTZQnrFwAh2wFg4P+M=; b=jBpvg9qZ+qzRw34+x8G2X1twxYdEv0TueNiXhrpUmSd5Gx9lLGOlBupG5yoG8wjONTBPgD 8IO091vx82Oxy53+R2jYfc036bE0lJV0ahVA5zoIaUxGO/88ddmgqrPk3/4gRnWwwg6YW9 F4rx45UqtuVnuLxgLYO+X6Tb1mwspr6NHOvLMqcouUJhNGjjy4rtQXpMu2t+E3BqFhbntP wttxx53/hNrQOFiN5sY97Z3uM1AbYNInvjCrS8TfrcSobgRkuBEe6o5XPwy6RSWicmk1jf tQgo6XyrgdY2XFADW9lD1tUxzudFkhLQrF+V2DUdltLwShoGTaGRKHpz3IPGcA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050907; a=rsa-sha256; cv=none; b=ZEUTfMw028Sxy+JmU2z6bNDw6vYR5Q7WR2EGbtfisRgASmIdwYtjgeBiy+hqBqgWkLuCqK Iw5Ii/zGyBRCKcPP/MsHM1rjM8AGwriYRhZjboOcgklV+OFazcYXOjV3fRjM+YLBspBxmv dYoayDOPao+iXnXdoY2Vfiy5digI90iWeLoRLtix1mUdVMvbQKrgWVZWYcSUWF6fECWEbA kZz0wGchRj6lJZKaqmhtGshuDDHDm+LahqWBGZK0jMziywB3fbA6oRF67duto/f62mbM+M ytVgSsYoY2SkQ5Ei3BlUIMBDZcPdn7I+5izeENGehKOmTvk5CK6UwsWqx8hwRA== 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 4YYrT74MNFzk14; Thu, 16 Jan 2025 18:08: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 50GI8RQx092383; Thu, 16 Jan 2025 18:08:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8RuY092380; Thu, 16 Jan 2025 18:08:27 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:27 GMT Message-Id: <202501161808.50GI8RuY092380@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 8caa6bc96c8c - stable/14 - mountd(8): parsecred(): Re-order operations for clarity List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 8caa6bc96c8c51353b5ce2feb66bf563ea27d469 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=8caa6bc96c8c51353b5ce2feb66bf563ea27d469 commit 8caa6bc96c8c51353b5ce2feb66bf563ea27d469 Author: Olivier Certner AuthorDate: 2024-10-08 10:06:55 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:59 +0000 mountd(8): parsecred(): Re-order operations for clarity No functional change (intended). Reviewed by: rmacklem (older version) Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47015 (cherry picked from commit a20d50245f280be404cb8e3b5c9d570ded9594b9) --- usr.sbin/mountd/mountd.c | 53 ++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index efc6e0ef6730..5c8c6aad63ec 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -3616,21 +3616,14 @@ parsecred(char *namelist, struct expcred *cr) char *name; char *names; struct passwd *pw; - struct group *gr; gid_t groups[NGROUPS_MAX + 1]; int ngroups; unsigned long name_ul; char *end = NULL; /* - * Set up the unprivileged user. - */ - cr->cr_groups = cr->cr_smallgrps; - cr->cr_uid = UID_NOBODY; - cr->cr_groups[0] = nogroup(); - cr->cr_ngroups = 1; - /* - * Get the user's password table entry. + * Parse the user and if possible get its password table entry. + * 'cr_uid' is filled when exiting this block. */ names = namelist; name = strsep_quote(&names, ":"); @@ -3639,13 +3632,25 @@ parsecred(char *namelist, struct expcred *cr) pw = getpwnam(name); else pw = getpwuid((uid_t)name_ul); + if (pw != NULL) { + cr->cr_uid = pw->pw_uid; + } else if (*end != '\0' || end == name) { + syslog(LOG_ERR, "unknown user: %s", name); + cr->cr_uid = UID_NOBODY; + goto nogroup; + } else { + cr->cr_uid = name_ul; + } + /* - * Credentials specified as those of a user. + * Credentials specified as those of a user (i.e., use its associated + * groups as specified in the password database). */ if (names == NULL) { if (pw == NULL) { - syslog(LOG_ERR, "unknown user: %s", name); - return; + syslog(LOG_ERR, "no passwd entry for user: %s, " + "can't determine groups", name); + goto nogroup; } cr->cr_uid = pw->pw_uid; ngroups = NGROUPS_MAX + 1; @@ -3660,20 +3665,14 @@ parsecred(char *namelist, struct expcred *cr) memcpy(cr->cr_groups, groups, ngroups * sizeof(gid_t)); return; } + /* - * Explicit credential specified as a colon separated list: + * Explicit credentials specified as a colon separated list: * uid:gid:gid:... */ - if (pw != NULL) { - cr->cr_uid = pw->pw_uid; - } else if (*end != '\0' || end == name) { - syslog(LOG_ERR, "unknown user: %s", name); - return; - } else { - cr->cr_uid = name_ul; - } cr->cr_ngroups = 0; while (names != NULL && *names != '\0') { + const struct group *gr; gid_t group; name = strsep_quote(&names, ":"); @@ -3693,14 +3692,16 @@ parsecred(char *namelist, struct expcred *cr) } groups[cr->cr_ngroups++] = group; } - if (cr->cr_ngroups == 0) { - /* cr->cr_groups[0] filled at start with nogroup(). */ - cr->cr_ngroups = 1; - return; - } + if (cr->cr_ngroups == 0) + goto nogroup; if (cr->cr_ngroups > SMALLNGROUPS) cr->cr_groups = malloc(cr->cr_ngroups * sizeof(gid_t)); memcpy(cr->cr_groups, groups, cr->cr_ngroups * sizeof(gid_t)); + return; + +nogroup: + cr->cr_ngroups = 1; + cr->cr_groups[0] = nogroup(); } #define STRSIZ (MNTNAMLEN+MNTPATHLEN+50) From nobody Thu Jan 16 18:08:29 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrTB59xHz5kkqC; Thu, 16 Jan 2025 18:08:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrT974C1z3Rq6; Thu, 16 Jan 2025 18:08:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rAf2kUJ+8J4w9KdCPr31RtF3mEMHtBDPqpJoltY9Kso=; b=gzaSMiNMebE7BUuYaOhmSLDooikWtvuRiuz3vPBHswclVIDYIZOyuG1d+l+J9dbDrrH6t3 7QCl0ZwzBDWOFl8mlXqx8G8ZaoZVcgkIZsOquip2IsSLwFPHjDF90/doAK95N3bA9UTMU4 SOc0zxLoaxdiFqp0kxmtiB2lQ0VE6x+SW3JpTkc5wg0ZrAgUu6OOkyL7Qyr9NJzLb4K2q6 HL2GEoDcJ88Y2olzVGS2KUeT8fAzVBpAUx8NxrTygNrQ2bx1zkFzty+BrXY1Pa6T/4FX+H n6nscoe2D+TEC5x7zDIwSwsfDiVD3mSSqDjNPrNO/ybv465bK0ytWNVQ1eds0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rAf2kUJ+8J4w9KdCPr31RtF3mEMHtBDPqpJoltY9Kso=; b=m8fJ1mDcGSRKJQG8y+o+uDKbtMFKAgrkFZjSw3QBpJibj5GORlBj+zH7Sho4EB4+jphJiV XGn415KCmGTV4gyBoY4xZew6rQhryWCMNSW/LwBJ37wVXiQQ7xCj3YIIumbzZZtTp7aCaJ MuHBRtUCsnSK56ZNwcIbX0xfalanOgittQI+Svhluhza/UhXEaAGyB3QJUu6ItdJG3RnLH mTdwaZoMUeNsevxWd1FVU4Gcq+i+qx6GaeB+xdG75tqOSGDYmGfmELWKmV0qL4z+5KbrFV OMiOgnF00kUtlyqw1ysEF6B3L4Pvi07duhKxRkSarJMJpFLbvTf1tuHm1GlJ0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050910; a=rsa-sha256; cv=none; b=YmLI4vzozElJ7gRLsOzX5YSrUdxdCO60haT++2xXta47K4PJKnW69syRFZuZfsKZu8S1FA TC/jrbzufYU5XdmTwqfjbnpoDXrpU5Srh9eU7Tip/mpGeRaXVOtZIbbSL4syfxKW/CKk7J k7Xaj3abddx2Q9vp3uGG3xeRG0cl4OVD6wsyb/h2ifOcqbEFQDmIT7MLMfPMc4akdr6+qD Nrek8GiQr2M4fYWfEtDCZYSG5PtYCLueWLQbHFJcXjIjA0EivgK89z+GiU++Z/FtbnNHCP JKfjXma2LMF1kbzX/7JzxLjU5b1SU+1CgmInmePVfABMjtCC5h07h3a7Ocn+iA== 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 4YYrT96TcGzk15; Thu, 16 Jan 2025 18:08:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8TAo092482; Thu, 16 Jan 2025 18:08:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8TFn092479; Thu, 16 Jan 2025 18:08:29 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:29 GMT Message-Id: <202501161808.50GI8TFn092479@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: d1830c75865c - stable/14 - cred: proc_set_cred(): Remove obsolete comments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d1830c75865c880c895c289e049c6649b20b9a4b Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=d1830c75865c880c895c289e049c6649b20b9a4b commit d1830c75865c880c895c289e049c6649b20b9a4b Author: Olivier Certner AuthorDate: 2024-08-01 10:19:52 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:59 +0000 cred: proc_set_cred(): Remove obsolete comments These have been obsoleted since they were first written (in commit "cred: add proc_set_cred helper", daf63fd2f9a8d040, r280130) by some subsequent commits ("proc: refactor clearing credentials into proc_unset_cred", 5a90435ccfed8e1e, r361448; "cred: distribute reference count per thread", 1724c563e62fa800, r361993). No functional change. Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46922 (cherry picked from commit 07c9edac7bcd75095724ff3c91d0aeec792a4f26) --- sys/kern/kern_prot.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 3510dc16f731..bf026593a3ee 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2281,11 +2281,6 @@ cru2xt(struct thread *td, struct xucred *xcr) * Change process credentials. * Callers are responsible for providing the reference for passed credentials * and for freeing old ones. - * - * Process has to be locked except when it does not have credentials (as it - * should not be visible just yet) or when newcred is NULL (as this can be - * only used when the process is about to be freed, at which point it should - * not be visible anymore). */ void proc_set_cred(struct proc *p, struct ucred *newcred) From nobody Thu Jan 16 18:08:30 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 4YYrTC2Rhzz5kksd; Thu, 16 Jan 2025 18:08:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrTC18nyz3RhS; Thu, 16 Jan 2025 18:08:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BWzCOOpCKArjYDfX1tpj0fbSL38UCi0ErbCwHNTZO6U=; b=C6mF28nreHpoz05XhKgxxOV9j/HWM4UCY4OQeEtiVw+EHUVSS2ODkRsF8kO3IjZFdWl92W seNNjWDe4u5XGK1Jgg/IpYQwqYarEnjrTgqm1vMrntjyrcfFWKz16QUf66d0MIk+4k+E9F HCjAYjig48ZvHeKWc6MdfotbnB+17UakchP2SZOlSJjR5jFEIlqtnNPFl3F/6yKZmTgx/u w9xXoT8z+dsrAEu1fg5Y+oUCbSgThFtkcvuEFq1Fq5fAz7cha/AwnXXV7aPnlFPQlQirqm c4EhY0YMWhccbS+7LXOT5d1veh0yCPugRx8p5touKgAThXqHRXxZatME+V9UDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BWzCOOpCKArjYDfX1tpj0fbSL38UCi0ErbCwHNTZO6U=; b=E7tRJYiyJ6nBBpMgvQVQDLtCVtq0FClWgwqKj7UYfylRJAKrUP1ijzFYleZfx2m86wLmK/ FyJ/bwE7/RU4+uULm0Gik2FHjUjWqqepHw15r1tLTUKu1N6rt2jTmhn7NAUga8hZ0bGrqS N2c0aGd8Jr/T/r2yxDxrLDSDJjipf+8Lk/jINOdwLeRZJ6b7dHGK00d9rxe0OyGE7XCLf5 DQpezDRUE0pl+gfpNt5Kl2q9CLQhjsymlY/HufhHwvAO0YcOgWXwzkyrNcz87PY8LtgRJ6 JkiQui0YMQB8hdrCwe1aa42iyE0nQ6JBE8SQxEgxhgnQnmwIZuRicL23hdEusw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050911; a=rsa-sha256; cv=none; b=TbLa1u41PM8fUvb0Ialeh0nuCNSHdu63Oh3NHQpwYfqcZeH7C+EYaoz4aXlTzsRdr9wLUL mhrd7STBbCqtI+1darVjw6IRaskPaeqBSmDLyRcCM2fFuh5hh+OSQy92SdSmT3QAI4Rv7J /nI1ArgjZp/5YsaWvdaGZvuDD3vvJzpCQ52klIsA1k8ovWav2UOVcahyFHcoyfmi1pnP/U mAIThp7l1MLLBzLV51zLavD160RXtIV0/OBsMTnbkU0SqB5kXMnqsjOZMf+gyq6VoHbgFZ b29GAs15quTiI9f0yxOHSYUVaCS8+fjKHmdmt552lJzbh2dmc0/jMUU7zY4BwQ== 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 4YYrTC0TBzzjs2; Thu, 16 Jan 2025 18:08:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8UrV092531; Thu, 16 Jan 2025 18:08:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8UE7092528; Thu, 16 Jan 2025 18:08:30 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:30 GMT Message-Id: <202501161808.50GI8UE7092528@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: b6c9ff04fcb4 - stable/14 - cred: proc_set_cred(), proc_unset_cred(): Update user's process count List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b6c9ff04fcb4147f8071f421aa33099eaabe371a Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=b6c9ff04fcb4147f8071f421aa33099eaabe371a commit b6c9ff04fcb4147f8071f421aa33099eaabe371a Author: Olivier Certner AuthorDate: 2024-08-02 15:57:51 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:59 +0000 cred: proc_set_cred(), proc_unset_cred(): Update user's process count As a process really changes credentials at the moment proc_set_cred() or proc_unset_cred() is called, these functions are the proper locations to perform the update of the new and old real users' process count (using chgproccnt()). Before this change, change_ruid() instead would perform that update, although it operates only on a passed credential which is a priori not tied to the calling process (or not to any process at all). This was arguably a flaw of commit b1fc0ec1a7a49ded, r77183, based on its commit message, and in particular the portion "(...) In each case, the call now acts on a credential not a process (...)". Fixing this makes using change_ruid() more natural when building candidate credentials that in the end are not applied to a process, e.g., because of some intervening privilege check. Also, it removes a hack around this unwanted process count change in unionfs. We also introduce the new proc_set_cred_enforce_proc_lim() so that callers can respect the per-user process limit, and will use it for the upcoming setcred(). We plan to change all callers of proc_set_cred() to call this new function instead at some point. In the meantime, both proc_set_cred() and the new function will coexist. As detailed in some proc_set_cred_enforce_proc_lim()'s comment, checking against the process limit is currently flawed as the kernel doesn't really maintain the number of processes per UID (besides RLIMIT_NPROC, this in fact also applies to RLIMIT_KQUEUES, RLIMIT_NPTS, RLIMIT_SBSIZE and RLIMIT_SWAP). The applied limit is currently that of the old real UID. Root (or a process granted with PRIV_PROC_LIMIT) is not subject to this limit. Approved by: markj (mentor) Fixes: b1fc0ec1a7a49ded MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46923 (cherry picked from commit d2be7ed63affd8af5fe6203002b7cc3cbe7f7891) --- sys/fs/unionfs/union_subr.c | 6 ---- sys/kern/kern_exit.c | 10 ++---- sys/kern/kern_fork.c | 2 +- sys/kern/kern_prot.c | 81 +++++++++++++++++++++++++++++++++++---------- sys/sys/ucred.h | 5 +-- 5 files changed, 71 insertions(+), 33 deletions(-) diff --git a/sys/fs/unionfs/union_subr.c b/sys/fs/unionfs/union_subr.c index ae2d417758f0..c294e9b70ad9 100644 --- a/sys/fs/unionfs/union_subr.c +++ b/sys/fs/unionfs/union_subr.c @@ -884,11 +884,6 @@ unionfs_mkshadowdir(struct unionfs_mount *ump, struct vnode *udvp, /* Authority change to root */ rootinfo = uifind((uid_t)0); cred = crdup(cnp->cn_cred); - /* - * The calls to chgproccnt() are needed to compensate for change_ruid() - * calling chgproccnt(). - */ - chgproccnt(cred->cr_ruidinfo, 1, 0); change_euid(cred, rootinfo); change_ruid(cred, rootinfo); change_svuid(cred, (uid_t)0); @@ -958,7 +953,6 @@ unionfs_mkshadowdir(struct unionfs_mount *ump, struct vnode *udvp, unionfs_mkshadowdir_abort: cnp->cn_cred = credbk; - chgproccnt(cred->cr_ruidinfo, -1, 0); crfree(cred); return (error); diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index f9445a481d92..788b58da450d 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -1001,11 +1001,6 @@ proc_reap(struct thread *td, struct proc *p, int *status, int options) ruadd(&q->p_stats->p_cru, &q->p_crux, &p->p_ru, &p->p_rux); PROC_UNLOCK(q); - /* - * Decrement the count of procs running with this uid. - */ - (void)chgproccnt(p->p_ucred->cr_ruidinfo, -1, 0); - /* * Destroy resource accounting information associated with the process. */ @@ -1019,9 +1014,10 @@ proc_reap(struct thread *td, struct proc *p, int *status, int options) racct_proc_exit(p); /* - * Free credentials, arguments, and sigacts. + * Free credentials, arguments, and sigacts, and decrement the count of + * processes running with this uid. */ - proc_unset_cred(p); + proc_unset_cred(p, true); pargs_drop(p->p_args); p->p_args = NULL; sigacts_free(p->p_sigacts); diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 8054f93c2c9d..8f11bc246593 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -1098,7 +1098,7 @@ fail0: #endif racct_proc_exit(newproc); fail1: - proc_unset_cred(newproc); + proc_unset_cred(newproc, false); fail2: if (vm2 != NULL) vmspace_free(vm2); diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index bf026593a3ee..7c5ce97fef93 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -568,7 +568,7 @@ sys_setuid(struct thread *td, struct setuid_args *uap) #endif { /* - * Set the real uid and transfer proc count to new user. + * Set the real uid. */ if (uid != oldcred->cr_ruid) { change_ruid(newcred, uip); @@ -594,6 +594,9 @@ sys_setuid(struct thread *td, struct setuid_args *uap) change_euid(newcred, uip); setsugid(p); } + /* + * This also transfers the proc count to the new user. + */ proc_set_cred(p, newcred); #ifdef RACCT racct_proc_ucred_changed(p, oldcred, newcred); @@ -2279,31 +2282,76 @@ cru2xt(struct thread *td, struct xucred *xcr) /* * Change process credentials. + * * Callers are responsible for providing the reference for passed credentials - * and for freeing old ones. + * and for freeing old ones. Calls chgproccnt() to correctly account the + * current process to the proper real UID, if the latter has changed. Returns + * whether the operation was successful. Failure can happen only on + * 'enforce_proc_lim' being true and if no new process can be accounted to the + * new real UID because of the current limit (see the inner comment for more + * details) and the caller does not have privilege (PRIV_PROC_LIMIT) to override + * that. */ -void -proc_set_cred(struct proc *p, struct ucred *newcred) +static bool +_proc_set_cred(struct proc *p, struct ucred *newcred, bool enforce_proc_lim) { - struct ucred *cr; + struct ucred *const oldcred = p->p_ucred; - cr = p->p_ucred; - MPASS(cr != NULL); + MPASS(oldcred != NULL); PROC_LOCK_ASSERT(p, MA_OWNED); KASSERT(newcred->cr_users == 0, ("%s: users %d not 0 on cred %p", __func__, newcred->cr_users, newcred)); - mtx_lock(&cr->cr_mtx); - KASSERT(cr->cr_users > 0, ("%s: users %d not > 0 on cred %p", - __func__, cr->cr_users, cr)); - cr->cr_users--; - mtx_unlock(&cr->cr_mtx); + KASSERT(newcred->cr_ref == 1, ("%s: ref %ld not 1 on cred %p", + __func__, newcred->cr_ref, newcred)); + + if (newcred->cr_ruidinfo != oldcred->cr_ruidinfo) { + /* + * XXXOC: This check is flawed but nonetheless the best we can + * currently do as we don't really track limits per UID contrary + * to what we pretend in setrlimit(2). Until this is reworked, + * we just check here that the number of processes for our new + * real UID doesn't exceed this process' process number limit + * (which is meant to be associated with the current real UID). + */ + const int proccnt_changed = chgproccnt(newcred->cr_ruidinfo, 1, + enforce_proc_lim ? lim_cur_proc(p, RLIMIT_NPROC) : 0); + + if (!proccnt_changed) { + if (priv_check_cred(oldcred, PRIV_PROC_LIMIT) != 0) + return (false); + (void)chgproccnt(newcred->cr_ruidinfo, 1, 0); + } + } + + mtx_lock(&oldcred->cr_mtx); + KASSERT(oldcred->cr_users > 0, ("%s: users %d not > 0 on cred %p", + __func__, oldcred->cr_users, oldcred)); + oldcred->cr_users--; + mtx_unlock(&oldcred->cr_mtx); p->p_ucred = newcred; newcred->cr_users = 1; PROC_UPDATE_COW(p); + if (newcred->cr_ruidinfo != oldcred->cr_ruidinfo) + (void)chgproccnt(oldcred->cr_ruidinfo, -1, 0); + return (true); +} + +void +proc_set_cred(struct proc *p, struct ucred *newcred) +{ + bool success = _proc_set_cred(p, newcred, false); + + MPASS(success); +} + +bool +proc_set_cred_enforce_proc_lim(struct proc *p, struct ucred *newcred) +{ + return (_proc_set_cred(p, newcred, true)); } void -proc_unset_cred(struct proc *p) +proc_unset_cred(struct proc *p, bool decrement_proc_count) { struct ucred *cr; @@ -2318,6 +2366,8 @@ proc_unset_cred(struct proc *p) KASSERT(cr->cr_ref > 0, ("%s: ref %ld not > 0 on cred %p", __func__, cr->cr_ref, cr)); mtx_unlock(&cr->cr_mtx); + if (decrement_proc_count) + (void)chgproccnt(cr->cr_ruidinfo, -1, 0); crfree(cr); } @@ -2602,8 +2652,7 @@ change_egid(struct ucred *newcred, gid_t egid) /*- * Change a process's real uid. * Side effects: newcred->cr_ruid will be updated, newcred->cr_ruidinfo - * will be updated, and the old and new cr_ruidinfo proc - * counts will be updated. + * will be updated. * References: newcred must be an exclusive credential reference for the * duration of the call. */ @@ -2611,12 +2660,10 @@ void change_ruid(struct ucred *newcred, struct uidinfo *ruip) { - (void)chgproccnt(newcred->cr_ruidinfo, -1, 0); newcred->cr_ruid = ruip->ui_uid; uihold(ruip); uifree(newcred->cr_ruidinfo); newcred->cr_ruidinfo = ruip; - (void)chgproccnt(newcred->cr_ruidinfo, 1, 0); } /*- diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index 8724cfcdc1e6..5aceb28e5940 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -158,8 +158,9 @@ void crcopy(struct ucred *dest, struct ucred *src); struct ucred *crcopysafe(struct proc *p, struct ucred *cr); struct ucred *crdup(struct ucred *cr); void crextend(struct ucred *cr, int n); -void proc_set_cred(struct proc *p, struct ucred *cr); -void proc_unset_cred(struct proc *p); +void proc_set_cred(struct proc *p, struct ucred *newcred); +bool proc_set_cred_enforce_proc_lim(struct proc *p, struct ucred *newcred); +void proc_unset_cred(struct proc *p, bool decrement_proc_count); void crfree(struct ucred *cr); struct ucred *crcowsync(void); struct ucred *crget(void); From nobody Thu Jan 16 18:08:28 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 4YYrT93VNZz5kl3B; Thu, 16 Jan 2025 18:08:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrT85h9mz3Rpm; Thu, 16 Jan 2025 18:08:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jcOyTTeb6kYAp6S1fpWCz9WVxwjKvLIm2ZMmbi4aqhA=; b=gJWoo40nDPEtNcC4g8ZYXo5Lnlrg1mY5JxIidOwBEtqxn2wJJn2gzxJQtmKbh0i4cUfVt7 7i9DJCtM8zfovNY6NdbqMRwJp6rZAuKc/Ii0L4SQiykPyITSLeVj+3GekZUPkwe6FCTbqZ WHyw7xbUfopoxDqGSyS2gVn16+e4uzFIwqwDu6SXGqtNWQ/9BqevCkJZTzjAYg/6jCudK5 QzLS+iTPg6wxEvM3tKa6/NFU60RvDxCV5rJiOsarHzwkoUzf845AxAyqn8AvGmAaWG3+gS Axtgvpbwn06yNeNt7X5EfxuAgq99NHAvS0MBohKxZgtssCw1XOX82pnsMVjvBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050908; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jcOyTTeb6kYAp6S1fpWCz9WVxwjKvLIm2ZMmbi4aqhA=; b=NQYVG7gz+D0VNDJJ85EgYaS6CNt5Pse5cI9Z8CWOZlDNddw+x6da9EKYL7Q+Pkz/9G6pZN EmdpYyR7i5kMLHBVYIsE1139FRMsQRZIfRb9BtCqrwy+v591hMX1g3rsgOcLtuJdWAp7dG czRsS6Rc0w0KgRoDbkIRYuhF9PVlOIuoAvcYiTAOS3f+UT4tGvoTFZd5rUAJ0XcgYtMYg9 bn4sjHtUY+E8fg4F9yaFO9k7POdd/I9K0Kla0v+HSh2/lMHtOz/yhfL8nNrTdBeGynbo5i 0SlYaMNuxz5iDbkAXMlEKQCR14KXjnUz3o5cnH3DujVH6F92IYMip6C5Ih0kTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050908; a=rsa-sha256; cv=none; b=Ws2APXKCgdYWLdIFsbBhMMG309tHtpjC/0CR42WaKd7raAZmTEWhcbgHzpRRHy9MJZZ3Xr p6H6086AJ3ErgikNCpioKAq+amv5KWD4bYTdGz7HiqClwCt9dDes8ckVA4b8dNdUeLU3C0 jPC+ShvxlH3drCor9NJT/tlkWbOAACpaNyNHTJG5csJ5uQtywWxWzS+bZf987bXTFTqCC+ hAIrZwv5/X9zhbxWkO/CwYrdcvHHPgvlOlJUMVYXo+VdPdpWo6G0YrGNgr9PLzg/OZdqSx a1OejcJkITF+gUhE69mpnkzVpYCAKIX7CWH1JSbz2eRtlAaOZW9I7YhfIBufOw== 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 4YYrT85DgdzkKk; Thu, 16 Jan 2025 18:08:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8SPK092440; Thu, 16 Jan 2025 18:08:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8SqF092437; Thu, 16 Jan 2025 18:08:28 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:28 GMT Message-Id: <202501161808.50GI8SqF092437@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: ca9614d8f64a - stable/14 - mountd(8): Allow to pass {NGROUPS_MAX} + 1 groups List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ca9614d8f64a7de19ba1f1cd9d6927047dd3d032 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=ca9614d8f64a7de19ba1f1cd9d6927047dd3d032 commit ca9614d8f64a7de19ba1f1cd9d6927047dd3d032 Author: Olivier Certner AuthorDate: 2024-10-08 12:30:03 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:06:59 +0000 mountd(8): Allow to pass {NGROUPS_MAX} + 1 groups NGROUPS_MAX is just the minimum maximum of the number of allowed supplementary groups. The actual runtime value may be greater. Allow more groups to be specified accordingly (now that, a few commits ago, nmount(2) has been changed similarly). To this end, we just allocate once and for all a static array called 'tmp_groups' big enough to hold {NGROUPS_MAX} + 1 groups (the maximum number of supplementary groups plus the effective GID, which we store in a variable named 'tngroups_max' to avoid confusion with the kernel variable 'ngroups_max' holding only the maximum number of *supplementary* groups) in main() and use this temporary space in get_exportlist_one(), do_opt() and parsecred(). Doing so in passing fixes a (benign) memory leak in case "-maproot" and/or "-mapall" were specified multiple times and the first option comprised more than SMALLNGROUPS. parsecred() does not use 'cr_smallgrps' anymore, but we have kept 'cr_smallgrps'/SMALLNGROUPS as 'struct expcred' is also included in 'struct exportlist' and 'struct grouplist', and thus this preallocated field still results in an optimization for the common case of small number of groups (although its real impact is probably negligible and arguably was not worth the trouble). While here, in do_mount(), remove some unnecessary groups array allocation and copying. Reviewed by: rmacklem (older version) Approved by: markj (mentor) MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47016 (cherry picked from commit e87848a8150ed75da29d99a7d0c0bba6cc5129b8) --- usr.sbin/mountd/mountd.c | 70 +++++++++++++++++++++++++----------------------- 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 5c8c6aad63ec..20055d885b08 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -70,6 +70,7 @@ static char sccsid[] = "@(#)mountd.c 8.15 (Berkeley) 5/1/95"; #include +#include #include #include #include @@ -258,7 +259,7 @@ static void huphandler(int sig); static int makemask(struct sockaddr_storage *ssp, int bitlen); static void mntsrv(struct svc_req *, SVCXPRT *); static void nextfield(char **, char **); -static void out_of_mem(void); +static void out_of_mem(void) __dead2; static void parsecred(char *, struct expcred *); static int parsesec(char *, struct exportlist *); static int put_exlist(struct dirlist *, XDR *, struct dirlist *, @@ -313,6 +314,11 @@ static int has_publicfh = 0; static int has_set_publicfh = 0; static struct pidfh *pfh = NULL; + +/* Temporary storage for credentials' groups. */ +static long tngroups_max; +static gid_t *tmp_groups = NULL; + /* Bits for opt_flags above */ #define OP_MAPROOT 0x01 #define OP_MAPALL 0x02 @@ -445,6 +451,18 @@ main(int argc, char **argv) warn("cannot open or create pidfile"); } + openlog("mountd", LOG_PID, LOG_DAEMON); + + /* How many groups do we support? */ + tngroups_max = sysconf(_SC_NGROUPS_MAX); + if (tngroups_max == -1) + tngroups_max = NGROUPS_MAX; + /* Add space for the effective GID. */ + ++tngroups_max; + tmp_groups = malloc(tngroups_max); + if (tmp_groups == NULL) + out_of_mem(); + s = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP); if (s < 0) have_v6 = 0; @@ -541,7 +559,6 @@ main(int argc, char **argv) exnames = argv; else exnames = exnames_default; - openlog("mountd", LOG_PID, LOG_DAEMON); if (debug) warnx("getting export list"); get_exportlist(0); @@ -1573,9 +1590,9 @@ get_exportlist_one(int passno) int unvis_len; v4root_phase = 0; - anon.cr_groups = NULL; dirhead = (struct dirlist *)NULL; unvis_dir[0] = '\0'; + while (get_line()) { if (debug) warnx("got line %s", line); @@ -1588,9 +1605,9 @@ get_exportlist_one(int passno) * Set defaults. */ has_host = FALSE; - anon.cr_groups = anon.cr_smallgrps; anon.cr_uid = UID_NOBODY; anon.cr_ngroups = 1; + anon.cr_groups = tmp_groups; anon.cr_groups[0] = nogroup(); exflags = MNT_EXPORTED; got_nondir = 0; @@ -1920,10 +1937,6 @@ nextline: free_dir(dirhead); dirhead = (struct dirlist *)NULL; } - if (anon.cr_groups != anon.cr_smallgrps) { - free(anon.cr_groups); - anon.cr_groups = NULL; - } } } @@ -3189,11 +3202,11 @@ do_mount(struct exportlist *ep, struct grouplist *grp, uint64_t exflags, eap->ex_flags = exflags; eap->ex_uid = anoncrp->cr_uid; eap->ex_ngroups = anoncrp->cr_ngroups; - if (eap->ex_ngroups > 0) { - eap->ex_groups = malloc(eap->ex_ngroups * sizeof(gid_t)); - memcpy(eap->ex_groups, anoncrp->cr_groups, eap->ex_ngroups * - sizeof(gid_t)); - } + /* + * Use the memory pointed to by 'anoncrp', as it outlives 'eap' which is + * local to this function. + */ + eap->ex_groups = anoncrp->cr_groups; LOGDEBUG("do_mount exflags=0x%jx", (uintmax_t)exflags); eap->ex_indexfile = ep->ex_indexfile; if (grp->gr_type == GT_HOST) @@ -3383,7 +3396,6 @@ skip: if (cp) *cp = savedc; error_exit: - free(eap->ex_groups); /* free strings allocated by strdup() in getmntopts.c */ if (iov != NULL) { free(iov[0].iov_base); /* fstype */ @@ -3611,21 +3623,19 @@ get_line(void) * Parse a description of a credential. */ static void -parsecred(char *namelist, struct expcred *cr) +parsecred(char *names, struct expcred *cr) { char *name; - char *names; struct passwd *pw; - gid_t groups[NGROUPS_MAX + 1]; - int ngroups; unsigned long name_ul; char *end = NULL; + assert(cr->cr_groups == tmp_groups); + /* * Parse the user and if possible get its password table entry. * 'cr_uid' is filled when exiting this block. */ - names = namelist; name = strsep_quote(&names, ":"); name_ul = strtoul(name, &end, 10); if (*end != '\0' || end == name) @@ -3652,17 +3662,13 @@ parsecred(char *namelist, struct expcred *cr) "can't determine groups", name); goto nogroup; } - cr->cr_uid = pw->pw_uid; - ngroups = NGROUPS_MAX + 1; - if (getgrouplist(pw->pw_name, pw->pw_gid, groups, &ngroups)) { + + cr->cr_ngroups = tngroups_max; + if (getgrouplist(pw->pw_name, pw->pw_gid, + cr->cr_groups, &cr->cr_ngroups) != 0) { syslog(LOG_ERR, "too many groups"); - ngroups = NGROUPS_MAX + 1; + cr->cr_ngroups = tngroups_max; } - - if (ngroups > SMALLNGROUPS) - cr->cr_groups = malloc(ngroups * sizeof(gid_t)); - cr->cr_ngroups = ngroups; - memcpy(cr->cr_groups, groups, ngroups * sizeof(gid_t)); return; } @@ -3686,17 +3692,14 @@ parsecred(char *namelist, struct expcred *cr) } else { group = name_ul; } - if (cr->cr_ngroups == NGROUPS_MAX + 1) { + if (cr->cr_ngroups == tngroups_max) { syslog(LOG_ERR, "too many groups"); break; } - groups[cr->cr_ngroups++] = group; + cr->cr_groups[cr->cr_ngroups++] = group; } if (cr->cr_ngroups == 0) goto nogroup; - if (cr->cr_ngroups > SMALLNGROUPS) - cr->cr_groups = malloc(cr->cr_ngroups * sizeof(gid_t)); - memcpy(cr->cr_groups, groups, cr->cr_ngroups * sizeof(gid_t)); return; nogroup: @@ -4065,6 +4068,7 @@ huphandler(int sig __unused) static void terminate(int sig __unused) { + free(tmp_groups); pidfile_remove(pfh); rpcb_unset(MOUNTPROG, MOUNTVERS, NULL); rpcb_unset(MOUNTPROG, MOUNTVERS3, NULL); From nobody Thu Jan 16 18:08:33 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 4YYrTF4Y7xz5kl3J; Thu, 16 Jan 2025 18:08:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrTF3WpWz3S5r; Thu, 16 Jan 2025 18:08:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jsb3K+XQsONdWvQFpjRRznt6puK0MkU3b2ca8YduInU=; b=x3+0M2hy5Z1yhd1pQjZZSQ9nB1NSe1O+6hwYkjyfdtbAdRGBzDfUMovyTym9YyJ77DL7UT CYKHl74taSYrPt26OD+WKcdgFpL1D119A30JzZzAe+gmkYaliDvJZ9eQldYf8A4NzriyR7 i+HsmeJ9QtmU+1zixo/TWUozrgjGvOUoZ7ivzi+46IJAtXinEJd+jAtDOiuayKbNZJd2HP xhdL46XymkwX+T0v2/D6hqg5MyEJRrENYQzSIrPjCWouZKeGdBrOSQeeO3YFomv4s3xf8z x+gz0OJrhnRxv58/5WRMo5HXb1isVJVm86rqZSFSHVKO9rNp6eBPKp5leNf0ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jsb3K+XQsONdWvQFpjRRznt6puK0MkU3b2ca8YduInU=; b=yglYb3fM2tFnJNhaMfhFjDGKaEhWHp3HqU3K8+G0iugK61CPTNiPDtxmSNb+ytpB6BGcnl Wv9DKsm9sVF/NTiiex/HY3N0WbWK9Q+zkSIW6osKqIVFeVXHZLkklTq7VphfwOgr4TcwkP whgE7MeGYVTiECv+HqgB4Qc8Wc/yKVhY5jb3vLry/19njx5Cy28I6gq6w2G63ugc+Anf8I T0ed8mHjxb5x6FgdMqvO7pOEiiJMaXSh3jSPgsfL6srbI4757nW2q/iRRQyC2qN6S6pX4s U3ME4D5P4pyaOdZK/U9rXo3FVskj/0B+xpTwYWg7vkqVNqeYPCsJrbBay3+dtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050913; a=rsa-sha256; cv=none; b=xFzYiGcsWNwUb0lO4zcHKUzGqz19f/KPgFjtOmGE/oqmc6k94INUsv2LKT/InjOud5aTEE xcbc4gIKODul79h0/9mewOcjUfH57tfNlHjMSx6Rpn8ZQbgG8jrP+1wOGWHh+irI19yS0b 3PIQFYrtPOr9K+E+G7fNdVYLka2KAYeFD/bL/PiZobe5EwHPyoH1yFRUGTOp/8Ohfm9ZuG m9jD0DGKb/E/w2J2vzsfiZMIh8kbk/Dnh49LA02u/0uWn6FYjZBmWpgeqv6MSU6LqvlAOm 7BH8f+17wZ5XNW+8VFc6/b/J5KVL+a6Ma8UqCv9A/i5ARlv5CY9ksSPphJiVGw== 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 4YYrTF2TJkzk17; Thu, 16 Jan 2025 18:08:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8XQm092626; Thu, 16 Jan 2025 18:08:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8XBA092623; Thu, 16 Jan 2025 18:08:33 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:33 GMT Message-Id: <202501161808.50GI8XBA092623@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 24e4f0365709 - stable/14 - x86 atomics: Remove unused WANT_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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 24e4f0365709b473029f7aa85514939a0d87df77 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=24e4f0365709b473029f7aa85514939a0d87df77 commit 24e4f0365709b473029f7aa85514939a0d87df77 Author: Olivier Certner AuthorDate: 2024-12-09 16:13:09 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:07:00 +0000 x86 atomics: Remove unused WANT_FUNCTIONS This macro has not been in use since commit "inline atomics and allow tied modules to inline locks" (r335873, f4b3640475cec929). Reviewed by: markj, kib, emaste, imp MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48061 (cherry picked from commit fa368cc86cebe7185b3a99d4f6083033da377eee) --- sys/amd64/include/atomic.h | 3 --- sys/i386/include/atomic.h | 15 --------------- 2 files changed, 18 deletions(-) diff --git a/sys/amd64/include/atomic.h b/sys/amd64/include/atomic.h index 91a4398a0815..93301459fd77 100644 --- a/sys/amd64/include/atomic.h +++ b/sys/amd64/include/atomic.h @@ -385,7 +385,6 @@ ATOMIC_LOADSTORE(long); #undef ATOMIC_LOAD #undef ATOMIC_STORE #undef ATOMIC_LOADSTORE -#ifndef WANT_FUNCTIONS /* Read the current value and store a new value in the destination. */ static __inline u_int @@ -592,8 +591,6 @@ atomic_swap_long(volatile u_long *p, u_long v) #define atomic_testandset_ptr atomic_testandset_long #define atomic_testandclear_ptr atomic_testandclear_long -#endif /* !WANT_FUNCTIONS */ - #endif /* !SAN_NEEDS_INTERCEPTORS || SAN_RUNTIME */ #endif /* !_MACHINE_ATOMIC_H_ */ diff --git a/sys/i386/include/atomic.h b/sys/i386/include/atomic.h index e68af0454130..f210b501d333 100644 --- a/sys/i386/include/atomic.h +++ b/sys/i386/include/atomic.h @@ -299,17 +299,6 @@ atomic_thread_fence_seq_cst(void) #ifdef _KERNEL -#ifdef WANT_FUNCTIONS -int atomic_cmpset_64_i386(volatile uint64_t *, uint64_t, uint64_t); -int atomic_cmpset_64_i586(volatile uint64_t *, uint64_t, uint64_t); -uint64_t atomic_load_acq_64_i386(const volatile uint64_t *); -uint64_t atomic_load_acq_64_i586(const volatile uint64_t *); -void atomic_store_rel_64_i386(volatile uint64_t *, uint64_t); -void atomic_store_rel_64_i586(volatile uint64_t *, uint64_t); -uint64_t atomic_swap_64_i386(volatile uint64_t *, uint64_t); -uint64_t atomic_swap_64_i586(volatile uint64_t *, uint64_t); -#endif - /* I486 does not support SMP or CMPXCHG8B. */ static __inline int atomic_cmpset_64_i386(volatile uint64_t *dst, uint64_t expect, uint64_t src) @@ -618,8 +607,6 @@ ATOMIC_LOADSTORE(long); #undef ATOMIC_STORE #undef ATOMIC_LOADSTORE -#ifndef WANT_FUNCTIONS - static __inline int atomic_cmpset_long(volatile u_long *dst, u_long expect, u_long src) { @@ -874,8 +861,6 @@ atomic_swap_long(volatile u_long *p, u_long v) #define atomic_testandset_ptr(p, val) \ atomic_testandset_int((volatile u_int *)(p), (val)) -#endif /* !WANT_FUNCTIONS */ - #if defined(_KERNEL) #define mb() __mbk() #define wmb() __mbk() From nobody Thu Jan 16 18:08: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 4YYrTF2RdMz5kkmM; Thu, 16 Jan 2025 18:08:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrTD239nz3S1R; Thu, 16 Jan 2025 18:08:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vcIJE24kV+ICp9yB5j5qyNNUqVUr2h9L3BNu+P6OVNs=; b=YVK2N2mHatjL3SMUbb2cFyS3gun3Dyj4oHSy42AoK6USSTNB/zv5Es2+i6pM74naD/TQnC JBigUsSkyX5hLehYp01yf2ZO4eXOroTwr4qFh/D2Q1QULUoLIqf/xLvn0dHF/KgzFCBdFl 2VetATuD/yATiZrI6hWt4GialOs4jE6D4OljWeZgPTMplByYE/QwyCIqig/COaONzDm913 bf57MN0B6raAucdzVF5xo0ROujP+ROAs+gHNlyZ0uYhRmvrAKANBRyl0xbvQeVWipMeRa/ dvGz8jSHGDvIHFQftFhwK586cacDfdlc7RBH3hCAFlFM/jcLifEHMrYuAbheeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vcIJE24kV+ICp9yB5j5qyNNUqVUr2h9L3BNu+P6OVNs=; b=azYMMEum+Iqbq0KPX7f2fZgITeDv8nh1yWxwpjCnRR7irg9EeSZCWIpUf9w92cVtnlmPhF d9bYCq8w9NPPUMNGcwAFellXjDcmb3sEXwNTE9THye9b7OVpUvUoKl3d9GVPjOYPFUSz0j 2TEXaYsBFD4/aQrpLilGrgvdEHExCtToeM1LodnCoxB7EK5G69jcXAFuaF6cCu/cu5WJjG W6XGTrc/Mi2EUKbn65url5D0PRkRcWp/D4gbvGT9KvMA0/KYPh/COzGi0pTyGcTU+m9OOs seXvtuKHh1rOrWWjb7fI0XfS3ArhdNrfKbL1IC8hwM01LsoXbGZtKzSpT/5QJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050912; a=rsa-sha256; cv=none; b=S/Kz2jKdBQy28/7FdrB5y6ObqHDm1wF4YRgLn+0L5Edg1pHXrnKbNdqDOl3vYKkE7N/ybu At8xAnOIG6vhbWbH9DVsonr/KET1XxVVH/OzPHwhQ8ySxkEtvqIFJSDxjgGWpcNKM+dOVn acP90UbFdeA2bbUSCoYvlL6THCkpPWcY9m/4DqLp3XTVZfhCGxaB25c3aZTlnCmsgYH6Uq JvWHXggTpJB08P7OOhhF2oCP2Jvopzc/2HuUIbMCEUt1q0FvFxatA0ZchdEQuXIBXp2YfN Rtbnofu3+VwwuDv0+mlmrheS/ESxmn5SkARZ/Tw1yyNzljMozLw4nWnc8aHwAw== 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 4YYrTD1RHXzk16; Thu, 16 Jan 2025 18:08:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8WBa092583; Thu, 16 Jan 2025 18:08:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8WWs092579; Thu, 16 Jan 2025 18:08:32 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:32 GMT Message-Id: <202501161808.50GI8WWs092579@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: eed08497de05 - stable/14 - syscallsubr.h: Header inclusions: Explicit , sort List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: eed08497de05a3ab6bbdb3823aafccd82e161996 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=eed08497de05a3ab6bbdb3823aafccd82e161996 commit eed08497de05a3ab6bbdb3823aafccd82e161996 Author: Olivier Certner AuthorDate: 2024-12-02 15:06:29 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:07:00 +0000 syscallsubr.h: Header inclusions: Explicit , sort is currently brought in by other headers but some of its type definition are directly used in this header, so it should appear explicitly. It is necessary as lots of prototypes in there use types it defines ( wouldn't be enough). Additionally, and need constants from , so just include instead of . Sort header inclusions as per style(9). No functional change (intended). Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47881 (cherry picked from commit 8cdb0458e12e6fac577cfb2277e7e85d3c21fa09) --- sys/sys/syscallsubr.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index b3ba50823e93..52d2035cc962 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -28,13 +28,14 @@ #ifndef _SYS_SYSCALLSUBR_H_ #define _SYS_SYSCALLSUBR_H_ -#include -#include -#include -#include +#include #include #include #include +#include +#include +#include +#include struct __wrusage; struct cpuset_copy_cb; From nobody Thu Jan 16 18:08:34 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 4YYrTG6DfFz5kkmP; Thu, 16 Jan 2025 18:08:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrTG3xPYz3S3m; Thu, 16 Jan 2025 18:08:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050914; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m6szX0bAHHD/TAJxHei9utehHewmT1urOctf5WUw1ds=; b=K1Z5HLyT6q/TlEItNEb+FUveB27wu7djvVBY3pIdKpl+n6ay9RfsEohvLqGk/Ec95+Kinf eiP42MLRgSXYTouXbiGeT5V41I1uDVe3aBkHzxw+Lt0TvT0PSm9i1xxVd/chRkHDAMMUjA PjcayK5MIN3N7d67TruxcZh+CLLRhKjF5TIjnCuteDp0EJG1vguubGZN+lLfi1jat/70qD EGIdjlwYowo/rMrbYwctI29DoLmNuHC0A0QJlaOztX021/W3r62OR0QrSgRlZqIspE8Oob X+lJ2LQ9y/BZs06YJazWZjsQYt3mAIm8MRCr7ENreFpZDwxySVbHxGu3CmNQZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050914; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m6szX0bAHHD/TAJxHei9utehHewmT1urOctf5WUw1ds=; b=NvL2cF6SSkUCeYL4ICWhVtBi4I2r9tVjCW5L3XWFKylxRfEflBSNcXbubtPdyH76KEm7nb PDFt400E4ENdVcpUR5lBG7h8ASuO+J2OS1P4MEPISfuyZfvg9FT/mgu1B30MYSIAzBp5ro baHb6LFmmPfJM52dGxAKxyCxXhvwBM1ZsgHXX8WyaLxJX0Xdhyr/h8dKxOEzMUbZ7IEkkt GHpYL8I8eezDvy7Pey/zS7qZm2GoA9KE7I0wCXi3sDrZ6w9yqkoGCn3CM6pS7Z69meQqKc egjjs/VRc59qTahMP0gR2S9G9E0dm+upY+T7SR5BUs1s+XjfzoC0fQmUY+clag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050914; a=rsa-sha256; cv=none; b=BmUMcRbT0jyHWtY5908iqeDDXGiafdbBcIX+87EUbtg7xZZctZkW/RB/Q4l2pJSDcDmyRA 8iffc+D4ABP+sTgpx9gr0tcca6luhHYgNLYnLYuiAisxrJhUs1Vt8MvTDLbpY/jDoaGxsN pjB1E1BA0IbkckXRClcvS7M93cdizV/e6s5bWxNYFRupBLiK2hagWcsUxQdSW+6O+oE2LE zMbVxxjznyiqL9vQd/iDcAFF8T2/9N7ff8pNoBXPMroB+XVVrkX4oVBYoQOzXWPMBmMnYF 55XPr3hUnVhI5pfFHBWn0lkVIZ0XDc2j+zvF+wzoHu8GaVNElMJh6CtHvl43IQ== 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 4YYrTG3Whdzk18; Thu, 16 Jan 2025 18:08:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8Y7T092676; Thu, 16 Jan 2025 18:08:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8YQw092673; Thu, 16 Jan 2025 18:08:34 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:34 GMT Message-Id: <202501161808.50GI8YQw092673@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 31eb78aef84f - stable/14 - atomic(9): Update manpage after constifying atomic loads List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 31eb78aef84f7670dc88c2ee246a74ad86b27ee7 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=31eb78aef84f7670dc88c2ee246a74ad86b27ee7 commit 31eb78aef84f7670dc88c2ee246a74ad86b27ee7 Author: Olivier Certner AuthorDate: 2024-12-16 17:58:50 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:07:00 +0000 atomic(9): Update manpage after constifying atomic loads MFC after: 5 days Sponsored by: The FreeBSD Foundation (cherry picked from commit 32c45723fa53d384e19ce52aec15972e73305a8c) --- share/man/man9/atomic.9 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man9/atomic.9 b/share/man/man9/atomic.9 index 581aac9878c8..df24cd4a4d2b 100644 --- a/share/man/man9/atomic.9 +++ b/share/man/man9/atomic.9 @@ -20,7 +20,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd November 19, 2024 +.Dd December 16, 2024 .Dt ATOMIC 9 .Os .Sh NAME @@ -60,7 +60,7 @@ .Ft void .Fn atomic_interrupt_fence "void" .Ft -.Fn atomic_load_[acq_] "volatile *p" +.Fn atomic_load_[acq_] "const volatile *p" .Ft .Fn atomic_readandclear_ "volatile *p" .Ft void From nobody Thu Jan 16 18:08:35 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 4YYrTJ3NlPz5kl5K; Thu, 16 Jan 2025 18:08:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrTH4hrdz3S3w; Thu, 16 Jan 2025 18:08:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050915; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fNxBU1TOZezVlPAGw4rV9ka9rrRp5m9QpGlfb0Xfngg=; b=JGjbr07WvQNhm2odZ2FU9Af5k6/CEkvooa34oKBcYsCy/u1uVGkWqNWH9nkeyDVbuUizBO h1T/PEhzpxWhNQJD8/C9AMMKMmmVoSlLeW7Pw46J5x3qo87ouXEblBxzZqPnOOXA+Dh8DQ AO5CTHtwi/w3XhknG6ungcaWWg+4A+lnqwnqTKcBlaccDj+FeOJFy50YFrvEr8A49us8K1 +VnMr3rEGjgSTv6pIwsoM7aEz6KStpQ1KpUYp5AfZkMK8TXurrW96MhIs7lRwJZxWZBgty mUxbJX7bUJqPvekZ2pqH1qxbukRo+FrXf6vfcHrHc5KAxDsO7PXq8QJsq188xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050915; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fNxBU1TOZezVlPAGw4rV9ka9rrRp5m9QpGlfb0Xfngg=; b=H3je/s4us2A0UA2I3KgmGWBcnUYKDh5sGujgZBmJCMbRNmZ9rCYzovc2vWmFlDm9O/XOy+ xmJkg/PjuXKOyMY4pDzpi82pFCMqtZqABtBamsEqXv2Skx7KuaehJ+w8VapNt542hAvow+ bLsgb0UfYLAD9xfM82dpdEi/WvsFTaL030n9zZD69fVsb1RcydTuYUUFAyFSVBotYu14N0 ftlM354ypADop6Zy3U6bY/bcIVwS3y8+k37L6EFYmkDu5yCegIMGPBIpqyBAe6sSs/f2uv Nw2sLmYGUobZy23/8RIHtwBo5oJRin/8nBk+uPqsjpwAZXNP1DTwaEOOvqs4Gw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050915; a=rsa-sha256; cv=none; b=kdQHf3wdJbR/Gs5D8NbxMU1a3n5+6YVISrYRmN4rr8UctNEY+VtrowF26t1C2Vu7TSfBwS aknnvd4vsdSF+32OgZSDOyEs2lEuYh3wGUKlEkbguzCdUsI2LhXpkdP9OPyAMJekCIpS7k KiiI9ORKLRl8E5Ju5GD/JWo6st1k/MvbgpHQJNHvHmkStARIc0QbXzRO2R+Qi7R/Q9yXrN 6wpk7pqTpKJCRTtjpL8KTg8M+NceUaZHxr+dpBaKGDLwjD0ZYINh7e7FufpCpiJqm+LEMZ YG+3Y820r3WPRgTVbqu0vQk8aGMxNRMr9wKxp0iPC0ofTE50HPOlMyMP5kfo4Q== 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 4YYrTH4C37zk19; Thu, 16 Jan 2025 18:08:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8ZIO092718; Thu, 16 Jan 2025 18:08:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8Z9n092715; Thu, 16 Jan 2025 18:08:35 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:35 GMT Message-Id: <202501161808.50GI8Z9n092715@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 22e8819388ee - stable/14 - proc_set_cred(): Fix compilation of GENERIC-NODEBUG List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 22e8819388ee0495bb02a31e888ea4c0f0b11dab Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=22e8819388ee0495bb02a31e888ea4c0f0b11dab commit 22e8819388ee0495bb02a31e888ea4c0f0b11dab Author: Olivier Certner AuthorDate: 2024-12-16 15:38:26 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:07:01 +0000 proc_set_cred(): Fix compilation of GENERIC-NODEBUG Approved by: mark (mentor) Fixes: d2be7ed63aff ("cred: proc_set_cred(), proc_unset_cred(): Update user's process count") (cherry picked from commit 675708aa402a06d9ced98c8a12d9ef29625d3c66) --- sys/kern/kern_prot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 7c5ce97fef93..3f1d28376d49 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2339,7 +2339,7 @@ _proc_set_cred(struct proc *p, struct ucred *newcred, bool enforce_proc_lim) void proc_set_cred(struct proc *p, struct ucred *newcred) { - bool success = _proc_set_cred(p, newcred, false); + bool success __diagused = _proc_set_cred(p, newcred, false); MPASS(success); } From nobody Thu Jan 16 18:08:36 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 4YYrTK13bDz5kl0k; Thu, 16 Jan 2025 18:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrTJ5wPZz3Rwl; Thu, 16 Jan 2025 18:08:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+D+zxLpuLVMVzERWwly3Qcu1SLp4xHXLs/RC4zB90YA=; b=cNZNlXbdksYM9p4smFhh5IOSA8lQcFVZRT86Mc7dHwn0qHjgczvDnI0r4xLPq2bSz1urOg cRntGp0tbsWFevcvHAjyqrbxv8If4Xlc7QfF1KWPbJP4miTgs7dcAadSz7XpWqIiI05GBk CMuyNXpvJi7KCv7DpmEMBRC/9ZgccYOKbtHgk5A+mpHIlfRpGyDM2/9hMkgw6JCbJcAguo DSjj9IU3ZSLEY6mAssNkKMpuInqnRHVjfWWF8A7ihqaTbsa6hXs80QIPULeNMTkI3EYU+o jaSKX4/IqE9Lu3hIgOkShsMkEKra0DQna2pVIJph0XWnCaEv6/mWrOKl00qVaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050916; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+D+zxLpuLVMVzERWwly3Qcu1SLp4xHXLs/RC4zB90YA=; b=DkSSJvV603BxM6Z8SFBgLG7bd+cHLlpkgZ0+tirnaRI3Xzz9sQqJArmShzamey1WEiwq+F k7ehkwjOAX+HOAX7Fhh23sc2HMDUJQErCBaX5XpIWegeJIk/JXT2ISdmfLYEz3cJaoZ9kc nSInON4CYOSjzKFQ2+j7k/ntqGxehRVJTOfqj1VBVGXmV0TMQJmgUA2+XisuEuTlfYP/YD pUtDv7kUrGRtt9e9myHYQ0ahsReaJ6Q2qjiLDcVo1t2qULzjKTKNMKbIeun/XaSRGiXlQJ JnyoXMoOIMtyLQZdyubAiBTuCefXIJSuJ1UQJolC4ZChTxrrcisJOdWkPvOr6g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050916; a=rsa-sha256; cv=none; b=sOMX8U6aW4bGkccBYhxVOC2Ft7Gd/fnZS3FlGIKFzixb4pqxFhl2O4fvdETfFeB2IkF7bH bQ7dqxa4bw0A9cCeg5ZaqQuVoQn/iLEw1ARS3TCoym5Ox+CNknoG0A+TzMyN7n/P5ZCb/T zjGjgGKfAQr77Zn/ZOA6JnOYHHEYn1CFHJEAIcd+MReWIyRdrofsOm5iMZOu6E6EEPBGE8 9VRMWWeE06HL84q9ojpoXzXvV9B+b+msMgxUd2XwHQ7vCLWAXzU4VxLiib11+CEQj72rWd jHobZU9QYXMQVmkREsBmKebIw6sfESJaG7LIjKvhOQosDbeufbTAx4l5i78mxA== 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 4YYrTJ5V86zk7p; Thu, 16 Jan 2025 18:08:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8aMx092766; Thu, 16 Jan 2025 18:08:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8aSD092763; Thu, 16 Jan 2025 18:08:36 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:36 GMT Message-Id: <202501161808.50GI8aSD092763@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: fce2a3509a65 - stable/14 - atomics: Constify loads: Fix powerpc 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: fce2a3509a65a374820dc889929f8e8f5dbd1707 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=fce2a3509a65a374820dc889929f8e8f5dbd1707 commit fce2a3509a65a374820dc889929f8e8f5dbd1707 Author: Olivier Certner AuthorDate: 2024-12-16 19:12:14 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:07:01 +0000 atomics: Constify loads: Fix powerpc build Fixes: 5e9a82e898d5 ("atomics: Constify loads") Sponsored by: The FreeBSD Foundation (cherry picked from commit a9722e5ae8519a9a28e950dbd8d489178e9bc27e) (cherry picked from commit 793939c9444dce957118fee412f5144c2e46aea3) --- sys/kern/subr_atomic64.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/subr_atomic64.c b/sys/kern/subr_atomic64.c index 8a565ef8ec67..f52ac9caac75 100644 --- a/sys/kern/subr_atomic64.c +++ b/sys/kern/subr_atomic64.c @@ -78,7 +78,7 @@ static struct mtx a64_mtx_pool[A64_POOL_SIZE]; #define ATOMIC64_EMU_UN(op, rt, block, ret) \ rt \ - atomic_##op##_64(volatile uint64_t *p) { \ + atomic_##op##_64(const volatile uint64_t *p) { \ uint64_t tmp __unused; \ LOCK_A64(); \ block; \ From nobody Thu Jan 16 18:08:37 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrTM3mz8z5kl0n; Thu, 16 Jan 2025 18:08:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrTK706hz3Rx6; Thu, 16 Jan 2025 18:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/tyQV6jbimT7KVqtegxKOGqnqNz4cLqQu7U+Q9PDgEU=; b=Ti/Qjxv5ub/ixJj1MtKHvzQb3sje/uOZAgovtKpMIB3O2mnz8s6IDTlf5pXacpkT0eTqQ1 75bfJy0INEIR0SHh3FTR2DbYUNicP+ZdBoE8A8RJui+eAyV4tuOOWIZtJPN8FsynjAeiUE GjO+QVN26G3zp3oXRXiHOgxWK3NfeLiRDhcJcL9130Yv2w67BNFr+r1Q3LR93x79D3nn78 Ta2yibQ8Pu4uJhMZ+dEpTg2DvreiwgKUMphXsbWJMYBpYvilC2h7rDDZX0KzvnikPjqINA yYdrjp9gSW7aBJypTvZeoo/8GtBXL9iVhhKFzFpBKfiXDMwvGTEgJfTUDFj9TQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050918; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/tyQV6jbimT7KVqtegxKOGqnqNz4cLqQu7U+Q9PDgEU=; b=NF+FgUMQzrN9f7A65i02bMor/5hmf/IlKXi6Gy9CipVnvcjGn+YzuNJ5LnMHx/9delOll0 I73Wj0ufAfDNVgAbq7iuYtxbCLiHDwRX0EwGff8fGbWHAxLniNxPq+mPja+geeUgIqydyT iRYpfck8/fkNGdzLmm52S2mkd28A3LTW9eJSINeALRJ5GT0cJrr8ubBKOs3uekH37qB4u6 NRt/w0JunRKAYUkVYTjn2dfKrOHqgpPZj+1FUAiIvcuCGjI92oUCmnASi+QpAaPtBwv5jC UBwwCa/AzPh/zciBPlbQlC1NF3q8YB56U4WhbchIRVEHF1LmF7oRIm3zBJ+VqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050918; a=rsa-sha256; cv=none; b=pvJolSTWLXG5NMMfpW8RHSPc25qvYwo4mFM+P9HnjLUDZGJtvMT0TExcdSGIP5jul/NN9Q 29/wKhKZVr93Fpi9yAuMXru0OoM/HQ92ekaWwyryJWrqFE6E3UdQ8CH3pa4mMZg/VMAKI3 fnjwZaSukmCREsEoXb16NXtmN3OMD2aNDCf45Hp1hxkX1UTxvaPBbmz5JKviwMTDhmscG0 IgBXzKvH0Th2EyjHH1xmoVen0zlVAkUryKwAEu12UsoFNrHWSnT1PUav4J6rL4/iyAFMjC VjwvEQ6pP0J7B5ol6LESwv6JR+HDJkvu4bQUUvwtrKXxggMDY7ieLR/NZJufhw== 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 4YYrTK6DKjzkJT; Thu, 16 Jan 2025 18:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8bIV092806; Thu, 16 Jan 2025 18:08:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8bwu092803; Thu, 16 Jan 2025 18:08:37 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:37 GMT Message-Id: <202501161808.50GI8bwu092803@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: b14c0e102e78 - stable/14 - queue: Fix STAILQ_SWAP List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: b14c0e102e783c24795578df33b60319c6239481 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=b14c0e102e783c24795578df33b60319c6239481 commit b14c0e102e783c24795578df33b60319c6239481 Author: Mark Johnston AuthorDate: 2024-12-17 00:12:11 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:07:01 +0000 queue: Fix STAILQ_SWAP The debug assertions added in commit 34740937f7a4 do not hold for a window in STAILQ_SWAP, so check whether the queues are empty directly. Reported by: ler Fixes: 34740937f7a4 ("queue: New debug macros for STAILQ") (cherry picked from commit da2c88dfcf4f425e6e0a58d6df3a7c8e88d8df92) --- sys/sys/queue.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/sys/queue.h b/sys/sys/queue.h index fee6618ee88c..be862c7ce814 100644 --- a/sys/sys/queue.h +++ b/sys/sys/queue.h @@ -475,9 +475,9 @@ struct { \ (head1)->stqh_last = (head2)->stqh_last; \ STAILQ_FIRST(head2) = swap_first; \ (head2)->stqh_last = swap_last; \ - if (STAILQ_EMPTY(head1)) \ + if (STAILQ_FIRST(head1) == NULL) \ (head1)->stqh_last = &STAILQ_FIRST(head1); \ - if (STAILQ_EMPTY(head2)) \ + if (STAILQ_FIRST(head2) == NULL) \ (head2)->stqh_last = &STAILQ_FIRST(head2); \ } while (0) From nobody Thu Jan 16 18:08:38 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 4YYrTM4Zy0z5kkqZ; Thu, 16 Jan 2025 18:08:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrTL75WVz3S9F; Thu, 16 Jan 2025 18:08:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZluBAa/b1CRl939TqlDH6pRuqMI3oX+abs71MwhPE0Y=; b=W3TgLCBPHZ6CKa+6SYlkrlcJeGk8QJAYEI5O5P79JBc24MaZ9vWrUrGfZ1QpQ+03yeVL7/ AQy3RKfI8COz6sENepCv25J+X/GBNctVM1wYzk9i2YziUiDqfdnoluCATwUaEy5gPBCI5f CStSWaP6D9qY8k4JkRXZtFytqzWQe7n9k1RL8L2A54TRIewgySSh76d//PoQ6TnvqnyhWP NFoWL5YZkjRdh1LxEbmWZfufDKlq5czeVQS2PITpIgKOmpayN0DqgCavp3gRnTSp9I+dYM NmmL6lJCG112RB6+lCbfXSwb446ctTnvycgXup/ZjjFYMPnLaEWk13dzpPv5hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZluBAa/b1CRl939TqlDH6pRuqMI3oX+abs71MwhPE0Y=; b=FhojycVPeIawmuhDYxLl324rzA/tX3/AtXd34lT3nSu+hwm9EcxuTHj6ZWWR4HZ/JSNpsW gQcMQioyIGbQal3Y5aNiJUJAnVt9RWYnzTJfTr9QtqEGY0W0OdsAymDogrUmOtY/t3wULl dsbl8XLkQZ9uhM4pkVQ8JmVpaTiQRSAnp9JehWyZ690x3AgC7zWvNVtHhV3xPwSPiabwNK sO4aS1mFVF/QqiKoUW2wZ21X1z23A2QYkWtW5O3bltSe8SHl+rRGkPaNjUqJnwvPqySX0Q XiIqGh49hPyaVxqhmky/Gi6jg+IB5MBunHWvZOnH+QRuqeyN981tUGJePQTahg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050919; a=rsa-sha256; cv=none; b=RiAq6aXXqf+X1l0+Ay9HM4AbgwaOUsnvF+mpomB6Um3wTT2IuNyGXV7aACffl8gcUMYny5 3FYRC7C2vMpVdZHB7JlvVC4ckECLXGdbdQqPUzwk4D/TSsVDdoZE5dO50U603GJxwNaQnN 3X+X9+lVIrJD24zKKTsmC1xIggJqu1Q0ZfcChE4qCew/k5WEivwqQCmhKz9QTKkYvA9e/g 6H+jggWsP8J1mrFuFaJjap+CQ2zpAYfqZ5wq3EnDXzfzml4gjyz3y+YhMzzkGpY8JXTF+Z Bo6kNw/IrS2/uqrFAvgcVrt9a8cSD9ctyHQHNOXO8KXeL4DDEs7VRRPsk8vhyg== 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 4YYrTL6bKxzk1B; Thu, 16 Jan 2025 18:08:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8ckJ092862; Thu, 16 Jan 2025 18:08:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8c3X092859; Thu, 16 Jan 2025 18:08:38 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:38 GMT Message-Id: <202501161808.50GI8c3X092859@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: dd0fae3028d2 - stable/14 - atomic: Update interceptor function signatures after commit 5e9a82e898d5 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: dd0fae3028d22ec9e9c98172aedfde46c3534186 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=dd0fae3028d22ec9e9c98172aedfde46c3534186 commit dd0fae3028d22ec9e9c98172aedfde46c3534186 Author: Mark Johnston AuthorDate: 2024-12-17 14:05:00 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:07:01 +0000 atomic: Update interceptor function signatures after commit 5e9a82e898d5 Fixes: 5e9a82e898d5 ("atomics: Constify loads") (cherry picked from commit fa5f4c10a8ce457bc1c4276933fd7dd34d75f6d6) --- sys/kern/subr_asan.c | 2 +- sys/kern/subr_csan.c | 2 +- sys/kern/subr_msan.c | 2 +- sys/sys/atomic_san.h | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/kern/subr_asan.c b/sys/kern/subr_asan.c index c934ff83874e..51bf1f684c79 100644 --- a/sys/kern/subr_asan.c +++ b/sys/kern/subr_asan.c @@ -750,7 +750,7 @@ kasan_casueword(volatile u_long *base, u_long oldval, u_long *oldvalp, } #define _ASAN_ATOMIC_FUNC_LOAD(name, type) \ - type kasan_atomic_load_##name(volatile type *ptr) \ + type kasan_atomic_load_##name(const volatile type *ptr) \ { \ kasan_shadow_check((uintptr_t)ptr, sizeof(type), true, \ __RET_ADDR); \ diff --git a/sys/kern/subr_csan.c b/sys/kern/subr_csan.c index 368f8b6ba981..e8f0eeabbca6 100644 --- a/sys/kern/subr_csan.c +++ b/sys/kern/subr_csan.c @@ -441,7 +441,7 @@ kcsan_copyout(const void *kaddr, void *uaddr, size_t len) } #define _CSAN_ATOMIC_FUNC_LOAD(name, type) \ - type kcsan_atomic_load_##name(volatile type *ptr) \ + type kcsan_atomic_load_##name(const volatile type *ptr) \ { \ kcsan_access((uintptr_t)ptr, sizeof(type), false, true, \ __RET_ADDR); \ diff --git a/sys/kern/subr_msan.c b/sys/kern/subr_msan.c index b596443de2aa..07e894e4c3db 100644 --- a/sys/kern/subr_msan.c +++ b/sys/kern/subr_msan.c @@ -1220,7 +1220,7 @@ kmsan_casueword(volatile u_long *base, u_long oldval, u_long *oldvalp, } #define _MSAN_ATOMIC_FUNC_LOAD(name, type) \ - type kmsan_atomic_load_##name(volatile type *ptr) \ + type kmsan_atomic_load_##name(const volatile type *ptr) \ { \ kmsan_check_arg(sizeof(ptr), \ "atomic_load_" #name "():args"); \ diff --git a/sys/sys/atomic_san.h b/sys/sys/atomic_san.h index e22324b87623..93a9bfcbf593 100644 --- a/sys/sys/atomic_san.h +++ b/sys/sys/atomic_san.h @@ -65,10 +65,10 @@ type sp##_atomic_readandclear_##name(volatile type *) #define ATOMIC_SAN_LOAD(sp, name, type) \ - type sp##_atomic_load_##name(volatile type *) + type sp##_atomic_load_##name(const volatile type *) #define ATOMIC_SAN_LOAD_ACQ(sp, name, type) \ - type sp##_atomic_load_acq_##name(volatile type *) + type sp##_atomic_load_acq_##name(const volatile type *) #define ATOMIC_SAN_STORE(sp, name, type) \ void sp##_atomic_store_##name(volatile type *, type) From nobody Thu Jan 16 18:08:39 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YYrTP0Ch5z5kkmV; Thu, 16 Jan 2025 18:08:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YYrTN0vsRz3S9T; Thu, 16 Jan 2025 18:08:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lfY33TGrAI9aQ8nv9VruCPrwMSBjQYKtx7heAi1DhAo=; b=VX807GAUyuL9vzXoSd6GZqFouZq9kt5AderBKeo82EY9ZMrl38HN/FP3Aa8g46P39RIR3Q b76gqdp1i1+3vbLTn0C6AoGsfxrbPZZsmw47HF4kyQsLKmAAEP1Motl9yxneFew3WE0usD +gbTnyL+KApVGJhkbZZICuw+0hIgS70eWgCkaTIl3kj6u6TXOlVrw3Xf3/i2ZMe7HqSq1W G5+qwZwFKY6L0a30mY4ycAy0Ks49fLijVY/q2QXnMAsrf42H7xW1aeyDvzz2/v1tyTk5zo 8B96H8GxSfMIEsvOAkrGwgTnjQVEYfPJ1i2UUG9XMtvUYB6rckrFGNnu3XWPcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737050920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lfY33TGrAI9aQ8nv9VruCPrwMSBjQYKtx7heAi1DhAo=; b=pgqVrEVzKUhxwrVjfXkAliKtaywB/cpJoOMI74d+1mLLephzvNQtMtPkOnY4FI1cJyARJU RVTwS1M/TduZjYHwB23V7ufjraxFRflZDmPHreVTjvpMfb5FljAjf5XTrltd7qAK2Y4084 AHqhfF4weugYWf5Ndr+qAwjccgYlYordXNEN0uCPbMfL0T+8jap5SC1VufWtZbL2lRUrB3 GkYugu+gW7Ry8TeTqRP2mIavTGJATA8SF7bi54SzUGz3VHpqMTFXVIcZuWbSH4JLtgmP26 j+JZyico4ZcgxUSLteJo0OpMSjG4d2wiHJhzP0SgCN1FzlUTJcMeSvkQq+sPRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737050920; a=rsa-sha256; cv=none; b=hTcIWWrNNEztOd26dUAEbxUgbI2ECV7RI6kOEbV764ki+R4H4mToG5A6ZRaQielAXjuwCA a1xWKJDGbVfXY6YnWDrdtpChFGGsaROZmnXSQd9VvZCv+VF+zA1JPX1pmTCJYrm8DuJr/Y t538WnmVGwCwxxCsh0FyMEhcpsNvz4y695tzxE6iA8KNTPKkbl0WtMYHO1Vy293TzjxhKK IefqB4YeBuzxFRT3e+c4huf7vPAWq7cp7rCn2MA2ajSAKA8D83jJ0wZiN4TQBACw1al/3q /70PCb9JFyemtTFAxB8CY/Ql6UOkAOeBqt+Js37orNw/PKrpGu6bZBXdmGQRUw== 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 4YYrTN0T90zkKl; Thu, 16 Jan 2025 18:08:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50GI8d0G092913; Thu, 16 Jan 2025 18:08:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50GI8dpG092910; Thu, 16 Jan 2025 18:08:39 GMT (envelope-from git) Date: Thu, 16 Jan 2025 18:08:39 GMT Message-Id: <202501161808.50GI8dpG092910@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 76d0aed16439 - stable/14 - libprocstat: ZFS support: Makefile: Tidy up a bit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 76d0aed16439c58c4919973436400b067ad434cc Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=76d0aed16439c58c4919973436400b067ad434cc commit 76d0aed16439c58c4919973436400b067ad434cc Author: Olivier Certner AuthorDate: 2024-12-12 21:37:14 +0000 Commit: Olivier Certner CommitDate: 2025-01-16 18:07:02 +0000 libprocstat: ZFS support: Makefile: Tidy up a bit Regroup assignments tweaking preprocessor defines/undefs, and separately those about include directories. Re-order include directories a bit more logically, and remove redundant ones. Separate logical groups by blank lines. Build artifacts have been verified to stay the same when produced with an external LLVM 18 toolchain. MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48070 (cherry picked from commit 618c97b87b7124cdfb10d2f33a213c3302c8a98b) --- lib/libprocstat/zfs/Makefile | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/libprocstat/zfs/Makefile b/lib/libprocstat/zfs/Makefile index da689fdd3e81..10448b0bfab9 100644 --- a/lib/libprocstat/zfs/Makefile +++ b/lib/libprocstat/zfs/Makefile @@ -6,19 +6,23 @@ OBJS= zfs_defs.o WARNS?= 1 -CFLAGS+= -DIN_BASE -D__KERNEL__ -D_KERNEL -I. -I${.CURDIR} +# We fake a kernel compilation environment in order to get the definition for +# 'zpool_t'. +CFLAGS+= -DIN_BASE -D__KERNEL__ -D_KERNEL -UKLD_TIED -DKLD_MODULE +CFLAGS+= -DHAVE_ISSETUGID -D_SYS_VMEM_H_ + +CFLAGS+= -fno-builtin -nostdlib + +CFLAGS+= -I${.CURDIR} CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl -CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/ CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/zfs +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd CFLAGS+= -I${SRCTOP}/sys/contrib/ck/include - -CFLAGS+= -I${SRCTOP}/sys -I. -I.. CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include -CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h -CFLAGS+= -DHAVE_ISSETUGID -D_SYS_VMEM_H_ -UKLD_TIED -DKLD_MODULE +CFLAGS+= -I${SRCTOP}/sys -I. -I.. -CFLAGS+= -fno-builtin -nostdlib +CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h all: ${OBJS} CLEANFILES= ${OBJS} From nobody Fri Jan 17 12:26:52 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 4YZJrX3Qmdz5kvFc; Fri, 17 Jan 2025 12:26:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrX2k6bz3TJ5; Fri, 17 Jan 2025 12:26:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eVTZsqF/itWNyYr1y+CjRfYcAgVKRe5GzZkoSYn0FD4=; b=ZlSGYjmYTUzAtASaS1nCUyIBbqfDh7N1EBjSJgs2zdgH+ix4vcy2/JE0fN5d7f57naQUW1 3GFxaehLd4OyA4RN0ln7shFZnjdVQVoPjnA1X4AcIlumotWWGCyL/c72xHWQZxUj2B+ZdN AnidQArH2Kurli2JubFesKp4VPXkwHJAutUBW8TEsSTDGxJ/044u4BvFYcW3BBdJY49gvJ MZYEC6bHf6JWhqZFuQD3moM8uhM2wBrdOjzjH+fi2Ikw9P5qE8DbYC+D6wPOSNapR/bGaX v1lCdsG8bVnNGhq+YfwlV/WWe+ecHgMq5Exq4OdDFU+l1a7tbiIhIO1zRHz6kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eVTZsqF/itWNyYr1y+CjRfYcAgVKRe5GzZkoSYn0FD4=; b=Lz+QkelMTV+sXbvTNdf0I96SPl1/5pan6zmwmEVRj4D4P6h7pBxl+qhrRODl+Eujm9qGhA oPCOrIluMLJP3qxd2KYkFV+YZ9pV58qT/SC6onrrG6VchGc8bX7zSEkP2PkHNOL4rtDPJn vCa7u05Qsv8W60YKzZE33Xdls7GNhlQ+zZUuCnnVpffsHPMg5kSpqZ/8pHJR8orK2s4a6z y8+fvjhkS7/IdqF68rMAVeEbdeWVhCsh4SSxU/2VSfOWubEI4K6oX4uNxtQUCuj0cH8aO1 ZN3U3DbzXxeAAb+2jTyz/WwTJKZ+nbR721LXFQOEwTB72+bn1L3bX0DD8g0inQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116812; a=rsa-sha256; cv=none; b=rcLDMbJgtAsPQS8pyGX2ceF6/4i2I+B+h7iSS8BOO5Cc4vw4S7U/CM28SLIhyRCHwBI752 aWI5oIcEPDBsM28q8d5Aw84NWyLbBaXBHR0Fvt3m40Zppp+atT2DSr9MOJo+spPqwlpvOl OReVkjt49qyohahootR71e0wtRUiCfVwO0pIxAsdmTaO/VwGjjeQBXB8rHr03JgTqdF44n vqeOIdrbwTw0PmfKZDiPiGYX5LT4ydhnTNtVhfz/4KgLBeZPIJOjbrfqZHAgiQsO6Yw1TT n6UFYCmVhMhnUNQkqqxf/yOoix36heq51hfm6ZiAHINdZv4NJSfUC7uF3WjimA== 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 4YZJrX21f6z2p3; Fri, 17 Jan 2025 12:26:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCQqni051470; Fri, 17 Jan 2025 12:26:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCQq9C051467; Fri, 17 Jan 2025 12:26:52 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:26:52 GMT Message-Id: <202501171226.50HCQq9C051467@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 4078a7051ab1 - stable/13 - Open-code proc_set_cred_init() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4078a7051ab146d146e88720fac85ca164af2d4a Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=4078a7051ab146d146e88720fac85ca164af2d4a commit 4078a7051ab146d146e88720fac85ca164af2d4a Author: Olivier Certner AuthorDate: 2023-09-25 08:48:49 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:43 +0000 Open-code proc_set_cred_init() This function is to be called only when initializing a new process (so, 'proc0' and at fork), and not in any other circumstances. Setting the process' 'p_ucred' field to the result of crcowget() on the original credentials is the only thing it does, hiding the fact that the process' 'p_ucred' field is crushed by the call. Moreover, most of the code it executes is already encapsulated in crcowget(). To prevent misuse and improve code readability, just remove this function and replace it with a direct assignment to 'p_ucred'. Reviewed by: markj (earlier version), kib MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42255 (cherry picked from commit 92541c12bc25c59333d7f3b0721b6b16aaff3644) --- sys/kern/init_main.c | 2 +- sys/kern/kern_fork.c | 2 +- sys/kern/kern_prot.c | 11 ----------- sys/sys/ucred.h | 1 - 4 files changed, 2 insertions(+), 14 deletions(-) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 66db882ba4f3..f827000d9200 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -558,7 +558,7 @@ proc0_init(void *dummy __unused) curthread->td_ucred = NULL; newcred->cr_prison = &prison0; newcred->cr_users++; /* avoid assertion failure */ - proc_set_cred_init(p, newcred); + p->p_ucred = crcowget(newcred); newcred->cr_users--; crfree(newcred); #ifdef AUDIT diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 114eeeb2a943..413453f9bf8f 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -1049,7 +1049,7 @@ fork1(struct thread *td, struct fork_req *fr) * XXX: This is ugly; when we copy resource usage, we need to bump * per-cred resource counters. */ - proc_set_cred_init(newproc, td->td_ucred); + newproc->p_ucred = crcowget(td->td_ucred); /* * Initialize resource accounting for the child process. diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 482472025fdd..2dc5ecd00175 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2275,17 +2275,6 @@ cru2xt(struct thread *td, struct xucred *xcr) xcr->cr_pid = td->td_proc->p_pid; } -/* - * Set initial process credentials. - * Callers are responsible for providing the reference for provided credentials. - */ -void -proc_set_cred_init(struct proc *p, struct ucred *newcred) -{ - - p->p_ucred = crcowget(newcred); -} - /* * Change process credentials. * Callers are responsible for providing the reference for passed credentials diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index 876919f56fb1..f5e2757f7417 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -158,7 +158,6 @@ void crcopy(struct ucred *dest, struct ucred *src); struct ucred *crcopysafe(struct proc *p, struct ucred *cr); struct ucred *crdup(struct ucred *cr); void crextend(struct ucred *cr, int n); -void proc_set_cred_init(struct proc *p, struct ucred *cr); void proc_set_cred(struct proc *p, struct ucred *cr); void proc_unset_cred(struct proc *p); void crfree(struct ucred *cr); From nobody Fri Jan 17 12:26: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 4YZJrY4qQmz5kvFg; Fri, 17 Jan 2025 12:26: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 4YZJrY3HHjz3TNW; Fri, 17 Jan 2025 12:26:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CHJLGw/M+pMpGOmZcdBAKDud+2CX59ivhIeZon7b1Qo=; b=k5iVlmhjKQO/7t89ul8L4uUfnPlL6uUa5opIeNxbyjQ2fY90BRpF31Hylgd0gIsVZqg23Z TMQtKYw10eseeUh4xGQI+RR2G236sKRDHOTQkqzdTWTXgf9FK3fMnAyZTODimi1tOpFEjY cfFRB9ekWl03wrk5qwp7bTE47QrAlTtpU4fftQ27TBNVfDhq74HmVVBvqBhEXyajc/dmPU r20WOfSNDdGzTzCBjzPwvPUqCTVIvUct8p39SWk5VUyBbhws7KqisiErqWl85DA65DTfL0 tHKm4fyyUx1AQZe3CStxtq7lg9Sswz7AIYBHE5mtpB2acP9/lpZppf0TgdS+Mw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CHJLGw/M+pMpGOmZcdBAKDud+2CX59ivhIeZon7b1Qo=; b=H9h9iO/dXXCYlkGBdtnc7XIdQZjvL9HeQLWIwaWx+Qasr0Nl7SHLDazn9dOHttKzVcn6zA 1Tqn4A+++/aGT5sRR33d/A3tx9qR0oDP6cH7bkxfdhqHUr5cfS2kNubhNvciUWanwnF9xw gELI6QejFBocz0WmCXMEh/Rk1GvmaRZ0NRRDS5tRlr1iHsKeWZlOwFLoGc0HBhlJhmgyGa 4lkRef9wDOr90M5zxUvAmkk5cwy8HSpuGEt+HdRxyAWEDB8ahEjFH8OQRrglBB8FXtR3ev QC1nbcatvIAblamMFYjrTj7N+q71iCG2GLMkQ6QctOvrAgK+2oFjpjImTWyleQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116813; a=rsa-sha256; cv=none; b=Ps5FT5FXFLqLnFNWU7OF0tzJNQaNnzOWYGlk1QUs9Q3wgLprB9VcaH5OKjkhOHk27hpd63 +dhdrb8qk8QEwJcFqR2YyIvHEwj5OMwoXp7yefOwBNkjfzqoyjD9cqaZ8eH1cJO5DVHNlp 4f4SDODjOfL8fIU9ysp0UG8dp42EypiBw7pAaMbybAR/PeY8UTrZ84qUNgahDcP8Gv9u85 vNqpBY/COIND8KbuST9KAXCbZrKV6FTpKN5Ju0uPWx8VfHwZOETervgeG2IXDtMGmBagWN DEWmisKn4MJEkjP09mt4MlKHoIXd52n8fXkEaSYrqBKWjKT2JenKGbTGtgQ//g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YZJrY2dbyz2Wj; Fri, 17 Jan 2025 12:26: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 50HCQrLH051590; Fri, 17 Jan 2025 12:26:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCQrLG051587; Fri, 17 Jan 2025 12:26:53 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:26:53 GMT Message-Id: <202501171226.50HCQrLG051587@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 2d03e9cf8e2e - stable/13 - Add function to OSD to get values without taking the lock. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2d03e9cf8e2ee39da7dc01471e09f9895ccd304e Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=2d03e9cf8e2ee39da7dc01471e09f9895ccd304e commit 2d03e9cf8e2ee39da7dc01471e09f9895ccd304e Author: Stephen J. Kiernan AuthorDate: 2024-04-04 00:12:57 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:47 +0000 Add function to OSD to get values without taking the lock. There are some cases of OSD use where the value is only initialized once at a point where successive access of the value can be done so safely without the need to take the lock. Reviewed by: markj Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D44631 (cherry picked from commit 56b274213024957cea378d27393304ae5cc8ded9) --- sys/kern/kern_osd.c | 23 ++++++++++++++++------- sys/sys/osd.h | 5 +++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_osd.c b/sys/kern/kern_osd.c index 1b623d822cee..df5f771ac04e 100644 --- a/sys/kern/kern_osd.c +++ b/sys/kern/kern_osd.c @@ -293,25 +293,34 @@ osd_free_reserved(void **rsv) } void * -osd_get(u_int type, struct osd *osd, u_int slot) +osd_get_unlocked(u_int type, struct osd *osd, u_int slot) { - struct rm_priotracker tracker; void *value; - KASSERT(type >= OSD_FIRST && type <= OSD_LAST, ("Invalid type.")); - KASSERT(slot > 0, ("Invalid slot.")); - - rm_rlock(&osdm[type].osd_object_lock, &tracker); KASSERT(osdm[type].osd_destructors[slot - 1] != NULL, ("Unused slot.")); if (slot > osd->osd_nslots) { value = NULL; OSD_DEBUG("Slot doesn't exist (type=%u, slot=%u).", type, slot); } else { - value = osd->osd_slots[slot - 1]; + value = atomic_load_ptr(&osd->osd_slots[slot - 1]); OSD_DEBUG("Returning slot value (type=%u, slot=%u, value=%p).", type, slot, value); } + return (value); +} + +void * +osd_get(u_int type, struct osd *osd, u_int slot) +{ + struct rm_priotracker tracker; + void *value; + + KASSERT(type >= OSD_FIRST && type <= OSD_LAST, ("Invalid type.")); + KASSERT(slot > 0, ("Invalid slot.")); + + rm_rlock(&osdm[type].osd_object_lock, &tracker); + value = osd_get_unlocked(type, osd, slot); rm_runlock(&osdm[type].osd_object_lock, &tracker); return (value); } diff --git a/sys/sys/osd.h b/sys/sys/osd.h index 1c58c4fff8de..498cad5064f9 100644 --- a/sys/sys/osd.h +++ b/sys/sys/osd.h @@ -64,6 +64,7 @@ int osd_set_reserved(u_int type, struct osd *osd, u_int slot, void **rsv, void *value); void osd_free_reserved(void **rsv); void *osd_get(u_int type, struct osd *osd, u_int slot); +void *osd_get_unlocked(u_int type, struct osd *osd, u_int slot); void osd_del(u_int type, struct osd *osd, u_int slot); int osd_call(u_int type, u_int method, void *obj, void *data); @@ -79,6 +80,8 @@ void osd_exit(u_int type, struct osd *osd); osd_set_reserved(OSD_THREAD, &(td)->td_osd, (slot), (rsv), (value)) #define osd_thread_get(td, slot) \ osd_get(OSD_THREAD, &(td)->td_osd, (slot)) +#define osd_thread_get_unlocked(td, slot) \ + osd_get_unlocked(OSD_THREAD, &(td)->td_osd, (slot)) #define osd_thread_del(td, slot) do { \ KASSERT((td) == curthread, ("Not curthread.")); \ osd_del(OSD_THREAD, &(td)->td_osd, (slot)); \ @@ -98,6 +101,8 @@ void osd_exit(u_int type, struct osd *osd); osd_set_reserved(OSD_JAIL, &(pr)->pr_osd, (slot), (rsv), (value)) #define osd_jail_get(pr, slot) \ osd_get(OSD_JAIL, &(pr)->pr_osd, (slot)) +#define osd_jail_get_unlocked(pr, slot) \ + osd_get_unlocked(OSD_JAIL, &(pr)->pr_osd, (slot)) #define osd_jail_del(pr, slot) \ osd_del(OSD_JAIL, &(pr)->pr_osd, (slot)) #define osd_jail_call(pr, method, data) \ From nobody Fri Jan 17 12:26:54 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJrb0dWnz5kvHd; Fri, 17 Jan 2025 12:26:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrZ3ggyz3TFr; Fri, 17 Jan 2025 12:26:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vrJzSouAnyHt6iIhKeqjXZv01Zy1F6r9MKeCIXQkv6Q=; b=ID8MxSLrIMUqhW8ZuepR0QWZLljDi7dEs8PsXphiWzUtwpgJOKDLZzqjZb9tsBKkzFmwSP ut/UziK/30nfuKq5EL60vouGg0hue4UhSBmdiBMjEzw2ceHYhGJFAcX3+DcZLa0vGh3uYO yGcA7uBLgb5PRuU7TqFkj9zmxZUhIusTzNyRyz76OybvFl/kde3IpOzDtUvK9TR6BEAy/k uxwxRKalyyQKC6ZLd+kkRZ46/ZKKLK6CX7hi0bg8GuiFJGt++gYmWE8G4dCdZ0cDAp5iE8 dWSTzwAxSFseAtq1Rys3UIvtYf/nTOBTxsOlHn4DDawX0QCBO8ON6v0tZsYKYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vrJzSouAnyHt6iIhKeqjXZv01Zy1F6r9MKeCIXQkv6Q=; b=V/ENgWnc6VZkQu9zGaoQugmogfgKCvmjc0Ikbjdj17tB5x8GCHFsKZhCMGo280rBvzGE6l pDeIfjq76vcySlVxz7at+B0d7D35UOpReCIrJONAZeqZ1ZkfDfMgRjZwKqrOg1+2pNyGO+ AHDHOucdYh50HUrbi1Y5lVdLfUM00VA8U6p7/gkzLdi5V8dgA8nuh3+OsX5BZxVsj6uyEF ldXpzbjEGe+9+XDWgnQ3UrvOfjmqGkWtaWzXB/WRaYkeKWkBqmG7B3Tw+si5rJa4oP2Whf /h+5tib7pb59ZGIxFpfrO7rF0YmWHtS90hWOGifZlscZHyOgg17iZh1XuG50wQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116814; a=rsa-sha256; cv=none; b=Rp8a0AFv83fOPdma6obWEbkd84ZtEMnezwwN9gORBAC0K0Md/mZMnS2QSUWwHnoirqzfqj bstTyt1N0DXzCLnmAEJIuLBWbYJ54NNpw6lQXfiUkVIU/OS3BUbYOvnq3apfBWPPt6piOa PAaumbOEUbQwuj1lrzYm+baGzmsEotidqqQqBQD3XkjO2nN19ptDmSUi/ElODnSg0ZqSpZ XYEpMH+jZtH8Y1RVfjncFrPy11Cqwb/6Zcdq6giRt+4gRbTNtEinVMlrm9Ib1Mk8T2Hc9f jRmE+wVUvQclDwl2az+zcZUUNRChwcaxmQ44kbp25pXNRVuWYpM1OshaUzkWHg== 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 4YZJrZ3HhKz3BW; Fri, 17 Jan 2025 12:26: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 50HCQsT7051635; Fri, 17 Jan 2025 12:26:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCQsKN051632; Fri, 17 Jan 2025 12:26:54 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:26:54 GMT Message-Id: <202501171226.50HCQsKN051632@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 1c22ba23b015 - stable/13 - riscv: Implement atomic operations List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1c22ba23b015024fc473d5fd8ab45d29dd72a580 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=1c22ba23b015024fc473d5fd8ab45d29dd72a580 commit 1c22ba23b015024fc473d5fd8ab45d29dd72a580 Author: Ruslan Bukin AuthorDate: 2024-05-22 15:07:27 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:48 +0000 riscv: Implement atomic operations Implement atomic_load_acq_16, atomic_store_rel_16. These are needed by bhyve(8) PCIe bus emulation code. Group 16-bit atomic functions similarly to 32 and 64-bit. Reviewed by: mhorne Differential Revision: https://reviews.freebsd.org/D45228 (cherry picked from commit 2183004e14a863d65ca9192df1bea2625e3fdfb3) --- sys/riscv/include/atomic.h | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/sys/riscv/include/atomic.h b/sys/riscv/include/atomic.h index ef9aa5ef057d..03c1327d74da 100644 --- a/sys/riscv/include/atomic.h +++ b/sys/riscv/include/atomic.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2015 Ruslan Bukin + * Copyright (c) 2015-2024 Ruslan Bukin * All rights reserved. * * Portions of this software were developed by SRI International and the @@ -105,8 +105,6 @@ atomic_fcmpset_rel_##WIDTH(__volatile uint##WIDTH##_t *p, \ ATOMIC_CMPSET_ACQ_REL(8); ATOMIC_FCMPSET_ACQ_REL(8); -ATOMIC_CMPSET_ACQ_REL(16); -ATOMIC_FCMPSET_ACQ_REL(16); #define atomic_cmpset_char atomic_cmpset_8 #define atomic_cmpset_acq_char atomic_cmpset_acq_8 @@ -116,11 +114,40 @@ ATOMIC_FCMPSET_ACQ_REL(16); #define atomic_fcmpset_rel_char atomic_fcmpset_rel_8 #define atomic_cmpset_short atomic_cmpset_16 -#define atomic_cmpset_acq_short atomic_cmpset_acq_16 -#define atomic_cmpset_rel_short atomic_cmpset_rel_16 #define atomic_fcmpset_short atomic_fcmpset_16 + +ATOMIC_CMPSET_ACQ_REL(16); +ATOMIC_FCMPSET_ACQ_REL(16); + +#define atomic_load_acq_16 atomic_load_acq_16 +static __inline uint16_t +atomic_load_acq_16(volatile uint16_t *p) +{ + uint16_t ret; + + ret = *p; + + fence(); + + return (ret); +} + +static __inline void +atomic_store_rel_16(volatile uint16_t *p, uint16_t val) +{ + + fence(); + + *p = val; +} + +#define atomic_cmpset_acq_short atomic_cmpset_acq_16 #define atomic_fcmpset_acq_short atomic_fcmpset_acq_16 +#define atomic_load_acq_short atomic_load_acq_16 + +#define atomic_cmpset_rel_short atomic_cmpset_rel_16 #define atomic_fcmpset_rel_short atomic_fcmpset_rel_16 +#define atomic_store_rel_short atomic_store_rel_16 static __inline void atomic_add_32(volatile uint32_t *p, uint32_t val) From nobody Fri Jan 17 12:26:55 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJrc41KKz5kvFj; Fri, 17 Jan 2025 12:26:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrb60tYz3TLY; Fri, 17 Jan 2025 12:26:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w0iCT3frMAmEbZ5qY08KCoUOBW4E40spQRsWXvITiYs=; b=pBeFvdBRJS52jVFntbP1Hy4GtGc4lWbOBuK6xl2/BvsGaRAykMkBSeG9cnhWNjlmpY068X lGw1TKRXTeRZ+/H9PeW2cRhGrflmxBJrujzx+0l3hBw0VLxLmCMFPXpeuG6vzKnB7l8dmS pQuZRITz5FsoWpMpJXZ6d7scwwrXE9uVArEUrPxX9iTgzV9VDpvofP/pDgHpEdJU0Kvnqj TOdjXGNyuyIWaN3XHtgY883VBjUM3UU4s18POicpsmhkDJQNRXVuXzXMGHZ7Cf2W9C51a/ qgctt6HEQcwjazuO8oHK1rh3E+vuDLHDAGVsDTubA6+QFKeCkIluhNR0uok39w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w0iCT3frMAmEbZ5qY08KCoUOBW4E40spQRsWXvITiYs=; b=w7KPkgFluj42X+xx5Hju4tz5NdopD3ZEHS4A82Puj1AAnOYzQ7O+4qKZp5SxRVDkb5iNLA appmIe+1CXTbeoRmn6DoOPCWvBnVlL/QAoMAOfceShUNyzBss6grbcANz5F2nuLF27A7SE bQzzZQyj8ZF1bnThgFbSADjCbapanTyq0TvXArWZuWTU7Hr4CawQzE4wOeulH7DdkxUvmC /pSb0B3Hd9wVm4FGevD/Bsp3itWDnpDQGHcqPpuKNAEmCOFm+hVDovcnnImW90f1x3F2eT bwAKARHXQyVK644P7mDOD1M6onx7zTUP3TyvzVcV7PTix5n4dTN/8md7MjnkMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116815; a=rsa-sha256; cv=none; b=drcaNYMQGRUKGWP7U3C4Gm29DLuamc6o7ff7rGnxYxCECLL/mZzLMda+hFBEeAThkyrZIh S/XfST42jWkK4+d1O+ElI6dPd0v/M2kPC6mm07mYZefVXYMiM1sEONSsVvEFrSKkP8Oxvi rJJsOvPToJ9AGJA3irV6v0D5Ygx8cJB6W8e3hzrar+nPPjBa4HvoJXYDhPvKaLKu40wO9F XKwzjVAuutuHVIEW7dS1slPu4xqow5TpwGnamIaL+RIbsJj73dt9fhVl8X58QOHxwW8uf5 FXGLrbusSx+QQivbslURzvvxG7Y0/nTJxV7irDw1Srxxe/xJBeFVwul2drQNrQ== 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 4YZJrb4KdJz2Wk; Fri, 17 Jan 2025 12:26:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCQtOv051678; Fri, 17 Jan 2025 12:26:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCQtFU051675; Fri, 17 Jan 2025 12:26:55 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:26:55 GMT Message-Id: <202501171226.50HCQtFU051675@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 08eab7b3eb49 - stable/13 - osd: Constify signature of osd_register() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 08eab7b3eb49034add710863760acc8406649eed Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=08eab7b3eb49034add710863760acc8406649eed commit 08eab7b3eb49034add710863760acc8406649eed Author: Olivier Certner AuthorDate: 2024-07-01 17:10:47 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:48 +0000 osd: Constify signature of osd_register() This makes it clear that 'methods' (if not NULL) points to an array that won't be modified. Internally, this array is indeed copied into the given OSD type's larger array of all methods for all slots. Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46886 (cherry picked from commit 4a26b63145a5e18610aa9050262e3b4f75aa7117) --- share/man/man9/osd.9 | 4 ++-- sys/kern/kern_osd.c | 2 +- sys/sys/osd.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/share/man/man9/osd.9 b/share/man/man9/osd.9 index 82f279ef17f4..22fa2d681e3b 100644 --- a/share/man/man9/osd.9 +++ b/share/man/man9/osd.9 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 26, 2016 +.Dd October 07, 2024 .Dt OSD 9 .Os .Sh NAME @@ -49,7 +49,7 @@ .Fo osd_register .Fa "u_int type" .Fa "osd_destructor_t destructor" -.Fa "osd_method_t *methods" +.Fa "const osd_method_t *methods" .Fc .Ft void .Fo osd_deregister diff --git a/sys/kern/kern_osd.c b/sys/kern/kern_osd.c index df5f771ac04e..553d809259d1 100644 --- a/sys/kern/kern_osd.c +++ b/sys/kern/kern_osd.c @@ -91,7 +91,7 @@ osd_default_destructor(void *value __unused) } int -osd_register(u_int type, osd_destructor_t destructor, osd_method_t *methods) +osd_register(u_int type, osd_destructor_t destructor, const osd_method_t *methods) { void *newptr; u_int i, m; diff --git a/sys/sys/osd.h b/sys/sys/osd.h index 498cad5064f9..5d59ce5a3d9a 100644 --- a/sys/sys/osd.h +++ b/sys/sys/osd.h @@ -55,7 +55,7 @@ typedef void (*osd_destructor_t)(void *value); typedef int (*osd_method_t)(void *obj, void *data); int osd_register(u_int type, osd_destructor_t destructor, - osd_method_t *methods); + const osd_method_t *methods); void osd_deregister(u_int type, u_int slot); int osd_set(u_int type, struct osd *osd, u_int slot, void *value); From nobody Fri Jan 17 12:26:57 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 4YZJrf2Y7Sz5kvXW; Fri, 17 Jan 2025 12:26:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrd6ncqz3TNs; Fri, 17 Jan 2025 12:26:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LvasjVzld3Ioj3Yvi4+R9CPUDaxDTab1shwAJ9Pp7X0=; b=Jsw2aNlApo5aS6nMDa0j1AIDP3mBkYIUhQOjO7AZ1cM2CHyKRr0oDi3O6KcRCu10td+niF kr3n38+7GtfGwMB8DerpeK/Ef47WJiAM/MO5Tm9Lx99/XMQs8rVahLB+Ync63iRdllrv5l 4uyTMY1vuYe1UMKVOPJrfI/td/rMnuXZD0IXZTPQ69+fhjxCnGa53jXiVwtGfeqgOPHHMu B5KbJ9QRtNp6WJ/g2jUDhr+J268ejl8l+GOeJ1p1tJp7FrqD3HNk6Onu8ZRcGi+aeEbaaP 6/UYQonG4qaBj4w1X+CpOLFfJGK6k6njMnuvvE4I+8j76Ssc8dk117CTZMRsVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LvasjVzld3Ioj3Yvi4+R9CPUDaxDTab1shwAJ9Pp7X0=; b=UvwE9hthDMTgPDw3rrrosGfOFIkI3Y/R4TgrpgCCyRyRDZDV0hxTDy8ghEyOTkT4szKyla qVH40hnWFKmmEL0+RS3OIMTEcWUxR+4rnCB+hjbE8RvmU/dcbrnc+zutq0z6MrnI99hC66 RjPY+XFzxC2P5HagulVDoCKYKYrwquKWsjZDVzXBFUa0hZchivOz0t4dmQztn6NMqZbVrr 6CVKMv6MqItEn7pCZaJoOOajgIaO97MSsnf0fnzVs5YEl8zsAsrB59RouMsucp69Z9FhV0 9aL5gDBuF/YmVH4T4Pzt7g2HwWA66kz/07q7iK9/iPZnhOWfGTGz60+1qkz2Fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116818; a=rsa-sha256; cv=none; b=JYYpVt0MKEItJLvQqU7VMrjRi2FmgOKVB0jMGFVKv80eJCPDiWF8WzTwX4IouNhIhkv8yv Pz28NeoNuNJ6S7VzB2hYj9xaI1ERgc2eTTsqmZ5YwnZjAOTk7jntyeS6W4bvl1gJF3wQWR L4ZVWYYTAJbh78LEztyRnmvsT3xJMkUajQFk0x5ugfRSEg6TyorGCx9o2CWnMxkKsYz7Pe GqBV3sgCGi193GpNyGYpvRbm1SW5fVOZzMnSkI1uE4OBWVMWeTOCj8/A7gE7xe48LPL0MW pbqNfk5oRyDj7k40VKagjMEbFj2GkgiiY78ZIrPByajb6d31+NmxOQnij6Aa8w== 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 4YZJrd6JKVz38D; Fri, 17 Jan 2025 12:26:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCQvOW051791; Fri, 17 Jan 2025 12:26:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCQvti051788; Fri, 17 Jan 2025 12:26:57 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:26:57 GMT Message-Id: <202501171226.50HCQvti051788@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: a8be157c098d - stable/13 - refcount: Constify refcount_load() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a8be157c098d675e2d1419174edf3b1474fa075b Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=a8be157c098d675e2d1419174edf3b1474fa075b commit a8be157c098d675e2d1419174edf3b1474fa075b Author: Olivier Certner AuthorDate: 2024-07-19 15:23:45 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:48 +0000 refcount: Constify refcount_load() Reviewed by: markj Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46888 (cherry picked from commit 9dc5b3dbb063f55543ff8a0619eee2e294fb7dc5) --- sys/sys/refcount.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/refcount.h b/sys/sys/refcount.h index 212e8e516271..58d4ec573931 100644 --- a/sys/sys/refcount.h +++ b/sys/sys/refcount.h @@ -65,7 +65,7 @@ refcount_init(volatile u_int *count, u_int value) } static __inline u_int -refcount_load(volatile u_int *count) +refcount_load(volatile const u_int *count) { return (atomic_load_int(count)); } From nobody Fri Jan 17 12:26:56 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJrd2KsXz5kvcF; Fri, 17 Jan 2025 12:26:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrc65K7z3TNm; Fri, 17 Jan 2025 12:26:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hND496IS1poo2RM8wQcAUaQh7CGao0RtoZbGPu7YPJQ=; b=Vti4j8mRkDeWrsudYqYQvMWsaGpzQfMgPHdb4ccgH0nzjDZjEWMus8ib3Q5246Px7GUVj7 zMhITDD+vit2xGVXjFbCMWun0J9qNJ/HI8XM3hfXy/0WT0MiAQ9orgnHceBZib+qnpeTO1 lQBhyxVvAPvdb4j8AkLCjZyhjF9vXPpvbzsKvwtlG0DKuXPMGYNdcQ7nON6pq2VRbt07/m 9rgTACW3ISjsJ5GzPOHIivfTo3FXS53kdQAI/SO0kRMxNlgAx+JiQDe+x49pWlH3a2fspe qVvSV/DGmudeBBCTO8n3yK7JRLbTNOfMcmefSb+x5Lkn5q6+D8NUNrofLmFLrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hND496IS1poo2RM8wQcAUaQh7CGao0RtoZbGPu7YPJQ=; b=on5/pmgo30bOEVRFanM8r+GfSaiEJceqgBzabi4Tw7VIeR4WMzQ9jnDHFav/TlgsGDwKiT TqWIJLtpfZcpvEsWMC9edYO/MGHbyMZz+x3t7VwnJgc3YkszRVLDWHVB9mY7k8hlFIuCw1 xpj0ofGEcq/bETlaJymftTz83/ooBoyqlM25OMG57a3LQ8TADzx/grUnKQDkaIzzq2FVcJ XDIQj31Qu5/VbU3meoqlki8bjcwAFRom3X8hp74b2K7S18yOhb2PcCLDP8Nu3GUMtvDX+u o31VQy5LK8nLRoFmuCP/jwhi3/KuDoyCiiATLWj85XfVGgYEIgaultinOKvfvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116816; a=rsa-sha256; cv=none; b=NvFnrhqmmLmKI3LY6CNC3JmZA9VrP8yMa1/JYyUJG6O9EJ45xwxd7xzmnvfqGiNpU/0tBC lZpGPtEpmSRoLvegrehyJn7AVUKv2AmOwr1TDnPX6H2eFGyTAVstoWsA/nsmx/2+ekskEb 3+JI9pJGOxnvc2OJi3Mp2UuInHik12wMAEBWc9SjCGCe/bD1Ux9q5FM3WBBUekC5fD0qRP bqKRUV0sT4+K5bMKFuWzGZsF1rPl2xwP9g0fhxoE4jTrnnrBQ24EVcJaq5PuAWsRMCRn7w x4+xkBl1sBp9BZalTEqP2AF6Y15mgotZ8+ja5hO2UVoc55GM5rzY6EjM86a26g== 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 4YZJrc5LHQz2rW; Fri, 17 Jan 2025 12:26:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCQuvs051755; Fri, 17 Jan 2025 12:26:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCQuCv051752; Fri, 17 Jan 2025 12:26:56 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:26:56 GMT Message-Id: <202501171226.50HCQuCv051752@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: e6e9e70e51d9 - stable/13 - atomics: Constify loads List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e6e9e70e51d987c54535b8714dc040fae68ac148 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=e6e9e70e51d987c54535b8714dc040fae68ac148 commit e6e9e70e51d987c54535b8714dc040fae68ac148 Author: Olivier Certner AuthorDate: 2024-07-19 15:23:19 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:48 +0000 atomics: Constify loads In order to match reality, allow using these functions with pointers on const objects, and bring us closer to C11. Remove the '+' modifier in the atomic_load_acq_64_i586()'s inline asm statement's constraint for '*p' (the value to load). CMPXCHG8B always writes back some value, even when the value exchange does not happen in which case what was read is written back. atomic_load_acq_64_i586() further takes care of the operation atomically writing back the same value that was read in any case. All in all, this makes the inline asm's write back undetectable by any other code, whether executing on other CPUs or code on the same CPU before and after the call to atomic_load_acq_64_i586(), except for the fact that CMPXCHG8B will trigger a #GP(0) if the memory address is part of a read-only mapping. This unfortunate property is however out of scope of the C abstract machine, and in particular independent of whether the 'uint64_t' pointed to is declared 'const' or not. Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46887 (cherry picked from commit 5e9a82e898d55816c366cfa3ffbca84f02569fe5) --- sys/amd64/include/atomic.h | 2 +- sys/arm/include/atomic-v6.h | 8 ++++---- sys/arm64/include/atomic.h | 2 +- sys/i386/include/atomic.h | 28 ++++++++++++++++------------ sys/powerpc/include/atomic.h | 6 +++--- sys/riscv/include/atomic.h | 4 ++-- sys/sys/_atomic64e.h | 2 +- sys/sys/_atomic_subword.h | 4 ++-- sys/sys/atomic_common.h | 20 ++++++++++---------- 9 files changed, 40 insertions(+), 36 deletions(-) diff --git a/sys/amd64/include/atomic.h b/sys/amd64/include/atomic.h index 399d4ce62daa..c1816ac4fb8b 100644 --- a/sys/amd64/include/atomic.h +++ b/sys/amd64/include/atomic.h @@ -335,7 +335,7 @@ __storeload_barrier(void) #define ATOMIC_LOAD(TYPE) \ static __inline u_##TYPE \ -atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ +atomic_load_acq_##TYPE(const volatile u_##TYPE *p) \ { \ u_##TYPE res; \ \ diff --git a/sys/arm/include/atomic-v6.h b/sys/arm/include/atomic-v6.h index c7a4de4b7e7d..ae844296f09f 100644 --- a/sys/arm/include/atomic-v6.h +++ b/sys/arm/include/atomic-v6.h @@ -614,7 +614,7 @@ atomic_fetchadd_long(volatile u_long *p, u_long val) } static __inline uint32_t -atomic_load_acq_32(volatile uint32_t *p) +atomic_load_acq_32(const volatile uint32_t *p) { uint32_t v; @@ -624,7 +624,7 @@ atomic_load_acq_32(volatile uint32_t *p) } static __inline uint64_t -atomic_load_64(volatile uint64_t *p) +atomic_load_64(const volatile uint64_t *p) { uint64_t ret; @@ -643,7 +643,7 @@ atomic_load_64(volatile uint64_t *p) } static __inline uint64_t -atomic_load_acq_64(volatile uint64_t *p) +atomic_load_acq_64(const volatile uint64_t *p) { uint64_t ret; @@ -653,7 +653,7 @@ atomic_load_acq_64(volatile uint64_t *p) } static __inline u_long -atomic_load_acq_long(volatile u_long *p) +atomic_load_acq_long(const volatile u_long *p) { u_long v; diff --git a/sys/arm64/include/atomic.h b/sys/arm64/include/atomic.h index c2a8caceeb64..72fae5703fb7 100644 --- a/sys/arm64/include/atomic.h +++ b/sys/arm64/include/atomic.h @@ -457,7 +457,7 @@ _ATOMIC_TEST_OP(set, orr, set) #define _ATOMIC_LOAD_ACQ_IMPL(t, w, s) \ static __inline uint##t##_t \ -atomic_load_acq_##t(volatile uint##t##_t *p) \ +atomic_load_acq_##t(const volatile uint##t##_t *p) \ { \ uint##t##_t ret; \ \ diff --git a/sys/i386/include/atomic.h b/sys/i386/include/atomic.h index 96fcfcaed2c7..2ccd206a35ec 100644 --- a/sys/i386/include/atomic.h +++ b/sys/i386/include/atomic.h @@ -289,7 +289,7 @@ atomic_testandclear_int(volatile u_int *p, u_int v) #define ATOMIC_LOAD(TYPE) \ static __inline u_##TYPE \ -atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ +atomic_load_acq_##TYPE(const volatile u_##TYPE *p) \ { \ u_##TYPE res; \ \ @@ -342,8 +342,8 @@ atomic_thread_fence_seq_cst(void) #ifdef WANT_FUNCTIONS int atomic_cmpset_64_i386(volatile uint64_t *, uint64_t, uint64_t); int atomic_cmpset_64_i586(volatile uint64_t *, uint64_t, uint64_t); -uint64_t atomic_load_acq_64_i386(volatile uint64_t *); -uint64_t atomic_load_acq_64_i586(volatile uint64_t *); +uint64_t atomic_load_acq_64_i386(const volatile uint64_t *); +uint64_t atomic_load_acq_64_i586(const volatile uint64_t *); void atomic_store_rel_64_i386(volatile uint64_t *, uint64_t); void atomic_store_rel_64_i586(volatile uint64_t *, uint64_t); uint64_t atomic_swap_64_i386(volatile uint64_t *, uint64_t); @@ -393,12 +393,12 @@ atomic_fcmpset_64_i386(volatile uint64_t *dst, uint64_t *expect, uint64_t src) } static __inline uint64_t -atomic_load_acq_64_i386(volatile uint64_t *p) +atomic_load_acq_64_i386(const volatile uint64_t *p) { - volatile uint32_t *q; + const volatile uint32_t *q; uint64_t res; - q = (volatile uint32_t *)p; + q = (const volatile uint32_t *)p; __asm __volatile( " pushfl ; " " cli ; " @@ -487,8 +487,12 @@ atomic_fcmpset_64_i586(volatile uint64_t *dst, uint64_t *expect, uint64_t src) return (res); } +/* + * Architecturally always writes back some value to '*p' so will trigger + * a #GP(0) on read-only mappings. + */ static __inline uint64_t -atomic_load_acq_64_i586(volatile uint64_t *p) +atomic_load_acq_64_i586(const volatile uint64_t *p) { uint64_t res; @@ -496,9 +500,9 @@ atomic_load_acq_64_i586(volatile uint64_t *p) " movl %%ebx,%%eax ; " " movl %%ecx,%%edx ; " " lock; cmpxchg8b %1" - : "=&A" (res), /* 0 */ - "+m" (*p) /* 1 */ - : : "memory", "cc"); + : "=&A" (res) /* 0 */ + : "m" (*p) /* 1 */ + : "memory", "cc"); return (res); } @@ -554,7 +558,7 @@ atomic_fcmpset_64(volatile uint64_t *dst, uint64_t *expect, uint64_t src) } static __inline uint64_t -atomic_load_acq_64(volatile uint64_t *p) +atomic_load_acq_64(const volatile uint64_t *p) { if ((cpu_feature & CPUID_CX8) == 0) @@ -893,7 +897,7 @@ u_long atomic_swap_long(volatile u_long *p, u_long v); #define atomic_subtract_rel_ptr(p, v) \ atomic_subtract_rel_int((volatile u_int *)(p), (u_int)(v)) #define atomic_load_acq_ptr(p) \ - atomic_load_acq_int((volatile u_int *)(p)) + atomic_load_acq_int((const volatile u_int *)(p)) #define atomic_store_rel_ptr(p, v) \ atomic_store_rel_int((volatile u_int *)(p), (v)) #define atomic_cmpset_ptr(dst, old, new) \ diff --git a/sys/powerpc/include/atomic.h b/sys/powerpc/include/atomic.h index e326f5aaabfb..ef42def6fa5e 100644 --- a/sys/powerpc/include/atomic.h +++ b/sys/powerpc/include/atomic.h @@ -506,7 +506,7 @@ atomic_readandclear_long(volatile u_long *addr) */ #define ATOMIC_STORE_LOAD(TYPE) \ static __inline u_##TYPE \ -atomic_load_acq_##TYPE(volatile u_##TYPE *p) \ +atomic_load_acq_##TYPE(const volatile u_##TYPE *p) \ { \ u_##TYPE v; \ \ @@ -538,10 +538,10 @@ ATOMIC_STORE_LOAD(long) #define atomic_store_rel_ptr atomic_store_rel_long #else static __inline u_long -atomic_load_acq_long(volatile u_long *addr) +atomic_load_acq_long(const volatile u_long *addr) { - return ((u_long)atomic_load_acq_int((volatile u_int *)addr)); + return ((u_long)atomic_load_acq_int((const volatile u_int *)addr)); } static __inline void diff --git a/sys/riscv/include/atomic.h b/sys/riscv/include/atomic.h index 03c1327d74da..32ceb9a6341d 100644 --- a/sys/riscv/include/atomic.h +++ b/sys/riscv/include/atomic.h @@ -121,7 +121,7 @@ ATOMIC_FCMPSET_ACQ_REL(16); #define atomic_load_acq_16 atomic_load_acq_16 static __inline uint16_t -atomic_load_acq_16(volatile uint16_t *p) +atomic_load_acq_16(const volatile uint16_t *p) { uint16_t ret; @@ -284,7 +284,7 @@ ATOMIC_CMPSET_ACQ_REL(32); ATOMIC_FCMPSET_ACQ_REL(32); static __inline uint32_t -atomic_load_acq_32(volatile uint32_t *p) +atomic_load_acq_32(const volatile uint32_t *p) { uint32_t ret; diff --git a/sys/sys/_atomic64e.h b/sys/sys/_atomic64e.h index f7245dafb98a..82fe817f307b 100644 --- a/sys/sys/_atomic64e.h +++ b/sys/sys/_atomic64e.h @@ -55,7 +55,7 @@ int atomic_fcmpset_64(volatile u_int64_t *, u_int64_t *, u_int64_t); u_int64_t atomic_fetchadd_64(volatile u_int64_t *, u_int64_t); -u_int64_t atomic_load_64(volatile u_int64_t *); +u_int64_t atomic_load_64(const volatile u_int64_t *); #define atomic_load_acq_64 atomic_load_64 void atomic_readandclear_64(volatile u_int64_t *); diff --git a/sys/sys/_atomic_subword.h b/sys/sys/_atomic_subword.h index dc1b2f23e731..491b869b46c4 100644 --- a/sys/sys/_atomic_subword.h +++ b/sys/sys/_atomic_subword.h @@ -176,7 +176,7 @@ atomic_fcmpset_16(__volatile uint16_t *addr, uint16_t *old, uint16_t val) #ifndef atomic_load_acq_8 static __inline uint8_t -atomic_load_acq_8(volatile uint8_t *p) +atomic_load_acq_8(const volatile uint8_t *p) { int shift; uint8_t ret; @@ -189,7 +189,7 @@ atomic_load_acq_8(volatile uint8_t *p) #ifndef atomic_load_acq_16 static __inline uint16_t -atomic_load_acq_16(volatile uint16_t *p) +atomic_load_acq_16(const volatile uint16_t *p) { int shift; uint16_t ret; diff --git a/sys/sys/atomic_common.h b/sys/sys/atomic_common.h index 83e0d5af583d..e03cd93c2d4a 100644 --- a/sys/sys/atomic_common.h +++ b/sys/sys/atomic_common.h @@ -36,18 +36,18 @@ #include -#define __atomic_load_bool_relaxed(p) (*(volatile _Bool *)(p)) +#define __atomic_load_bool_relaxed(p) (*(const volatile _Bool *)(p)) #define __atomic_store_bool_relaxed(p, v) \ (*(volatile _Bool *)(p) = (_Bool)(v)) -#define __atomic_load_char_relaxed(p) (*(volatile u_char *)(p)) -#define __atomic_load_short_relaxed(p) (*(volatile u_short *)(p)) -#define __atomic_load_int_relaxed(p) (*(volatile u_int *)(p)) -#define __atomic_load_long_relaxed(p) (*(volatile u_long *)(p)) -#define __atomic_load_8_relaxed(p) (*(volatile uint8_t *)(p)) -#define __atomic_load_16_relaxed(p) (*(volatile uint16_t *)(p)) -#define __atomic_load_32_relaxed(p) (*(volatile uint32_t *)(p)) -#define __atomic_load_64_relaxed(p) (*(volatile uint64_t *)(p)) +#define __atomic_load_char_relaxed(p) (*(const volatile u_char *)(p)) +#define __atomic_load_short_relaxed(p) (*(const volatile u_short *)(p)) +#define __atomic_load_int_relaxed(p) (*(const volatile u_int *)(p)) +#define __atomic_load_long_relaxed(p) (*(const volatile u_long *)(p)) +#define __atomic_load_8_relaxed(p) (*(const volatile uint8_t *)(p)) +#define __atomic_load_16_relaxed(p) (*(const volatile uint16_t *)(p)) +#define __atomic_load_32_relaxed(p) (*(const volatile uint32_t *)(p)) +#define __atomic_load_64_relaxed(p) (*(const volatile uint64_t *)(p)) #define __atomic_store_char_relaxed(p, v) \ (*(volatile u_char *)(p) = (u_char)(v)) @@ -124,7 +124,7 @@ __atomic_store_generic(p, v, int64_t, uint64_t, 64) #endif -#define atomic_load_ptr(p) (*(volatile __typeof(*p) *)(p)) +#define atomic_load_ptr(p) (*(const volatile __typeof(*p) *)(p)) #define atomic_store_ptr(p, v) (*(volatile __typeof(*p) *)(p) = (v)) /* From nobody Fri Jan 17 12:26:58 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJrh1ZT3z5kvXb; Fri, 17 Jan 2025 12:27:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrg0VVkz3T7K; Fri, 17 Jan 2025 12:26:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TRIEomBm023vyiZB33Vj/CZtDMubiu95e10P7pv2ons=; b=ysX4Dn3jUKtOSejME4sWXZM0l3Vaf4QVW7Op6XfL1mpMXmyqw800+cO5/SClwSPuBlT/oj T7WZQkXKrjzOjwdNUP5BzMb40SJWEq7oL0tyyf0VC/LluHFSkU95v4NtjWGtu+YO7NGGlp 1DAJR6S44pyKl4HfNeM9E/lX/YRcb0RwVf7xKXheqNWHmQ0V/yEnBRr/LQHyt0DovI7SHT K6A1yTG8NUgxoRYD6IELzqYg5bfL4DaFK7wKWTUkYESg/eyBNrHyrKbzMfCq6p4vUTNTRK CX0HPIeotJ6cGYL3ZyG7J8IdXsiZg7VeSlP/cTCABmshvyy/07vTa/humxgDqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116819; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TRIEomBm023vyiZB33Vj/CZtDMubiu95e10P7pv2ons=; b=U82Rk4iIH4LZBccUJbgeuWTpoTk5+x4+JubRfVklgnWzuA7627qXLcxUhobPilv283jNKg O/MNw7+o1gv//tG3sucbLKE0634Uc5QNkJ5UBkHFRNAnUlko/WJFYBUmK7sYImuAJiRPcz Io4dVIMskPAzPkzlAhCZ9fsUkwRaslLO2zqNGhtZB8MQBRzIw8rIP+o53sPiQzDShjX2Ba 9iZOx0nIGeeDVTSn0gt6DIZahRzSOevjgiTNpZQuXaRhsYv+BxET7CwmNFA6PrzsFhcF7x +kN+yvAnRMuTPYM5Kb/YFtlToqh2r8E88sXNn86N97Vu6t8UD0QnPPsTksUmlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116819; a=rsa-sha256; cv=none; b=NsfMIasyzFdd0LWqkPbRmIkWEFWFZvbL6J2mDA2aTizqywHxNsadkjxmhwRkEs4GcRaenN AKIuG9t9hB6ljiRETdlAZl6D0O+qXlEed6SQG37PXpyH+5AECN08oRBhemV1LminW7K2wO vESchFTueb4U4ZV79Oqh+01v8aqXDHwC4NELsUALu5F4zl8ppa4l3VPwAd41z65B62VywF UCyHe9B4yhU+ryPWCiMtApMCa+sNlA+2ykXqLtRqTy+7vhhx8UcVEvTK8vEt9ZXGvjxfkY 5exXAkZRZERtKtyvwVUiNuhDe0u5FU/BMgatsEiKwL0yPWei6n20Wi2sZyHfvA== 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 4YZJrg04D7z33L; Fri, 17 Jan 2025 12:26: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 50HCQwvj051836; Fri, 17 Jan 2025 12:26:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCQw1i051833; Fri, 17 Jan 2025 12:26:58 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:26:58 GMT Message-Id: <202501171226.50HCQw1i051833@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 229e81dd12fd - stable/13 - queue: New debug macros for STAILQ List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 229e81dd12fd7dca2077c143ff50742e8600bf36 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=229e81dd12fd7dca2077c143ff50742e8600bf36 commit 229e81dd12fd7dca2077c143ff50742e8600bf36 Author: Olivier Certner AuthorDate: 2024-07-08 16:15:49 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:49 +0000 queue: New debug macros for STAILQ The new STAILQ_ASSERT_EMPTY() macro allows callers to assert that some STAILQ is empty. It leverages the new QMD_STAILQ_CHECK_EMPTY() internal macro. QMD_STAILQ_CHECK_EMPTY() is a check for empty STAILQ, where heads's 'stqh_last' field must point to the 'stqh_first' one. Use it in STAILQ_ASSERT_EMPTY(). QMD_STAILQ_CHECK_TAIL() checks that the tail pointed by 'head' does not have a next element. It is similar to the already existing QMD_TAILQ_CHECK_TAIL(), but without the superfluous 'field' argument and clearer documentation. Use it in STAILQ_INSERT_TAIL(). Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46889 (cherry picked from commit 34740937f7a46c7475bb57e804701ba8830bf6ed) --- sys/sys/queue.h | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/sys/sys/queue.h b/sys/sys/queue.h index 8e91ebf7949d..4e0ba068c520 100644 --- a/sys/sys/queue.h +++ b/sys/sys/queue.h @@ -340,6 +340,40 @@ struct { \ /* * Singly-linked Tail queue functions. */ +#if (defined(_KERNEL) && defined(INVARIANTS)) +/* + * QMD_STAILQ_CHECK_EMPTY(STAILQ_HEAD *head) + * + * Validates that the stailq head's pointer to the last element's next pointer + * actually points to the head's first element pointer field. + */ +#define QMD_STAILQ_CHECK_EMPTY(head) do { \ + if ((head)->stqh_last != &(head)->stqh_first) \ + panic("Empty stailq %p->stqh_last is %p, not head's " \ + "first field address", (head), (head)->stqh_last); \ +} while (0) + +#define STAILQ_ASSERT_EMPTY(head) do { \ + if (!STAILQ_EMPTY((head))) \ + panic("stailq %p is not empty", (head)); \ +} + +/* + * QMD_STAILQ_CHECK_TAIL(STAILQ_HEAD *head) + * + * Validates that the stailq's last element's next pointer is NULL. + */ +#define QMD_STAILQ_CHECK_TAIL(head) do { \ + if (*(head)->stqh_last != NULL) \ + panic("Stailq %p last element's next pointer is %p, " \ + "not NULL", (head), *(head)->stqh_last); \ +} while (0) +#else +#define QMD_STAILQ_CHECK_EMPTY(head) +#define STAILQ_ASSERT_EMPTY(head) +#define QMD_STAILQ_CHECK_TAIL(head) +#endif /* (_KERNEL && INVARIANTS) */ + #define STAILQ_CONCAT(head1, head2) do { \ if (!STAILQ_EMPTY((head2))) { \ *(head1)->stqh_last = (head2)->stqh_first; \ @@ -348,7 +382,11 @@ struct { \ } \ } while (0) -#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL) +#define STAILQ_EMPTY(head) ({ \ + if (STAILQ_FIRST(head) == NULL) \ + QMD_STAILQ_CHECK_EMPTY(head); \ + STAILQ_FIRST(head) == NULL; \ +}) #define STAILQ_FIRST(head) ((head)->stqh_first) @@ -390,6 +428,7 @@ struct { \ } while (0) #define STAILQ_INSERT_TAIL(head, elm, field) do { \ + QMD_STAILQ_CHECK_TAIL(head); \ STAILQ_NEXT((elm), field) = NULL; \ *(head)->stqh_last = (elm); \ (head)->stqh_last = &STAILQ_NEXT((elm), field); \ From nobody Fri Jan 17 12:27:00 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJrh3p1Lz5kvfk; Fri, 17 Jan 2025 12:27:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrh1CLWz3TK5; Fri, 17 Jan 2025 12:27:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OV5FZ+d3dVGcPzdLzxAi3NnBWkC5uBW1wXCtnTNUTVw=; b=uXJIRhafRoGm5UH6RpMTkZn9G43qNVcBIOPqbxZssnjTz/CxKivPEG+kilqdH0X+/BI7H0 8tdmNdoQfXq85cXVgx1EySq0lm+6ogGkIl6kSFW5xfMmReYLPCSVbdp2dRKIqhfp5BkiEM zmY6+XqRcCIto/S45s3CSCJZL2YV7RBWR+H23KWvoITjHZCbi9qRjqnUkhhT2jUSZclxuO QkKhg0DsB/sb/jZob4HaBJ4n/spmpdSHLny6PamP16f+Em2YXgUKYB6IQhZfx7nXNRhEil Fw6ee+ggOgL1oImNSy1JrcyRldeF4NgREp50aFHjaV0gGSik3r/d6E8LU73P2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OV5FZ+d3dVGcPzdLzxAi3NnBWkC5uBW1wXCtnTNUTVw=; b=qjZ8dlDtrYroBSvEOagwsXDDk8VrPk7xek0B3iInDtcSfSdiBu7gC2DLVrKzhDRsog6/pn 06MrfgAFfrK+1ZCrl9PaKchjXAwTCplxe/3np94TSVLp2I+AsLcXeehVcelGDHaiEoxkoF CYvMc+vli0sb5hBPcn5Kmx+WP1VgB8HBaxEboivo5Qwk6OnA4slJKutYkhbnXeIHayl45c PGovATs0PxI4RmXumPRyCHEwPXyJDX0Bb1oi6i1P0ajZ+k9BmwyW2eJcvT+0hJhF5IVibd qPsHQ0DxiHwRzaJlqlq/UxnCe+mlOHkdSMx9yltSK7seSVtNZIYbjuN4EP2Vxw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116820; a=rsa-sha256; cv=none; b=xtZjS4Re7ceE8HCKa2xbK3jc6hOaTIL4hG2tBrJ/ux5YZkocPCiGxrK3qejaBQUHr69Niw W3Ip7Dz9hUvyRoAIiXcBZ2PTI+r1n1Eh/ZutcCmKQwsbmJjHR7rM3qIwXUYeAX4VpwjT7x UoLVlfbVHpvuYqJHrWWXfo5611AXaCsav9lFzTH0rOsYtI2CB77PxuXNPbRDbwo8s7T8kC vc6iZkLpXzKlO9bLmC4harhKuku/MhYcDNnKKeBk/stQ2nmRxMNIcN1FOC7v24qp/gHJ6v yYvgGipJ/nQ9/fPtFKOIjyUxK4MkUhtF6PpToxjI5bOPsa2Jjkoz8TIjyneKsA== 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 4YZJrh0nM5z3BX; Fri, 17 Jan 2025 12:27:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCR02G051890; Fri, 17 Jan 2025 12:27:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCR0HX051882; Fri, 17 Jan 2025 12:27:00 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:00 GMT Message-Id: <202501171227.50HCR0HX051882@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: c05d82c461e7 - stable/13 - MAC: mac.h: Fix missing includes/typedefs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c05d82c461e7314823698a59f3781e0f6b7ab7b0 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=c05d82c461e7314823698a59f3781e0f6b7ab7b0 commit c05d82c461e7314823698a59f3781e0f6b7ab7b0 Author: Olivier Certner AuthorDate: 2024-07-29 14:21:52 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:49 +0000 MAC: mac.h: Fix missing includes/typedefs This fixes inclusion from userspace, and also kernel inclusion for source files not including explicitly nor implicitly . Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46896 (cherry picked from commit 5140ccf2268b0e771c89e46f46c60e1fee7637c3) --- sys/sys/mac.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sys/sys/mac.h b/sys/sys/mac.h index facdc14c332d..ae8d8d38f17b 100644 --- a/sys/sys/mac.h +++ b/sys/sys/mac.h @@ -47,6 +47,13 @@ #ifndef _SYS_MAC_H_ #define _SYS_MAC_H_ +#include + +#ifndef _SIZE_T_DECLARED +typedef __size_t size_t; +#define _SIZE_T_DECLARED +#endif + #ifndef _POSIX_MAC #define _POSIX_MAC #endif @@ -72,6 +79,13 @@ typedef struct mac *mac_t; #ifndef _KERNEL +#include /* For __BEGIN_DECLS and __END_DECLS. */ + +#ifndef _PID_T_DECLARED +typedef __pid_t pid_t; /* process id */ +#define _PID_T_DECLARED +#endif + /* * Location of the userland MAC framework configuration file. mac.conf * set defaults for MAC-aware applications. From nobody Fri Jan 17 12:27: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 4YZJrj5RKZz5kvXd; Fri, 17 Jan 2025 12:27:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrj2Hmcz3TWh; Fri, 17 Jan 2025 12:27:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116821; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZVcMAdWM/B/fHbr9qrbfANyX74NGt3/9T76x+ge24jk=; b=TyR/SgFAIgYM4tpowP9tPd3i2XhgYAY4y0RTNZjZHpNQITIjn0P75jiFSud1ZZbZLUrXpJ hfcOJEz5rVzDcMPC5V6b1fS/GLixOyg9I77lBgy16zXjP5M8LJu156hQC4XCBEMlpWZUVD 2+981IPYwgyWhyC1fjKw40t0zVlohJ9u4uY4UTznmsDU7fP5AJ6Twn5vjYVd2HKxAjCqe3 xVvHFw+61hAEqButxrYsN29ntcN8havcfOaUGQA/JK9Gvfq9V3iKWQCVbR/nGoTU3iy1Ud qSRgSoBA6LuAJeI5mr9z2wIBMrGrQSH9sc7HJO6yJXwHiS02Szii5SYhw6WKcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116821; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZVcMAdWM/B/fHbr9qrbfANyX74NGt3/9T76x+ge24jk=; b=Uj2KkBnVv2yY55anNu8sORWuOY+buB7/brKiZOJYLuSwV++IPhzVAU8+nZfUNbudhAVCpW 6GpRIJ3Ovb66EnJUVmP6H5NV2iXi+bfE+ze4XUmJtmzTvejrL4YYEg+fPHwS40W770g/2i C7/7EEIVY6QBKWyEZF2X8/qT1jd1r6G4ZFnKBbwUHYuUbLtpBj05Ybd66uBtRIIjzwU7UL 9PbakfsjSaKeTdGfBZSyaEHI5WeKAuLprtuWZqsZb4aBJ7o6NtUWbkQ5MWA66Z8jXdbvYK de9VC650KLo5OHif+J/k3uARPEW2ndaffyH0a+Tx8NqRiGHuKS3/yIh4EpjX1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116821; a=rsa-sha256; cv=none; b=XwGJBPs8NoJT6/DtunHqXzaIpRBmN116JTk4jIz9/7ttemnMUfSIvxAI4mkDe3Gh8j69KT BIyixvM92JEZPWWCcDqloh/xWMBBq7bccW5/R5iO/JQKdx1LwVsBHGD2kCD5BdtN59UvmQ QLL0hvsj1g8RE03nly4skxe//EngqEIabkgXLrDsLRJwy3TiKUlbPIcTv+Pfwg6lKLzZ3l kLmiRH0vzkdl7k6nmySPjaRKBxvL8HJOoJGTAW3EWEI4qfxFKJKGBtJ9XuzwOeWBDpzId0 nucyTUhMzHyaHXsbn2rPS+/ilE5MYnfD5KVUxDEvDCJDi7f2sNbXYs5LtyTk3w== 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 4YZJrj1qgrz33M; Fri, 17 Jan 2025 12:27: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 50HCR1TE051944; Fri, 17 Jan 2025 12:27:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCR1PF051941; Fri, 17 Jan 2025 12:27:01 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:01 GMT Message-Id: <202501171227.50HCR1PF051941@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: b9c8344a391a - stable/13 - MAC: 'kernel_mac_support' module: Make an outdated comment more generic List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b9c8344a391aaed715d1230abd958fd7bc465f65 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=b9c8344a391aaed715d1230abd958fd7bc465f65 commit b9c8344a391aaed715d1230abd958fd7bc465f65 Author: Olivier Certner AuthorDate: 2024-07-03 14:23:38 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:49 +0000 MAC: 'kernel_mac_support' module: Make an outdated comment more generic No functional change. Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46898 (cherry picked from commit 90678c892d7b3a90339b7fc19fde16c64fe3cb70) --- sys/security/mac/mac_framework.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/security/mac/mac_framework.c b/sys/security/mac/mac_framework.c index da4fe9f237e6..342389606430 100644 --- a/sys/security/mac/mac_framework.c +++ b/sys/security/mac/mac_framework.c @@ -106,7 +106,7 @@ SYSCTL_NODE(_security, OID_AUTO, mac, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD MAC policy controls"); /* - * Declare that the kernel provides MAC support, version 3 (FreeBSD 7.x). + * Declare that the kernel provides a specific version of MAC support. * This permits modules to refuse to be loaded if the necessary support isn't * present, even if it's pre-boot. */ From nobody Fri Jan 17 12:27: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 4YZJrm2FyRz5kvnV; Fri, 17 Jan 2025 12:27: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 4YZJrl4Mwpz3TPk; Fri, 17 Jan 2025 12:27:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116823; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p6ATHfX8o89O6rEt4S7hEK00lAEUGWq5l67xMTzG/E0=; b=NcBmkIvNOWpxlCf7qOGNzkEHrN94cJVeXtO+wbAeQ5lDhcmHi0OFIbsNyyirPkpvuN+VXL GwZO2NoWw7JbnluaG70MdTlxtMytIiA0kb2Gng96647GB4Q0uNNoHzlSCK/7J3RgEG14eZ jGlpCyfxVdwSaidzPOPk7g58JXcdx4kGm33fXrd40Iu1+VjZ9aC1M4OT8KebKL970xy2dy h6/1xiPfwqS0hDrWAvFDXe6H+ooJNe/d3/Z8kAbcBJLi2jf7La+otnP4y+cBoSXYFt5BOR MyoH9svgIrFA0KBZIem6QhkTfCGvaPLzz5f90Ib7rn7MrW5OI0SvgWBcyxrgWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116823; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p6ATHfX8o89O6rEt4S7hEK00lAEUGWq5l67xMTzG/E0=; b=DaHeKsY15xLH340SOhbRF1k1URKROoEntvSx9G3f7I5piqIeVOF/9g+tljbpL1CsC6rTYb dIzNSYvvP6VfRnf15b0j4L5VdzksMVC6r/sEKQwyQR1tHEJHIYzqYGbrc2t8OCWMHzAvLe KUezie6qu4GdhFhYS5a4Ktko6iMwe2/o8/Dc2fVcvgf342ofT/F+iEys7Kp0vKq6mAlA5E 3S/46ljd+YZLXNKGwdr7HZtrpJHdRvJAq1D1aDJrqWWi0SbrQWL4fgXbG3sqWuFhh3/bba VHJVqEXXhhQpJt2gFDN5GUTVQ1gwky6rwfZeCA+fiuBaMrdhUaw5LIBuU0sipg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116823; a=rsa-sha256; cv=none; b=JBRcSPTaagnEtcY1YBaxi2SY3mTklsPVS/G8Dkp8QhW7gfp8pdcV44z1RkAmygatFvBH1c vdhnxOhihTkOxE9wUqw6z9Fh5p8hb6K+8Up0oonx+15RosXWefbsfwNL7vWBVMUCHiRY2d 5WK62i+vtmg7Kk4SqlofCwuYPDXpIqNEZ52Jh4GWn9BRQ+WoftYDTVPeFenbDa8eVDoL7/ /Es44yWFf8EhBrX7Ym83SuB6G8q0WAF7UVAXHgkZv4rtuztRy0Woyb02XkTxtznybeF0Wf jG5UhiJ2BfkdRQ2qGbkppWzIcWUUkA3qff1yqUjoHOX+RCMDTwHa5J7gxR7r4w== 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 4YZJrl3xrQz3BZ; Fri, 17 Jan 2025 12:27: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 50HCR3iQ052060; Fri, 17 Jan 2025 12:27:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCR30V052057; Fri, 17 Jan 2025 12:27:03 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:03 GMT Message-Id: <202501171227.50HCR30V052057@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 386c6749bde5 - stable/13 - jail.h: Fix whitespace in the param macros declaration block List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 386c6749bde5453eac9183b93a2aaf7f2bfe6192 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=386c6749bde5453eac9183b93a2aaf7f2bfe6192 commit 386c6749bde5453eac9183b93a2aaf7f2bfe6192 Author: Olivier Certner AuthorDate: 2024-07-04 09:01:10 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:50 +0000 jail.h: Fix whitespace in the param macros declaration block Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46900 (cherry picked from commit f8fe6bc73bbbced506a02ed88783c0c0bb9b49e4) --- sys/sys/jail.h | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/sys/sys/jail.h b/sys/sys/jail.h index db4a5cbc2831..942da2a87b81 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -370,26 +370,26 @@ extern struct sx allprison_lock; SYSCTL_DECL(_security_jail_param); #define SYSCTL_JAIL_PARAM(module, param, type, fmt, descr) \ - SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ - (type) | CTLFLAG_MPSAFE, NULL, 0, sysctl_jail_param, fmt, descr) + SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ + (type) | CTLFLAG_MPSAFE, NULL, 0, sysctl_jail_param, fmt, descr) #define SYSCTL_JAIL_PARAM_STRING(module, param, access, len, descr) \ - SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ - CTLTYPE_STRING | CTLFLAG_MPSAFE | (access), NULL, len, \ - sysctl_jail_param, "A", descr) -#define SYSCTL_JAIL_PARAM_STRUCT(module, param, access, len, fmt, descr)\ - SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ - CTLTYPE_STRUCT | CTLFLAG_MPSAFE | (access), NULL, len, \ - sysctl_jail_param, fmt, descr) + SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ + CTLTYPE_STRING | CTLFLAG_MPSAFE | (access), NULL, len, \ + sysctl_jail_param, "A", descr) +#define SYSCTL_JAIL_PARAM_STRUCT(module, param, access, len, fmt, descr) \ + SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ + CTLTYPE_STRUCT | CTLFLAG_MPSAFE | (access), NULL, len, \ + sysctl_jail_param, fmt, descr) #define SYSCTL_JAIL_PARAM_NODE(module, descr) \ - SYSCTL_NODE(_security_jail_param, OID_AUTO, module, CTLFLAG_MPSAFE, \ - 0, descr) + SYSCTL_NODE(_security_jail_param, OID_AUTO, module, CTLFLAG_MPSAFE, \ + 0, descr) #define SYSCTL_JAIL_PARAM_SUBNODE(parent, module, descr) \ - SYSCTL_NODE(_security_jail_param_##parent, OID_AUTO, module, \ - CTLFLAG_MPSAFE, 0, descr) + SYSCTL_NODE(_security_jail_param_##parent, OID_AUTO, module, \ + CTLFLAG_MPSAFE, 0, descr) #define SYSCTL_JAIL_PARAM_SYS_NODE(module, access, descr) \ - SYSCTL_JAIL_PARAM_NODE(module, descr); \ - SYSCTL_JAIL_PARAM(_##module, , CTLTYPE_INT | (access), "E,jailsys", \ - descr) + SYSCTL_JAIL_PARAM_NODE(module, descr); \ + SYSCTL_JAIL_PARAM(_##module, , CTLTYPE_INT | (access), "E,jailsys", \ + descr) /* * Kernel support functions for jail(). From nobody Fri Jan 17 12:27: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 4YZJrk6TDrz5kvlX; Fri, 17 Jan 2025 12:27: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 4YZJrk3Hq5z3TV4; Fri, 17 Jan 2025 12:27:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UvwDaSoh4+H8/bozFRNuwbDbN1+eW7Cn0Ou6EweYBks=; b=L3CAygQhO5nHOBdfOAi4WuTTalVL/MZryo+fipLqNhdkiTKpjtrpEsbYxPyAOJkOOIj4a7 YNFkYBXswvjRL6FCDYOyIpPQM16o4qxyE0Dhodv1Z4S2U8aWb3AEhVyWTeoCh9FREA7gKR QIBGfzgkT6sERBl7f8eg9SiDVaIEVzhKsZAjIqFUTum+WT3BNEeti6/oplvh7tu3fz+IAX xVCeY9lQfPW8g+bp53JhVTT/4stmkeXtN0Ixrlkl+Vg8eHoHgK+im3LNWfHtWV6u7NfAQK Mlvp/Gg3lpSnto9F+1EBuA1Ltne5ChRrZAz6hFPESdmtilV3BFQFGl5YdSrYoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UvwDaSoh4+H8/bozFRNuwbDbN1+eW7Cn0Ou6EweYBks=; b=IFOChnd57l4dfODZ954qzjWG3RpCY4lLZPIGk8a3e3hVm5vjh3P+aejN+uB08LXDaJev4V NMhtPs9dfIMBIsWhQmpySiu6Ql0xX2nabiH3wztxTYKyhpmZLJ8VlG0m69ziBjnfzLvfAT neDIn59bhKcjjZtZj2Y7K0UxUKTfDPra9jPrLm5rL8B7zwo+TqE0CmsCt/BgddT/Xidvu6 GwtwBAvDr/FNhaLIe+mi9vCv8CvQCGsPRsGlziHAah1buU33yhatc42oSTFPVhxcUtDgbp iicmBdYVq45ZGEw7yEuW132muevPZyxFcCsCxdGitRN13JfR1vbeHCmOFToZQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116822; a=rsa-sha256; cv=none; b=vUCxT6T4gAxzYOdN7itci4a+HOgerRNvHgDyO6eoC3VFpnYu2Ly5ovoLItPw7gwTwcHvLH S3nG/VMgoYpJmFaW79vldltNEIoWTxUSfiiguDHE2WlAHBG9OoysqlrdVFLfe9wLhfT1TS gKW2bzEgqI575V8l4KUIQrQXIsrROUiDDYPkF9Oty10a8CmESdJkOEaFm8jPu8sG5Db2yo hNB6g7w02n6E/0dpHtJjtsgFhrz+sh0evUMzhtb18zE1XUiVYOsSMPQAK8Viu6gA+5WEic /OLLtzCrmIY1VeDHyvRwm8n58RCdCeYaSnOLrehOJ5TLKNOaZGFhA/rCYF4cAA== 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 4YZJrk2vYsz3BY; Fri, 17 Jan 2025 12:27: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 50HCR2dM052006; Fri, 17 Jan 2025 12:27:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCR2O6052003; Fri, 17 Jan 2025 12:27:02 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:02 GMT Message-Id: <202501171227.50HCR2O6052003@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: ae2383c0dd16 - stable/13 - MAC: Define a common 'mac' node for MAC's jail parameters List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ae2383c0dd16e06991a0462758107e0489ec53a7 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=ae2383c0dd16e06991a0462758107e0489ec53a7 commit ae2383c0dd16e06991a0462758107e0489ec53a7 Author: Olivier Certner AuthorDate: 2024-07-03 14:30:19 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:49 +0000 MAC: Define a common 'mac' node for MAC's jail parameters To be used by MAC/do. Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46899 (cherry picked from commit 5041b20503dbb442cc9ebd0a6e4db26905102c72) --- sys/security/mac/mac_framework.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/security/mac/mac_framework.c b/sys/security/mac/mac_framework.c index 342389606430..ae18dead6840 100644 --- a/sys/security/mac/mac_framework.c +++ b/sys/security/mac/mac_framework.c @@ -72,6 +72,7 @@ #include #include #include +#include #include #include #include @@ -105,6 +106,11 @@ SDT_PROBE_DEFINE1(mac, , policy, unregister, SYSCTL_NODE(_security, OID_AUTO, mac, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD MAC policy controls"); +/* + * Root sysctl node for MAC modules' jail parameters. + */ +SYSCTL_JAIL_PARAM_NODE(mac, "Jail parameters for MAC policy controls"); + /* * Declare that the kernel provides a specific version of MAC support. * This permits modules to refuse to be loaded if the necessary support isn't From nobody Fri Jan 17 12:27:05 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJrp5P8sz5kvfx; Fri, 17 Jan 2025 12:27:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrn74tkz3TVX; Fri, 17 Jan 2025 12:27:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116826; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YBR629KGALkMzEkDQCSuGQvN1VLfPo0KS1Z6oC3+u/s=; b=vvp7MgB9htlkgxHiUXLZzjILE48CPC3RMAaFj1ltz+PJ2lhF2+/+AxZiaIkUVL9uPXCAXB aUPnZhTEv0VpRvQikw5f9udWJxxepJRd0UhY3gyanPDbPpBe60T2gqvfp3B2ZPMKJkPeCX kDZ+fPtuG81xqv88XNE4KY0TKDiFWv8iSwzqwu6u1tCvzDXwJiNbPKXOkHT1wSPNU2+8SK MQp3LUKXGFcQlzMF18uoa7C+RoAsZtN202xkeiEKrnT1VdfWyzZ5NMD5fj9YPjSqLCFEPy zX0x6uht4sQNDV6tWgEfGrwo12Ris0y/xLXctfl94N31IkEkxK19o3jkzfZlCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116826; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YBR629KGALkMzEkDQCSuGQvN1VLfPo0KS1Z6oC3+u/s=; b=uCXj5ZJ8VwEq3Uw/osR7I8H6lO7QmFkZc7VMuKubyUkSa5KAA71+1HbR+tjAQ2oDog4Ohq AI7L6PdBYq+xFxjI5lrHUmNsQhclPTsIFb+3pWCmSusreJWhs2TnwcVT2lGxzafOZuoLZz A6uK4o/GRYWjd78v16kpkaJC7AUisZKgh3tsME4xoV8qGKg1xVaqjSu42G8ktUvBxS4N2X d8LOF2l0epU1K/e43SWWAeNwZLeTupZCGkDpkdukdlMlvjc2PgPPnjTHgKLgQIrobVSMld GJoWdCM2VCXrfXQJS89p2DxTKgReoX6BM5okQtnwxGhDE7n6RuAN8Xr/L8Mrig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116826; a=rsa-sha256; cv=none; b=Ruo3Y1S3YQabfmyk7pH/9lfS5CfaLH5OzUP4pOePu8JPs79SExYsRaw3FR5/ftDfynH65I xBB3UCqk3MYFLQUcvT5ZcXkfQyeu3yK+QV4OKIKHlX8zYs5xXKupmkKsO8iuRNIW/ug6Y3 QW3lA9ui3+3Xzf+9DWmmRIzmxJC8ctl5jD3K3i+MF9QW5cINZbOv4FFVpwZRWbAAMRHUvI TLg4/XSe8RqO04hHuFep5NuGtjzo1cGme4pNwMQCFxx+dTtHuqm+CMuy916ZLakYYlmTLv R6OliPCN3MAuvzn4pru23yW/4GHPsy6yOuZPdbZMNKWSVD5lV1H9FXS/e7NARQ== 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 4YZJrn5XL7z2rX; Fri, 17 Jan 2025 12:27:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCR5dF052132; Fri, 17 Jan 2025 12:27:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCR5ln052129; Fri, 17 Jan 2025 12:27:05 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:05 GMT Message-Id: <202501171227.50HCR5ln052129@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 4c2602473d12 - stable/13 - jail.h: New SYSCTL_JAIL_PARAM_DECL() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4c2602473d127604dd643815622d5cd39f90ec54 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=4c2602473d127604dd643815622d5cd39f90ec54 commit 4c2602473d127604dd643815622d5cd39f90ec54 Author: Olivier Certner AuthorDate: 2024-07-04 09:50:04 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:50 +0000 jail.h: New SYSCTL_JAIL_PARAM_DECL() Like SYSCTL_DECL(), additionally prepending the well-known jail parameters' sysctl prefix. Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46902 (cherry picked from commit f7bda491ef05717fb4fe6c89083485599db951b8) --- sys/sys/jail.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/sys/jail.h b/sys/sys/jail.h index 11d3745ba2d2..2a8c18cf23a6 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -369,6 +369,8 @@ extern struct sx allprison_lock; */ SYSCTL_DECL(_security_jail_param); +#define SYSCTL_JAIL_PARAM_DECL(name) \ + SYSCTL_DECL(_security_jail_param_##name) #define SYSCTL_JAIL_PARAM(module, param, type, fmt, descr) \ SYSCTL_PROC(_security_jail_param ## module, OID_AUTO, param, \ (type) | CTLFLAG_MPSAFE, NULL, 0, sysctl_jail_param, fmt, descr) From nobody Fri Jan 17 12:27:06 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJrq4q8Jz5kvfy; Fri, 17 Jan 2025 12:27:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrq0J9Dz3TZS; Fri, 17 Jan 2025 12:27:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sXWXSfcC3V0cz/OcS7ly9uvPAed5b+Fwr2es812CQG8=; b=cSlXJ2J9nPkAyxMU8ngr7xwKIashqzFhvve2GEb7sN0gGb9gF7uAz8hXLmKhrF8LrkuDAw QOU9jVx41jXmiCTCStLwh84TuEqBYc/yU2ZMbdHuc+MNZUDMwVLbDAHR48K6tjY+WTZj/S 2cLA6sXRZfB4DoFkxT8An54WsrNXR56haWzXKf0s6ekgKbw94MpyGU1OWjbcT9lYT1Ct8F 3+NvdsF5e1tKF7uz3JVLnV2ST9RHgLrMYx28ob2ToYB/OrsH1xX94UTh1jm+GwJH0VRO3J qGk+MDwNUKVBV/O89auPYT780Dr3/gTYcDGMuikX1CmPWoFlDrKvgS8sicKQXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116827; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sXWXSfcC3V0cz/OcS7ly9uvPAed5b+Fwr2es812CQG8=; b=FSVJephGa8bYYqwjz8Tji4mfZo5URCUkznnF66iygBSiKBkmLxdobPUDmEFReMZGNEGx7N TnmDRVY9GsVv021T2sQcddGJID2M5HnLFkp5V0tsRdk8mk2mQq3Pf2GSS3rhboOTv/gesq fyh119XTdHAOVm7TnHfylOjzvOS0an4bKF2InzYPsr8A+tIAnjNF8lcKFCzvAauwolf+zq cs7iNAfqoOODw1bw+rv6CXmaP67j9juTBdqR0i7IkykIvxwyCCmy82U+xLldRk5ot3P6hY THVxvoei6HNHyJ3HwcYAdGvnk7rxAP0NXl2HIx+vMuPXl4lHodrXBoWlk32VnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116827; a=rsa-sha256; cv=none; b=VBCkObtF+kFetUtmbZ1d1hXqg08ORiAAMf7qIqf+DgBlSEi6m69WJJiaWykHQq3c132fgG YuZbp16OJIzOGUmUwlrBiId1syr+VTNPHOI4Tni1UmP7wPfdyspyBlg6HLBHe0pJMDfJQL K0/ffWCfv6ooi51Guo+4BJ4TpSDP0JFYP8H/ac+XEfosryPfTEb0ZJgweZ+Tc0bgv6gYeg EJWoxGAj2Xl1bycmReRvWe6PKkAvSXf3xRwQ9Qvhab5IpsQdPVd6nz1js80rFD4hB6dvHC tCkPgWVOCauFeF18j4x+RFKEjodMVKy8Xe8RZrvSocsCnguaZQvg0z/bzluXrQ== 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 4YZJrp6yvrz2rY; Fri, 17 Jan 2025 12:27:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCR6RZ052189; Fri, 17 Jan 2025 12:27:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCR6a1052186; Fri, 17 Jan 2025 12:27:06 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:06 GMT Message-Id: <202501171227.50HCR6a1052186@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: fbac48f4b460 - stable/13 - MAC: mac_policy.h: Declare common MAC sysctl and jail parameters' nodes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fbac48f4b460f03def43165c80c6082b6c3c4d2c Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=fbac48f4b460f03def43165c80c6082b6c3c4d2c commit fbac48f4b460f03def43165c80c6082b6c3c4d2c Author: Olivier Certner AuthorDate: 2024-07-04 14:08:20 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:50 +0000 MAC: mac_policy.h: Declare common MAC sysctl and jail parameters' nodes Do this only when the headers for these functionalities were included prior to this one. Indeed, if they need to be included, style(9) mandates they should have been so before this one. Remove the common MAC sysctl declaration from , as it is now redundant (all its includers also include ). Remove local such declarations from all policies' files. Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46903 (cherry picked from commit db33c6f3ae9d1231087710068ee4ea5398aacca7) The original changes in 'sys/security/mac_grantbylabel/mac_grantbylabel.c' were removed as MAC/grantbylabel has not been MFCed. --- sys/security/mac/mac_internal.h | 7 ------- sys/security/mac/mac_policy.h | 15 +++++++++++++++ sys/security/mac_biba/mac_biba.c | 2 -- sys/security/mac_bsdextended/mac_bsdextended.c | 2 -- sys/security/mac_ifoff/mac_ifoff.c | 2 -- sys/security/mac_lomac/mac_lomac.c | 2 -- sys/security/mac_mls/mac_mls.c | 2 -- sys/security/mac_ntpd/mac_ntpd.c | 2 -- sys/security/mac_partition/mac_partition.c | 2 -- sys/security/mac_portacl/mac_portacl.c | 2 -- sys/security/mac_priority/mac_priority.c | 2 -- sys/security/mac_seeotheruids/mac_seeotheruids.c | 2 -- sys/security/mac_stub/mac_stub.c | 2 -- sys/security/mac_test/mac_test.c | 2 -- sys/security/mac_veriexec/mac_veriexec.c | 2 -- 15 files changed, 15 insertions(+), 33 deletions(-) diff --git a/sys/security/mac/mac_internal.h b/sys/security/mac/mac_internal.h index 4b2be98b4e03..c35504e04ea9 100644 --- a/sys/security/mac/mac_internal.h +++ b/sys/security/mac/mac_internal.h @@ -56,13 +56,6 @@ #include #include -/* - * MAC Framework sysctl namespace. - */ -#ifdef SYSCTL_DECL -SYSCTL_DECL(_security_mac); -#endif /* SYSCTL_DECL */ - /* * MAC Framework SDT DTrace probe namespace, macros for declaring entry * point probes, macros for invoking them. diff --git a/sys/security/mac/mac_policy.h b/sys/security/mac/mac_policy.h index 3c8eec69f17e..89239c0869c3 100644 --- a/sys/security/mac/mac_policy.h +++ b/sys/security/mac/mac_policy.h @@ -1034,4 +1034,19 @@ int mac_policy_modevent(module_t mod, int type, void *data); intptr_t mac_label_get(struct label *l, int slot); void mac_label_set(struct label *l, int slot, intptr_t v); +/* + * Common MAC Framework's sysctl and jail parameters' sysctl nodes' declarations. + * + * Headers and normally have to be included before + * this header as style(9) hints to. If they weren't, just forego the + * corresponding declarations, assuming they are not needed. + */ +#ifdef SYSCTL_DECL +SYSCTL_DECL(_security_mac); +#endif + +#ifdef SYSCTL_JAIL_PARAM_DECL +SYSCTL_JAIL_PARAM_DECL(mac); +#endif + #endif /* !_SECURITY_MAC_MAC_POLICY_H_ */ diff --git a/sys/security/mac_biba/mac_biba.c b/sys/security/mac_biba/mac_biba.c index 2d0df254f94c..8b683dc380eb 100644 --- a/sys/security/mac_biba/mac_biba.c +++ b/sys/security/mac_biba/mac_biba.c @@ -88,8 +88,6 @@ #include #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, biba, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_biba policy controls"); diff --git a/sys/security/mac_bsdextended/mac_bsdextended.c b/sys/security/mac_bsdextended/mac_bsdextended.c index 95efc537735a..8a6549214380 100644 --- a/sys/security/mac_bsdextended/mac_bsdextended.c +++ b/sys/security/mac_bsdextended/mac_bsdextended.c @@ -68,8 +68,6 @@ static struct mtx ugidfw_mtx; -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, bsdextended, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD extended BSD MAC policy controls"); diff --git a/sys/security/mac_ifoff/mac_ifoff.c b/sys/security/mac_ifoff/mac_ifoff.c index b5a65f4765b2..97fc306990ee 100644 --- a/sys/security/mac_ifoff/mac_ifoff.c +++ b/sys/security/mac_ifoff/mac_ifoff.c @@ -58,8 +58,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, ifoff, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_ifoff policy controls"); diff --git a/sys/security/mac_lomac/mac_lomac.c b/sys/security/mac_lomac/mac_lomac.c index 761214db07e4..d878f9a7b965 100644 --- a/sys/security/mac_lomac/mac_lomac.c +++ b/sys/security/mac_lomac/mac_lomac.c @@ -89,8 +89,6 @@ struct mac_lomac_proc { struct mtx mtx; }; -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, lomac, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_lomac policy controls"); diff --git a/sys/security/mac_mls/mac_mls.c b/sys/security/mac_mls/mac_mls.c index 4c87b4c7f5ce..3cdf438ea6b9 100644 --- a/sys/security/mac_mls/mac_mls.c +++ b/sys/security/mac_mls/mac_mls.c @@ -89,8 +89,6 @@ #include #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, mls, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_mls policy controls"); diff --git a/sys/security/mac_ntpd/mac_ntpd.c b/sys/security/mac_ntpd/mac_ntpd.c index 3125bc057be8..1aeaeb032bb8 100644 --- a/sys/security/mac_ntpd/mac_ntpd.c +++ b/sys/security/mac_ntpd/mac_ntpd.c @@ -34,8 +34,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, ntpd, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "mac_ntpd policy controls"); diff --git a/sys/security/mac_partition/mac_partition.c b/sys/security/mac_partition/mac_partition.c index 2cff042cb33a..2f0189b79ace 100644 --- a/sys/security/mac_partition/mac_partition.c +++ b/sys/security/mac_partition/mac_partition.c @@ -61,8 +61,6 @@ #include #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, partition, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_partition policy controls"); diff --git a/sys/security/mac_portacl/mac_portacl.c b/sys/security/mac_portacl/mac_portacl.c index 184ec4b4738c..b3a5e06c0e2a 100644 --- a/sys/security/mac_portacl/mac_portacl.c +++ b/sys/security/mac_portacl/mac_portacl.c @@ -79,8 +79,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, portacl, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_portacl policy controls"); diff --git a/sys/security/mac_priority/mac_priority.c b/sys/security/mac_priority/mac_priority.c index f460e5195cb9..1e5bfb5386cb 100644 --- a/sys/security/mac_priority/mac_priority.c +++ b/sys/security/mac_priority/mac_priority.c @@ -35,8 +35,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, priority, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "mac_priority policy controls"); diff --git a/sys/security/mac_seeotheruids/mac_seeotheruids.c b/sys/security/mac_seeotheruids/mac_seeotheruids.c index 1677b092daad..9cd2e0f3c0fc 100644 --- a/sys/security/mac_seeotheruids/mac_seeotheruids.c +++ b/sys/security/mac_seeotheruids/mac_seeotheruids.c @@ -59,8 +59,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, seeotheruids, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_seeotheruids policy controls"); diff --git a/sys/security/mac_stub/mac_stub.c b/sys/security/mac_stub/mac_stub.c index 1014aff07980..8406392443bf 100644 --- a/sys/security/mac_stub/mac_stub.c +++ b/sys/security/mac_stub/mac_stub.c @@ -85,8 +85,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, stub, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_stub policy controls"); diff --git a/sys/security/mac_test/mac_test.c b/sys/security/mac_test/mac_test.c index ff7990162e56..dca14d033b66 100644 --- a/sys/security/mac_test/mac_test.c +++ b/sys/security/mac_test/mac_test.c @@ -76,8 +76,6 @@ #include -SYSCTL_DECL(_security_mac); - static SYSCTL_NODE(_security_mac, OID_AUTO, test, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "TrustedBSD mac_test policy controls"); diff --git a/sys/security/mac_veriexec/mac_veriexec.c b/sys/security/mac_veriexec/mac_veriexec.c index caba5dfe9d51..11046b160ad4 100644 --- a/sys/security/mac_veriexec/mac_veriexec.c +++ b/sys/security/mac_veriexec/mac_veriexec.c @@ -73,8 +73,6 @@ static int sysctl_mac_veriexec_state(SYSCTL_HANDLER_ARGS); static int sysctl_mac_veriexec_db(SYSCTL_HANDLER_ARGS); -SYSCTL_DECL(_security_mac); - SYSCTL_NODE(_security_mac, OID_AUTO, veriexec, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, "MAC/veriexec policy controls"); From nobody Fri Jan 17 12:27: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 4YZJrn2VVGz5kvZH; Fri, 17 Jan 2025 12:27: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 4YZJrm5P9zz3TXM; Fri, 17 Jan 2025 12:27:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JVBIK46P74ESRDQI+IEdZE4rkAwP/tKQB35GzZncHag=; b=b4uM4pt9sOShJ819hdRNRxGy1oUXtF+apHz8Z1ywlDHCGUIYGhlX2P/DO4zOpHPsNrNh4h 7UjVsw2a3oWdr4StEBz7SIHfXoyAexduLydcg7KTHcxWs+Vd/M/8uyWj1v2mIkH33rZf6J uVEqEWC8Vt5hkNSd1GDqCXO3d5lCiopiPvDGihbCV7i6d4GbD8nc6DzczHwsjX8eoYvAXX +gS5zX8BnbAe4ylMnVS39SPOLuHR6+KUZPF3o+F6K4Mod+26OL36lxHRY79fe+q2OFBRq5 YMHaIIjAp95F4pZl8+xr3Rbm5Mcnl6Bj+lqcA884nKBRsMPJhHdatpTWERuOqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JVBIK46P74ESRDQI+IEdZE4rkAwP/tKQB35GzZncHag=; b=k/5tiOEgblRmaFAVCSBw/A6azhqXDWE3yAq9HzEsknv8dZwRqSyJAdqZ/ipKZ37S+74fVl g4zrBw29UyK0Ohqgx1S51C+RWG7fa7cUE6QI12EGYFJTn8mgyPzeR2i+RnUvpr/JcoDgrV MmFa3ti367IL35RdPA20XSssUgAVECC11aCfMe4fQRZNbCJemNF7qlYiZ3pQW81svGxOD2 6Si4eb250JLwB8ANgzZbnlpX8lFZZJVjGtBY4T5nfkGBfh126KyPztZiTBAl6MDP4b+bBJ mCOdSVMbovIe3zUr1fuuYFxI8a3NCGNFG2Rm7D8pQPMO9NcN7IIKYAFJBag1Pg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116824; a=rsa-sha256; cv=none; b=vq9GIep/e/VXviNOxuAQp//TQyCUAKPSoO1Ta8qdysy4prg2HKR5QtvH4+0BzJghUs9nfp qMLZWEARdcIivuupCGjW2cjbD/Lmhi2LIyZSy4EWFNYBs4eirfyAyj+XMbniu3TMkFR0df W9APje2+PFmslXWLILPt9l8si7n75jMyh3fCTE77ZF8TyvJc5mEpwqWj2dvnO1thxh1UZT ZerToKD8IdT9qJbwIjwr7h7yPxoB4R7DWtQXT4pbXDsZ88zexD2dBv/LB8WHXreO8D2uE2 K9z6CDphLWH9/1Qmym18mFxBZD/U34rAztANF/yNA6orDPHnI1POx81g/2RClQ== 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 4YZJrm4rtRz3Bb; Fri, 17 Jan 2025 12:27: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 50HCR4s8052096; Fri, 17 Jan 2025 12:27:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCR43G052093; Fri, 17 Jan 2025 12:27:04 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:04 GMT Message-Id: <202501171227.50HCR43G052093@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: f30f1a14f772 - stable/13 - jail.h: New SYSCTL_JAIL_PARAM_SYS_SUBNODE() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f30f1a14f772cb31e745b779936db6a6b301b4c0 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f30f1a14f772cb31e745b779936db6a6b301b4c0 commit f30f1a14f772cb31e745b779936db6a6b301b4c0 Author: Olivier Certner AuthorDate: 2024-07-04 09:05:44 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:50 +0000 jail.h: New SYSCTL_JAIL_PARAM_SYS_SUBNODE() Same as SYSCTL_JAIL_PARAM_SYS_NODE() but allowing another level of hierarchy. To be used with MAC policies, so that they can have their own node under "security.jail.param.mac". Reviewed by: jamie Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46901 (cherry picked from commit 9f8020e65ba8f2398bf79505037b75670340e5fa) --- sys/sys/jail.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/sys/jail.h b/sys/sys/jail.h index 942da2a87b81..11d3745ba2d2 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -390,6 +390,10 @@ SYSCTL_DECL(_security_jail_param); SYSCTL_JAIL_PARAM_NODE(module, descr); \ SYSCTL_JAIL_PARAM(_##module, , CTLTYPE_INT | (access), "E,jailsys", \ descr) +#define SYSCTL_JAIL_PARAM_SYS_SUBNODE(parent, module, access, descr) \ + SYSCTL_JAIL_PARAM_SUBNODE(parent, module, descr); \ + SYSCTL_JAIL_PARAM(_##parent##_##module, , CTLTYPE_INT | (access), \ + "E,jailsys", descr) /* * Kernel support functions for jail(). From nobody Fri Jan 17 12:27:08 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJrr2gCNz5kvqx; Fri, 17 Jan 2025 12:27:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrr1qY8z3Tgx; Fri, 17 Jan 2025 12:27:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uqBpZSA1rr5FZYP96LjNL8tN+nKXVKVjFi+pXCmapWA=; b=PABaQQAkswNQQOf7l2URNCRmfAqG1zXOVK8dSNfPJ02D799Mp1UgDvpZUyZbti5Ex6eCqh pIpMfBkYwvj0MYd/Q93UVv1r94fX5zEzQrKnlEb+nxeAuvMd/tcSg8zeBlIRT9GjK0zVBI +0rLMvYSUAh/Eh+mdsTwwreOmc8JO3it1pu1akjXBvMwFz16I+PhSCtspSa9UB46d2vgKH wGHT8ESLJk9Q56RsdvB5eZI4xumwJPQn/LclrwE43RVnvpcm17TxqMCwMnIAQuKZNdUcQz +9MQEzGlID0eOmufi4+ByL6uVRwvJ/qTy4mZfLNxEqq6OayckTpjIzkwcEJRmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uqBpZSA1rr5FZYP96LjNL8tN+nKXVKVjFi+pXCmapWA=; b=dI2TY/2bQmbIcHNg7QOR0lJx7Kpg/sE8QlsDcxCpm0zgrUcUZamSJbeh36VkJA0KSfHFOY 9NER5GR2GoTfwXRJUhuo5fh1Gh1mNPjNoJ7JZ2yJB/3M2NmQlwUrgXK5su2F22uBNht63q X1s2JZH9oASx3vb3td4r5ZUfPuozX0dGcQ0RVJAYmvP/aore96YD/ZmmqriK3vlP8CgWRk nhRY9qIpJQK59E0VQW1UIQF4TJ8Xl2OgLnSdGAVpHLAoXc4y0G5wiMGCVZG49xYFTNLdn7 yR4AkLo/HGBnCdfKJ8qVstdZKOq1RxvijoI7G3AzX8Qky7r5UI4aRdOi7NsJgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116828; a=rsa-sha256; cv=none; b=NJ/9PJSvuP2cRLL1O0STlgc41b9A77jNqKWRNOB3iDnozcmDOiz1S0YI/6IpCU2PfVOPoM Vv6sGfOVR3wGUBSLMnWJsMa+ZAhYjFsyeV/F0uo1klmE4be4zIt2AVVETn54uj8ONfXHcV isnQPF2v15YWAY+NZP8ruQ4h6DK13VCEouV90okq+qD9o71Dw4ZivGc9Z1nHkYBCQBZCFD A2rFTElvJ8xZsdDqEwEzI2OBptrPg9easuvv3FTxe1l0UGFH8NoK6dmHoG5jN5Kng/USIX ASr3tbOuQ0mStr1Daw7y/gsGnVmGpHjdayPDblE8H0dlN79ykJhMNMHjSogGtw== 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 4YZJrr109pz33N; Fri, 17 Jan 2025 12:27:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCR8PC052237; Fri, 17 Jan 2025 12:27:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCR8CJ052234; Fri, 17 Jan 2025 12:27:08 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:08 GMT Message-Id: <202501171227.50HCR8CJ052234@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 5f7586197e84 - stable/13 - cred: crget(): Compute initial 'cr_agroups' with nitems() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5f7586197e84caa22013bbdb7bef1f5c5ac6c4ca Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=5f7586197e84caa22013bbdb7bef1f5c5ac6c4ca commit 5f7586197e84caa22013bbdb7bef1f5c5ac6c4ca Author: Olivier Certner AuthorDate: 2024-07-16 20:32:19 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:51 +0000 cred: crget(): Compute initial 'cr_agroups' with nitems() No functional change (intended). Reviewed by: mhorne, emaste Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46910 (cherry picked from commit f5b46856918cc6cc3ea49e3ab95163d318563ece) --- sys/kern/kern_prot.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 2dc5ecd00175..5fe587bdc421 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2117,8 +2117,7 @@ crget(void) mac_cred_init(cr); #endif cr->cr_groups = cr->cr_smallgroups; - cr->cr_agroups = - sizeof(cr->cr_smallgroups) / sizeof(cr->cr_smallgroups[0]); + cr->cr_agroups = nitems(cr->cr_smallgroups); return (cr); } From nobody Fri Jan 17 12:27:09 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJrt3pVFz5kvr0; Fri, 17 Jan 2025 12:27:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrs2WF4z3TdR; Fri, 17 Jan 2025 12:27:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mo2Rw8zj0iIBbIhYarPukP/9DS8IZp4NAydr2HojLyA=; b=iq4LnWACqjDTseo7qLa8O9eg29kGnaruiQrbJQe0H00PymtLtqESSkzFIAv+69hgYdJO51 vaaDLsTfaN+pWQQFyoNvEgGxveheo8AQSauGyGZulQMTWf/zFzKAJpa480aHMKcQqDi7jV e2OBzPi6P/elee5xKTD8vh8wOkOWPypKSnlj8BgA3A2ZeVYZyRRnOdaJiJD4WkpyRmC2wE XmoL/V1BiD1vX63LAexthkayZdiXQUdyDeoJMM9z9j/WnPfxGM789AOnma/xzg3Wp4nA96 Hb5GclQKZI3P69K0wogfE+1LNY0NSCkRMB8dhL38xKjtXDSBXBxM92+93hlbRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mo2Rw8zj0iIBbIhYarPukP/9DS8IZp4NAydr2HojLyA=; b=YcHyOFbrnksPpj7ePQ8nfFdC6YQ6BCKjiRNerYibFj7Lb+JIRhkiNfov+HivunpMAEsvoH bGcWG/oOOz+emgMa5BjSbzSeBCku8xoRhwDUNxH8Ypb8Y2IESEP/Nka36y22oHOw9QjN0M kevjCnhYu8j0YSAL86PEzclFxLdg3X1EVjWtkKJBccnw3BpYLrx7Jhb4TZmDv//g8MLwU+ U+NB2wZdl3IXvTBSAfqNoK/o3RsYH3zLroS+lOhPYs3oHej9qHKw5QtAckjEDcLgwgUx2V CHYS/4KFzx5zqb1PhFWPnrSOxKdWDu8oQjKoWcygt6VC0JX2PAxXRDUnaBmt7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116829; a=rsa-sha256; cv=none; b=lnoKuYB/dUNC1Nn+4Sy7c/U0v5Lo//GzeITjXkt3JRm9yvKn+6UDeudMbqry1WeXK21vpL rkhUqRaS1rbNubBv0GlKZOZWg2HbUKPRev3eQAWD5VBA9h21EjzyK7+io3HDpdotGy6lYc D1oVGsjTB/2M0bZF8SvBH/1iplCmvLpe8S5mS7taVT/5F3MqqsLR1fIt69Ic1XNbrJn/jy OabQSyEJFfcR41UoMCRvYWRmNUUjtuBR2RfYIRLTQIH69nyfPkrRfnFqzDhyZV49HU2Z62 1ZuUyPCBKgyjjyB27OeI/q+5OR47BQwz+fzfHklyViNGqdva1lgSge+1CBxrRQ== 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 4YZJrs24P1z2p4; Fri, 17 Jan 2025 12:27:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCR96i052286; Fri, 17 Jan 2025 12:27:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCR9H5052283; Fri, 17 Jan 2025 12:27:09 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:09 GMT Message-Id: <202501171227.50HCR9H5052283@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 73c073d99157 - stable/13 - mountd(8): parsecred(): uid:gid:... loop: Simplify a bit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 73c073d99157d587a5c50b61d63264882dec6ac5 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=73c073d99157d587a5c50b61d63264882dec6ac5 commit 73c073d99157d587a5c50b61d63264882dec6ac5 Author: Olivier Certner AuthorDate: 2024-09-26 16:16:16 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:51 +0000 mountd(8): parsecred(): uid:gid:... loop: Simplify a bit No functional change intended. Reviewed by: rmacklem (older version) Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46919 (cherry picked from commit ae22a4bb7437019e34fc593e101a6ac14c9d7959) --- usr.sbin/mountd/mountd.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 492d7a5e3647..47bb5758ee1e 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -3643,7 +3643,9 @@ parsecred(char *namelist, struct expcred *cr) cr->cr_uid = name_ul; } cr->cr_ngroups = 0; - while (names != NULL && *names != '\0' && cr->cr_ngroups < NGROUPS_MAX) { + while (names != NULL && *names != '\0') { + gid_t group; + name = strsep_quote(&names, ":"); name_ul = strtoul(name, &end, 10); if (*end != '\0' || end == name) { @@ -3651,13 +3653,16 @@ parsecred(char *namelist, struct expcred *cr) syslog(LOG_ERR, "unknown group: %s", name); continue; } - groups[cr->cr_ngroups++] = gr->gr_gid; + group = gr->gr_gid; } else { - groups[cr->cr_ngroups++] = name_ul; + group = name_ul; + } + if (cr->cr_ngroups == NGROUPS_MAX) { + syslog(LOG_ERR, "too many groups"); + break; } + groups[cr->cr_ngroups++] = group; } - if (names != NULL && *names != '\0' && cr->cr_ngroups == NGROUPS_MAX) - syslog(LOG_ERR, "too many groups"); if (cr->cr_ngroups > SMALLNGROUPS) cr->cr_groups = malloc(cr->cr_ngroups * sizeof(gid_t)); memcpy(cr->cr_groups, groups, cr->cr_ngroups * sizeof(gid_t)); From nobody Fri Jan 17 12:27:10 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJrv0s37z5kvZL; Fri, 17 Jan 2025 12:27:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrt3FQyz3Tpq; Fri, 17 Jan 2025 12:27:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Swgouq3xRhZBvQqHkvaqAXuheaChNefX47wwmO+6Rvc=; b=fQZYln1eTKz/xkjbx+HfOHabUzHsOLLOcXON/4AZwCoRjlftUPEQjjX81rgHeiLWixp0/9 2PDjI321koLxLc7jW3Xw26VgPWdx6ERs3uXt7Y4kCbZ1Vrc3FWKAI8hK19iDpGtaZZyYkx KNkSqdErT9qvxTSgqF4D8fvJ9N1oqFa8O4S6MnXC50/aAaW9Nx4F1FCOeJhFsmURugU4Bz 7pc/xsFHHdU9SZtvdLDJ6Ncw1pnnt0gd8a1qWeSjELmFx6Hyx+HbAGbVoN7Bz2ndohcHwf e8ZCfxXrwAdi/ErJbN8HSBDbCSKGvB6gSzNsRqCD8I28Z+h1B88jc1zYoUyofg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Swgouq3xRhZBvQqHkvaqAXuheaChNefX47wwmO+6Rvc=; b=OtNXNvbSh5c/rSB/jAxNjcqbVW/KPIJRq07Jka33ugDsiwYNrtSSUbB+dUfaUaXA3cBnui bECdI/6ElIJquGG2CYTfYrorPynZvoNl7PuF3cRi0H8tijkPeOQ0Bdk0bLzuzGlzAOj5Up NurdoY+POgleQiUMhFOxjdSjbPRvRAORxCv7FMXsZQDtDnIv9c2F/2S5pyr/7qhuj/1Sww C+ChyEqNpMQ+cBBJx4ceClDKYm20J8yNOB5z0nk22H+W1AKuAq/bmjeilTcl8UAm/XBgOG Q0P1mxhVOaAww7sasuJeF7uMx9gkjmBgBKm0Eler+C2MbVB04wld5qPm9aJFAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116830; a=rsa-sha256; cv=none; b=TKVTnVQBFnrXyDnrGyYHdFU24JlzLUU6CVHcIiEmkvhE3lRzO7cp/h5jb9oU04pafmPI9g egTyx0kWQfhxOzIBWHaCvHkGnbHqurXaiXx/IJO4JQ+SFCKaknlLzKI+EeQC+2TyodPONQ 9KIFQ+xwmRxa7cW9oeLi1ZFWB/fRcYNtR8EwzWjoo1DRDk7oqQESQEJ+JoeCHAsvksHyKe UIANJr3bnuFJac4qS3uD8MJwuRQs5ZTSUynALjfr4lMIJdVHd4FT8K423qxIsI9Pa5LsTa ynmgIFiCrXWCYW1ZxOvQGy61T72q8z1LZ7i9RZ9cUd49ZASM05BTXVZPYaonFQ== 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 4YZJrt2pS1z2lw; Fri, 17 Jan 2025 12:27:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCRA7e052330; Fri, 17 Jan 2025 12:27:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRAJ5052327; Fri, 17 Jan 2025 12:27:10 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:10 GMT Message-Id: <202501171227.50HCRAJ5052327@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 0c0cd622f279 - stable/13 - mountd(8): parsecred(): Remove "duplicate compression" List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0c0cd622f2797214e76d19bd45bbbfaa4dd21cf4 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=0c0cd622f2797214e76d19bd45bbbfaa4dd21cf4 commit 0c0cd622f2797214e76d19bd45bbbfaa4dd21cf4 Author: Olivier Certner AuthorDate: 2024-09-26 17:00:26 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:51 +0000 mountd(8): parsecred(): Remove "duplicate compression" No functional change (intended). This code dates back to 4.4BSD, became wrong after some getgrouplist() (nssswitch-related) change in 2007, was fixed only in 2020 and since then underwent cosmetic changes. It is likely that in fact it never served any useful purpose in FreeBSD, except perhaps at the very beginning. It's most probably not the case today: NFS credentials are normally only used to check for file accesses, whose group is checked against all groups of a credentials indiscriminately (except for the real GID). Consequently, having a single duplicate, which the code would actually remove only if in the first supplementary group slot, doesn't change behavior. Moreover, we are going to regain one slot in a subsequent commit. Discussed with: rmacklem Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46920 (cherry picked from commit f2d2318fafbb16c8a7773fe20c724c986f424fa2) --- usr.sbin/mountd/mountd.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 47bb5758ee1e..ebd88d3fdd66 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -3569,7 +3569,6 @@ static void parsecred(char *namelist, struct expcred *cr) { char *name; - int inpos; char *names; struct passwd *pw; struct group *gr; @@ -3611,23 +3610,12 @@ parsecred(char *namelist, struct expcred *cr) ngroups = NGROUPS_MAX + 1; } - /* - * Compress out duplicate. - */ - if (ngroups > 1 && groups[0] == groups[1]) { - ngroups--; - inpos = 2; - } else { - inpos = 1; - } if (ngroups > NGROUPS_MAX) ngroups = NGROUPS_MAX; if (ngroups > SMALLNGROUPS) cr->cr_groups = malloc(ngroups * sizeof(gid_t)); cr->cr_ngroups = ngroups; - cr->cr_groups[0] = groups[0]; - memcpy(&cr->cr_groups[1], &groups[inpos], (ngroups - 1) * - sizeof(gid_t)); + memcpy(cr->cr_groups, groups, ngroups * sizeof(gid_t)); return; } /* From nobody Fri Jan 17 12:27:11 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJrw3CKPz5kvcw; Fri, 17 Jan 2025 12:27: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 4YZJrv43Fsz3Tdj; Fri, 17 Jan 2025 12:27:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s1IKdbU2DukJqO4vJk6k6vUaho0PKbamOf79Mnb/mUs=; b=oQhcbHY54cv5NUdsCs9lH0HFpeRDZYFiev1SkSA0CPkQsSmw93LyPkOQ8Q1sfWmI8k+MxG L/vL3W2SESjjHvWha0l2UY4xd7EWK4rlOmauh/q+O0oPltbazpBixRNZssQ7U3gwkpGauF DaKyG2btZfRb990QqksuPSChrDbe0Qx4SnCOgqhzTMeOPpKRBCFyjAXsDdZFwV2rBLyCtp AvRj23mqHF3qcFJBd4SoNLfMBnOozq9JCWfpTfoVPrHrlDgqts2P+6XcB7urbXtB+/kzgb 2JiCKqdgB+V/tYh+4zWqAfZK5PXGPcMZ9/vb/a6NTJzZj339VTnkfpaBsLdhvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116831; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s1IKdbU2DukJqO4vJk6k6vUaho0PKbamOf79Mnb/mUs=; b=lHCUgz0hu5gSC0iVuPl8pEar75dGo1PaCBuoBPsuoKPn8LaErP1mzDlCU7hHplopvegF9Z 7RypMwaJ13nZOMPDOMYQobbg9hcZuJ3YHTe2sDKAUhV7Wv+oSuDgOQGLsZ2QAuw2+bAgdL x/8ZPUKDBIciXB16HDTZuvgvTDI2VJy7u5JRfYh4KE0Yf6O1a1+TkX9SDVZ5eH7w5yvTK5 gRGmGRer/kHwDAGaCzSL+G0k2XtC+0OcTFGdXBFmS6YO4RUuZSIvyUfLTTSZoIHEdGFZ6T PLPv25YMmtckvB0VmsxerkxIEIpkAKlZC/fNynIlUimnpjkK6s9r6sXm28S3Mg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116831; a=rsa-sha256; cv=none; b=pUSgrAUbOiNQ6U3ObJWuGfHGvIb3FJobN2CHSdD0mzht150/PgqhSyhtlKFppqBHpk+b6j qOu9Jxr1BqG06uB+KcGJ+RVdNkt40Rm9Q2Veq4OuapChMyfLxz3ENVRw0BvoDB3HfV0mr8 RgkHfSSO1ySdxK0mhCxgT1iF5iWQgd+XVH80+blJ5MiGCGiUmBhr6qLWS3+GUjDq6TBTKW Ax2X3LavPAX3P/trqUm5h6G/J4yN6m1yUqBOLB7ThLs/YXPPT2838uN20vzJC10BYAxlbx 5q06s+exIS3Hwvagna/P/mu8YZVgQrKoeosFg9utWiwGY88sbqtzB/4ErQJWTw== 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 4YZJrv3cGnz2lx; Fri, 17 Jan 2025 12:27:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCRBgx052378; Fri, 17 Jan 2025 12:27:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRB1m052375; Fri, 17 Jan 2025 12:27:11 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:11 GMT Message-Id: <202501171227.50HCRB1m052375@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 29a0511b184d - stable/13 - mountd(8): parsecred(): Fallback to "nogroup" or GID_NOGROUP List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 29a0511b184d6d59c6b0fee72dd6f48e6b8d0081 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=29a0511b184d6d59c6b0fee72dd6f48e6b8d0081 commit 29a0511b184d6d59c6b0fee72dd6f48e6b8d0081 Author: Olivier Certner AuthorDate: 2024-10-08 09:21:17 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:51 +0000 mountd(8): parsecred(): Fallback to "nogroup" or GID_NOGROUP In the 'uid:gid:gid:...' case (for '-maproot' or '-mapall'), if no GID is specified at all (i.e., input is of the form 'uid:', with the colon at the end), mountd(8) would pass credentials with an empty array of groups to the kernel. For security reasons, we have put in place a kernel fallback a while ago, which is to use the single group GID_NOGROUP (see commits cfbe7a62dc62 ("nfs, rpc: Ensure kernel credentials have at least one group") and 5169d4307eb9 ("nfs: Fallback to GID_NOGROUP on no groups")). Here, as we are in userland, we first try to find the GID number corresponding to "nogroup", and only then fall back to GID_NOGROUP, as nfsuserd(8) does. Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47011 (cherry picked from commit bdc259ef382f76b1821d4356049d5b856c42901a) --- usr.sbin/mountd/mountd.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index ebd88d3fdd66..6b3a9af1c279 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -273,6 +273,8 @@ static int xdr_mlist(XDR *, caddr_t); static void terminate(int); static void cp_cred(struct expcred *, struct expcred *); +static gid_t nogroup(); + #define EXPHASH(f) (fnv_32_buf((f), sizeof(fsid_t), 0) % exphashsize) static struct exportlisthead *exphead = NULL; static struct exportlisthead *oldexphead = NULL; @@ -1577,7 +1579,7 @@ get_exportlist_one(int passno) anon.cr_groups = anon.cr_smallgrps; anon.cr_uid = UID_NOBODY; anon.cr_ngroups = 1; - anon.cr_groups[0] = GID_NOGROUP; + anon.cr_groups[0] = nogroup(); exflags = MNT_EXPORTED; got_nondir = 0; opt_flags = 0; @@ -3582,7 +3584,7 @@ parsecred(char *namelist, struct expcred *cr) */ cr->cr_groups = cr->cr_smallgrps; cr->cr_uid = UID_NOBODY; - cr->cr_groups[0] = GID_NOGROUP; + cr->cr_groups[0] = nogroup(); cr->cr_ngroups = 1; /* * Get the user's password table entry. @@ -3651,6 +3653,11 @@ parsecred(char *namelist, struct expcred *cr) } groups[cr->cr_ngroups++] = group; } + if (cr->cr_ngroups == 0) { + /* cr->cr_groups[0] filled at start with nogroup(). */ + cr->cr_ngroups = 1; + return; + } if (cr->cr_ngroups > SMALLNGROUPS) cr->cr_groups = malloc(cr->cr_ngroups * sizeof(gid_t)); memcpy(cr->cr_groups, groups, cr->cr_ngroups * sizeof(gid_t)); @@ -3989,3 +3996,19 @@ cp_cred(struct expcred *outcr, struct expcred *incr) memcpy(outcr->cr_groups, incr->cr_groups, incr->cr_ngroups * sizeof(gid_t)); } + +static gid_t +nogroup() +{ + static gid_t nogroup = 0; /* 0 means unset. */ + + if (nogroup == 0) { + const struct group *gr = getgrnam("nogroup"); + + if (gr != NULL && gr->gr_gid != 0) + nogroup = gr->gr_gid; + else + nogroup = GID_NOGROUP; + } + return (nogroup); +} From nobody Fri Jan 17 12:27: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 4YZJrx2qWhz5kvr9; Fri, 17 Jan 2025 12:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJrw5DD5z3Tdt; Fri, 17 Jan 2025 12:27:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kyq10yL/S77eivPu9v+urYg0oawq7rJbcwzZlU1OtDI=; b=Q9wMiA4kY9AKFPZ7Y6mbrtMTkX/rB6b9MfJ7dpw3b2mloDTpcQhH6sjmpZ688h/mzVrKXD XZQHCPw5rQCH46ZhyBI1yiGigwItHrxDGnNTVhl0kK7valA77JesRUApkWNFnWmfYyzLA8 6qKpS2FHjTSzbmnyW3yNOGbJB+8pekYwKOX3mDMifoFRqARWDxfpOSpIK4VKBZh4OkOzFj 6+x+ThyPcsBNX6wB5uoPiWfENLff9EBgAeIWPwvXHhxjUud1lSX0q9c3D9w24uVAhJboOk 2iOskzSGlH/fax4G/R05WiXMj3CzSzT0UPAURDIir9k3+osbO5f3tcDfu87R5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kyq10yL/S77eivPu9v+urYg0oawq7rJbcwzZlU1OtDI=; b=gZV0KRqZXMHzDvpEovZRLQez6jJ9falONSWVbMxa/8IKqwPUHo84w3uucbgCtJcpLavQz3 TKqsooW+90c3zIwlenq93WnCINh2dHN+fQQL/cOKVXqKuEd/AHbqIoaDfStjfRRWS7QurZ SKDKT8GyDKJ73kgOU3fM0YqBz/3mx5SDmyY9jnPE0OhFL39YQj1tOkolToYLPzt3PU77I3 oPb+NLOXOjHhoAjbHsUqwupvYSbgsgtPNk5a+lUExVzF2bdj3vgGcRo73dfQYop8IS1hcJ rXMTg23NV8r5iZQ87gfRV78aqQk7p+ZSvMfFI5VPm9KR5yiWZ7ABGD8CLEE5zg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116832; a=rsa-sha256; cv=none; b=FdVSySmfLkBh8d8SeWKy/lL7IjvmSrfJ6CqIL+sez6vYfHUIbKS44dcUsTwudZ3MIiX/fO Vw3Aabsps4AsNgEI0nWQ6DZ2v53D/9Dv0qBWBHw3KIC3zmAGxoqk/VodIMlKn2+Ny8HACB CdH1dgLOkQ796q0MlNIUFhpUHnO5WcSYFsLxO0rTJ2C/eEJTdsaZBlUvXefsYlnWTTZQ+6 n+m6CWh3p3vPykd/i7Ngu6v8qdHbJDjTF6zRZy53FSjL7bhyxN1K6FQyfZ4Q43XP7EY3Tc xqE/lv36LIL+cEae82HotOt8bevI6gVyHVjXe20Eooi0d2K4OtOybaFxFayy4g== 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 4YZJrw4mrZz3Bc; Fri, 17 Jan 2025 12:27: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 50HCRCjW052432; Fri, 17 Jan 2025 12:27:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRCh1052429; Fri, 17 Jan 2025 12:27:12 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:12 GMT Message-Id: <202501171227.50HCRCh1052429@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 70d657d7380c - stable/13 - exports(5): -maproot, -mapall: Explain the fallback on no group List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 70d657d7380c1c5c056508d4c122e691ed104042 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=70d657d7380c1c5c056508d4c122e691ed104042 commit 70d657d7380c1c5c056508d4c122e691ed104042 Author: Olivier Certner AuthorDate: 2024-10-08 09:34:44 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:51 +0000 exports(5): -maproot, -mapall: Explain the fallback on no group Reviewed by: rmacklem (older version) Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47012 (cherry picked from commit 2ef608de90629df37c29043afc638f8ff99ecfc4) --- usr.sbin/mountd/exports.5 | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/usr.sbin/mountd/exports.5 b/usr.sbin/mountd/exports.5 index d135184cd464..dfbc16c28639 100644 --- a/usr.sbin/mountd/exports.5 +++ b/usr.sbin/mountd/exports.5 @@ -27,7 +27,7 @@ .\" .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 .\" -.Dd April 7, 2024 +.Dd October 08, 2024 .Dt EXPORTS 5 .Os .Sh NAME @@ -142,8 +142,23 @@ The user string may be quoted, or use backslash escaping. The colon separated list is used to specify the precise credential to be used for remote access by root. The elements of the list may be either names or numbers. -Note that user: should be used to distinguish a credential containing -no groups from a complete credential for that user. +Note that +.Cm user: +should be used to specify a credential containing no groups, in which case the +established credential will use +.Ql nogroup , +else 65533 +.Pq Dv GID_NOGROUP , +as the fallback group +.Pq a credential object must have at least one group internally . +Using just +.Cm user +.Pq without colon at end +falls into the +.Sm off +.Fl maproot Li = Sy user +.Sm on +case described above. The group names may be quoted, or use backslash escaping. .Pp .Sm off From nobody Fri Jan 17 12:27: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 4YZJs028Qkz5kvZR; Fri, 17 Jan 2025 12:27: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 4YZJrz0DCNz3Tqd; Fri, 17 Jan 2025 12:27:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mV7uVmyLtIdWz0P2r+L05aFjU1hKU6Vecye/P1kAwEQ=; b=Bj0rEf9wQ9eAn2Pn0HuqUrdIhqqBEOMnBadQL4Kwv6T5Cu5zzf67p+AKfYaoo7XMwtx5a0 WDuuROdhFl0aNo/m28lpK21KoI3XcO0uUgkPbr1YEmFaZgS6jwvgrCDBdk8dBF8deE+nUC cQszPH5bIe/bwzo6BvuD4Uq0ypS/dw8XMX8V5NMvwF5x1NPz70OJz1hxWHbCT1zEmL/QAo kPoEy4R8f+xr1PWBvNuMmdLT1dvhtGMPiAKToyLIyf41oce9SJGXeNOcMqqVcI0aSv0/mU r8KlIhQCO+uHped2Ha8UOjbvzlJIl1hT32zCQ3G+3yXZJHvA5K3g0akejK5sDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mV7uVmyLtIdWz0P2r+L05aFjU1hKU6Vecye/P1kAwEQ=; b=sA1FxleLaJa3LIuPnXCxKtietpsxAQdda3Axy4O77CYTrIZKKmCYuUVzlPFaT/8DTVR5+f la9aXr3XcVgv2FDUHPkZj54J1gSFjlb7E91fT29DB4N/sAAffvrr0BjYmYm/FU+5OvkpYO +oFhjamImSLhZwqMhHAL4sa6IK9u+FkFdjoxiwtiHmOj4c+XoMx0QyS+B+ENrw/cbMZ7MP CLBYdYisJNzKJX81XGqWSM6QytaHTnUNTIsBw44PSzsj4RgDyTDqmMfC2Kb9ekFYhOUq5f Af7r/wKhDE30iWpQ6/C5CXz59fvjitwuHbnOcXDg/Mi5t9SXGXxzaCvPOAfQiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116835; a=rsa-sha256; cv=none; b=bjhP7ufIUa4j6ST2mPj3o8Im52DDTQJ0xJZW93HQOseuaz6d43YUSyhJ5vfuuFhthzllmF hY+9j2nT9++uPGuY8Pa/fw6JI57+8+Ao+UXilbLhx1QtawdS7EB+9eMHna34Yo2MwLC4vE MGtJn7xKeSMruSxRRXW3FIz9nMY7u+ImtDnhNHmgv8bkKB/5ydW7C9mGtM2O+u4BrnGDQe yG2Z1tSpSmnfI3C5sUFmJIkfWaccwA6CWlG6majQRbFRYrveHN7StQR37ZTJ5YzumGNyy9 IiR07vaXHyjDD/VVhrFZ6l+YnQE0kCCU/yCaEo23oHUTnaHNGT13dM+tEtquKA== 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 4YZJry6x6kz2m0; Fri, 17 Jan 2025 12:27: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 50HCREN0052543; Fri, 17 Jan 2025 12:27:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCREoZ052540; Fri, 17 Jan 2025 12:27:14 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:14 GMT Message-Id: <202501171227.50HCREoZ052540@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 46f0ef933d28 - stable/13 - nmount(2), NFS: Accept 'ngroups_max + 1' groups in "export" credentials List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 46f0ef933d288c151accc95cc4717cf6abada83d Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=46f0ef933d288c151accc95cc4717cf6abada83d commit 46f0ef933d288c151accc95cc4717cf6abada83d Author: Olivier Certner AuthorDate: 2024-10-08 09:39:08 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:52 +0000 nmount(2), NFS: Accept 'ngroups_max + 1' groups in "export" credentials There is no technical reason to limit that to NGROUPS_MAX, which is off by one and just our minimum maximum value. Reviewed by: rmacklem Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47013 (cherry picked from commit 84337218786b13f0ebfa834d28de41dce02bc937) --- sys/kern/vfs_mount.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/vfs_mount.c b/sys/kern/vfs_mount.c index 8cee38c7ec2e..11e3ddc2c64c 100644 --- a/sys/kern/vfs_mount.c +++ b/sys/kern/vfs_mount.c @@ -1339,7 +1339,7 @@ vfs_domount_update( bcopy(bufp, &export, len); grps = NULL; if (export.ex_ngroups > 0) { - if (export.ex_ngroups <= NGROUPS_MAX) { + if (export.ex_ngroups <= ngroups_max + 1) { grps = malloc(export.ex_ngroups * sizeof(gid_t), M_TEMP, M_WAITOK); export_error = copyin(export.ex_groups, From nobody Fri Jan 17 12:27: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 4YZJrz4lHWz5kvJ9; Fri, 17 Jan 2025 12:27: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 4YZJrx65gbz3TkR; Fri, 17 Jan 2025 12:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TKOBb7l9pKsfGdzmnIS4GT63VeG381NdU+xTaP5RoZA=; b=K0wtlZyy+nb8F7+Znfv/C2uV+s0amjKhl+FSxGO2v0Nvl5qE7kOS3osFR9h2Wcds/IJ4xL o4aB7TomaLq7C3fO7aUZNLEAxRlECbXcyEYlsC7VuaF2W4zNIyWNKNXl+RMT55nJk/xPzo OmeMVauBmJo7XFsr100i5jE9o4wU6zOdifXCohPQm8DDYFf90iY5yFkPJQfaJ20e7ijo0p DhYr3T9/hThVu0FRPsJeXVttAlz06GUxc+Ba3oNbNQ7f+e3ADHf8N7J7l+i5d0DslMWC8n T2uBxclkt4d3c6kSb0gwSHAfFRD6GWtjgTHJRRNenSiPlY5py5YYXT2+6eNaEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116833; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TKOBb7l9pKsfGdzmnIS4GT63VeG381NdU+xTaP5RoZA=; b=kY+t0kR/TJGHZVvrhmrha+7bbGZe3+ZztJgGtaXROz2XaR1PpPMoqjSZrXU2fb8qBc0c4P 6cLn0iqsSaLrTr7jwgKcCJTWJTn9Pya6hjU+1sWaMuamwkBsRp4Q5xtGHS34p7JA2LmCoL a0ikXJx3CcrFa4aBoAtMhu84lB/cc4ZHWjuzuTEgJ51ivOgspzR/mMj2M+pAD7D0zmZisk /T44vfYw82fivYW6GYtxCcm2DRKR/BrAFNWF5ANDqyE3WVHj9x58ciisl0bHaqOP9tXXNd 7jZGswodwSCFitxw/KAqRQrxs/iCGkZZ7P97TflQdOsVpfbkPGBdOD2ZYTinjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116833; a=rsa-sha256; cv=none; b=YulamOYlUSVLDYUKiDIxiTOYa9bZSTNmR06UB6+sJVe8VwCPrWoGqKN0IGyjVftWQvsobk c9lSYb0UCNHaI7WT4FgVMMOJRP7paJ77d8s4/bu6XopCA1jH3ZhWq/urXUtseWqHAGSgCk tYc5CmwOT7ie0aHJHanwwhoMr3+iCw6FnTb9/xDMDea53vtrOGuBjib5r+8AmJOQXQD0sg a/leXOj0sJbU74SLQcxBCD6kO82S9xlqMUIO33iHXNwQGtFQIp2u7QTj9H8EadBxW6IDQW W16dBvv8P3sDwVquAi8Y5++aTPjGj35qvgC0+gxnOyy09WjKwgNlq8JfAgo8iQ== 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 4YZJrx5j96z2ly; Fri, 17 Jan 2025 12:27:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCRD6O052486; Fri, 17 Jan 2025 12:27:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRDUq052483; Fri, 17 Jan 2025 12:27:13 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:13 GMT Message-Id: <202501171227.50HCRDUq052483@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 043e259e41d3 - stable/13 - mountd(8): parsecred(): Groups limit: NGROUPS_MAX => NGROUPS_MAX + 1 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 043e259e41d3f17f3c9415db0135ad82cb532f1f Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=043e259e41d3f17f3c9415db0135ad82cb532f1f commit 043e259e41d3f17f3c9415db0135ad82cb532f1f Author: Olivier Certner AuthorDate: 2024-10-03 14:49:40 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:52 +0000 mountd(8): parsecred(): Groups limit: NGROUPS_MAX => NGROUPS_MAX + 1 Lift this unnecessary limitation. Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46921 (cherry picked from commit 7f7f3b6cafac6e8ab993a14386e34991224f86f3) --- usr.sbin/mountd/mountd.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 6b3a9af1c279..cdf42de2fcdb 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -3612,8 +3612,6 @@ parsecred(char *namelist, struct expcred *cr) ngroups = NGROUPS_MAX + 1; } - if (ngroups > NGROUPS_MAX) - ngroups = NGROUPS_MAX; if (ngroups > SMALLNGROUPS) cr->cr_groups = malloc(ngroups * sizeof(gid_t)); cr->cr_ngroups = ngroups; @@ -3647,7 +3645,7 @@ parsecred(char *namelist, struct expcred *cr) } else { group = name_ul; } - if (cr->cr_ngroups == NGROUPS_MAX) { + if (cr->cr_ngroups == NGROUPS_MAX + 1) { syslog(LOG_ERR, "too many groups"); break; } From nobody Fri Jan 17 12:27: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 4YZJs11qFnz5kvd4; Fri, 17 Jan 2025 12:27: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 4YZJs01Hw6z3Tkk; Fri, 17 Jan 2025 12:27:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ntAFb1vNsJtgeCw92CIIqmKVX3vl33ZGQwZ7iPMAyL8=; b=SQqEsP3F0cS1A5KyNKDQGHo8tEEZTOkr0c6uCI1U2Jhm3m6/i7di+PqwF8UyAxWBU8k50w TxmyzQqNww25cnuW7VjvfELn1SNb+QurZ5iNCjIi4ptjBGvGNDq9dm5BNnSMzv+WMlsZ0S B+o/nMnQiyzOoyYi/5fiOUgOLJTJ4D7AmGjIWOENQ1jbSRpyRW4K0gJMXRPsyiAWm8jFvQ njxSidM+0mziyYXcjHjrz5aGsAJLkv+V9kqW5UX9MfWqoiY3B+A0fR34O10CGC9Fi1YAgS E7K9i3NO2HEXY19uMklxZFCeL5pkMw6/qZVSq0pMNc+7CEzw3S4WTyd7HW/O7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116836; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ntAFb1vNsJtgeCw92CIIqmKVX3vl33ZGQwZ7iPMAyL8=; b=hCmARPdTupe/vShSO0OU1H3v6qI+WZdmD3m2bY3e0SSFRnY7tCTgGNkFUbK2yvJYjU3mk1 150Y4s3lCsx/nNRgbLtY+CJMBIq7lUv8wxA/L2YjUygTc+F98r3zqzKY11MgZF3Sar5bX3 gMEgImP8VBIZ8YqUyfxROtA3wh2YQv7GYn1lfbsvTH1YnHiEvmbseHWTjwTI6gCz0S9Uym jwLaN2+YnDJ1JXlvhIM27+2keaezq7VlXOxi05CkyVHIks2zhOgB/gDuS7r5EZwOYtHq0u mCiS2quGE2dMSFM1W8rUke4LRa1s3D5roE6aPDxdn2vmELLGI8zySdwTrtOVmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116836; a=rsa-sha256; cv=none; b=ruR3abxHu+WuCVKZIVTYco4yitORXUZT/P3f1RzIdO+Zpe+TK9Y0mKOetarkm4aWdeSJAf MzJ6zSJHRFyrWG2YRyd4c6JJR8B5+7jwkTBr1z2lYLooeqAXWwDjllhRDk3oQkJJPGAzH1 CIWco45zj+UVEwCXyAzhLMNDdOrDMZOWK9vInp/SEdPQhG7axAKH7ebV7as0segoLr9Nju AYLuIgJX2j9k8BRoKVo3OfcvKr1dSuisrrsfjLOgblF6AAoM+EwlKql+METMRuk1vg4SgG 90Hg2/8/40a9z3/eb3oOBNjBsSIeb9nT6CHALBzzArc7NSPtcc+LfQtFERWh8g== 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 4YZJs00sJ3z3Bd; Fri, 17 Jan 2025 12:27: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 50HCRGhd052591; Fri, 17 Jan 2025 12:27:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRGkn052588; Fri, 17 Jan 2025 12:27:16 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:16 GMT Message-Id: <202501171227.50HCRGkn052588@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 111c7322f71e - stable/13 - mountd(8): parsecred(): Remove comment on non-existent bug List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 111c7322f71ec653447fd79382ae75c6b11605cd Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=111c7322f71ec653447fd79382ae75c6b11605cd commit 111c7322f71ec653447fd79382ae75c6b11605cd Author: Olivier Certner AuthorDate: 2024-10-08 09:44:06 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:52 +0000 mountd(8): parsecred(): Remove comment on non-existent bug 'name' can never be NULL, as it is equal to 'names' and 'namelist', which was passed by do_cred() only if the actual parameter wasn't NULL. Reviewed by: rmacklem Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47014 (cherry picked from commit 0b011b5cddb5b17cf5b8f50ff580f3eb4abaeeef) --- usr.sbin/mountd/mountd.c | 1 - 1 file changed, 1 deletion(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index cdf42de2fcdb..8ddedbb16f24 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -3591,7 +3591,6 @@ parsecred(char *namelist, struct expcred *cr) */ names = namelist; name = strsep_quote(&names, ":"); - /* Bug? name could be NULL here */ name_ul = strtoul(name, &end, 10); if (*end != '\0' || end == name) pw = getpwnam(name); From nobody Fri Jan 17 12:27: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 4YZJs237s0z5kvlt; Fri, 17 Jan 2025 12:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJs13nfZz3TnZ; Fri, 17 Jan 2025 12:27:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hiqnB/CQaafCTWFbtIGs6fWPEk7eZdPL0H2w7hbAyNc=; b=ZWglmzVWWiAX27SzuXBuL3sXoWH5S8vxcx6iaAfkJbuQ7Db3+1lmAaffsvHcLSwC+uqDSU 3bAYtRASuz6HDiGz87RI88ut3AZSEhS/fzwboclG2tUJsKCKwVxgZVu1+gULjjpAuNnt9x Qy6v/jAcPfBi1XDWKWBP+cTyxVmu91+TErdkUjZIZ8ZnVoYbfnjkB4UWBxwPuJfWDjdyxV WZ6yAEvAUks1Dr6knDS3cBPCZcP7h+fJaXHHE15nqcSOCMqcwMtBEGVTZeOL04fviqHQm5 8rext7qL/Z3kJ3XSeaSDRvFcw3WPNIeWCdtV61CZSklzLVAcxvq2ISabUtFcmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hiqnB/CQaafCTWFbtIGs6fWPEk7eZdPL0H2w7hbAyNc=; b=pWZDZcCox18kUR6bNgzNe4zXVjLCakb52YdWU9JI9OpMhTRXBmx4v1VAKC+zU13JxbJLeL fUdSx2aJ5EqbsaK7mCeJjk7OY+CMPpnF1WiB2Lq64psxImHBQFe8NAECEdCrAG0lmU5Z8q jhCy0wKI41p8nSPSUJemoFtpGR+uwbR8N+yUA1XdrE+US39+uN3abV2m2+utRmxxSxhaJY jMTYJRqyK7T0Y0YfF+tFFcdqRk5IqaL5bkT2GJx9IUVJXbRw8MbLoFa8pAB9MUWARDsGY3 0on7kY23nfguRAnCHmpm0CTZZJ1DdEMfYdy5XlaY8oF6LAPj5HY9CsWxMNfB1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116837; a=rsa-sha256; cv=none; b=tPJmN8xhN0GFGzSL8+fC9G9mimRfqLYUX4H73IrvMNi3Dy68GZ0TTSXKw1FByZRuzupQME osJGeppXZi4xUyc+L0rscld/Noyfrc6wJROBP7/h0aAOoNRKf8zcnQ4XyoAXj4/SdiseFT SOrqzIQyuW7bxZHhzJ8AQkku55agF8mL0VfMY68o7U9E9ztoOdWx27oZV6JbjqjgfsAtA+ UmSXENgBf7odBU8BlGffCzlbJrFFaPrSEE3OLlWilGHxu3CXQt+XWD2V2ZKHG2tgpbyH0P kTf+vJ8ydW+TRbfmyCnvmLnujTHm9ownzg5OKLH++IJcG6x+L6HgzdYbtWyPKg== 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 4YZJs11rfwz2p5; Fri, 17 Jan 2025 12:27: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 50HCRHSX052638; Fri, 17 Jan 2025 12:27:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRHGY052635; Fri, 17 Jan 2025 12:27:17 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:17 GMT Message-Id: <202501171227.50HCRHGY052635@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: f8e47b137a80 - stable/13 - mountd(8): parsecred(): Re-order operations for clarity List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f8e47b137a80ca4c3e8d932d1b4b8f89c3d02942 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f8e47b137a80ca4c3e8d932d1b4b8f89c3d02942 commit f8e47b137a80ca4c3e8d932d1b4b8f89c3d02942 Author: Olivier Certner AuthorDate: 2024-10-08 10:06:55 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:52 +0000 mountd(8): parsecred(): Re-order operations for clarity No functional change (intended). Reviewed by: rmacklem (older version) Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47015 (cherry picked from commit a20d50245f280be404cb8e3b5c9d570ded9594b9) --- usr.sbin/mountd/mountd.c | 53 ++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 8ddedbb16f24..ac1a652f349e 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -3573,21 +3573,14 @@ parsecred(char *namelist, struct expcred *cr) char *name; char *names; struct passwd *pw; - struct group *gr; gid_t groups[NGROUPS_MAX + 1]; int ngroups; unsigned long name_ul; char *end = NULL; /* - * Set up the unprivileged user. - */ - cr->cr_groups = cr->cr_smallgrps; - cr->cr_uid = UID_NOBODY; - cr->cr_groups[0] = nogroup(); - cr->cr_ngroups = 1; - /* - * Get the user's password table entry. + * Parse the user and if possible get its password table entry. + * 'cr_uid' is filled when exiting this block. */ names = namelist; name = strsep_quote(&names, ":"); @@ -3596,13 +3589,25 @@ parsecred(char *namelist, struct expcred *cr) pw = getpwnam(name); else pw = getpwuid((uid_t)name_ul); + if (pw != NULL) { + cr->cr_uid = pw->pw_uid; + } else if (*end != '\0' || end == name) { + syslog(LOG_ERR, "unknown user: %s", name); + cr->cr_uid = UID_NOBODY; + goto nogroup; + } else { + cr->cr_uid = name_ul; + } + /* - * Credentials specified as those of a user. + * Credentials specified as those of a user (i.e., use its associated + * groups as specified in the password database). */ if (names == NULL) { if (pw == NULL) { - syslog(LOG_ERR, "unknown user: %s", name); - return; + syslog(LOG_ERR, "no passwd entry for user: %s, " + "can't determine groups", name); + goto nogroup; } cr->cr_uid = pw->pw_uid; ngroups = NGROUPS_MAX + 1; @@ -3617,20 +3622,14 @@ parsecred(char *namelist, struct expcred *cr) memcpy(cr->cr_groups, groups, ngroups * sizeof(gid_t)); return; } + /* - * Explicit credential specified as a colon separated list: + * Explicit credentials specified as a colon separated list: * uid:gid:gid:... */ - if (pw != NULL) { - cr->cr_uid = pw->pw_uid; - } else if (*end != '\0' || end == name) { - syslog(LOG_ERR, "unknown user: %s", name); - return; - } else { - cr->cr_uid = name_ul; - } cr->cr_ngroups = 0; while (names != NULL && *names != '\0') { + const struct group *gr; gid_t group; name = strsep_quote(&names, ":"); @@ -3650,14 +3649,16 @@ parsecred(char *namelist, struct expcred *cr) } groups[cr->cr_ngroups++] = group; } - if (cr->cr_ngroups == 0) { - /* cr->cr_groups[0] filled at start with nogroup(). */ - cr->cr_ngroups = 1; - return; - } + if (cr->cr_ngroups == 0) + goto nogroup; if (cr->cr_ngroups > SMALLNGROUPS) cr->cr_groups = malloc(cr->cr_ngroups * sizeof(gid_t)); memcpy(cr->cr_groups, groups, cr->cr_ngroups * sizeof(gid_t)); + return; + +nogroup: + cr->cr_ngroups = 1; + cr->cr_groups[0] = nogroup(); } #define STRSIZ (MNTNAMLEN+MNTPATHLEN+50) From nobody Fri Jan 17 12:27: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 4YZJs33FmCz5kvjf; Fri, 17 Jan 2025 12:27: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 4YZJs25djZz3Tff; Fri, 17 Jan 2025 12:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vs2RC0xE7gXnPage1aB23aGBWcPz6FDhAZAMn18JCNM=; b=rvffruuE9FSlsiC43azLfChVNv/VTKgxvkOimYHH1lJ8i9ap6Z9onHY3udhaMS4s30GjSZ 9ivMn5tPA4jGyPKQrN/fGeSKIGClsG9xsaArrKGobfCiJY8oKQ8qlPhddODsA0bZI8Z7G1 YAJM5HHg+FhlUrmKZcJ0W43hhoBUOmbOiP8oZnjY6excWVMcoPHVNay8UbM/27brfcbpQj fomXeWmJO4rq47RGTqpyxC/tqWkATK1MKChg4GwQfioOG1d/sXY0RrfpukoQfr8Rd3GJ1w BA5GnC0HxmJNLpt1WzpSP8nQs9myvzZqr3Ap5PlolNEnHUErC+u7NALeZYBIcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116838; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vs2RC0xE7gXnPage1aB23aGBWcPz6FDhAZAMn18JCNM=; b=CsFVn1ATUk/hV/d/kqM8a3c1QFannlq2h4ItPH7yQNred/5Aw4I0uQYZ/427aZi9+/9yr4 nIDRmlKZnctzw4YqwCFndusa47gdFHdyji1gMs/1XJ2Oq5BO1tdXsruFookFh4JSAM2ac3 AI632xtK68rk6StFH+TgGsOLJUQjn1yRZWk0WvVNpL80jca91vnQNvhOVTFjAFpkJKByMO EpWNgRfWf7zCFqB3yNB4zWtjqxlkKsiml6CtooeDEU76tRNjU76OfFm8ke0EgFo1ixqqiS FV+FGp9DMIBbJwf+oatcFiv4CNf8EmTdnca+nd3iDQSOhL7XdcgC94snaGiAyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116838; a=rsa-sha256; cv=none; b=b7xzalf8aznHeyNEZybtouzFJUZgLP6PgLHEya+TKDUzA1pGc5/wsO7v3SbTuJ9EMiR6/a OwU/nWBoyDlicjaSSIa02XpKYuTG+Lfl6bOQr5rKvl9w4SeiyXFDDR3g9YwboGFHpXuSBw Y5nSJVlhcMmfo/rvyWcKOoZqJalYNH377BEvCbprSlGIyl4TYVdfQqAs9DkePD5Ri8TxVj LHKNgX3B1kpeeLAiZXZ32idUhQiz7QcwjeUILzeXiR3YDIpvp78Ww0oc7eRtxy8HaYH2is 9Lm24nYTEYhoxsaxTZOjxBJGyIqwT0+qLTgMfXns0iA9kwzndSrpDDuPvGpyNA== 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 4YZJs22Yq3z2rZ; Fri, 17 Jan 2025 12:27: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 50HCRI76052695; Fri, 17 Jan 2025 12:27:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRISn052692; Fri, 17 Jan 2025 12:27:18 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:18 GMT Message-Id: <202501171227.50HCRISn052692@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 927d7d57793a - stable/13 - mountd(8): Allow to pass {NGROUPS_MAX} + 1 groups List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 927d7d57793abc0acab85aaf453e42775755793f Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=927d7d57793abc0acab85aaf453e42775755793f commit 927d7d57793abc0acab85aaf453e42775755793f Author: Olivier Certner AuthorDate: 2024-10-08 12:30:03 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:53 +0000 mountd(8): Allow to pass {NGROUPS_MAX} + 1 groups NGROUPS_MAX is just the minimum maximum of the number of allowed supplementary groups. The actual runtime value may be greater. Allow more groups to be specified accordingly (now that, a few commits ago, nmount(2) has been changed similarly). To this end, we just allocate once and for all a static array called 'tmp_groups' big enough to hold {NGROUPS_MAX} + 1 groups (the maximum number of supplementary groups plus the effective GID, which we store in a variable named 'tngroups_max' to avoid confusion with the kernel variable 'ngroups_max' holding only the maximum number of *supplementary* groups) in main() and use this temporary space in get_exportlist_one(), do_opt() and parsecred(). Doing so in passing fixes a (benign) memory leak in case "-maproot" and/or "-mapall" were specified multiple times and the first option comprised more than SMALLNGROUPS. parsecred() does not use 'cr_smallgrps' anymore, but we have kept 'cr_smallgrps'/SMALLNGROUPS as 'struct expcred' is also included in 'struct exportlist' and 'struct grouplist', and thus this preallocated field still results in an optimization for the common case of small number of groups (although its real impact is probably negligible and arguably was not worth the trouble). While here, in do_mount(), remove some unnecessary groups array allocation and copying. Reviewed by: rmacklem (older version) Approved by: markj (mentor) MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47016 (cherry picked from commit e87848a8150ed75da29d99a7d0c0bba6cc5129b8) --- usr.sbin/mountd/mountd.c | 69 +++++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 33 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index ac1a652f349e..251b36e39d8b 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -70,6 +70,7 @@ static char sccsid[] = "@(#)mountd.c 8.15 (Berkeley) 5/1/95"; #include +#include #include #include #include @@ -254,7 +255,7 @@ static void huphandler(int sig); static int makemask(struct sockaddr_storage *ssp, int bitlen); static void mntsrv(struct svc_req *, SVCXPRT *); static void nextfield(char **, char **); -static void out_of_mem(void); +static void out_of_mem(void) __dead2; static void parsecred(char *, struct expcred *); static int parsesec(char *, struct exportlist *); static int put_exlist(struct dirlist *, XDR *, struct dirlist *, @@ -308,6 +309,11 @@ static int has_publicfh = 0; static int has_set_publicfh = 0; static struct pidfh *pfh = NULL; + +/* Temporary storage for credentials' groups. */ +static long tngroups_max; +static gid_t *tmp_groups = NULL; + /* Bits for opt_flags above */ #define OP_MAPROOT 0x01 #define OP_MAPALL 0x02 @@ -440,6 +446,18 @@ main(int argc, char **argv) warn("cannot open or create pidfile"); } + openlog("mountd", LOG_PID, LOG_DAEMON); + + /* How many groups do we support? */ + tngroups_max = sysconf(_SC_NGROUPS_MAX); + if (tngroups_max == -1) + tngroups_max = NGROUPS_MAX; + /* Add space for the effective GID. */ + ++tngroups_max; + tmp_groups = malloc(tngroups_max); + if (tmp_groups == NULL) + out_of_mem(); + s = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP); if (s < 0) have_v6 = 0; @@ -533,7 +551,6 @@ main(int argc, char **argv) exnames = argv; else exnames = exnames_default; - openlog("mountd", LOG_PID, LOG_DAEMON); if (debug) warnx("getting export list"); get_exportlist(0); @@ -1562,7 +1579,6 @@ get_exportlist_one(int passno) uint64_t exflags; v4root_phase = 0; - anon.cr_groups = NULL; dirhead = (struct dirlist *)NULL; while (get_line()) { if (debug) @@ -1576,9 +1592,9 @@ get_exportlist_one(int passno) * Set defaults. */ has_host = FALSE; - anon.cr_groups = anon.cr_smallgrps; anon.cr_uid = UID_NOBODY; anon.cr_ngroups = 1; + anon.cr_groups = tmp_groups; anon.cr_groups[0] = nogroup(); exflags = MNT_EXPORTED; got_nondir = 0; @@ -1877,10 +1893,6 @@ nextline: free_dir(dirhead); dirhead = (struct dirlist *)NULL; } - if (anon.cr_groups != anon.cr_smallgrps) { - free(anon.cr_groups); - anon.cr_groups = NULL; - } } } @@ -3146,11 +3158,11 @@ do_mount(struct exportlist *ep, struct grouplist *grp, uint64_t exflags, eap->ex_flags = exflags; eap->ex_uid = anoncrp->cr_uid; eap->ex_ngroups = anoncrp->cr_ngroups; - if (eap->ex_ngroups > 0) { - eap->ex_groups = malloc(eap->ex_ngroups * sizeof(gid_t)); - memcpy(eap->ex_groups, anoncrp->cr_groups, eap->ex_ngroups * - sizeof(gid_t)); - } + /* + * Use the memory pointed to by 'anoncrp', as it outlives 'eap' which is + * local to this function. + */ + eap->ex_groups = anoncrp->cr_groups; LOGDEBUG("do_mount exflags=0x%jx", (uintmax_t)exflags); eap->ex_indexfile = ep->ex_indexfile; if (grp->gr_type == GT_HOST) @@ -3340,7 +3352,6 @@ skip: if (cp) *cp = savedc; error_exit: - free(eap->ex_groups); /* free strings allocated by strdup() in getmntopts.c */ if (iov != NULL) { free(iov[0].iov_base); /* fstype */ @@ -3568,21 +3579,19 @@ get_line(void) * Parse a description of a credential. */ static void -parsecred(char *namelist, struct expcred *cr) +parsecred(char *names, struct expcred *cr) { char *name; - char *names; struct passwd *pw; - gid_t groups[NGROUPS_MAX + 1]; - int ngroups; unsigned long name_ul; char *end = NULL; + assert(cr->cr_groups == tmp_groups); + /* * Parse the user and if possible get its password table entry. * 'cr_uid' is filled when exiting this block. */ - names = namelist; name = strsep_quote(&names, ":"); name_ul = strtoul(name, &end, 10); if (*end != '\0' || end == name) @@ -3609,17 +3618,13 @@ parsecred(char *namelist, struct expcred *cr) "can't determine groups", name); goto nogroup; } - cr->cr_uid = pw->pw_uid; - ngroups = NGROUPS_MAX + 1; - if (getgrouplist(pw->pw_name, pw->pw_gid, groups, &ngroups)) { + + cr->cr_ngroups = tngroups_max; + if (getgrouplist(pw->pw_name, pw->pw_gid, + cr->cr_groups, &cr->cr_ngroups) != 0) { syslog(LOG_ERR, "too many groups"); - ngroups = NGROUPS_MAX + 1; + cr->cr_ngroups = tngroups_max; } - - if (ngroups > SMALLNGROUPS) - cr->cr_groups = malloc(ngroups * sizeof(gid_t)); - cr->cr_ngroups = ngroups; - memcpy(cr->cr_groups, groups, ngroups * sizeof(gid_t)); return; } @@ -3643,17 +3648,14 @@ parsecred(char *namelist, struct expcred *cr) } else { group = name_ul; } - if (cr->cr_ngroups == NGROUPS_MAX + 1) { + if (cr->cr_ngroups == tngroups_max) { syslog(LOG_ERR, "too many groups"); break; } - groups[cr->cr_ngroups++] = group; + cr->cr_groups[cr->cr_ngroups++] = group; } if (cr->cr_ngroups == 0) goto nogroup; - if (cr->cr_ngroups > SMALLNGROUPS) - cr->cr_groups = malloc(cr->cr_ngroups * sizeof(gid_t)); - memcpy(cr->cr_groups, groups, cr->cr_ngroups * sizeof(gid_t)); return; nogroup: @@ -3975,6 +3977,7 @@ huphandler(int sig __unused) static void terminate(int sig __unused) { + free(tmp_groups); pidfile_remove(pfh); rpcb_unset(MOUNTPROG, MOUNTVERS, NULL); rpcb_unset(MOUNTPROG, MOUNTVERS3, NULL); From nobody Fri Jan 17 12:27:21 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJs64mNBz5kvnq; Fri, 17 Jan 2025 12:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJs56JN1z3TrR; Fri, 17 Jan 2025 12:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qfXWh90rgz9LTkyLEcGoly6dzsfyfyxaXYx+7SrtI/0=; b=v+JYxNwHsw9vdwLtTngPaEeDNU1U3dUdEBMcPiMfWyj4AaWa/hauBfhlutATmSuRedI67J wm9Ue9hKIPeROTsoRz9fZOEkdUxCxZxTkuWbquHHLBpUdGFPEMQ/R2G7dJ7eUdqfH5aS/A nc525dZF2ffDnHPvyAd+JM3qZfA3F4vvGf69Fbr35uALPKh7ilanMUT98c3jmDIG6DBPim a5HcJB/0K1mqc/1w0lU7DKMB+ms/2ePSj8eW5cH3st/7Rh6mIz9hFksZ5ZRY7r2dCL+F32 9p7raak0SpyjjUpfZ6+OMN9V/auIScxuPjA4M+pGj12hOyEX3N6Gj/o21bx9vA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qfXWh90rgz9LTkyLEcGoly6dzsfyfyxaXYx+7SrtI/0=; b=RAzEEmZAcBzFx7H8t7DBoB6UMKhv71k0hXjmb+vyBgM3jsGxPhepOV7WRwk7m/o8mwDtNe snxL8QGzxFOxv6vj3bynx/z1p07YWlO4Fj/I2aJWh/rYhYZW29UD45SUfNNUkTEFv0vUby cllorTHfuSrxvekuwwuPT1I9/WmdelRRhmQ6NmGHXSax+QmPJsL/m/VxiqJLSqEkYcmU40 et4PMEUBaynid12uy6IAq8Gyut5yd2f1VflVnfbQEivvk4EmW5ubwkN+lQryUCZFT0HHYh s86AsvY5ltJ2E4021Qj25nLjrmWOfgq4L00U3VCUGW2liDN8mGFxhQTFRaffWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116841; a=rsa-sha256; cv=none; b=QLDWb0Ec5ZMc8Tfa83hMSK4CQXBu9ckR8BAginlq1NMQhNZhfyjck06ccWcRrJFYo8u2bp YQlAhGwQThxRunnwqGqKZOtqWWqRVAY9UgMkvaRawmULgJlRCjKaFbfb8VSnhTNboRivZ7 6O0kAya42hAEdDO7duZAqh7gPBLSDInwhvgQtPFLg5/Kn8235ZdGvYHavHx57UlESzKcTk RWC0tsNsQqvOkagQiaulH6d0CMqiZeJLpbUNK2EzlVFPQh8qafa2VVi6wcjdaZbD2Oueyb UIxBDGyeIRSw+inTzs35smNnCIj3rMo/hzEoBN0cG614F9QSGjyl6flFm3aRAA== 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 4YZJs55lFBz2Wl; Fri, 17 Jan 2025 12:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCRLQj052833; Fri, 17 Jan 2025 12:27:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRLMu052830; Fri, 17 Jan 2025 12:27:21 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:21 GMT Message-Id: <202501171227.50HCRLMu052830@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: afeec66ce393 - stable/13 - syscallsubr.h: Header inclusions: Explicit , sort List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: afeec66ce393f6d4e18907934db8f96821e37394 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=afeec66ce393f6d4e18907934db8f96821e37394 commit afeec66ce393f6d4e18907934db8f96821e37394 Author: Olivier Certner AuthorDate: 2024-12-02 15:06:29 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:53 +0000 syscallsubr.h: Header inclusions: Explicit , sort is currently brought in by other headers but some of its type definition are directly used in this header, so it should appear explicitly. It is necessary as lots of prototypes in there use types it defines ( wouldn't be enough). Additionally, and need constants from , so just include instead of . Sort header inclusions as per style(9). No functional change (intended). Approved by: markj (mentor) MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47881 (cherry picked from commit 8cdb0458e12e6fac577cfb2277e7e85d3c21fa09) --- sys/sys/syscallsubr.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h index 78de8876e51b..736cd3019453 100644 --- a/sys/sys/syscallsubr.h +++ b/sys/sys/syscallsubr.h @@ -28,13 +28,14 @@ #ifndef _SYS_SYSCALLSUBR_H_ #define _SYS_SYSCALLSUBR_H_ -#include -#include -#include -#include +#include #include #include #include +#include +#include +#include +#include struct __wrusage; struct cpuset_copy_cb; From nobody Fri Jan 17 12:27:20 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 4YZJs52FGRz5kvJJ; Fri, 17 Jan 2025 12:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJs45QyCz3Tfv; Fri, 17 Jan 2025 12:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e3YvK8nBllJRUhU3PJ53XsZBWmn7wcsZ8pSi+FMCV3g=; b=BUW0BLE8xAdGtyuM+suvitJzTTCDPbQOBAc+x6furYFDgTm+/YhnMXkpA50PPfjRCf96+v XqCPzurubvrzLETl4taZ03e+0fwH4nPTt5YB/G7i/JdQN3OzmXJHQz0QgrDJbnRCVIr02h egnMTr+CH/kH/lr+iNskP8TeXxuOJkBeHREr6JojnWxEx2zhE63AYIGYSwMKBC8pIcvZYZ wdx4zMrBOFTaxbOkb1vSOXRoSuzLc4j/2t5fO5W8cMZLmt/JCyMzbW+0xCsaaGi+7Lrxg3 4MUqXLjuvREyYmY7kOAmzjb62ojdoMo26MsuqLd8vdqhat37PhXzmOIM5eYy6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e3YvK8nBllJRUhU3PJ53XsZBWmn7wcsZ8pSi+FMCV3g=; b=Cd1zh7/S+QMNFhYt6nT4/ma8kSSOigmJ258xS+rcC8eHyg3/ZVwo7nyZrf/LCSJCCCBDYH 8DA4xkVHk44FfAZ8/wIxLcMgAI20F8S8S+14SJ7Ag6BYe9w3o0+GazwEFDgUSuPnB3kPaA Px6/N3lx7hrMlmEWYKZXpilTcwNPtorbnRdOWTEdmPDYI66V8glDdupOCpsdt/kAiM2V2N x/OWHiV/eB4V2Utl6S8thAB4+wmgAmC02h84yCYHvaLOLaQseJnVBR/MvFqkpzU0zQ2k7D 5llmmw+94/2gXJieZQhQlwu/+1tS9MRj5JyBIymu03wHCa/zN6DeUpOzckwtow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116840; a=rsa-sha256; cv=none; b=o7OVPw/f+KUEAK20BaUKc3jaGf2Ag0rr8flPcpSxmYdesmv2a6JhYLz7cczEGzVxjjIuVS lLLwJmFWJ/RMvRxitR2sVHn5i3MxJJfZ+m/ASjYehI2GfjzB8c6RB6AgzW0Qk1j6wEyAYe zjpfLhJAykeBerHoBWQq2jld2k52skYBLaJSm7F4uQ99V/Tdzvck3dqNWnKxKiuhVywO8Q bK1zB7m4Y6HvtofK2ICQdTx8iTgmCBtgcRBV1dZ+RBzMYa39gPEQTD4F9PYIJbk2e69rRz a/VvbYQqT4vUrctrMjpTPWPKu9rjO8L/dnGvE5G19ho9Q92XFTIOVA144QUBXg== 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 4YZJs44kQxz2rc; Fri, 17 Jan 2025 12:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCRKHc052788; Fri, 17 Jan 2025 12:27:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRKVg052785; Fri, 17 Jan 2025 12:27:20 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:20 GMT Message-Id: <202501171227.50HCRKVg052785@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: f872814e2d7a - stable/13 - cred: proc_set_cred(), proc_unset_cred(): Update user's process count List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f872814e2d7a8841411569fc707b028463c7656b Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f872814e2d7a8841411569fc707b028463c7656b commit f872814e2d7a8841411569fc707b028463c7656b Author: Olivier Certner AuthorDate: 2024-08-02 15:57:51 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:53 +0000 cred: proc_set_cred(), proc_unset_cred(): Update user's process count As a process really changes credentials at the moment proc_set_cred() or proc_unset_cred() is called, these functions are the proper locations to perform the update of the new and old real users' process count (using chgproccnt()). Before this change, change_ruid() instead would perform that update, although it operates only on a passed credential which is a priori not tied to the calling process (or not to any process at all). This was arguably a flaw of commit b1fc0ec1a7a49ded, r77183, based on its commit message, and in particular the portion "(...) In each case, the call now acts on a credential not a process (...)". Fixing this makes using change_ruid() more natural when building candidate credentials that in the end are not applied to a process, e.g., because of some intervening privilege check. Also, it removes a hack around this unwanted process count change in unionfs. We also introduce the new proc_set_cred_enforce_proc_lim() so that callers can respect the per-user process limit, and will use it for the upcoming setcred(). We plan to change all callers of proc_set_cred() to call this new function instead at some point. In the meantime, both proc_set_cred() and the new function will coexist. As detailed in some proc_set_cred_enforce_proc_lim()'s comment, checking against the process limit is currently flawed as the kernel doesn't really maintain the number of processes per UID (besides RLIMIT_NPROC, this in fact also applies to RLIMIT_KQUEUES, RLIMIT_NPTS, RLIMIT_SBSIZE and RLIMIT_SWAP). The applied limit is currently that of the old real UID. Root (or a process granted with PRIV_PROC_LIMIT) is not subject to this limit. Approved by: markj (mentor) Fixes: b1fc0ec1a7a49ded MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46923 (cherry picked from commit d2be7ed63affd8af5fe6203002b7cc3cbe7f7891) Additional changes for this MFC: 1. was added as an include in , as some of its types are necessary whether the header is included by the kernel or userland. Some later -CURRENT commits added it, but are not planned to be MFCed (mac_do(4) series, which doesn't exist in stable/13). 2. A number of files in 'lib/libprocstat' that include (indirectly) with _KERNEL defined were patched to include beforehand, so that 'bool', which is part of the new signature for proc_set_cred*(), is defined when is processed ( does not define it when _KERNEL is defined). --- lib/libprocstat/msdosfs.c | 1 + lib/libprocstat/smbfs.c | 2 ++ lib/libprocstat/udf.c | 2 ++ lib/libprocstat/zfs.c | 1 + sys/fs/unionfs/union_subr.c | 6 ---- sys/kern/kern_exit.c | 10 ++---- sys/kern/kern_fork.c | 2 +- sys/kern/kern_prot.c | 81 +++++++++++++++++++++++++++++++++++---------- sys/sys/ucred.h | 6 ++-- 9 files changed, 78 insertions(+), 33 deletions(-) diff --git a/lib/libprocstat/msdosfs.c b/lib/libprocstat/msdosfs.c index 2af34f856e50..7e73360757bc 100644 --- a/lib/libprocstat/msdosfs.c +++ b/lib/libprocstat/msdosfs.c @@ -35,6 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ +#include #include #include diff --git a/lib/libprocstat/smbfs.c b/lib/libprocstat/smbfs.c index f705ccd207dd..854fd3eb986c 100644 --- a/lib/libprocstat/smbfs.c +++ b/lib/libprocstat/smbfs.c @@ -25,6 +25,8 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ +#include + #include #include #include diff --git a/lib/libprocstat/udf.c b/lib/libprocstat/udf.c index 43e79c39a62d..dc6cadeeea6d 100644 --- a/lib/libprocstat/udf.c +++ b/lib/libprocstat/udf.c @@ -25,6 +25,8 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ +#include + #include #include #include diff --git a/lib/libprocstat/zfs.c b/lib/libprocstat/zfs.c index 9ca43d6f6331..a84083a054db 100644 --- a/lib/libprocstat/zfs.c +++ b/lib/libprocstat/zfs.c @@ -25,6 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ +#include #include #define _KERNEL diff --git a/sys/fs/unionfs/union_subr.c b/sys/fs/unionfs/union_subr.c index 22c8ffe88bde..56c16fc9ed6e 100644 --- a/sys/fs/unionfs/union_subr.c +++ b/sys/fs/unionfs/union_subr.c @@ -775,11 +775,6 @@ unionfs_mkshadowdir(struct unionfs_mount *ump, struct vnode *udvp, /* Authority change to root */ rootinfo = uifind((uid_t)0); cred = crdup(cnp->cn_cred); - /* - * The calls to chgproccnt() are needed to compensate for change_ruid() - * calling chgproccnt(). - */ - chgproccnt(cred->cr_ruidinfo, 1, 0); change_euid(cred, rootinfo); change_ruid(cred, rootinfo); change_svuid(cred, (uid_t)0); @@ -831,7 +826,6 @@ unionfs_mkshadowdir_free_out: unionfs_mkshadowdir_abort: cnp->cn_cred = credbk; - chgproccnt(cred->cr_ruidinfo, -1, 0); crfree(cred); return (error); diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index bd820aae8197..64fef905daa4 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -976,11 +976,6 @@ proc_reap(struct thread *td, struct proc *p, int *status, int options) ruadd(&q->p_stats->p_cru, &q->p_crux, &p->p_ru, &p->p_rux); PROC_UNLOCK(q); - /* - * Decrement the count of procs running with this uid. - */ - (void)chgproccnt(p->p_ucred->cr_ruidinfo, -1, 0); - /* * Destroy resource accounting information associated with the process. */ @@ -994,9 +989,10 @@ proc_reap(struct thread *td, struct proc *p, int *status, int options) racct_proc_exit(p); /* - * Free credentials, arguments, and sigacts. + * Free credentials, arguments, and sigacts, and decrement the count of + * processes running with this uid. */ - proc_unset_cred(p); + proc_unset_cred(p, true); pargs_drop(p->p_args); p->p_args = NULL; sigacts_free(p->p_sigacts); diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 413453f9bf8f..29b3e5d8d682 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -1087,7 +1087,7 @@ fail0: #endif racct_proc_exit(newproc); fail1: - proc_unset_cred(newproc); + proc_unset_cred(newproc, false); fail2: if (vm2 != NULL) vmspace_free(vm2); diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 755bdca4fd73..655ee776b6a7 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -564,7 +564,7 @@ sys_setuid(struct thread *td, struct setuid_args *uap) #endif { /* - * Set the real uid and transfer proc count to new user. + * Set the real uid. */ if (uid != oldcred->cr_ruid) { change_ruid(newcred, uip); @@ -590,6 +590,9 @@ sys_setuid(struct thread *td, struct setuid_args *uap) change_euid(newcred, uip); setsugid(p); } + /* + * This also transfers the proc count to the new user. + */ proc_set_cred(p, newcred); #ifdef RACCT racct_proc_ucred_changed(p, oldcred, newcred); @@ -2276,31 +2279,76 @@ cru2xt(struct thread *td, struct xucred *xcr) /* * Change process credentials. + * * Callers are responsible for providing the reference for passed credentials - * and for freeing old ones. + * and for freeing old ones. Calls chgproccnt() to correctly account the + * current process to the proper real UID, if the latter has changed. Returns + * whether the operation was successful. Failure can happen only on + * 'enforce_proc_lim' being true and if no new process can be accounted to the + * new real UID because of the current limit (see the inner comment for more + * details) and the caller does not have privilege (PRIV_PROC_LIMIT) to override + * that. */ -void -proc_set_cred(struct proc *p, struct ucred *newcred) +static bool +_proc_set_cred(struct proc *p, struct ucred *newcred, bool enforce_proc_lim) { - struct ucred *cr; + struct ucred *const oldcred = p->p_ucred; - cr = p->p_ucred; - MPASS(cr != NULL); + MPASS(oldcred != NULL); PROC_LOCK_ASSERT(p, MA_OWNED); KASSERT(newcred->cr_users == 0, ("%s: users %d not 0 on cred %p", __func__, newcred->cr_users, newcred)); - mtx_lock(&cr->cr_mtx); - KASSERT(cr->cr_users > 0, ("%s: users %d not > 0 on cred %p", - __func__, cr->cr_users, cr)); - cr->cr_users--; - mtx_unlock(&cr->cr_mtx); + KASSERT(newcred->cr_ref == 1, ("%s: ref %ld not 1 on cred %p", + __func__, newcred->cr_ref, newcred)); + + if (newcred->cr_ruidinfo != oldcred->cr_ruidinfo) { + /* + * XXXOC: This check is flawed but nonetheless the best we can + * currently do as we don't really track limits per UID contrary + * to what we pretend in setrlimit(2). Until this is reworked, + * we just check here that the number of processes for our new + * real UID doesn't exceed this process' process number limit + * (which is meant to be associated with the current real UID). + */ + const int proccnt_changed = chgproccnt(newcred->cr_ruidinfo, 1, + enforce_proc_lim ? lim_cur_proc(p, RLIMIT_NPROC) : 0); + + if (!proccnt_changed) { + if (priv_check_cred(oldcred, PRIV_PROC_LIMIT) != 0) + return (false); + (void)chgproccnt(newcred->cr_ruidinfo, 1, 0); + } + } + + mtx_lock(&oldcred->cr_mtx); + KASSERT(oldcred->cr_users > 0, ("%s: users %d not > 0 on cred %p", + __func__, oldcred->cr_users, oldcred)); + oldcred->cr_users--; + mtx_unlock(&oldcred->cr_mtx); p->p_ucred = newcred; newcred->cr_users = 1; PROC_UPDATE_COW(p); + if (newcred->cr_ruidinfo != oldcred->cr_ruidinfo) + (void)chgproccnt(oldcred->cr_ruidinfo, -1, 0); + return (true); +} + +void +proc_set_cred(struct proc *p, struct ucred *newcred) +{ + bool success = _proc_set_cred(p, newcred, false); + + MPASS(success); +} + +bool +proc_set_cred_enforce_proc_lim(struct proc *p, struct ucred *newcred) +{ + return (_proc_set_cred(p, newcred, true)); } void -proc_unset_cred(struct proc *p) +proc_unset_cred(struct proc *p, bool decrement_proc_count) { struct ucred *cr; @@ -2315,6 +2363,8 @@ proc_unset_cred(struct proc *p) KASSERT(cr->cr_ref > 0, ("%s: ref %d not > 0 on cred %p", __func__, cr->cr_ref, cr)); mtx_unlock(&cr->cr_mtx); + if (decrement_proc_count) + (void)chgproccnt(cr->cr_ruidinfo, -1, 0); crfree(cr); } @@ -2599,8 +2649,7 @@ change_egid(struct ucred *newcred, gid_t egid) /*- * Change a process's real uid. * Side effects: newcred->cr_ruid will be updated, newcred->cr_ruidinfo - * will be updated, and the old and new cr_ruidinfo proc - * counts will be updated. + * will be updated. * References: newcred must be an exclusive credential reference for the * duration of the call. */ @@ -2608,12 +2657,10 @@ void change_ruid(struct ucred *newcred, struct uidinfo *ruip) { - (void)chgproccnt(newcred->cr_ruidinfo, -1, 0); newcred->cr_ruid = ruip->ui_uid; uihold(ruip); uifree(newcred->cr_ruidinfo); newcred->cr_ruidinfo = ruip; - (void)chgproccnt(newcred->cr_ruidinfo, 1, 0); } /*- diff --git a/sys/sys/ucred.h b/sys/sys/ucred.h index f5e2757f7417..d8729b49c2dd 100644 --- a/sys/sys/ucred.h +++ b/sys/sys/ucred.h @@ -34,6 +34,7 @@ #ifndef _SYS_UCRED_H_ #define _SYS_UCRED_H_ +#include #if defined(_KERNEL) || defined(_WANT_UCRED) #include #include @@ -158,8 +159,9 @@ void crcopy(struct ucred *dest, struct ucred *src); struct ucred *crcopysafe(struct proc *p, struct ucred *cr); struct ucred *crdup(struct ucred *cr); void crextend(struct ucred *cr, int n); -void proc_set_cred(struct proc *p, struct ucred *cr); -void proc_unset_cred(struct proc *p); +void proc_set_cred(struct proc *p, struct ucred *newcred); +bool proc_set_cred_enforce_proc_lim(struct proc *p, struct ucred *newcred); +void proc_unset_cred(struct proc *p, bool decrement_proc_count); void crfree(struct ucred *cr); struct ucred *crcowsync(void); struct ucred *crget(void); From nobody Fri Jan 17 12:27: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 4YZJs35rbfz5kvjl; Fri, 17 Jan 2025 12:27: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 4YZJs33zvLz3Tp0; Fri, 17 Jan 2025 12:27:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pVXQHPSortiMipANORbhnC8WdUTvMWM/IXrKWrkj+Ew=; b=YlPGj1FUgAuRxpuhORN6CPNO6VV5n9NyC5wr7lxJLnMugEQbxEPuP4IQbK51wUj9egRqkN CyhWc3RV+NUPoO0uwh9s/A5mAmD1G/rMCtv2L/idu3FBuzWP27a3jTOvuduBd0jSNuskog Kv30U3FMfvFdkLyc1BdX2TVtjKgjgf33O3lPESiJO43LL/tn5Y6mTr8GZ0D4vGUactoO0Q 3GOuTjnfv/S8oF68m5nejHRiLa6pMqFIefuiL5iRI5HWeia6QhVWTbd8ATHI7HeptNLfYf ChdCZs6c/KVdQOcTFUaJfIZticvJ3rt89iaBMBgbQF3UrVXgOdHjPtwpEoad5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116839; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pVXQHPSortiMipANORbhnC8WdUTvMWM/IXrKWrkj+Ew=; b=DrcF6msRkAdEzb/DLfvzZmYNqz3iuOQgY6KGiTWVQWyK/ruuwFWC1/sxSkSyGvf0x6/U8d owN6bBWcegQVVUPGJ5hxciCCCM08Wh7ThRycKV36T2CRaXuuqiJuycM6rYoi59Ll+0M2KB Y9MQMZ8s+lzDb7dsH55btAvRUvTGqno3Ie2trjitgLSQvGM33tC7T+sf5NIA+f/CPIlOFk M1AjYAxP0q0mRjMLp6J37c4wry6lrMExewL4BdwJe1gvkNeF4m5KCs2a4KZi2k1Uymrxpi OWP28x0V9GewAsNdtxH8ULSXIdSeKLvUYi2yDnuJOiKjHIq848Mzm5oVh/og7g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116839; a=rsa-sha256; cv=none; b=dxBX7nDu8nTBg5V387PYBKl1tD7T8YSF2ewGdTgBHH+ftI5jYEJ7RoB5B9qN6MccE8Y8sl tF2CE6U86S1Cv6WVX2hfPoYZqpWg0/jJ06EJY+g62hZ9pRyaYgXTTkE21ktHiEgqc1a9Kq 4V+NKzcFRig1oNnJBWCpcQl8YWv6+XLm/2A51h8a0XzXDZJ048xetK5U7nzwpTFBuZuGpf Y8PgQw1rhvojoxWNSZBtCjuFeCMc35QmycylPfRPvfUiagKUEecHNeI7SkYhh5w/UqFrGM SpMNNjZcbyCWr7N/E1qXk+ylLTkvQLzlYveK1YEbw6gMgtiVkr7hdblHns3YIA== 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 4YZJs33SgHz2rb; Fri, 17 Jan 2025 12:27: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 50HCRJ8g052737; Fri, 17 Jan 2025 12:27:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRJGO052734; Fri, 17 Jan 2025 12:27:19 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:19 GMT Message-Id: <202501171227.50HCRJGO052734@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 5c09fafd8398 - stable/13 - cred: proc_set_cred(): Remove obsolete comments List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5c09fafd8398181a149c0457d56c5b7c2518b370 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=5c09fafd8398181a149c0457d56c5b7c2518b370 commit 5c09fafd8398181a149c0457d56c5b7c2518b370 Author: Olivier Certner AuthorDate: 2024-08-01 10:19:52 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:53 +0000 cred: proc_set_cred(): Remove obsolete comments These have been obsoleted since they were first written (in commit "cred: add proc_set_cred helper", daf63fd2f9a8d040, r280130) by some subsequent commits ("proc: refactor clearing credentials into proc_unset_cred", 5a90435ccfed8e1e, r361448; "cred: distribute reference count per thread", 1724c563e62fa800, r361993). No functional change. Approved by: markj (mentor) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46922 (cherry picked from commit 07c9edac7bcd75095724ff3c91d0aeec792a4f26) --- sys/kern/kern_prot.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 5fe587bdc421..755bdca4fd73 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2278,11 +2278,6 @@ cru2xt(struct thread *td, struct xucred *xcr) * Change process credentials. * Callers are responsible for providing the reference for passed credentials * and for freeing old ones. - * - * Process has to be locked except when it does not have credentials (as it - * should not be visible just yet) or when newcred is NULL (as this can be - * only used when the process is about to be freed, at which point it should - * not be visible anymore). */ void proc_set_cred(struct proc *p, struct ucred *newcred) From nobody Fri Jan 17 12:27:22 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJs753h0z5kvtT; Fri, 17 Jan 2025 12:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJs72K47z3V05; Fri, 17 Jan 2025 12:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cj9EoUbbhoAb6Nei5muqCemTbRmIGlFZZwyaCB+o5wc=; b=m0ACOraRFCcsJM/bIkRNQfl298uoohTKX6tvHm55fLZQwrJ2jEsMaqdauz3WF64SAxGjp0 xGjcNHLCh/HLbCkpG6aSkY0IqGmsRL2DbkV7/mqDYSjdKat/gY8T8OQl2KLzc4uj/XZp6j oJ3X6ETJrOeAwUWLOBKNXZoc3KXoW5gVxwjocxle9beMq3nVLNBOSyJCjEaq0HF1L29iX2 Q6LVppexZMecO0KY2RbfiUt0Bus+bvUB40MjfOrnW36kplYPxUujrV+Ir4XjACHbC3G+Ht uh6eS6Ba8UxK6qu2gFIVx5H0HWOBQNztbtuVV8PO6p48aa/PESHRMD1aRhWXCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cj9EoUbbhoAb6Nei5muqCemTbRmIGlFZZwyaCB+o5wc=; b=koBsiLfkVzv71y6noJl4/i8OtSk0WRkhbVei6akAks960t6SZPWSs+D4Ugc+RKU4KLmVsq v+4WcddlFdlKXdYhbeh4W9HXy4BIJI0j9lK4NJgKWDtz8mAAWs+g4onFqDBjN4Yvlb/kqN vtGT4Vwiwtz2OTq0ejhONYJZUqgvhtkJwXR2DQXZZM8modZmkcjqRUHyFxMdka8SxnUIaH HIqcbNK3Y3ac/jEDqFVFOWcfhFGSfwje2kaek4o1nDazgYYtqCDNYOuZBoUrSlEl1auhnu 94joaFrJdPvU89OQGe1pVsdEvtGZEMtAPKfrNhClrBv4Zidmwt9C04jWKh/dcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116843; a=rsa-sha256; cv=none; b=iEG3Yf8Qd/v4FprHfIuyox47W5YfgtnFwFq8qPVnCAOqWGaVnIUoDAK3Hl5064hiMfDFAd AWEZ/gM9bu1gec6O15FXx/HYwkA0OBMeRaEq7ib1oQZeQgqGqrwvYNv9Y6+U4GXfhm/x+d hO/4gUpdfEqgEXGPyopPTobWYiCCEdbBaCByVxqHef7U3pCo4dRtQwBGMaadYhVJ6nKwWn fXKX309b0xRVl31KOJoCMlAeVAA9WfMDwlIcvFZBNqjI5MhVIbG/WtSig7IMLSgk+fhVG6 GeKZYUiIuq9hRyDIL0/w/xxqAQCBQpPl34uuiAVwZMoUOplsyjJ3xyd5C1IAcg== 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 4YZJs66RWlz35h; Fri, 17 Jan 2025 12:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCRMV9052875; Fri, 17 Jan 2025 12:27:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRMTB052872; Fri, 17 Jan 2025 12:27:22 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:22 GMT Message-Id: <202501171227.50HCRMTB052872@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: b6a3bda9bc2e - stable/13 - x86 atomics: Remove unused WANT_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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b6a3bda9bc2eebbc7630ec7a9ccb27ca923ef596 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=b6a3bda9bc2eebbc7630ec7a9ccb27ca923ef596 commit b6a3bda9bc2eebbc7630ec7a9ccb27ca923ef596 Author: Olivier Certner AuthorDate: 2024-12-09 16:13:09 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:53 +0000 x86 atomics: Remove unused WANT_FUNCTIONS This macro has not been in use since commit "inline atomics and allow tied modules to inline locks" (r335873, f4b3640475cec929). Reviewed by: markj, kib, emaste, imp MFC after: 5 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48061 (cherry picked from commit fa368cc86cebe7185b3a99d4f6083033da377eee) --- sys/amd64/include/atomic.h | 3 --- sys/i386/include/atomic.h | 15 --------------- 2 files changed, 18 deletions(-) diff --git a/sys/amd64/include/atomic.h b/sys/amd64/include/atomic.h index c1816ac4fb8b..da4e42cd0763 100644 --- a/sys/amd64/include/atomic.h +++ b/sys/amd64/include/atomic.h @@ -418,7 +418,6 @@ ATOMIC_LOADSTORE(long); #undef ATOMIC_LOAD #undef ATOMIC_STORE #undef ATOMIC_LOADSTORE -#ifndef WANT_FUNCTIONS /* Read the current value and store a new value in the destination. */ #ifdef __GNUCLIKE_ASM @@ -632,8 +631,6 @@ u_long atomic_swap_long(volatile u_long *p, u_long v); #define atomic_swap_ptr atomic_swap_long #define atomic_readandclear_ptr atomic_readandclear_long -#endif /* !WANT_FUNCTIONS */ - #endif /* !SAN_NEEDS_INTERCEPTORS || SAN_RUNTIME */ #endif /* !_MACHINE_ATOMIC_H_ */ diff --git a/sys/i386/include/atomic.h b/sys/i386/include/atomic.h index 2ccd206a35ec..d8c7d231cc73 100644 --- a/sys/i386/include/atomic.h +++ b/sys/i386/include/atomic.h @@ -339,17 +339,6 @@ atomic_thread_fence_seq_cst(void) #ifdef _KERNEL -#ifdef WANT_FUNCTIONS -int atomic_cmpset_64_i386(volatile uint64_t *, uint64_t, uint64_t); -int atomic_cmpset_64_i586(volatile uint64_t *, uint64_t, uint64_t); -uint64_t atomic_load_acq_64_i386(const volatile uint64_t *); -uint64_t atomic_load_acq_64_i586(const volatile uint64_t *); -void atomic_store_rel_64_i386(volatile uint64_t *, uint64_t); -void atomic_store_rel_64_i586(volatile uint64_t *, uint64_t); -uint64_t atomic_swap_64_i386(volatile uint64_t *, uint64_t); -uint64_t atomic_swap_64_i586(volatile uint64_t *, uint64_t); -#endif - /* I486 does not support SMP or CMPXCHG8B. */ static __inline int atomic_cmpset_64_i386(volatile uint64_t *dst, uint64_t expect, uint64_t src) @@ -660,8 +649,6 @@ ATOMIC_LOADSTORE(long); #undef ATOMIC_STORE #undef ATOMIC_LOADSTORE -#ifndef WANT_FUNCTIONS - static __inline int atomic_cmpset_long(volatile u_long *dst, u_long expect, u_long src) { @@ -921,8 +908,6 @@ u_long atomic_swap_long(volatile u_long *p, u_long v); #define atomic_readandclear_ptr(p) \ atomic_readandclear_int((volatile u_int *)(p)) -#endif /* !WANT_FUNCTIONS */ - #if defined(_KERNEL) #define mb() __mbk() #define wmb() __mbk() From nobody Fri Jan 17 12:27:23 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJs921Vxz5kvkK; Fri, 17 Jan 2025 12:27: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 4YZJs81FBPz3V0R; Fri, 17 Jan 2025 12:27:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=91o2DM11o/a/g9bnk1tY/HvaNvH6SAOdf2jTwLKcaCU=; b=O18KoOC5MRa/Bs+SbtBc8JQTrUIzEGJ962hWw2mkntJX6n17fB1ZhARQ3wZkQVcHxBkefs bFjyUSjmJmXqXoXB1BdVMEiYJPAk9oUF1rgmsiDyYItjQlCF2vcAD5cdwq7KiPhwPSAwx+ vqlRHO3QZAtDXiLgqwrn6tGuYLZEBu6zb/7PjipsX328scYRTZcdfMQyOecc0WonIweJTU gEcdmmrttBs1AtV5PcnjeVq+ZFX1vy5XzkNegAj6sRadwEnsT8WRJ9TZn1IHIQR/JsnJW0 5C6HgzZTs9oTbr/aF5FLprVpjXmjUqoZ9dJM56o8zx7CP729i4FJGtZ9Kj4A5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=91o2DM11o/a/g9bnk1tY/HvaNvH6SAOdf2jTwLKcaCU=; b=TWj4QEKIJUD+XyoimKs2qHJQPAtjG92c0SqkoAQwILvVVueTHhghmaN0SCpKhDdQq75M7Y pJZt3bgWxf7Ka33RUjsHZ5w0P5xhyi+SX7YAdFLS1qnNY/hwAVU+Ilit14xkvwj/ZAfTRS JFRY5mwdjb4zfwPyczbAFBvCn9eDJoOT65QgrRM5H1QeDbFceGUyUOzjAa56I6Wh6qq9W3 7jqlZsqYCIreMzvoS9Rx+8ccusVIDYb3xbUyIavLw9dnQx7NP4dFcYxRpRM7uxx9vX77KL /19/3jXDjFdWhJ6Vz5KaVbh97ZC1aPEhdFaFe6vDHKJo3PL9OSyTJYDXVAkqcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116844; a=rsa-sha256; cv=none; b=TfFTyepnzvjNQmMdAPHI5UWyJggzzvCTrmOwgmiJh1rIWgSCvzicEXmyyZA+PMnBeQO7NO GKq4eWwWGZrYkmYTGhR/BiriIwIxZmYDOFfFgOxnFnx27BLJkzJor1/COyCjL/2oLs2xjB Mc6Y97+GoFyMjhhBEIBrMIJqgPjTshMOXrbtBjqmYjW/HfPnVZHE6j80xzGlHjkgYfksyG fdyR115JPn1uNg6zeLfkNnk0lORFMXoj8squAccpPz8W1Lnj0J2aj1mZaCblm7/ktVtSK8 mk8YYliWD/4JOGG9cY9L6uXiRdrBQDvy5vr2pZMnPKgJDrLJXmYnhLShS8oydA== 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 4YZJs80lvYz35j; Fri, 17 Jan 2025 12:27:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCROGl052930; Fri, 17 Jan 2025 12:27:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRN9U052927; Fri, 17 Jan 2025 12:27:23 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:23 GMT Message-Id: <202501171227.50HCRN9U052927@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 05d0bce0e808 - stable/13 - atomic(9): Update manpage after constifying atomic loads List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 05d0bce0e808c118b80334a4d6df071ef0b4999a Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=05d0bce0e808c118b80334a4d6df071ef0b4999a commit 05d0bce0e808c118b80334a4d6df071ef0b4999a Author: Olivier Certner AuthorDate: 2024-12-16 17:58:50 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:54 +0000 atomic(9): Update manpage after constifying atomic loads MFC after: 5 days Sponsored by: The FreeBSD Foundation (cherry picked from commit 32c45723fa53d384e19ce52aec15972e73305a8c) --- share/man/man9/atomic.9 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man9/atomic.9 b/share/man/man9/atomic.9 index 98d392dd6032..0bbe58f45e0d 100644 --- a/share/man/man9/atomic.9 +++ b/share/man/man9/atomic.9 @@ -20,7 +20,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd January 16, 2023 +.Dd December 16, 2024 .Dt ATOMIC 9 .Os .Sh NAME @@ -60,7 +60,7 @@ .Ft void .Fn atomic_interrupt_fence "void" .Ft -.Fn atomic_load_[acq_] "volatile *p" +.Fn atomic_load_[acq_] "const volatile *p" .Ft .Fn atomic_readandclear_ "volatile *p" .Ft void From nobody Fri Jan 17 12:27:26 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 4YZJsC1x9xz5kvZq; Fri, 17 Jan 2025 12:27: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 4YZJsB2jS1z3V4w; Fri, 17 Jan 2025 12:27:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bM+XfycRY2R7tYnEN0ieKTMwtu/bIKtO9jg13qT9dY0=; b=gqZkMKs/6d6+tcP4qKCFq57hztJ1JHg2OFZrND/P0/GnhyFVITZHwaSASpiEksUzQy8Qn8 yhCq3afRel7JEwARUyRybUprU93kjr8sXQte4X9b159iNq69WOk1lGXjwW/JilRR7XOocC 2FUQOzZSrg0Ocz6GckZGtV2XYbIOk5gVJAvEctYKTsdkVu9DNhuXHc376teIqB53zOSSFd z7fted/EZg0xBCedixcyV6mLgVCNfSntiKQEzI9QFaRSakHL7YlT5rNuBT6TwYHJ0heGE0 qOmIJwnaojZtLbfKqsBm+jmFOarI/Yc3lnHkXrnTIgoUDSvRHjQQi8X2IzrquQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bM+XfycRY2R7tYnEN0ieKTMwtu/bIKtO9jg13qT9dY0=; b=tKpGZpD5Y86caQo96va8tjXgye4JO+ogkRK7KcDvciY4x/riX0iBfTUQVbfRPmrPB1q2aW t9bKojDV4q4Ppp8CKm7QMA89fXKkcLFdEScMgB0fB/HLAt9Loqi83d7js7p37cC574RfWC 7185o0f4eF6HJicMD+fUJDEegKtWsJ5SHVH0OkbPyy+p11IcB46Sjcqj1zGiBDr7W3o2YX ibpE2rn1yOxs60/LCHekjGQVSKDSsYjuKDzFXOJZIxqGjz7rKjpMbQ++5gQ0iHsbuaufvX QaU4UiOMXY3T8COJcPnQHIdnzEGJ4DOASq2In0jo+89eboGOr3M/4BTx8AV5fg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116846; a=rsa-sha256; cv=none; b=EswvNoiNwPWihMhJPloGFnevh8/WG23nWrj9uJ4tx0ddFN7DrcJergBRwNaUJq49wGfZsB VDJNPnlXWgM0exF6IuuhElzdLkDkrIy/eDzxH4eWIDTR4HJ0sWHESPoKkmcM7LgHph4mhI qYLC12jUJ2XkBFj1iu4uPJZagdD95sM8H2JHxQc+y9/NxwtMAJpnH+YJk6cdcL9gt4AwVP acwIGHQK6+WtBco6An7loRV8qVvfHgD1SDGPMRbbpZhTkRPXIGBRBF3uCY4lSHhiMIwPBk A3CG7BJxcAyzluvxoHG3/GEiss3ckS8QeICMud448as5OwdXe6SpbpEOybpwOQ== 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 4YZJsB2H1Wz2rf; Fri, 17 Jan 2025 12:27: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 50HCRQvV053021; Fri, 17 Jan 2025 12:27:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRQEE053018; Fri, 17 Jan 2025 12:27:26 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:26 GMT Message-Id: <202501171227.50HCRQEE053018@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 1cf5ab87c87e - stable/13 - atomics: Constify loads: Fix powerpc 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1cf5ab87c87ed72ee572971f33b68e5ddd595433 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=1cf5ab87c87ed72ee572971f33b68e5ddd595433 commit 1cf5ab87c87ed72ee572971f33b68e5ddd595433 Author: Olivier Certner AuthorDate: 2024-12-16 19:12:14 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:54 +0000 atomics: Constify loads: Fix powerpc build Fixes: 5e9a82e898d5 ("atomics: Constify loads") Sponsored by: The FreeBSD Foundation (cherry picked from commit a9722e5ae8519a9a28e950dbd8d489178e9bc27e) --- sys/kern/subr_atomic64.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/subr_atomic64.c b/sys/kern/subr_atomic64.c index 483be123ea28..b629b74c7653 100644 --- a/sys/kern/subr_atomic64.c +++ b/sys/kern/subr_atomic64.c @@ -78,7 +78,7 @@ static struct mtx a64_mtx_pool[A64_POOL_SIZE]; #define ATOMIC64_EMU_UN(op, rt, block, ret) \ rt \ - atomic_##op##_64(volatile u_int64_t *p) { \ + atomic_##op##_64(const volatile u_int64_t *p) { \ u_int64_t tmp __unused; \ LOCK_A64(); \ block; \ From nobody Fri Jan 17 12:27:27 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 4YZJsC6SPLz5kvZy; Fri, 17 Jan 2025 12:27: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 4YZJsC4B31z3VCl; Fri, 17 Jan 2025 12:27:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EhxAtA4hDA0IBniqny4Q23SmlAvo3urMmmCiRVKjOk4=; b=a1OtIKk75jxVxD+M9Zfx/qGWECY1wtJsO6lT0JZQodX+Na92GgiJ5eUVN7H0d+DVzKO9gB BPRyMR8089e4z5QxFDs9Km7EQB2PWu86nWsknlhhU8gc9R7pPovcqXHNy/DTXcbvdnFvvg T6jrJTtfdABeAiA+TRSEFa09ZXWO52T6Qqo8KvohVe/e4iSFJD1DhLwYBsNEg6S31E4aGs zc9M7chxoz6draP/Pf8bAWoSM2WRdBf8e6+yGLzVdTb7P+JiAn516Y+eVd1Vh/EOTzMU0y dmau+X2q2SwYW81aORwjLi7Ys7GHORfB1LnmGPJEWretKlVPb7S11cAsnuYI+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116847; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EhxAtA4hDA0IBniqny4Q23SmlAvo3urMmmCiRVKjOk4=; b=oWb1eD0CGgRIprHOz+PYMh7aN4OmOkEdlrClfrCkiM62msOnC5HjSHv2vhumQg+n2H3EIC qfTsOCKAR11OIuYoecwG6SQiRc9dmlXUOisPZi5OwSk2fygnI043F49EmewYmjX6UzhVvj A6bL2dNEXSjicnDFdvVWKY7vJhpQuZbHRZLatd5YWOUVWJjHAPQV6bWxqEBNlovsPZaI1Y DIDdLDHB6CqAtUnFn67aZ8MDSdWZ21bqeTjJxA0ZjKywLLzRKWgKSo7dOJAfxrovJUnqck JVLvSeIa+OUtoE+Z3o9fbtKKP4Fndp1vaEY2luUtieoglmQpS4PW5pfnfN4Ejg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116847; a=rsa-sha256; cv=none; b=v/8yqqzojxVLCd6xGXFNpcnULVn9HgatmPIDsPSahjZ4Gm+kypv4wpUGv67DvFB9vQgQwb 62RVp39O9KlhiJTXkIcZPfAHI0aEdxfdyo3c6iZ5rrqlEGKIC+Dvr3mESvsQqbJwpiUI9L WTpocttpSgNb1q17C4FpFjYvBv0sw4hGtydhQktRU1v5FjQ+qtuBLahwynd3EWprapFG6d vEY0BKHKIEi6/FCncMorUncoVwqhIa6ZYlCz1rtHTfZVVt5/dFIrWvqMimvcsOLtTomZ+f 9tAmt22FJXjf+aHNdGIKi+wx8QOOmgTwq78uj/avP5y0sFrRAJB1VX13jURQxg== 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 4YZJsC3cfGz35k; Fri, 17 Jan 2025 12:27: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 50HCRR6V053057; Fri, 17 Jan 2025 12:27:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRRK6053054; Fri, 17 Jan 2025 12:27:27 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:27 GMT Message-Id: <202501171227.50HCRRK6053054@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 5cf27105df1e - stable/13 - queue: Fix STAILQ_SWAP List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5cf27105df1ec5e7e5c7627de978fbcb8e0671dd Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=5cf27105df1ec5e7e5c7627de978fbcb8e0671dd commit 5cf27105df1ec5e7e5c7627de978fbcb8e0671dd Author: Mark Johnston AuthorDate: 2024-12-17 00:12:11 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:54 +0000 queue: Fix STAILQ_SWAP The debug assertions added in commit 34740937f7a4 do not hold for a window in STAILQ_SWAP, so check whether the queues are empty directly. Reported by: ler Fixes: 34740937f7a4 ("queue: New debug macros for STAILQ") (cherry picked from commit da2c88dfcf4f425e6e0a58d6df3a7c8e88d8df92) --- sys/sys/queue.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/sys/queue.h b/sys/sys/queue.h index 4e0ba068c520..0b1e1f9fba55 100644 --- a/sys/sys/queue.h +++ b/sys/sys/queue.h @@ -474,9 +474,9 @@ struct { \ (head1)->stqh_last = (head2)->stqh_last; \ STAILQ_FIRST(head2) = swap_first; \ (head2)->stqh_last = swap_last; \ - if (STAILQ_EMPTY(head1)) \ + if (STAILQ_FIRST(head1) == NULL) \ (head1)->stqh_last = &STAILQ_FIRST(head1); \ - if (STAILQ_EMPTY(head2)) \ + if (STAILQ_FIRST(head2) == NULL) \ (head2)->stqh_last = &STAILQ_FIRST(head2); \ } while (0) From nobody Fri Jan 17 12:27:25 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJs93h26z5kvtV; Fri, 17 Jan 2025 12:27: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 4YZJs91yr3z3V9J; Fri, 17 Jan 2025 12:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q6+V4tVfsynrQCi58ymBrWcXsv7I/oVLAEpW6oKROa0=; b=AaprLt6eH9azk7weQbkfLWlq7ckC8QqT2EvSmm8NiRtDYD/N1tzbfx2oXI6SeyGqiKQTSu 1a1VvSfntMFsNRa+m4e2js+ZzpFXdjAtN8SHSvI1bNuJ9L9qUeKEeIrHr5xQx3lFng/NJ1 AG2u39/az0p04izVB0UVZjpuuZQeiD2GB3oAry0ycr2wcGmYtajDVDPw8qkPnm3N6h+vBd 9xW1JJm1+ZcdanJS5mKXK1vo+J4m2fbSYVdGsitr7x9On/S/fWM+T4j5Ze/uUH+c8kCJym zLqf3+TSQHkV4WRx9dqbaYFpc5bPMbKp4gKGTChQ8172c+VMVI1fyjfdlxfi6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q6+V4tVfsynrQCi58ymBrWcXsv7I/oVLAEpW6oKROa0=; b=eU6tNQjw7dlVZylu36fFWyqUvqt4FNH6QljyQZj1OGDuFs6mMrAHPRxHLkWfiY/iOxUqz7 RXawNF7dB/EU5uiU9jDEI+rmcPLoXKxoXII0VkPukKtuzr1sssdrF1u/gtj9YV/m7LJNmh dnpa824MDkHN/U0JO88Dj6W6/8O0B1evvVbXSZZQ8Z6soZlnO66GXdzSA+TI3Od3alj00W Vkk/05e2uVRb5rxL42+tCE1OjhurJzfAsvi/r7fAXYIUL2Qckr9KrrPXU7TREtKKfx8/y3 HVJCBTiHV5Mr+oTNJOS0QdCcLk1+xOkSOE0xzAWNDSgAKwMST7pFRfC7BRrr7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116845; a=rsa-sha256; cv=none; b=U1uRX1ZB8YY+1jYZ/naX+jKhCQkLXzB57a86QW9/4ZgVnaqbpPFFmZQbEOa8Tz5ckUoZfE RDc23Xs13AHZzq66OAtq7pQaaOs7Bl5qXkxHRrIyN/Cd3DTQvJK3z+wjWnkf22U7dxdIUy UnmqhwkQK8MQUik484PfAU1/q1R19iDOkPpi7fzDX8cDim6bMDyJwwrT/SBGpwDSGn4S7h ejZbkNAszTxJNuZUYJQ5L2Pz8lwYOGOyEG67m3tvl3DXzFjUsXICPAE0LlaDh2q6RJHoay FJH8XCFCf7QmdNKj8CF16Ah3cpF8m4t3WOiRPpAwAUu3rkDckh/lty3Y8/a0Xw== 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 4YZJs91VTkz2rd; Fri, 17 Jan 2025 12:27: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 50HCRPqB052973; Fri, 17 Jan 2025 12:27:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRPgF052970; Fri, 17 Jan 2025 12:27:25 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:25 GMT Message-Id: <202501171227.50HCRPgF052970@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: b2d46346d89b - stable/13 - proc_set_cred(): Fix compilation of GENERIC-NODEBUG List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b2d46346d89bd712dc28946c3ba6c27ea3b20bc9 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=b2d46346d89bd712dc28946c3ba6c27ea3b20bc9 commit b2d46346d89bd712dc28946c3ba6c27ea3b20bc9 Author: Olivier Certner AuthorDate: 2024-12-16 15:38:26 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:54 +0000 proc_set_cred(): Fix compilation of GENERIC-NODEBUG Approved by: mark (mentor) Fixes: d2be7ed63aff ("cred: proc_set_cred(), proc_unset_cred(): Update user's process count") (cherry picked from commit 675708aa402a06d9ced98c8a12d9ef29625d3c66) --- sys/kern/kern_prot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 655ee776b6a7..4ab68aa826c9 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2336,7 +2336,7 @@ _proc_set_cred(struct proc *p, struct ucred *newcred, bool enforce_proc_lim) void proc_set_cred(struct proc *p, struct ucred *newcred) { - bool success = _proc_set_cred(p, newcred, false); + bool success __diagused = _proc_set_cred(p, newcred, false); MPASS(success); } From nobody Fri Jan 17 12:27:29 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZJsG2JvBz5kvs7; Fri, 17 Jan 2025 12:27:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZJsF6R9Yz3V7W; Fri, 17 Jan 2025 12:27:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=crEZghsHmMzsMpJ07IgzLaAPmHcb82b24S8+/To7Uqs=; b=xKnAvaOkGPvAjFbJAczO+Zb+GfMTYDrdgDlcbrqCng/XH8giFH/0x1QfpyXOckAoTdK6ag DlwzbcwuCywoOE/LbzIR7Gv9S8EG7Rb+9v8ELQ/tei9OKJU1qMNL/3mjfAQQyXhHUvkfTE Q4B9pAOmcKB8m9hOTYegghiS5j8/uXyhlH0u8zQeyZDzQu06rxipwLvJW/HYIIbr/u9iX4 4M0CHXifBE0j8qR+Md56sNWDV9c3HDuAnZJSmp1OuNaBix0MFCKeQMx1K+qhKtnl7eDIvx KkcQKrcP37YKJ7xzw64XbZAw28jyd3AUGlo/K88Y8PhuEr6PEeUewliBIpBkAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=crEZghsHmMzsMpJ07IgzLaAPmHcb82b24S8+/To7Uqs=; b=n8DPYaVoy8vnyw1h8ou6GAMjFxjyX0A89zbLML/XFoSOMT4MHckXYzRbnQ/9BJlcsMAvEt LQx9bVqGfSU1dOznI378nFrPCHxxZzpLXMtfPPPYej+9hbAnJJuZ0zfYA7HuVwSV1Dyti0 n+Hz/y8YzK4z5sd3mlxuNfacPV86lquisLG6UhVZ9YQRRQPD1zaxLaFrTwbUthidzrt56s wM30aKGN8/AaswQ1aw3rCBDBr5UF6ZZmRZ3fKDF9gH/lrVIYysqMYLT46IQTB51ttCiNbT YoxOYhpQ75HhQ1vxuOSGz6Iex1HPQ6GkACVpSLhzHI5G5UrQIXcPLeStJMbe8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116849; a=rsa-sha256; cv=none; b=whgSYqeqUAh/Zg+NDM2MKkdPssm2pQsfRWcrm6/jAXh5p2o/KHviQBUlloainROn9lNLPX W/Cs5knEFG+IzhAsLWAXc6ewa4JWW08NHNmTI5K/R+4pJ74+CAhuxUQX/pF5Fh8GzDJiEn rkrERMj/mH47Qoluu5DsT6CX5ztH6aVfpUgWgekeUafB56QbhOBbbW0g7/1VcWMrhtttE1 FD7//7LZWfhFZ7k6pziCpK47Zhx+kIEOzWYM1TfPqOhgr+gTsHWqkdh/Km6AEvSAzzF+fo y4ABZzNzUep67hTzQepPLog6sfLRQURti7XKl0SR5H0/UXea3h25/2Q/ogwoew== 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 4YZJsF5gwPz2p6; Fri, 17 Jan 2025 12:27:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCRTCV053170; Fri, 17 Jan 2025 12:27:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRTFq053167; Fri, 17 Jan 2025 12:27:29 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:29 GMT Message-Id: <202501171227.50HCRTFq053167@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 6f43ca650d64 - stable/13 - libprocstat: ZFS support: Makefile: Tidy up a bit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6f43ca650d64d3d217fff9a4881f0cbea9f7efd0 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=6f43ca650d64d3d217fff9a4881f0cbea9f7efd0 commit 6f43ca650d64d3d217fff9a4881f0cbea9f7efd0 Author: Olivier Certner AuthorDate: 2024-12-12 21:37:14 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:55 +0000 libprocstat: ZFS support: Makefile: Tidy up a bit Regroup assignments tweaking preprocessor defines/undefs, and separately those about include directories. Re-order include directories a bit more logically, and remove redundant ones. Separate logical groups by blank lines. Build artifacts have been verified to stay the same when produced with an external LLVM 18 toolchain. MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48070 (cherry picked from commit 618c97b87b7124cdfb10d2f33a213c3302c8a98b) --- lib/libprocstat/zfs/Makefile | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/libprocstat/zfs/Makefile b/lib/libprocstat/zfs/Makefile index da689fdd3e81..10448b0bfab9 100644 --- a/lib/libprocstat/zfs/Makefile +++ b/lib/libprocstat/zfs/Makefile @@ -6,19 +6,23 @@ OBJS= zfs_defs.o WARNS?= 1 -CFLAGS+= -DIN_BASE -D__KERNEL__ -D_KERNEL -I. -I${.CURDIR} +# We fake a kernel compilation environment in order to get the definition for +# 'zpool_t'. +CFLAGS+= -DIN_BASE -D__KERNEL__ -D_KERNEL -UKLD_TIED -DKLD_MODULE +CFLAGS+= -DHAVE_ISSETUGID -D_SYS_VMEM_H_ + +CFLAGS+= -fno-builtin -nostdlib + +CFLAGS+= -I${.CURDIR} CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl -CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/ CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/zfs +CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd CFLAGS+= -I${SRCTOP}/sys/contrib/ck/include - -CFLAGS+= -I${SRCTOP}/sys -I. -I.. CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include -CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h -CFLAGS+= -DHAVE_ISSETUGID -D_SYS_VMEM_H_ -UKLD_TIED -DKLD_MODULE +CFLAGS+= -I${SRCTOP}/sys -I. -I.. -CFLAGS+= -fno-builtin -nostdlib +CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h all: ${OBJS} CLEANFILES= ${OBJS} From nobody Fri Jan 17 12:27:28 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 4YZJsD75ZFz5kvtZ; Fri, 17 Jan 2025 12:27: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 4YZJsD4wGPz3VD2; Fri, 17 Jan 2025 12:27:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A2F7Y1BI4LVyuRI4k8503k3dRym+sQ+miGvDB74r5M0=; b=kc1S+8BjYcW5NvQehqCtXLAVouNKd+Y5Rf0k948x5d+xCxCv5jkntPi1sQ5y75edqOrQHY yNdWgv+veCcyS2jC3fh6hTNIJXnTPsZjBSP5eOGFovuDHJeI7bmfO57SXMT+RGXRHgxJga 4GZgBdBkBFgrq10spw3HDIvCUfY3KVKK5tLj1Zz/JvG7oT/GMiUPQTHITzs0mT8eiWZdkl OhsKVXLBs7sh3kNknr57//LGSB7MFPNoJ7EdG2fR05savBVLv+X5bl5gIGV5ac4MwN1bvd /XFqJpHKxCpMhTYKAKx4VvTEmLSiOL6TOSw+SIAP+Vxh8rZZrzkXJ/rGL1KRbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737116848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A2F7Y1BI4LVyuRI4k8503k3dRym+sQ+miGvDB74r5M0=; b=TxmIsa9MiN+Ph3kMfsGnU3MwquqXXnUj4+IqbAylNcIUyQRdgFqjNK1TaCk3i1JUlb2BST 8pze1vUQl3Z5jiGQ7EN+0lP65adalamiW5qroJ8sbI/7OTg9zHDiE8we7+1nXvX2/fyuUM mrw5c5RG5tYYX3nDaTUhA0jKN9xTu5l/OsVMJqjsKyRGCRDVtEycJ6lGaEEVF9kdgL8fMn EQlWfWdu5T+hRLNAQwU4K2mncs5r8GWlP5Z7vnjX3bXxGD9aip+OswAf8YUgrh0KsySijL 9KEEBC+z39MOpyCRJZGPe/BvQp4DfEyK9GOr2l9rMTVUqT5p9U+iB31SG+A7XA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737116848; a=rsa-sha256; cv=none; b=EW/iDgdI6aUs9TgVc0CCrxpZOTl8DUA3GzrNxRYUU1GJLRMXNXdATpeKRIyym+R0vxd0YF RILd60q8RTsKsAHV/O+efgqukRi4LcvTZ4ovn1CdsVUv51L9E1eVLAON6XR4X5SiEXxTZj tHFXHDEypfUKN1PhPB+2oeXXT+ZEUbEvoVXeTI2ZUnz40hdppztaKxrerXsYSD58OM/EP+ /T2aZzHnHYpLhsBEXg0/DE3JLw9VNVnDdC795k1dpUb9DXavbamM3nv/0yQx2XHFa32eNm WcOsbpuUPueL/JHkzusQQOcf4wr2Hw1O1dboWj056LSvnwE/iK7fhIAGkmmtcg== 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 4YZJsD4TQJz35l; Fri, 17 Jan 2025 12:27:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HCRSDS053110; Fri, 17 Jan 2025 12:27:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HCRSvW053107; Fri, 17 Jan 2025 12:27:28 GMT (envelope-from git) Date: Fri, 17 Jan 2025 12:27:28 GMT Message-Id: <202501171227.50HCRSvW053107@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 273fec048302 - stable/13 - atomic: Update interceptor function signatures after commit 5e9a82e898d5 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 273fec0483025b72a4d86ed5f26f8189f1dc58d2 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=273fec0483025b72a4d86ed5f26f8189f1dc58d2 commit 273fec0483025b72a4d86ed5f26f8189f1dc58d2 Author: Mark Johnston AuthorDate: 2024-12-17 14:05:00 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 12:24:55 +0000 atomic: Update interceptor function signatures after commit 5e9a82e898d5 Fixes: 5e9a82e898d5 ("atomics: Constify loads") (cherry picked from commit fa5f4c10a8ce457bc1c4276933fd7dd34d75f6d6) --- sys/kern/subr_asan.c | 2 +- sys/kern/subr_csan.c | 2 +- sys/sys/atomic_san.h | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/kern/subr_asan.c b/sys/kern/subr_asan.c index 9c33d0187a6d..d7173b0af04f 100644 --- a/sys/kern/subr_asan.c +++ b/sys/kern/subr_asan.c @@ -658,7 +658,7 @@ kasan_copyout(const void *kaddr, void *uaddr, size_t len) } #define _ASAN_ATOMIC_FUNC_LOAD(name, type) \ - type kasan_atomic_load_##name(volatile type *ptr) \ + type kasan_atomic_load_##name(const volatile type *ptr) \ { \ kasan_shadow_check((uintptr_t)ptr, sizeof(type), true, \ __RET_ADDR); \ diff --git a/sys/kern/subr_csan.c b/sys/kern/subr_csan.c index 19f64e91f9e8..b2d5c4b63f6c 100644 --- a/sys/kern/subr_csan.c +++ b/sys/kern/subr_csan.c @@ -441,7 +441,7 @@ kcsan_copyout(const void *kaddr, void *uaddr, size_t len) } #define _CSAN_ATOMIC_FUNC_LOAD(name, type) \ - type kcsan_atomic_load_##name(volatile type *ptr) \ + type kcsan_atomic_load_##name(const volatile type *ptr) \ { \ kcsan_access((uintptr_t)ptr, sizeof(type), false, true, \ __RET_ADDR); \ diff --git a/sys/sys/atomic_san.h b/sys/sys/atomic_san.h index eb6913296a45..22a8faa9e24e 100644 --- a/sys/sys/atomic_san.h +++ b/sys/sys/atomic_san.h @@ -65,10 +65,10 @@ type sp##_atomic_readandclear_##name(volatile type *) #define ATOMIC_SAN_LOAD(sp, name, type) \ - type sp##_atomic_load_##name(volatile type *) + type sp##_atomic_load_##name(const volatile type *) #define ATOMIC_SAN_LOAD_ACQ(sp, name, type) \ - type sp##_atomic_load_acq_##name(volatile type *) + type sp##_atomic_load_acq_##name(const volatile type *) #define ATOMIC_SAN_STORE(sp, name, type) \ void sp##_atomic_store_##name(volatile type *, type) From nobody Fri Jan 17 13:36: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 4YZLNZ4DSZz5kxv7; Fri, 17 Jan 2025 13:36: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 4YZLNZ3h7kz3lNw; Fri, 17 Jan 2025 13:36:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737120974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cfRgtDSEOeEYC4xDsfQxsIVr1hdCKw32iPFZAJXucUc=; b=PMJ1iQr7RTQmwFD0rjS8yRHViLEsZLgoEvd2cC1r7mGt1cfQjKQf1QaiHUGYhg9PQ4G5Nt rZKS57PwVU6AaFlICgT9C0267JUtz8LfBCOyutfcVNM+tR3x+w894qiFcFnuSVfw+F2Bll 5vI2lsYDkEKUmxNDagrE/dhwy2v4c+Wn7Pyvz64y83Bq/bLmNSAf3zsQH8StoWQ4zB28Ea m5dD84iTJVo6hB5orQVav+bCbwsnLk2WquwsSGdn+1Rj+429ygPLXa5rHBgFkYwxQLecXQ OLqACkEu8hEkeBfosGcP1OnLqxnA5wk0S4ZbYxHRDY12K3Akx8mVOnuq4kl+jQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737120974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cfRgtDSEOeEYC4xDsfQxsIVr1hdCKw32iPFZAJXucUc=; b=C3jJT/ya1R8qJ/qMSBEfipRmhT8JgNoRjwPi8FAxxK97e4janlYY53EuW04CqIRLeHW2lR R/gukid4EpJrnJ8WiocA82wUKhy0kCKjYO44ZVDVo/lFfmB6nKb8Lbli9jvQ49COxyJJMK VLzW0MP3Q1jaZO8+yt8lnEsexwCeNWoF+nElRIpwMuqua6mmSYOGViTEUt4BBQxTtjDSK7 0orTnrUac/77WkYiImdC4BAEFJ21dZ2EwTfLVHn+LUvnIQGSyMj2ei5cFQGe+ZuMJpZymz +7EFL0mPGvNDScvDlCX3g2UWxBINwkrlbVUk9ADxiQCOo9FYTSEGEQF/GA2Q5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737120974; a=rsa-sha256; cv=none; b=CPvCMpv/Fu87HkShFvttDoDt9Eqdzbugon7Qd5XJMmInC9odQ8X5dWIskSstqSD+xCWn/1 JXjja2qqMNnTEWEAXb85DgqlLnCLRrYjUwkdYVUqC55CmhYfNKn0DrVSs48zDaHbB7vMsd E57qV/In2CSurCH3NFwEQWVE7ax1ZF+ht9RWcxhv2rAkZZF/7G4q5mK0iBUnuMcd9Tc5Oh cQu4UeAI3h1rgBF94YpqO8Ds2mQGFYMzkYAOh6PFKlxeO2R7aMUr34rYa4CIGYTDPcCrt3 nFbagL9dflBE6MzQJz6sgEZPXNKRH60cw3I7Xzsl6xlfZNsnP6pnZeL59ajw+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YZLNZ3H1tz4dr; Fri, 17 Jan 2025 13:36: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 50HDaES6086087; Fri, 17 Jan 2025 13:36:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HDaEE9086084; Fri, 17 Jan 2025 13:36:14 GMT (envelope-from git) Date: Fri, 17 Jan 2025 13:36:14 GMT Message-Id: <202501171336.50HDaEE9086084@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 0e17cf062975 - stable/13 - cred: proc_set_cred(): Fix debug 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0e17cf06297555a34485111360caf06c213179af Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=0e17cf06297555a34485111360caf06c213179af commit 0e17cf06297555a34485111360caf06c213179af Author: Olivier Certner AuthorDate: 2025-01-17 13:33:42 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 13:35:38 +0000 cred: proc_set_cred(): Fix debug build On stable/13, the 'cr_ref' field of 'struct ucred' is of type 'u_int', contrary to stable/14 and main where it is of type 'long'. This is a direct commit to stable/13. Reported by: Jenkins Fixes: b3d437832ffa ("cred: proc_set_cred(), proc_unset_cred(): Update user's process count") --- sys/kern/kern_prot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 4ab68aa826c9..95e843eb99f8 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -2298,7 +2298,7 @@ _proc_set_cred(struct proc *p, struct ucred *newcred, bool enforce_proc_lim) PROC_LOCK_ASSERT(p, MA_OWNED); KASSERT(newcred->cr_users == 0, ("%s: users %d not 0 on cred %p", __func__, newcred->cr_users, newcred)); - KASSERT(newcred->cr_ref == 1, ("%s: ref %ld not 1 on cred %p", + KASSERT(newcred->cr_ref == 1, ("%s: ref %d not 1 on cred %p", __func__, newcred->cr_ref, newcred)); if (newcred->cr_ruidinfo != oldcred->cr_ruidinfo) { From nobody Fri Jan 17 13:40:35 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 4YZLTb2nngz5l0nf; Fri, 17 Jan 2025 13:40:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZLTb1qVXz3m4h; Fri, 17 Jan 2025 13:40:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UtEolO1nTgRblUCtCtAUvpye8Hd2SAFpE5MiMcteBJU=; b=ZQ3dBKGDHobX/3S0Zp6yvyaZVCWVN2PBPQ4I0SAX2gd8v1rse0uNeiEroWG2buRX14v4EA /FxlpiQm0Te+sXkQA4KZzgl+Ju9Nv9bfZMPH9olTZBB4eFNtQ4yGKzVupNxuPGxV/QuJWG /WPe9RX5bC+h2LP0gZEy03d67FSKsW7byLzVDEe+eApuvoWi1ox/3wXE2wJ1kVbq3sZAwT p+bfMzySR6fK6g7MEpjLSRSNmzUpBliEwO4OfKce8JVTF82QcLIeQUJwBdFdZXd7sofm2W VwRfn08eedQs9cM9agxsLvagUuKMdvrDRLmkBH5pWecgTHmOd40C8SGJ0fmUIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UtEolO1nTgRblUCtCtAUvpye8Hd2SAFpE5MiMcteBJU=; b=BD1SEd7Zl+TzAzbUaamYO6bnoqjg8bJAjPBIThEUcDqqgWJ6TXXqBCwZEQicNBrr04638T CGMFORd81KBEwxdenuNw+82U8HAY8w09AceA8J741qYhQOo6P7AblEiOEZ+K7DsA3xjrAR 0Ne3BjR00RdWnTLpXpx4jseGXIDt6/0qaOrQFrOhNy6K0/ZZx1rbulCcUgsJj7x6XNHbS1 P9nL8UNcGzLLwGRBVmDhv70N43BIscRRiiZPjnyOlAC+z2wlUHny9CGgjjp1C1U0Q9778U ufJBYouq3KYGLElCQV7C8M6YUwTuzQOlXq5794DLroukq7gCI0LLtkRRN8MvTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737121235; a=rsa-sha256; cv=none; b=rbg2Z3jDHa6rfFD5ibIS7C657mEDe7gRQGkRvQck+hPglKGCxN30LdYaTQCJWEtPwSv41m UCm+ksxpZogvaGtc6ARF6dPKNcOfhxYkG229lKv7fdtNWJvT8xChDxs7DYZayOgiiOeJgL cU+W8j2ghokEOscXf7ROJ+KvUaoPT+509yzsW7azVTMfVOw6pex3pL7eN1qMTJQF2bQGGN bVu/P/QsqndmzvGei/zUc/JOnguva10SYjWPZxLuSm5ufszOc7O5ZWcD7Q6CcHMI10R/cH rY9xkogXTBn7LshXJNsup6H0UhnndeVzoyBLozAo8yVZmdYRKnne+st6ILLTGw== 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 4YZLTb1J4gz4Ph; Fri, 17 Jan 2025 13:40:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HDeZHr095999; Fri, 17 Jan 2025 13:40:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HDeZmJ095996; Fri, 17 Jan 2025 13:40:35 GMT (envelope-from git) Date: Fri, 17 Jan 2025 13:40:35 GMT Message-Id: <202501171340.50HDeZmJ095996@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: e16a2508e17d - stable/14 - vm_pageout: Make vmd_oom a bool 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: e16a2508e17de8dffaf06d41df59918cc57b27e0 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e16a2508e17de8dffaf06d41df59918cc57b27e0 commit e16a2508e17de8dffaf06d41df59918cc57b27e0 Author: Mark Johnston AuthorDate: 2025-01-09 14:53:37 +0000 Commit: Mark Johnston CommitDate: 2025-01-17 13:18:51 +0000 vm_pageout: Make vmd_oom a bool No functional change intended. Reviewed by: dougm, kib MFC after: 1 week Sponsored by: Klara, Inc. Sponsored by: Modirum MDPay Differential Revision: https://reviews.freebsd.org/D48376 (cherry picked from commit fe1165df4b776b14b21a04d2ef3fc4c46740c2f5) --- sys/vm/vm_page.c | 2 +- sys/vm/vm_pageout.c | 6 +++--- sys/vm/vm_pagequeue.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 3713fe17dd13..2facdca9bf27 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -459,7 +459,7 @@ vm_page_domain_init(int domain) vmd->vmd_page_count = 0; vmd->vmd_free_count = 0; vmd->vmd_segs = 0; - vmd->vmd_oom = FALSE; + vmd->vmd_oom = false; for (i = 0; i < PQ_COUNT; i++) { pq = &vmd->vmd_pagequeues[i]; TAILQ_INIT(&pq->pq_pl); diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c index aec850039389..3b07af2c76d4 100644 --- a/sys/vm/vm_pageout.c +++ b/sys/vm/vm_pageout.c @@ -1798,7 +1798,7 @@ vm_pageout_mightbe_oom(struct vm_domain *vmd, int page_shortage, vmd->vmd_oom_seq++; if (vmd->vmd_oom_seq < vm_pageout_oom_seq) { if (vmd->vmd_oom) { - vmd->vmd_oom = FALSE; + vmd->vmd_oom = false; atomic_subtract_int(&vm_pageout_oom_vote, 1); } return; @@ -1813,7 +1813,7 @@ vm_pageout_mightbe_oom(struct vm_domain *vmd, int page_shortage, if (vmd->vmd_oom) return; - vmd->vmd_oom = TRUE; + vmd->vmd_oom = true; old_vote = atomic_fetchadd_int(&vm_pageout_oom_vote, 1); if (old_vote != vm_ndomains - 1) return; @@ -1831,7 +1831,7 @@ vm_pageout_mightbe_oom(struct vm_domain *vmd, int page_shortage, * memory condition is still there, due to vmd_oom being * false. */ - vmd->vmd_oom = FALSE; + vmd->vmd_oom = false; atomic_subtract_int(&vm_pageout_oom_vote, 1); } diff --git a/sys/vm/vm_pagequeue.h b/sys/vm/vm_pagequeue.h index 1f44580dfd23..1f1f818d3ec3 100644 --- a/sys/vm/vm_pagequeue.h +++ b/sys/vm/vm_pagequeue.h @@ -254,7 +254,7 @@ struct vm_domain { /* Paging control variables, used within single threaded page daemon. */ struct pidctrl vmd_pid; /* Pageout controller. */ - boolean_t vmd_oom; + bool vmd_oom; u_int vmd_inactive_threads; u_int vmd_inactive_shortage; /* Per-thread shortage. */ blockcount_t vmd_inactive_running; /* Number of inactive threads. */ From nobody Fri Jan 17 13:40:36 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 4YZLTc3vZmz5l0bK; Fri, 17 Jan 2025 13:40:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZLTc3Hknz3mGT; Fri, 17 Jan 2025 13:40:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iG+iFhvqGenVhUfNQ3ICUN91S/nKHn1sUqujOpcvYRc=; b=ajaX285YGSuYt9KFR9tQJHslZR7aU4RBi1GyLe8lFeN8CYo2MiSZK1WqYYzZlDugQ1C2sJ E9xdnOXNQLCTfrVwGwXnFwpG4JhQsyHHu8a/6ocTg6PoFeS6N6v8B8+wRtDkl2A+hRa1mr +nfyn+02liQpV2yt33L9Yiz5ZINzHCp6PMWAuPOuOvNWFl6qjJCR0ux/RgktSUe8hQYDE+ RzYpV3tHhn5IxFV1R4tUf1Z/pLwBk2O0QwCYRClKXSmwvTcsy4hP5VSbISC5offLeFyUr1 XEthzYnEDCRDpXXOzscCUWJFOb6fWj5Ul6bUo5niMHZfDSoKXPmgFsHYkXosQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iG+iFhvqGenVhUfNQ3ICUN91S/nKHn1sUqujOpcvYRc=; b=ruBKWqR8VXMfUEBdtJ4pMOAdYYVj+YPs8e+Y3tLweExqvtQfVt5YfOma94kHW9p97tYj3r fLYmyZMHQVoAhEa7751u992E9c8K/L581wDrvU+k9W2Hr4hjMuLuoZbLyB1SdsLL8ZNoz8 bLJr5wNzOhLpbmcFcf3WAnddx78v0aDciZpjeZYBwctXgWfE6knlfU4WuMASFaxq0Zb1VI 5lMV3mgJW3xDg4sre4DZrmQpcpjjkTm+DQy7ZLv5tNayYu5Qbl21ALSwroCY+6cBlHHPFg UHR1VInlMsg5u/iuLIfTU2CUwBncmAfdN5H0jhE7UfWczEO+sw+zlu4oV2Pwcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737121236; a=rsa-sha256; cv=none; b=wf32GztWpwWifSjGZNHaJhFMTyxroDKkKLMLjeDNoioU/ZFupmXq+8ClCC1FvFHluqMAG8 xGMqrIN1/Lvf0qeQcb1eZCZBtUB48XTLMZRd1TmJeIfPGCxpXoPyLnSEDk6cOZ3EJzdrqe cFmpQmhGQeYpCumhn3b4QFT+ZVKV0TLVsOO6zErJJDMvFzGK6q4HJAFY4sUw30O4X2c7pa 21bZYOlncZa4Vg/Sf3tu146A9C4C7ddP0W6RF2X6SVUxZDXNwppgT4Tjhzj3oo8Orf4qT7 p0+IsJ3ktil61wDVfeeoOMoc/1yi3fClbqiCJ+a/ub7qgor7+Lv2Jb/K1zoKPg== 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 4YZLTc2YpDz4xb; Fri, 17 Jan 2025 13:40:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HDeaLl096041; Fri, 17 Jan 2025 13:40:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HDeaYg096038; Fri, 17 Jan 2025 13:40:36 GMT (envelope-from git) Date: Fri, 17 Jan 2025 13:40:36 GMT Message-Id: <202501171340.50HDeaYg096038@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: 4b9ba274d736 - stable/14 - audit: Fix short-circuiting in syscallenter() 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: 4b9ba274d736de74676051c8f13e7d3dd536334b Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4b9ba274d736de74676051c8f13e7d3dd536334b commit 4b9ba274d736de74676051c8f13e7d3dd536334b Author: Mark Johnston AuthorDate: 2025-01-14 14:19:24 +0000 Commit: Mark Johnston CommitDate: 2025-01-17 13:18:51 +0000 audit: Fix short-circuiting in syscallenter() syscallenter() has a slow path to handle syscall auditing and dtrace syscall tracing. It uses AUDIT_SYSCALL_ENTER() to check whether to take the slow path, but this macro also has side effects: it writes the audit log entry. When systrace (dtrace syscall tracing) is enabled, this would get short-circuited, and we end up not writing audit log entries. Introduce a pure macro to check whether auditing is enabled, use it in syscallenter() instead of AUDIT_SYSCALL_ENTER(). Reviewed by: kib Reported by: Joe Duin Fixes: 2f7292437d0c ("Merge audit and systrace checks") MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48448 (cherry picked from commit f78fe930854cac6eed55859b45e0a7b5d87189d6) --- sys/kern/subr_syscall.c | 8 +++++--- sys/security/audit/audit.h | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sys/kern/subr_syscall.c b/sys/kern/subr_syscall.c index 725467e1215f..25843eec3754 100644 --- a/sys/kern/subr_syscall.c +++ b/sys/kern/subr_syscall.c @@ -143,9 +143,8 @@ syscallenter(struct thread *td) sy_thr_static = (se->sy_thrcnt & SY_THR_STATIC) != 0; - if (__predict_false(SYSTRACE_ENABLED() || - AUDIT_SYSCALL_ENTER(sa->code, td) || - !sy_thr_static)) { + if (__predict_false(AUDIT_SYSCALL_ENABLED() || + SYSTRACE_ENABLED() || !sy_thr_static)) { if (!sy_thr_static) { error = syscall_thread_enter(td, &se); sy_thr_static = (se->sy_thrcnt & SY_THR_STATIC) != 0; @@ -160,6 +159,9 @@ syscallenter(struct thread *td) if (__predict_false(se->sy_entry != 0)) (*systrace_probe_func)(sa, SYSTRACE_ENTRY, 0); #endif + + AUDIT_SYSCALL_ENTER(sa->code, td); + error = (se->sy_call)(td, sa->args); /* Save the latest error return value. */ if (__predict_false((td->td_pflags & TDP_NERRNO) != 0)) diff --git a/sys/security/audit/audit.h b/sys/security/audit/audit.h index b87dd52e0773..28e84dce79f3 100644 --- a/sys/security/audit/audit.h +++ b/sys/security/audit/audit.h @@ -389,9 +389,11 @@ void audit_thread_free(struct thread *td); audit_arg_vnode2((vp)); \ } while (0) +#define AUDIT_SYSCALL_ENABLED() audit_syscalls_enabled + #define AUDIT_SYSCALL_ENTER(code, td) ({ \ bool _audit_entered = false; \ - if (__predict_false(audit_syscalls_enabled)) { \ + if (audit_syscalls_enabled) { \ audit_syscall_enter(code, td); \ _audit_entered = true; \ } \ @@ -468,6 +470,7 @@ void audit_thread_free(struct thread *td); #define AUDITING_TD(td) 0 +#define AUDIT_SYSCALL_ENABLED() 0 #define AUDIT_SYSCALL_ENTER(code, td) 0 #define AUDIT_SYSCALL_EXIT(error, td) From nobody Fri Jan 17 13:40:56 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZLV02FwNz5l0dm; Fri, 17 Jan 2025 13:40:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZLV01n3kz3mcF; Fri, 17 Jan 2025 13:40:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NmwoLqLvyVn4GTIcibPkH22sz+nCaE5vhir23AuoobM=; b=hgZDo27wVct9fy/2G2N+O1y06HWLKbq+IdWpBX1WFYk54p327iZ+AGZguu1WiH/ZrJnaDU IC6cucowN3zc7P/QOz9OAwn8q5XaFgJDv56khH1KQs9pvbkQA0+dkyxZMDjGdyc4tZldEk WufKUmR3v90PFk8PmG3VuVt64r85r5N2McauFUQ6hOdnS+8ErXywjuQfvVykT8orb7O0JT vSfWdRo3twhfCxCor5MpQWg0V89w2UrmYI6xluNDAyY94BBWkCdHWmzk7QnOqV32zVGOVj gXAbW93TVV6XMUmSJolGW5EEBpSJlsBevWHjqKYG53AZsRllPh8E7lElvzepWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NmwoLqLvyVn4GTIcibPkH22sz+nCaE5vhir23AuoobM=; b=HHmbkWhKtJorXBL++gvvicsfDK8Q1xg9gO26r5bRBSPyMtD/+UpA3FD8hDbrojBhqxGmqo /1SmebRwSKQogldcVSUKKCbxwg9OSfLYBGW3H5+KFaVf+HBDWOwh9bsZYMIhq8UeFf9oc0 YirLkIk7k+ggYPfDDOtmkCq7M5oor80E2UvXcC9zWKuXi8AQxiAdut5VCZWTfWMmGE4ij6 FroWVPqFRUSzclh6EGDloniBvzP0sa2uifEaufrycbPQi+Q39Fqt/7MgAl2U27UeFtusiS OpOlgEpCgxoG9Atg4IBl8rWT9mLXnyw6PnJ3hUMpc9bJP7fQ2uuJudQfz/hgBQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737121256; a=rsa-sha256; cv=none; b=bjt+CBuIroowRncUMjZNli4FDwKyHGZxcme2dDpls5ARugyko5/R/1anmKDX2NGdKsqyf6 akF1CSYksrdi8Px1ED6hujl3fTk/j9A5zqcGpKeqosj3wpMSmM9oFaSSGaDHhsLIhIQQ7t yya6i/GhC+9gVwc2FKEiOc0+v+TYm8TDcbSfaMg1vSftAdo3XjNaS1SH8wbc+vfDELpfxk QZhMQ6P8qXxeogo2somV0ElVDGKX3DmaDoZWxOKbfWXBDlNFxK93fhF6UeLv2W9evwDuGI AuYEmZrQx5lIt2Efg3OmzRjGVUTx/8UoE21+EV2JwHcYc/gLVjqY5+v650YO5g== 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 4YZLV00rB3z59W; Fri, 17 Jan 2025 13:40:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HDeuds097179; Fri, 17 Jan 2025 13:40:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HDeuor097176; Fri, 17 Jan 2025 13:40:56 GMT (envelope-from git) Date: Fri, 17 Jan 2025 13:40:56 GMT Message-Id: <202501171340.50HDeuor097176@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: 1bf531bcd791 - stable/13 - audit: Fix short-circuiting in syscallenter() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1bf531bcd791794a39511359fbab612944a9e7b2 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1bf531bcd791794a39511359fbab612944a9e7b2 commit 1bf531bcd791794a39511359fbab612944a9e7b2 Author: Mark Johnston AuthorDate: 2025-01-14 14:19:24 +0000 Commit: Mark Johnston CommitDate: 2025-01-17 13:40:49 +0000 audit: Fix short-circuiting in syscallenter() syscallenter() has a slow path to handle syscall auditing and dtrace syscall tracing. It uses AUDIT_SYSCALL_ENTER() to check whether to take the slow path, but this macro also has side effects: it writes the audit log entry. When systrace (dtrace syscall tracing) is enabled, this would get short-circuited, and we end up not writing audit log entries. Introduce a pure macro to check whether auditing is enabled, use it in syscallenter() instead of AUDIT_SYSCALL_ENTER(). Reviewed by: kib Reported by: Joe Duin Fixes: 2f7292437d0c ("Merge audit and systrace checks") MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48448 (cherry picked from commit f78fe930854cac6eed55859b45e0a7b5d87189d6) --- sys/kern/subr_syscall.c | 8 +++++--- sys/security/audit/audit.h | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sys/kern/subr_syscall.c b/sys/kern/subr_syscall.c index 67ec87d2d563..9ad11b81b6fa 100644 --- a/sys/kern/subr_syscall.c +++ b/sys/kern/subr_syscall.c @@ -140,9 +140,8 @@ syscallenter(struct thread *td) sy_thr_static = (se->sy_thrcnt & SY_THR_STATIC) != 0; - if (__predict_false(SYSTRACE_ENABLED() || - AUDIT_SYSCALL_ENTER(sa->code, td) || - !sy_thr_static)) { + if (__predict_false(AUDIT_SYSCALL_ENABLED() || + SYSTRACE_ENABLED() || !sy_thr_static)) { if (!sy_thr_static) { error = syscall_thread_enter(td, &se); sy_thr_static = (se->sy_thrcnt & SY_THR_STATIC) != 0; @@ -157,6 +156,9 @@ syscallenter(struct thread *td) if (__predict_false(se->sy_entry != 0)) (*systrace_probe_func)(sa, SYSTRACE_ENTRY, 0); #endif + + AUDIT_SYSCALL_ENTER(sa->code, td); + error = (se->sy_call)(td, sa->args); /* Save the latest error return value. */ if (__predict_false((td->td_pflags & TDP_NERRNO) != 0)) diff --git a/sys/security/audit/audit.h b/sys/security/audit/audit.h index b87dd52e0773..28e84dce79f3 100644 --- a/sys/security/audit/audit.h +++ b/sys/security/audit/audit.h @@ -389,9 +389,11 @@ void audit_thread_free(struct thread *td); audit_arg_vnode2((vp)); \ } while (0) +#define AUDIT_SYSCALL_ENABLED() audit_syscalls_enabled + #define AUDIT_SYSCALL_ENTER(code, td) ({ \ bool _audit_entered = false; \ - if (__predict_false(audit_syscalls_enabled)) { \ + if (audit_syscalls_enabled) { \ audit_syscall_enter(code, td); \ _audit_entered = true; \ } \ @@ -468,6 +470,7 @@ void audit_thread_free(struct thread *td); #define AUDITING_TD(td) 0 +#define AUDIT_SYSCALL_ENABLED() 0 #define AUDIT_SYSCALL_ENTER(code, td) 0 #define AUDIT_SYSCALL_EXIT(error, td) From nobody Fri Jan 17 13:53:07 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZLm35hY2z5l18f; Fri, 17 Jan 2025 13:53:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZLm353ftz3nTb; Fri, 17 Jan 2025 13:53:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=omy2+4dQfYLKH/0qaHoHuBj22WoroME+uV0ueKuHRiM=; b=od4/d5AiVmxd9P2784KYHvt5N5xQ7U96oxxITAX0XrB/QBqKo1muTk9ByKK0C/jhbpqlLZ eG1aoXAliYgmGfxlub97fQlwdqNSEdT1vZfr2lGvDwffPMOSsJKYXyTk8C1vxuLqD5esL3 k+6qOG6h3zlNIomxSHbgpDIqQ0A7xReSBAwBQLuj0XeU35ziDYUzpgZc8LV1+Ctx60th93 BOJ/gkUR21P/B4J6IkVwN32Vw3qXkT7XgiMnM2FM+1SF5D0B4oE4tOH9aJL7n4y7ZwjZRI pi/vBThV4aDwMoO0voQ+078qbxjgGgLug3PIqaeX0sFaDHK8vOsUDOJGRTZz6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=omy2+4dQfYLKH/0qaHoHuBj22WoroME+uV0ueKuHRiM=; b=plqLeEFBUlyrj8vPnWMVUuvjWmAsfH3fsBDUT0KQU607v2Qy5MRPDe63crZ6+pd2rpt716 uG+nTHdZZGGkwukQu6vzfoHt0kiEuxo0U7PsPw3GYv0k0+ovn9vc3dDNEFS4pmCYebXSwD sUZWTkXkz89YxHLAA4RVVjgCyHRJsYJYbI7JRsBb0lw0c6r5qE4QRFqt5OjTkCQr2uHzvL AUuMopDZNTHOuL63vFTVQkY/xgHRSQMqXN+O9I7tnfWFijpwgHnlZ+IJEiH5dIIb2j4NH1 8b73ioSrV4XxOpOTqNzmmFRNxWqbI1xh4hDAe9OODH0TG+ZW+uMbaJMx4V9+KA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737121987; a=rsa-sha256; cv=none; b=rIfb34pTqsl0r3z8ZuylHPwJxYcuWSatQKQ+X4J0s5sifKrYzIWXRl88GEQGO1eNzKB8JM gYFUS860pzjtuleJOYYPTc1V5acc9tYP9c3494MHQa7GwHLjCOjGtvKtMWZzDfroT+xa8V O5aHqHunj//Jn2TnbtDIhxsW554IiqenHCAqMKJkXguMZ5PLMAXNVwvu0RPmbG9whnm0jo UXJMLBD2rA8o4SCOEOtvFnXM8hYvHFG5BeVOQnmRwBotiEvSgLr2KTyMP+wiCA0Psd1LkP khCqpS+cf2G1rumkFtgQ1YzPFIROr6vNREVkOP7CpwluTC5wMicGHCTj+N7cfA== 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 4YZLm34cYfz57b; Fri, 17 Jan 2025 13:53:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HDr762022358; Fri, 17 Jan 2025 13:53:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HDr7HL022355; Fri, 17 Jan 2025 13:53:07 GMT (envelope-from git) Date: Fri, 17 Jan 2025 13:53:07 GMT Message-Id: <202501171353.50HDr7HL022355@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: f97d802a3d89 - stable/14 - tarfs(5): Grammar fix for 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f97d802a3d89d5ffbc4575b41991434c741bd061 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=f97d802a3d89d5ffbc4575b41991434c741bd061 commit f97d802a3d89d5ffbc4575b41991434c741bd061 Author: Gordon Bergling AuthorDate: 2024-04-20 09:21:54 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 13:50:41 +0000 tarfs(5): Grammar fix for a source code comment - s/the the/of the/ MFC after:i 3 days (cherry picked from commit 742f4b77583c12ad31edfb3d6f7173f37bd0e88c) --- sys/fs/tarfs/tarfs_vnops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/fs/tarfs/tarfs_vnops.c b/sys/fs/tarfs/tarfs_vnops.c index f2828c60f8a7..8c97fab185fc 100644 --- a/sys/fs/tarfs/tarfs_vnops.c +++ b/sys/fs/tarfs/tarfs_vnops.c @@ -296,7 +296,7 @@ tarfs_lookup(struct vop_cachedlookup_args *ap) *vpp, tnp); #endif /* TARFS_DEBUG */ - /* Store the result the the cache if MAKEENTRY is specified in flags */ + /* Store the result of the cache if MAKEENTRY is specified in flags */ if ((cnp->cn_flags & MAKEENTRY) != 0 && cnp->cn_nameiop != CREATE) cache_enter(dvp, *vpp, cnp); From nobody Fri Jan 17 13:53:08 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZLm50PBPz5l1D6; Fri, 17 Jan 2025 13:53:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZLm468Bhz3nsG; Fri, 17 Jan 2025 13:53:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121988; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jELqylI9CwVxayUCppTWbvOC9vo5QAHCeAaMHslmoNM=; b=jMv9il00owNhZZ3nozNNNOKFmLqxxbqoO6sQR8Cl1zPdx5HJRQ66i0SVMAo1Vgc9hzTez7 VtnR74WGoBrsH4sVL9PZO+VgPGF4Emra0e6ayABhMMtfSMlxIjTD75RyydrH7uK2hFpU1s m7JWJofZZKZP8Eypfy9Gi9C67m6mFmTBnM7aGyzoicTrI8G9YRZTmLljOq/ozLi9i/8+ie 8haCHxWH45+cPRiO/ynn6smGGzBYU3AHZjqqCIoRa6Zs8Q3ts/0dzU/nS1/3K+rlIUAjli Ur5df0cYkaTWpeo80a85/B4OFlvClCKUyA1BZ9XGV7au0z3+hVIpR3uiTnwBMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121988; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jELqylI9CwVxayUCppTWbvOC9vo5QAHCeAaMHslmoNM=; b=LTu08wC1mEZQqcQim0fLXSWWntmSMvQOtfDybi8SuFsHJlRphpzWK6jP3aG14OrdnXSBb+ C/qOuXHe4YRbDLbClb8OKVlOPxFgNxdFJyN7/hb3J3F9Gxuaow2mkEMTkExxc1jCVBWdZX IRGHp3NRp5DDfj7RaRAxZWjkCwI5AfEGNJbgHi9Hz7jVI/4zOSFyYCATs7K7WqxPhK7rTk iJK2rb16y7vl2ioaB+XFpWDTa/rUbxhWGmD0sR8k7jJ5SIXS7fX7uhXqS+tbZeHQ+a+kJA suUMG6Acpvmnb2u3scfw0HdvOqlPnaU0PkM8B3+BXIaHC7GTYuoNVypRV5UHsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737121988; a=rsa-sha256; cv=none; b=bFN2Kj4vO+chjjxg/X+4P0Ge6Ldu50obugm+rCyAfVh/fXy9jqc1hztgeXbcWJBcNSOQDl rvA5HQm85V44ZZ7M1CfOwUF6qOxeau/BhSZByNJAyGtZVmkGvM0O74Cd0Jj1c5rfTxgw0m 0PmhEPM+OVsNY8KJZeuDvrj/r1afcTg3zBjCZecOUj0O8RfIJ65DSaAISx8zANEQLL+t+B dL4nHOvn0uitLt2Yk5WvYnA5Gt3aDwsm1/evhOFUMu1Ywm0FXBD7OXt1PpRFe7Rs7Qw5pl 0JX7B4f1b4rRx4yRAFLtH5UsMUpMkkbKqCmaDgcAwNajzOjS/4j3Ub43ZHfFFQ== 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 4YZLm45gh8z5YR; Fri, 17 Jan 2025 13:53:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HDr8Hk022443; Fri, 17 Jan 2025 13:53:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HDr8ae022440; Fri, 17 Jan 2025 13:53:08 GMT (envelope-from git) Date: Fri, 17 Jan 2025 13:53:08 GMT Message-Id: <202501171353.50HDr8ae022440@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 155987e20190 - stable/14 - tarfs: Fix the size of struct tarfs_fid and add a static assert List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 155987e2019089a5bd2eef77ed7bcc5cc26c362e Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=155987e2019089a5bd2eef77ed7bcc5cc26c362e commit 155987e2019089a5bd2eef77ed7bcc5cc26c362e Author: Rick Macklem AuthorDate: 2024-12-06 02:09:27 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 13:50:46 +0000 tarfs: Fix the size of struct tarfs_fid and add a static assert File system specific *fid structures are copied into the generic struct fid defined in sys/mount.h. As such, they cannot be larger than struct fid. This patch packs the structure and checks via a __Static_assert(). Reviewed by: markj MFC after: 2 weeks (cherry picked from commit 4db1b113b15158c7d134df83e7a7201cf46d459b) --- sys/fs/tarfs/tarfs.h | 2 +- sys/fs/tarfs/tarfs_vnops.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/fs/tarfs/tarfs.h b/sys/fs/tarfs/tarfs.h index ff1985e488cd..ffb95d2c0ac5 100644 --- a/sys/fs/tarfs/tarfs.h +++ b/sys/fs/tarfs/tarfs.h @@ -165,7 +165,7 @@ struct tarfs_fid { u_short data0; /* force alignment */ ino_t ino; unsigned long gen; -}; +} __packed; #define TARFS_NODE_LOCK(tnp) \ mtx_lock(&(tnp)->lock) diff --git a/sys/fs/tarfs/tarfs_vnops.c b/sys/fs/tarfs/tarfs_vnops.c index 8c97fab185fc..afb8e05f5929 100644 --- a/sys/fs/tarfs/tarfs_vnops.c +++ b/sys/fs/tarfs/tarfs_vnops.c @@ -668,6 +668,8 @@ tarfs_vptofh(struct vop_vptofh_args *ap) { struct tarfs_fid *tfp; struct tarfs_node *tnp; + _Static_assert(sizeof(struct tarfs_fid) <= sizeof(struct fid), + "struct tarfs_fid cannot be larger than struct fid"); tfp = (struct tarfs_fid *)ap->a_fhp; tnp = VP_TO_TARFS_NODE(ap->a_vp); From nobody Fri Jan 17 13:53:09 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZLm61DmJz5l1LB; Fri, 17 Jan 2025 13:53:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZLm608Ljz3nmT; Fri, 17 Jan 2025 13:53:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J+LROAQLUmGzRwsrZOz3Nl8zoG9Bs4WFbUnnA37REN0=; b=wKRNQZ9qZknb8F7vQYFklnrnpDcX7zMMkC8kywyCFKrIBeJpCmBjXqp8EfuhAMWdCjVDaW d4gNPVlXSnZsWEydWgu28HWYUjfy8EbckgdF6UCJOQI7rmfGGcAF6KlM8Ok1O3XnXL12cq GAgDQZmiBgwi9WRPviAa4YiqiaBcQUfblqjVlK8AsnX9HQE/cW2YAKMsQFV0vIIoFGEkw0 foPXEFt0ZtUPieuf7/HTPWz8R9Rd7kSnMHFbxJgsuXkyC2TME4a2ebwFFhDvdkX6+btOvV OiOShRCrNJXvzUHGFeLuq6nnMqx3ods0yQ2W8U03uJla7CVAef25uS5iRxBOiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J+LROAQLUmGzRwsrZOz3Nl8zoG9Bs4WFbUnnA37REN0=; b=CZDlukMZ4PFGrMCREkmMEPiUavbiOHbKZV+Zq3NIqePIlimskoo5dAG+BAkw87VTEojCfC SHqxbsAa3x23eBT47mLA96TES7LCnG00nSdaqmT0zRx/zAB875LZv/1NSEPKa7vEQM5PP/ hcRQJ+12SsxWqsKkraql3CCgiWZJn+FvnSrmHOImHhBaXtrqYu5qead8kjXreTWsg7rGIM ZlMbSeD/zzsxdgpSgn85Gde3M8VhIhw3EQ86NeZOqU+TRQbT9xlnw7cY4rEtdcHNE346/Y 8+1mNC8B+tvMt4o7rgh8gXFSzEWrH9+J1V2rXay0/Z+GXhT0HrYyrst9rwS16Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737121990; a=rsa-sha256; cv=none; b=Sw09gNAI7Vap1Xc2ApP9Tb0hWkYgwIBdz0rBnW/Am9hEaaxRCO4xdmsr23Mb9VaCKGLf6a ++hdnGFSc//w3tYeT1pcigob5Y3+uJwxgFckSqJ46tBiJkWJjjscpSpaMUb4Pj93iILNH4 Qa5f555jhYa8np/Z971uh2zD9w/Vums0aIPVGvpCh4pgXK6t2xO+eF55FD5t6EZKbTkmss VfUlykepEPWGxWgPXZUjtPKhetp73jon9tHoMYFjr8iykyoMlBSC3OlAj2Mr2w0tUV7b9U 5I+RplkxA/px/u/DbqIMhNeC+JAZYGtDgPdD3sLBe73wsx0d51Ljh4HZChDdVg== 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 4YZLm56l2dz5YS; Fri, 17 Jan 2025 13:53:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HDr9pi022503; Fri, 17 Jan 2025 13:53:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HDr9rG022500; Fri, 17 Jan 2025 13:53:09 GMT (envelope-from git) Date: Fri, 17 Jan 2025 13:53:09 GMT Message-Id: <202501171353.50HDr9rG022500@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 4634282f8908 - stable/14 - tarfs: 'struct tarfs_fid': Switch 'gen' to 'u_int', avoid packing List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 4634282f8908406fa395a2b49a8e4c06c07830e4 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=4634282f8908406fa395a2b49a8e4c06c07830e4 commit 4634282f8908406fa395a2b49a8e4c06c07830e4 Author: Olivier Certner AuthorDate: 2024-12-06 16:35:08 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 13:51:32 +0000 tarfs: 'struct tarfs_fid': Switch 'gen' to 'u_int', avoid packing As the 'gen' field in 'struct tarfs_node' (and then 'struct tarfs_fid') is filled with arc4random() which returns an unsigned int, change its type in both structures. This allows reordering fields in 'struct tarfs_fid' to reduce its size, finally avoiding the use of '__packed' to ensure it fits into 'struct fid'. While here, remove the 'data0' field which wasn't necessary from the start. Reviewed by: markj, rmacklem, des Approved by: markj (mentor) MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D47954 (cherry picked from commit cf0ede720391de986e350f23229da21c13bc7e9d) Sponsored by: The FreeBSD Foundation --- sys/fs/tarfs/tarfs.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/sys/fs/tarfs/tarfs.h b/sys/fs/tarfs/tarfs.h index ffb95d2c0ac5..46fa8b55b3ad 100644 --- a/sys/fs/tarfs/tarfs.h +++ b/sys/fs/tarfs/tarfs.h @@ -74,7 +74,7 @@ struct tarfs_node { struct timespec mtime; struct timespec ctime; struct timespec birthtime; - unsigned long gen; + uint32_t gen; /* Block map */ size_t nblk; @@ -161,11 +161,10 @@ struct tarfs_zio { }; struct tarfs_fid { - u_short len; /* length of data in bytes */ - u_short data0; /* force alignment */ - ino_t ino; - unsigned long gen; -} __packed; + u_short len; /* length of data in bytes */ + uint32_t gen; + ino_t ino; +}; #define TARFS_NODE_LOCK(tnp) \ mtx_lock(&(tnp)->lock) From nobody Fri Jan 17 13:53: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 4YZLm85kSGz5l1Nb; Fri, 17 Jan 2025 13:53: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 4YZLm81zbMz3nVL; Fri, 17 Jan 2025 13:53:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ENucwjJtxm7ru5zcnIv1f4qJ83OhaD0qCCQKSdEkNww=; b=EalTxmxXRaPhMzST+nTlMrmNRnsEI4i22GT5jAlzSdSmandka7tKKgY3E28izhkakyUgWl +T9v+KiernwMLvFHEJSwISIi8gyD5eAl+M5Gc0MNbGcz+rPau/pG0IPzKH0oW+eL6lzrx2 zH40xvyDTvmzTiM42GSrb7JevoCszEvO3gSJVyLoc1Hid2ThHYey3lqvgnDGh5TWxWAQJm lQpNa49P0ir8GSNWrmMAsdZMwASLEmf4B3Ke0drZz/dw78q0Ie3PM8e7UJ2S2JEHlWG21/ L9Pwy+h9lxZq6qmj+T0WvujWBv//ltFt+tHwCKgh3CAka7AKFMCfPYsSwWel7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ENucwjJtxm7ru5zcnIv1f4qJ83OhaD0qCCQKSdEkNww=; b=nT+FCAJEWIuyrs7XFYzT87szNhGftS5Rxs5q/A98AgTb52pS3qGtXbFDGmjNZ9aAYZFXHB kU0qB5DBXG5jxwjEuM4YYJK3/EyPcWrxDUFdQCwRmp/4mkqXoNGjjZcy4lV2P9guTWNN5U RoToyBYTXSGJEIkbkAaj3TxLQtMzSgkajOZ7NWrXro1LmiTcv8STr460x8+6JpA+HJw/+i 0/q+UlGmo9eczThSKMcGaUfKY7pDecixL68A1m6OEEtOYZjJqw6Nm0Q1zgE5JtoVRLo3g9 3gNL6m/9MEVbe2+1P59JKvFSRve4MLmVwW+tu5Z2cD4ZBwhA9ZYU8nyuxpWcfQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737121992; a=rsa-sha256; cv=none; b=dmrbPlTD/7wEbCV2aEVhCu1lUx9s+XYujzBypLzk8cTOAcxvJ628zREQaoT07a1D/PJe4q /jXILh5Xj+0jCpq85kP+uTj9UxjPb7pLu5sdJWZKrQd7f5thT69hDZFHFQXsTwPXNthQ+c dHb1v6hVDMp51J4O59LT3RoyUBxBKChMkKDR8RC0cQykhfrWZFn6fUjeFR+KW1kaH+9PFj i0nYz7QwPvtOH84EolESyEdl8JRyPlOsAyCFtoF55OyAy2WE34wYVDOL4Fy/XILTNiCcaU pQTMTAdeYOesHDwt3XmWGq7Q0KX5Hdzp3b6vqawrZPECq4CUdxkpzxzq3qkVGA== 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 4YZLm81ZHpz5b7; Fri, 17 Jan 2025 13:53: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 50HDrCDt022615; Fri, 17 Jan 2025 13:53:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HDrCij022612; Fri, 17 Jan 2025 13:53:12 GMT (envelope-from git) Date: Fri, 17 Jan 2025 13:53:12 GMT Message-Id: <202501171353.50HDrCij022612@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 6b1a5d3535d9 - stable/14 - ext2fs: 'struct ufid': Re-order fields and unpack List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6b1a5d3535d9211279667cec62c507caa001a410 Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=6b1a5d3535d9211279667cec62c507caa001a410 commit 6b1a5d3535d9211279667cec62c507caa001a410 Author: Olivier Certner AuthorDate: 2024-12-06 16:37:56 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 13:51:54 +0000 ext2fs: 'struct ufid': Re-order fields and unpack Re-ordering the fields suppresses the trailing padding which was causing the structure to overflow 'struct fid'. While here, re-indent in a more visually pleasing way. Reviewed by: rmacklem, emaste, markj Approved by: markj (mentor) MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D47955 (cherry picked from commit 8ae6247aa966989412bd75fc7c26728690b9e944) Sponsored by: The FreeBSD Foundation --- sys/fs/ext2fs/inode.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/fs/ext2fs/inode.h b/sys/fs/ext2fs/inode.h index 14d2d6454737..4c7ee0789529 100644 --- a/sys/fs/ext2fs/inode.h +++ b/sys/fs/ext2fs/inode.h @@ -189,11 +189,11 @@ struct indir { /* This overlays the fid structure (see mount.h). */ struct ufid { - uint16_t ufid_len; /* Length of structure. */ - uint16_t ufid_pad; /* Force 32-bit alignment. */ - ino_t ufid_ino; /* File number (ino). */ - uint32_t ufid_gen; /* Generation number. */ -} __packed; + uint16_t ufid_len; /* Length of structure. */ + uint16_t ufid_pad; /* Force 32-bit alignment. */ + uint32_t ufid_gen; /* Generation number. */ + ino_t ufid_ino; /* File number (ino). */ +}; #endif /* _KERNEL */ #endif /* !_FS_EXT2FS_INODE_H_ */ From nobody Fri Jan 17 13:53:10 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZLm81qk4z5l16M; Fri, 17 Jan 2025 13:53: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 4YZLm73dSGz3nGS; Fri, 17 Jan 2025 13:53:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3IhU2u2V86uJHLnfRxOe5+q9ppBekx+fd8SK+ve6wyU=; b=U89w92b4cv6JV3VpwSTUYLjwyss7MSm17EX+Wc59/7SBroFFNhXTGsNfnjOOsZb6WcXGpr 9QivNzDndJMbmcmfjpU5ytJzn4Ku1N/bJ0JOsaFeb63VE8KmKlKNrjVdo6WZKXymhKeMTi V5gyqineAXLYgc/esw58rL5u9sBIN0YX03rkJNjvtI7fd23h0sX8v4WrIGFrLZTETVYAQI O/oIfDbPoiYhcxmDrZQFknBDHgDKgafMyXE1JDdlxe8vfEz9PIr1/UdGKbPrGrT8bf7o/n yQrJtaqz2i83LTgbwPbxtn9mKCVWDDghtuO1VIVhgFhEevdINKQyPwyUEbO0BQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737121991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3IhU2u2V86uJHLnfRxOe5+q9ppBekx+fd8SK+ve6wyU=; b=IUvsBIek59rxZ3aPKHB82khWCFHMFGTfGxLUlHXKITZexNOdduty+fmfQUdDYnuCR5onxa +QYy4ZWFOfYbRr0OjSnaL4a6X/cZUFZoXM4R3kAPIuDKi7rGRQcWXEiXFfdvzhsFSLZKAw wpTy3KpoX5XXR4fMo6v5gU6ywyw+VfJJzm0eJKcISlmCErA5r4ZphwnNmxaWcSAB5MQCOY hT/4wkFPV7F5RtKAu02OBolW/spUsG0N5Ojv4g35r19D/VXq7GTp1iOp0MX7uClgwSw9ZN IXmlXJbG+Ju6R662fRuQJ46q15ZFb1zB291lRncJGmW/RB8LnbD04j1SZ+lkuw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737121991; a=rsa-sha256; cv=none; b=EpMyEwY6fMtxLmotKE9fmOcJkvBT8lvtNgVUsV3TSETl4gsg7x29uRl0D/q9eTI9/6GD7F GUDqBypFSssOFrRNAO8F31DnA8drQeLfEZ/PA56QFdXBy2U0PmD9nZQ1J1OtaXU8T87202 ovo/LG2uwE7sqSNsBdTHPdKRBM6vYO+33OBGJi5vBbZZ4R303DFZCpjwA8PCxur1sX3Pji kA37bqTpT0CKmxrGtoZro+InY6vleUeJxXGXjEZF+kiJHd6wR74ntXCtQEqaGmZUg5I/UF AFgt/FrdGiylvY6vh7Ia0HiOyv7vE3JlMoretTDWdeSCcpPQ9Ozdvn2+1Acvqw== 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 4YZLm70HvLz5TT; Fri, 17 Jan 2025 13:53:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HDrA2m022567; Fri, 17 Jan 2025 13:53:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HDrABM022564; Fri, 17 Jan 2025 13:53:10 GMT (envelope-from git) Date: Fri, 17 Jan 2025 13:53:10 GMT Message-Id: <202501171353.50HDrABM022564@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 7a3a0402aeb6 - stable/14 - ext2fs: Fix the size of struct ufid and add a static assert List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 7a3a0402aeb626a7379addd344cbfd8900e83baa Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=7a3a0402aeb626a7379addd344cbfd8900e83baa commit 7a3a0402aeb626a7379addd344cbfd8900e83baa Author: Rick Macklem AuthorDate: 2024-12-06 02:05:06 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 13:51:53 +0000 ext2fs: Fix the size of struct ufid and add a static assert File system specific *fid structures are copied into the generic struct fid defined in sys/mount.h. As such, they cannot be larger than struct fid. This patch packed the structure and checks via a __Static_assert(). Reviewed by: markj MFC after: 2 weeks (cherry picked from commit bfc8e3308bee23d0f7836d57f32ed8d47da02627) --- sys/fs/ext2fs/ext2_vnops.c | 2 ++ sys/fs/ext2fs/inode.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/fs/ext2fs/ext2_vnops.c b/sys/fs/ext2fs/ext2_vnops.c index 1c4b62bb4086..79d50a6a64cb 100644 --- a/sys/fs/ext2fs/ext2_vnops.c +++ b/sys/fs/ext2fs/ext2_vnops.c @@ -1892,6 +1892,8 @@ ext2_vptofh(struct vop_vptofh_args *ap) { struct inode *ip; struct ufid *ufhp; + _Static_assert(sizeof(struct ufid) <= sizeof(struct fid), + "struct ufid cannot be larger than struct fid"); ip = VTOI(ap->a_vp); ufhp = (struct ufid *)ap->a_fhp; diff --git a/sys/fs/ext2fs/inode.h b/sys/fs/ext2fs/inode.h index 46e6215aff6f..14d2d6454737 100644 --- a/sys/fs/ext2fs/inode.h +++ b/sys/fs/ext2fs/inode.h @@ -193,7 +193,7 @@ struct ufid { uint16_t ufid_pad; /* Force 32-bit alignment. */ ino_t ufid_ino; /* File number (ino). */ uint32_t ufid_gen; /* Generation number. */ -}; +} __packed; #endif /* _KERNEL */ #endif /* !_FS_EXT2FS_INODE_H_ */ From nobody Fri Jan 17 14:00:40 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 4YZLwm3S4cz5l1vs; Fri, 17 Jan 2025 14:00: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 4YZLwm2ZlYz3q92; Fri, 17 Jan 2025 14:00:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737122440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5a5nU/WIK5+f/zu/yIPQJ061DYrwNjuam8remalmpv0=; b=YTaVwetCzne/micwKo2S/qg7ny7ApaBgApz4ef+UbT2i4JeYJbnAPNZbs4KDeDFNHxd9Y8 Djyw4Xo5zfv34BzCNR7CMqNY0w6eR6w8Yy4rQzccqzEf+0IAyD4XcrQGVkDH+sFZACqWtN l7irEQDM4KdDsYnX51BlPSGLl7WZP23t7QEADEY6yQGA8QNGVdt/0E2roWSVuD0uOTPKAm 7m805Uk5RQUpYgQzPvr7Q//my2gDhTXl0zzNckPVRvs3g9oI/3AFfisYsSQSYcTxynb+8h k3prlXZIAUBdyEvLo61uPv4D2DrztJRKcdASC/Ai0yfIv9puCLC/jTM4gFkJKQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737122440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5a5nU/WIK5+f/zu/yIPQJ061DYrwNjuam8remalmpv0=; b=mtlRQ8QBCbApXxFvjJ5iTrCXcET/F41mwvUvCePCmISE0P/3v6F99WtH/th4+b/rgY3WTH KnOmMIz+obgdqIWiY3turfXvvXpj6cwOf4JZK6B/BWDYVAiTas1vnag2pp6egRyXnHyny0 inTeKODZifJWqYZAgYzG2tmi5vVsnv6YKg7COVWQrUojfu8uDR06d8VuH9Cf8MxWftbBjz yp/bX2yTGOeKvAre2GuFDWWtDL1M6LrpaSa2/N9M0URatdJC/cA2cXx7ip4tSXQQAWgbDQ zsbbTKxsvy6mM6KfXAmAuwtVfPyTIq/RIQo4lE/nSnfYiCCETiw94z9Qea8AAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737122440; a=rsa-sha256; cv=none; b=lgGnnj2oOo7hCM2QkwiUZKpiv2WttWRMpayHfifdNuGdCGY/jndRawXnU2CaXuik8r2lYe i/7Qim7rUlEspChPYxoQCJo2sXpk8PyhbR1teaaDAg/ac9zdizZZx/WjZuyKL87IaXRPjr ShO5AsEZWBlu8DocE0+OwQCzULA05wSUcYBG7OkzB6elbPXCR//6IzhRPTKPX8mWiAEAqF qC5UEJvkSIHqN+u1LUTihOji0cI2PzrvvaKWpPZIVpcXXSrS8mdZu6SEbXrfsqSUgLCbMU fnLpRZyUx9LlGZBkUDkAFPoUsfQ4GA4/PQ8pjQ8vwjLG8LtJFSMWfovcQG0qLA== 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 4YZLwm1yYRz4wn; Fri, 17 Jan 2025 14:00: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 50HE0eBj034710; Fri, 17 Jan 2025 14:00:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HE0elF034707; Fri, 17 Jan 2025 14:00:40 GMT (envelope-from git) Date: Fri, 17 Jan 2025 14:00:40 GMT Message-Id: <202501171400.50HE0elF034707@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: ee931cf4a49c - stable/13 - ext2fs: Fix the size of struct ufid and add a static assert List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ee931cf4a49c90487c938fa14b856401582a045c Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=ee931cf4a49c90487c938fa14b856401582a045c commit ee931cf4a49c90487c938fa14b856401582a045c Author: Rick Macklem AuthorDate: 2024-12-06 02:05:06 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 13:59:44 +0000 ext2fs: Fix the size of struct ufid and add a static assert File system specific *fid structures are copied into the generic struct fid defined in sys/mount.h. As such, they cannot be larger than struct fid. This patch packed the structure and checks via a __Static_assert(). Reviewed by: markj MFC after: 2 weeks (cherry picked from commit bfc8e3308bee23d0f7836d57f32ed8d47da02627) --- sys/fs/ext2fs/ext2_vnops.c | 2 ++ sys/fs/ext2fs/inode.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/fs/ext2fs/ext2_vnops.c b/sys/fs/ext2fs/ext2_vnops.c index 01b94abf6cd5..63c4830b95be 100644 --- a/sys/fs/ext2fs/ext2_vnops.c +++ b/sys/fs/ext2fs/ext2_vnops.c @@ -1884,6 +1884,8 @@ ext2_vptofh(struct vop_vptofh_args *ap) { struct inode *ip; struct ufid *ufhp; + _Static_assert(sizeof(struct ufid) <= sizeof(struct fid), + "struct ufid cannot be larger than struct fid"); ip = VTOI(ap->a_vp); ufhp = (struct ufid *)ap->a_fhp; diff --git a/sys/fs/ext2fs/inode.h b/sys/fs/ext2fs/inode.h index 6b8b23ccab14..c29a64be12e0 100644 --- a/sys/fs/ext2fs/inode.h +++ b/sys/fs/ext2fs/inode.h @@ -189,7 +189,7 @@ struct ufid { uint16_t ufid_pad; /* Force 32-bit alignment. */ ino_t ufid_ino; /* File number (ino). */ uint32_t ufid_gen; /* Generation number. */ -}; +} __packed; #endif /* _KERNEL */ #endif /* !_FS_EXT2FS_INODE_H_ */ From nobody Fri Jan 17 14:00:41 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 4YZLwn4J9Mz5l1fJ; Fri, 17 Jan 2025 14:00:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZLwn3Fszz3q94; Fri, 17 Jan 2025 14:00:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737122441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=27fsh5d65+iI0+0xLU8zEvB8GNMJ/CS5aKm+IoF2bB4=; b=abXnMeSKTEryxw5D5N6tYSn035Kh0kDn8WV76dsvn9YCXMzXWwEpmfGna+oDBdnXsyHA43 9De4AreYlYhPsCuB/lyqIPzrPt1sUzJn9AtECu07Cq3MTKpljxDByhsGPj5YGn/rQMX4cW rNNo8TGsM/DKrtaFTqu/mqXHdbOUCIIN80YLgYVTDku56M8hSa6PH3fpermYVg/UvQ37jN XUPTlJdlYM1alu7sLdXapBExFFuN54zjs3Y1yxmPcJqrwHX9Il/FpUgXIgarwlsuG/qUiw aoFvZ8lOPp8FwPJs5tDsKwrwIbtUH+EChQ1fM+sw4eVywRg0OnoM5tWfw+zMrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737122441; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=27fsh5d65+iI0+0xLU8zEvB8GNMJ/CS5aKm+IoF2bB4=; b=LiPYKU7OkMdPYE5o+z1U4+U+++9w8uCR4hicwcbvZU8/utIHDCpSSur8l9K+4PJTduJGwd WJ5zx/IEekGpzymYtdBlHPruwI1u1LaS4Sg3PmK5VsmO3p+uNpAtW5zZgQvy/VYLliXX7v PnHNvTlsDXa4OpAqq4ylJhIv859Ks/9MWxQzuXenrbuQz8cO2G36ZN5R+Q3LHuGBIIo/+w I0cxT9ajHIv9vnrJEEgKBaRX4mI1KuIWU6x4ZlTo306o7G41+ihkxlEFnjMUgmmDcrTkj+ AU9kLmu5SCaPcQ6aLpxGErNaRhDZTydyI00HukNX8M+yl2Z7jYcPPuUHnn72mg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737122441; a=rsa-sha256; cv=none; b=AEHDGGH5ateSYFlhS24xkIn4LNqkQ6pJ3g5I5rXxgjzRrjF829cphc9gaw89bPntZRtw5p iRHzH10w3ynwYHJ3Fto/VpqkHpbBQDMem27SKlaqJb/13D7dRW22a4zCc5DL34zJsJ6p9T CA5VhUNiqe7EAk18ms0qv4foTE7nICJpgQaFxqH/rn3uCkpjVpv5oelx9otEMh+uRArjMK gCJblbw+sOWXVnFfhVf3UZh5gE1aK3raNc046SzbRdTAQUTJ1nbJrwkMkLQ/MpcM9NMg0L DG5eoaON+Fh08jGTRWC3HIHa8VVlPOD9bEJ7BRbBnUYxXrQt+cQbkwNgoflhfQ== 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 4YZLwn2gDlz5Kl; Fri, 17 Jan 2025 14:00:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HE0fkr034758; Fri, 17 Jan 2025 14:00:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HE0fc2034755; Fri, 17 Jan 2025 14:00:41 GMT (envelope-from git) Date: Fri, 17 Jan 2025 14:00:41 GMT Message-Id: <202501171400.50HE0fc2034755@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: acdc59f0924a - stable/13 - ext2fs: 'struct ufid': Re-order fields and unpack List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: acdc59f0924aaddfa321741af05e08d2a6715d1a Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=acdc59f0924aaddfa321741af05e08d2a6715d1a commit acdc59f0924aaddfa321741af05e08d2a6715d1a Author: Olivier Certner AuthorDate: 2024-12-06 16:37:56 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 13:59:53 +0000 ext2fs: 'struct ufid': Re-order fields and unpack Re-ordering the fields suppresses the trailing padding which was causing the structure to overflow 'struct fid'. While here, re-indent in a more visually pleasing way. Reviewed by: rmacklem, emaste, markj Approved by: markj (mentor) MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D47955 (cherry picked from commit 8ae6247aa966989412bd75fc7c26728690b9e944) Sponsored by: The FreeBSD Foundation --- sys/fs/ext2fs/inode.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sys/fs/ext2fs/inode.h b/sys/fs/ext2fs/inode.h index c29a64be12e0..225a8b0d0901 100644 --- a/sys/fs/ext2fs/inode.h +++ b/sys/fs/ext2fs/inode.h @@ -185,11 +185,11 @@ struct indir { /* This overlays the fid structure (see mount.h). */ struct ufid { - uint16_t ufid_len; /* Length of structure. */ - uint16_t ufid_pad; /* Force 32-bit alignment. */ - ino_t ufid_ino; /* File number (ino). */ - uint32_t ufid_gen; /* Generation number. */ -} __packed; + uint16_t ufid_len; /* Length of structure. */ + uint16_t ufid_pad; /* Force 32-bit alignment. */ + uint32_t ufid_gen; /* Generation number. */ + ino_t ufid_ino; /* File number (ino). */ +}; #endif /* _KERNEL */ #endif /* !_FS_EXT2FS_INODE_H_ */ From nobody Fri Jan 17 17:06: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 4YZR2f0PFSz5lCPb; Fri, 17 Jan 2025 17:06: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 4YZR2d6PjMz3QnM; Fri, 17 Jan 2025 17:06:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737133561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NGdsdjXXFMXKmHHTrbl5c5J4n/lupoYFCNfNISZqdP4=; b=gdPwlADF+SWB2Z+kaap72fxXCXQm1VDgLZX1msDuaS9d2R/OCsnAElMbYeCNii102d/c57 oF5V/Qob3sAjfaPT8EW//UFvYm+gv6J9jMAwOaEt4ztBVE5+U2w3Dhgj0zpeubqM2FnAmf s0v4H9qfvDZ24/GR18szUV5HKBhCvVciLuNUj6icYYtKRHrWOu22pM1xChUdKwCU3RwwH9 /MxuK6cMYHcAbYfYr1/NwGKWMNtQ+vW6krkaFx4bzqyZPbjviCndjuhAxY67vo1C96YC+D K0lQGL4D7zu3RrfobYSz6qrQM0hvDGac4Wp6tclAFNwvwH409QJWxesVb1vfWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737133561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NGdsdjXXFMXKmHHTrbl5c5J4n/lupoYFCNfNISZqdP4=; b=bsDhzxSW5plFfMH8tDvz92kWVRvg5VHvBLAFT4pcnEx0IK/NDfRML5Piyf8NGY7P8UUNrD Y5cJSXKpd1qksTdFCDg5hgicQ68sY+H8jYaAcsFtHixjANmwPNlYtyA2388tc3Yw3v1KWy 4AX63fSHa2rFw+Oj7WOiX3cqG+4Fap2B2/Gzk/NgfEhRWb0ddJNkjM1zQauyf5jZuynYKF dvZrnzsnL8decx3pEUoXFgzGgSXU7EHcD8lnmZhyDt/75dnsSsvmGAjgn5ZTdNPuJN5HHO PNPLkHlbJRoqo0t+V0uzFpY/vBye4tqWhCryXk4+00V/ZutUWHq6wMzVzFqHEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737133561; a=rsa-sha256; cv=none; b=SHwigjCmlOc2DK4hz0cmPhExkjHqPENqvfPGGWBIDcsYMBvconoKJU6jnSD4dUHU08DFpQ m5Mt69SczPZYZ1dIlRPbQTgbCtUIisjonWQNh8Kon+YfV9yyNA+0V+0lUO9BKrRUMJcpLm sS/HL2fwK/ola/jdpmOJkuQyZ6KvjW2Rj4BWMrZzgsGw8lKM4lOWlRB5ZDi1WHdH3KP3/E 9g//F0fHDi0HdKBIrQYKKQimsmihaxwyr74wgMuoBRp/WynO7I8DzaDYeIYAekH3cgv4bJ fBeCXZl0enfP8rvc8Ht2do4CkS8JTQfkxYbc019f/5EA+yrh5tv1m2tvaEvAgg== 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 4YZR2d5rRXzBQq; Fri, 17 Jan 2025 17:06: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 50HH61aO081254; Fri, 17 Jan 2025 17:06:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HH61oR081251; Fri, 17 Jan 2025 17:06:01 GMT (envelope-from git) Date: Fri, 17 Jan 2025 17:06:01 GMT Message-Id: <202501171706.50HH61oR081251@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: ca22082c01a7 - stable/14 - RELNOTES: Document recent file handle layout changes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ca22082c01a77bc51766e637eaf55c5a45dec3eb Auto-Submitted: auto-generated The branch stable/14 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=ca22082c01a77bc51766e637eaf55c5a45dec3eb commit ca22082c01a77bc51766e637eaf55c5a45dec3eb Author: Mark Johnston AuthorDate: 2025-01-15 18:20:50 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 16:58:28 +0000 RELNOTES: Document recent file handle layout changes Reviewed by: olce, rmacklem, imp, emaste Differential Revision: https://reviews.freebsd.org/D48093 (cherry picked from commit e0b7a9b6bee16f4855b392c0941e76b7fef777a0) This commit has been adapted for stable/14 (references of the relevant commits and the date have been changed) and the commits that actually have been MFCed so far (mention of tmpfs has been removed). --- RELNOTES | 5 +++++ UPDATING | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/RELNOTES b/RELNOTES index e1ed1d18fc63..515ba162b440 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,11 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +54974e731f27, 155987e20190, 4634282f8908, 7a3a0402aeb6, 6b1a5d3535d9: + The layout of NFS file handles for the tarfs, cd9660, and ext2fs + file systems has changed. An NFS server that exports any of these file + systems will need its clients to unmount and remount the exports. + 83f1b98d8227: grep(1) no longer follows symbolic links by default for recursive searches. This matches the documented behavior in diff --git a/UPDATING b/UPDATING index e8ce65692e6b..9509e5405daa 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,11 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20250117: + The layout of NFS file handles for the tarfs, cd9660, and ext2fs + file systems has changed. An NFS server that exports any of these file + systems will need its clients to unmount and remount the exports. + 20240419: Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have been upgraded to 18.1.6. It is important that you run `make delete-old` From nobody Fri Jan 17 17:15:33 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 4YZRFf0nYnz5lDD8; Fri, 17 Jan 2025 17:15:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZRFd6qK0z3SKl; Fri, 17 Jan 2025 17:15:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737134134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q8tOty5vY/iwBM3Nmggq2iaL8y4srjywIDsHrbeB3VY=; b=EPqYpMOqaakHNbMp2uvL01iclg8Ir4987XtSASRVfl7xIa5Qo3bSQWgfBfVN65mQ5SV3ft CSVBTrzjxE72aZGOKG5cLSbSacWZ4mf7QbJEkDViPiO1QasqkZWSHF0RsVucUZGKFPHfgu I45n0hkPXi0ZsUbyqLaFcx7CS9/CU4akhDL2NBJf8yCHZluX3SvSRCwZckVAHtCylilLrh w+uWoHXH8ZKxcxn1MtZULoBjWkeNDZD2Dxj+wie9qfWu8HSQlkOxknStFA811RjCKp1wCh V7fOU501xSCOWxv02ZY4E5SlNU2At0FPeqvLkVtMajWSfGA3qlp2b3jrBxvRmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737134134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q8tOty5vY/iwBM3Nmggq2iaL8y4srjywIDsHrbeB3VY=; b=Ag4Xii/GvD/+o5uW1tZo5ZeWllHKLiuhcXaAiEIdw1V8CVnCHMwme8dF6TvA/ky1eZCgSI aJTfzu9X2BgB2Um8tuMTLvUlvaFvTxCo4Z/i+bgl+Uf2l2LjehAcCwnRQ4V/kSNBe0okbn HApVlpPsYYmOnp2/LcsyQ9cUrLojK/7DT1p2we6tNPm0R8Hn0f3FyLxOe3KzaSRsu1BehB BQDnMG9h9OlBOk8nZJIXrgwxi3io/TuzSNu0tfva3gqZg5ok1ekxrjpAtLvEfP4c7kcvhZ IWxBAym0SR9JN8save5CLqtay43osu8jqO2Nqu+pJDo6XYY9thaOeeBF9nTD5w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737134134; a=rsa-sha256; cv=none; b=aQOI2x3caL8GajJ44zBNcAE50A6xhM7/3ce3UNnNhs5dtij/EJfQq0tXP8l0XFZLhf78/R ZhVJK4TBaZNQf85wUOkIYt2MtptqQwcu30XesXCSUrftCrCFYy3Dp8c2a7VCx05+9IHvaM IX+3A5LQYEOPzwPdC9eDIpaqnyHM+0FbUgU8GBrCW0B8t90jpmQTz/ZOpeMX3EMCq5QkNN Q0C3FPJK4+8okhuq69PUEAMKm/DlmvQeuB8QOYYzoAZCoDFDlJjGU5/bmZDnTC2PrrXe84 KTwkyyUGDhDWgrFAYirTe7SgwqCmrS4WOFPENkvuGNxj92Arc5xWYwKMmhQEJg== 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 4YZRFd6LsvzC0C; Fri, 17 Jan 2025 17:15:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HHFX6M099351; Fri, 17 Jan 2025 17:15:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HHFXTa099348; Fri, 17 Jan 2025 17:15:33 GMT (envelope-from git) Date: Fri, 17 Jan 2025 17:15:33 GMT Message-Id: <202501171715.50HHFXTa099348@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: 4d93d6559697 - stable/13 - RELNOTES: Document recent file handle layout changes List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4d93d6559697a5c3690dc5892f52a3f577337d05 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=4d93d6559697a5c3690dc5892f52a3f577337d05 commit 4d93d6559697a5c3690dc5892f52a3f577337d05 Author: Mark Johnston AuthorDate: 2025-01-15 18:20:50 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 17:14:28 +0000 RELNOTES: Document recent file handle layout changes Reviewed by: olce, rmacklem, imp, emaste Differential Revision: https://reviews.freebsd.org/D48093 (cherry picked from commit e0b7a9b6bee16f4855b392c0941e76b7fef777a0) This commit has been adapted for stable/13 (references of the relevant commits and the date have been changed) and the commits that actually have been MFCed so far (mentions of tarfs and tmpfs have been removed). --- RELNOTES | 5 +++++ UPDATING | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/RELNOTES b/RELNOTES index 57cabbff342e..83905859a3b0 100644 --- a/RELNOTES +++ b/RELNOTES @@ -10,6 +10,11 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +cd597b4bb194, ee931cf4a49c, acdc59f0924a: + The layout of NFS file handles for the cd9660 and ext2fs file systems + has changed. An NFS server that exports any of these file systems will + need its clients to unmount and remount the exports. + 35b193572545: grep(1) no longer follows symbolic links by default for recursive searches. This matches the documented behavior in diff --git a/UPDATING b/UPDATING index 6331b1bb0da8..c3df5cfea2f1 100644 --- a/UPDATING +++ b/UPDATING @@ -12,6 +12,11 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. +20250117: + The layout of NFS file handles for the tarfs, cd9660, and ext2fs + file systems has changed. An NFS server that exports any of these file + systems will need its clients to unmount and remount the exports. + 20240419: Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have been upgraded to 18.1.6. It is important that you run `make delete-old` From nobody Fri Jan 17 17:22: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 4YZRPL2mD9z5lDf9; Fri, 17 Jan 2025 17:22: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 4YZRPL0WCfz3Tw7; Fri, 17 Jan 2025 17:22:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737134534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FJAk05nhajB3uBSFZpWP9CafMqMGaWLZFWAiCJbqzKg=; b=G6O1cf/9ZmNDl4uNlp2Dxrc/jdYAR6JCRVDFGmBYK8bu0nnOb/z1MDtuH+j6tpI2J4y+yW K4naGLhPbYKBlaLCIUhtxijYlU9FslFYzLpIXuPBdqS0rkonzaVGqNMrLiRTwtQxBHCD8P 6fD2zAKVTg4Fv/J29QKIUiokG2TX1il6P39nHarXsCCY0SFWY1tvhUEH6/ELTPfdel0FQk d+4vzd4Z/w1cMsQkFtzLnRiFYSiCK/XG07Li7hA/A4fow1H21GjkVdqSC2PWMq8hl3Pejh qDWPIbYBoLYd18erlWTqgcfy4vbKY4alA3lMqhwhaONRpoBYrfO3X3CWELaRhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737134534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FJAk05nhajB3uBSFZpWP9CafMqMGaWLZFWAiCJbqzKg=; b=FKlRrRS76ML9honG7e+Dn7LAJ67Yn+ic5my+g8IlrcDyErFYrunCpHe6Q/YusOx40B50YJ svjcGCpZDYaOwxzBDAUAFQebcuJQj9tdQIXHW5rVpwM8eOkbXITVUsP5f6DvfxKnE2LK5a t3ZDF8iDaBO4pIERXmnz6kj6oRfXEHrISzEUGvFHUnPr51ihZWBqRkuBFy4vDf6BXqbSu7 E+uy38/8b+iid1TBz5V0Zm/g6LxcsvxlsN/ZbkiC9kHjbEZfi/lDhDf6Y9FwFuQdFrNYD0 02ELttlULs0K5x3p/WUcexdzJnZy+PDVBHLQHPFr1h9g7TQrDFMZuHHn4q5hBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737134534; a=rsa-sha256; cv=none; b=lkiCGDmYnwEkCJzp8HD4IPGSb4hAzKLdHlCW4NnxYIEqfxkwiWctnkuVBZ77hfYcnq1TNF 42jlnoO+xmi2Yqra43yeidGiokeDN9NJzZxeZSJAVLApr7KgWo2i4kbDa2PZ9cHtiMpsE6 KzB3O1U/OTmZvAQwStxD7ei5A23Z2pBI9nvcdZ+Mjd+CNsGDU+S+hxELpDvRctWHTUwNgT Bdt6hnWdTWw8XI1sXOcUz8J1r48STKl4Ff46MWWuilR/TzfrS9o7z6YF/5TV7P2KEDVsPY 5x8Q4ftpZonVm1SWhSuhuGxEN32ZjhJ9GyeVAzrmm3SRZdQzMyBLrUvuLRu4gg== 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 4YZRPL06lfzC3x; Fri, 17 Jan 2025 17:22: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 50HHMDd9016895; Fri, 17 Jan 2025 17:22:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HHMDOC016892; Fri, 17 Jan 2025 17:22:13 GMT (envelope-from git) Date: Fri, 17 Jan 2025 17:22:13 GMT Message-Id: <202501171722.50HHMDOC016892@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Olivier Certner Subject: git: e2d4c5de27ac - stable/13 - UPDATING: Remove tarfs reference that slipped through List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olce X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e2d4c5de27ac6788e61818924e1ba092a47f17d9 Auto-Submitted: auto-generated The branch stable/13 has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=e2d4c5de27ac6788e61818924e1ba092a47f17d9 commit e2d4c5de27ac6788e61818924e1ba092a47f17d9 Author: Olivier Certner AuthorDate: 2025-01-17 17:21:08 +0000 Commit: Olivier Certner CommitDate: 2025-01-17 17:21:08 +0000 UPDATING: Remove tarfs reference that slipped through Forgot to add my modifications to UPDATING to the git index (should have made it in the previous commit). Differential Revision: https://reviews.freebsd.org/D48093 --- UPDATING | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/UPDATING b/UPDATING index c3df5cfea2f1..a40ddb1d3670 100644 --- a/UPDATING +++ b/UPDATING @@ -13,9 +13,9 @@ Items affecting the ports and packages system can be found in and/or ports. 20250117: - The layout of NFS file handles for the tarfs, cd9660, and ext2fs - file systems has changed. An NFS server that exports any of these file - systems will need its clients to unmount and remount the exports. + The layout of NFS file handles for the cd9660 and ext2fs file systems + has changed. An NFS server that exports any of these file systems will + need its clients to unmount and remount the exports. 20240419: Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have From nobody Fri Jan 17 18:46:58 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZTH63hWzz5lKQB; Fri, 17 Jan 2025 18:46:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZTH62cwGz3lgy; Fri, 17 Jan 2025 18:46:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737139618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iLROnbokmy+ZHD0Yz4SgfDSXxiPhgtieK3EF0yNgucg=; b=vPJinWixm0vHWpf7FIlhqdluJVa66E7Sf8neXEC+IS+hPX9jQusBOOwzH4Mk/eXUUGu8Zw DCHH7Ef8DeuvFyD3auTphkFkRjRNOrada2LgX+g7LlWhSmgizBG90wtiTQwH9G0Ia9BKX4 LBSYgUvFVJKitnaymv2bAUmaiJjdLh+w4aVAJh2f4HaYfJDGnvH6BLC2CKW7RcN3EVtIqx BSIrdz14tqmygrWhUtWkHcq7Gid8kNDrSlIVlwQH2tnLHheNzYXQINeLnNr9guqcHEaakG P6/K1zV6GF2r8utLHOLS4fKwpmFerucdPm69Iic7aA8XPcfwQ5IIn7qUc6YYIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737139618; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iLROnbokmy+ZHD0Yz4SgfDSXxiPhgtieK3EF0yNgucg=; b=qRKr+fiwh61H+SBuNH+w62wNP/YAZiptia+K6BAIqfGpgYOUncZyJScHGoOWo64JhmARf6 5xwK6iRQtMbxbLNtRWd2kuh63LBQ4joCgUnZmXBG7sC84NuZfOey7Yll4yh46kB/EGFO2o pHuiy1Ov6aQg+mO2B1W5rSeGeZQ/c85Nu57aTO7XCCZ09DGkPZYs2ibAX7+zvc/qh/SrHv kAw8WuiFPTq/Rp2tIT1NnfmJJMb8oLjsVbopsInAsazTrvxLCCrILxdrLuC1eKjn1yV7rK w1pS2BxguOHLhXT6Kj2nGlYUEK9FtZEOkPVbJOM7BjZDHD3zAKlraO8pYK3tqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737139618; a=rsa-sha256; cv=none; b=d17JyLXFEY3Vfm+S5EDe1A0uHDbZDMW7UEDqEIuyaWYMF+9KFSApICOExPh1zdjDdQ6keI 3bsfIgNiK0jHyKSl3vRRERZq5S41bsq0pc4M9j03BNMR9OwodVeu21zOKWGqO30YdqGv++ ByfkoWBjs1HhgY+wbf8HJJuWD8i7A35xSekGa74WVIVuBgfzJrLisFXb2ipljsStThSrTv 5BVEyVPLHV9HKRC/sJQInYnATvJiGNmDY1vHJj8z5KCZcKaR0BNRSImLuaL88iJY7OguXN XmVDQAi8tcYkpUZKTKTLv6Bh+/6IXVkgaLLiwd2ahDT9iUvPaIl65AQZM//tQg== 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 4YZTH62BW6zVVh; Fri, 17 Jan 2025 18:46:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HIkwQO061211; Fri, 17 Jan 2025 18:46:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HIkweD061208; Fri, 17 Jan 2025 18:46:58 GMT (envelope-from git) Date: Fri, 17 Jan 2025 18:46:58 GMT Message-Id: <202501171846.50HIkweD061208@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: e6025bc05cda - stable/14 - Fix "vrefact: wrong use count 0" with DRM 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: e6025bc05cda3a33ac9e9d9e1b0a5677956f0d47 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=e6025bc05cda3a33ac9e9d9e1b0a5677956f0d47 commit e6025bc05cda3a33ac9e9d9e1b0a5677956f0d47 Author: Edward Tomasz Napierala AuthorDate: 2024-11-13 10:00:38 +0000 Commit: Mark Johnston CommitDate: 2025-01-17 18:43:42 +0000 Fix "vrefact: wrong use count 0" with DRM Bump the vnode use count, not its hold count. This fixes a panic triggered by fstatat(..., AT_EMPTY_PATH) on DRM device nodes, which happens to be what glxinfo(1) from Ubuntu Jammy is doing. PR: kern/274538 Reviewed By: kib (earlier version), olce Differential Revision: https://reviews.freebsd.org/D47391 (cherry picked from commit fc595a6b76642dfdfdb8e6f9b9bbc734e95fb59c) --- sys/compat/linuxkpi/common/src/linux_compat.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index 1fc71c55469a..b60f464377cc 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -773,7 +773,7 @@ linux_dev_fdopen(struct cdev *dev, int fflags, struct thread *td, } /* hold on to the vnode - used for fstat() */ - vhold(filp->f_vnode); + vref(filp->f_vnode); /* release the file from devfs */ finit(file, filp->f_mode, DTYPE_DEV, filp, &linuxfileops); @@ -1505,7 +1505,7 @@ linux_file_close(struct file *file, struct thread *td) error = -OPW(file, td, release(filp->f_vnode, filp)); funsetown(&filp->f_sigio); if (filp->f_vnode != NULL) - vdrop(filp->f_vnode); + vrele(filp->f_vnode); linux_drop_fop(ldev); ldev = filp->f_cdev; if (ldev != NULL) From nobody Fri Jan 17 18:47: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 4YZTHP1H1dz5lK2v; Fri, 17 Jan 2025 18:47:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZTHN6FLzz3m9X; Fri, 17 Jan 2025 18:47:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737139632; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1DxIA9LOsHvuux7pJEpExhqhGta4dcAlzQ2gWCQwIGs=; b=DdXazGw4jgr3P+pzCf0QdYgOqFIO3Wh+DCFqjwg+pCYyng3xSi52IbTW6JjdhK10fzhDnY G/jZITkPPSgZjg3GanxTAvfQ1b72R59cEZo5xX45LCjaPD/6cq1Ew+aYn113pPkOAM4sU5 qyNzXFpqlGVu9jnCoFnQ9hghUI+nPb71KLYX5ZpGr+bdC8hHtJIdDnUd4D/9lpE14w8DeO L2Msd30IuKFU/aBlqVbW+q6lJ9DXF/l1MKwQUn2QRj/Fw4D9QHGwV/iFBqJfb++OLRIzCm pxitdlymlR5o7bzn9ncyxmpl5x6vCx76whBHXKmSWg/J4ibFpTr8lHY44xbolA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737139632; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1DxIA9LOsHvuux7pJEpExhqhGta4dcAlzQ2gWCQwIGs=; b=a8a8dYYtM+VYBIJH1itIH3uRjodAupCgB9VhLtYEqrC+zoTGtVvocsaFFNSF5EL+ey9Or1 BONSskhJX97vcG2RCGBNAAdNHqdDEzxrOzJnnyLqtrUmmguy/JEa82+tu2evE9RPzs1AoH G/4NBR8mcUN8o31zqLHl8eUp1wV3z+2xra6RSD1bGVg24k42S1fKwyavEN7fNkFHnohK8M IjfPWTmi+ug0MT2vAw8ZQlRa/9t/w7Rp0JIHPF/e/SigisrJINVqapOoPHlA/Y3tFHMJlh bJ0LAaVwS1wZZAwnlotOGI7XxQdFN7HeAF0z7njGKzf00C055ZBRD+z7IuHlbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737139632; a=rsa-sha256; cv=none; b=tr0209whkYObOYs0moPvThfrBL1JZdk7jhhp5qI5ZNaCZkBKrLFh0JZ0MFuPo0R3rupySk ALDLvjI8mbVeuE7D/NfG0c/F7zOiTwJ28kvQnUsWJ0dOVaHuxMgp4+PoICk2f6dKHs1/DO wXT8HZxgadz3lZ+GwIF/vIaqcNb8ggsd5R+0mHZjaMlwrMPtONex1JuWB2v+VQcggsntCF cmIkGe/QoEZzPx0KYEnrOcQmg9q19uvd7VKV6Z0VynLl7tt5/mW069kOqr39Msj2kY1C+4 Izz/BXCQp7Sh+faqzHtZ1a/E644rCl5HOah3NVgx+3dpfcM4VIGheEBXaOChSA== 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 4YZTHN5rq5zVVj; Fri, 17 Jan 2025 18:47: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 50HIlCq6061378; Fri, 17 Jan 2025 18:47:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HIlCwC061375; Fri, 17 Jan 2025 18:47:12 GMT (envelope-from git) Date: Fri, 17 Jan 2025 18:47:12 GMT Message-Id: <202501171847.50HIlCwC061375@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: 550dede8754a - stable/13 - Fix "vrefact: wrong use count 0" with DRM List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 550dede8754a1ddbf3e44894b20cb74c48111ccf Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=550dede8754a1ddbf3e44894b20cb74c48111ccf commit 550dede8754a1ddbf3e44894b20cb74c48111ccf Author: Edward Tomasz Napierala AuthorDate: 2024-11-13 10:00:38 +0000 Commit: Mark Johnston CommitDate: 2025-01-17 18:47:03 +0000 Fix "vrefact: wrong use count 0" with DRM Bump the vnode use count, not its hold count. This fixes a panic triggered by fstatat(..., AT_EMPTY_PATH) on DRM device nodes, which happens to be what glxinfo(1) from Ubuntu Jammy is doing. PR: kern/274538 Reviewed By: kib (earlier version), olce Differential Revision: https://reviews.freebsd.org/D47391 (cherry picked from commit fc595a6b76642dfdfdb8e6f9b9bbc734e95fb59c) --- sys/compat/linuxkpi/common/src/linux_compat.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index 81127bf364f9..2697f02c0dd7 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -948,7 +948,7 @@ linux_dev_fdopen(struct cdev *dev, int fflags, struct thread *td, } /* hold on to the vnode - used for fstat() */ - vhold(filp->f_vnode); + vref(filp->f_vnode); /* release the file from devfs */ finit(file, filp->f_mode, DTYPE_DEV, filp, &linuxfileops); @@ -1680,7 +1680,7 @@ linux_file_close(struct file *file, struct thread *td) error = -OPW(file, td, release(filp->f_vnode, filp)); funsetown(&filp->f_sigio); if (filp->f_vnode != NULL) - vdrop(filp->f_vnode); + vrele(filp->f_vnode); linux_drop_fop(ldev); ldev = filp->f_cdev; if (ldev != NULL) From nobody Fri Jan 17 19:17: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 4YZTyN4BPyz5lLqy; Fri, 17 Jan 2025 19:17: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 4YZTyN3h9kz3rFR; Fri, 17 Jan 2025 19:17:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737141452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ynJXIQJ0QzNKAIglvFCmu6DdX6ftsHqdMH0EjbBK7A=; b=GtN4WFpakAHLVdqJcI9pQqtQRdlMe+AWuh+53ZKYXczmsDSDmON4g4cDPqKoVuGn4ZDWPH AZRnrwE+XRwHitc6MKd2A/U2BnSY/Rv2Ssz4j2eewowu8Vmnt12FVMHEf7A2EWvUGMhjj6 hQWBxvFwwbhQ6/VJhEgbY/mklNVW2v1xS4+a2m3EwWR3HpSilKbr3k62oCLkjyf1xHYauW nr2SgNWigIKwoOo8NZv8rIQH/5K8pqGtaqz2/mMpmxnnJo50hU1OpYy2uMkTXZ9h6Dnrb2 OFuBOgtPiyuH6SOOgc6A/wVnh3IQwG8OuIf9FlKqqEDFAuNeHsXADiCWgiCfTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737141452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2ynJXIQJ0QzNKAIglvFCmu6DdX6ftsHqdMH0EjbBK7A=; b=RxkxBvNE0h7r9Ioacja5KjlFBeyxTlbI+Ls1g2KpFtK9aWrIeWE2LyaHEPbycOPG/pL+w/ yJNiZd8hJI+JdgSrVQKO5hcTZXHh64Jkyuuz43j1m4I9qhaZi3iqD0+AHa5gAsTFRaczit JhL6ruX1hOZnprNZYfNlQt3ldM6Ttr26IZezvGOQbLeh6sNLUgE5dHLL47KB+EuyH4XImt lFcAOkJZtobIdj/vmF6/SPY0durASkoy6uW14EWIlpfkVUpbAm7IDOtCs9iQhkBNVZ9XAd W738q73HUSg3RPkrUm/sZ4fYe9O3PnypNSr6OGdYaH+kFp7E62smyjVvwgDKcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737141452; a=rsa-sha256; cv=none; b=s7OYOjwNpSv/gdmmVXLsxdf8AF/VWnuBEUpgRU0iKdpDK7GaQJFK7WDai2+MvzB6q0MLjT ANHkp6eBTBAnndmdq4s9LqiAZWdIy048uPFUOhBjwoqzb2xJYmFcLEd6b+F5hVAnNYhg7l D+ELBeCY0ln94LGz9rSXERJYENz8R4ZKO9BO/fsfhb93kueU03MF8MbdXbuzEwWiZXvUN6 mxk/PThdPRzlrnrD+rHKczUQsln1YrmyAla3jZKyw5WOR7LN7LAi7A9lnnPSOP4LmpTyCs JjLamUrTzzkmV7kY53eEC8fxI3z5CXm0ZaNnUXeLfT9U8QyvBvOQsgYJCA/Elg== 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 4YZTyN2sZ9zWYc; Fri, 17 Jan 2025 19:17: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 50HJHW0U011361; Fri, 17 Jan 2025 19:17:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HJHWa0011358; Fri, 17 Jan 2025 19:17:32 GMT (envelope-from git) Date: Fri, 17 Jan 2025 19:17:32 GMT Message-Id: <202501171917.50HJHWa0011358@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: 3e2277276975 - stable/14 - sed: The change ("c") command should start a new cycle. 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: 3e22772769757b31d2b9383b5f510d4e43afaa8b Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3e22772769757b31d2b9383b5f510d4e43afaa8b commit 3e22772769757b31d2b9383b5f510d4e43afaa8b Author: Valeriy Ushakov AuthorDate: 2024-12-17 22:27:01 +0000 Commit: Mark Johnston CommitDate: 2025-01-17 18:48:07 +0000 sed: The change ("c") command should start a new cycle. The "c" command should start the next cycle as clarified in POSIX 2024. This is also consistent with historical and gnu sed behavior. This patch is from OpenBSD by way of NetBSD with a tweak to the man page date by me. Confirmed the test case in the bug now works. PR: 271817 Obtained from: NetBSD (1.39 uwe), OpenBSD (1.39 millert) Sponsored by: Netflix (cherry picked from commit a2d78713171cf138b5ae50d61f82df1af7574c95) --- usr.bin/sed/process.c | 2 +- usr.bin/sed/sed.1 | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.bin/sed/process.c b/usr.bin/sed/process.c index 945db462a601..e3f2bcab4881 100644 --- a/usr.bin/sed/process.c +++ b/usr.bin/sed/process.c @@ -137,7 +137,7 @@ redirect: psl = 0; if (cp->a2 == NULL || lastaddr || lastline()) (void)fprintf(outfile, "%s", cp->t); - break; + goto new; case 'd': pd = 1; goto new; diff --git a/usr.bin/sed/sed.1 b/usr.bin/sed/sed.1 index 29ede6d70230..90b23e2834de 100644 --- a/usr.bin/sed/sed.1 +++ b/usr.bin/sed/sed.1 @@ -30,7 +30,7 @@ .\" .\" @(#)sed.1 8.2 (Berkeley) 12/30/93 .\" -.Dd April 8, 2021 +.Dd December 17, 2024 .Dt SED 1 .Os .Sh NAME @@ -374,7 +374,7 @@ If the label is not specified, branch to the end of the script. .Pp .It [2addr]c\e .It text -Delete the pattern space. +Delete the pattern space and start the next cycle. With 0 or 1 address or at the end of a 2-address range, .Em text is written to the standard output. From nobody Fri Jan 17 19:17:33 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 4YZTyP4f8yz5lLV1; Fri, 17 Jan 2025 19:17:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZTyP41NKz3rFW; Fri, 17 Jan 2025 19:17:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737141453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0FW4P7YCpZiYUSEiDsqHJKjoUnbmCprgmdX97tqNXIk=; b=Jt02K3ONRBw22vsvE0tlz418Q/FfTQe8BwKHZ3nkq2Ed7x3HrtmpBxBwzNNKe1Iz2Fm9p+ yyxeUvXPkzu7Kx4V+VoXdsARQebXa427DCkNts+YNhDmQsh76UzSaDXLz8bf5cUO1wNbGv Fa7lntd0Pzyus2Cfi2PYDlGxhU7+HsWa+fDuZo/sV9vb+hV9lwbMTxXSgUQa/SxiWEXvMI VNq/lKL+IQRhdlXPK+HvKA/+G1D8aD1A6CZQnfUMYInVSk1oaGv7koHV4L8nuOHJWA9aXs Gd7O7XWB+7UNLAn5XtpsBrcGBolNDXGN+XcPx8hLnOASmuGIjUFuoLr0B+CHYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737141453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0FW4P7YCpZiYUSEiDsqHJKjoUnbmCprgmdX97tqNXIk=; b=VvXtL1s/8LMNS/X4OKKGcvA9+um18D+KieYCLiOYDtWUw6sdS/B4kuXbu0FdNscV5Za/TR svjbZqoCHhmr31zcpVd1rzwgaCyPkNL0nrrhzSacr733JLBE6OtC7H5HcbQ5JXlOroEn20 0g6KPMCeoL3Ukn2VbT6eilBCEx+Ds7CrRXi2cSR2YVmFyfGyXxUazLYSYhx/+/iFAfG4HC zuuxJCqztOqgKxKToMicEAD7svXCz4tVf0ABAEX+RUrqGxCb+c0auREoZUFZRcC4as2WvA Zg+TNm/c+ocBpMSWr/24nhLWtZe4DSukQ9FOC9L5JvkdyCTxkecqO7l9DE1Asw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737141453; a=rsa-sha256; cv=none; b=wnUTV5c1CcJ4K8plDkTbKwsljpH3bq+4q7/mjwFb+hGXaFFQKBLFXJCaYeGkEZ/kx2vz82 vSBaPnD+IIpXUVOdbKPn7+bC++gyG4n4P48XAgzWcoSLSCZbTm+P4jVB/HOEZTmSrEij63 WwUoGAB8nyh5dN0kwDz425gSuPFPjNq9tJnAcwR+i3NdjHmmK3HH2u9Tq0+ycpz9AlOanW 3aYDYg2YsSr1J/ajSfcf4UoW4LGBpLUXZG+syT4/wYPuJM7xxJinChTquwudn3emQDtSRS y5jairjjlI58+pmV1hAarMbd9E7B0D3l+5H3C9TFcCJBIge2B8/kfCDy+OybQw== 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 4YZTyP3ctbzXFk; Fri, 17 Jan 2025 19:17:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HJHX5g011418; Fri, 17 Jan 2025 19:17:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HJHX4X011415; Fri, 17 Jan 2025 19:17:33 GMT (envelope-from git) Date: Fri, 17 Jan 2025 19:17:33 GMT Message-Id: <202501171917.50HJHX4X011415@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: 6d34cce60684 - stable/14 - sed tests: Add a regression test for the c function 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: 6d34cce6068401e5736c05b3c130c0583af1f2e9 Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=6d34cce6068401e5736c05b3c130c0583af1f2e9 commit 6d34cce6068401e5736c05b3c130c0583af1f2e9 Author: Mark Johnston AuthorDate: 2024-12-23 19:06:11 +0000 Commit: Mark Johnston CommitDate: 2025-01-17 18:48:15 +0000 sed tests: Add a regression test for the c function Based on the test case from PR 271817 by Mohamed Akram. PR: 271817 MFC after: 2 weeks (cherry picked from commit 003818aca4cdda47adef808a56d48003aa514029) --- usr.bin/sed/tests/sed2_test.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/usr.bin/sed/tests/sed2_test.sh b/usr.bin/sed/tests/sed2_test.sh index 0b849b1ea132..c88e998425a0 100755 --- a/usr.bin/sed/tests/sed2_test.sh +++ b/usr.bin/sed/tests/sed2_test.sh @@ -159,6 +159,28 @@ minus_e_body() atf_check -o 'inline:--\nab\n' sed $'1 i\\\n--' a } +atf_test_case command_c +command_c_head() +{ + atf_set "descr" "Verify that the 'c' command starts a new cycle" +} +command_c_body() +{ + printf "%s\n" a b c d e f > a + printf "%s\n" x c d e f > expected + + atf_check -o file:expected sed ' +/a/,/b/c\ +x +' a + + atf_check -o file:expected sed ' +/a/,/b/c\ +x +$!N +' a +} + atf_test_case command_D command_D_head() { @@ -182,5 +204,6 @@ atf_init_test_cases() atf_add_test_case hex_subst atf_add_test_case bracket_y atf_add_test_case minus_e + atf_add_test_case command_c atf_add_test_case command_D } From nobody Fri Jan 17 19:17:40 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 4YZTyX5Lrbz5lLm6; Fri, 17 Jan 2025 19:17: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 4YZTyX4t51z3rXl; Fri, 17 Jan 2025 19:17:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737141460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qogC5z7Tc7zij/xi50bNvBE1HXvuJbJlAf2o2p78T7U=; b=QU16/YrwrJnlcIJilRWAgQF4nt+p6yMn0RPglvRJmV4f5OR4Ux4id3k2fgGlTBXG5SrWrx e4TBApfSUVCkMTsaBSOM5KfAPze8FyP7wSiJUKv2USZXvM/BLxj/vHAueX+KbCnIyZpGoC MFEPW8JLjYz5lZkr9F5WRR8UfY4l2dXNJ8EozSkrW2H9IKLWuTvcmwhWM/E9I8mCFyS+8D CPNG7FoqVQl5/Z/9dCXvQh8NhvpxLBiTLzeq6hJqI+uJsUxEIfHYvgvVEvcWrHs50DjM3t el+DKN3013e7ee+SUDpCZESP8mHwiOsJG/744LKDHbT9pN84lYnZt508Mdwnow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737141460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qogC5z7Tc7zij/xi50bNvBE1HXvuJbJlAf2o2p78T7U=; b=Cf1FaFsOBJ4obIC3HNJ5FJBYxEyVX20Q/6w4plfpNXdHtoLNDVyopXiUkhanhbzEVtqACf hLUmxVaRi1XmFpl9Kysr3sJPDqIAMQm2+X8WX/cgV6v+mYLvTYG4KIFw3VRJ/s2zVvrtnT eNnLHx7tfhjZiUR+vc2eLx+KqrK7fzZS5CFBL0GjV9nFRmNWfubRtf2V41yz91E4Ubj+XE r5LeND8v9jX3eY6sTHa35mwAgUN2FLoU8hcTL+1MHJVJlzku514bOlQ4MaF4M3p9UMsJfx 06084ltu/apQEnha7RsghgffZ/TAduzlqPNKUa+n1gSurGPgX+hL9/IxUP8QZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737141460; a=rsa-sha256; cv=none; b=tBdRiD1vCMMVN6VHgQPWIN7DyI2eKfm5zGoF3QQoQSPBgUpiuofwpihW1GVBla830gZdRl ty7Wg3lceJycHz6on27AJASMc5wZ5yjGNllCxQIqmR+yFtWqUYw9BTbSAIOY7lvgXfWMSO CChoAzpWSvncJ01nqjoRfaNT8loL+9liUZ+HCEaP9SfUBWW0T6a7iXQ+CwX3yvFYjMcF+5 UGMFJVp21BwNMaj3gla5nfQO6YcSqehWhI0awpqrqqJjCYJujA1NSF4Buns2qv7aIuSRT3 EOAxPtLsTDPgLlhcvh8btr/YygNdlWx94EdLKY3GQxd3HVxfJaAizInHueNDuw== 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 4YZTyX4QMXzX1g; Fri, 17 Jan 2025 19:17: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 50HJHejD011594; Fri, 17 Jan 2025 19:17:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HJHeLK011591; Fri, 17 Jan 2025 19:17:40 GMT (envelope-from git) Date: Fri, 17 Jan 2025 19:17:40 GMT Message-Id: <202501171917.50HJHeLK011591@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: 5ea64bfc9a6f - stable/13 - sed: The change ("c") command should start a new cycle. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5ea64bfc9a6f8582b952580c7cdf754e7ab4a078 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5ea64bfc9a6f8582b952580c7cdf754e7ab4a078 commit 5ea64bfc9a6f8582b952580c7cdf754e7ab4a078 Author: Valeriy Ushakov AuthorDate: 2024-12-17 22:27:01 +0000 Commit: Mark Johnston CommitDate: 2025-01-17 18:48:01 +0000 sed: The change ("c") command should start a new cycle. The "c" command should start the next cycle as clarified in POSIX 2024. This is also consistent with historical and gnu sed behavior. This patch is from OpenBSD by way of NetBSD with a tweak to the man page date by me. Confirmed the test case in the bug now works. PR: 271817 Obtained from: NetBSD (1.39 uwe), OpenBSD (1.39 millert) Sponsored by: Netflix (cherry picked from commit a2d78713171cf138b5ae50d61f82df1af7574c95) --- usr.bin/sed/process.c | 2 +- usr.bin/sed/sed.1 | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.bin/sed/process.c b/usr.bin/sed/process.c index 945db462a601..e3f2bcab4881 100644 --- a/usr.bin/sed/process.c +++ b/usr.bin/sed/process.c @@ -137,7 +137,7 @@ redirect: psl = 0; if (cp->a2 == NULL || lastaddr || lastline()) (void)fprintf(outfile, "%s", cp->t); - break; + goto new; case 'd': pd = 1; goto new; diff --git a/usr.bin/sed/sed.1 b/usr.bin/sed/sed.1 index 29ede6d70230..90b23e2834de 100644 --- a/usr.bin/sed/sed.1 +++ b/usr.bin/sed/sed.1 @@ -30,7 +30,7 @@ .\" .\" @(#)sed.1 8.2 (Berkeley) 12/30/93 .\" -.Dd April 8, 2021 +.Dd December 17, 2024 .Dt SED 1 .Os .Sh NAME @@ -374,7 +374,7 @@ If the label is not specified, branch to the end of the script. .Pp .It [2addr]c\e .It text -Delete the pattern space. +Delete the pattern space and start the next cycle. With 0 or 1 address or at the end of a 2-address range, .Em text is written to the standard output. From nobody Fri Jan 17 19:17:41 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 4YZTyZ1p0rz5lLr5; Fri, 17 Jan 2025 19:17:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZTyY5zWJz3rY1; Fri, 17 Jan 2025 19:17:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737141461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gB6SQhWdJ+O8M3fn0M6qaljdbACZIOtXj5EFATuDTuU=; b=SpGhLSvlCdiwivHSpLbzatTAZXGOZOXUopWlA+siXAzeHxNXM97471DrMc2PboP8pKGdai 6SVXYN6QhBtgMppA8Dl/uWUNkBAGlpw3iiLMZsAxg0iLDdebxIpaG7dB0r/4dWl60AaENV 9Ot/qf9B27KtAf/AulYGqA2wZLZUKGxtf7MAgD1MTJgCKp5ncOdiV5KgDRt1wLaxGGmu6n CYgaGgbVGNT6IVbK6Rf025mSvMWdSOzQfvWJjSWGbQNltnryOtHYVB1TKQbIdDnREhhcRY 2ZdIBm+WHqKSrb9KzREUKncu9IHtFnpN2yfJ926DmswXKIqv9XgTGPXFoxzCXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737141461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gB6SQhWdJ+O8M3fn0M6qaljdbACZIOtXj5EFATuDTuU=; b=Cze+82z/W0y24jCU54oNEL4CnRDLHdP1KbfllFC6ihlMzBIpB7ZMwMLiAOYpqMGNeAeA0n 5e1ga1mhHyMPy8MdX3Ybn61I2uGtlKr4yAf5Oyl8QtrVvz7iOaLfbU9tb8YYp9FJwzJguc tOQKzKeHxLTPgbNZj/jPcJGlCvIM2RCCi3c7KwZ+l0W0hKfu8a8d7UUvbj3LE8Arbd4eOA fOqHp5YL8xPuyEw/d8YYuqyYHiEMRB5lC3PIdQYQLmeWb7/7OGu2cmjxozGxzhRXxz55JJ 4Tf1b/wf7XJRxz4mnNJ56gGWXNoM3hHjj/ICUSumOYzmu4FQlm3QyB6TLzWRhw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737141461; a=rsa-sha256; cv=none; b=dn/LQWTtjs31TgoHrAwLnEEz+NtmUx+eWiXAk6gaCUNmUMWgyS3pTdxkj3msLylFXsIZ8+ taQXKpUd0K3Q8vsRdTLzPr5B/2IkXtz32BT41F94T6+/+KRWwvVr/o+BooDxf+OalUHoKH Ym94CF0Hk1xveCEg58n0Ff60kr1h9uMC1PjEwcTqA28ZP2uLlxa1llWOTjaejsoBRUY2re O+cF7zq/Qcx4B0PzMNdjzG6uZKeYlvbKqAuY8r+WVqtNBH1zLvF1eB9WKTDm4njJ5fcEbn bCF+XX7/eLBnSDYmlTJ3j5q4H1xbqdRv7CBOxOpO59R9bYVwOc864eOkMj2DOQ== 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 4YZTyY5SMWzWWd; Fri, 17 Jan 2025 19:17:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HJHfs4011651; Fri, 17 Jan 2025 19:17:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HJHff4011648; Fri, 17 Jan 2025 19:17:41 GMT (envelope-from git) Date: Fri, 17 Jan 2025 19:17:41 GMT Message-Id: <202501171917.50HJHff4011648@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: 9c348f73a856 - stable/13 - sed tests: Add a regression test for the c function List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9c348f73a8568769b1a746efd9ccbca2f4ef7252 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9c348f73a8568769b1a746efd9ccbca2f4ef7252 commit 9c348f73a8568769b1a746efd9ccbca2f4ef7252 Author: Mark Johnston AuthorDate: 2024-12-23 19:06:11 +0000 Commit: Mark Johnston CommitDate: 2025-01-17 18:48:19 +0000 sed tests: Add a regression test for the c function Based on the test case from PR 271817 by Mohamed Akram. PR: 271817 MFC after: 2 weeks (cherry picked from commit 003818aca4cdda47adef808a56d48003aa514029) --- usr.bin/sed/tests/sed2_test.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/usr.bin/sed/tests/sed2_test.sh b/usr.bin/sed/tests/sed2_test.sh index 0b849b1ea132..c88e998425a0 100755 --- a/usr.bin/sed/tests/sed2_test.sh +++ b/usr.bin/sed/tests/sed2_test.sh @@ -159,6 +159,28 @@ minus_e_body() atf_check -o 'inline:--\nab\n' sed $'1 i\\\n--' a } +atf_test_case command_c +command_c_head() +{ + atf_set "descr" "Verify that the 'c' command starts a new cycle" +} +command_c_body() +{ + printf "%s\n" a b c d e f > a + printf "%s\n" x c d e f > expected + + atf_check -o file:expected sed ' +/a/,/b/c\ +x +' a + + atf_check -o file:expected sed ' +/a/,/b/c\ +x +$!N +' a +} + atf_test_case command_D command_D_head() { @@ -182,5 +204,6 @@ atf_init_test_cases() atf_add_test_case hex_subst atf_add_test_case bracket_y atf_add_test_case minus_e + atf_add_test_case command_c atf_add_test_case command_D } From nobody Fri Jan 17 19:41:41 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 4YZVVG0bT3z5lMpK; Fri, 17 Jan 2025 19:41:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZVVG076cz3ww5; Fri, 17 Jan 2025 19:41:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737142902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RsSxk9tk7k17E6SyMzYkuAerTaQOtA8JrEw88YeE2T8=; b=pgME/nylpWGQBPS/4BUmMP3vRmBHNM1ZWBxdMFibHTZP9CVFFzXqsw7iQw1/gcQhdUj4XM Stcex2xz2nYGtae152adLcgYzXX4iGLjKRNMpDYK3oe8HPvFOR8g4JPxH3mQy9poQvrZAk eRnxZVFszvdMoxtZ2FR2ukGp+Fwd1UdSKXMjd6KdZcJHnImxou//TSNG6CehyoqUEnOggA 22sne0sAzTgx3aIg1Q0IO0KXoV7RPa5h2Vitj0ouqZPNKklNs/0FZRgMiMdfNYooeMfd/Z TZvQjA3KkGUlpkgPNDmz5mS/RnObURiGZplR9AWord0Wb19pEGnQSLthGOurNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737142902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RsSxk9tk7k17E6SyMzYkuAerTaQOtA8JrEw88YeE2T8=; b=iQ9chaKZXd/TSk6lzbEF/SIyKYcSZSjxAnpieu9zHLmNPtRmSCcTedX20EqrDPwRHBe7tz ICUMeWmYyT38P5K1gaWP/FIcodXapBcnIWo4Bs3wA6rVfGCS0kmVevDTHJzz6DkldlfOBr ebMVSSb6XwY12qQY4YDhEJu+ZIIgHjXLsk2/y7Q/+5F3U3ySQu2RC19tVxRL3dj74UFFPe ndl2xlOo+paQBFpDi7RKiADLsAfu9a87s1ne9wG+56T/BPSOzNpX0hSMkcambwn4DYHLSI nDFFUQPYR7rCLAKMVRpqxMI9jQauniABNIYhb+k1qSDfsNp2UqhkQ28hzxbuvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737142902; a=rsa-sha256; cv=none; b=JxSTv5spa8FewSpSIAcnJO7LzqZOFfvE/SWrUuNtS7li7U1EO1gCi/Gl9Z1ei3iVqlQUsM nNw45pLTGxKF5MZCgpsvUlI4Ut2RoQrine9pbf2AbcuU8RB65Vah3YaK/vfb/zd/6mbwvC 0C5IABRd82MQHGsPdfacrY/XQp68gvAFwf6vFIJgag0St+seryGP5w5KzOW/n07L0KhKJp yPfA/McZy1SYczkPLSeYpZMvyFgxjbJ9Czxn6O4mdLzTUJvsnbYTky2jvDu8ca9w6g06tS GfgEG+QyoNj6UXjwQYoYOzbPMadM6+ivwbC20B1StTRgWKd2M26+LxUBCtAYMQ== 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 4YZVVF6kMbzXbX; Fri, 17 Jan 2025 19:41:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HJffmf054900; Fri, 17 Jan 2025 19:41:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HJff6F054897; Fri, 17 Jan 2025 19:41:41 GMT (envelope-from git) Date: Fri, 17 Jan 2025 19:41:41 GMT Message-Id: <202501171941.50HJff6F054897@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: 797bb39ccd5f - stable/14 - sockets: virtualize kern.ipc.numopensockets 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: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 797bb39ccd5f57c3206665949d3cba35328cfdeb Auto-Submitted: auto-generated The branch stable/14 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=797bb39ccd5f57c3206665949d3cba35328cfdeb commit 797bb39ccd5f57c3206665949d3cba35328cfdeb Author: Gleb Smirnoff AuthorDate: 2025-01-13 18:08:58 +0000 Commit: Eugene Grosbein CommitDate: 2025-01-17 19:34:16 +0000 sockets: virtualize kern.ipc.numopensockets To avoid breaking POLA on the host machine it reports the same value as before. In a VNET jail it now reports number of sockets in this jail. PR: 219655 Differential Revision: https://reviews.freebsd.org/D48315 (cherry picked from commit 59498e099cc055da7afca8266087b7668be6d7cb) --- sys/kern/uipc_socket.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 162c489ea6fe..1e49b9b20588 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -274,9 +274,23 @@ SYSCTL_PROC(_kern_ipc, KIPC_SOMAXCONN, somaxconn, sizeof(int), sysctl_somaxconn, "I", "Maximum listen socket pending connection accept queue size (compat)"); -static int numopensockets; -SYSCTL_INT(_kern_ipc, OID_AUTO, numopensockets, CTLFLAG_RD, - &numopensockets, 0, "Number of open sockets"); +static u_int numopensockets; +static int +sysctl_numopensockets(SYSCTL_HANDLER_ARGS) +{ + u_int val; + +#ifdef VIMAGE + if(!IS_DEFAULT_VNET(curvnet)) + val = curvnet->vnet_sockcnt; + else +#endif + val = numopensockets; + return (sysctl_handle_int(oidp, &val, 0, req)); +} +SYSCTL_PROC(_kern_ipc, OID_AUTO, numopensockets, + CTLTYPE_UINT | CTLFLAG_RD | CTLFLAG_MPSAFE | CTLFLAG_VNET, 0, sizeof(u_int), + sysctl_numopensockets, "IU", "Number of open sockets"); /* * so_global_mtx protects so_gencnt, numopensockets, and the per-socket From nobody Fri Jan 17 19:42:10 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YZVVp65Xsz5lMpQ; Fri, 17 Jan 2025 19:42:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZVVp5Qdcz3xXc; Fri, 17 Jan 2025 19:42:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737142930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3wuHRgx/J9wKhPYoRqj7tdXebFT2RWgXgwTO5rge4nE=; b=jSnx3I05I47mzIQr35bDxtHBN5wdiTD8okMmYLKhQk4bYdpQZOsLIGNB69NzY6cUgAZKBu bYoGjc+mPR79FGGdBhMqVG1gszSNRnWKF7G1bbzc3KHq7METWkXSf4qxKkvYJ1m+7jpXoA b42C0uv0iy6S/C9Ung/wneUJzr+b+HqlqgKxSiZwDhPENHYQAnPj361+UTF9buzVdZ8gIC k99z82c8m5taTEgusIoHGivvvhJ1OcabsrfyEbjHLgtPjH+Mwdhm7LDy+THeFwAufrk9IF 7UxBNEA+kyW6czNhx7FnWFCqza1esyfelJTawGeXce/xOqk3KsmCzlxVErmVnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737142930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3wuHRgx/J9wKhPYoRqj7tdXebFT2RWgXgwTO5rge4nE=; b=innp3SMHFop4kC08RYj1S+J9vrtfAWyJDZlIIMk96jfZR2WxOwcmSwh1CHJXD8bNz00Mj/ YNV+0tDAhIxfMhgGGHV6/NhGkXfVJ6ax0yB3q5dBsLjj4hZtE7PLHsd3ttOeR8NqE8TjOb 1oGWn7Ri30Ubox9jbd0doX9ksHl8r94igtNCeQ29vVe0+++hITK4ROv092G7AdTUo58gmf 1kxxOytDYbr0TwcbIfKyNLMxYAB/WPYFEbINqS0RJhWhApHkoggKhQUifZfMmQLOsnt/cJ tzZLR8b/H/QIwSvywpJaEcashVzf0d3mhnEAARG5sSkut1/xMw0zh6ORBlg92Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737142930; a=rsa-sha256; cv=none; b=MlEs5chA/QvZzFxBj9v1kLuoUmzF12vqaYUwrvT8JMRMtrrfhwpYaMoJ7PC6k0HDgGuXKc JUZM0dPkfC3bf65eiQVtkpExyd8KJ3J4QOddICMcss+W4kE+tF5xFltu1y8JrNuXPrH8Lm oHVuKHu6W+/SR1AJIX1LBBYfcKar7WNzdXCAUdO0e3fYofqKTrjoNkHlmlWcZ/zIAIHq1p gxDDmUacVK7k9HimPaS0AA537fMQMzRa67xEyTKXiNlAedKqycBs2IzsTKTnLvADtU0jh5 hjed/yiYFi9nYjpnn+QtbGby8NQqJdevHQ4bIdetz0yqP+d3EB4HqMQTJvx9pw== 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 4YZVVp4lT0zXr4; Fri, 17 Jan 2025 19:42:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HJgAki057150; Fri, 17 Jan 2025 19:42:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HJgAso057147; Fri, 17 Jan 2025 19:42:10 GMT (envelope-from git) Date: Fri, 17 Jan 2025 19:42:10 GMT Message-Id: <202501171942.50HJgAso057147@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: 08384f613cd8 - stable/13 - sockets: virtualize kern.ipc.numopensockets 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: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 08384f613cd808e31fa3ae3dd86fa078b49d3f4b Auto-Submitted: auto-generated The branch stable/13 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=08384f613cd808e31fa3ae3dd86fa078b49d3f4b commit 08384f613cd808e31fa3ae3dd86fa078b49d3f4b Author: Gleb Smirnoff AuthorDate: 2025-01-13 18:08:58 +0000 Commit: Eugene Grosbein CommitDate: 2025-01-17 19:41:51 +0000 sockets: virtualize kern.ipc.numopensockets To avoid breaking POLA on the host machine it reports the same value as before. In a VNET jail it now reports number of sockets in this jail. PR: 219655 Differential Revision: https://reviews.freebsd.org/D48315 (cherry picked from commit 59498e099cc055da7afca8266087b7668be6d7cb) --- sys/kern/uipc_socket.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 81145ff1e1ac..24cb885504c9 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -246,9 +246,23 @@ SYSCTL_PROC(_kern_ipc, KIPC_SOMAXCONN, somaxconn, sizeof(int), sysctl_somaxconn, "I", "Maximum listen socket pending connection accept queue size (compat)"); -static int numopensockets; -SYSCTL_INT(_kern_ipc, OID_AUTO, numopensockets, CTLFLAG_RD, - &numopensockets, 0, "Number of open sockets"); +static u_int numopensockets; +static int +sysctl_numopensockets(SYSCTL_HANDLER_ARGS) +{ + u_int val; + +#ifdef VIMAGE + if(!IS_DEFAULT_VNET(curvnet)) + val = curvnet->vnet_sockcnt; + else +#endif + val = numopensockets; + return (sysctl_handle_int(oidp, &val, 0, req)); +} +SYSCTL_PROC(_kern_ipc, OID_AUTO, numopensockets, + CTLTYPE_UINT | CTLFLAG_RD | CTLFLAG_MPSAFE | CTLFLAG_VNET, 0, sizeof(u_int), + sysctl_numopensockets, "IU", "Number of open sockets"); /* * accept_mtx locks down per-socket fields relating to accept queues. See From nobody Fri Jan 17 19:44:30 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 4YZVYV4Xv1z5lMvs; Fri, 17 Jan 2025 19:44:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZVYV3sNsz3xfj; Fri, 17 Jan 2025 19:44:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737143070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2NQK1c3QXFq20sn50UrrDIg9aFr9qjYh8fReZRYKRcU=; b=muvcWXipJylmhnKEXJm3PNXsVtFhoTqRt5U7Fqb6LC8o/FZkdC9w25zLb4cGdqF7WHt+yn uV+tuXem2+UXuPApxGS3KQLr9SToNdlQDJmMjbON1vh4LkVvULZekZdNy/KJ4BNVtmOePk SACBpnqzLteMjGxMzLUWYLidHPK3rmnmEAVIFMgmpG0//AbiwWtdhD2dAR0yr3XHVea9cu 9hDPJavxi95a0CWRom+cNAINZUj/fCVRMVprn00l1ML+GHVtxS72nqHYdcxLN6KZEPQ0k0 Ym0F2J90vXO8eFlj23YMIuI/MMTVa8/mZoePzi3IKm/3ofbBTBky+6xqpj+/ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737143070; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2NQK1c3QXFq20sn50UrrDIg9aFr9qjYh8fReZRYKRcU=; b=dbvXZZxgSNBp9lG3pYnh+tajBjnmBhdSoMU3dJqiGpBDvOfKGXYYpk/Z3+DzYs52EvMrlC XxZuwhaiByQNWOk5Afu2SZZayf9/AXg55QrLcK4pe0KgkIqfxzFrbe7qPQjn6XqcZBE1Vc sIsB+vZMDXqSnQHEDpivWOwiLMD4e+6/rTM1ISlqhkH3Q454vEwkrspLHls4yCB3NEXsOr r/Wr42/w26FA8h8SuS2bNgOHUU7atu5cF6yOy6MgC+cYDaR+0owtTmzBpsvBiyjzq28z53 YML/9TKJAyCGswKOrfeDdxiLD2l5yB6sK7ug2UDY1gugEUdV4/IJet+CD3h/TA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737143070; a=rsa-sha256; cv=none; b=sRkfh5MXZ2uwqakLJNtzv/DcUWL/qf719k6ZEl34UnDya1AFP/VaJsbB2yIGCGfwbdJzsj IXS+ljP1mIVH8YL4mcYoQOtEXhhNvfKvB+yQ0XCy5O3iuwoGGRw0glrWAn+URY/k9qDuw0 jWPvHentF/w2kAD80xYokpzs+NJWF+8VmEvNxpVzuov2EQQILPpYyEVP6P2WiBgUDLvqHK T3k1E76uGHBQJSk0hLLuvpOeefKqXVslv6WFbapbplRerGbEDSSM7IpWLoT5Pd8CBFQxUo nxATyKmopU0SOTRat12swIbF1mBpNpLPxrGkMzczL4+LSYIdIh8o6ZeDCAdJbA== 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 4YZVYV3DkzzXYQ; Fri, 17 Jan 2025 19:44:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HJiUx1061379; Fri, 17 Jan 2025 19:44:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HJiUJZ061376; Fri, 17 Jan 2025 19:44:30 GMT (envelope-from git) Date: Fri, 17 Jan 2025 19:44:30 GMT Message-Id: <202501171944.50HJiUJZ061376@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: c348cdf13257 - stable/14 - sockets: virtualize kern.ipc.soacceptqueue 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: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: c348cdf132572ab821f7c75a97453c1d238239b9 Auto-Submitted: auto-generated The branch stable/14 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=c348cdf132572ab821f7c75a97453c1d238239b9 commit c348cdf132572ab821f7c75a97453c1d238239b9 Author: Gleb Smirnoff AuthorDate: 2025-01-13 18:08:51 +0000 Commit: Eugene Grosbein CommitDate: 2025-01-17 19:44:15 +0000 sockets: virtualize kern.ipc.soacceptqueue PR: 219655 Differential Revision: https://reviews.freebsd.org/D48314 (cherry picked from commit 4155be454c46bc1ab725aca5c6969b064b74be38) --- sys/kern/uipc_socket.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 1e49b9b20588..fcec1ef166fc 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -240,38 +240,39 @@ struct splice32 { * NB: The original sysctl somaxconn is still available but hidden * to prevent confusion about the actual purpose of this number. */ -static u_int somaxconn = SOMAXCONN; +VNET_DEFINE_STATIC(u_int, somaxconn) = SOMAXCONN; +#define V_somaxconn VNET(somaxconn) static int sysctl_somaxconn(SYSCTL_HANDLER_ARGS) { int error; - int val; + u_int val; - val = somaxconn; + val = V_somaxconn; error = sysctl_handle_int(oidp, &val, 0, req); if (error || !req->newptr ) return (error); /* * The purpose of the UINT_MAX / 3 limit, is so that the formula - * 3 * so_qlimit / 2 + * 3 * sol_qlimit / 2 * below, will not overflow. */ if (val < 1 || val > UINT_MAX / 3) return (EINVAL); - somaxconn = val; + V_somaxconn = val; return (0); } SYSCTL_PROC(_kern_ipc, OID_AUTO, soacceptqueue, - CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, 0, sizeof(int), - sysctl_somaxconn, "I", + CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE | CTLFLAG_VNET, 0, sizeof(u_int), + sysctl_somaxconn, "IU", "Maximum listen socket pending connection accept queue size"); SYSCTL_PROC(_kern_ipc, KIPC_SOMAXCONN, somaxconn, - CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_SKIP | CTLFLAG_MPSAFE, 0, - sizeof(int), sysctl_somaxconn, "I", + CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_SKIP | CTLFLAG_MPSAFE | CTLFLAG_VNET, 0, + sizeof(u_int), sysctl_somaxconn, "IU", "Maximum listen socket pending connection accept queue size (compat)"); static u_int numopensockets; @@ -1516,8 +1517,8 @@ solisten_proto(struct socket *so, int backlog) so->so_options |= SO_ACCEPTCONN; listening: - if (backlog < 0 || backlog > somaxconn) - backlog = somaxconn; + if (backlog < 0 || backlog > V_somaxconn) + backlog = V_somaxconn; so->sol_qlimit = backlog; mtx_unlock(&so->so_snd_mtx); From nobody Fri Jan 17 19:44:50 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 4YZVYt6Lb3z5lNKY; Fri, 17 Jan 2025 19:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YZVYt5p7Cz3y0X; Fri, 17 Jan 2025 19:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737143090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fjboSx/9v9mg41QEJJfwcCmStj56Oqiurm63EtYtQCI=; b=Mq4yRlCoJYrDM8bzyKrtFAO6m5lgCWLr3ZGmRMW3Oy/ON33ehpn7Rcr4rGhqkrB5tafrqA B8kjuM2cfSRKw1Uul3rewTsV/aBxLR4hz049Zh5viT+wzMkFd12zJ6RhAYLuKTWqXB2Cy1 08XCA96SMCEbD2dnLAhVXFhqKwkNUUeIqeDAbAH3o8U5/7otiiRt/PdlmrwNWcnpSH8XKB 82H5yDaKEWnfN6/i6IbwI6PwUd1lkAxvLy1agW4zwziDVIr6BTMBcCahdbPiIjr7FbtULD 4Q+2bQhG1GGA8uqXLlLjx7iJU7Td+ZY/9G/4uSTl/LSldowIA8my85HYrr8knw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737143090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fjboSx/9v9mg41QEJJfwcCmStj56Oqiurm63EtYtQCI=; b=kAV/ff3LKmHxUJzAQsI0wj0xztF27RT2PMW8brDXTV8yRCKVAXr29a18+JKVwj+tmqIxbK Dh5Rf08QgGFtLZlPIc4T6AM/lgf8uCQlVDe9Ohh3SYrV1J8wmGGPbP4Yp4d6Jw1g8aTSSe 0u7W3/9f+QdSYb2YdHtKWsErWaYcwiFSruPAmrrydSs//pGdBW7Ue/XzsR3gT0Gmb7Qj34 q5UbI6EpW2cRhyqX2aTFkC9pbq4V9Cw2qumQTSw6h20Cw9DgyjqF6UNKg2DXJ08glcDiHF BkcBWnFOcnFl3UbFKsyHNhCcQjKVyYJrVZqT2D3Od4womymDq16RBJY0KLQ0Bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737143090; a=rsa-sha256; cv=none; b=Dd4UZqRk0yoOTl/fb46IJRj30t8XGv64IaJM7/QvtxWfCSZGL5QwAUDGF3bVc3crvwUxLK 5EGu2AFXPQxCQxueNvsEN3S/LIO9/MxvbQuP7cNqTxcLLJ/xbzn9IlyfIZbHpFoBzotkEO ByRuOaMsW+EDOR+xMj9bSwPH82Kdx3bVz1kKp3jTju+5sIgGfmANpm16f9Z4SsCzwHzB+y unxZ969g+O3B04xcwaH3KiLoVXpSsUBiSBBjdo9b7kFzvq/xrJO2Rj8+9S7zlf3qXliGA2 3nxDQiIUWaT+BKFeEz/LMo0VogWA7x8S3Q8nWA7wz5+SXPZaAOhNjfjeP4znRA== 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 4YZVYt4l14zXLs; Fri, 17 Jan 2025 19:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50HJioOq061532; Fri, 17 Jan 2025 19:44:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50HJio9G061529; Fri, 17 Jan 2025 19:44:50 GMT (envelope-from git) Date: Fri, 17 Jan 2025 19:44:50 GMT Message-Id: <202501171944.50HJio9G061529@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: 45d1cff2bfc6 - stable/13 - sockets: virtualize kern.ipc.soacceptqueue 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: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 45d1cff2bfc679aee4d7f8ae8cc827bc163fbd08 Auto-Submitted: auto-generated The branch stable/13 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=45d1cff2bfc679aee4d7f8ae8cc827bc163fbd08 commit 45d1cff2bfc679aee4d7f8ae8cc827bc163fbd08 Author: Gleb Smirnoff AuthorDate: 2025-01-13 18:08:51 +0000 Commit: Eugene Grosbein CommitDate: 2025-01-17 19:44:36 +0000 sockets: virtualize kern.ipc.soacceptqueue PR: 219655 Differential Revision: https://reviews.freebsd.org/D48314 (cherry picked from commit 4155be454c46bc1ab725aca5c6969b064b74be38) --- sys/kern/uipc_socket.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 24cb885504c9..dd5df8886aa4 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -212,38 +212,39 @@ VNET_DEFINE(struct hhook_head *, socket_hhh[HHOOK_SOCKET_LAST + 1]); * NB: The original sysctl somaxconn is still available but hidden * to prevent confusion about the actual purpose of this number. */ -static u_int somaxconn = SOMAXCONN; +VNET_DEFINE_STATIC(u_int, somaxconn) = SOMAXCONN; +#define V_somaxconn VNET(somaxconn) static int sysctl_somaxconn(SYSCTL_HANDLER_ARGS) { int error; - int val; + u_int val; - val = somaxconn; + val = V_somaxconn; error = sysctl_handle_int(oidp, &val, 0, req); if (error || !req->newptr ) return (error); /* * The purpose of the UINT_MAX / 3 limit, is so that the formula - * 3 * so_qlimit / 2 + * 3 * sol_qlimit / 2 * below, will not overflow. */ if (val < 1 || val > UINT_MAX / 3) return (EINVAL); - somaxconn = val; + V_somaxconn = val; return (0); } SYSCTL_PROC(_kern_ipc, OID_AUTO, soacceptqueue, - CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE, 0, sizeof(int), - sysctl_somaxconn, "I", + CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE | CTLFLAG_VNET, 0, sizeof(u_int), + sysctl_somaxconn, "IU", "Maximum listen socket pending connection accept queue size"); SYSCTL_PROC(_kern_ipc, KIPC_SOMAXCONN, somaxconn, - CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_SKIP | CTLFLAG_MPSAFE, 0, - sizeof(int), sysctl_somaxconn, "I", + CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_SKIP | CTLFLAG_MPSAFE | CTLFLAG_VNET, 0, + sizeof(u_int), sysctl_somaxconn, "IU", "Maximum listen socket pending connection accept queue size (compat)"); static u_int numopensockets; @@ -990,8 +991,8 @@ solisten_proto(struct socket *so, int backlog) so->so_options |= SO_ACCEPTCONN; listening: - if (backlog < 0 || backlog > somaxconn) - backlog = somaxconn; + if (backlog < 0 || backlog > V_somaxconn) + backlog = V_somaxconn; so->sol_qlimit = backlog; } From nobody Sat Jan 18 20:18: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 4Yb7Fx612dz5kppK; Sat, 18 Jan 2025 20:18:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yb7Fx5DZXz4B6L; Sat, 18 Jan 2025 20:18:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737231493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P2APUkkR5mKdOnGuXv6hD2EclcEZUQD29aUnpkDh8+0=; b=uN+vxeC0cIntR1CSB/Sf45HP+8ldo8QbKov1jUmnFh4jAZO+ssl+oFQObM+uMZMW/BjrF7 VtiRh0s2nFXycWzccvGAI80uMxUyXe1MS8WhLfFlNYEcdCge8spdVNszuXRHMmlpuS8cdR EjeCmgCZIKmXivpabF1VL+e5DtKz+/JsiWMDdYNYwu6HConz+V/GQZJ7gvtLp/bQnfmF6N NKKa5KvNdFqSwm9pcemLHuQhC/OGZkpX0V4T//fXaQ/5ERpeG3r6G0cDw/Q4pUTCwH/oxk BMhsh79SbOJGFV5XCSL8q+Rd0lxpgu3/2cZ70aX7OHLqY1VpdPgYSpGrLogF9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737231493; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P2APUkkR5mKdOnGuXv6hD2EclcEZUQD29aUnpkDh8+0=; b=RCfEztLHlkayTfX8Tsp3v127Aalp4sYrEELQUPVS+h+avLMZuVddopWCOmYSIbWNreuDl6 Q2mGYL3WHWGyUsvWtCJ25kap2jFp0VzuGNHPja5KCRROPUKLo8bOjuQ2d7h/2Csh9pvLjJ t3frI77L8iShfsR2ot1mtyVcXzOh5NiupJvpe5NMUl5zPMh9SVHf9OjYIcl1gSOrEm5wGl 5+wtYi6kHf+tnE1PSKdmD7q6+w8gFDw6brzBRLw9kjWtVpv3rxBefTGdOLsBS++5Ipy/WX a/8bhP09SSCXUfsY4T6vJetEsvN4SWGOLskAiQAWYIfKJpbVbitfMsGOt7W34A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737231493; a=rsa-sha256; cv=none; b=VSpy3IBdRhL8PIpmOeYM9NLOZPdU3MPm4R1JCH5zW98ZdEE6SyDiis5EaEXVRb+fBURf6e g6eH9kLPmEFzOkRtsHXTKtKy3NDHirRe+xTbv5KjwdkO2Rza8UkzGSss0owWUIsbJBeYOZ Z5A6VcFpYWkJMyVDmWHYJV8JcB7PmNg++IHXsYi1mo+qWmGGKmmmtntSeu4H3bPgdIisWN n17a9kOo85rr4vVaPz3FHS5K2Om1IR46hVbyaBWHCSeG9eALQxjMfSc/lUVnU2mpdCiP0r FnWFeSVVA3AFx02osb4i3pg13goeUhjsp72SGQyhQJGSBkzS0ZXi/FRbvQCwOg== 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 4Yb7Fx4q3cz3st; Sat, 18 Jan 2025 20:18: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 50IKIDFU063463; Sat, 18 Jan 2025 20:18:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50IKIDxt063460; Sat, 18 Jan 2025 20:18:13 GMT (envelope-from git) Date: Sat, 18 Jan 2025 20:18:13 GMT Message-Id: <202501182018.50IKIDxt063460@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Stephen Hurd Subject: git: bc14b1ebce0e - stable/14 - Expose POSIX functions incorporated into C23 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: shurd X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bc14b1ebce0eac01d70d126eae48ae50c1b6112d Auto-Submitted: auto-generated The branch stable/14 has been updated by shurd: URL: https://cgit.FreeBSD.org/src/commit/?id=bc14b1ebce0eac01d70d126eae48ae50c1b6112d commit bc14b1ebce0eac01d70d126eae48ae50c1b6112d Author: Stephen Hurd AuthorDate: 2025-01-18 20:17:48 +0000 Commit: Stephen Hurd CommitDate: 2025-01-18 20:17:48 +0000 Expose POSIX functions incorporated into C23 C23 has incoporated a small number of POSIX functions, so these should be exposed for C23, regardless of POSIX. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D47856 (cherry picked from commit 59677aecb67bbedcfa2ee5d7d2b189193cdc4af7) --- include/string.h | 8 +++++--- include/time.h | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/include/string.h b/include/string.h index 7b0cb9f56524..a362dc9e0f3f 100644 --- a/include/string.h +++ b/include/string.h @@ -52,7 +52,7 @@ typedef __size_t size_t; #endif __BEGIN_DECLS -#if __XSI_VISIBLE >= 600 +#if __XSI_VISIBLE >= 600 || __ISO_C_VISIBLE >= 2023 void *memccpy(void * __restrict, const void * __restrict, int, size_t); #endif void *memchr(const void *, int, size_t) __pure; @@ -86,7 +86,7 @@ int strcmp(const char *, const char *) __pure; int strcoll(const char *, const char *); char *strcpy(char * __restrict, const char * __restrict); size_t strcspn(const char *, const char *) __pure; -#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE +#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE || __ISO_C_VISIBLE >= 2023 char *strdup(const char *) __malloc_like; #endif char *strerror(int); @@ -110,8 +110,10 @@ void strmode(mode_t, char *); char *strncat(char * __restrict, const char * __restrict, size_t); int strncmp(const char *, const char *, size_t) __pure; char *strncpy(char * __restrict, const char * __restrict, size_t); -#if __POSIX_VISIBLE >= 200809 +#if __POSIX_VISIBLE >= 200809 || __ISO_C_VISIBLE >= 2023 char *strndup(const char *, size_t) __malloc_like; +#endif +#if __POSIX_VISIBLE >= 200809 size_t strnlen(const char *, size_t) __pure; #endif #if __BSD_VISIBLE diff --git a/include/time.h b/include/time.h index ff858cc1f420..cac9c76e3f79 100644 --- a/include/time.h +++ b/include/time.h @@ -157,6 +157,8 @@ int clock_nanosleep(clockid_t, int, const struct timespec *, struct timespec *); #if __POSIX_VISIBLE >= 199506 char *asctime_r(const struct tm *, char *); char *ctime_r(const time_t *, char *); +#endif +#if __POSIX_VISIBLE >= 199506 || __ISO_C_VISIBLE >= 2023 struct tm *gmtime_r(const time_t *, struct tm *); struct tm *localtime_r(const time_t *, struct tm *); #endif From nobody Sat Jan 18 20:20:06 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yb7J716ylz5kq4Y; Sat, 18 Jan 2025 20:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yb7J66Q1rz3Cqb; Sat, 18 Jan 2025 20:20:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737231606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TFHCX4OOwpXahFive61W9Mq6gsvD/08YVOgGYE3WV4w=; b=csMzIvmnG81y7QdeUMWaUChcnd0nB1sCJh8Y9wHUPTyG+/6kRXIQVJBxOd43T170sWXM2I TnAPxzyBKwYQ4nmBFB2OeOk++1+OrxoUXb3DQeppNfvqSk9rNEH8YrMnaDdhw8x22bnM02 xVFGkYD9u+L3I68QIoJaQaHwTpNUi6HHnEbPHTAx295O7TALEeNwpOjNc8ge7x0pg8Atyo V5Jr3Lw0SPxBPODVTYcCIyfk4P47PhyD2jti3twn2lWOdoZ1DT0dLJzD4O9EsMAfW2q9Vl O+XBCdlczgqADSUJqIOqdzFSCbBt0vFY6haBQPnGtCkDnp5XPg9Zd408v0yXvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737231606; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TFHCX4OOwpXahFive61W9Mq6gsvD/08YVOgGYE3WV4w=; b=FWNE1GTW8ZBZ7cmOfiVCjk0Cg0PYopAO9uFnbhJxBPkL2a3EYPtiumngIjsY0HI/0Uxl9C bhVLqIRL4rhGJLaiK6jcjZkzaieUt8clJD1TGxvVfGusGRCEd2T/gqt1UlrQ2OZMeoZgkK vtY6IQRIxb2Ayz5gvpjsnlY0OlsWcWgizqKE711RduSZIhovd+87ZPK5iY6W5vFuaekHxG 6+huQ7eaxc2aSilTF8iNASs7SeUYx4K8Yg6uMtOvvg9EC24NOMLWPPUi9+Hx7qAwSfhLJC LKQMRbKqrGGG8i0E+AW3Q85XH5fBnxqCi51uiSRmQ9fYq1iggvXNV4H9rQW7yw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737231606; a=rsa-sha256; cv=none; b=id7zb1A9vkFpD2KWtK3l2QsztUCiFKoeHScRGWx7KWK++PB3GtLfJicsxVKWQs0TQOvhxt VTnpzd2r4DEehGxoKPNLLZuKOpA5jQlF5VYaf5FuxvdgVv5B0teBV/qEvaJyW4dkcESzku r4AklHuZo6Qc48dgYHdC4FR/ek6lm23MLAu0z/avU+x8+n/wB4i8Y1mOnqH9qSXqH7961c TneeBD1gGgNQ4nWcfFvVFL47ArJnAM72NGvG1HyrblSoVT0LQ42da+3Ds33C2un0+eVAik MsEUulfx9LD/Nd2RBF6pwYLdp7yXPu77DpZ1fERK2hEbN8+Gr7L4sk+2/74wIg== 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 4Yb7J65mBHz3bG; Sat, 18 Jan 2025 20:20:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50IKK6Bx067159; Sat, 18 Jan 2025 20:20:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50IKK6er067156; Sat, 18 Jan 2025 20:20:06 GMT (envelope-from git) Date: Sat, 18 Jan 2025 20:20:06 GMT Message-Id: <202501182020.50IKK6er067156@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Stephen Hurd Subject: git: 9e659ecfb231 - stable/13 - Expose POSIX functions incorporated into C23 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: shurd X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9e659ecfb231819c5426c992885367032a8c4e94 Auto-Submitted: auto-generated The branch stable/13 has been updated by shurd: URL: https://cgit.FreeBSD.org/src/commit/?id=9e659ecfb231819c5426c992885367032a8c4e94 commit 9e659ecfb231819c5426c992885367032a8c4e94 Author: Stephen Hurd AuthorDate: 2024-12-01 17:34:40 +0000 Commit: Stephen Hurd CommitDate: 2025-01-18 20:19:16 +0000 Expose POSIX functions incorporated into C23 C23 has incoporated a small number of POSIX functions, so these should be exposed for C23, regardless of POSIX. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D47856 (cherry picked from commit 59677aecb67bbedcfa2ee5d7d2b189193cdc4af7) --- include/string.h | 8 +++++--- include/time.h | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/include/string.h b/include/string.h index ccc820d8b4b6..1d42b54e43ec 100644 --- a/include/string.h +++ b/include/string.h @@ -52,7 +52,7 @@ typedef __size_t size_t; #endif __BEGIN_DECLS -#if __XSI_VISIBLE >= 600 +#if __XSI_VISIBLE >= 600 || __ISO_C_VISIBLE >= 2023 void *memccpy(void * __restrict, const void * __restrict, int, size_t); #endif void *memchr(const void *, int, size_t) __pure; @@ -86,7 +86,7 @@ int strcmp(const char *, const char *) __pure; int strcoll(const char *, const char *); char *strcpy(char * __restrict, const char * __restrict); size_t strcspn(const char *, const char *) __pure; -#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE +#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE || __ISO_C_VISIBLE >= 2023 char *strdup(const char *) __malloc_like; #endif char *strerror(int); @@ -104,8 +104,10 @@ void strmode(int, char *); char *strncat(char * __restrict, const char * __restrict, size_t); int strncmp(const char *, const char *, size_t) __pure; char *strncpy(char * __restrict, const char * __restrict, size_t); -#if __POSIX_VISIBLE >= 200809 +#if __POSIX_VISIBLE >= 200809 || __ISO_C_VISIBLE >= 2023 char *strndup(const char *, size_t) __malloc_like; +#endif +#if __POSIX_VISIBLE >= 200809 size_t strnlen(const char *, size_t) __pure; #endif #if __BSD_VISIBLE diff --git a/include/time.h b/include/time.h index 45d3a253ed61..e99872ef6a3d 100644 --- a/include/time.h +++ b/include/time.h @@ -157,6 +157,8 @@ int clock_nanosleep(clockid_t, int, const struct timespec *, struct timespec *); #if __POSIX_VISIBLE >= 199506 char *asctime_r(const struct tm *, char *); char *ctime_r(const time_t *, char *); +#endif +#if __POSIX_VISIBLE >= 199506 || __ISO_C_VISIBLE >= 2023 struct tm *gmtime_r(const time_t *, struct tm *); struct tm *localtime_r(const time_t *, struct tm *); #endif From nobody Sat Jan 18 23:58:38 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 4YbD8G3HfBz5l3nX; Sat, 18 Jan 2025 23:58:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YbD8G1VgYz3XhC; Sat, 18 Jan 2025 23:58:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737244718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yNAuNIH15ySxmsWvzXcqWE573KMqvMVEM2jHIXgzXf8=; b=lpAdCCQ1Vs2AvW2SuQowwKSOpcABdy9eu4Oe6omQGPHjWubM1T0qMvTUmlviNjTmwE9zYh sLoLHwvS7ueZzYyA+OL2GOyZ6OuPCJwndUsslJiedvGuedWImPkAZr9l4QkjRTwA5wGrju BSLSnaGfkEF/lFcXrVZqeEizALo5gcMkhf0Sqd9jzNYq17Bbou1gbJyg0NFx53eQehtv05 UNBTr101R7saL4+FsM+iwS+fmdSosRAMaPD2KN34PVEtOiGYVbuhdGmQiu00z7SZufBrdi pI3tRmsa6zXowd1CKA2Csa9Qj8WCtg3ObLMHFMo1ZdD0p9ckFO+4mcerZ5zDPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737244718; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yNAuNIH15ySxmsWvzXcqWE573KMqvMVEM2jHIXgzXf8=; b=moX+TZLga3eSg+w/NoSrJxD9rhXmhQb0ndxdCo2NY7nGCWn3TWqgXVfpmTv9u7TFY5sw7R PMYrmX28rpqPaAHw+kFWsDYTDwfIgNdvV8JbKrT6/35oPV4sKUQTsd9JQaa7F/nei7Jt1i irQcrZhhNN5Vgt5BX3iP96X7YY4zMcAQ/Dzoflykpffp7M4yIrtlUGbEBHxo0VWeradYzC h1Zge2rOiEP5zd08q75n0X3/Ntl7uOWLvROHX29BMkHxjMz3aZJCmr7d19TrqpJFw4N46/ UBfU6fy2qtS3Dt2F+Laun38cVBrMQaVbs59pZfZj3YPfRFqic9Ersu+oqqvPTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737244718; a=rsa-sha256; cv=none; b=dQS5jDZ0x5NkmhVmaZzvSC4RiaUxVAvU+m60X2+EEd6VutezlcguK5Taj8W940R0CGdR7E Y8b1cwTxmZ8YiUdVpnEvjudQ7AT3/gi6N4YRuPcJS9eMlXrpWKzKhnF9Gy0gu+9trEJINq 8ImCi314m4Ky0YN36HIT6Xdwy1ZWSw8G/11s7/aYl7NAvdZQFSAg8+5F0cZs1UoxMXE7eR SaPsCF0P6MMHIjzbNmMZ+eDYf+wWghU4z7VfsYkvH1S0d6xD4hisC2Pj+vGdEVQH6H+0QR CXylOEG/2/BEQREGE1psut3u26oZhmnN8UcjfF1w/dccYi3mMR2f4NO7FzyA8A== 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 4YbD8G0tPjz8Tq; Sat, 18 Jan 2025 23:58:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50INwcxU073480; Sat, 18 Jan 2025 23:58:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50INwckN073477; Sat, 18 Jan 2025 23:58:38 GMT (envelope-from git) Date: Sat, 18 Jan 2025 23:58:38 GMT Message-Id: <202501182358.50INwckN073477@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: 685cafd668f5 - stable/14 - pf: allow ICMP messages related to an SCTP state to pass 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: 685cafd668f591e2a8afcd723fbb6b744ae07e31 Auto-Submitted: auto-generated The branch stable/14 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=685cafd668f591e2a8afcd723fbb6b744ae07e31 commit 685cafd668f591e2a8afcd723fbb6b744ae07e31 Author: Kristof Provost AuthorDate: 2024-12-20 13:38:41 +0000 Commit: Kristof Provost CommitDate: 2025-01-18 21:10:22 +0000 pf: allow ICMP messages related to an SCTP state to pass Much like we already do for TCP and UDP we should also parse SCTP-in-ICMP messages to see if they apply to an SCTP connection we've already allowed. If so we should allow the ICMP packet to pass, even if we'd otherwise block it. Add a test case where we generate an 'ICMP unreachable - need to frag' packet and check that it passes through pf. MFC after: 2 weeks Sponsored by: Orange Business Services (cherry picked from commit 7d5e02b01577047290e937399accc02e6b184ce9) --- sys/netpfil/pf/pf.c | 91 +++++++++++++++++++++++++++++++++++++++++++- tests/sys/netpfil/pf/sctp.sh | 86 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 175 insertions(+), 2 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 163eb2cedc27..18b907c45d38 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6760,8 +6760,8 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, if (pf_icmp_mapping(pd, icmptype, &icmp_dir, &multi, &virtual_id, &virtual_type) == 0) { /* - * ICMP query/reply message not related to a TCP/UDP packet. - * Search for an ICMP state. + * ICMP query/reply message not related to a TCP/UDP/SCTP + * packet. Search for an ICMP state. */ ret = pf_icmp_state_lookup(&key, pd, state, m, off, pd->dir, kif, virtual_id, virtual_type, icmp_dir, &iidx, @@ -7165,6 +7165,93 @@ pf_test_state_icmp(struct pf_kstate **state, struct pfi_kkif *kif, break; } #ifdef INET + case IPPROTO_SCTP: { + struct sctphdr sh; + struct pf_state_peer *src; + int copyback = 0; + + if (! pf_pull_hdr(m, off2, &sh, sizeof(sh), NULL, reason, + pd2.af)) { + DPFPRINTF(PF_DEBUG_MISC, + ("pf: ICMP error message too short " + "(sctp)\n")); + return (PF_DROP); + } + + key.af = pd2.af; + key.proto = IPPROTO_SCTP; + PF_ACPY(&key.addr[pd2.sidx], pd2.src, key.af); + PF_ACPY(&key.addr[pd2.didx], pd2.dst, key.af); + key.port[pd2.sidx] = sh.src_port; + key.port[pd2.didx] = sh.dest_port; + + STATE_LOOKUP(kif, &key, *state, pd); + + if (pd->dir == (*state)->direction) { + src = &(*state)->dst; + } else { + src = &(*state)->src; + } + + if (src->scrub->pfss_v_tag != sh.v_tag) { + DPFPRINTF(PF_DEBUG_MISC, + ("pf: ICMP error message has incorrect " + "SCTP v_tag\n")); + return (PF_DROP); + } + + /* translate source/destination address, if necessary */ + if ((*state)->key[PF_SK_WIRE] != + (*state)->key[PF_SK_STACK]) { + struct pf_state_key *nk = + (*state)->key[pd->didx]; + + if (PF_ANEQ(pd2.src, + &nk->addr[pd2.sidx], pd2.af) || + nk->port[pd2.sidx] != sh.src_port) + pf_change_icmp(pd2.src, &sh.src_port, + daddr, &nk->addr[pd2.sidx], + nk->port[pd2.sidx], NULL, + pd2.ip_sum, icmpsum, + pd->ip_sum, 0, pd2.af); + + if (PF_ANEQ(pd2.dst, + &nk->addr[pd2.didx], pd2.af) || + nk->port[pd2.didx] != sh.dest_port) + pf_change_icmp(pd2.dst, &sh.dest_port, + saddr, &nk->addr[pd2.didx], + nk->port[pd2.didx], NULL, + pd2.ip_sum, icmpsum, + pd->ip_sum, 0, pd2.af); + copyback = 1; + } + + if (copyback) { + switch (pd2.af) { +#ifdef INET + case AF_INET: + m_copyback(m, off, ICMP_MINLEN, + (caddr_t )&pd->hdr.icmp); + m_copyback(m, ipoff2, sizeof(h2), + (caddr_t )&h2); + break; +#endif /* INET */ +#ifdef INET6 + case AF_INET6: + m_copyback(m, off, + sizeof(struct icmp6_hdr), + (caddr_t )&pd->hdr.icmp6); + m_copyback(m, ipoff2, sizeof(h2_6), + (caddr_t )&h2_6); + break; +#endif /* INET6 */ + } + m_copyback(m, off2, sizeof(sh), (caddr_t)&sh); + } + + return (PF_PASS); + break; + } case IPPROTO_ICMP: { struct icmp *iih = &pd2.hdr.icmp; diff --git a/tests/sys/netpfil/pf/sctp.sh b/tests/sys/netpfil/pf/sctp.sh index 95a780747d82..563103827fac 100644 --- a/tests/sys/netpfil/pf/sctp.sh +++ b/tests/sys/netpfil/pf/sctp.sh @@ -745,6 +745,91 @@ timeout_cleanup() pft_cleanup } +atf_test_case "related_icmp" "cleanup" +related_icmp_head() +{ + atf_set descr 'Verify that ICMP messages related to an SCTP connection are allowed' + atf_set require.user root +} + +related_icmp_body() +{ + sctp_init + + epair_cl=$(vnet_mkepair) + epair_rtr=$(vnet_mkepair) + epair_srv=$(vnet_mkepair) + + ifconfig ${epair_cl}a 192.0.2.1/24 up + route add default 192.0.2.2 + + vnet_mkjail rtr ${epair_cl}b ${epair_rtr}a + jexec rtr ifconfig ${epair_cl}b 192.0.2.2/24 up + jexec rtr ifconfig ${epair_rtr}a 198.51.100.1/24 up + jexec rtr sysctl net.inet.ip.forwarding=1 + jexec rtr route add default 198.51.100.2 + + vnet_mkjail rtr2 ${epair_rtr}b ${epair_srv}a + jexec rtr2 ifconfig ${epair_rtr}b 198.51.100.2/24 up + jexec rtr2 ifconfig ${epair_srv}a 203.0.113.1/24 up + jexec rtr2 ifconfig ${epair_srv}a mtu 1300 + jexec rtr2 sysctl net.inet.ip.forwarding=1 + jexec rtr2 route add default 198.51.100.1 + + vnet_mkjail srv ${epair_srv}b + jexec srv ifconfig ${epair_srv}b 203.0.113.2/24 up + jexec srv ifconfig ${epair_srv}b mtu 1300 + jexec srv route add default 203.0.113.1 + + # Sanity checks + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.2 + atf_check -s exit:0 -o ignore \ + ping -c 1 198.51.100.1 + atf_check -s exit:0 -o ignore \ + ping -c 1 198.51.100.2 + atf_check -s exit:0 -o ignore \ + ping -c 1 203.0.113.1 + atf_check -s exit:0 -o ignore \ + ping -c 1 203.0.113.2 + + jexec rtr pfctl -e + pft_set_rules rtr \ + "block proto icmp" \ + "pass proto sctp" + + # Make sure SCTP traffic passes + echo "foo" | jexec srv nc --sctp -N -l 1234 & + sleep 1 + + out=$(nc --sctp -N -w 3 203.0.113.2 1234) + if [ "$out" != "foo" ]; then + jexec rtr pfctl -ss -vv + jexec rtr pfctl -sr -vv + atf_fail "SCTP connection failed" + fi + + # Do we see ICMP traffic if we send overly large traffic? + echo "foo" | jexec srv nc --sctp -N -l 1234 >/dev/null & + sleep 1 + + atf_check -s exit:0 -o not-match:".*destination unreachable:.*" \ + netstat -s -p icmp + + # Generate traffic that will be fragmented by rtr2, and will provoke an + # ICMP unreachable - need to frag (mtu 1300) message + dd if=/dev/random bs=1600 count=1 | nc --sctp -N -w 3 203.0.113.2 1234 + + # We'd expect to see an ICMP message + atf_check -s exit:0 -o match:".*destination unreachable: 1" \ + netstat -s -p icmp +} + +related_icmp_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "basic_v4" @@ -757,4 +842,5 @@ atf_init_test_cases() atf_add_test_case "rdr_v4" atf_add_test_case "pfsync" atf_add_test_case "timeout" + atf_add_test_case "related_icmp" } From nobody Sun Jan 19 00:25:31 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YbDlJ1mjnz5l5LQ; Sun, 19 Jan 2025 00:25: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 4YbDlJ1DDkz3bk8; Sun, 19 Jan 2025 00:25:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737246332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2PqtUXM8xzlAkvPTAlYlMR9dcXuwNCoqyjPUxsa4Fhk=; b=oMTFezeFbjJk/k+sn1Uz/Onn5M42FzRHty+uauoM8imT5BuQwh0SUxIuRJ5seYMsV9U0tV hll0iSAuFnH9QKsJyvRU9zGeu8z623YczXsWARGDI7fDCMHZEr1h5y4OBTmXPCZ4U+XLbq tuCJ8xOkkb6CbsrkC5bN1GpT810wJh09JYwR8T7BzdXVCHUmgNI7Eh7Yq4Dz4TC1Iel+3m AcStIdImV4zCCZU34q66rqWm9swH8RTeSFh42UZe+L0NuH+FcRgYsBqbSXm+nHJuQojaNV yQcx/Pdunb3FZhGVr8v4m27LfBMlYH6jxJbwIy4ucoL2Gyg/FU2PE8xiZL6f8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737246332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2PqtUXM8xzlAkvPTAlYlMR9dcXuwNCoqyjPUxsa4Fhk=; b=g8hu+wPH6dg96QjJiPqQ9Eu411lFz2q90nKNSSdYCkcar3i6A3nELZtw3rTX44BwqdjiGm tFeKp9ansQrjbVkhvWl/qdDTYkto7oaFwHwMOn4k2SG/TN2+WbfayFJNHL6WTXGFJccEhB NN6+DXX9YMUpWNmuztAjIJrQlQ5bL0+vzNvL23fZ3CKtoCnQcu2bDibzHIUGfJtOb4VW6W +4zuBeZPXRtGJ1ISlUsE1NLG91LEgeAdB408V8ok49uA+yS+7DR5bo2fLHvu/6ra8kzXrp LElGke0NneJIwfzPzTOm7YRkWkTqnHvJuQjvz2iCha9sskYDNu9cTDW0RnkKHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737246332; a=rsa-sha256; cv=none; b=GdrhqJ2QjeHWmf0xhgUXx9Vbu5ph8f6+BBRitjNr82wwoIm7A8mmz8RONuqYQb6iVDs+lm tcrr/I6mXUQ37IBrqB5aQJnH6anKa8Th2d0/flvSqesAkvYORlOTEHNcY79uExIw/duwzy 0iVIMHpSE9tok4QqyGw/zXRku6OnHJ2T4AhIxmP7z4CO3f0JL+3SDoKXZyqS+9KG3dWDgt ob/mBJBDSpZyXuxluMhKxnz6e9Iqo3k7ratJ52PFzD2HJmzY+KnRZ2WHrQrru6ICR0TT4B QT1edrpFl/AKYETQF6PDLmWyV5/FKupPpi7xqPvi2b2cIji5HppmXrEQetK6TA== 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 4YbDlJ0cx9z9gJ; Sun, 19 Jan 2025 00:25: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 50J0PVdO029547; Sun, 19 Jan 2025 00:25:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50J0PVoV029542; Sun, 19 Jan 2025 00:25:31 GMT (envelope-from git) Date: Sun, 19 Jan 2025 00:25:31 GMT Message-Id: <202501190025.50J0PVoV029542@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: 6823172ca2c5 - stable/14 - amdsmn(4), amdtemp(4): add support for AMD Ryzen 7 "Cezanne" cpus 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: 6823172ca2c5a3d2ad1a2937046dd5961919f458 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6823172ca2c5a3d2ad1a2937046dd5961919f458 commit 6823172ca2c5a3d2ad1a2937046dd5961919f458 Author: Simon Wells AuthorDate: 2025-01-12 11:45:05 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-19 00:24:57 +0000 amdsmn(4), amdtemp(4): add support for AMD Ryzen 7 "Cezanne" cpus PR: 284009 (cherry picked from commit 7aa6eeb220d89a3c29eb4f768f258622c3803f46) --- sys/dev/amdsmn/amdsmn.c | 2 +- sys/dev/amdtemp/amdtemp.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/dev/amdsmn/amdsmn.c b/sys/dev/amdsmn/amdsmn.c index 4f85c830b327..1380eff98114 100644 --- a/sys/dev/amdsmn/amdsmn.c +++ b/sys/dev/amdsmn/amdsmn.c @@ -58,7 +58,7 @@ #define PCI_DEVICE_ID_AMD_17H_ROOT 0x1450 #define PCI_DEVICE_ID_AMD_17H_M10H_ROOT 0x15d0 #define PCI_DEVICE_ID_AMD_17H_M30H_ROOT 0x1480 /* Also M70H, F19H M00H/M20H */ -#define PCI_DEVICE_ID_AMD_17H_M60H_ROOT 0x1630 +#define PCI_DEVICE_ID_AMD_17H_M60H_ROOT 0x1630 /* Also F19H M50H */ #define PCI_DEVICE_ID_AMD_19H_M10H_ROOT 0x14a4 #define PCI_DEVICE_ID_AMD_19H_M40H_ROOT 0x14b5 #define PCI_DEVICE_ID_AMD_19H_M60H_ROOT 0x14d8 diff --git a/sys/dev/amdtemp/amdtemp.c b/sys/dev/amdtemp/amdtemp.c index 37ec49f6975b..2e1be3c54f8d 100644 --- a/sys/dev/amdtemp/amdtemp.c +++ b/sys/dev/amdtemp/amdtemp.c @@ -113,7 +113,7 @@ struct amdtemp_softc { #define DEVICEID_AMD_HOSTB17H_ROOT 0x1450 #define DEVICEID_AMD_HOSTB17H_M10H_ROOT 0x15d0 #define DEVICEID_AMD_HOSTB17H_M30H_ROOT 0x1480 /* Also M70H, F19H M00H/M20H */ -#define DEVICEID_AMD_HOSTB17H_M60H_ROOT 0x1630 +#define DEVICEID_AMD_HOSTB17H_M60H_ROOT 0x1630 /* Also F19H M50H */ #define DEVICEID_AMD_HOSTB19H_M10H_ROOT 0x14a4 #define DEVICEID_AMD_HOSTB19H_M40H_ROOT 0x14b5 #define DEVICEID_AMD_HOSTB19H_M60H_ROOT 0x14d8 @@ -869,6 +869,7 @@ amdtemp_probe_ccd_sensors19h(device_t dev, uint32_t model) switch (model) { case 0x00 ... 0x0f: /* Zen3 EPYC "Milan" */ case 0x20 ... 0x2f: /* Zen3 Ryzen "Vermeer" */ + case 0x50 ... 0x5f: /* Zen3 Ryzen "Cezanne" */ maxreg = 8; _Static_assert((int)NUM_CCDS >= 8, ""); break; From nobody Sun Jan 19 00:25:33 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 4YbDlK26Tqz5l5PM; Sun, 19 Jan 2025 00:25:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YbDlK1Tylz3bk9; Sun, 19 Jan 2025 00:25:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737246333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=73jqCiat/WpW8DqkMLcY026zKtI7xCozsDphsxZzohY=; b=lJ9TVWFlln25s1BkfJor1r0Tgq0BOKusPPkluNW+mEMuceZdK76wW0o1IOyzBpX6I4shrf hajwiFX2bZex4E8Gy7zGEjqHZT+p5+BnrcdlH1UzNHacDxpzDsn1GvNOIlo1pAQAnWzQRD lqtyUPlTR4y7g1ApFgY7qTj0wxXfO0CFJROvDWFlVz087ZyNy6BtNo3whCjlyYfXbT16TJ WpxxCzjKDN49Vgs/NQ16B39LWtyRfsisztcPHZLqxX/1JOBMHnTo/kXXdGm2E8cCxSqxs+ ujvEzK2ZMxuEhhX8Mf+ZL3Be0tZTnBmoaBxEq0wUxjDUx3ygO7rt117fMbgQwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737246333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=73jqCiat/WpW8DqkMLcY026zKtI7xCozsDphsxZzohY=; b=qYOm/V9dprjpFIYgz8ggiNI6JbUVeq/niJJJTdAOsq9h8qtwccB8q4CEahp/k0+74iJssC VeUK47lq4XCa/M0o5YLB3UDBuIdvCZ4UA10fHx3wR37szHngruzM0EE+qf6a8Lkn47dUfi 5u5oSLvTDvkR/RP53jTKhldMUH1xa9cGTLVehsx9PlfgZiSFefFpPDHmJPgINLiKbA7QGA 89i8KzMmMn565ot2nF1LWz4os5SoPjOQVB3K6PGkaPS/oX3UJOIrM8TSEfkonfuLxYyf/m uPNPiTgu/ufvX1Wc0tgqlQJSdcoQRoNPIdSosM0MdEEWuMBKeotU8mnyT0TmNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737246333; a=rsa-sha256; cv=none; b=JvrpCXvEA3jA294FjEwThYZMRzujEi/EAsGC0+IFVH0w9AIvDkXH328+h23xlZxZR72KkJ oZXYzXVVi3SyfWhfSOyKNpnOhtBWjN4QCMVAVD/9kanEqFPHN5g7unnGcOpRwFnRBTVg5e Q4EryxLfKnYZ8TZHNCNz1mdwSouV3OVPo5MgJRgTbWihX+CY4AjY/yutQOwk6ncHX9Yehp Vo8okfSzU7IgpjolaOeV7u+eChzFTPpKXSbNBcav2vMIK7JX3+rAtHRYB/XzzVmGhh9cWR 6iP0qIGRYdlykwLz3LEEEM5JMMs0GF3zszbaIbjf+ahg5f0p1kccUKeCZ3J6Tw== 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 4YbDlK15gWzBH0; Sun, 19 Jan 2025 00:25:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50J0PXOI029588; Sun, 19 Jan 2025 00:25:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50J0PXSM029585; Sun, 19 Jan 2025 00:25:33 GMT (envelope-from git) Date: Sun, 19 Jan 2025 00:25:33 GMT Message-Id: <202501190025.50J0PXSM029585@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: 15e2065a1ee5 - stable/14 - amdsmn(4), amdtemp(4): add support for Zen 5 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: 15e2065a1ee5b744b7f04d976ecfc31b49504081 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=15e2065a1ee5b744b7f04d976ecfc31b49504081 commit 15e2065a1ee5b744b7f04d976ecfc31b49504081 Author: Simon Wells AuthorDate: 2025-01-12 11:46:05 +0000 Commit: Konstantin Belousov CommitDate: 2025-01-19 00:24:58 +0000 amdsmn(4), amdtemp(4): add support for Zen 5 PR: 284010 (cherry picked from commit a9a71513ccfcb38346c84b006b43d45511d1652c) --- sys/dev/amdsmn/amdsmn.c | 3 ++- sys/dev/amdtemp/amdtemp.c | 28 +++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/sys/dev/amdsmn/amdsmn.c b/sys/dev/amdsmn/amdsmn.c index 1380eff98114..262adcc4bff3 100644 --- a/sys/dev/amdsmn/amdsmn.c +++ b/sys/dev/amdsmn/amdsmn.c @@ -61,7 +61,7 @@ #define PCI_DEVICE_ID_AMD_17H_M60H_ROOT 0x1630 /* Also F19H M50H */ #define PCI_DEVICE_ID_AMD_19H_M10H_ROOT 0x14a4 #define PCI_DEVICE_ID_AMD_19H_M40H_ROOT 0x14b5 -#define PCI_DEVICE_ID_AMD_19H_M60H_ROOT 0x14d8 +#define PCI_DEVICE_ID_AMD_19H_M60H_ROOT 0x14d8 /* Also F1AH M40H */ #define PCI_DEVICE_ID_AMD_19H_M70H_ROOT 0x14e8 struct pciid; @@ -212,6 +212,7 @@ amdsmn_probe(device_t dev) case 0x15: case 0x17: case 0x19: + case 0x1a: break; default: return (ENXIO); diff --git a/sys/dev/amdtemp/amdtemp.c b/sys/dev/amdtemp/amdtemp.c index 2e1be3c54f8d..cad16c80ee17 100644 --- a/sys/dev/amdtemp/amdtemp.c +++ b/sys/dev/amdtemp/amdtemp.c @@ -116,7 +116,7 @@ struct amdtemp_softc { #define DEVICEID_AMD_HOSTB17H_M60H_ROOT 0x1630 /* Also F19H M50H */ #define DEVICEID_AMD_HOSTB19H_M10H_ROOT 0x14a4 #define DEVICEID_AMD_HOSTB19H_M40H_ROOT 0x14b5 -#define DEVICEID_AMD_HOSTB19H_M60H_ROOT 0x14d8 +#define DEVICEID_AMD_HOSTB19H_M60H_ROOT 0x14d8 /* Also F1AH M40H */ #define DEVICEID_AMD_HOSTB19H_M70H_ROOT 0x14e8 static const struct amdtemp_product { @@ -231,6 +231,7 @@ static int32_t amdtemp_gettemp15hm60h(device_t dev, amdsensor_t sensor); static int32_t amdtemp_gettemp17h(device_t dev, amdsensor_t sensor); static void amdtemp_probe_ccd_sensors17h(device_t dev, uint32_t model); static void amdtemp_probe_ccd_sensors19h(device_t dev, uint32_t model); +static void amdtemp_probe_ccd_sensors1ah(device_t dev, uint32_t model); static int amdtemp_sysctl(SYSCTL_HANDLER_ARGS); static device_method_t amdtemp_methods[] = { @@ -318,6 +319,7 @@ amdtemp_probe(device_t dev) case 0x16: case 0x17: case 0x19: + case 0x1a: break; default: return (ENXIO); @@ -477,6 +479,7 @@ amdtemp_attach(device_t dev) break; case 0x17: case 0x19: + case 0x1a: sc->sc_ntemps = 1; sc->sc_gettemp = amdtemp_gettemp17h; needsmn = true; @@ -540,6 +543,8 @@ amdtemp_attach(device_t dev) amdtemp_probe_ccd_sensors17h(dev, model); else if (family == 0x19) amdtemp_probe_ccd_sensors19h(dev, model); + else if (family == 0x1a) + amdtemp_probe_ccd_sensors1ah(dev, model); else if (sc->sc_ntemps > 1) { SYSCTL_ADD_PROC(sysctlctx, SYSCTL_CHILDREN(sysctlnode), @@ -893,3 +898,24 @@ amdtemp_probe_ccd_sensors19h(device_t dev, uint32_t model) amdtemp_probe_ccd_sensors(dev, maxreg); } + +static void +amdtemp_probe_ccd_sensors1ah(device_t dev, uint32_t model) +{ + struct amdtemp_softc *sc = device_get_softc(dev); + uint32_t maxreg; + + switch (model) { + case 0x40 ... 0x4f: /* Zen5 Ryzen "Granite Ridge" */ + sc->sc_temp_base = AMDTEMP_ZEN4_CCD_TMP_BASE; + maxreg = 8; + _Static_assert((int)NUM_CCDS >= 8, ""); + break; + default: + device_printf(dev, + "Unrecognized Family 1ah Model: %02xh\n", model); + return; + } + + amdtemp_probe_ccd_sensors(dev, maxreg); +} From nobody Sun Jan 19 10:31: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 4YbVBs0NWSz5l2PJ; Sun, 19 Jan 2025 10:31: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 4YbVBr6gQ1z4Ntm; Sun, 19 Jan 2025 10:31:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737282708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y3Yc5RxiFnwtcxuuQEoyjKKCLQXsmRyNx9+/7CKWSlU=; b=OmmxBCc9Dd6xd0buWq1uH2ILs4MChgZdc0t4a6nZrI4UI/RV8jhQjYqoHDrBwOwANWvhSE JGwUbLWUtR9MR/JamX/Yv1u1XEaBYeiKLc+pxtm9XmUPBOeOMiSwJ/NKSQtItyN/lMXFwq MWzx3o9XHHmAFAbJBnplO4NVnJQ9HWpXrrVLk00ySOplmKHgfIqwzr6WuawcOcdkOL18x2 rqDwKkbf+2sTcX7UcWp5UKN7vvRWt7kvAktHKX/8x1G2BGHngmAKSbKju7HWu+yhrqIW9p 5hEa25bzRDpzl7TQn9Rq6MI80XtqhyiJskxntrxu1bvMr0Ux9n41CAp2wzMkvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737282708; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y3Yc5RxiFnwtcxuuQEoyjKKCLQXsmRyNx9+/7CKWSlU=; b=tXQZZR640+SHBOsA91J8y3G0WxR5zJ50R38oif8UHjVVtbt/X7/PcFg1f2n2IOpZ+l6Xsf 7LxhR6K4gQh38JrBFwgjD3y1DGEBFwZVyCfVGfxKr/QoenzCaV4b5DcqWgUqcAu8p0In48 EzcymRFWjIDttN8OlyxZ+Qu8zQ8MmljkviwwxQ8VmD78wUNiaPjpTzGFt9+cF38g+Pz8wu gYFIfa1aS4z3I0KT88jhmmWbS3SffVu0Wn7rkD8IaSHaGM3j1YOG27f0rDIZ6Hc7Ynq/+q ZZijd3AXCwRN2m+Ynz3oRBS3wmOrliGyKe7jtiJozFcvM1vExQ17o8IVw4vT7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737282708; a=rsa-sha256; cv=none; b=h/LU/rBf+vAEG2M8aT1Yo42dHOPAz2Uqzq4rpC4MsdmJsEHrUSP22VBfwiEKELl844Ru47 gwiG8E5qmdBr2lEXHa70sXgYRS/RC5Obfp+6r6EDxz4AABmyCIwPSulpMskhVcPTQ7sSZW MP0saQ9aJFs+d5/ORQ5+k2PaWPOnFyPsjixUjyOQ6KwmhsYFpqHLwrMH1GYqbAIdOtbHXn 8Yr7ThIqE4zUZ/hJ+S6ndty/XpusnyC09GmxtABFbf5mgWyY2vp/q4UfiCQAbbUnwNTkAM jErI68fSp38xvktca209cR69vHTrwN+JP+wr5y0Al8DUi2mz2twV0+bVwIMNIg== 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 4YbVBr6G7Nzmqv; Sun, 19 Jan 2025 10:31: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 50JAVmZS066168; Sun, 19 Jan 2025 10:31:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50JAVmcI066165; Sun, 19 Jan 2025 10:31:48 GMT (envelope-from git) Date: Sun, 19 Jan 2025 10:31:48 GMT Message-Id: <202501191031.50JAVmcI066165@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Rabson Subject: git: bfa14ad08796 - stable/14 - release: fix architecture for OCI images List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dfr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: bfa14ad08796f33435ad57f393725ca56fcbfce5 Auto-Submitted: auto-generated The branch stable/14 has been updated by dfr: URL: https://cgit.FreeBSD.org/src/commit/?id=bfa14ad08796f33435ad57f393725ca56fcbfce5 commit bfa14ad08796f33435ad57f393725ca56fcbfce5 Author: Doug Rabson AuthorDate: 2024-12-04 13:23:58 +0000 Commit: Doug Rabson CommitDate: 2025-01-19 10:31:02 +0000 release: fix architecture for OCI images PR: 283260 MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48051 (cherry picked from commit e2fc29e53986c69ac91d40e7f1ef8fbca317771e) --- release/scripts/make-oci-image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/scripts/make-oci-image.sh b/release/scripts/make-oci-image.sh index a139a38d1930..6180ed9d53b4 100644 --- a/release/scripts/make-oci-image.sh +++ b/release/scripts/make-oci-image.sh @@ -56,7 +56,7 @@ else base_image=scratch fi -c=$(buildah from ${base_image}) +c=$(buildah from --arch ${arch} ${base_image}) m=$(buildah mount $c) oci_image_build buildah unmount $c From nobody Sun Jan 19 10:31: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 4YbVBt2st4z5l31K; Sun, 19 Jan 2025 10:31:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YbVBt0WqWz4Nrs; Sun, 19 Jan 2025 10:31:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737282710; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zKbNOtdMBJpdTcD8xDEG2DKvBy2XEctqCNot+8kCZFU=; b=GY/p+4OODXDvZDaALoxeBVzlMdBivfjzqt+0sLM6yJTtLucpUV3RS/dUuaTOY382OZLuc6 CqNQBn5pjVk4VVICHj3AHNTRZ0fI5ar3hStBf1nvBmsksMpEybha/XLiR+yw6Y2PVbBaMI p9zVofV1sdccv1XlGyw78j6gs75wi9r9SLecR1FGqbPeK9c4OgAJPyQm5f+mElJmnaAzsK hlQkB/9oMTLt7pdCVQzIEGkJ3BL4YUV4uhgYV7daCz0wDNUa0hJmbbBJILk6OHCRa1mZRJ OSPDOFCSfHoCuEp2w0uWePyisr7NpCyStvKjHepmBE5iVX1yeGJ12j1HZwvJtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737282710; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zKbNOtdMBJpdTcD8xDEG2DKvBy2XEctqCNot+8kCZFU=; b=LXnqhIfmqQrbJ0F0pJlv/uzQw5izfRMKjd1g9xjT7h+XVF8qC/hpNYSv/iNXfHUbFGuxFF uJTfVRpSO9wXOacNEXp8nqNTXgft6Yvk3CtcjmOAUj2WpxbIKEViO6kBlwRfSJ3WS0rUdy CU0ADLSdiU4WC+sXIoUhdrd5aPRSGwtYWAVzaqdj60IHiRlQW0/19pyF01W0JXbfgA7v2G FyTT9iyy2i6ZL9Y3TMScTauXa5JIU6UJuwgomf/Py1jYW7nQ9xByQZRzPl8Ld18nLLMVSH IENSANbMc1MhhrEXqRRWSocVT+Ip2xDakniWNo38KPe0MEVQeW+rupI61yyx3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737282710; a=rsa-sha256; cv=none; b=VLRzxqE5rKfSXCbqtn+SXSo9tV6UJo0EQNttGMzftesXcRulsNv/pvRK7aG+DfpkCjuv3T IscCiqAQgDpHO4ErUCj0z/FeWAceWRh98HWk8pppvdK0peXz0g2UMCyvlcAZUJk7tBxYLa UjZh1GquPAZO3MvdMBy4GOp98jcVCQOM2qTtFhBGi5b66eVRT7KgvgyxlmIIffCFVGE0TP ToSoGTVOXm91DcV/SOXflwOP9tYvvn8hNl1coEtD/WCGTcl5RjeesBjZ42PmGiDqF0TMKs 5CwV4x7bTZbEM/wSOmtnL3ChKagiYUQy7LzAIFCZCtSSgGvy2cXiBoPoAiWHig== 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 4YbVBs6mDKzmYh; Sun, 19 Jan 2025 10:31: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 50JAVnj6066205; Sun, 19 Jan 2025 10:31:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50JAVnKS066202; Sun, 19 Jan 2025 10:31:49 GMT (envelope-from git) Date: Sun, 19 Jan 2025 10:31:49 GMT Message-Id: <202501191031.50JAVnKS066202@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Doug Rabson Subject: git: 6ede5a29d5e7 - stable/14 - release: install etc files from the source tree, not the host List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dfr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 6ede5a29d5e7faa852a193d8fcbbbdf874d143c2 Auto-Submitted: auto-generated The branch stable/14 has been updated by dfr: URL: https://cgit.FreeBSD.org/src/commit/?id=6ede5a29d5e7faa852a193d8fcbbbdf874d143c2 commit 6ede5a29d5e7faa852a193d8fcbbbdf874d143c2 Author: Doug Rabson AuthorDate: 2024-12-23 10:19:27 +0000 Commit: Doug Rabson CommitDate: 2025-01-19 10:31:02 +0000 release: install etc files from the source tree, not the host Reviewed by: cperciva MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48180 (cherry picked from commit bc77aa7df7339b166c0d6394526fe59dea89f4b1) --- release/Makefile.oci | 2 ++ release/tools/oci-image-static.conf | 21 ++++++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/release/Makefile.oci b/release/Makefile.oci index 461c95f49636..da35156c5a95 100644 --- a/release/Makefile.oci +++ b/release/Makefile.oci @@ -24,6 +24,8 @@ OCI_DEPS_minimal= container-image-dynamic.txz .for _IMG in ${OCI_IMAGES} OCI_TARGETS+= container-image-${_IMG}.txz container-image-${_IMG}.txz: ${OCI_DEPS_${_IMG}} + # Adjust PATH so that we run pwd_mkdb from the bootstrap tools + env PATH=${OBJTOP}/tmp/legacy/bin:${PATH:Q} \ sh ${.CURDIR}/scripts/make-oci-image.sh ${.CURDIR} ${REVISION} ${BRANCH} ${TARGET_ARCH} ${_IMG} skopeo copy \ containers-storage:localhost/freebsd${REVISION:R}-${_IMG}:latest \ diff --git a/release/tools/oci-image-static.conf b/release/tools/oci-image-static.conf index 27cfb3c6778c..552328e66f3c 100644 --- a/release/tools/oci-image-static.conf +++ b/release/tools/oci-image-static.conf @@ -7,17 +7,20 @@ OCI_BASE_IMAGE= oci_image_build() { - mtree -deU -p $m/ -f /etc/mtree/BSD.root.dist > /dev/null - mtree -deU -p $m/var -f /etc/mtree/BSD.var.dist > /dev/null - mtree -deU -p $m/usr -f /etc/mtree/BSD.usr.dist > /dev/null - mtree -deU -p $m/usr/include -f /etc/mtree/BSD.include.dist > /dev/null - mtree -deU -p $m/usr/lib -f /etc/mtree/BSD.debug.dist > /dev/null + local srcdir=${curdir}/.. + mtree -deU -p $m/ -f ${srcdir}/etc/mtree/BSD.root.dist > /dev/null + mtree -deU -p $m/var -f ${srcdir}/etc/mtree/BSD.var.dist > /dev/null + mtree -deU -p $m/usr -f ${srcdir}/etc/mtree/BSD.usr.dist > /dev/null + mtree -deU -p $m/usr/include -f ${srcdir}/etc/mtree/BSD.include.dist > /dev/null + mtree -deU -p $m/usr/lib -f ${srcdir}/etc/mtree/BSD.debug.dist > /dev/null install_packages ${abi} ${workdir} $m FreeBSD-caroot FreeBSD-zoneinfo - cp /etc/master.passwd $m/etc + cp ${srcdir}/etc/master.passwd $m/etc pwd_mkdb -p -d $m/etc $m/etc/master.passwd || return $? - cp /etc/group $m/etc || return $? - cp /etc/termcap.small $m/etc/termcap.small || return $? - cp /etc/termcap.small $m/usr/share/misc/termcap || return $? + cp ${srcdir}/etc/group $m/etc || return $? + # termcap.small is generated so we get it from OBJDIR - make sets our + # working directory to OBJDIR/release + cp ../etc/termcap/termcap.small $m/etc/termcap.small || return $? + cp ../etc/termcap/termcap.small $m/usr/share/misc/termcap || return $? env DESTDIR=$m /usr/sbin/certctl rehash # Generate a suitable repo config for pkgbase case ${branch} in From nobody Sun Jan 19 11:06:21 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YbVyk2Jh2z5l4fl; Sun, 19 Jan 2025 11:06:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YbVyk1B1cz3DbC; Sun, 19 Jan 2025 11:06:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737284782; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Y06ddS1ejMjS03FkNHitUm+7og2aKO5OoaMjGi94wE=; b=bWTyepIFX7t1xdYZLyj8Oc/GzlSN6ZvgcMSwJAkgnHhm/LxEmyZWKGgGYqT61tn8r3X/7s DtcfohUcnhfPxRymSQ4hNZCgNieSUZteeaeqyDaerDBiDcyuJDw5G0QmdLfJV+5aPvPO7k moi/NnGz3mL04gHoT7bq6jQbe7bqIHxoo4vDqEC0hL1rYzRsRfsMyRrWzwceyBLJzMLeS4 B9cwuPPeDU2lpOcJe2EtkQsvgg947eLtykmsDh+oLOi5dUSHBcBT7D3ZreMLrzb8b447Ms eeERbrCth8S41LnCsyiEIRtDMF1CtDlqWLb9jaw6YPxgSXxb9l5+1NpYuAL5KA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737284782; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Y06ddS1ejMjS03FkNHitUm+7og2aKO5OoaMjGi94wE=; b=MNhI/BGoIUOM3tpi+v/Y1CWKGVJabqJD4q2JQporitxtGDUTxKdhZbPxmJ9fmnWWW+GA+c gtea0Z8EqbaKGCF7u8M6I2YEvVfK6snplGwN8mXk1N/t/2wYJ2zhCJn0h+JG/hjrXGTl5v BDBwUsJheTgtd3d5ZqI2N2ScUO+KmlXYK+xk6dJafKens2dJMa/y/LgqNHeWxusOf3RN1k DmSutiT6BcoeFk6a21Zpru+jEnZkZ3Gv5DPtrkbg/SPWpuy9grFveycJtfVOCJ20YnDpl6 kWhwz7NGDea//qvV6xfzTTG87H7+o2i+LP0e1KUQqyEh2ieAwWXKByqlQ2C5EQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737284782; a=rsa-sha256; cv=none; b=D6IjrrDU8unv6IkxuE/P5teGUoun8iHKgH8eHbHKunN42YC+YZwQ+n9C60vmSwQwnk8gxB DaU2W9NGtTORUS7JOldyJQyzEi1BDGg9gp7AJ81Cc8UMNkhPGDPiaSHBQnbM+/7t2QI2BN EJJUWyQNPV6446/quhq4D7xH4I2iLszQTDPC3daWBMy8kQwGKl3FqeXwR+h3U4RUdJe0D7 jZQCxSOaP1O/bEION1QobMYEIXEJ7k6y4iRSuMBmrz4IxxrUHe4yxzIwNhFMxu24ZEWsf2 /qUY6tyfl4cpLI2aFjF0LFb0NsELi2VtHMKeoCiiQOvCUwEeCNUVpYS71im9rg== 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 4YbVyk0YxjznLv; Sun, 19 Jan 2025 11:06:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50JB6MP4026868; Sun, 19 Jan 2025 11:06:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50JB6LFf026865; Sun, 19 Jan 2025 11:06:21 GMT (envelope-from git) Date: Sun, 19 Jan 2025 11:06:21 GMT Message-Id: <202501191106.50JB6LFf026865@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: dc3f24ea8a25 - stable/14 - Merge llvm-project release/19.x llvmorg-19.1.7-0-gcd708029e0b2 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: dc3f24ea8a2505cc17b26e081a7de9376e6934e1 Auto-Submitted: auto-generated The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=dc3f24ea8a2505cc17b26e081a7de9376e6934e1 commit dc3f24ea8a2505cc17b26e081a7de9376e6934e1 Author: Dimitry Andric AuthorDate: 2025-01-16 20:04:36 +0000 Commit: Dimitry Andric CommitDate: 2025-01-19 11:05:53 +0000 Merge llvm-project release/19.x llvmorg-19.1.7-0-gcd708029e0b2 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/19.x llvmorg-19.1.7-0-gcd708029e0b2, a.k.a. 19.1.7 release. PR: 280562 MFC after: 3 days (cherry picked from commit 6c05f3a74f30934ee60919cc97e16ec69b542b06) --- contrib/llvm-project/clang/lib/Driver/Driver.cpp | 5 + .../clang/lib/Driver/ToolChains/Hexagon.cpp | 2 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 2 +- .../llvm-project/clang/lib/Sema/SemaDeclCXX.cpp | 2 +- .../compiler-rt/lib/lsan/lsan_interceptors.cpp | 2 + contrib/llvm-project/libcxx/include/__config | 2 +- .../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h | 2 +- .../CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 8 +- .../llvm-project/llvm/lib/MC/WasmObjectWriter.cpp | 111 +++++++++++++-------- .../lib/Target/Hexagon/HexagonISelLowering.cpp | 4 + .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 11 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 7 ++ .../lib/Target/RISCV/RISCVInstrInfoVPseudos.td | 17 ++-- .../llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td | 2 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td | 5 +- .../AggressiveInstCombine.cpp | 3 +- .../lib/Transforms/Scalar/SimpleLoopUnswitch.cpp | 5 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 5 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 25 files changed, 138 insertions(+), 87 deletions(-) diff --git a/contrib/llvm-project/clang/lib/Driver/Driver.cpp b/contrib/llvm-project/clang/lib/Driver/Driver.cpp index ecae475f75da..f9dc8ab24fa9 100644 --- a/contrib/llvm-project/clang/lib/Driver/Driver.cpp +++ b/contrib/llvm-project/clang/lib/Driver/Driver.cpp @@ -6189,6 +6189,11 @@ std::string Driver::GetFilePath(StringRef Name, const ToolChain &TC) const { if (auto P = SearchPaths(TC.getFilePaths())) return *P; + SmallString<128> R2(ResourceDir); + llvm::sys::path::append(R2, "..", "..", Name); + if (llvm::sys::fs::exists(Twine(R2))) + return std::string(R2); + return std::string(Name); } diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.cpp index be7851adecea..76cedf312d68 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.cpp @@ -379,9 +379,9 @@ constructHexagonLinkArgs(Compilation &C, const JobAction &JA, if (NeedsXRayDeps) linkXRayRuntimeDeps(HTC, Args, CmdArgs); - CmdArgs.push_back("-lclang_rt.builtins-hexagon"); if (!Args.hasArg(options::OPT_nolibc)) CmdArgs.push_back("-lc"); + CmdArgs.push_back("-lclang_rt.builtins-hexagon"); } if (D.CCCIsCXX()) { if (HTC.ShouldLinkCXXStdlib(Args)) diff --git a/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.cpp b/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.cpp index bfb592ae0749..e3fb976ee1cc 100644 --- a/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.cpp +++ b/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.cpp @@ -512,7 +512,7 @@ void UnwrappedLineParser::calculateBraceTypes(bool ExpectClassBody) { break; do { NextTok = Tokens->getNextToken(); - } while (NextTok->NewlinesBefore == 0 && NextTok->isNot(tok::eof)); + } while (!NextTok->HasUnescapedNewline && NextTok->isNot(tok::eof)); while (NextTok->is(tok::comment)) NextTok = Tokens->getNextToken(); diff --git a/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp b/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp index 4e4f91de8cd5..18262993af28 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp @@ -11919,7 +11919,7 @@ bool Sema::isStdInitializerList(QualType Ty, QualType *Element) { if (TemplateClass->getIdentifier() != &PP.getIdentifierTable().get("initializer_list") || !getStdNamespace()->InEnclosingNamespaceSetOf( - TemplateClass->getDeclContext())) + TemplateClass->getNonTransparentDeclContext())) return false; // This is a template called std::initializer_list, but is it the right // template? diff --git a/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp b/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp index b569c337e976..efbf2fdfb0ab 100644 --- a/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp +++ b/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp @@ -77,6 +77,8 @@ INTERCEPTOR(void*, malloc, uptr size) { } INTERCEPTOR(void, free, void *p) { + if (UNLIKELY(!p)) + return; if (DlsymAlloc::PointerIsMine(p)) return DlsymAlloc::Free(p); ENSURE_LSAN_INITED; diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config index 458910d6139e..8c83cb9abad0 100644 --- a/contrib/llvm-project/libcxx/include/__config +++ b/contrib/llvm-project/libcxx/include/__config @@ -27,7 +27,7 @@ // _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM. // Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 17.0.1 == 17.00.01), _LIBCPP_VERSION is // defined to XXYYZZ. -# define _LIBCPP_VERSION 190105 +# define _LIBCPP_VERSION 190107 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) diff --git a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h index d4e61c858890..d74896772bf5 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h +++ b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h @@ -838,7 +838,7 @@ private: SDValue ScalarizeVecRes_BUILD_VECTOR(SDNode *N); SDValue ScalarizeVecRes_EXTRACT_SUBVECTOR(SDNode *N); SDValue ScalarizeVecRes_FP_ROUND(SDNode *N); - SDValue ScalarizeVecRes_ExpOp(SDNode *N); + SDValue ScalarizeVecRes_UnaryOpWithExtraInput(SDNode *N); SDValue ScalarizeVecRes_INSERT_VECTOR_ELT(SDNode *N); SDValue ScalarizeVecRes_LOAD(LoadSDNode *N); SDValue ScalarizeVecRes_SCALAR_TO_VECTOR(SDNode *N); diff --git a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp index 92b62ccdc275..ea95aaef8a1e 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp @@ -58,7 +58,11 @@ void DAGTypeLegalizer::ScalarizeVectorResult(SDNode *N, unsigned ResNo) { case ISD::BUILD_VECTOR: R = ScalarizeVecRes_BUILD_VECTOR(N); break; case ISD::EXTRACT_SUBVECTOR: R = ScalarizeVecRes_EXTRACT_SUBVECTOR(N); break; case ISD::FP_ROUND: R = ScalarizeVecRes_FP_ROUND(N); break; - case ISD::FPOWI: R = ScalarizeVecRes_ExpOp(N); break; + case ISD::AssertZext: + case ISD::AssertSext: + case ISD::FPOWI: + R = ScalarizeVecRes_UnaryOpWithExtraInput(N); + break; case ISD::INSERT_VECTOR_ELT: R = ScalarizeVecRes_INSERT_VECTOR_ELT(N); break; case ISD::LOAD: R = ScalarizeVecRes_LOAD(cast(N));break; case ISD::SCALAR_TO_VECTOR: R = ScalarizeVecRes_SCALAR_TO_VECTOR(N); break; @@ -426,7 +430,7 @@ SDValue DAGTypeLegalizer::ScalarizeVecRes_FP_ROUND(SDNode *N) { N->getOperand(1)); } -SDValue DAGTypeLegalizer::ScalarizeVecRes_ExpOp(SDNode *N) { +SDValue DAGTypeLegalizer::ScalarizeVecRes_UnaryOpWithExtraInput(SDNode *N) { SDValue Op = GetScalarizedVector(N->getOperand(0)); return DAG.getNode(N->getOpcode(), SDLoc(N), Op.getValueType(), Op, N->getOperand(1)); diff --git a/contrib/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp b/contrib/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp index f25dc92fa235..852646924567 100644 --- a/contrib/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp +++ b/contrib/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp @@ -1326,6 +1326,22 @@ static bool isInSymtab(const MCSymbolWasm &Sym) { return true; } +static bool isSectionReferenced(MCAssembler &Asm, MCSectionWasm &Section) { + StringRef SectionName = Section.getName(); + + for (const MCSymbol &S : Asm.symbols()) { + const auto &WS = static_cast(S); + if (WS.isData() && WS.isInSection()) { + auto &RefSection = static_cast(WS.getSection()); + if (RefSection.getName() == SectionName) { + return true; + } + } + } + + return false; +} + void WasmObjectWriter::prepareImports( SmallVectorImpl &Imports, MCAssembler &Asm) { // For now, always emit the memory import, since loads and stores are not @@ -1482,8 +1498,10 @@ uint64_t WasmObjectWriter::writeOneObject(MCAssembler &Asm, LLVM_DEBUG(dbgs() << "Processing Section " << SectionName << " group " << Section.getGroup() << "\n";); - // .init_array sections are handled specially elsewhere. - if (SectionName.starts_with(".init_array")) + // .init_array sections are handled specially elsewhere, include them in + // data segments if and only if referenced by a symbol. + if (SectionName.starts_with(".init_array") && + !isSectionReferenced(Asm, Section)) continue; // Code is handled separately @@ -1853,49 +1871,54 @@ uint64_t WasmObjectWriter::writeOneObject(MCAssembler &Asm, if (EmptyFrag.getKind() != MCFragment::FT_Data) report_fatal_error(".init_array section should be aligned"); - const MCFragment &AlignFrag = *EmptyFrag.getNext(); - if (AlignFrag.getKind() != MCFragment::FT_Align) - report_fatal_error(".init_array section should be aligned"); - if (cast(AlignFrag).getAlignment() != - Align(is64Bit() ? 8 : 4)) - report_fatal_error(".init_array section should be aligned for pointers"); - - const MCFragment &Frag = *AlignFrag.getNext(); - if (Frag.hasInstructions() || Frag.getKind() != MCFragment::FT_Data) - report_fatal_error("only data supported in .init_array section"); - - uint16_t Priority = UINT16_MAX; - unsigned PrefixLength = strlen(".init_array"); - if (WS.getName().size() > PrefixLength) { - if (WS.getName()[PrefixLength] != '.') + const MCFragment *nextFrag = EmptyFrag.getNext(); + while (nextFrag != nullptr) { + const MCFragment &AlignFrag = *nextFrag; + if (AlignFrag.getKind() != MCFragment::FT_Align) + report_fatal_error(".init_array section should be aligned"); + if (cast(AlignFrag).getAlignment() != + Align(is64Bit() ? 8 : 4)) report_fatal_error( - ".init_array section priority should start with '.'"); - if (WS.getName().substr(PrefixLength + 1).getAsInteger(10, Priority)) - report_fatal_error("invalid .init_array section priority"); - } - const auto &DataFrag = cast(Frag); - const SmallVectorImpl &Contents = DataFrag.getContents(); - for (const uint8_t * - P = (const uint8_t *)Contents.data(), - *End = (const uint8_t *)Contents.data() + Contents.size(); - P != End; ++P) { - if (*P != 0) - report_fatal_error("non-symbolic data in .init_array section"); - } - for (const MCFixup &Fixup : DataFrag.getFixups()) { - assert(Fixup.getKind() == - MCFixup::getKindForSize(is64Bit() ? 8 : 4, false)); - const MCExpr *Expr = Fixup.getValue(); - auto *SymRef = dyn_cast(Expr); - if (!SymRef) - report_fatal_error("fixups in .init_array should be symbol references"); - const auto &TargetSym = cast(SymRef->getSymbol()); - if (TargetSym.getIndex() == InvalidIndex) - report_fatal_error("symbols in .init_array should exist in symtab"); - if (!TargetSym.isFunction()) - report_fatal_error("symbols in .init_array should be for functions"); - InitFuncs.push_back( - std::make_pair(Priority, TargetSym.getIndex())); + ".init_array section should be aligned for pointers"); + + const MCFragment &Frag = *AlignFrag.getNext(); + nextFrag = Frag.getNext(); + if (Frag.hasInstructions() || Frag.getKind() != MCFragment::FT_Data) + report_fatal_error("only data supported in .init_array section"); + + uint16_t Priority = UINT16_MAX; + unsigned PrefixLength = strlen(".init_array"); + if (WS.getName().size() > PrefixLength) { + if (WS.getName()[PrefixLength] != '.') + report_fatal_error( + ".init_array section priority should start with '.'"); + if (WS.getName().substr(PrefixLength + 1).getAsInteger(10, Priority)) + report_fatal_error("invalid .init_array section priority"); + } + const auto &DataFrag = cast(Frag); + const SmallVectorImpl &Contents = DataFrag.getContents(); + for (const uint8_t * + P = (const uint8_t *)Contents.data(), + *End = (const uint8_t *)Contents.data() + Contents.size(); + P != End; ++P) { + if (*P != 0) + report_fatal_error("non-symbolic data in .init_array section"); + } + for (const MCFixup &Fixup : DataFrag.getFixups()) { + assert(Fixup.getKind() == + MCFixup::getKindForSize(is64Bit() ? 8 : 4, false)); + const MCExpr *Expr = Fixup.getValue(); + auto *SymRef = dyn_cast(Expr); + if (!SymRef) + report_fatal_error( + "fixups in .init_array should be symbol references"); + const auto &TargetSym = cast(SymRef->getSymbol()); + if (TargetSym.getIndex() == InvalidIndex) + report_fatal_error("symbols in .init_array should exist in symtab"); + if (!TargetSym.isFunction()) + report_fatal_error("symbols in .init_array should be for functions"); + InitFuncs.push_back(std::make_pair(Priority, TargetSym.getIndex())); + } } } diff --git a/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp b/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp index 7aeaebc584c6..995c5143e0a5 100644 --- a/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp @@ -3796,6 +3796,8 @@ EVT HexagonTargetLowering::getOptimalMemOpType( bool HexagonTargetLowering::allowsMemoryAccess( LLVMContext &Context, const DataLayout &DL, EVT VT, unsigned AddrSpace, Align Alignment, MachineMemOperand::Flags Flags, unsigned *Fast) const { + if (!VT.isSimple()) + return false; MVT SVT = VT.getSimpleVT(); if (Subtarget.isHVXVectorType(SVT, true)) return allowsHvxMemoryAccess(SVT, Flags, Fast); @@ -3806,6 +3808,8 @@ bool HexagonTargetLowering::allowsMemoryAccess( bool HexagonTargetLowering::allowsMisalignedMemoryAccesses( EVT VT, unsigned AddrSpace, Align Alignment, MachineMemOperand::Flags Flags, unsigned *Fast) const { + if (!VT.isSimple()) + return false; MVT SVT = VT.getSimpleVT(); if (Subtarget.isHVXVectorType(SVT, true)) return allowsHvxMisalignedMemoryAccesses(SVT, Flags, Fast); diff --git a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp index 823fb428472e..badbb4259974 100644 --- a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp @@ -1396,8 +1396,9 @@ RISCVTargetLowering::RISCVTargetLowering(const TargetMachine &TM, } // Custom-legalize bitcasts from fixed-length vectors to scalar types. - setOperationAction(ISD::BITCAST, {MVT::i8, MVT::i16, MVT::i32, MVT::i64}, - Custom); + setOperationAction(ISD::BITCAST, {MVT::i8, MVT::i16, MVT::i32}, Custom); + if (Subtarget.is64Bit()) + setOperationAction(ISD::BITCAST, MVT::i64, Custom); if (Subtarget.hasStdExtZfhminOrZhinxmin()) setOperationAction(ISD::BITCAST, MVT::f16, Custom); if (Subtarget.hasStdExtFOrZfinx()) @@ -6317,7 +6318,8 @@ SDValue RISCVTargetLowering::LowerOperation(SDValue Op, DAG.getNode(RISCVISD::FMV_W_X_RV64, DL, MVT::f32, NewOp0); return FPConv; } - if (VT == MVT::f64 && Op0VT == MVT::i64 && XLenVT == MVT::i32) { + if (VT == MVT::f64 && Op0VT == MVT::i64 && !Subtarget.is64Bit() && + Subtarget.hasStdExtDOrZdinx()) { SDValue Lo, Hi; std::tie(Lo, Hi) = DAG.SplitScalar(Op0, DL, MVT::i32, MVT::i32); SDValue RetReg = @@ -12616,7 +12618,8 @@ void RISCVTargetLowering::ReplaceNodeResults(SDNode *N, SDValue FPConv = DAG.getNode(RISCVISD::FMV_X_ANYEXTW_RV64, DL, MVT::i64, Op0); Results.push_back(DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, FPConv)); - } else if (VT == MVT::i64 && Op0VT == MVT::f64 && XLenVT == MVT::i32) { + } else if (VT == MVT::i64 && Op0VT == MVT::f64 && !Subtarget.is64Bit() && + Subtarget.hasStdExtDOrZdinx()) { SDValue NewReg = DAG.getNode(RISCVISD::SplitF64, DL, DAG.getVTList(MVT::i32, MVT::i32), Op0); SDValue RetReg = DAG.getNode(ISD::BUILD_PAIR, DL, MVT::i64, diff --git a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp index 6c0cbeadebf4..7f4bbe786108 100644 --- a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp +++ b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp @@ -2536,6 +2536,13 @@ bool RISCVInstrInfo::verifyInstruction(const MachineInstr &MI, } } + if (int Idx = RISCVII::getFRMOpNum(Desc); + Idx >= 0 && MI.getOperand(Idx).getImm() == RISCVFPRndMode::DYN && + !MI.readsRegister(RISCV::FRM, /*TRI=*/nullptr)) { + ErrInfo = "dynamic rounding mode should read FRM"; + return false; + } + return true; } diff --git a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td index b860273d639e..93fd0b2aada3 100644 --- a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td +++ b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td @@ -6471,7 +6471,7 @@ defm PseudoVFRDIV : VPseudoVFRDIV_VF_RM; //===----------------------------------------------------------------------===// // 13.5. Vector Widening Floating-Point Multiply //===----------------------------------------------------------------------===// -let mayRaiseFPException = true, hasSideEffects = 0 in { +let mayRaiseFPException = true, hasSideEffects = 0, hasPostISelHook = 1 in { defm PseudoVFWMUL : VPseudoVWMUL_VV_VF_RM; } @@ -6504,7 +6504,7 @@ defm PseudoVFWMACCBF16 : VPseudoVWMAC_VV_VF_BF_RM; //===----------------------------------------------------------------------===// // 13.8. Vector Floating-Point Square-Root Instruction //===----------------------------------------------------------------------===// -let mayRaiseFPException = true, hasSideEffects = 0 in +let mayRaiseFPException = true, hasSideEffects = 0, hasPostISelHook = 1 in defm PseudoVFSQRT : VPseudoVSQR_V_RM; //===----------------------------------------------------------------------===// @@ -6516,7 +6516,7 @@ defm PseudoVFRSQRT7 : VPseudoVRCP_V; //===----------------------------------------------------------------------===// // 13.10. Vector Floating-Point Reciprocal Estimate Instruction //===----------------------------------------------------------------------===// -let mayRaiseFPException = true, hasSideEffects = 0 in +let mayRaiseFPException = true, hasSideEffects = 0, hasPostISelHook = 1 in defm PseudoVFREC7 : VPseudoVRCP_V_RM; //===----------------------------------------------------------------------===// @@ -6627,9 +6627,10 @@ defm PseudoVFNCVT_F_X : VPseudoVNCVTF_W_RM; defm PseudoVFNCVT_RM_F_XU : VPseudoVNCVTF_RM_W; defm PseudoVFNCVT_RM_F_X : VPseudoVNCVTF_RM_W; -let hasSideEffects = 0, hasPostISelHook = 1 in +let hasSideEffects = 0, hasPostISelHook = 1 in { defm PseudoVFNCVT_F_F : VPseudoVNCVTD_W_RM; defm PseudoVFNCVTBF16_F_F : VPseudoVNCVTD_W_RM; +} defm PseudoVFNCVT_ROD_F_F : VPseudoVNCVTD_W; } // mayRaiseFPException = true @@ -6665,8 +6666,7 @@ let Predicates = [HasVInstructionsAnyF] in { //===----------------------------------------------------------------------===// // 14.3. Vector Single-Width Floating-Point Reduction Instructions //===----------------------------------------------------------------------===// -let mayRaiseFPException = true, - hasSideEffects = 0 in { +let mayRaiseFPException = true, hasSideEffects = 0, hasPostISelHook = 1 in { defm PseudoVFREDOSUM : VPseudoVFREDO_VS_RM; defm PseudoVFREDUSUM : VPseudoVFRED_VS_RM; } @@ -6678,9 +6678,8 @@ defm PseudoVFREDMAX : VPseudoVFREDMINMAX_VS; //===----------------------------------------------------------------------===// // 14.4. Vector Widening Floating-Point Reduction Instructions //===----------------------------------------------------------------------===// -let IsRVVWideningReduction = 1, - hasSideEffects = 0, - mayRaiseFPException = true in { +let IsRVVWideningReduction = 1, hasSideEffects = 0, mayRaiseFPException = true, + hasPostISelHook = 1 in { defm PseudoVFWREDUSUM : VPseudoVFWRED_VS_RM; defm PseudoVFWREDOSUM : VPseudoVFWREDO_VS_RM; } diff --git a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td index 3bd6da286828..994859817014 100644 --- a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td +++ b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td @@ -694,7 +694,7 @@ let Predicates = [HasVendorXCVmem, IsRV32], AddedComplexity = 1 in { def : CVStriPat; def : CVStrriPat; - def : CVStrriPat; + def : CVStrriPat; def : CVStrriPat; def : CVStrrPat; diff --git a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td index 71aa1f19e089..eacc75b9a6c4 100644 --- a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td +++ b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td @@ -217,7 +217,8 @@ let Predicates = [HasVendorXSfvfwmaccqqq], DecoderNamespace = "XSfvfwmaccqqq" in def VFWMACC_4x4x4 : CustomSiFiveVMACC<0b111100, OPFVV, "sf.vfwmacc.4x4x4">; } -let Predicates = [HasVendorXSfvfnrclipxfqf], DecoderNamespace = "XSfvfnrclipxfqf" in { +let Predicates = [HasVendorXSfvfnrclipxfqf], DecoderNamespace = "XSfvfnrclipxfqf", + Uses = [FRM] in { def VFNRCLIP_XU_F_QF : CustomSiFiveVFNRCLIP<0b100010, OPFVF, "sf.vfnrclip.xu.f.qf">; def VFNRCLIP_X_F_QF : CustomSiFiveVFNRCLIP<0b100011, OPFVF, "sf.vfnrclip.x.f.qf">; } @@ -399,7 +400,7 @@ multiclass VPseudoSiFiveVFWMACC { multiclass VPseudoSiFiveVFNRCLIP { foreach i = 0-4 in - let hasSideEffects = 0 in + let hasSideEffects = 0, hasPostISelHook = 1 in defm "Pseudo" # NAME : VPseudoBinaryRoundingModegetType()), 0); Load1Ptr = Load1Ptr->stripAndAccumulateConstantOffsets( DL, Offset1, /* AllowNonInbounds */ true); - Load1Ptr = Builder.CreatePtrAdd(Load1Ptr, - Builder.getInt32(Offset1.getZExtValue())); + Load1Ptr = Builder.CreatePtrAdd(Load1Ptr, Builder.getInt(Offset1)); } // Generate wider load. NewLoad = Builder.CreateAlignedLoad(WiderType, Load1Ptr, LI1->getAlign(), diff --git a/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp b/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp index c235d2fb2a5b..f99f4487c554 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp @@ -1249,8 +1249,9 @@ static BasicBlock *buildClonedLoopBlocks( assert(VMap.lookup(&I) == &ClonedI && "Mismatch in the value map!"); // Forget SCEVs based on exit phis in case SCEV looked through the phi. - if (SE && isa(I)) - SE->forgetValue(&I); + if (SE) + if (auto *PN = dyn_cast(&I)) + SE->forgetLcssaPhiWithNewPredecessor(&L, PN); BasicBlock::iterator InsertPt = MergeBB->getFirstInsertionPt(); diff --git a/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index 746ba51a981f..fd08d5d9d755 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -18596,8 +18596,11 @@ bool SLPVectorizerPass::vectorizeCmpInsts(iterator_range CmpInsts, if (R.isDeleted(I)) continue; for (Value *Op : I->operands()) - if (auto *RootOp = dyn_cast(Op)) + if (auto *RootOp = dyn_cast(Op)) { Changed |= vectorizeRootInstruction(nullptr, RootOp, BB, R, TTI); + if (R.isDeleted(I)) + break; + } } // Try to vectorize operands as vector bundles. for (CmpInst *I : CmpInsts) { diff --git a/lib/clang/include/VCSVersion.inc b/lib/clang/include/VCSVersion.inc index 7624a2e4b17a..a18ba351aaab 100644 --- a/lib/clang/include/VCSVersion.inc +++ b/lib/clang/include/VCSVersion.inc @@ -1,8 +1,8 @@ -#define LLVM_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define LLVM_REVISION "llvmorg-19.1.7-0-gcd708029e0b2" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define CLANG_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define CLANG_REVISION "llvmorg-19.1.7-0-gcd708029e0b2" #define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define LLDB_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define LLDB_REVISION "llvmorg-19.1.7-0-gcd708029e0b2" #define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc index 5104f9d7ad7a..92e55f9316cf 100644 --- a/lib/clang/include/clang/Basic/Version.inc +++ b/lib/clang/include/clang/Basic/Version.inc @@ -1,8 +1,8 @@ -#define CLANG_VERSION 19.1.5 -#define CLANG_VERSION_STRING "19.1.5" +#define CLANG_VERSION 19.1.7 +#define CLANG_VERSION_STRING "19.1.7" #define CLANG_VERSION_MAJOR 19 #define CLANG_VERSION_MAJOR_STRING "19" #define CLANG_VERSION_MINOR 1 -#define CLANG_VERSION_PATCHLEVEL 5 +#define CLANG_VERSION_PATCHLEVEL 7 #define CLANG_VENDOR "FreeBSD " diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc index 6cf430b53591..ef16a34f470a 100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@ -1,4 +1,4 @@ // Local identifier in __FreeBSD_version style #define LLD_FREEBSD_VERSION 1400007 -#define LLD_VERSION_STRING "19.1.5 (FreeBSD llvmorg-19.1.5-0-gab4b5a2db582-" __XSTRING(LLD_FREEBSD_VERSION) ")" +#define LLD_VERSION_STRING "19.1.7 (FreeBSD llvmorg-19.1.7-0-gcd708029e0b2-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --git a/lib/clang/include/lldb/Version/Version.inc b/lib/clang/include/lldb/Version/Version.inc index 5aa1f29215b4..02d44970ff54 100644 --- a/lib/clang/include/lldb/Version/Version.inc +++ b/lib/clang/include/lldb/Version/Version.inc @@ -1,6 +1,6 @@ -#define LLDB_VERSION 19.1.5 -#define LLDB_VERSION_STRING "19.1.5" +#define LLDB_VERSION 19.1.7 +#define LLDB_VERSION_STRING "19.1.7" #define LLDB_VERSION_MAJOR 19 #define LLDB_VERSION_MINOR 1 -#define LLDB_VERSION_PATCH 5 +#define LLDB_VERSION_PATCH 7 /* #undef LLDB_FULL_VERSION_STRING */ diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h index f86e4b6b5946..1968fb5072c9 100644 --- a/lib/clang/include/llvm/Config/config.h +++ b/lib/clang/include/llvm/Config/config.h @@ -338,10 +338,10 @@ #define PACKAGE_NAME "LLVM" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "LLVM 19.1.5" +#define PACKAGE_STRING "LLVM 19.1.7" /* Define to the version of this package. */ -#define PACKAGE_VERSION "19.1.5" +#define PACKAGE_VERSION "19.1.7" /* Define to the vendor of this package. */ /* #undef PACKAGE_VENDOR */ diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h index 966249436723..4ca2d0083398 100644 --- a/lib/clang/include/llvm/Config/llvm-config.h +++ b/lib/clang/include/llvm/Config/llvm-config.h @@ -176,10 +176,10 @@ #define LLVM_VERSION_MINOR 1 /* Patch version of the LLVM API */ -#define LLVM_VERSION_PATCH 5 +#define LLVM_VERSION_PATCH 7 /* LLVM version string */ -#define LLVM_VERSION_STRING "19.1.5" +#define LLVM_VERSION_STRING "19.1.7" /* Whether LLVM records statistics for use with GetStatistics(), * PrintStatistics() or PrintStatisticsJSON() diff --git a/lib/clang/include/llvm/Support/VCSRevision.h b/lib/clang/include/llvm/Support/VCSRevision.h index db3347a0e5a5..76aa3f075586 100644 --- a/lib/clang/include/llvm/Support/VCSRevision.h +++ b/lib/clang/include/llvm/Support/VCSRevision.h @@ -1,2 +1,2 @@ -#define LLVM_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define LLVM_REVISION "llvmorg-19.1.7-0-gcd708029e0b2" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" From nobody Sun Jan 19 11:06:37 2025 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YbVz14CVJz5l4jD; Sun, 19 Jan 2025 11:06:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YbVz13LC2z3DGx; Sun, 19 Jan 2025 11:06:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737284797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c0Tz2iyF8qR0pMgsJDAL1gVHrxGv9j4WefojDMAYvvw=; b=TNtE0+HHQHg6ivDKId644JxjOVZGnGRxL+EtQW3eL/sDbUmNcR6/B7ei+mN20m/+i7BR5s k8GTNJQQ7gq6+N3I50MRcmIA3k2BxXpE3PLlWaPpSRzDqe+n3N0VbhTht245QrUKl5JOGo GRmPIObBmnnWpW7u5fbUeIlsEf3ZabGWG8e+LEdR6aVULJWfMEKqA6vy+aEn9lVRU2fFLQ PZ2wsjqFvZtGvv2/gX/4G6WfyjgpoPpH1q2+r5O2zFRThaXo3v5z772lFlZOFXA6bT7h/O xIMY+SzfdYqB9AP8A+u0Nj63vZwDfTXn9uwcZ/x+CC2Q6w/gNmcaiMcNgE4V3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737284797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c0Tz2iyF8qR0pMgsJDAL1gVHrxGv9j4WefojDMAYvvw=; b=kY9XmRI9nKGcyAPukJgx9h9kD5PL14Ls7D3qWC1H4YfdOjw8EiRMW2S+ldKf0/3RvPFgNh CVXGGjA9uwpsl15jP1J5WlYW7HA0jfPJhLNVs/dBcpo6l8mQZST0+g72e/DLNpSSU8xkEQ VRvQAFqgdLU+u9bePRQm2aAWF49+r5daTAvJaxq7BgQ586602x/1SBLCtYdYhgjp2as2// Alb7CFRjsrainYycw+5rG49B+3r2WGov+7/9KvhekSEqGhtpANsk3wI/7uoigHs4Uwssel 5DEHSLuII6x8xXCxggKdRhPaR8IVkeetERzkkzhOFoht/kr6BJ6YRNuzDBbFzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737284797; a=rsa-sha256; cv=none; b=M+/HHovboocZ6X+8JGmCY/soTQhsFXjv45oXVwgUB6DAJw3ndsX0fvcOfp9SL/N1tycBAV sle4/dTpksOOwWcQ32mbzXkaEVDLO+ff4EJ+07A9QcZoqlqaEFMU0JzlJKH1V3LjyvJ5dR 0MFMS5ekVgQQj33kQCXHKp82MLuhCuaPmHBkqJiqYbJYXOPV+9M45CeCqRYjBG8O1ckIuh y9wDTWFiQZDCOkLqVAH2nApsgHfbiAYmieihfXpP+wWVP9XvzMSa5jzqJZPtRscapwTH6I l840IUh16xqA19c5NmjRHFE/03LUqR9TN/OBvcKA3FAcob5YBpJ3+JWiwlDhDg== 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 4YbVz12gjyznqn; Sun, 19 Jan 2025 11:06:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50JB6bCt027067; Sun, 19 Jan 2025 11:06:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50JB6bPI027062; Sun, 19 Jan 2025 11:06:37 GMT (envelope-from git) Date: Sun, 19 Jan 2025 11:06:37 GMT Message-Id: <202501191106.50JB6bPI027062@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: 2611bae42b7d - stable/13 - Merge llvm-project release/19.x llvmorg-19.1.7-0-gcd708029e0b2 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: 2611bae42b7d471bcf2c4826bf2ae37c27f983a8 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=2611bae42b7d471bcf2c4826bf2ae37c27f983a8 commit 2611bae42b7d471bcf2c4826bf2ae37c27f983a8 Author: Dimitry Andric AuthorDate: 2025-01-16 20:04:36 +0000 Commit: Dimitry Andric CommitDate: 2025-01-19 11:06:03 +0000 Merge llvm-project release/19.x llvmorg-19.1.7-0-gcd708029e0b2 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/19.x llvmorg-19.1.7-0-gcd708029e0b2, a.k.a. 19.1.7 release. PR: 280562 MFC after: 3 days (cherry picked from commit 6c05f3a74f30934ee60919cc97e16ec69b542b06) --- contrib/llvm-project/clang/lib/Driver/Driver.cpp | 5 + .../clang/lib/Driver/ToolChains/Hexagon.cpp | 2 +- .../clang/lib/Format/UnwrappedLineParser.cpp | 2 +- .../llvm-project/clang/lib/Sema/SemaDeclCXX.cpp | 2 +- .../compiler-rt/lib/lsan/lsan_interceptors.cpp | 2 + contrib/llvm-project/libcxx/include/__config | 2 +- .../llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h | 2 +- .../CodeGen/SelectionDAG/LegalizeVectorTypes.cpp | 8 +- .../llvm-project/llvm/lib/MC/WasmObjectWriter.cpp | 111 +++++++++++++-------- .../lib/Target/Hexagon/HexagonISelLowering.cpp | 4 + .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp | 11 +- .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 7 ++ .../lib/Target/RISCV/RISCVInstrInfoVPseudos.td | 17 ++-- .../llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td | 2 +- .../llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td | 5 +- .../AggressiveInstCombine.cpp | 3 +- .../lib/Transforms/Scalar/SimpleLoopUnswitch.cpp | 5 +- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 5 +- lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 25 files changed, 138 insertions(+), 87 deletions(-) diff --git a/contrib/llvm-project/clang/lib/Driver/Driver.cpp b/contrib/llvm-project/clang/lib/Driver/Driver.cpp index ecae475f75da..f9dc8ab24fa9 100644 --- a/contrib/llvm-project/clang/lib/Driver/Driver.cpp +++ b/contrib/llvm-project/clang/lib/Driver/Driver.cpp @@ -6189,6 +6189,11 @@ std::string Driver::GetFilePath(StringRef Name, const ToolChain &TC) const { if (auto P = SearchPaths(TC.getFilePaths())) return *P; + SmallString<128> R2(ResourceDir); + llvm::sys::path::append(R2, "..", "..", Name); + if (llvm::sys::fs::exists(Twine(R2))) + return std::string(R2); + return std::string(Name); } diff --git a/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.cpp b/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.cpp index be7851adecea..76cedf312d68 100644 --- a/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.cpp +++ b/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.cpp @@ -379,9 +379,9 @@ constructHexagonLinkArgs(Compilation &C, const JobAction &JA, if (NeedsXRayDeps) linkXRayRuntimeDeps(HTC, Args, CmdArgs); - CmdArgs.push_back("-lclang_rt.builtins-hexagon"); if (!Args.hasArg(options::OPT_nolibc)) CmdArgs.push_back("-lc"); + CmdArgs.push_back("-lclang_rt.builtins-hexagon"); } if (D.CCCIsCXX()) { if (HTC.ShouldLinkCXXStdlib(Args)) diff --git a/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.cpp b/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.cpp index bfb592ae0749..e3fb976ee1cc 100644 --- a/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.cpp +++ b/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.cpp @@ -512,7 +512,7 @@ void UnwrappedLineParser::calculateBraceTypes(bool ExpectClassBody) { break; do { NextTok = Tokens->getNextToken(); - } while (NextTok->NewlinesBefore == 0 && NextTok->isNot(tok::eof)); + } while (!NextTok->HasUnescapedNewline && NextTok->isNot(tok::eof)); while (NextTok->is(tok::comment)) NextTok = Tokens->getNextToken(); diff --git a/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp b/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp index 4e4f91de8cd5..18262993af28 100644 --- a/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp +++ b/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp @@ -11919,7 +11919,7 @@ bool Sema::isStdInitializerList(QualType Ty, QualType *Element) { if (TemplateClass->getIdentifier() != &PP.getIdentifierTable().get("initializer_list") || !getStdNamespace()->InEnclosingNamespaceSetOf( - TemplateClass->getDeclContext())) + TemplateClass->getNonTransparentDeclContext())) return false; // This is a template called std::initializer_list, but is it the right // template? diff --git a/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp b/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp index b569c337e976..efbf2fdfb0ab 100644 --- a/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp +++ b/contrib/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp @@ -77,6 +77,8 @@ INTERCEPTOR(void*, malloc, uptr size) { } INTERCEPTOR(void, free, void *p) { + if (UNLIKELY(!p)) + return; if (DlsymAlloc::PointerIsMine(p)) return DlsymAlloc::Free(p); ENSURE_LSAN_INITED; diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config index 458910d6139e..8c83cb9abad0 100644 --- a/contrib/llvm-project/libcxx/include/__config +++ b/contrib/llvm-project/libcxx/include/__config @@ -27,7 +27,7 @@ // _LIBCPP_VERSION represents the version of libc++, which matches the version of LLVM. // Given a LLVM release LLVM XX.YY.ZZ (e.g. LLVM 17.0.1 == 17.00.01), _LIBCPP_VERSION is // defined to XXYYZZ. -# define _LIBCPP_VERSION 190105 +# define _LIBCPP_VERSION 190107 # define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y # define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y) diff --git a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h index d4e61c858890..d74896772bf5 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h +++ b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h @@ -838,7 +838,7 @@ private: SDValue ScalarizeVecRes_BUILD_VECTOR(SDNode *N); SDValue ScalarizeVecRes_EXTRACT_SUBVECTOR(SDNode *N); SDValue ScalarizeVecRes_FP_ROUND(SDNode *N); - SDValue ScalarizeVecRes_ExpOp(SDNode *N); + SDValue ScalarizeVecRes_UnaryOpWithExtraInput(SDNode *N); SDValue ScalarizeVecRes_INSERT_VECTOR_ELT(SDNode *N); SDValue ScalarizeVecRes_LOAD(LoadSDNode *N); SDValue ScalarizeVecRes_SCALAR_TO_VECTOR(SDNode *N); diff --git a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp index 92b62ccdc275..ea95aaef8a1e 100644 --- a/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp +++ b/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp @@ -58,7 +58,11 @@ void DAGTypeLegalizer::ScalarizeVectorResult(SDNode *N, unsigned ResNo) { case ISD::BUILD_VECTOR: R = ScalarizeVecRes_BUILD_VECTOR(N); break; case ISD::EXTRACT_SUBVECTOR: R = ScalarizeVecRes_EXTRACT_SUBVECTOR(N); break; case ISD::FP_ROUND: R = ScalarizeVecRes_FP_ROUND(N); break; - case ISD::FPOWI: R = ScalarizeVecRes_ExpOp(N); break; + case ISD::AssertZext: + case ISD::AssertSext: + case ISD::FPOWI: + R = ScalarizeVecRes_UnaryOpWithExtraInput(N); + break; case ISD::INSERT_VECTOR_ELT: R = ScalarizeVecRes_INSERT_VECTOR_ELT(N); break; case ISD::LOAD: R = ScalarizeVecRes_LOAD(cast(N));break; case ISD::SCALAR_TO_VECTOR: R = ScalarizeVecRes_SCALAR_TO_VECTOR(N); break; @@ -426,7 +430,7 @@ SDValue DAGTypeLegalizer::ScalarizeVecRes_FP_ROUND(SDNode *N) { N->getOperand(1)); } -SDValue DAGTypeLegalizer::ScalarizeVecRes_ExpOp(SDNode *N) { +SDValue DAGTypeLegalizer::ScalarizeVecRes_UnaryOpWithExtraInput(SDNode *N) { SDValue Op = GetScalarizedVector(N->getOperand(0)); return DAG.getNode(N->getOpcode(), SDLoc(N), Op.getValueType(), Op, N->getOperand(1)); diff --git a/contrib/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp b/contrib/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp index f25dc92fa235..852646924567 100644 --- a/contrib/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp +++ b/contrib/llvm-project/llvm/lib/MC/WasmObjectWriter.cpp @@ -1326,6 +1326,22 @@ static bool isInSymtab(const MCSymbolWasm &Sym) { return true; } +static bool isSectionReferenced(MCAssembler &Asm, MCSectionWasm &Section) { + StringRef SectionName = Section.getName(); + + for (const MCSymbol &S : Asm.symbols()) { + const auto &WS = static_cast(S); + if (WS.isData() && WS.isInSection()) { + auto &RefSection = static_cast(WS.getSection()); + if (RefSection.getName() == SectionName) { + return true; + } + } + } + + return false; +} + void WasmObjectWriter::prepareImports( SmallVectorImpl &Imports, MCAssembler &Asm) { // For now, always emit the memory import, since loads and stores are not @@ -1482,8 +1498,10 @@ uint64_t WasmObjectWriter::writeOneObject(MCAssembler &Asm, LLVM_DEBUG(dbgs() << "Processing Section " << SectionName << " group " << Section.getGroup() << "\n";); - // .init_array sections are handled specially elsewhere. - if (SectionName.starts_with(".init_array")) + // .init_array sections are handled specially elsewhere, include them in + // data segments if and only if referenced by a symbol. + if (SectionName.starts_with(".init_array") && + !isSectionReferenced(Asm, Section)) continue; // Code is handled separately @@ -1853,49 +1871,54 @@ uint64_t WasmObjectWriter::writeOneObject(MCAssembler &Asm, if (EmptyFrag.getKind() != MCFragment::FT_Data) report_fatal_error(".init_array section should be aligned"); - const MCFragment &AlignFrag = *EmptyFrag.getNext(); - if (AlignFrag.getKind() != MCFragment::FT_Align) - report_fatal_error(".init_array section should be aligned"); - if (cast(AlignFrag).getAlignment() != - Align(is64Bit() ? 8 : 4)) - report_fatal_error(".init_array section should be aligned for pointers"); - - const MCFragment &Frag = *AlignFrag.getNext(); - if (Frag.hasInstructions() || Frag.getKind() != MCFragment::FT_Data) - report_fatal_error("only data supported in .init_array section"); - - uint16_t Priority = UINT16_MAX; - unsigned PrefixLength = strlen(".init_array"); - if (WS.getName().size() > PrefixLength) { - if (WS.getName()[PrefixLength] != '.') + const MCFragment *nextFrag = EmptyFrag.getNext(); + while (nextFrag != nullptr) { + const MCFragment &AlignFrag = *nextFrag; + if (AlignFrag.getKind() != MCFragment::FT_Align) + report_fatal_error(".init_array section should be aligned"); + if (cast(AlignFrag).getAlignment() != + Align(is64Bit() ? 8 : 4)) report_fatal_error( - ".init_array section priority should start with '.'"); - if (WS.getName().substr(PrefixLength + 1).getAsInteger(10, Priority)) - report_fatal_error("invalid .init_array section priority"); - } - const auto &DataFrag = cast(Frag); - const SmallVectorImpl &Contents = DataFrag.getContents(); - for (const uint8_t * - P = (const uint8_t *)Contents.data(), - *End = (const uint8_t *)Contents.data() + Contents.size(); - P != End; ++P) { - if (*P != 0) - report_fatal_error("non-symbolic data in .init_array section"); - } - for (const MCFixup &Fixup : DataFrag.getFixups()) { - assert(Fixup.getKind() == - MCFixup::getKindForSize(is64Bit() ? 8 : 4, false)); - const MCExpr *Expr = Fixup.getValue(); - auto *SymRef = dyn_cast(Expr); - if (!SymRef) - report_fatal_error("fixups in .init_array should be symbol references"); - const auto &TargetSym = cast(SymRef->getSymbol()); - if (TargetSym.getIndex() == InvalidIndex) - report_fatal_error("symbols in .init_array should exist in symtab"); - if (!TargetSym.isFunction()) - report_fatal_error("symbols in .init_array should be for functions"); - InitFuncs.push_back( - std::make_pair(Priority, TargetSym.getIndex())); + ".init_array section should be aligned for pointers"); + + const MCFragment &Frag = *AlignFrag.getNext(); + nextFrag = Frag.getNext(); + if (Frag.hasInstructions() || Frag.getKind() != MCFragment::FT_Data) + report_fatal_error("only data supported in .init_array section"); + + uint16_t Priority = UINT16_MAX; + unsigned PrefixLength = strlen(".init_array"); + if (WS.getName().size() > PrefixLength) { + if (WS.getName()[PrefixLength] != '.') + report_fatal_error( + ".init_array section priority should start with '.'"); + if (WS.getName().substr(PrefixLength + 1).getAsInteger(10, Priority)) + report_fatal_error("invalid .init_array section priority"); + } + const auto &DataFrag = cast(Frag); + const SmallVectorImpl &Contents = DataFrag.getContents(); + for (const uint8_t * + P = (const uint8_t *)Contents.data(), + *End = (const uint8_t *)Contents.data() + Contents.size(); + P != End; ++P) { + if (*P != 0) + report_fatal_error("non-symbolic data in .init_array section"); + } + for (const MCFixup &Fixup : DataFrag.getFixups()) { + assert(Fixup.getKind() == + MCFixup::getKindForSize(is64Bit() ? 8 : 4, false)); + const MCExpr *Expr = Fixup.getValue(); + auto *SymRef = dyn_cast(Expr); + if (!SymRef) + report_fatal_error( + "fixups in .init_array should be symbol references"); + const auto &TargetSym = cast(SymRef->getSymbol()); + if (TargetSym.getIndex() == InvalidIndex) + report_fatal_error("symbols in .init_array should exist in symtab"); + if (!TargetSym.isFunction()) + report_fatal_error("symbols in .init_array should be for functions"); + InitFuncs.push_back(std::make_pair(Priority, TargetSym.getIndex())); + } } } diff --git a/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp b/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp index 7aeaebc584c6..995c5143e0a5 100644 --- a/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp @@ -3796,6 +3796,8 @@ EVT HexagonTargetLowering::getOptimalMemOpType( bool HexagonTargetLowering::allowsMemoryAccess( LLVMContext &Context, const DataLayout &DL, EVT VT, unsigned AddrSpace, Align Alignment, MachineMemOperand::Flags Flags, unsigned *Fast) const { + if (!VT.isSimple()) + return false; MVT SVT = VT.getSimpleVT(); if (Subtarget.isHVXVectorType(SVT, true)) return allowsHvxMemoryAccess(SVT, Flags, Fast); @@ -3806,6 +3808,8 @@ bool HexagonTargetLowering::allowsMemoryAccess( bool HexagonTargetLowering::allowsMisalignedMemoryAccesses( EVT VT, unsigned AddrSpace, Align Alignment, MachineMemOperand::Flags Flags, unsigned *Fast) const { + if (!VT.isSimple()) + return false; MVT SVT = VT.getSimpleVT(); if (Subtarget.isHVXVectorType(SVT, true)) return allowsHvxMisalignedMemoryAccesses(SVT, Flags, Fast); diff --git a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp index 823fb428472e..badbb4259974 100644 --- a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp +++ b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp @@ -1396,8 +1396,9 @@ RISCVTargetLowering::RISCVTargetLowering(const TargetMachine &TM, } // Custom-legalize bitcasts from fixed-length vectors to scalar types. - setOperationAction(ISD::BITCAST, {MVT::i8, MVT::i16, MVT::i32, MVT::i64}, - Custom); + setOperationAction(ISD::BITCAST, {MVT::i8, MVT::i16, MVT::i32}, Custom); + if (Subtarget.is64Bit()) + setOperationAction(ISD::BITCAST, MVT::i64, Custom); if (Subtarget.hasStdExtZfhminOrZhinxmin()) setOperationAction(ISD::BITCAST, MVT::f16, Custom); if (Subtarget.hasStdExtFOrZfinx()) @@ -6317,7 +6318,8 @@ SDValue RISCVTargetLowering::LowerOperation(SDValue Op, DAG.getNode(RISCVISD::FMV_W_X_RV64, DL, MVT::f32, NewOp0); return FPConv; } - if (VT == MVT::f64 && Op0VT == MVT::i64 && XLenVT == MVT::i32) { + if (VT == MVT::f64 && Op0VT == MVT::i64 && !Subtarget.is64Bit() && + Subtarget.hasStdExtDOrZdinx()) { SDValue Lo, Hi; std::tie(Lo, Hi) = DAG.SplitScalar(Op0, DL, MVT::i32, MVT::i32); SDValue RetReg = @@ -12616,7 +12618,8 @@ void RISCVTargetLowering::ReplaceNodeResults(SDNode *N, SDValue FPConv = DAG.getNode(RISCVISD::FMV_X_ANYEXTW_RV64, DL, MVT::i64, Op0); Results.push_back(DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, FPConv)); - } else if (VT == MVT::i64 && Op0VT == MVT::f64 && XLenVT == MVT::i32) { + } else if (VT == MVT::i64 && Op0VT == MVT::f64 && !Subtarget.is64Bit() && + Subtarget.hasStdExtDOrZdinx()) { SDValue NewReg = DAG.getNode(RISCVISD::SplitF64, DL, DAG.getVTList(MVT::i32, MVT::i32), Op0); SDValue RetReg = DAG.getNode(ISD::BUILD_PAIR, DL, MVT::i64, diff --git a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp index 6c0cbeadebf4..7f4bbe786108 100644 --- a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp +++ b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp @@ -2536,6 +2536,13 @@ bool RISCVInstrInfo::verifyInstruction(const MachineInstr &MI, } } + if (int Idx = RISCVII::getFRMOpNum(Desc); + Idx >= 0 && MI.getOperand(Idx).getImm() == RISCVFPRndMode::DYN && + !MI.readsRegister(RISCV::FRM, /*TRI=*/nullptr)) { + ErrInfo = "dynamic rounding mode should read FRM"; + return false; + } + return true; } diff --git a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td index b860273d639e..93fd0b2aada3 100644 --- a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td +++ b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td @@ -6471,7 +6471,7 @@ defm PseudoVFRDIV : VPseudoVFRDIV_VF_RM; //===----------------------------------------------------------------------===// // 13.5. Vector Widening Floating-Point Multiply //===----------------------------------------------------------------------===// -let mayRaiseFPException = true, hasSideEffects = 0 in { +let mayRaiseFPException = true, hasSideEffects = 0, hasPostISelHook = 1 in { defm PseudoVFWMUL : VPseudoVWMUL_VV_VF_RM; } @@ -6504,7 +6504,7 @@ defm PseudoVFWMACCBF16 : VPseudoVWMAC_VV_VF_BF_RM; //===----------------------------------------------------------------------===// // 13.8. Vector Floating-Point Square-Root Instruction //===----------------------------------------------------------------------===// -let mayRaiseFPException = true, hasSideEffects = 0 in +let mayRaiseFPException = true, hasSideEffects = 0, hasPostISelHook = 1 in defm PseudoVFSQRT : VPseudoVSQR_V_RM; //===----------------------------------------------------------------------===// @@ -6516,7 +6516,7 @@ defm PseudoVFRSQRT7 : VPseudoVRCP_V; //===----------------------------------------------------------------------===// // 13.10. Vector Floating-Point Reciprocal Estimate Instruction //===----------------------------------------------------------------------===// -let mayRaiseFPException = true, hasSideEffects = 0 in +let mayRaiseFPException = true, hasSideEffects = 0, hasPostISelHook = 1 in defm PseudoVFREC7 : VPseudoVRCP_V_RM; //===----------------------------------------------------------------------===// @@ -6627,9 +6627,10 @@ defm PseudoVFNCVT_F_X : VPseudoVNCVTF_W_RM; defm PseudoVFNCVT_RM_F_XU : VPseudoVNCVTF_RM_W; defm PseudoVFNCVT_RM_F_X : VPseudoVNCVTF_RM_W; -let hasSideEffects = 0, hasPostISelHook = 1 in +let hasSideEffects = 0, hasPostISelHook = 1 in { defm PseudoVFNCVT_F_F : VPseudoVNCVTD_W_RM; defm PseudoVFNCVTBF16_F_F : VPseudoVNCVTD_W_RM; +} defm PseudoVFNCVT_ROD_F_F : VPseudoVNCVTD_W; } // mayRaiseFPException = true @@ -6665,8 +6666,7 @@ let Predicates = [HasVInstructionsAnyF] in { //===----------------------------------------------------------------------===// // 14.3. Vector Single-Width Floating-Point Reduction Instructions //===----------------------------------------------------------------------===// -let mayRaiseFPException = true, - hasSideEffects = 0 in { +let mayRaiseFPException = true, hasSideEffects = 0, hasPostISelHook = 1 in { defm PseudoVFREDOSUM : VPseudoVFREDO_VS_RM; defm PseudoVFREDUSUM : VPseudoVFRED_VS_RM; } @@ -6678,9 +6678,8 @@ defm PseudoVFREDMAX : VPseudoVFREDMINMAX_VS; //===----------------------------------------------------------------------===// // 14.4. Vector Widening Floating-Point Reduction Instructions //===----------------------------------------------------------------------===// -let IsRVVWideningReduction = 1, - hasSideEffects = 0, - mayRaiseFPException = true in { +let IsRVVWideningReduction = 1, hasSideEffects = 0, mayRaiseFPException = true, + hasPostISelHook = 1 in { defm PseudoVFWREDUSUM : VPseudoVFWRED_VS_RM; defm PseudoVFWREDOSUM : VPseudoVFWREDO_VS_RM; } diff --git a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td index 3bd6da286828..994859817014 100644 --- a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td +++ b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td @@ -694,7 +694,7 @@ let Predicates = [HasVendorXCVmem, IsRV32], AddedComplexity = 1 in { def : CVStriPat; def : CVStrriPat; - def : CVStrriPat; + def : CVStrriPat; def : CVStrriPat; def : CVStrrPat; diff --git a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td index 71aa1f19e089..eacc75b9a6c4 100644 --- a/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td +++ b/contrib/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td @@ -217,7 +217,8 @@ let Predicates = [HasVendorXSfvfwmaccqqq], DecoderNamespace = "XSfvfwmaccqqq" in def VFWMACC_4x4x4 : CustomSiFiveVMACC<0b111100, OPFVV, "sf.vfwmacc.4x4x4">; } -let Predicates = [HasVendorXSfvfnrclipxfqf], DecoderNamespace = "XSfvfnrclipxfqf" in { +let Predicates = [HasVendorXSfvfnrclipxfqf], DecoderNamespace = "XSfvfnrclipxfqf", + Uses = [FRM] in { def VFNRCLIP_XU_F_QF : CustomSiFiveVFNRCLIP<0b100010, OPFVF, "sf.vfnrclip.xu.f.qf">; def VFNRCLIP_X_F_QF : CustomSiFiveVFNRCLIP<0b100011, OPFVF, "sf.vfnrclip.x.f.qf">; } @@ -399,7 +400,7 @@ multiclass VPseudoSiFiveVFWMACC { multiclass VPseudoSiFiveVFNRCLIP { foreach i = 0-4 in - let hasSideEffects = 0 in + let hasSideEffects = 0, hasPostISelHook = 1 in defm "Pseudo" # NAME : VPseudoBinaryRoundingModegetType()), 0); Load1Ptr = Load1Ptr->stripAndAccumulateConstantOffsets( DL, Offset1, /* AllowNonInbounds */ true); - Load1Ptr = Builder.CreatePtrAdd(Load1Ptr, - Builder.getInt32(Offset1.getZExtValue())); + Load1Ptr = Builder.CreatePtrAdd(Load1Ptr, Builder.getInt(Offset1)); } // Generate wider load. NewLoad = Builder.CreateAlignedLoad(WiderType, Load1Ptr, LI1->getAlign(), diff --git a/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp b/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp index c235d2fb2a5b..f99f4487c554 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp @@ -1249,8 +1249,9 @@ static BasicBlock *buildClonedLoopBlocks( assert(VMap.lookup(&I) == &ClonedI && "Mismatch in the value map!"); // Forget SCEVs based on exit phis in case SCEV looked through the phi. - if (SE && isa(I)) - SE->forgetValue(&I); + if (SE) + if (auto *PN = dyn_cast(&I)) + SE->forgetLcssaPhiWithNewPredecessor(&L, PN); BasicBlock::iterator InsertPt = MergeBB->getFirstInsertionPt(); diff --git a/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index 746ba51a981f..fd08d5d9d755 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -18596,8 +18596,11 @@ bool SLPVectorizerPass::vectorizeCmpInsts(iterator_range CmpInsts, if (R.isDeleted(I)) continue; for (Value *Op : I->operands()) - if (auto *RootOp = dyn_cast(Op)) + if (auto *RootOp = dyn_cast(Op)) { Changed |= vectorizeRootInstruction(nullptr, RootOp, BB, R, TTI); + if (R.isDeleted(I)) + break; + } } // Try to vectorize operands as vector bundles. for (CmpInst *I : CmpInsts) { diff --git a/lib/clang/include/VCSVersion.inc b/lib/clang/include/VCSVersion.inc index 7624a2e4b17a..a18ba351aaab 100644 --- a/lib/clang/include/VCSVersion.inc +++ b/lib/clang/include/VCSVersion.inc @@ -1,8 +1,8 @@ -#define LLVM_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define LLVM_REVISION "llvmorg-19.1.7-0-gcd708029e0b2" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define CLANG_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define CLANG_REVISION "llvmorg-19.1.7-0-gcd708029e0b2" #define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" -#define LLDB_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define LLDB_REVISION "llvmorg-19.1.7-0-gcd708029e0b2" #define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc index 5104f9d7ad7a..92e55f9316cf 100644 --- a/lib/clang/include/clang/Basic/Version.inc +++ b/lib/clang/include/clang/Basic/Version.inc @@ -1,8 +1,8 @@ -#define CLANG_VERSION 19.1.5 -#define CLANG_VERSION_STRING "19.1.5" +#define CLANG_VERSION 19.1.7 +#define CLANG_VERSION_STRING "19.1.7" #define CLANG_VERSION_MAJOR 19 #define CLANG_VERSION_MAJOR_STRING "19" #define CLANG_VERSION_MINOR 1 -#define CLANG_VERSION_PATCHLEVEL 5 +#define CLANG_VERSION_PATCHLEVEL 7 #define CLANG_VENDOR "FreeBSD " diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc index 6cf430b53591..ef16a34f470a 100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@ -1,4 +1,4 @@ // Local identifier in __FreeBSD_version style #define LLD_FREEBSD_VERSION 1400007 -#define LLD_VERSION_STRING "19.1.5 (FreeBSD llvmorg-19.1.5-0-gab4b5a2db582-" __XSTRING(LLD_FREEBSD_VERSION) ")" +#define LLD_VERSION_STRING "19.1.7 (FreeBSD llvmorg-19.1.7-0-gcd708029e0b2-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --git a/lib/clang/include/lldb/Version/Version.inc b/lib/clang/include/lldb/Version/Version.inc index 5aa1f29215b4..02d44970ff54 100644 --- a/lib/clang/include/lldb/Version/Version.inc +++ b/lib/clang/include/lldb/Version/Version.inc @@ -1,6 +1,6 @@ -#define LLDB_VERSION 19.1.5 -#define LLDB_VERSION_STRING "19.1.5" +#define LLDB_VERSION 19.1.7 +#define LLDB_VERSION_STRING "19.1.7" #define LLDB_VERSION_MAJOR 19 #define LLDB_VERSION_MINOR 1 -#define LLDB_VERSION_PATCH 5 +#define LLDB_VERSION_PATCH 7 /* #undef LLDB_FULL_VERSION_STRING */ diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h index f86e4b6b5946..1968fb5072c9 100644 --- a/lib/clang/include/llvm/Config/config.h +++ b/lib/clang/include/llvm/Config/config.h @@ -338,10 +338,10 @@ #define PACKAGE_NAME "LLVM" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "LLVM 19.1.5" +#define PACKAGE_STRING "LLVM 19.1.7" /* Define to the version of this package. */ -#define PACKAGE_VERSION "19.1.5" +#define PACKAGE_VERSION "19.1.7" /* Define to the vendor of this package. */ /* #undef PACKAGE_VENDOR */ diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h index 966249436723..4ca2d0083398 100644 --- a/lib/clang/include/llvm/Config/llvm-config.h +++ b/lib/clang/include/llvm/Config/llvm-config.h @@ -176,10 +176,10 @@ #define LLVM_VERSION_MINOR 1 /* Patch version of the LLVM API */ -#define LLVM_VERSION_PATCH 5 +#define LLVM_VERSION_PATCH 7 /* LLVM version string */ -#define LLVM_VERSION_STRING "19.1.5" +#define LLVM_VERSION_STRING "19.1.7" /* Whether LLVM records statistics for use with GetStatistics(), * PrintStatistics() or PrintStatisticsJSON() diff --git a/lib/clang/include/llvm/Support/VCSRevision.h b/lib/clang/include/llvm/Support/VCSRevision.h index db3347a0e5a5..76aa3f075586 100644 --- a/lib/clang/include/llvm/Support/VCSRevision.h +++ b/lib/clang/include/llvm/Support/VCSRevision.h @@ -1,2 +1,2 @@ -#define LLVM_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define LLVM_REVISION "llvmorg-19.1.7-0-gcd708029e0b2" #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" From nobody Sun Jan 19 19:31: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 4Ybk9v6cDfz5lcjw; Sun, 19 Jan 2025 19:31:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ybk9v5TTKz40Xy; Sun, 19 Jan 2025 19:31:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737315107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=orbfZUCUSuFLDjWfA4b6LJOlq2YuUNdiaEKQaRTFxMw=; b=OGwT/HWidIrK1eIM0qpXARtsjtyt1pCctwq4fOxEY+T9KnDD6RrYqnE05uewUg4BetRht+ TXG+Ke5J+xk7Unv8CVR3NKV3uSM2es+Waco7VJW/85HpDdWpCooI+Eclhj44nG3aMrRscf IPiK8vRQ2RR+QzjfGTl3l1lBxxGNegNy98gPtCeJjKeja36TS2ubbyzPPVQPI2OoOcfLO8 nVy74yYw8inDbq5ZoCAsnqjvmaNoTby3rBl5DnRxO0LA7TeYAgP7+HbAD/eYPVNxM+qa7+ 0c1CCpWff97wj01S8Lnb5fUDRf0QdVw9LWz+OQA3+CSxAkdNEZ6y8T7ySX8NgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737315107; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=orbfZUCUSuFLDjWfA4b6LJOlq2YuUNdiaEKQaRTFxMw=; b=Bu0+2Sn66Cm766iVA01mSVEFQ+t3TeGkcsZVx/00KQcCVBJXh18YPKm6SBB0Xi4P25kMi1 9FHFV4eH+XDPE5wum/R6husUzf71i33Qq/TVojIfSzoRDxk6Y634stKy9s1+TjB0uqleXV tE2Z21M0218mPtvRlPPs9aS0iconPDq/ee2gKIYK5J16fUqMLKbqTiEoOZxsmFG/2dVAbe K61br1U6oDxuDI5EsQcuAv5uB6V5iq42UJlvCes+T19zyMYvW6x/Duq/LFHJVgLKV1pL0x b3+v/P1iXJQriSiVw+RBEaaCpDu7PJfm+VgC1a3XiK3KY2otbgcAJ1TPijUX8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737315107; a=rsa-sha256; cv=none; b=yi1eyatdtnd1y6hFNJuSnLzlBWnESV5JMi+rEd1+vcDzeTHONolqNVAxe8OiVWFyxVX+r0 7jw0RqZg0DNCpcgWKwYzTijetEwHYq1U+PL0AbxyIW/6stsI8F/ufqpzuv0cxnpv3kZa11 ahLLOpa6akeRlY4TobzpPquRbnDSFPa1qmt9G1UMNjsbSvD/6rRbQhgU0Mb96ohNlwo34S 5LrVhz9uIv9XVha0ZvYMufzTSDdNWzMqX/f85HeorxoQlnwn0523LBYZsVzEaS1GaI460h /ntALv6IsTldWGy5rC26uJQWhapY+K5GNXr3WJiA6m3dVCIXb+DAxj7l/BanrA== 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 4Ybk9v52Xsz13Lq; Sun, 19 Jan 2025 19:31: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 50JJVlp9075564; Sun, 19 Jan 2025 19:31:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50JJVled075561; Sun, 19 Jan 2025 19:31:47 GMT (envelope-from git) Date: Sun, 19 Jan 2025 19:31:47 GMT Message-Id: <202501191931.50JJVled075561@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: f31dbc1c2dc5 - stable/14 - timeout(1): Add -v/--verbose option to show diagnosis info 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: f31dbc1c2dc54d1006186bca137b1c4ed2169f91 Auto-Submitted: auto-generated The branch stable/14 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=f31dbc1c2dc54d1006186bca137b1c4ed2169f91 commit f31dbc1c2dc54d1006186bca137b1c4ed2169f91 Author: Gordon Bergling AuthorDate: 2025-01-04 08:52:56 +0000 Commit: Gordon Bergling CommitDate: 2025-01-19 19:30:13 +0000 timeout(1): Add -v/--verbose option to show diagnosis info The -v/--verbose option enables this utility to show diagnosis info to stderr about any signal sent on timeout. This implementation refers to GNU coreutils's timeout(1). Reviewed by: bapt, Alexander Ziaee (manpages) Approved by: bapt (src) Obtained from: DragonFlyBSD Differential Revision: https://reviews.freebsd.org/D48225 (cherry picked from commit d633a7d12105a54551622882f4eee80a13a1445a) --- bin/timeout/timeout.1 | 6 ++++-- bin/timeout/timeout.c | 28 +++++++++++++++++++++++----- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/bin/timeout/timeout.1 b/bin/timeout/timeout.1 index b8ec3030b271..1a5fd95a6256 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 December 28, 2024 +.Dd January 4, 2025 .Dt TIMEOUT 1 .Os .Sh NAME @@ -34,7 +34,7 @@ .Nm .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 v | Fl -verbose .Op Fl -foreground .Op Fl -preserve-status .Ar duration @@ -76,6 +76,8 @@ Specify the signal to send on timeout. By default, .Dv SIGTERM is sent. +.It Fl v , Fl -verbose +Show information to stderr about any signal sent on timeout. .It Fl -foreground Do not propagate timeout to the children of .Ar command . diff --git a/bin/timeout/timeout.c b/bin/timeout/timeout.c index 3803aeeca883..68abb28e2c50 100644 --- a/bin/timeout/timeout.c +++ b/bin/timeout/timeout.c @@ -49,14 +49,17 @@ static sig_atomic_t sig_chld = 0; static sig_atomic_t sig_term = 0; static sig_atomic_t sig_alrm = 0; static sig_atomic_t sig_ign = 0; +static const char *command = NULL; +static bool verbose = false; static void usage(void) { fprintf(stderr, "Usage: %s [-k time | --kill-after time]" - " [-s sig | --signal sig] [--foreground] [--preserve-status]" - " \n", getprogname()); + " [-s sig | --signal sig] [-v | --verbose] [--foreground]" + " [--preserve-status] \n", + getprogname()); exit(EXIT_FAILURE); } @@ -146,6 +149,16 @@ sig_handler(int signo) } } +static void +send_sig(pid_t pid, int signo) +{ + if (verbose) { + warnx("sending signal %s(%d) to command '%s'", + sys_signame[signo], signo, command); + } + kill(pid, signo); +} + static void set_interval(double iv) { @@ -196,10 +209,11 @@ main(int argc, char **argv) { "kill-after", required_argument, NULL, 'k'}, { "signal", required_argument, NULL, 's'}, { "help", no_argument, NULL, 'h'}, + { "verbose", no_argument, NULL, 'v'}, { NULL, 0, NULL, 0 } }; - while ((ch = getopt_long(argc, argv, "+k:s:h", longopts, NULL)) != -1) { + while ((ch = getopt_long(argc, argv, "+k:s:vh", longopts, NULL)) != -1) { switch (ch) { case 'k': do_second_kill = true; @@ -208,6 +222,9 @@ main(int argc, char **argv) case 's': killsig = parse_signal(optarg); break; + case 'v': + verbose = true; + break; case 0: break; case 'h': @@ -226,6 +243,7 @@ main(int argc, char **argv) first_kill = parse_duration(argv[0]); argc--; argv++; + command = argv[0]; if (!foreground) { /* Acquire a reaper */ @@ -316,7 +334,7 @@ main(int argc, char **argv) procctl(P_PID, getpid(), PROC_REAP_KILL, &killemall); } else - kill(pid, killsig); + send_sig(pid, killsig); if (do_second_kill) { set_interval(second_kill); @@ -333,7 +351,7 @@ main(int argc, char **argv) procctl(P_PID, getpid(), PROC_REAP_KILL, &killemall); } else - kill(pid, sig_term); + send_sig(pid, sig_term); if (do_second_kill) { set_interval(second_kill); From nobody Sun Jan 19 23:54: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 4Ybr0p6Xc4z5lt7x; Sun, 19 Jan 2025 23:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ybr0p5THnz3Zwr; Sun, 19 Jan 2025 23:54:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737330858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOZTE/hKGUJvG512YViQRSQKjW6RW0rMElVvbd+0isk=; b=wlNZHBmcBSefndNhOlQfXb36nj9aKFItJmZQGw4YNZ/c4MzSEnyn1dhWYgud+oWf0ka5ZP hGGrrzvYf9sRnHCXmtRk5HRON/LDW0Z5CNWR104qWsiGaCbWwhV1+RVCNJfqLZXKoobC3v EYDnyyiksIp+qunAHbGc0UddzhE8u1kNli/w40O8B3Xzq9K9ViC7nfnmyOdcQom2JA+qP9 Pd5I8sN2kJn1rdXUXLju30jkLTEwgYI7jMGjZPEzIpknc/YQL8TN7KIJc+wXhppgtBFK1m RwZiQCMGhvxT6QSc6IkunnyGz1V9lMPpOkQEROACHzFgLmqnCYdX+c+7D0s9PA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737330858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EOZTE/hKGUJvG512YViQRSQKjW6RW0rMElVvbd+0isk=; b=dBByQy3PzyfzfjDvpBWKP0l4pft7kj6+pFlQ0dhvwoZY5sqW9KZXLFkf1Kji/fPSKT4ff8 CKb1Rx9xEfg35r64yEz0EV2pXcms8zlec/ZTGip6MnLBaM8WnHhF9NyNZCme7uI0scEf6p ITfX+5DAIlMGqXvgoIMmme4n9dgvcz3+pIp824MonqQZBb5r7IdPnwoSu6sQbt1PfJh4jk oOH+/OfPeZ9FoxqJaI5H1kG/B3loHRRvJYOvvU7bC0D/31C0ZStrWaDxnoMhyzwX1quUui VbCOM7DiCocOcBHOEc+ilaCTl6lONDE+zx9VSCQow7aa61oYoxB/gRmjGKbUUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737330858; a=rsa-sha256; cv=none; b=pRNoFN8mW86ewkhELuYrgg46iFWzgAn05T8Ag7DB0kBpj8q5OpVnzhfg8bxw1BFueP0olT /Ffu+hbNz6FtzCCBZuBnnobUYZGrREjvohFoBRd+7aw3e99NYyCqR7DvUjnbpRnCVWwEwZ KQWIKpF6BclbiLpjz2bwV4cKXOC86PTTon6+hHEBrpWYzHuMjm6n7mg+ChR1kOnhY1dB5b Utg5Mtnh1rIuiNsmqXZqxBXUqDZSpfGrIszevg72rCil11sprJXz2njw6yDnWAnoWftVXm NkoZG/Ji//b3J/P2qyqAAYP6c1a2xns0LfMJ+OdZv/+2BCcCqd9H0KLhoVySgA== 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 4Ybr0p52vLz1BC3; Sun, 19 Jan 2025 23:54: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 50JNsIuw060822; Sun, 19 Jan 2025 23:54:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50JNsIZ9060819; Sun, 19 Jan 2025 23:54:18 GMT (envelope-from git) Date: Sun, 19 Jan 2025 23:54:18 GMT Message-Id: <202501192354.50JNsIZ9060819@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: ead3cd3ef628 - stable/14 - mountd.c: Define a new -a command line option List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: ead3cd3ef628ab11e814eea7c673eb6407f96c55 Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=ead3cd3ef628ab11e814eea7c673eb6407f96c55 commit ead3cd3ef628ab11e814eea7c673eb6407f96c55 Author: Rick Macklem AuthorDate: 2024-12-28 21:24:51 +0000 Commit: Rick Macklem CommitDate: 2025-01-19 23:52:48 +0000 mountd.c: Define a new -a command line option Bugzilla PR#282995 reported that, when a file system was exported with the "-alldirs" flag, the export succeeded even if the directory path was not a server file system mount point. This behaviour for "-alldirs" was only documented in the Example section of exports(5) and had not been enforced since FreeBSD2. (A patch applied between FreeBSD1 and FreeBSD2 broke the check for file system mount point.) Since the behaviour of allowing the export has existed since FreeBSD2, the concensus on a mailing list was that it would be a POLA violation to change it now. Therefore, this patch adds a new "-a" mountd command line option to enforce a check for the exported directory being a server file system mount point. PR: 282995 (cherry picked from commit 07cd69e272da2f116950f2bde6dfcc404f869f0c) --- usr.sbin/mountd/mountd.c | 51 +++++++++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 20055d885b08..f412adbe741e 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -228,7 +228,8 @@ static int do_export_mount(struct exportlist *, struct statfs *); static int do_mount(struct exportlist *, struct grouplist *, uint64_t, struct expcred *, char *, int, struct statfs *, int, int *); static int do_opt(char **, char **, struct exportlist *, - struct grouplist *, int *, uint64_t *, struct expcred *); + struct grouplist *, int *, uint64_t *, struct expcred *, + char *); static struct exportlist *ex_search(fsid_t *, struct exportlisthead *); static struct exportlist *get_exp(void); static void free_dir(struct dirlist *); @@ -303,6 +304,7 @@ static int *sock_fd; static int sock_fdcnt; static int sock_fdpos; static int suspend_nfsd = 0; +static int alldirs_fail = 0; static int opt_flags; static int have_v6 = 1; @@ -331,6 +333,7 @@ static gid_t *tmp_groups = NULL; #define OP_MASKLEN 0x200 #define OP_SEC 0x400 #define OP_CLASSMASK 0x800 /* mask not specified, is Class A/B/C default */ +#define OP_NOTROOT 0x1000 /* Mark the the mount path is not a fs root */ #ifdef DEBUG static int debug = 1; @@ -469,7 +472,7 @@ main(int argc, char **argv) else close(s); - while ((c = getopt(argc, argv, "2Adeh:lnp:RrS")) != -1) + while ((c = getopt(argc, argv, "2Aadeh:lnp:RrS")) != -1) switch (c) { case '2': force_v2 = 1; @@ -477,6 +480,9 @@ main(int argc, char **argv) case 'A': warn_admin = 0; break; + case 'a': + alldirs_fail = 1; + break; case 'e': /* now a no-op, since this is the default */ break; @@ -1592,6 +1598,7 @@ get_exportlist_one(int passno) v4root_phase = 0; dirhead = (struct dirlist *)NULL; unvis_dir[0] = '\0'; + fsb.f_mntonname[0] = '\0'; while (get_line()) { if (debug) @@ -1652,7 +1659,7 @@ get_exportlist_one(int passno) warnx("doing opt %s", cp); got_nondir = 1; if (do_opt(&cp, &endcp, ep, grp, &has_host, - &exflags, &anon)) { + &exflags, &anon, unvis_dir)) { getexp_err(ep, tgrp, NULL); goto nextline; } @@ -1733,19 +1740,9 @@ get_exportlist_one(int passno) fsb.f_fsid.val[1]); } - if (warn_admin != 0 && - (ep->ex_flag & EX_ADMINWARN) == 0 && - strcmp(unvis_dir, fsb.f_mntonname) != - 0) { - if (debug) - warnx("exporting %s exports entire " - "%s file system", unvis_dir, - fsb.f_mntonname); - syslog(LOG_ERR, "Warning: exporting %s " - "exports entire %s file system", - unvis_dir, fsb.f_mntonname); - ep->ex_flag |= EX_ADMINWARN; - } + if (strcmp(unvis_dir, fsb.f_mntonname) != + 0) + opt_flags |= OP_NOTROOT; /* * Add dirpath to export mount point. @@ -1815,6 +1812,17 @@ get_exportlist_one(int passno) "WARNING: No mask specified for %s, " "using out-of-date default", (&grp->gr_ptr.gt_net)->nt_name); + if ((opt_flags & OP_NOTROOT) != 0 && warn_admin != 0 && + (ep->ex_flag & EX_ADMINWARN) == 0 && unvis_dir[0] != '\0' && + fsb.f_mntonname[0] != '\0') { + if (debug) + warnx("exporting %s exports entire %s file " + "system", unvis_dir, fsb.f_mntonname); + syslog(LOG_ERR, "Warning: exporting %s exports " + "entire %s file system", unvis_dir, + fsb.f_mntonname); + ep->ex_flag |= EX_ADMINWARN; + } if (check_options(dirhead)) { getexp_err(ep, tgrp, NULL); goto nextline; @@ -2838,7 +2846,7 @@ parsesec(char *seclist, struct exportlist *ep) */ static int do_opt(char **cpp, char **endcpp, struct exportlist *ep, struct grouplist *grp, - int *has_hostp, uint64_t *exflagsp, struct expcred *cr) + int *has_hostp, uint64_t *exflagsp, struct expcred *cr, char *unvis_dir) { char *cpoptarg, *cpoptend; char *cp, *endcp, *cpopt, savedc, savedc2; @@ -2923,6 +2931,12 @@ do_opt(char **cpp, char **endcpp, struct exportlist *ep, struct grouplist *grp, syslog(LOG_ERR, "= after op: %s", cpopt); return (1); } + if ((opt_flags & OP_NOTROOT) != 0) { + syslog(LOG_ERR, "%s: path %s not mount point", + cpopt, unvis_dir); + if (alldirs_fail != 0) + return (1); + } opt_flags |= OP_ALLDIRS; } else if (!strcmp(cpopt, "public")) { if (fnd_equal == 1) { @@ -3319,7 +3333,8 @@ do_mount(struct exportlist *ep, struct grouplist *grp, uint64_t exflags, ret = 1; goto error_exit; } - if (opt_flags & OP_ALLDIRS) { + if ((opt_flags & OP_ALLDIRS) && + alldirs_fail != 0) { if (errno == EINVAL) syslog(LOG_ERR, "-alldirs requested but %s is not a filesystem mountpoint", From nobody Sun Jan 19 23:58:50 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 4Ybr626RjPz5ltYR; Sun, 19 Jan 2025 23:58: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 4Ybr6233dGz3ZkL; Sun, 19 Jan 2025 23:58:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737331130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HFAMaFa4zJbgM3j2UGLgXbelg8MjZ4WctHvM2KecyG0=; b=cnAif1JoF3hpTEhw6nf7EkskIPehgdzBpQqeotWZZmbIpOok+MfdJ4mmGZAaOhseEth02x 5mcfumNMzHb4IPD9xlKTcvLKbFhosZp7OXj2896+ef8rmu7YpObpfz81iABTynKpaA4sMI BCrygRKEcA0zhFUbHfDQIQ00eXIYuXKha/2yDGQxfCC/VXDcIdQ8eyMbTbnv4mA+/GYbrh RqZZfkDsUMFLbUk0W6BLinPnm2t3+oz6ErOi85CrCKEDPCgJl0S9d9K7da20+GePLGk3MS qXS9EKN7Ki9pXAlPplFny1RkECWYfm4J8Wn3x7Lz+0MlinIbTdFSoWOnfeuY5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1737331130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HFAMaFa4zJbgM3j2UGLgXbelg8MjZ4WctHvM2KecyG0=; b=TVnSx/imoEEc90O/M60nj32L8OsMVWmuajOAkP6YUMhLcZogfoUtP5Hjl2yGBmRX/RBqal qYZA+unAQNH3QKyDPB4IQvWx+mj5i7T+aalsAIQqaHF7C4OAa6CKWP5/NS/yz7+HcE9AqQ Lbt/qRji+PPpp245CU3kkN1scceA5Bwj+zP0Z9UGyXizPyfOVdfvDDQOFpU4eOD3RbOvWU /lCOiU8SdZfe/j3YeXP8xIieSwgmK/wWRavIk69Idxe+6SLv6k2xIumcsr6JB//LuCwVIZ HGBrMZ3xiG4LSJYNfTm+3Ie7gFNSqryklWygj1g+uqi2ZzSMXer2zsL5y2tPug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1737331130; a=rsa-sha256; cv=none; b=lEMD1H60sPy3az+vCSe35UygsApsLlOQVG9Vs8cVwogBR/VgsQ6XMUE4xB9Wma34jqTHZ5 VDsjscm8dDwnCKUcISwyhu2GIDzMCcfPyIu6FDq/0dpm2Q7vZwOyukhaSLTgL34tS6qike r25EEKONfAmQdxPeLYppCNvfpSOvUo+4JYONwMSxrrKeOLA6yGGakeLEEPAXHAZriJ90X+ GUcjTfecHk2DIY+xWwvFYMrol7JmIa/CUzdPbhTabd3afKD0SNrKcQ2gI6soAba6FHHMYU QYzW4efm9Sy3V6g9jB3Ibag2vCpG+3jgVZUVt0gdA49bE4e8IFALrA+ay/cwSg== 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 4Ybr622XFvz1B2Y; Sun, 19 Jan 2025 23:58:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50JNwoM0062247; Sun, 19 Jan 2025 23:58:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50JNwodA062244; Sun, 19 Jan 2025 23:58:50 GMT (envelope-from git) Date: Sun, 19 Jan 2025 23:58:50 GMT Message-Id: <202501192358.50JNwodA062244@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Rick Macklem Subject: git: 3ac1af1c0f07 - stable/14 - mound.8: Document the new -a command line option List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 3ac1af1c0f07dbef049d42830732979ee35b3618 Auto-Submitted: auto-generated The branch stable/14 has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=3ac1af1c0f07dbef049d42830732979ee35b3618 commit 3ac1af1c0f07dbef049d42830732979ee35b3618 Author: Rick Macklem AuthorDate: 2024-12-28 21:30:56 +0000 Commit: Rick Macklem CommitDate: 2025-01-19 23:58:13 +0000 mound.8: Document the new -a command line option Commit 07cd69e272da adds a new "-a" mountd option. This patch updates the man page for it. This is a content change. PR: 282995 (cherry picked from commit 6db916d21a09aebf3e7cb5c95e2ad714ab2b8882) --- usr.sbin/mountd/mountd.8 | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/usr.sbin/mountd/mountd.8 b/usr.sbin/mountd/mountd.8 index 3eff5d598fe7..015f54729fdf 100644 --- a/usr.sbin/mountd/mountd.8 +++ b/usr.sbin/mountd/mountd.8 @@ -27,7 +27,7 @@ .\" .\" @(#)mountd.8 8.4 (Berkeley) 4/28/95 .\" -.Dd April 8, 2024 +.Dd December 16, 2024 .Dt MOUNTD 8 .Os .Sh NAME @@ -37,7 +37,7 @@ mount requests .Sh SYNOPSIS .Nm -.Op Fl 2AdelnRrS +.Op Fl 2AadelnRrS .Op Fl h Ar bindip .Op Fl p Ar port .Op Ar exportsfile ... @@ -72,6 +72,17 @@ actually exports the entire local file system and not just the subtree below the directory exported. (See .Xr exports 5 ) +.It Fl a +Enforce the check for an exported directory being a file +system mount point, if the +.Fl -alldirs +option is specified in +.Xr exports 5 +for the export file line. +With this option, the exports line will fail, whereas +without this option, a warning will be generated by +.Xr syslog 8 , +but the export will be done. .It Fl d Output debugging information. .Nm @@ -235,7 +246,8 @@ the current list of remote mounted file systems .Xr jail 8 , .Xr nfsd 8 , .Xr rpcbind 8 , -.Xr showmount 8 +.Xr showmount 8 , +.Xr syslog 8 .Sh HISTORY The .Nm