From nobody Mon Apr 21 00:36:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgmdm5Zpwz5scDg; Mon, 21 Apr 2025 00:36:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zgmdm1bK6z3Rwf; Mon, 21 Apr 2025 00:36:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745195804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4WSsRiG2NoZql9cgWuqtZyre/fj9PTY2P8su+V2qnHs=; b=c4MvpNt0RFSsozTxYHRiWL0wwrTvIYR6A7mNUPfmZi7Vo2AzNo6PHIZCXQCajoRbSXadUk EN6/LNHA6SXKDj9gC4Vph9LrDZ2M07lRzGYyv2e6TCZGKyK6kgar7IcDVdU1VP3pDCxoTw e3gBPJv+h+Gr/HJnECPZIqUdFh/X/D38/dlP1Z2uul/xHqoPfQswfq7Gv7N3P9BOZzakQj 8TTMaECqVaeD6YXgelq8G569IlSyv2YWJt0TccK2fE5SWZXC2aHOXgRwtAWu2HhN9kJC0H H++zZF5oddJeITJJot4B1NcoIjcIPp2V1rLokEArGjWccioaX42PVUg1zK0Ofw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745195804; a=rsa-sha256; cv=none; b=udWT/eDtKIOKibnzc4NVibdgQGqZlukynzEWLdJ7FKAanHJ9CDAS0Ze/NNjpuHoCvMF3RM Bxmek1Il/EONQUfNDo7+B6/363v9L7bpFR1CEWgMUr9QxxFKSMIk+BIqJO12TeRJB1Yph1 7pTdt0ZpVlMpiryseYluXVSJjKAjSGtbNcerktaRghzGx2HWO4Lk+Qb5FrImWJRFHCk2lS Nk4XqwsA0P8pS4x5/9MT6G2P0VcIDSX6ivPkeRfMNtpZt7M4pQ1jJClQzb6b47VWpgVYZs VkKZLHZpUnFc3309gVaQqeNGYWILld1kF+1ZR/6bC1JAuJbXN6pFgZXqa4OFRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745195804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4WSsRiG2NoZql9cgWuqtZyre/fj9PTY2P8su+V2qnHs=; b=fYugclfrAnM6eGyxww7D7UraZaJnMXKqTQyZ1SX7v2J9OeABwY5egPV4EwPp9rDYCZmRpO 7yo/umX89GEx44A2bde9Dtfd7RSA0YY16vCDACIvxoO4EALY2zaQh9fvzRRew0QIFf/drG mFOBuBuFIeM0TuGQ+dQaPn/0xMhR37J9TGZdBOvy0a0uSmVT3k8+3fVlSWtxksLy+JX80L tOjw2IrMnSFwMVrAnp+z8nm5kY7hqPmAfy69GBxemrm3R0R5xtfL0V3FmuhMPqVQ72uQkC qCYJX3MhbMaUf0eW0obyRpnM2WFF7m9g8TbZjuX1gjlDoBi0IuAXzh2606qcEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgmdm0vs8zBSV; Mon, 21 Apr 2025 00:36: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 53L0ahuH003597; Mon, 21 Apr 2025 00:36:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L0ahBj003594; Mon, 21 Apr 2025 00:36:43 GMT (envelope-from git) Date: Mon, 21 Apr 2025 00:36:43 GMT Message-Id: <202504210036.53L0ahBj003594@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 8b40faed6697 - main - vm_object: fix vm_object_split typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b40faed66973bd6efb5f5c6335a5c3017e38e52 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=8b40faed66973bd6efb5f5c6335a5c3017e38e52 commit 8b40faed66973bd6efb5f5c6335a5c3017e38e52 Author: Doug Moore AuthorDate: 2025-04-21 00:35:13 +0000 Commit: Doug Moore CommitDate: 2025-04-21 00:35:13 +0000 vm_object: fix vm_object_split typo Take the address of the iterator. Reported by: jkim Fixes: 67f5db4dacfd ("vm_object: use iterators in split()") --- sys/vm/vm_object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 6291381ce6b4..bb9cb6b6f554 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1657,7 +1657,7 @@ retry: */ swap_pager_copy(orig_object, new_object, offidxstart, 0); vm_page_iter_init(&pages, new_object); - VM_RADIX_FOREACH(m, pages) + VM_RADIX_FOREACH(m, &pages) vm_page_xunbusy(m); vm_object_clear_flag(orig_object, OBJ_SPLIT); From nobody Mon Apr 21 00:40:14 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgmjq1Wcjz5sc3y; Mon, 21 Apr 2025 00:40: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zgmjp5Lr2z3TVH; Mon, 21 Apr 2025 00:40:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745196014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bvd25kpmNPpDQNB+B1ICmjBb5J2DjlSAnIlAuW3e5QI=; b=OAqUQ+mjUGyRL+Ml2f5hctFfmslAsD5sslZom30k8ILjBwxMlXqrVFzrEzq1tKQKMu+Ohh y2YpF2nPLGoPB3ko3wz3fh2z1nleyxyrU+ldQl58r0kLjSs/6w+tkxGqxdubzXWUoDx7Ml lH282iGvk58ps0zM2LFwMNTjfW/HpJEViRXeYb5vZbVoqkcQLotSLuzCIm5FrDKI9pIKWB p9bEmp3AcbZdXhiPWbdTrRMOtGPxEeAxICUV3vdUXNRF3tGCp+0DaMqIGR3IsVy9xsPaU9 q1xY9T9QogZ3vHkobcILEFFMQ9euWy15XiBm9G1st++0ZfbZvvOZ+Z3A2Owcnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745196014; a=rsa-sha256; cv=none; b=Tmq0YNgJdimxE1qa+Li3jwC42LYA72p29c5SQpTFpL3Tjeo1FRJB8wsg5StC9iVMJOk3RV n6X2TKerLuVcqP1D8rj0dqFz+mbmkm/hFcxtj7Dyouel9vyE1vhWmnSkM8rcQe33B2gDAE Zro0aLiSZ0HZDceq32P+TfIKlEnFpTiZo4o4N8RZo2pD9iQHOWiXvIXxj5O1CJepqPRbqj BTjz3tV1HV2F/og8nDdzEnNxjotFCLg0Y2kkF4uAjuVDfYgcvrL4rzYuQiRdVYPajH94B3 AmKWhhkcrFMqJuNMc90nsETRriaV38VNnEYUaP1YCW6cXX1/BvdEpVbxWfHFtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745196014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bvd25kpmNPpDQNB+B1ICmjBb5J2DjlSAnIlAuW3e5QI=; b=V47VnMIHtEnCJNLFnaXZvQAXch8glFZq6+l3KviNPDfT7qOkmiObc+YtAzXWBZoMi/8HMh EZdTyzjutiMQe6rJItrhNewb+wXg/s49cjR82ARUbZB66AZZVQpzXvUFd45sG1u7juoQoZ aRFm6Dm6f3YNOqxQ7QsY+7Qpp3hTfZn0S1DErZ2VUNrzcIKZCbQHReV/pIGMyxQHoaSkfR FYsYfFjoAFMQcz8bOBwmr8EC/PcVntiXZopgBvJSfp5m4s4c0tbRMFarDwuZbRNDP25SCF 2CnSU0dRzjJvt3F6t3jXkc588gzv35LycgMstLoSrja3LnoZzDkp/Iijqn6wNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgmjp4bNFzBVV; Mon, 21 Apr 2025 00:40: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 53L0eE6q011245; Mon, 21 Apr 2025 00:40:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L0eEDu011236; Mon, 21 Apr 2025 00:40:14 GMT (envelope-from git) Date: Mon, 21 Apr 2025 00:40:14 GMT Message-Id: <202504210040.53L0eEDu011236@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 3a0eb293164e - main - rc.subr: add 'settime' to svcj options List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3a0eb293164eb3badd2f45e835acd6f16518df93 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=3a0eb293164eb3badd2f45e835acd6f16518df93 commit 3a0eb293164eb3badd2f45e835acd6f16518df93 Author: Lexi Winter AuthorDate: 2025-04-20 21:37:19 +0000 Commit: Lexi Winter CommitDate: 2025-04-21 00:38:29 +0000 rc.subr: add 'settime' to svcj options _svcj_options="settime" enables the jail allow.settime privilege, which allows to set and slew the system clock. this allows NTP daemons to run in a service jail. Reviewed by: jamie, kevans, des, #jails, #manpages Approved by: kevans (mentor) Differential Revision: https://reviews.freebsd.org/D49845 --- libexec/rc/rc.subr | 3 +++ share/man/man5/rc.conf.5 | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index 29ed0eb05824..c74cbcef9d62 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -1259,6 +1259,9 @@ run_rc_command() nfsd) _svcj_cmd_options="allow.nfsd enforce_statfs=1 ${_svcj_cmd_options}" ;; + settime) + _svcj_cmd_options="allow.settime ${_svcj_cmd_options}" + ;; sysvipc) _svcj_sysvipc_x=$((${_svcj_sysvipc_x} + 1)) _svcj_cmd_options="sysvmsg=inherit sysvsem=inherit sysvshm=inherit ${_svcj_cmd_options}" diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 1086fe01a0e8..e58a1f5001b5 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 April 14, 2025 +.Dd April 20, 2025 .Dt RC.CONF 5 .Os .Sh NAME @@ -5009,6 +5009,8 @@ allows to open raw sockets, and allows to open sockets of protocol stacks that have not had jail functionality added to them. .It nfsd Allows to run nfsd and affiliated daemons. +.It settime +Allows to set and slew the system time. .It sysvipc Inherits the SysV semaphores, SysV shared memory and SysV messages from the host or the parent jail. From nobody Mon Apr 21 03:10:20 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgr310DcXz5smv3; Mon, 21 Apr 2025 03:10:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zgr303wfFz3w10; Mon, 21 Apr 2025 03:10:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745205020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Nu2x/pXFmybexsWeAXdp2pBf38Lzs3ufPcSTccQunw=; b=g6bmMz6q40dJaMdBw5M7lsITg5zNDPbeARWmdX6OHUa/FZ5S/ORYWOXGc/jrjZzZoD2zDn Fpf2GJUsoYOOBM9EvzP5tBBF07a1uxfin8uzX596GxhAS3Q6uUP2mQdRi2cDa/Cy596CIV uc7/whoBVUp7wLw8VuqY8m4SrVd7Q8TUGyr+Hxjq2SlHdKNAztJa4czQnPfiJk6ItGLmRv ZeAHLK3oUgFcUbnTKtNy9I2uJxM51r53nxiA1sNhCFUEk9ppdqPxpWChVD0rkO+cNGKEPi /nDQT5MA/cBMs/J/HD7i6cNgyLMZxZmfrqeAcEU1DOietSbU9zTXFVO4lYohNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745205020; a=rsa-sha256; cv=none; b=hPm+IT7XMYvtSjgEPXpCxyqfAK+Wax06dHNrQC7XzCPB6OR/IC9T85+uWL6TyPSWhbSoj5 QAxRwQKi2aDsxMDTMDemT7lvx5fRnb5HkYjk6DaYwVy8LH4nS59xbwM1j2q8oX+z9Y2MGQ SYUXuYBwbOjTPlozZyPsPlMFXZizgv0bmdTpAtrYVhY61XSIaSU/7QWJptlHRzECl3f21H OcNpMJjeApMVfpVfXZehFmO+Blbvk9f0hPdDL8Sqi8XTVZLf4Cg2kmsd/PL254Ic6bXMWl eHavhIAhbpShMq2cG6ksOmjwOCtC4gwAY+pwn+bY2Wmg5mXoN5fyTvrViWPMtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745205020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0Nu2x/pXFmybexsWeAXdp2pBf38Lzs3ufPcSTccQunw=; b=FMQoG7DHCjVD9D9AovupY4i7zS+JhjB5uLqZLBJ3NGjZTkDDLCW+H9zz4AuP3qpOZCHX/a qK6t75kD3QRoqg6ItPUawN/6y5eRkj98SG2XQoOZf5+quhjnTzXsqIcKuqBzoJMvXMAj/T D3c0cUogHrnuZcI2jYeOL5U92761TL+z80ybjkCpWmfyjs6V5L9BxxlSS9FplyuM2wA9OG FCIeCeN+mQhiVmuKx/9jQ/x+TxbTPLkc9IyPRT1LxPeX2YLV9j334ygDIsHgPZVxG92Ge/ XILQGqE6tnxZh+zrWfUBpm5oR4/qodvU9fgSjCBb1mulSRaS2c2xGUc25VSFuA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgr303TzmzYMk; Mon, 21 Apr 2025 03:10: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 53L3AKoV096795; Mon, 21 Apr 2025 03:10:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L3AKd9096792; Mon, 21 Apr 2025 03:10:20 GMT (envelope-from git) Date: Mon, 21 Apr 2025 03:10:20 GMT Message-Id: <202504210310.53L3AKd9096792@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 0d238bc50d45 - main - wireguard-tools: ipc: freebsd: use AF_LOCAL for the control socket List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d238bc50d453d7ac29476fa71edd1fc9a5fbbf9 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=0d238bc50d453d7ac29476fa71edd1fc9a5fbbf9 commit 0d238bc50d453d7ac29476fa71edd1fc9a5fbbf9 Author: Kyle Evans AuthorDate: 2025-04-21 03:08:17 +0000 Commit: Kyle Evans CommitDate: 2025-04-21 03:10:16 +0000 wireguard-tools: ipc: freebsd: use AF_LOCAL for the control socket AF_INET assumes that IPv4 is built into the kernel, but it's completely valid to build a kernel without it. unix(4) sockets, on the other hand, are not-optional in the kernel build. Given that interface ioctls can be invoked on any kind of socket, switch to the safer one to avoid breaking on IPv6-only kernels. Reported and tested by: ivy MFC after: 3 days --- contrib/wireguard-tools/ipc-freebsd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/wireguard-tools/ipc-freebsd.h b/contrib/wireguard-tools/ipc-freebsd.h index fa74edda5a3d..446f13cacac2 100644 --- a/contrib/wireguard-tools/ipc-freebsd.h +++ b/contrib/wireguard-tools/ipc-freebsd.h @@ -15,7 +15,7 @@ static int get_dgram_socket(void) { static int sock = -1; if (sock < 0) - sock = socket(AF_INET, SOCK_DGRAM, 0); + sock = socket(AF_LOCAL, SOCK_DGRAM, 0); return sock; } From nobody Mon Apr 21 03:10:40 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgr3P22Gdz5snBQ; Mon, 21 Apr 2025 03:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zgr3P0MMgz3wNY; Mon, 21 Apr 2025 03:10:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745205041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yiSxgKGNnWO8AMRygjzlV4Z5+BgL86Cpr9+zcvwYSes=; b=cCZ8cx1zDOYqedUTGPRO6f/pFUjQq1eJzBcmdXnjq2SSYZHj8B/e99hShGWXN9RDJkw0Sp dKvgS3+zjZyktpSoLqL+qvAcFLLLDkxNErOkE+0BgpPoW33RNufyzdeBM6Raflg9jY1ktv XLbKk+zt3Gjq6Pe27k7+hovN2ySnKdYMvEci2a7cifUdYlYAduGXhVeHV/Ek9UJoVTJMaM GHY1Y6+qba4ZEVLsqEmPf0U1s1EKlnK1muvS3QdFa3ts9psCsLBvBUhyApZaOq2igMG6lG /IQeTovkCpp97CWtvvyhY3HsIDL34fnvh1lrYSpz7PNhEN5wzULy/ozSc4FrYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745205041; a=rsa-sha256; cv=none; b=ZMU4s6CzAKGyHVB6bHWqsokcsFZdVgXK9Q+JkwzDXyM36l2v2FVAt/RqUMC20IxIcXU174 tZB4jFCy2NQk2bgUWfrHANjoscYqbkyugmyeYH4RVvjV7mglbtq8OmVS9fWHYOfJ8qL49t bi+OV7K1lQF8oCgSaNeE2plHKwvEsMEy20GoWANv3IkmYzpZ5CxC/wMqJciwfa0nPpWdG9 qrH7NzRgr/W0x0VOIumAeD0YNcXAggOczJSwhW4VW6S8wjIZnBv0zOTmW/Z08DBcRlZmqF MZZIVRvEXiAmnmqbz/7e1ER0SCxMdkaOi1W9lmUYE9akkKMgi2DqPPFzWaV4ew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745205041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yiSxgKGNnWO8AMRygjzlV4Z5+BgL86Cpr9+zcvwYSes=; b=JvpTNVmQLL91nmODb6IhJRSVizcqLA/PJQvFr6J93x/ndW/sAVeHIKY2lpKpbf1+zlS177 gSUq6DMcgQ6E7gxK8QSJlH6GnXq88XAGjrqPppWM15TjbcnSbBCHLjlURDoztZ+nrKE2PC nSXXtxLRg3AHD81jcPwCnkC3CqL4K8rguTkO5Y6xf48Td3DAXXIP4IWhqgcmqiz3evOhNV 20B2hKU4V68cPPP/noBOeCQ2QI1Ekq++l2Zyo8ZKA3a4IMK2McQaj+Y0uYqbmhl9LLunjU yRs4wvQt6O5QP94QHeaxNRkxf0J7MMjwXsA7LR5572ZKh0PlbHNgLwZLlZ3yFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgr3N71ClzYNq; Mon, 21 Apr 2025 03:10: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 53L3Ae63098103; Mon, 21 Apr 2025 03:10:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L3AeJG098100; Mon, 21 Apr 2025 03:10:40 GMT (envelope-from git) Date: Mon, 21 Apr 2025 03:10:40 GMT Message-Id: <202504210310.53L3AeJG098100@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: d7441aa9b09a - main - vm_object: use iterator in page_noreuse() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d7441aa9b09ae537c943c422df43281f087d5757 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=d7441aa9b09ae537c943c422df43281f087d5757 commit d7441aa9b09ae537c943c422df43281f087d5757 Author: Doug Moore AuthorDate: 2025-04-21 03:08:53 +0000 Commit: Doug Moore CommitDate: 2025-04-21 03:10:31 +0000 vm_object: use iterator in page_noreuse() Use an iterator instead of tailq pointers for the loop in vm_object_page_noreuse(). Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49935 --- sys/vm/vm_object.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index bb9cb6b6f554..39f9f0a50d46 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2106,23 +2106,18 @@ wired: void vm_object_page_noreuse(vm_object_t object, vm_pindex_t start, vm_pindex_t end) { - vm_page_t p, next; + struct pctrie_iter pages; + vm_page_t p; VM_OBJECT_ASSERT_LOCKED(object); KASSERT((object->flags & (OBJ_FICTITIOUS | OBJ_UNMANAGED)) == 0, ("vm_object_page_noreuse: illegal object %p", object)); if (object->resident_page_count == 0) return; - p = vm_page_find_least(object, start); - /* - * Here, the variable "p" is either (1) the page with the least pindex - * greater than or equal to the parameter "start" or (2) NULL. - */ - for (; p != NULL && (p->pindex < end || end == 0); p = next) { - next = TAILQ_NEXT(p, listq); + vm_page_iter_limit_init(&pages, object, end); + VM_RADIX_FOREACH_FROM(p, &pages, start) vm_page_deactivate_noreuse(p); - } } /* From nobody Mon Apr 21 03:19:27 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgrFW51b0z5snB0; Mon, 21 Apr 2025 03:19: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgrFW3w0zz4138; Mon, 21 Apr 2025 03:19:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745205567; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b0E5cYiELjgCuqJHZF4KKHygeKdLvFENFxqvaiaWCNw=; b=Zy5xtKBf6eHBmppVivCoybbvKzGHFZk8yrxxnCniPl955hGklouxz1fgSbK6GR+zD+oBlo R+ia8miRjVxd31rMhwGBsjGdXz1539ucaQks6+362kJ3r3d4hXLiZw8bpHGznvvZ5K0prd VRZLjOFtsiMn7lLRK7oK2m0tSjcKIt0XDpOjVfknEAozduGXRvBvz9+/RfhBXHy8nbryi7 PvzWpeLaVafn4T0G0shi16lLm7cggXeyhfe10EB/tqFawYPyWSNzyp9L2rVtj9SH2jYJOd o2+SSMWkKYMmIdOo7SXL8jw4f+2CJSfYksiTly/QCNUMMYta2YqDvawzXu0I9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745205567; a=rsa-sha256; cv=none; b=VhO/SlsCezXevP+epzWlCyjlRn6S+PiC+cdqtLj03jVYZHn/P6r+tIXo/Veys3Gly06OcL aF6JPKupbK7GllDyPzSK3MBQZtbulu5cOIxoNtcFiowcS+bZGvad2kCx19ao8E6zAPi9KV U/AcqH8mGqUkzGpwXBbodNcPsniCCNGh3y42PpcknVnPvhR9k2RLHLCZbSPLVwPe99JWX5 aNqkvXU4lPnfphNXJvYHqnOjfalPVLZZRLQPAbJRUPUKTYFRpj+HqDXxf3oxjsBgRY6MJV u0kYp+uOFBfPWYhnpPM84JHKph+OzP6ggLbyEYt0UHkuX0N5cZMdb9XQlVUYkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745205567; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b0E5cYiELjgCuqJHZF4KKHygeKdLvFENFxqvaiaWCNw=; b=NLcy24GzVoZ+pebePqGr76yQn2fvx0GivsBi5QZWiMX5q+oXD/LR4olaLqUy1aLMwdyTT5 hrxFbYHrPBvAZJvkXOK3Zp40AChumOgokenng2hHtxePuIHFLHs0d/NesA/4ovfUA1ia2/ H08pZx4bdz7Xi3G8CbzoEkKQGoARO1FxSkGOQu05TMg6BUdt5QiXPlSIL9rofen3RF6OlY RTR942fN4909vQRf1wuflCiOLQkLMaLzNlz+rMefQu3zblHyY/Ms2FyJ2vAa4Ey/lR9lbn mLjRsrhKTHJWPr1Jgikq4/Sukvmlb49eONR/pZHtOAYvmWEmR9yKc/ro0c1ReQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgrFW3WRJzYn6; Mon, 21 Apr 2025 03:19: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 53L3JRDJ006547; Mon, 21 Apr 2025 03:19:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L3JRSL006544; Mon, 21 Apr 2025 03:19:27 GMT (envelope-from git) Date: Mon, 21 Apr 2025 03:19:27 GMT Message-Id: <202504210319.53L3JRSL006544@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: df1b0f580d3d - main - time: switch to fences for siginfo_recvd List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df1b0f580d3dc4dd165d84fbcc14d0eebd8ee2c4 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=df1b0f580d3dc4dd165d84fbcc14d0eebd8ee2c4 commit df1b0f580d3dc4dd165d84fbcc14d0eebd8ee2c4 Author: Kyle Evans AuthorDate: 2025-04-21 03:19:17 +0000 Commit: Kyle Evans CommitDate: 2025-04-21 03:19:17 +0000 time: switch to fences for siginfo_recvd This effectively reverts 6e824f3713011 ("time: siginfo_recvd needs to be marked volatile") because it was actually wrong. Switch to C11 signal fence, which provides a compiler barrier that will do the right thing. Reported by: kib Reviewed by: kib (slightly earlier version) Differential Revision: https://reviews.freebsd.org/D45574 --- usr.bin/time/time.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/usr.bin/time/time.c b/usr.bin/time/time.c index 4c1ce06543e3..5478b23d52ec 100644 --- a/usr.bin/time/time.c +++ b/usr.bin/time/time.c @@ -40,6 +40,8 @@ #include #include #include +#include +#include #include #include #include @@ -54,7 +56,7 @@ static void showtime(FILE *, struct timespec *, struct timespec *, static void siginfo(int); static void usage(void) __dead2; -static volatile sig_atomic_t siginfo_recvd; +static sig_atomic_t siginfo_recvd; static char decimal_point; static struct timespec before_ts; static int hflag, pflag; @@ -125,7 +127,10 @@ main(int argc, char **argv) (void)signal(SIGINFO, siginfo); (void)siginterrupt(SIGINFO, 1); while (wait4(pid, &status, 0, &ru) != pid) { - if (siginfo_recvd) { + bool do_siginfo = siginfo_recvd != 0; + + atomic_signal_fence(memory_order_acquire); + if (do_siginfo) { siginfo_recvd = 0; if (clock_gettime(CLOCK_MONOTONIC, &after)) err(1, "clock_gettime"); @@ -296,4 +301,5 @@ siginfo(int sig __unused) { siginfo_recvd = 1; + atomic_signal_fence(memory_order_release); } From nobody Mon Apr 21 03:45:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgrqV11lnz5sq0X; Mon, 21 Apr 2025 03:45:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgrqT5jHDz3G65; Mon, 21 Apr 2025 03:45:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/GHYttlxRSSFC1Eet0Wba1v59NiuBnuco16J3p+jjCc=; b=Sc957UPwlnjpTQzCLlUKNDtQQJ9bcCFFMmGQPZBB547JfTAphNSLQDYbBBR6LpCB4DjaG5 ZZb6yQeH9PBjS4LxMtjYjqc/5Zabv261y8G0ZiRbwtFTWFADMpYmcYouIPzTo+Xzk1Zbk9 X/5vtRY88KAsUvk8/Zn0Hc51EESM3af43wCwg1w2NFlPtFQY3gg5zIhYhfUQxZdkaq1GD5 1CMV5czVVcvRsVWMdNxCJfuqHBCwJUfPr70goX/35esn2NlY+E+4w8C93NoOglpRthgHGO dUUJHabpZW1n1cIB2mlohy3/8TRHIQ47Jt17TEkg/F9dJ7L4fecHdUpltW85CA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745207125; a=rsa-sha256; cv=none; b=Ycxe6AtgdsztLiz4xNGZH24hjbKITDsRad8jVpX/rlUbb/rojH3c3QfYCSESHLFr1JzIR9 ZlRxDrwPu/LA7pzEbkT6sGJQgMonl+B5kbMlRJaUamCgwNKV7Abef5XLEn/ZiSNVJoogro mXwrVVpmwbLLzl76sBOrL2bI64xpxcLsLvTBwCbPfJh+P8B46digfHWQF54MqrVs7SKzCA 3MbTnNGApj8MW7rMIZxBtkBIdWdkiwaEu1oe3hY3zbLxMWhJsfpBI3K8tSTir0C0LP2wbl YJqJZLOWYP4lH+ABa7o1n6QGDUrM/tcvEZLHGD2SWvoOHfz0zHfTYbbW7O9zgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/GHYttlxRSSFC1Eet0Wba1v59NiuBnuco16J3p+jjCc=; b=QwE85ExQIi8K8Yt7ehk7Ti17KQ1RPXFDDdhHsZoyTOZ2W/fu7SEoiuoblZM4Zgrj6C3HO2 Lc56SCcNTO7Y7Ir4E4H08jGk5QEVxFWyLV67Ulwl3UKA2XMuohM1XZN4YztlPEeMqwYZeL fhrbdUdVFt8EPpg4XnjvAIshCO6rGbc0zZUwlmjvPQaLoW1agmN17+Ka0inKnjqGiEXyeX om4ybGovbidVnvSyPow0vyDAX9ATQJyo5J8XH10a0lLyeUNc0aTOjKmp3Upjp+nacOIEIb 9vsSjkaqBndrZz7R9RUJ/zZt3fbVQwyIu8j7hVtkr4ntBS1T/tRl4KcZzTJn1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgrqT4sS0zZNf; Mon, 21 Apr 2025 03:45: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 53L3jPvs060915; Mon, 21 Apr 2025 03:45:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L3jP5v060912; Mon, 21 Apr 2025 03:45:25 GMT (envelope-from git) Date: Mon, 21 Apr 2025 03:45:25 GMT Message-Id: <202504210345.53L3jP5v060912@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 47404d1d98ac - main - bsdbox: fix the build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 47404d1d98ac1e0fdba1ae33e41838ff4c450d2b Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=47404d1d98ac1e0fdba1ae33e41838ff4c450d2b commit 47404d1d98ac1e0fdba1ae33e41838ff4c450d2b Author: Kyle Evans AuthorDate: 2025-04-21 03:44:52 +0000 Commit: Kyle Evans CommitDate: 2025-04-21 03:45:00 +0000 bsdbox: fix the build hostapd is removed for now because it's a little less trivial with recent wpa architecture. The rest is adopting to ncurses and ifconfig changes, as well as a switch in PIE default. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D42498 --- tools/bsdbox/Makefile | 7 ++++--- tools/bsdbox/Makefile.base | 3 +++ tools/bsdbox/Makefile.net | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/bsdbox/Makefile b/tools/bsdbox/Makefile index a164ddf54cbd..37d6318ccbb3 100644 --- a/tools/bsdbox/Makefile +++ b/tools/bsdbox/Makefile @@ -2,6 +2,7 @@ MAN= .include MK_SSP= no +MK_PIE= no PROG= bsdbox BINDIR?=/sbin @@ -52,7 +53,7 @@ CRUNCH_SRCDIRS+= bin # setuid binaries - they use these libraries. PAM needs to be # built dynamically or it tries to build _all_ of the modules # statically - and that ends very badly. -CRUNCH_SHLIBS+= -lc -lutil -lcrypt -lxo -lgpio +CRUNCH_SHLIBS+= -lc -lsys -lutil -lcrypt -lxo -lgpio CRUNCH_LIBS+= -lkvm -lmemstat -lnetgraph CRUNCH_LIBS+= -lcrypt -ledit -ltermcapw @@ -69,7 +70,7 @@ CRUNCH_SRCDIRS+= sbin CRUNCH_LIBS+= -l80211 -lalias -lcam -lcursesw -ldevstat -lipsec # Don't forget this - ifconfig, etc -adrian -CRUNCH_LIBS+= ${LDADD_ifconfig} +CRUNCH_LIBS+= ${OBJTOP}/lib/libifconfig/libifconfig.a CRUNCH_LIBS+= -lgeom -lbsdxml -ljail -lkiconv -lmd -lsbuf -lufs CRUNCH_BUILDOPTS+= CRUNCH_CFLAGS+=-I${OBJTOP}/lib/libifconfig @@ -93,7 +94,7 @@ CRUNCH_LIBS+= -lm .include "Makefile.base" .include "Makefile.net" -.include "Makefile.hostapd" +#.include "Makefile.hostapd" #.include "Makefile.textproc" .include "Makefile.login" .include "Makefile.kld" diff --git a/tools/bsdbox/Makefile.base b/tools/bsdbox/Makefile.base index 49f31b421098..8dfc2c50c68c 100644 --- a/tools/bsdbox/Makefile.base +++ b/tools/bsdbox/Makefile.base @@ -9,6 +9,8 @@ CRUNCH_PROGS_bin+= ln rm kenv mv expr CRUNCH_PROGS_usr.bin+= true false hexdump tail nc w head uname tset CRUNCH_PROGS_usr.sbin+= gpioctl CRUNCH_ALIAS_w= uptime + +CRUNCH_SRCDIR_tset= ${SRCTOP}/usr.bin/ncurses CRUNCH_ALIAS_tset= reset CRUNCH_PROGS_usr.bin+= vmstat @@ -23,6 +25,7 @@ CRUNCH_LIBS+= -lprivatezstd -lthr # Clear requires tput, and it's a shell script so it won't be crunched CRUNCH_PROGS_usr.bin+= tput +CRUNCH_SRCDIR_tput= ${SRCTOP}/usr.bin/ncurses # sh CRUNCH_PROGS_bin+= sh diff --git a/tools/bsdbox/Makefile.net b/tools/bsdbox/Makefile.net index 960bc8a25335..d0f7654c41d7 100644 --- a/tools/bsdbox/Makefile.net +++ b/tools/bsdbox/Makefile.net @@ -20,6 +20,7 @@ CRUNCH_LIBS+= -lmemstat -lnetgraph # ifconfig CRUNCH_PROGS_sbin+= ifconfig +CRUNCH_LIBS_ifconfig+= ${LIBNV} CRUNCH_SHLIBS+= -l80211 # wlan stuff From nobody Mon Apr 21 03:45:26 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgrqW3YDMz5spwV; Mon, 21 Apr 2025 03:45: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgrqV6R4Fz3GRt; Mon, 21 Apr 2025 03:45:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lkGHH9Yabx4+4fgc88qU55XcEBYUQurYKUW6BkKnh6Y=; b=ZilxLnrlgeW7kWKNZy5pnPfpWLzRvBnOfxCTKkznGc4dyOazBUgMQggZldYSSym5eTuJKP JYgCTKAWMyjqwvtNCj0DBRfKrnZGW6s82fIxGmw0PgjQTgLDS1Atq6ZprvEWMoGBO0N6S9 z5OD1U0bK7gpcEc5wcbHz6vqFttsFOJ0GNi7f/hyi+nQbpQRJQUKZgLE3WAgSi+/iE196v t+wCURLVM0BcO58LZSfXK6Qf4ypkNDmCRF1iTYNGiiy9qvVnLyJPBXA3nbs0ur/xxjYLCQ PrAwZYjOVHKpI4YwEbpI4FQgPoSpeSnwjvG5gIhzUfszQgaVYjWXQrxYpH6H1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745207126; a=rsa-sha256; cv=none; b=Xx43PRApVrTychnw6FRK2v+UgBLcSD2pmw273rqwPoy+3QXIsbCqHWHf4qugGkifeKb62n fjkCNGUOF6hwf9/HJls+O7oKKfyor6mOrKguOKrDBlNJ2PcWc/YQinuq3nz1lRRM6Vexnt fcIzIk8tS9/HbtNXugHGswicWoH5ojHERyADTHMQPMppFMBj4yVBuFaPhDr6boCJqgDmCy gOn3HJd9YAQst49/Z0qls7Ri+5QV4442hlWa/UyneelX93k99unifm2nXUGmXeZ+MiDe2Q LEKGHoLdSYxzXTL8bsxPqZelmLbn3rq2hSRKpZaD6Yj3/b7jIxx0bWf5e7cC2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207126; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lkGHH9Yabx4+4fgc88qU55XcEBYUQurYKUW6BkKnh6Y=; b=vrE8BJWI00PaHDM3bOejePDBu36Zp4ej0NI64q2/DLMaSivcvmkP8/bZFDTxqUYZLHxb5O 12OzRgRH2WraYJ6pQOq6jxuXEMvkrZCQhw0Qk6ofu1vdgekuWqHoD6GgVSQU39WKl/Cs5a GXkOo44/Tgx/XuIhWqyfNauC5KRPBfb4ducavlCv1MfK0VRjiF02aXOdD0WAPiCcq4D5AK 6vGgCWoI32Mw6ioYUBrGM6ZBIrRVx+CA4gizgW5ib4Xg8QCTJaPV7/ZdQn0N3joTkCxLOA wumDg2JUT3Eo4dw1eoRCsCNBD2QYub1YUsUqM5PmunYLABJueQ7BxSAplgdfIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgrqV62ggzZ8L; Mon, 21 Apr 2025 03:45: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 53L3jQ8d060949; Mon, 21 Apr 2025 03:45:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L3jQUO060946; Mon, 21 Apr 2025 03:45:26 GMT (envelope-from git) Date: Mon, 21 Apr 2025 03:45:26 GMT Message-Id: <202504210345.53L3jQUO060946@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 25a9b4159e33 - main - bsdbox: fix the hostapd build, hook it back up List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 25a9b4159e33fb6024a4f832ce7d280481aca6b2 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=25a9b4159e33fb6024a4f832ce7d280481aca6b2 commit 25a9b4159e33fb6024a4f832ce7d280481aca6b2 Author: Kyle Evans AuthorDate: 2025-04-21 03:44:53 +0000 Commit: Kyle Evans CommitDate: 2025-04-21 03:45:01 +0000 bsdbox: fix the hostapd build, hook it back up WPA stuff is now structured a little bit differently and requires a number of other libs now, so pull those in. It also needs to be able to keep wpa_driver_bsd_ops exposed as part of the lib/program contract. Reviewed by: adrian, imp Differential Revision: https://reviews.freebsd.org/D42500 --- tools/bsdbox/Makefile | 2 +- tools/bsdbox/Makefile.hostapd | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/bsdbox/Makefile b/tools/bsdbox/Makefile index 37d6318ccbb3..35e37b31ea2f 100644 --- a/tools/bsdbox/Makefile +++ b/tools/bsdbox/Makefile @@ -94,7 +94,7 @@ CRUNCH_LIBS+= -lm .include "Makefile.base" .include "Makefile.net" -#.include "Makefile.hostapd" +.include "Makefile.hostapd" #.include "Makefile.textproc" .include "Makefile.login" .include "Makefile.kld" diff --git a/tools/bsdbox/Makefile.hostapd b/tools/bsdbox/Makefile.hostapd index 8c5d86d86704..95c6a7f7f45b 100644 --- a/tools/bsdbox/Makefile.hostapd +++ b/tools/bsdbox/Makefile.hostapd @@ -7,6 +7,8 @@ CRUNCH_PROGS_usr.sbin+= hostapd hostapd_cli CRUNCH_SRCDIR_hostapd= $(.CURDIR)/../../usr.sbin/wpa/hostapd CRUNCH_SRCDIR_hostapd_cli= $(.CURDIR)/../../usr.sbin/wpa/hostapd_cli +CRUNCH_KEEP_hostapd+= wpa_driver_bsd_ops + #CRUNCH_PROGS_usr.sbin+= wpa_supplicant wpa_cli #CRUNCH_SRCDIR_wpa_supplicant= $(.CURDIR)/../../usr.sbin/wpa/wpa_supplicant #CRUNCH_SRCDIR_wpa_cli= $(.CURDIR)/../../usr.sbin/wpa/wpa_cli @@ -17,3 +19,10 @@ CRUNCH_LIBS+= -lmlx5 -libverbs .endif CRUNCH_LIBS+= -lpcap +wpalibs= drivers ap l2_packet eap_server +wpalibs+= eapol_auth eap_common +wpalibs+= radius tls wps common crypto utils + +.for wpalib in ${wpalibs} +CRUNCH_LIBS+= ${LIBWPA${wpalib:tu}} +.endfor From nobody Mon Apr 21 03:45:27 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgrqX2Cdhz5spwY; Mon, 21 Apr 2025 03:45: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgrqX05QSz3GNf; Mon, 21 Apr 2025 03:45:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ytXjQeMp3k6JIRgcf9PRVxMvDRwnNyIzkwwV6apL7Us=; b=w945h5PSyi5WpNIN2wndjke4S3LJ3qlkJPeNISwJ/pfvYDD/WZqkNqxn84ZdTIHZwzyQ/J EiM5eirMGGns77BbAs9Ya0vi4APBaQn60AJE2pOzy/vWdAv4jgL1IYohK3yvzsRhstoHXM 6oaLUXR/hBb3mYyEHKiRVwIKvw+u1MBoyqQeThbM871dFnvGsxLI6kvcz6613+35Omrrzp BER6JJngiZZ287xcJhT0XqMwsGQBRpC7UAaSUCTOWArsPKuuOxO40LTsK0a6IwZDzkc06j MypqZbVgMjWG/FbqAcjhoCND15K7k9gHYxi/9hBWsK8Xko4x3Tn5RciGxVXp6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745207128; a=rsa-sha256; cv=none; b=vxq0s/VUUmt3JhApS/RrIxiSEFV6PKFzZPsuG1tgiDfknZqBKcjg8ZlajdtMML0zqU1TNe jXN5FF31efrVHXy6YH9tv18+1E+GFZWY17Bee9rg7lraFL+4f1hzDt0ZLhxv9EGuyb2FVq MCj9qQnAOh5RbmQNl/2ZFdmhoBCyWum5JZldLWVneWER8yrLZuzfPSpD/P84KcCl+ynJ83 nf6PljzkXv4HvZOckjrGRZRN3mVU3qYFVB1OOYqcvZmrUx6iVN7s5nCHGlSRq2w0K7l+9E sStLFpnRx78YX9uk8yOLc5UrrALsysFCBm6+aEvWD+EVvQ+KtjhVgdIj/oI5NQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ytXjQeMp3k6JIRgcf9PRVxMvDRwnNyIzkwwV6apL7Us=; b=y2lKQlrJ664UHSwchwmRVeBTZH/HhY37LYLd07HjpGEaIABdoWcMtm18IltRSUOchLxYS5 DPxCpVbuwsOwjkTkxPXpaFTWY+p5pF+p0+3pGVxESbG+AQwpm7ZzxyAXhL4X9YWEHcAp+3 uPpgvjWO4pkwvzEnjfwOoblEGaXnM/xyZkl6XCQ/qD4fXvCXbVWrhSnDkuianIsG3OVoWZ thDjBkicNEShhUhB+RRbgbPYAM8i+HSP65UsX2wIw1U2uesALjbsyk0tmepecRWNegYkm0 IdXR3yVsbp/Ympnjg1WUhohReg30OW1fvrSiE8YTKglDR7v/JMxhUljONjc4Qg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgrqW6gwNzZ9n; Mon, 21 Apr 2025 03:45: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 53L3jRX3060982; Mon, 21 Apr 2025 03:45:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L3jRgf060979; Mon, 21 Apr 2025 03:45:27 GMT (envelope-from git) Date: Mon, 21 Apr 2025 03:45:27 GMT Message-Id: <202504210345.53L3jRgf060979@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 635891d1c37b - main - bsdbox: hook wpa_supplicant up as well List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 635891d1c37b6491573970977b0a81765d5b08da Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=635891d1c37b6491573970977b0a81765d5b08da commit 635891d1c37b6491573970977b0a81765d5b08da Author: Kyle Evans AuthorDate: 2025-04-21 03:44:54 +0000 Commit: Kyle Evans CommitDate: 2025-04-21 03:45:02 +0000 bsdbox: hook wpa_supplicant up as well We may want a knob for this later for Adrian's wifi-box builds if those are still happening now that mips is gone, but I suspect it's less of a concern for FreeBSD > 14 (and maybe even 14 as well). Reviewed by: adrian, imp Differential Revision: https://reviews.freebsd.org/D42501 --- tools/bsdbox/Makefile.hostapd | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/bsdbox/Makefile.hostapd b/tools/bsdbox/Makefile.hostapd index 95c6a7f7f45b..6bce1c42b5ce 100644 --- a/tools/bsdbox/Makefile.hostapd +++ b/tools/bsdbox/Makefile.hostapd @@ -9,9 +9,9 @@ CRUNCH_SRCDIR_hostapd_cli= $(.CURDIR)/../../usr.sbin/wpa/hostapd_cli CRUNCH_KEEP_hostapd+= wpa_driver_bsd_ops -#CRUNCH_PROGS_usr.sbin+= wpa_supplicant wpa_cli -#CRUNCH_SRCDIR_wpa_supplicant= $(.CURDIR)/../../usr.sbin/wpa/wpa_supplicant -#CRUNCH_SRCDIR_wpa_cli= $(.CURDIR)/../../usr.sbin/wpa/wpa_cli +CRUNCH_PROGS_usr.sbin+= wpa_supplicant wpa_cli +CRUNCH_SRCDIR_wpa_supplicant= $(.CURDIR)/../../usr.sbin/wpa/wpa_supplicant +CRUNCH_SRCDIR_wpa_cli= $(.CURDIR)/../../usr.sbin/wpa/wpa_cli .if ${MK_OFED} != "no" # libpcap dependencies if OFED is enabled @@ -19,10 +19,14 @@ CRUNCH_LIBS+= -lmlx5 -libverbs .endif CRUNCH_LIBS+= -lpcap +# hostapd wpalibs= drivers ap l2_packet eap_server wpalibs+= eapol_auth eap_common wpalibs+= radius tls wps common crypto utils +# wpa_supplicant +wpalibs+= eapol_supp eap_peer rsn_supp + .for wpalib in ${wpalibs} CRUNCH_LIBS+= ${LIBWPA${wpalib:tu}} .endfor From nobody Mon Apr 21 03:45:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgrqY3cpKz5sqL0; Mon, 21 Apr 2025 03:45:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgrqY1tNmz3GNl; Mon, 21 Apr 2025 03:45:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G1BNV8ieqwq28DHxoBQ8tRhkycuX1k7WeGsG7XrodQo=; b=yoM9gB/GLrRbTOpKedbUbDhtuBMdIEw+UqU4m1Jrwe+Kuwe2azUgEFe7+hFy6mltMSmVPP XVhrIET+a0L+Ua8PfmzdLoDj9JNOGoP/5wLS/1yhqgEzm5M0zBUFLtfX+Vklm3zezz2XVZ bW9uXH4rYE69Ct14eAU3Jo8J63fRDAmTs2NydKWlBqgV6BtEcG8EHHADd5enT+xr5ggyEw fd5U3aT55gYIk6bcXuT3sSxSAcU/RpXjoR3ipK8Sem4dcj4vcBIXZnJNTXqPFexcc3OkQ6 1rNYEkZoKc+IIuAPO9VYZDnZSrPPFihHlLFD3DGRkhsyqSbLmaEB1mYofSDPAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745207129; a=rsa-sha256; cv=none; b=FFaWCcoMJx7QCyGCd64DUOycjU7s+KKMWeNWwF0IkhZJS7M9Fvz+6+vAvEuR4w2jLmZ9YJ DnCNafKgTbo5ETf1olFyIrVxdGXciszMtk9vBhljBNLUnyB20iKQuFA+Yg7ne6CMRXyrgU LLo+bf2v9zxPr5+Un2YnSrz9fS24Eg7+Hfc51n69heiduicDhLFmXnPyZNQ9j+Qjwiaa6E coT5L0avcR8ezLT4PCApanseDfUECF6tHm5S8K3Sytk2yqF71vJw914q8kKB+I+mm3kIHw OP9JpdA/ddMAq+ikiVm+yHU6et0fP+bASXCYmYdUKEiMFssk/hD9Kf2hw1BoTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G1BNV8ieqwq28DHxoBQ8tRhkycuX1k7WeGsG7XrodQo=; b=EvrZDQW4uOf0qY/BhqD9ap3aD75/IiYYTzJP3TcKzJyeNtS83GJ9siBS43w8NIYWVgJLv1 Xc4JzJ1Lj/FL0s+Fo6a95lkjwgL0p/8X8sxZKPiTe7snDYrsQOTBFoCfSfI3jcn2wnxBoI SkH5aU/EaIBl0tHJshe8WuF2hPqlS/x7+8pt1kkV4vOvz8Ku3Dd3b3MygBzMapkioV0NEM aSh+r6IABUerUQzQO5qB3SS8LOP3Uz4bEqWsUY212PyFr+srpGlrfxerFuW/Oy1rYqpPDh 9xayOooPFB+3t8+PKmMVH0sSLV3jqp4q1uq8FbcKAEKMRFGPRnFKjCOwHsAbTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgrqY0pWCzZ9p; Mon, 21 Apr 2025 03:45: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 53L3jT73061015; Mon, 21 Apr 2025 03:45:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L3jT8R061012; Mon, 21 Apr 2025 03:45:29 GMT (envelope-from git) Date: Mon, 21 Apr 2025 03:45:29 GMT Message-Id: <202504210345.53L3jT8R061012@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: e018d97ce539 - main - bsdbox: use paths relative to SRCTOP instead of .CURDIR List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e018d97ce5394b05484686807b6de33aed6c3af5 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=e018d97ce5394b05484686807b6de33aed6c3af5 commit e018d97ce5394b05484686807b6de33aed6c3af5 Author: Kyle Evans AuthorDate: 2025-04-21 03:44:54 +0000 Commit: Kyle Evans CommitDate: 2025-04-21 03:45:02 +0000 bsdbox: use paths relative to SRCTOP instead of .CURDIR This has been the going trend for years now, so switch to it. Reviewed by: adrian, imp Differential Revision: https://reviews.freebsd.org/D42502 --- tools/bsdbox/Makefile.hostapd | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/bsdbox/Makefile.hostapd b/tools/bsdbox/Makefile.hostapd index 6bce1c42b5ce..4459de171242 100644 --- a/tools/bsdbox/Makefile.hostapd +++ b/tools/bsdbox/Makefile.hostapd @@ -3,15 +3,18 @@ # # .include + +WPASRC?= ${SRCTOP}/usr.sbin/wpa + CRUNCH_PROGS_usr.sbin+= hostapd hostapd_cli -CRUNCH_SRCDIR_hostapd= $(.CURDIR)/../../usr.sbin/wpa/hostapd -CRUNCH_SRCDIR_hostapd_cli= $(.CURDIR)/../../usr.sbin/wpa/hostapd_cli +CRUNCH_SRCDIR_hostapd= ${WPASRC}/hostapd +CRUNCH_SRCDIR_hostapd_cli= ${WPASRC}/hostapd_cli CRUNCH_KEEP_hostapd+= wpa_driver_bsd_ops CRUNCH_PROGS_usr.sbin+= wpa_supplicant wpa_cli -CRUNCH_SRCDIR_wpa_supplicant= $(.CURDIR)/../../usr.sbin/wpa/wpa_supplicant -CRUNCH_SRCDIR_wpa_cli= $(.CURDIR)/../../usr.sbin/wpa/wpa_cli +CRUNCH_SRCDIR_wpa_supplicant= ${WPASRC}/wpa_supplicant +CRUNCH_SRCDIR_wpa_cli= ${WPASRC}/wpa_cli .if ${MK_OFED} != "no" # libpcap dependencies if OFED is enabled From nobody Mon Apr 21 03:49:51 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgrwb3pCkz5sqMv; Mon, 21 Apr 2025 03:49:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zgrwb2dy2z3Kkr; Mon, 21 Apr 2025 03:49:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Si9HdEyMrv2coxa2MKFnL94EP2caWkzkzxJ5w0V2OAA=; b=PG9niMn9VXawNiUgkoEUCVHNeI6qqUwm4U+dcmDlCJV66VUti2Ipvw2uDlQvA9iY8IbFdt LSm9PptkRGNTTwipyftQ2qRdQYgNn2LuA6INF0/qvEiYSTR/XQlXSnKgMiujm4ocLdgSTJ cTncQVqyS91Gx5HiL4BrPIU8TaMZueeW4uNcYlt21kP2jYWUK48dHu0oce3yve3MzHy7kI 710LyN4zSwI46PlYQn/lNWAuoPDv2Ori1l0Afiyd2KTTuBCc6xK5JnxQwbeuVlUm/BUll3 noQQ38p4QR2oKpa81UV2k0+uBPWJSvv7bviFyyt2mnr8mL2dkbP7c2DeD8GuKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745207391; a=rsa-sha256; cv=none; b=rXyUdXVZsxDMrAzmruLrW8/MvHlHMjmL4fk8OwtdGvvpDw2TNtbG9hcztWWcHEfH4LQfRi oc/NraFHO8zn6gXsEvY2tqAAXm+hBkWpCTeuFdrfidglX1xTosHxu2R/3vMsuMekZcNur+ yGUVQ3MnH/TJp+mQ5ryWpOU1C6pnSIzeqYa532ICmJ8TGxUqUVNwXemTx3WHsw0VU3CiEC ic3dGls2GZvWmsabeqq3EAjTbfIQaw1Uy1BBQH5aWal1ks3kL/PODQWtMVNguOPt3NP8w0 WtkwRlMSjwN9PBqLRLOJNURcJuvgMSVkarpZq0EIcrRkF1rtsIOEAbRCNMP2RA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207391; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Si9HdEyMrv2coxa2MKFnL94EP2caWkzkzxJ5w0V2OAA=; b=Gg2wzuVLOyYs6Qq0nQZc5MdFZFhQdSQ5+HwNt9p5WsGiUildv8kSjTjh5ketDByPYB8Oy2 NssFgyHOd3lTk8x9BsXJl4o18OyAJfnUQlR9i9Z2nhU2k/zSbcHdVYWMc/WuIXIrw92fhd R2EI4ZWldGyQynFKAe/jbrRXm4Rk4cyUDfR9V3nxofi9Z9Gt6PHBKdbBqWTRSlS/6do6KP p9VP0PBHyIEbyGfBsokr7WAZFwz1qZ1fztl+iC5Nn9MyRCr/qnQFuKVqA7BFNebikRu3MA TiZ/9eAsGOGsjpARI9tU9ATq/bVVkHcieLljB1U/ffV23fse2PJIgx7BB+H76A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgrwb24VQzYxG; Mon, 21 Apr 2025 03:49:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53L3npdu062416; Mon, 21 Apr 2025 03:49:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L3npP6062413; Mon, 21 Apr 2025 03:49:51 GMT (envelope-from git) Date: Mon, 21 Apr 2025 03:49:51 GMT Message-Id: <202504210349.53L3npP6062413@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: d6fbae084a2a - main - libbe: attempt to remove autocreated mountpoints at unmount time List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d6fbae084a2a0e07805633ca46935963357f1efa Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d6fbae084a2a0e07805633ca46935963357f1efa commit d6fbae084a2a0e07805633ca46935963357f1efa Author: Kyle Evans AuthorDate: 2025-04-21 03:47:59 +0000 Commit: Kyle Evans CommitDate: 2025-04-21 03:47:59 +0000 libbe: attempt to remove autocreated mountpoints at unmount time We use a be_mount.XXXX pattern to mkdtemp(3) when creating these, which seems reasonably unique enough to just continue using that. Record the mountpoint of the root dataset and check the dirname of that for the auto-creation trait. There's no sense in this bubbling up an error to callers, so we'll just ignore an error for now. Requested by: manu Differential Revision: https://reviews.freebsd.org/D42243 --- lib/libbe/be_access.c | 30 +++++++++++++++++++++++++++++- lib/libbe/libbe.3 | 7 +++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/lib/libbe/be_access.c b/lib/libbe/be_access.c index 67b30d3fb4fb..51f5a75e957d 100644 --- a/lib/libbe/be_access.c +++ b/lib/libbe/be_access.c @@ -33,6 +33,8 @@ #include "be.h" #include "be_impl.h" +#define LIBBE_MOUNT_PREFIX "be_mount." /* XXX */ + struct be_mountcheck_info { const char *path; char *name; @@ -164,7 +166,11 @@ be_umount_iter(zfs_handle_t *zfs_hdl, void *data) if (!zfs_is_mounted(zfs_hdl, &mountpoint)) { return (0); } - free(mountpoint); + + if (info->depth == 0 && info->mountpoint == NULL) + info->mountpoint = mountpoint; + else + free(mountpoint); if (zfs_unmount(zfs_hdl, NULL, info->mntflags) != 0) { switch (errno) { @@ -307,10 +313,32 @@ be_unmount(libbe_handle_t *lbh, const char *bootenv, int flags) info.depth = 0; if ((err = be_umount_iter(root_hdl, &info)) != 0) { + free(__DECONST(char *, info.mountpoint)); zfs_close(root_hdl); return (err); } + /* + * We'll attempt to remove the directory if we created it on a + * best-effort basis. rmdir(2) failure will not be reported. + */ + if (info.mountpoint != NULL) { + const char *mdir; + + mdir = strrchr(info.mountpoint, '/'); + if (mdir == NULL) + mdir = info.mountpoint; + else + mdir++; + + if (strncmp(mdir, LIBBE_MOUNT_PREFIX, + sizeof(LIBBE_MOUNT_PREFIX) - 1) == 0) { + (void)rmdir(info.mountpoint); + } + } + + free(__DECONST(char *, info.mountpoint)); + zfs_close(root_hdl); return (BE_ERR_SUCCESS); } diff --git a/lib/libbe/libbe.3 b/lib/libbe/libbe.3 index 4d9439206b7b..113763311796 100644 --- a/lib/libbe/libbe.3 +++ b/lib/libbe/libbe.3 @@ -392,6 +392,13 @@ This list of properties matches the properties collected by The .Fn be_unmount function will unmount the given boot environment. +If the mount point looks like it was created by +.Fn be_mount , +then +.Fn be_unmount +will attempt to +.Xr rmdir 2 +the mountpoint after a successful unmount. Setting the .Dv BE_MNT_FORCE flag will pass From nobody Mon Apr 21 03:49:52 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgrwd1LRjz5sqS6; Mon, 21 Apr 2025 03:49:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zgrwc3F2Xz3L25; Mon, 21 Apr 2025 03:49:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ghqxd/fUuiAASh3ng3qhtOtA/gdJbOTQNHaOtOfydCY=; b=sh90jhXYcn2L9a2BqMj/VvvqGsgK+k6MTwDtr0GccxiSIIxYhRZFcT9t6qtXFujUIBeshu VdMluhNgxQYpFvkemu/ztRvIbK3xtKSGEGCzYbRKehirY1si3YSdOy11FrjbYZN3DIQ2/M o1K62L1QSxot9t6IGCodz/3meStju5ZQY1eKuiHCyc/0v9FV0WR5ATXLG3ouhAboQ6tyv6 HFBOf2NfOGEoT+X1lySOe5j2wbhk7tdDcG9IFNX0qiRA/9DJ/0+J/v1kCfMRrk3lDY5GTR 7JAxrlG6z3Gap07DySuesMJ+kk48ZFiHRx/gJgd0+can+4LPdd5MhfqJN6ZAjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745207392; a=rsa-sha256; cv=none; b=X0zjKzMmbwXvQP9nMmAozRomwEPt9fjBf7v2/sIeAi3Q3YzXWTgON0x/HtmnTgfUuWYadk ZYCMh2seQAu+OViPVDEA1Qekj3DeobOhhP6Q/hZhe7lL2VD1zCj6b5EFh3KGgVYcVHxbGI k9qcke52uPS38AMbBEZ32l7haE6ZRTmpyoflBq9UUBL0X8tXmbQCf6VgEs+7+xxnAMHBk1 ROPwJmh+3XorFpRKBdJ7ey5FRLmkR2bwXh1WBwplyX6fXLU3CrglGWpO5o8inlwJBHOx0W EpzmuSsKU+pqG8tiOQNLdO5Va97mK9sXtkLgyGDHO82c8CXBCzpHrfWkgJt44g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207392; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ghqxd/fUuiAASh3ng3qhtOtA/gdJbOTQNHaOtOfydCY=; b=MOZAfUzV/wueQhXKtNvxr1yfXCrZsjQZbqXPv+TArRB3MJloYm4AbdKzBXuTMwpxYqD8Z7 EX9YoZK3q8elBGseop6yY0k3r9hpcajIvbtTpmqlOUqEQQ0wwiqbwRCSuP5oH9Dq1bX9xA GTl6JEyDvuYM14JCOS9CxVLB7n+cJnaHTLP05bMihkZqoKvZCzYRFe3J0SXHwce67JqzBd IgmP3vBGelPuJMfCpx9mamSTC9ZFzmqgoO88Zdz2JOUjFFWuXCtU7Q0ybJ01BUqfmAGAgD aP1sw8JJtzExyjslOS2/aVtc6slXfIkKjIj7O751TTi6MLvPcYaRPSV4viocFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgrwc2q2YzZYP; Mon, 21 Apr 2025 03:49: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 53L3nqjD062451; Mon, 21 Apr 2025 03:49:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L3nqqp062448; Mon, 21 Apr 2025 03:49:52 GMT (envelope-from git) Date: Mon, 21 Apr 2025 03:49:52 GMT Message-Id: <202504210349.53L3nqqp062448@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 2f11393fee4d - main - libbe: don't hardcode /tmp List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2f11393fee4d60d38634a261edf9aa9fea39c75c Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=2f11393fee4d60d38634a261edf9aa9fea39c75c commit 2f11393fee4d60d38634a261edf9aa9fea39c75c Author: Kyle Evans AuthorDate: 2025-04-21 03:47:59 +0000 Commit: Kyle Evans CommitDate: 2025-04-21 03:49:28 +0000 libbe: don't hardcode /tmp Respect $TMPDIR if it's set, fallback to _PATH_TMP (not hardcoded /tmp) if it's not. Bump .Dd after recent commits. Reviewed by: rcm Differential Revision: https://reviews.freebsd.org/D42244 --- lib/libbe/be_access.c | 14 ++++++++++++-- lib/libbe/libbe.3 | 6 +++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/libbe/be_access.c b/lib/libbe/be_access.c index 51f5a75e957d..44e7eb1e651c 100644 --- a/lib/libbe/be_access.c +++ b/lib/libbe/be_access.c @@ -33,7 +33,7 @@ #include "be.h" #include "be_impl.h" -#define LIBBE_MOUNT_PREFIX "be_mount." /* XXX */ +#define LIBBE_MOUNT_PREFIX "be_mount." struct be_mountcheck_info { const char *path; @@ -261,7 +261,17 @@ be_mount(libbe_handle_t *lbh, const char *bootenv, const char *mountpoint, /* Create mountpoint if it is not specified */ if (mountpoint == NULL) { - strlcpy(mnt_temp, "/tmp/be_mount.XXXX", sizeof(mnt_temp)); + const char *tmpdir; + + tmpdir = getenv("TMPDIR"); + if (tmpdir == NULL) + tmpdir = _PATH_TMP; + + if (snprintf(mnt_temp, sizeof(mnt_temp), "%s%s%sXXXX", tmpdir, + tmpdir[strlen(tmpdir) - 1] == '/' ? "" : "/", + LIBBE_MOUNT_PREFIX) >= (int)sizeof(mnt_temp)) + return (set_error(lbh, BE_ERR_PATHLEN)); + if (mkdtemp(mnt_temp) == NULL) return (set_error(lbh, BE_ERR_IO)); } diff --git a/lib/libbe/libbe.3 b/lib/libbe/libbe.3 index 113763311796..3b10711dd0f9 100644 --- a/lib/libbe/libbe.3 +++ b/lib/libbe/libbe.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 9, 2024 +.Dd April 20, 2025 .Dt LIBBE 3 .Os .Sh NAME @@ -358,6 +358,10 @@ If is .Dv NULL , a mount point will be generated in +.Ev TMPDIR +or, if +.Ev TMPDIR +is not set, .Pa /tmp using .Xr mkdtemp 3 . From nobody Mon Apr 21 03:51:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgryF2my3z5sqRS; Mon, 21 Apr 2025 03:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgryF1Hjvz3M3V; Mon, 21 Apr 2025 03:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0d28bmQQNKY7o4UYA9OtORfaD+Nb5vPGIkDP5aissis=; b=T1ZtpPWXa5cT0zBrhuTedFGMe0yrKyF7TzNSrTrs6G4AdITYCKcnMoxwjGorq/cXf089tt SdqylycMeGLx5Pp+JMcL8Qr9EI90u+z1TEkSK61pMfoSgEYdu6kPC3cR56G9DLwO1QHLv7 mJJcw5pHZsjt0dOUCz+0vyemOo8HuLDHxYRgQiHeg51p1uyqwCYXkQsQLSTDhQMSLfFHsS fCFDtLAb1h1xaTfFeaP4++mO0woVqbvb2wiWH79B8VPQU8F2Q9bsX0JNjOGfPwDkWCXE0G QVzfZ4rQOD8Q+9ysvaGL/aFazPLPZDY4cbOtqu+IT5OoVRWHYF3qYI97xb4NUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745207477; a=rsa-sha256; cv=none; b=trTCZoGPqf919iOBCXegfu/xe/JV35nI2xIuUvFCmt10gcvI02OGwYiJWP55vGHvITZEHj wwpeeyivqI+ojRb4z3gyP/Hlp0XaCfQLjatsg2gJHMxNQtYn3DZHEFnjwxBgots4tJBGws wMByGDYb833T1DNjrVe0dok7Zhs6OD9pGhcJNRRYuLgoU0bDYwZy80NXOyfkGR5tuVjlIK 8rHCV98Bztf7t8yVlIWL76d5cD/5ef5tiBjUK+0uqGmuKMChlrNuZgMadCQsfPDldF+Lsw egnkdjZ3nCIflnLasKeG8wvMbFgUIK1qsWeCX5aXvQ+dNJGHWBokJxvg2hufxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0d28bmQQNKY7o4UYA9OtORfaD+Nb5vPGIkDP5aissis=; b=rmOoZQTWe/Y7/pD3qXTWQ6dTqEt8dUk4YXhJPHIuisE3tOQMO6feCfYX0N//Xt5ZaZKt+m uIpYxI/jZSzSmHaIQOErfAmdmtLd098W4GkE5I75LoSl3RijXG+2XFlfbYrqBzZN25Xl/t VIwid8lrcSIwwrx4zpG2lwE+WrZHlecbWQ4NftGP721St2vQWhJkoLo9M1tdvgT839qug6 fKGbIqw5xldBXoc2BZIXSAVYPZUqczvFUq8S0MM5JK8iape+SANPtNLFuFYukhGHgPUH+R bU4zrFeBBEi5wb2SadFWBwZ0BIzYgHL13LOJ1IR5I0Mx9YiRw9I7tCnGPiuxuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgryF0rD9zZf0; Mon, 21 Apr 2025 03:51: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 53L3pH7t075257; Mon, 21 Apr 2025 03:51:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L3pHp3075254; Mon, 21 Apr 2025 03:51:17 GMT (envelope-from git) Date: Mon, 21 Apr 2025 03:51:17 GMT Message-Id: <202504210351.53L3pHp3075254@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: e79b1f0fc159 - main - powerpc: silence compiler warning List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e79b1f0fc15919648c0a8e4e43ef12aaaaae006f Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=e79b1f0fc15919648c0a8e4e43ef12aaaaae006f commit e79b1f0fc15919648c0a8e4e43ef12aaaaae006f Author: Doug Moore AuthorDate: 2025-04-21 03:48:57 +0000 Commit: Doug Moore CommitDate: 2025-04-21 03:51:07 +0000 powerpc: silence compiler warning Function moea64_sp_demote_aligned() is only invoked if VM_NRESERVLEVEL > 0. Add #if/#endif pairs around the declaration and definition of that function to silence warnings about unused static functions. Reviewed by: kib --- sys/powerpc/aim/mmu_oea64.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c index 273dc38214e2..7e23d73557a5 100644 --- a/sys/powerpc/aim/mmu_oea64.c +++ b/sys/powerpc/aim/mmu_oea64.c @@ -364,7 +364,9 @@ static int moea64_sp_enter(pmap_t pmap, vm_offset_t va, static struct pvo_entry *moea64_sp_remove(struct pvo_entry *sp, struct pvo_dlist *tofree); +#if VM_NRESERVLEVEL > 0 static void moea64_sp_promote(pmap_t pmap, vm_offset_t va, vm_page_t m); +#endif static void moea64_sp_demote_aligned(struct pvo_entry *sp); static void moea64_sp_demote(struct pvo_entry *pvo); @@ -3794,6 +3796,7 @@ moea64_sp_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, return (KERN_SUCCESS); } +#if VM_NRESERVLEVEL > 0 static void moea64_sp_promote(pmap_t pmap, vm_offset_t va, vm_page_t m) { @@ -3920,6 +3923,7 @@ error: atomic_add_long(&sp_p_failures, 1); PMAP_UNLOCK(pmap); } +#endif static void moea64_sp_demote_aligned(struct pvo_entry *sp) From nobody Mon Apr 21 03:58:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgs662VKfz5sqcj; Mon, 21 Apr 2025 03:58:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zgs656S9fz3RjF; Mon, 21 Apr 2025 03:58:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=70nYSkgpsHLHAidZd+yIhmLynWgAmkJMoCDsReKdCns=; b=bHAz6n0OiRJh4WpI6gGpC2eBxh0PVAhXQMtzCZnydCkea5/5nZkLjDEBmmhejzt57ZovvY 6ya6jVeCLjaINKKRpeTfZjkaV37cWeFIDvqVn8R/6CIU1QYd2hOHTGv6PE+thdz7n2PygO ZYBw59AZx4/y7gr4VRHvvouNCvJPZ1TsHx+9Z1UQcm2n7cAiq1zgR6PJ5FWyMeLt8nFbpv eZIz5mDs20lwfejlOmrsvdS0yfwiN0xUtAXGEt7fp4ykUozuEEGtCE/JyEvGQQITWD5qbF NWleo/+Hclhn6g/4aaguiKXPPlscDeJFsQSbNoEv780K5Qe8CwLpeekjNjhznA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745207885; a=rsa-sha256; cv=none; b=fHSUtpan1wlCAuI2Z5IfbV1zlgK9Qp0c4OOFCQgzhRBfrYHBqizWC4KG+CjpFRc06Pks7v 6sYGLXJJ2FElVlMS4UbboNu6UXpaqawIlwXPQgz1nB9jlRkgsWSTUnzYmI4r8Xn5rGqLkO bMp6E9X1TSPNZyGY3gF1cWxB6t1zgvJdF+hQQ9ouzsu6wu6cB0UXUKyrOb8oXI2do7+m2n OgqoJOTKWGl6nVqRkNJXhu2XUss+9pS5akVWK7i9zLYHDGHwyJvNOjFOU3eTKaRCe4CiRq LiVaqhqcUIjlfUR3FNwZnlSbiQaCzTRcm4+ZQ+rOU6ovYE3JRPHfiRcDMRJLFw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745207885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=70nYSkgpsHLHAidZd+yIhmLynWgAmkJMoCDsReKdCns=; b=doF+qflZJt0LTRqRBNNpyYU6BpCAsH0MCYfN2wS14x1qGLUlnOnHSZ7NqXPRw134y07ftv DhPVJftjX8e4mQF2PHdJdbaR+ceUASAiJPl+XRnNhtbA7qe7sloS5EVETjMxFZs7lvk30n b5QwNtoduVlhaCigZHgkHfu1PPRdslbDtcXsUqGBhndsfA+kraPZEGX7ypD+GOn9/2xkvX Um0yUfeS/P+gO+YfqwnK/OrQdYROieNQlsYXiDDcMtsasUD1Q42H/pdMVbI/JJiIVRkc2b z9i3WXI0sT6R2BaCFwQtBQAjEoPv0KxYfTWkbno4ESoc0nnK4O6c25qA/4BNdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgs655dGqzZhX; Mon, 21 Apr 2025 03:58: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 53L3w58X080662; Mon, 21 Apr 2025 03:58:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L3w5pa080659; Mon, 21 Apr 2025 03:58:05 GMT (envelope-from git) Date: Mon, 21 Apr 2025 03:58:05 GMT Message-Id: <202504210358.53L3w5pa080659@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: ec8e79c4e4cf - main - getfacl: add some long options for Linux compatibility List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ec8e79c4e4cfb786fdb7eb00bea2ad32660bf878 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=ec8e79c4e4cfb786fdb7eb00bea2ad32660bf878 commit ec8e79c4e4cfb786fdb7eb00bea2ad32660bf878 Author: Kyle Evans AuthorDate: 2025-04-21 03:57:44 +0000 Commit: Kyle Evans CommitDate: 2025-04-21 03:57:44 +0000 getfacl: add some long options for Linux compatibility Only three of our options have compatible looking long options, w.r.t. the commonly provided getfacl(1) on Linux systems. Of particular interest is --omit-header, which is -c on !FreeBSD and -q on FreeBSD. Reviewed by: imp, markj Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D40602 --- bin/getfacl/getfacl.1 | 8 ++++---- bin/getfacl/getfacl.c | 12 +++++++++++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/bin/getfacl/getfacl.1 b/bin/getfacl/getfacl.1 index f8ff3df432a1..b2b6294c46de 100644 --- a/bin/getfacl/getfacl.1 +++ b/bin/getfacl/getfacl.1 @@ -28,7 +28,7 @@ .\" Developed by the TrustedBSD Project. .\" Support for POSIX.1e access control lists. .\" -.Dd September 4, 2009 +.Dd June 19, 2023 .Dt GETFACL 1 .Os .Sh NAME @@ -54,7 +54,7 @@ an ACL containing only the required ACL entries. .Pp The following option is available: .Bl -tag -width indent -.It Fl d +.It Fl d , Fl -default The operation applies to the default ACL of a directory instead of the access ACL. An error is generated if a default ACL cannot be associated with @@ -67,11 +67,11 @@ the symbolic link itself rather than following the link. For NFSv4 ACLs, append numerical ID at the end of each entry containing user or group name. Ignored for POSIX.1e ACLs. -.It Fl n +.It Fl n , Fl -numeric Display user and group IDs numerically rather than converting to a user or group name. Ignored for POSIX.1e ACLs. -.It Fl q +.It Fl q , Fl -omit-header Do not write commented information about file name and ownership. This is useful when dealing with filenames with unprintable characters. diff --git a/bin/getfacl/getfacl.c b/bin/getfacl/getfacl.c index 3ac9e61555de..2b98f923d618 100644 --- a/bin/getfacl/getfacl.c +++ b/bin/getfacl/getfacl.c @@ -37,6 +37,7 @@ #include #include +#include #include #include #include @@ -46,6 +47,14 @@ static int more_than_one = 0; +static const struct option long_options[] = +{ + { "default", no_argument, NULL, 'd' }, + { "numeric", no_argument, NULL, 'n' }, + { "omit-header", no_argument, NULL, 'q' }, + { NULL, no_argument, NULL, 0 }, +}; + static void usage(void) { @@ -197,7 +206,8 @@ main(int argc, char *argv[]) qflag = 0; nflag = 0; vflag = 0; - while ((ch = getopt(argc, argv, "dhinqv")) != -1) + while ((ch = getopt_long(argc, argv, "+dhinqv", long_options, + NULL)) != -1) switch(ch) { case 'd': type = ACL_TYPE_DEFAULT; From nobody Mon Apr 21 04:00:04 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgs8P34Rdz5sr3H; Mon, 21 Apr 2025 04:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zgs8P01skz3T0T; Mon, 21 Apr 2025 04:00:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ti4A0vrco7NAkumnvWbXgtNHUj4gnySxbD2YkVvtt2E=; b=X9sflT5eHgxV4hTQ8QYs4JS2Wzqm1CamRUtE7UGLMH1vyzTsPe7CmV2pjHjOP+0Z89CJRn 8FHwk8vwvnc2qxotKd4opgXjW5fALTW0ErDTOAMZNxaIX1PgxDJFvCjgjI7ugVR3BiFUwQ HhZfl21SgHiomyerKzOoyczSvc5jic5eYDRrmAo/T2oUyWCLv9++fgZ/mjqWac01QdxBOe ISZYUW8qq4YSk0jZydFBMEl5bwffZ5ThPEH5a0Be7MJsMAcEOZZuaNbDxs542N7mfbuydY h5ZL3eFxYd5VW7UPm7bBGoo8zZjIuGRtfsqPidmr+xAy9AjmVQZUbNiabw74nw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745208005; a=rsa-sha256; cv=none; b=fOGSwxzHwt6lRdSnUDEDWThSk2Kz2OBXKRG9B/NE6znAb2qMNtOKzrkQh/UdTxsL+SBFJU lbAWfT2eYHfIKjQE+HUkPQfzRo7BPQ57xWhTRCfSmBGdgueGVSJe5M23x+uOsru9cQW73p dej3sPUbpt6etGXXAmZaT4avDX0Q9RquGfHbNKXTUHE/Z5IuxeJzfOh3WumgZ0zIvOLEt0 101w2FpoKicHbJIkQl1l8k+ef9QdxQqcAnJY94tH4tcOLiP+3XdXJGgGpSEhws30FFOtGL gP71LkFHRPNFWpQ/gLdwCi38V7XqgspmIMsTwq5gj27gBCbQFfe1Gkhe4XwJhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ti4A0vrco7NAkumnvWbXgtNHUj4gnySxbD2YkVvtt2E=; b=B7aarsxiWixpiU03p9DnTQvNdEpGtNYbRnD+uRrjNSWkc20lbyxW8Eg81nq6S4xTZ9wtko 5RiGlWuuOrNGN7qaDslcZ6dZXc5kOpWuvn04dbhnUnXkplL0zTG35hYAQmlVOP96aAIgMz vQDU5wx16FwCW9QvkTmxkMn4u996Tq4+yva5m45vs0U8DUtuUfE2ATPEU9SJAiqp3R7H0G iJtbvxZsh5HHPHy3UzhPDg/KhfY96v4oE3xEgdgjB56tdeoTq4nb6mPzxZe6fq77/KgSWI VVfDezJz9cvi8hvGl6t2X6oU2MRPJM7YECyUq0hocYrnFZnhYIetHQXJc8GwKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgs8N6TBrzZTY; Mon, 21 Apr 2025 04:00: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 53L404nu085011; Mon, 21 Apr 2025 04:00:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L404YU085007; Mon, 21 Apr 2025 04:00:04 GMT (envelope-from git) Date: Mon, 21 Apr 2025 04:00:04 GMT Message-Id: <202504210400.53L404YU085007@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 77721403c91d - main - libpmcstat: fix pmcstat -G on older-ish -CURRENT w/ drm-kmod List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 77721403c91d67dbfd5a2c5c667e7f5d87acb3f6 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=77721403c91d67dbfd5a2c5c667e7f5d87acb3f6 commit 77721403c91d67dbfd5a2c5c667e7f5d87acb3f6 Author: Kyle Evans AuthorDate: 2025-04-21 04:00:01 +0000 Commit: Kyle Evans CommitDate: 2025-04-21 04:00:01 +0000 libpmcstat: fix pmcstat -G on older-ish -CURRENT w/ drm-kmod The linuxkpi_gplv2.ko module on older-ish -CURRENT had absolutely no .text contents, but it was still loaded. Instead of hitting the later assertion because 0 is not less than 0, we can just skip images like this as we should not have any samples from them. Reviewed by: gallatin Differential Revision: https://reviews.freebsd.org/D39875 --- lib/libpmcstat/libpmcstat_image.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/libpmcstat/libpmcstat_image.c b/lib/libpmcstat/libpmcstat_image.c index 414ba133590b..69274dca31e8 100644 --- a/lib/libpmcstat/libpmcstat_image.c +++ b/lib/libpmcstat/libpmcstat_image.c @@ -193,6 +193,14 @@ pmcstat_image_link(struct pmcstat_process *pp, struct pmcstat_image *image, assert(image->pi_type != PMCSTAT_IMAGE_UNKNOWN && image->pi_type != PMCSTAT_IMAGE_INDETERMINABLE); + /* + * It's possible to have images with nothing of value in .text + * legitimately. We shouldn't have any samples from this image, so + * don't bother with a map entry either. + */ + if (image->pi_start == 0 && image->pi_end == 0) + return; + if ((pcmnew = malloc(sizeof(*pcmnew))) == NULL) err(EX_OSERR, "ERROR: Cannot create a map entry"); From nobody Mon Apr 21 04:13:01 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgsRK6XFJz5ss24; Mon, 21 Apr 2025 04:13:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgsRK5Snnz3bkV; Mon, 21 Apr 2025 04:13:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208781; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XUEbfvlKI3PXPgMx+wKjiBhCGeIHah6fqjjd1WJ8w8M=; b=G2Gg5DTBQmtru6JJvWAsO6VUXPSTEnA9ELniGixzKeYaXNygS8tx71XN9tg9hfH+MkTv3M +UkfqCVKJzeoPfPmvDAfe9m2zFMzqO+IHsBLaDOuOfq0HmGlGE2YHNA/X+MhUrI9gb52s5 Hvj8pKf7npGAmKrJNxvdwMX/4Lg3WZZUpcDDs1HBbYQOvAtiDP6KgDtvGVlSQK57ZYxpQl 92R1nUnfmJMHX6VhAgY076pFLMkTcpcV0D5lQsEiJR5Gn22VV8VFBOt0FEkSvKrkdHwUYi Rk3y8ePOM+JM8nr/+Yy9PFWD9ak7+s5VtCMo+xySaGcXzNS8MyzZTWibMsXD8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745208781; a=rsa-sha256; cv=none; b=GuXt5C9IRJkRf9B3/ynfHHsgijI2LaraHJmSMbFQwnzzbpbEfy+CwEF8awvEN10ciCJs8U PVl7AGbYdr0Kv72EKXH7jj6wQkV+QR5FHLQND99mqxcMYLt5hdszDKM3mUShyrdxGAxdKe wHxvVPFfEmhjBS3ud9N5L7xrV4E1pea3eqKv/iI8As2GnAEDprSvJVEK36I2SxxSgd2gW0 lw1JyUKmS37xoqOJxLHZUHwaQDnbAss8j29yURiwQAkFnENdGXxXtQOvPJCrxfa3JX93PD UeZ3jscFk+G1C39SqpKDMkn77Utba4jICs1fHcTogdC+4WviG3deEYdQpIRBvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208781; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XUEbfvlKI3PXPgMx+wKjiBhCGeIHah6fqjjd1WJ8w8M=; b=tWEUTfr0bIUhJ7iyEzSkfsZIfwxdtuTr08WZPDdsVaEmZorKgKOsCf4XqXqOW63RY8te9T fORj/252bPtUOIDNP5XI/1wb6AuBP6z39LV/SWQg+zCENti79acPbEoP5UTtm/C7QMotNm jxvBap6OjUmQR25gDQN3eZ1WFSMGzJOHKIL17IlF4bysrCdR26JELQ3upY0CiAkBTim/fE BsCQRBTneuuSIsNF0I2/FKcJubhr5Bq4ZyUdkli/+07OdUXhwo837a2fte75HR4ZkXu5vj vQeN4r+ybe6OSX/VHd9RjU0/a+VXwASah8zGRJ/v3poxFLpjvemutYPfBZky5Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgsRK4yS2zZll; Mon, 21 Apr 2025 04:13: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 53L4D1Xp017789; Mon, 21 Apr 2025 04:13:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L4D1ol017786; Mon, 21 Apr 2025 04:13:01 GMT (envelope-from git) Date: Mon, 21 Apr 2025 04:13:01 GMT Message-Id: <202504210413.53L4D1ol017786@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 478c4fab8405 - main - riscv: replace tailq pointers with iterators List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 478c4fab8405b18b784c9e6b60eb023354645a35 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=478c4fab8405b18b784c9e6b60eb023354645a35 commit 478c4fab8405b18b784c9e6b60eb023354645a35 Author: Doug Moore AuthorDate: 2025-04-21 04:02:50 +0000 Commit: Doug Moore CommitDate: 2025-04-21 04:02:50 +0000 riscv: replace tailq pointers with iterators Change architecture-specific code to use iterators rather than tailq pointers. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49928 --- sys/riscv/riscv/pmap.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/sys/riscv/riscv/pmap.c b/sys/riscv/riscv/pmap.c index c8a69f9674e9..46dea0d7dc85 100644 --- a/sys/riscv/riscv/pmap.c +++ b/sys/riscv/riscv/pmap.c @@ -3614,31 +3614,33 @@ void pmap_enter_object(pmap_t pmap, vm_offset_t start, vm_offset_t end, vm_page_t m_start, vm_prot_t prot) { + struct pctrie_iter pages; struct rwlock *lock; vm_offset_t va; vm_page_t m, mpte; - vm_pindex_t diff, psize; int rv; VM_OBJECT_ASSERT_LOCKED(m_start->object); - psize = atop(end - start); mpte = NULL; - m = m_start; + vm_page_iter_limit_init(&pages, m_start->object, + m_start->pindex + atop(end - start)); + m = vm_radix_iter_lookup(&pages, m_start->pindex); lock = NULL; rw_rlock(&pvh_global_lock); PMAP_LOCK(pmap); - while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { - va = start + ptoa(diff); + while (m != NULL) { + va = start + ptoa(m->pindex - m_start->pindex); if ((va & L2_OFFSET) == 0 && va + L2_SIZE <= end && m->psind == 1 && pmap_ps_enabled(pmap) && ((rv = pmap_enter_2mpage(pmap, va, m, prot, &lock)) == - KERN_SUCCESS || rv == KERN_NO_SPACE)) - m = &m[L2_SIZE / PAGE_SIZE - 1]; - else + KERN_SUCCESS || rv == KERN_NO_SPACE)) { + m = vm_radix_iter_jump(&pages, L2_SIZE / PAGE_SIZE); + } else { mpte = pmap_enter_quick_locked(pmap, va, m, prot, mpte, &lock); - m = TAILQ_NEXT(m, listq); + m = vm_radix_iter_step(&pages); + } } if (lock != NULL) rw_wunlock(lock); From nobody Mon Apr 21 04:13:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgsRM2LZjz5sqPQ; Mon, 21 Apr 2025 04:13:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgsRL72ZDz3bH6; Mon, 21 Apr 2025 04:13:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z0AuhYzgDkW6m9tN09SQ0vpw0OXU1IwsFNViZcIzdVw=; b=N/XvdamN2xIAVrJCqFTrx74InJXrkPCvE9+GnzhmvzWvz1/TcVpW01X7rnzaN7H7dvYOyH IwxaDrayHAyYqo8hcB/QqiQpKjHC7o5ojuECJZJKZyn2jx8N7Zrh1KjfmyQNaQDgOsEov6 4w+PZXnchm49M1/WH9vHa1lY9HbTjV+udTqyDVklo1cJT/0H1rwuYF7EtEeECB6xFmCGem 4JNtYMY5DlohaCxSp0EShvlnAwQ/m3PB0z0cVss5af5YRWL6ZpBFB3V8DoZGI07qpKTYFg FwasveyK7DB4KeWVOzhWxa7HrXXQLjyMXTcd7IIIIHrQqeDCubQLevO1MRz3Jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745208783; a=rsa-sha256; cv=none; b=Mn5oq2TyzfbcJ+OirQeW1C7FfgB8kZvNzpTN6UU2DuMRjGICwa13THXNbv7KB90DlW8G0A NDM2r2qx+DpblUxnHRTdWWVqvGGpKvs1KPDKNAVBqkKrVbI6d1Q3304KUnX9KmImQdLo3D OOb39bun8y3ag2k8oV5yemYXaXyy6DBQrNqz0MiJe2EZ19tbBqAgK0GkFO4Wg3w7CxknhV lP95wlqstHA3PsQ79klHKMQErlajNdYwKHadWi0Qq6LOlkv8DxoH0JL9gXR2ZGj3j/adI3 OpeCqXdHg48bahGOn0KWBn5OFfHZ6XZNcV2agcDxp8yyrNeGo7G9glIEH8Ds6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z0AuhYzgDkW6m9tN09SQ0vpw0OXU1IwsFNViZcIzdVw=; b=SMQwzoE5B+6S7MBdC5kIYKUPBZqKhLBFvPB2zBdsbq0HhnfeFVD9W/tpxVpO9tUpScbn74 romonrRyjr3OSHRUnfGA7nZk/qYLvFvLQcj7mW7CZf0ak62hG7tBdTenlPpn6hq6Cq81UJ E4yeq/QeQkpH49EKWOI5HPIzYt9Ksyi0b2rV8DEwi2zGpBXQQZVXWGtcZl7ajuTkbGUJGP YO8HF0RLvEfO8+16jqCPd+kG2GLmu9b4JoZoK6omLed6sN9LXHOQ6gWZdGPTvvGlycl1b/ OV+a4/pF40x7pY5HkuGGOPiEa5f6R4fhmGs5QKOBN38SAgIRuA4Wi/wRSVxyrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgsRL5zrTzbBW; Mon, 21 Apr 2025 04:13: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 53L4D2Mc017826; Mon, 21 Apr 2025 04:13:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L4D2kX017823; Mon, 21 Apr 2025 04:13:02 GMT (envelope-from git) Date: Mon, 21 Apr 2025 04:13:02 GMT Message-Id: <202504210413.53L4D2kX017823@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: b6cd84ca2d08 - main - powerpc: replace tailq pointers with iterators List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b6cd84ca2d08b39e6a51a782ddf2b58293be6cba Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=b6cd84ca2d08b39e6a51a782ddf2b58293be6cba commit b6cd84ca2d08b39e6a51a782ddf2b58293be6cba Author: Doug Moore AuthorDate: 2025-04-21 04:04:43 +0000 Commit: Doug Moore CommitDate: 2025-04-21 04:04:43 +0000 powerpc: replace tailq pointers with iterators Change architecture-specific code to use iterators rather than tailq pointers. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49927 --- sys/powerpc/aim/mmu_oea.c | 16 ++++++++++------ sys/powerpc/aim/mmu_oea64.c | 17 ++++++++++------- sys/powerpc/aim/mmu_radix.c | 31 +++++++++++++++++-------------- sys/powerpc/booke/pmap.c | 15 +++++++++------ 4 files changed, 46 insertions(+), 33 deletions(-) diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index 7f1f64a51db5..7746b668265d 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -135,6 +135,7 @@ #include #include #include +#include #include #include @@ -1235,20 +1236,23 @@ void moea_enter_object(pmap_t pm, vm_offset_t start, vm_offset_t end, vm_page_t m_start, vm_prot_t prot) { + struct pctrie_iter pages; + vm_offset_t va; vm_page_t m; - vm_pindex_t diff, psize; VM_OBJECT_ASSERT_LOCKED(m_start->object); - psize = atop(end - start); - m = m_start; + vm_page_iter_limit_init(&pages, m_start->object, + m_start->pindex + atop(end - start)); + m = vm_radix_iter_lookup(&pages, m_start->pindex); rw_wlock(&pvh_global_lock); PMAP_LOCK(pm); - while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { - moea_enter_locked(pm, start + ptoa(diff), m, prot & + while (m != NULL) { + va = start + ptoa(m->pindex - m_start->pindex); + moea_enter_locked(pm, va, m, prot & (VM_PROT_READ | VM_PROT_EXECUTE), PMAP_ENTER_QUICK_LOCKED, 0); - m = TAILQ_NEXT(m, listq); + m = vm_radix_iter_step(&pages); } rw_wunlock(&pvh_global_lock); PMAP_UNLOCK(pm); diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c index 7e23d73557a5..e24f591498dd 100644 --- a/sys/powerpc/aim/mmu_oea64.c +++ b/sys/powerpc/aim/mmu_oea64.c @@ -81,6 +81,7 @@ #include #include #include +#include #include #include @@ -1826,17 +1827,18 @@ void moea64_enter_object(pmap_t pm, vm_offset_t start, vm_offset_t end, vm_page_t m_start, vm_prot_t prot) { + struct pctrie_iter pages; vm_page_t m; - vm_pindex_t diff, psize; vm_offset_t va; int8_t psind; VM_OBJECT_ASSERT_LOCKED(m_start->object); - psize = atop(end - start); - m = m_start; - while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { - va = start + ptoa(diff); + vm_page_iter_limit_init(&pages, m_start->object, + m_start->pindex + atop(end - start)); + m = vm_radix_iter_lookup(&pages, m_start->pindex); + while (m != NULL) { + va = start + ptoa(m->pindex - m_start->pindex); if ((va & HPT_SP_MASK) == 0 && va + HPT_SP_SIZE <= end && m->psind == 1 && moea64_ps_enabled(pm)) psind = 1; @@ -1846,8 +1848,9 @@ moea64_enter_object(pmap_t pm, vm_offset_t start, vm_offset_t end, (VM_PROT_READ | VM_PROT_EXECUTE), PMAP_ENTER_NOSLEEP | PMAP_ENTER_QUICK_LOCKED, psind); if (psind == 1) - m = &m[HPT_SP_SIZE / PAGE_SIZE - 1]; - m = TAILQ_NEXT(m, listq); + m = vm_radix_iter_jump(&pages, HPT_SP_SIZE / PAGE_SIZE); + else + m = vm_radix_iter_step(&pages); } } diff --git a/sys/powerpc/aim/mmu_radix.c b/sys/powerpc/aim/mmu_radix.c index 388ab386b35a..cda8dd1c0946 100644 --- a/sys/powerpc/aim/mmu_radix.c +++ b/sys/powerpc/aim/mmu_radix.c @@ -3334,33 +3334,34 @@ void mmu_radix_enter_object(pmap_t pmap, vm_offset_t start, vm_offset_t end, vm_page_t m_start, vm_prot_t prot) { - + struct pctrie_iter pages; struct rwlock *lock; vm_offset_t va; vm_page_t m, mpte; - vm_pindex_t diff, psize; bool invalidate; + VM_OBJECT_ASSERT_LOCKED(m_start->object); CTR6(KTR_PMAP, "%s(%p, %#x, %#x, %p, %#x)", __func__, pmap, start, end, m_start, prot); - invalidate = false; - psize = atop(end - start); mpte = NULL; - m = m_start; + vm_page_iter_limit_init(&pages, m_start->object, + m_start->pindex + atop(end - start)); + m = vm_radix_iter_lookup(&pages, m_start->pindex); lock = NULL; PMAP_LOCK(pmap); - while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { - va = start + ptoa(diff); + while (m != NULL) { + va = start + ptoa(m->pindex - m_start->pindex); if ((va & L3_PAGE_MASK) == 0 && va + L3_PAGE_SIZE <= end && m->psind == 1 && mmu_radix_ps_enabled(pmap) && - pmap_enter_2mpage(pmap, va, m, prot, &lock)) - m = &m[L3_PAGE_SIZE / PAGE_SIZE - 1]; - else + pmap_enter_2mpage(pmap, va, m, prot, &lock)) { + m = vm_radix_iter_jump(&pages, L3_PAGE_SIZE / PAGE_SIZE); + } else { mpte = mmu_radix_enter_quick_locked(pmap, va, m, prot, mpte, &lock, &invalidate); - m = TAILQ_NEXT(m, listq); + m = vm_radix_iter_step(&pages); + } } ptesync(); if (lock != NULL) @@ -4043,6 +4044,7 @@ void mmu_radix_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { + struct pctrie_iter pages; pml3_entry_t *l3e; vm_paddr_t pa, ptepa; vm_page_t p, pdpg; @@ -4059,7 +4061,9 @@ mmu_radix_object_init_pt(pmap_t pmap, vm_offset_t addr, return; if (!vm_object_populate(object, pindex, pindex + atop(size))) return; - p = vm_page_lookup(object, pindex); + vm_page_iter_init(&pages, object); + p = vm_radix_iter_lookup(&pages, pindex); + KASSERT(p->valid == VM_PAGE_BITS_ALL, ("pmap_object_init_pt: invalid page %p", p)); ma = p->md.mdpg_cache_attrs; @@ -4077,15 +4081,14 @@ mmu_radix_object_init_pt(pmap_t pmap, vm_offset_t addr, * the pages are not physically contiguous or have differing * memory attributes. */ - p = TAILQ_NEXT(p, listq); for (pa = ptepa + PAGE_SIZE; pa < ptepa + size; pa += PAGE_SIZE) { + p = vm_radix_iter_next(&pages); KASSERT(p->valid == VM_PAGE_BITS_ALL, ("pmap_object_init_pt: invalid page %p", p)); if (pa != VM_PAGE_TO_PHYS(p) || ma != p->md.mdpg_cache_attrs) return; - p = TAILQ_NEXT(p, listq); } PMAP_LOCK(pmap); diff --git a/sys/powerpc/booke/pmap.c b/sys/powerpc/booke/pmap.c index 9f96255ea00e..62fd21d4f073 100644 --- a/sys/powerpc/booke/pmap.c +++ b/sys/powerpc/booke/pmap.c @@ -1457,20 +1457,23 @@ static void mmu_booke_enter_object(pmap_t pmap, vm_offset_t start, vm_offset_t end, vm_page_t m_start, vm_prot_t prot) { + struct pctrie_iter pages; + vm_offset_t va; vm_page_t m; - vm_pindex_t diff, psize; VM_OBJECT_ASSERT_LOCKED(m_start->object); - psize = atop(end - start); - m = m_start; + vm_page_iter_limit_init(&pages, m_start->object, + m_start->pindex + atop(end - start)); + m = vm_radix_iter_lookup(&pages, m_start->pindex); rw_wlock(&pvh_global_lock); PMAP_LOCK(pmap); - while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { - mmu_booke_enter_locked(pmap, start + ptoa(diff), m, + while (m != NULL) { + va = start + ptoa(m->pindex - m_start->pindex); + mmu_booke_enter_locked(pmap, va, m, prot & (VM_PROT_READ | VM_PROT_EXECUTE), PMAP_ENTER_NOSLEEP | PMAP_ENTER_QUICK_LOCKED, 0); - m = TAILQ_NEXT(m, listq); + m = vm_radix_iter_step(&pages); } PMAP_UNLOCK(pmap); rw_wunlock(&pvh_global_lock); From nobody Mon Apr 21 04:13:03 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgsRN26dkz5srYp; Mon, 21 Apr 2025 04:13:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgsRN0HTmz3bZ8; Mon, 21 Apr 2025 04:13:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WGoqzvHqXxrH7ljOdUKhHN4cNiTu8yK4BRIhqQlQoJI=; b=YXPSOABxIX4B4zS72f9tC7U4SFhdBb4nGlbx0DltBA/qMVkbQUEgclhlnPsV6bj9U/KA1a FfZRkyrKd9ZxRTFfoROihn0lW/UNkfZz8P6ZTpTXRJgCNAFb4BtZ/AXzeTi97nSY0kVufZ oPlyCNR58BB2ijbm3LIH1eEff+ODfBqLNyI5/Sp+ptaNntbgcMF9rSnExIE8q9jnBu0a3X 356XyddZyh957ALvZL/5JKKw5Gjn/kGQjuE8cvTUhidfcfa/Ni4Gb/Pa/iOvPvcYQmS0M1 Q8kwUPykUai0r+bwmdUrwsm9sRZwEEAHRGrOeBkyPm62ZjpvuAMzFM7NAhP+aw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745208784; a=rsa-sha256; cv=none; b=hZ6KTp14vkRSp0slKTI0+GS32eZ75soTPwOXINY06/U3dyoQk9VXsJSeSDI7Q5pK7SQGMs mUDQpPOj0B/hmMpaW2SxWaJwLxe5ZhXWhKipxUE7Ak7OlPqjH9QYkJWR2MJ9FoULovHxUA JvLxWO3TAVk6uFnvJEbeDisnQKfad3QJtM2T2XUj8z4DSH3Xqo8cjuo3CUjXTwGtY7FZVU 9NlTbsXCR32ezegnhSgO372O6s7P3qzqTzxqUwMpNchk0ufVozAK8jYvcstvgrdSazE5yq WAZQlWtXVCsJGOlvK60ZFKt7xQYDSOp+qgAN7eduYLqoVahD6AOozQrUauAxcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WGoqzvHqXxrH7ljOdUKhHN4cNiTu8yK4BRIhqQlQoJI=; b=hmZOrK91Hv0EqTOvV5U/bG+me2fGr+rueq8kJ2+I7ljMV2EaNhGmQb7wSw/CDDLXzBuOa8 AT72H0zJG8CBjG4C7RtCrdMvGuNYeUluGawXkGqjq5LUoPooqXHlQQ6oKkGgsHKozZ1bjz 78fd5z7eXt2lUM3uZfFUjM3tZH/cQxdL2oXMMxoiQXLtS+RRAz+W/DB9C4Ln7z297MbjGa vAXTlHpIU6l5N0bER5D3SltmT3YBTRnN809izmEAPofBzTYi4GtCELh0ucRnh0DOOaFogh z19/LRBhP5t9pvPz42s+ugiCZA0yw7npwfe1DZLsJjU4sP43fPJurTQLSUz5cQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgsRM6hPPzb4w; Mon, 21 Apr 2025 04:13: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 53L4D38u017861; Mon, 21 Apr 2025 04:13:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L4D3c6017858; Mon, 21 Apr 2025 04:13:03 GMT (envelope-from git) Date: Mon, 21 Apr 2025 04:13:03 GMT Message-Id: <202504210413.53L4D3c6017858@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: f16d2213af21 - main - i386: replace tailq pointers with iterators List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f16d2213af2187644563a7db34f2f0dad7d5ae4b Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=f16d2213af2187644563a7db34f2f0dad7d5ae4b commit f16d2213af2187644563a7db34f2f0dad7d5ae4b Author: Doug Moore AuthorDate: 2025-04-21 04:05:48 +0000 Commit: Doug Moore CommitDate: 2025-04-21 04:05:48 +0000 i386: replace tailq pointers with iterators Change architecture-specific code to use iterators rather than tailq pointers. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49926 --- sys/i386/i386/pmap.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index 302e493e44d1..89701c1061b0 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -4095,29 +4095,30 @@ static void __CONCAT(PMTYPE, enter_object)(pmap_t pmap, vm_offset_t start, vm_offset_t end, vm_page_t m_start, vm_prot_t prot) { + struct pctrie_iter pages; vm_offset_t va; vm_page_t m, mpte; - vm_pindex_t diff, psize; int rv; VM_OBJECT_ASSERT_LOCKED(m_start->object); - psize = atop(end - start); mpte = NULL; - m = m_start; + vm_page_iter_limit_init(&pages, m_start->object, + m_start->pindex + atop(end - start)); + m = vm_radix_iter_lookup(&pages, m_start->pindex); rw_wlock(&pvh_global_lock); PMAP_LOCK(pmap); - while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { - va = start + ptoa(diff); + while (m != NULL) { + va = start + ptoa(m->pindex - m_start->pindex); if ((va & PDRMASK) == 0 && va + NBPDR <= end && m->psind == 1 && pg_ps_enabled && ((rv = pmap_enter_4mpage(pmap, va, m, prot)) == - KERN_SUCCESS || rv == KERN_NO_SPACE)) - m = &m[NBPDR / PAGE_SIZE - 1]; - else - mpte = pmap_enter_quick_locked(pmap, va, m, prot, - mpte); - m = TAILQ_NEXT(m, listq); + KERN_SUCCESS || rv == KERN_NO_SPACE)) { + m = vm_radix_iter_jump(&pages, NBPDR / PAGE_SIZE); + } else { + mpte = pmap_enter_quick_locked(pmap, va, m, prot, mpte); + m = vm_radix_iter_step(&pages); + } } rw_wunlock(&pvh_global_lock); PMAP_UNLOCK(pmap); @@ -4285,6 +4286,7 @@ static void __CONCAT(PMTYPE, object_init_pt)(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { + struct pctrie_iter pages; pd_entry_t *pde; vm_paddr_t pa, ptepa; vm_page_t p; @@ -4297,7 +4299,8 @@ __CONCAT(PMTYPE, object_init_pt)(pmap_t pmap, vm_offset_t addr, (addr & (NBPDR - 1)) == 0 && (size & (NBPDR - 1)) == 0) { if (!vm_object_populate(object, pindex, pindex + atop(size))) return; - p = vm_page_lookup(object, pindex); + vm_page_iter_init(&pages, object); + p = vm_radix_iter_lookup(&pages, pindex); KASSERT(vm_page_all_valid(p), ("pmap_object_init_pt: invalid page %p", p)); pat_mode = p->md.pat_mode; @@ -4315,15 +4318,14 @@ __CONCAT(PMTYPE, object_init_pt)(pmap_t pmap, vm_offset_t addr, * the pages are not physically contiguous or have differing * memory attributes. */ - p = TAILQ_NEXT(p, listq); for (pa = ptepa + PAGE_SIZE; pa < ptepa + size; pa += PAGE_SIZE) { + p = vm_radix_iter_next(&pages); KASSERT(vm_page_all_valid(p), ("pmap_object_init_pt: invalid page %p", p)); if (pa != VM_PAGE_TO_PHYS(p) || pat_mode != p->md.pat_mode) return; - p = TAILQ_NEXT(p, listq); } /* From nobody Mon Apr 21 04:13:04 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgsRP35dkz5ss0d; Mon, 21 Apr 2025 04:13:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgsRP1Bk4z3bZB; Mon, 21 Apr 2025 04:13:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rgJMEjP/8qPgu0SVDeEQHZoHbXMc/eV+kAYaNq/XnCU=; b=qsegW9dyc5WiztkKVwbeGen4bmkvKM0GvSX1yWCXwF6owTM4MOeFUJxw77XP9wRvMVLjT3 jCpW6vw3gAyAWESlJ/1+fzgS0/xt5DvYcYVn/FqTUGDBw7edIUmVuVdamJYHSOrlAz2JjV G0wSyOCLf3UCgbWXj15tbe9fP7MrVdaxn1PkYioGvo9zDxEAQ6Cz4AAFSzD7k9p3RyTGbT hNDvfL6GwLRlP2Up6yDmI5CnWpFHVIm13dcv6WJldreUPo6QLeN1/qx9YuvtCyAjXJCNfj 83mZQgeYqDACU3VAlXqiY3dPSan3zxRmvfZZSdxpWMMi+oqqumhZAGwUwh+1OQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745208785; a=rsa-sha256; cv=none; b=OZ+X65QwTEhLht78XHuNZSupG8R+RRJxO1afB/ly2DYCp+cPBp9fsCKbhISU2QWSoccdpe YPwQRbye+DJYK7RMj/tIEJXyOpF7GYget1W4JkdWZzSFM7jLet38v008juS3x6rBHHD83M 025lZnst28tOXC0Lavn5GFOPW/018mDbDVCfFuR3+N0Zrd9UVQ9GxIc4Noa7Uv1nq804VK ERP2znCR9RJGcdwT/NhhOoCvabyI2EqKMMvpD2Kii9AWcYCEWQWe54Qm+Oq4SU2DKrXpOr Rh2NjxaJVqMwe3uRzxUH5mrtGFOFF5D5UvWLgpBvq9NSxxadKQltb2KzuN6ZPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rgJMEjP/8qPgu0SVDeEQHZoHbXMc/eV+kAYaNq/XnCU=; b=APgbRBcEnLD7PvWCUaXz3Sn7K31ok3Su1rQPcC0ZgfH1jzNoh/cMENzPgxOOtPuM1k0JJX fbK9qbCJJGjpbZibueacRqJhLb43eeBpwUkRTPksgSj0wh07uUpUKvFosfzp9ASqTaJN2r 4bQ70KJlPDyU+dmSIVmaKgaWoaZC0NIwE0JHJuTuiclhkyhKhFc1RO2vCgg25JNN2swb+Y hebOvpYeKB+hLjbZGskL2xaanxxEAeqGD5HASSRFbs9NrLJ5yYQmDk3/M/G+G7neq4Jkwr iwe8NMigf2zDqjHRwnVeoy+qFRQZJcZF6b9TV1LZbrnqz7YDZjIOBZOUSjnqvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgsRP0kz9zbNT; Mon, 21 Apr 2025 04:13: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 53L4D5WK017898; Mon, 21 Apr 2025 04:13:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L4D4TR017895; Mon, 21 Apr 2025 04:13:04 GMT (envelope-from git) Date: Mon, 21 Apr 2025 04:13:04 GMT Message-Id: <202504210413.53L4D4TR017895@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: b7e671bf3e56 - main - arm64: replace tailq pointers with iterators List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b7e671bf3e561b99f2603a0356a8fd0123d0e921 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=b7e671bf3e561b99f2603a0356a8fd0123d0e921 commit b7e671bf3e561b99f2603a0356a8fd0123d0e921 Author: Doug Moore AuthorDate: 2025-04-21 04:08:53 +0000 Commit: Doug Moore CommitDate: 2025-04-21 04:08:53 +0000 arm64: replace tailq pointers with iterators Change architecture-specific code to use iterators rather than tailq pointers. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49925 --- sys/arm64/arm64/efirt_machdep.c | 5 ++++- sys/arm64/arm64/pmap.c | 25 +++++++++++++------------ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/sys/arm64/arm64/efirt_machdep.c b/sys/arm64/arm64/efirt_machdep.c index aad3761844e1..0f46e44f5d6a 100644 --- a/sys/arm64/arm64/efirt_machdep.c +++ b/sys/arm64/arm64/efirt_machdep.c @@ -55,6 +55,7 @@ #include #include #include +#include static vm_object_t obj_1t1_pt; static vm_pindex_t efi_1t1_idx; @@ -64,11 +65,13 @@ static uint64_t efi_ttbr0; void efi_destroy_1t1_map(void) { + struct pctrie_iter pages; vm_page_t m; if (obj_1t1_pt != NULL) { + vm_page_iter_init(&pages, obj_1t1_pt); VM_OBJECT_RLOCK(obj_1t1_pt); - TAILQ_FOREACH(m, &obj_1t1_pt->memq, listq) + VM_RADIX_FOREACH(m, &pages) m->ref_count = VPRC_OBJREF; vm_wire_sub(obj_1t1_pt->resident_page_count); VM_OBJECT_RUNLOCK(obj_1t1_pt); diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 14ef7dd0169c..e3b8e3bf01ee 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -6009,32 +6009,33 @@ void pmap_enter_object(pmap_t pmap, vm_offset_t start, vm_offset_t end, vm_page_t m_start, vm_prot_t prot) { + struct pctrie_iter pages; struct rwlock *lock; vm_offset_t va; vm_page_t m, mpte; - vm_pindex_t diff, psize; int rv; VM_OBJECT_ASSERT_LOCKED(m_start->object); - psize = atop(end - start); mpte = NULL; - m = m_start; + vm_page_iter_limit_init(&pages, m_start->object, + m_start->pindex + atop(end - start)); + m = vm_radix_iter_lookup(&pages, m_start->pindex); lock = NULL; PMAP_LOCK(pmap); - while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { - va = start + ptoa(diff); + while (m != NULL) { + va = start + ptoa(m->pindex - m_start->pindex); if ((va & L2_OFFSET) == 0 && va + L2_SIZE <= end && m->psind == 2 && pmap_ps_enabled(pmap) && ((rv = pmap_enter_l2_rx(pmap, va, m, prot, &lock)) == - KERN_SUCCESS || rv == KERN_NO_SPACE)) - m = &m[L2_SIZE / PAGE_SIZE - 1]; - else if ((va & L3C_OFFSET) == 0 && va + L3C_SIZE <= end && + KERN_SUCCESS || rv == KERN_NO_SPACE)) { + m = vm_radix_iter_jump(&pages, L2_SIZE / PAGE_SIZE); + } else if ((va & L3C_OFFSET) == 0 && va + L3C_SIZE <= end && m->psind >= 1 && pmap_ps_enabled(pmap) && ((rv = pmap_enter_l3c_rx(pmap, va, m, &mpte, prot, - &lock)) == KERN_SUCCESS || rv == KERN_NO_SPACE)) - m = &m[L3C_ENTRIES - 1]; - else { + &lock)) == KERN_SUCCESS || rv == KERN_NO_SPACE)) { + m = vm_radix_iter_jump(&pages, L3C_ENTRIES); + } else { /* * In general, if a superpage mapping were possible, * it would have been created above. That said, if @@ -6046,8 +6047,8 @@ pmap_enter_object(pmap_t pmap, vm_offset_t start, vm_offset_t end, */ mpte = pmap_enter_quick_locked(pmap, va, m, prot | VM_PROT_NO_PROMOTE, mpte, &lock); + m = vm_radix_iter_step(&pages); } - m = TAILQ_NEXT(m, listq); } if (lock != NULL) rw_wunlock(lock); From nobody Mon Apr 21 04:13:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgsRQ6t1Rz5srhp; Mon, 21 Apr 2025 04:13:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgsRQ2kWQz3bWb; Mon, 21 Apr 2025 04:13:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208786; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O7vI2MReK3ooTEGzUieRN1MAJX+UbKqyrkBoLKlCmWA=; b=oJSTkGqQgr6QkRShOE9+IVCKlBqhR7Z4R/b1W3WBlo24Q/M4TCPiPLvWB+EZcX6jo/hPYk VM7zHJYAi9r65veTMC5zHsUx8VEvzVf0MGhdCJDnh2WA5Q0lzIavjFpeepNH+YITIav+pJ PIytLabuwG1LXPTnWWEtW+2YetNH9M6VoZYv0NrOAZltf73Nh069HMxKf5MJRZoGR6uN4S UF2lhWa0bQG+/Fh1BAW8tdTHqocRs+KSLe6oY3JTpQ+1mIy9zeZiA9IGyvSS4H/Xjix8zi 2cEstwBhp9Gy006cBNMTHwYPRNHoybje5SFBuAsD7aEsCs87Jf9DDz4loPRZmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745208786; a=rsa-sha256; cv=none; b=o3jcku0dQcKJ/Tme5XNllRiJjukzjErIkbhP+PUefiDVvoT7CfdM2wPExd2lRjMdS2awnq q4sn+MWsnn4o551tSlo+wU6nuFA5qyrKspIEoQdJTUzHVjxGcLPSesW93sNZmfH8WH7oMf JViPvWFyl+QksNh4J/O/Sg4oIPmNAYsBL3prfFO3+e+QJ6z5rrMZuY5ryRtq9qAOg063vk 9OE9POeht6IujfLLf1Lxhftq5Am0X7vrtOpJErbBLvdHYWGp6afH2kADmibAt3Jh5oe+cn wnHZmMPidwHKZMVrHkc9UjGPe9A5BxAyBkV9CuD844X/a4BBR2gkz4VheNDtRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208786; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O7vI2MReK3ooTEGzUieRN1MAJX+UbKqyrkBoLKlCmWA=; b=BHgvRaMAwuV731b4AfLcVPGUCt4SRuLSuQtTHbI7kQt1NkWe98B9txJHT8tKO47U8dUZTI jhEqmt2wW2oNr3zmxET+5aJ11B417JZ6FKm2xs3ZOWqwt+tUZd4pjOtZOl72NGBmvuY++P Zjtq4bxlWelRv3SKf7SEscoO6gqm4eIyUfKpOjxUA7U+HHznrGo1A0jhlHAEJ/tOf9UVMh JRkk2RB0nq88r4ePz6JhL5UO8MwFkN/GARkn6I36LhzmvyhYgywxJZfdFE4NefoVznqtiY 78GDM9mSaCy9ZS8QQl3hCq6XTQ/AbtJMHm1VO3Nphu1AknQHSkFEO3uBbEkOcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgsRQ1sxVzbQs; Mon, 21 Apr 2025 04:13: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 53L4D6QE017934; Mon, 21 Apr 2025 04:13:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L4D6iO017931; Mon, 21 Apr 2025 04:13:06 GMT (envelope-from git) Date: Mon, 21 Apr 2025 04:13:06 GMT Message-Id: <202504210413.53L4D6iO017931@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: c5f477a637c2 - main - arm: replace tailq pointers with iterators List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c5f477a637c28a28b13b91e6d8dac6015277c8e6 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=c5f477a637c28a28b13b91e6d8dac6015277c8e6 commit c5f477a637c28a28b13b91e6d8dac6015277c8e6 Author: Doug Moore AuthorDate: 2025-04-21 04:10:17 +0000 Commit: Doug Moore CommitDate: 2025-04-21 04:10:17 +0000 arm: replace tailq pointers with iterators Change architecture-specific code to use iterators rather than tailq pointers. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49924 --- sys/arm/arm/pmap-v6.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/sys/arm/arm/pmap-v6.c b/sys/arm/arm/pmap-v6.c index bb2aced34c94..fafa8908dcd1 100644 --- a/sys/arm/arm/pmap-v6.c +++ b/sys/arm/arm/pmap-v6.c @@ -124,6 +124,7 @@ #include #include #include +#include #include #include #include @@ -4782,29 +4783,32 @@ void pmap_enter_object(pmap_t pmap, vm_offset_t start, vm_offset_t end, vm_page_t m_start, vm_prot_t prot) { + struct pctrie_iter pages; vm_offset_t va; vm_page_t m, mpt2pg; - vm_pindex_t diff, psize; PDEBUG(6, printf("%s: pmap %p start %#x end %#x m %p prot %#x\n", __func__, pmap, start, end, m_start, prot)); VM_OBJECT_ASSERT_LOCKED(m_start->object); - psize = atop(end - start); + mpt2pg = NULL; - m = m_start; + vm_page_iter_limit_init(&pages, m_start->object, + m_start->pindex + atop(end - start)); + m = vm_radix_iter_lookup(&pages, m_start->pindex); rw_wlock(&pvh_global_lock); PMAP_LOCK(pmap); - while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { - va = start + ptoa(diff); + while (m != NULL) { + va = start + ptoa(m->pindex - m_start->pindex); if ((va & PTE1_OFFSET) == 0 && va + PTE1_SIZE <= end && m->psind == 1 && sp_enabled && - pmap_enter_1mpage(pmap, va, m, prot)) - m = &m[PTE1_SIZE / PAGE_SIZE - 1]; - else + pmap_enter_1mpage(pmap, va, m, prot)) { + m = vm_radix_iter_jump(&pages, NBPDR / PAGE_SIZE); + } else { mpt2pg = pmap_enter_quick_locked(pmap, va, m, prot, mpt2pg); - m = TAILQ_NEXT(m, listq); + m = vm_radix_iter_step(&pages); + } } rw_wunlock(&pvh_global_lock); PMAP_UNLOCK(pmap); @@ -4819,6 +4823,7 @@ void pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { + struct pctrie_iter pages; pt1_entry_t *pte1p; vm_paddr_t pa, pte2_pa; vm_page_t p; @@ -4831,7 +4836,8 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, if ((addr & PTE1_OFFSET) == 0 && (size & PTE1_OFFSET) == 0) { if (!vm_object_populate(object, pindex, pindex + atop(size))) return; - p = vm_page_lookup(object, pindex); + vm_page_iter_init(&pages, object); + p = vm_radix_iter_lookup(&pages, pindex); KASSERT(p->valid == VM_PAGE_BITS_ALL, ("%s: invalid page %p", __func__, p)); pat_mode = p->md.pat_mode; @@ -4849,15 +4855,14 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, * the pages are not physically contiguous or have differing * memory attributes. */ - p = TAILQ_NEXT(p, listq); for (pa = pte2_pa + PAGE_SIZE; pa < pte2_pa + size; pa += PAGE_SIZE) { + p = vm_radix_iter_next(&pages); KASSERT(p->valid == VM_PAGE_BITS_ALL, ("%s: invalid page %p", __func__, p)); if (pa != VM_PAGE_TO_PHYS(p) || pat_mode != p->md.pat_mode) return; - p = TAILQ_NEXT(p, listq); } /* From nobody Mon Apr 21 04:13:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgsRS0rRTz5ss0m; Mon, 21 Apr 2025 04:13:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgsRR30G9z3bw6; Mon, 21 Apr 2025 04:13:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RJ9UurtVCd3ceoFMXOg/JQf2n6jeexd0JtxKoMfWEuo=; b=oWKYTQxziX3cvZQ/C3fGTorB1alvt7In2Kkvb8668JOSqtwHWRg1lYKplAz0dFG/RzdSkF 0fvK/j4VTL/i2HSliiqrsBwdr29tt2seuaYvrVdnrItXiBO5A15JRF6H0spnHsWZ0D/Ayw uHLYEbWvu5N5HoDzG5sCOZBzHd1FMJ3/m1UZh5K37SI7BlAXCXzQuFFuXM3wQZVXUjTm21 VKNdvP9uXHGWEr4vgwrjFCqkP3W/CB1wic1Jch7T/sA+O8ChiuNWDAsbh+y3+jZ0U5qSKd KngciW8bXCqTKyOYi9jJgXRvwGE3+4l7BfvHB2gf12MUOnu9vBfimto2XP9+9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745208787; a=rsa-sha256; cv=none; b=Rw2XzL0IYBDu861cPnDUIbkUjhHV5CEcxMhKRq/+X1so2PGvKjdDSdr0GdoSGu4rGOhIRG zRXXFkJrvKZT/7lxwTpHrUsms0JnpxdSpOhYNiGubSqvToGy3BLejF7M79MF8vCQTjPLQs 3RH+iivDleOcCZcJivCFLEVGPg0sHbnvCVY99gYNR4vC6WHiMVHgMfOjlNPzBUkjKMkvSS Ega8HvCfpPiVdpLKLD1b1/Ie2Twvks4PNnXICLGgNmV63tIUGk/LTbCMzNpOJh2hl25P71 acnE2nbev9OO71l8llHS+2QiUQqunM+9IekfOZHl8slSbdLGahRuh67FGh1kLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745208787; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RJ9UurtVCd3ceoFMXOg/JQf2n6jeexd0JtxKoMfWEuo=; b=q0DAxN97gqE98hNnC6+pJ4Wd5X/1E80OmrG0A1n/BZYC2DDXL4dQn/ALg1pOygP9cmh6vm eDfg/xy5oi7W6e3fuR/6JblJefIRoKIhauoeAWqNazRLX223cXUgqzPXKqhuyfd0IVxR7L 1WQXW4gAqrME/HdHFZpgG5xqlkgWLxG8TxD2KI7QySDLc+kCUnRExVtLr72mT49EKn97nn +U6NYJZ1tJtLXlhApTeAtmMiYgfL4NrXpUcFHHwNiOkp/b3j9fRUF5HuVJJ2NYPIr+4Ole aoskDjTZOxzxuu2kR/kpXh0dE/jQHw24f2VgT4HU97Xd03dE3Cr+wTl5pVExig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgsRR2Rr2zb6h; Mon, 21 Apr 2025 04:13: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 53L4D7ow017967; Mon, 21 Apr 2025 04:13:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L4D7gc017964; Mon, 21 Apr 2025 04:13:07 GMT (envelope-from git) Date: Mon, 21 Apr 2025 04:13:07 GMT Message-Id: <202504210413.53L4D7gc017964@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: aa60a08f2a57 - main - amd64: replace tailq pointers with iterators List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aa60a08f2a5737ef1fab34e539fb546871df2662 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=aa60a08f2a5737ef1fab34e539fb546871df2662 commit aa60a08f2a5737ef1fab34e539fb546871df2662 Author: Doug Moore AuthorDate: 2025-04-21 04:11:43 +0000 Commit: Doug Moore CommitDate: 2025-04-21 04:11:43 +0000 amd64: replace tailq pointers with iterators Change architecture-specific code to use iterators rather than tailq pointers. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49923 --- sys/amd64/amd64/efirt_machdep.c | 5 ++++- sys/amd64/amd64/pmap.c | 25 ++++++++++++++----------- sys/amd64/conf/PHO | 13 +++++++++++++ 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/sys/amd64/amd64/efirt_machdep.c b/sys/amd64/amd64/efirt_machdep.c index 2c00a16b1499..81a28ebe97ee 100644 --- a/sys/amd64/amd64/efirt_machdep.c +++ b/sys/amd64/amd64/efirt_machdep.c @@ -54,6 +54,7 @@ #include #include #include +#include static pml5_entry_t *efi_pml5; static pml4_entry_t *efi_pml4; @@ -64,11 +65,13 @@ static vm_pindex_t efi_1t1_idx; void efi_destroy_1t1_map(void) { + struct pctrie_iter pages; vm_page_t m; if (obj_1t1_pt != NULL) { + vm_page_iter_init(&pages, obj_1t1_pt); VM_OBJECT_RLOCK(obj_1t1_pt); - TAILQ_FOREACH(m, &obj_1t1_pt->memq, listq) + VM_RADIX_FOREACH(m, &pages) m->ref_count = VPRC_OBJREF; vm_wire_sub(obj_1t1_pt->resident_page_count); VM_OBJECT_RUNLOCK(obj_1t1_pt); diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index 5d31ad0dd495..9ff630de5b6e 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -7697,30 +7697,32 @@ void pmap_enter_object(pmap_t pmap, vm_offset_t start, vm_offset_t end, vm_page_t m_start, vm_prot_t prot) { + struct pctrie_iter pages; struct rwlock *lock; vm_offset_t va; vm_page_t m, mpte; - vm_pindex_t diff, psize; int rv; VM_OBJECT_ASSERT_LOCKED(m_start->object); - psize = atop(end - start); mpte = NULL; - m = m_start; + vm_page_iter_limit_init(&pages, m_start->object, + m_start->pindex + atop(end - start)); + m = vm_radix_iter_lookup(&pages, m_start->pindex); lock = NULL; PMAP_LOCK(pmap); - while (m != NULL && (diff = m->pindex - m_start->pindex) < psize) { - va = start + ptoa(diff); + while (m != NULL) { + va = start + ptoa(m->pindex - m_start->pindex); if ((va & PDRMASK) == 0 && va + NBPDR <= end && m->psind == 1 && pmap_ps_enabled(pmap) && ((rv = pmap_enter_2mpage(pmap, va, m, prot, &lock)) == KERN_SUCCESS || rv == KERN_NO_SPACE)) - m = &m[NBPDR / PAGE_SIZE - 1]; - else + m = vm_radix_iter_jump(&pages, NBPDR / PAGE_SIZE); + else { mpte = pmap_enter_quick_locked(pmap, va, m, prot, mpte, &lock); - m = TAILQ_NEXT(m, listq); + m = vm_radix_iter_step(&pages); + } } if (lock != NULL) rw_wunlock(lock); @@ -7894,6 +7896,7 @@ void pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, vm_pindex_t pindex, vm_size_t size) { + struct pctrie_iter pages; pd_entry_t *pde; pt_entry_t PG_A, PG_M, PG_RW, PG_V; vm_paddr_t pa, ptepa; @@ -7913,7 +7916,8 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, return; if (!vm_object_populate(object, pindex, pindex + atop(size))) return; - p = vm_page_lookup(object, pindex); + vm_page_iter_init(&pages, object); + p = vm_radix_iter_lookup(&pages, pindex); KASSERT(vm_page_all_valid(p), ("pmap_object_init_pt: invalid page %p", p)); pat_mode = p->md.pat_mode; @@ -7931,15 +7935,14 @@ pmap_object_init_pt(pmap_t pmap, vm_offset_t addr, vm_object_t object, * the pages are not physically contiguous or have differing * memory attributes. */ - p = TAILQ_NEXT(p, listq); for (pa = ptepa + PAGE_SIZE; pa < ptepa + size; pa += PAGE_SIZE) { + p = vm_radix_iter_next(&pages); KASSERT(vm_page_all_valid(p), ("pmap_object_init_pt: invalid page %p", p)); if (pa != VM_PAGE_TO_PHYS(p) || pat_mode != p->md.pat_mode) return; - p = TAILQ_NEXT(p, listq); } /* diff --git a/sys/amd64/conf/PHO b/sys/amd64/conf/PHO new file mode 100644 index 000000000000..7f0d3906ac64 --- /dev/null +++ b/sys/amd64/conf/PHO @@ -0,0 +1,13 @@ +include GENERIC +ident PHO-GENERIC +options ALT_BREAK_TO_DEBUGGER +options SW_WATCHDOG +options WITNESS +options INVARIANTS # Enable calls of extra sanity checking +options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +options DEBUG_LOCKS +options DEBUG_VFS_LOCKS +options DIAGNOSTIC +nooptions DEADLKRES # watchdogd handles this +options UFS_EXTATTR +options UFS_EXTATTR_AUTOSTART From nobody Mon Apr 21 05:52:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgvdZ5qwhz5t0N4; Mon, 21 Apr 2025 05:52: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgvdZ4bMcz3CMB; Mon, 21 Apr 2025 05:52:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745214722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LVvOL57nRB/leZnvY3G9e5Kd+v3NkozpCX+l/gS7M7A=; b=TtIvEnb7DJYOr3oJzMy5ip0TX3WYnMn2OE8H07jbIfKH+qGORZ/dL7qCWsQDKi6t2MQVPO dCDy94tIZgTokpUslbwhJfWml7mIlMBwRlD5/FUsVC73DmL1TMxVrZXVINiIeVdvh/C5rB 6tJCgX1M19x/w91LYzF3mNjQi/DlPe0jwJ06tlQcseB6wczzZ9iPpRwG1lVSUl4cUqbRpl kOqaBec0V38XBDWtszRb1iUOWXXv5tOTHudxSW6vKhWhkw7CViNwFD+h+XdJANBAVkyQmt iBSjGuarqj2RbKOF5TTe2MuOflsIzQqs3aoRU+S8AEz5YZ5AiXmDSfbeWrimYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745214722; a=rsa-sha256; cv=none; b=SVl57ADwJ9VDEX7Pyp0oh21EfsQkg7+Wz8M7BRa4a59HxphL/quioJc6aFDrR/gEJCllaJ 7Qn3TAinSxLb6NSZ1Ij3rpDrSirEPXQYFHY1yOLJO7z3OPgH9qKapuM+lMkB4zd+H1YTxX F4OhFBj9sMFr9iZBQT7fIQJB/thi3dbAUPXy0489Bxm4Jsxn6fpkUzJM71/O1QeUaTbxZH nP6Kr7sEXZb7/NDkSHAJe2S9b1OGM5P0UW//sfGg5Du60z55tffN0BkuSYVBsT4JfM/8gE TcFkzPXc4t94lOnj3MApeeHwTt/vKa3MMRg4iIOljnNFlK0M9SzRPNLlMPnyyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745214722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LVvOL57nRB/leZnvY3G9e5Kd+v3NkozpCX+l/gS7M7A=; b=h2TarsjjXmIA91SVlPp1VqHh2Ykkc73rauwBD48s1FG9qZ14xuuzVVrUlEPrjPaEu532sm fwSIJaDcNJ/Z0lT78quG9fLHwjZtKVZ8lhX2IAfFuk8XsfCIV7dj3wigWjQGv4suP7ktIL BmHgJRSM2Drnb4BLz6k6/b6yQCc0+j2FlpaEk2cOq1/FgkS+w+Svg3W1OkZmYha4a24TQv 5v8KNrd2mDHXEds2qDaCuvBVKzw9c5D/jCdHIOQdo+BZpqt3iFKCYY1dk1sjKlC+DwqZI0 3vDGH2fYfri1Mx+iMdgc4ch+66JjT6JqfGbO8InY2CLobQEv9xuGXLiFW891PA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZgvdZ49RpzdMm; Mon, 21 Apr 2025 05:52: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 53L5q2ki003907; Mon, 21 Apr 2025 05:52:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L5q2hF003904; Mon, 21 Apr 2025 05:52:02 GMT (envelope-from git) Date: Mon, 21 Apr 2025 05:52:02 GMT Message-Id: <202504210552.53L5q2hF003904@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 61c1368f22f9 - main - powerpc: add missing header List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 61c1368f22f955fa16003daa7db29d8bdd24d4cc Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=61c1368f22f955fa16003daa7db29d8bdd24d4cc commit 61c1368f22f955fa16003daa7db29d8bdd24d4cc Author: Doug Moore AuthorDate: 2025-04-21 05:50:37 +0000 Commit: Doug Moore CommitDate: 2025-04-21 05:50:37 +0000 powerpc: add missing header Add missing vm/vm_radix.header. Fixes: b6cd84ca2d08 ("powerpc: replace tailq pointers with iterators") --- sys/powerpc/booke/pmap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/powerpc/booke/pmap.c b/sys/powerpc/booke/pmap.c index 62fd21d4f073..f76f17bd8450 100644 --- a/sys/powerpc/booke/pmap.c +++ b/sys/powerpc/booke/pmap.c @@ -107,6 +107,7 @@ #include #include #include +#include #include #include From nobody Mon Apr 21 05:57:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zgvlp1gZ5z5t0JH; Mon, 21 Apr 2025 05:57:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zgvln6pnzz3Fqr; Mon, 21 Apr 2025 05:57:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745215046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3TSvSiG1h8dawrVA25ZFOcW7sjB/pbCG97RTGPOMHJA=; b=ta9UIgcyZmQ13c69LC+qeiZASFgKfybCp94UsS7dcJQrC+bbP4/QStY7LXc9Q8m3MHYHLu abLRTa0ZZH5vtMuuQ6+eGtLDFKK1NT/dvx8tYhQKb0/zBwLmrvSQnpCL8tfdimh/2x/6Wb /mUX7GKlRHqmqvZvXjaht7wz+siuzbbFPpjCTeSztEM39BmYBvFawAobLd9rdFT/gJ53ko LDBFEgoyERq5A4+p0EjMN343smDi9UPMhbHUjUncQkBtc1t3+zrDDVkNfQKGc9UeIjFLts zAlwlVP0OjtSkIsSh2mHcdJXPQe/YGsvuTEA+iTS444+dL2FRFtj+ML7IKJLeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745215046; a=rsa-sha256; cv=none; b=ntRnqhptPU3XC7m3lbYgdZmAPfKiSCBWamjgZGTxNbkte2hyZgOOws0zn7jLe8V9YoLXs/ O3OeD86jAvgP0GJpjR24cULBzKnLSkNYKvSLtkagE7xbQLldscn2DEyf+NlTtnLZXmSYfz o6vhissMKn0MwF4AlHwlt20c6OnF7hxmL+5vED/cuVWTsYcoIf0XZu1lXUL11rQeJ8YZ/B /HqyVrJ8IvmHTjiBuLOYjUpqkc/42va/dypwPYtEtihiLbFeH7ZOLiVlAXBdEqy2SciAIr s5HTslHbNTUf+lRDHwKOuJJ2x6icxqtyAA3IDP5uFZd39JC7RFfvBQPKFhxOUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745215046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3TSvSiG1h8dawrVA25ZFOcW7sjB/pbCG97RTGPOMHJA=; b=NZGNd3iej4kdjufAUlhFerw7uWSl6/+cquJVyuAXfaUcX55z3Q/gM/N0FX51EbeCbd9KvG pDIB8zTF+JXsWzq/LdMjIhKUUtNeAJrQLzJPGu4j59ObEpBdGsjDDhEg+ftj8QY358bIWq 3J8AebH6mLNneL7k+fjLvlmscvQB6WeTDEAyKRzrIYQd4uNJNG5twPj0Xp9RVB/JsdiEjf gFLFCcIKK34rMspLj7JnrNic51Fv7ciwzb+Gz5FRhCM7oV16f7JMyW2aNu2/yQoytFNjqP 3LlNZygoItUyulRGln+4tcBxA3EXVnXzUr9GdXu9gKMYOpyGBiiIZ65go+DDyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zgvln67Sjzdht; Mon, 21 Apr 2025 05:57: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 53L5vPsn005605; Mon, 21 Apr 2025 05:57:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53L5vPTJ005602; Mon, 21 Apr 2025 05:57:25 GMT (envelope-from git) Date: Mon, 21 Apr 2025 05:57:25 GMT Message-Id: <202504210557.53L5vPTJ005602@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: d4763484f911 - main - amd64: drop mistakenly added file List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d4763484f9112f7249ab08f23c3cfe2f9ba0e35d Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=d4763484f9112f7249ab08f23c3cfe2f9ba0e35d commit d4763484f9112f7249ab08f23c3cfe2f9ba0e35d Author: Doug Moore AuthorDate: 2025-04-21 05:55:34 +0000 Commit: Doug Moore CommitDate: 2025-04-21 05:55:34 +0000 amd64: drop mistakenly added file File PHO was added by mistake. Removed. Fixes: aa60a08f2a57 ("amd64: replace tailq pointers with iterators") --- sys/amd64/conf/PHO | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/sys/amd64/conf/PHO b/sys/amd64/conf/PHO deleted file mode 100644 index 7f0d3906ac64..000000000000 --- a/sys/amd64/conf/PHO +++ /dev/null @@ -1,13 +0,0 @@ -include GENERIC -ident PHO-GENERIC -options ALT_BREAK_TO_DEBUGGER -options SW_WATCHDOG -options WITNESS -options INVARIANTS # Enable calls of extra sanity checking -options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS -options DEBUG_LOCKS -options DEBUG_VFS_LOCKS -options DIAGNOSTIC -nooptions DEADLKRES # watchdogd handles this -options UFS_EXTATTR -options UFS_EXTATTR_AUTOSTART From nobody Mon Apr 21 07:09:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZgxLd2SqZz5t4xW; Mon, 21 Apr 2025 07:09:13 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta004.cacentral1.a.cloudfilter.net (omta002.cacentral1.a.cloudfilter.net [3.97.99.33]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZgxLb1jjDz3qB7; Mon, 21 Apr 2025 07:09:11 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=permerror reason="p tag has invalid value: quarantine rua=mailto:p[ostmaster@cschubert.com" header.from=cschubert.com (policy=permerror); spf=pass (mx1.freebsd.org: domain of cy.schubert@cschubert.com designates 3.97.99.33 as permitted sender) smtp.mailfrom=cy.schubert@cschubert.com Received: from shw-obgw-4004a.ext.cloudfilter.net ([10.228.9.227]) by cmsmtp with ESMTPS id 6VjcuvuER5Mqy6lHCuPIJ7; Mon, 21 Apr 2025 07:09:10 +0000 Received: from spqr.komquats.com ([70.66.136.217]) by cmsmtp with ESMTPSA id 6lHAurVE1JhBP6lHBuCvgE; Mon, 21 Apr 2025 07:09:10 +0000 X-Auth-User: cschuber X-Authority-Analysis: v=2.4 cv=QY3Fvdbv c=1 sm=1 tr=0 ts=6805ef16 a=h7br+8Ma+Xn9xscxy5znUg==:117 a=h7br+8Ma+Xn9xscxy5znUg==:17 a=kj9zAlcOel0A:10 a=XR8D0OoHHMoA:10 a=6I5d2MoRAAAA:8 a=EkcXrb_YAAAA:8 a=YxBL1-UpAAAA:8 a=p1V55uMdNdPVWb8m0XAA:9 a=CjuIK1q_8ugA:10 a=LK5xJRSDVpKd5WXXoEvA:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTP id 6BECD1AF3; Mon, 21 Apr 2025 00:09:08 -0700 (PDT) Received: by slippy.cwsent.com (Postfix, from userid 1000) id 65A1C202; Mon, 21 Apr 2025 00:09:08 -0700 (PDT) X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.8+dev Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Doug Moore cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org, manu@freebsd.org Subject: Re: git: a3a88ed22cb1 - main - vm_page: drop prev and next In-reply-to: <202504181927.53IJRsoQ035803@gitrepo.freebsd.org> References: <202504181927.53IJRsoQ035803@gitrepo.freebsd.org> Comments: In-reply-to Doug Moore message dated "Fri, 18 Apr 2025 19:27:54 +0000." List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 21 Apr 2025 00:09:08 -0700 Message-Id: <20250421070908.65A1C202@slippy.cwsent.com> X-CMAE-Envelope: MS4xfB+w0m2maEH+JdY8vXAH32iwmnAz8LYRJRgDX4gyOI33mXo97oZU5SAZlHWZB0Wcna6eE73alFsb/X4QSa1gS5NGP4zY6XBWUY2Hd+DcR0TBbOch15yM yFTdCiAgzVsijl4aDvBRkf+QFKSLU1A11/x3g0820I9hD1EBJoF2u6X5swChcvKrF2DKIOmL+Tq4yW7ntkMCVDeva7bRpZZyQZLYFfjI0BinW+OM3UG/8l1+ W6u+QDAw2iRkkJhSe7YIgg8m9//N3rsemyjlCTBP4H436nZStE8r5yOodVAX8WwtONs77LZfKD19FH1IVxPQtzrMyGszUx0zkZ/JV9vl9sBClEyi3marwozT Z1iadJbp X-Spamd-Result: default: False [-0.86 / 15.00]; NEURAL_HAM_SHORT(-0.54)[-0.542]; NEURAL_HAM_MEDIUM(-0.54)[-0.536]; NEURAL_SPAM_LONG(0.52)[0.516]; MV_CASE(0.50)[]; RWL_MAILSPIKE_EXCELLENT(-0.40)[3.97.99.33:from]; R_SPF_ALLOW(-0.20)[+ip4:3.97.99.32/31]; RCVD_IN_DNSWL_LOW(-0.10)[3.97.99.33:from]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:16509, ipnet:3.96.0.0/15, country:US]; DMARC_BAD_POLICY(0.00)[cschubert.com : p tag has invalid value: quarantine rua=mailto:p[ostmaster@cschubert.com]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; RCPT_COUNT_FIVE(0.00)[5]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org,dev-commits-src-all@freebsd.org]; RCVD_TLS_LAST(0.00)[]; R_DKIM_NA(0.00)[]; REPLYTO_EQ_FROM(0.00)[] X-Rspamd-Queue-Id: 4ZgxLb1jjDz3qB7 X-Spamd-Bar: / In message <202504181927.53IJRsoQ035803@gitrepo.freebsd.org>, Doug Moore writes : > The branch main has been updated by dougm: > > URL: https://cgit.FreeBSD.org/src/commit/?id=a3a88ed22cb111da3336f64ec3ba5815 > a8278f88 > > commit a3a88ed22cb111da3336f64ec3ba5815a8278f88 > Author: Doug Moore > AuthorDate: 2025-04-18 19:26:56 +0000 > Commit: Doug Moore > CommitDate: 2025-04-18 19:26:56 +0000 > > vm_page: drop prev and next > > Functions vm_page_prev() and vm_page_next() are no longer > invoked. Remove them. > > Reviewed by: kib > Differential Revision: https://reviews.freebsd.org/D49892 > --- > sys/vm/vm_page.c | 40 ---------------------------------------- > sys/vm/vm_page.h | 2 -- > 2 files changed, 42 deletions(-) > > diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c > index 65d278caf3fd..db91b7bab2ab 100644 > --- a/sys/vm/vm_page.c > +++ b/sys/vm/vm_page.c > @@ -1894,46 +1894,6 @@ vm_page_find_least(vm_object_t object, vm_pindex_t pin > dex) > return (m); > } > > -/* > - * Returns the given page's successor (by pindex) within the object if it is > - * resident; if none is found, NULL is returned. > - * > - * The object must be locked. > - */ > -vm_page_t > -vm_page_next(vm_page_t m) > -{ > - vm_page_t next; > - > - VM_OBJECT_ASSERT_LOCKED(m->object); > - if ((next = TAILQ_NEXT(m, listq)) != NULL) { > - MPASS(next->object == m->object); > - if (next->pindex != m->pindex + 1) > - next = NULL; > - } > - return (next); > -} > - > -/* > - * Returns the given page's predecessor (by pindex) within the object if it > is > - * resident; if none is found, NULL is returned. > - * > - * The object must be locked. > - */ > -vm_page_t > -vm_page_prev(vm_page_t m) > -{ > - vm_page_t prev; > - > - VM_OBJECT_ASSERT_LOCKED(m->object); > - if ((prev = TAILQ_PREV(m, pglist, listq)) != NULL) { > - MPASS(prev->object == m->object); > - if (prev->pindex != m->pindex - 1) > - prev = NULL; > - } > - return (prev); > -} > - > /* > * Uses the page mnew as a replacement for an existing page at index > * pindex which must be already present in the object. > diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h > index 0a40b42ffb62..bf2e850612d7 100644 > --- a/sys/vm/vm_page.h > +++ b/sys/vm/vm_page.h > @@ -664,12 +664,10 @@ bool vm_page_iter_rename(struct pctrie_iter *old_pages, > vm_page_t m, > void vm_page_launder(vm_page_t m); > vm_page_t vm_page_lookup(vm_object_t, vm_pindex_t); > vm_page_t vm_page_lookup_unlocked(vm_object_t, vm_pindex_t); > -vm_page_t vm_page_next(vm_page_t m); > void vm_page_pqbatch_drain(void); > void vm_page_pqbatch_submit(vm_page_t m, uint8_t queue); > bool vm_page_pqstate_commit(vm_page_t m, vm_page_astate_t *old, > vm_page_astate_t new); > -vm_page_t vm_page_prev(vm_page_t m); > bool vm_page_ps_test(vm_page_t m, int psind, int flags, vm_page_t skip_m); > void vm_page_putfake(vm_page_t m); > void vm_page_readahead_finish(vm_page_t m); > This breaks ports/graphics/drm-*-kmod. X will no longer start due to missing vm_page_next(). cc: manu -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org e^(i*pi)+1=0 From nobody Mon Apr 21 10:35:22 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh1ww2NgCz5tJFK; Mon, 21 Apr 2025 10:35:44 +0000 (UTC) (envelope-from pat@patmaddox.com) Received: from fout-b4-smtp.messagingengine.com (fout-b4-smtp.messagingengine.com [202.12.124.147]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh1ww0c51z3dT8; Mon, 21 Apr 2025 10:35:43 +0000 (UTC) (envelope-from pat@patmaddox.com) Authentication-Results: mx1.freebsd.org; none Received: from phl-compute-06.internal (phl-compute-06.phl.internal [10.202.2.46]) by mailfout.stl.internal (Postfix) with ESMTP id 095DC11401C5; Mon, 21 Apr 2025 06:35:43 -0400 (EDT) Received: from phl-imap-15 ([10.202.2.104]) by phl-compute-06.internal (MEProxy); Mon, 21 Apr 2025 06:35:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=patmaddox.com; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm1; t=1745231742; x=1745318142; bh=K2E9hJo88qHMH6IRGup4zKcHneIKjQOA nO0rPFCupIg=; b=S0EfmdB3Zm/Zi5NBIJ0T8O7g4pmU7Y054r4lxC0NHpKMA2cV s7BOjMe2IidoKQF7PA0uff8FyQKLwvIb4d4fjhQofcLrOJpwBbQ9QyF017WdEptG WKqryCFkXNIlAI6N0HowIoKbQkdiF3l9JX1SmzEduX6QxNRRufNhlqBrUWBNsO19 3har9krnB0WjM3zAVEIHLPAUrc/fUz/VX7wbcSJNj+P2KFCjPfAyoeEA5o0E3p7D jR/fuwyJqxxP5+YPW0WPoknq4pkSiIe5o4KoITMpAT46gL/5jk8kMI3DRjPXdZOQ ijQ51U+ewiuh6kNnG8HQ1/6ra8xdq7WwFnNF6w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1745231742; x= 1745318142; bh=K2E9hJo88qHMH6IRGup4zKcHneIKjQOAnO0rPFCupIg=; b=v Kw/aWX63fiLXXzkiM71VYHfVNMK7quQqBq827A3dY+XfN9G5/jie21pSmoONyBd2 pcgxrEUIPIM7PDE/SLONvvzwkI3++t1jWthLf5+r9ERYDUYXowfGjlHC1RZvF1ZX XCSDMI4oJoLIoJKrwz0lBpgH8maq322+Psd3mOqlZ0vs1OHmJvfp3nT7IDOklYe9 HFH64aWh6ZM7y1cQe2IUqF0kSu/fbCrbzq70EkznoaayGYxHa42SAcKKbCmCMDui NWNzYbtvQX3evfod45kqam5aawpX47qceK90kXkxP2to64LChkRoAgyjqJBvWkcW 25QBVcQtcVvSJqAlejanQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvgedtieefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpih gvnhhtshculddquddttddmnecujfgurhepofggfffhvfevkfgjfhfutgfgsehtjeertder tddtnecuhfhrohhmpedfrfgrthcuofgrugguohigfdcuoehprghtsehprghtmhgrugguoh igrdgtohhmqeenucggtffrrghtthgvrhhnpeelveelieduheetgfdtueehgfevueetvdfg ieehjeeutdetjedvvdejjedvhfelgeenucffohhmrghinhepfhhrvggvsghsugdrohhrgh dpnhifthhimhgvrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehm rghilhhfrhhomhepphgrthesphgrthhmrgguughogidrtghomhdpnhgspghrtghpthhtoh epiedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheptgihrdhstghhuhgsvghrthes tghstghhuhgsvghrthdrtghomhdprhgtphhtthhopeguvghvqdgtohhmmhhithhsqdhsrh gtqdgrlhhlsehfrhgvvggsshgurdhorhhgpdhrtghpthhtohepuggvvhdqtghomhhmihht shdqshhrtgdqmhgrihhnsehfrhgvvggsshgurdhorhhgpdhrtghpthhtohepughouhhgmh esfhhrvggvsghsugdrohhrghdprhgtphhtthhopehmrghnuhesfhhrvggvsghsugdrohhr ghdprhgtphhtthhopehsrhgtqdgtohhmmhhithhtvghrshesfhhrvggvsghsugdrohhrgh X-ME-Proxy: Feedback-ID: i8b6c40f9:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 8580978006B; Mon, 21 Apr 2025 06:35:42 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 X-ThreadId: T6baeaf641dae651a Date: Mon, 21 Apr 2025 03:35:22 -0700 From: "Pat Maddox" To: "Cy Schubert" , "Doug Moore" Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, manu@freebsd.org Message-Id: <6e35f593-40d8-42f2-8fe3-c7a1afef2f73@app.fastmail.com> In-Reply-To: <20250421070908.65A1C202@slippy.cwsent.com> References: <202504181927.53IJRsoQ035803@gitrepo.freebsd.org> <20250421070908.65A1C202@slippy.cwsent.com> Subject: Re: git: a3a88ed22cb1 - main - vm_page: drop prev and next Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-Rspamd-Queue-Id: 4Zh1ww0c51z3dT8 X-Spamd-Bar: ---- On Mon, Apr 21, 2025, at 12:09 AM, Cy Schubert wrote: > In message <202504181927.53IJRsoQ035803@gitrepo.freebsd.org>, Doug Moore > writes > : >> The branch main has been updated by dougm: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=a3a88ed22cb111da3336f64ec3ba5815 >> a8278f88 >> >> commit a3a88ed22cb111da3336f64ec3ba5815a8278f88 >> Author: Doug Moore >> AuthorDate: 2025-04-18 19:26:56 +0000 >> Commit: Doug Moore >> CommitDate: 2025-04-18 19:26:56 +0000 >> >> vm_page: drop prev and next >> >> Functions vm_page_prev() and vm_page_next() are no longer >> invoked. Remove them. >> >> Reviewed by: kib >> Differential Revision: https://reviews.freebsd.org/D49892 >> --- >> sys/vm/vm_page.c | 40 ---------------------------------------- >> sys/vm/vm_page.h | 2 -- >> 2 files changed, 42 deletions(-) >> >> diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c >> index 65d278caf3fd..db91b7bab2ab 100644 >> --- a/sys/vm/vm_page.c >> +++ b/sys/vm/vm_page.c >> @@ -1894,46 +1894,6 @@ vm_page_find_least(vm_object_t object, vm_pindex_t pin >> dex) >> return (m); >> } >> >> -/* >> - * Returns the given page's successor (by pindex) within the object if it is >> - * resident; if none is found, NULL is returned. >> - * >> - * The object must be locked. >> - */ >> -vm_page_t >> -vm_page_next(vm_page_t m) >> -{ >> - vm_page_t next; >> - >> - VM_OBJECT_ASSERT_LOCKED(m->object); >> - if ((next = TAILQ_NEXT(m, listq)) != NULL) { >> - MPASS(next->object == m->object); >> - if (next->pindex != m->pindex + 1) >> - next = NULL; >> - } >> - return (next); >> -} >> - >> -/* >> - * Returns the given page's predecessor (by pindex) within the object if it >> is >> - * resident; if none is found, NULL is returned. >> - * >> - * The object must be locked. >> - */ >> -vm_page_t >> -vm_page_prev(vm_page_t m) >> -{ >> - vm_page_t prev; >> - >> - VM_OBJECT_ASSERT_LOCKED(m->object); >> - if ((prev = TAILQ_PREV(m, pglist, listq)) != NULL) { >> - MPASS(prev->object == m->object); >> - if (prev->pindex != m->pindex - 1) >> - prev = NULL; >> - } >> - return (prev); >> -} >> - >> /* >> * Uses the page mnew as a replacement for an existing page at index >> * pindex which must be already present in the object. >> diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h >> index 0a40b42ffb62..bf2e850612d7 100644 >> --- a/sys/vm/vm_page.h >> +++ b/sys/vm/vm_page.h >> @@ -664,12 +664,10 @@ bool vm_page_iter_rename(struct pctrie_iter *old_pages, >> vm_page_t m, >> void vm_page_launder(vm_page_t m); >> vm_page_t vm_page_lookup(vm_object_t, vm_pindex_t); >> vm_page_t vm_page_lookup_unlocked(vm_object_t, vm_pindex_t); >> -vm_page_t vm_page_next(vm_page_t m); >> void vm_page_pqbatch_drain(void); >> void vm_page_pqbatch_submit(vm_page_t m, uint8_t queue); >> bool vm_page_pqstate_commit(vm_page_t m, vm_page_astate_t *old, >> vm_page_astate_t new); >> -vm_page_t vm_page_prev(vm_page_t m); >> bool vm_page_ps_test(vm_page_t m, int psind, int flags, vm_page_t skip_m); >> void vm_page_putfake(vm_page_t m); >> void vm_page_readahead_finish(vm_page_t m); >> > > This breaks ports/graphics/drm-*-kmod. X will no longer start due to > missing vm_page_next(). > > cc: manu > > > -- > Cheers, > Cy Schubert > FreeBSD UNIX: Web: https://FreeBSD.org > NTP: Web: https://nwtime.org > > e^(i*pi)+1=0 Also drm-kmod cannot build: --- i915_gem_mman.o --- /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/drivers/gpu/drm/i915/gem/i915_gem_mman.c:171:77: error: call to undeclared function 'vm_page_next'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] 171 | for (vm_page_t page = vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) { | ^ --- intel_guc_log_debugfs.o --- --- i915_gem_mman.o --- /wrkdirs/usr/ports/graphics/drm-61-kmod/work/drm-kmod-drm_v6.1.128_1/drivers/gpu/drm/i915/gem/i915_gem_mman.c:171:75: error: incompatible integer to pointer conversion assigning to 'vm_page_t' (aka 'struct vm_page *') from 'int' [-Wint-conversion] 171 | for (vm_page_t page = vm_page_find_least(vmobj, 0); page != NULL; page = vm_page_next(page)) { | ^ ~~~~~~~~~~~~~~~~~~ --- intel_guc_log_debugfs.o --- From nobody Mon Apr 21 12:49:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh4tr4g12z5tRdL; Mon, 21 Apr 2025 12:49:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh4tr3TXvz3nnY; Mon, 21 Apr 2025 12:49:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745239748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=peqtXmZCOAjNWcyvlgce1zkOi0EgkRDqh54evlkODis=; b=ZIrBQh/variMOTQXis5tqjictRhm89ZhpFuqqWIVQmDr8HdOLe6VlYBjKVLDnwQbAJ2w+q SGT+Ct6kAxXsPDG5e6tOCX4JoCYnjy/IOdb6ZRq9lXY8dtDgCrncxEkoHNUJINBTe4cQKs p82L3SRC9eSxTmgrdPAAiYsB+tM9hXDF4L8hOCS0rFwLYgKODUECaxBBznzNuDOnWJcUnx tsqj+0ilZWa3zGWtkLLgrTZH9wGvky7vKq5icEwcrvkMXnc1sGhhyCtFiW3heABCp/UW+Q eCcxxZI3QzVc9CIRUBkjQUdvt8xFUIm0n6pu88k1laziuyKKKlUd4bL51X5HqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745239748; a=rsa-sha256; cv=none; b=P/GbD1Vzrop1OsMfLQS9WMrGP2UXAIvNcD0srQ3yegCC7+LVy3q15wivjQ2uPuF8YoZoWb noqU0ogVIiKG3hoLseWz21SFkIoD0k/0KhSKw3mT3dtIG4hWvxtEAFNq3/ygSVSRQxfufu Q0waOaCfv8BEaoa16ICotpG72qYdNKo4avZTvIHh0pAT2gWT6NCWWyc/VnE29QMHaQI9kv vfMVtmWr2Gg+gp36SNzBrVCwgZ2+W6049F+KVmlIeQ2H3n69/Gd5gDR1ZDg5k/o4V5gevz 9iicVxRYp8Jb+YfRpkcWlatwmgR+/aCPNSaG+izYmCFiTbqLs0TAIWBSuFGFIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745239748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=peqtXmZCOAjNWcyvlgce1zkOi0EgkRDqh54evlkODis=; b=wKu+0ilpyDURiwsKt2+eNEitQhxM3m63eXjgww6ZXbA6x6npuBnxeQpLuxtrzRzhn7tOKS abcaa4HuG6bKiFmEbVfU1t7Wbdd8uVeePr83hu/4hHJMmwrfDvY9diwTAj43++SVnlOF8O 7CGtaunqEEkPquOIlGmsHXBuRZ34E3B/h3nb5muPU7obKn4q2TVK4cKBCJe2J3ZLCM0ARu p915jxEXnMrAw3oLXp+WlnHvW/V03EH7ue5Dv3sg/gMb+KeaFIN9L+9/fEauUvMFu+qto3 n7KEKiASfgPUR/MWzD6J81vMgb7xw5KCjwrZTMnFt1XC4B3QniHsvy1S/dKZXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zh4tr32bHzrDQ; Mon, 21 Apr 2025 12:49: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 53LCn8mo077538; Mon, 21 Apr 2025 12:49:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LCn8rO077535; Mon, 21 Apr 2025 12:49:08 GMT (envelope-from git) Date: Mon, 21 Apr 2025 12:49:08 GMT Message-Id: <202504211249.53LCn8rO077535@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 88986a4d7183 - main - pf: fix ICMP pcksum pointers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 88986a4d71836e120deb838be86e51084f863772 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=88986a4d71836e120deb838be86e51084f863772 commit 88986a4d71836e120deb838be86e51084f863772 Author: Kristof Provost AuthorDate: 2025-04-16 14:55:26 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 08:43:31 +0000 pf: fix ICMP pcksum pointers We didn't set it for ICMP, and used the ICMP header for ICMPv6. Fortunately the checksum is in the same place in the header for icmp4 and icmp6, but use the correct name anyway. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 88e9ef78f07c..463504bebcbc 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -10064,6 +10064,7 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, REASON_SET(reason, PFRES_SHORT); return (-1); } + pd->pcksum = &pd->hdr.icmp.icmp_cksum; pd->hdrlen = ICMP_MINLEN; break; } @@ -10096,7 +10097,7 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, return (-1); } pd->hdrlen = icmp_hlen; - pd->pcksum = &pd->hdr.icmp.icmp_cksum; + pd->pcksum = &pd->hdr.icmp6.icmp6_cksum; break; } #endif /* INET6 */ From nobody Mon Apr 21 12:49:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh4tt1kWdz5tRgv; Mon, 21 Apr 2025 12:49:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh4ts4M35z3p1W; Mon, 21 Apr 2025 12:49:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745239749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cMxTf9UkqUMZIR8wcuC+7rhAkgC1QZZqtYIzXIceFXM=; b=jc5Ig+MsfxoNCqRxGHGR90yU4jZi4QPFbtq0gidxPKNOkwl06xitq+oqCDAIH9sJX2Pdnt X7ZdP9Ro6+8EKaUSFrsWIn9E30XpF8Myi8ElmOe1w8bvQmwkU6iO5QSG3llvw75zidrRIS w3f4jWlpqTsQytCfBQTqIhJM8MpBvhLbvdn2tdq13MTarB0YU7zsDfCvrmDaJKnmxHVDvd YDmRuzXCtLXIRtReSuwkMgHUzu8qADrtjhIcnvSrZCaNFnR3FZMcLe7KHyK/lUeU2PX3XP yLhYMWm189UhWDBaf10LJyUeS5MuEINrHiT2JXjO57KySEW6/m/qgJflxMw4Gw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745239749; a=rsa-sha256; cv=none; b=VmkdFqINmZZ5VR1uKSdFC7uX1x5Q8+wINT7KiS1GTlcIIu8FeubsW6k2XBo3VfQv5dc7Bo Qy+cHW4E1g+94H8N4nUnUpBSVMj0jmXbq07sbKSbzf6mkvyWBXuaGQx2YG9/SlqDZ5quPP 6opUQP872dNxLiWcA3gx0xluAxF4amM6JFjQmIIQZt0J9SeJEKDq2bQFcC7fAm9hc5KTvN AiiTcv3fzDAZMWJuMLM8HMirNiIptWxCJINHE3sKQc7UW6Y5Hlwt719QSLOKm2bZHZA6XQ +6IpobbFzeR0t3c4tISEW3AR/WL1VReD1M30oIuCqq+QvmKPrwXwgEaU8mUphg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745239749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cMxTf9UkqUMZIR8wcuC+7rhAkgC1QZZqtYIzXIceFXM=; b=yblK75d1LJMTGrCaH89JckJCOe4X7wwpJ+ktiy1i2MGVrQrOerLaVU6xjcdy1nHLV2Kxky EYLJ2dlRJ2l1JSSe61wvUmDBPbsf3H2u94BDU+8EdNtiS3jwZdmdf69WwEscJEax4BsVJT fEY7hME36M0rJmhSdHvkxUy+D5xV++TECs5qj7FpuirT01p3amTxn/u7Oq+n0c/e/NETfg qhyJdLcd2PIT4vLKP2rATYNyxVw/SlgFIlN/ii3V6GO8DUTOnU4ww0wDSVeGyZpxqHhit6 6aK9RpLMv/VAMQ2UENZFR5lTbXGJV0pw7+B4LutJc6KJy73Sl0Ss7KL0AppgJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zh4ts3yNdzqlv; Mon, 21 Apr 2025 12:49: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 53LCn9HF077571; Mon, 21 Apr 2025 12:49:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LCn9Wd077568; Mon, 21 Apr 2025 12:49:09 GMT (envelope-from git) Date: Mon, 21 Apr 2025 12:49:09 GMT Message-Id: <202504211249.53LCn9Wd077568@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 04ed606def89 - main - pf: pull icmp-nested headers into struct pf_pdesc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 04ed606def89081f9309fc498f3e333da2bb561a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=04ed606def89081f9309fc498f3e333da2bb561a commit 04ed606def89081f9309fc498f3e333da2bb561a Author: Kristof Provost AuthorDate: 2025-04-17 07:46:42 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 08:43:31 +0000 pf: pull icmp-nested headers into struct pf_pdesc Rather than copying headers nested in an ICMP message into separate stack variables copy them into struct pf_pdesc (pd2). That's one of the things the struct is for. This saves a trivial amount of stack space, but also makes future refactoring easier. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 95 ++++++++++++++++++++++++++++------------------------- 1 file changed, 51 insertions(+), 44 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 463504bebcbc..8b947a26ab6a 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -7906,7 +7906,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, switch (pd2.proto) { case IPPROTO_TCP: { - struct tcphdr th; + struct tcphdr *th = &pd2.hdr.tcp; u_int32_t seq; struct pf_state_peer *src, *dst; u_int8_t dws; @@ -7917,7 +7917,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, * expected. Don't access any TCP header fields after * th_seq, an ackskew test is not possible. */ - if (!pf_pull_hdr(pd->m, pd2.off, &th, 8, NULL, reason, + if (!pf_pull_hdr(pd->m, pd2.off, th, 8, NULL, reason, pd2.af)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: ICMP error message too short " @@ -7929,8 +7929,8 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, key.proto = IPPROTO_TCP; PF_ACPY(&key.addr[pd2.sidx], pd2.src, key.af); PF_ACPY(&key.addr[pd2.didx], pd2.dst, key.af); - key.port[pd2.sidx] = th.th_sport; - key.port[pd2.didx] = th.th_dport; + key.port[pd2.sidx] = th->th_sport; + key.port[pd2.didx] = th->th_dport; STATE_LOOKUP(&key, *state, pd); @@ -7958,9 +7958,9 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, dws = 0; /* Demodulate sequence number */ - seq = ntohl(th.th_seq) - src->seqdiff; + seq = ntohl(th->th_seq) - src->seqdiff; if (src->seqdiff) { - pf_change_a(&th.th_seq, icmpsum, + pf_change_a(&th->th_seq, icmpsum, htonl(seq), 0); copyback = 1; } @@ -8049,21 +8049,28 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, &nk->addr[didx], pd->af, nk->af)) return (PF_DROP); - pf_change_ap(pd, pd2.src, &th.th_sport, + pf_change_ap(pd, pd2.src, &th->th_sport, pd->ip_sum, &dummy_cksum, &nk->addr[pd2.sidx], nk->port[sidx], 1); - pf_change_ap(pd, pd2.dst, &th.th_dport, + pf_change_ap(pd, pd2.dst, &th->th_dport, pd->ip_sum, &dummy_cksum, &nk->addr[pd2.didx], nk->port[didx], 1); - m_copyback(pd2.m, pd2.off, 8, (c_caddr_t)&th); + m_copyback(pd2.m, pd2.off, 8, (c_caddr_t)th); + pf_change_ap(pd, pd2.src, &th->th_sport, + pd->ip_sum, &dummy_cksum, &nk->addr[pd2.sidx], + nk->port[sidx], 1); + pf_change_ap(pd, pd2.dst, &th->th_dport, + pd->ip_sum, &dummy_cksum, &nk->addr[pd2.didx], + nk->port[didx], 1); + m_copyback(pd2.m, pd2.off, 8, (c_caddr_t)th); return (PF_AFRT); } #endif /* INET && INET6 */ if (PF_ANEQ(pd2.src, &nk->addr[pd2.sidx], pd2.af) || - nk->port[pd2.sidx] != th.th_sport) - pf_change_icmp(pd2.src, &th.th_sport, + nk->port[pd2.sidx] != th->th_sport) + pf_change_icmp(pd2.src, &th->th_sport, daddr, &nk->addr[pd2.sidx], nk->port[pd2.sidx], NULL, pd2.ip_sum, icmpsum, @@ -8071,8 +8078,8 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, if (PF_ANEQ(pd2.dst, &nk->addr[pd2.didx], pd2.af) || - nk->port[pd2.didx] != th.th_dport) - pf_change_icmp(pd2.dst, &th.th_dport, + nk->port[pd2.didx] != th->th_dport) + pf_change_icmp(pd2.dst, &th->th_dport, saddr, &nk->addr[pd2.didx], nk->port[pd2.didx], NULL, pd2.ip_sum, icmpsum, @@ -8102,16 +8109,16 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, default: unhandled_af(pd->af); } - m_copyback(pd->m, pd2.off, 8, (caddr_t)&th); + m_copyback(pd->m, pd2.off, 8, (caddr_t)th); } return (PF_PASS); break; } case IPPROTO_UDP: { - struct udphdr uh; + struct udphdr *uh = &pd2.hdr.udp; - if (!pf_pull_hdr(pd->m, pd2.off, &uh, sizeof(uh), + if (!pf_pull_hdr(pd->m, pd2.off, uh, sizeof(*uh), NULL, reason, pd2.af)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: ICMP error message too short " @@ -8123,8 +8130,8 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, key.proto = IPPROTO_UDP; PF_ACPY(&key.addr[pd2.sidx], pd2.src, key.af); PF_ACPY(&key.addr[pd2.didx], pd2.dst, key.af); - key.port[pd2.sidx] = uh.uh_sport; - key.port[pd2.didx] = uh.uh_dport; + key.port[pd2.sidx] = uh->uh_sport; + key.port[pd2.didx] = uh->uh_dport; STATE_LOOKUP(&key, *state, pd); @@ -8182,33 +8189,33 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, &nk->addr[didx], pd->af, nk->af)) return (PF_DROP); - pf_change_ap(pd, pd2.src, &uh.uh_sport, - pd->ip_sum, &uh.uh_sum, &nk->addr[pd2.sidx], + pf_change_ap(pd, pd2.src, &uh->uh_sport, + pd->ip_sum, &uh->uh_sum, &nk->addr[pd2.sidx], nk->port[sidx], 1); - pf_change_ap(pd, pd2.dst, &uh.uh_dport, - pd->ip_sum, &uh.uh_sum, &nk->addr[pd2.didx], + pf_change_ap(pd, pd2.dst, &uh->uh_dport, + pd->ip_sum, &uh->uh_sum, &nk->addr[pd2.didx], nk->port[didx], 1); - m_copyback(pd2.m, pd2.off, sizeof(uh), - (c_caddr_t)&uh); + m_copyback(pd2.m, pd2.off, sizeof(*uh), + (c_caddr_t)uh); return (PF_AFRT); } #endif /* INET && INET6 */ if (PF_ANEQ(pd2.src, &nk->addr[pd2.sidx], pd2.af) || - nk->port[pd2.sidx] != uh.uh_sport) - pf_change_icmp(pd2.src, &uh.uh_sport, + nk->port[pd2.sidx] != uh->uh_sport) + pf_change_icmp(pd2.src, &uh->uh_sport, daddr, &nk->addr[pd2.sidx], - nk->port[pd2.sidx], &uh.uh_sum, + nk->port[pd2.sidx], &uh->uh_sum, pd2.ip_sum, icmpsum, pd->ip_sum, 1, pd2.af); if (PF_ANEQ(pd2.dst, &nk->addr[pd2.didx], pd2.af) || - nk->port[pd2.didx] != uh.uh_dport) - pf_change_icmp(pd2.dst, &uh.uh_dport, + nk->port[pd2.didx] != uh->uh_dport) + pf_change_icmp(pd2.dst, &uh->uh_dport, saddr, &nk->addr[pd2.didx], - nk->port[pd2.didx], &uh.uh_sum, + nk->port[pd2.didx], &uh->uh_sum, pd2.ip_sum, icmpsum, pd->ip_sum, 1, pd2.af); @@ -8230,18 +8237,18 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, break; #endif /* INET6 */ } - m_copyback(pd->m, pd2.off, sizeof(uh), (caddr_t)&uh); + m_copyback(pd->m, pd2.off, sizeof(*uh), (caddr_t)uh); } return (PF_PASS); break; } #ifdef INET case IPPROTO_SCTP: { - struct sctphdr sh; + struct sctphdr *sh = &pd2.hdr.sctp; struct pf_state_peer *src; int copyback = 0; - if (! pf_pull_hdr(pd->m, pd2.off, &sh, sizeof(sh), NULL, reason, + if (! pf_pull_hdr(pd->m, pd2.off, sh, sizeof(*sh), NULL, reason, pd2.af)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: ICMP error message too short " @@ -8253,8 +8260,8 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, 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; + key.port[pd2.sidx] = sh->src_port; + key.port[pd2.didx] = sh->dest_port; STATE_LOOKUP(&key, *state, pd); @@ -8270,7 +8277,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, src = &(*state)->src; } - if (src->scrub->pfss_v_tag != sh.v_tag) { + if (src->scrub->pfss_v_tag != sh->v_tag) { DPFPRINTF(PF_DEBUG_MISC, ("pf: ICMP error message has incorrect " "SCTP v_tag\n")); @@ -8313,9 +8320,9 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, &nk->addr[didx], pd->af, nk->af)) return (PF_DROP); - sh.src_port = nk->port[sidx]; - sh.dest_port = nk->port[didx]; - m_copyback(pd2.m, pd2.off, sizeof(sh), (c_caddr_t)&sh); + sh->src_port = nk->port[sidx]; + sh->dest_port = nk->port[didx]; + m_copyback(pd2.m, pd2.off, sizeof(*sh), (c_caddr_t)sh); PF_ACPY(&pd->nsaddr, &nk->addr[pd2.sidx], nk->af); PF_ACPY(&pd->ndaddr, @@ -8341,8 +8348,8 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, 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, + 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, @@ -8350,8 +8357,8 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, 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, + 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, @@ -8379,7 +8386,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, break; #endif /* INET6 */ } - m_copyback(pd->m, pd2.off, sizeof(sh), (caddr_t)&sh); + m_copyback(pd->m, pd2.off, sizeof(*sh), (caddr_t)sh); } return (PF_PASS); From nobody Mon Apr 21 12:49:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh4tw3MQ5z5tRtM; Mon, 21 Apr 2025 12:49: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh4tv6GpLz3ntg; Mon, 21 Apr 2025 12:49:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745239752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cpNQDdN/ZNBwIWnVcMHD7LFJN8siHe2ElbHH9Wc6Wws=; b=dy1fW44cnlVh3F1SG4BVN4QWdXOqdrmp5C0RmEMvjvcv6uNvodSf0MUM6WKpKk8Xd+g38s s5dzGlfhJwKPnSMMlheTIHVN3hxcIF0c6M5T4f5pXgMNSmtbGEm4b7CrN74ZpQygbqaZiJ eRzjTzn2Znc8zZWTKMNyNePA3BGnsEkQYLOP4Jw79yQPVdggpOa96kt7Kk4Q8bHXCCtcVh h716kUjziEeWsokOEJ3EN9+efCczF3B8U0QMxgN3pgW7RPcx+ruEvY8KOMIUbt6ayA9KA4 FxPtMWFlJqKmqG0v5dUMeroCWhnYjffU/p3Dx7d7XJLrEJeLcTne5P06/9KKgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745239752; a=rsa-sha256; cv=none; b=OkjZixPZRfxF20P5iTdpW7aZxQfYkD17BjjXu/eCbslzPis8IitiTr898Id0duG6a3P46R 1YboRRf6i3O2cJUPsi6p9embf4AHRktpxzGqWOMHVP9Z9n665Uctd0kEPsijrPv5eBMW3c ZNEIvBXcMgDY5PCFNpgSIgomVkmqLHb/BFSiddjikUHWAF0T9KGzqQY0ACEkVTAln85u/1 SiTzxqc6IOXf1UQgNELnczauNyIJ+BMIFoQd92fBOocKuvjFQcMBYr8Yvr5BtXA/jS0x5m JKRbKmulcqvvWoBQAX/1q8qCBvngOEOVM9nTvAedrmnIE9Esk2WSWvzFZ2ZGqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745239752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cpNQDdN/ZNBwIWnVcMHD7LFJN8siHe2ElbHH9Wc6Wws=; b=bLZHJJU9kArO4ya7+5YNP21AmZPmBIu0D7lnivR/GiQBE58f6lmeUQfcRKRjWDo32pJiGK xbiV8niShWQOEw8vz5I19cFWc4Xfh7TQwEVyCkAdzBl1fYF9Z9svjZQWofDZPvu/ijmoRO jiHuuEFmryc7v0QPzcEvHuYNbSXEfsMW0V1lf87DuN7q+5StZPE2zFMYTxXCz0m4t4+64C 9Azqfhivzz2gOJlg8dr50gZFbHsyRvdjJok01YTpSQQiQBcmbTQgVEqp8INCOO+fEdZbAV 1btP1Yp+BnArlEjOH10eK3neymkxLrgQrou0P49RVihEdmePB6QpeGjkfqJ4rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zh4tv5htNzr0W; Mon, 21 Apr 2025 12:49: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 53LCnBOe077635; Mon, 21 Apr 2025 12:49:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LCnBX2077632; Mon, 21 Apr 2025 12:49:11 GMT (envelope-from git) Date: Mon, 21 Apr 2025 12:49:11 GMT Message-Id: <202504211249.53LCnBX2077632@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 612ae9c9d06c - main - pf: add extra unhandled_af() assertions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 612ae9c9d06cb8b81043d7f45f22e01f8c1afe8b Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=612ae9c9d06cb8b81043d7f45f22e01f8c1afe8b commit 612ae9c9d06cb8b81043d7f45f22e01f8c1afe8b Author: Kristof Provost AuthorDate: 2025-04-18 14:41:15 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 08:43:32 +0000 pf: add extra unhandled_af() assertions Verify naf, as well as af. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index c00e736d4091..95dc6a318dd4 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -3315,6 +3315,8 @@ pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, po, pn, u); break; #endif /* INET6 */ + default: + unhandled_af(pd->naf); } break; #endif /* INET */ @@ -3352,6 +3354,8 @@ pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, *pd->pcksum = pf_proto_cksum_fixup(pd->m, *pd->pcksum, po, pn, u); break; + default: + unhandled_af(pd->naf); } break; #endif /* INET6 */ From nobody Mon Apr 21 12:49:10 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh4tv5q0Zz5tS2r; Mon, 21 Apr 2025 12:49:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh4tt6sqkz3ntY; Mon, 21 Apr 2025 12:49:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745239750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yGpBb0VOO1WC3Fadg8rHU9IfpE0nrup5/KECgG6ifLg=; b=gh3Nq4vUa2ke9L+QqYC/5/wwXcfvJ0ZlrCmKLONOYsGb+dvnnzwuDY9sei1C1o+k16LhIi MqmHAGMeSa0pFZzJQlXqets+vdQtcS5GSm8GE3e6VAEBzUKGjT4GtaMcN4+xBUqDD41Sgs TnLseHr1ZbAl6AoRsT3bJizHQpyTibqwEqfx9IBgSQxj8PtxyFLPbvbZ4O6C1cAtw/eUdr BcinMr2z5w85GocuofBuuE/R2cika3MTkyUkE3UP3x7gIviF5wj839giW1H2s2bZ6YKLr8 /qQfxQ2ty9052mpeCQlpZ6AiMS0h6elemr5Jxd2jnLDliAq7t4stFh8oZ8rVQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745239750; a=rsa-sha256; cv=none; b=GQyhP/hFGPbFdItOFZdVnUipm3CmKKeF2G26G6ArgzSV2iNmgn8gV6jxtsUHWcCPRaZjJP y8LQcTM6aMVcZ/aP4oXnfG1lWsSl6snH1WyXiMlNF4/0HN6OYgDtXRhw5IYPbYfsg3JrKk FQ1iJ9Hptbf4h7Ov5cfYMvZEZ7/4OOENxHAV57ch7zhn09b9lLHOJpToJrU/qFiYO8ubx+ Qgrj9FUUBI3h/9E1UmXUANUzbljiFGkzLOUtXePKyH6xbjM+tT64RbHN/mvdDzrHWBmnvU 9SCDGwSzyE/ZyVMpB64tCwHVbPlxGy5L86S5hcSJuyrYjOYy+74pfcJ2fMYqag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745239750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yGpBb0VOO1WC3Fadg8rHU9IfpE0nrup5/KECgG6ifLg=; b=fW9m5ZWOJrhD0/5KV73wbczNN6TB4HTc6vVtnzrrlqQayw6kbnRBDEBL2Pv+PqurBIxUbR ZDzdaznkwPeCSHPQ/YLEyQKUBbrOkehooEj/tQt7PZB5G4S49GyblyVEVkMVj3nfJpiVvF D+SdbOHtOGWhXkDnk6BO1lGUJAesRcdAFoYEWwQ49dP1sRoHA8XOy6130slM+9GSE2MuhI 2na+h1+XONHCCu7CYSk1XZbadVY37cJbl+1b73bpoGRpfmHrRCnsoXj4fSS7Nen4QYtm90 2V7vmZ+0/V1UPR3rwuVMqEbfUGEdLLLDPiHpnmcTb4PXmoPMdCC3ELHEKk9sVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zh4tt4V2zzqlw; Mon, 21 Apr 2025 12:49: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 53LCnA9K077603; Mon, 21 Apr 2025 12:49:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LCnA7v077600; Mon, 21 Apr 2025 12:49:10 GMT (envelope-from git) Date: Mon, 21 Apr 2025 12:49:10 GMT Message-Id: <202504211249.53LCnA7v077600@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 4bbd5db0086a - main - pf: use struct pf_pdesc for pf_change_ap() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4bbd5db0086ad6a921f3ff41402b9f3231bdf125 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4bbd5db0086ad6a921f3ff41402b9f3231bdf125 commit 4bbd5db0086ad6a921f3ff41402b9f3231bdf125 Author: Kristof Provost AuthorDate: 2025-04-16 12:35:20 +0000 Commit: Kristof Provost CommitDate: 2025-04-21 08:43:31 +0000 pf: use struct pf_pdesc for pf_change_ap() Rather than pass separate arguments for checksum fields use the pointers in struct pf_pdesc. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 170 +++++++++++++++++++++++----------------------------- 1 file changed, 74 insertions(+), 96 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 8b947a26ab6a..c00e736d4091 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -309,8 +309,7 @@ static void pf_add_threshold(struct pf_threshold *); static int pf_check_threshold(struct pf_threshold *); static void pf_change_ap(struct pf_pdesc *, struct pf_addr *, u_int16_t *, - u_int16_t *, u_int16_t *, struct pf_addr *, - u_int16_t, u_int8_t); + struct pf_addr *, u_int16_t); static int pf_modulate_sack(struct pf_pdesc *, struct tcphdr *, struct pf_state_peer *); int pf_icmp_mapping(struct pf_pdesc *, u_int8_t, int *, @@ -633,13 +632,11 @@ pf_packet_rework_nat(struct pf_pdesc *pd, int off, struct pf_state_key *nk) struct tcphdr *th = &pd->hdr.tcp; if (PF_ANEQ(pd->src, &nk->addr[pd->sidx], pd->af)) - pf_change_ap(pd, pd->src, &th->th_sport, pd->ip_sum, - &th->th_sum, &nk->addr[pd->sidx], - nk->port[pd->sidx], 0); + pf_change_ap(pd, pd->src, &th->th_sport, + &nk->addr[pd->sidx], nk->port[pd->sidx]); if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af)) - pf_change_ap(pd, pd->dst, &th->th_dport, pd->ip_sum, - &th->th_sum, &nk->addr[pd->didx], - nk->port[pd->didx], 0); + pf_change_ap(pd, pd->dst, &th->th_dport, + &nk->addr[pd->didx], nk->port[pd->didx]); m_copyback(pd->m, off, sizeof(*th), (caddr_t)th); break; } @@ -647,29 +644,24 @@ pf_packet_rework_nat(struct pf_pdesc *pd, int off, struct pf_state_key *nk) struct udphdr *uh = &pd->hdr.udp; if (PF_ANEQ(pd->src, &nk->addr[pd->sidx], pd->af)) - pf_change_ap(pd, pd->src, &uh->uh_sport, pd->ip_sum, - &uh->uh_sum, &nk->addr[pd->sidx], - nk->port[pd->sidx], 1); + pf_change_ap(pd, pd->src, &uh->uh_sport, + &nk->addr[pd->sidx], nk->port[pd->sidx]); if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af)) - pf_change_ap(pd, pd->dst, &uh->uh_dport, pd->ip_sum, - &uh->uh_sum, &nk->addr[pd->didx], - nk->port[pd->didx], 1); + pf_change_ap(pd, pd->dst, &uh->uh_dport, + &nk->addr[pd->didx], nk->port[pd->didx]); m_copyback(pd->m, off, sizeof(*uh), (caddr_t)uh); break; } case IPPROTO_SCTP: { struct sctphdr *sh = &pd->hdr.sctp; - uint16_t checksum = 0; if (PF_ANEQ(pd->src, &nk->addr[pd->sidx], pd->af)) { - pf_change_ap(pd, pd->src, &sh->src_port, pd->ip_sum, - &checksum, &nk->addr[pd->sidx], - nk->port[pd->sidx], 1); + pf_change_ap(pd, pd->src, &sh->src_port, + &nk->addr[pd->sidx], nk->port[pd->sidx]); } if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af)) { - pf_change_ap(pd, pd->dst, &sh->dest_port, pd->ip_sum, - &checksum, &nk->addr[pd->didx], - nk->port[pd->didx], 1); + pf_change_ap(pd, pd->dst, &sh->dest_port, + &nk->addr[pd->didx], nk->port[pd->didx]); } break; @@ -3267,18 +3259,24 @@ pf_proto_cksum_fixup(struct mbuf *m, u_int16_t cksum, u_int16_t old, } static void -pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, - u_int16_t *pc, struct pf_addr *an, u_int16_t pn, u_int8_t u) +pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, + struct pf_addr *an, u_int16_t pn) { struct pf_addr ao; u_int16_t po; + uint8_t u = pd->virtual_proto == IPPROTO_UDP; + + MPASS(pd->pcksum); + if (pd->af == AF_INET) { + MPASS(pd->ip_sum); + } PF_ACPY(&ao, a, pd->af); if (pd->af == pd->naf) PF_ACPY(a, an, pd->af); if (pd->m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) - *pc = ~*pc; + *pd->pcksum = ~*pd->pcksum; if (p == NULL) /* no port -> done. no cksum to worry about. */ return; @@ -3290,22 +3288,22 @@ pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic case AF_INET: switch (pd->naf) { case AF_INET: - *ic = pf_cksum_fixup(pf_cksum_fixup(*ic, + *pd->ip_sum = pf_cksum_fixup(pf_cksum_fixup(*pd->ip_sum, ao.addr16[0], an->addr16[0], 0), ao.addr16[1], an->addr16[1], 0); *p = pn; - *pc = pf_cksum_fixup(pf_cksum_fixup(*pc, + *pd->pcksum = pf_cksum_fixup(pf_cksum_fixup(*pd->pcksum, ao.addr16[0], an->addr16[0], u), ao.addr16[1], an->addr16[1], u); - *pc = pf_proto_cksum_fixup(pd->m, *pc, po, pn, u); + *pd->pcksum = pf_proto_cksum_fixup(pd->m, *pd->pcksum, po, pn, u); break; #ifdef INET6 case AF_INET6: - *pc = pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( + *pd->pcksum = pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( - pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup(*pc, + pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup(*pd->pcksum, ao.addr16[0], an->addr16[0], u), ao.addr16[1], an->addr16[1], u), 0, an->addr16[2], u), @@ -3315,8 +3313,6 @@ pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic 0, an->addr16[6], u), 0, an->addr16[7], u), po, pn, u); - - /* XXXKP TODO *ic checksum? */ break; #endif /* INET6 */ } @@ -3327,9 +3323,9 @@ pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic switch (pd->naf) { #ifdef INET case AF_INET: - *pc = pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( + *pd->pcksum = pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( - pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup(*pc, + pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup(*pd->pcksum, ao.addr16[0], an->addr16[0], u), ao.addr16[1], an->addr16[1], u), ao.addr16[2], 0, u), @@ -3339,14 +3335,12 @@ pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic ao.addr16[6], 0, u), ao.addr16[7], 0, u), po, pn, u); - - /* XXXKP TODO *ic checksum? */ break; #endif /* INET */ case AF_INET6: - *pc = pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( + *pd->pcksum = pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( pf_cksum_fixup(pf_cksum_fixup(pf_cksum_fixup( - pf_cksum_fixup(pf_cksum_fixup(*pc, + pf_cksum_fixup(pf_cksum_fixup(*pd->pcksum, ao.addr16[0], an->addr16[0], u), ao.addr16[1], an->addr16[1], u), ao.addr16[2], an->addr16[2], u), @@ -3356,7 +3350,7 @@ pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic ao.addr16[6], an->addr16[6], u), ao.addr16[7], an->addr16[7], u); - *pc = pf_proto_cksum_fixup(pd->m, *pc, po, pn, u); + *pd->pcksum = pf_proto_cksum_fixup(pd->m, *pd->pcksum, po, pn, u); break; } break; @@ -3367,9 +3361,9 @@ pf_change_ap(struct pf_pdesc *pd, struct pf_addr *a, u_int16_t *p, u_int16_t *ic if (pd->m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) { - *pc = ~*pc; - if (! *pc) - *pc = 0xffff; + *pd->pcksum = ~*pd->pcksum; + if (! *pd->pcksum) + *pd->pcksum = 0xffff; } } @@ -5602,8 +5596,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, if (PF_ANEQ(&pd->nsaddr, &nk->addr[pd->sidx], pd->af) || nk->port[pd->sidx] != pd->nsport) { pf_change_ap(pd, pd->src, &th->th_sport, - pd->ip_sum, &th->th_sum, &nk->addr[pd->sidx], - nk->port[pd->sidx], 0); + &nk->addr[pd->sidx], nk->port[pd->sidx]); pd->sport = &th->th_sport; pd->nsport = th->th_sport; PF_ACPY(&pd->nsaddr, pd->src, pd->af); @@ -5612,8 +5605,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, if (PF_ANEQ(&pd->ndaddr, &nk->addr[pd->didx], pd->af) || nk->port[pd->didx] != pd->ndport) { pf_change_ap(pd, pd->dst, &th->th_dport, - pd->ip_sum, &th->th_sum, &nk->addr[pd->didx], - nk->port[pd->didx], 0); + &nk->addr[pd->didx], nk->port[pd->didx]); pd->dport = &th->th_dport; pd->ndport = th->th_dport; PF_ACPY(&pd->ndaddr, pd->dst, pd->af); @@ -5627,9 +5619,8 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, nk->port[pd->sidx] != pd->nsport) { pf_change_ap(pd, pd->src, &pd->hdr.udp.uh_sport, - pd->ip_sum, &pd->hdr.udp.uh_sum, &nk->addr[pd->sidx], - nk->port[pd->sidx], 1); + nk->port[pd->sidx]); pd->sport = &pd->hdr.udp.uh_sport; pd->nsport = pd->hdr.udp.uh_sport; PF_ACPY(&pd->nsaddr, pd->src, pd->af); @@ -5639,9 +5630,8 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, nk->port[pd->didx] != pd->ndport) { pf_change_ap(pd, pd->dst, &pd->hdr.udp.uh_dport, - pd->ip_sum, &pd->hdr.udp.uh_sum, &nk->addr[pd->didx], - nk->port[pd->didx], 1); + nk->port[pd->didx]); pd->dport = &pd->hdr.udp.uh_dport; pd->ndport = pd->hdr.udp.uh_dport; PF_ACPY(&pd->ndaddr, pd->dst, pd->af); @@ -5649,14 +5639,12 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, rewrite++; break; case IPPROTO_SCTP: { - uint16_t checksum = 0; - if (PF_ANEQ(&pd->nsaddr, &nk->addr[pd->sidx], pd->af) || nk->port[pd->sidx] != pd->nsport) { pf_change_ap(pd, pd->src, - &pd->hdr.sctp.src_port, pd->ip_sum, &checksum, + &pd->hdr.sctp.src_port, &nk->addr[pd->sidx], - nk->port[pd->sidx], 1); + nk->port[pd->sidx]); pd->sport = &pd->hdr.sctp.src_port; pd->nsport = pd->hdr.sctp.src_port; PF_ACPY(&pd->nsaddr, pd->src, pd->af); @@ -5664,9 +5652,9 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, if (PF_ANEQ(&pd->ndaddr, &nk->addr[pd->didx], pd->af) || nk->port[pd->didx] != pd->ndport) { pf_change_ap(pd, pd->dst, - &pd->hdr.sctp.dest_port, pd->ip_sum, &checksum, + &pd->hdr.sctp.dest_port, &nk->addr[pd->didx], - nk->port[pd->didx], 1); + nk->port[pd->didx]); pd->dport = &pd->hdr.sctp.dest_port; pd->ndport = pd->hdr.sctp.dest_port; PF_ACPY(&pd->ndaddr, pd->dst, pd->af); @@ -6337,40 +6325,39 @@ pf_translate(struct pf_pdesc *pd, struct pf_addr *saddr, u_int16_t sport, switch (pd->proto) { case IPPROTO_TCP: if (afto || *pd->sport != sport) { - pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, &pd->hdr.tcp.th_sum, - saddr, sport, 0); + pf_change_ap(pd, pd->src, pd->sport, + saddr, sport); rewrite = 1; } if (afto || *pd->dport != dport) { - pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, &pd->hdr.tcp.th_sum, - daddr, dport, 0); + pf_change_ap(pd, pd->dst, pd->dport, + daddr, dport); rewrite = 1; } break; case IPPROTO_UDP: if (afto || *pd->sport != sport) { - pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, &pd->hdr.udp.uh_sum, - saddr, sport, 1); + pf_change_ap(pd, pd->src, pd->sport, + saddr, sport); rewrite = 1; } if (afto || *pd->dport != dport) { - pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, &pd->hdr.udp.uh_sum, - daddr, dport, 1); + pf_change_ap(pd, pd->dst, pd->dport, + daddr, dport); rewrite = 1; } break; case IPPROTO_SCTP: { - uint16_t checksum = 0; if (afto || *pd->sport != sport) { - pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, &checksum, - saddr, sport, 1); + pf_change_ap(pd, pd->src, pd->sport, + saddr, sport); rewrite = 1; } if (afto || *pd->dport != dport) { - pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, &checksum, - daddr, dport, 1); + pf_change_ap(pd, pd->dst, pd->dport, + daddr, dport); rewrite = 1; } break; @@ -7119,15 +7106,13 @@ pf_test_state(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reason) if (afto || PF_ANEQ(pd->src, &nk->addr[sidx], pd->af) || nk->port[sidx] != pd->osport) - pf_change_ap(pd, pd->src, pd->sport, pd->ip_sum, - pd->pcksum, &nk->addr[sidx], - nk->port[sidx], pd->virtual_proto == IPPROTO_UDP); + pf_change_ap(pd, pd->src, pd->sport, + &nk->addr[sidx], nk->port[sidx]); if (afto || PF_ANEQ(pd->dst, &nk->addr[didx], pd->af) || nk->port[didx] != pd->odport) - pf_change_ap(pd, pd->dst, pd->dport, pd->ip_sum, - pd->pcksum, &nk->addr[didx], - nk->port[didx], pd->virtual_proto == IPPROTO_UDP); + pf_change_ap(pd, pd->dst, pd->dport, + &nk->addr[didx], nk->port[didx]); copyback = 1; } @@ -7924,6 +7909,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, "(tcp)\n")); return (PF_DROP); } + pd2.pcksum = &pd2.hdr.tcp.th_sum; key.af = pd2.af; key.proto = IPPROTO_TCP; @@ -8006,7 +7992,6 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, #if defined(INET) && defined(INET6) int afto, sidx, didx; - u_int16_t dummy_cksum = 0; afto = pd->af != nk->af; @@ -8043,25 +8028,16 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, pd->nsaddr.addr32[3] = pd->src->addr32[0]; } - pd->naf = nk->af; + pd->naf = pd2.naf = nk->af; if (pf_change_icmp_af(pd->m, ipoff2, pd, &pd2, &nk->addr[sidx], &nk->addr[didx], pd->af, nk->af)) return (PF_DROP); - pf_change_ap(pd, pd2.src, &th->th_sport, - pd->ip_sum, &dummy_cksum, &nk->addr[pd2.sidx], - nk->port[sidx], 1); - pf_change_ap(pd, pd2.dst, &th->th_dport, - pd->ip_sum, &dummy_cksum, &nk->addr[pd2.didx], - nk->port[didx], 1); - m_copyback(pd2.m, pd2.off, 8, (c_caddr_t)th); - pf_change_ap(pd, pd2.src, &th->th_sport, - pd->ip_sum, &dummy_cksum, &nk->addr[pd2.sidx], - nk->port[sidx], 1); - pf_change_ap(pd, pd2.dst, &th->th_dport, - pd->ip_sum, &dummy_cksum, &nk->addr[pd2.didx], - nk->port[didx], 1); + pf_change_ap(&pd2, pd2.src, &th->th_sport, + &nk->addr[pd2.sidx], nk->port[sidx]); + pf_change_ap(&pd2, pd2.dst, &th->th_dport, + &nk->addr[pd2.didx], nk->port[didx]); m_copyback(pd2.m, pd2.off, 8, (c_caddr_t)th); return (PF_AFRT); } @@ -8125,6 +8101,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, "(udp)\n")); return (PF_DROP); } + pd2.pcksum = &pd2.hdr.udp.uh_sum; key.af = pd2.af; key.proto = IPPROTO_UDP; @@ -8183,18 +8160,16 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, pd->nsaddr.addr32[3] = pd->src->addr32[0]; } - pd->naf = nk->af; + pd->naf = pd2.naf = nk->af; if (pf_change_icmp_af(pd->m, ipoff2, pd, &pd2, &nk->addr[sidx], &nk->addr[didx], pd->af, nk->af)) return (PF_DROP); - pf_change_ap(pd, pd2.src, &uh->uh_sport, - pd->ip_sum, &uh->uh_sum, &nk->addr[pd2.sidx], - nk->port[sidx], 1); - pf_change_ap(pd, pd2.dst, &uh->uh_dport, - pd->ip_sum, &uh->uh_sum, &nk->addr[pd2.didx], - nk->port[didx], 1); + pf_change_ap(&pd2, pd2.src, &uh->uh_sport, + &nk->addr[pd2.sidx], nk->port[sidx]); + pf_change_ap(&pd2, pd2.dst, &uh->uh_dport, + &nk->addr[pd2.didx], nk->port[didx]); m_copyback(pd2.m, pd2.off, sizeof(*uh), (c_caddr_t)uh); return (PF_AFRT); @@ -8255,6 +8230,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, "(sctp)\n")); return (PF_DROP); } + pd2.pcksum = &pd2.sctp_dummy_sum; key.af = pd2.af; key.proto = IPPROTO_SCTP; @@ -8407,6 +8383,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, "(icmp)\n")); return (PF_DROP); } + pd2.pcksum = &pd2.hdr.icmp.icmp_cksum; icmpid = iih->icmp_id; pf_icmp_mapping(&pd2, iih->icmp_type, @@ -8526,6 +8503,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, "(icmp6)\n")); return (PF_DROP); } + pd2.pcksum = &pd2.hdr.icmp6.icmp6_cksum; pf_icmp_mapping(&pd2, iih->icmp6_type, &icmp_dir, &virtual_id, &virtual_type); From nobody Mon Apr 21 14:23:21 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh6zZ4SY6z5tYQC; Mon, 21 Apr 2025 14:23:22 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh6zZ2vTKz3Sw8; Mon, 21 Apr 2025 14:23:22 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745245402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0SvznoH7yv6i3ZI08TRFmWbGKe91tKvmQjK4aBip+Cc=; b=p0lx54ASj0Rnq98BUhhoK7lgQugnI7zW6p5xvchWN9kjp9KuSpNi6HLH3XQC5dTFa8t/uq HiRG199eLlw1CE6Qa2k1Nyjk8digTGD4Nsyk4LMEZE/8SES/XImsRjDEM5ReMji0A9i7yO 4VV5U8XIVU9e2uy2zdz/eb6ras7s8aQNxyIljtsKEOZlvb86GC4UPl4S1yyWjfNAy7AXA9 TULQAfmIdLnXBzjCxRjZ9/fOdTHZymk5VOgO0TUAHcKWltel7MseX1jhBSPRLh0cKUAm5R gOumgnUpLN0fFnfE2J8NzERcXsLL2E6Dw8AtXTMcpW2gYgYT/ritIlphhjPUNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745245402; a=rsa-sha256; cv=none; b=a8TdAGWhG30anuVqZxkmQQK6Jok64yNZKNOdNCIrEn9WLMYtQXB/QovB5GOPGz9+t4l26i 7Z68iqkeRDR9ZniRmzYuaX4MZH62gHoaICMp4zc/1WUqvXUGo9kgvAKGQT472WTw7gmQ3C rTKbs2aYqY7xUv6xNqzymBnsq9BdrT/8YGyEq1V3sdc+1bKWn0mNIfMD9VKEZQtA9HHiMA hnlS98kyQ7TnA/nFztYPP/VLg2BJH9iV0Dx94koSkQ2zZFnRkEmYipjD+se2Go+aup4nn3 ylNmvOz8Gjsr2hRxdhKh1jYRZGwkR+yTinDBXPIl1W5DPTNjQlUb/ksGhMYt8g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745245402; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0SvznoH7yv6i3ZI08TRFmWbGKe91tKvmQjK4aBip+Cc=; b=QNHNgiqAXXkNsDvbF0MklHR4zceg8P12IkNY++leuf4GXdACLjjXkcxc0tFicpJq5NjH1h 9GFjdMsR0u57hN9FK0fCE8r3iUPjIYHfNDbrjtiUxjFb19xLaUtpT6IxwYZQ64v4tFiDx4 95cp9LyV6u3PDiGLxhNUZah+G5b1N855onTGFi5mODYo/0xNwJp++6ZG/3rFTYlSJAkpVC kz7t71rc7gCgH3YDPx5tJYrLRD7E/zw2gQTGgaaCwZtp+VJ51CK+5/QsB1C5+R2zDDcqis wNoIf/+t3Zlv89Yl9J9WWVsKSTbRCL58ovSHRDasHnA57k8u1JLb+4wuhgxrTQ== Received: from [IPV6:2601:5c0:4200:b830:da:dbef:6846:200] (unknown [IPv6:2601:5c0:4200:b830:da:dbef:6846:200]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Zh6zZ144ZzLZ0; Mon, 21 Apr 2025 14:23:22 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <4a521ab3-8a40-4be6-bb06-51ca4e15febe@FreeBSD.org> Date: Mon, 21 Apr 2025 10:23:21 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: b7527823fdcc - main - vm_page: Bump __FreeBSD_version for removal of vm_page_next() and _prev Content-Language: en-US To: Mark Johnston , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202504191356.53JDu2Zc011615@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202504191356.53JDu2Zc011615@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/19/25 09:56, Mark Johnston wrote: > The branch main has been updated by markj: > > URL: https://cgit.FreeBSD.org/src/commit/?id=b7527823fdcc29f0da9c17152dbb062eeb18244d > > commit b7527823fdcc29f0da9c17152dbb062eeb18244d > Author: Mark Johnston > AuthorDate: 2025-04-19 13:49:48 +0000 > Commit: Mark Johnston > CommitDate: 2025-04-19 13:55:37 +0000 > > vm_page: Bump __FreeBSD_version for removal of vm_page_next() and _prev > > Out-of-tree code needs to be modified to use iterators after commit > a3a88ed22cb1. > > Fixes: a3a88ed22cb1 ("vm_page: drop prev and next") Hmm, would it be better for out-of-tree code to use the __FreeBSD_version that introduces the new API as the version to switch behavior on rather than the removal of the old API? I tend to follow this practice when patching ports for API changes in new-bus, etc. -- John Baldwin From nobody Mon Apr 21 14:27:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh7423qWrz5tYBV; Mon, 21 Apr 2025 14:27:14 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qv1-xf2e.google.com (mail-qv1-xf2e.google.com [IPv6:2607:f8b0:4864:20::f2e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh7416MbBz3Wck; Mon, 21 Apr 2025 14:27:13 +0000 (UTC) (envelope-from markjdb@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qv1-xf2e.google.com with SMTP id 6a1803df08f44-6e8f05acc13so53967216d6.2; Mon, 21 Apr 2025 07:27:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745245632; x=1745850432; darn=freebsd.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=wTznqzVgA4dG6txyyqYVSjphm2r3xHE2g26rFq4ydpw=; b=AENvnZ98GkFikxbmXHj427xfGFoa6XeHjqXXWbdDDBIQGZr9abbUM46AIJcuhqaoUR 3b8zuMbzKoUehErigi8imU6gG3nzasTrN7ANMm5sydGquN9DFht2xqchz1V2T43HvmYc 2jcHXh+xLYRLgpyB97JddIQ9iJuJ1GAl35oX7HqXtAn53TRu0Johziy9AtO3WMMaYBZM inJgFgggHTqR8T3cvMEUiFUm4G/u/fl9ZyIgqlVws6VEgmpo3xnYdIlatbcLuoHpz8Wi nXXSTZMw7UhmCnEiutNj6lw6FPBeXR3VeENhokMw89nQH346UrhbiP0Md7LBDtwnCFUn mSHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745245632; x=1745850432; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wTznqzVgA4dG6txyyqYVSjphm2r3xHE2g26rFq4ydpw=; b=DpS/pqQqUQfrFO2b3L3vZ2vmOMWXqEByzofmJiGbLAxmN99nLpS8XR9Z4Ch6r/tyP2 3DF97JHf9sIk/Cw7M5JZ4/ACOhwtbsUmfbP+rzZ0oIcVoTlBSTWqkOlZ+yjDwd8ptI9e 9Zq5N7QvTtp18gfje2y43Z8Klcbkadg/AfAXupUWWaZYatbhtHpqSvjuRAbAaYccPw+m yrBm4SUcF3LjTfTcbABrGGds38ydB2LAEPeOIE9LxuNU1M0/7FwETJiexHOEX25OipcK Hc0FNfkjwoGSLFvcrwzPWWOoRg74QHGdF1UYyRWXzOxhWnBeL4cLhNluVI06MzYBNCBJ QemQ== X-Forwarded-Encrypted: i=1; AJvYcCVSpcsghw5DWpDL/f5LX38MChO3rub+50xDN90LLRqwPq+YMknLILXEUXV1909OLGRY72Nic4rSqCoSqdWo+VRvvCJ7HBQ=@freebsd.org, AJvYcCVg/uO1hEPOTtBGOYzaYhdQ5TVCZZKYCe7nfZ92FYV23CHp9OYygYxc37BlQ1GfmH2taQStSdHKJGBqd+tvleDZMw7k@freebsd.org X-Gm-Message-State: AOJu0YzZKhVB+mFBIVz1SgKxUkKZoug5k5VPKMRj8gB1+35m6ixeSUYt OS6M7ChIAlGbZ7jN45S2/BtlInPzV/e2iF/Xuy2VyfCRwZGX1cpF+N0JVatu X-Gm-Gg: ASbGncvzkmvLC5sJTc7Peju6cGVIMiYpAeY9FFZ6hovqlylNxNmsCjDuQARJZZ5qNKH bLvG8IcYZ5pm6tvdr8M1zfGfe1wkWQlfROqA+ndWUZSFYaWWUu6jFRL4cfWELv7xFXRB+3jwfWQ lxquxHQE3aor5/0ebS/urZ3ZOH1Y/8U+gmEfkFG2jcoWir5M2+dz/HuLrj68guB8GSFO3brVzcm /FoitqT2E2Y/SSBroEsMCPzgwbSkUYQI8kQYzCNQJuKd7anGWTv3Zcl6BpuXA33OEZ7r9+IZFdT MqFmiey8gqNgfIvV3bMgfObbjSVRYUBAaFVZuhC5RxRV4dL1oYtHrrrl5iGXCDrvjg== X-Google-Smtp-Source: AGHT+IEoft3Q+oPM3ZE7CJnIX3c7y4a7PiN+SflSRBgBGn6R7lHCd/DYV6MO6smSYaIOq3tqNOMHUg== X-Received: by 2002:a05:6214:c64:b0:6ea:d393:9634 with SMTP id 6a1803df08f44-6f2c44e6184mr216452496d6.3.1745245631984; Mon, 21 Apr 2025 07:27:11 -0700 (PDT) Received: from nuc (192-0-220-237.cpe.teksavvy.com. [192.0.220.237]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6f2c2af1722sm44351446d6.11.2025.04.21.07.27.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Apr 2025 07:27:11 -0700 (PDT) Date: Mon, 21 Apr 2025 10:27:09 -0400 From: Mark Johnston To: John Baldwin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: b7527823fdcc - main - vm_page: Bump __FreeBSD_version for removal of vm_page_next() and _prev Message-ID: References: <202504191356.53JDu2Zc011615@gitrepo.freebsd.org> <4a521ab3-8a40-4be6-bb06-51ca4e15febe@FreeBSD.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4a521ab3-8a40-4be6-bb06-51ca4e15febe@FreeBSD.org> X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4Zh7416MbBz3Wck X-Spamd-Bar: ---- On Mon, Apr 21, 2025 at 10:23:21AM -0400, John Baldwin wrote: > On 4/19/25 09:56, Mark Johnston wrote: > > The branch main has been updated by markj: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=b7527823fdcc29f0da9c17152dbb062eeb18244d > > > > commit b7527823fdcc29f0da9c17152dbb062eeb18244d > > Author: Mark Johnston > > AuthorDate: 2025-04-19 13:49:48 +0000 > > Commit: Mark Johnston > > CommitDate: 2025-04-19 13:55:37 +0000 > > > > vm_page: Bump __FreeBSD_version for removal of vm_page_next() and _prev > > Out-of-tree code needs to be modified to use iterators after commit > > a3a88ed22cb1. > > Fixes: a3a88ed22cb1 ("vm_page: drop prev and next") > > Hmm, would it be better for out-of-tree code to use the __FreeBSD_version that > introduces the new API as the version to switch behavior on rather than the > removal of the old API? I tend to follow this practice when patching ports for > API changes in new-bus, etc. In this case, I'm not sure that would be better: the iterator interface has changed a bit since it was introduced and in particular the layout of the iterator structure -- part of the KBI -- has changed since it was introduced. So, using an old value of __FreeBSD_version felt a bit sketchy here. From nobody Mon Apr 21 14:42:40 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh7Pt2Pdlz5tZRp; Mon, 21 Apr 2025 14:42:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh7Ps4xWbz3gCQ; Mon, 21 Apr 2025 14:42:41 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745246561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=creJ3TyZEfKVtjaenY+HcokaEV6XUkgMY5aseDhbV5A=; b=GjXH2NeiSFsc2SGMdTtd+zBvzm+HyOqH3yA/J+/dPw/dAs2HWyRVz/LKKqFFvrvSCKORjf H5wrofq+IIwOgD+L3SaE7hqfVJjTvfzHa68BH8JetCdFToX38uZnH5wc/1Ds96wp/D4vkP tQExpREBws9dD4EKyjtec4MEQEnM1WWbdZQLKLAB/qUeiC+VG69AsIfjn3E61V6TsdrkVK rjPKKRmRcnjwX9+28S413pGS5KKl+AIQ0sjdtDrZkD7QF9i7NNijHUL0CmMcSax0fln28/ 6ZSa0DALtwFgc9X5dEiNJRfK/D42JgjyuJRtzbSEQWmk9eoG8lD2+/AQr3dAog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745246561; a=rsa-sha256; cv=none; b=o1F4QjJepeFjZPTSkfHfzbUwGzYiGoJBxYKAdbb3C6wKRl8HVAy9lnKpYM5xf5m8NocaQZ abtOq1aBWXsjvO6KXfi0Fni/8YeHwHdhHDYJ4jxTuUX81kivD4Wl76JPUSUOdaVDN+NTzg VZEhJDQuhkBcogNnGWhQDVyT/b2njAG77AMQLHE47UvGI27PN8vxRc12mRGJUHrcVvbmrj KNcdYX+Yo4rbQZqmMAqsBnBgOoenx28m6HcFSpkgI1FhCML2uduLnjR3C87HWUX72J7TqX cyN/NjlLsgzFi83u2ZdzPx/wiBioC+5dTxG/8QyM2kcWC/8c4irmwluS2aR73A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745246561; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=creJ3TyZEfKVtjaenY+HcokaEV6XUkgMY5aseDhbV5A=; b=pfjJxoD5dSztEZi+3tVux0Y4Oq+JJEr9BP5tFlLxDmBIKi5FOSXeRkcPimW78XjaMJxp55 GkpdoUQFMM5zYxf8BhI6Fu6oh2+Iysu8YXMmAH92pkpND5YaSNIwBp4KUx/3EXAXmm/uEc Y7VM7RLyUtYfpWY+LycOwp+YFRnF7x5/1yWZqrnO68F6FYM1BxlaWvzQ/ANbVfWfvi9dkO vQ/24B+HZ1cXaO8gJryfaU78GMsdikMfmdjJRR31sHtErEBffII4506pY+RoAEpoLwiMt4 5UeAn/jAZZEH0kEoPMIFreIDQmGH7ma/U9ADYbLUWFcqDrKeOsuNyy4OXX1HWQ== Received: from [IPV6:2601:5c0:4200:b830:da:dbef:6846:200] (unknown [IPv6:2601:5c0:4200:b830:da:dbef:6846:200]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Zh7Ps3H7fzMsF; Mon, 21 Apr 2025 14:42:41 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <2e182af1-19b6-4b10-9575-c549d766e086@FreeBSD.org> Date: Mon, 21 Apr 2025 10:42:40 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: b7527823fdcc - main - vm_page: Bump __FreeBSD_version for removal of vm_page_next() and _prev Content-Language: en-US To: Mark Johnston Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202504191356.53JDu2Zc011615@gitrepo.freebsd.org> <4a521ab3-8a40-4be6-bb06-51ca4e15febe@FreeBSD.org> From: John Baldwin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/21/25 10:27, Mark Johnston wrote: > On Mon, Apr 21, 2025 at 10:23:21AM -0400, John Baldwin wrote: >> On 4/19/25 09:56, Mark Johnston wrote: >>> The branch main has been updated by markj: >>> >>> URL: https://cgit.FreeBSD.org/src/commit/?id=b7527823fdcc29f0da9c17152dbb062eeb18244d >>> >>> commit b7527823fdcc29f0da9c17152dbb062eeb18244d >>> Author: Mark Johnston >>> AuthorDate: 2025-04-19 13:49:48 +0000 >>> Commit: Mark Johnston >>> CommitDate: 2025-04-19 13:55:37 +0000 >>> >>> vm_page: Bump __FreeBSD_version for removal of vm_page_next() and _prev >>> Out-of-tree code needs to be modified to use iterators after commit >>> a3a88ed22cb1. >>> Fixes: a3a88ed22cb1 ("vm_page: drop prev and next") >> >> Hmm, would it be better for out-of-tree code to use the __FreeBSD_version that >> introduces the new API as the version to switch behavior on rather than the >> removal of the old API? I tend to follow this practice when patching ports for >> API changes in new-bus, etc. > > In this case, I'm not sure that would be better: the iterator interface > has changed a bit since it was introduced and in particular the layout > of the iterator structure -- part of the KBI -- has changed since it was > introduced. So, using an old value of __FreeBSD_version felt a bit > sketchy here. Ok, fair enough. -- John Baldwin From nobody Mon Apr 21 14:42:46 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh7Py68Y8z5tZBB; Mon, 21 Apr 2025 14:42:46 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh7Py5205z3gFM; Mon, 21 Apr 2025 14:42:46 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745246566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=42FlDNj6Tu3Wp0MfkBsFRZgugqQ+qRe5i5uIsJm2Dac=; b=Whk1iNaIaZBjtWG51mskeGzssCS9cPC/OWPAH2OOHfD0xRzwB3VSrpvzfD5+9vUA15Wu1c pmTtU7QUGeVV+twaXeDH227dUq8I7zuMf2Z8WlfrFuIf5cKQWLzbuAVS32mE/RRUMZRRMN fYbSkK2u0gZEKZa1bL0ONLWwetxFZ+Zy7aInCsqx+7iCr0PGX52vmr5woicY9Dzlxl//06 C6dxjeUb7D8+FZakJUdynGIjDNUke20gDjUfgQkxs0TUQQi6ytEJEf9iErNlYU3DwVZvdA iJCR6PsDJMPzuQKGnIJPj9DsD7u1Dm1ok831k0SY7iVoDxHDxBITzSvcoI0QMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745246566; a=rsa-sha256; cv=none; b=lvZ1XIWCqNfglZosyYdqg0h0/K/0aeJ5XirN3euIyApOnxAOzAyVss14wHXFLls5Ay0Ai8 05wEaJv9d/SMuPstoq181loMAlVvgs7LgXhC/n5LJVNTJ6VWi39k9w8jhBWIK9V/XaN9ba +R8NobUNmsv5rGb8x6t0cS8zrJRVrsCWX/cd8kZ5wte4j4qJAeECZoTTLFoIQQJySbKIwc DG2TkdfHAoSMIOVF6KulG8sBftVcAvvYfppTzsQYKEyaGiMa+ggyVm3D+Cpl4bHOzCC/c+ bZNU2V6Nwr36HpxOEKqwL/pY+BHU1clPdBi8b41gaO543w4PujnQOHE0tGtzpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745246566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=42FlDNj6Tu3Wp0MfkBsFRZgugqQ+qRe5i5uIsJm2Dac=; b=t9lBkMRo0xpWBafmobDqr5cZX3TpL2WjxqcpMKqsuaJgWn+rXnxm7upnUs8/ZWCCDzLVg0 yv8HuMZUrVj7TEjN8TKBanFcSsDus4Ph3TN0z4d/AjfAFzC9gxqwg7wdqnPPsVVF4reML3 AC4sKhHLr7hk+hs2S+8+o0yVyOOigB361fIMOvBY2LdtdqK45K2F/1mdio7lwKccqTkEfm jvWY9jXy5S8MFY9whbGB5rVy6YuX1KXM4iK1uEUFxPHD8cBbx743wRmoobEJWDa0ESeKH9 U4lBBdA3bHLa+4chEDDOIv4Ae9gIho9dxWIbvfZ7+KUqlaOvLURDOHvC+Ms9Tw== Received: from [IPV6:2601:5c0:4200:b830:da:dbef:6846:200] (unknown [IPv6:2601:5c0:4200:b830:da:dbef:6846:200]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Zh7Py2RpyzMvn; Mon, 21 Apr 2025 14:42:46 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Mon, 21 Apr 2025 10:42:46 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 14783ce31437 - main - Remove references to rcp(1) since we no longer ship rcp. Content-Language: en-US To: Jens Schweikhardt , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202504191727.53JHRJhZ004451@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202504191727.53JHRJhZ004451@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/19/25 13:27, Jens Schweikhardt wrote: > The branch main has been updated by schweikh: > > URL: https://cgit.FreeBSD.org/src/commit/?id=14783ce31437709f9c5778af32f7661a52407b6d > > commit 14783ce31437709f9c5778af32f7661a52407b6d > Author: Jens Schweikhardt > AuthorDate: 2025-04-19 17:26:29 +0000 > Commit: Jens Schweikhardt > CommitDate: 2025-04-19 17:26:29 +0000 > > Remove references to rcp(1) since we no longer ship rcp. > --- > bin/cp/cp.1 | 1 - > share/man/man5/hosts.equiv.5 | 1 - > 2 files changed, 2 deletions(-) > > diff --git a/bin/cp/cp.1 b/bin/cp/cp.1 > index d37776dda4d3..2856391a029e 100644 > --- a/bin/cp/cp.1 > +++ b/bin/cp/cp.1 > @@ -320,7 +320,6 @@ and > options are non-standard and their use in scripts is not recommended. > .Sh SEE ALSO > .Xr mv 1 , > -.Xr rcp 1 , > .Xr umask 2 , > .Xr fts 3 , > .Xr symlink 7 This one at least should be replaced with `scp(1)` instead? > diff --git a/share/man/man5/hosts.equiv.5 b/share/man/man5/hosts.equiv.5 > index 319d47718cbf..dbb3bb2f4205 100644 > --- a/share/man/man5/hosts.equiv.5 > +++ b/share/man/man5/hosts.equiv.5 > @@ -124,7 +124,6 @@ and their users > except users from netgroup > .Dq dau . > .Sh SEE ALSO > -.Xr rcp 1 , > .Xr gethostbyname 3 , > .Xr inet 3 , > .Xr innetgr 3 , This one likely as well? -- John Baldwin From nobody Mon Apr 21 16:03:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh9Bd437Mz5sgY5; Mon, 21 Apr 2025 16:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh9Bd26k3z3Sbr; Mon, 21 Apr 2025 16:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745251385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7e7DzrE8pD4tlSa97i1sYziRvriekGP+VkcG6Wr1esM=; b=q7vUnyxVRH3VaooHuIuljGRlxUdCaOiesZFCguVjjf1/LxRS7lmAlIkg4b5Ii45a2z2NOb x0SkpjRKgX+cAeeDiYmf2p/T31OHskD65tIy2lGXp/QMjtZg/HveHYKqpC/4X3LYczR76k gO+Zps8ciF73xX3uZAf7NIPqShi1aMFRZmCdFjL+SngxGU92+o506ElG5zY8ZiFGSjJ5gO W8dzojF+iOdy9efhCfCy9qQTUSkIvy2ATXUZ97nRRyghk9ZfP8VKW3yQpPa2UpjBaBHVWW fXbgW0I/1j2o/MMQxVFA+HYKJh32UR4FD1n+VHONJToZjS99tNRZrxfd3+d46Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745251385; a=rsa-sha256; cv=none; b=r9wJIFwANV2wwDN7dJWWKOs45wg/P242VCN7YOT2w26ncWx4vAKuFD1/cyPyzQH/zF/lLD uuWfcGznNrObsrYiY2s8eUn/muXPlu1YkcQG+7BTQ0d6v1hRbfenLnqYzbyrIg/yc5VqBM HR0fBGcCJtp2CqDQU/nuyNxC4aW+pFVi0+lIYDBfTkemlNsjlBrgVfy1AMPRvFWP6Vi/8g Gf84f1HXly7cdQB3sBqthfenkcFTmjfMULoTbIWLwP+Cxh9U22wzSXdJbOQrhzIeL10hRs YtQiIyMdP48CDKUhtONDMjOmDMhcH1aN3wZnqLxKwKdj5VZZA+pETTOBB63FCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745251385; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7e7DzrE8pD4tlSa97i1sYziRvriekGP+VkcG6Wr1esM=; b=OL2onmdtC1Ix2rL7bjfXd57H+5S/lVPY0B+/M76ikmD8R1pjzMpW0NmzxxnywW8ulbWcel +5iCz5zwFtPs4ahLw5EB5OLfvg0/yZehpnVtn7egpw3FbEkFWVzNlsQ4srDKr7DZDVerrI ETMzo/A4c6PegLbpPCXbNU2E9z9x3Qtciupi4m2F+nL6q2WG8UF4eB7NK0pP++f7y4kSCi lQW39Gb977Avwo7BHWSskrgnAbLTEKDq2h5LecgAqXwAMBKpT6YJtrT+PHmLWq3u8jFXEc N1GvQaFNhI20uZhH3iob/wIOmHYCNkQ+ep9LVspoewcULmB5g0xNsFm/5e+w6A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zh9Bd1jrBzx1c; Mon, 21 Apr 2025 16:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53LG35dU050569; Mon, 21 Apr 2025 16:03:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LG358I050566; Mon, 21 Apr 2025 16:03:05 GMT (envelope-from git) Date: Mon, 21 Apr 2025 16:03:05 GMT Message-Id: <202504211603.53LG358I050566@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 9bb0dd4b8bb6 - main - gphr: Extremely experimental github landing scripts List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9bb0dd4b8bb6213555831acbac26d007b50a7524 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9bb0dd4b8bb6213555831acbac26d007b50a7524 commit 9bb0dd4b8bb6213555831acbac26d007b50a7524 Author: Warner Losh AuthorDate: 2025-04-21 16:00:15 +0000 Commit: Warner Losh CommitDate: 2025-04-21 16:02:34 +0000 gphr: Extremely experimental github landing scripts These are the scripts I've been using to land github pull requests. They suck for me and likely are too painful for any other person to use. I share them to help facilitate collaboration to make the characterizations in this commit message a big lie. Sponsored by: Netflix --- tools/tools/git/ghpr/README | 5 +++ tools/tools/git/ghpr/ghpr-init.sh | 27 ++++++++++++++ tools/tools/git/ghpr/ghpr-push.sh | 39 +++++++++++++++++++++ tools/tools/git/ghpr/ghpr-stage.sh | 72 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 143 insertions(+) diff --git a/tools/tools/git/ghpr/README b/tools/tools/git/ghpr/README new file mode 100644 index 000000000000..e07d56b1e09b --- /dev/null +++ b/tools/tools/git/ghpr/README @@ -0,0 +1,5 @@ +These are totally experimental + +Shared for collaboration on writing them, if you aren't +in touch with Warner about them, you may find it's super +tough sledding to use them. diff --git a/tools/tools/git/ghpr/ghpr-init.sh b/tools/tools/git/ghpr/ghpr-init.sh new file mode 100644 index 000000000000..3b1d65c56fe2 --- /dev/null +++ b/tools/tools/git/ghpr/ghpr-init.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +set -e + +die() { + echo $* + exit 1 +} + +# Create a fresh branch for the staging tree. +BRANCH=${1:-staging} +base=main + +if [ "$(git config branch.${BRANCH}.opabinia)" = "true" ]; then + echo "Branch ${BRANCH} has already been initialized" + # Bail if the branch already exists +else + if git rev-parse --verify ${BRANCH} > /dev/null 2>&1; then + echo "Branch ${BRANCH} already exists, skipping creation" + else + # Create the branch and tag it as the one we're using for opabinia merging. + git checkout -b ${BRANCH} ${base} || die "Can't create ${BRANCH}" + fi +fi + +git config --add --type bool branch.${BRANCH}.opabinia true || die "Can't annotate" +git config --add branch.${BRANCH}.opabinia.base ${base} || die "Can't annotate" diff --git a/tools/tools/git/ghpr/ghpr-push.sh b/tools/tools/git/ghpr/ghpr-push.sh new file mode 100644 index 000000000000..21cd9b52e41b --- /dev/null +++ b/tools/tools/git/ghpr/ghpr-push.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +die() { + echo $* + exit 1 +} + +staging=staging + +# Iteratively try to push all the branches, then push upstream. Repeat until the upstream +# push works... +while true; do + for pr in $(git config --get-all branch.${staging}.opabinia.prs); do + upstream=$(git config --get branch.${staging}.opabinia.${pr}.upstream) + upstream_branch=$(git config --get branch.${staging}.opabinia.${pr}.upstream-branch) + + git push $upstream HEAD:$upstream_branch --force || true # bare git push gives cut and paste line + done + + if ! git push --push-option=confirm-author freebsd HEAD:main; then + git fetch freebsd + git rebase freebsd/main ${stagig} + continue + fi + break +done + +# OK, pull and rebase to catchup to these changes... +git checkout main; +git pull --rebase + +# try to cleanup +for pr in $(git config --get-all branch.${staging}.opabinia.prs); do + git branch -D PR-${pr} + git config --remove-section branch.${staging}.opabinia.${pr} +done +git config --remove-section branch.${staging}.opabinia diff --git a/tools/tools/git/ghpr/ghpr-stage.sh b/tools/tools/git/ghpr/ghpr-stage.sh new file mode 100644 index 000000000000..df9eeeeea5a3 --- /dev/null +++ b/tools/tools/git/ghpr/ghpr-stage.sh @@ -0,0 +1,72 @@ +#!/bin/sh + +set -e + +die() { + echo $* + exit 1 +} + +update_to_upstream() ( + local staging=$1 + local base=$2 + + git checkout ${base} + git pull --rebase + git rebase -i ${base} ${staging} +) + +PR=$1 +staging=staging + +[ -n "${PR}" ] || die "Need a pr" + +if [ "$(git config branch.${staging}.opabinia)" != "true" ]; then + die "Branch ${staging} has not been initialized" +fi + +base=$(git config branch.${staging}.opabinia.base) +[ -n "${base}" ] || die "No base set on ${staging}" + +if [ -z "$(git config --get-all branch.${staging}.opabinia.prs)" ]; then + # Update ${base} if prs list is empty + update_to_upstream ${staging} ${base} +else + # Otherwise checkout staging as is + git checkout ${staging} +fi + +# OK. We always have to create a new branch for the PR. We do this into +# ${base} first (since that's what gh pr checkout does). We then then rebase +# this branch onto the staging branch, doing the rebase rewriting along the +# way. This rather convoluted setup was selected over cherry-picking and/or +# pulling a formatted patch to apply because it always applies it correctly +# and then we use git's tools to merge, pushing the problems there rather than +# trying to deal with them ourselves here. + +# In the future, PR may be a list +# Also, error handling is annoying at best. + +git branch -D PR-$PR || true +gh pr checkout $PR -b PR-$PR + +upstream=$(git config branch.PR-$PR.pushRemote) +upstream_branch=$(git config branch.PR-$PR.merge | sed -e s=refs/heads/==) + +git rebase -i ${base} --onto ${staging} --exec 'env EDITOR=$HOME/bin/git-fixup-editor git commit --amend --trailer "Reviewed-by: imp" --trailer "Pull-Request: https://github.com/freebsd/freebsd-src/pull/'"$PR"'"' +# Save the upstream data +git config --add branch.${staging}.opabinia.prs ${PR} +git config --add branch.${staging}.opabinia.${PR}.upstream ${upstream} +git config --add branch.${staging}.opabinia.${PR}.upstream-branch ${upstream_branch} +# Move the staging branch to the new tip of the tree. +git checkout -B ${staging} HEAD + +# XXX need to somehow scrape the PR for approvals, translate that to FreeBSD's name +# and add that in the Reviewed-by stuff... that's done by hand... + +# Sanity check things... not 100% right, since it checks everything we're queued up so far... +tools/build/checkstyle9.pl ${base}..${staging} + +# Bump .Dd dates? +# run before/after igor? +# Anything else? From nobody Mon Apr 21 16:25:32 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh9hY3c1Lz5sjCf; Mon, 21 Apr 2025 16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh9hY2G77z3dhD; Mon, 21 Apr 2025 16: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=1745252733; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hr4KiLmRhCPhd+12ntYVCYNC093GfiX9WqZ4nP7SyqU=; b=H220Ccyu+CzKgdviOssSG9G1fCIAQWPZXcfw2Yg2hJUGaPoe8X5j2tRvhZsIln0eX/waxi ctmBGv43BTAmiO6x0guI5ixAOE7CxEKxGOz2KNZWaTCRRDyMxL0l7Hj9+XgGda9J2hIzt1 wZfgARlOR0DmrWL6KwZNRyHpXARPav6dzsSROjebCWMCnHDxMpzfJx+nXhUNrff8d6vz4O xsAz51D8FGSLEmvdi+fmZ7GvVCXfr0XHR4cGG+kC3Fmq5f3piFnbdjw9Wvaa0WQcI3uI+5 RHpkJ17zmWWXaQ+gc5miiG428biO+q51Njz8BGdt/MA/5czJvFqgRaau8nCqdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745252733; a=rsa-sha256; cv=none; b=sO0Ccdmwp8gF5jvGppL3RapDDD/oDkOPtnMN/QWBnWWKgR6HxhD9VLM/6ox7MtURY86F8F G7hc4GzA9CCx9GgQaJhRZTfoUGl/INiVCeTPZEC+/epinyGldSwK7a55lzeeT6N0ecu9X7 HYbNbObz1iDjZgsMRTeHwRsGsth9GceckvkLCCeSk1/cj05YMX3FHcRq3PFq4r6412o6di SYEuftbplniAvolrV2mSymGYgq/5PyYEOcD7YdjeoOBkd7W6Btcykuq6lcq/Twd5Gs/D2p mwy8lGMy1WeFi2G5Lnf7/c2FtoTyBxJ1uSc7L077iAsNMdC29IEPXObte3pYFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745252733; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hr4KiLmRhCPhd+12ntYVCYNC093GfiX9WqZ4nP7SyqU=; b=n8nhFFXdgDzGxyZCNczBIUl6LTbRtf/oy6W4oF7xRugDNiGVL0lc6QmRbJGJ7LTYIM526V I16VvAGLvFf+1budtVUZ6CgeoCVeVkk717OvNpuLkZJ9LJXQPxHA9zrIO8eM2cw0LtJKxb pBaPNKlDf9ev5KShY7MLrhB79HqDZjcW+apq5im0Rt0gjqYhepX2jZnrltBT/GF5lOe4Ve wDbKkg+xbC/2NN0UK1Xmvu/zbYcegKRXEp4fLnop21d+niIzOWgG6zZH8DOnYJgzWPjkQ+ i+WqEFpiqXcgxwSeCOn5S7OD6QyRUa0HIwVdXVX7ck6ovTWyN4jSim5IlZWWuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zh9hY1FsrzxZ1; Mon, 21 Apr 2025 16: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 53LGPWSO088673; Mon, 21 Apr 2025 16:25:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LGPWxf088670; Mon, 21 Apr 2025 16:25:32 GMT (envelope-from git) Date: Mon, 21 Apr 2025 16:25:32 GMT Message-Id: <202504211625.53LGPWxf088670@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 4294f7946e4c - main - netstat: fix table header alignment for -x List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4294f7946e4cd8face2bfa16cedc5c0bf0d6c81e Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=4294f7946e4cd8face2bfa16cedc5c0bf0d6c81e commit 4294f7946e4cd8face2bfa16cedc5c0bf0d6c81e Author: Michael Tuexen AuthorDate: 2025-04-21 16:23:19 +0000 Commit: Michael Tuexen CommitDate: 2025-04-21 16:23:19 +0000 netstat: fix table header alignment for -x Add a missing space before R-HIWA to align the table header with the table contents. Reviewed by: rrs, cc MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D49941 --- usr.bin/netstat/inet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/netstat/inet.c b/usr.bin/netstat/inet.c index 6065a2a7644c..56a432b30a86 100644 --- a/usr.bin/netstat/inet.c +++ b/usr.bin/netstat/inet.c @@ -337,7 +337,7 @@ protopr(u_long off, const char *name, int af1, int proto) xo_emit(" {T:/%-11.11s}", "(state)"); } if (xflag) { - xo_emit("{T:/%-6.6s} {T:/%-6.6s} " + xo_emit(" {T:/%-6.6s} {T:/%-6.6s} " "{T:/%-6.6s} {T:/%-6.6s} {T:/%-6.6s} " "{T:/%-6.6s} {T:/%-6.6s} {T:/%-6.6s}", "R-HIWA", "S-HIWA", "R-LOWA", "S-LOWA", From nobody Mon Apr 21 16:28:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh9lz1Ptvz5sj7f; Mon, 21 Apr 2025 16:28: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh9ly1KvVz3ftY; Mon, 21 Apr 2025 16:28:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745252910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nii1tA94YNsbSd0y/wq7CXKRTdKOL2ozK2NFGUBK6cI=; b=KK38+n/2MA9z7/f8dcQNXS1RvhDqkptd/7fxPaimrLcF4zM5NphhQtsI6uQ7obEFlQyRrv muNkNYALv0x9GtK31oTZzhIMNvpYWTDLut9m2+vCFx9sxaeGsAoSvq4QQthQ6Njvz7W3cO qBr2DwDdSbA7Gbnnw8tWP9BToEr1GyhYDGLokXqinolaz+7AgECTF+2y6CA+ni8hCRUnB2 a09ugGGqdTJplTS/FXcpE7H99rqHhMK8yBzL0HN1P6BATOvGjiOq0mepFuvkg9PxkL3j26 Zl6knLDpFBEBYPukZZ/BtsSO4jxCgxX0Mh2+uiRHgm0O7cpuBestMlfQl8PHnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745252910; a=rsa-sha256; cv=none; b=qSjfPTp8BXMEL//I24GkjT65kGVgsBG0UMAzcilPLetG0z0Wjs7UASbHTBAQv/8IaBHNKT fso8V4EAns4+BmGWgkhc9ULcU5FokXgwYXoz7dHjrSezUknaOfQOVLC0Vos/mJUznsOto4 dIeGdFgNUbhmTvm6lVBG6zmlgk4xi1uDv4niZp7Jshx8SFbJE5mvjCTIsNZ6cYAOeP16sf Du5KOMvMs4FWaoqBq5JcexxmTq+7URFZYYc7KzSjOiyBxEOd6ZDvuniF6HLGMto66eC4uy mjri8UcC3fxRliHROJ1j5lGlNdrkifee68i032wuoL9SuESg7x0KhLQjzbyr4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745252910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nii1tA94YNsbSd0y/wq7CXKRTdKOL2ozK2NFGUBK6cI=; b=HHul8ALyKdd8lzSN/E0zBRtomITGqL6BvhfJxQ9QH2qEBkSZawqexWwjo+yb7ejaIjQYul s32xX/BLlsFsQox5HLfnIu6jWMUrTPatDykCDABrkTW6dTQxn+/my5o/cBNAVlrT0+42tZ hWA9Or7LuW1qn0VK/EVJvXMCM9Iwm3HopJDbXMAL2FahMie6JuXY441TJi+H1WgpbvEYO8 CkW/HhxERaB/emkT4FDpChpKtcSWQptSiqkMYkL4iE6aA/4WJgJkbTyztxwsXX4bZ+3Mt7 6HxpRn+GdX6BpVKwWqVXlcnkoK+PpvAqI9VzVVmQtcnh3AnmpMPRT9rfPTdmrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zh9ly0Jz1zxGv; Mon, 21 Apr 2025 16:28: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 53LGST92089657; Mon, 21 Apr 2025 16:28:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LGSTLm089654; Mon, 21 Apr 2025 16:28:29 GMT (envelope-from git) Date: Mon, 21 Apr 2025 16:28:29 GMT Message-Id: <202504211628.53LGSTLm089654@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: f7cacc680519 - main - acpi_gpiobus: clarify error message List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f7cacc6805191c87a668795eb94c643a51c62bca Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=f7cacc6805191c87a668795eb94c643a51c62bca commit f7cacc6805191c87a668795eb94c643a51c62bca Author: Ahmad Khalifa AuthorDate: 2025-03-11 11:45:22 +0000 Commit: Ed Maste CommitDate: 2025-04-21 16:28:14 +0000 acpi_gpiobus: clarify error message This message was identical to another a few lines up, making it hard to tell where the error occurred. Reviewed-by: Ed Maste Reviewed-by: Warner Losh Pull-request: https://github.com/freebsd/freebsd-src/pull/1667 Signed-off-by: Ahmad Khalifa --- sys/dev/gpio/acpi_gpiobus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c index 15c6b627e748..935f4bb4569c 100644 --- a/sys/dev/gpio/acpi_gpiobus.c +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -356,7 +356,7 @@ acpi_gpiobus_attach(device_t dev) &ctx); if (ACPI_FAILURE(status)) - device_printf(dev, "Failed to enumerate GPIO resources\n"); + device_printf(dev, "Failed to enumerate AEI resources\n"); return (0); } From nobody Mon Apr 21 16:28:31 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh9m01RFfz5sj5p; Mon, 21 Apr 2025 16:28:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh9lz1dvSz3g2c; Mon, 21 Apr 2025 16:28:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745252911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kll6us8Dn5hogffnX+fQuUPFu5+jscya0oFgTPe62iE=; b=Js2uKbm1u26tpCAmIdznwk3H0XCn/PyQ97bsZAai6tohfvW9qVsOvBR33GK18+8ue6PiNp MR9nq+Ugz0pPc4qlNWlGM5IF6jBVqX+B6cHv2f00+Ikj5BcmZMMyS7L/eUNTQqd0IszoH9 0Oevp979MbUoHgzO2yRWqo9Jw3mffE4IE5TgU0p22BAQkK8fVe5vv0o6v4jNlQ+anAHoaw 40neNeEkjR3c3oZKpihVcuXTqImyiZv2Av7BhPNFjmt70NJQlpulzBoF/oGlyOfDlOo24m 4bYA+u4gTo50xNwTMy5YzNU75mE7I+Yphb4vJlp+TcxgweYbNNuWXlY27PIlUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745252911; a=rsa-sha256; cv=none; b=ocTdp6tW3Hs5rZYm4DnR99OLTYDF4cz6wS5rv5zHW+LMfgeErhlzhREexEFWZLUFXEeC82 VTzGAuI9QzKLccMHtt7+6Z+e+yJLS7LK1BMWCfzgPS6xho/nQt9Yj5iSoSEzqHd9NOG08y 3/pw1Ec+gL2YigHNXRYqp3zEwyI3iZWY/M+GySBQV1d5hYTlHCwi/Fjyn5JTSwDcBBq9mM t+AzLg/y6iAYn1C6dI+ryk34stwfAX0yiaCNAYkbj5TnKkH9wr4Vjp+LFSNIuYezFRVxF1 lNTk0sBmhsroXNHV+y4k0fwE5ieZncaLivYYjsETpoHYrHchj1BOpDZzKa2Mkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745252911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kll6us8Dn5hogffnX+fQuUPFu5+jscya0oFgTPe62iE=; b=BYFtc5bprTbFMgX1Qp1nr6BIPH6CVV37Q7VedPyTGwsKo2ikEAdX2UlfxSyyqnq4+SVtYR yYLo8b0o3p0e72yyYJNm9+m+CNuUUcz5JZ/QL3b1qeyRf0SFfuDkCyN+y5MY63JexGd8mh FkwlceqiTJG5CVzIYs0aRt/EIryk7jv6g5JxbDWtuYLaV28M+EYctQNjKL3zuc2/hiz4ir 9z2LB2oxvxrjkfFvCSVh1g6ifJM+ShsHWYmWsHlwz0GIeidM3FiNGXSsekbdNKhp3Dr0tj HNrPLmySWCS9zGspfRfxShNSWvsQjeqWvipDw0zIPHgaNP91ommNKLWwLwVOcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zh9lz1F6yzxS5; Mon, 21 Apr 2025 16:28:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53LGSV7Y089690; Mon, 21 Apr 2025 16:28:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LGSV45089687; Mon, 21 Apr 2025 16:28:31 GMT (envelope-from git) Date: Mon, 21 Apr 2025 16:28:31 GMT Message-Id: <202504211628.53LGSV45089687@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: da94bc915a14 - main - gpio: don't misuse pin->flags List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: da94bc915a142d3ca44dea6277db89f194f3f628 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=da94bc915a142d3ca44dea6277db89f194f3f628 commit da94bc915a142d3ca44dea6277db89f194f3f628 Author: Ahmad Khalifa AuthorDate: 2025-03-11 11:39:28 +0000 Commit: Ed Maste CommitDate: 2025-04-21 16:28:14 +0000 gpio: don't misuse pin->flags The flags member of gpio_pin_t was only meant for pin flags acquired via the FDT. Instead, make an accessor so gpioaei can still access the flags and remove the now unused gpio_pin_get_by_acpi_index. Reviewed-by: Warner Losh Pull-request: https://github.com/freebsd/freebsd-src/pull/1667 Signed-off-by: Ahmad Khalifa --- sys/dev/gpio/acpi_gpiobus.c | 20 +++----------------- sys/dev/gpio/acpi_gpiobusvar.h | 5 ++--- sys/dev/gpio/gpioaei.c | 9 ++++++--- 3 files changed, 11 insertions(+), 23 deletions(-) diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c index 935f4bb4569c..96faec5e6f02 100644 --- a/sys/dev/gpio/acpi_gpiobus.c +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -380,23 +380,6 @@ acpi_gpiobus_detach(device_t dev) return (gpiobus_detach(dev)); } -int -gpio_pin_get_by_acpi_index(device_t consumer, uint32_t idx, - gpio_pin_t *out_pin) -{ - struct acpi_gpiobus_ivar *devi; - int rv; - - rv = gpio_pin_get_by_child_index(consumer, idx, out_pin); - if (rv != 0) - return (rv); - - devi = device_get_ivars(consumer); - (*out_pin)->flags = devi->flags; - - return (0); -} - static int acpi_gpiobus_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) { @@ -406,6 +389,9 @@ acpi_gpiobus_read_ivar(device_t dev, device_t child, int which, uintptr_t *resul case ACPI_GPIOBUS_IVAR_HANDLE: *result = (uintptr_t)devi->dev_handle; break; + case ACPI_GPIOBUS_IVAR_FLAGS: + *result = (uintptr_t)devi->flags; + break; default: return (gpiobus_read_ivar(dev, child, which, result)); } diff --git a/sys/dev/gpio/acpi_gpiobusvar.h b/sys/dev/gpio/acpi_gpiobusvar.h index 77cb91110cb5..f8d502eab9d1 100644 --- a/sys/dev/gpio/acpi_gpiobusvar.h +++ b/sys/dev/gpio/acpi_gpiobusvar.h @@ -34,16 +34,15 @@ enum acpi_gpiobus_ivars { ACPI_GPIOBUS_IVAR_HANDLE = 10600, + ACPI_GPIOBUS_IVAR_FLAGS, }; #define ACPI_GPIOBUS_ACCESSOR(var, ivar, type) \ __BUS_ACCESSOR(acpi_gpiobus, var, ACPI_GPIOBUS, ivar, type) ACPI_GPIOBUS_ACCESSOR(handle, HANDLE, ACPI_HANDLE) +ACPI_GPIOBUS_ACCESSOR(flags, FLAGS, uint32_t) #undef ACPI_GPIOBUS_ACCESSOR -int gpio_pin_get_by_acpi_index(device_t consumer, uint32_t idx, - gpio_pin_t *out_pin); - #endif /* __ACPI_GPIOBUS_H__ */ diff --git a/sys/dev/gpio/gpioaei.c b/sys/dev/gpio/gpioaei.c index f43674b53c7d..6cbb5f1bb7ed 100644 --- a/sys/dev/gpio/gpioaei.c +++ b/sys/dev/gpio/gpioaei.c @@ -79,6 +79,7 @@ gpio_aei_attach(device_t dev) { struct gpio_aei_softc * sc = device_get_softc(dev); gpio_pin_t pin; + uint32_t flags; ACPI_HANDLE handle; int err; @@ -87,17 +88,19 @@ gpio_aei_attach(device_t dev) /* Store parameters needed by gpio_aei_intr. */ handle = acpi_gpiobus_get_handle(dev); - if (gpio_pin_get_by_acpi_index(dev, 0, &pin) != 0) { + if (gpio_pin_get_by_child_index(dev, 0, &pin) != 0) { device_printf(dev, "Unable to get the input pin\n"); return (ENXIO); } sc->type = ACPI_AEI_TYPE_UNKNOWN; sc->pin = pin->pin; + + flags = acpi_gpiobus_get_flags(dev); if (pin->pin <= 255) { char objname[5]; /* "_EXX" or "_LXX" */ sprintf(objname, "_%c%02X", - (pin->flags & GPIO_INTR_EDGE_MASK) ? 'E' : 'L', pin->pin); + (flags & GPIO_INTR_EDGE_MASK) ? 'E' : 'L', pin->pin); if (ACPI_SUCCESS(AcpiGetHandle(handle, objname, &sc->handle))) sc->type = ACPI_AEI_TYPE_ELX; } @@ -113,7 +116,7 @@ gpio_aei_attach(device_t dev) /* Set up the interrupt. */ if ((sc->intr_res = gpio_alloc_intr_resource(dev, &sc->intr_rid, - RF_ACTIVE, pin, pin->flags & GPIO_INTR_MASK)) == NULL) { + RF_ACTIVE, pin, flags & GPIO_INTR_MASK)) == NULL) { device_printf(dev, "Cannot allocate an IRQ\n"); return (ENOTSUP); } From nobody Mon Apr 21 16:28:32 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh9m100BCz5sjBQ; Mon, 21 Apr 2025 16:28:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh9m02dbwz3ftd; Mon, 21 Apr 2025 16:28:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745252912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=klmj/c3/9dbLfXwkPwLnlEBQrb/10ohODexKX0zJMlw=; b=Sz/w+zJAoj03JAH+gWO8fU9rx+WbjI21dNmrDnUKW7YHVlOOI915Ur91JdC5zzM1iZw/bt 2MZrEHp0IgwLSKIBZNR9kP9UJxC36cQdSXqyVY2gHUugddFabtWjJ6FgylOvDTWOxxhefI HmE/CtY2qD57KnT4f0UH6TDIO/xBOF7lvFmf0kRkDB6CisJff/ngDaPYSlIYjf/rv1Ejwh fQgrlgLllK3/WxW2Qg1g2bPFpZ2FTK3qwvSJLlTgC+P5nEj1r00ICOqUwQYyyOiz0M2uUZ MhDrAGj1eZQo55HfGSfi3WQdQtPf+SugdKP4X0/E7nnqMOeuDPLwkHfPPvLzmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745252912; a=rsa-sha256; cv=none; b=uEtt9wpuD5XxiqpN3V2kvtg0eSGfspNdzg2dqFlsJVnfr86Y6Z7h35ApFMsnhuvKUnu56E nNuOPEy2+FDO2cMYYmTrbmcyuhULl9Gtn+YFfyQnVJek4AY8mInAzFEj/JHIs44we6vjgE HIM1fhj0sKMpdHRCW06RF7Lut751Tn41eNBNK99vFaxtwzstg5HrHaSjZrTdyPbf5dDG4Q kbIBrsLqRlH0wTmjtoE7eVbDX8LTyrNOfMtjDsHwe60equ3X7sxrImKyJ071Nl/h2gUhj9 9ZDemRrbaCqKdvovElGChPI14NjQcJV1bfyGvjHzFcS8mWuWGqrb5ALv5W2JlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745252912; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=klmj/c3/9dbLfXwkPwLnlEBQrb/10ohODexKX0zJMlw=; b=uyvQ91bqIua+tyEiV8b/YwVa9QgDXhrYqLT+H2waIvLkGyxTGzpInQ7MWLgCbNCrYX8Nm0 P8BlrNoKd8nkbCzErr5BARRjFfwI9y2GAKNXR8jciJod6RK1QuFdGEfHAFuWcD/H4G1tv0 sFl4wTh8t1/OzrFV+EkPtm8PWa1GiYV6hLOjnx1pfTY1vezrXCk2bXUaXuulZXudGCeLBq lQdWB3cLUKuV5xS3qXsW+3MnxHLYf+zxvVtv8uWZrF0ltmwbxVbDvw6Bqcb1m4EVe3oCqG 4xtdq+9YG2vDKR5hltcPJVaNTpPexLelyhu6FcxUJuzMmUUVGeFgO89Sx+l75Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zh9m02C2Jzwn8; Mon, 21 Apr 2025 16:28: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 53LGSW3J089724; Mon, 21 Apr 2025 16:28:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LGSWA8089721; Mon, 21 Apr 2025 16:28:32 GMT (envelope-from git) Date: Mon, 21 Apr 2025 16:28:32 GMT Message-Id: <202504211628.53LGSWA8089721@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: d6dc661c2a2d - main - acpi_gpiobus: mask pin flags for GPIOBUS_PIN_SETFLAGS List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d6dc661c2a2d8ff543256695ed52cd4b82b663b9 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d6dc661c2a2d8ff543256695ed52cd4b82b663b9 commit d6dc661c2a2d8ff543256695ed52cd4b82b663b9 Author: Ahmad Khalifa AuthorDate: 2025-03-11 11:43:49 +0000 Commit: Ed Maste CommitDate: 2025-04-21 16:28:14 +0000 acpi_gpiobus: mask pin flags for GPIOBUS_PIN_SETFLAGS GPIOBUS_PIN_SETFLAGS calls GPIO_PIN_SETFLAGS, which doesn't accept interrupt flags. Reviewed-by: Warner Losh Pull-request: https://github.com/freebsd/freebsd-src/pull/1667 Signed-off-by: Ahmad Khalifa --- sys/dev/gpio/acpi_gpiobus.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/gpio/acpi_gpiobus.c b/sys/dev/gpio/acpi_gpiobus.c index 96faec5e6f02..2987af634866 100644 --- a/sys/dev/gpio/acpi_gpiobus.c +++ b/sys/dev/gpio/acpi_gpiobus.c @@ -203,7 +203,8 @@ acpi_gpiobus_enumerate_aei(ACPI_RESOURCE *res, void *context) device_set_ivars(child, devi); for (int i = 0; i < devi->gpiobus.npins; i++) { - if (GPIOBUS_PIN_SETFLAGS(bus, child, 0, devi->flags)) { + if (GPIOBUS_PIN_SETFLAGS(bus, child, 0, devi->flags & + ~GPIO_INTR_MASK)) { device_delete_child(bus, child); return (AE_OK); } From nobody Mon Apr 21 16:28:33 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zh9m20tGbz5sjP1; Mon, 21 Apr 2025 16:28: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zh9m13Zjwz3fx9; Mon, 21 Apr 2025 16:28:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745252913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n9hlbfik/efX08z02RCdI+3Z5XllBeJo0edBzN9WsGg=; b=wEyuxuxp9zOVF4CM/i8kRbyZ3kUb1iCRrTse0joGrQodMq39bYRmqb08T861aqQ83HV73I 9PTmyvRBZKN64TTqCzcOaw8nK4X7y0FZHqwMd1MbsAdAZfxMRbg9Z71DF3vD1Jatgbe3YK 2NuD+OhDV6H3U8+2ucQg5z/mBS5lZD3YOirTwJ+EVGu7ZaAtj6J5Fyn5yEQAqK1FoDjVq1 Qo00d5RDVSxJIXQNcSZAJHxbzXKpP9m2xSUHh3VmHVAG7O2+z/FAs/6xZZHDJSoe8lYg9n eZUNUwN4+Ghk39+glCz1mgigKMfsQscbXkFiA5ilocRy/xi2Lw/4aXFSocQbQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745252913; a=rsa-sha256; cv=none; b=ZaW07C0P8xZI5E/xLdq3TzUjBk+3nVizZxAObGr7OL9IBAMoDVsXEv/69YW5cbOjP9wm3v 6iX1VOJRX2OZUHnwDdmhn9WoYireDlbR+AP8AujopUKN6vIuZTVfmp0OwqP9CMB38zLIP9 PtPESne+AWUV2Fg19Nw7goDBhQbMyIfpFyPpDuCPuKEaPegelfJ6LNG+TJub8XwLihCsIl 3og6oH1IAukbaORHfh/ZnR0Are8pe5k60yxLcJsCbHVkNzlZhKm3IEggFhI18pgQWoMByo 1hC94e+Fi+0LJVGUQ5tJ/X/A5DAetiGwi/Wj0Q7mxrb/eQx3Qmq0Kj2U1AIBpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745252913; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n9hlbfik/efX08z02RCdI+3Z5XllBeJo0edBzN9WsGg=; b=AX3zyN/r04EB/otf4ceJLkKRlnL5CTTL82rkz+Dgx6N/imisbcAmTrOMS0WTYmrRD8bQlY xDlM5K8cakiDR9Jh5cF1x6phoswZEGpFner4v2p8NG+Zn8KQBcI7JVNhchKgALt8CkJASm l/LcoIvP9CQRzXfbRYNoamL9sdxZQKvhhojcZ4B9tPnJVY4RGr79/F7lrS8wf2IyHk0AGO Kyw/iYmLb8LDpDjGhN8l+F5ybAHsQlqE78wb3vkKxOwRl/51frs8nUyXaKFw4QAgQWNVt2 kAJJEwfvH/YMtR21jmbeIrdyKol/68WD/82b3lZej9gSll0207pV+AocVdvSxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zh9m136dpzxQ9; Mon, 21 Apr 2025 16:28: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 53LGSXCX089765; Mon, 21 Apr 2025 16:28:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LGSXrV089762; Mon, 21 Apr 2025 16:28:33 GMT (envelope-from git) Date: Mon, 21 Apr 2025 16:28:33 GMT Message-Id: <202504211628.53LGSXrV089762@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 0fcd9be111dd - main - gpioaei: mark the AEI ithread as sleepable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0fcd9be111dd44d12a09805791a5597567602f8e Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0fcd9be111dd44d12a09805791a5597567602f8e commit 0fcd9be111dd44d12a09805791a5597567602f8e Author: Ahmad Khalifa AuthorDate: 2025-03-31 15:13:30 +0000 Commit: Ed Maste CommitDate: 2025-04-21 16:28:14 +0000 gpioaei: mark the AEI ithread as sleepable We call an ACPICA function in the interrupt handler which may attempt to lock a mutex. If this is done while another instance of the handler already holds the lock, it would cause a kernel panic since sleeping isn't allowed. Reviewed-by: Warner Losh Pull-request: https://github.com/freebsd/freebsd-src/pull/1667 Signed-off-by: Ahmad Khalifa --- sys/dev/gpio/gpioaei.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/dev/gpio/gpioaei.c b/sys/dev/gpio/gpioaei.c index 6cbb5f1bb7ed..ecae8ccaf2fa 100644 --- a/sys/dev/gpio/gpioaei.c +++ b/sys/dev/gpio/gpioaei.c @@ -120,8 +120,9 @@ gpio_aei_attach(device_t dev) device_printf(dev, "Cannot allocate an IRQ\n"); return (ENOTSUP); } - err = bus_setup_intr(dev, sc->intr_res, INTR_TYPE_MISC | INTR_MPSAFE, - NULL, gpio_aei_intr, sc, &sc->intr_cookie); + err = bus_setup_intr(dev, sc->intr_res, INTR_TYPE_MISC | INTR_MPSAFE | + INTR_EXCL | INTR_SLEEPABLE, NULL, gpio_aei_intr, sc, + &sc->intr_cookie); if (err != 0) { device_printf(dev, "Cannot set up IRQ\n"); bus_release_resource(dev, SYS_RES_IRQ, sc->intr_rid, From nobody Mon Apr 21 16:42:36 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhB4F4JSnz5skKk; Mon, 21 Apr 2025 16:42: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhB4D5vHfz3rN2; Mon, 21 Apr 2025 16:42:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745253756; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+1PhAJV97yGbQk6kqYx4DpqKGYvqydJeEW20QLzkbnw=; b=wlEue5HbQFLMThRlFAD9lBWeG1QNv83HYqZmbeDe7CXT2xkPjhpJVVky+mNnycB7P8teR0 28gSs9ZSpVKqUFy8v/Vifha4nQ35tf8/cPVzjAufJPdY3sn6xrtEMMmP3Ti+tpkdOUoFx3 Vhk2dFKvqc4K1OLnEiPUcYCQOnvtj3NYm/0JZzVEEbGaTbeTwuiinu91KwrYIiDhFJhuR1 tvZwBowLsyS0QqpuUvqCxmAA5dAIe/xFvK8DIQOwucgQ7QqSgCfomKkQvszUs5kYTc1VM6 P3hIRzHnw2Dlre04UnbXFd3sjQ5p5UJ0LyTKzEB0r+uzC0AG7X6UXKDvFOmjyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745253756; a=rsa-sha256; cv=none; b=rioWv5gXkZJFuic/hO4i4QNgOa0cRr1rQ54pBJ10HuN74ztitjId2q04PZpukiiOGQABvN TbtUlW4q4plEgchDJOfbe9WxBjEd+q+2uaZXnqnoWnouOwIR+Q/cC9MRZBQZHvWG3+8VvY lI1LyCErm7Hs++3J0MlJSiASWiB6dk5T/JWxSV2bBLOHSnr9uEt5PY2tzyMRidMehmM01+ 2RXC9MR30J66EdMIPEzS4AOExy75uMiRA71o+13XpSsIWOtqBgiTSka438QHyAvzIUgx2Q +jxQBBt7kJHFEfesnAeP5ZzXUOZjZ1S7DXIBSNJcZCP1r8JrLOkV4zA+vLun2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745253756; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+1PhAJV97yGbQk6kqYx4DpqKGYvqydJeEW20QLzkbnw=; b=C8vvxoIiVY7FH+t5AC01GCHwOdIqoFz2/u0F/+JxwLrEVC3aHGjZJ2wyhcHWzmQuLi9/lI Hx7MjyX3FilYSFVusKKK8adZB32qLoY/7k8gzH4ymt9vXEQ+W5vLuTSTRah/9MEkqmdAJP p3Yyqdeb9roPTqjOE9PA96wvwmr/gaRE0HB5NQguNY648jkBIWAdR1qiciBfHR/umbgjzd SOfXzbYnF+d0pdQ22C7HP9oJyZSXViVWX7zf7KwmbIR8AoIjm7QxDAOIUhV3SpIwT2lZrw CvD7Oh7qOer5EMYpKyYiu/OD/d+V2ZFHp1kVQ6DoEaXWHJ3SadZFsdgy2nlx9w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhB4D5TLhzxwt; Mon, 21 Apr 2025 16:42: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 53LGgagU025076; Mon, 21 Apr 2025 16:42:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LGgaxl025073; Mon, 21 Apr 2025 16:42:36 GMT (envelope-from git) Date: Mon, 21 Apr 2025 16:42:36 GMT Message-Id: <202504211642.53LGgaxl025073@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 6f4c4cfe4b13 - main - tty.4: see also: cross-reference pts(4) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6f4c4cfe4b138297957d80c0887f99a83d9facf7 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=6f4c4cfe4b138297957d80c0887f99a83d9facf7 commit 6f4c4cfe4b138297957d80c0887f99a83d9facf7 Author: Graham Perrin AuthorDate: 2025-03-18 04:55:29 +0000 Commit: Lexi Winter CommitDate: 2025-04-21 16:41:02 +0000 tty.4: see also: cross-reference pts(4) pts(4) already refers to tty(4). Add a cross-reference. Reviewed by: kevans Approved by: kevans (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1617 --- share/man/man4/tty.4 | 1 + 1 file changed, 1 insertion(+) diff --git a/share/man/man4/tty.4 b/share/man/man4/tty.4 index f3c44d7e02e6..caa31835a331 100644 --- a/share/man/man4/tty.4 +++ b/share/man/man4/tty.4 @@ -372,6 +372,7 @@ variables. .Xr stty 1 , .Xr ioctl 2 , .Xr ng_tty 4 , +.Xr pts 4 , .Xr pty 4 , .Xr termios 4 , .Xr getty 8 From nobody Mon Apr 21 17:56:13 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhCjR5MBxz5spKW for ; Mon, 21 Apr 2025 17:56:27 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhCjP5pyMz3fM7 for ; Mon, 21 Apr 2025 17:56:25 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of jrtc27@jrtc27.com designates 209.85.221.41 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-3995ff6b066so2217185f8f.3 for ; Mon, 21 Apr 2025 10:56:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745258184; x=1745862984; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=s4M6t9Hl7L9jwwu1bCPvW89nKVCxIUdgUyfrDRnkFrc=; b=jYqynZe7Jv8QTu3KxAxlp4rhkSS1L/8TSsoSHzZFFeF40d3JvzsJWqmtCVNd4XANH/ n1j1Nko28eOIlbuezDSwRoFjnDKfyEDJ9m+iyVmGyFB6fKhnZ0JrTPkbVfeS2SFpNtIe xI+/dgJSnuGrEwQj2dQmdkioJfuRoYHqdHtvuxcaFucOUW1kxL7Ov7iWqa9quJhQrfyy TMHrcKB+NAeIZngVYzsGDGVZKxEyCXJK7IJqcphqUE/473f5/K1xEuGy2geKplEdlEjv ASG6TbkSzzZe17lCA3PBuHFWeN2yU6DoUaR5bNyJVywWtMlXFK7gFIKzSqiAEQ/ticZ+ /+gg== X-Forwarded-Encrypted: i=1; AJvYcCWTAi3Xo/VoJcXhfqTgix4SUCaRBHi7s6tIF71mwrwt7VqQXVsnoP4Tg76cj3QG9C+fRf6vrNeDIwki7K3OJjb1SuTNTA==@freebsd.org X-Gm-Message-State: AOJu0Yw6uSHBrsytNlS+1hGQh6/dYJLp+D4cm/OE9QLwVAytZSa+ZFok LSn77aqkOVEmYck3Wgmsl7nqjzkCLqzF974EgCIC1pBappn/yzAiut40EsPlNo0= X-Gm-Gg: ASbGncuIJPVSlNcjX/mlOVrdYLzsmqA7ibiGnbjVfg0+s9YMtPsJoAJ6O1GXRFth6Of n4Rtzo/zd9koGAGWw8P3z9i33pln4sL+mVhjYQJSYQj0BQLNahhqLt2jopwyWKhmSg8I0I1vkts tWZ2j301/X4RkhcERMfIPgD1v5AkTDOFHTRCbL1PyJsfrCrGuhSosDemA8QvvoGb3XQQgxvjkG7 ctZnDhbD7SlNmBTgaiVnOYsTcrX5YI5Tp8lBa1xZ5teIwox8vxPfJMCB3WEOHnx7u+yGXtSWfrA hW9E0F7GUZxVKzJKh+I89YFbQpt66HHEsuoG5pGmFgBq8qiv/WFJr/Q= X-Google-Smtp-Source: AGHT+IHQiiP5btfExyIgWnU1OcAly0mt+ss60kJ2KdCzrdUwmGZwEQ9aMQC3ORD43i1DLiaddC43Zw== X-Received: by 2002:a05:6000:2405:b0:39a:c9ed:8555 with SMTP id ffacd0b85a97d-39efba52eb0mr9486521f8f.23.1745258184084; Mon, 21 Apr 2025 10:56:24 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.201]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39efa4332b2sm12707701f8f.30.2025.04.21.10.56.23 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 21 Apr 2025 10:56:23 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.300.87.4.3\)) Subject: Re: git: f1e18f331923 - main - riscv: Exclude OpenSBI memory regions when booting with EFI From: Jessica Clarke In-Reply-To: <6F9CE6EB-8A7E-48D1-BDE5-AB7D930EC1DE@freebsd.org> Date: Mon, 21 Apr 2025 18:56:13 +0100 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202504161421.53GELphv059586@gitrepo.freebsd.org> <6F9CE6EB-8A7E-48D1-BDE5-AB7D930EC1DE@freebsd.org> To: =?utf-8?Q?Bojan_Novkovi=C4=87?= X-Mailer: Apple Mail (2.3826.300.87.4.3) X-Spamd-Result: default: False [0.60 / 15.00]; RBL_SENDERSCORE_REPUT_9(-1.00)[209.85.221.41:from]; NEURAL_SPAM_LONG(1.00)[1.000]; NEURAL_HAM_SHORT(-0.99)[-0.994]; NEURAL_SPAM_MEDIUM(0.99)[0.993]; MV_CASE(0.50)[]; FORGED_SENDER(0.30)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; TO_DN_EQ_ADDR_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_NEQ_ENVFROM(0.00)[jrtc27@freebsd.org,jrtc27@jrtc27.com]; TO_DN_SOME(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FREEFALL_USER(0.00)[jrtc27]; TO_MATCH_ENVRCPT_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCVD_COUNT_TWO(0.00)[2]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.221.41:from]; RCVD_IN_DNSWL_NONE(0.00)[209.85.221.41:from]; RCVD_VIA_SMTP_AUTH(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_HAS_DN(0.00)[] X-Rspamd-Queue-Id: 4ZhCjP5pyMz3fM7 X-Spamd-Bar: / On 16 Apr 2025, at 15:30, Jessica Clarke wrote: >=20 > On 16 Apr 2025, at 15:21, Bojan Novkovi=C4=87 = wrote: >>=20 >> The branch main has been updated by bnovkov: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Df1e18f331923041980149fef46cdb273= 6e61debb >>=20 >> commit f1e18f331923041980149fef46cdb2736e61debb >> Author: Bojan Novkovi=C4=87 >> AuthorDate: 2025-04-15 16:28:05 +0000 >> Commit: Bojan Novkovi=C4=87 >> CommitDate: 2025-04-16 14:20:13 +0000 >>=20 >> riscv: Exclude OpenSBI memory regions when booting with EFI >>=20 >> OpenSBI uses the first PMP entry to prevent buggy supervisor >> software from overwriting the firmware [1]. However, this >> region may not be properly marked as reserved in the EFI map, = leading >> to an access violation exception whenever the kernel >> attempts to write to a page from that region. >>=20 >> Fix this by preemptively excluding first EFI memory map entry >> if it is marked as "BootServicesData". >>=20 >> [1] https://github.com/riscv-non-isa/riscv-sbi-doc/pull/37 >>=20 >> Reported by: tuexen >> Tested by: tuexen >> Fixes: a2e2178402af >> Reviewed by: imp, jrtc27 >=20 > No I didn=E2=80=99t, I left a comment saying I didn=E2=80=99t like the = concept. >=20 >> Differential Revision: https://reviews.freebsd.org/D49839 >> --- >> sys/riscv/riscv/machdep.c | 32 ++++++++++++++++++++++++++++++-- >> 1 file changed, 30 insertions(+), 2 deletions(-) >>=20 >> diff --git a/sys/riscv/riscv/machdep.c b/sys/riscv/riscv/machdep.c >> index 516dbde5ffaa..f253bc9a853b 100644 >> --- a/sys/riscv/riscv/machdep.c >> +++ b/sys/riscv/riscv/machdep.c >> @@ -541,6 +541,22 @@ fdt_physmem_exclude_region_cb(const struct = mem_region *mr, void *arg __unused) >> } >> #endif >>=20 >> +static void >> +efi_exclude_sbi_pmp_cb(struct efi_md *p, void *argp) >> +{ >> + bool *first =3D (bool *)argp; >> + >> + if (!*first) >> + return; >> + >> + *first =3D false; >> + if (p->md_type =3D=3D EFI_MD_TYPE_BS_DATA) { >> + physmem_exclude_region(p->md_phys, >> + min(p->md_pages * EFI_PAGE_SIZE, L2_SIZE), >> + EXFLAG_NOALLOC); >=20 > Doesn=E2=80=99t this need EXFLAG_NODUMP like the FDT case? Ping. Jess From nobody Mon Apr 21 18:53:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhDyk38MJz5ssxh; Mon, 21 Apr 2025 18:53: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhDyk2D9Pz49jv; Mon, 21 Apr 2025 18:53:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745261582; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kQ1brV2LAQaninWIrqS2knT3MepSkADvNariLyP0JiQ=; b=Zj0chZ+gu9eeqTUtL3voNVt2ZJSLIvq03ET0eFmwahTUVktFIxB93jJJksuDnyGGDLkFwe AetgPKEmLEtECayBwvh8LFdNuNmIjkFzwGBnqszAq3IqJKx1hRcwTRDg/soPv+6fBxNOmr +aUcRi+hBwMRPSyvm/ao79U7DfaCyu+wmdGuvmk4dyh+J6nfmVoLF+E45j6NUq/ppKIapN LjmiJTK4TjEBtA7jVJccBNU31vf0iJ7Cai6TVJQ1HrySqCEFco4cUJWggiZjjoJ0EaahYo OvDIL2hgxaKJ+Rwe7zAB2dp/Ef1tczupbALDKxg3pFhbZBhbBrOar7A4EJV6Jw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745261582; a=rsa-sha256; cv=none; b=akuf55Qm25EGd5t2/tIfxMWUgbefYbOF1/mHXSjKm06H8mm8EJq1z09duel/OLXAn4M4Da B2LIcCiuWOFwnNQgNlIn3h2lFbD7XPpSzlvEl4Mc/C+bYg080noBSPU/XybBByLiJlVie/ 488n7231SEvA+YOSyovb7eTaCMY6eg9IHvWYMcP+JqGHn2C1GUnrwfzj2YEpNB0Josvy8w wajeU0OhjUGdxO5u0egAWdwG/T+cts53fJbqNtJgQxXoIVkJ9NBQ8Xm+pzgjLVetDNP6UP DKpM2yM4E5Q8I1x7Ugp6s1lxiDXJYsUvEP2mfrkHbvlCu+ibEiV01SLQA5Lyvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745261582; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kQ1brV2LAQaninWIrqS2knT3MepSkADvNariLyP0JiQ=; b=InSXKKZC3pZ0YpfbRKTYP736vkIcgrxiLXvPBlB2RY9/yHuBPTxMhH5zIpYQ+GOFUSH7ps eVxlh+Tt1OStZp8vd0Wxxa7yN3YLSSBW2Vl0+eoThwu+ZqPBByG4+EybszstRdTMtxc75i 0sl8jI/OO2I50MnZ7PtX5sGsSJXPEiBQEJSUNZ39zGI1/Z9QL6C8leGDvTS0UGNMDt9da4 5e6ooK5WDuXxU0QHxf+DbXh9o5gS23DfgYlmQH1tnJx2BIZFR4mrsSVEEDc/+xiG46fQr3 /va76xMQJS3XukyvX8MMMbRF6UDI1u8W78ZJkOCpGuPp8WZfZJ9VTbiFNT9C9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhDyk1XbCz12V8; Mon, 21 Apr 2025 18:53: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 53LIr2R0069576; Mon, 21 Apr 2025 18:53:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LIr2V4069573; Mon, 21 Apr 2025 18:53:02 GMT (envelope-from git) Date: Mon, 21 Apr 2025 18:53:02 GMT Message-Id: <202504211853.53LIr2V4069573@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Igor Ostapenko Subject: git: e64978ad5d7c - main - tests.7: Bump the date and improve the format List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: igoro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e64978ad5d7c884b30b82736cb26d29696898ccd Auto-Submitted: auto-generated The branch main has been updated by igoro: URL: https://cgit.FreeBSD.org/src/commit/?id=e64978ad5d7c884b30b82736cb26d29696898ccd commit e64978ad5d7c884b30b82736cb26d29696898ccd Author: Igor Ostapenko AuthorDate: 2025-04-21 18:50:08 +0000 Commit: Igor Ostapenko CommitDate: 2025-04-21 18:50:08 +0000 tests.7: Bump the date and improve the format Reported by: ziaee, lwhsu Reviewed by: ziaee, lwhsu Differential Revision: https://reviews.freebsd.org/D49798 --- share/man/man7/tests.7 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/share/man/man7/tests.7 b/share/man/man7/tests.7 index 3cca7bdb1b91..61b0789b9149 100644 --- a/share/man/man7/tests.7 +++ b/share/man/man7/tests.7 @@ -25,7 +25,7 @@ .\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN .\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd August 19, 2020 +.Dd April 1, 2025 .Dt TESTS 7 .Os .Sh NAME @@ -157,7 +157,7 @@ The following configuration variables are available in the .Fx Test Suite: .Bl -tag -width "allow_sysctl_side_effects" -.It allow_devfs_side_effects +.It Va allow_devfs_side_effects If defined, enables tests that may destroy and recreate semipermanent device nodes, like disk devices. Without this variable, tests may still create and destroy devices nodes that @@ -166,19 +166,19 @@ them up afterwards. However, tests that require this variable have a relaxed cleanup requirement; they must recreate any devices that they destroyed, but not necessarily with the same devnames. -.It allow_sysctl_side_effects +.It Va allow_sysctl_side_effects Enables tests that change globally significant .Xr sysctl 8 variables. The tests will undo any changes in their cleanup phases. -.It allow_network_access +.It Va allow_network_access Enables tests that need to access the network the test host is connected to. Such tests may require properly configured Internet access. -.It disks +.It Va disks Must be set to a space delimited list of disk device nodes. Tests that need destructive access to disks must use these devices. Tests are not required to preserve any data present on these disks. -.It fibs +.It Va fibs Must be set to a space delimited list of FIBs (routing tables). Tests that need to modify a routing table may use any of these. Tests will cleanup any new routes that they create. From nobody Mon Apr 21 19:17:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhFVV4bqYz5svBh; Mon, 21 Apr 2025 19:17:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhFVV3JHwz4QL0; Mon, 21 Apr 2025 19:17:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745263026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RfGCNTmMUJz90AhzO6DnE+wFAXhomctpx5dCH5S/2Ds=; b=han04bC6ySeoL9BOZ1H7EMwnH3TVe41Z6gt67yODrnPxKNQoOau+QOeaGrHZh+zo8s7g5m KpwGsz8mnjN/G+WFzLQYsd1s6674FEggdVh5CNZUsqwUBdjbP6R3nUgIlYJq9PGdYVseLE oHn9HqoEVtVYj6gV4PDEVNv98kpMn5fj/ZgOdjW7inZZfFPmCejjcIbSUqlVRw1VMy91Mo MMo1luFMiShSegRDagyskmfZhcgge48DbLVugerrE4rGaUKImtMnISjpSEZ5kpBSYuQRhQ jfVFAF/nVyUr+X5MPPAGsmT7rvmChlPxnEtvv8s9Tng4rt7cE653CuSwrTC5SA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745263026; a=rsa-sha256; cv=none; b=ZwcjwtNOvydZvwtTbIUYmh4u0FxC8By5OvoqtEt8REAvC/knNO/o5/L0Qq6ARXLlJyzCL9 /ZIb+NRO70B7pDczNgGtdE1CE9UVn2MyP0Igw65RoH/v9ZL+TDt73ub/d4cr/9KsSFsTgG R2w7KQIILuL3oNnXRurZ1ziFYZEbZAb5opASfA2kjJxU+PZpDoM/ssFX+Alwm5IJiGuNYB OpYESlZ+UsaykgImR47b5897bOBGPhba3gBgZFf2vuYyRthXnw+QxgQCBJVx+K4EBDO5+3 ynPfbVUVRsSznl3F2g1N4DaOqc8pBDRMFRaNlpwzvsB7WWOadafFEXi8SlxMNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745263026; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RfGCNTmMUJz90AhzO6DnE+wFAXhomctpx5dCH5S/2Ds=; b=Y5xDkXZixRBY8BN18l9QS74jGZfTnM7JLDJWY++g3CL6qqJQp2fqb5LJJnuWVIfyPqJwen +mXXGtJ82rMLqzfpSh/uf1b35CxOy3cZZgxeov/HshnCyVbHsBzgS5qvYkVIhJdTKq5z/x joy0jsKJs8aqim4A/UA64RtbdbCQGvIU/8fwXdA+9x18hmtDY+fzuOhU8Zqn5kI4yKs5/Z mFpNUADbVHUZa04xZfO555+OWI//YQIt/J9W4x8QVgB349GAfEK5dT5ctgk3ieBLLtIyLJ Q1mI/doJ3HHarPJK/Ax0l1SMIn0hTYCZQTliTep09zDng93WqdhupZO0BiNvDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhFVV2pV1z12rZ; Mon, 21 Apr 2025 19:17:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53LJH6Us008579; Mon, 21 Apr 2025 19:17:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LJH6EU008576; Mon, 21 Apr 2025 19:17:06 GMT (envelope-from git) Date: Mon, 21 Apr 2025 19:17:06 GMT Message-Id: <202504211917.53LJH6EU008576@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 550289771d5c - main - flua: Add minimal man page List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 550289771d5cb73befb6a1645fb9cdf0b9fb65a7 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=550289771d5cb73befb6a1645fb9cdf0b9fb65a7 commit 550289771d5cb73befb6a1645fb9cdf0b9fb65a7 Author: Ed Maste AuthorDate: 2025-04-15 15:23:39 +0000 Commit: Ed Maste CommitDate: 2025-04-21 19:16:42 +0000 flua: Add minimal man page Flua is a minimal Lua interpreter integrated into the FreeBSD base system. It is intended for internal use and is not designed for general-purpose scripting or use by third-party applications, and was originally intentionally undocumented. There have been questions about its purpose, and questions about the available functionality from internal users, so provide a minimal man page including these details. Reviewed by: kevans, Isaac Freund Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49835 --- libexec/flua/Makefile | 1 - libexec/flua/flua.1 | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 1 deletion(-) diff --git a/libexec/flua/Makefile b/libexec/flua/Makefile index 08ea9c002d61..770f05bf2938 100644 --- a/libexec/flua/Makefile +++ b/libexec/flua/Makefile @@ -10,7 +10,6 @@ LUASRC?= ${SRCTOP}/contrib/lua/src PROG= flua WARNS?= 3 -MAN= # No manpage; this is internal. CWARNFLAGS.gcc+= -Wno-format-nonliteral diff --git a/libexec/flua/flua.1 b/libexec/flua/flua.1 new file mode 100644 index 000000000000..796ab813f89f --- /dev/null +++ b/libexec/flua/flua.1 @@ -0,0 +1,98 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" +.\" Copyright (c) 2025 The FreeBSD Foundation +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd April 21, 2025 +.Dt FLUA 1 +.Os +.Sh NAME +.Nm flua +.Nd Lua interpreter for the FreeBSD base system +.Sh SYNOPSIS +.Nm flua +.Op Fl EWiv +.Op Fl e Ar string +.Op Fl l Ar module +.Op Fl l Ar g=module +.Op Ar script Op Ar args +.Op Fl - +.Op Fl +.Sh DESCRIPTION +.Nm +is a minimal Lua interpreter integrated into the FreeBSD base system. +It is derived from Lua 5.4 with modifications to suit the needs of +.Fx +build infrastructure and system tooling. +.Nm +is intended for internal use within the base system and is +.Em not +designed for general-purpose scripting or use by third-party applications. +.Pp +Unlike full Lua installations provided by the Ports Collection, +.Nm +has a reduced feature set and is limited to meeting the requirements of +base system environments such as the bootloader. +.Sh USAGE +.Nm +is typically invoked internally by FreeBSD base system tools and build scripts. +While it accepts Lua source files and arguments in a standard fashion, its +limited environment and module support make it unsuitable for general scripting +use. +.Sh INCLUDED MODULES +.Nm +includes a subset of functionality from a small number of standard Lua modules +as well as bespoke modules necessary for the base system: +.Bl -bullet +.It +lfs (LuaFileSystem) – file attribute and directory manipulation +.It +lposix - basic POSIX system calls +.It +.Xr freebsd.kenv 3lua +.It +.Xr freebsd.sys.linker 3lua +.It +.Xr hash 3lua +.It +.Xr jail 3lua +.El +.Sh NOTES +.Nm +should not be used as a replacement for +.Xr lua 1 +from the Ports Collection (e.g., +.Pa lang/lua54 ) +as it may be modified or updated to a newer Lua version in the future without +retaining backwards compatibility. +.Sh SEE ALSO +.Xr freebsd.kenv 3lua , +.Xr freebsd.sys.linker 3lua , +.Xr hash 3lua , +.Xr jail 3lua +.Sh HISTORY +.Nm +first appeared in +.Fx 14.0 . From nobody Mon Apr 21 21:55:33 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhK1K5ZjZz5t604; Mon, 21 Apr 2025 21:55:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhK1K1s8gz3hy5; Mon, 21 Apr 2025 21:55:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745272533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uqlYcWQM3tyl/E7DW8zUHtizMAj+79Yu5E1VDbjOATU=; b=oz2zVsXuDfPQeQR0C7CKTkafL9XEKTorBnB+bg84c7fmIv+1lqv1lmRWMtlHf4UTKE2INJ Tv10C6urznR2bDvjTZ3/hzXk8hgvSV0yDcvN0yoAErh7m2GbVJubfOyvtz7nJZsNP++TtI SypApodZNvd7M5lJOo0mklTOgetNkPEIeNXUN3+bDX4QhGv3nx0Ab4AdlBO8lue7KVnzbA U19PXPMVZINOgUbV/pQm3mYh3XG4uKuWjMHJOnAFFJm005FddWAY6cFK4Z1DuCLjyr4k/k YqFEUMLVJUkqtqf8tFlfalsAhp1bTOSKaxz/uTt537HyyxdSwYoOzcYt44aOkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745272533; a=rsa-sha256; cv=none; b=FuMQNhUEYzD5ASmNQ+MHEyPCyaptfMFZq6CU0tlAqXdFS5zj0DXADKVQCCrKsgc/+eE4RQ Ev430wQZXsIlr41RZ40U8K4jCN3CDpPZb/FsxwIdjKzsBWlu/xOE5h4YuNskcvyzwdWGES M6Pc2Tlv/qKit14XBx5g6ve1PzRlxZqbaN7kIdLF1Km7l5m8uVFdT6YNGBMDNtPngWmzF/ HbZbNfaf20PF9Z1ZycRKZl1yE8q0RRkuHyTR5oMtQyXGg5SVQT021FMfkeE8xA8st4xpO4 DlYe56FODIH87Oue2VUvrn4JdfAEHBTTnXMQ9MUA81OvaIDcweFSrnahCJ0dDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745272533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uqlYcWQM3tyl/E7DW8zUHtizMAj+79Yu5E1VDbjOATU=; b=kKmFoqWZY4u1LDPnaZCw/sg3JDSMVivsnrCbiJo1mu1mcx7KAeyqHW1ePnTNr2E/RUIfsZ mDFBWUGek8drl5ULx/v3qFOiP2MX3+pUnu9BZTsn369RdNbdHqwrVxOLRd4cqD7DB8fjwX teNXuJS/YiAEAOa5eGr3Ng/iucJhdgu2RsXfI43hs1QsnhYMxM08Ai07y6fuNq61Uf0OUy uQP4kZ7OrUrKpiEb+0P1/YAVn4UQt5dVzA4zy5RWSMxlAz0b/b3N2CKwa5tUGIQSYrCdxL cjcncybXihAr230e8oaN1hkUWhc0fMjTPkfT0knDVzUhe6RTTJqrnZKApvjfJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhK1K1N2Wz166T; Mon, 21 Apr 2025 21:55: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 53LLtXlq007545; Mon, 21 Apr 2025 21:55:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LLtXil007542; Mon, 21 Apr 2025 21:55:33 GMT (envelope-from git) Date: Mon, 21 Apr 2025 21:55:33 GMT Message-Id: <202504212155.53LLtXil007542@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 6fb2339611cd - main - ghpr: Only label the branch as merged List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6fb2339611cd19271fd5ae1034f5dddad36c59dc Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6fb2339611cd19271fd5ae1034f5dddad36c59dc commit 6fb2339611cd19271fd5ae1034f5dddad36c59dc Author: Warner Losh AuthorDate: 2025-04-21 21:52:49 +0000 Commit: Warner Losh CommitDate: 2025-04-21 21:55:00 +0000 ghpr: Only label the branch as merged Stop trying to push to the pull request branches. Only I have permission to do that. Add 'meged' tag. This isn't quite as good as having the PRs show up as 'merged' since there's some stats based on that which won't happen. However, it's too much of a hassle, so just stop doing it. We now require the 'gh' but don't make sure that it's around. Note: We still need better error handling, for this and other things. Sponsored by: Netflix --- tools/tools/git/ghpr/ghpr-push.sh | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/tools/tools/git/ghpr/ghpr-push.sh b/tools/tools/git/ghpr/ghpr-push.sh index 21cd9b52e41b..587a0bb8ff27 100644 --- a/tools/tools/git/ghpr/ghpr-push.sh +++ b/tools/tools/git/ghpr/ghpr-push.sh @@ -8,24 +8,35 @@ die() { } staging=staging +do_pr_branch_push=false + # Iteratively try to push all the branches, then push upstream. Repeat until the upstream # push works... while true; do - for pr in $(git config --get-all branch.${staging}.opabinia.prs); do - upstream=$(git config --get branch.${staging}.opabinia.${pr}.upstream) - upstream_branch=$(git config --get branch.${staging}.opabinia.${pr}.upstream-branch) - - git push $upstream HEAD:$upstream_branch --force || true # bare git push gives cut and paste line - done + # We'll likely drop pushing to the pull request branches, but that's not + # final, so keep the code, but if false'd out. We'll make it a proper option + # or remove it once the discussion settles down. Only Warner can use it at + # the moment anyway. + if $do_pr_branch_push; then + for pr in $(git config --get-all branch.${staging}.opabinia.prs); do + upstream=$(git config --get branch.${staging}.opabinia.${pr}.upstream) + upstream_branch=$(git config --get branch.${staging}.opabinia.${pr}.upstream-branch) + git push $upstream HEAD:$upstream_branch --force || true # bare git push gives cut and paste line + done + fi if ! git push --push-option=confirm-author freebsd HEAD:main; then git fetch freebsd - git rebase freebsd/main ${stagig} + git rebase freebsd/main ${staging} continue fi break done +else + +fi + # OK, pull and rebase to catchup to these changes... git checkout main; @@ -33,7 +44,11 @@ git pull --rebase # try to cleanup for pr in $(git config --get-all branch.${staging}.opabinia.prs); do + if ! $do_pr_branch_push; then + gh pr edit $pr --edit --add-label merged + fi git branch -D PR-${pr} git config --remove-section branch.${staging}.opabinia.${pr} done git config --remove-section branch.${staging}.opabinia +git branch -D ${staging} From nobody Mon Apr 21 22:02:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhK9L5njXz5t6bs; Mon, 21 Apr 2025 22:02: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhK9L4bkYz3md5; Mon, 21 Apr 2025 22:02:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745272950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SGK7fYiQc6jrXVaS2lf9AxkP7l+bCWbQ9DekPx8C4kw=; b=xLtZY1XA3VFMNzPuR/X80YFxxeJ/cYFBoW15wa5qPQXlI0jCKpw6XejYX4Lb4EijyymEGO 6zBFm6HSh/sXukxfekQE9KnqTcm9ZBjYkMxfNqUTzL2Ysc8ETvyiC5NYf8lS2fDhP3Xqup dfU1gI7sk2WTN2zydtKPGjTmORwZ0ycKh+L/u6terMk99E1N6cnvQQ+cgjxe2D7gUbsQab 9cwpSJtYptmu5LgncmOKD+FimA8Ot/TjwgEordR368/vonpzJC1PQIALTpBL5cbEpFXmyh 3J4ZYJIrY07Pjoq0v/7aafZ57jtmwFu+rX6YXd9R3GQzK2IXcSc/nP5SSqDw5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745272950; a=rsa-sha256; cv=none; b=fMqrNHTJ+ciD3poAOhLeiUuRy2UVyfL9wWxSkN8CrLxv97uyCjrnYs0WK+CfXsiW0eEqqZ Cd8muAIhKVXS5s0SmPXnU1crL3HSMUBIcn5GwpVW/MgYi1QzCyPyRuEG02iXsrF0cBo++7 vsRa8srpMjQxCwuuGViifTiHjPI72PuKTLjDCp77OBc7Va1zhE3Q1m52LQHuAMKqTZGrad 89qsn7Se60ZxH1gMeStZhcRxF4A+wWPuQVaQpiSuv5Jel5Ld+KeAwEvA1vNdi5xjn7o324 T15P8wCOkH6Oa9GH83uD6Wrm4TenEW75QnxNmhJdcGpbiOWkDy9Vtus6OUTUSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745272950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SGK7fYiQc6jrXVaS2lf9AxkP7l+bCWbQ9DekPx8C4kw=; b=j2AjhTh/RUK4shhZDsmiIoddQ3bDWg4PhkQq0CeKbnryysEhnwFlFsd+PCh9N3Qz1odc+Q RC0ON2NpGv+WL8HcNWUUTwP+tYNaGujZR+z5OQPDcD90MuRulN1t324LLOPEnZl8l2qbon 1CAj9urX3DWZNjATe4SMtEfmMzW2LiXfEuYYt5JJcnswECp3IdPaSFotxLa5cv2OqTwgnw kVTP1W0uq/0YeOeFeZ0E9pWTN/M+gxTx0jpc1G3RNLqJMAFy5+zys8Z5K2Q8Ha8RDJAgEc IlhJmJH1UOnON+s0YsvQouMqtn2ZTaff1ahnDSzWM8mfzh4aMkxRzbvkcMsAfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhK9L3sB4z16vh; Mon, 21 Apr 2025 22:02: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 53LM2U42025946; Mon, 21 Apr 2025 22:02:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LM2UEY025943; Mon, 21 Apr 2025 22:02:30 GMT (envelope-from git) Date: Mon, 21 Apr 2025 22:02:30 GMT Message-Id: <202504212202.53LM2UEY025943@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: d2ffe67fd5d9 - main - procctl.2: Fix names of PROC_LOGSIGEXIT_CTL constants List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2ffe67fd5d94a1415b09971a736967505185fe9 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d2ffe67fd5d94a1415b09971a736967505185fe9 commit d2ffe67fd5d94a1415b09971a736967505185fe9 Author: Vicki Pfau AuthorDate: 2025-03-10 23:42:12 +0000 Commit: Warner Losh CommitDate: 2025-04-21 22:01:53 +0000 procctl.2: Fix names of PROC_LOGSIGEXIT_CTL constants The headers contain constants that start with PROC_LOGSIGEXIT_CTL_*, but the man page elided the _CTL portion. Fixes: dabf006 ("Add per-process flag to disable logsigexit") Reviewed by: imp, jlduran Pull Request: https://github.com/freebsd/freebsd-src/pull/1610 --- lib/libsys/procctl.2 | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/libsys/procctl.2 b/lib/libsys/procctl.2 index 75804ba243f1..dfb7931de265 100644 --- a/lib/libsys/procctl.2 +++ b/lib/libsys/procctl.2 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 14, 2024 +.Dd April 21, 2025 .Dt PROCCTL 2 .Os .Sh NAME @@ -133,17 +133,17 @@ dump. The .Va arg parameter must point to an integer variable holding one of the following values: -.Bl -tag -width PROC_LOGSIGEXIT_FORCE_DISABLE -.It Dv PROC_LOGSIGEXIT_FORCE_ENABLE +.Bl -tag -width PROC_LOGSIGEXIT_CTL_FORCE_DISABLE +.It Dv PROC_LOGSIGEXIT_CTL_FORCE_ENABLE Enables logging of exits due to signals that would normally cause a core dump. Logging is done via .Xr log 9 with a log level of .Dv LOG_INFO . -.It Dv PROC_LOGSIGEXIT_FORCE_DISABLE +.It Dv PROC_LOGSIGEXIT_CTL_FORCE_DISABLE Disables the logging of exits due to signals that would normally cause a core dump. -.It Dv PROC_LOGSIGEXIT_NOFORCE +.It Dv PROC_LOGSIGEXIT_CTL_NOFORCE The logging behavior is delegated to the .Xr sysctl 3 MIB variable @@ -155,10 +155,10 @@ The .Va arg parameter must point to an integer variable, where one of the following values is written: -.Bl -tag -width PROC_LOGSIGEXIT_FORCE_DISABLE -.It Dv PROC_LOGSIGEXIT_FORCE_ENABLE -.It Dv PROC_LOGSIGEXIT_FORCE_DISABLE -.It Dv PROC_LOGSIGEXIT_NOFORCE +.Bl -tag -width PROC_LOGSIGEXIT_CTL_FORCE_DISABLE +.It Dv PROC_LOGSIGEXIT_CTL_FORCE_ENABLE +.It Dv PROC_LOGSIGEXIT_CTL_FORCE_DISABLE +.It Dv PROC_LOGSIGEXIT_CTL_NOFORCE .El .It Dv PROC_PROTMAX_CTL Controls the maximum protection used for From nobody Mon Apr 21 22:04:39 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhKCr0z8Zz5t6K5; Mon, 21 Apr 2025 22:04:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhKCq6r10z3nbB; Mon, 21 Apr 2025 22:04:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745273080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S2kD77BlzxvsGX/UlpSC2/6g9+hH1qZJyNeU2UhknnA=; b=dKfuiOYUTf/+5tYfEL2OpRbfvwbvH582b063qBk6K6AjJensnN06eKJb1OoAHrlR/bxt2Z TL5WOtKWVhZb8mK0+kEvzrx3LF50L/R2G23YHTACw1Xyvh/R8ZvMzHevp2FekzkPgndhfa i+MoiiRiUqqVOhn0VTIeYxohqZmolpaoU2+UmTowTrXuFn5QaF6565n+tRwkfGyhoWNJF6 JVA4HjO92jlhiaW9SrxY8CbWS4RD/rFRqNXMC0GF+IuKmo/muUKuaEqfjOMEeO9YZWiF5t QdPfMTS4aqt1/VejYD1AV9r2K8hfXHf/DWLIXSiWhfPYUEY2OZS8DeGKgf97HQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745273080; a=rsa-sha256; cv=none; b=MCtE35rR2FSCak2Bpw/IdqFfcXNouPdMrb9tiOMshsIT+31FDHndrdyHl9bqdG08T1Px0p 0S+/twBQQUFy6Y4RwlZFuV/gSEoyMhgeoKDP/FwNGYD2Bq+k04wA3EPqFID2LS1kE1mbD4 z5JMEuc6YXJT750ud227XIQmhB7sMdArHh9EVgjYJAhdtXqwiGn870WUgVv4ALw4Rc/eR0 CcZIEOXxzuNDYj8XAA14ArFtwqtX7S8zExFyZtGHpSJP030y31QcUAFhSHlyXTZh2bGBZU krzEtLMWp60q1fcehpMiPRk9u0xWx0OQqiJmrFMDHHOfAmaHacDcjvT1ci7Xbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745273080; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S2kD77BlzxvsGX/UlpSC2/6g9+hH1qZJyNeU2UhknnA=; b=BOao4QGWiY0pbMkpBRsLw/yBNbQVl0a+cL76/+jE8mZQQxBkwWllpUhWG883gZrNycUb4R cMNRCbiVsqPq6VLTgADvg0z/Fx2Uiu+xyto7+DoUbGT8iVQZbNngxF+ff9QoZQKzBMdx5f U92wsT/fVKpBnYM8Fv89Bp1DOxxNALt6NoUcS6KLyOtLlFgiDLXtIfy/mWko6CcngarmBN IeD2x0yqFLAIQM8JwseB0aUx9Z9puAcLzePYKQDVJ3z0WU0Wxq3NOPrYFPYO8t00UuHmNs c+diGzHC5u2623k/y9OnVM3wGJsCbohjzZWjqwqBTO/JN9x+mbTIfwBo1HoyYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhKCq6Bpzz176n; Mon, 21 Apr 2025 22:04: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 53LM4dLc026732; Mon, 21 Apr 2025 22:04:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LM4dQk026729; Mon, 21 Apr 2025 22:04:39 GMT (envelope-from git) Date: Mon, 21 Apr 2025 22:04:39 GMT Message-Id: <202504212204.53LM4dQk026729@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 6ef66b328a16 - main - ghpr: Fix bogus else List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6ef66b328a1666b18c7b832303a940372ffa3754 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6ef66b328a1666b18c7b832303a940372ffa3754 commit 6ef66b328a1666b18c7b832303a940372ffa3754 Author: Warner Losh AuthorDate: 2025-04-21 22:03:10 +0000 Commit: Warner Losh CommitDate: 2025-04-21 22:03:10 +0000 ghpr: Fix bogus else The previous commit was pushed in error. Remove 'else fi' that was a left-over change that was incomplete and removed. Fix by removing the rest of that change that wasn't done. Sponsored by: Netflix --- tools/tools/git/ghpr/ghpr-push.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/tools/git/ghpr/ghpr-push.sh b/tools/tools/git/ghpr/ghpr-push.sh index 587a0bb8ff27..a82275ab046b 100644 --- a/tools/tools/git/ghpr/ghpr-push.sh +++ b/tools/tools/git/ghpr/ghpr-push.sh @@ -33,10 +33,6 @@ while true; do fi break done -else - -fi - # OK, pull and rebase to catchup to these changes... git checkout main; From nobody Mon Apr 21 22:06:10 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhKFZ5K57z5t6Mt; Mon, 21 Apr 2025 22:06:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhKFZ3zwJz3pCL; Mon, 21 Apr 2025 22:06:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745273170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OjfmvtDI4YL3oCaLNxt09+abBY8zCO101RaaGBvplmk=; b=VgSEhdAIJMxnTUb1OSxCs2RFJEaM86N/5NdgHaDIgcCk9dCPMUOys1YRCKwZUtsT+GxCxO um6Q8GOTbNvuXbfcVurWobUMvE8zunAYAMaM053vZDBoOxvUa2kXP1ZMsltKyO7i+BsCsE KMMbFV77yFZ0OxUrjTw2K0mAS/JUb0+U8frny13PbsB3putriQ0E7Uovc2ps8QLIDd/c04 A4XZtLXrOt/hvQA0h5xq+vjyLOcyHWbXmIB2FSY43tZFsWmCjH79p739mz4macZNpqpsjN uCR9y1ZPCmkRDtYbpQUcPHNhqGoKz+4j0CJgwjaSYOHGks02N/Laf/nsCdJ4zQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745273170; a=rsa-sha256; cv=none; b=KvEyYuOz7NEamP6OGgH7MmWm9zStowftLBzwqp43+Y68UhQKPL00PNQTWP1Cqf3HjM4JEa sR2K0w42uxb3GDMeJhaDesU+bXYLEZIw2bpEW9OyAwDYQiqNwmipPVbpT1fZX7LlM4kIzn dpt+fShFOzwc5JfRmT004UVWjIkHd2QLR7z5AzKL+hpDDPx+8IxGSUqSSnnMw+IctpolbB XLYbDrjMD/TJ70tw1Ply4feRoJLy3Pjc24INEGBgz1aiwjqq82SU3fzp+xes9KsLAEQZya RhJ6AW2vKP4TWNG0zpbjsACwi7Lr+AtDDdT0HZAnImIYjQuQPPrRoFVOSdhU9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745273170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OjfmvtDI4YL3oCaLNxt09+abBY8zCO101RaaGBvplmk=; b=q9yM7j5A6eF/1QzqGqlhnT9/9gaV7xWsWw5YVpM/vd23iXTUzguhyk8aKPfprRqk/gj55l EHaoue4Xsap1MArGbzgOznnzWFUBsDsMM7Dh+l2Gp+TAAznSky4c+r2xzAR2jP1tsIikKi lUgNVDGVgvIZxElzTTfpwIUrHf/J1yZwSSwhPhr3JCqpl7tX8t6AxihqgPZoD3wnAV6rBf dptR7YDdqyufPL5wX5kG5zhi+Mb54zmB4fbhzFYoZ0+NuKhAw63bPtnd2sTB25CqoIt9zZ vxj69QjIrbklS56GMVaLlREqFYySfDX21kndk0MR0YGXv2dD1xyykAY8CKJEOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhKFZ3bCYz176p; Mon, 21 Apr 2025 22:06: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 53LM6AHB027312; Mon, 21 Apr 2025 22:06:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LM6AWv027309; Mon, 21 Apr 2025 22:06:10 GMT (envelope-from git) Date: Mon, 21 Apr 2025 22:06:10 GMT Message-Id: <202504212206.53LM6AWv027309@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 0e21783a550f - main - ghpr: Remove --edit from gh List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0e21783a550f4a7e644696782df85ecd0e343e4c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0e21783a550f4a7e644696782df85ecd0e343e4c commit 0e21783a550f4a7e644696782df85ecd0e343e4c Author: Warner Losh AuthorDate: 2025-04-21 22:05:30 +0000 Commit: Warner Losh CommitDate: 2025-04-21 22:05:30 +0000 ghpr: Remove --edit from gh gh pr edit --edit is bogus. Remove the --edit. Sponsored by: Netflix --- tools/tools/git/ghpr/ghpr-push.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tools/git/ghpr/ghpr-push.sh b/tools/tools/git/ghpr/ghpr-push.sh index a82275ab046b..ba0704bbcf5c 100644 --- a/tools/tools/git/ghpr/ghpr-push.sh +++ b/tools/tools/git/ghpr/ghpr-push.sh @@ -41,7 +41,7 @@ git pull --rebase # try to cleanup for pr in $(git config --get-all branch.${staging}.opabinia.prs); do if ! $do_pr_branch_push; then - gh pr edit $pr --edit --add-label merged + gh pr edit $pr --add-label merged fi git branch -D PR-${pr} git config --remove-section branch.${staging}.opabinia.${pr} From nobody Mon Apr 21 22:11:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhKNF2dgKz5t71w; Mon, 21 Apr 2025 22:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhKNF1sjrz3tTw; Mon, 21 Apr 2025 22:11:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745273517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i7ql9YgjsRyiaRBJLuE2qGEvO532ELEiuclm2ycz4Lc=; b=qohuWyyBZawouIf1kRTiBDDlZeGVpN6WoTY285+UVSDq89ghJfrKi2JsuqYrASPCbvyuvc 1uuXBI2vHTWeogRP1SdH41DtlF8ra6lrAGWi3VmDURSUn/KTFDV2WUOOPj5tvOx0ulP303 FiITcbmMBU4vtxAuMWgMv7xeKO77vsXCo99wfE3FiaRf7L/kFAHc5P3GeKMA371Rs/NiwO wC5N943Q5bZxMiSNDEiur1JdPSbUkA8ZHgfVYjC7AGe8cNhZQJomD61+3bK6aAN7ZQPKHZ zZEFBIrxqC++RN8gFGbqLyGwE8hlrrP0IeYyFxDVSePePVuBQ5MufYXRWLzZGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745273517; a=rsa-sha256; cv=none; b=lWakifRfqeU0RpwRJ3siUs93LeYvxcOQLuF5d/8AWNwGxCul4zIvkstqi+HP1Lijy1XvBR hqv8ipdbF7xTvH+4KCu0V7TKOvf0zcDNzcSimg3w8ckjeqFssHxQWgdmw3wQ4KQu6XuBZh iRkAkbUZ86ASxFsRmJY7LeSWkg/Jz1sc/j8SaGpnzJYeA/uZyUu5nJvmi/+Q7++1W6Z2TK 8CQ1/GVqcPQ6QmXFHI5cViuB+80zwqXY27tUpk0gjwO8NuN9kc+ZolySMs8HQUJ8zD1oSC RWEV8pbc2CssxaQY1husCWulvzNSpidv0qFAquIkdrYMGq71fSQF96lnMWI9/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745273517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i7ql9YgjsRyiaRBJLuE2qGEvO532ELEiuclm2ycz4Lc=; b=bFufusQVPgoBMzTgxFBy/AeCjX8FnW92z2vT5VPG+eOy9cCGMA3zlrt3TN1qpjc1piC1C9 qjZMMRvshzhxzurleazPGWA97ODWawkRFyhMbTmRrMjNpciOIpNrXLD/RREwP5Wro3GAIa MjqvOPu9io3FgxFXPVRjiqxlmG+VXwesL29KHuC/IWdU5loXJ5eciCf4rg+MdIx/+jCTOb utr+8uUdHYNbfGOokKflIjf77cg2BqqDdtGwYIwQdZanRwbTScM0xBthRijuiIVey7t/sA 0yc5dEV1fPkd+TFaOZATsXrZmHVnvokmQZz/6dXN90W+atYJgdac/yn0+jz3zg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhKNF1NRNz16nJ; Mon, 21 Apr 2025 22:11: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 53LMBvPN040674; Mon, 21 Apr 2025 22:11:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LMBvh9040671; Mon, 21 Apr 2025 22:11:57 GMT (envelope-from git) Date: Mon, 21 Apr 2025 22:11:57 GMT Message-Id: <202504212211.53LMBvh9040671@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 199a2be029e8 - main - sysctl.3: put KERN_PROC_RLIMIT_USAGE in the right spot List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 199a2be029e835c3b284d948e8168af378b06efc Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=199a2be029e835c3b284d948e8168af378b06efc commit 199a2be029e835c3b284d948e8168af378b06efc Author: Konstantin Belousov AuthorDate: 2025-04-21 18:53:56 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-21 22:11:49 +0000 sysctl.3: put KERN_PROC_RLIMIT_USAGE in the right spot The order for KERN_PROC_XXX is by the OID values, at least for now. Noted and reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D49943 --- lib/libc/gen/sysctl.3 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/libc/gen/sysctl.3 b/lib/libc/gen/sysctl.3 index fb68ddd60edc..95e33dc802be 100644 --- a/lib/libc/gen/sysctl.3 +++ b/lib/libc/gen/sysctl.3 @@ -502,7 +502,6 @@ specifies the current process. .It Dv KERN_PROC_ENV Ta "Set of strings" .It Dv KERN_PROC_AUXV Ta "Elf_Auxinfo []" .It Dv KERN_PROC_RLIMIT Ta "Integer" -.It Dv KERN_PROC_RLIMIT_USAGE Ta "rlim_t []" .It Dv KERN_PROC_PS_STRINGS Ta "Integer" .It Dv KERN_PROC_UMASK Ta "Integer/short" .It Dv KERN_PROC_OSREL Ta "Integer" @@ -511,6 +510,7 @@ specifies the current process. .It Dv KERN_PROC_NFDS Ta "Integer" .It Dv KERN_PROC_SIGFASTBLK Ta "Integer" .It Dv KERN_PROC_VM_LAYOUT Ta "struct kinfo_vm_layout" +.It Dv KERN_PROC_RLIMIT_USAGE Ta "rlim_t []" .It Dv KERN_PROC_KQUEUE Ta "struct kinfo_knote []" .El .Pp @@ -549,13 +549,6 @@ Additinal OID name element must be supplied, specifiing the resource name as in .Xr getrlimit 2 . The call returns the given resource limit for the process. -.It Dv KERN_PROC_RLIMIT_USAGE -Like -.Dv KERN_PROC_RLIMIT , -but instead of the limit, returns the accounted resource usage. -For resources which do not have a meaningful current value, -.Li \-1 -is returned. .It Dv KERN_PROC_PS_STRINGS Returns the location of the .Vt ps_strings @@ -585,6 +578,13 @@ Returns the address of the location, if active. .It Dv KERN_PROC_VM_LAYOUT Fills a structure describing process virtual address space layout. +.It Dv KERN_PROC_RLIMIT_USAGE +Like +.Dv KERN_PROC_RLIMIT , +but instead of the limit, returns the accounted resource usage. +For resources which do not have a meaningful current value, +.Li \-1 +is returned. .It Dv KERN_PROC_KQUEUE Fills an array of structures describing events registered with the specified kqueue. From nobody Mon Apr 21 23:07:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhLbw5q1dz5tBCV; Mon, 21 Apr 2025 23:07:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhLbw3w4fz3QDF; Mon, 21 Apr 2025 23:07:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745276828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4lVmkBgBajIJQRXwvgL9rzaJc2pB9KXFz1ZGDeEzQmE=; b=qHx6+Xrr3vFmzXMUVDPiDzSeFsQx32voL0dw1PzgCvyBrQasSSVSgCMq8H3AaMdRfC0DWP 2must4yXfxoNfkNGSr1MVV0COb1FVbe6wv9J2ztDYXXhmZw3RO2dhyDY9iqxZXsW4tlWib PjDJ13tyfG802I9P4V03UewOGf47f5N+iat1WqhqGLxuTZGxg+Iwo7YUGMPtbzpzxlqZhA b0uxmLiX9Sw4IAL/7vYAB3Q1MnU4/o5uD7Y7zimPhSm7J1Iy81mEjZ1sQx+akDQ5fw68iR 2G/GE9AhHFzFvPTXvOIrU6kEXzmFMchhVyzoH38UDhPew4pbX8yoKWfABd4QUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745276828; a=rsa-sha256; cv=none; b=IVb6yAyq8F8vj9bL59z7C0gpTSi7f0YKfuqd/02zvMi4yKQV2TBFEKz/jV5JB225nIx81V QtO5r3YOcEFH/TQoJk3JtM04ag0Q6i1OjGdeqWs9UxLtFHQVOJlie8alegaM4WnOofYMYS SIimjM5o5wu1ZzFPkUxgzuNVV/IV79RRJhRaS27RnIS+p/3atdCtBWtKAcRnxrY/S0TYQq P9hqQCHZ1y3rJyo7NEi50m+qQkY7Qfe28Ykor6m6XhMvN4dBv28l52tTcyBhtL5I9Ocg9F GtX5RN3X8i9302rv4UEFi4o7D0UlGu3cWEWute3vG+Dxs+p1nbYTvnCgObiABw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745276828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4lVmkBgBajIJQRXwvgL9rzaJc2pB9KXFz1ZGDeEzQmE=; b=ujejDx7ObQbV1DmB6J9bCQyIsDK13YN1ADGV4E/tbV//e3fhMaTA0MUZ7ZbfCR5p3P6AY5 l64LBgHEX9bNNwBiEzDRd61DyV0dCoihGg6CvarFKgNkhauUcqS4VQeuSgHZ91ZNBKI0zi OzB/nNRYzoWdvojo6cW0ahPdfeuuaoSR5EhpWV+5Dpv/7dfSFGx/jzDBCAt7a862yApZwr LIhxn3kMdGAYO5tjWAWxwyO1GL5x3gsqWoIH/Hp9cmIAHkpjAtHSz1KlwMCdlXT4Bpc7n0 A21bBVqhgDjbjPRSeaVpVMHxo+f+WbrT0Lv8uv45JmbO+ANByS6nQ88iXKvtiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhLbw30ypz18Lq; Mon, 21 Apr 2025 23:07: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 53LN78KU041904; Mon, 21 Apr 2025 23:07:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53LN78RW041901; Mon, 21 Apr 2025 23:07:08 GMT (envelope-from git) Date: Mon, 21 Apr 2025 23:07:08 GMT Message-Id: <202504212307.53LN78RW041901@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 15581af7c2d3 - main - exec: Remove parameter 'segflg' from exec_copyin_args() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 15581af7c2d30360313dcad74dc5dc83c02f9df0 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=15581af7c2d30360313dcad74dc5dc83c02f9df0 commit 15581af7c2d30360313dcad74dc5dc83c02f9df0 Author: Wuyang Chung AuthorDate: 2025-02-05 06:54:54 +0000 Commit: Mark Johnston CommitDate: 2025-04-21 23:06:35 +0000 exec: Remove parameter 'segflg' from exec_copyin_args() In kern "copyin" means copy data from user address space to kernel address space. But in the function exec_copyin_args() there is a parameter 'segflg' that is used to specify the address space of the parameter 'fname'. In the source code there are two places where 'segflg' are not UIO_USERSPACE. In both cases the 'fname' argument are NULL so the argument 'segflg' are not important there. So it is safe to remove the parameter 'segflg' from the function exec_copyin_args(). Reviewed by: markj, jhb MFC after: 2 weeks Pull Request: https://github.com/freebsd/freebsd-src/pull/1590 --- sys/compat/freebsd32/freebsd32_misc.c | 11 +++++------ sys/compat/freebsd32/freebsd32_util.h | 2 +- sys/compat/linux/linux_misc.c | 8 ++++---- sys/kern/kern_exec.c | 13 +++++-------- sys/sys/imgact.h | 3 +-- 5 files changed, 16 insertions(+), 21 deletions(-) diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 3efc93969419..cc777f2bf830 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -401,7 +401,7 @@ freebsd32_sigaltstack(struct thread *td, */ int freebsd32_exec_copyin_args(struct image_args *args, const char *fname, - enum uio_seg segflg, uint32_t *argv, uint32_t *envv) + uint32_t *argv, uint32_t *envv) { char *argp, *envp; uint32_t *p32, arg; @@ -422,7 +422,7 @@ freebsd32_exec_copyin_args(struct image_args *args, const char *fname, /* * Copy the file name. */ - error = exec_args_add_fname(args, fname, segflg); + error = exec_args_add_fname(args, fname, UIO_USERSPACE); if (error != 0) goto err_exit; @@ -477,8 +477,8 @@ freebsd32_execve(struct thread *td, struct freebsd32_execve_args *uap) error = pre_execve(td, &oldvmspace); if (error != 0) return (error); - error = freebsd32_exec_copyin_args(&eargs, uap->fname, UIO_USERSPACE, - uap->argv, uap->envv); + error = freebsd32_exec_copyin_args(&eargs, uap->fname, uap->argv, + uap->envv); if (error == 0) error = kern_execve(td, &eargs, NULL, oldvmspace); post_execve(td, error, oldvmspace); @@ -496,8 +496,7 @@ freebsd32_fexecve(struct thread *td, struct freebsd32_fexecve_args *uap) error = pre_execve(td, &oldvmspace); if (error != 0) return (error); - error = freebsd32_exec_copyin_args(&eargs, NULL, UIO_SYSSPACE, - uap->argv, uap->envv); + error = freebsd32_exec_copyin_args(&eargs, NULL, uap->argv, uap->envv); if (error == 0) { eargs.fd = uap->fd; error = kern_execve(td, &eargs, NULL, oldvmspace); diff --git a/sys/compat/freebsd32/freebsd32_util.h b/sys/compat/freebsd32/freebsd32_util.h index 4ac314f4391e..1ae016814329 100644 --- a/sys/compat/freebsd32/freebsd32_util.h +++ b/sys/compat/freebsd32/freebsd32_util.h @@ -120,7 +120,7 @@ void freebsd32_rusage_out(const struct rusage *s, struct rusage32 *s32); struct image_args; int freebsd32_exec_copyin_args(struct image_args *args, const char *fname, - enum uio_seg segflg, uint32_t *argv, uint32_t *envv); + uint32_t *argv, uint32_t *envv); struct kinfo_knote; struct kinfo_knote32; diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index e789586160b6..b88f1451f1a2 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -2612,7 +2612,7 @@ linux_seccomp(struct thread *td, struct linux_seccomp_args *args) */ static int linux_exec_copyin_args(struct image_args *args, const char *fname, - enum uio_seg segflg, l_uintptr_t *argv, l_uintptr_t *envv) + l_uintptr_t *argv, l_uintptr_t *envv) { char *argp, *envp; l_uintptr_t *ptr, arg; @@ -2633,7 +2633,7 @@ linux_exec_copyin_args(struct image_args *args, const char *fname, /* * Copy the file name. */ - error = exec_args_add_fname(args, fname, segflg); + error = exec_args_add_fname(args, fname, UIO_USERSPACE); if (error != 0) goto err_exit; @@ -2696,8 +2696,8 @@ linux_execve(struct thread *td, struct linux_execve_args *args) LINUX_CTR(execve); - error = linux_exec_copyin_args(&eargs, args->path, UIO_USERSPACE, - args->argp, args->envp); + error = linux_exec_copyin_args(&eargs, args->path, args->argp, + args->envp); if (error == 0) error = linux_common_execve(td, &eargs); AUDIT_SYSCALL_EXIT(error == EJUSTRETURN ? 0 : error, td); diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index f6d0201f9b37..a943ec339e75 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -225,8 +225,7 @@ sys_execve(struct thread *td, struct execve_args *uap) error = pre_execve(td, &oldvmspace); if (error != 0) return (error); - error = exec_copyin_args(&args, uap->fname, UIO_USERSPACE, - uap->argv, uap->envv); + error = exec_copyin_args(&args, uap->fname, uap->argv, uap->envv); if (error == 0) error = kern_execve(td, &args, NULL, oldvmspace); post_execve(td, error, oldvmspace); @@ -251,8 +250,7 @@ sys_fexecve(struct thread *td, struct fexecve_args *uap) error = pre_execve(td, &oldvmspace); if (error != 0) return (error); - error = exec_copyin_args(&args, NULL, UIO_SYSSPACE, - uap->argv, uap->envv); + error = exec_copyin_args(&args, NULL, uap->argv, uap->envv); if (error == 0) { args.fd = uap->fd; error = kern_execve(td, &args, NULL, oldvmspace); @@ -282,8 +280,7 @@ sys___mac_execve(struct thread *td, struct __mac_execve_args *uap) error = pre_execve(td, &oldvmspace); if (error != 0) return (error); - error = exec_copyin_args(&args, uap->fname, UIO_USERSPACE, - uap->argv, uap->envv); + error = exec_copyin_args(&args, uap->fname, uap->argv, uap->envv); if (error == 0) error = kern_execve(td, &args, uap->mac_p, oldvmspace); post_execve(td, error, oldvmspace); @@ -1328,7 +1325,7 @@ out: */ int exec_copyin_args(struct image_args *args, const char *fname, - enum uio_seg segflg, char **argv, char **envv) + char **argv, char **envv) { u_long arg, env; int error; @@ -1348,7 +1345,7 @@ exec_copyin_args(struct image_args *args, const char *fname, /* * Copy the file name. */ - error = exec_args_add_fname(args, fname, segflg); + error = exec_args_add_fname(args, fname, UIO_USERSPACE); if (error != 0) goto err_exit; diff --git a/sys/sys/imgact.h b/sys/sys/imgact.h index 4f0c8aff9f42..c1c94a2eabfd 100644 --- a/sys/sys/imgact.h +++ b/sys/sys/imgact.h @@ -119,8 +119,7 @@ int exec_map_stack(struct image_params *); int exec_new_vmspace(struct image_params *, struct sysentvec *); void exec_setregs(struct thread *, struct image_params *, uintptr_t); int exec_shell_imgact(struct image_params *); -int exec_copyin_args(struct image_args *, const char *, enum uio_seg, - char **, char **); +int exec_copyin_args(struct image_args *, const char *, char **, char **); int pre_execve(struct thread *td, struct vmspace **oldvmspace); void post_execve(struct thread *td, int error, struct vmspace *oldvmspace); #endif From nobody Tue Apr 22 02:07:49 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhQcP6fp5z5tNS8; Tue, 22 Apr 2025 02:07:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhQcP4wvdz49MP; Tue, 22 Apr 2025 02:07:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745287669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K0oKUDOmmrFTjx3joqoVYXThXt7774GgTyVyzeBsYEA=; b=YLU40QGt13eamyVdU6WTw+dXkORs8W6IxDEaD6azm9N5tbmN3rhIInAwHNPeqvefaSHGvV s/TBpyHX/3h9OJho9SmW+gcWfK5gv5pGF7hSq9VZQMkrKa1Cc211apwzGzqvqJa3uL7vR1 LLNsdNpm9s5b9qSFPvuBEDu6+wLhBIYdvF/MWVYh6MjfZIvwcoahZubDi19eXcP6Anjvd1 7t2CfLaoNN9zcpcHeTDptca5aMouyG2KUi1tOGE8yna98kd/4OZOR8bCgW8IgUsTnMNWEX 2jZQ+RUOadplWIp54W9npAXWNFCOjANIdiBirqcTrUlzuO7EO4iILLMDHE6V5w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745287669; a=rsa-sha256; cv=none; b=xJ7MteOGLERmBR7ygoa0pUTlLIvDcs1KGxE7DkWJIdMec79IEguKDzFYvcIkLzsXR2R7M6 r7MpeNm8fdoAQhHEg31RmmEj8ysCRpT+ZHabllfK//jGcJFEDoEts/S75c8I3FFiry78kV ZXXQgd8URUSQPPlN5Z6PevjPPnRh3aARaGFzblAW7uATPAO1/qqIXMSg85uie7ZZelWOkZ mCSnp7h7/PjjtmWz9HYvVNFM2hjPekLOvjeLk7DBorhXw7tFw0B5FPZBfZXuQ87QmXUjXN b/hxHIS7dUvkz/7a4bPA9TjejfA8ATXtBsu8Y7Xp7zx0DM8W6pReRqeL5jkFwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745287669; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K0oKUDOmmrFTjx3joqoVYXThXt7774GgTyVyzeBsYEA=; b=LkwzxNnVfMz0wZ+YCIHsHmjeQ1eFXH/nbgCbB8F+37FVN3CkWsg9srbhyxI2YicIgOOXi+ uyRMtBfH+N1W735VOadJ3ruaL3Suc4oDYu2yyM8+cmmkcnzI4LRFmAfJ4yKkMgoW68rW79 Tpgp3xyg1ENjQFqUR/PxJEdbqO47ztPWbM/IbTsiV+tIjw23ZkS+1h3/JWSDyVbIVutk2b Xcz6M5FrlmOUbUo3F/9D6VLlym7MrYoUCs3jcO0O7mv7I1sm2CsCT5+cr0Snc/spU2UWLJ Rjk4LxDED2Ejufa2kk7W1oOVdV0PHTIBQPUnWHHBkKaxqWuIzQbXks3HlzrbPA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhQcP4Ttbz1Dbl; Tue, 22 Apr 2025 02:07: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 53M27nUU077812; Tue, 22 Apr 2025 02:07:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M27n0n077809; Tue, 22 Apr 2025 02:07:49 GMT (envelope-from git) Date: Tue, 22 Apr 2025 02:07:49 GMT Message-Id: <202504220207.53M27n0n077809@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 91489043435f - main - ipfw: Fix broken length checks on routing messages List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 91489043435f1f98a03d1cd5138a6ce37408e92f Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=91489043435f1f98a03d1cd5138a6ce37408e92f commit 91489043435f1f98a03d1cd5138a6ce37408e92f Author: John Baldwin AuthorDate: 2025-04-21 20:53:15 +0000 Commit: John Baldwin CommitDate: 2025-04-22 02:00:14 +0000 ipfw: Fix broken length checks on routing messages Subtracting unsigned and signed types of the same rank yields an unsigned value that is never less than 0. Rewrite the checks to use the pattern of 'if (msglen < )' instead of 'if (msglen - < 0)' to avoid the subtraction. To avoid adding lots of casts to appease -Wsign-compare, use a separate ssize_t variable for the return value of read(2) and convert msglen to size_t. While here, fix the first check against the size of the route message header which was inverted and would have rejected all valid messages if not for the unsigned vs signed bug causing all of the checks to be broken. sbin/ipfw/ipfw2.c: In function 'ipfw_rtsock_monitor': sbin/ipfw/ipfw2.c:6088:43: error: comparison of unsigned expression in '< 0' is always false [-Werror=type-limits] 6088 | if (sizeof(*hdr) - msglen < 0) | ^ Reported by: GCC -Wtype-limits Fixes: 3c76623ad553 ("ipfw: add 'internal monitor' subcommand to capture rtsock messages.") --- sbin/ipfw/ipfw2.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index a95e7b0318da..2addc0295f0f 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -6072,7 +6072,8 @@ ipfw_rtsock_monitor(const char *filter) struct sockaddr *sa; struct sockaddr_dl *sdl; ipfwlog_rtsock_hdr_v2 *loghdr; - ssize_t msglen; + ssize_t nread; + size_t msglen; int rtsock; rtsock = socket(PF_ROUTE, SOCK_RAW, AF_IPFWLOG); @@ -6080,12 +6081,13 @@ ipfw_rtsock_monitor(const char *filter) err(EX_UNAVAILABLE, "socket(AF_IPFWLOG)"); bp_alloc(&bp, 4096); for (;;) { - msglen = read(rtsock, msg, sizeof(msg)); - if (msglen < 0) { + nread = read(rtsock, msg, sizeof(msg)); + if (nread < 0) { warn("read()"); continue; } - if (sizeof(*hdr) - msglen < 0) + msglen = nread; + if (msglen < sizeof(*hdr)) continue; hdr = (struct rt_msghdr *)msg; @@ -6098,7 +6100,7 @@ ipfw_rtsock_monitor(const char *filter) msglen -= sizeof(*hdr); sdl = (struct sockaddr_dl *)(hdr + 1); - if (msglen - sizeof(*sdl) < 0 || msglen - SA_SIZE(sdl) < 0 || + if (msglen < sizeof(*sdl) || msglen < SA_SIZE(sdl) || sdl->sdl_family != AF_IPFWLOG || sdl->sdl_type != 2 /* version */ || sdl->sdl_alen != sizeof(*loghdr)) @@ -6112,7 +6114,7 @@ ipfw_rtsock_monitor(const char *filter) continue; sa = (struct sockaddr *)((char *)sdl + SA_SIZE(sdl)); - if (msglen - SA_SIZE(sa) < 0) + if (msglen < SA_SIZE(sa)) continue; msglen -= SA_SIZE(sa); @@ -6131,7 +6133,7 @@ ipfw_rtsock_monitor(const char *filter) bprint_sa(&bp, sa); sa = (struct sockaddr *)((char *)sa + SA_SIZE(sa)); - if (msglen - SA_SIZE(sa) < 0) + if (msglen < SA_SIZE(sa)) continue; msglen -= SA_SIZE(sa); @@ -6146,7 +6148,7 @@ ipfw_rtsock_monitor(const char *filter) sa = (struct sockaddr *)((char *)sa + SA_SIZE(sa)); if ((hdr->rtm_addrs & (1 << RTAX_GENMASK)) != 0 && - msglen - SA_SIZE(sa) >= 0) { + msglen >= SA_SIZE(sa)) { msglen -= SA_SIZE(sa); bprintf(&bp, ", nh "); bprint_sa(&bp, sa); From nobody Tue Apr 22 02:07:50 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhQcR1VCwz5tNHZ; Tue, 22 Apr 2025 02:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhQcR0Chwz49cN; Tue, 22 Apr 2025 02:07:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745287671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xuuT4fYmMNsueJCxj+Q07XHx7nN9SyTlln8v7CJQmaU=; b=sfkudipNZ7LzqdV7LE9MPk4Q1mykiNx9IKHgB1JsljpfozTaDIKAkm+Sbh5Rv8OfjRUZZp /2cE5ItOBJMHkIkW+dlidlpty6YjZOfoC8z+r3Pat2/zQzc2SfVRxfv6n1I0musYspaQCI /39etpPxzSNRIwT4JmJO0+KW/cqG4RWqAuj2nllryC1dsFPPi5ng2ROXCkcjXjUtPKFPLQ F/9arBY8/vo0qGBvOepPvjzmBQMbEIepmsVauyvg4rUeUB+WzGyUizjkz4TLVI9IGpmiA+ cb7sPIr85kUOk+BtMUDS4sFgAnVIJl4NMufALf82dSbR3MAnIP4OH1ZYJTCnEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745287671; a=rsa-sha256; cv=none; b=GXRF0qWbh1AHSvqfTVqg0GUcROfFwFwNBkp3c2rkB7DWAK6HeFY7pTrJ5vH2oQncU/Qi36 d4l0GYITHwsGBw+AeEDBzKh8L96rl81u6ePgULo1Q+CG3/eVwseo+2YapNXxr18Xy7Jn+E cQlZ0fh5HC3xGqoKiIUUYXcznP2f+RV//eu71iRMIYSYQW+RtczjsLLbS02dLqsvmQ+tnH o4DoHUwx28+5xBrbRNDoVXRkCbfrBYPzDbSa24Ygi3wgkcNjoYFeV4F3z/ts3G/zlflK6y zQHs+x0MppRRx+HKfLipZO9JqcsW+u8zdE90Lzf8SJPydLNMpaODnKaL6Fg98g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745287671; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xuuT4fYmMNsueJCxj+Q07XHx7nN9SyTlln8v7CJQmaU=; b=Maqbc/nWWZLiB5b6pRW3epPhdWn5bDo1eOi4BdWQd5u16fk6vsvYRMUhYbJnfn6t8BEupC uGCpnspwLA8JoXFQ83KJjlWk5Q8ByP2MoWszIFlwymXjBEN9kqIJS7ty6l+HAbbDPz+AXn e4pzreWOSRIlMDjkaUfHJxzaE6lh3FlJ9A9gESx2zujxd+RL8We3p0hqSl9Z41BrXsd9y7 fXEzf7xhdc4AmPMzZBNYCV+fix3/sSvvvNL3d0XGGohv9uBg1Q1Z4HNNeoaO+vMJ+XQfng m7b0X7m/FUl7XR4phtkOJftvmeaVmLA2hVQGZmWInI68rQ4HCloMTEjJpglHVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhQcQ5PJrz1DsG; Tue, 22 Apr 2025 02:07: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 53M27oJI077853; Tue, 22 Apr 2025 02:07:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M27okn077850; Tue, 22 Apr 2025 02:07:50 GMT (envelope-from git) Date: Tue, 22 Apr 2025 02:07:50 GMT Message-Id: <202504220207.53M27okn077850@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: a098111a28ed - main - secure: Add ssh-sk-client to all consumers of libssh List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a098111a28ed59e1ab1101ad09913f0235ebd28f Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a098111a28ed59e1ab1101ad09913f0235ebd28f commit a098111a28ed59e1ab1101ad09913f0235ebd28f Author: John Baldwin AuthorDate: 2025-04-22 02:05:28 +0000 Commit: John Baldwin CommitDate: 2025-04-22 02:05:28 +0000 secure: Add ssh-sk-client to all consumers of libssh These all failed to link with ld.bfd used by GCC due to Fssh_sshsk_sign being an unresolved symbol. Fixes: 65d8491719bb ("secure: Adapt Makefile to ssh-sk-client everywhere") --- secure/libexec/sftp-server/Makefile | 2 +- secure/usr.bin/scp/Makefile | 2 +- secure/usr.bin/sftp/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/secure/libexec/sftp-server/Makefile b/secure/libexec/sftp-server/Makefile index 0673e1e5613e..20f2d4639511 100644 --- a/secure/libexec/sftp-server/Makefile +++ b/secure/libexec/sftp-server/Makefile @@ -2,7 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= sftp-server -SRCS= sftp-common.c sftp-server.c sftp-server-main.c +SRCS= sftp-common.c sftp-server.c sftp-server-main.c $(SKSRCS) MAN= sftp-server.8 LIBADD= ssh diff --git a/secure/usr.bin/scp/Makefile b/secure/usr.bin/scp/Makefile index 8d38d815d3fb..ba9c1472936f 100644 --- a/secure/usr.bin/scp/Makefile +++ b/secure/usr.bin/scp/Makefile @@ -2,7 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= scp -SRCS= scp.c progressmeter.c $(SFTP_CLIENT_SRCS) +SRCS= scp.c progressmeter.c $(SFTP_CLIENT_SRCS) $(SKSRCS) PACKAGE= ssh LIBADD= ssh diff --git a/secure/usr.bin/sftp/Makefile b/secure/usr.bin/sftp/Makefile index cc13a86794c5..3f6fbeef695c 100644 --- a/secure/usr.bin/sftp/Makefile +++ b/secure/usr.bin/sftp/Makefile @@ -2,7 +2,7 @@ .include "${SRCTOP}/secure/ssh.mk" PROG= sftp -SRCS= sftp.c sftp-usergroup.c progressmeter.c $(SFTP_CLIENT_SRCS) +SRCS= sftp.c sftp-usergroup.c progressmeter.c $(SFTP_CLIENT_SRCS) $(SKSRCS) PACKAGE= ssh LIBADD= ssh edit From nobody Tue Apr 22 02:58:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhRkl4DGwz5tRJN; Tue, 22 Apr 2025 02:58:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhRkl2G3Qz3PWN; Tue, 22 Apr 2025 02:58:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745290703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5185KyF/3BkP3TJ3pZURSv6gQ0ymFyFP4m3UgYkBcAY=; b=cBNjzfPgREbVeRdRpjCfOpLzYP08QiPsWcUv9pvCdvZmOSsvP8vxRzjrDEFR993U12dHFj vDv9sjjuOcEuw2yAek2U+axfZX8QeyLAviOBKfKNdseb9JFs4Yd/xAmHc2SeqSQl0SEvM+ zXyEEzZwQDvcyutdWJtG6Cne9jJDb12aPPbkXASZu0PBLWGmiM/B5cEwCsKGGYB8+hU2DW G5NZ8EoLRC3nspU2JBxCFcdQaX8qT2icX7cQydHaEAVNPKNqED7E4bv2a5gUwcxgjtuISM fLnuHT8ZLgo97xGh3cfRcr/TZiMUD7aHUsmFhUcSYI2QtB70Bg1EgViKHvF6Qw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745290703; a=rsa-sha256; cv=none; b=Yy077kdMmpaTGJuQ1rR7d616rEL4aOuX+uwiNEq/32leVed8RKAPUFQ42w7bOhp5GTkyat HgD0lRsy7mA7tlHjZgUulqWXWNIG31YcmbJ4GLOxAm0S8JfFQgxRZUEKkEYNI2P57BZg62 G3WFNeuxq64cMHwj6HpOLcE6pysi8/T1tE7Hpq3BJtUsCubnl9KPQaLzkPaw05x0RmjnA6 jGsC0rJ1xOJd7KCUa/ae4sIWIWC66ID/0KYlTRG/AkIq9/jbVSu1JszYdNXvZ7LzwxZcf3 8TwrwoCIkwmXLV4JotBoKxirR/abCE4jqI974AjfwoUgwbuMfCSu4gMN0UPmMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745290703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5185KyF/3BkP3TJ3pZURSv6gQ0ymFyFP4m3UgYkBcAY=; b=MTWnEMK9aPJ23sqZH146DX6Epzy+D9ddL+6yEtT89AR8yEPG6Gd/V5qfQ1cFOFfkEbR28I Uc6tZYyF4XtBPsUG8yPgZehiz/j36s637Gy5Cz2rVjTQV9UtN6fwR8HQ2qZC+LqR/Jxf6y GMf5wO5cuYzlO5YREH4ntS8aQMJU7vZqvQlm4cWxQ4OSEoDlr4c4smxEZ3Hf8rO7UKaeoT 0t3FkM59V6PBa+7jW0qPIi+KiW9RnfRLOtRzjp8K7wKH4lmWdLqMB48gWjo2dsgLHBOJ6g MexN7PH2iW1Hig3VGnXmfAQT4OOMJt2JBxaRKYbr1GMKUa7fQLrKfOvffaAgdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhRkl1cGNz1GJF; Tue, 22 Apr 2025 02:58: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 53M2wNkk071145; Tue, 22 Apr 2025 02:58:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M2wNOM071142; Tue, 22 Apr 2025 02:58:23 GMT (envelope-from git) Date: Tue, 22 Apr 2025 02:58:23 GMT Message-Id: <202504220258.53M2wNOM071142@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: 4c8b9f40cda7 - main - pcib: Ignore power fault detected if a power controller is not present List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c8b9f40cda7dd6b2de547b288d712c85998ce11 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=4c8b9f40cda7dd6b2de547b288d712c85998ce11 commit 4c8b9f40cda7dd6b2de547b288d712c85998ce11 Author: John Baldwin AuthorDate: 2025-04-22 02:08:01 +0000 Commit: John Baldwin CommitDate: 2025-04-22 02:08:01 +0000 pcib: Ignore power fault detected if a power controller is not present At least some PCI-express bridges exposed by Intel Volume Management Devices report bogus power faults in their slot status register. As a workaround, ignore the power fault detected flag if the slot capability register does not indicate support for a power controller. While the PCI-e spec does not explicitly state that the PFD flag should always be zero if a power controller is not present, parts of the spec do seem to assume this. For example, the flag is included in the "Power Controller Registers" register group in 6.7.2.4, and the definition of the value for this flag seems to presume the presence of a power controller: If a Power Controller that supports power fault detection is implemented, this bit is Set when the Power Controller detects a power fault at this slot. Note that, depending on hardware capability, it is possible that a power fault can be detected at any time, independent of the Power Controller Control setting or the occupancy of the slot. If power fault detection is not supported, this bit must not be Set. PR: 285993 Reported by: Jim Long Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49949 --- sys/dev/pci/pci_pci.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c index 5e71a376604b..cdd717266026 100644 --- a/sys/dev/pci/pci_pci.c +++ b/sys/dev/pci/pci_pci.c @@ -930,7 +930,8 @@ pcib_hotplug_inserted(struct pcib_softc *sc) return (false); /* A power fault implicitly turns off power to the slot. */ - if (sc->pcie_slot_sta & PCIEM_SLOT_STA_PFD) + if (sc->pcie_slot_cap & PCIEM_SLOT_CAP_PCP && + sc->pcie_slot_sta & PCIEM_SLOT_STA_PFD) return (false); /* If the MRL is disengaged, the slot is powered off. */ From nobody Tue Apr 22 02:58:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhRkm5xpVz5tRR7; Tue, 22 Apr 2025 02:58:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhRkm2yrsz3PZ3; Tue, 22 Apr 2025 02:58:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745290704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVntE41RQG62va3eCarXvHcK56hZiCVfgsTbAFrYQTA=; b=wjtFmlsHvmeC5k24TMrQYNKT6PQM8BIYYtcVSMPlg4QRXk5oJF4kNqeAatONS1XifiKPnA EkgvqCzd9fM6/Qjyu8ymKmse+d39zQxB17FH2MVDAZzZD6rlUKG7C2OZkgAesFTvJCRkgB iaFRp5ZjwPYmM9Dcjq31ubjgXgZlAYdEkr5yOMdVxejenmsDqD3Ce3WSm2GG6nBE536/ua HJZhDiDh9DKESptdGLtIv5bXR9Eri9I69eK8PF5A+mKcXGL6hTL0sNNF/KWYi5so/gMuiA BBP9QWyQP08QgnpEC4yJqA5LdbWJU+9oh20WyH4ysh7ZspDi2G5gjxca40G4aQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745290704; a=rsa-sha256; cv=none; b=s+ntU3+LiadvJfIgnC/m421Qt6zl60Npv3WBRDJPmR2/4MMPXRX3r1vrQnlLNTkyUH26SY XJk0O9PN0/8u7hICYWLGM/k3209z0zEbFLDOM8R6lCkczQ1WGuiL5VSltJxWqwOqOHR1xv QMIHYeZJU32CPVYvH47UxCKCU8yYXQ3pIN1kuAbYLmSnwIpOZxcwpRqyd92LoBifCwxitT HZSoC/fXnr+58VACBxtyHPmQpsC+RMsrvPtqvuh4BCf2YaL3MLxNL3TEMnS94ZZkGkZZ1A BfXc1iEVZjvk5VAbINMo6Z0sUMjgcSm+TglqPB08KA8b5dxgdgNfeBJ9VQoZZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745290704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NVntE41RQG62va3eCarXvHcK56hZiCVfgsTbAFrYQTA=; b=xX4/rKqQLnjhelBioxq5b/PMqyv19kaSE/AEUilchWYR5My0SQVXRUn/1BFsZohbm46/KA JbDAppkq5zkQqWSu4JDYqlh/kHmefMBDf85Abx1M7U88ubVhFzkf3/A3BS/IDIcA9niDbF DAO2wBwro7CwCEHE+SGB78VQ9dY5PIe+Zae+e+lCDcLNloSzM7FXLMYiYbwW+rpk/Bb8tg jFfGozrlxPeQMBGSIUqjaGYkzuC/jAYD4ps3YK7ejI9MmzEoPd3PUr2DeV5StEAMXUqbsy qXQeUncsvTJONI0l0anh9dyYXvgogmBGUuAy6fCp0NZQlxhM8shcLufDbcLpcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhRkm2ZLpz1G8c; Tue, 22 Apr 2025 02:58: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 53M2wOkN071178; Tue, 22 Apr 2025 02:58:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M2wOGv071175; Tue, 22 Apr 2025 02:58:24 GMT (envelope-from git) Date: Tue, 22 Apr 2025 02:58:24 GMT Message-Id: <202504220258.53M2wOGv071175@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: John Baldwin Subject: git: ff45e4759a38 - main - pcib: Clear any pending slot status events during attach List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ff45e4759a38f44a0199b2948b7b1e987e7c71da Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ff45e4759a38f44a0199b2948b7b1e987e7c71da commit ff45e4759a38f44a0199b2948b7b1e987e7c71da Author: John Baldwin AuthorDate: 2025-04-22 02:08:17 +0000 Commit: John Baldwin CommitDate: 2025-04-22 02:08:17 +0000 pcib: Clear any pending slot status events during attach Any events left over from boot firmware, etc. are not meaningful so clear pending events during attach. If they are still pending they should remain asserted when the slot status register is re-read. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49950 --- sys/dev/pci/pci_pci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c index cdd717266026..40ed5db4480e 100644 --- a/sys/dev/pci/pci_pci.c +++ b/sys/dev/pci/pci_pci.c @@ -1298,6 +1298,7 @@ pcib_setup_hotplug(struct pcib_softc *sc) /* Clear any events previously pending. */ pcie_write_config(dev, PCIER_SLOT_STA, sc->pcie_slot_sta, 2); + sc->pcie_slot_sta = pcie_read_config(dev, PCIER_SLOT_STA, 2); /* Enable HotPlug events. */ mask = PCIEM_SLOT_CTL_DLLSCE | PCIEM_SLOT_CTL_HPIE | From nobody Tue Apr 22 09:07:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhbwF2Rgjz5tpVv; Tue, 22 Apr 2025 09:07:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhbwF07gVz4Nlk; Tue, 22 Apr 2025 09:07:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745312829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OP70fTvMMQVmJv4KJ5tgPUyR1C3NMOf0wMbI/luVSxk=; b=XsUrrL5GNAJV6YnxaqvJkF568nxVwuXX0hdFwCQdQzxhCn41hp/a2iDzqwLCSC8+SXE8Wm 9jKaPACu9H3werYQYGDFECbWK66kDxOmpwfS6is6ZGfme6PU5wAzNO+QMelxufbT4cq6kr 1g78Tl//tAtkLc5JiukMwq4gDS4pomFa+3EjoURX5tpdzu1NJ1/IAoHEj1KOqw0ysqDlMS wZTVtxxsLLdoM1wS7pm611/YHhztO6B3e2ATTTw8Bg3vvmVuHSzprCuLGf0JR/P6xDe3jH rOcFvzt4ObNMja0dUBmz8iU0jLClusOZ4ksfB7gi27klSVqvfMxR9DQ2Cv53Rg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745312829; a=rsa-sha256; cv=none; b=NZ7/M2ZEpXQHOT+nZNOFvNYQ+6i00yrahgoGTeGKD4qODr0ZOoaAG19WLp6ajOIcJeHqnD LynLcklfPqi11zniScsn5p585xKTYciyqRmwpQ9rqyFCMQfmnvy2ZUCK/ivDRrf01X7Hjk HsZRYdF4AnNqRcaEWdnfIea9WPqgnbMy1ttyx8v2HUfa0PjUH1xMh3qmJEzD3/hMJmJiCc +aYSFu6w6ESMHSyaHkPfmxtZR/E7RbMQe4SCzE57dCwqjKirPecM8WVkz5Xsq6hxtW1T9p AjnL6rYIImqmICrCmuvxonZ+Jtbld5KVuMwHavfdzYgdG14CPX/zBn6/dVERtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745312829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OP70fTvMMQVmJv4KJ5tgPUyR1C3NMOf0wMbI/luVSxk=; b=dIkp2GCFXxMlc5SarOOwCkww4EvbjYij4ayK5Ft0Y+E872F3UAackvjivZ4OFRVRKVuL8T INdMKKufOTa5tbBMRATY1hg0Zjk+atT6QTm7Ijky3/CNWsMWqnh9t5L8zq3UYu1cmLPu76 J/Y70abpUCC2m8AVahzdtwGf10CsF5SWlXnNVkDCjucqeRXHCwhHnOjKFqzoKd9IYcBBYe 3jCx9eXr7+MgQBjAXRhTGun2QfghtDulHEkSTUg+m3LSir1PdUhh0173im1rO68ZMjCJCE YTjBPm0ie2vkqRdDGoVPhUXfF9U8AulqoEoby5BCGQJaN9iOAA0Z+w/8SJ0JZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhbwD6rgGz1RVC; Tue, 22 Apr 2025 09:07: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 53M978fd065530; Tue, 22 Apr 2025 09:07:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M978VA065527; Tue, 22 Apr 2025 09:07:08 GMT (envelope-from git) Date: Tue, 22 Apr 2025 09:07:08 GMT Message-Id: <202504220907.53M978VA065527@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ruslan Bukin Subject: git: 81e2d24bc6ea - main - riscv: support for Cache-Block Operations (CBO). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: br X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 81e2d24bc6ea3edaa0338ea6020c2eb9f93de0ed Auto-Submitted: auto-generated The branch main has been updated by br: URL: https://cgit.FreeBSD.org/src/commit/?id=81e2d24bc6ea3edaa0338ea6020c2eb9f93de0ed commit 81e2d24bc6ea3edaa0338ea6020c2eb9f93de0ed Author: Ruslan Bukin AuthorDate: 2025-04-22 08:14:02 +0000 Commit: Ruslan Bukin CommitDate: 2025-04-22 09:03:45 +0000 riscv: support for Cache-Block Operations (CBO). CBO represents a subset of Cache-Management Operations (CMO) spec. While the CMO spec encompasses all operations on caches, the CBO subset operates on cache blocks only. Detect Zicbom, Zicboz and Zicbop extensions and provide cache invalidation handlers based on Zicbom instructions. Sponsored by: UKRI Differential Revision: https://reviews.freebsd.org/D49852 --- sys/conf/files.riscv | 1 + sys/riscv/include/cbo.h | 33 ++++++++++++++ sys/riscv/riscv/cbo.c | 104 +++++++++++++++++++++++++++++++++++++++++++++ sys/riscv/riscv/identcpu.c | 56 +++++++++++++++++++++++- 4 files changed, 192 insertions(+), 2 deletions(-) diff --git a/sys/conf/files.riscv b/sys/conf/files.riscv index 0d782239c89c..e77a15ce8dae 100644 --- a/sys/conf/files.riscv +++ b/sys/conf/files.riscv @@ -46,6 +46,7 @@ riscv/riscv/bus_space_asm.S standard riscv/riscv/busdma_bounce.c standard riscv/riscv/busdma_machdep.c standard riscv/riscv/cache.c standard +riscv/riscv/cbo.c standard riscv/riscv/clock.c standard riscv/riscv/copyinout.S standard riscv/riscv/cpufunc_asm.S standard diff --git a/sys/riscv/include/cbo.h b/sys/riscv/include/cbo.h new file mode 100644 index 000000000000..cdf10069ba66 --- /dev/null +++ b/sys/riscv/include/cbo.h @@ -0,0 +1,33 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 Ruslan Bukin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _RISCV_CBO_H_ +#define _RISCV_CBO_H_ + +void cbo_zicbom_setup_cache(int cbom_block_size); + +#endif /* _RISCV_CBO_H_ */ diff --git a/sys/riscv/riscv/cbo.c b/sys/riscv/riscv/cbo.c new file mode 100644 index 000000000000..9b8891c514af --- /dev/null +++ b/sys/riscv/riscv/cbo.c @@ -0,0 +1,104 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 Ruslan Bukin + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* Cache Block Operations. */ + +#include +#include + +#include + +static void +cbo_zicbom_cpu_dcache_wbinv_range(vm_offset_t va, vm_size_t len) +{ + vm_offset_t addr; + + /* + * A flush operation atomically performs a clean operation followed by + * an invalidate operation. + */ + + va &= ~(dcache_line_size - 1); + for (addr = va; addr < va + len; addr += dcache_line_size) + __asm __volatile(".option push; .option arch, +zicbom\n" + "cbo.flush (%0); .option pop\n" :: "r"(addr)); +} + +static void +cbo_zicbom_cpu_dcache_inv_range(vm_offset_t va, vm_size_t len) +{ + vm_offset_t addr; + + /* + * An invalidate operation makes data from store operations performed by + * a set of non-coherent agents visible to the set of coherent agents at + * a point common to both sets by deallocating all copies of a cache + * block from the set of coherent caches up to that point. + */ + + va &= ~(dcache_line_size - 1); + for (addr = va; addr < va + len; addr += dcache_line_size) + __asm __volatile(".option push; .option arch, +zicbom\n" + "cbo.inval (%0); .option pop\n" :: "r"(addr)); +} + +static void +cbo_zicbom_cpu_dcache_wb_range(vm_offset_t va, vm_size_t len) +{ + vm_offset_t addr; + + /* + * A clean operation makes data from store operations performed by the + * set of coherent agents visible to a set of non-coherent agents at a + * point common to both sets by performing a write transfer of a copy of + * a cache block to that point provided a coherent agent performed a + * store operation that modified the data in the cache block since the + * previous invalidate, clean, or flush operation on the cache block. + */ + + va &= ~(dcache_line_size - 1); + for (addr = va; addr < va + len; addr += dcache_line_size) + __asm __volatile(".option push; .option arch, +zicbom\n" + "cbo.clean (%0); .option pop\n" :: "r"(addr)); +} + +void +cbo_zicbom_setup_cache(int cbom_block_size) +{ + struct riscv_cache_ops zicbom_ops; + + if (cbom_block_size <= 0 || !powerof2(cbom_block_size)) { + printf("Zicbom: could not initialise (invalid cache line %d)\n", + cbom_block_size); + return; + } + + zicbom_ops.dcache_wbinv_range = cbo_zicbom_cpu_dcache_wbinv_range; + zicbom_ops.dcache_inv_range = cbo_zicbom_cpu_dcache_inv_range; + zicbom_ops.dcache_wb_range = cbo_zicbom_cpu_dcache_wb_range; + riscv_cache_install_hooks(&zicbom_ops, cbom_block_size); +} diff --git a/sys/riscv/riscv/identcpu.c b/sys/riscv/riscv/identcpu.c index 54e008122eab..c76732b2ef46 100644 --- a/sys/riscv/riscv/identcpu.c +++ b/sys/riscv/riscv/identcpu.c @@ -53,6 +53,7 @@ #include #include #include +#include #ifdef FDT #include @@ -78,6 +79,11 @@ bool __read_frequently has_sstc; bool __read_frequently has_sscofpmf; bool has_svpbmt; +/* Z-extensions support. */ +bool has_zicbom; +bool has_zicboz; +bool has_zicbop; + struct cpu_desc { const char *cpu_mvendor_name; const char *cpu_march_name; @@ -89,6 +95,12 @@ struct cpu_desc { #define SV_SVPBMT (1 << 2) #define SV_SVINVAL (1 << 3) #define SV_SSCOFPMF (1 << 4) + u_int z_extensions; /* Multi-letter extensions. */ +#define Z_ZICBOM (1 << 0) +#define Z_ZICBOZ (1 << 1) +#define Z_ZICBOP (1 << 2) + int cbom_block_size; + int cboz_block_size; }; struct cpu_desc cpu_desc[MAXCPU]; @@ -196,11 +208,24 @@ parse_ext_x(struct cpu_desc *desc __unused, char *isa, int idx, int len) static __inline int parse_ext_z(struct cpu_desc *desc __unused, char *isa, int idx, int len) { +#define CHECK_Z_EXT(str, flag) \ + do { \ + if (strncmp(&isa[idx], (str), \ + MIN(strlen(str), len - idx)) == 0) { \ + desc->z_extensions |= flag; \ + return (idx + strlen(str)); \ + } \ + } while (0) + + /* Check for known/supported extensions. */ + CHECK_Z_EXT("zicbom", Z_ZICBOM); + CHECK_Z_EXT("zicboz", Z_ZICBOZ); + CHECK_Z_EXT("zicbop", Z_ZICBOP); + +#undef CHECK_Z_EXT /* * Proceed to the next multi-letter extension or the end of the * string. - * - * TODO: parse some of these. */ while (isa[idx] != '_' && idx < len) { idx++; @@ -321,6 +346,22 @@ parse_mmu_fdt(struct cpu_desc *desc, phandle_t node) } } +static void +parse_cbo_fdt(struct cpu_desc *desc, phandle_t node) +{ + int error; + + error = OF_getencprop(node, "riscv,cbom-block-size", + &desc->cbom_block_size, sizeof(desc->cbom_block_size)); + if (error == -1) + desc->cbom_block_size = 0; + + error = OF_getencprop(node, "riscv,cboz-block-size", + &desc->cboz_block_size, sizeof(desc->cboz_block_size)); + if (error == -1) + desc->cboz_block_size = 0; +} + static void identify_cpu_features_fdt(u_int cpu, struct cpu_desc *desc) { @@ -372,6 +413,9 @@ identify_cpu_features_fdt(u_int cpu, struct cpu_desc *desc) /* Check MMU features. */ parse_mmu_fdt(desc, node); + /* Cache-block operations (CBO). */ + parse_cbo_fdt(desc, node); + /* We are done. */ break; } @@ -422,6 +466,11 @@ update_global_capabilities(u_int cpu, struct cpu_desc *desc) UPDATE_CAP(has_sscofpmf, (desc->smode_extensions & SV_SSCOFPMF) != 0); UPDATE_CAP(has_svpbmt, (desc->smode_extensions & SV_SVPBMT) != 0); + /* Z extension support. */ + UPDATE_CAP(has_zicbom, (desc->z_extensions & Z_ZICBOM) != 0); + UPDATE_CAP(has_zicboz, (desc->z_extensions & Z_ZICBOZ) != 0); + UPDATE_CAP(has_zicbop, (desc->z_extensions & Z_ZICBOP) != 0); + #undef UPDATE_CAP } @@ -506,6 +555,9 @@ identify_cpu(u_int cpu) update_global_capabilities(cpu, desc); handle_cpu_quirks(cpu, desc); + + if (has_zicbom && cpu == 0) + cbo_zicbom_setup_cache(desc->cbom_block_size); } void From nobody Tue Apr 22 09:37:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhcZk3HgPz5tqSY; Tue, 22 Apr 2025 09:37: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhcZk2Rzzz3M3x; Tue, 22 Apr 2025 09:37:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745314622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JShbrIRnSs0d8ODJ9urjSrqE2C9phIicm+/erIkyLj4=; b=I6p0ueR6LXuhS0jz4K5qrYxwut5FgLQvos1NKKByTDdMBcXfd2Tx3k/1kdqjtIEbXJMDeZ vE0a5jE7gtKWInMkLqBljuG/hsVcsiZvpWLcv37iEilIO80K7ZTabvb4CGxtWx0FkBdweC h0yPqfnzs+tTeLrfollIkh9XuHChomPrXNQvJ2QhzWgRrFieZ3P7eemSecHbjb0pURt6PW l2LEj6HBwauD5w6wbb0nR9rYnpkEd4WJ/FIksCL2SHR8xPFQkaIlt2QVVbvLZkKNZ1C33b 1+GFKC82XDNgptpi6lYcg8TgkS/cU2MOii8AjYfeOp/FI0r4aBn3iLolhj2eIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745314622; a=rsa-sha256; cv=none; b=IUiLuldUS4XWCtWBwFKY8+/H0snwZiZABuJciz0b5VgPodBBvWnolDYVrZUiu47t9RME/3 ZgTyb0CaI0eIz5hNdKtg8Ml24I3+hwNqasvz3M6vKlsEQpkYY0vSQQeHTYST+gSQ0MxVld nz3oF7fzKLeqDLsC7TcAhYrV+JOYxBQolfozBtLxNU3byN3Vuo+Tb4kac9v7QUl+UXJB8k 48n8/rWtxW6FyIWjbmcF1RTTqfFi0UXohVmdiK9TX/7iihog/lJy9K4aLfk/dhTWZgh9Pn 6rfbn/4zZy/m9mxXiHPV92TjiEY5l6XImDlyMaYytDV0JOxbplsnxekSHpvbcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745314622; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JShbrIRnSs0d8ODJ9urjSrqE2C9phIicm+/erIkyLj4=; b=IOo4ama1uqnqlyB3Qt76MOCcKHfNppsCIVIfmEUBZC5aCjaE0yhBOT4f5RDtYHLPQLtGve 72QHUWkFH2KjKuwkttSPZ0JEom4UF3tRmOdwmsfl/gmAxQcr4R5BQz/cx2yLo9h+02fmdA cFUkO21EMjCHi6vmnOTqhcIRiLxYqxYo/MmTC6YYP0tFxkX2c+FYVI0a+9k3gxb18T6o/f +znOUyGvcscRgxowUVy3F5iKCwboSbFPUpqx1KHy3oCaMq3emq5c51aTY7iGsXFd8c3cFe Lhsn7COYhovgWQf0G0eu4DiBsGcaDMtYVdl+jMxNaKHE6sw/h8y5TAkIodg9Ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhcZk1nYyz1ST8; Tue, 22 Apr 2025 09:37: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 53M9b2RX021283; Tue, 22 Apr 2025 09:37:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53M9b2J0021280; Tue, 22 Apr 2025 09:37:02 GMT (envelope-from git) Date: Tue, 22 Apr 2025 09:37:02 GMT Message-Id: <202504220937.53M9b2J0021280@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ruslan Bukin Subject: git: a1a067b7131e - main - axidma(4): add local data cache flushes. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: br X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1a067b7131ef9122800f16dbc154dd390dc74a6 Auto-Submitted: auto-generated The branch main has been updated by br: URL: https://cgit.FreeBSD.org/src/commit/?id=a1a067b7131ef9122800f16dbc154dd390dc74a6 commit a1a067b7131ef9122800f16dbc154dd390dc74a6 Author: Ruslan Bukin AuthorDate: 2025-04-22 09:28:55 +0000 Commit: Ruslan Bukin CommitDate: 2025-04-22 09:28:55 +0000 axidma(4): add local data cache flushes. As axidma(4) does not support busdma(9) then add local cache flushes, and map descriptors using default memory attribute (cacheable type). This fixes operation on Codasip X730. Sponsored by: UKRI --- sys/dev/xilinx/axidma.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/dev/xilinx/axidma.c b/sys/dev/xilinx/axidma.c index 5b92f90df683..77a46c712980 100644 --- a/sys/dev/xilinx/axidma.c +++ b/sys/dev/xilinx/axidma.c @@ -169,6 +169,9 @@ axidma_intr(struct axidma_softc *sc, while (chan->idx_tail != chan->idx_head) { desc = chan->descs[chan->idx_tail]; + cpu_dcache_wbinv_range((vm_offset_t)desc, + sizeof(struct axidma_desc)); + if ((desc->status & BD_STATUS_CMPLT) == 0) break; @@ -357,7 +360,8 @@ axidma_desc_alloc(struct axidma_softc *sc, struct xdma_channel *xchan, return (-1); } chan->mem_vaddr = kva_alloc(chan->mem_size); - pmap_kenter_device(chan->mem_vaddr, chan->mem_size, chan->mem_paddr); + pmap_kenter(chan->mem_vaddr, chan->mem_size, chan->mem_paddr, + VM_MEMATTR_DEFAULT); device_printf(sc->dev, "Allocated chunk %lx %lu\n", chan->mem_paddr, chan->mem_size); @@ -493,6 +497,9 @@ axidma_channel_submit_sg(device_t dev, struct xdma_channel *xchan, if (sg[i].last == 1) desc->control |= BD_CONTROL_TXEOF; + cpu_dcache_wbinv_range((vm_offset_t)desc, + sizeof(struct axidma_desc)); + tmp = chan->idx_head; atomic_add_int(&chan->descs_used_count, 1); From nobody Tue Apr 22 15:59:40 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zhn4D3rzqz5spbj; Tue, 22 Apr 2025 15:59:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhn4D26Npz3hcK; Tue, 22 Apr 2025 15:59:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745337580; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z7oTwjpR/7FWtfwNNXw+Xn3ebSF3dowFKadfHD40Y2s=; b=pAj8N552yMfFwmpO8RR1EvOJ6+snAL8jjESqCXACtL5VwMOGjWEkN0HXSwfCtMUboxAu2y uyAK3Djrke3qJzWmGNJzQgSB6QVXFBfBZQa7gUEaL2Vw+v5cKruE6X6LRJcHmHvgd/zEuP wpJQcLpTQnDMGRKqJaaiuQtB8z0Q8YejseSLo2NtK04zP0jPKDnN70DBhDOnPcMG7WmaC/ R9wz9aA/Pfs224ijMpC2Z3Pe9sgw8TJY8DOoUvosXgxap8m7CihJvXH7ezqpJkVWcMXUxX nGIuXptvlKm1QwzdUBgWSsT1srHCBm/RJ76gPcGAAhDmY+CPPneysoI3/O0t8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745337580; a=rsa-sha256; cv=none; b=uYk+ZaLmoFaZTWRqfFPoGQNXkJaIneeqf5TFcFhcnx4YIrKBEAG/rgzHDlHyxWIZQgC5m/ hrZXm/ttEmVKy0PXZ+YyWfheTWjm8g0BRK+pbXcGMHoRsROOkPpJ8lpGZYwWid5F1fDlTF L7gtWjXTn6V1z7so9JknrbuAowaCNMEr/94cB8lSdrSOqoxKiCaidOVQFgNdzsmPz+l1jd h0wAdYayEk9T5FE+w2OaWiiTVtgDenwJ7UdbzbKSg0EjoXziJmwWkRqyf1xTS1+TOgFykx LS+M2LWraaY+zRIFyqQ0t0rqKLGtvMNn1JWxmXhtoHhZwnOtgNra8C66iouv4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745337580; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z7oTwjpR/7FWtfwNNXw+Xn3ebSF3dowFKadfHD40Y2s=; b=cva9Im1zOEiqIGS6jQZRpgF26Vc9ubep+ummVHMF+1KMG+Ly7DprclC6PmlZccrWd33mes 7yUduqswMGpfc85M2C0KMbFSF1YJUtLFWFx+UwMfffBiDNFOSqF7vNF0iRrUP1MgTuCk1C veB1swlPEAhh1OJz4aLyBWtcoCUJc4iJr0GLnK9tDlc2CmoM5tUKU+9MiUkg8C0Wec9yWj blq6hIkN7QYE5ucNf+JN96mRxmk44aSDuW1EZrz/ER2CDMy+c6T8O//1IDtpv0A4cTZ0+k /Jy2zchax2/Ms5g9ZDCHucPIabBMIT6cIAB6GM4jzTRfhKDD78mgWCbCcKfgTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zhn4D1bhGz9Kn; Tue, 22 Apr 2025 15:59: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 53MFxeNo031706; Tue, 22 Apr 2025 15:59:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MFxeY7031703; Tue, 22 Apr 2025 15:59:40 GMT (envelope-from git) Date: Tue, 22 Apr 2025 15:59:40 GMT Message-Id: <202504221559.53MFxeY7031703@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: 1000cc4a0d39 - main - so_splice: Disallow splicing with KTLS-enabled sockets List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1000cc4a0d39faeb3e681bb167ed38f164c56604 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1000cc4a0d39faeb3e681bb167ed38f164c56604 commit 1000cc4a0d39faeb3e681bb167ed38f164c56604 Author: Mark Johnston AuthorDate: 2025-04-22 14:53:34 +0000 Commit: Mark Johnston CommitDate: 2025-04-22 14:53:34 +0000 so_splice: Disallow splicing with KTLS-enabled sockets Suppose the sink socket in a splice has KTLS enabled. When data is transmitted from the source socket, sosend_generic_locked() receives an mbuf rather than a UIO as it would if userspace were transferring data. In this case, ktls_frame() expects the mbuf to be unmapped, but in general this won't be the case. Simply disallow the combination for now. Modify so_unsplice() to handle dismantling a partially initialized splice, in order to simplify error handling in so_splice(). Make sure that one can't enable KTLS on a spliced socket, or more specifically, that one can't enable RXTLS on the source side of a splice, or TXTLS on the sink side of a splice. Reported by: syzbot+9cc248c4b0ca9b931ab4@syzkaller.appspotmail.com Reviewed by: gallatin MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49920 --- sys/kern/uipc_ktls.c | 14 +++++++++++--- sys/kern/uipc_socket.c | 42 ++++++++++++++++++++++++++---------------- 2 files changed, 37 insertions(+), 19 deletions(-) diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c index 6815667594a4..5e9dd254debd 100644 --- a/sys/kern/uipc_ktls.c +++ b/sys/kern/uipc_ktls.c @@ -1332,7 +1332,11 @@ ktls_enable_rx(struct socket *so, struct tls_enable *en) /* Mark the socket as using TLS offload. */ SOCK_RECVBUF_LOCK(so); - if (__predict_false(so->so_rcv.sb_tls_info != NULL)) { + if (__predict_false(so->so_rcv.sb_tls_info != NULL)) + error = EALREADY; + else if ((so->so_rcv.sb_flags & SB_SPLICED) != 0) + error = EINVAL; + if (error != 0) { SOCK_RECVBUF_UNLOCK(so); SOCK_IO_RECV_UNLOCK(so); ktls_free(tls); @@ -1432,12 +1436,16 @@ ktls_enable_tx(struct socket *so, struct tls_enable *en) inp = so->so_pcb; INP_WLOCK(inp); SOCK_SENDBUF_LOCK(so); - if (__predict_false(so->so_snd.sb_tls_info != NULL)) { + if (__predict_false(so->so_snd.sb_tls_info != NULL)) + error = EALREADY; + else if ((so->so_snd.sb_flags & SB_SPLICED) != 0) + error = EINVAL; + if (error != 0) { SOCK_SENDBUF_UNLOCK(so); INP_WUNLOCK(inp); SOCK_IO_SEND_UNLOCK(so); ktls_free(tls); - return (EALREADY); + return (error); } so->so_snd.sb_tls_seqno = be64dec(en->rec_seq); so->so_snd.sb_tls_info = tls; diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 291a832189e5..10f81a959147 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -1699,10 +1699,16 @@ so_splice(struct socket *so, struct socket *so2, struct splice *splice) uma_zfree(splice_zone, sp); return (error); } - soref(so); - so->so_splice = sp; SOCK_RECVBUF_LOCK(so); + if (so->so_rcv.sb_tls_info != NULL) { + SOCK_RECVBUF_UNLOCK(so); + SOCK_UNLOCK(so); + uma_zfree(splice_zone, sp); + return (EINVAL); + } so->so_rcv.sb_flags |= SB_SPLICED; + so->so_splice = sp; + soref(so); SOCK_RECVBUF_UNLOCK(so); SOCK_UNLOCK(so); @@ -1716,20 +1722,19 @@ so_splice(struct socket *so, struct socket *so2, struct splice *splice) error = EBUSY; if (error != 0) { SOCK_UNLOCK(so2); - SOCK_LOCK(so); - so->so_splice = NULL; - SOCK_RECVBUF_LOCK(so); - so->so_rcv.sb_flags &= ~SB_SPLICED; - SOCK_RECVBUF_UNLOCK(so); - SOCK_UNLOCK(so); - sorele(so); - uma_zfree(splice_zone, sp); + so_unsplice(so, false); return (error); } - soref(so2); - so2->so_splice_back = sp; SOCK_SENDBUF_LOCK(so2); + if (so->so_snd.sb_tls_info != NULL) { + SOCK_SENDBUF_UNLOCK(so2); + SOCK_UNLOCK(so2); + so_unsplice(so, false); + return (EINVAL); + } so2->so_snd.sb_flags |= SB_SPLICED; + so2->so_splice_back = sp; + soref(so2); mtx_lock(&sp->mtx); SOCK_SENDBUF_UNLOCK(so2); SOCK_UNLOCK(so2); @@ -1754,7 +1759,7 @@ so_unsplice(struct socket *so, bool timeout) { struct socket *so2; struct so_splice *sp; - bool drain; + bool drain, so2rele; /* * First unset SB_SPLICED and hide the splice structure so that @@ -1793,11 +1798,14 @@ so_unsplice(struct socket *so, bool timeout) SOCK_LOCK(so2); KASSERT(!SOLISTENING(so2), ("%s: so2 is listening", __func__)); SOCK_SENDBUF_LOCK(so2); - KASSERT((so2->so_snd.sb_flags & SB_SPLICED) != 0, + KASSERT(sp->state == SPLICE_INIT || + (so2->so_snd.sb_flags & SB_SPLICED) != 0, ("%s: so2 is not spliced", __func__)); - KASSERT(so2->so_splice_back == sp, + KASSERT(sp->state == SPLICE_INIT || + so2->so_splice_back == sp, ("%s: so_splice_back != sp", __func__)); so2->so_snd.sb_flags &= ~SB_SPLICED; + so2rele = so2->so_splice_back != NULL; so2->so_splice_back = NULL; SOCK_SENDBUF_UNLOCK(so2); SOCK_UNLOCK(so2); @@ -1815,6 +1823,7 @@ so_unsplice(struct socket *so, bool timeout) while (sp->state == SPLICE_CLOSING) msleep(sp, &sp->mtx, PSOCK, "unsplice", 0); break; + case SPLICE_INIT: case SPLICE_IDLE: case SPLICE_EXCEPTION: sp->state = SPLICE_CLOSED; @@ -1840,7 +1849,8 @@ so_unsplice(struct socket *so, bool timeout) CURVNET_SET(so->so_vnet); sorele(so); sowwakeup(so2); - sorele(so2); + if (so2rele) + sorele(so2); CURVNET_RESTORE(); so_splice_free(sp); return (0); From nobody Tue Apr 22 15:59:41 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zhn4F4JbXz5sq4H; Tue, 22 Apr 2025 15:59:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhn4F2x6wz3hcM; Tue, 22 Apr 2025 15:59:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745337581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4IGe8cyD4eQGnXWuRmQBYSR2ZGapgZFtnQljRtPFNNw=; b=AMnWouy2s4eFc2xK2Rq5Nh16zUNftG9K7TSXxNO2ycD4RXOpkFhFVfEu5HkpPCPiikdJQA 7VIGjncJxhsb3kjvFeGQXdQkn0qeHf+VrEPFEJXDj6i0i/hwFsz+4icm7uKgMlrJRoyNsu XkXQQywakNIy07c0MBP0ItTl2wL/zKjxPSVNkhE5M5viyUaK3etSisK1J1j2XhtqmPvtBE 7BP9lR72gMpWcyp42ARoNgWwsIMAqm8i6g/KOri9O5FKFbyLllWmWmWi4MCikUCSP7m9yo fPax0zYPeboa5jL1thhCmtCTc/RELcKL0v/GJJF71x4Fr3yXDOn0FQ6P+qYgGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745337581; a=rsa-sha256; cv=none; b=KFN1RcDUgppNwlCMK9TC24GgmH5HIbK9t1yE8bvFqMYrKI96iyE9WYm5L/peK7k/BCiSgB AUiZlcdv9X35Rv2Vr543aANxJr33Jjb0cS8yxVQP5Po0aTH/LAsPR56FgIj2On1gqUhfS0 3jti8sQBIi+HIoRfLrqLXkPyBFSolw9SHsNiCZpNnCpjQUsWGsLSCppY0ydlzdY3rRJhkD n8NU0P9SfpddjHtiTmeQEfdSHE1d1FPp/0btkJzUuxIRYX0iXzA1xGYPtYC6VviM4FJHzl b7XPrl8guzKhfPuA+zr+V8FHh4TqSEyubg5UkTeSdVW/DQKxaxRI0Q9lulXVBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745337581; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4IGe8cyD4eQGnXWuRmQBYSR2ZGapgZFtnQljRtPFNNw=; b=uGVevSf0WQ9kgGSt1dpR+VmeFvSusfTofScKZpcoGj1/g0kjhCFwpR7cmXRRMvQ1XehQSS SJFZdj2vm030UpQYkgy7OE9rG5T/fO+yyV7JsRS0TV0Jfd/eRj85zkQmHjuh0TjcgnxPgB jQu/KlZcHYVdg/3zRIBE4TPnmcD+EeISdRGx72tpDaQtkguZcjSyhkeWSsp0P3fu4eADFe Btmf+xTfg0c8ByNSxgizmfW7IbK9n221i3YsVE58KxO1+aq9aMwioxdHt1wKDld9X78Ius y/eSQHsP/mEfdnodiZND6Fz0UA8lIiMFUy12ftD3+apdH215uGVKXH6A7Bqm1Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zhn4F2X2wz9YG; Tue, 22 Apr 2025 15:59: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 53MFxf5n031740; Tue, 22 Apr 2025 15:59:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MFxfvb031737; Tue, 22 Apr 2025 15:59:41 GMT (envelope-from git) Date: Tue, 22 Apr 2025 15:59:41 GMT Message-Id: <202504221559.53MFxfvb031737@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: b7a61e09e4ad - main - netinet6: Do not forward or send ICMPv6 messages to the unspec address List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b7a61e09e4ad5fda44b7f4b6fee14f1b53996b41 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=b7a61e09e4ad5fda44b7f4b6fee14f1b53996b41 commit b7a61e09e4ad5fda44b7f4b6fee14f1b53996b41 Author: Mark Johnston AuthorDate: 2025-04-22 14:54:37 +0000 Commit: Mark Johnston CommitDate: 2025-04-22 14:54:37 +0000 netinet6: Do not forward or send ICMPv6 messages to the unspec address As in f7174eb2b4c4 ("netinet: Do not forward or ICMP response to INADDR_ANY"), the IPv6 stack should avoid sending packets to the unspecified address. In particular: - Make sure that we do not forward received packets to the unspecified address; the check in ip6_input() catches this in the common case, but after commit 40faf87894ff it's possible for a pfil hook to bypass this check and pass the packet to ip6_forward() using the PACKET_TAG_IPFORWARD tag. - Make sure that we do not reflect packets back to the unspecified address; RFC 4443 section 2.4 states that we must not generate error messages in response to packets from the unspecified address. Reviewed by: zlei, glebius Reported by: Franco Fichtner MFC after: 1 month Sponsored by: Klara, Inc. Sponsored by: OPNsense Differential Revision: https://reviews.freebsd.org/D49339 --- sys/netinet6/icmp6.c | 6 ++++++ sys/netinet6/ip6_forward.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 3740a3eaec0d..764e57ef9b76 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2087,6 +2087,12 @@ icmp6_reflect(struct mbuf *m, size_t off) hlim = 0; srcp = NULL; + if (__predict_false(IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src))) { + nd6log((LOG_DEBUG, + "icmp6_reflect: source address is unspecified\n")); + goto bad; + } + /* * If the incoming packet was addressed directly to us (i.e. unicast), * use dst as the src for the reply. diff --git a/sys/netinet6/ip6_forward.c b/sys/netinet6/ip6_forward.c index 44a349d1750f..ad8c95c9363c 100644 --- a/sys/netinet6/ip6_forward.c +++ b/sys/netinet6/ip6_forward.c @@ -109,7 +109,8 @@ ip6_forward(struct mbuf *m, int srcrt) */ if ((m->m_flags & (M_BCAST|M_MCAST)) != 0 || IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst) || - IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src)) { + IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src) || + IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_dst)) { IP6STAT_INC(ip6s_cantforward); /* XXX in6_ifstat_inc(rt->rt_ifp, ifs6_in_discard) */ if (V_ip6_log_cannot_forward && ip6_log_ratelimit()) { From nobody Tue Apr 22 16:07:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhnDt1C6sz5sqZv; Tue, 22 Apr 2025 16:07:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhnDt0YgCz3lYL; Tue, 22 Apr 2025 16:07:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745338030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IgGYOqRcdvNy85ssN2ZPrHi+rI8Z39k1VBM/lH3BONA=; b=FOGh9HwgRgtgVBg1a/16CPZiyOtxCTZEvaAFW7rDEt28HrGZ0oOw/kqxmH/vGJ5Y0lFRyd aaD3zaCpTcmZchQJqpT9NDCe/zaxY6hB9SmV3OIJF8oIgy+XPj89oyvcF99BNwwTFLRcj+ pEr34IQnqtGTS85H26DKKwCBXgI/UrV2uc7xiJPeSjG2wtkQVHekHYDuifJjfOaCl6NEZA Z5hRYIFsxkLXt2Nnpzh71eZU3rp+ClDf8fQscW+Evm6NbM2krvCvxHSaR74+tOCJkNXFR3 /QN4eEbpTfQrygnisL+B5k2+eMk9hd3dzkBM5z+s1/wcUCQ4ZrTlecYdoOxx7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745338030; a=rsa-sha256; cv=none; b=sC0t+IeRIATobIbpM8o98FIsYUKLjo2HdQBg1MYnhvK+JSfuT0UnyBGWAzZ22VVLyjCbvN KDHXDs5zXTbP5/UKVtZEm3WR2Lio+bmaYR27i0Sw2IiDLIMWnX1g5RjNneVNi93hp46bhp hxaf2g5von8LJB6/TetTLQVEaL+LVLM/8xnA8B6efIKYAtO85dY9qG62Dfe8BBn+LrK5Ep pLPTcsV9FMaKjdc932RkbmCzbmh4GqJNOlfHnhpy/Q6LL9O4XaFHYOzJrRuABCBRQJx0QA pjnb/wRlTEDa3HAL+yzSmFrPah62M/cRLcPZ6QR9qGP7W2llIN4T59fsaUmtHA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745338030; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IgGYOqRcdvNy85ssN2ZPrHi+rI8Z39k1VBM/lH3BONA=; b=cJccFpN3y/HGe6aF8RiH3VtU9ROjOqn9TmnzTzXfVPCj2y81R300J9XCr4oLiOMO4nkgm+ JXNVMfvS0zIwg4aIr5jWForWsHTdTVF1ZndKyaQc6/P2XJoBIxfDNQZvaUR+u8ldlBWW0V xfqQN+mKCjGhRWuaKQpM0maILqpjPkByywfOrD/afd6yCIvQSjVn9l4KDPHA0u6iaRLz4+ AxNDNS8GD/0cXrJg4muJsUVuZg2Iw9A3A9rISBEdH9kEM3HXGZPiLd+ZdaP6C/pvjsuMEj BYMgFLldyo43Qu+QQG4iUk+HiVfv/5dbAK/v9Mob0f/PtFywsH2KrXXUieSohw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhnDt00Jnz9Z3; Tue, 22 Apr 2025 16:07: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 53MG79Ek050336; Tue, 22 Apr 2025 16:07:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MG7925050333; Tue, 22 Apr 2025 16:07:09 GMT (envelope-from git) Date: Tue, 22 Apr 2025 16:07:09 GMT Message-Id: <202504221607.53MG7925050333@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 12367f1429f1 - main - riscv: add Sifive p550/p650 identification List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 12367f1429f1395724c9ae702dfa64118b94581b Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=12367f1429f1395724c9ae702dfa64118b94581b commit 12367f1429f1395724c9ae702dfa64118b94581b Author: Meng Zhuo AuthorDate: 2025-04-22 06:35:56 +0000 Commit: Warner Losh CommitDate: 2025-04-22 16:07:09 +0000 riscv: add Sifive p550/p650 identification Reviewed-by: Warner Losh Pull-Request: https://github.com/freebsd/freebsd-src/pull/1674 --- sys/riscv/include/cpu.h | 1 + sys/riscv/riscv/identcpu.c | 1 + 2 files changed, 2 insertions(+) diff --git a/sys/riscv/include/cpu.h b/sys/riscv/include/cpu.h index a204b21a4a74..13a9f1ca0603 100644 --- a/sys/riscv/include/cpu.h +++ b/sys/riscv/include/cpu.h @@ -80,6 +80,7 @@ /* SiFive marchid values */ #define MARCHID_SIFIVE_U7 MARCHID_COMMERCIAL(7) +#define MARCHID_SIFIVE_P5 MARCHID_COMMERCIAL(8) /* * MMU virtual-addressing modes. Support for each level implies the previous, diff --git a/sys/riscv/riscv/identcpu.c b/sys/riscv/riscv/identcpu.c index c76732b2ef46..af71cc2f89f0 100644 --- a/sys/riscv/riscv/identcpu.c +++ b/sys/riscv/riscv/identcpu.c @@ -126,6 +126,7 @@ static const struct marchid_entry global_marchids[] = { static const struct marchid_entry sifive_marchids[] = { { MARCHID_SIFIVE_U7, "6/7/P200/X200-Series Processor" }, + { MARCHID_SIFIVE_P5, "P550/P650 Processor" }, MARCHID_END }; From nobody Tue Apr 22 16:07:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhnDv3jFtz5sqNS; Tue, 22 Apr 2025 16:07:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhnDv1YCZz3lWG; Tue, 22 Apr 2025 16:07:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745338031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ys8Vv1Q3Usblrhzc+kpLHrLzCiX1BhcSWxhWr8B1q8k=; b=HlWtZkT1jZQjH1dT0AC94W1ADU+OfwZ7DsDFW+OboTIA8pgd/qdfmnvdvrvmgsYKzg+bHh fLzPhjb2VgqO1gcGx7xDZjSOCuIU/byINUAYQitge/cd1NjjG3DEPVoKvpT6Mk5P7WkHCh QH1PoOr6g6oPuYdtje0Pgg4yBfOGIvdcQ/7pjFoQ7Qpu22EzfrEdejtnweXDs0XdPG2shL j7AU7tnNbfmYT7tYb6uMmFlv5axrUxogxyswxSR/8+RQGNN/ZsNUvpfr9sxKSJt/OBW3Km cvorTYMCV+8xvoSdwLXA4sG2urbqlqBuzUwE7toTHmBUclJJbC+bKCK/y4Vo8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745338031; a=rsa-sha256; cv=none; b=v0USh3GsG6ZE5Crw4Kh9aBdPHIkXwXAtcHn0lEtRHgnLnR+p6toMRHMOrHztc5gkAgDB4f FGs3BWKfpEvfy4Oh0HCvV5jaVhSb3OV+PycmlGNpAPJZGqyQfPfX0vX+hpO3O9wtehP2tR rlySqcxlDpheIfN0XbfXCVYJgONTsoHGGk+d/BEOpbA5FeF33Ees7T0Ig3niI8BqE6pdhW fs01wwLzKzx71jAbWFM9nRlmRJA3wE/AugD5OsuiEKvHRS9NK9iJmRkLjkEceG1TGORvJt xq2K4CSYhIsl2sssvj2ZST7yGYOrTYYoq5gP/jSLMalUmjtUN3HCzkVXMM7UCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745338031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ys8Vv1Q3Usblrhzc+kpLHrLzCiX1BhcSWxhWr8B1q8k=; b=yHURcmIk47kSNw5R0XPvwcG81vymt4cMCrKySh0lc1dkGPvnxdap3EX8yCIxrnKTXTXYpO Nk3ywP9calcNlWt2P75pypE7xdzc9WDoPUjpF9HKSCieZB+3CScFkoZOhVVOjf95Vi2nXj pE2kNi+nBoYCXbh64lYQYeMyvDC9VB49my3EPYVK+XO0KFsAZDPd6Y5jXHkzRErX1+zyxd z/A8r82759eUQFvPOqOLAz1Tobl7ig0cJ9obnsRqH5MnkqCVyFW8zUH5BlZKp1a/oWdUuI ezA/ryhf7rK4rBu8FhSi78xitEYlOUOTnbv4WmUKvkKx9mM6gn8T8eBSjdt/ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhnDv15Lbz9Z4; Tue, 22 Apr 2025 16:07: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 53MG7BJ3050368; Tue, 22 Apr 2025 16:07:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MG7Bjn050365; Tue, 22 Apr 2025 16:07:11 GMT (envelope-from git) Date: Tue, 22 Apr 2025 16:07:11 GMT Message-Id: <202504221607.53MG7Bjn050365@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a049678039e4 - main - vt: add US International keymap List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a049678039e40bdf523230852f78887a12435def Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a049678039e40bdf523230852f78887a12435def commit a049678039e40bdf523230852f78887a12435def Author: Quentin Thébault AuthorDate: 2025-02-20 04:38:31 +0000 Commit: Warner Losh CommitDate: 2025-04-22 16:07:09 +0000 vt: add US International keymap This adds support for the US International keyboard layout to vt. It uses dead keys to generate diacritics such as accents, cedillas and umlauts. PR: 72465 Co-authored-by: Helge Oldach Reviewed-by: Serjei Mikailov Reviewed-by: Warner Losh MFC-after: 2 weeks Pull-Request: https://github.com/freebsd/freebsd-src/pull/1601 --- share/vt/keymaps/INDEX.keymaps | 7 ++ share/vt/keymaps/us.intl.acc.kbd | 141 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) diff --git a/share/vt/keymaps/INDEX.keymaps b/share/vt/keymaps/INDEX.keymaps index a3b59989cc5d..b650765d68df 100644 --- a/share/vt/keymaps/INDEX.keymaps +++ b/share/vt/keymaps/INDEX.keymaps @@ -547,6 +547,13 @@ us.acc.kbd:fr:États Unis d'Amérique (avec accents) us.acc.kbd:pt:Estados Unidos da América (com acentos) us.acc.kbd:es:Estadounidense (con acentos) +us.intl.acc.kbd:en:United States of America International (accent keys) +us.intl.acc.kbd:da:USA international (accenttaster) +us.intl.acc.kbd:de:US-amerikanisch international (mit Akzenten) +us.intl.acc.kbd:fr:États Unis d'Amérique International (avec accents) +us.intl.acc.kbd:pt:Estados Unidos da América Internacional (com acentos) +us.intl.acc.kbd:es:Estadounidense Internacional (con acentos) + us.dvorak.kbd:en:United States of America dvorak us.dvorak.kbd:da:USA dvorak us.dvorak.kbd:de:US-amerikanisch dvorak diff --git a/share/vt/keymaps/us.intl.acc.kbd b/share/vt/keymaps/us.intl.acc.kbd new file mode 100644 index 000000000000..5ae189da845d --- /dev/null +++ b/share/vt/keymaps/us.intl.acc.kbd @@ -0,0 +1,141 @@ +# Windows US-International Keyboard emulation +# Differences to the original: +# striking " and " does NOT yield "" but just " (same for other dead keys) +# alt shift 9 yields 0x93 (original: empty) +# alt shift 0 yields 0x94 (original: empty) +# alt shift - yields ± (original: empty) +# alt shift . yields · (original: empty) +# alt shift / yields ¶ (original: empty) +# ^ - yields ­ (original: empty) +# ^ shift - yields ¯ (original: empty) +# ^ shift . yields · (original: empty) +# alt +# scan cntrl alt alt cntrl lock +# code base shift cntrl shift alt shift cntrl shift state +# ------------------------------------------------------------------ + 000 nop nop nop nop nop nop nop nop O + 001 esc esc esc esc esc esc esc esc O + 002 '1' '!' nop nop 161 185 nop nop O + 003 '2' '@' nul nul 178 nop nul nul O + 004 '3' '#' nop nop 179 nop nop nop O + 005 '4' '$' nop nop 164 163 nop nop O + 006 '5' '%' nop nop 128 nop nop nop O + 007 '6' dcir rs rs 188 nop rs rs O + 008 '7' '&' nop nop 189 nop nop nop O + 009 '8' '*' nop nop 190 nop nop nop O + 010 '9' '(' nop nop 145 147 nop nop O + 011 '0' ')' nop nop 146 148 nop nop O + 012 '-' '_' us us 165 177 us us O + 013 '=' '+' nop nop 215 247 nop nop O + 014 bs bs del del bs bs del del O + 015 ht btab nop nop ht btab nop nop O + 016 'q' 'Q' dc1 dc1 228 196 dc1 dc1 C + 017 'w' 'W' etb etb 229 197 etb etb C + 018 'e' 'E' enq enq 233 201 enq enq C + 019 'r' 'R' dc2 dc2 174 nop dc2 dc2 C + 020 't' 'T' dc4 dc4 254 222 dc4 dc4 C + 021 'y' 'Y' em em 252 220 em em C + 022 'u' 'U' nak nak 250 218 nak nak C + 023 'i' 'I' ht ht 237 205 ht ht C + 024 'o' 'O' si si 243 211 si si C + 025 'p' 'P' dle dle 246 214 dle dle C + 026 '[' '{' esc esc 171 nop esc esc O + 027 ']' '}' gs gs 187 nop gs gs O + 028 cr cr nl nl cr cr nl nl O + 029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O + 030 'a' 'A' soh soh 225 193 soh soh C + 031 's' 'S' dc3 dc3 223 167 dc3 dc3 C + 032 'd' 'D' eot eot 240 208 eot eot C + 033 'f' 'F' ack ack nop nop ack ack C + 034 'g' 'G' bel bel nop nop bel bel C + 035 'h' 'H' bs bs nop nop bs bs C + 036 'j' 'J' nl nl nop nop nl nl C + 037 'k' 'K' vt vt nop nop vt vt C + 038 'l' 'L' ff ff 248 216 ff ff C + 039 ';' ':' nop nop 182 176 nop nop O + 040 dacu duml nop nop 180 168 nop nop O + 041 dgra dtil nop nop nop nop nop nop O + 042 lshift lshift lshift lshift lshift lshift lshift lshift O + 043 '\' '|' fs fs 172 166 fs fs O + 044 'z' 'Z' sub sub 230 198 sub sub C + 045 'x' 'X' can can nop nop can can C + 046 'c' 'C' etx etx 169 162 etx etx C + 047 'v' 'V' syn syn nop nop syn syn C + 048 'b' 'B' stx stx nop nop stx stx C + 049 'n' 'N' so so 241 209 so so C + 050 'm' 'M' cr cr 181 nop cr cr C + 051 ',' '<' nop nop 231 199 nop nop O + 052 '.' '>' nop nop 133 183 nop nop O + 053 '/' '?' nop nop 191 182 nop nop O + 054 rshift rshift rshift rshift rshift rshift rshift rshift O + 055 '*' '*' '*' '*' '*' '*' '*' '*' O + 056 lalt lalt lalt lalt lalt lalt lalt lalt O + 057 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O + 058 clock clock clock clock clock clock clock clock O + 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O + 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O + 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O + 062 fkey04 fkey16 fkey28 fkey40 scr04 scr14 scr04 scr14 O + 063 fkey05 fkey17 fkey29 fkey41 scr05 scr15 scr05 scr15 O + 064 fkey06 fkey18 fkey30 fkey42 scr06 scr16 scr06 scr16 O + 065 fkey07 fkey19 fkey31 fkey43 scr07 scr07 scr07 scr07 O + 066 fkey08 fkey20 fkey32 fkey44 scr08 scr08 scr08 scr08 O + 067 fkey09 fkey21 fkey33 fkey45 scr09 scr09 scr09 scr09 O + 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O + 069 nlock nlock nlock nlock nlock nlock nlock nlock O + 070 slock slock slock slock slock slock slock slock O + 071 fkey49 '7' '7' '7' '7' '7' '7' '7' N + 072 fkey50 '8' '8' '8' '8' '8' '8' '8' N + 073 fkey51 '9' '9' '9' '9' '9' '9' '9' N + 074 fkey52 '-' '-' '-' '-' '-' '-' '-' N + 075 fkey53 '4' '4' '4' '4' '4' '4' '4' N + 076 fkey54 '5' '5' '5' '5' '5' '5' '5' N + 077 fkey55 '6' '6' '6' '6' '6' '6' '6' N + 078 fkey56 '+' '+' '+' '+' '+' '+' '+' N + 079 fkey57 '1' '1' '1' '1' '1' '1' '1' N + 080 fkey58 '2' '2' '2' '2' '2' '2' '2' N + 081 fkey59 '3' '3' '3' '3' '3' '3' '3' N + 082 fkey60 '0' '0' '0' '0' '0' '0' '0' N + 083 del '.' '.' '.' '.' '.' '.' '.' N + 084 nop nop nop nop nop nop nop nop O + 085 nop nop nop nop nop nop nop nop O + 086 nop nop nop nop nop nop nop nop O + 087 fkey11 fkey23 fkey35 fkey47 scr11 scr11 scr11 scr11 O + 088 fkey12 fkey24 fkey36 fkey48 scr12 scr12 scr12 scr12 O + 089 cr cr nl nl cr cr nl nl O + 090 rctrl rctrl rctrl rctrl rctrl rctrl rctrl rctrl O + 091 '/' '/' '/' '/' '/' '/' '/' '/' N + 092 nscr nscr nscr nscr nop nop nop nop O + 093 ralt ralt ralt ralt ralt ralt ralt ralt O + 094 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 O + 095 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 O + 096 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 O + 097 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 O + 098 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 O + 099 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O + 100 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 O + 101 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 O + 102 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O + 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 O + 104 slock saver slock saver susp nop susp nop O + 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O + 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O + 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O + 108 nop nop nop nop nop nop nop nop O + + dgra '`' ( 'A' 192 ) ( 'E' 200 ) ( 'I' 204 ) ( 'O' 210 ) + ( 'U' 217 ) ( 'a' 224 ) ( 'e' 232 ) ( 'i' 236 ) + ( 'o' 242 ) ( 'u' 249 ) + dacu ''' ( 'A' 193 ) ( 'C' 199 ) ( 'E' 201 ) ( 'I' 205 ) + ( 'O' 211 ) ( 'U' 218 ) ( 'Y' 221 ) ( 'a' 225 ) + ( 'c' 231 ) ( 'e' 233 ) ( 'i' 237 ) ( 'o' 243 ) + ( 'u' 250 ) ( 'y' 253 ) + dcir '^' ( 'A' 194 ) ( 'E' 202 ) ( 'I' 206 ) ( 'O' 212 ) + ( 'U' 219 ) ( 'a' 226 ) ( 'e' 234 ) ( 'i' 238 ) + ( 'o' 244 ) ( 'u' 251 ) ( '-' 173 ) ( '_' 175 ) + ( '.' 183 ) + dtil '~' ( 'A' 195 ) ( 'N' 209 ) ( 'O' 213 ) ( 'a' 227 ) + ( 'n' 241 ) ( 'o' 245 ) + duml '"' ( 'A' 196 ) ( 'E' 203 ) ( 'I' 207 ) ( 'O' 214 ) + ( 'U' 220 ) ( 'a' 228 ) ( 'e' 235 ) ( 'i' 239 ) + ( 'o' 246 ) ( 'u' 252 ) ( 'y' 255 ) From nobody Tue Apr 22 16:09:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhnHr1R6dz5sqKf; Tue, 22 Apr 2025 16:09:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhnHr0v5dz3nCP; Tue, 22 Apr 2025 16:09:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745338184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8oXcNfvn8C5KUpKmVxYBFPaPd116PerteYofEh5+W60=; b=D405d19oC0ty7JqSOXUuK/r7SBgsq6vjhsggcuxl/0rFvzvGfy32jfou+2a4EO76LUEWvV e6PFoubrzNFE2e+5K2EONd8Df0kKwaOhoMko4+2MFpnx8QikxDUKWl1Jy6xKGA8iioiAjv 8w2QkOaR+JUF7QPusgGmp7K9A0kW2MW46WW2c8H9CLqNjyRAHpS23vUTKGX3GhKhGgryLU PdxIoPbAbRnevpqUtJVxdn6VwBVFG7KhUjVqu/gvJFbmzcND+SKyKGm2cNgaEA7Yq20xWV D6IB8vDip/kd1nyDlLWQUGQlKx3sI6p4JpHkmWXkPLBLq7VU600/ABH5DpoZJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745338184; a=rsa-sha256; cv=none; b=jyNQ/atftY6XB2F1OU3UjXRQKz8dCBNPGVuuSGlkzdUaPO6kMtk5Xai97262M/l6LZdmwb Q9byvm21rxxTmVROb59hFn18QKXGVa1z2XL2FyupCb+t6KELo8J1rFP2LX2fkoVe1cvKTt yoYRZ5T3X5DM34GrX7fhVqGeeyFSCwJBOx+RxDdTrgo/NHS7MrdcGuoFC/TH5jYbKKbHLr rXhVuSB9sLXQXivPf1ovOmNg89Ev6V49T+/ZsBeFzOVZzsORPimFJvz80h71R/4RBKL0hg PaIfSN5nNmucg9DoueRBbNCaRhpG/DFCT1Xr+DpLqrXeZAzpvS4HWriUgiGgiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745338184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8oXcNfvn8C5KUpKmVxYBFPaPd116PerteYofEh5+W60=; b=stsly+yO2jUpPT+ot68LDNDJAskQUci3I+0bdFMOozJIrGnNgTHtrhPxZSwW8qdwrXUfsZ Hg6xKzn6gCZKoGU9GVYAvH6AQtwZHjjO1MvCsOj7He0BN2eIoRf4s46Fc/fFYskZMbf/iG O3FA/zByO2G2YG0Ovf3Tbx1AFO2R8IAehVjmk/ZLjXWg2EX36Z7km6O94EoTkEJb9IaJV7 Xk1oFiDjZiQboFIE9JAs8eCoxH+FY36IJLNhWa+hTbMZabgZQp6vJkRzXvKlKryTCySrJo 925x6l+dNlD6XmFAGJOLDvKbUdJFWbU0YMaOijVQ9ubK4vEeONRclDPus0c0Ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhnHq72WLz9l0; Tue, 22 Apr 2025 16:09: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 53MG9h2W051245; Tue, 22 Apr 2025 16:09:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MG9hXG051242; Tue, 22 Apr 2025 16:09:43 GMT (envelope-from git) Date: Tue, 22 Apr 2025 16:09:43 GMT Message-Id: <202504221609.53MG9hXG051242@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 32bb6a6925c0 - main - arm64: Call pmap_bootstrap_dmap from initarm List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 32bb6a6925c02e26cbb113789280ebb4bff54dd2 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=32bb6a6925c02e26cbb113789280ebb4bff54dd2 commit 32bb6a6925c02e26cbb113789280ebb4bff54dd2 Author: Andrew Turner AuthorDate: 2025-04-22 15:57:29 +0000 Commit: Andrew Turner CommitDate: 2025-04-22 16:08:57 +0000 arm64: Call pmap_bootstrap_dmap from initarm Make pmap_bootstrap_dmap self contained and call it from initarm. This will allow us to have a better view of excluded physical address space when calling pmap_bootstrap. Reviewed by: imp, markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D49853 --- sys/arm64/arm64/machdep.c | 21 +++++++++++++++++--- sys/arm64/arm64/pmap.c | 49 ++++++++++++++++++++++++++--------------------- sys/arm64/include/pmap.h | 3 ++- 3 files changed, 47 insertions(+), 26 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index d3955d8c9863..ca393e11cef9 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -815,14 +815,29 @@ initarm(struct arm64_bootparams *abp) cache_setup(); - /* Bootstrap enough of pmap to enter the kernel proper */ - pmap_bootstrap(lastaddr - KERNBASE); - /* Exclude entries needed in the DMAP region, but not phys_avail */ + /* + * Perform a staged bootstrap of virtual memory. + * + * - First we create the DMAP region. This allows it to be used in + * later bootstrapping. + * - Next exclude memory that is needed in the DMAP region, but must + * not be used by FreeBSD. + * - Lastly complete the bootstrapping. It may use the physical + * memory map so any excluded memory must be marked as such before + * pmap_bootstrap() is called. + */ + pmap_bootstrap_dmap(lastaddr - KERNBASE); + /* + * Exclude EFI entries needed in the DMAP, e.g. EFI_MD_TYPE_RECLAIM + * may contain the ACPI tables but shouldn't be used by the kernel + */ if (efihdr != NULL) efi_map_exclude_entries(efihdr); /* Do the same for reserve entries in the EFI MEMRESERVE table */ if (efi_systbl_phys != 0) exclude_efi_memreserve(efi_systbl_phys); + /* Continue bootstrapping pmap */ + pmap_bootstrap(); /* * We carefully bootstrap the sanitizer map after we've excluded diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index e3b8e3bf01ee..30efd40573d2 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -1211,11 +1211,28 @@ pmap_bootstrap_l3_page(struct pmap_bootstrap_state *state, int i) MPASS(state->va == (state->pa - dmap_phys_base + DMAP_MIN_ADDRESS)); } -static void -pmap_bootstrap_dmap(void) +void +pmap_bootstrap_dmap(vm_size_t kernlen) { + vm_paddr_t start_pa, pa; + uint64_t tcr; int i; + tcr = READ_SPECIALREG(tcr_el1); + + /* Verify that the ASID is set through TTBR0. */ + KASSERT((tcr & TCR_A1) == 0, ("pmap_bootstrap: TCR_EL1.A1 != 0")); + + if ((tcr & TCR_DS) != 0) + pmap_lpa_enabled = true; + + pmap_l1_supported = L1_BLOCKS_SUPPORTED; + + start_pa = pmap_early_vtophys(KERNBASE); + + bs_state.freemempos = KERNBASE + kernlen; + bs_state.freemempos = roundup2(bs_state.freemempos, PAGE_SIZE); + /* Fill in physmap array. */ physmap_idx = physmem_avail(physmap, nitems(physmap)); @@ -1275,6 +1292,12 @@ pmap_bootstrap_dmap(void) } cpu_tlb_flushID(); + + bs_state.dmap_valid = true; + + /* Exclude the kernel and DMAP region */ + pa = pmap_early_vtophys(bs_state.freemempos); + physmem_exclude_region(start_pa, pa - start_pa, EXFLAG_NOALLOC); } static void @@ -1305,21 +1328,10 @@ pmap_bootstrap_l3(vm_offset_t va) * Bootstrap the system enough to run with virtual memory. */ void -pmap_bootstrap(vm_size_t kernlen) +pmap_bootstrap(void) { vm_offset_t dpcpu, msgbufpv; vm_paddr_t start_pa, pa; - uint64_t tcr; - - tcr = READ_SPECIALREG(tcr_el1); - - /* Verify that the ASID is set through TTBR0. */ - KASSERT((tcr & TCR_A1) == 0, ("pmap_bootstrap: TCR_EL1.A1 != 0")); - - if ((tcr & TCR_DS) != 0) - pmap_lpa_enabled = true; - - pmap_l1_supported = L1_BLOCKS_SUPPORTED; /* Set this early so we can use the pagetable walking functions */ kernel_pmap_store.pm_l0 = pagetable_l0_ttbr1; @@ -1334,20 +1346,13 @@ pmap_bootstrap(vm_size_t kernlen) kernel_pmap->pm_ttbr = kernel_pmap->pm_l0_paddr; kernel_pmap->pm_asid_set = &asids; - bs_state.freemempos = KERNBASE + kernlen; - bs_state.freemempos = roundup2(bs_state.freemempos, PAGE_SIZE); - - /* Create a direct map region early so we can use it for pa -> va */ - pmap_bootstrap_dmap(); - bs_state.dmap_valid = true; - /* * We only use PXN when we know nothing will be executed from it, e.g. * the DMAP region. */ bs_state.table_attrs &= ~TATTR_PXN_TABLE; - start_pa = pa = pmap_early_vtophys(KERNBASE); + start_pa = pmap_early_vtophys(bs_state.freemempos); /* * Create the l2 tables up to VM_MAX_KERNEL_ADDRESS. We assume that the diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index 2503f1df8404..0f23f200f0f6 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -141,7 +141,8 @@ extern pt_entry_t pmap_sh_attr; #define pmap_vm_page_alloc_check(m) void pmap_activate_vm(pmap_t); -void pmap_bootstrap(vm_size_t); +void pmap_bootstrap_dmap(vm_size_t); +void pmap_bootstrap(void); int pmap_change_attr(vm_offset_t va, vm_size_t size, int mode); int pmap_change_prot(vm_offset_t va, vm_size_t size, vm_prot_t prot); void pmap_kenter(vm_offset_t sva, vm_size_t size, vm_paddr_t pa, int mode); From nobody Tue Apr 22 16:09:44 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhnHs21q3z5sqHQ; Tue, 22 Apr 2025 16:09:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhnHs0SPkz3nH0; Tue, 22 Apr 2025 16:09:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745338185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V3Tymf/8VeB2NzdSADkYUpDIM/q6/PQ9XPsr1aaY5u0=; b=cKICLC4fVn3zQeGb2nC92LS7IT6Oo3VBnM+tYqpwNBcQkmI0do/CTJuqqEHXHebvDqNyJ/ SgqzTem7yf9Hb0+8X4pbYhlCEwTEv4M162OjN3qu4gYfqOGAI+fmcQ+LVjP23qPlObHrnG y25jNIPRRQ1aRyOfo3pmoDI5qdCWJNffu3FU2xR+P4gTd2pkajyGAHujF9euOV0lbnOi0V tyztgyEV1lAZUPkknfEbUWSLt35XrVhcEL1/fRIemaCGw8iUV1efxjTa1zdjyKKj9Eg6j8 Glw8lEYk6cTjp/ZgZZgqiYKEKcTqf7TX4K85HFVRFDOVjnMrp59M0cnWqR3uhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745338185; a=rsa-sha256; cv=none; b=IppSvpP4gauV2Pq7txZaW7rCPqU1ZmtSNTwPoVaIYynTHIIGTxzRGHgBAjLoQi151VC++p wYclpIu0W3e/4Ww5tc7v1Xk85Zf7K74NQ7Sfq1Evv+rrCYxE07ukodouY8XkAn4YJJqKnL SPIyKy76P9QJlDCsY6DZ34dULsU+wmdRmPydKd8MbwXv8zpbgfQIof4Y2b2e/5pRGqxKTl fC8IbA4KPhd2AiscaHtUy+mURIlGrLSz3BRbOLZDh384791rqcCpmI1q3sFgBIiuuZ9pMZ g3hKcjq+U3YGNp3ixgLR42dL6VwNXYAXWEWqYbQJ85GDJ1W5EIzDVfW8zMZO9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745338185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V3Tymf/8VeB2NzdSADkYUpDIM/q6/PQ9XPsr1aaY5u0=; b=PATX+ivvQQuD1SvM5ptGfZuJ07ZlgRj2/zNvHdmRz9CX95dNWR9N4GZLzzj8nXagxnDwj4 Vj3R6hUGsrph33O+JJA0Vu3rEBDNkKGe0ExqFVk8CcKGEiPwexXCog9zaxwwZ0NzWds7uJ f4xLqqwPyKyLY0me7gBx+Nr4jPQv5tWETxul7ikCG6p39AVXXx09FwH1X0Mk09PdieSRzt ARvPvUJiEZLHMzjpvxOmmJ7rvUXDPlK2SrEtuDdxjN69uHN4VM/6+v3atT3Y/5ihvCUzI6 8u2vE/HMvv6np/x0C79wrh8g27xqXhY2/R6jRWeBzcSVaEm+3AlME5nRCalOIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhnHs047Rz9Mh; Tue, 22 Apr 2025 16:09: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 53MG9iUH051278; Tue, 22 Apr 2025 16:09:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MG9iga051275; Tue, 22 Apr 2025 16:09:44 GMT (envelope-from git) Date: Tue, 22 Apr 2025 16:09:44 GMT Message-Id: <202504221609.53MG9iga051275@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: ccaf78c962e8 - main - arm64: Move cpu0 dpcpu and msgbuf to the DMAP List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ccaf78c962e85630298f068931862a3595e9bbdf Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ccaf78c962e85630298f068931862a3595e9bbdf commit ccaf78c962e85630298f068931862a3595e9bbdf Author: Andrew Turner AuthorDate: 2025-04-22 15:59:25 +0000 Commit: Andrew Turner CommitDate: 2025-04-22 16:08:57 +0000 arm64: Move cpu0 dpcpu and msgbuf to the DMAP When these are allocated we already have the DMAP region mapped. Search for the largest region and use this to hold these. Pr: 269726 Reviewed by: markj Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D42734 --- sys/arm64/arm64/pmap.c | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 30efd40573d2..f4d6b1cfcb56 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -1332,6 +1332,7 @@ pmap_bootstrap(void) { vm_offset_t dpcpu, msgbufpv; vm_paddr_t start_pa, pa; + size_t largest_phys_size; /* Set this early so we can use the pagetable walking functions */ kernel_pmap_store.pm_l0 = pagetable_l0_ttbr1; @@ -1346,12 +1347,41 @@ pmap_bootstrap(void) kernel_pmap->pm_ttbr = kernel_pmap->pm_l0_paddr; kernel_pmap->pm_asid_set = &asids; + /* Reserve some VA space for early BIOS/ACPI mapping */ + preinit_map_va = roundup2(bs_state.freemempos, L2_SIZE); + + virtual_avail = preinit_map_va + PMAP_PREINIT_MAPPING_SIZE; + virtual_avail = roundup2(virtual_avail, L1_SIZE); + virtual_end = VM_MAX_KERNEL_ADDRESS - PMAP_MAPDEV_EARLY_SIZE; + kernel_vm_end = virtual_avail; + /* * We only use PXN when we know nothing will be executed from it, e.g. * the DMAP region. */ bs_state.table_attrs &= ~TATTR_PXN_TABLE; + /* + * Find the physical memory we could use. This needs to be after we + * exclude any memory that is mapped into the DMAP region but should + * not be used by the kernel, e.g. some UEFI memory types. + */ + physmap_idx = physmem_avail(physmap, nitems(physmap)); + + /* + * Find space for early allocations. We search for the largest + * region. This is because the user may choose a large msgbuf. + * This could be smarter, e.g. to allow multiple regions to be + * used & switch to the next when one is full. + */ + largest_phys_size = 0; + for (int i = 0; i < physmap_idx; i += 2) { + if ((physmap[i + 1] - physmap[i]) > largest_phys_size) { + largest_phys_size = physmap[i + 1] - physmap[i]; + bs_state.freemempos = PHYS_TO_DMAP(physmap[i]); + } + } + start_pa = pmap_early_vtophys(bs_state.freemempos); /* @@ -1378,19 +1408,9 @@ pmap_bootstrap(void) alloc_pages(msgbufpv, round_page(msgbufsize) / PAGE_SIZE); msgbufp = (void *)msgbufpv; - /* Reserve some VA space for early BIOS/ACPI mapping */ - preinit_map_va = roundup2(bs_state.freemempos, L2_SIZE); - - virtual_avail = preinit_map_va + PMAP_PREINIT_MAPPING_SIZE; - virtual_avail = roundup2(virtual_avail, L1_SIZE); - virtual_end = VM_MAX_KERNEL_ADDRESS - (PMAP_MAPDEV_EARLY_SIZE); - kernel_vm_end = virtual_avail; - pa = pmap_early_vtophys(bs_state.freemempos); physmem_exclude_region(start_pa, pa - start_pa, EXFLAG_NOALLOC); - - cpu_tlb_flushID(); } #if defined(KASAN) || defined(KMSAN) From nobody Tue Apr 22 17:26:00 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zhpzr4GxXz5swRX; Tue, 22 Apr 2025 17:26:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhpzr1sVXz3GV4; Tue, 22 Apr 2025 17:26:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745342760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6GpnFjYOQCHQqwy8FtJn9MquAUgCjdYaPycKqBMqI/0=; b=m5EmUqxyXXtA+90fiouPh4EqsO+RlG7gsKW9NJIn9yBNPX8BfABUl4/IFBRUYS3tDvRUeo vrOd3Rr+Iq+VSPMpGvgmxuuTI5NYUdV/nv0/cDU624zdoohgq2td1oYnACwbL1fqRne/Yz dBqdhIcLwItTzGZ7+ME5R2GoIBCGq/IoG7Iium7cnBTX4Lw5oXv8tQDYL+EpTYBRGHf9Z5 2g5A6pss6mH5ASwCAGjN9XeREaudsf3eQlWRXtC4xXFJCZW5tdLeAHHxUoHAosKVsUW0AX TBaBxRSPv2x7eoBvDsaThCn3UL68HEJtzE+bPK7aaQtVnGFcmtZGMPoc9OWtYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745342760; a=rsa-sha256; cv=none; b=GMN9UaQXIi4Ku40DV0s+zvq1UTC6mGrlLLwTuNyREst713w55Dg0h+5yHl9U2qO/yOJkWF Dy6rn3H6PsGYd7Cc1IcpETGJx0cOrHUOtNBi5SC5dY8bRaCLlXxbzzIZbRZEhHdbdncbhC ZCbgWHtFSayB9YM5+uY9rhqRdTb9W7eosZXqT+xysJfaX4ev3Pe4KoTdpIdioqqbNJKqvj /FIG3XvU0xZo79L87rxXGsuWF1NfWNmY/76W/hs2o52FFqPS6DjaA8XppckS3xI7yyW4RB wkaVM9VQW5mCrr3jScRurvf9jlwzGHhBDRH7mIR4vLGsBmynrWzGxzQgzMWojQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745342760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6GpnFjYOQCHQqwy8FtJn9MquAUgCjdYaPycKqBMqI/0=; b=M27c0icvSQ1JU+Gkd2DdF45J94a4Tk5YQu89lNgodsqVlaomBLeskh+1goVTy+Jsp915wT 0MkxOCUhzZbcNLEIqCJKNc4rwaAiHD+2MYCy6z7vjepwnLXgycQz8F1AkrJ36kNuZb+Dnm fvYhNhwm/+te/Y3TN8hbUVXJhAYvMvNmAtdaIznbEUmjlvNfWE/QQcW2q2+mt7KTj/QOoJ 99qgHNRAX5NjSIaD5jeW9iF/o6dyk0WXOFSo4+5ObJD3FKlXA6IdJqvq9DDHWVlGa2H0pL oRiOZEbOZYciK/H36E1NISxmZ/upvRsJbZl0Bkl4zgVy11ZlqYuyzTeUVUqysg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zhpzr12sMzCwR; Tue, 22 Apr 2025 17:26: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 53MHQ0Ev000138; Tue, 22 Apr 2025 17:26:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MHQ03S000135; Tue, 22 Apr 2025 17:26:00 GMT (envelope-from git) Date: Tue, 22 Apr 2025 17:26:00 GMT Message-Id: <202504221726.53MHQ03S000135@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: f0ac5e919f3f - main - fts: Add blocks support. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f0ac5e919f3f9918075d1a6da26d12e675e45b11 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=f0ac5e919f3f9918075d1a6da26d12e675e45b11 commit f0ac5e919f3f9918075d1a6da26d12e675e45b11 Author: Dag-Erling Smørgrav AuthorDate: 2025-04-22 17:16:59 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-04-22 17:25:56 +0000 fts: Add blocks support. This adds an `fts_open_b()` variant of `fts_open()` which takes a block instead of a function pointer. This was inspired by, and is intended to be compatible with, Apple's implementation; however, although our FTS and theirs share a common ancestor, they have diverged significantly. That and the fact that we still target compilers which don't support blocks means Apple's implementation was not directly reusable. This is the second use case for blocks in FreeBSD (the first being `qsort_b()`, which we use here). This suggest we might want to add a `COMPILER_FEATURE` for blocks to avoid hardcoding any further `COMPILER_TYPE` checks. MFC after: never Relnotes: yes Sponsored by: Klara, Inc. Reviewed by: kevans, theraven, imp Differential Revision: https://reviews.freebsd.org/D49877 --- include/fts.h | 29 ++++-- lib/libc/gen/Makefile.inc | 4 + lib/libc/gen/Symbol.map | 1 + lib/libc/gen/fts.3 | 58 +++++++++--- lib/libc/gen/fts.c | 172 ++++++++++++++++++++++++++--------- lib/libc/tests/gen/Makefile | 9 ++ lib/libc/tests/gen/fts_blocks_test.c | 63 +++++++++++++ lib/libc/tests/stdlib/Makefile | 2 +- 8 files changed, 275 insertions(+), 63 deletions(-) diff --git a/include/fts.h b/include/fts.h index 1e35727ad3e1..f2c40b854ffb 100644 --- a/include/fts.h +++ b/include/fts.h @@ -34,17 +34,27 @@ #include +typedef struct _ftsent FTSENT; + typedef struct { - struct _ftsent *fts_cur; /* current node */ - struct _ftsent *fts_child; /* linked list of children */ - struct _ftsent **fts_array; /* sort array */ + FTSENT *fts_cur; /* current node */ + FTSENT *fts_child; /* linked list of children */ + FTSENT **fts_array; /* sort array */ __dev_t fts_dev; /* starting device # */ char *fts_path; /* path for this descent */ int fts_rfd; /* fd for root */ __size_t fts_pathlen; /* sizeof(path) */ __size_t fts_nitems; /* elements in the sort array */ - int (*fts_compar) /* compare function */ - (const struct _ftsent * const *, const struct _ftsent * const *); + union { + int (*fts_compar) /* compare function */ + (const FTSENT * const *, const FTSENT * const *); +#ifdef __BLOCKS__ + int (^fts_compar_b) + (const FTSENT * const *, const FTSENT * const *); +#else + void *fts_compar_b; +#endif /* __BLOCKS__ */ + }; /* valid for fts_open() */ #define FTS_COMFOLLOW 0x000001 /* follow command line symlinks */ @@ -62,11 +72,12 @@ typedef struct { /* internal use only */ #define FTS_STOP 0x010000 /* unrecoverable error */ +#define FTS_COMPAR_B 0x020000 /* compare function is a block */ int fts_options; /* fts_open options, global flags */ void *fts_clientptr; /* thunk for sort function */ } FTS; -typedef struct _ftsent { +struct _ftsent { struct _ftsent *fts_cycle; /* cycle node */ struct _ftsent *fts_parent; /* parent directory */ struct _ftsent *fts_link; /* next file in directory */ @@ -118,7 +129,7 @@ typedef struct _ftsent { struct stat *fts_statp; /* stat(2) information */ char *fts_name; /* file name */ FTS *fts_fts; /* back pointer to main FTS */ -} FTSENT; +}; #include @@ -131,6 +142,10 @@ FTS *fts_get_stream(FTSENT *); #define fts_get_stream(ftsent) ((ftsent)->fts_fts) FTS *fts_open(char * const *, int, int (*)(const FTSENT * const *, const FTSENT * const *)); +#ifdef __BLOCKS__ +FTS *fts_open_b(char * const *, int, + int (^)(const FTSENT * const *, const FTSENT * const *)); +#endif /* __BLOCKS__ */ FTSENT *fts_read(FTS *); int fts_set(FTS *, FTSENT *, int); void fts_set_clientptr(FTS *, void *); diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index a8308a057b05..fb2f0afaa2c7 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -168,6 +168,10 @@ SRCS+= \ valloc.c \ wordexp.c +.if ${COMPILER_TYPE} == "clang" +CFLAGS.fts.c= -fblocks +.endif + CFLAGS.arc4random.c= -I${SRCTOP}/sys -I${SRCTOP}/sys/crypto/chacha20 CFLAGS.sysconf.c= -I${SRCTOP}/contrib/tzcode diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map index 21b66acba213..1683b3e42425 100644 --- a/lib/libc/gen/Symbol.map +++ b/lib/libc/gen/Symbol.map @@ -458,6 +458,7 @@ FBSD_1.8 { aio_read2; aio_write2; execvpe; + fts_open_b; psiginfo; rtld_get_var; rtld_set_var; diff --git a/lib/libc/gen/fts.3 b/lib/libc/gen/fts.3 index 468b14115ec6..3007b773ec55 100644 --- a/lib/libc/gen/fts.3 +++ b/lib/libc/gen/fts.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 12, 2014 +.Dd April 17, 2025 .Dt FTS 3 .Os .Sh NAME @@ -37,6 +37,8 @@ .In fts.h .Ft FTS * .Fn fts_open "char * const *path_argv" "int options" "int (*compar)(const FTSENT * const *, const FTSENT * const *)" +.Ft FTS * +.Fn fts_open_b "char * const *path_argv" "int options" "int (^compar)(const FTSENT * const *, const FTSENT * const *)" .Ft FTSENT * .Fn fts_read "FTS *ftsp" .Ft FTSENT * @@ -59,7 +61,9 @@ functions are provided for traversing file hierarchies. A simple overview is that the .Fn fts_open -function returns a +and +.Fn fts_open_b +functions return a .Dq handle on a file hierarchy, which is then supplied to the other @@ -186,6 +190,8 @@ or .Ql ..\& which was not specified as a file name to .Fn fts_open +or +.Fn fts_open_b (see .Dv FTS_SEEDOT ) . .It Dv FTS_DP @@ -234,6 +240,8 @@ A path for accessing the file from the current directory. The path for the file relative to the root of the traversal. This path contains the path specified to .Fn fts_open +or +.Fn fts_open_b as a prefix. .It Fa fts_pathlen The length of the string referenced by @@ -518,6 +526,15 @@ the directory traversal order is in the order listed in .Fa path_argv for the root paths, and in the order listed in the directory for everything else. +.Sh FTS_OPEN_B +The +.Fn fts_open_b +function is identical to +.Fn fts_open +except that it takes a block pointer instead of a function pointer. +The block is copied before +.Fn fts_open_b +returns, so the original can safely go out of scope or be released. .Sh FTS_READ The .Fn fts_read @@ -593,9 +610,13 @@ As a special case, if has not yet been called for a hierarchy, .Fn fts_children will return a pointer to the files in the logical directory specified to -.Fn fts_open , +.Fn fts_open +or +.Fn fts_open_b , i.e., the arguments specified to -.Fn fts_open . +.Fn fts_open +or +.Fn fts_open_b . Otherwise, if the .Vt FTSENT structure most recently returned by @@ -716,6 +737,8 @@ function closes a file hierarchy stream .Fa ftsp and restores the current directory to the directory from which .Fn fts_open +or +.Fn fts_open_b was called to open .Fa ftsp . The @@ -723,29 +746,38 @@ The function returns 0 on success, and \-1 if an error occurs. .Sh ERRORS -The function +The .Fn fts_open -may fail and set +and +.Fn fts_open_b +functions may fail and set .Va errno for any of the errors specified for the library functions .Xr open 2 and .Xr malloc 3 . +The +.Fn fts_open_b +function may also fail and set +.Va errno +to +.Dv ENOSYS +if the blocks runtime is missing. .Pp -The function +The .Fn fts_close -may fail and set +function may fail and set .Va errno for any of the errors specified for the library functions .Xr chdir 2 and .Xr close 2 . .Pp -The functions +The .Fn fts_read and .Fn fts_children -may fail and set +functions may fail and set .Va errno for any of the errors specified for the library functions .Xr chdir 2 , @@ -755,12 +787,12 @@ for any of the errors specified for the library functions and .Xr stat 2 . .Pp -In addition, +In addition, the .Fn fts_children , -.Fn fts_open +.Fn fts_open , and .Fn fts_set -may fail and set +functions may fail and set .Va errno as follows: .Bl -tag -width Er diff --git a/lib/libc/gen/fts.c b/lib/libc/gen/fts.c index 0c26c91feb84..1b5c38ed58bb 100644 --- a/lib/libc/gen/fts.c +++ b/lib/libc/gen/fts.c @@ -48,6 +48,19 @@ #include "gen-private.h" +#ifdef __BLOCKS__ +#include +#else +#include "block_abi.h" +typedef DECLARE_BLOCK(int, fts_block, + const FTSENT * const *, const FTSENT * const *); +void qsort_b(void *, size_t, size_t, fts_block); +#endif /* __BLOCKS__ */ +/* only present if linked with blocks runtime */ +void *_Block_copy(const void *) __weak_symbol; +void _Block_release(const void *) __weak_symbol; +extern void *_NSConcreteGlobalBlock[] __weak_symbol; + static FTSENT *fts_alloc(FTS *, char *, size_t); static FTSENT *fts_build(FTS *, int); static void fts_lfree(FTSENT *); @@ -102,35 +115,13 @@ static const char *ufslike_filesystems[] = { 0 }; -FTS * -fts_open(char * const *argv, int options, - int (*compar)(const FTSENT * const *, const FTSENT * const *)) +static FTS * +__fts_open(FTS *sp, char * const *argv) { - struct _fts_private *priv; - FTS *sp; FTSENT *p, *root; FTSENT *parent, *tmp; size_t len, nitems; - /* Options check. */ - if (options & ~FTS_OPTIONMASK) { - errno = EINVAL; - return (NULL); - } - - /* fts_open() requires at least one path */ - if (*argv == NULL) { - errno = EINVAL; - return (NULL); - } - - /* Allocate/initialize the stream. */ - if ((priv = calloc(1, sizeof(*priv))) == NULL) - return (NULL); - sp = &priv->ftsp_fts; - sp->fts_compar = compar; - sp->fts_options = options; - /* Logical walks turn on NOCHDIR; symbolic links are too hard. */ if (ISSET(FTS_LOGICAL)) SET(FTS_NOCHDIR); @@ -168,7 +159,7 @@ fts_open(char * const *argv, int options, * If comparison routine supplied, traverse in sorted * order; otherwise traverse in the order specified. */ - if (compar) { + if (sp->fts_compar) { p->fts_link = root; root = p; } else { @@ -181,7 +172,7 @@ fts_open(char * const *argv, int options, } } } - if (compar && nitems > 1) + if (sp->fts_compar && nitems > 1) root = fts_sort(sp, root, nitems); /* @@ -214,6 +205,97 @@ mem1: free(sp); return (NULL); } +FTS * +fts_open(char * const *argv, int options, + int (*compar)(const FTSENT * const *, const FTSENT * const *)) +{ + struct _fts_private *priv; + FTS *sp; + + /* Options check. */ + if (options & ~FTS_OPTIONMASK) { + errno = EINVAL; + return (NULL); + } + + /* fts_open() requires at least one path */ + if (*argv == NULL) { + errno = EINVAL; + return (NULL); + } + + /* Allocate/initialize the stream. */ + if ((priv = calloc(1, sizeof(*priv))) == NULL) + return (NULL); + sp = &priv->ftsp_fts; + sp->fts_compar = compar; + sp->fts_options = options; + + return (__fts_open(sp, argv)); +} + +#ifdef __BLOCKS__ +FTS * +fts_open_b(char * const *argv, int options, + int (^compar)(const FTSENT * const *, const FTSENT * const *)) +#else +FTS * +fts_open_b(char * const *argv, int options, fts_block compar) +#endif /* __BLOCKS__ */ +{ + struct _fts_private *priv; + FTS *sp; + + /* No blocks, no problems. */ + if (compar == NULL) + return (fts_open(argv, options, NULL)); + + /* Avoid segfault if blocks runtime is missing. */ + if (_Block_copy == NULL) { + errno = ENOSYS; + return (NULL); + } + + /* Options check. */ + if (options & ~FTS_OPTIONMASK) { + errno = EINVAL; + return (NULL); + } + + /* fts_open() requires at least one path */ + if (*argv == NULL) { + errno = EINVAL; + return (NULL); + } + + /* Allocate/initialize the stream. */ + if ((priv = calloc(1, sizeof(*priv))) == NULL) + return (NULL); + sp = &priv->ftsp_fts; +#ifdef __BLOCKS__ + compar = Block_copy(compar); +#else + if (compar->isa != &_NSConcreteGlobalBlock) + compar = _Block_copy(compar); +#endif /* __BLOCKS__ */ + if (compar == NULL) { + free(priv); + return (NULL); + } + sp->fts_compar_b = compar; + sp->fts_options = options | FTS_COMPAR_B; + + if ((sp = __fts_open(sp, argv)) == NULL) { +#ifdef __BLOCKS__ + Block_release(compar); +#else + if (compar->isa != &_NSConcreteGlobalBlock) + _Block_release(compar); +#endif /* __BLOCKS__ */ + } + return (sp); +} + static void fts_load(FTS *sp, FTSENT *p) { @@ -265,6 +347,16 @@ fts_close(FTS *sp) free(sp->fts_array); free(sp->fts_path); + /* Free up any block pointer. */ + if (ISSET(FTS_COMPAR_B) && sp->fts_compar_b != NULL) { +#ifdef __BLOCKS__ + Block_release(sp->fts_compar_b); +#else + if (sp->fts_compar_b->isa != &_NSConcreteGlobalBlock) + _Block_release(sp->fts_compar_b); +#endif /* __BLOCKS__ */ + } + /* Return to original directory, save errno if necessary. */ if (!ISSET(FTS_NOCHDIR)) { saved_errno = fchdir(sp->fts_rfd) ? errno : 0; @@ -979,21 +1071,6 @@ err: memset(sbp, 0, sizeof(struct stat)); return (FTS_DEFAULT); } -/* - * The comparison function takes pointers to pointers to FTSENT structures. - * Qsort wants a comparison function that takes pointers to void. - * (Both with appropriate levels of const-poisoning, of course!) - * Use a trampoline function to deal with the difference. - */ -static int -fts_compar(const void *a, const void *b) -{ - FTS *parent; - - parent = (*(const FTSENT * const *)a)->fts_fts; - return (*parent->fts_compar)(a, b); -} - static FTSENT * fts_sort(FTS *sp, FTSENT *head, size_t nitems) { @@ -1016,7 +1093,18 @@ fts_sort(FTS *sp, FTSENT *head, size_t nitems) } for (ap = sp->fts_array, p = head; p; p = p->fts_link) *ap++ = p; - qsort(sp->fts_array, nitems, sizeof(FTSENT *), fts_compar); + if (ISSET(FTS_COMPAR_B)) { +#ifdef __BLOCKS__ + qsort_b(sp->fts_array, nitems, sizeof(FTSENT *), + (int (^)(const void *, const void *))sp->fts_compar_b); +#else + qsort_b(sp->fts_array, nitems, sizeof(FTSENT *), + sp->fts_compar_b); +#endif /* __BLOCKS__ */ + } else { + qsort(sp->fts_array, nitems, sizeof(FTSENT *), + (int (*)(const void *, const void *))sp->fts_compar); + } for (head = *(ap = sp->fts_array); --nitems; ++ap) ap[0]->fts_link = ap[1]; ap[0]->fts_link = NULL; diff --git a/lib/libc/tests/gen/Makefile b/lib/libc/tests/gen/Makefile index 87f2b8320d25..5c0febce81c1 100644 --- a/lib/libc/tests/gen/Makefile +++ b/lib/libc/tests/gen/Makefile @@ -7,6 +7,9 @@ ATF_TESTS_C+= fmtcheck2_test ATF_TESTS_C+= fmtmsg_test ATF_TESTS_C+= fnmatch2_test ATF_TESTS_C+= fpclassify2_test +.if ${COMPILER_TYPE} == "clang" +ATF_TESTS_C+= fts_blocks_test +.endif ATF_TESTS_C+= ftw_test ATF_TESTS_C+= getentropy_test ATF_TESTS_C+= getmntinfo_test @@ -92,6 +95,12 @@ TEST_METADATA.setdomainname_test+= is_exclusive=true TESTS_SUBDIRS= execve TESTS_SUBDIRS+= posix_spawn +# Tests that require blocks support +.for t in fts_blocks_test +CFLAGS.${t}.c+= -fblocks +LIBADD.${t}+= BlocksRuntime +.endfor + # The old testcase name TEST_FNMATCH= test-fnmatch CLEANFILES+= ${GEN_SH_CASE_TESTCASES} diff --git a/lib/libc/tests/gen/fts_blocks_test.c b/lib/libc/tests/gen/fts_blocks_test.c new file mode 100644 index 000000000000..1aec55b581d5 --- /dev/null +++ b/lib/libc/tests/gen/fts_blocks_test.c @@ -0,0 +1,63 @@ +/*- + * Copyright (c) 2025 Klara, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include + +#include +#include + +#include + +/* + * Create two directories with three files each in lexicographical order, + * then call FTS with a sort block that sorts in reverse lexicographical + * order. This has the least chance of getting a false positive due to + * differing file system semantics. UFS will return the files in the + * order they were created while ZFS will sort them lexicographically; in + * both cases, the order we expect is the reverse. + */ +ATF_TC_WITHOUT_HEAD(fts_blocks_test); +ATF_TC_BODY(fts_blocks_test, tc) +{ + char *args[] = { + "bar", "foo", NULL + }; + char *paths[] = { + "foo", "z", "y", "x", "foo", + "bar", "c", "b", "a", "bar", + NULL + }; + char **expect = paths; + FTS *fts; + FTSENT *ftse; + + ATF_REQUIRE_EQ(0, mkdir("bar", 0755)); + ATF_REQUIRE_EQ(0, close(creat("bar/a", 0644))); + ATF_REQUIRE_EQ(0, close(creat("bar/b", 0644))); + ATF_REQUIRE_EQ(0, close(creat("bar/c", 0644))); + ATF_REQUIRE_EQ(0, mkdir("foo", 0755)); + ATF_REQUIRE_EQ(0, close(creat("foo/x", 0644))); + ATF_REQUIRE_EQ(0, close(creat("foo/y", 0644))); + ATF_REQUIRE_EQ(0, close(creat("foo/z", 0644))); + fts = fts_open_b(args, 0, + ^(const FTSENT * const *a, const FTSENT * const *b) { + return (strcmp((*b)->fts_name, (*a)->fts_name)); + }); + ATF_REQUIRE_MSG(fts != NULL, "fts_open_b(): %m"); + while ((ftse = fts_read(fts)) != NULL && *expect != NULL) { + ATF_CHECK_STREQ(*expect, ftse->fts_name); + expect++; + } + ATF_CHECK_EQ(NULL, ftse); + ATF_CHECK_EQ(NULL, *expect); + ATF_REQUIRE_EQ_MSG(0, fts_close(fts), "fts_close(): %m"); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, fts_blocks_test); + return (atf_no_error()); +} diff --git a/lib/libc/tests/stdlib/Makefile b/lib/libc/tests/stdlib/Makefile index 15b8d3844d08..df44a42ac9b1 100644 --- a/lib/libc/tests/stdlib/Makefile +++ b/lib/libc/tests/stdlib/Makefile @@ -61,7 +61,7 @@ CFLAGS+= -I${.CURDIR} LIBADD.cxa_thread_atexit_test+= pthread -# Tests that requires Blocks feature +# Tests that require blocks support .for t in qsort_b_test CFLAGS.${t}.c+= -fblocks LIBADD.${t}+= BlocksRuntime From nobody Tue Apr 22 17:45:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhqPy2khRz5sxj8; Tue, 22 Apr 2025 17:45:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhqPy0gjlz3SP5; Tue, 22 Apr 2025 17:45:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745343910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5acDPLb/kva67Ol5XS5vq24h/Phhl9IHKAckE+pyKdo=; b=EBIPfnQhhfsyRjzDt3+bmJivijb5BUbpa1/dUMdB1NtwQ5O+GMS70WCt9FD8O5TzvzQDxO II2tqVmUsOCpC/wU7jRaz7rXT4u8XlX471g9soBzVlbCNBWX6t89BvESMYT3CcPaN16dME Ffq/o8mbw5HAt0junE3dT3L8rc/VDdXCGCHTNoW++itGQBWH5CLWAFJn6LC32uaD5y+8fD NxFa0bsEKn/avdvkSpQNgExTCizUACBMVzw26XNjsKbjx3e/QN2LsSFSh+R495OXnC4X2F GK1Xx6VdYy75r6qYFvgyhJMA9ceFuNsKZ0fdZXcJ6yNWOVCO7FQMinmrblzYMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745343910; a=rsa-sha256; cv=none; b=d/EEgpRSmBa3HkzRQ50J8AhAq6/lTk8tYsFLZd3WJGb1IvdiM1YTYsfJT333jbpVau3rCd puFcm2UHImLtMZKoV9t5BK/a+I43xYEf2zGaDOfeJGX7KyQ4mHQ6y1/zlJmAMBEtQmtIaa W7RQPv8bWqyn8tRF29sa7Cr5TW2DqgM4QSrCHcRr6BL2nmdzKnL15w8DjsMAkJbwqtY4Lr MF8Qxh7XQFY8367bLBm3p2mkdxzzz9ZtkWGU0Q+YZfqQ5RaJq2OPkzcq4hfiLAHlalW2nH B/Uy5XCy84kyjKLJKGDHSyHU7a6d6WaEl1hn9teth1zpF4dw8dgCl+QpHueULw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745343910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5acDPLb/kva67Ol5XS5vq24h/Phhl9IHKAckE+pyKdo=; b=Dzg0KOiHwHplEN9EJkmqDUwYEGpzxdZLUDAlxF4dfJ7qkfvwV4zjC5Mto22oYSlfYQDmpq 5Xp/tiVlHPIgygiQKUvNUFDnhyXsPiUB4c/+hY7NOJAj21lDD3p6IRzMdYnzjoPqUGyzba xXlDJzAVJX0Jx65M2WEyUTyDoWmWDcxlR3c1Ard4YGz711Z3MR+P+dRX7eVl9Gluw6bmyu srTer4jV5XFiMEokHVDrX/DC5vkTFnTBlTaKEEKqhIpAddVm0NCP8eiECmcgiLkdYgg1Ul 2a2pi9YrtkmS0TCBSUc+eWZDuIxNCUcN/ncSZsd6tLM/jiSbdwr1CauE/q/wNA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhqPy097pzCh7; Tue, 22 Apr 2025 17:45: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 53MHj92Z036779; Tue, 22 Apr 2025 17:45:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MHj9Af036776; Tue, 22 Apr 2025 17:45:09 GMT (envelope-from git) Date: Tue, 22 Apr 2025 17:45:09 GMT Message-Id: <202504221745.53MHj9Af036776@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 12668eadcb82 - main - bsd.compiler.mk: Add a blocks compiler feature. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 12668eadcb82ec4e1bca83dc93f976bd3655ad79 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=12668eadcb82ec4e1bca83dc93f976bd3655ad79 commit 12668eadcb82ec4e1bca83dc93f976bd3655ad79 Author: Dag-Erling Smørgrav AuthorDate: 2025-04-22 17:44:58 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-04-22 17:44:58 +0000 bsd.compiler.mk: Add a blocks compiler feature. Sponsored by: Klara, Inc. Reviewed by: jrtc27 Differential Revision: https://reviews.freebsd.org/D49963 --- lib/libc/gen/Makefile.inc | 2 +- lib/libc/tests/gen/Makefile | 2 +- lib/libc/tests/stdlib/Makefile | 2 +- share/mk/bsd.compiler.mk | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index fb2f0afaa2c7..9a223f2f69e8 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -168,7 +168,7 @@ SRCS+= \ valloc.c \ wordexp.c -.if ${COMPILER_TYPE} == "clang" +.if ${COMPILER_FEATURES:Mblocks} CFLAGS.fts.c= -fblocks .endif diff --git a/lib/libc/tests/gen/Makefile b/lib/libc/tests/gen/Makefile index 5c0febce81c1..247b44f50484 100644 --- a/lib/libc/tests/gen/Makefile +++ b/lib/libc/tests/gen/Makefile @@ -7,7 +7,7 @@ ATF_TESTS_C+= fmtcheck2_test ATF_TESTS_C+= fmtmsg_test ATF_TESTS_C+= fnmatch2_test ATF_TESTS_C+= fpclassify2_test -.if ${COMPILER_TYPE} == "clang" +.if ${COMPILER_FEATURES:Mblocks} ATF_TESTS_C+= fts_blocks_test .endif ATF_TESTS_C+= ftw_test diff --git a/lib/libc/tests/stdlib/Makefile b/lib/libc/tests/stdlib/Makefile index df44a42ac9b1..08e356fc8706 100644 --- a/lib/libc/tests/stdlib/Makefile +++ b/lib/libc/tests/stdlib/Makefile @@ -7,7 +7,7 @@ ATF_TESTS_C+= heapsort_test ATF_TESTS_C+= libc_exit_test ATF_TESTS_C+= mergesort_test ATF_TESTS_C+= qsort_test -.if ${COMPILER_TYPE} == "clang" +.if ${COMPILER_FEATURES:Mblocks} ATF_TESTS_C+= qsort_b_test .endif ATF_TESTS_C+= qsort_r_compat_test diff --git a/share/mk/bsd.compiler.mk b/share/mk/bsd.compiler.mk index e8d48cf0b5bf..2babccf91df1 100644 --- a/share/mk/bsd.compiler.mk +++ b/share/mk/bsd.compiler.mk @@ -245,6 +245,7 @@ ${X_}COMPILER_FEATURES+= c++20 ${X_}COMPILER_FEATURES+= init-all .endif .if ${${X_}COMPILER_TYPE} == "clang" +${X_}COMPILER_FEATURES+= blocks ${X_}COMPILER_FEATURES+= retpoline # PR257638 lld fails with BE compressed debug. Fixed in main but external tool # chains will initially not have the fix. For now limit the feature to LE From nobody Tue Apr 22 18:12:44 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zhr1n0Q9Hz5t0gK; Tue, 22 Apr 2025 18:12:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhr1m68D1z3hbV; Tue, 22 Apr 2025 18:12:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745345564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9fGuhqWr0PMHCLt8DrjerneIoJL2WCG2CgfQunuyrek=; b=sh63KGVB7WLLAZu2MvkiKzY2i5qOL2i3ONBuF43yHmkSPAhI8bRu9q4IIJEdecSf+34yhg S9brB4u+uM3Ngnjc4OqU51Ajr9HwpLyOPO6AKfb1cacIHRuF7S1I5aOiB7zNJWplfzt60H q/PPfaOmmAfe/lRXKT5QoUV4k9Md5RpHGrwz/Rqbx0/fDVkJdaePE3yAWUfKAXI6iEqE64 RspdkSmo+ISQqUZxq9lJ3o9S0w+1TYBOPyD/xnujlHMftvxAcJAXdA3GXd4KKN2ccMTo31 ffUG57BoqukZnj3nK6N2UQntWk8+kP+tqvhIlYMmMqQA225rAGfYz02EWATPpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745345564; a=rsa-sha256; cv=none; b=bGg431FRR1NlgRKSK+V+Mnd8IdcccuKfq2iuAbcij/AheSk9PiGoIsSAgKptcYDnMO2L9S UizVDXkl5twfiRo5EbY30CHKHYeH4FxCD+YzVBSCHhv50qO4dpYJsIPCKDtrXR83Q5wWwP ZuyQ+cOOtpnjfdKav1fSQVbOeGCE9XSe77UHnXPJjtbS4OVbpc0srstpenTXsCN///FdR2 eMwFoOwAf5KG3almP27jyS6TWVskYWNfafykxWsr6I5UJJRePTd/r/qGbOIScCZMpykI5s SIPHYvMl71vzBknOib5/0V5MFeG1IhKQF356FOMHaMM2gfjYZtUrNoWsOhcaRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745345564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9fGuhqWr0PMHCLt8DrjerneIoJL2WCG2CgfQunuyrek=; b=ck+ZYTUjwaVqsPJHD+GHERtGPfrktFqdJb3L0smoUeInJfZHcjV4g0TAaSEQae/0T9iFEl 7Uj8FqRKH/tdimzTySFvis2eP+hZiBGGhxF7m/fBiChxLp+WNwe8jEGhoZbDSwsJWGbJOo vB+N0lDsKy77yuQlxpf1AYBuVv9hfLAkUg8J6x6FFRTJbbw+OA6aNPFv7GV8jEr0HGjZ4f DA4ZgcNBqrKip4zcYCLNGzZSymd3nTdFoqn42UP5WclpRBxT3aCrwdl/TIk01GzfKfjaKB TRn+xS1j07NZjC03UVAGkk805KMA8+D/hIQryCkfxQTn9TYXXR7OFGsdzk3Pbw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zhr1m515CzTtr; Tue, 22 Apr 2025 18:12: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 53MICitK092879; Tue, 22 Apr 2025 18:12:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MICiwJ092876; Tue, 22 Apr 2025 18:12:44 GMT (envelope-from git) Date: Tue, 22 Apr 2025 18:12:44 GMT Message-Id: <202504221812.53MICiwJ092876@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: d8e841a9aa1f - main - libc: treat execvpe as a week symbol List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d8e841a9aa1f8c4ce50d98b01f1ba1376cdd9705 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=d8e841a9aa1f8c4ce50d98b01f1ba1376cdd9705 commit d8e841a9aa1f8c4ce50d98b01f1ba1376cdd9705 Author: SHENGYI HONG AuthorDate: 2025-04-02 20:35:13 +0000 Commit: Ed Maste CommitDate: 2025-04-22 18:12:26 +0000 libc: treat execvpe as a week symbol Some program intercepts the execvpe call in runtime. At the same time, the implementation of posix_spwan use execvpe. If execvpe is intercepted and then calls posix_spawn when intercepted. It wil create a infinite loop because the intercepted execvpe will spawn a posix_spwan call and will be intercepted again. See https://github.com/rizsotto/Bear/issues/557 for reference. Reviewed by: brooks, kib, emaste Sponsored by: FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49733 --- lib/libc/gen/exec.c | 6 ++++-- lib/libc/gen/posix_spawn.c | 2 +- lib/libc/include/libc_private.h | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/libc/gen/exec.c b/lib/libc/gen/exec.c index d9285733e965..926c50d64852 100644 --- a/lib/libc/gen/exec.c +++ b/lib/libc/gen/exec.c @@ -136,7 +136,7 @@ execv(const char *name, char * const *argv) int execvp(const char *name, char * const *argv) { - return (execvpe(name, argv, environ)); + return (__libc_execvpe(name, argv, environ)); } static int @@ -288,7 +288,7 @@ execvP(const char *name, const char *path, char * const argv[]) } int -execvpe(const char *name, char * const argv[], char * const envp[]) +__libc_execvpe(const char *name, char * const argv[], char * const envp[]) { const char *path; @@ -298,3 +298,5 @@ execvpe(const char *name, char * const argv[], char * const envp[]) return (execvPe(name, path, argv, envp)); } + +__weak_reference(__libc_execvpe, execvpe); diff --git a/lib/libc/gen/posix_spawn.c b/lib/libc/gen/posix_spawn.c index ee2ce05ff317..a5b732696b8c 100644 --- a/lib/libc/gen/posix_spawn.c +++ b/lib/libc/gen/posix_spawn.c @@ -261,7 +261,7 @@ _posix_spawn_thr(void *data) } envp = psa->envp != NULL ? psa->envp : environ; if (psa->use_env_path) - execvpe(psa->path, psa->argv, envp); + __libc_execvpe(psa->path, psa->argv, envp); else _execve(psa->path, psa->argv, envp); psa->error = errno; diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h index 4c244f962b2b..41b44456b6ee 100644 --- a/lib/libc/include/libc_private.h +++ b/lib/libc/include/libc_private.h @@ -345,6 +345,7 @@ struct __ucontext; struct __wrusage; enum idtype; +int __libc_execvpe(const char *, char * const *, char * const *); int __libc_sigaction(int, const struct sigaction *, struct sigaction *) __hidden; int __libc_sigprocmask(int, const __sigset_t *, __sigset_t *) From nobody Tue Apr 22 18:17:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zhr6l3YLLz5t0q1; Tue, 22 Apr 2025 18:17:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhr6l0j6Qz3lcW; Tue, 22 Apr 2025 18:17:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745345823; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y7MSVfjxkWkEVC526AWTi1vR+3OHVNezt44OsR5yUaU=; b=QATGWwwKfEvRlJL2MuXHswWGYePk7q69P8DCEShsaQ9BmJa3n6oSiYZmKCkq80Dx1mA4+a soNBVufAwHlfclPdGFIky35/5qw9ASya/JFev3ZDC/X8gEuvDdqYKL9uwssY0LE3wcICNT noRoh/hsDg3WH6a1es5JzqpgFyHDL/HpdxwuWQ1b2+bBZHfCx55yoC9HJI8QWn5wfcTgC4 TeyWIuK9dH7enlI1fWH880Bc4ifWNMEUOlgwqvQ/4qv9HWawrDFTgIYHFP28qWqApEKTx0 gbYDDG8zl/89YvqEZftmJBSbLpBjRvOiQbZuZxatJEGL3rUTmx9ikmd/ZmshcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745345823; a=rsa-sha256; cv=none; b=kZePZyiprJsEAhysdkcWI8aEHWoq5jHDIRYDuyAC4ZqyFbSi9ffMdafCpg1t9T47dkD84Y fg+Pfg+/VGwc19oIjZT+Hh+KvKVm6lhZBgh8jSInJOLi4UjzxI81sIzlyv2/flqpMyq1q9 uco6u2XJnP4+CoJgdw6FJhEY7NrWGX4dmkjqhW/3j8RoM3CAYGbo6JOCuBxI1pe1Acl5sK nS7UQVG6UEVtpOMmVyhk1jUkJQMgcX+6lj0M1C+WeUD+ED/IgWqo8EjdKmUmhaiupnaqcO pvF3GRpf19AMhgLrJuQ2bTtDgJ4hkbmvKXuleWTWeIB2lvd3IqfrqAyMlwc9SQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745345823; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y7MSVfjxkWkEVC526AWTi1vR+3OHVNezt44OsR5yUaU=; b=A16KPEpuVNqmsDs6FcE42G41fxtWGgSChl54RkV0tahvR137wZLt+ooePYNikNUUsE+ekW BI4xsAePh8W7p8o/Vakme/GhLT2Fs+hROZJ2nWFCa4f5L2RKvmJ7JGmhbV3/Kh1SHSVOSp EAmL/Dc35M8ekU3vlbBz/r24pgkO0tbXGTsLS+lSXwSKsFY0LJUJ0hW9yktkvk/s/DFM2d vCZnCMPitboOjZFXuhoTyFvVuHZ4do2Xldk8DTqdk+utgsbiovfWXu5lSuuJY0nwNwEsAM YiGoDKVkMdQpObe3UQ94nYJDOSr49N3jAUdyAJLIpTjPK609cXZFdC8tbqnL+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zhr6l0Jw2zTtv; Tue, 22 Apr 2025 18:17: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 53MIH2bF094293; Tue, 22 Apr 2025 18:17:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MIH2TY094290; Tue, 22 Apr 2025 18:17:02 GMT (envelope-from git) Date: Tue, 22 Apr 2025 18:17:02 GMT Message-Id: <202504221817.53MIH2TY094290@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a1a06bc68661 - main - ghpr: Make init a little more robust List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a1a06bc686615bc4ff32b553ad1193fb30406607 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a1a06bc686615bc4ff32b553ad1193fb30406607 commit a1a06bc686615bc4ff32b553ad1193fb30406607 Author: Warner Losh AuthorDate: 2025-04-22 16:25:17 +0000 Commit: Warner Losh CommitDate: 2025-04-22 18:16:55 +0000 ghpr: Make init a little more robust Use newer git config subcomands and set the values so we don't get repetition. Sponsored by: Netflix --- tools/tools/git/ghpr/ghpr-init.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/tools/git/ghpr/ghpr-init.sh b/tools/tools/git/ghpr/ghpr-init.sh index 3b1d65c56fe2..567148b14716 100644 --- a/tools/tools/git/ghpr/ghpr-init.sh +++ b/tools/tools/git/ghpr/ghpr-init.sh @@ -16,12 +16,14 @@ if [ "$(git config branch.${BRANCH}.opabinia)" = "true" ]; then # Bail if the branch already exists else if git rev-parse --verify ${BRANCH} > /dev/null 2>&1; then - echo "Branch ${BRANCH} already exists, skipping creation" + echo "Branch ${BRANCH} already exists, skipping creation, but rebasing to ${base}" + git rebase ${base} ${BRANCH} else # Create the branch and tag it as the one we're using for opabinia merging. + echo "Creating ${BRANCH} from ${base} to land changes" git checkout -b ${BRANCH} ${base} || die "Can't create ${BRANCH}" fi fi -git config --add --type bool branch.${BRANCH}.opabinia true || die "Can't annotate" -git config --add branch.${BRANCH}.opabinia.base ${base} || die "Can't annotate" +git config set --type bool --all branch.${BRANCH}.opabinia true || die "Can't annotate" +git config set --all branch.${BRANCH}.opabinia.base "${base}" || die "Can't annotate" From nobody Tue Apr 22 18:20:33 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhrBq01cSz5t19C; Tue, 22 Apr 2025 18:20: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhrBp1BrJz3nj9; Tue, 22 Apr 2025 18:20:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745346034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UqcRkviwRStFDZyBl6pG4IO10lN0XscnwvVWUz1oyCg=; b=l/m7+MTs+J1dvpYa2RHJzgj+Uqvum2bN6MNWVAKmhSubJT8fr13fYHwhfXllOb1OwWkqjy MmKyg4c5cGJ0vRKN1uPx7+pjC2kzTPnnZwMK5gW2aXP0HSgZf//0+raefzOZhAlufNq2zt q8lwolszgTNWaByVxLAypH/H0wecLGjMA2goo/j8Ai5JwTq260hoycoXz/46zM20m06ElQ spSljuQyRhBIBscNpbEzfchM1G9GTUBXP/tZu53BK6yqbsjp/tEiMmxMTJ2GTnrjPUXGQ/ i1QpRHrbo3hf8WMUFTmCZgX3EI3bCQtmJTemCUQXePLQ4E/hDcINdDolZFFr0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745346034; a=rsa-sha256; cv=none; b=Di2uPolTGEFw/kjVV/h7ewq52jEqlI9PEBdRPJjIOTha9MIzFKYfpUgbyRtPFmB13Sr8Bq CjxgxeWs+1mIQibQniAnxZIH31d2wt1NjFOhmS7yX1Cs8lZV+/dCbH3+i5T1qN9riF6fj9 liABsoMkPBITUdqddItOVd4w3AaEmh7V1cPMbuwtBDdbim6mz0gJWFhTbVeZHUSiqkdekf JpnjaK+MZtbGdU9nNlTfpxp/06yfWSnJ2f2Iyd0MdNewmsIIEE/gq90gdbcmn1fWBqkxt9 AeSdEA3dTef8wkfu6ckiXS7947AUnmI1kWnhv+KpwrNk1qR5rc7s7T23H0RO1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745346034; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UqcRkviwRStFDZyBl6pG4IO10lN0XscnwvVWUz1oyCg=; b=Ef/si12tkEDOxGtiK/0uP67nt43wubllX4NFMJrcCaJ8gEuAj+KXmI/RJFsaBs03v/ereT R/tcyga8DKQGEGSlYKsmA3Ll7dVy+ELaGIgRW/HGpza/Q7DjYIrmG87LHbtBWkPrdzJ0od T2ATSbBOGm6uIxhqV15RcbL6xex+oUe2oUap1lVam9ECYX8FwadjHXMpcIOydeMof5kIXF Up9WtcNdU2tv0HU26lRDaEWDaY5Rnwvxuv4ISPFKQqaijEDrjTuN0hQLvky9tk/woYiKFa T/QC3dG0o2b+/RZtsF10vO/5g+1orCU0EcYGh0ESdbdI+3Mq1ve1HIR5jmuekw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhrBn63Y5zVDf; Tue, 22 Apr 2025 18:20: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 53MIKXBU004130; Tue, 22 Apr 2025 18:20:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MIKXKm004127; Tue, 22 Apr 2025 18:20:33 GMT (envelope-from git) Date: Tue, 22 Apr 2025 18:20:33 GMT Message-Id: <202504221820.53MIKXKm004127@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 95f4e7f5e283 - main - LoongArch: sys/contrib/edk2: add support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 95f4e7f5e2833bf9e48ad8134258abb9a349157c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=95f4e7f5e2833bf9e48ad8134258abb9a349157c commit 95f4e7f5e2833bf9e48ad8134258abb9a349157c Author: yu shan wei AuthorDate: 2025-03-30 23:55:47 +0000 Commit: Warner Losh CommitDate: 2025-04-22 18:19:39 +0000 LoongArch: sys/contrib/edk2: add support copy from upstream: https://github.com/tianocore/edk2/tree/edk2-stable202408 commit: https://github.com/tianocore/edk2/commit/cd24eb578bb77e6a55d37c2e9afef4a6814a82ac Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1624 --- sys/contrib/edk2/Include/Library/BaseLib.h | 23 +++++++++++++++++++++++ sys/contrib/edk2/Include/Uefi/UefiBaseType.h | 14 ++++++++++++++ sys/contrib/edk2/Include/Uefi/UefiSpec.h | 5 ++++- 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/sys/contrib/edk2/Include/Library/BaseLib.h b/sys/contrib/edk2/Include/Library/BaseLib.h index 762cb9ac3abb..ac347f0adc2d 100644 --- a/sys/contrib/edk2/Include/Library/BaseLib.h +++ b/sys/contrib/edk2/Include/Library/BaseLib.h @@ -152,6 +152,29 @@ typedef struct { #endif // defined (MDE_CPU_RISCV64) +#if defined (MDE_CPU_LOONGARCH64) +/// +/// The LoongArch architecture context buffer used by SetJump() and LongJump() +/// +typedef struct { + UINT64 S0; + UINT64 S1; + UINT64 S2; + UINT64 S3; + UINT64 S4; + UINT64 S5; + UINT64 S6; + UINT64 S7; + UINT64 S8; + UINT64 SP; + UINT64 FP; + UINT64 RA; +} BASE_LIBRARY_JUMP_BUFFER; + +#define BASE_LIBRARY_JUMP_BUFFER_ALIGNMENT 8 + +#endif // defined (MDE_CPU_LOONGARCH64) + // // String Services // diff --git a/sys/contrib/edk2/Include/Uefi/UefiBaseType.h b/sys/contrib/edk2/Include/Uefi/UefiBaseType.h index 6a2f33039377..6637a28ea6d9 100644 --- a/sys/contrib/edk2/Include/Uefi/UefiBaseType.h +++ b/sys/contrib/edk2/Include/Uefi/UefiBaseType.h @@ -248,6 +248,13 @@ typedef union { #define EFI_IMAGE_MACHINE_RISCV64 0x5064 #define EFI_IMAGE_MACHINE_RISCV128 0x5128 +/// +/// PE32+ Machine type for LoongArch 32/64 images. +/// +#define EFI_IMAGE_MACHINE_LOONGARCH32 0x6232 +#define EFI_IMAGE_MACHINE_LOONGARCH64 0x6264 + + #if defined (MDE_CPU_IA32) #define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \ @@ -281,6 +288,13 @@ typedef union { #define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) + #elif defined (MDE_CPU_LOONGARCH64) + +#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \ + ((Machine) == EFI_IMAGE_MACHINE_LOONGARCH64) + +#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) + #elif defined (MDE_CPU_EBC) /// diff --git a/sys/contrib/edk2/Include/Uefi/UefiSpec.h b/sys/contrib/edk2/Include/Uefi/UefiSpec.h index 0e165478d6c3..051834460512 100644 --- a/sys/contrib/edk2/Include/Uefi/UefiSpec.h +++ b/sys/contrib/edk2/Include/Uefi/UefiSpec.h @@ -2203,6 +2203,7 @@ typedef struct { #define EFI_REMOVABLE_MEDIA_FILE_NAME_ARM L"\\EFI\\BOOT\\BOOTARM.EFI" #define EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 L"\\EFI\\BOOT\\BOOTAA64.EFI" #define EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 L"\\EFI\\BOOT\\BOOTRISCV64.EFI" +#define EFI_REMOVABLE_MEDIA_FILE_NAME_LOONGARCH64 L"\\EFI\\BOOT\\BOOTLOONGARCH64.EFI" #if defined (MDE_CPU_IA32) #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_IA32 @@ -2215,7 +2216,9 @@ typedef struct { #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_AARCH64 #elif defined (MDE_CPU_RISCV64) #define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_RISCV64 -#else + #elif defined (MDE_CPU_LOONGARCH64) +#define EFI_REMOVABLE_MEDIA_FILE_NAME EFI_REMOVABLE_MEDIA_FILE_NAME_LOONGARCH64 + #else #error Unknown Processor Type #endif From nobody Tue Apr 22 18:40:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zhrdk55TLz5t29S; Tue, 22 Apr 2025 18:40:26 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhrdk3762z4128; Tue, 22 Apr 2025 18:40:26 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745347226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WegkpN4gyvvQPPT2923gNiN4CvoiA88uOwajHMWTZCE=; b=TNw7IMoBhwZhOyrd2BbGFUfFSMRD2NeM7uBQ/j+TV42hxkpJk+ygNyaJGQSNNO9e4g40Zj OWhUTCHayOJOpO0ALc+Ec9Kigho9NVKV+5x+jpiFX63SIwJFQQL2FrJraOO1AVg+2tXGRc prBz4HF2kHZn5TFTFeb+wmzwRj6Buiigktzzyx3+rIp2RZ9obIWCJdGDbm/lS/PJDWXdfZ WCmkcKN6BqFXqvUAmTJr9Ubkfbt7PFIckByyxYQfjDxTKcwRD4zK7tkC4YTqsvUcsWIgic 3RVJ+NRL6lzqFxClZmkvJknLcKU18ZIaY9MtQHUj2vLpi5MAE5KtYxX0707hyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745347226; a=rsa-sha256; cv=none; b=V1PCP7V+NdW8+6S1c1O4M+9OdMkBDPaesjSRexlsjTt71Gjf40WscuH1XX5uzqQqfva+JE WT3mvKjpuzi15C264+kmSyImbi/vLVjO1/pcRt8tk7uPGP2lnPF5YuNxMy+hZvthdtqnfG UX+xt8+07vhIcGol63zKO0hwLbEwB0lnpYiIlpAP4FBH4R8GKs/3WFOZe9kocnxFR3Z4Nd DL4SBEvlNgirGp4PahOJweyIabeHiYLmtm1SV72vmBWZSKcAACgHpd6R7FFEiqVSKNiN5V myb0185ZRM0PJvn0eDC0a913MJNB2IHaUfopTPPxmpT0BOqrgVy3AeATcq5Zyg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745347226; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WegkpN4gyvvQPPT2923gNiN4CvoiA88uOwajHMWTZCE=; b=oiZm5gvhqkEeYGyBXxvXYZ/K989ARarRf64WZIM7vaWF49jFnixsmO5dH0NKBJ1AM9+k5f R4RJHPHgHCkztKTdimNRhEbyMtmmYOxRb0UpNoxnjEJs+5F/UwUVhtDQeYCTb5R/ArEmFX oiNKWSPsf8yfz8MoJaC+Y9PjGF2Ebro3QHNXJgAKO84S3sax4JlgjQ0+QNCU2XLhoHQ/zp mTZZeMuzBYXmnx2Mvpi1v8/fEFW3RPMXW6xu0B0PYVjOUbhiCh0XC+FVdqLyojmmhabDl8 q/LPJV2KImsEpfnw02cn4YsdedqBgaZZ7+nklK0QaE1dwSgTAPbTTs3C2jp88w== Received: from [10.207.153.94] (unknown [205.153.92.157]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Zhrdk20yzzXK; Tue, 22 Apr 2025 18:40:26 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Tue, 22 Apr 2025 14:40:25 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 6527682ab705 - main - src: Use gnu++17 as the default C++ standard Content-Language: en-US To: Mark Millard , dev-commits-src-main@freebsd.org Cc: FreeBSD Toolchain References: <5B14F0FB-54D8-4FE0-BEFA-C4713DF11B20.ref@yahoo.com> <5B14F0FB-54D8-4FE0-BEFA-C4713DF11B20@yahoo.com> From: John Baldwin In-Reply-To: <5B14F0FB-54D8-4FE0-BEFA-C4713DF11B20@yahoo.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 4/11/25 13:14, Mark Millard wrote: > John Baldwin wrote on > Date: Fri, 11 Apr 2025 13:54:30 UTC : > >> The branch main has been updated by jhb: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=6527682ab7058e5023a2a6dea01d51c15dca701f >> >> commit 6527682ab7058e5023a2a6dea01d51c15dca701f >> Author: John Baldwin >> AuthorDate: 2025-04-11 13:53:50 +0000 >> Commit: John Baldwin >> CommitDate: 2025-04-11 13:53:50 +0000 >> >> src: Use gnu++17 as the default C++ standard >> >> Previously the compiler's default C++ standard was used unlike C where >> bsd.sys.mk explicitly sets a default language version. Setting an >> explicit default version will give a more uniform experience across >> different compilers and compiler versions. >> >> gnu++17 was chosen to match the default C standard. It is well >> supported by a wide range of clang (5+) and GCC (9+) versions. >> >> gnu++17 is also the default C++ standard in recent versions of clang >> (16+) and GCC (11+). As a result, many of the explicit CXXSTD >> settings in Makefiles had the effect of lowering the C++ standard >> instead of raising it as was originally intended and are removed. >> >> Note that the remaining explicit CXXSTD settings for atf and liblutok >> explicitly lower the standard to C++11 due to use of the deprecated >> auto_ptr<> template which is removed in later versions. >> >> Reviewed by: imp, asomers, dim, emaste >> Differential Revision: https://reviews.freebsd.org/D49223 > > [The note below is just a thought prompted by this. It applies > to the prior context as well.] > > As I understand many C++ ports use the system c++ toolchain > and libc++ to build and operate --and there is only one libc++ > available in some respects. If that is the case > . . . > > This ends ends up controlling the C++ library's features for > any libc++ library material used via any of: No, it does not. libc++ is mostly templates and uses many #ifdef's to provide support for multiple language standards. For the actual symbols required at runtime, we build libc++ such that it includes all of them (in particular, we use a higher CXXSTD to build libc++ itself and have for a long time). So, no, this doesn't change anything in libc++ itself. It merely changes the default C++ environment when using bsd.*.mk. The same is true of libstdc++ use by GCC. It also supports the full range of C++ versions in the dynamic library and does not require separate builds for different C++ versions. -- John Baldwin From nobody Tue Apr 22 20:03:52 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhtV11VYVz5t7RK; Tue, 22 Apr 2025 20:03:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhtV06p1gz3TlL; Tue, 22 Apr 2025 20:03:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745352233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/PXPFWYI1h2AtQ56IJKL0/OaNiaQZYydIyxCdscAkTQ=; b=sGFiXpVXxXX1R2QvyUXs2hhWCbTXUmUEmxBiT+7Pfg2o6y5lXsfuTS+ZinCekC2mpPyNoz DG6xkPn+YyPdDk9sJ37Y7JeSMmGLvnRzaBmldNBgWTp8OiNDReO1DrNi1J5Svj+j367/T7 b8Tme0PpeuJ84AZT5cB4fBiEHO4oJsDneX52R5zYUu6pTbR74yWcR9twlEh3M9wm9+Twq8 jTvU6NB3WnBgOz2qhvM9Mz2jvsp9h8QIkkfu3k9wYMC+QAk1GZozQ4dvdMfplppyHLsQY1 UcQaRTq1zBWQgTE1KTlguexxkylL82y/nli5qHDO75fMjYo1u4OJdwHDNv0IYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745352233; a=rsa-sha256; cv=none; b=aylSKQXAh+9glrVraKB57FGWQKmFT5Wj8QrFWN1Tsx9hM4+Tq4g1ZJYJZvm8aepYE0c5d0 atLOF8QIpBD2YlOU1XjeP+9I/qIB3HTZXPVwrU0Rph96h6ao528aNc0q3+k7ehd7ZwwP24 hjW/FC36SQzQXDGaku5AytjYOXRqIAHOMp1PeIN2f3Bu7Gwa89VvwPHmAb1sz2R/aVnEcE UQbilDNDBRrPXy4+OC5iSvcF8KJFjdTPQhu6lFGG1l0xHYBD13iB0PcHSmU/MnOVPoNaU2 woHQ+LIsu96pmNDMPUfM1NebDCeESe/HoUK8TpoxnAFrLqa3i/7IKqBSZNa2FA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745352233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/PXPFWYI1h2AtQ56IJKL0/OaNiaQZYydIyxCdscAkTQ=; b=sgvJOC+2xG5zZdo3HVoZNGNSlQ+Ep0NYiyZB6pLhKHB3D4Q2xfFq1A4DbRfpUc9DjdWx5v YUoUyrgcJkwGTBOSVD2vJwTsoN2IfVmshWlfy+EdOCQ/qJSLitv9KzSaYJGgoChf+4yOE+ cXjcghc+Ve9FNxGhDZ4eJOYr3BlkYXuiMNbhhA4jl5e6qRN19vN0zm7Okc5I+Nb1Wi4Cpm G3Eyibebd6JESuseOZkaxlpKXnA5uIYBrVpAMSFVeQ99JP8AX1DFa4SKc3zGLkm2G2yOtm DmpGlRK50sMWwJftDSCCe/tjyjtZQFjbNbOvW92JqtP8Tgg2oxIjhbrUBZi+Vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhtV06MwWzZKm; Tue, 22 Apr 2025 20:03: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 53MK3qtS098927; Tue, 22 Apr 2025 20:03:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MK3q7V098924; Tue, 22 Apr 2025 20:03:52 GMT (envelope-from git) Date: Tue, 22 Apr 2025 20:03:52 GMT Message-Id: <202504222003.53MK3q7V098924@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 22d5d61f91eb - main - mbuf: add mbuf information to KASSERTs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 22d5d61f91eb70ced6a010d9a1d60f0ff33fff2f Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=22d5d61f91eb70ced6a010d9a1d60f0ff33fff2f commit 22d5d61f91eb70ced6a010d9a1d60f0ff33fff2f Author: Bjoern A. Zeeb AuthorDate: 2025-04-13 13:25:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-22 20:03:30 +0000 mbuf: add mbuf information to KASSERTs Be more consistent about printing the mbuf pointer in KASSERT messages. This massively helps debugging and we were already doing a good job at it. Also replace some handrolled KASSERTs with M_ASSERTPKTHDR() for fewer copies of the check logic. In m_align() move the msg into the KASSERT given after it was moved here in ed6a66ca6c206 the msg is only used in one place. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: glebius, zlei Differential Revision: https://reviews.freebsd.org/D49817 --- sys/sys/mbuf.h | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h index 9373a3c3d656..58b7585303bb 100644 --- a/sys/sys/mbuf.h +++ b/sys/sys/mbuf.h @@ -1109,7 +1109,7 @@ static inline u_int m_extrefcnt(struct mbuf *m) { - KASSERT(m->m_flags & M_EXT, ("%s: M_EXT missing", __func__)); + KASSERT(m->m_flags & M_EXT, ("%s: M_EXT missing for %p", __func__, m)); return ((m->m_ext.ext_flags & EXT_FLAG_EMBREF) ? m->m_ext.ext_count : *m->m_ext.ext_cnt); @@ -1141,13 +1141,13 @@ m_extrefcnt(struct mbuf *m) /* Check if the supplied mbuf has a packet header, or else panic. */ #define M_ASSERTPKTHDR(m) \ KASSERT((m) != NULL && (m)->m_flags & M_PKTHDR, \ - ("%s: no mbuf packet header!", __func__)) + ("%s: no mbuf %p packet header!", __func__, (m))) /* Check if the supplied mbuf has no send tag, or else panic. */ #define M_ASSERT_NO_SND_TAG(m) \ KASSERT((m) != NULL && (m)->m_flags & M_PKTHDR && \ ((m)->m_pkthdr.csum_flags & CSUM_SND_TAG) == 0, \ - ("%s: receive mbuf has send tag!", __func__)) + ("%s: receive mbuf %p has send tag!", __func__, (m))) /* Check if mbuf is multipage. */ #define M_ASSERTEXTPG(m) \ @@ -1161,7 +1161,7 @@ m_extrefcnt(struct mbuf *m) */ #define M_ASSERTVALID(m) \ KASSERT((((struct mbuf *)m)->m_flags & 0) == 0, \ - ("%s: attempted use of a free mbuf!", __func__)) + ("%s: attempted use of a free mbuf %p!", __func__, (m))) /* Check whether any mbuf in the chain is unmapped. */ #ifdef INVARIANTS @@ -1206,12 +1206,9 @@ m_extrefcnt(struct mbuf *m) static __inline void m_align(struct mbuf *m, int len) { -#ifdef INVARIANTS - const char *msg = "%s: not a virgin mbuf"; -#endif int adjust; - - KASSERT(m->m_data == M_START(m), (msg, __func__)); + KASSERT(m->m_data == M_START(m), + ("%s: not a virgin mbuf %p", __func__, m)); adjust = M_SIZE(m) - len; m->m_data += adjust &~ (sizeof(long)-1); @@ -1531,14 +1528,16 @@ m_free(struct mbuf *m) static __inline int rt_m_getfib(struct mbuf *m) { - KASSERT(m->m_flags & M_PKTHDR , ("Attempt to get FIB from non header mbuf.")); + KASSERT(m->m_flags & M_PKTHDR, + ("%s: Attempt to get FIB from non header mbuf %p", __func__, m)); return (m->m_pkthdr.fibnum); } #define M_GETFIB(_m) rt_m_getfib(_m) #define M_SETFIB(_m, _fib) do { \ - KASSERT((_m)->m_flags & M_PKTHDR, ("Attempt to set FIB on non header mbuf.")); \ + KASSERT((_m)->m_flags & M_PKTHDR, \ + ("%s: Attempt to set FIB on non header mbuf %p", __func__, (_m))); \ ((_m)->m_pkthdr.fibnum) = (_fib); \ } while (0) @@ -1809,9 +1808,9 @@ static inline void mbuf_tstmp2timespec(struct mbuf *m, struct timespec *ts) { - KASSERT((m->m_flags & M_PKTHDR) != 0, ("mbuf %p no M_PKTHDR", m)); + M_ASSERTPKTHDR(m); KASSERT((m->m_flags & (M_TSTMP|M_TSTMP_LRO)) != 0, - ("mbuf %p no M_TSTMP or M_TSTMP_LRO", m)); + ("%s: mbuf %p no M_TSTMP or M_TSTMP_LRO", __func__, m)); ts->tv_sec = m->m_pkthdr.rcv_tstmp / 1000000000; ts->tv_nsec = m->m_pkthdr.rcv_tstmp % 1000000000; } @@ -1821,9 +1820,9 @@ static inline void mbuf_tstmp2timeval(struct mbuf *m, struct timeval *tv) { - KASSERT((m->m_flags & M_PKTHDR) != 0, ("mbuf %p no M_PKTHDR", m)); + M_ASSERTPKTHDR(m); KASSERT((m->m_flags & (M_TSTMP|M_TSTMP_LRO)) != 0, - ("mbuf %p no M_TSTMP or M_TSTMP_LRO", m)); + ("%s: mbuf %p no M_TSTMP or M_TSTMP_LRO", __func__, m)); tv->tv_sec = m->m_pkthdr.rcv_tstmp / 1000000000; tv->tv_usec = (m->m_pkthdr.rcv_tstmp % 1000000000) / 1000; } From nobody Tue Apr 22 20:03:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhtV22sT9z5t7n8; Tue, 22 Apr 2025 20:03:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhtV20zMkz3VGq; Tue, 22 Apr 2025 20:03:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745352234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fOJCrn3ZTIc/85XTk8QqDTVuVFA4/X75pqlgTMFsF3k=; b=hCOOfG8M+d32D+X6S4SHi5NcS0y/XccnAaThc+RMp+JdOhqZAotuL2V9nB/Qthwi5WfVcF hxag+t3Af6F2bdoMvtC4s0MNZ2rA839qoIXmIXZKKW3/LL3UP2PSnxgMb3VDITLMCzbiOf MBBYhzDyetXculYFdSVy8iBV3zp1QRfCuVgPip5GVdX95bY+aXAuBCAoAJU97aELtNgqU8 uAOXFX3rYVL02Ip0BaHJVk7Cgglrrm/fe51OPFiJb9AyTrQ3VGhUBWsowaBaAdND8Rp3xD K4jC3jQ0hXS+UgnyM4mRm8LMVJ4SR20lbQ6nwdItu6tmiNoTMB+h5zdW6oOekQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745352234; a=rsa-sha256; cv=none; b=lDmpGcXmZFJhJA+81u8t3LAAALAvqBAsQUGdcyBIb6csN63/52k+jPNeS2G3duE0urrVOE 5aJg2l0oEqojSlUXIiRXDc/tG0CB43YwPxZmo4/tX/u8rHK7Sv45LFGeIEpR0GbBOOqG5Z gsK4NY3osNQLGxPtlhkTc1sHGoGqUI2+/mbtLj8Cz3fuYIvK+k9KPHqn94ZTUYxrdL8y5S 6/532GR1xYZGE2cn5wT5SBZ/y1yAXprHJakpwEsDBXQs35XhX1QEJZaCLrnQ30V9ppHOpu S7JVRmOVgvel7So4L0A6bO8FLrDeZQUtUofpXQ7ZbJ5L6Yzu6FAz0SqeejRdZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745352234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fOJCrn3ZTIc/85XTk8QqDTVuVFA4/X75pqlgTMFsF3k=; b=ctfgK4yJPWl37ih8bHJO8JXS4W5QzqJgmaSFjerGvYr2s3jCq0u/zH7epF2XVARWzPsLFX 236w3GtbvIlwyc1XLPiQ/DmU4mAsJa4jMiWXAr3OErDtQamgYzhU38HXKBNNU3kSm/DLLD T8tFg3HZKXRfKPRXB29JoBeo91hnUEo4iEQBvkbp8Cqh2DPx78+4o9IGObBveQhJFR8Q/A Lf75JOF2pb01UcjbH857n+iL9NqsJuCIULpOysdBVyfvPyjiuRxhjtAK+Rq7Ffea/VOS62 T5MjqxVgncxymS8dWrYZdiphyoCZ5MUiO3FXkGh4xIBT8vmhHBPunsU33pquLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhtV20DPgzZTZ; Tue, 22 Apr 2025 20:03: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 53MK3rJO098965; Tue, 22 Apr 2025 20:03:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MK3rHP098962; Tue, 22 Apr 2025 20:03:53 GMT (envelope-from git) Date: Tue, 22 Apr 2025 20:03:53 GMT Message-Id: <202504222003.53MK3rHP098962@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 585388f9d986 - main - net80211: add IEEE80211_CONF_AMPDU_OFFLOAD for AMPDU[-TX] offload List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 585388f9d986151045aaedcde1d29f89e62975c3 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=585388f9d986151045aaedcde1d29f89e62975c3 commit 585388f9d986151045aaedcde1d29f89e62975c3 Author: Bjoern A. Zeeb AuthorDate: 2025-04-14 18:19:28 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-22 20:03:31 +0000 net80211: add IEEE80211_CONF_AMPDU_OFFLOAD for AMPDU[-TX] offload Drivers will set IEEE80211_FEXT_AMPDU_OFFLOAD to indicate to net80211 that the driver or the firmware will handle AMPDU[-TX] entirely on their own and net80211 should not do anything. Following the IEEE80211_CONF_FRAG_OFFLOAD() example add a IEEE80211_CONF_AMPDU_OFFLOAD() check in net80211 to handle the condition. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D49829 --- sys/net80211/ieee80211_output.c | 2 +- sys/net80211/ieee80211_var.h | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c index f2f89d2d9d7c..e3cd73cd22d6 100644 --- a/sys/net80211/ieee80211_output.c +++ b/sys/net80211/ieee80211_output.c @@ -214,7 +214,7 @@ ieee80211_vap_pkt_send_dest(struct ieee80211vap *vap, struct mbuf *m, * frames will always have sequence numbers allocated from the NON_QOS * TID. */ - if (do_ampdu) { + if (!IEEE80211_CONF_AMPDU_OFFLOAD(ic) && do_ampdu) { if ((m->m_flags & M_EAPOL) == 0 && (! mcast)) { int tid = WME_AC_TO_TID(M_WME_GETAC(m)); struct ieee80211_tx_ampdu *tap = &ni->ni_tx_ampdu[tid]; diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h index 6c52fd22f29e..e011d2dd32ed 100644 --- a/sys/net80211/ieee80211_var.h +++ b/sys/net80211/ieee80211_var.h @@ -100,6 +100,8 @@ ((ic)->ic_flags_ext & IEEE80211_FEXT_SEQNO_OFFLOAD) #define IEEE80211_CONF_FRAG_OFFLOAD(ic) \ ((ic)->ic_flags_ext & IEEE80211_FEXT_FRAG_OFFLOAD) +#define IEEE80211_CONF_AMPDU_OFFLOAD(ic) \ + ((ic)->ic_flags_ext & IEEE80211_FEXT_AMPDU_OFFLOAD) /* * 802.11 control state is split into a common portion that maps @@ -697,13 +699,14 @@ MALLOC_DECLARE(M_80211_VAP); #define IEEE80211_FEXT_VHT 0x00400000 /* CONF: VHT support */ #define IEEE80211_FEXT_QUIET_IE 0x00800000 /* STATUS: quiet IE in a beacon has been added */ #define IEEE80211_FEXT_UAPSD 0x01000000 /* CONF: enable U-APSD */ +#define IEEE80211_FEXT_AMPDU_OFFLOAD 0x02000000 /* CONF: driver/fw handles AMPDU[-TX] itself */ #define IEEE80211_FEXT_BITS \ "\20\2INACT\3SCANWAIT\4BGSCAN\5WPS\6TSN\7SCANREQ\10RESUME" \ "\0114ADDR\12NONEPR_PR\13SWBMISS\14DFS\15DOTD\16STATEWAIT\17REINIT" \ "\20BPF\21WDSLEGACY\22PROBECHAN\23UNIQMAC\24SCAN_OFFLOAD\25SEQNO_OFFLOAD" \ "\26FRAG_OFFLOAD\27VHT" \ - "\30QUIET_IE\31UAPSD" + "\30QUIET_IE\31UAPSD\32AMPDU_OFFLOAD" /* ic_flags_ht/iv_flags_ht */ #define IEEE80211_FHT_NONHT_PR 0x00000001 /* STATUS: non-HT sta present */ From nobody Tue Apr 22 20:03:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhtV36jc1z5t7TK; Tue, 22 Apr 2025 20:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhtV31clpz3V8F; Tue, 22 Apr 2025 20:03:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745352235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ustu5NiRBpH10iTSqMhfkh5IXGpL9RtV3RvHmRW4eWY=; b=Tm419XjRInQghatYxNM8RiAgWs96/HcmEwOolRLRSuQlW0XNQUS76zrRTKOoDbg4i9CQw7 O1FKS4ZvTxwufo/XMqrjGravz3LQ1Nf04j/QVfHhoDJD7gu3kIV+QHN3w1wjvL1G/hy/eJ oAt8+QKkXqXfZlCP8+Y1IC6A+LxtvFujju0awVgmC548VvSVuRVbLkL/f3jGD+lgLxU1lA Tztecfvq27DCtQ67wfHidJdy4OWn2+NJdb2re+BIYWziowxR6wBLsoSNmbMNcagmjTbxTX eDBqgazmeOhmwH0U6H672D4MnooPNKsIQGFlMxHXlWrO91jVbuc+rFQaSSmmlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745352235; a=rsa-sha256; cv=none; b=J9yEyqIBs0J6tdqUHBlvfQ7fUZSj7WEZtnz4rqvsc2vfhyXvCwRMv2ypoDG4ppp7omVlVv cM2kfFytpa3CiQFiF9DKRJ+gBSSDWg9LcMHPr+QzBiaPlAv9RidkefpRDpV0C//TMp5FLR KDqKyhGyoLzr6prMT/XNUywr2Yct3wjhhWmHOsZsuXSJ22jhX5BONPiVh+p+OWf5T8lrJM bryu9Sz08fwuEwyGIAz27hhD/lS7kP24SHzfBnyOFD5cEYGJsvUHb4KHkxpwesLx+o2MvR +6XwIsg3QIKzFpFFuiwOoNPm5uPyD82axsUGDFLKnIu1j1Hb8AMd7MtQWXnt1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745352235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ustu5NiRBpH10iTSqMhfkh5IXGpL9RtV3RvHmRW4eWY=; b=sgK/O81K/C5NPh9MDgqQdEfyiBWYanEk3hR2KELAKLvi17ZyIlMjrHkhODbyKoXP01seAb 6q8SiFhXGlNo7dL9+S6lzagImiPnEkQcaQZJvOc4Z8SJdOeht3NMDKfG8kyz6/Y+nWt8ot VZEZP8t2nFJ65MrXQ+TK2Re7VaGGsLBhG5MKd+w9wl0Hgore4QSShK0NnBpDxxatcTZdR9 1G+8SN67rLnO68IYESRCqKt/Q0UEqvDdmBRAw/dgboSyRpDjon9xBmDLmbGEFapBSmtrRn 40ajAf9ihHv+EvN0pVpPVAPwjuv49ykwUe3LfGVEvjxAvGfYEnFnBzoIjYThdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhtV31DVfzZFB; Tue, 22 Apr 2025 20:03: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 53MK3tL0099002; Tue, 22 Apr 2025 20:03:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MK3tMf098999; Tue, 22 Apr 2025 20:03:55 GMT (envelope-from git) Date: Tue, 22 Apr 2025 20:03:55 GMT Message-Id: <202504222003.53MK3tMf098999@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: dbc3b1cb4fa6 - main - LinuxKPI: 802.11: no need to lock during lkpi_lsta_alloc() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dbc3b1cb4fa6d1f9ac7ac1e860179ce1b432cd70 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=dbc3b1cb4fa6d1f9ac7ac1e860179ce1b432cd70 commit dbc3b1cb4fa6d1f9ac7ac1e860179ce1b432cd70 Author: Bjoern A. Zeeb AuthorDate: 2025-04-22 19:52:19 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-22 20:03:31 +0000 LinuxKPI: 802.11: no need to lock during lkpi_lsta_alloc() Given upon sta allocation we do not adjust the chanctx in case of mismatch there is not need to lock here. This fixes a problem that upon shutdown net80211 once again can race into here replacing the node from a context where it is holding a lock which does not allow us to hold an sx lock (sleeping thread holds a non-sleepable lock). Sponsored by: The FreeBSD Foundation MFC after: 3 days Reported by: ziaee Tested by: ziaee --- sys/compat/linuxkpi/common/src/linux_80211.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 0cd70d63a748..47eb52677cdf 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -777,9 +777,7 @@ lkpi_lsta_alloc(struct ieee80211vap *vap, const uint8_t mac[IEEE80211_ADDR_LEN], sta->deflink.bandwidth = IEEE80211_STA_RX_BW_20; sta->deflink.rx_nss = 1; - wiphy_lock(hw->wiphy); lkpi_sta_sync_from_ni(hw, vif, sta, ni, false); - wiphy_unlock(hw->wiphy); IMPROVE("he, eht, bw_320, ... smps_mode, .."); From nobody Tue Apr 22 20:35:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhvBM36FYz5t9Vd; Tue, 22 Apr 2025 20:35:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZhvBM2Swjz3Yk3; Tue, 22 Apr 2025 20:35:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745354123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iMXZCGIjYepneImw4Vuxz/cED9/mfkZwM9ecmSvAND0=; b=mKN2KwNSjuk9HP1IJdqJVjqtiNrYSANDM1Hvhe2Sv/NvTWXZBt7xgS+83bmaRbHzmflcZw M4q1Z8x3GI0Y0JLxJiHCxGOXZsObOhdT1iiT1YUCfZVv+3SYyzxGDv+HPKP7MgDm3liSD7 KOML+uiRCCO2QffPFQCahxZP5qxC2ei15Y+KE2G0izxH+5g1LfOm66n6uqgcOeFH8WRD78 0+KBMxh3Dmt+Pvjl/osqE5rBqsCJ93T11JHJEeuD/hCGo81OGcdR5lUwJwPm6r+JW0glys RaWSX6swFxK5zz069bQoR9f2jE5zmfXqBy91Ys2cnkrIiL82zOldF51C5Mo97A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745354123; a=rsa-sha256; cv=none; b=juCqm907NszTUmZE9f5InRCBhMveUK/V/K0w/tzaSZS7gTug+XOud1yv6iuzcANm5DEOsx wEVcQmC0CMRk+gq4CjRBzIpnJMwMblZINJx3TxlaNLIDO05ISz8tN2gyImVgno5uzRRrCV WjyzG7kNGGT3Zaqzag+goa1rAd1Zgj0TfoUasgOE7csPAXZ/NefTmJXF4DXGYJmV/nhS98 pwrIDBXu9fTJ1rh2CAs9ZWmvvHkg2oQ4RfVhwkZSdpr4O0GHaZ1g0mVkMxydT+VL2irXnm T4dZpMBC7YoZ2YNjWuIuiFuslv0BC7Cmtf82p7F51z5Fe93gCxlONPg/HyxjXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745354123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iMXZCGIjYepneImw4Vuxz/cED9/mfkZwM9ecmSvAND0=; b=bfAC07gQE/maLpw20G4rZK5hCA2P+oGTaoDU9fHvhC3UBIERq+Nw3/K4zyo83531C4edAE Jl6Ps969baS0OiGujnGhhX2f+NDLLxRlxnELV9+ZYbNHt/16sv7u8jDQazh0h1lP9CpIh6 HfKie2/aMlB7fLqvJafhyS0UP2PI6h4N8BNbZLh35CM9Stf9G8XuefghLyQhZRo637wBf5 +G/KoBRPN0Lpz/hfFcVK8qRUZjnhCvdBEVJ89gFMRSLX+FdIf0GDxxdcynwVDWiunH47T3 AXJG5mkmVipSswDJjnkhq6AdoRFrwJ5vTkw8FaCU3I0igkW1vYlK4q8UeqQEMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhvBM1ZlBzZWr; Tue, 22 Apr 2025 20:35: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 53MKZNf5055347; Tue, 22 Apr 2025 20:35:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MKZNVU055344; Tue, 22 Apr 2025 20:35:23 GMT (envelope-from git) Date: Tue, 22 Apr 2025 20:35:23 GMT Message-Id: <202504222035.53MKZNVU055344@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 584265890303 - main - EC2: Add AMI Builder AMI building List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 58426589030308cd632477d328b9536b1634c54d Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=58426589030308cd632477d328b9536b1634c54d commit 58426589030308cd632477d328b9536b1634c54d Author: Colin Percival AuthorDate: 2025-04-20 16:38:48 +0000 Commit: Colin Percival CommitDate: 2025-04-22 20:35:03 +0000 EC2: Add AMI Builder AMI building Starting in 2015 I have published "AMI Builder AMIs" for FreeBSD/EC2: These boot into a memory disk, extract a "clean" copy of FreeBSD onto the root disk, mount it at /mnt, and allow the user to SSH in to make customizations before creating a new AMI from the "running" instance (in fact, from the FreeBSD installation which is not running but is mounted on /mnt). This provides a much cleaner mechanism for building customized FreeBSD AMIs than the traditional Linux approach of "launch an EC2 instance, SSH in and configure it, then try to wipe logs and credentials before creating an AMI"; and it's easier than building a customized AMI ab initio by modifying the FreeBSD release-building code. This commit brings that functionality into the FreeBSD src tree and into the collection of images built by the release engineering team: The EC2 "BUILDER" flavour AMI is essentially a "SMALL" flavour AMI with a compressed "BASE" flavour disk image, plus an init script which juggles disks around (rerooting into a memory disk and extracting the "BASE" image onto disk). Polished by: bz, emaste MFC after: 1 week Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49930 --- release/Makefile.vm | 13 ++++++-- release/tools/ec2-builder.conf | 57 ++++++++++++++++++++++++++++++++ release/tools/mkami.sh | 65 +++++++++++++++++++++++++++++++++++++ release/tools/rc.amibuilder | 74 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 207 insertions(+), 2 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index 0b5f5e714cc5..7821109cf9ca 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -42,8 +42,9 @@ BASIC-CLOUDINIT_FSLIST?= ufs zfs BASIC-CLOUDINIT_DESC?= Images for VM with cloudinit disk config support EC2_FORMAT= raw EC2_FSLIST?= ufs zfs -EC2_FLAVOURS?= BASE CLOUD-INIT SMALL +EC2_FLAVOURS?= BASE BUILDER CLOUD-INIT SMALL EC2-BASE_DESC= Amazon EC2 image +EC2-BUILDER_DESC= Amazon EC2 AMI Builder image EC2-CLOUD-INIT_DESC= Amazon EC2 Cloud-Init image EC2-SMALL_DESC= Amazon EC2 small image GCE_FORMAT= raw @@ -124,14 +125,22 @@ CLEANFILES+= ${_CW:tl}.${_FS}.${_FMT}.img \ ${_CW:tl}.${_FS}.${_FMT}.raw ${_CW:tu}${_FS:tu}${_FMT:tu}IMAGE= ${_CW:tl}.${_FS}.${_FMT} +# Special handling: EC2 "AMI Builder" images need a copy of the "base" disk +# built first. +.if ${_CW} == EC2-BUILDER +cw-${_CW:tl}-${_FS}-${_FMT}: cw-ec2-base-${_FS}-${_FMT} +.endif + cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} mkdir -p ${.OBJDIR}/${.TARGET} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ + EC2BASEIMG=${.OBJDIR}/${EC2-BASE${_FS:tu}${_FMT:tu}IMAGE} \ ${WITHOUT_QEMU:DWITHOUT_QEMU=true} \ ${NO_ROOT:DNO_ROOT=true} \ ${.CURDIR}/scripts/mk-vmimage.sh \ - -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} -F ${_FS} \ + -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} \ + -F ${"${_CW:MEC2-BUILDER}" != "":?ufs:${_FS}} \ -i ${.OBJDIR}/${_CW:tl}.${_FS}.${_FMT}.img -s ${VMSIZE} -f ${_FMT} \ -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW:tu}${_FS:tu}${_FMT:tu}IMAGE} -c ${${_CW:tu}CONF} touch ${.TARGET} diff --git a/release/tools/ec2-builder.conf b/release/tools/ec2-builder.conf new file mode 100644 index 000000000000..7927fc13a74d --- /dev/null +++ b/release/tools/ec2-builder.conf @@ -0,0 +1,57 @@ +#!/bin/sh + +. ${WORLDDIR}/release/tools/ec2.conf + +# Build with a 7.9 GB partition; this is enough for our stripped-down +# base system plus the compressed ec2-base image. +export VMSIZE=8000m + +# Flags to installworld/kernel: We don't want debug symbols (kernel or +# userland), 32-bit libraries, tests, or the debugger. +export INSTALLOPTS="WITHOUT_DEBUG_FILES=YES WITHOUT_KERNEL_SYMBOLS=YES \ + WITHOUT_LIB32=YES WITHOUT_TESTS=YES WITHOUT_LLDB=YES" + +# Packages to install into the image we're creating. In addition to packages +# present on all EC2 AMIs, we install: +# * ec2-scripts, which provides a range of EC2ification startup scripts, +# * isc-dhcp44-client, used for IPv6 network setup, and +# * py-awscli, to make it easier for users to create AMIs. +export VM_EXTRA_PACKAGES="${VM_EXTRA_PACKAGES} ec2-scripts \ + isc-dhcp44-client devel/py-awscli" + +# Services to enable in rc.conf(5). +export VM_RC_LIST="${VM_RC_LIST} ec2_configinit ec2_ephemeral_swap \ + ec2_fetchkey ec2_loghostkey sshd" + +vm_extra_pre_umount() { + # Any EC2 ephemeral disks seen when the system first boots will + # be "new" disks; there is no "previous boot" when they might have + # been seen and used already. + touch ${DESTDIR}/var/db/ec2_ephemeral_diskseen + + # Configuration common to all EC2 AMIs + ec2_common + + # Standard FreeBSD network configuration + ec2_base_networking + + # Grab a copy of the ec2-base disk image, and compress it + zstd < ${EC2BASEIMG} > ${DESTDIR}/image.zst + + # Disable fortune so we don't have extra noise at login + chmod a-x ${DESTDIR}/usr/bin/fortune + + # Install the AMI-building script + install -m 755 ${WORLDDIR}/release/tools/mkami.sh ${DESTDIR}/bin/mkami + + # Install an /etc/rc which juggles disks around for us + install -m 755 ${WORLDDIR}/release/tools/rc.amibuilder ${DESTDIR}/etc + + # We want to mount from the UFS disk and juggle disks first + cat >> ${DESTDIR}/boot/loader.conf <<-EOF + vfs.root.mountfrom="ufs:/dev/gpt/rootfs" + init_script="/etc/rc.amibuilder" + EOF + + return 0 +} diff --git a/release/tools/mkami.sh b/release/tools/mkami.sh new file mode 100644 index 000000000000..cfbbcd3bc8a9 --- /dev/null +++ b/release/tools/mkami.sh @@ -0,0 +1,65 @@ +#!/bin/sh -e +# +# Copyright (c) 2015 Colin Percival +# +# SPDX-License-Identifier: BSD-2-Clause +# +# mkami.sh: Create an AMI from the currently running EC2 instance. +# + +export PATH=$PATH:/usr/local/bin + +NAME=$1 +if [ -z "$NAME" ]; then + echo "usage: mkami []" + exit 1 +fi +DESC=$2 +if ! [ -z "$DESC" ]; then + DESCOPT="--description '$DESC'" +fi + +# Get the instance ID and region from the EC2 Instance Metadata Service: +# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html +TMPFILE=`mktemp` +fetch -qo $TMPFILE http://169.254.169.254/latest/dynamic/instance-identity/document +INST=`awk -F \" '/"instanceId"/ { print $4 }' $TMPFILE` +REGION=`awk -F \" '/"region"/ { print $4 }' $TMPFILE` +rm $TMPFILE +CMD="aws --region $REGION ec2 create-image --instance-id $INST --output text --no-reboot --name '$NAME' $DESCOPT" + +# Unmount the new system image +if mount -p | grep -q '/mnt.*ufs'; then + echo -n "Unmounting new system image..." + sync + umount /mnt + sync + sleep 5 + sync + echo " done." +elif mount -p | grep -q '/mnt.*zfs'; then + echo -n "Unmounting new system image..." + sync + zfs umount -a + zfs umount zroot/ROOT/default + sync + sleep 5 + sync + echo " done." +fi + +if eval "$CMD" --dry-run 2>&1 | + grep -qE 'UnauthorizedOperation|Unable to locate credentials'; then + echo "This EC2 instance does not have permission to create AMIs." + echo "Launch an AMI-builder instance with an appropriate IAM Role," + echo "create an AMI from this instance via the AWS Console, or run" + echo "the following command from a system with the necessary keys:" + echo + echo "$CMD" + exit +fi + +echo -n "Creating AMI..." +AMINAME=`eval "$CMD"` +echo " done." +echo "AMI created in $REGION: $AMINAME" diff --git a/release/tools/rc.amibuilder b/release/tools/rc.amibuilder new file mode 100644 index 000000000000..b25e8facb597 --- /dev/null +++ b/release/tools/rc.amibuilder @@ -0,0 +1,74 @@ +#!/bin/sh +# +# Copyright (c) 2025 Colin Percival +# +# SPDX-License-Identifier: BSD-2-Clause +# +# rc.amibuilder: Juggle disks to reroot into a memory disk and install a clean +# copy of FreeBSD onto the root disk. +# + +# Do nothing if init(8) is in the middle of rerooting +if ps -p 1 -o command | grep -q reroot; then + exit 0 +fi + +# Figure out which partition we boot from +BOOTPART=$(sysctl -n kern.geom.conftxt | + grep -E 'PART|gpt/rootfs' | + grep -B 1 gpt/rootfs | + awk '{ print $3 }' | + head -1) +BOOTDISK=${BOOTPART%%p*} +BOOTPARTNUM=${BOOTPART##*p} + +# First pass: Copy ourselves into a memory disk and reroot into it +if ! [ -c /dev/md0 ]; then + # Create a memory disk of appropriate size and copy the disk + echo "Copying FreeBSD into memory disk..." + DISKBYTES=$(diskinfo ${BOOTDISK} | awk '{print $3}') + mdconfig -a -t swap -s ${DISKBYTES}b -u 0 + dd if=/dev/${BOOTDISK} of=/dev/md0 bs=1M + + # Reboot into the memory disk we just created + echo "Rebooting into memory disk..." + kenv vfs.root.mountfrom="ufs:/dev/md0p${BOOTPARTNUM}" + reboot -r + + # Lose a race against init + sleep 10 + exit 1 +fi + +# Second pass: Extract a clean copy of FreeBSD onto the physical disk +echo "Installing base FreeBSD image..." +sysctl kern.geom.debugflags=16 +zstdcat < /image.zst | dd bs=1M of=/dev/${BOOTDISK} + +# Mount the clean image +if gpart show ${BOOTDISK} | grep -q freebsd-ufs; then + mount /dev/${BOOTPART} /mnt +else + zpool import -aNR /mnt + zfs mount zroot/ROOT/default + zfs mount -a +fi + +# Provide instructions for when the user logs in +mount -w / +cat >/etc/motd.template < [] + +to create the AMI. Don't forget to shut down this instance when +you're done! + +EOF +mount -o ro / + +# After we exit, the boot proceeds with init spawning /etc/rc normally +exit 0 From nobody Tue Apr 22 21:51:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zhwtj4t8Lz5tFTh; Tue, 22 Apr 2025 21:51:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zhwtj1B9xz3g8D; Tue, 22 Apr 2025 21:51:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745358717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OJ2WtnhAwCmQJ62lNaG7/HsTFKQ2Hxw90vtcXmkrPtU=; b=u3yWsfO5FYR7auT4jVZgy1dOsK1RQmgaeJ1wJzBnFXTqD3iyvs6U622tP8oVeSvxnyWIKy Ep6SAbskVbMhOgM2PNMnIJ6PvGNTEldwZO1pyd3qkIZXjyDQb7LbjppukZCuF5DF3xdyBP 6u4JA/d7ulDL38cK5n8YqIEKHSmEjdfBNLQcqwc3huXhNHC1/Mm3rZyso2pSBzyVxuB3UX LcV2ytCZAb0hZpAANKpeS89T7LEAB53FRLhdAwn3dluqh9ohffZGJRdKudeJ6D0QpmpBDD UENmBg0GF15jSfLUkKOCYAgR6/HtxlRnb1V4r8nmSSYB/um0pCzVUoeBWAhyOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745358717; a=rsa-sha256; cv=none; b=R+hQY+az9q4yDmBNxBHSIr/oGrfBBhyiHCve5orGk0AfHwLfmBj96X2iaIEYYPPK9c3OdF P3cNd1kaNV0jlGR0XG+40W1Qx9fojd+9fB1MGM7bAXeUbXIWV+R0yChL6vclSHf7U4D2Si 6CRRhbm58CdXZ46FkDH2OjDeV87hsinLP5yAsyGtKWLBk8KlxEoKztGnNPJUqahyINv/uQ 6MmL40Zs/dHjX+w3d51MVjJwFIjT4O+x2rOERlkeWzUkx3jTSQO1WtMJyz7AXN8cV9Ubem 0xLDXQZg844Fkh+/ux2y9LZ8oozAjk8DcoUAR9yqWZRlvsM7rkQwVb9F265MOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745358717; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OJ2WtnhAwCmQJ62lNaG7/HsTFKQ2Hxw90vtcXmkrPtU=; b=oImTkkz7Jt0o64Zp7lAXq6IryRqYVnBvmeAP3PH6QEi/ldyCOgZ5Rfc21w+qqIodV8ZP1K QwCkgr3ACRDP7qDvCH4tiJWlz1LfmD39sgKXXdgdkhaLCh5kXRXsx4MNDvUkd2RuH9t/0v 7KeJ41X5a/megKyHuj0d06IB2bmFTJ+O8NaHEAcI+v5wQDQT62CSYQbruOXC6IceUtr04q jDXoJ6AtZZBS1LM+mY6erfIrlQMTqcXG5O1A139M/WfxvPVzGqjEQDHee3RmpMTAEZGq/u crzXySO9DE3u72kg2IMpUzcsBhLV90RCWN4kT8ctirJxJeCyIO+OB/0T8e2vbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zhwtj0nc7zd7B; Tue, 22 Apr 2025 21:51: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 53MLpv1H098086; Tue, 22 Apr 2025 21:51:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MLpvQ2098083; Tue, 22 Apr 2025 21:51:57 GMT (envelope-from git) Date: Tue, 22 Apr 2025 21:51:57 GMT Message-Id: <202504222151.53MLpvQ2098083@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: a123502ef781 - main - Search for mntopts.h globally, not locally List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a123502ef781ea052e842af25c7aeb64fd9fe217 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=a123502ef781ea052e842af25c7aeb64fd9fe217 commit a123502ef781ea052e842af25c7aeb64fd9fe217 Author: Brooks Davis AuthorDate: 2025-04-22 21:51:12 +0000 Commit: Brooks Davis CommitDate: 2025-04-22 21:51:42 +0000 Search for mntopts.h globally, not locally Change the include directives to use instead of "mntopts.h" now that it's installed by libutil (the latter option was dubious regardless since a -I${SRCTOP}/sbin/mount was required anyway). Reviewed by: olce, imp, dim, emaste Differential Revision: https://reviews.freebsd.org/D49952 --- contrib/smbfs/mount_smbfs/mount_smbfs.c | 3 +-- lib/libutil/mntopts.c | 3 +-- sbin/init/init.c | 2 +- sbin/mount/mount.c | 2 +- sbin/mount/mount_fs.c | 2 +- sbin/mount_cd9660/mount_cd9660.c | 3 +-- sbin/mount_fusefs/mount_fusefs.c | 3 +-- sbin/mount_msdosfs/mount_msdosfs.c | 3 +-- sbin/mount_nfs/mount_nfs.c | 2 +- sbin/mount_nullfs/mount_nullfs.c | 3 +-- sbin/mount_udf/mount_udf.c | 3 +-- sbin/mount_unionfs/mount_unionfs.c | 3 +-- tests/sys/fs/fusefs/fallocate.cc | 3 +-- tests/sys/fs/fusefs/mockfs.cc | 3 +-- tests/sys/fs/fusefs/mount.cc | 2 +- usr.sbin/autofs/automount.c | 2 +- usr.sbin/mountd/mountd.c | 2 +- 17 files changed, 17 insertions(+), 27 deletions(-) diff --git a/contrib/smbfs/mount_smbfs/mount_smbfs.c b/contrib/smbfs/mount_smbfs/mount_smbfs.c index 99f1cee8ed2e..5b357655b642 100644 --- a/contrib/smbfs/mount_smbfs/mount_smbfs.c +++ b/contrib/smbfs/mount_smbfs/mount_smbfs.c @@ -47,6 +47,7 @@ #include #include #include +#include #include @@ -56,8 +57,6 @@ #include -#include "mntopts.h" - static char mount_point[MAXPATHLEN + 1]; static void usage(void); diff --git a/lib/libutil/mntopts.c b/lib/libutil/mntopts.c index 0912b1e1a306..1d9347e3108a 100644 --- a/lib/libutil/mntopts.c +++ b/lib/libutil/mntopts.c @@ -36,14 +36,13 @@ #include #include +#include #include #include #include #include #include -#include "mntopts.h" - int getmnt_silent = 0; void diff --git a/sbin/init/init.c b/sbin/init/init.c index b6908f19fd82..b345c8fa219a 100644 --- a/sbin/init/init.c +++ b/sbin/init/init.c @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -69,7 +70,6 @@ #include #endif -#include "mntopts.h" #include "pathnames.h" /* diff --git a/sbin/mount/mount.c b/sbin/mount/mount.c index cf603a63e394..03ae69272e1a 100644 --- a/sbin/mount/mount.c +++ b/sbin/mount/mount.c @@ -39,6 +39,7 @@ #include #include +#include #include #include #include @@ -51,7 +52,6 @@ #include #include "extern.h" -#include "mntopts.h" #include "pathnames.h" #define EXIT(a) { \ diff --git a/sbin/mount/mount_fs.c b/sbin/mount/mount_fs.c index 6035857578ae..30c34ae32f31 100644 --- a/sbin/mount/mount_fs.c +++ b/sbin/mount/mount_fs.c @@ -38,13 +38,13 @@ #include #include #include +#include #include #include #include #include #include "extern.h" -#include "mntopts.h" static struct mntopt mopts[] = { MOPT_STDOPTS, diff --git a/sbin/mount_cd9660/mount_cd9660.c b/sbin/mount_cd9660/mount_cd9660.c index d8d64eb5a656..3eddbefb9a03 100644 --- a/sbin/mount_cd9660/mount_cd9660.c +++ b/sbin/mount_cd9660/mount_cd9660.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include #include @@ -55,8 +56,6 @@ #include #include -#include "mntopts.h" - static struct mntopt mopts[] = { MOPT_STDOPTS, MOPT_UPDATE, diff --git a/sbin/mount_fusefs/mount_fusefs.c b/sbin/mount_fusefs/mount_fusefs.c index 8b1797747a25..2d65494421ef 100644 --- a/sbin/mount_fusefs/mount_fusefs.c +++ b/sbin/mount_fusefs/mount_fusefs.c @@ -49,11 +49,10 @@ #include #include #include +#include #include #include -#include "mntopts.h" - #ifndef FUSE4BSD_VERSION #define FUSE4BSD_VERSION "0.3.9-pre1" #endif diff --git a/sbin/mount_msdosfs/mount_msdosfs.c b/sbin/mount_msdosfs/mount_msdosfs.c index 9128914bc2b0..36e1c524922d 100644 --- a/sbin/mount_msdosfs/mount_msdosfs.c +++ b/sbin/mount_msdosfs/mount_msdosfs.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include /* must be after stdio to declare fparseln */ @@ -53,8 +54,6 @@ #include #include -#include "mntopts.h" - static gid_t a_gid(char *); static uid_t a_uid(char *); static mode_t a_mask(char *); diff --git a/sbin/mount_nfs/mount_nfs.c b/sbin/mount_nfs/mount_nfs.c index 6ba51eeec588..55adb01fc1da 100644 --- a/sbin/mount_nfs/mount_nfs.c +++ b/sbin/mount_nfs/mount_nfs.c @@ -58,6 +58,7 @@ #include #include #include +#include #include #include #include @@ -67,7 +68,6 @@ #include #include -#include "mntopts.h" #include "mounttab.h" /* Table for af,sotype -> netid conversions. */ diff --git a/sbin/mount_nullfs/mount_nullfs.c b/sbin/mount_nullfs/mount_nullfs.c index b5782dc24e45..fc04961e6247 100644 --- a/sbin/mount_nullfs/mount_nullfs.c +++ b/sbin/mount_nullfs/mount_nullfs.c @@ -38,14 +38,13 @@ #include #include +#include #include #include #include #include #include -#include "mntopts.h" - static void usage(void) __dead2; static int diff --git a/sbin/mount_udf/mount_udf.c b/sbin/mount_udf/mount_udf.c index 2805872d41ad..0425c6a1378c 100644 --- a/sbin/mount_udf/mount_udf.c +++ b/sbin/mount_udf/mount_udf.c @@ -53,14 +53,13 @@ #include #include +#include #include #include #include #include #include -#include "mntopts.h" - static struct mntopt mopts[] = { MOPT_STDOPTS, MOPT_UPDATE, diff --git a/sbin/mount_unionfs/mount_unionfs.c b/sbin/mount_unionfs/mount_unionfs.c index 28f224ae0f68..d207e5581745 100644 --- a/sbin/mount_unionfs/mount_unionfs.c +++ b/sbin/mount_unionfs/mount_unionfs.c @@ -41,6 +41,7 @@ #include #include +#include #include #include #include @@ -49,8 +50,6 @@ #include #include -#include "mntopts.h" - static int subdir(const char *p, const char *dir) { diff --git a/tests/sys/fs/fusefs/fallocate.cc b/tests/sys/fs/fusefs/fallocate.cc index a05760207648..4e5b047b78b7 100644 --- a/tests/sys/fs/fusefs/fallocate.cc +++ b/tests/sys/fs/fusefs/fallocate.cc @@ -32,10 +32,9 @@ extern "C" { #include #include +#include // for build_iovec #include #include - -#include "mntopts.h" // for build_iovec } #include "mockfs.hh" diff --git a/tests/sys/fs/fusefs/mockfs.cc b/tests/sys/fs/fusefs/mockfs.cc index 35ae6c207229..b1621d05703c 100644 --- a/tests/sys/fs/fusefs/mockfs.cc +++ b/tests/sys/fs/fusefs/mockfs.cc @@ -39,13 +39,12 @@ extern "C" { #include #include +#include // for build_iovec #include #include #include #include #include - -#include "mntopts.h" // for build_iovec } #include diff --git a/tests/sys/fs/fusefs/mount.cc b/tests/sys/fs/fusefs/mount.cc index 7a8d2c1396f0..ece518b09f66 100644 --- a/tests/sys/fs/fusefs/mount.cc +++ b/tests/sys/fs/fusefs/mount.cc @@ -33,7 +33,7 @@ extern "C" { #include #include -#include "mntopts.h" // for build_iovec +#include // for build_iovec } #include "mockfs.hh" diff --git a/usr.sbin/autofs/automount.c b/usr.sbin/autofs/automount.c index 32aa2300d094..5cd7106b1161 100644 --- a/usr.sbin/autofs/automount.c +++ b/usr.sbin/autofs/automount.c @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -55,7 +56,6 @@ #include #include "common.h" -#include "mntopts.h" static int unmount_by_statfs(const struct statfs *sb, bool force) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 19d76b72da10..3c4e5e742c93 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -64,6 +64,7 @@ #include #include #include +#include #include #include #include @@ -73,7 +74,6 @@ #include #include #include "pathnames.h" -#include "mntopts.h" #ifdef DEBUG #include From nobody Tue Apr 22 23:46:15 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhzQb5dbgz5tN9H; Tue, 22 Apr 2025 23:46: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 4ZhzQb3LNxz3qRQ; Tue, 22 Apr 2025 23:46:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745365575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/OBGfvKNK2g49hzJdZRjTKwxR6HrzCNDcE/vHYk0AFI=; b=LH45aIGKgTdPsATAO0F/EPJiMF4FcU6qnzaIPhuaHYGxLsSQ73+YTJtxWCNoTAJNYAbXH9 4VqkH86R7SuckgJ7iYxnb4eVEdogIIqSGZwVobizDksxz72RYouLUoNQxhWRQusi5kftqh n58Bnb55/Nqmzda5KaecdhhllNN42AL751EIIpEvcZGTMTE9IeS0XIcjROn+ddKN5hr7IO sdhSNXSeTYoh1wl1x8DChD9K34W6TZCg/uoQp3iAk4AubEabJ2rbUJNXnIanoEnEAsetlH l+wy8N2fPSECce4HJl2r2T2HTEy41qTwP3k+iBWBKAoOz10f6aCoNu9jnbS3jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745365575; a=rsa-sha256; cv=none; b=kFaEPZz3tivsF6OKcaJiIDzSJ224gtDd5Zd4LXKNoEGYUnAXFgrVQEJE85fSi26KLWt/nX ufsVL22apXwypLKH6KnCNuoLlBNPhtYOELUvn7bE4adZ41HaDnY08DXoHizBPcErJe+HQe iYFap8CFve64angUwJB+aO+HvnUcZqh3SBQSZbz9aTp+mbFzIWN/sWj874rZfEGbPFpkjv sT4CNjAddJtz5v9Em2UaR6pCmT2wk6s4ht4O4HvB2J56v029Y0ZpqjqTkeIO4a2U4D8tLT /Gy4FNec3zcC4/TF5MMIetBDUg5vy238DihKZpa8TmpVAXgyP4y8L1VUKDi5eQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745365575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/OBGfvKNK2g49hzJdZRjTKwxR6HrzCNDcE/vHYk0AFI=; b=dDlsRH7g7dyQQYupuiMIzTVnx8cFII4KFmCl/BOvFg2llbEaCAnwIAJQJufwUcD0TW1auK hNRNv/BihlGO3DZc5ZugCEQq6sMtQ3XAUeCqBh3Esa1o4hIrSuQvsJu4kSb8aRM3lQrDSb SUfVt79u8zpFhcxmo7ziBjgeATGWVpWMRMj+Iu3y1vOaNCxetLcCXyDjQIb6utDHEU30YY Lf1oVqheCwc913Iacz3mX1vp/2qoh7zHq6jqGzpXXjtm0aDl/19KSsdScqV1t81TatmuJ1 PqUNf7fsAvdd9J6CCYMwZyCeYip1GD9q9u9stBA+/76KXtKM71C0FyztT8cs4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhzQb2jL7zg1d; Tue, 22 Apr 2025 23:46: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 53MNkFq0009661; Tue, 22 Apr 2025 23:46:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MNkF05009658; Tue, 22 Apr 2025 23:46:15 GMT (envelope-from git) Date: Tue, 22 Apr 2025 23:46:15 GMT Message-Id: <202504222346.53MNkF05009658@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: c925e0a77606 - main - LinuxKPI: add type for __wsum List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c925e0a77606d07e4d93204a1d35530176c4b344 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c925e0a77606d07e4d93204a1d35530176c4b344 commit c925e0a77606d07e4d93204a1d35530176c4b344 Author: Bjoern A. Zeeb AuthorDate: 2025-04-14 21:04:27 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-22 23:42:44 +0000 LinuxKPI: add type for __wsum Seems this is the correct type for the csum field in an sk_buff. Add it as uint32_t __bitwise__. Sponsored by; The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D49831 --- sys/compat/linuxkpi/common/include/linux/types.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/linux/types.h b/sys/compat/linuxkpi/common/include/linux/types.h index b11ce1cdd805..fcc455e5f731 100644 --- a/sys/compat/linuxkpi/common/include/linux/types.h +++ b/sys/compat/linuxkpi/common/include/linux/types.h @@ -63,6 +63,7 @@ typedef unsigned gfp_t; typedef off_t loff_t; typedef vm_paddr_t resource_size_t; typedef uint16_t __bitwise__ __sum16; +typedef uint32_t __bitwise__ __wsum; typedef unsigned long pgoff_t; typedef unsigned __poll_t; From nobody Tue Apr 22 23:46:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhzQc5nbLz5tN6k; Tue, 22 Apr 2025 23:46: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 4ZhzQc3bBNz3qM0; Tue, 22 Apr 2025 23:46:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745365576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GYI3QbxOR38kdkPpM/6m4NcKulN5vtUQcuJwhJqxFV8=; b=ouJkxhbSBudB78SFZfz/qg0EKHkdhz/pEkScPj1hGju2el3uY1E9cY8II8fpSm8kV7lNnv F1yjfrZZDZ76VJGNYcKjwTboDF6CKPTC/Q8e2ke9PAqIGF+bhCt3H3XN2+NJPxQLUUjXqk VJB5FuopFm9t9Q+/dPWwoN0yJswEsd+RjUiuMGJv6yTsvyyemGJnq8LQhcHhxW2dKZGYwu PtWrNVUksWHRZlru2l+KDtTdPuLEzW9/oleZOqFDpFbq99TUIbu/ZXCWCyck6XBHgwaK4n atBIfHziAnuvaEzik8y8M6GLJxB5hSVssUatniARm/rFdhRiEJ8ncyHFSmcKog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745365576; a=rsa-sha256; cv=none; b=ffTSnl57IkTE4Bz/2Jjar4NtzRHVQ6Pr8Pt1QjQX5exMpYs5bLFP/D8Q8reco06Q03UoBw QxDv6NRnXDBJCCQnHEF6yaliTyDeBINKWTEliz36zIn0CyfrUoPcEEsLca2pP/su73M6ug AL2EYeE7nfGEF9JOME5gOmyu2m+xiRYJT2zk9Sh9yJVWMNrbwhPDQy04gwYIU4bewlobGU zr5nkUQlJkxImCnSl3Ww5N4LwGvdaXoWeEGDols5Fa5jztUrHoLFGgGJn8GNHHYktbU4TW VtaWweAnmz82UQc5QC/phvdZtQ9LnyM3vxoZcjDaUMmLVl47st+cSvT9fANJ3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745365576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GYI3QbxOR38kdkPpM/6m4NcKulN5vtUQcuJwhJqxFV8=; b=jcBJIWJQE9dT+MpuMFZ7nCW+hSAUb2O5tO4dbpV8o800oADJd8fdqnzirtsuWY972iObrz iSfChT9+43HWpXJyDtbTpg0QrP6dAtXfSc8hSutbxCuY4XThtJBXe/jhzfUWb9hH/xAHFM ogUI6GPkLBGjidJfSRIB8OrAf1gwyYDj7E68HM4BZgF8Yggj8n00U6iWZW3363SO4K/CDE er6kZ8LME57CQWv/IqEIk90sun0XnSI+T/N+SkRidScxkrqJpkCQTAY5QZUlbvfvvzimWx pxmkAu0SZ1MgptdoZOLnAFL9maHhGhqTmM1xrpvdno+AJvlcr7wMaYeM3BnV2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhzQc3C8Xzg1f; Tue, 22 Apr 2025 23:46: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 53MNkGti009696; Tue, 22 Apr 2025 23:46:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MNkGou009693; Tue, 22 Apr 2025 23:46:16 GMT (envelope-from git) Date: Tue, 22 Apr 2025 23:46:16 GMT Message-Id: <202504222346.53MNkGou009693@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 73e3969fd435 - main - LinuxKPI: skbuff: remove _alloc_len field List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 73e3969fd435eea296b44f3bd40ff76c042c9a36 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=73e3969fd435eea296b44f3bd40ff76c042c9a36 commit 73e3969fd435eea296b44f3bd40ff76c042c9a36 Author: Bjoern A. Zeeb AuthorDate: 2025-04-22 20:24:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-22 23:45:33 +0000 LinuxKPI: skbuff: remove _alloc_len field Initially we saved the exact allocation length for contigfree(9). contigfree can now be replaced by free(9) so there is no need to remember that value anymore. Removing it also simplifies the linuxkpi_kfree_skb() code. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 1 - sys/compat/linuxkpi/common/src/linux_80211.c | 4 ++-- sys/compat/linuxkpi/common/src/linux_skbuff.c | 13 ++----------- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index 9db29c72e20c..7a8521e6fd38 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -154,7 +154,6 @@ struct sk_buff { }; struct list_head list; }; - uint32_t _alloc_len; /* Length of alloc data-buf. XXX-BZ give up for truesize? */ uint32_t len; /* ? */ uint32_t data_len; /* ? If we have frags? */ uint32_t truesize; /* The total size of all buffers, incl. frags. */ diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 47eb52677cdf..cbf1db5e17de 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6545,9 +6545,9 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, goto no_trace_beacons; if (linuxkpi_debug_80211 & D80211_TRACE_RX) - printf("TRACE-RX: %s: skb %p a/l/d/t-len (%u/%u/%u/%u) " + printf("TRACE-RX: %s: skb %p l/d/t-len (%u/%u/%u) " "h %p d %p t %p e %p sh %p (%u) m %p plen %u len %u%s\n", - __func__, skb, skb->_alloc_len, skb->len, skb->data_len, + __func__, skb, skb->len, skb->data_len, skb->truesize, skb->head, skb->data, skb->tail, skb->end, shinfo, shinfo->nr_frags, m, m->m_pkthdr.len, m->m_len, is_beacon ? " beacon" : ""); diff --git a/sys/compat/linuxkpi/common/src/linux_skbuff.c b/sys/compat/linuxkpi/common/src/linux_skbuff.c index 16a7083123be..4139295fc837 100644 --- a/sys/compat/linuxkpi/common/src/linux_skbuff.c +++ b/sys/compat/linuxkpi/common/src/linux_skbuff.c @@ -115,7 +115,6 @@ linuxkpi_alloc_skb(size_t size, gfp_t gfp) #endif if (skb == NULL) return (skb); - skb->_alloc_len = len; skb->truesize = size; skb->head = skb->data = skb->tail = (uint8_t *)(skb+1); @@ -258,14 +257,7 @@ linuxkpi_kfree_skb(struct sk_buff *skb) skb_free_frag(p); } -#ifdef __LP64__ - if (__predict_true(linuxkpi_skb_memlimit == 0)) - free(skb, M_LKPISKB); - else - contigfree(skb, skb->_alloc_len, M_LKPISKB); -#else free(skb, M_LKPISKB); -#endif } #ifdef DDB @@ -284,9 +276,8 @@ DB_SHOW_COMMAND(skb, db_show_skb) db_printf("skb %p\n", skb); db_printf("\tnext %p prev %p\n", skb->next, skb->prev); db_printf("\tlist %p\n", &skb->list); - db_printf("\t_alloc_len %u len %u data_len %u truesize %u mac_len %u\n", - skb->_alloc_len, skb->len, skb->data_len, skb->truesize, - skb->mac_len); + db_printf("\tlen %u data_len %u truesize %u mac_len %u\n", + skb->len, skb->data_len, skb->truesize, skb->mac_len); db_printf("\tcsum %#06x l3hdroff %u l4hdroff %u priority %u qmap %u\n", skb->csum, skb->l3hdroff, skb->l4hdroff, skb->priority, skb->qmap); db_printf("\tpkt_type %d dev %p sk %p\n", From nobody Tue Apr 22 23:46:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhzQd6xDXz5tNCG; Tue, 22 Apr 2025 23:46: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 4ZhzQd4ZZxz3qGX; Tue, 22 Apr 2025 23:46:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745365577; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Etee8e434qu2yOmsmdaJKCCC5QadVW4LWBB1zlNkow=; b=CfGOvIyp9aEi1x73G5HDb1snyyp70BAPmaI1TJfLqlC0C7hqqHBZSL8r3ZeGxztsO2UnIT /R0ilPJm6202pWuS1b6ctQ22hNBHLpMsV4qf6uUNkCwst3FRiR6cd8Yk30Pl0x6E4TmjVN miVzF4Z3356zDOSxQNZUpfRgnA1kXJWZCirxtB1TE8gfRoCIdaZtonEer8jajqu/Lv6eTk 6JgrY835plPqgQtGgFPm79I5U6hPTIyixhuE8OCQfLe1uOjtre0ttir+7b9Iyt2hlIXWoO RFOuWDiNYPNh0fx6WR7pOUMAw6VDaPZWZ7imIvZk9BrainhEJAPM0MX1pUC19g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745365577; a=rsa-sha256; cv=none; b=imI6JuVfZP92j8Yp2F5XME9oXmM1gEJwLRRMUX8SwbNNNQqx2WJEvP8eNew9hbzZD3JcIR 033E1Uir6bI7BPd9hP0ppyJPIHvDWC0mHJ27BTOPGKewOCli5yDM21WTYHUe8C45b1PAVm 4AfrLbB5cmfSs0rXX1Uas5uinPX1Y2FAd9Wg02t1FdJV1GN2/LjYDWNSNj5PTYObzUrEId A2spDPO0nVNThqKxzdUeV6Plma0mZsMfLUPcHbBPIf9BMZpF3m6nn7wyi4qGmGOwNaeUuC J6zoUV3mcxYvJXVdxAxiE/h/fAdJNummNscIgK/d/VA0rY6Lm772utsAsht+zA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745365577; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Etee8e434qu2yOmsmdaJKCCC5QadVW4LWBB1zlNkow=; b=kIMAkyRG4QRUNibzSC3pB+6sEgsj5Gi4picmHj3XlPFthPbBK9yOhOCME+zhdPuYbRtya/ KxJdeY0E7hHXStEvbp5jhDCefAj7zvS2iuERbbjHQItss3Lheph8fRJehPTjy1wMdlUvmg Wr1EvLqxn1jBu60HSzOmm6TXkL1TIVE+V2X4fnLCd3nR9OIKM6i7ULUto1EtzjFCiJ5dHe fhf3s/iRubsEAtndfQexHTxuhLeDryL9tRNc6lTQ5vhoDcjDC6vk+2ZuZJzGXOiu72bsl9 8UxWeLz2ECDP4es0pij/4ed1ib+aOzLw5a+Jogc7E1B9FZa4XJGbCsfPoH1Vjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhzQd49C4zgyd; Tue, 22 Apr 2025 23:46: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 53MNkHmc009731; Tue, 22 Apr 2025 23:46:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MNkHJ9009728; Tue, 22 Apr 2025 23:46:17 GMT (envelope-from git) Date: Tue, 22 Apr 2025 23:46:17 GMT Message-Id: <202504222346.53MNkHJ9009728@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 59481c7db234 - main - LinuxKPI: skbuff: fix types, shuffle fields List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 59481c7db2340c9e64f9d3d9d05dafc2d72c157e Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=59481c7db2340c9e64f9d3d9d05dafc2d72c157e commit 59481c7db2340c9e64f9d3d9d05dafc2d72c157e Author: Bjoern A. Zeeb AuthorDate: 2025-04-14 21:05:38 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-22 23:45:49 +0000 LinuxKPI: skbuff: fix types, shuffle fields Fix the types of a few remaining fields. Shuffle the fields around so the important ones align to 64byte on a 64bit platform. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 45 ++++++++++++++--------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index 7a8521e6fd38..8fe6bf158bc6 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -154,37 +154,46 @@ struct sk_buff { }; struct list_head list; }; + + uint8_t *head; /* Head of buffer. */ + uint8_t *data; /* Head of data. */ + uint8_t *tail; /* End of data. */ + uint8_t *end; /* End of buffer. */ + uint32_t len; /* ? */ uint32_t data_len; /* ? If we have frags? */ + union { + __wsum csum; + struct { + uint16_t csum_offset; + uint16_t csum_start; + }; + }; + uint16_t protocol; + uint8_t ip_summed; + /* uint8_t */ + + /* "Scratch" area for layers to store metadata. */ + /* ??? I see sizeof() operations so probably an array. */ + uint8_t cb[64] __aligned(CACHE_LINE_SIZE); + + struct skb_shared_info *shinfo __aligned(CACHE_LINE_SIZE); + uint32_t truesize; /* The total size of all buffers, incl. frags. */ - uint16_t mac_len; /* Link-layer header length. */ - __sum16 csum; - uint16_t l3hdroff; /* network header offset from *head */ - uint16_t l4hdroff; /* transport header offset from *head */ uint32_t priority; uint16_t qmap; /* queue mapping */ uint16_t _flags; /* Internal flags. */ #define _SKB_FLAGS_SKBEXTFRAG 0x0001 - enum sk_buff_pkt_type pkt_type; + uint16_t l3hdroff; /* network header offset from *head */ + uint16_t l4hdroff; /* transport header offset from *head */ uint16_t mac_header; /* offset of mac_header */ + uint16_t mac_len; /* Link-layer header length. */ + enum sk_buff_pkt_type pkt_type; refcount_t refcnt; - /* "Scratch" area for layers to store metadata. */ - /* ??? I see sizeof() operations so probably an array. */ - uint8_t cb[64] __aligned(CACHE_LINE_SIZE); - struct net_device *dev; void *sk; /* XXX net/sock.h? */ - int csum_offset, csum_start, ip_summed, protocol; - - uint8_t *head; /* Head of buffer. */ - uint8_t *data; /* Head of data. */ - uint8_t *tail; /* End of data. */ - uint8_t *end; /* End of buffer. */ - - struct skb_shared_info *shinfo; - /* FreeBSD specific bandaid (see linuxkpi_kfree_skb). */ void *m; void(*m_free_func)(void *); From nobody Tue Apr 22 23:46:18 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhzQg186Tz5tNCH; Tue, 22 Apr 2025 23:46: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 4ZhzQf5Q21z3qM4; Tue, 22 Apr 2025 23:46:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745365578; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FSPEpTgJU3AsJywbpk3BqkIEhHPvyDjZRuY8S2GCg4w=; b=aM5hghAeUsf3H+RTI/vegxmf+1ZjIDgufAWghUaZwJMw+wv5SAjD/HcN3y4XpyQ59q5GYn FrNMy9ap9jh40AjbfiAdDwksYi/iEZNbd6nXGjUCJiuIWgfF0Ar3qL+4mj7Yv9PllPb9b1 kj0gW9zOciieeXNCTQktqjOxlJfKnTT5k68gc2o5LxTx2dfCo2KQe+NR1uTIvRHmcv+7gY AgbAOcw0KS5t4KHzOIRUmf8yJxybEDNwUFsS7kBek/vCmwgPLMOwrHZWQQ62spAOY7Xx9j sgZ/qBhS5LiHew4KfYVxpOLS962vu5fjPsbfTducmPFGUQGG2Z2YljwoZ/BY7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745365578; a=rsa-sha256; cv=none; b=JXRCSBZnB10NLgBD6Kz0j0dPJRPquJWXL+08khWokDzfMoxf9EraDbm5AxN6h9uFlMIVKH EnBjqGKCCg6KT3dWH5dnXm7WZ9JAnmpwEl6sa6M/0p3EZVj2Q3KDdHK6Bbgqj1Nepm/4bU b8oEjf8PcOFsP8muTt4GjFEJtK4+5NM26SvDMlBZp9bm1P6Cl4b0Uot5sRpjMBHcPvfJFr LKeSl9V48jjvNykjJcVMtWeSynQefiLQ6UHrN184CxQ4MNsOp+EFHr7iDEPJGnwS4YN2E3 GJXq7ZjWsVSO+OskDT5BT9KAvPcVZkhn+T24ylBG+Z+GPffB6vl9UYCDfjGKuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745365578; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FSPEpTgJU3AsJywbpk3BqkIEhHPvyDjZRuY8S2GCg4w=; b=TW1jMOQDWzk6yMHARqYNcvzJ7bsCzGoC1XqGjZW5fT5yUFlkDDWPwBO/d3RK9h/9SPtZdB yXiinv7otQR+qR/clJsiK2FmvnT/KVoGna6fLa8/cVGqyS8PC+ylyuJHIOhp9jyWYNkVwz 96CHEwEIBByLW64nca8RaYJzzejTAWNoV96z0Gz821U8DPPopC6qi0ST71B7UqAsCry5Ai a21ezNlbtbf0tE4jh9W15bAuGb7BocZMTQmw+46c8uFt4qjlOCLZswMraxYBm4O8arR61m Ss4+MbqqLCAGy9qmd7BpNp6w2wUnK67+OnREU/gm15oM6Pg5f9mYU4VDfrlFxw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhzQf4kd8zfxm; Tue, 22 Apr 2025 23:46: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 53MNkIDA009768; Tue, 22 Apr 2025 23:46:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MNkIqr009765; Tue, 22 Apr 2025 23:46:18 GMT (envelope-from git) Date: Tue, 22 Apr 2025 23:46:18 GMT Message-Id: <202504222346.53MNkIqr009765@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 43ffd0f5c0f9 - main - LinuxKPI: skbuff: switch to using uma for the skb List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 43ffd0f5c0f91237a37736f1d40045b0052b775b Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=43ffd0f5c0f91237a37736f1d40045b0052b775b commit 43ffd0f5c0f91237a37736f1d40045b0052b775b Author: Bjoern A. Zeeb AuthorDate: 2025-04-22 20:41:40 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-22 23:45:49 +0000 LinuxKPI: skbuff: switch to using uma for the skb Split allocating the skb header and its payload data memory into skb header from uma and the data to whatever we used to do for it. This is a first step which should allow us to one day at least in the RX path take the data, attach it to an mbuf and send it up the stack and just free the skbuff header. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_skbuff.c | 65 ++++++++++++++++++++------- 1 file changed, 49 insertions(+), 16 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_skbuff.c b/sys/compat/linuxkpi/common/src/linux_skbuff.c index 4139295fc837..d454e5fc3ab8 100644 --- a/sys/compat/linuxkpi/common/src/linux_skbuff.c +++ b/sys/compat/linuxkpi/common/src/linux_skbuff.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2020-2022 The FreeBSD Foundation + * Copyright (c) 2020-2025 The FreeBSD Foundation * Copyright (c) 2021-2022 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from @@ -42,6 +42,8 @@ #include #include +#include + #ifdef DDB #include #endif @@ -63,6 +65,8 @@ SYSCTL_INT(_compat_linuxkpi_skb, OID_AUTO, debug, CTLFLAG_RWTUN, &linuxkpi_debug_skb, 0, "SKB debug level"); #endif +static uma_zone_t skbzone; + #ifdef __LP64__ /* * Realtek wireless drivers (e.g., rtw88) require 32bit DMA in a single segment. @@ -84,16 +88,28 @@ struct sk_buff * linuxkpi_alloc_skb(size_t size, gfp_t gfp) { struct sk_buff *skb; + void *p; size_t len; - len = sizeof(*skb) + size + sizeof(struct skb_shared_info); + skb = uma_zalloc(skbzone, linux_check_m_flags(gfp) | M_ZERO); + if (skb == NULL) + return (NULL); + + skb->prev = skb->next = skb; + skb->truesize = size; + skb->shinfo = (struct skb_shared_info *)(skb + 1); + + if (size == 0) + return (skb); + + len = size; /* * Using our own type here not backing my kmalloc. * We assume no one calls kfree directly on the skb. */ #ifdef __LP64__ if (__predict_true(linuxkpi_skb_memlimit == 0)) { - skb = malloc(len, M_LKPISKB, linux_check_m_flags(gfp) | M_ZERO); + p = malloc(len, M_LKPISKB, linux_check_m_flags(gfp) | M_ZERO); } else { vm_paddr_t high; @@ -107,23 +123,21 @@ linuxkpi_alloc_skb(size_t size, gfp_t gfp) break; } len = roundup_pow_of_two(len); - skb = contigmalloc(len, M_LKPISKB, + p = contigmalloc(len, M_LKPISKB, linux_check_m_flags(gfp) | M_ZERO, 0, high, PAGE_SIZE, 0); } #else - skb = malloc(len, M_LKPISKB, linux_check_m_flags(gfp) | M_ZERO); + p = malloc(len, M_LKPISKB, linux_check_m_flags(gfp) | M_ZERO); #endif - if (skb == NULL) - return (skb); - skb->truesize = size; + if (p == NULL) { + uma_zfree(skbzone, skb); + return (NULL); + } - skb->head = skb->data = skb->tail = (uint8_t *)(skb+1); + skb->head = skb->data = (uint8_t *)p; + skb_reset_tail_pointer(skb); skb->end = skb->head + size; - skb->prev = skb->next = skb; - - skb->shinfo = (struct skb_shared_info *)(skb->end); - SKB_TRACE_FMT(skb, "data %p size %zu", (skb) ? skb->data : NULL, size); return (skb); } @@ -161,8 +175,8 @@ linuxkpi_build_skb(void *data, size_t fragsz) skb->_flags |= _SKB_FLAGS_SKBEXTFRAG; skb->truesize = fragsz; skb->head = skb->data = data; - skb_reset_tail_pointer(skb); /* XXX is that correct? */ - skb->end = (void *)((uintptr_t)skb->head + fragsz); + skb_reset_tail_pointer(skb); + skb->end = skb->head + fragsz; return (skb); } @@ -255,10 +269,29 @@ linuxkpi_kfree_skb(struct sk_buff *skb) p = skb->head; skb_free_frag(p); + skb->head = NULL; } - free(skb, M_LKPISKB); + free(skb->head, M_LKPISKB); + uma_zfree(skbzone, skb); +} + +static void +lkpi_skbuff_init(void *arg __unused) +{ + skbzone = uma_zcreate("skbuff", + sizeof(struct sk_buff) + sizeof(struct skb_shared_info), + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); + /* Do we need to apply limits? */ +} +SYSINIT(linuxkpi_skbuff, SI_SUB_DRIVERS, SI_ORDER_FIRST, lkpi_skbuff_init, NULL); + +static void +lkpi_skbuff_destroy(void *arg __unused) +{ + uma_zdestroy(skbzone); } +SYSUNINIT(linuxkpi_skbuff, SI_SUB_DRIVERS, SI_ORDER_SECOND, lkpi_skbuff_destroy, NULL); #ifdef DDB DB_SHOW_COMMAND(skb, db_show_skb) From nobody Tue Apr 22 23:46:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZhzQh1yb5z5tMYT; Tue, 22 Apr 2025 23:46: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 4ZhzQg6pJhz3qPF; Tue, 22 Apr 2025 23:46:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745365580; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5SI9tHl51a0VbZQdsfZz/M+WaigY+6BeRBLD5AfXQqc=; b=aNZ8+aogiozv/l5XHIG3xPvc2SntnzS/RNowoQ/CScTi6dvHuvrGCltjVYXI9KnS7LrCEp 5V1cT6sR5Dg727gsDSq8Z6fQF+DIWcQC7S1UGhnIqO1mZYkBvvdfbuUUWs7r0yJ0xNG1XE B56J0XNEbE4I/Uaznv/z2/di2odGAakkjBscc2ha5FOavgzSa6ZwIqPQqPRFnhu+EnzmNM DJ+4K0M3rLUbFXtB/+6Sl67ziUedplsPBONK3xr+HhvHQCJQqWc6WMWPUVGcLj87efDf2p hQtJwIPg4uHXykp/4XpLT8b8cwA8YyInqeRDILF0OgdngW7peWcBubj8xX1nrg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745365580; a=rsa-sha256; cv=none; b=uVZhPNhpA0IW8odNW12ruKj5OfQeYaUrn1MY6X8TbBSu7m+PIoBmfym7lZyeRyCuYaopzc M8dYbASYmrMcAYI4jShow4N9xKRy+bnuz36iICDQDDqgPr6JcDLNMgwSsaC7Lsi+kHbNf9 JFFg/FxobLC9HewxlJnTRBeFq8ZaR668jtELxBuKenllK3sobPQKnkE7DHtXdgRFhfFgKb JK1yNDCiNnVGxGaqqRFZyJEvoj2Fz87/1auCX07/sP+T6jdHP9W+t8Mj4gNzrZv+3OkXCO HibMwkO+8ywJhmelizFDkuVSdl7kNBzDi7oGWAqRroCXgxx066d1OGtmYIYvRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745365580; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5SI9tHl51a0VbZQdsfZz/M+WaigY+6BeRBLD5AfXQqc=; b=KYl158bhp75QnztsYsaikuzh0lOJeEVjItIRyj+96QPkATarpDMLTZ+cjGg2BNMgAGSso0 JlNFPsiRGHIDVI1rICiQmGrq9wpcuCMNNhUiiBXUhOja4bI7AIcT4eN3foVOOWcH67unNw UMAcTQHyFOjml+bw/GkdaYoAnGy7HS/5OD8fsuWfcVg11wz13L9W0LRq501hcVJLbE5Sfn 4znq/SIcr8DFHbIKWWIgC9uQxZBCwkECw2Oqin9maZUujmpyteXdeWyqlhmupG0ZWJPyXF Gh+syYfNmzA0A3ymjwNY6UOOWmZdpCm9RVNMjdRy+7W3Sggd4yjIVOYyMYD5bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZhzQg5fpPzgkW; Tue, 22 Apr 2025 23:46: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 53MNkJYB009810; Tue, 22 Apr 2025 23:46:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53MNkJY3009805; Tue, 22 Apr 2025 23:46:19 GMT (envelope-from git) Date: Tue, 22 Apr 2025 23:46:19 GMT Message-Id: <202504222346.53MNkJY3009805@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e6c91f8e5be6 - main - LinuxKPI: skbuff: rewrite data allocation to use __kmalloc by default List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e6c91f8e5be66d774bc07f4055aa38fb2e287ff6 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e6c91f8e5be66d774bc07f4055aa38fb2e287ff6 commit e6c91f8e5be66d774bc07f4055aa38fb2e287ff6 Author: Bjoern A. Zeeb AuthorDate: 2025-04-22 20:53:47 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-22 23:45:49 +0000 LinuxKPI: skbuff: rewrite data allocation to use __kmalloc by default Put tunable/contigmalloc code under SKB_DMA32_MALLOC and remove the __LP64__ checks for simplicity. #define SKB_DMA32_MALLOC to be set so that the code stays enabled as busdma still has trouble bouncing contiguous memory with nseg=1 if it is multiple pages. Switch the other code to use __kmalloc() which now automatically provides physically contiguous memory and deals with freeing as well. This code should in theroy be enough now. If people use iwlwifi(4) pre-22000 (9xxx 8xxx ...) chipsets on Laptops with more than 64GB of memory they may see bounce errors as well now. Sposnored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_skbuff.c | 30 ++++++++++++++++----------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_skbuff.c b/sys/compat/linuxkpi/common/src/linux_skbuff.c index d454e5fc3ab8..2fea4d69b844 100644 --- a/sys/compat/linuxkpi/common/src/linux_skbuff.c +++ b/sys/compat/linuxkpi/common/src/linux_skbuff.c @@ -67,22 +67,26 @@ SYSCTL_INT(_compat_linuxkpi_skb, OID_AUTO, debug, CTLFLAG_RWTUN, static uma_zone_t skbzone; -#ifdef __LP64__ +#define SKB_DMA32_MALLOC +#ifdef SKB_DMA32_MALLOC /* * Realtek wireless drivers (e.g., rtw88) require 32bit DMA in a single segment. * busdma(9) has a hard time providing this currently for 3-ish pages at large * quantities (see lkpi_pci_nseg1_fail in linux_pci.c). * Work around this for now by allowing a tunable to enforce physical addresses - * allocation limits on 64bit platforms using "old-school" contigmalloc(9) to - * avoid bouncing. + * allocation limits using "old-school" contigmalloc(9) to avoid bouncing. + * Note: with the malloc/contigmalloc + kmalloc changes also providing physical + * contiguous memory, and the nseg=1 limit for bouncing we should in theory be + * fine now and not need any of this anymore, however busdma still has troubles + * boncing three contiguous pages so for now this stays. */ static int linuxkpi_skb_memlimit; SYSCTL_INT(_compat_linuxkpi_skb, OID_AUTO, mem_limit, CTLFLAG_RDTUN, &linuxkpi_skb_memlimit, 0, "SKB memory limit: 0=no limit, " "1=32bit, 2=36bit, other=undef (currently 32bit)"); -#endif static MALLOC_DEFINE(M_LKPISKB, "lkpiskb", "Linux KPI skbuff compat"); +#endif struct sk_buff * linuxkpi_alloc_skb(size_t size, gfp_t gfp) @@ -103,14 +107,12 @@ linuxkpi_alloc_skb(size_t size, gfp_t gfp) return (skb); len = size; +#ifdef SKB_DMA32_MALLOC /* * Using our own type here not backing my kmalloc. * We assume no one calls kfree directly on the skb. */ -#ifdef __LP64__ - if (__predict_true(linuxkpi_skb_memlimit == 0)) { - p = malloc(len, M_LKPISKB, linux_check_m_flags(gfp) | M_ZERO); - } else { + if (__predict_false(linuxkpi_skb_memlimit != 0)) { vm_paddr_t high; switch (linuxkpi_skb_memlimit) { @@ -125,10 +127,9 @@ linuxkpi_alloc_skb(size_t size, gfp_t gfp) len = roundup_pow_of_two(len); p = contigmalloc(len, M_LKPISKB, linux_check_m_flags(gfp) | M_ZERO, 0, high, PAGE_SIZE, 0); - } -#else - p = malloc(len, M_LKPISKB, linux_check_m_flags(gfp) | M_ZERO); + } else #endif + p = __kmalloc(len, linux_check_m_flags(gfp) | M_ZERO); if (p == NULL) { uma_zfree(skbzone, skb); return (NULL); @@ -272,7 +273,12 @@ linuxkpi_kfree_skb(struct sk_buff *skb) skb->head = NULL; } - free(skb->head, M_LKPISKB); +#ifdef SKB_DMA32_MALLOC + if (__predict_false(linuxkpi_skb_memlimit != 0)) + free(skb->head, M_LKPISKB); + else +#endif + kfree(skb->head); uma_zfree(skbzone, skb); } From nobody Wed Apr 23 00:37:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zj0ZP0Tc0z5tRlk for ; Wed, 23 Apr 2025 00:38:05 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic315-55.consmr.mail.gq1.yahoo.com (sonic315-55.consmr.mail.gq1.yahoo.com [98.137.65.31]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zj0ZN4cKGz41MJ for ; Wed, 23 Apr 2025 00:38:04 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1745368683; bh=hb7oU3/fF0patExjyuVh6XHTeP0Gl5B9D/Uch4QET0k=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=QjzqZMxvmLbH1Ryn9gEBwH6hxUsckq10zO1elH8Jk6hjaNLyID6ufKqrPPyecXXVNEkxXb8xTVTaatJdMttALhf58D+24RzLQCqW15Qf379VEzprUMqOr1h7K8NFBjW+eJ2WFN/YIuWS2jpeuEFhoNIxZTcGW4Quscf86X7uqzvIgz6o41OUCISKA/HSIacyGF86SYOIcXsQX4xg+blEsm4vC547anSZ71KEDt4L2dqFiYI2DlNj1/vT7xa7yqdPiqnUjFvxG1EdfAbna5hI2s+5/PRBpEQ/dwTHIUqyfdHvvNfxreDFGoNMnlGV6Jzqk9ybcURlawEJhEwgI3YzuQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1745368683; bh=9RSDe1cWXAe4cM/TJ882NPNZz45j+9ZH3An247dgmbP=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=JFSGO8H7hci03wYoK21dcnrvrbPUaibH6mDOzFxTUareEgIV9NMOlWSUvCvZWYisQezzu6/36apxgopNA1Xiqfx4hB+7f7n5Fd0PiQ+qm6Fk0bVvxt6F+6doWD7vi2hiPA4uMkaT8ApV/u2Y5VDkzp6T5U87o98ZtYhhBCBpz21/1FYKZwMBZ7suQI7DWMGSvZ+e9m0134WHqeSjuHVkQwCbivnEoVMIyxE0QLSJApPstQY/v4RQ+9r8IJQy9T9oVMaywX69CaVw3GgqXZx91zrS+jX0bZNhjA9RtSN4ldcmu1p8aVAZwDhulwdxBSj5g/FuAKZQeB/mh7aUV1AE2w== X-YMail-OSG: G_E2NnkVM1kyXbzNSM3.Nq_.wPqpd0MSlal.Zerfq4dXpygM04eFnSiB14k7OX. svypDVBE1RLsuE_jXOUCQDHyz4nW3o6kPO0kGzvh1V8bC7_fYDxvxEtsQvk2E5sabqReB6FcnLt_ 3Cq.3o_Cbx_49hugtENfDBajdeE50YhHr4FqbpLi7WEeae0ZyxXKWib8SJf34ZWBqBuUePfXDb17 mvzFvK5i6VX9KxaaX0EMnNwW5roQ9TiO6g1mb.nvQkGK8RGYrSkRIgAREWxNqw8wcDzRixi5p6rY _UOz1I.XJVvWZLKurCflobBU5aucXNUDaWvGXFiGDXIVN2NEJZSqrZamiougjFxZlM0UHWSz8l51 Rv3D4ntgE5.E8AWx4.7t8Tv.vYoRvMeGdGb0LCamxRhzrCBwXDHy7KaDZ9tV6bJnml2Ougxaouie 2gvHtuDPAkG6X_Yn40dhDSEE6cKqYMxrGHvrg1n5eT4VZTuI0vUiFZI37WITkNYP8WYFysiw43FU 3ewND27mP1i4EfRYIjGSGcZ7q17j55AppQMIojjvTfH24qM943tl7inUMVdbunF3EZmBwU.qkOrB QCCepBj4IYvVQrEFzJhYOgu7bA8BpeIgBgl7cj19BDbFTX7_Y5xUI4CSiAZlyXQZyY.r1QsXQQe7 wD.dyIY4q4.HiQHO0fAsqEvoW0p.oT2pJDRZTIjBXSmaMJfjxvQpMQyM3qPzTEaThWQotzehzLm0 8uhhXJi.JKRTIL35smCBLJ6OmeVeISOaGM5rPkwQwGLjUxo0Cbvc8xgh.jj_erNSzI32tWRFJjPa ql1v2ICcFM9OXh9dzxBPIhRUkJWOvvRWkULYx8kLnISpdcwRjCO_a58vnpRjiuV7hVfgtMApI1q. ef.TGyOABsEhMwfvV8DKwfdi_XG2ynQpiU2ASyevwq6ePDCpgcSKlCFlTk_I3wd6Q0VPLnll1HR6 a4urSiaEQf5ckDFRoy6jynOKU3t4AtukSnU5mbfAa49NCqIysR6XVmseYILUX.p9.V3hwC5x4s0f m2DDJU8zp1q8g0C351916XT2OGz_xNok93AURlHuFASzd7FwzZkkjnaR9_MLDYbshsBOUOswKVvB QI7Q0BjHGY6AKTP08HH5.FwvOIUAPSz6TZXlKs8gYwCZSVh018RxIF_ig2IWQe9D9dc7oTBHBp4c FmJIP3wHoWyd38S.cOXs73I2qWuVYQ7WiuHR7E37k9JDh0d9QstTBaVeXuyUBeg2732H5xYlsnI3 o1W6.Ks9h5kSEooLEeDpdrbWrroz6eC249EHEm5PyqrfNLw.218Cf5dUGXndLAj2GQw.8ROsEUdC Roqn.CYgZoRz0HaECuiNwR_040Wdll6lhZs7mhcVEPeml2hi9TMnYXomWSvItEuxn77ytkOsP5Aa VBm3f8ueb3AQa5Z39pABw.0k5TikbSkJnGvyS55zkOCVYRXcHtVyDnHeYGW4T7rO1HrRlfpE86_o eCuEWb0i76eTx7__pXZ_RlvcZNoZjNwFhTTzXSXxpu_sasUH8gRL1Qv1dBW8WSlGZaTdAMED6UIu KGxiqzaZwrcZJLVZ9_na.aKnn3FSXzd2OLg085irn_i3TA3nqy62XMMcAYCCbVVWC.hmdSPHmm39 NXHTtW0c94Exmfbhp0ZzRKgNmZGFApsp6VwCrGjleaBo1e3zep7BlrP4ZPLSOn1pFWsj8rleQQe8 l0CRY_b.DoluG2VCGDxCxii1w.wtcMYX6u.SvAZVaUx6yNx5YDu9jtH6JQLHuuAZSmISxHpO1UoK RQRpJBNF7rdN8XL7wwI89.04xWbNX94UhAhrlJ84U.yzQr_CefcGnWQ8ZaF9259LZjj9PoyPhRnf ao_Lh7hVXnX5QyqQCmAHDFOtu6pCWHMR885oSV1WkOqIxPI7ZhLPX3bST_puWuiIwew4bzXPwN3H XarnloaKrOFDoGfe9sr4HKNkJ6CNSwBSPjQVSdSuW3FpiVa2ZYIKSerEITTN.itXjR3VnrwpjpB4 jhmDG9yKeDX99aCqO2AP7_m1H8CjgeKYLw.MR0wygbbGhyOOoxtZYq2NjM6qv1K.tZIEUeVA2oKG HzjZ27lW5stjOPbHMM2Pp7FmkD5BKUvTwe8j9MehPrnRNj51.C5HW.plzkl6c2bKBCbfmjUC3bRo nD0_CH780ibCLzZAlzBQQWvpktwCD7oMTv7rf8_AMNYMowG8JN9m3E5JoJ9CtKZl1UIVEbUsMb0U iHJLJiQb5_1McT7iSMscB3Mt1zB6goIeeshuamHXfg8XWtFNaGz6Yb77Pnyw9Vhi90rlzsKHmLxj jL07OY8zVwPhnzcqD3gEdxH4hdBY- X-Sonic-MF: X-Sonic-ID: 48ad2fe5-d86c-4a19-a801-0f7fa89b045b Received: from sonic.gate.mail.ne1.yahoo.com by sonic315.consmr.mail.gq1.yahoo.com with HTTP; Wed, 23 Apr 2025 00:38:03 +0000 Received: by hermes--production-gq1-74d64bb7d7-tqd77 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID a8c1921f40bee98ccb69da9dbbc04230; Wed, 23 Apr 2025 00:37:58 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.500.181.1.5\)) Subject: Re: git: 6527682ab705 - main - src: Use gnu++17 as the default C++ standard From: Mark Millard In-Reply-To: Date: Tue, 22 Apr 2025 17:37:47 -0700 Cc: dev-commits-src-main@freebsd.org, FreeBSD Toolchain Content-Transfer-Encoding: quoted-printable Message-Id: <3DD77870-F475-4B97-9F01-0DA1F5DFCA22@yahoo.com> References: <5B14F0FB-54D8-4FE0-BEFA-C4713DF11B20.ref@yahoo.com> <5B14F0FB-54D8-4FE0-BEFA-C4713DF11B20@yahoo.com> To: John Baldwin X-Mailer: Apple Mail (2.3826.500.181.1.5) X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Rspamd-Queue-Id: 4Zj0ZN4cKGz41MJ X-Spamd-Bar: ---- On Apr 22, 2025, at 11:40, John Baldwin wrote: > On 4/11/25 13:14, Mark Millard wrote: >> John Baldwin wrote on >> Date: Fri, 11 Apr 2025 13:54:30 UTC : >>> The branch main has been updated by jhb: >>>=20 >>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D6527682ab7058e5023a2a6dea01d51c1= 5dca701f >>>=20 >>> commit 6527682ab7058e5023a2a6dea01d51c15dca701f >>> Author: John Baldwin >>> AuthorDate: 2025-04-11 13:53:50 +0000 >>> Commit: John Baldwin >>> CommitDate: 2025-04-11 13:53:50 +0000 >>>=20 >>> src: Use gnu++17 as the default C++ standard >>>=20 >>> Previously the compiler's default C++ standard was used unlike C = where >>> bsd.sys.mk explicitly sets a default language version. Setting an >>> explicit default version will give a more uniform experience across >>> different compilers and compiler versions. >>>=20 >>> gnu++17 was chosen to match the default C standard. It is well >>> supported by a wide range of clang (5+) and GCC (9+) versions. >>>=20 >>> gnu++17 is also the default C++ standard in recent versions of clang >>> (16+) and GCC (11+). As a result, many of the explicit CXXSTD >>> settings in Makefiles had the effect of lowering the C++ standard >>> instead of raising it as was originally intended and are removed. >>>=20 >>> Note that the remaining explicit CXXSTD settings for atf and = liblutok >>> explicitly lower the standard to C++11 due to use of the deprecated >>> auto_ptr<> template which is removed in later versions. >>>=20 >>> Reviewed by: imp, asomers, dim, emaste >>> Differential Revision: https://reviews.freebsd.org/D49223 >> [The note below is just a thought prompted by this. It applies >> to the prior context as well.] >> As I understand many C++ ports use the system c++ toolchain >> and libc++ to build and operate --and there is only one libc++ >> available in some respects. If that is the case >> . . . >> This ends ends up controlling the C++ library's features for >> any libc++ library material used via any of: >=20 > No, it does not. libc++ is mostly templates and uses many #ifdef's > to provide support for multiple language standards. For the actual > symbols required at runtime, we build libc++ such that it includes > all of them (in particular, we use a higher CXXSTD to build libc++ > itself and have for a long time). Thanks for that note. I had always implicitly assumed that the likes of: /usr/src/lib/clang/llvm.build.mk:CXXSTD?=3D c++17 was in control of that (presuming no explicit override in my builds). I'm unaware of anything documenting that FreeBSD's libc++ .a and .so are based on something that produces what I now find has -std=3Dc++23 in the relevant *o.meta files in my builds, such as in the various: = /usr/obj/BUILDs/main-CA76-dbg-clang/usr/main-src/arm64.aarch64/lib/libc++/= *o.meta I had never thought to double check that. I think that some reference to the difference probably should be documented, even if it mostly points to where to look in the source tree to see the libc++ default if one has a reason to care about the detail. In my current context: # grep -r -B4 -A1 'CXXSTD.*=3D' /usr/src/lib/libc++/ | more /usr/src/lib/libc++/Makefile-.if ${COMPILER_TYPE} =3D=3D "gcc" && = ${COMPILER_VERSION} < 130000 /usr/src/lib/libc++/Makefile-# NOTE: gcc 12 cannot correctly compile all = libc++'s C++23 code. To temporarily /usr/src/lib/libc++/Makefile-# support gcc 12, compile libc++ in C++20 = mode, but this will leave out any /usr/src/lib/libc++/Makefile-# C++23 features. /usr/src/lib/libc++/Makefile:CXXSTD?=3D c++20 /usr/src/lib/libc++/Makefile-.else /usr/src/lib/libc++/Makefile:CXXSTD?=3D c++23 /usr/src/lib/libc++/Makefile-.endif Part of the point of documenting such is to note that the likes of: /usr/src/lib/clang/llvm.build.mk:CXXSTD?=3D c++17 does not, of itself, override what is in: /usr/src/lib/libc++/Makefile I'll note that there have been a time or two when libc++ did not include everything and I prompted for something to be enabled that was from the C++ standard and the LLVM was supporting it but FreeBSD was missing it. So I was unsure of that aspect as well. "Everything" also gets into if -fexperimental-library should cause anything contribute to libc++'s .a and .so files. (Hopefully such is all header-only material.) LLVM has even finished something but forgotten to remove needing the -fexperimental-library enablement. LLVM19 and jthread is an example. (LLVM20 finally removes the need for -fexperimental-library use.) I'm not claiming that -fexperimental-library would be a good idea if any of it would contribute to the .a and..or .so . But I know that there are ports dependent on partial implementations that -fexperimental-library provides (if libc++ is to be used). > So, no, this doesn't change > anything in libc++ itself. Understood: LIBCXX_ABI_VERSION based for compatibility, avoiding LIBCXX_ABI_UNSTABLE use. > It merely changes the default C++ > environment when using bsd.*.mk. >=20 > The same is true of libstdc++ use by GCC. It also supports the > full range of C++ versions in the dynamic library and does not > require separate builds for different C++ versions. Seems to be: GCC 3.4.0: libstdc++.so.6.0.0 and later so far (ignoring the GCC 4.2.1: libstdc++.so.6.0.9 temporary mistake). Thanks again, Mark =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Wed Apr 23 02:04:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zj2Th2prpz5tXX3; Wed, 23 Apr 2025 02:04: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 4Zj2Th2414z46nq; Wed, 23 Apr 2025 02:04:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745373848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OIeBerWK2z3yZaDpwKBkGnd//fEVMq82557EyhGRy1E=; b=EvPalMm2zjdkFw7+APmZVCieW1IvQk+J+JM3ZyXBAl7fxZE039dgQJmtotZupdALADD5a0 vsYyzsCXlo3/NjzyxkkIpLXyMBkDLv5w5lg2fRCOdi0xshgbhnPZRtaO6lzc3X59xRo1oZ 6+aeQ70yr7gzmfl0F46bCTt9t44Q8tRrSP6mAEB5CEl0BN39nIGSpTFy8E/MjAsj7ZACX3 yW6bWEX+jUjYqYtpmU3ogVLv5eIJz84tkBgOvgjQj68HTd4RQ33P/yGazW2lRbLHbijNM1 JPA2c0iI0w6ZRvK5LDKPoG8CppIL9BCOJmt4ScOmuYfQUPkWnbV+g2aa04OOPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745373848; a=rsa-sha256; cv=none; b=m1gUwvz4wURpzV82yPHApnqM3FWhsCkeBB31NmvEl5jeoob9caX/h0SVLdv7d3KTZwGoRN RN9nmeU4TI0yl8cmD6QdNgIL5h/D5Nsi1fA5UssVxDQ48KD8QTW2rmTdefbnGrR5djACdf tm/6bl5nNtnAGDJ01NL6B1VPcFqCtuQHSGrVW2vE3WUcQKIVRUzNj1kQmdtCJpt9UeCOzu hEKTsWFkQVktkV86GLPHRYt5JdRa1pQ8fTGasZL+Wd+ypDrWsp2UgVrfpf7MlotEr5zoCh ophDm/v6cssBByzBF0QrCEk2rYCMHS88vq/VvRkSF2KivBvIG5Vbgw1rGMJ86A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745373848; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OIeBerWK2z3yZaDpwKBkGnd//fEVMq82557EyhGRy1E=; b=avKWDjsm8buWQDqxNQZ9yvKHGhTqCL8Eqlh30sI8YwTmKgjkuFiwMUvkA+SRMT91n1YEo1 Fw/GAPmTRSPFikG4oeA5g59QjBIQzMNXnfefOf5kwInJjdwXQKndIOG3tfe6Ll8cykQHXN Zt2b71Orr1b5jrvzpFW4xidV66zL6F7yg711fnysZL5BtekuzjyO0OgkqRHg6VuQqiUvTK F1q87vIL/G4d88tLlh7bYULIc8de5qGmgo5ba7D1f25GsFrtbie72Syzi6CX9zYYgWUinX 88oD3QlFfZ0IOBEHDI7W1Z6AvScVyVE49sSJA1DYWE3faEnNfW3ZRars68JNrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zj2Th1cq8zlJp; Wed, 23 Apr 2025 02:04: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 53N248YR070188; Wed, 23 Apr 2025 02:04:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53N248Jb070185; Wed, 23 Apr 2025 02:04:08 GMT (envelope-from git) Date: Wed, 23 Apr 2025 02:04:08 GMT Message-Id: <202504230204.53N248Jb070185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 5c74aa3abd4e - main - rtwn: enable reception of BAR frames List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5c74aa3abd4e353ed7f8cb446c0527c8ebe15d1c Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=5c74aa3abd4e353ed7f8cb446c0527c8ebe15d1c commit 5c74aa3abd4e353ed7f8cb446c0527c8ebe15d1c Author: Jessica Clarke AuthorDate: 2025-04-01 00:43:13 +0000 Commit: Adrian Chadd CommitDate: 2025-04-23 02:02:39 +0000 rtwn: enable reception of BAR frames The RX filter wasn't enabling BAR frames, so we weren't receiving them during normal operation. Jessica noticed we WERE getting BAR frames, but only when promisc mode is active. Which is a different set of bugs, but it did highlight the differences here. Differential Revision: https://reviews.freebsd.org/D49596 PR: kern/285822 --- sys/dev/rtwn/if_rtwn.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c index 7df1b78db37b..7a547e13cafa 100644 --- a/sys/dev/rtwn/if_rtwn.c +++ b/sys/dev/rtwn/if_rtwn.c @@ -1203,6 +1203,9 @@ rtwn_newstate(struct ieee80211vap *vap, enum ieee80211_state nstate, int arg) /* Stop Rx of data frames. */ rtwn_write_2(sc, R92C_RXFLTMAP2, 0); + /* Stop Rx of control frames. */ + rtwn_write_2(sc, R92C_RXFLTMAP1, 0); + /* Reset EDCA parameters. */ rtwn_write_4(sc, R92C_EDCA_VO_PARAM, 0x002f3217); rtwn_write_4(sc, R92C_EDCA_VI_PARAM, 0x005e4317); @@ -1374,6 +1377,11 @@ rtwn_run(struct rtwn_softc *sc, struct ieee80211vap *vap) rtwn_write_2(sc, R92C_BCN_INTERVAL(uvp->id), ni->ni_intval); if (sc->vaps_running == sc->monvaps_running) { + /* Enable Rx of BAR control frames. */ + rtwn_write_2(sc, R92C_RXFLTMAP1, + 1 << (IEEE80211_FC0_SUBTYPE_BAR >> + IEEE80211_FC0_SUBTYPE_SHIFT)); + /* Enable Rx of data frames. */ rtwn_write_2(sc, R92C_RXFLTMAP2, 0xffff); From nobody Wed Apr 23 02:04:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zj2Tj5Rrjz5tXP7; Wed, 23 Apr 2025 02:04: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 4Zj2Tj36fcz46fM; Wed, 23 Apr 2025 02:04:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745373849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lZf9BeMf3BQvminihkQIGL5kFSstK4LhZYMwafNB9HA=; b=s9NCBanuD77WoDkyFAo5G9PH0LzJFJXY8vo2F8lj6k0LysTPNv1TRZaXd5jowy8fJjJGvR OW+MLWoQy3YZZslVgQKWo4y5BQqa+29uTK+qo2BCN5uV6gFym8idncdjkuYymHX8gU5vpt Tb3ETMl2YiMC7pkhT+Y0gJ5dHu8Y2s19jndacOrEeswdtKEgzs07wEAkaaDqFPGQRrofIu /u6GKYwtXIPxIE0XBapH/G2IQhw8DfoSC2RW7VebnUFIZ+fhzVQj9nDxJeBAsU21Z967GG szPS9JeyI6yerpRIIU4V2lwdEyb+DJH30ffqyBeO6o/FfePsFB/j1ufiPouo8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745373849; a=rsa-sha256; cv=none; b=El63tBVwrauER+rchCWXPZlkITeH7TtEMjkyEYN9lj2wmpZc6etu6UGOW+vvpQOhYIMlQq WjALuBBE/08TjaDBc2qCkE6YFvLy0pvGWirz7pJdzu/EsT/RLH8QPmOzgIzDAtLXGifzKf GM7ITQbnTrw+RHoBoKepWFWfpD1QJNtdS6llm/MfGX0q9P2C47uZ5qKTJqNXg6Wi1EK7ie bgnoBzv4a5y45eUQH/ycGg2Q0WSkRhueir1TKZh+TeDsJpBzTgZEMENBXx6t/yBb0nCqOS mWfjif9InSCH15Ov95oXiOde4yczt4yVJIXg59Jb9z+BEH2MnnXK2uZIg4GUxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745373849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lZf9BeMf3BQvminihkQIGL5kFSstK4LhZYMwafNB9HA=; b=CAADzv66Licdxeze/OOQ1C5otNhIUbTUjrdcUXHAGeG4fmqOzPsc2D390TTgr+dDK0d9nd Juc9dCyaTEcqeY3P7tca76DJUSw+ygpUmEtgQzEY18Gejr6ClpAeNQK1JWdOzme9jiXUlh wDf4mmdShFMmGjv+Rej9DmgLAr+ZszZgMDr16U28BQAv2psQZTSrs8GU6GMnse6Mfgn08O NCR2kHr6QKI1ylHdyT7tQfIvfbGgiuOssq04b+PY+ZBlblGpkd8lPGRtTXpi89/0PLfYoG efPFysNEn7qAOgO4w5SikSZb0AtK7yw1sPmcJE2HJ7pwrSLFqsOhJ1keuLP40g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zj2Tj2YDPzlT5; Wed, 23 Apr 2025 02:04: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 53N249xi070223; Wed, 23 Apr 2025 02:04:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53N249Y3070220; Wed, 23 Apr 2025 02:04:09 GMT (envelope-from git) Date: Wed, 23 Apr 2025 02:04:09 GMT Message-Id: <202504230204.53N249Y3070220@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: d5f5193e2db9 - main - rtwn: don't treat UDP/TCP checksum failure as permanent failure List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d5f5193e2db974576120b5e5f559970a6c15247d Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=d5f5193e2db974576120b5e5f559970a6c15247d commit d5f5193e2db974576120b5e5f559970a6c15247d Author: Adrian Chadd AuthorDate: 2025-04-01 23:57:41 +0000 Commit: Adrian Chadd CommitDate: 2025-04-23 02:02:47 +0000 rtwn: don't treat UDP/TCP checksum failure as permanent failure jrtc27@freebsd.org reported that DHCP wasn't working on some networks. She dug into it and found that the RTL8812AU/RTL8812AU NICs seem to be failing UDP frames w/ a zero checksum, which is a valid "there's no checksum" checksum. So, just pass those frames up the stack and let the IP stack deal with it. If the hardware claims the frames did pass TCP/UDP checksum then still mark those frames with the checksum offload bits. PR: kern/285387 Differential Revision: https://reviews.freebsd.org/D49628 --- sys/dev/rtwn/rtl8812a/r12a_rx.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sys/dev/rtwn/rtl8812a/r12a_rx.c b/sys/dev/rtwn/rtl8812a/r12a_rx.c index 805775033fd1..b2e02998de49 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_rx.c +++ b/sys/dev/rtwn/rtl8812a/r12a_rx.c @@ -190,8 +190,16 @@ r12a_check_frame_checksum(struct rtwn_softc *sc, struct mbuf *m) (rxdw1 & R12A_RXDW1_IPV6) ? "IPv6" : "IP", (rxdw1 & R12A_RXDW1_CKSUM_ERR) ? "invalid" : "valid"); + /* + * There seems to be a problem with UDP checksum processing + * with the checksum value = 0 (ie, no checksum.) + * So, don't treat it as a permament failure; just let + * the IP stack take a crack at validating frames. + * + * See kern/285837 for more details. + */ if (rxdw1 & R12A_RXDW1_CKSUM_ERR) - return (-1); + return (0); if ((rxdw1 & R12A_RXDW1_IPV6) ? (rs->rs_flags & R12A_RXCKSUM6_EN) : From nobody Wed Apr 23 02:04:10 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zj2Tl1H2bz5tXm0; Wed, 23 Apr 2025 02:04: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 4Zj2Tk54Shz46xW; Wed, 23 Apr 2025 02:04:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745373850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i1ngvmTzkxdn2Jx3MBWv+ADl8tIMSexFYVFmtgyPnxw=; b=QW8+jZgn8eGkBB6MY1f80OVZ8CQgkw9aVyUXY/HBOHPkB/5PP6gT/GhE1jDCenebQYPtwq +yS1NDcIJWpOpAU6aD66oLZGXzMP7fgoUMSiny11KVKJHk07hjg8StskfFsn71rZJVVDz1 Jl6fYFxojIT3INJLnvBr9LifmyI2UeeQuOayD+5xIk8jP1Fm3SnbJ6xmWJSd+QniTfiDPM 5RScF1cUXI0NxZaasiBCICa+fOPNi0wadNR+e1cd7AhDUYll+A+r0Mgk0u9hB15Up70Wip 5lz8zVM03YI+PBLz2sVvxOLMf0bY/u4J2rHZ3ASgi8suMbOEnas3VGVG/Tz49w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745373850; a=rsa-sha256; cv=none; b=LYIfcu7LYhqjpuwPyxpc0As5e2MMLRHLTdImEpzcsUOnplmiiIuTDMtYH7T8Kn53TGTd0X fwMz1n2eGk5lCyqfWc4VxlZVVe1UEJkZ8TmjSIg7OgqL2JteDMA/pYwCuK0XTwL7aXTWel +1jb34TPtEzPAQgvY76nI0Na24TOzqZQAnlrWadEXI4ridM3FrKZER6sjEv5UfwInoxtmM 2Iu34N5WdVd4q228SiIJRQWt/sEcOnIHHTUotI4FAL+jFHZQPG8SYW7w3Cabf3AxUzQcVK S0Qliu48UptA4brOpnmu+ruob12fNJXFf4DSOBJmCSXFrXT3xYIACp6b5+bFJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745373850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i1ngvmTzkxdn2Jx3MBWv+ADl8tIMSexFYVFmtgyPnxw=; b=Pb7swikCK1DyQA6CGwtnpr+uqoZEWgvIM0/arU4aVxTtQFBks0i/hwQ6vz+y2orI44SAfP +Ne/SkcGFJcF5s9Q3bgiFVOX+s0hQFIuVAZBldTGStKLZCIOvi3NlpiYBIZbVCrybjNLXI fVRNiwD/kSQjYd5wzLDp4DvilqR/8uIBHwpYhoI6yB+2t2XzezwArukfkggGa89y8it8XI uOjhOQqOx0l8dWebTTf9DC2bdoQuebARBviOfXlte1BQR01NaJHCgUHwsIvdpsNlk82HAp 5CLAcaruNXMJ4xSTQ6TWAFJmU45qxcjkQURa2k4uV69UkcRA5V78QE7Aly3joQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zj2Tk3Ssbzkv6; Wed, 23 Apr 2025 02:04: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 53N24AYO070255; Wed, 23 Apr 2025 02:04:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53N24ANR070252; Wed, 23 Apr 2025 02:04:10 GMT (envelope-from git) Date: Wed, 23 Apr 2025 02:04:10 GMT Message-Id: <202504230204.53N24ANR070252@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 0e99e55d1866 - main - wlanstats: add crypto_swcipherfail List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0e99e55d18669164b5f7218222ec6ced5609ee48 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=0e99e55d18669164b5f7218222ec6ced5609ee48 commit 0e99e55d18669164b5f7218222ec6ced5609ee48 Author: Adrian Chadd AuthorDate: 2025-04-10 20:41:46 +0000 Commit: Adrian Chadd CommitDate: 2025-04-23 02:03:00 +0000 wlanstats: add crypto_swcipherfail This adds the is_crypto_swcipherfail counter to wlanstats. This counter counts the instances of failing to find support for a requested cipher being handled completely in software. Differential Revision: https://reviews.freebsd.org/D49767 Reviewed by: bz --- usr.sbin/wlanstats/wlanstats.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.sbin/wlanstats/wlanstats.c b/usr.sbin/wlanstats/wlanstats.c index 588b67ddd417..83f5010341a9 100644 --- a/usr.sbin/wlanstats/wlanstats.c +++ b/usr.sbin/wlanstats/wlanstats.c @@ -394,6 +394,8 @@ static const struct fmt wlanstats[] = { { 9, "gcmp_nomem", "gcmpnomem", "No memory available (GCMP)" }, #define S_RX_GCMPNOSPC AFTER(S_RX_GCMPNOMEM) { 9, "gcmp_nospc", "gcmpnospc", "No mbuf space available (GCMP)" }, +#define S_CRYPTO_SWCIPHERFAIL AFTER(S_RX_GCMPNOSPC) + { 12, "crypto_swcipherfail", "swcipherfail", "No matching software cipher support" }, }; struct wlanstatfoo_p { @@ -848,6 +850,7 @@ wlan_get_curstat(struct bsdstat *sf, int s, char b[], size_t bs) case S_RX_GCMPMIC: STAT(rx_gcmpmic); case S_RX_GCMPNOMEM: STAT(crypto_gcmp_nomem); case S_RX_GCMPNOSPC: STAT(crypto_gcmp_nospc); + case S_CRYPTO_SWCIPHERFAIL: STAT(crypto_swcipherfail); } return wlan_getinfo(wf, s, b, bs); #undef NSTAT @@ -1019,6 +1022,7 @@ wlan_get_totstat(struct bsdstat *sf, int s, char b[], size_t bs) case S_RX_GCMPMIC: STAT(rx_gcmpmic); case S_RX_GCMPNOMEM: STAT(crypto_gcmp_nomem); case S_RX_GCMPNOSPC: STAT(crypto_gcmp_nospc); + case S_CRYPTO_SWCIPHERFAIL: STAT(crypto_swcipherfail); } return wlan_getinfo(wf, s, b, bs); #undef NSTAT From nobody Wed Apr 23 04:40:31 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zj5y76V4Cz5sjy1; Wed, 23 Apr 2025 04:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zj5y75pbCz3YD1; Wed, 23 Apr 2025 04:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745383231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n3k9XjtrzsfHCbF7K1bm1mCvUJWUnlRdqv2wDBL/jDA=; b=XXvXIeLrPBeNb0QIescYLBAlRJXya+e5ojQptwuhcUuwqdnrxMMrq1qv5GP3hZbqwqKhPT RiHBelnVHZhHQTdnMBozEIs4nLCD0DOygSoRGs/5FHuS//DQRRDDWiTY+QDuUiMHs2LYed 1zAS32TN9+G6Q/Z3mASi/8okFKy02HWIbf5XMpqSIl+Jx3E3shJQLm8M8vWbc4NXIzbs+e UcJfZYY+CK6kX1f0OJ9YEbQYQVybFmGJkQSvTwiqudZA3J5gTLX2/Mk/jMcaLy3mM7yXSx 8rvGqYk4ex7qIAeC2R6Nqru0eA+hiRR0EBBRCLSvmJhOb017v+RStjjmIps7bg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745383231; a=rsa-sha256; cv=none; b=eX+7HHkCvobhDPEe2DkTDzefOoq+pABaY9K0lbvixXLQcVXSDSYhLknxteOOpOalnHEKYG EAMKIYWpudtp2Cwo5MBUJTNnc9Vy7ufqtTE35SLYYqfdbj+cnnnw4FrGPPNFgl9ToZIBvW q9wFwI3/Fj52TZmLjusMPc4B37Ll1YkvoKGwvdg0VNxTOXkqErlmqNhSwbnEpCV8XUxu3Q EjLbX+dmWUtXxBpWssiePXgXQeQo6TjMGOz5nfKTYSqqM7MDDqOwAiWJnBJPI24B43TZxZ eJABx03GjGpn2rYxgqQRaOvumAeqYoqmDGlJxEJW28dBrcvriPNhnMjNCaU1dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745383231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n3k9XjtrzsfHCbF7K1bm1mCvUJWUnlRdqv2wDBL/jDA=; b=qwk+nHBm2V9hJpdjbpE9Rbnao+hm+c66A51+JwZnbPpmc7Z+ra8HeScZmHShNyHHWh2b8+ HPlU6g0IhP78NfdhMfYcqYy1FZc8uKYivI5nKD99guoa0NpYhVCyPnkGgWs+C05B7D4yWQ npItIhdT3dBWGI876vilgC2tOMllDrHSkXM93daqyqCxdog04/ZrqjQweyRlV3NO+Tlv06 4xEF3Wvb4mROY7qo44WDT9p0vMm5RyxqlSHN24PL+vL7y6wq9zx5tCPbqxYzbB9q7js/q1 1Jan5Xd29eE6SXKLu+KP08scqEd8V13FkpucHvyGNEM9Z4uSAOJC21EOrzAJAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zj5y75Pt8zptL; Wed, 23 Apr 2025 04:40:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53N4eVAC062677; Wed, 23 Apr 2025 04:40:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53N4eV3F062674; Wed, 23 Apr 2025 04:40:31 GMT (envelope-from git) Date: Wed, 23 Apr 2025 04:40:31 GMT Message-Id: <202504230440.53N4eV3F062674@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: eef0c78e435d - main - etc: add config tag to /root/.k5login List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: eef0c78e435d5e38392c239d878784fda80b1fb8 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=eef0c78e435d5e38392c239d878784fda80b1fb8 commit eef0c78e435d5e38392c239d878784fda80b1fb8 Author: Lexi Winter AuthorDate: 2025-04-23 04:38:13 +0000 Commit: Lexi Winter CommitDate: 2025-04-23 04:39:05 +0000 etc: add config tag to /root/.k5login this prevents the file being overwritten every time FreeBSD-runtime is upgraded. Reviewed by: des Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D49907 --- etc/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/Makefile b/etc/Makefile index d3cb6b679dc5..4e387e8543d0 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -71,7 +71,7 @@ distribution: .if ${MK_KERBEROS} != "no" cd ${.CURDIR}/root; \ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ - -T "package=runtime" \ + -T "package=runtime,config" \ dot.k5login ${DESTDIR}/root/.k5login; .endif From nobody Wed Apr 23 04:43:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zj6261ktRz5skLs; Wed, 23 Apr 2025 04:43: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 4Zj6256Jq8z3ZrY; Wed, 23 Apr 2025 04:43:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745383437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/I1cRq832e1kLKxpZAEj5Ui/Sm5PM8dGU6C5vggCyYI=; b=Ew+HQ/tBZM2dDlWl+dwXOjy8uipAVuK/1+fc5YyemvQRSoA3xJ8W4ggnZ8V+Q85Dxz1tby x2PDQELh2kNhqUgjVLj/NK/gpZBhiWDqHyy34jEFGV5FFmAYPyK7lQKbr5UOHfR32/R1i9 m+utGkJOrx1/dPJFVtOdI7VXi5IeStZ67X+fpc0wqSUO4y6JxKUpvFRr1cibwKNexFO0p4 61r/hTIO4QuAI4QxSJD3GhI80MZJofKB0LlJaPt+YwbcGKF0KjnuBiAdbVRToCs32+ELPf YC4ZPhSy7hoXLXDg6Y0yuvf3JjTtKaQJwpw96i6aX4eSPFL8t0CV378cxtY1iA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745383437; a=rsa-sha256; cv=none; b=J2XRQhX2wgLYuNEGA53ak9UROWJ4zDHHHhNLSJLFHz9fBUAecoyX+P4msp1OVdejrq4xPI x0V66Q4w1pXgxzobyNlZveVpvMgN3SFTjTRuq/VmflYRs0i/IJbdQPTtOpQfJLtjxTobZo t9J44DipUImIvInc/BHm+WF4lQPT9SfT2QK1luEj7/lKCy+Qd/nxKXn0cE6yF7TNp4sDin YSmqaC/OWcOoIjA2JWKKY1T/Nl8EP0whciwwOCgtAoER2ZxxkUAKIgLMJxhTxHzkXkPNZO lRv4y/FQBiosPai08RtvQ4bk3jpdTXFbJIPFrE++AstyNFPmTQHs3rqf/9qKPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745383437; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/I1cRq832e1kLKxpZAEj5Ui/Sm5PM8dGU6C5vggCyYI=; b=NhLSFKo0eFD5rozbLZCk9sF2fDZPp5nF9LJhRzJV6qThOySE+jUkM/zffkqlHFd9XAYjdk Gy27w7faV5tTPR4wsSSxr9aP1V7G7hPK26sFAh3j1/0baxjdTaSXNTLty8Xm22G0JweIdX cSHKuS7uwkKMCiT402t/ewCQVYbZuZbReqVlmgLlWauYhhmgPNLr23ka0+fGz68F3c2jKZ ntanb8PB4+IcmMNjQm0CAARTUzRVDhVX3MFHGfw8ohRPIPd5Vz4yz7h9Oh72OI41iU9n2O wudRP0UqWjoN0AYbqnvF8mQun2cNvd7nOFHt/WM92pfU3Fi5JDaz8kzMcGpmwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zj6255vQyzqJ6; Wed, 23 Apr 2025 04:43: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 53N4hvLr070594; Wed, 23 Apr 2025 04:43:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53N4hvED070591; Wed, 23 Apr 2025 04:43:57 GMT (envelope-from git) Date: Wed, 23 Apr 2025 04:43:57 GMT Message-Id: <202504230443.53N4hvED070591@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: d14036ea424d - main - release: Pass PKG_INSTALL_EPOCH (take 2) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d14036ea424d5aa3eee20cc6f0b5d7117cc3931b Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=d14036ea424d5aa3eee20cc6f0b5d7117cc3931b commit d14036ea424d5aa3eee20cc6f0b5d7117cc3931b Author: Colin Percival AuthorDate: 2025-04-23 04:39:56 +0000 Commit: Colin Percival CommitDate: 2025-04-23 04:41:39 +0000 release: Pass PKG_INSTALL_EPOCH (take 2) We need to pass this to cloudware builds, not just VM builds. MFC after: 4 days Fixes: 81ca663642ef ("release: Pass PKG_INSTALL_EPOCH to vmimage.subr") Sponsored by: Amazon --- release/Makefile.vm | 1 + 1 file changed, 1 insertion(+) diff --git a/release/Makefile.vm b/release/Makefile.vm index 7821109cf9ca..ff8adcb8bd9b 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -138,6 +138,7 @@ cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} EC2BASEIMG=${.OBJDIR}/${EC2-BASE${_FS:tu}${_FMT:tu}IMAGE} \ ${WITHOUT_QEMU:DWITHOUT_QEMU=true} \ ${NO_ROOT:DNO_ROOT=true} \ + PKG_INSTALL_EPOCH=${PKG_INSTALL_EPOCH:U${GITEPOCH}} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} \ -F ${"${_CW:MEC2-BUILDER}" != "":?ufs:${_FS}} \ From nobody Wed Apr 23 07:06:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zj9BB3ZK1z5sx12; Wed, 23 Apr 2025 07:06:10 +0000 (UTC) (envelope-from agh@riseup.net) Received: from mx0.riseup.net (mx0.riseup.net [198.252.153.6]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mx0.riseup.net", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zj9B96RhCz3Tkv; Wed, 23 Apr 2025 07:06:09 +0000 (UTC) (envelope-from agh@riseup.net) Authentication-Results: mx1.freebsd.org; none Received: from fews01-sea.riseup.net (fews01-sea-pn.riseup.net [10.0.1.109]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx0.riseup.net (Postfix) with ESMTPS id 4Zj9B827Z3z9sj0; Wed, 23 Apr 2025 07:06:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1745391968; bh=vIirMbVJ9qu7a5Q4gJE9m0Dj+SI+xtHxLV9rKiVlUR4=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=EnIzGe//IiWznu3jQaP73PE0UPZZQO+frTQ5/UVxnH4iBaCBbZVU/OfeKeY9AwVyr tmip9drJ6yQoomTbJLc7THyJiSVjf6TBFJHSW7Zj24UC1oXvl60b2C6ezCBOyu3yZA cbyWG8Q/kPaM6mB4PAuwRh3eDsVl+jwuSFCquV0U= X-Riseup-User-ID: 9FE85A8119DB9F1F0EA813BCBA801E2B81D82B930793D55D03C44CED050D3838 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews01-sea.riseup.net (Postfix) with ESMTPSA id 4Zj9B80TDvzJsFr; Wed, 23 Apr 2025 07:06:08 +0000 (UTC) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Date: Wed, 23 Apr 2025 07:06:07 +0000 From: Alastair Hogge To: Adrian Chadd Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: d5f5193e2db9 - main - rtwn: don't treat UDP/TCP checksum failure as permanent failure In-Reply-To: <202504230204.53N249Y3070220@gitrepo.freebsd.org> References: <202504230204.53N249Y3070220@gitrepo.freebsd.org> Message-ID: <043f8ba641250dcf7c9f0ed849f5045d@riseup.net> Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:16652, ipnet:198.252.153.0/24, country:US] X-Rspamd-Queue-Id: 4Zj9B96RhCz3Tkv X-Spamd-Bar: ---- On 2025-04-23 10:04, Adrian Chadd wrote: > The branch main has been updated by adrian: > > URL: https://cgit.FreeBSD.org/src/commit/?id=d5f5193e2db974576120b5e5f559970a6c15247d > > commit d5f5193e2db974576120b5e5f559970a6c15247d > Author: Adrian Chadd > AuthorDate: 2025-04-01 23:57:41 +0000 > Commit: Adrian Chadd > CommitDate: 2025-04-23 02:02:47 +0000 > > rtwn: don't treat UDP/TCP checksum failure as permanent failure > > jrtc27@freebsd.org reported that DHCP wasn't working on some > networks. She dug into it and found that the RTL8812AU/RTL8812AU > NICs seem to be failing UDP frames w/ a zero checksum, which is > a valid "there's no checksum" checksum. > > So, just pass those frames up the stack and let the IP stack > deal with it. If the hardware claims the frames did pass TCP/UDP > checksum then still mark those frames with the checksum offload > bits. > > PR: kern/285387 Points to[1]: lang/gnat12: missing ali files for aarch64 1: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285387 -- To good health, Alastair From nobody Wed Apr 23 11:56:52 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjHdc3Vgwz5tHNm; Wed, 23 Apr 2025 11:56: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 4ZjHdc2gMNz3yjt; Wed, 23 Apr 2025 11:56:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745409412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NaHNTpa9p124KVJDbnI4wXOPMHxVkx6zljuhH29xGpA=; b=GYumdMK5sFTCvkw0cXXXc8Ffgto5Orh+Hyxeyt8wJa8cmP4SMvawAyVbrhR3YrgZUKkWbl w+N+UbDlCUw0iknOooq3QWlyWB5rcARVPMItjdg6R4aCRM8fotIzFxNA4mswZZhZRuwvSm YqXAx/mZwZmneyHphQNCCjBE9TFwzQEqnlUSpX2nAs9Fp1ZoitAnBiOyqksFlGejLpXkBG ovSoEEx47MeuuGin4wDOGWugT/u8xFoqqf52eKTOBKbxkK2SmMZcsVPXnEpEyTjURru/zZ Xqf7ZhM/ApFxb650QczgWMDjK0DRj7AZxoNIjHe0/PiYHJYuejbc1GwENl6tkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745409412; a=rsa-sha256; cv=none; b=l8YW5jDCtypJsaNMyH84bkBxW5diniuEcFdW+dk0zS8XQEkmV/LOqUWcIgtZCRnFBm+f5m EZYNOuf8u9ZXwwPcDcjMneFGWbEX2s7CwPQsMp/wFCgPdsCgvPo4LyzRCAC3ItqNPkeyov 2+ybWriwnu8NaWVV00/7F1y22g7bvvFkEbN2pbnWsy3eC87O1qzX3d69/XD13//u3vHfTM SmEdkPtOQstpv5Kz1a1bw7owtITkCb8YFeKt9GAlZYNENpGPTZbQpAAFD+4ZOmhXb3Ma6S JIG8PUzmM4f0tGy7aMfSw4tHQLxGkHXDsr46dCQRaLYS73BNQsSIVtTvuDZ3/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745409412; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NaHNTpa9p124KVJDbnI4wXOPMHxVkx6zljuhH29xGpA=; b=RpHdnvmVgLYeN4t2coBsO5J2TVWT7IavUaw0hZUi0KJ8KESVUSEuzqcKChFgkL84cB00kR Rv36gHur5uIHcDc/xsNmPTbDlPRcuEaSnK9Z7YwQLnKC8h4T+fUhuDI/0Ko3sosUiU8x6x DElIdT33Hflsvyv+4hl2jSzMGHU75oda2b9Gj8iB8xkzqMeMEwijTCOzFrXm0jdvIdKoSa zx7ElSJHHgrV3zBeJXoevULlEWZRah4PmtIhJFu6UBu5u04OTpNOkf61V7gNwJDdKST91y WFxGXvwxeW39hQd1sY9sSutG1USs+J4el5H52KmBzd2ustHmvU7XBklfQnmcCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjHdc25spz137F; Wed, 23 Apr 2025 11:56: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 53NBuqjs075619; Wed, 23 Apr 2025 11:56:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NBuq7W075616; Wed, 23 Apr 2025 11:56:52 GMT (envelope-from git) Date: Wed, 23 Apr 2025 11:56:52 GMT Message-Id: <202504231156.53NBuq7W075616@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 332219c93baf - main - pf: deduplicate code List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 332219c93baf85691af957f22bc66848f2636168 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=332219c93baf85691af957f22bc66848f2636168 commit 332219c93baf85691af957f22bc66848f2636168 Author: Kristof Provost AuthorDate: 2025-04-21 15:30:37 +0000 Commit: Kristof Provost CommitDate: 2025-04-23 08:15:08 +0000 pf: deduplicate code In pf_translate() the TCP, UDP and SCTP cases were identical. Deduplicate them. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 95dc6a318dd4..a4a24148da72 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6328,19 +6328,8 @@ pf_translate(struct pf_pdesc *pd, struct pf_addr *saddr, u_int16_t sport, switch (pd->proto) { case IPPROTO_TCP: - if (afto || *pd->sport != sport) { - pf_change_ap(pd, pd->src, pd->sport, - saddr, sport); - rewrite = 1; - } - if (afto || *pd->dport != dport) { - pf_change_ap(pd, pd->dst, pd->dport, - daddr, dport); - rewrite = 1; - } - break; - case IPPROTO_UDP: + case IPPROTO_SCTP: if (afto || *pd->sport != sport) { pf_change_ap(pd, pd->src, pd->sport, saddr, sport); @@ -6353,20 +6342,6 @@ pf_translate(struct pf_pdesc *pd, struct pf_addr *saddr, u_int16_t sport, } break; - case IPPROTO_SCTP: { - if (afto || *pd->sport != sport) { - pf_change_ap(pd, pd->src, pd->sport, - saddr, sport); - rewrite = 1; - } - if (afto || *pd->dport != dport) { - pf_change_ap(pd, pd->dst, pd->dport, - daddr, dport); - rewrite = 1; - } - break; - } - #ifdef INET case IPPROTO_ICMP: /* pf_translate() is also used when logging invalid packets */ From nobody Wed Apr 23 11:56:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjHdf03QZz5tHC5; Wed, 23 Apr 2025 11:56: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 4ZjHdd3kTdz3yjR; Wed, 23 Apr 2025 11:56:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745409413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tXgETnKc7IPqap6BBnRvSvaPfy9hG7cAchGLAa5PW6c=; b=NKNtuWlrEeUDa9rTOVp8oferFEKKJ1CDygkdRB5MgIbseIiemr32SRnPcHspfy32RbYaSp 8yXnzyv/Ejyx9vgUAbaYBQtwc9YuB7/WFZbZ5zEcf25sVwvuF0AnVirfPeXABWuCRo1YYC cHQTlojAkTEOn3XipJ7jhdkWcDokaSakazSNlIYBJhzVzLwAkizXaWyMPrU94zgLv6dUAl 0jju4zCnvLLadd1GFHkddMwp/Xy/GuKpRINP7PX1jSeOfscD5IrloukVZumuYYgtS4w+Nr QoUTgfH7sAFtyH/Yf8k3hlzbD+yEAk8JtupVFIz96/GJtvpIiZwR2cqEYNJ8Pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745409413; a=rsa-sha256; cv=none; b=MLT/XClIfNNyVllqYrf6Q/6OjL4FE2DyTWQ2PqmviywwvL77IyYVlLmMeltZcAoEzSAV// 2SoUF20TKF5M0G+MoJarmLW6hFU1Fp//HXGRrXQbsX14llRsJFnJ3LYESLb5mAPxYxigu9 CM2pftsWQztskEmmvxS+NCRTws2PDMi95s//7jfgT6wUZU/+/XdmkdhYDYHnB9kv4kBmgR 1HvlVIG/w/J2zfk3kOaFyHthg1MdS0yRJA4oBAyMTH3zRmmNI8GlSvfMKZfAfW3SynnIha PRh5w92zpYfjZsuaOxnRc4WCHxr5Uv/HNKMTy3HcBd9z8YflOYW1mB4f1FCKWw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745409413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tXgETnKc7IPqap6BBnRvSvaPfy9hG7cAchGLAa5PW6c=; b=VvcwYMZm2n68Y5uQxBlRg4ogj0IW1bz6O8xPf/h90nfdJ+P4Hr0d4B8TxD4kHeeD/wo3Vd YPYsa9EqKXlu7LHl8LMQZ57G4A1Gm6UIpblzmYFPlKDSDGzxo4BB4pzo3cWWVyqo09fiDK T9CYKr/y/dgGGYMI1HVBA7vOPzvr8Etg4JcFeGwfbe+T423GAm/yKveMCUXTyBgY7FKMVt qFmZhuzhfcAkOn2EgIghLvDR8ecw5O3E4rB5kuqTyCnaQ4eo+ivOAsaKQFK4KSQxRb1zwd 7i2Xy+EpZEXGM+hv5R+MejUvx0vbAiU306D5PU9AMs5Chi5MWHpo3GXQuAgP3Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjHdd3FSWz12qr; Wed, 23 Apr 2025 11:56: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 53NBurPp075654; Wed, 23 Apr 2025 11:56:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NBur1b075651; Wed, 23 Apr 2025 11:56:53 GMT (envelope-from git) Date: Wed, 23 Apr 2025 11:56:53 GMT Message-Id: <202504231156.53NBur1b075651@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 17ed12dc476d - main - pf: push 'field changed' guards into 'change field' functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 17ed12dc476df18a11fd7e852d868d8604ae0c18 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=17ed12dc476df18a11fd7e852d868d8604ae0c18 commit 17ed12dc476df18a11fd7e852d868d8604ae0c18 Author: Kristof Provost AuthorDate: 2025-04-21 15:31:43 +0000 Commit: Kristof Provost CommitDate: 2025-04-23 08:15:08 +0000 pf: push 'field changed' guards into 'change field' functions optimise pf_patch_32(); simplify pf_match_addr() OK mikeb@ Obtained from: OpenBSD, procter , 7f3e6f164e Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 4 +-- sys/netpfil/pf/pf.c | 74 +++++++++++++++++++++++------------------------- sys/netpfil/pf/pf_norm.c | 6 ++-- 3 files changed, 40 insertions(+), 44 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index c7a2bde63184..a94ac62558ca 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2453,8 +2453,8 @@ void pf_change_a(void *, u_int16_t *, u_int32_t, u_int8_t); void pf_change_proto_a(struct mbuf *, void *, u_int16_t *, u_int32_t, u_int8_t); void pf_change_tcp_a(struct mbuf *, void *, u_int16_t *, u_int32_t); -void pf_patch_16(struct pf_pdesc *, void *, u_int16_t, bool); -void pf_patch_32(struct pf_pdesc *, void *, u_int32_t, bool); +int pf_patch_16(struct pf_pdesc *, void *, u_int16_t, bool); +int pf_patch_32(struct pf_pdesc *, void *, u_int32_t, bool); void pf_send_deferred_syn(struct pf_kstate *); int pf_match_addr(u_int8_t, const struct pf_addr *, const struct pf_addr *, const struct pf_addr *, sa_family_t); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index a4a24148da72..a154e0c7b446 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -381,7 +381,7 @@ static int pf_walk_header6(struct pf_pdesc *, struct ip6_hdr *, u_short *); static void pf_print_state_parts(struct pf_kstate *, struct pf_state_key *, struct pf_state_key *); -static void pf_patch_8(struct pf_pdesc *, u_int8_t *, u_int8_t, +static int pf_patch_8(struct pf_pdesc *, u_int8_t *, u_int8_t, bool); static struct pf_kstate *pf_find_state(struct pfi_kkif *, const struct pf_state_key_cmp *, u_int); @@ -3208,44 +3208,54 @@ pf_cksum_fixup(u_int16_t cksum, u_int16_t old, u_int16_t new, u_int8_t udp) return (u_int16_t)(x); } -static void +static int pf_patch_8(struct pf_pdesc *pd, u_int8_t *f, u_int8_t v, bool hi) { - u_int16_t old = htons(hi ? (*f << 8) : *f); - u_int16_t new = htons(hi ? ( v << 8) : v); + int rewrite = 0; - if (*f == v) - return; + if (*f != v) { + uint16_t old = htons(hi ? (*f << 8) : *f); + uint16_t new = htons(hi ? ( v << 8) : v); - *f = v; + *f = v; - if (pd->m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) - return; + if (! (pd->m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | + CSUM_DELAY_DATA_IPV6))) + *pd->pcksum = pf_cksum_fixup(*pd->pcksum, old, new, + pd->proto == IPPROTO_UDP); + + rewrite = 1; + } - *pd->pcksum = pf_cksum_fixup(*pd->pcksum, old, new, - pd->proto == IPPROTO_UDP); + return (rewrite); } -void +int pf_patch_16(struct pf_pdesc *pd, void *f, u_int16_t v, bool hi) { + int rewrite = 0; u_int8_t *fb = (u_int8_t *)f; u_int8_t *vb = (u_int8_t *)&v; - pf_patch_8(pd, fb++, *vb++, hi); - pf_patch_8(pd, fb++, *vb++, !hi); + rewrite += pf_patch_8(pd, fb++, *vb++, hi); + rewrite += pf_patch_8(pd, fb++, *vb++, !hi); + + return (rewrite); } -void +int pf_patch_32(struct pf_pdesc *pd, void *f, u_int32_t v, bool hi) { + int rewrite = 0; u_int8_t *fb = (u_int8_t *)f; u_int8_t *vb = (u_int8_t *)&v; - pf_patch_8(pd, fb++, *vb++, hi); - pf_patch_8(pd, fb++, *vb++, !hi); - pf_patch_8(pd, fb++, *vb++, hi); - pf_patch_8(pd, fb++, *vb++, !hi); + rewrite += pf_patch_8(pd, fb++, *vb++, hi); + rewrite += pf_patch_8(pd, fb++, *vb++, !hi); + rewrite += pf_patch_8(pd, fb++, *vb++, hi); + rewrite += pf_patch_8(pd, fb++, *vb++, !hi); + + return (rewrite); } u_int16_t @@ -3958,8 +3968,8 @@ pf_modulate_sack(struct pf_pdesc *pd, struct tcphdr *th, htonl(ntohl(sack.end) - dst->seqdiff), PF_ALGNMNT(startoff)); memcpy(&opt[i], &sack, sizeof(sack)); + copyback = 1; } - copyback = 1; } /* FALLTHROUGH */ default: @@ -4434,41 +4444,29 @@ pf_send_icmp(struct mbuf *m, u_int8_t type, u_int8_t code, sa_family_t af, } /* - * Return 1 if the addresses a and b match (with mask m), otherwise return 0. - * If n is 0, they match if they are equal. If n is != 0, they match if they - * are different. + * Return ((n = 0) == (a = b [with mask m])) + * Note: n != 0 => returns (a != b [with mask m]) */ int pf_match_addr(u_int8_t n, const struct pf_addr *a, const struct pf_addr *m, const struct pf_addr *b, sa_family_t af) { - int match = 0; - switch (af) { #ifdef INET case AF_INET: if (IN_ARE_MASKED_ADDR_EQUAL(a->v4, b->v4, m->v4)) - match++; + return (n == 0); break; #endif /* INET */ #ifdef INET6 case AF_INET6: if (IN6_ARE_MASKED_ADDR_EQUAL(&a->v6, &b->v6, &m->v6)) - match++; + return (n == 0); break; #endif /* INET6 */ } - if (match) { - if (n) - return (0); - else - return (1); - } else { - if (n) - return (1); - else - return (0); - } + + return (n != 0); } /* diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 783e48627c0f..c77895d1829d 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -1633,12 +1633,11 @@ pf_normalize_tcp_stateful(struct pf_pdesc *pd, (src->scrub->pfss_flags & PFSS_TIMESTAMP)) { tsval = ntohl(tsval); - pf_patch_32(pd, + copyback += pf_patch_32(pd, &opt[2], htonl(tsval + src->scrub->pfss_ts_mod), PF_ALGNMNT(startoff)); - copyback = 1; } /* Modulate TS reply iff valid (!0) */ @@ -1649,11 +1648,10 @@ pf_normalize_tcp_stateful(struct pf_pdesc *pd, PFSS_TIMESTAMP)) { tsecr = ntohl(tsecr) - dst->scrub->pfss_ts_mod; - pf_patch_32(pd, + copyback += pf_patch_32(pd, &opt[6], htonl(tsecr), PF_ALGNMNT(startoff)); - copyback = 1; } got_ts = 1; } From nobody Wed Apr 23 11:56:54 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjHdf6Z2Wz5tHK1; Wed, 23 Apr 2025 11:56: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 4ZjHdf4GL7z3ymR; Wed, 23 Apr 2025 11:56:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745409414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+vtz8jlzKxr3xlQlL1VBuM5+udefOZgLUp4NG6knQbk=; b=MjLHFB0FnuqV8ZbZHigFc1mWaVDSjYudQE+WqzJyfJO9W2Fj2Tuq6aqihr5hJumv4jn+Fz bgN0txxxIsKJ3CL0WiY6PCZp3pyoAyGlisLq8rua54chi3x/a3K5gWew+LWMiU4nWxhWCM KnhTZEOKyU/JkhzsgohHQcfA/J6fdAqKsA3QRj9AIc8IwcJuIe5htZM2G8pmQBTTZaNeY7 ld2owla3g7oImvKKr8EfoM4uX1YTWysFSaEy+iPKNk1+9hNM44K+4mIvp7LAOe+D+waNLJ jsI5nTn3c2mcTmTDB8bt9y/v6SXR11SalyxMjD6iH7JXu94JjSoOtQPi/GBZqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745409414; a=rsa-sha256; cv=none; b=AsUfc/aumZjR0i+mPvSv4V4teyV9XlzhGEruC1hVfRb3gS/GCscLrmZPxIlyDPiO90qZNw nIGDM73UGilUAH3CAJdW2828OpUxGIE+gPcajIZoZc9D5rj4HWy90ZvmlIc4RwZwq6Eukz DrdmSj3yLZ8yFfRKxcmMdy04U465BXvMf6eaJ9PF7qVMk2Cu3J55st0remJMcbR/H1VxPi AoZR79smkNEWxZR7Sl2cBnGTXvRqVW2fXILszS/0OuTj+QzzBEyZPaAzmCNwIRb+DFlp5s pmcrPfBeflUxRWknbV1+hevQSdhPgp4HoYKxReqY7gwKdYXUqzI32hKCwMUV+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745409414; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+vtz8jlzKxr3xlQlL1VBuM5+udefOZgLUp4NG6knQbk=; b=Rc7Hchkb95wJLew8WAGNJJypssPnB90ExzYiiDfgxGo4VFlQqEx0gi1S8DOSS9L8+m3Aje M0U8Pb6qTatrlhYOvpIE36eIdT/qPwAHy6jIlTFmwSyz0xOpnREjF0YTYYBzrDDRijA24B pUshyIGBHVLMrd0TT5/LUWpU2gm0WbyssMTAfimC4nPFhhC2/yoJkhvAkn47VpNQxa6w9F ChWI8kYOi1KjxTs2HEsBFzABTpX/Er6jLIE/oO2QXP682m9b75jOejpKEbCj+4lL3q/lRa Y+6jkvJkz3COFBRx88SufxnoLXhsIloTnJz7N76a1513q2HFHfz7EUv8YdW5kQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjHdf3r7vz12Vf; Wed, 23 Apr 2025 11:56: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 53NBusk2075693; Wed, 23 Apr 2025 11:56:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NBus15075690; Wed, 23 Apr 2025 11:56:54 GMT (envelope-from git) Date: Wed, 23 Apr 2025 11:56:54 GMT Message-Id: <202504231156.53NBus15075690@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: fe0807ad3368 - main - pf.conf.5: make it clearer that log options require () List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fe0807ad33683c66f26c96b6ce6c25ec597233ab Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=fe0807ad33683c66f26c96b6ce6c25ec597233ab commit fe0807ad33683c66f26c96b6ce6c25ec597233ab Author: Kristof Provost AuthorDate: 2025-04-22 09:29:18 +0000 Commit: Kristof Provost CommitDate: 2025-04-23 08:15:08 +0000 pf.conf.5: make it clearer that log options require () requested by janne johansson ok henning Obtained from: OpenBSD, jmc , 0a764fedff Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index 64da49845a32..05b4a79290b9 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -27,7 +27,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 9, 2025 +.Dd April 22, 2025 .Dt PF.CONF 5 .Os .Sh NAME @@ -1729,8 +1729,8 @@ The keywords .Cm all , matches , to , and .Cm user -are all optional, -and can be combined using commas. +are optional and can be combined using commas, +but must be enclosed in parentheses if given. .Pp Use .Cm all From nobody Wed Apr 23 11:56:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjHdh1ZSPz5tGy2; Wed, 23 Apr 2025 11:56: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 4ZjHdg5MBGz3ymH; Wed, 23 Apr 2025 11:56:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745409415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sckAn5FSR/+MvtPvvYcTHAUPN6hpogp/zzg+lhg9lkk=; b=TeXDbsur/HT/Wxpa8g0xcHq4owhSKoAtl7HLHWuuvCO3Cujjonv1Tmh5OH/nYp2PQhsx7Y 3FvgR5mtvxdT/rMXpd8N+1M+f8WVqcxRvmOiq/DHpASO/iclNQSliRHhfwdgZSWP7L2R0l vgn6k1o3UCeJCZ2vvsckpm662iO/QfR+WyoOOZ8vQmGCplpBCecdGADAWEVAesAuQkHh6h hu4KwqavSrfusQrqkbSe0rEZ1HvP55JtDwTeRrOf0KtamnIh7d4Giwd2V38LBABRqgb8Ib QpSCVs1tht2BRJVsaS69kAKKbonkeBC7xazIYO4FRxfL0bKxIPVxmUR3bkttGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745409415; a=rsa-sha256; cv=none; b=Gt/GulchUjjtOlWWqkzpx9L0ZF+A9kqOx9kjKwq9uxDUWEuwTEx7R6+GDAtEwFN9H8fBfD qoIDgl9QLsdILS5Q3oAqw2/p9b9zBn7pOmL3Yf1ozrDE/jv2wvg5fWeVCW+C9Xu2DjxhXk dNzWHGSpkrXg85hkxdkQpPUCQhQFhTKOr+877k2AhYWnltiA30Be0lL0rT/T+2HtuIHC+c fRrbgADr4vS+oDfdam31YvPkMD6FawD3Sem1nq12gCFibs0WzHtE3V3TYEWJ/bB2JTq4vD Gx785IhU3LS5E92XZb2hvR91Uzy2EI4RHvlWxdO7eLJJRuWKm+F7umZIy5ZCzA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745409415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sckAn5FSR/+MvtPvvYcTHAUPN6hpogp/zzg+lhg9lkk=; b=hpRCRPbDNTKdmvTouL8caR+tjvuJPT8eeA2m/9XktvUK/ONXxnq6N8zkUAvAiqJ0AayCiN AR3ZIYl3NtAkFefwuWCYvUNiJX11zXYm90KtwsSxmaZaYpm3HCFqVOIR7Hj6LtopO5Lnap LXuK349UCzZHcdlkgH0eR9UF47MmAdL3BWthiSTcBGUHaAeXLu17JFOMcXfgr2xqdeWTF7 DJDmMM3zB809tmu/U5j+OPTNlTCf3mPvIrGg8Feq5U8X03pg1Iefdxb9rV5yd1Z8a51Ejb qFXhouNrmTZFyu2ZbD4nSOYW2kWOpV0snJO1RKudKJVmpiGJDfxjQF6nKiXK8A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjHdg4sMMz137G; Wed, 23 Apr 2025 11:56: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 53NButvr075728; Wed, 23 Apr 2025 11:56:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NButbj075725; Wed, 23 Apr 2025 11:56:55 GMT (envelope-from git) Date: Wed, 23 Apr 2025 11:56:55 GMT Message-Id: <202504231156.53NButbj075725@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 0ec87a46e68c - main - pf.conf.5: improve af-to example List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ec87a46e68ce324ccc95010947c5eedfe2062b8 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0ec87a46e68ce324ccc95010947c5eedfe2062b8 commit 0ec87a46e68ce324ccc95010947c5eedfe2062b8 Author: Kristof Provost AuthorDate: 2025-04-22 09:33:09 +0000 Commit: Kristof Provost CommitDate: 2025-04-23 08:15:08 +0000 pf.conf.5: improve af-to example Specify "to" addresses in one of the examples that shows use of af-to for inet6->inet. Without this, local network traffic (including neighbour discovery etc) will also get translated. From Peter J. Philipp, with a tweak to break long lines. Obtained from: OpenBSD, sthen , bb46494cdb Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index 05b4a79290b9..6ff3d50e6dc3 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -1404,8 +1404,10 @@ translated to 2001:db8::c633:6464. .Pp In the reverse case the following rules are identical: .Bd -literal -offset indent -pass in inet6 af-to inet from 198.51.100.1 to 0.0.0.0/0 -pass in inet6 af-to inet from 198.51.100.1 +pass in inet6 from any to 64:ff9b::/96 af-to inet \e + from 198.51.100.1 to 0.0.0.0/0 +pass in inet6 from any to 64:ff9b::/96 af-to inet \e + from 198.51.100.1 .Ed .Pp The destination IPv4 address is assumed to be embedded inside the From nobody Wed Apr 23 11:56:56 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjHdj2rj6z5tGy3; Wed, 23 Apr 2025 11:56: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 4ZjHdj0vmHz3yn7; Wed, 23 Apr 2025 11:56:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745409417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5Lq3F0vQIcJxoZd/T3qr4c5CsJyTq8ivCiiIgfBRpKQ=; b=KojW+tk5vlvKMqX7tTY99pNoCwnjLH0eqYqWoGwnlmNma9yiOMI55Utnvl8hz3SwiQo4qP fFjr9sQOMUcca1zoktGBwjooiVyF8l3zDgAan2mQEUluipWq1ZgaEp6qnUfnW+wFVuZXll i/fWtTVBUa0rhSIubjcB6mLTmfq+mu+HxzTREGJh/aSBsCrAyqlK6uRXQNSJluk2a/c3Ia fjj6j2ZVggXBTHWhLIU4P1sohSCb4E85DrCgihuwnfYD4fDmSUeaBbdLWyzQ3b9INRY4/P Bi3nrwY4/a65a8HcL4PNJpgTbxQ3ldtE5YrKpiJcDZS6VTMcQBCZoL5dATCErA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745409417; a=rsa-sha256; cv=none; b=p9YJ5VkP5GBM3yI5RbWWoV4h2BoHpu1bbOtl2mNYvK29Rhu5N2DxKAihetVG3GphHtJvHg pkpacZYABzrOOamg0VJm3F4baxWsDaa2snYGnQ3/1BzLVOpRTZqdjv/g3y0KGMgdqaHjdy 6qiELLYRiOEfwamsxeXz+av+EVdl7+ljlxASK3prI3MDKEQn3UYM4IE3fLFoqSDwlCsnZH ngJFpzDnB7wsp/38G9dIUt6KucM0pDd4YbJFeXOcPMf8IGf9EFP+0uog8p+RCljMgqtja7 nlLUBGtiNiJYfL0BoszlFzXRC4ybTzLBZBP7+C3ll76oq6pJ0MBULTcEElGjMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745409417; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5Lq3F0vQIcJxoZd/T3qr4c5CsJyTq8ivCiiIgfBRpKQ=; b=RmH8a7AcvqPqmkE04ob4oX7bLUZ6NxM2jYHo37cbL4gz80er8D7w0rbws4ktbMdp6WC/vu jSiXWbg8dP/hbWjXtuHwlmlL2EyikK/YW0w3vfAxNylmCNHBUIz9dKr3OLCXrqcDF0E9we sJ12p6LkAzPaLmbrS9/mhcpnfn00eNg6wY1XRZqXo3x/1mRjg976++cCU1xaQ7m6Ny+PUa n6HKy2G6uEPH7lS8BXNRMx+alkjaDcywgfj2fLLi0avaYynrLbfy0Jt9P8Y70meHdygfvZ fkKn7W9h4tmqF4d7VWVd+Dw1cCAOqbNcsxibCtPYY32zaSsqDQqx0qeEZec7Rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjHdj0Cqhz137H; Wed, 23 Apr 2025 11:56: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 53NBuuDb075768; Wed, 23 Apr 2025 11:56:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NBuuZp075765; Wed, 23 Apr 2025 11:56:56 GMT (envelope-from git) Date: Wed, 23 Apr 2025 11:56:56 GMT Message-Id: <202504231156.53NBuuZp075765@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: fa6330030b93 - main - pf: move pf_change_icmp_af() call for TCP/UDP in ICMP List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fa6330030b935c6a8505890fb019a963fa6f0036 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=fa6330030b935c6a8505890fb019a963fa6f0036 commit fa6330030b935c6a8505890fb019a963fa6f0036 Author: Kristof Provost AuthorDate: 2025-04-22 14:34:40 +0000 Commit: Kristof Provost CommitDate: 2025-04-23 08:15:09 +0000 pf: move pf_change_icmp_af() call for TCP/UDP in ICMP The checksum of a ICMP "need to frag" packet for TCP was wrong when created from a ICMP6 "too big" packet. The function pf_change_icmp_af() has code to adjust the pseudo-header checksum in the ICMP6 case, but pf_test_state_icmp() changed the proto before the case was entered. So call pf_change_icmp_af() before the pd->proto is converted in the TCP and UDP payload case like it was already done for ICMP and ICMP6 payload. Found by sys/net/pf_forward regress test; OK henning@ Note that we fully recalculate ICMP checksums in pf_translate_af(), so this does not result in any functional changes on FreeBSD. It is imported to reduce the diff with OpenBSD. Obtained from: OpenBSD, bluhm , 50188ace62 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index a154e0c7b446..06ced7b055b3 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -7987,6 +7987,11 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, m_copyback(pd->m, pd->off, sizeof(struct icmp6_hdr), (c_caddr_t)&pd->hdr.icmp6); + if (pf_change_icmp_af(pd->m, ipoff2, pd, + &pd2, &nk->addr[sidx], + &nk->addr[didx], pd->af, + nk->af)) + return (PF_DROP); PF_ACPY(&pd->nsaddr, &nk->addr[pd2.sidx], nk->af); PF_ACPY(&pd->ndaddr, @@ -8006,11 +8011,6 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, pd->src->addr32[0]; } pd->naf = pd2.naf = nk->af; - if (pf_change_icmp_af(pd->m, ipoff2, pd, - &pd2, &nk->addr[sidx], - &nk->addr[didx], pd->af, - nk->af)) - return (PF_DROP); pf_change_ap(&pd2, pd2.src, &th->th_sport, &nk->addr[pd2.sidx], nk->port[sidx]); pf_change_ap(&pd2, pd2.dst, &th->th_dport, @@ -8119,6 +8119,11 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, m_copyback(pd->m, pd->off, sizeof(struct icmp6_hdr), (c_caddr_t)&pd->hdr.icmp6); + if (pf_change_icmp_af(pd->m, ipoff2, pd, + &pd2, &nk->addr[sidx], + &nk->addr[didx], pd->af, + nk->af)) + return (PF_DROP); PF_ACPY(&pd->nsaddr, &nk->addr[pd2.sidx], nk->af); PF_ACPY(&pd->ndaddr, @@ -8138,11 +8143,6 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, pd->src->addr32[0]; } pd->naf = pd2.naf = nk->af; - if (pf_change_icmp_af(pd->m, ipoff2, pd, - &pd2, &nk->addr[sidx], - &nk->addr[didx], pd->af, - nk->af)) - return (PF_DROP); pf_change_ap(&pd2, pd2.src, &uh->uh_sport, &nk->addr[pd2.sidx], nk->port[sidx]); pf_change_ap(&pd2, pd2.dst, &uh->uh_dport, From nobody Wed Apr 23 14:29:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjM1X6vklz5tRV8; Wed, 23 Apr 2025 14:29: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 4ZjM1W4mG5z4M6W; Wed, 23 Apr 2025 14:29:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745418559; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ROAfehzlEYhDb9mlCgoERVN39T3SS+9k+69vxETNeKI=; b=jrwnyfwmObCq3Q1huaFmouqSUu6cNJJT7Uei3fdFfnRXCONIB4HYxNN/3tVDQ8raHvR9i5 Rz6LAdOLTZu8ZnxjuF5HdbW3g1+Ywf/SFFMtcrpMfQDfcIrdzk0ox2+FA6BxKgJ3nZZvBN VyPvz3TGWBrvgjmR1Uv/Ll8S5Zqeug/+O0v9Bv4/R2D2McJz+FOWrB9ZiZzrZXFrhTTYF2 18Bu9gC9KaNLtCWIhJR0SRF8rt5/VDImW9LPE05BydLG8DTJfjScXZ66NOCVRKrUW47n22 D4DKZgO4wUYei1DkbKkZAKPkt9cmiQLBW1e//sswayE/cpC8euyJmzdkjNt6uA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745418559; a=rsa-sha256; cv=none; b=DPKwkcEoAi2lUrUSV8AnIIBsDVxrhd0zBJfks6sz9SeeP9+yEC/R4P2eNUeQZvHSQyCwgz 8k55oaE64oASceAYhYprNDIzIfrUfsSO/K5Hb4N94YVL8IEXYmD1s3LZUllBf18KwtM2zp 4fvQsutf5tM6Wcvt63e+DKdGXjn9gMTmYb975YrF6gWzxc/5Q5abbrbvhyWj6Pm0dRGWCG s+iavhsvNpyNjS7zg4fvx5MP/Vg3Z69oWP7t7rquqMp5vhlQ2oNS9Ivpd/SDIuc2oleIt/ bwqm8lyK1zQMFI6XZVmuXReu1B2UYdY+afLdpRhdCO0uhq9PangpncM1o7up7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745418559; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ROAfehzlEYhDb9mlCgoERVN39T3SS+9k+69vxETNeKI=; b=hxVxStnqXnwn9dJgi6pYZrwEEb1hv4TQtu2ZO+bik0fGZfBLBxNo9XtRiS+hn/ZJ8+C7T8 QpGAiARH3f/fBGDtPxzL0lVdEIYZ+30bxfvVSbEFfEo6Vb8lpFJUgJLU6anbsLk/i9bCo3 1bSbmGfUeY5jYF5amlN4ErU8bzfqMd002RcVRezzIhhVg9HvW35Chu/hErTZ+A3r2xgs1J UvPpx+M4QYavkc/4T8xqhpUlkFPI/MzuP9E9UT0P1rhppzPDKa7n9XdHxiyOm7fiyWgNtD dqOROfoe69CQUpFYJZWt04DGtp8pb6bv/v3v4jL0lKxgQM0pIrAIHE44q2f9gg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjM1W46c6z16rB; Wed, 23 Apr 2025 14:29: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 53NETJUA058032; Wed, 23 Apr 2025 14:29:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NETJiM058029; Wed, 23 Apr 2025 14:29:19 GMT (envelope-from git) Date: Wed, 23 Apr 2025 14:29:19 GMT Message-Id: <202504231429.53NETJiM058029@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: f85d08682782 - main - nuageinint: implement ssh_pwauth List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: f85d08682782f7ef49aecf2edacd81184561de87 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=f85d08682782f7ef49aecf2edacd81184561de87 commit f85d08682782f7ef49aecf2edacd81184561de87 Author: Baptiste Daroussin AuthorDate: 2025-04-17 16:04:26 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-23 14:29:02 +0000 nuageinint: implement ssh_pwauth ssh_pwauth sets the value in sshd_config for the password authentication This implementation tries to avoid touching the file if cloudinit request for what is already the default value. MFC After: 3 days Sponsored by: OVHCloud Reviewed by: kevans, jlduran Differential Revision: https://reviews.freebsd.org/D49875 --- libexec/nuageinit/nuage.lua | 36 +++++++++++++++++++++++- libexec/nuageinit/nuageinit | 7 +++++ libexec/nuageinit/tests/nuageinit.sh | 54 ++++++++++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index 978de02a63fc..fffd1b6d23aa 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -228,6 +228,39 @@ local function addsshkey(homedir, key) end end +local function update_sshd_config(key, value) + local sshd_config = "/etc/ssh/sshd_config" + local root = os.getenv("NUAGE_FAKE_ROOTDIR") + if root then + sshd_config = root .. sshd_config + end + local f = assert(io.open(sshd_config, "r+")) + local tgt = assert(io.open(sshd_config .. ".nuageinit", "w")) + local found = false + local pattern = "^%s*"..key:lower().."%s+(%w+)%s*#?.*$" + while true do + local line = f:read() + if line == nil then break end + local _, _, val = line:lower():find(pattern) + if val then + found = true + if val == value then + assert(tgt:write(line .. "\n")) + else + assert(tgt:write(key .. " " .. value .. "\n")) + end + else + assert(tgt:write(line .. "\n")) + end + end + if not found then + assert(tgt:write(key .. " " .. value .. "\n")) + end + assert(f:close()) + assert(tgt:close()) + os.rename(sshd_config .. ".nuageinit", sshd_config) +end + local n = { warn = warnmsg, err = errmsg, @@ -236,7 +269,8 @@ local n = { sethostname = sethostname, adduser = adduser, addgroup = addgroup, - addsshkey = addsshkey + addsshkey = addsshkey, + update_sshd_config = update_sshd_config } return n diff --git a/libexec/nuageinit/nuageinit b/libexec/nuageinit/nuageinit index 88e8b6c4c2cd..341330e68128 100755 --- a/libexec/nuageinit/nuageinit +++ b/libexec/nuageinit/nuageinit @@ -352,6 +352,13 @@ if line == "#cloud-config" then network:close() routing:close() end + if obj.ssh_pwauth ~= nil then + local value = "no" + if obj.ssh_pwauth then + value = "yes" + end + nuage.update_sshd_config("PasswordAuthentication", value) + end else local res, err = os.execute(path .. "/" .. ud) if not res then diff --git a/libexec/nuageinit/tests/nuageinit.sh b/libexec/nuageinit/tests/nuageinit.sh index 7e1310c4f0f9..d3b1d5e6df2e 100644 --- a/libexec/nuageinit/tests/nuageinit.sh +++ b/libexec/nuageinit/tests/nuageinit.sh @@ -19,6 +19,7 @@ atf_test_case config2_pubkeys_meta_data atf_test_case config2_network atf_test_case config2_network_static_v4 atf_test_case config2_ssh_keys +atf_test_case nocloud_userdata_cloudconfig_ssh_pwauth args_body() { @@ -459,6 +460,58 @@ blabla atf_check -o inline:"${_expected}" cat ${PWD}/etc/ssh/ssh_host_ed25519_key.pub } + +nocloud_userdata_cloudconfig_ssh_pwauth_head() +{ + atf_set "require.user" root +} +nocloud_userdata_cloudconfig_ssh_pwauth_body() +{ + mkdir -p etc + cat > etc/master.passwd << EOF +root:*:0:0::0:0:Charlie &:/root:/bin/sh +sys:*:1:0::0:0:Sys:/home/sys:/bin/sh +EOF + pwd_mkdb -d etc "${PWD}"/etc/master.passwd + cat > etc/group << EOF +wheel:*:0:root +users:*:1: +EOF + mkdir -p media/nuageinit + printf "instance-id: iid-local01\n" > "${PWD}"/media/nuageinit/meta-data + cat > media/nuageinit/user-data << 'EOF' +#cloud-config +ssh_pwauth: true +EOF + mkdir -p etc/ssh/ + touch etc/ssh/sshd_config + + atf_check -o empty -e empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud + atf_check -o inline:"PasswordAuthentication yes\n" cat etc/ssh/sshd_config + + # Same value we don't touch anything + printf " PasswordAuthentication yes # I want password\n" > etc/ssh/sshd_config + atf_check -o empty -e empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud + atf_check -o inline:" PasswordAuthentication yes # I want password\n" cat etc/ssh/sshd_config + + printf " PasswordAuthentication no # Should change\n" > etc/ssh/sshd_config + atf_check -o empty -e empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud + atf_check -o inline:"PasswordAuthentication yes\n" cat etc/ssh/sshd_config + + cat > media/nuageinit/user-data << 'EOF' +#cloud-config +ssh_pwauth: false +EOF + + printf " PasswordAuthentication no # no passwords\n" > etc/ssh/sshd_config + atf_check -o empty -e empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud + atf_check -o inline:" PasswordAuthentication no # no passwords\n" cat etc/ssh/sshd_config + + printf " PasswordAuthentication yes # Should change\n" > etc/ssh/sshd_config + atf_check -o empty -e empty /usr/libexec/nuageinit "${PWD}"/media/nuageinit nocloud + atf_check -o inline:"PasswordAuthentication no\n" cat etc/ssh/sshd_config +} + atf_init_test_cases() { atf_add_test_case args @@ -474,4 +527,5 @@ atf_init_test_cases() atf_add_test_case config2_network atf_add_test_case config2_network_static_v4 atf_add_test_case config2_ssh_keys + atf_add_test_case nocloud_userdata_cloudconfig_ssh_pwauth } From nobody Wed Apr 23 14:50:35 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjMV40wtlz5tTdp; Wed, 23 Apr 2025 14:50: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 4ZjMV35JLZz3JY5; Wed, 23 Apr 2025 14:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745419835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=puyx4nXF6k96Azs2Toun9pSw1RysHlbo3XAuU849/kk=; b=QmBqAYN8Kj18jbPUliNKevbirunsL1UPSBXUsH3SRX5/W5dfmUOSfzRpQvQFO2P/0plBL4 tlYTAhsKER+jkKzLT/OIfqUwf+Pdjt0yPkE1YqSOOmef3z93mDge+DhOI0ets0mq5yTwpV iLHqO+zQ2ItKuTB+UaekSvgXWoU0h3LHje4U5hXf5L4pz9R0AvUd0Wcw100qlG5Kp384WS gC5U7WwFkgZnlvfYKmd6jdYusgkIUUAUt7cK4BsShXQ9fbAcXzrPneIL/d5I1wvtNQIGi/ kujFEXvCWUo1bi0zt49ClP8/6udcBwrYlbYbC+aAtLpxbYckAzIqHHYnQ5b0dQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745419835; a=rsa-sha256; cv=none; b=Esnggag1kBYlLlCv99T6UkkOeCNHBCgPvuvD8dHzaudMd0c/SEbIF5TcRR28GwgPZo7nUN bKYG0Svc44kaDqmdPtgF+xOb+jkkN+s2nUCrrm2b7j3oUpPgIJEQuFkZuvr5cwGXibV8vN +OHLfomZllpwxxQYYZdBaRg/jiMDT5DKvUqnnTQdBb9K9ylrR6VgQxb+kAFN99rBKpTXan /mB1EDudpS6H1ISkGBhMaeEatwutXjFd0YaRen4/0lYvbRH2cOyhgsIpxbZ3A47Z1k+oHl Hjj7L4qS7O4k9CIP1D1JyMN29ZlY/Jnwa+hbObrd1UTZBLFREFSMOn2H7lptAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745419835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=puyx4nXF6k96Azs2Toun9pSw1RysHlbo3XAuU849/kk=; b=gUjf0TNDgAiNTlggS0tBcPoIcEM+n+zZ7EMAcZU55xgcWaLFC2QguAS3KsjLzSncxxr/hb CF+UrGV0SrWa7FKVfeuHwdQHAV3FzFwAvnqt4248KiNu0/TAEBKM7Yl52XifJCLfCw4pTF ow/T4ZxycZxC/KMNXAgxxqbMjz5FvD9emFbOcVZ4JkTi1FdNgiOfgb9e+hGEeEvYa8ViAR H1iLkNK5IlgBzHxvAHDMe7ISXmpbHQtMPtg2rgnkCZDQXWoTuvZW2lQQw4fipCGzWi2q5A DICyFPhr/GhDNr6K2eD7esgoUgmsj33eGVf9xIjKPF3PTY/0e4SKOLErK1fyWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjMV34w8Kz16dr; Wed, 23 Apr 2025 14:50: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 53NEoZHv003874; Wed, 23 Apr 2025 14:50:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NEoZev003871; Wed, 23 Apr 2025 14:50:35 GMT (envelope-from git) Date: Wed, 23 Apr 2025 14:50:35 GMT Message-Id: <202504231450.53NEoZev003871@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 18d74dc0cd9e - main - nuageinit: fix luacheck nit List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 18d74dc0cd9e832a8786a916de1af1c801cb1cb8 Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=18d74dc0cd9e832a8786a916de1af1c801cb1cb8 commit 18d74dc0cd9e832a8786a916de1af1c801cb1cb8 Author: Baptiste Daroussin AuthorDate: 2025-04-23 14:49:46 +0000 Commit: Baptiste Daroussin CommitDate: 2025-04-23 14:49:46 +0000 nuageinit: fix luacheck nit Reported by: jlduran --- libexec/nuageinit/nuage.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/nuageinit/nuage.lua b/libexec/nuageinit/nuage.lua index fffd1b6d23aa..e58069164130 100644 --- a/libexec/nuageinit/nuage.lua +++ b/libexec/nuageinit/nuage.lua @@ -135,7 +135,7 @@ local function adduser(pwd) cmd = cmd .. extraargs .. " -c '" .. pwd.gecos cmd = cmd .. "' -d '" .. pwd.homedir .. "' -s " .. pwd.shell .. postcmd - local f = io.popen(cmd, "w") + f = io.popen(cmd, "w") if input then f:write(input) end From nobody Wed Apr 23 15:19:44 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjN7j24cMz5tWZ8; Wed, 23 Apr 2025 15:19: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 4ZjN7h2Tbvz3bG4; Wed, 23 Apr 2025 15:19:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745421584; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CrHiAFW39xru4PDOm5G5lG5RFn/cgqx/GNWlcFWlC24=; b=xfG4FWFZSCTiJ3LQ/UalhBYjrc/J8CztxqH/BBzLXho7ANMFvtoea7AgFrw6GnXQ/6S0tr YKUC8VrE866/Z8/hFUcqZCsZbmJyMeHrwqO9a/7SfLxy4BoKqlGaSdxHnHWR4V5lzzT4Z3 tWXNlUdJs5oSZmsConF/DI8MbdZ5vDVWFb5fK3bNgsMtGYgABOykZOhxqAaP+aV1Py+E7W 2kK6ctyIyaKVhvFFUAEehsyTgCIW1m4uX4yyDJfI3ZlS2aJf/7ZaYfwQAjdQ2cvKTl7A9/ NBlvyp1TE45E0wXK00l3h35g13t11JUU6N96E4I2O5tUFnrxaULqB5p2VbRl1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745421584; a=rsa-sha256; cv=none; b=ictEJ55XNU7WzDgrZuwvV9xYTzbrUo1fWNB1JoCZO+rAmsed44wDKHJ+eWJONrLwIIaNmP SW6Z31B1+PhJ6H99gLyNlzUDWtltqFnprwAAOGI43AMM7XxwmwoA/805RiyASfqZ5OVQl+ Ta5jub3DUTJY1+h5YjyGvM2GkxEgD//SwBgLfbKzj95l1mKg8LOZbVvCU8dLVM6r0AugyS GcHEmsSiyyLhU4PCtS7zkUHMVmdhZojS2y4Dqz99tigzoArt2DFHabIruKBF/e3KXp/tkl pWie0MydhVfveU7sSiO4p9+P/AGUwU1GUl1zajcmEpYu+dtYo/Q03ONjcz89PQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745421584; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CrHiAFW39xru4PDOm5G5lG5RFn/cgqx/GNWlcFWlC24=; b=upK15Lo6188iBE6QIt1ZIDuPyndU+WSoIX1ykM9jFkNFQqaDV53p0ogzuSEjDiXFuUAiZP OiSzNoiswDav2Zc295fHCBi3gQZ3zmiepTDzISKJj8kmOIMajmajO5ghJenc/r7Qh8zlw5 rkcs+/who38MynuA7xiGQcjcZZmxwfpN+Vcin8amUUZ0o5OkXSWWitzTnsgY8Y6FiuRXw0 qV1iB2TxaXWn2WB+M9pE7Ihzyv9UfEWB3q9gHIZT1sqS45w7OAbQZFOwPWJmwB9vO1KR24 L7+k3mrelbmEyiueIZ6IeUs5PB7Evvx9Ch7nUS+vhqmbAeHOoHlQWQUvp76BGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjN7h259Cz18KX; Wed, 23 Apr 2025 15:19: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 53NFJiO9052045; Wed, 23 Apr 2025 15:19:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NFJibG052042; Wed, 23 Apr 2025 15:19:44 GMT (envelope-from git) Date: Wed, 23 Apr 2025 15:19:44 GMT Message-Id: <202504231519.53NFJibG052042@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: ce9a34b1614e - main - Turn off hw.pci.intx_reroute in EC2 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ce9a34b1614e37dc3f8763586448063408c7bf16 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=ce9a34b1614e37dc3f8763586448063408c7bf16 commit ce9a34b1614e37dc3f8763586448063408c7bf16 Author: Colin Percival AuthorDate: 2025-04-23 15:17:51 +0000 Commit: Colin Percival CommitDate: 2025-04-23 15:19:28 +0000 Turn off hw.pci.intx_reroute in EC2 Having this enabled on Graviton systems prior to Graviton 4 results in a resource leak and a kernel panic after repeated hotplug/unplug. MFC after: 3 days Sponsored by: Amazon --- release/tools/ec2.conf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 507d9acabfd9..d6cb85959183 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -79,6 +79,12 @@ ec2_common() { # delay before rescanning upon device detach. echo 'debug.acpi.quirks="56"' >> ${DESTDIR}/boot/loader.conf + # The default behaviour of re-routing INTx interrupts causes a + # resource leak on INTRng (aka on Graviton systems). Repeated + # hotplug/unplug on PCI (not PCIe) Graviton systems ends up with + # a kernel panic unless we disable this. + echo 'hw.pci.intx_reroute=0' >> ${DESTDIR}/boot/loader.conf + # Load the kernel module for the Amazon "Elastic Network Adapter" echo 'if_ena_load="YES"' >> ${DESTDIR}/boot/loader.conf From nobody Wed Apr 23 15:44:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjNgv1wJZz5tYKy; Wed, 23 Apr 2025 15:44: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 4ZjNgv1Jbmz3rZx; Wed, 23 Apr 2025 15:44:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745423051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3xIv9dt2fI+k+3+MvUjvN3jV8QolAKgnGvctTntONXc=; b=qMQ8gzW9bGFi29pHEcnQL3fa6Xhqraai8SK54YpvcGMQ9yLcQPhKNKvY2RrZgceThW/K3d lTMe1T6cwstn/0klHy+ulm0TikFZH7OzzMFi5GErxqG9xT2imsXJ7TiP8HuBISYH4bd7Pz pbtOvEiZb2FZzi5txH5m/j4j90hGMZGYH0PDJVWthZ6acl+zCWrsSiHdmGGrL4F//Z/ifQ vajhB9d+IWO2hKz5LAy8ES2Uy0geywCPYZXuAVCvjdZkzMSh49iaeD2qvQVydlc7WjRXMa pSsYjDh+Mzue1ktZyXOWf8LK6yGS10jS9Yxe6jGjBPuGm3SV2LCJ7uLtGFX9Og== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745423051; a=rsa-sha256; cv=none; b=VhQzTmsdu4Z7g2lLATD8Uux7nL909uKz8GMJKV9FqZXTH/S/yONJuPtbVz4p49y2CWWgSX rSlUWkrfYa3pEjIqSe63xtGzcSSceUdFPPEuvub12TbtpayYj3kYx5B9/N2qL2aOzgJNLk NDwri8x6omGHimORs+5rrRlu0b1Ttu3Q4S7pCN7amVe8XG//TvM96JcGSDMiasUP6/CHd0 nlelszmeTEOYmTPVFkk9ng9meFAwX7B/Rn8WHtQVBoaHPnir8oJCLkwgD+/i/VS+OSXGWI uJVZ05/195J1yJv1UdVp5BBBeXPjA3exdfObqcJaeIypgk6rpBNj/df2YAyM/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745423051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3xIv9dt2fI+k+3+MvUjvN3jV8QolAKgnGvctTntONXc=; b=gPAO6VzDb1rrDDuwhJF3cNzBRmAx90+tRHx0eByWLTzhbRyphfzjgcZYmSTpunX7y0WDgm fp8L+Juo9w767wGPgsgY304zo+4jnZ+osG9YoNquuQJ7jDieM0oDnj9SwdpvDzugMB1z9V eyqHaCEOg44/bnhclv2dRZMaF6ygYDGtsR3TnPyULoBzMiD46W1senqsqnsRP80yIPgmV2 a/E1f19AdHdYyFxq8gJkB3ApFcABrrb5C4b2yKI4xutd6IBf6XT1zfJhJxgIhZzoD6codm AxqpcUWYHZjFSSjkvfmAGegpeXXaQRngYfU/nzCh0lLbNlPFaKQcgYVoYG2J7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjNgv0vgMz18ql; Wed, 23 Apr 2025 15:44: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 53NFiBBu006282; Wed, 23 Apr 2025 15:44:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NFiB2v006279; Wed, 23 Apr 2025 15:44:11 GMT (envelope-from git) Date: Wed, 23 Apr 2025 15:44:11 GMT Message-Id: <202504231544.53NFiB2v006279@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 9c4f1497dae7 - main - Move extra suffix-transformation rules into bsd.suffixes-extra.mk List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 9c4f1497dae7832e2727682e9161ca9572e56dfe Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=9c4f1497dae7832e2727682e9161ca9572e56dfe commit 9c4f1497dae7832e2727682e9161ca9572e56dfe Author: Dimitry Andric AuthorDate: 2025-04-22 18:26:56 +0000 Commit: Dimitry Andric CommitDate: 2025-04-23 15:42:22 +0000 Move extra suffix-transformation rules into bsd.suffixes-extra.mk To make it possible to use the .SUFFIXES list and suffix-transformation rules from bsd.lib.mk in other places, move them to a separate file, bsd.suffixes-extra.mk. Note that we cannot add the list and rules to bsd.suffixes.mk, since that file also gets included by sys.mk, which applies to non-source builds. That would require a whole ports exp-run. No functional change intended. Reviewed by: brooks, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D49965 --- share/mk/Makefile | 1 + share/mk/bsd.lib.mk | 74 +--------------------------------------- share/mk/bsd.suffixes-extra.mk | 76 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+), 73 deletions(-) diff --git a/share/mk/Makefile b/share/mk/Makefile index ec9af16d24c3..29de04f89670 100644 --- a/share/mk/Makefile +++ b/share/mk/Makefile @@ -50,6 +50,7 @@ FILES= \ bsd.progs.mk \ bsd.snmpmod.mk \ bsd.subdir.mk \ + bsd.suffixes-extra.mk \ bsd.suffixes-posix.mk \ bsd.suffixes.mk \ bsd.symver.mk \ diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index b33366604b4c..01dd979af155 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -148,79 +148,7 @@ CFLAGS += -mno-relax .include -# prefer .s to a .c, remove stuff not used in the BSD libraries -# .pico used for PIC object files -# .nossppico used for NOSSP PIC object files -# .pieo used for PIE object files -.SUFFIXES: .out .o .bc .ll .pico .nossppico .pieo .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln - -.if !defined(PICFLAG) -PICFLAG=-fpic -PIEFLAG=-fpie -.endif - -.c.pico: - ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.c.nossppico: - ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.c.pieo: - ${CC} ${PIEFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.cc.pico .C.pico .cpp.pico .cxx.pico: - ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} - -.cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: - ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} ${CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} - -.cc.pieo .C.pieo .cpp.pieo .cxx.pieo: - ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} - -.f.pico: - ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} - ${CTFCONVERT_CMD} - -.f.nossppico: - ${FC} ${PICFLAG} -DPIC ${FFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} -o ${.TARGET} -c ${.IMPSRC} - ${CTFCONVERT_CMD} - -.s.pico .s.nossppico .s.pieo: - ${CC:N${CCACHE_BIN}} -x assembler ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.asm.pico: - ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.asm.nossppico: - ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ - ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.asm.pieo: - ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.S.pico: - ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ - -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.S.nossppico: - ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} ${ACFLAGS} \ - -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} - -.S.pieo: - ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ - -c ${.IMPSRC} -o ${.TARGET} - ${CTFCONVERT_CMD} +.include _LIBDIR:=${LIBDIR} _SHLIBDIR:=${SHLIBDIR} diff --git a/share/mk/bsd.suffixes-extra.mk b/share/mk/bsd.suffixes-extra.mk new file mode 100644 index 000000000000..629c3177cec7 --- /dev/null +++ b/share/mk/bsd.suffixes-extra.mk @@ -0,0 +1,76 @@ +.if !target(____) +____: .NOTMAIN + +# prefer .s to a .c, remove stuff not used in the BSD libraries +# .pico used for PIC object files +# .nossppico used for NOSSP PIC object files +# .pieo used for PIE object files +.SUFFIXES: .out .o .bc .ll .pico .nossppico .pieo .S .asm .s .c .cc .cpp .cxx .C .f .y .l .ln + +PICFLAG?=-fpic +PIEFLAG?=-fpie + +.c.pico: + ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.c.nossppico: + ${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.c.pieo: + ${CC} ${PIEFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.cc.pico .C.pico .cpp.pico .cxx.pico: + ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + +.cc.nossppico .C.nossppico .cpp.nossppico .cxx.nossppico: + ${CXX} ${PICFLAG} -DPIC ${SHARED_CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} ${CXXFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//:C/^-fsanitize.*$//} -c ${.IMPSRC} -o ${.TARGET} + +.cc.pieo .C.pieo .cpp.pieo .cxx.pieo: + ${CXX} ${PIEFLAG} ${SHARED_CXXFLAGS} ${CXXFLAGS} -c ${.IMPSRC} -o ${.TARGET} + +.f.pico: + ${FC} ${PICFLAG} -DPIC ${FFLAGS} -o ${.TARGET} -c ${.IMPSRC} + ${CTFCONVERT_CMD} + +.f.nossppico: + ${FC} ${PICFLAG} -DPIC ${FFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} -o ${.TARGET} -c ${.IMPSRC} + ${CTFCONVERT_CMD} + +.s.pico .s.nossppico .s.pieo: + ${CC:N${CCACHE_BIN}} -x assembler ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.asm.pico: + ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ + ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.asm.nossppico: + ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ + ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.asm.pieo: + ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ + ${CFLAGS} ${ACFLAGS} -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.S.pico: + ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.S.nossppico: + ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.S.pieo: + ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC ${CFLAGS} ${ACFLAGS} \ + -c ${.IMPSRC} -o ${.TARGET} + ${CTFCONVERT_CMD} + +.endif # !target(____) From nobody Wed Apr 23 16:25:14 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbH0NHjz5tbR8; Wed, 23 Apr 2025 16:25: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 4ZjPbG66KSz49Kx; Wed, 23 Apr 2025 16:25:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1fFvTdGStRgX9Dl7yRKwtSnmkiG8bJ/fZkTzLOq4HeM=; b=hK1/HnhoI3dmjbHESocjJvjhYpc9OcBCHR64srsssNZ3w3Ckq9BL1e52ixBNzEdwlkbv9l VXYM9obimptonhouB/IqeeYnsgR99q2BKLe49xqaA+qTIfJSk4SJPvporlCHWecAVsZ3IP GPGrCVLjVG01Up2fTnpO4p7VkOm1KoA7DUVE32zSgVEk7zjC1F1MGcpHU4aYmwrGgQaSi6 +zXwYHP4BUQ0a4OozAVHO6BH8gAKEda137XV5t/2EF91ie0gN/2s4n+KxzLEcrBTJVwj9u bkAEtPioECzxSWbTk/7O2qcuIncQIlLEFNHciliNebgatuOLymq9irAGFrMqsw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425514; a=rsa-sha256; cv=none; b=oEiPA3NZrwg6pM2fJQPLiKpJIy4gSB3yDH5WZicuPsu5I7ZuEXfk5E6CL3IKqzzYK8+1Ri fh0lrCyB14M7uyR+2bSU2LOT8AoprHvzODV7bYUZy7XvOvXS7/cVpD8Yk+PZ3B+/3xSJKF kXg/qfiBd++xk/3kZt3d+BJ8jeZm+1RM89oPLG9+7sN2wRfpkw2Jt5VP0tF3mg+k5GLuqr UIKtHO8xMrBdLinCEcV+3Nge7ms2HXQ1KcoHnXceQofbkaPFgul0y7ey9hWu8qtLdES6+b yaHCNMv4kM1SW3Sdma33tba81JeiKaddKUYNDh+wKon3RmyUgpkgKKrr4u7IVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425514; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1fFvTdGStRgX9Dl7yRKwtSnmkiG8bJ/fZkTzLOq4HeM=; b=AtNBnTRYPaVWWbScXRzF0r0N7ZhUFMMDwZk52kqxWOMYPrH47Av8N5qm044x+G+aQkY4D1 Q6yCoyY3DZdG9ZP70zAmd/keQHPYUh+0cL2fmPzJZm42YqOaWG1AHq+5DXdYUXuhGejDmv HyxuCXmZnAX8uhsUhIdA6k3hrAyZ+bWe+cZ1uH1XBeVmVqEK99kmS3AsgKbTddnqeFkC9/ etwhF+7soM3R77OuW40aL9KrB14CHvimhiO7K5Kt3vpw/34Q2RenyxPCepuItkJFHVbtgI 4vSKKxeelAtB5tvdypV01/3/yyTuZFWIuTtR1XlRGkPJumnVPe1RO5oB7Uaxaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbG5NKCz19mS; Wed, 23 Apr 2025 16:25: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 53NGPEKN081732; Wed, 23 Apr 2025 16:25:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPEoB081729; Wed, 23 Apr 2025 16:25:14 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:14 GMT Message-Id: <202504231625.53NGPEoB081729@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: b31f33c02844 - main - LinuxKPI 802.11: move key-related functions together List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b31f33c028446ff3e3cee32c1f0038f693683f78 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b31f33c028446ff3e3cee32c1f0038f693683f78 commit b31f33c028446ff3e3cee32c1f0038f693683f78 Author: Bjoern A. Zeeb AuthorDate: 2025-04-15 13:00:17 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:19 +0000 LinuxKPI 802.11: move key-related functions together No functional changes. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 87 ++++++++++++----------- 1 file changed, 45 insertions(+), 42 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 8856eee8c696..568695dc2a45 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1705,26 +1705,6 @@ ieee80211_find_sta_by_ifaddr(struct ieee80211_hw *hw, const uint8_t *addr, return (linuxkpi_ieee80211_find_sta_by_ifaddr(hw, addr, ourvifaddr)); } - -static __inline void -ieee80211_get_tkip_p2k(struct ieee80211_key_conf *keyconf, - struct sk_buff *skb_frag, u8 *key) -{ - TODO(); -} - -static __inline void -ieee80211_get_tkip_rx_p1k(struct ieee80211_key_conf *keyconf, - const u8 *addr, uint32_t iv32, u16 *p1k) -{ - - KASSERT(keyconf != NULL && addr != NULL && p1k != NULL, - ("%s: keyconf %p addr %p p1k %p\n", __func__, keyconf, addr, p1k)); - - TODO(); - memset(p1k, 0xfa, 5 * sizeof(*p1k)); /* Just initializing. */ -} - static __inline size_t ieee80211_ie_split(const u8 *ies, size_t ies_len, const u8 *ie_ids, size_t ie_ids_len, size_t start) @@ -2052,13 +2032,6 @@ ieee80211_sta_uapsd_trigger(struct ieee80211_sta *sta, int ntids) TODO(); } -static __inline void -ieee80211_tkip_add_iv(u8 *crypto_hdr, struct ieee80211_key_conf *keyconf, - uint64_t pn) -{ - TODO(); -} - static inline struct sk_buff * ieee80211_tx_dequeue(struct ieee80211_hw *hw, struct ieee80211_txq *txq) { @@ -2338,18 +2311,6 @@ ieee80211_channel_switch_disconnect(struct ieee80211_vif *vif, bool _x) TODO(); } -static __inline void -ieee80211_key_mic_failure(struct ieee80211_key_conf *key) -{ - TODO(); -} - -static __inline void -ieee80211_key_replay(struct ieee80211_key_conf *key) -{ - TODO(); -} - static __inline uint32_t ieee80211_calc_rx_airtime(struct ieee80211_hw *hw, struct ieee80211_rx_status *rxstat, int len) @@ -2408,9 +2369,22 @@ ieee80211_data_to_8023(struct sk_buff *skb, const uint8_t *addr, return (-1); } +/* -------------------------------------------------------------------------- */ + static __inline void -ieee80211_get_tkip_p1k_iv(struct ieee80211_key_conf *key, - uint32_t iv32, uint16_t *p1k) +ieee80211_key_mic_failure(struct ieee80211_key_conf *key) +{ + TODO(); +} + +static __inline void +ieee80211_key_replay(struct ieee80211_key_conf *key) +{ + TODO(); +} + +static __inline void +ieee80211_remove_key(struct ieee80211_key_conf *key) { TODO(); } @@ -2431,11 +2405,38 @@ ieee80211_gtk_rekey_notify(struct ieee80211_vif *vif, const uint8_t *bssid, } static __inline void -ieee80211_remove_key(struct ieee80211_key_conf *key) +ieee80211_tkip_add_iv(u8 *crypto_hdr, struct ieee80211_key_conf *keyconf, + uint64_t pn) +{ + TODO(); +} + +static __inline void +ieee80211_get_tkip_rx_p1k(struct ieee80211_key_conf *keyconf, + const u8 *addr, uint32_t iv32, u16 *p1k) +{ + + KASSERT(keyconf != NULL && addr != NULL && p1k != NULL, + ("%s: keyconf %p addr %p p1k %p\n", __func__, keyconf, addr, p1k)); + + TODO(); + memset(p1k, 0xfa, 5 * sizeof(*p1k)); /* Just initializing. */ +} + +static __inline void +ieee80211_get_tkip_p1k_iv(struct ieee80211_key_conf *key, + uint32_t iv32, uint16_t *p1k) { TODO(); } +static __inline void +ieee80211_get_tkip_p2k(struct ieee80211_key_conf *keyconf, + struct sk_buff *skb_frag, u8 *key) +{ + TODO(); +} + static inline void ieee80211_get_key_rx_seq(struct ieee80211_key_conf *keyconf, int8_t tid, struct ieee80211_key_seq *seq) @@ -2481,6 +2482,8 @@ ieee80211_set_key_rx_seq(struct ieee80211_key_conf *key, int tid, TODO(); } +/* -------------------------------------------------------------------------- */ + static __inline void ieee80211_report_wowlan_wakeup(struct ieee80211_vif *vif, struct cfg80211_wowlan_wakeup *wakeup, gfp_t gfp) From nobody Wed Apr 23 16:25:15 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbJ4lnSz5tbbc; Wed, 23 Apr 2025 16:25: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 4ZjPbH5pQnz49Nj; Wed, 23 Apr 2025 16:25:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425515; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q3fM9flqM8d/q7u2oIZsHgMCkAfUpgDcR988JysnniQ=; b=HCFh/UL/bTo9gDuxcwyTiMNrxHNtfZeF4fohoUpQZ7+d3Ule+v1FIdGjuL9EmvzU+/Pr4j 9jkvNtYLWz15oGf0jovANEtTeOernsEnEk4fWzSXmcygk0v8muCqp/m8aj+c9JwOiVj1e/ 5LaNaLykHfhb/ZzFgiS0LtA0T1n5SPZK90sNwtTY+uF0AUlYSkYf+jyNzQLl85u631sszI 3rKFAxIJ8LW7o8vs9NqsLQPxHj43Bw2suDhPexS0GE2LQj7tKhU8+7T8mgPXVgvhp0c5lX 86hq4M2LtxI8Z4TW+fFDBFBjvxentAISrDLDJ0gU3TMnGt0sscDOfFDPbS6yLw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425515; a=rsa-sha256; cv=none; b=h/kG+Eq61ZgnsJ7Garm3LPiMAAvQOL+eqAz3cNKvk14U0uOiSySXdE9XKjusq6ITm2MBoO Eq8+VeoRzyFyxRWncX5FQSD0h3T40k2mKoqjWWOOMU9IvZDKvs0IRma2ku8US7wzUcWHrq 1p+esU0egq8dB0oguSxe3ptSbw3J4H1mR0e17Srg97gCD7NQ92FbOacvYTh7P0+bDXXPbK GKNYWiMxso6rqFtCfJxOc70YOMokC8M1lyKIxsTUt/6nwCp3UlnvnrwtvT0RXMepDzUqKV J2nJJ9PGVBvLy+s3aF2gFM4caBDs1dNxOcJ7A8CHzrKdweU3nAQpgg8KudYpCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425515; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q3fM9flqM8d/q7u2oIZsHgMCkAfUpgDcR988JysnniQ=; b=tBaZvF8h6RJNPv/1ZEK0D7airdQoNyqGG3TSJjMPFHRXazCeM0CWQSulYaZg3zy1IKWbQz 9KiRLfiZ3ndAR/8gxWmkOzLVApTRv6/Qusr9FtY5XnRzpUObvLdBx6KmmmhCb5JopBJX4j 4KLzwDj7K+RDRmlf9dlCLoY3hLzjtGWSQnv8X7S1EWx/5mVjaIWRjkIHUKqFRccehgtxi3 t4fAM3A+5TOGU5dwKC/IBT30y/PHtkd5UBU9Aw8gtvxmgbRgINiV+YUyTu5BbD54RGWCY+ ycwCAV7LRgjOuSQZgtAnNL4QvsJ9ZcphS2DD+KRu5rcteAxdJbIWRZxG/n7uWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbH5GB9z1B5j; Wed, 23 Apr 2025 16:25: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 53NGPFj5081767; Wed, 23 Apr 2025 16:25:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPFEL081764; Wed, 23 Apr 2025 16:25:15 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:15 GMT Message-Id: <202504231625.53NGPFEL081764@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a7131a748483 - main - LinuxKPI: 802.11: fill ieee80211_get_key_rx_seq() also for TKIP/GCMP List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a7131a748483adf783ff7ac2a8ab71d5c17eb925 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a7131a748483adf783ff7ac2a8ab71d5c17eb925 commit a7131a748483adf783ff7ac2a8ab71d5c17eb925 Author: Bjoern A. Zeeb AuthorDate: 2025-04-15 19:36:53 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:20 +0000 LinuxKPI: 802.11: fill ieee80211_get_key_rx_seq() also for TKIP/GCMP In addition to CCMP add TKIP and GCMP support. The others are still TODO() until we do suport them natively. Also refine checks for tid and narrow them down (also don't assert but gratiously fail). Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 30 ++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 568695dc2a45..b79a6056684d 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -2446,28 +2446,46 @@ ieee80211_get_key_rx_seq(struct ieee80211_key_conf *keyconf, int8_t tid, KASSERT(keyconf != NULL && seq != NULL, ("%s: keyconf %p seq %p\n", __func__, keyconf, seq)); - KASSERT(tid <= IEEE80211_NUM_TIDS, ("%s: tid out of bounds %d\n", - __func__, tid)); k = keyconf->_k; KASSERT(k != NULL, ("%s: keyconf %p ieee80211_key is NULL\n", __func__, keyconf)); switch (keyconf->cipher) { + case WLAN_CIPHER_SUITE_TKIP: + if (tid < 0 || tid >= IEEE80211_NUM_TIDS) + return; + /* See net80211::tkip_decrypt() */ + seq->tkip.iv32 = TKIP_PN_TO_IV32(k->wk_keyrsc[tid]); + seq->tkip.iv16 = TKIP_PN_TO_IV16(k->wk_keyrsc[tid]); + break; case WLAN_CIPHER_SUITE_CCMP: case WLAN_CIPHER_SUITE_CCMP_256: - if (tid < 0) + if (tid < -1 || tid >= IEEE80211_NUM_TIDS) + return; + if (tid == -1) p = (const uint8_t *)&k->wk_keyrsc[IEEE80211_NUM_TIDS]; /* IEEE80211_NONQOS_TID */ else p = (const uint8_t *)&k->wk_keyrsc[tid]; memcpy(seq->ccmp.pn, p, sizeof(seq->ccmp.pn)); break; + case WLAN_CIPHER_SUITE_GCMP: + case WLAN_CIPHER_SUITE_GCMP_256: + if (tid < -1 || tid >= IEEE80211_NUM_TIDS) + return; + if (tid == -1) + p = (const uint8_t *)&k->wk_keyrsc[IEEE80211_NUM_TIDS]; /* IEEE80211_NONQOS_TID */ + else + p = (const uint8_t *)&k->wk_keyrsc[tid]; + memcpy(seq->gcmp.pn, p, sizeof(seq->gcmp.pn)); + break; case WLAN_CIPHER_SUITE_AES_CMAC: + case WLAN_CIPHER_SUITE_BIP_CMAC_256: TODO(); memset(seq->aes_cmac.pn, 0xfa, sizeof(seq->aes_cmac.pn)); /* XXX TODO */ break; - case WLAN_CIPHER_SUITE_TKIP: + case WLAN_CIPHER_SUITE_BIP_GMAC_128: + case WLAN_CIPHER_SUITE_BIP_GMAC_256: TODO(); - seq->tkip.iv32 = 0xfa; /* XXX TODO */ - seq->tkip.iv16 = 0xfa; /* XXX TODO */ + memset(seq->aes_gmac.pn, 0xfa, sizeof(seq->aes_gmac.pn)); /* XXX TODO */ break; default: pr_debug("%s: unsupported cipher suite %d\n", __func__, keyconf->cipher); From nobody Wed Apr 23 16:25:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbK4TGVz5tbRC; Wed, 23 Apr 2025 16:25: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 4ZjPbK0G87z49Fw; Wed, 23 Apr 2025 16:25:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JtqKObbEnJI3+SnYfJXyyFTmlEsHXJRv6Io2gdMSFm0=; b=viD9OKwmUlzxX+Yiee1RLd/3bowoV7lJ6EBDi5Tn+aep59TvlG+KWI1ot7DLE9YDCm2if0 lpDwyvggs0TZvKO4+yhXu/FKW47N5Xg9uD7PFuC46xTCHDXtDc9Kl8kdKTc4g0ccHeFhuT zVcH5OakzwztAIwN7Abg+XWSeK1h78p6hMgdimvFj0Vkc69lsBHVjR7iJP7TjRSKGiPcZc DjB0ocmTiyWRdt0YqvcbOvcazk4dMgpvjaitzix+La+SEXbZxhAod74lupXjRlRwGjEsky 8Lh4ZSArhLfWJNyw8cj7Qb2ncOTUI23KFOs2NcTsS3sK9E0FYBaWwQu5oqLsAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425517; a=rsa-sha256; cv=none; b=ek59/lAoP5LElsFZFpD4LtRNdhMuGHsGLKAk2SJacFmkvacOr59zC3EVnadt+/JJ8RJJCy sYUsvDJy+AZMet9KpdBHJpzyMH+POcIbF0KUA/b9m1AM6jXbWPydzL3GKlw8oi4Gb8Ugcx leEbHm0cYipCZcnoiPjQfBhp6ne1yVsthlvmU4E8x17kswr+jsxwHIPyPgyOA/CSvrfYdn r5E+Xb8M9K3eJr3dHNNTQDotZmM5nmKoFhjvGqS3wdgQ2FxeGTh7KpEUkKI3IZPpwwbr6B XRvxeDoZ2tzHIhcKzr88BLt4lIg9Cu2lHGQ5WsbklJ49lLcihBT8hRPKNo3n/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425517; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JtqKObbEnJI3+SnYfJXyyFTmlEsHXJRv6Io2gdMSFm0=; b=EPLhk+yuWjwfY750hwMad5FRW3TEMn0zWhjrbOJtyF8hwwderT/DsAsK7fImxlEu0EcEt5 g9xvGrnaoPRmNA1Y/KWQePOyRp5B6DOWD6XbiQP0nWVWgAAfwAZuqU9OW+6ftfuR7qFoJ5 RnfMNgI1n/sE7cK63duBd1DOMttxiTgtz6AozYL5Q/BeYYzNxXbw+tID0LnDthyC4lvLT9 JCDn2i62nUFrpbkqa34u2LKPlMfxvmgYLz6WJnQCID517pCmhP5Bctxi5Pj1JCTHSsFDjF oAHbVmT9ij3/SSUZDi/EeMUAB1wTmEOqP5+cli5KBRdwRmFwT4dPrwJb+2YVOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbJ6VYkz19kq; Wed, 23 Apr 2025 16:25: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 53NGPGx7081802; Wed, 23 Apr 2025 16:25:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPGmJ081799; Wed, 23 Apr 2025 16:25:16 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:16 GMT Message-Id: <202504231625.53NGPGmJ081799@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 52e39daeef88 - main - LinuxKPI: 802.11: add IEEE80211_KEY_FLAG_BITS List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 52e39daeef8804d134e1aa76149d47c026663a61 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=52e39daeef8804d134e1aa76149d47c026663a61 commit 52e39daeef8804d134e1aa76149d47c026663a61 Author: Bjoern A. Zeeb AuthorDate: 2025-04-15 19:39:10 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:20 +0000 LinuxKPI: 802.11: add IEEE80211_KEY_FLAG_BITS Add IEEE80211_KEY_FLAG_BITS to be used with %b for debugging ieee802111_key_flag bit flags. Names are a lot easier to deal with than just numbers. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index b79a6056684d..0d033da2b83e 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -541,6 +541,11 @@ enum ieee802111_key_flag { IEEE80211_KEY_FLAG_SPP_AMSDU = BIT(9), }; +#define IEEE80211_KEY_FLAG_BITS \ + "\20\1GENERATE_IV\2GENERATE_MMIC\3PAIRWISE\4PUT_IV_SPACE" \ + "\5PUT_MIC_SPACE\6SW_MGMT_TX\7GENERATE_IV_MGMT\10GENERATE_MMIE" \ + "\11RESERVE_TAILROOM\12SPP_AMSDU" + struct ieee80211_key_conf { #if defined(__FreeBSD__) const struct ieee80211_key *_k; /* backpointer to net80211 */ From nobody Wed Apr 23 16:25:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbL4LNLz5tbM4; Wed, 23 Apr 2025 16:25: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 4ZjPbL1K0Pz49Tm; Wed, 23 Apr 2025 16:25:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/QpC9Bo8wAhGuXh9CJmckX/Np2RWTSgNoZRH82evcdg=; b=kydVKL+tc431SC1gkSBE3Hq45xaVC8JlMz62Kurg0zC37uDBeQxgBh3vDP53WcU+QUIQ3w axGC6WXuV+y9hQRo7t1zFkWYoO6KC7MCzPwjPpigtlsRn1tq4wif7D5uVoH1XEoemRAC2m 7sACo9BM8GJfVYHgJCIHXC3jADQ/uYwOlmkIvyF3Fi2foMH5DvJJAPNBIptoXh/E6ynjFn U2o1neZMW8at2XjW3rfRrbiWc/EskkBrjMHG9cOxiEIlRhVReqQ66/Vk8sFZ8dETJ/zlYl R8ODx1r9zN3xTeP3Z5H7dvlLMeYyAirO/2XgPGI4Npf/ghtt/i5NXok5qD7QuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425518; a=rsa-sha256; cv=none; b=YXJ/cFlKaEYYnhFjdlcsdDBQrqJfentfMJa4rL3cKeJ7gaCC96yG/YY+V+NWyNJt45c6lh NccaZP4NxotBxC2D7/40UeTsQcmgCojSN+yF6naV3q7rex4hC7nNp5r2ZrAo9u5kwKaHfz JhSvgNBMkfN7PMpfmY6uCkxSnmweoDmjUlX2HZmKLttYl1B1zi4lsJqM5GxD6RFMd+ELyo PY+iaFXPxFzkeVpgbz7xK1mpthUQrlnj5cgNkMUJLncH7f9NNGdwT+ibbkTFEJroELBK+Q 0l4/KZzHMwpyXjeDvn/bqRFMpV/0RWIbnDFOWlHBWYJTe1GH/MGW6Ww/R6XTnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/QpC9Bo8wAhGuXh9CJmckX/Np2RWTSgNoZRH82evcdg=; b=A2uTT6k6OxWYrROxD0DbDptd7DdkshCVZAYLXvfhxOTLnS1re3L6VCTVWykrq58fGevVe1 No5clDTfGtnR62pmOpxhR4ZPd65syyIMV2QI98GsRffSAP/vPHdFrur65PzQYnQo9MJRTc k0xlo4q7X+i7O+tsTgrfjIACsG0+k3qqGo/4zUeslFDFiq9IAlXhLgXmMDYpWD0lspj+4P Eo+0y5ciOGRJKzkQjNVUesJe67AvcOpKGLhjzzYfu+jb5tUZ7ftRM71no0rr+9wKqqx8EI Nvwu+yN1R7LasOdiFMSksZUn2x3KE1am4gVqYO4SqpWmrrBfEetGxpUruy2XTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbL0MD9z19kr; Wed, 23 Apr 2025 16:25: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 53NGPHtC081844; Wed, 23 Apr 2025 16:25:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPHrN081841; Wed, 23 Apr 2025 16:25:17 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:17 GMT Message-Id: <202504231625.53NGPHrN081841@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: bf8c25f16165 - main - LinuxKPI: 802.11: sort cipher lists and filter net80211 unsupported ones List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf8c25f16165440cb75199c2ae405e75d2540e93 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bf8c25f16165440cb75199c2ae405e75d2540e93 commit bf8c25f16165440cb75199c2ae405e75d2540e93 Author: Bjoern A. Zeeb AuthorDate: 2025-04-15 20:34:41 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:20 +0000 LinuxKPI: 802.11: sort cipher lists and filter net80211 unsupported ones Sort the ciphers in lkpi_cipher_suite_to_name() to match other places (e.g., in mac80211.h). Do the same for lkpi_l80211_to_net80211_cyphers() and return the net80211 for all of them. This in theory automatically enables them for net80211 and user space which can lead to other odd problems. Filter out everything net80211 does not currently support in ieee80211_ifattach(). Then also disable all we have not sucessfully implemented in LinuxKPI yet. It is assumed that the later will go away any day again but keep the commit sequence usable. Lastly also fill them all in lkpi_net80211_to_l80211_cipher_suite(). Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 93 +++++++++++++++++++--------- 1 file changed, 63 insertions(+), 30 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index cbf1db5e17de..28c04c9b7a99 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -961,68 +961,68 @@ lkpi_opmode_to_vif_type(enum ieee80211_opmode opmode) static const char * lkpi_cipher_suite_to_name(uint32_t wlan_cipher_suite) { - switch (wlan_cipher_suite) { case WLAN_CIPHER_SUITE_WEP40: return ("WEP40"); + case WLAN_CIPHER_SUITE_WEP104: + return ("WEP104"); case WLAN_CIPHER_SUITE_TKIP: return ("TKIP"); case WLAN_CIPHER_SUITE_CCMP: return ("CCMP"); - case WLAN_CIPHER_SUITE_WEP104: - return ("WEP104"); - case WLAN_CIPHER_SUITE_AES_CMAC: - return ("AES_CMAC"); + case WLAN_CIPHER_SUITE_CCMP_256: + return ("CCMP_256"); case WLAN_CIPHER_SUITE_GCMP: return ("GCMP"); case WLAN_CIPHER_SUITE_GCMP_256: return ("GCMP_256"); - case WLAN_CIPHER_SUITE_CCMP_256: - return ("CCMP_256"); + case WLAN_CIPHER_SUITE_AES_CMAC: + return ("AES_CMAC"); + case WLAN_CIPHER_SUITE_BIP_CMAC_256: + return ("BIP_CMAC_256"); case WLAN_CIPHER_SUITE_BIP_GMAC_128: return ("BIP_GMAC_128"); case WLAN_CIPHER_SUITE_BIP_GMAC_256: return ("BIP_GMAC_256"); - case WLAN_CIPHER_SUITE_BIP_CMAC_256: - return ("BIP_CMAC_256"); default: return ("??"); } } static uint32_t -lkpi_l80211_to_net80211_cyphers(uint32_t wlan_cipher_suite) +lkpi_l80211_to_net80211_cyphers(struct ieee80211com *ic, + uint32_t wlan_cipher_suite) { - switch (wlan_cipher_suite) { case WLAN_CIPHER_SUITE_WEP40: return (IEEE80211_CRYPTO_WEP); + case WLAN_CIPHER_SUITE_WEP104: + return (IEEE80211_CRYPTO_WEP); case WLAN_CIPHER_SUITE_TKIP: return (IEEE80211_CRYPTO_TKIP); case WLAN_CIPHER_SUITE_CCMP: return (IEEE80211_CRYPTO_AES_CCM); - case WLAN_CIPHER_SUITE_WEP104: - return (IEEE80211_CRYPTO_WEP); - case WLAN_CIPHER_SUITE_AES_CMAC: + case WLAN_CIPHER_SUITE_CCMP_256: + return (IEEE80211_CRYPTO_AES_CCM_256); case WLAN_CIPHER_SUITE_GCMP: + return (IEEE80211_CRYPTO_AES_GCM_128); case WLAN_CIPHER_SUITE_GCMP_256: - case WLAN_CIPHER_SUITE_CCMP_256: + return (IEEE80211_CRYPTO_AES_GCM_256); + case WLAN_CIPHER_SUITE_AES_CMAC: + return (IEEE80211_CRYPTO_BIP_CMAC_128); + case WLAN_CIPHER_SUITE_BIP_CMAC_256: + return (IEEE80211_CRYPTO_BIP_CMAC_256); case WLAN_CIPHER_SUITE_BIP_GMAC_128: + return (IEEE80211_CRYPTO_BIP_GMAC_128); case WLAN_CIPHER_SUITE_BIP_GMAC_256: - case WLAN_CIPHER_SUITE_BIP_CMAC_256: - printf("%s: unsupported WLAN Cipher Suite %#08x | %u (%s)\n", - __func__, - wlan_cipher_suite >> 8, wlan_cipher_suite & 0xff, - lkpi_cipher_suite_to_name(wlan_cipher_suite)); - break; + return (IEEE80211_CRYPTO_BIP_GMAC_256); default: - printf("%s: unknown WLAN Cipher Suite %#08x | %u (%s)\n", + ic_printf(ic, "%s: unknown WLAN Cipher Suite %#08x | %u (%s)\n", __func__, wlan_cipher_suite >> 8, wlan_cipher_suite & 0xff, lkpi_cipher_suite_to_name(wlan_cipher_suite)); + return (0); } - - return (0); } static uint32_t @@ -1030,18 +1030,37 @@ lkpi_net80211_to_l80211_cipher_suite(uint32_t cipher, uint8_t keylen) { switch (cipher) { - case IEEE80211_CIPHER_TKIP: - return (WLAN_CIPHER_SUITE_TKIP); - case IEEE80211_CIPHER_AES_CCM: - return (WLAN_CIPHER_SUITE_CCMP); case IEEE80211_CIPHER_WEP: if (keylen < 8) return (WLAN_CIPHER_SUITE_WEP40); else return (WLAN_CIPHER_SUITE_WEP104); break; + case IEEE80211_CIPHER_TKIP: + return (WLAN_CIPHER_SUITE_TKIP); + case IEEE80211_CIPHER_AES_CCM: + return (WLAN_CIPHER_SUITE_CCMP); + case IEEE80211_CIPHER_AES_CCM_256: + return (WLAN_CIPHER_SUITE_CCMP_256); + case IEEE80211_CIPHER_AES_GCM_128: + return (WLAN_CIPHER_SUITE_GCMP); + case IEEE80211_CIPHER_AES_GCM_256: + return (WLAN_CIPHER_SUITE_GCMP_256); + case IEEE80211_CIPHER_BIP_CMAC_128: + return (WLAN_CIPHER_SUITE_AES_CMAC); + case IEEE80211_CIPHER_BIP_CMAC_256: + return (WLAN_CIPHER_SUITE_BIP_CMAC_256); + case IEEE80211_CIPHER_BIP_GMAC_128: + return (WLAN_CIPHER_SUITE_BIP_GMAC_128); + case IEEE80211_CIPHER_BIP_GMAC_256: + return (WLAN_CIPHER_SUITE_BIP_GMAC_256); + case IEEE80211_CIPHER_AES_OCB: case IEEE80211_CIPHER_TKIPMIC: + /* + * TKIP w/ hw MIC support + * (gone wrong; should really be a crypto flag in net80211). + */ case IEEE80211_CIPHER_CKIP: case IEEE80211_CIPHER_NONE: printf("%s: unsupported cipher %#010x\n", __func__, cipher); @@ -5823,9 +5842,23 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) ic->ic_cryptocaps = 0; #ifdef LKPI_80211_HW_CRYPTO if (lkpi_hwcrypto && hw->wiphy->n_cipher_suites > 0) { + uint32_t hwciphers; + + hwciphers = 0; for (i = 0; i < hw->wiphy->n_cipher_suites; i++) - ic->ic_cryptocaps |= lkpi_l80211_to_net80211_cyphers( - hw->wiphy->cipher_suites[i]); + hwciphers |= lkpi_l80211_to_net80211_cyphers( + ic, hw->wiphy->cipher_suites[i]); + /* + * (20250415) nothing anywhere in the path checks we actually + * support all these in net80211. + * net80211 supports _256 variants but the ioctl does not. + */ + IMPROVE("as net80211 grows more support, enable them"); + hwciphers &= (IEEE80211_CRYPTO_WEP | IEEE80211_CRYPTO_TKIP | + IEEE80211_CRYPTO_AES_CCM | IEEE80211_CRYPTO_AES_GCM_128); + /* We only support CCMP here, so further filter. */ + hwciphers &= IEEE80211_CRYPTO_AES_CCM; + ieee80211_set_hardware_ciphers(ic, hwciphers); } #endif From nobody Wed Apr 23 16:25:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbM4zftz5tbdB; Wed, 23 Apr 2025 16:25: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 4ZjPbM2CQqz499D; Wed, 23 Apr 2025 16:25:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TzvjFfDQ2VArN8z47dHvODEYRX2FAVqiqSnb7CancfA=; b=G9evf+bBD4aN7Yj2J7eKaUvM1UYDQMO2FXccK2UZZJOdW+Ab7e4EORuxCKXV+5w/0le2gU fJGzBjGTT8nl84AvpdNFYqzOSV3YarPnVXjtUVBlI0et4RW0tWCAaXrj/jIL4oGFURYkNF F3mQZevgkgZdd1c0IEzDDltme+invUwIxYj5lP3+AM5HhRSjSDbB72d3QweJ0013ZcYmhT F4f98PBIn5oqYiz19TmGRrSbH8/VIi2SeEe5XEiIAcXMvL7CQvwN7fT525OCOiH90JllnC 9eEvtLj7EP8+179J5Rfaob0tEZczkJgtFcSR65fRBONPEwBmNtmQTABTtzocDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425519; a=rsa-sha256; cv=none; b=pYtUb561oCjL5ex2Yd4ETUilxMkkIl25P+n9ET31534k+cs9nkoaqtcyN7uLVptyeKACKI NwlP2WJwJ1tvFwA1/mSknbaMQ0RI7hknm6PFq2mI9CRT+H0xXIZkIFOEywwZrJNxyfDyR/ m1nU++PxvNbXakgGK3W0sPehQNCePyx99WH5bGW8sErm1i4hoTnoTr/ACUXMCZA5I6IsYh xqAnCJfhVk0u9dK4B74szkg0/6OQ6qtN8V48HKzdLJmbIlKilKd0o0J5o3YxRq+SoEvYTq fmVRDxnbiFCdEYMiZHEQ/ekUhlSoOlCDDV/JFfVJfHox+EiksN21Gy9fuPvC1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425519; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TzvjFfDQ2VArN8z47dHvODEYRX2FAVqiqSnb7CancfA=; b=lMDIzp9PgWzL4hfdGgi9F4OIjSqBgy672z4WgSLklDnbp8a7vf1TR0dJuxZJ1GpFvpi4Hf jtCIbrdg6YKLQ7mJfyz0yDmHNCjdZIJIbwioiu+jEwDyS6nFvCNIpmfRJD1JDrD5XY0bWg kDVsiICbv2q84/5wFZM2R9asWWcHw3TgHvqgkysZ1XyERLkTfIcbnHIyxx857KBSaP3d8h TRao1afzGLePPuGw1bClqf45f1xkPNebjetxkQpLNa+/Nge0DfmhJRkuT9F53fZWMHGhOg 5fy2+4q2RuxCd5u/9meAX1d3DSEeUwJY6Cw1SrC5Ams8dF9hg57Hkr0mInAMsA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbM0lk3z19VQ; Wed, 23 Apr 2025 16:25: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 53NGPJiY081879; Wed, 23 Apr 2025 16:25:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPJsY081876; Wed, 23 Apr 2025 16:25:19 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:19 GMT Message-Id: <202504231625.53NGPJsY081876@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 98e55905ab8a - main - LinuxKPI: 802.11: lkpi_hw_crypto_prepare and lkpi_hw_crypto_tailroom List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 98e55905ab8ac34a0b88a1863c1b88e6fe3a8c13 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=98e55905ab8ac34a0b88a1863c1b88e6fe3a8c13 commit 98e55905ab8ac34a0b88a1863c1b88e6fe3a8c13 Author: Bjoern A. Zeeb AuthorDate: 2025-04-15 20:59:45 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:20 +0000 LinuxKPI: 802.11: lkpi_hw_crypto_prepare and lkpi_hw_crypto_tailroom Split lkpi_hw_crypto_prepare() up per cipher suite and in addition to the CCMP implementation start drafting the TKIP implementation. Also add lkpi_hw_crypto_tailroom() dealing with any possible tailroom we need to prepare for the driver to fill in details later. Add support for that to lkpi_80211_txq_tx_one(). Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 130 ++++++++++++++++++++++----- 1 file changed, 110 insertions(+), 20 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 28c04c9b7a99..6fe41ddb1bb2 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -4609,34 +4609,56 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, #ifdef LKPI_80211_HW_CRYPTO static int -lkpi_hw_crypto_prepare(struct lkpi_sta *lsta, struct ieee80211_key *k, - struct sk_buff *skb) +lkpi_hw_crypto_prepare_tkip(struct ieee80211_key *k, + struct ieee80211_key_conf *kc, struct sk_buff *skb) { - struct ieee80211_tx_info *info; - struct ieee80211_key_conf *kc; struct ieee80211_hdr *hdr; uint32_t hlen, hdrlen; - uint8_t *p; + uint8_t *p, *m; - KASSERT(lsta != NULL, ("%s: lsta is NULL", __func__)); - KASSERT(k != NULL, ("%s: key is NULL", __func__)); - KASSERT(skb != NULL, ("%s: skb is NULL", __func__)); + /* + * Check if we have anythig to do as requested by driver + * or if we are done? + */ + if ((kc->flags & IEEE80211_KEY_FLAG_PUT_IV_SPACE) == 0 && + (kc->flags & IEEE80211_KEY_FLAG_GENERATE_IV) == 0) + return (0); - kc = lsta->kc[k->wk_keyix]; + hlen = k->wk_cipher->ic_header; + if (skb_headroom(skb) < hlen) + return (ENOSPC); - info = IEEE80211_SKB_CB(skb); - info->control.hw_key = kc; + hdr = (void *)skb->data; + hdrlen = ieee80211_hdrlen(hdr->frame_control); + p = skb_push(skb, hlen); + memmove(p, p + hlen, hdrlen); - /* MUST NOT happen. KASSERT? */ - if (kc == NULL) { - ic_printf(lsta->ni->ni_ic, "%s: lsta %p k %p skb %p, " - "kc is NULL on hw crypto offload\n", __func__, lsta, k, skb); - return (ENXIO); + /* + * Put in zeroed space for the MMIC if requested. + * XXX-BZ in theory this is not the right place but given we + * are here we know we do hw_crypto so not much missing. + */ + if ((kc->flags & IEEE80211_KEY_FLAG_PUT_MIC_SPACE) != 0) { + m = skb_put(skb, 8); + memset(m, 0, 8); } + /* If driver request space only we are done. */ + if ((kc->flags & IEEE80211_KEY_FLAG_PUT_IV_SPACE) != 0) + return (0); + + p += hdrlen; + k->wk_cipher->ic_setiv(k, p); - IMPROVE("the following should be WLAN_CIPHER_SUITE specific"); - /* We currently only support CCMP so we hardcode things here. */ + return (ENXIO); +} +static int +lkpi_hw_crypto_prepare_ccmp(struct ieee80211_key *k, + struct ieee80211_key_conf *kc, struct sk_buff *skb) +{ + struct ieee80211_hdr *hdr; + uint32_t hlen, hdrlen; + uint8_t *p; hdr = (void *)skb->data; @@ -4668,6 +4690,67 @@ lkpi_hw_crypto_prepare(struct lkpi_sta *lsta, struct ieee80211_key *k, return (0); } + +static int +lkpi_hw_crypto_prepare(struct lkpi_sta *lsta, struct ieee80211_key *k, + struct sk_buff *skb) +{ + struct ieee80211_tx_info *info; + struct ieee80211_key_conf *kc; + + KASSERT(lsta != NULL, ("%s: lsta is NULL", __func__)); + KASSERT(k != NULL, ("%s: key is NULL", __func__)); + KASSERT(skb != NULL, ("%s: skb is NULL", __func__)); + + kc = lsta->kc[k->wk_keyix]; + + info = IEEE80211_SKB_CB(skb); + info->control.hw_key = kc; + + /* MUST NOT happen. KASSERT? */ + if (kc == NULL) { + ic_printf(lsta->ni->ni_ic, "%s: lsta %p k %p skb %p, " + "kc is NULL on hw crypto offload\n", __func__, lsta, k, skb); + return (ENXIO); + } + + switch (kc->cipher) { + case WLAN_CIPHER_SUITE_TKIP: + return (lkpi_hw_crypto_prepare_tkip(k, kc, skb)); + case WLAN_CIPHER_SUITE_CCMP: + return (lkpi_hw_crypto_prepare_ccmp(k, kc, skb)); + case WLAN_CIPHER_SUITE_WEP40: + case WLAN_CIPHER_SUITE_WEP104: + case WLAN_CIPHER_SUITE_CCMP_256: + case WLAN_CIPHER_SUITE_GCMP: + case WLAN_CIPHER_SUITE_GCMP_256: + case WLAN_CIPHER_SUITE_AES_CMAC: + case WLAN_CIPHER_SUITE_BIP_CMAC_256: + case WLAN_CIPHER_SUITE_BIP_GMAC_128: + case WLAN_CIPHER_SUITE_BIP_GMAC_256: + default: + ic_printf(lsta->ni->ni_ic, "%s: lsta %p k %p kc %p skb %p, " + "unsupported cipher suite %u (%s)\n", __func__, lsta, k, kc, + skb, kc->cipher, lkpi_cipher_suite_to_name(kc->cipher)); + return (EOPNOTSUPP); + } +} + +static uint8_t +lkpi_hw_crypto_tailroom(struct lkpi_sta *lsta, struct ieee80211_key *k) +{ + struct ieee80211_key_conf *kc; + + kc = lsta->kc[k->wk_keyix]; + if (kc == NULL) + return (0); + + IMPROVE("which other flags need tailroom?"); + if (kc->flags & (IEEE80211_KEY_FLAG_PUT_MIC_SPACE)) + return (32); /* Large enough to hold everything and pow2. */ + + return (0); +} #endif static void @@ -4690,7 +4773,7 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) struct lkpi_txq *ltxq; void *buf; ieee80211_keyix keyix; - uint8_t ac, tid; + uint8_t ac, tid, tailroom; M_ASSERTPKTHDR(m); #ifdef LINUXKPI_DEBUG_80211 @@ -4748,13 +4831,20 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) ieee80211_radiotap_tx(ni->ni_vap, m); } +#ifdef LKPI_80211_HW_CRYPTO + if (lkpi_hwcrypto && keyix != IEEE80211_KEYIX_NONE) + tailroom = lkpi_hw_crypto_tailroom(lsta, k); + else +#endif + tailroom = 0; + /* * net80211 should handle hw->extra_tx_headroom. * Though for as long as we are copying we don't mind. * XXX-BZ rtw88 asks for too much headroom for ipv6+tcp: * https://lists.freebsd.org/archives/freebsd-transport/2022-February/000012.html */ - skb = dev_alloc_skb(hw->extra_tx_headroom + m->m_pkthdr.len); + skb = dev_alloc_skb(hw->extra_tx_headroom + tailroom + m->m_pkthdr.len); if (skb == NULL) { static uint8_t skb_alloc_failures = 0; From nobody Wed Apr 23 16:25:20 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbN5QFSz5tbM5; Wed, 23 Apr 2025 16:25: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 4ZjPbN2vX8z49Ns; Wed, 23 Apr 2025 16:25:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425520; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I4eqwri/g0wYTzRqPeLQNKAXtDiiQfJC7gn/j+hK8+U=; b=T6Z727K5fADHCJ7yStGPjmGmuuOpWC8KqOQVYDe2+eqIyRSKpxzPE4dQt6r7sEYEO6tGGT omINwBRRhG5gKCNGvJzRmCqqLfOGRHVpQZkYWMyzwWlUYzTGIO/LUCcolSR+fA1XVw7Wan ms+ImQUTac53Xek0wI9u+WOIKcmq8QV+yeqNI1Ufd6mTKlRg7h2Ga3Ie6KC4rjfUDhqQiG baJIWD5YnzshHnCjXXGqvmpFpd171sWA+qYym+rUL3yqt5IDzeEVY1oYBhUxQW33udE6Ar XKrx0JATj/Kj+8CELtVIyUAZEp35sZJ2NTovQLIWPT0nw/TPCquCvN12GdqyuQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425520; a=rsa-sha256; cv=none; b=Mh2ENrOGtC5GGJaDyDdDTc5wiQMtywxRc9eujByjNhbpATLoD/z2p9QlEK3NwJ2Q8zHeWy TOB/1tXvn/oW+xPT8w29qBJRCSu84rbnFiN60R8AFFtIxgLupHcstpD/OM9nLMBldBehUW cLZ0D3dQloHDvdB2Ik8NGZxk90tPNYCizaT9WCZjyzmr8IYo4Z/MwMeu5LFvT47vvBEONd cim6WQ2RK0stUrPZAeicOr/qUzvHaYetreLCSUfOmR1hNq8RniQOLesjDyW2eIX5rnokrn Wjvui4oLGaEfwl8L6We3wm3AgxRu6ukGwsN1FW7DfS6j0ra1MlMjZ0Z1WEeITg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425520; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I4eqwri/g0wYTzRqPeLQNKAXtDiiQfJC7gn/j+hK8+U=; b=fKY65pAw6aQit5jsYFCix8SDdwNgzb+pHQZy4PHMGpFRY7rNQvHWHSHbnZWq7DwfUJZCSd VD7jG9dLz2zbL2mWQ3Z/eeOgzFn9xdv4H07hpfQwz3814AIFKV+qJPFHNn7/y0HVrQJti4 3Ujk1gl7CF24kDa1LrKcBY9uZ6k1614WbOw4olAlLaeA/3rIhEjDEDx+xqmdZ6RUuNo7U1 NQbCSIYIW0fl7ixPl0B2MWZMdUkb/8ai1ql7vJk0qRhWNpGS5HeoO6GlCj6I8Q+rL0RLCJ 0sWHxvTrNSkVPftvA+W+o5p+ydOXcaC8HdfwA4X9qK8dw7CrKP7wsm21R2NtpQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbN21zmz19s3; Wed, 23 Apr 2025 16:25: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 53NGPK2u081915; Wed, 23 Apr 2025 16:25:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPKJs081912; Wed, 23 Apr 2025 16:25:20 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:20 GMT Message-Id: <202504231625.53NGPKJs081912@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a6f6329c92a9 - main - LinuxKPI: 802.11: add checks and improve tracing to key operations List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a6f6329c92a993ddaaa4a7daf2b53155f805d50f Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a6f6329c92a993ddaaa4a7daf2b53155f805d50f commit a6f6329c92a993ddaaa4a7daf2b53155f805d50f Author: Bjoern A. Zeeb AuthorDate: 2025-04-15 21:11:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:20 +0000 LinuxKPI: 802.11: add checks and improve tracing to key operations Use the IEEE80211_KEY_FLAG_BITS for logging. Add more logging to aid debugging key and cipher operations. Add extra checks that key is actually defined before attempting any key operation. Move some variables to before they are needed to avoid extra work in case of early return. Makes their scope more clear. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 63 +++++++++++++++++++++------- 1 file changed, 49 insertions(+), 14 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 6fe41ddb1bb2..3ece7c06971c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1203,6 +1203,14 @@ lkpi_sta_del_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif, continue; kc = lsta->kc[keyix]; +#ifdef LINUXKPI_DEBUG_80211 + if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) + ic_printf(lsta->ni->ni_ic, "%s: running set_key cmd %d(%s) for " + "sta %6D: keyidx %u hw_key_idx %u flags %b\n", + __func__, DISABLE_KEY, "DISABLE", lsta->sta.addr, ":", + kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); +#endif + err = lkpi_80211_mo_set_key(hw, DISABLE_KEY, vif, LSTA_TO_STA(lsta), kc); if (err != 0) { @@ -1221,9 +1229,9 @@ lkpi_sta_del_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif, #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(lsta->ni->ni_ic, "%s: set_key cmd %d(%s) for " - "sta %6D succeeded: keyidx %u hw_key_idx %u flags %#10x\n", + "sta %6D succeeded: keyidx %u hw_key_idx %u flags %b\n", __func__, DISABLE_KEY, "DISABLE", lsta->sta.addr, ":", - kc->keyidx, kc->hw_key_idx, kc->flags); + kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif lsta->kc[keyix] = NULL; @@ -1248,16 +1256,18 @@ _lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) int error; ic = vap->iv_ic; - lhw = ic->ic_softc; - hw = LHW_TO_HW(lhw); - lvif = VAP_TO_LVIF(vap); - vif = LVIF_TO_VIF(lvif); + if (IEEE80211_KEY_UNDEFINED(k)) { + ic_printf(ic, "%s: vap %p key %p is undefined: %p %u\n", + __func__, vap, k, k->wk_cipher, k->wk_keyix); + return (0); + } if (vap->iv_bss == NULL) { ic_printf(ic, "%s: iv_bss %p for vap %p is NULL\n", __func__, vap->iv_bss, vap); return (0); } + ni = ieee80211_ref_node(vap->iv_bss); lsta = ni->ni_drv_data; if (lsta == NULL) { @@ -1292,6 +1302,18 @@ _lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) goto out; } +#ifdef LINUXKPI_DEBUG_80211 + if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) + ic_printf(ic, "%s: running set_key cmd %d(%s) for sta %6D: " + "keyidx %u hw_key_idx %u flags %b\n", __func__, + DISABLE_KEY, "DISABLE", sta->addr, ":", + kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); +#endif + + lhw = ic->ic_softc; + hw = LHW_TO_HW(lhw); + lvif = VAP_TO_LVIF(vap); + vif = LVIF_TO_VIF(lvif); error = lkpi_80211_mo_set_key(hw, DISABLE_KEY, vif, sta, kc); if (error != 0) { ic_printf(ic, "%s: set_key cmd %d(%s) for sta %6D failed: %d\n", @@ -1303,9 +1325,9 @@ _lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(ic, "%s: set_key cmd %d(%s) for sta %6D succeeded: " - "keyidx %u hw_key_idx %u flags %#10x\n", __func__, + "keyidx %u hw_key_idx %u flags %b\n", __func__, DISABLE_KEY, "DISABLE", sta->addr, ":", - kc->keyidx, kc->hw_key_idx, kc->flags); + kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif lsta->kc[k->wk_keyix] = NULL; free(kc, M_LKPI80211); @@ -1340,10 +1362,11 @@ _lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) int error; ic = vap->iv_ic; - lhw = ic->ic_softc; - hw = LHW_TO_HW(lhw); - lvif = VAP_TO_LVIF(vap); - vif = LVIF_TO_VIF(lvif); + if (IEEE80211_KEY_UNDEFINED(k)) { + ic_printf(ic, "%s: vap %p key %p is undefined: %p %u\n", + __func__, vap, k, k->wk_cipher, k->wk_keyix); + return (0); + } if (vap->iv_bss == NULL) { ic_printf(ic, "%s: iv_bss %p for vap %p is NULL\n", @@ -1414,6 +1437,18 @@ _lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) }; lsta->kc[k->wk_keyix] = kc; +#ifdef LINUXKPI_DEBUG_80211 + if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) + ic_printf(ic, "%s: running set_key cmd %d(%s) for sta %6D: " + "kc %p keyidx %u hw_key_idx %u flags %b\n", __func__, + SET_KEY, "SET", sta->addr, ":", + kc, kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); +#endif + + lhw = ic->ic_softc; + hw = LHW_TO_HW(lhw); + lvif = VAP_TO_LVIF(vap); + vif = LVIF_TO_VIF(lvif); error = lkpi_80211_mo_set_key(hw, SET_KEY, vif, sta, kc); if (error != 0) { ic_printf(ic, "%s: set_key cmd %d(%s) for sta %6D failed: %d\n", @@ -1427,9 +1462,9 @@ _lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(ic, "%s: set_key cmd %d(%s) for sta %6D succeeded: " - "kc %p keyidx %u hw_key_idx %u flags %#010x\n", __func__, + "kc %p keyidx %u hw_key_idx %u flags %b\n", __func__, SET_KEY, "SET", sta->addr, ":", - kc, kc->keyidx, kc->hw_key_idx, kc->flags); + kc, kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif ieee80211_free_node(ni); From nobody Wed Apr 23 16:25:22 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbR1kXFz5tbgj; Wed, 23 Apr 2025 16:25: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 4ZjPbQ4jLGz49S7; Wed, 23 Apr 2025 16:25:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425522; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8N3yJGHE75M0sTfR5Ooj3s3aw9VqvSXdRzxM2BSib48=; b=Ltz2mGXhb0lB7KIl2xOO4D9+ayFMgWQHsNZ4pHyndJMzO5mtCLL3uYAdCcB3s+3FHVk/an djCh65RE5N/zQkSzdM1haHqkEYHCqwqN71qThbOi4U2LYcb37OGQfJK6Xpucf8VLcwhEca 1OohS/Rq8wSyh+94coHFhmHbvmmGgWHiHLC/KdfkqgvYb8L5TgIXeYAGhRx0Q6pnh7xiPW JemNxJh+akaPZY0sSKt+JU2utUKkZH98gqPT2EmZUTus3g8Vz4BiY/PGxVrfAMxlgToy1t uAlESMbfCxZTnR5q51SzcTF8RMy+32Iyen8UAwwdD9xmz6KRBVLoSMt6Niz4lg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425522; a=rsa-sha256; cv=none; b=LVNHge1R9JBkBtOLsq2nn+wyB8Gv4janmqfZGxIyOPi65W7veksM77KC70x00Ycd5o4bZR vBHq700bbnhIse19BqNkei9hx7LgOPNEFAMXu9LSyFd6dce0+Z0/bpL/AN+XSGeEwtC3UT 7A2fvFp0YDqph/PVoK8espqJBq5aQ7kdBf3GToaXW4K3ml4LRgS98b9kkQVgfhiCS+CLNQ XG6RwXF32yG+bEIOdK8swTEoQIxqEK70kFk/59zZ6N6N8ylXqrfTbwIptlQ8Lb6fDMx91l aVI5PrFarLc3fVJla/uNTCFRo1DZYc3ToIgmLOFUFXJAbV2v1mljhJP+U2z/Mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425522; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8N3yJGHE75M0sTfR5Ooj3s3aw9VqvSXdRzxM2BSib48=; b=WWjxId0dEz7iz/QM9FyoyoeYX0rn9Hdb6KaaVQBnhMUcvD3Cve06sMxAUbJuMwahN4c5yy y6/qxsm8B4l51jB+PKUTQ0RQVOCGbWhoBBDIrmBBf4pszXThHqZlsUAjCtntxi4fqLSZXv hmnEnd4jOws/buZ73vdtiqB9MKOn7Wtfnt3E2Np+mCAwIcJOnFw9IbNuM7uJKXGWToxyRH 87q3rNVEs4gdzO3O4mmsGJvmZ8VUoJhhr8pzW07Q6rP+1nPGkjI85TyTDI8JrJihSdtJWD HpLR2kxo+NLDS0bqHOf5rLFAFdpwgZDA9u9Kvn6ue2L1otPCNC4KHLsGHC8qww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbQ3qftz19vW; Wed, 23 Apr 2025 16:25: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 53NGPMfR081987; Wed, 23 Apr 2025 16:25:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPMVX081984; Wed, 23 Apr 2025 16:25:22 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:22 GMT Message-Id: <202504231625.53NGPMVX081984@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 92942717fd4c - main - LinuxKPI: 802.11: add the key mgmt for TKIP and extra checks for CCMP List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 92942717fd4cdcfac4c51a46accd3e5ed532cdb7 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=92942717fd4cdcfac4c51a46accd3e5ed532cdb7 commit 92942717fd4cdcfac4c51a46accd3e5ed532cdb7 Author: Bjoern A. Zeeb AuthorDate: 2025-04-15 21:28:48 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:21 +0000 LinuxKPI: 802.11: add the key mgmt for TKIP and extra checks for CCMP Set iv/icv_len for TKIP as well. Add checks for both TKIP and CCMP that we do not get any unexpected or unimplemented flags back from KEY_SET. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 74 ++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 88c3445423c5..b9d8cc7263ae 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1352,6 +1352,7 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) struct ieee80211_node *ni; struct ieee80211_key_conf *kc; uint32_t lcipher; + uint16_t exp_flags; int error; ic = vap->iv_ic; @@ -1390,8 +1391,8 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) k->wk_cipher->ic_cipher, k->wk_keylen); switch (lcipher) { case WLAN_CIPHER_SUITE_CCMP: - break; case WLAN_CIPHER_SUITE_TKIP: + break; default: ic_printf(ic, "%s: CIPHER SUITE %#x (%s) not supported\n", __func__, lcipher, lkpi_cipher_suite_to_name(lcipher)); @@ -1423,6 +1424,9 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) kc->icv_len = k->wk_cipher->ic_trailer; break; case WLAN_CIPHER_SUITE_TKIP: + kc->iv_len = k->wk_cipher->ic_header; + kc->icv_len = k->wk_cipher->ic_trailer; + break; default: /* currently UNREACH */ IMPROVE(); @@ -1460,6 +1464,52 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) kc, kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif + exp_flags = 0; + switch (kc->cipher) { + case WLAN_CIPHER_SUITE_TKIP: + exp_flags = (IEEE80211_KEY_FLAG_PAIRWISE | + IEEE80211_KEY_FLAG_PUT_IV_SPACE | + IEEE80211_KEY_FLAG_GENERATE_MMIC | + IEEE80211_KEY_FLAG_PUT_MIC_SPACE); +#define TKIP_INVAL_COMBINATION \ + (IEEE80211_KEY_FLAG_PUT_MIC_SPACE|IEEE80211_KEY_FLAG_GENERATE_MMIC) + if ((kc->flags & TKIP_INVAL_COMBINATION) == TKIP_INVAL_COMBINATION) { + ic_printf(ic, "%s: SET_KEY for %s returned invalid " + "combination %b\n", __func__, + lkpi_cipher_suite_to_name(kc->cipher), + kc->flags, IEEE80211_KEY_FLAG_BITS); + } +#undef TKIP_INVAL_COMBINATION +#ifdef __notyet__ + /* Do flags surgery; special see linuxkpi_ieee80211_ifattach(). */ + if ((kc->flags & IEEE80211_KEY_FLAG_GENERATE_MMIC) != 0) { + k->wk_flags &= ~(IEEE80211_KEY_NOMICMGT|IEEE80211_KEY_NOMIC); + k->wk_flags |= IEEE80211_KEY_SWMIC; + ic->ic_cryptocaps &= ~IEEE80211_CRYPTO_TKIPMIC + } +#endif + break; + case WLAN_CIPHER_SUITE_CCMP: + exp_flags = (IEEE80211_KEY_FLAG_PAIRWISE | + IEEE80211_KEY_FLAG_PUT_IV_SPACE | + IEEE80211_KEY_FLAG_GENERATE_IV | + IEEE80211_KEY_FLAG_GENERATE_IV_MGMT); /* Only needs IV geeration for MGMT frames. */ + break; + } + if ((kc->flags & ~exp_flags) != 0) + ic_printf(ic, "%s: SET_KEY for %s returned unexpected key flags: " + " %#06x & ~%#06x = %b\n", __func__, + lkpi_cipher_suite_to_name(kc->cipher), kc->flags, exp_flags, + (kc->flags & ~exp_flags), IEEE80211_KEY_FLAG_BITS); + +#ifdef __notyet__ + /* Do flags surgery. */ + if ((kc->flags & IEEE80211_KEY_FLAG_GENERATE_IV_MGMT) == 0) + k->wk_flags |= IEEE80211_KEY_NOIVMGT; + if ((kc->flags & IEEE80211_KEY_FLAG_GENERATE_IV) == 0) + k->wk_flags |= IEEE80211_KEY_NOIV; +#endif + ieee80211_free_node(ni); return (1); } @@ -5956,16 +6006,32 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) uint32_t hwciphers; hwciphers = 0; - for (i = 0; i < hw->wiphy->n_cipher_suites; i++) - hwciphers |= lkpi_l80211_to_net80211_cyphers( + for (i = 0; i < hw->wiphy->n_cipher_suites; i++) { + uint32_t cs; + + cs = lkpi_l80211_to_net80211_cyphers( ic, hw->wiphy->cipher_suites[i]); + if (cs == IEEE80211_CRYPTO_TKIP) { + /* + * We do set this here. We will only find out + * when doing a SET_KEY operation depending on + * what the driver returns. + * net80211::ieee80211_crypto_newkey() + * checks this so we will have to do flags + * surgery later. + */ + cs |= IEEE80211_CRYPTO_TKIPMIC; + } + hwciphers |= cs; + } /* * (20250415) nothing anywhere in the path checks we actually * support all these in net80211. * net80211 supports _256 variants but the ioctl does not. */ IMPROVE("as net80211 grows more support, enable them"); - hwciphers &= (IEEE80211_CRYPTO_WEP | IEEE80211_CRYPTO_TKIP | + hwciphers &= (IEEE80211_CRYPTO_WEP | + IEEE80211_CRYPTO_TKIP | IEEE80211_CRYPTO_TKIPMIC | IEEE80211_CRYPTO_AES_CCM | IEEE80211_CRYPTO_AES_GCM_128); /* We only support CCMP here, so further filter. */ hwciphers &= IEEE80211_CRYPTO_AES_CCM; From nobody Wed Apr 23 16:25:21 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbQ57qXz5tbgh; Wed, 23 Apr 2025 16:25: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 4ZjPbP6gsPz49V6; Wed, 23 Apr 2025 16:25:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425521; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dGRVubKMnFy4Tl7NXGzeHWnVggm9csOlFqteYmYSjvc=; b=kw/0lSSzA5lF+gk3nZoafOnUsP6DHiLFNK9G2EnKuZoj3uBFeQTvSyBfP6TpZ8UT4vd5U8 FtpAhOhNfr56OOH8UIlmEQ3T4AsYGzH9jYMfuHAEy7flxZkkNGjuiN/jojg3Ee9mK3IRXK UNq0r/+9I3/LGtbx6s8qv0OwJKE/iWCkdAOkMeJLHKc116rrGCdqTFNrGEgXEMi90P2z2l bS5wIQ7IWNSqrgVMd8pIdpQG/6c2oZqvLC8Q66cWn2grmGzwu1iM3jpGrHNpT4oWS+H8uD dVnphNh8cdoKB7morS3rGh1G1+1ukqgkINB8oMoqW7wtn8EkIXX2ebFbRhxfTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425521; a=rsa-sha256; cv=none; b=ZLAI6Q7cmtMhisk2zjvwARV8qIv05FK5rsOTAGFWYdCraFlbfqtE3gLJ4AfgAvl1/I64KW XaV0bjr3AoeQocuaMUrt9X20pRzhMNMRypXAoDy/NL36ZJ9MpE1zeEK00SdPl48VgN9wt7 gfonX+y7WJTbPAuSTt+YW6wn4yuPLNtxDoiMv6MbqpB7wmTDRtBM2YCNK3TDIHmh7V3raV p0QSi3DaoSCP5i/C0jPfEpMmZ8xuEQ/nw2E47xNnO+YjbYBOk/KLBSeLETZio6bLTp82Ul XThTiijBTT4mJAMQLXQpvbVm9yt4he4WBbWGQ+kPs6gyo4Y7tjMCVjrmq6/R9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425521; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dGRVubKMnFy4Tl7NXGzeHWnVggm9csOlFqteYmYSjvc=; b=GmUhlSXWQltqCpAgxQdO3w3cMyrk3nyLermnFPMhZVigT+kK+y8CNUza0e56mdFXLlFbML omDKhF1p5TPyNSdvbEHBRqG1MT2M/AaxdjGtq0JvvKP7g6LwDaqJm3XvErG/2KxZ0mfvwn AwtuLlbK39cCMgv6lakvMYh8Ret5BK8aeE0kNzguvEMD1oRibXS2+24uGIHHPbVQVLp3lY pDPhQjJHluYjwwGGHaxVI9zukPZB+WyW63JF0PRIi/M30X3AmTrtknUEqhFa/BgJ5EK1Nd nFDuMryL2+8zdfEfXmNZ2VgcDbSKc9uNbENyKBrIs2fa69WY4+7e8PcyepfAZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbP31FHz19vV; Wed, 23 Apr 2025 16:25: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 53NGPLcS081951; Wed, 23 Apr 2025 16:25:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPLrr081948; Wed, 23 Apr 2025 16:25:21 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:21 GMT Message-Id: <202504231625.53NGPLrr081948@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: aa294e8e40a1 - main - LinuxKPI: 802.11: remove lkpi_iv_key_set/delete wrappers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aa294e8e40a1aa93d5af05d573744833c5f6804a Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=aa294e8e40a1aa93d5af05d573744833c5f6804a commit aa294e8e40a1aa93d5af05d573744833c5f6804a Author: Bjoern A. Zeeb AuthorDate: 2025-04-15 21:16:31 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:20 +0000 LinuxKPI: 802.11: remove lkpi_iv_key_set/delete wrappers We currently use simple wrapper functions not doing anything for lkpi_iv_key_set/delete. Garbage collect them and call the implementation directly. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 3ece7c06971c..88c3445423c5 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1241,8 +1241,10 @@ lkpi_sta_del_keys(struct ieee80211_hw *hw, struct ieee80211_vif *vif, return (error); } +/* XXX-BZ one day we should replace this iterating over VIFs, or node list? */ +/* See also lkpi_sta_del_keys() these days. */ static int -_lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) +lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) { struct ieee80211com *ic; struct lkpi_hw *lhw; @@ -1338,16 +1340,7 @@ out: } static int -lkpi_iv_key_delete(struct ieee80211vap *vap, const struct ieee80211_key *k) -{ - - /* XXX-BZ one day we should replace this iterating over VIFs, or node list? */ - /* See also lkpi_sta_del_keys() these days. */ - return (_lkpi_iv_key_delete(vap, k)); -} - -static int -_lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) +lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) { struct ieee80211com *ic; struct lkpi_hw *lhw; @@ -1471,13 +1464,6 @@ _lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) return (1); } -static int -lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) -{ - - return (_lkpi_iv_key_set(vap, k)); -} - static void lkpi_iv_key_update_begin(struct ieee80211vap *vap) { From nobody Wed Apr 23 16:25:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbT2Sjkz5tbMJ; Wed, 23 Apr 2025 16:25: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 4ZjPbS69ynz49PX; Wed, 23 Apr 2025 16:25:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PIhniIgbx+KtWtb5ts4JqAV1cfzLishB/RZLwN0FnmU=; b=FXG6V6xH5qTjJuoUoft841zbu+tyTRirNoeAdbdc136YPIAa5tes2dG9YOZrYD+vniqTch NzUvR3z88ENri2LeGpDiwc8yb91ICqE9ut3Zj/glf4eTn35sSE8zIolPuhdCv5gjk15dAt IjiFFQMO/7CthNVEGYyw9EH27cNJkmKDgLR7+aFbm+28DG+0ErWzd/tfLtgzJfCX5EH52G N4GczKWQq0DJ2UAPsqyfyn4fUlUdZR+VjsEPmD9mvwJ6B2F1aZSXhgjxUn0oHYi2/qqfdG l04jDEASmlbGYptPVo4NoAWQTgedIESovR2u+E4zfklPRy3oXf2YZ/snRdkotw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425524; a=rsa-sha256; cv=none; b=NFphvBEod8qnl8QvqENbNr6FmoVEGxYOzpN5+ZERVQ9ca2OkiSL2wEepev/hjv0z/fkzvP 2L5L+whVHwwuotTLYwNj9oIKIoCglaS9eKoYy7ALUPVhmjUUAJX5xEeYZr9bGnCrbCdtKT LmCNqyPRJpPX8nM440T1dEOnpPzaSBrlK/iGNbUaJw54N1sFrWFs1mt9uGxwa0RJSUFvie BvnA1B/KZ2Y3gkXaYCIC/AkTBfXz6TFqIDLrMWltOhVyA1Zg5jh4AfpMqyilT/C2zhadpT MVxFEm6nnFoBAJGbxvPwgyDhT6bOguN0tsVkRBvrg1somDEWPT5OGZj441Gs1g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PIhniIgbx+KtWtb5ts4JqAV1cfzLishB/RZLwN0FnmU=; b=gCnlb90auaLhQfFA36bjpqdsPP4adfpzWuevZN6KElc29LZeD7LnPSEzubnem/CHQ5dY8e 22slUrHEqDoLwiyw+A1zMZgpH90/LIZBsDshf+2SwT/60BBmGHH3mhiZcMpp5bE49Rqthv yLW5Toy5w5o4N0Nc3PHGL4oV/fXXVxHExS9iDbgA9usXOJ/1fyKznJ+UV/6jHjs4+jPrh5 t1r85+VjG/JVo22XjmafNn3CVw5KztDwKTW4oWVUHf8/rasapTRrko00XL9wk6itV1e9Bh fKiuzghlmz/c1QWgZGGgpBIkaDFig9S4FQoqhQpZng7PmQnmz8ZZcC8keHWjqA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbS5ksmz1B5k; Wed, 23 Apr 2025 16:25: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 53NGPOwt082065; Wed, 23 Apr 2025 16:25:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPOSQ082062; Wed, 23 Apr 2025 16:25:24 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:24 GMT Message-Id: <202504231625.53NGPOSQ082062@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 4b9ae864fc46 - main - LinuxKPI: 802.11: make TKIP start to work List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b9ae864fc46f75d87d04b1b9c343f317a9d0bed Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4b9ae864fc46f75d87d04b1b9c343f317a9d0bed commit 4b9ae864fc46f75d87d04b1b9c343f317a9d0bed Author: Bjoern A. Zeeb AuthorDate: 2025-04-16 08:22:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:21 +0000 LinuxKPI: 802.11: make TKIP start to work In lkpi_iv_key_set() change the order to check if the cipher suite is supported. This for one avoids a possible kc memory leak, for the other allows us to extend the keylen we use for allocating memory. TKIP does need extra space as in addition to the key the RX/TX MIC are appended. Copy those now as well. In lkpi_hw_crypto_prepare_tkip() do the "enmic" (making space) part first before doing the "encap" part (making space). While this is technically not fully correct as the "enmic" would be done once for the entire MSDU and the "encap" would be done for each fragment, we are currently not setup to do per-vap or per-ic callbacks for this at the right moment from net80211. It will require a bit of thought. On the other hand we expect the firmware to do all this so it should be fine for as long as we no longer skip one part. We can likely start being more creative here in the compat code if needed. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 90 +++++++++++++++++++--------- 1 file changed, 61 insertions(+), 29 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index b9d8cc7263ae..eef8024c5e84 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1353,6 +1353,7 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) struct ieee80211_key_conf *kc; uint32_t lcipher; uint16_t exp_flags; + uint8_t keylen; int error; ic = vap->iv_ic; @@ -1377,21 +1378,14 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) } sta = LSTA_TO_STA(lsta); - if (lsta->kc[k->wk_keyix] != NULL) { - IMPROVE("Still in firmware? Del first. Can we assert this cannot happen?"); - ic_printf(ic, "%s: sta %6D found with key information\n", - __func__, sta->addr, ":"); - kc = lsta->kc[k->wk_keyix]; - lsta->kc[k->wk_keyix] = NULL; - free(kc, M_LKPI80211); - kc = NULL; /* safeguard */ - } - + keylen = k->wk_keylen; lcipher = lkpi_net80211_to_l80211_cipher_suite( k->wk_cipher->ic_cipher, k->wk_keylen); switch (lcipher) { case WLAN_CIPHER_SUITE_CCMP: + break; case WLAN_CIPHER_SUITE_TKIP: + keylen += 2 * k->wk_cipher->ic_miclen; break; default: ic_printf(ic, "%s: CIPHER SUITE %#x (%s) not supported\n", @@ -1401,9 +1395,18 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) return (0); } - kc = malloc(sizeof(*kc) + k->wk_keylen, M_LKPI80211, M_WAITOK | M_ZERO); + if (lsta->kc[k->wk_keyix] != NULL) { + IMPROVE("Still in firmware? Del first. Can we assert this cannot happen?"); + ic_printf(ic, "%s: sta %6D found with key information\n", + __func__, sta->addr, ":"); + kc = lsta->kc[k->wk_keyix]; + lsta->kc[k->wk_keyix] = NULL; + free(kc, M_LKPI80211); + kc = NULL; /* safeguard */ + } + + kc = malloc(sizeof(*kc) + keylen, M_LKPI80211, M_WAITOK | M_ZERO); kc->_k = k; /* Save the pointer to net80211. */ - atomic64_set(&kc->tx_pn, k->wk_keytsc); kc->cipher = lcipher; kc->keyidx = k->wk_keyix; #if 0 @@ -1424,6 +1427,8 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) kc->icv_len = k->wk_cipher->ic_trailer; break; case WLAN_CIPHER_SUITE_TKIP: + memcpy(kc->key + NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY, k->wk_txmic, k->wk_cipher->ic_miclen); + memcpy(kc->key + NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY, k->wk_rxmic, k->wk_cipher->ic_miclen); kc->iv_len = k->wk_cipher->ic_header; kc->icv_len = k->wk_cipher->ic_trailer; break; @@ -1437,9 +1442,9 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) #ifdef LINUXKPI_DEBUG_80211 if (linuxkpi_debug_80211 & D80211_TRACE_HW_CRYPTO) ic_printf(ic, "%s: running set_key cmd %d(%s) for sta %6D: " - "kc %p keyidx %u hw_key_idx %u flags %b\n", __func__, - SET_KEY, "SET", sta->addr, ":", - kc, kc->keyidx, kc->hw_key_idx, kc->flags, IEEE80211_KEY_FLAG_BITS); + "kc %p keyidx %u hw_key_idx %u keylen %u flags %b\n", __func__, + SET_KEY, "SET", sta->addr, ":", kc, kc->keyidx, kc->hw_key_idx, + kc->keylen, kc->flags, IEEE80211_KEY_FLAG_BITS); #endif lhw = ic->ic_softc; @@ -4679,16 +4684,51 @@ lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, } #ifdef LKPI_80211_HW_CRYPTO +/* + * This is a bit of a hack given we know we are operating on a + * single frame and we know that hardware will deal with it. + * But otherwise the enmic bit and the encrypt bit need to be + * decoupled. + */ static int lkpi_hw_crypto_prepare_tkip(struct ieee80211_key *k, struct ieee80211_key_conf *kc, struct sk_buff *skb) { struct ieee80211_hdr *hdr; uint32_t hlen, hdrlen; - uint8_t *p, *m; + uint8_t *p; /* - * Check if we have anythig to do as requested by driver + * TKIP only happens on data. + */ + hdr = (void *)skb->data; + if (!ieee80211_is_data_present(hdr->frame_control)) + return (0); + + /* + * "enmic" (though we do not do that). + */ + /* any conditions to not apply this? */ + if (skb_tailroom(skb) < k->wk_cipher->ic_miclen) + return (ENOBUFS); + + p = skb_put(skb, k->wk_cipher->ic_miclen); + if ((kc->flags & IEEE80211_KEY_FLAG_PUT_MIC_SPACE) != 0) + goto encrypt; + + /* + * (*enmic) which we hopefully do not have to do with hw accel. + * That means if we make it here we have a problem. + */ + TODO("(*enmic)"); + return (ENXIO); + +encrypt: + /* + * "encrypt" (though we do not do that). + */ + /* + * Check if we have anything to do as requested by driver * or if we are done? */ if ((kc->flags & IEEE80211_KEY_FLAG_PUT_IV_SPACE) == 0 && @@ -4697,23 +4737,13 @@ lkpi_hw_crypto_prepare_tkip(struct ieee80211_key *k, hlen = k->wk_cipher->ic_header; if (skb_headroom(skb) < hlen) - return (ENOSPC); + return (ENOBUFS); hdr = (void *)skb->data; hdrlen = ieee80211_hdrlen(hdr->frame_control); p = skb_push(skb, hlen); memmove(p, p + hlen, hdrlen); - /* - * Put in zeroed space for the MMIC if requested. - * XXX-BZ in theory this is not the right place but given we - * are here we know we do hw_crypto so not much missing. - */ - if ((kc->flags & IEEE80211_KEY_FLAG_PUT_MIC_SPACE) != 0) { - m = skb_put(skb, 8); - memset(m, 0, 8); - } - /* If driver request space only we are done. */ if ((kc->flags & IEEE80211_KEY_FLAG_PUT_IV_SPACE) != 0) return (0); @@ -4721,6 +4751,8 @@ lkpi_hw_crypto_prepare_tkip(struct ieee80211_key *k, p += hdrlen; k->wk_cipher->ic_setiv(k, p); + /* If we make it hear we do sw encryption. */ + TODO("sw encrypt"); return (ENXIO); } static int @@ -4746,7 +4778,7 @@ lkpi_hw_crypto_prepare_ccmp(struct ieee80211_key *k, hlen = k->wk_cipher->ic_header; if (skb_headroom(skb) < hlen) - return (ENOSPC); + return (ENOBUFS); hdrlen = ieee80211_hdrlen(hdr->frame_control); p = skb_push(skb, hlen); From nobody Wed Apr 23 16:25:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbS2zmjz5tbdM; Wed, 23 Apr 2025 16:25: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 4ZjPbR52X7z49MS; Wed, 23 Apr 2025 16:25:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=efEYy2O3z/Mci1ORLqYuhEUuHDdagF7zwg8XJUXwKys=; b=je3ko1tuCuyNgrcNboDE/ojuQ2jLC2z9mo/SZd1M+SiGAP7DPYDITSlpXx+Gtza5PiiBG2 69Q3tODdfGonJ5QASgYC+/UWrFWHYJ7gtAwd/tp/W/ngLZqRjkpwSHQKS4H//FSFxJMZwX x4XuL7IonHNfQclXe2JvcziVuotV4dC38y5QO7PhhaR2XQrN1TzvTeJCWlHeDo17jZqUQB 4kIAtRX3SVoG1MIuCdsPzN+R3na4yjmgYPjH/Xq7BrNUW9llkFOaKU4vwQB9vUVF5pN4v0 q3soD9yTYbodaPxlPQYJPHIvNWNy12BZ1cM4MjGZY71MRXS78uuQWUTXH3RO6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425523; a=rsa-sha256; cv=none; b=TL2bUO7OQX1P17cmJtI9nV56cxK3cI2CwVdA8cJ1jqzzlJPHSPgD6rLSPoERzjVtQOjl/8 qPL0y+VAsrNZYgBQRS3L6j20FazMa+2/xxU5xARvSmpj6mjNPFAmi0VudIHrSjuXtyoc9/ wruIoN7c3UGpG41tJzOJ9i/2/fCm4SgFT6nzNVkFYY6Oum6WbGX8EbcroLdTOgjr66V4OB QKbD/E3OrU1IpL1OVaIHdPqi42uWMCvZaqOGr3qruxLmCNqhUWYjGp/Fkgcb0W9PgAfBrc R5se4DRu1WuYWiuENmgwUatsPdY8NX/Plm1hTC/WSZER1YhgwqR3TftCs5EULQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=efEYy2O3z/Mci1ORLqYuhEUuHDdagF7zwg8XJUXwKys=; b=Cr9LR08Ddym7wcZf57VISHcW3SSm9OS69/h8CH+MOWBrSGw90xqEQ/mYMGELcdgLE5usNA 4x0SwhlFK0XZnc9vI+Kqdwcra1xDRe/ZD7kU+Xpb8GLmqJalCNoe5jwCBwLOxZlaPw87cg X40+ofdzTN+cRNVjjQyb7VglSir6uHloaocO/JEkdaTi+5nx09MhAdHtTdWErQ89BZbg5V Mm+/MFojLsslcwCxR7td2DnNfyGg3NI/2xORYlixYQHn7KKMkg6qZmR8CQzVqwT2UqlosQ wt72pREg4orCXMmZO0kAaUVEm05ZJ/nayVa2Z3rC1xNsmhcN12zjI2a4JtBrQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbR4TjMz19mT; Wed, 23 Apr 2025 16:25: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 53NGPNCq082029; Wed, 23 Apr 2025 16:25:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPN2L082026; Wed, 23 Apr 2025 16:25:23 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:23 GMT Message-Id: <202504231625.53NGPN2L082026@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a23908728efc - main - LinuxKPI: 802.11: fix TKIP RX/TX MIC offsets List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a23908728efce08cfd10b13ed34de1361d0a980f Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a23908728efce08cfd10b13ed34de1361d0a980f commit a23908728efce08cfd10b13ed34de1361d0a980f Author: Bjoern A. Zeeb AuthorDate: 2025-04-16 08:18:24 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:21 +0000 LinuxKPI: 802.11: fix TKIP RX/TX MIC offsets TKIP has a special key buffer. While keylen only identifies the key length, the two MIC are appended. The LinuxKPI offsets for these were unfortunately never set correct which lead to constant Micheal counter measures as the MIC never was correct when calculations were offloaded to firmware. This is the first half of the fix. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/linux/nl80211.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/nl80211.h b/sys/compat/linuxkpi/common/include/linux/nl80211.h index b2a33a28b3a7..f3979d3a2abc 100644 --- a/sys/compat/linuxkpi/common/include/linux/nl80211.h +++ b/sys/compat/linuxkpi/common/include/linux/nl80211.h @@ -190,8 +190,6 @@ enum nl80211_tdls_operation { NL80211_TDLS_ENABLE_LINK, NL80211_TDLS_DISABLE_LINK, NL80211_TDLS_DISCOVERY_REQ, - NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY, - NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY, }; enum nl80211_cqm_rssi_threshold_event { @@ -436,6 +434,9 @@ enum nl80211_hidden_ssid { NL80211_HIDDEN_SSID_NOT_IN_USE, }; +#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 +#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 + #define NL80211_KCK_LEN 16 #define NL80211_KCK_EXT_LEN 24 #define NL80211_KEK_LEN 16 From nobody Wed Apr 23 16:25:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbV2dlGz5tbGQ; Wed, 23 Apr 2025 16:25:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjPbV03Grz49cR; Wed, 23 Apr 2025 16:25:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425526; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6/kgzlZkekSGICpog0qep8RBSksWkEh5qqj2cqtdK34=; b=QaKgHELQi0oDAVRCYrPG9+C98yLkZeU+YFWS0I5j2vbc+UV0X4sT0/JT+YZEWellieTiRw eBd5NCFVTfbUI0ys16HfkJbuHBQjghsq2zLB3Qtn3+3lszCaNjRbphKvCVi6E8w7/DHqMP XovTQPlUDAN8QEKfwL9XrzmxCptWCnua5/2BYFFNxXKnr49M478egom3z/+fizgmxBXf7P oW5+rmiGxg9VQ2zC9GyIhhnUXseRv4VkU42Dbni3pzushpaMZy0FWC7xHzKwosCkFmNkkb lFBOi3FQ/oxMjG7O2znkT5n6QoLc0s2sfMBvrLOceIre+15Y4bg9y9mcTJWo4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425526; a=rsa-sha256; cv=none; b=odRC2yg4xjUoJvQ77kfcO/fmVDrhx23OLWZ8Er9SZ08+XTNQXxO7dmj1BoGzananksf1C/ yvqJqWyJDraAiW6UMHjKdZPDB8PRh85fr6itJu6JqgE7a4EMAAEZQjqoiAdoUOMrXQ33Zp ZlzSRaUrRJPF1SkSjlGgNHasrcb6RSrEXe59Yh29K/vU8syg/qes3OadgjLZxi4WdUrNbk udx17WPs3Z60584CdkQwKKV/iu0kS0bj/iaTJO9Dv12OEaH8djnDyMGFdJGn7rmenOROWf Vcpt2Niy/2oXD6Q/v+FCa82H2pRvUCO7+7WMIySG/2A2+23vJpbqPAYujbMR+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425526; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6/kgzlZkekSGICpog0qep8RBSksWkEh5qqj2cqtdK34=; b=QchDkltgByTc5Y55W8P4I8v0Upul+nPz80BOCSHPtbZXVk4ZTITvfEjJJXRGW+G+24vb4p VFav3A058I/buaM7fZ9oCEAONkfYJ8G3tqUXWjRNfKNrztwb/AZY5HSMqKmBCRy2lqasgt 0rf0NnR7YJhaOqhabZNabjOOPQiIn7N+W/w4NLUm+r+M6KCiOdLEIGXNegGHVG+J5Ze6g7 fhj0RrBZWM6N0U7ddTB4ma8fW9GmArKrrjKPr8fEvxr6WmbfI2ZlyvYm8fQLss2EXJT319 YgQmmHyLwR2wkXr1O5Vey1K85l1hsDCDohNEaqc6goCUIM9x0QECFjYnVsuvFg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbT6mxGz19ks; Wed, 23 Apr 2025 16:25: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 53NGPP7T082101; Wed, 23 Apr 2025 16:25:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPP1Z082098; Wed, 23 Apr 2025 16:25:25 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:25 GMT Message-Id: <202504231625.53NGPP1Z082098@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a6413bce4e36 - main - LinuxKPI: 802.11: further improve key updates List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a6413bce4e36e4176bbcf16528cc3aeb834965ba Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a6413bce4e36e4176bbcf16528cc3aeb834965ba commit a6413bce4e36e4176bbcf16528cc3aeb834965ba Author: Bjoern A. Zeeb AuthorDate: 2025-04-16 21:11:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:21 +0000 LinuxKPI: 802.11: further improve key updates Make sure the iv_bss noce does not go away in the middle of a key update given we unlocked. Just as a precaution. No real case has been seen so far. Sponsored by: The FreeBSD Foundation MFC after: 3 days Fixes: a6165709e3c8 --- sys/compat/linuxkpi/common/src/linux_80211.c | 22 +++++++++++++++++++++- sys/compat/linuxkpi/common/src/linux_80211.h | 1 + 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index eef8024c5e84..6f9fda2e2234 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1527,6 +1527,7 @@ lkpi_iv_key_update_begin(struct ieee80211vap *vap) struct lkpi_hw *lhw; struct ieee80211_hw *hw; struct lkpi_vif *lvif; + struct ieee80211_node *ni; bool icislocked, ntislocked; ic = vap->iv_ic; @@ -1547,7 +1548,16 @@ lkpi_iv_key_update_begin(struct ieee80211vap *vap) lvif->ic_unlocked, lvif->nt_unlocked); #endif - /* This is inconsistent net80211 locking to be fixed one day. */ + /* + * This is inconsistent net80211 locking to be fixed one day. + */ + /* Try to make sure the node does not go away while possibly unlocked. */ + ni = NULL; + if (icislocked || ntislocked) { + if (vap->iv_bss != NULL) + ni = ieee80211_ref_node(vap->iv_bss); + } + if (icislocked) IEEE80211_UNLOCK(ic); if (ntislocked) @@ -1555,6 +1565,10 @@ lkpi_iv_key_update_begin(struct ieee80211vap *vap) wiphy_lock(hw->wiphy); + KASSERT(lvif->key_update_iv_bss == NULL, ("%s: key_update_iv_bss not NULL %p", + __func__, lvif->key_update_iv_bss)); + lvif->key_update_iv_bss = ni; + /* * ic/nt_unlocked could be a bool given we are under the lock and there * must only be a single thread. @@ -1604,6 +1618,12 @@ lkpi_iv_key_update_end(struct ieee80211vap *vap) */ icislocked = refcount_release_if_last(&lvif->ic_unlocked); ntislocked = refcount_release_if_last(&lvif->nt_unlocked); + + if (lvif->key_update_iv_bss != NULL) { + ieee80211_free_node(lvif->key_update_iv_bss); + lvif->key_update_iv_bss = NULL; + } + wiphy_unlock(hw->wiphy); /* diff --git a/sys/compat/linuxkpi/common/src/linux_80211.h b/sys/compat/linuxkpi/common/src/linux_80211.h index a5c052c78db0..89afec1235bd 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.h +++ b/sys/compat/linuxkpi/common/src/linux_80211.h @@ -191,6 +191,7 @@ struct lkpi_vif { struct lkpi_sta *lvif_bss; + struct ieee80211_node *key_update_iv_bss; int ic_unlocked; /* Count of ic unlocks pending (*mo_set_key) */ int nt_unlocked; /* Count of nt unlocks pending (*mo_set_key) */ bool lvif_bss_synched; From nobody Wed Apr 23 16:25:26 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPbW4lr5z5tbXg; Wed, 23 Apr 2025 16:25: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 4ZjPbW20xHz49m8; Wed, 23 Apr 2025 16:25:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3gcaAtHy+7jG4Wqh0v8cMxLReUndtHww7kmL/DiCO0k=; b=rbnWXYkQoBty6GGYnp2as0p4l58RVZ8XMMHqbpsG7mpQf1AHcQskCnhuTPrBOtJNGOzPm8 qbqB98pcSewIoMPLXc8EhtmUrPgVcj4cZQPc0sSjhx3BL//f6K4o8W1ftRYMa+SxsO47nO VHwM90ZhlxJyJFO9dBnCkplCJyEcMO8OS1UqEUPgpX39bcK7b5IdDatIxVs0wFgidvrXuH qEma4S7segg9hpO1v0MMRHoPY+1ybdOKVCEAWtRIGMT/HOoWgl4NsAiM+Vcs36sKE8jR/s c0fz2AcIkOhKetOQkOeC3UU/4QMFxMJNUppKqBuxmgAsR2XU8Kduoo7oKKZxAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745425527; a=rsa-sha256; cv=none; b=BWqQzv30HU9ESmhlSv4vlIuJXVje0KDCg1gprATQ7WT5gVDhMS0697cWVpSsDKViI6gi9y MzcDLTXP61Mj+885H69cFhH0DX0rQ/CUQX/pREhofGB7KE+Up/rqUjPMV/jvWl4oPKHnV7 rTc9DslPiMsFF9Gv9+meWLMa6fGoJ1qrzxK8c6Xk3t1jpimK98pp/Pb3UExKe2C/E9hKoh CQOLL6x2gWgIa6erg9wp+tDvUZASZrKsTM3ez/v/kWz6Al+LqvqvCEgoU8GpNvFbBjbZrl kyJ4hVadQwvFlg3fopWkEH1S8J190o0j6W8LImQlJOy8cbgqoNH0QR5wEfRxrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745425527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3gcaAtHy+7jG4Wqh0v8cMxLReUndtHww7kmL/DiCO0k=; b=bI/shwkIT6Qo6WEWawjPjptc6JXN+AohvnqvOut+nlYxlkq7B/EMxMUfQUKIQJLZzh8wYd s1n0oXXluoykX6bTBgahIEDlCnEdFg1wkseavOCylWBwvIsat9JOcj23+DTirIgMCNHtKT Pa5kpZDUP2EM1iX2Hk199iDVyKjozvddW4XtOXXQsQSfVk8n66X3rU1az4n/1gc2aOo+T4 NeCm9iuvwYz6eSQFHAEoS/7kt8W0KmVCgRJqFoLW//KZlCalnCIu6Ea7kMg+BweGfPR3l0 LV0s5Mg6pz6+QLrcG3ZdEa7dE6AiSNJvEU8ckcHAXjGOoc9N1kRrBwtFDDTGFQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPbW0Cj5z19VR; Wed, 23 Apr 2025 16:25: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 53NGPQg5082140; Wed, 23 Apr 2025 16:25:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGPQxL082137; Wed, 23 Apr 2025 16:25:26 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:25:26 GMT Message-Id: <202504231625.53NGPQxL082137@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: b71d3043c38a - main - LinuxKPI: 802.11: add tunable to enable TKIP List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b71d3043c38acbde2fff7ed184a057d631e0d656 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=b71d3043c38acbde2fff7ed184a057d631e0d656 commit b71d3043c38acbde2fff7ed184a057d631e0d656 Author: Bjoern A. Zeeb AuthorDate: 2025-04-23 00:29:23 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:24:21 +0000 LinuxKPI: 802.11: add tunable to enable TKIP On one hand TKIP support for other drivers or older iwlwifi chipsets likely needs more work (see mac80211.h), on the other hand we should no longer use TKIP (but we understand people still need to). Add a tunable to enable it for those who want to test it with modern iwlwifi chipsets. hw_crypto also still needs to be enabled. I could only test it with legacy rates as none of my (non-FreeBSD) APs allowed me by default to use TKIP anymore (had to force it on) and then they would not let me associate with HT or VHT at all if TKIP was on. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 6f9fda2e2234..5b2950338456 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -107,6 +107,10 @@ SYSCTL_NODE(_compat_linuxkpi, OID_AUTO, 80211, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, static bool lkpi_hwcrypto = false; SYSCTL_BOOL(_compat_linuxkpi_80211, OID_AUTO, hw_crypto, CTLFLAG_RDTUN, &lkpi_hwcrypto, 0, "Enable LinuxKPI 802.11 hardware crypto offload"); + +static bool lkpi_hwcrypto_tkip = false; +SYSCTL_BOOL(_compat_linuxkpi_80211, OID_AUTO, tkip, CTLFLAG_RDTUN, + &lkpi_hwcrypto_tkip, 0, "Enable LinuxKPI 802.11 TKIP crypto offload"); #endif /* Keep public for as long as header files are using it too. */ @@ -6085,8 +6089,13 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) hwciphers &= (IEEE80211_CRYPTO_WEP | IEEE80211_CRYPTO_TKIP | IEEE80211_CRYPTO_TKIPMIC | IEEE80211_CRYPTO_AES_CCM | IEEE80211_CRYPTO_AES_GCM_128); - /* We only support CCMP here, so further filter. */ - hwciphers &= IEEE80211_CRYPTO_AES_CCM; + /* + * We only support CCMP here, so further filter. + * Also permit TKIP if turned on. + */ + hwciphers &= (IEEE80211_CRYPTO_AES_CCM | + (lkpi_hwcrypto_tkip ? (IEEE80211_CRYPTO_TKIP | + IEEE80211_CRYPTO_TKIPMIC) : 0)); ieee80211_set_hardware_ciphers(ic, hwciphers); } #endif From nobody Wed Apr 23 16:36:10 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjPqv1vVVz5tbnp; Wed, 23 Apr 2025 16:36: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 4ZjPqv09Mbz3Jdm; Wed, 23 Apr 2025 16:36:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745426171; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wN0HMDnb3AXJGUtKnIsD3M/h3w7m6gBns4gcxjL4/34=; b=NxRcatKc+6O6Uo3byzDOqSKrlo+IDPaTl0m7KJx65gKZoJ/WEUtalwoDMQsZz8ZyYcis6A V3nkLvUIMeg1rQ2Fo7ynHn/Hnk4zHuKyqp3kdvzAwCZhAE817SGw+2WHguI5KC5zPW1Ah6 TLUmsemEquO7B1hxjuhB9XIVM066gDQunhTYglh+ND3ioAS6+GsDP2nZdSKb7zW9HZC9Kl rGtyIgskSHNiHOIG0ukApIxZTdZOmzj0KXeWn9kefWRmCPvJ3wCmxQ/yo3zc0LBxRjCPYg q+s4xMk2838zE5yj8ICFiiGUaExyPCM4EbVsz8fYiID1AHxyeSstZOmJ5v+Rmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745426171; a=rsa-sha256; cv=none; b=mXQQyCn4OX8NBhmNNDU7hB9DNqI1AJZqg6HBWlVKP+D5SFMPwromdRzkazAZFkkpjky07r xcGX5If6kz/lvDigNUq4CxdnSQQcsXiW9WovZb97YpWzGVrnr6e764Ipq6xipAXCeWZrlE m/VgHSOA/rtdpX8hDX8ueMoOv1q56P8/uM2DFaicrPEip7oDDiKVgnSKxc52bY2N27oO6+ dcgp6xM++KFf1PM61LCCX83/KGOk9ITc0WlAG3PGnywtqaRSposjX25rwTNlifSwwzrHrI pbWPMLn5TGFXxcDV2xXo3taAWQ0QFW7FC88LFEtzepM6iUubr05wuZFm7H2VJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745426171; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wN0HMDnb3AXJGUtKnIsD3M/h3w7m6gBns4gcxjL4/34=; b=nmHNasyW06Uz2khZzU4tuvycC2ZlUrBZHlepJ5yFhAtU0RqMY68AaAU2YgYJ7ztEaJqHqr 74p4EQwVsOYo1OKQY50TG1ffFZdNHqTmFqED4DSjMBc2xsRzyJja8Hue9MwQEsz4tJC4Y9 j0Hx+9DIDFbAKziIMrTa+xIA5MY31LTqz+tE/aZeDEWbZ0GtNi0sbMHHgAPiXDlM2Ypttg n98P7MGS4wgY5pyBsk7wixMcA5oyfAsaZVT2+QaAXCLlko/SSMsosF+zWPKf4ObsFpTRqL syZvN3b2xkEmqLKV7v8PKY0epwIVO4PECPAVcAuhmOk527N88TiKs20Rfqq2Hw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjPqt6qQXz1BFT; Wed, 23 Apr 2025 16:36: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 53NGaANP001229; Wed, 23 Apr 2025 16:36:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NGaANs001226; Wed, 23 Apr 2025 16:36:10 GMT (envelope-from git) Date: Wed, 23 Apr 2025 16:36:10 GMT Message-Id: <202504231636.53NGaANs001226@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: cd649cfc7ab2 - main - LinuxKPI: skbuff: re-add __LP64__ check List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cd649cfc7ab23a8a36218977c60ed20afe48aea9 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=cd649cfc7ab23a8a36218977c60ed20afe48aea9 commit cd649cfc7ab23a8a36218977c60ed20afe48aea9 Author: Bjoern A. Zeeb AuthorDate: 2025-04-23 16:31:04 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-23 16:31:04 +0000 LinuxKPI: skbuff: re-add __LP64__ check Re-add one __LP64__ check for case 2 (36bit upper limit to contigmalloc) to fix the build. contigmalloc(9) takes a vm_paddr_t argument but on armv7 and some powerpc we are still at 32bit there so the constant value would be changed from long long to uint (-Wconstant-conversion). Sponsored by: The FreeBSD Foundation MFC after: 3 days Reported by: CI Fixes: e6c91f8e5be66 --- sys/compat/linuxkpi/common/src/linux_skbuff.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_skbuff.c b/sys/compat/linuxkpi/common/src/linux_skbuff.c index 2fea4d69b844..abfb642ba708 100644 --- a/sys/compat/linuxkpi/common/src/linux_skbuff.c +++ b/sys/compat/linuxkpi/common/src/linux_skbuff.c @@ -116,9 +116,11 @@ linuxkpi_alloc_skb(size_t size, gfp_t gfp) vm_paddr_t high; switch (linuxkpi_skb_memlimit) { +#ifdef __LP64__ case 2: high = (0xfffffffff); /* 1<<36 really. */ break; +#endif case 1: default: high = (0xffffffff); /* 1<<32 really. */ From nobody Wed Apr 23 17:46:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjRNf09Tjz5tglq; Wed, 23 Apr 2025 17:46: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 4ZjRNd4wXnz3vKG; Wed, 23 Apr 2025 17:46:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745430369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rm12zGEoSk1jVsy6Z6YgvM7DQtk/XAv8NMPX3WOA70M=; b=FkWUAO4guuLAavDjNOie5jUyPH4GDPuQVjd9nXDJedKYwP++HVvPzyPf/cR5n35gH1beAa sxGvR/PR4hE+6kcHyzYGPOy6sgW7F4aVcF3xxl74+i9e2Iva2fpy5tk9DkKrDq+j6bSKWq cr6h6wJILQzvHRcUhwD0Sb2bQX4/2e0nuD6mExPwocGY3ECGwpUlCm4xRacQRQPuFFN1UF ssyzdtoRLVnxutZGua8e7YsZMpk5jh1cNfEwDWgIA5gGQEBc7ppqQ4LwZXAacAyVD7uhx7 Ja6u3DJTha1IoAIYGYvpGbHoMFSlToRgBVSAmOz9jTBf96oqQjSTG0EzqeRxWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745430369; a=rsa-sha256; cv=none; b=WKAO+SnmEfhk0l9sP6CeDNk95IH0Uii0DwJWyGTz2oxhoDvfQr9GTeXqGhxLgsmCLsA7j4 ankWFh5g+OnRp/dQ2aqBfDd5fHb+vbSsgxawl8V8o1bjT4B+fQ6xXZzVx5mWt9BvPnOxis 3ST+B5djbTrqFedRqmYWI49zVTRLTag8FnB6I5fWFiHNVe86EIMk2lGQzBA7xQ2PnBaGLg fDq9WDmVguUVxX0dyGuH9Al94mWbzcdEqfQt/sEnH3xzJLOFVub2RIQ3+eZqJEYvxOQ9/W rAay8oykUuMyhyKvUoUvg6ERQAOwGormKC3auZU/pIeItK78za7M6CyckQfLKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745430369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rm12zGEoSk1jVsy6Z6YgvM7DQtk/XAv8NMPX3WOA70M=; b=WdefFq9ViQT/a6GetLsL0EFJ6zm7ycPgXcpVuqy99/8ZEsWz/U4TbLPX4RhPA6hHJHkyN9 VBfgP9qnC2cD93tEKH0WKaNoQvESW9zNMuNkx3Rw+K7rZ8bE+jVU3hqAAnqB14JwzatfNh yAH8Rec9oXMRLlw4auLACNk0QiqV2MfQiVbGf5VWWkZlRoGoMkwTZKHrVhsAosfooIqlD6 UeZLSjcDPU+qwwGGpVg113cHkMy8sDTY+ZSG9w8LodBZMHf7sCWJ37wtrhnyyduyqTPUv+ p0AkW2QmAwt96KvXRxaiujC/Ev/sN7vfV/7OXKFusRegPune8s/Pz3PDQ6lOqQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjRNd482kz30; Wed, 23 Apr 2025 17:46: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 53NHk90q033283; Wed, 23 Apr 2025 17:46:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NHk9NT033280; Wed, 23 Apr 2025 17:46:09 GMT (envelope-from git) Date: Wed, 23 Apr 2025 17:46:09 GMT Message-Id: <202504231746.53NHk9NT033280@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Oskar Holmlund Subject: git: 10bb91672a02 - main - Remove OMAP4 support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: oh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 10bb91672a02b646e6dad6cdfe10ff75a192db99 Auto-Submitted: auto-generated The branch main has been updated by oh: URL: https://cgit.FreeBSD.org/src/commit/?id=10bb91672a02b646e6dad6cdfe10ff75a192db99 commit 10bb91672a02b646e6dad6cdfe10ff75a192db99 Author: Oskar Holmlund AuthorDate: 2025-04-23 15:43:39 +0000 Commit: Oskar Holmlund CommitDate: 2025-04-23 15:43:39 +0000 Remove OMAP4 support Due to lack of boards with OMAP4 on the market and the shortcoming of resources to maintain the code base, it is time to let it go. Previous diff rev see https://reviews.freebsd.org/D42116 Relnotes: Yes Approved by: manu (mentor) Differential revision: https://reviews.freebsd.org/D49661 --- sys/arm/ti/clk/ti_clkctrl.c | 6 - sys/arm/ti/omap4/files.omap4 | 21 - sys/arm/ti/omap4/omap4_gpio.c | 145 --- sys/arm/ti/omap4/omap4_l2cache.c | 89 -- sys/arm/ti/omap4/omap4_machdep.h | 38 - sys/arm/ti/omap4/omap4_mp.c | 74 -- sys/arm/ti/omap4/omap4_prcm_clks.c | 1499 ------------------------------ sys/arm/ti/omap4/omap4_reg.h | 540 ----------- sys/arm/ti/omap4/omap4_scm_padconf.c | 302 ------ sys/arm/ti/omap4/omap4_scm_padconf.h | 81 -- sys/arm/ti/omap4/omap4_smc.h | 53 -- sys/arm/ti/omap4/omap4_wugen.c | 245 ----- sys/arm/ti/omap4/pandaboard/pandaboard.c | 167 ---- sys/arm/ti/omap4/pandaboard/pandaboard.h | 29 - sys/arm/ti/omap4/std.omap4 | 7 - sys/arm/ti/ti_cpuid.c | 133 --- sys/arm/ti/ti_cpuid.h | 36 - sys/arm/ti/ti_gpio.c | 44 +- sys/arm/ti/ti_i2c.c | 31 - sys/arm/ti/ti_machdep.c | 47 - sys/arm/ti/ti_pinmux.c | 6 - sys/arm/ti/ti_prcm.c | 53 -- sys/arm/ti/ti_sdhci.c | 8 - sys/arm/ti/twl/twl.c | 456 --------- sys/arm/ti/twl/twl.h | 39 - sys/arm/ti/twl/twl_clks.c | 647 ------------- sys/arm/ti/twl/twl_clks.h | 36 - sys/arm/ti/twl/twl_vreg.c | 1026 -------------------- sys/arm/ti/twl/twl_vreg.h | 35 - sys/arm/ti/usb/omap_ehci.c | 466 ---------- sys/arm/ti/usb/omap_host.c | 467 ---------- sys/arm/ti/usb/omap_tll.c | 356 ------- sys/arm/ti/usb/omap_usb.h | 48 - 33 files changed, 1 insertion(+), 7229 deletions(-) diff --git a/sys/arm/ti/clk/ti_clkctrl.c b/sys/arm/ti/clk/ti_clkctrl.c index cba832640fa3..72fa8548d4f8 100644 --- a/sys/arm/ti/clk/ti_clkctrl.c +++ b/sys/arm/ti/clk/ti_clkctrl.c @@ -167,12 +167,6 @@ ti_clkctrl_attach(device_t dev) /* Check if this is a clkctrl with special registers like gpio */ switch (ti_chip()) { -#ifdef SOC_OMAP4 - case CHIP_OMAP_4: - /* FIXME: Todo */ - break; - -#endif /* SOC_OMAP4 */ #ifdef SOC_TI_AM335X /* Checkout TRM 8.1.12.1.29 - 8.1.12.31 and 8.1.12.2.3 * and the DTS. diff --git a/sys/arm/ti/omap4/files.omap4 b/sys/arm/ti/omap4/files.omap4 deleted file mode 100644 index 6926488a8716..000000000000 --- a/sys/arm/ti/omap4/files.omap4 +++ /dev/null @@ -1,21 +0,0 @@ - -arm/ti/ti_smc.S standard - -arm/ti/usb/omap_ehci.c optional usb ehci -arm/ti/usb/omap_host.c optional usb -arm/ti/usb/omap_tll.c optional usb -arm/ti/ti_sdma.c optional ti_sdma - -arm/ti/omap4/omap4_gpio.c optional gpio -arm/ti/omap4/omap4_l2cache.c optional pl310 -#arm/ti/omap4/omap4_prcm_clks.c standard -arm/ti/omap4/omap4_scm_padconf.c standard -arm/ti/omap4/omap4_mp.c optional smp -arm/ti/omap4/omap4_wugen.c standard - -arm/ti/omap4/pandaboard/pandaboard.c standard - -arm/ti/twl/twl.c optional twl -arm/ti/twl/twl_vreg.c optional twl twl_vreg -arm/ti/twl/twl_clks.c optional twl twl_clks - diff --git a/sys/arm/ti/omap4/omap4_gpio.c b/sys/arm/ti/omap4/omap4_gpio.c deleted file mode 100644 index 08c878107b48..000000000000 --- a/sys/arm/ti/omap4/omap4_gpio.c +++ /dev/null @@ -1,145 +0,0 @@ -/*- - * Copyright (c) 2011 Ben Gray . - * Copyright (c) 2014 Andrew Turner - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the company nor the name of the author may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY BEN GRAY ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL BEN GRAY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include -#include -#include - -#include - -#include "ti_gpio_if.h" - -static struct ofw_compat_data compat_data[] = { - {"ti,omap4-gpio", 1}, - {"ti,gpio", 1}, - {NULL, 0}, -}; - -static int -omap4_gpio_probe(device_t dev) -{ - - if (!ofw_bus_status_okay(dev)) - return (ENXIO); - - if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 0) - return (ENXIO); - if (ti_chip() != CHIP_OMAP_4) - return (ENXIO); - - device_set_desc(dev, "TI OMAP4 General Purpose I/O (GPIO)"); - - return (0); -} - -static int -omap4_gpio_set_flags(device_t dev, uint32_t gpio, uint32_t flags) -{ - unsigned int state = 0; - struct ti_gpio_softc *sc; - - sc = device_get_softc(dev); - /* First the SCM driver needs to be told to put the pad into GPIO mode */ - if (flags & GPIO_PIN_OUTPUT) - state = PADCONF_PIN_OUTPUT; - else if (flags & GPIO_PIN_INPUT) { - if (flags & GPIO_PIN_PULLUP) - state = PADCONF_PIN_INPUT_PULLUP; - else if (flags & GPIO_PIN_PULLDOWN) - state = PADCONF_PIN_INPUT_PULLDOWN; - else - state = PADCONF_PIN_INPUT; - } - return ti_pinmux_padconf_set_gpiomode((sc->sc_bank-1)*32 + gpio, state); -} - -static int -omap4_gpio_get_flags(device_t dev, uint32_t gpio, uint32_t *flags) -{ - unsigned int state; - struct ti_gpio_softc *sc; - - sc = device_get_softc(dev); - - /* Get the current pin state */ - if (ti_pinmux_padconf_get_gpiomode((sc->sc_bank-1)*32 + gpio, &state) != 0) { - *flags = 0; - return (EINVAL); - } else { - switch (state) { - case PADCONF_PIN_OUTPUT: - *flags = GPIO_PIN_OUTPUT; - break; - case PADCONF_PIN_INPUT: - *flags = GPIO_PIN_INPUT; - break; - case PADCONF_PIN_INPUT_PULLUP: - *flags = GPIO_PIN_INPUT | GPIO_PIN_PULLUP; - break; - case PADCONF_PIN_INPUT_PULLDOWN: - *flags = GPIO_PIN_INPUT | GPIO_PIN_PULLDOWN; - break; - default: - *flags = 0; - break; - } - } - - return (0); -} - -static device_method_t omap4_gpio_methods[] = { - /* bus interface */ - DEVMETHOD(device_probe, omap4_gpio_probe), - - /* ti_gpio interface */ - DEVMETHOD(ti_gpio_set_flags, omap4_gpio_set_flags), - DEVMETHOD(ti_gpio_get_flags, omap4_gpio_get_flags), - - DEVMETHOD_END -}; - -extern driver_t ti_gpio_driver; - -DEFINE_CLASS_1(gpio, omap4_gpio_driver, omap4_gpio_methods, - sizeof(struct ti_gpio_softc), ti_gpio_driver); -DRIVER_MODULE(omap4_gpio, simplebus, omap4_gpio_driver, 0, 0); diff --git a/sys/arm/ti/omap4/omap4_l2cache.c b/sys/arm/ti/omap4/omap4_l2cache.c deleted file mode 100644 index 74b204268176..000000000000 --- a/sys/arm/ti/omap4/omap4_l2cache.c +++ /dev/null @@ -1,89 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2012 Olivier Houchard. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include "platform_pl310_if.h" - -void -omap4_pl310_init(platform_t plat, struct pl310_softc *sc) -{ - uint32_t aux, prefetch; - - aux = pl310_read4(sc, PL310_AUX_CTRL); - prefetch = pl310_read4(sc, PL310_PREFETCH_CTRL); - - /* - * Disable instruction prefetch - */ - prefetch &= ~PREFETCH_CTRL_INSTR_PREFETCH; - aux &= ~AUX_CTRL_INSTR_PREFETCH; - - // prefetch &= ~PREFETCH_CTRL_DATA_PREFETCH; - // aux &= ~AUX_CTRL_DATA_PREFETCH; - - /* - * Make sure data prefetch is on - */ - prefetch |= PREFETCH_CTRL_DATA_PREFETCH; - aux |= AUX_CTRL_DATA_PREFETCH; - - /* - * TODO: add tunable for prefetch offset - * and experiment with performance - */ - - ti_smc0(aux, 0, WRITE_AUXCTRL_REG); - ti_smc0(prefetch, 0, WRITE_PREFETCH_CTRL_REG); -} - -void -omap4_pl310_write_ctrl(platform_t plat, struct pl310_softc *sc, uint32_t val) -{ - - ti_smc0(val, 0, L2CACHE_WRITE_CTRL_REG); -} - -void -omap4_pl310_write_debug(platform_t plat, struct pl310_softc *sc, uint32_t val) -{ - - ti_smc0(val, 0, L2CACHE_WRITE_DEBUG_REG); -} diff --git a/sys/arm/ti/omap4/omap4_machdep.h b/sys/arm/ti/omap4/omap4_machdep.h deleted file mode 100644 index 7c9f696d2090..000000000000 --- a/sys/arm/ti/omap4/omap4_machdep.h +++ /dev/null @@ -1,38 +0,0 @@ -/*- - * Copyright (c) 2016 Olivier Houchard - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _OMAP4_MACHDEP_H_ -#define _OMAP4_MACHDEP_H_ - -struct pl310_softc; - -void omap4_mp_setmaxid(platform_t plat); -void omap4_mp_start_ap(platform_t plat); - -void omap4_pl310_init(platform_t, struct pl310_softc *); -void omap4_pl310_write_ctrl(platform_t, struct pl310_softc *, uint32_t); -void omap4_pl310_write_debug(platform_t, struct pl310_softc *, uint32_t); - -#endif /* _OMAP4_MACHDEP_H_ */ diff --git a/sys/arm/ti/omap4/omap4_mp.c b/sys/arm/ti/omap4/omap4_mp.c deleted file mode 100644 index 1affd08583db..000000000000 --- a/sys/arm/ti/omap4/omap4_mp.c +++ /dev/null @@ -1,74 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2012 Olivier Houchard. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include - -void -omap4_mp_setmaxid(platform_t plat) -{ - - if (mp_ncpus != 0) - return; - mp_maxid = 1; - mp_ncpus = 2; -} - -void -omap4_mp_start_ap(platform_t plat) -{ - bus_addr_t scu_addr; - - if (bus_space_map(fdtbus_bs_tag, 0x48240000, 0x1000, 0, &scu_addr) != 0) - panic("Couldn't map the SCU\n"); - /* Enable the SCU */ - *(volatile unsigned int *)scu_addr |= 1; - //*(volatile unsigned int *)(scu_addr + 0x30) |= 1; - dcache_wbinv_poc_all(); - - ti_smc0(0x200, 0xfffffdff, MODIFY_AUX_CORE_0); - ti_smc0(pmap_kextract((vm_offset_t)mpentry), 0, WRITE_AUX_CORE_1); - dsb(); - sev(); - bus_space_unmap(fdtbus_bs_tag, scu_addr, 0x1000); -} diff --git a/sys/arm/ti/omap4/omap4_prcm_clks.c b/sys/arm/ti/omap4/omap4_prcm_clks.c deleted file mode 100644 index 63c679f178bc..000000000000 --- a/sys/arm/ti/omap4/omap4_prcm_clks.c +++ /dev/null @@ -1,1499 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-3-Clause - * - * Copyright (c) 2011 - * Ben Gray . - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the company nor the name of the author may be used to - * endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY BEN GRAY ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL BEN GRAY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -/* - * This file defines the clock configuration for the OMAP4xxx series of - * devices. - * - * How This is Suppose to Work - * =========================== - * - There is a top level omap_prcm module that defines all OMAP SoC drivers - * should use to enable/disable the system clocks regardless of the version - * of OMAP device they are running on. This top level PRCM module is just - * a thin shim to chip specific functions that perform the donkey work of - * configuring the clock - this file is the 'donkey' for OMAP44xx devices. - * - * - The key bit in this file is the omap_clk_devmap array, it's - * used by the omap_prcm driver to determine what clocks are valid and which - * functions to call to manipulate them. - * - * - In essence you just need to define some callbacks for each of the - * clocks and then you're done. - * - * - The other thing that is worth noting is that when the omap_prcm device - * is registered you typically pass in some memory ranges which are the - * SYS_MEMORY resources. These resources are in turn allocated using - * bus_allocate_resources(...) and the resource handles are passed to all - * individual clock callback handlers. - * - * - * - * OMAP4 devices are different from the previous OMAP3 devices in that there - * is no longer a separate functional and interface clock for each module, - * instead there is typically an interface clock that spans many modules. - */ - -#define FREQ_96MHZ 96000000 -#define FREQ_64MHZ 64000000 -#define FREQ_48MHZ 48000000 -#define FREQ_32KHZ 32000 - -#define PRM_INSTANCE 1 -#define CM1_INSTANCE 2 -#define CM2_INSTANCE 3 - -/** - * Address offsets from the PRM memory region to the top level clock control - * registers. - */ -#define CKGEN_PRM_OFFSET 0x00000100UL -#define MPU_PRM_OFFSET 0x00000300UL -#define DSP_PRM_OFFSET 0x00000400UL -#define ABE_PRM_OFFSET 0x00000500UL -#define ALWAYS_ON_PRM_OFFSET 0x00000600UL -#define CORE_PRM_OFFSET 0x00000700UL -#define IVAHD_PRM_OFFSET 0x00000F00UL -#define CAM_PRM_OFFSET 0x00001000UL -#define DSS_PRM_OFFSET 0x00001100UL -#define SGX_PRM_OFFSET 0x00001200UL -#define L3INIT_PRM_OFFSET 0x00001300UL -#define L4PER_PRM_OFFSET 0x00001400UL -#define WKUP_PRM_OFFSET 0x00001700UL -#define WKUP_CM_OFFSET 0x00001800UL -#define EMU_PRM_OFFSET 0x00001900UL -#define EMU_CM_OFFSET 0x00001A00UL -#define DEVICE_PRM_OFFSET 0x00001B00UL -#define INSTR_PRM_OFFSET 0x00001F00UL - -#define CM_ABE_DSS_SYS_CLKSEL_OFFSET (CKGEN_PRM_OFFSET + 0x0000UL) -#define CM_L4_WKUP_CLKSELL_OFFSET (CKGEN_PRM_OFFSET + 0x0008UL) -#define CM_ABE_PLL_REF_CLKSEL_OFFSET (CKGEN_PRM_OFFSET + 0x000CUL) -#define CM_SYS_CLKSEL_OFFSET (CKGEN_PRM_OFFSET + 0x0010UL) - -/** - * Address offsets from the CM1 memory region to the top level clock control - * registers. - */ -#define CKGEN_CM1_OFFSET 0x00000100UL -#define MPU_CM1_OFFSET 0x00000300UL -#define DSP_CM1_OFFSET 0x00000400UL -#define ABE_CM1_OFFSET 0x00000500UL -#define RESTORE_CM1_OFFSET 0x00000E00UL -#define INSTR_CM1_OFFSET 0x00000F00UL - -#define CM_CLKSEL_DPLL_MPU (CKGEN_CM1_OFFSET + 0x006CUL) - -/** - * Address offsets from the CM2 memory region to the top level clock control - * registers. - */ -#define INTRCONN_SOCKET_CM2_OFFSET 0x00000000UL -#define CKGEN_CM2_OFFSET 0x00000100UL -#define ALWAYS_ON_CM2_OFFSET 0x00000600UL -#define CORE_CM2_OFFSET 0x00000700UL -#define IVAHD_CM2_OFFSET 0x00000F00UL -#define CAM_CM2_OFFSET 0x00001000UL -#define DSS_CM2_OFFSET 0x00001100UL -#define SGX_CM2_OFFSET 0x00001200UL -#define L3INIT_CM2_OFFSET 0x00001300UL -#define L4PER_CM2_OFFSET 0x00001400UL -#define RESTORE_CM2_OFFSET 0x00001E00UL -#define INSTR_CM2_OFFSET 0x00001F00UL - -#define CLKCTRL_MODULEMODE_MASK 0x00000003UL -#define CLKCTRL_MODULEMODE_DISABLE 0x00000000UL -#define CLKCTRL_MODULEMODE_AUTO 0x00000001UL -#define CLKCTRL_MODULEMODE_ENABLE 0x00000001UL - -#define CLKCTRL_IDLEST_MASK 0x00030000UL -#define CLKCTRL_IDLEST_ENABLED 0x00000000UL -#define CLKCTRL_IDLEST_WAKING 0x00010000UL -#define CLKCTRL_IDLEST_IDLE 0x00020000UL -#define CLKCTRL_IDLEST_DISABLED 0x00030000UL - -static struct ofw_compat_data compat_data[] = { - {"ti,omap4-cm1", (uintptr_t)CM1_INSTANCE}, - {"ti,omap4-cm2", (uintptr_t)CM2_INSTANCE}, - {"ti,omap4-prm", (uintptr_t)PRM_INSTANCE}, - {NULL, (uintptr_t)0}, -}; - -struct omap4_prcm_softc { - struct resource *sc_res; - int sc_rid; - int sc_instance; - int attach_done; -}; - -static int omap4_clk_generic_activate(struct ti_clock_dev *clkdev); -static int omap4_clk_generic_deactivate(struct ti_clock_dev *clkdev); -static int omap4_clk_generic_accessible(struct ti_clock_dev *clkdev); -static int omap4_clk_generic_set_source(struct ti_clock_dev *clkdev, clk_src_t clksrc); -static int omap4_clk_generic_get_source_freq(struct ti_clock_dev *clkdev, unsigned int *freq); - -static int omap4_clk_gptimer_set_source(struct ti_clock_dev *clkdev, clk_src_t clksrc); -static int omap4_clk_gptimer_get_source_freq(struct ti_clock_dev *clkdev, unsigned int *freq); - -static int omap4_clk_hsmmc_set_source(struct ti_clock_dev *clkdev, clk_src_t clksrc); -static int omap4_clk_hsmmc_get_source_freq(struct ti_clock_dev *clkdev, unsigned int *freq); - -static int omap4_clk_hsusbhost_set_source(struct ti_clock_dev *clkdev, clk_src_t clksrc); -static int omap4_clk_hsusbhost_activate(struct ti_clock_dev *clkdev); -static int omap4_clk_hsusbhost_deactivate(struct ti_clock_dev *clkdev); -static int omap4_clk_hsusbhost_accessible(struct ti_clock_dev *clkdev); - -static int omap4_clk_get_sysclk_freq(struct ti_clock_dev *clkdev, unsigned int *freq); -static int omap4_clk_get_arm_fclk_freq(struct ti_clock_dev *clkdev, unsigned int *freq); - -/** - * omap_clk_devmap - Array of clock devices available on OMAP4xxx devices - * - * This map only defines which clocks are valid and the callback functions - * for clock activate, deactivate, etc. It is used by the top level omap_prcm - * driver. - * - * The actual details of the clocks (config registers, bit fields, sources, - * etc) are in the private g_omap3_clk_details array below. - * - */ - -#define OMAP4_GENERIC_CLOCK_DEV(i) \ - { .id = (i), \ - .clk_activate = omap4_clk_generic_activate, \ - .clk_deactivate = omap4_clk_generic_deactivate, \ - .clk_set_source = omap4_clk_generic_set_source, \ - .clk_accessible = omap4_clk_generic_accessible, \ - .clk_get_source_freq = omap4_clk_generic_get_source_freq, \ - .clk_set_source_freq = NULL \ - } - -#define OMAP4_GPTIMER_CLOCK_DEV(i) \ - { .id = (i), \ - .clk_activate = omap4_clk_generic_activate, \ - .clk_deactivate = omap4_clk_generic_deactivate, \ - .clk_set_source = omap4_clk_gptimer_set_source, \ - .clk_accessible = omap4_clk_generic_accessible, \ - .clk_get_source_freq = omap4_clk_gptimer_get_source_freq, \ - .clk_set_source_freq = NULL \ - } - -#define OMAP4_HSMMC_CLOCK_DEV(i) \ - { .id = (i), \ - .clk_activate = omap4_clk_generic_activate, \ - .clk_deactivate = omap4_clk_generic_deactivate, \ - .clk_set_source = omap4_clk_hsmmc_set_source, \ - .clk_accessible = omap4_clk_generic_accessible, \ - .clk_get_source_freq = omap4_clk_hsmmc_get_source_freq, \ - .clk_set_source_freq = NULL \ - } - -#define OMAP4_HSUSBHOST_CLOCK_DEV(i) \ - { .id = (i), \ - .clk_activate = omap4_clk_hsusbhost_activate, \ - .clk_deactivate = omap4_clk_hsusbhost_deactivate, \ - .clk_set_source = omap4_clk_hsusbhost_set_source, \ - .clk_accessible = omap4_clk_hsusbhost_accessible, \ - .clk_get_source_freq = NULL, \ - .clk_set_source_freq = NULL \ - } - -struct ti_clock_dev ti_omap4_clk_devmap[] = { - /* System clocks */ - { .id = SYS_CLK, - .clk_activate = NULL, - .clk_deactivate = NULL, - .clk_set_source = NULL, - .clk_accessible = NULL, - .clk_get_source_freq = omap4_clk_get_sysclk_freq, - .clk_set_source_freq = NULL, - }, - /* MPU (ARM) core clocks */ - { .id = MPU_CLK, - .clk_activate = NULL, - .clk_deactivate = NULL, - .clk_set_source = NULL, - .clk_accessible = NULL, - .clk_get_source_freq = omap4_clk_get_arm_fclk_freq, - .clk_set_source_freq = NULL, - }, - - /* UART device clocks */ - OMAP4_GENERIC_CLOCK_DEV(UART1_CLK), - OMAP4_GENERIC_CLOCK_DEV(UART2_CLK), - OMAP4_GENERIC_CLOCK_DEV(UART3_CLK), - OMAP4_GENERIC_CLOCK_DEV(UART4_CLK), - - /* Timer device source clocks */ - OMAP4_GPTIMER_CLOCK_DEV(TIMER1_CLK), - OMAP4_GPTIMER_CLOCK_DEV(TIMER2_CLK), - OMAP4_GPTIMER_CLOCK_DEV(TIMER3_CLK), - OMAP4_GPTIMER_CLOCK_DEV(TIMER4_CLK), - OMAP4_GPTIMER_CLOCK_DEV(TIMER5_CLK), - OMAP4_GPTIMER_CLOCK_DEV(TIMER6_CLK), - OMAP4_GPTIMER_CLOCK_DEV(TIMER7_CLK), - OMAP4_GPTIMER_CLOCK_DEV(TIMER8_CLK), - OMAP4_GPTIMER_CLOCK_DEV(TIMER9_CLK), - OMAP4_GPTIMER_CLOCK_DEV(TIMER10_CLK), - OMAP4_GPTIMER_CLOCK_DEV(TIMER11_CLK), - - /* MMC device clocks (MMC1 and MMC2 can have different input clocks) */ - OMAP4_HSMMC_CLOCK_DEV(MMC1_CLK), - OMAP4_HSMMC_CLOCK_DEV(MMC2_CLK), - OMAP4_GENERIC_CLOCK_DEV(MMC3_CLK), - OMAP4_GENERIC_CLOCK_DEV(MMC4_CLK), - OMAP4_GENERIC_CLOCK_DEV(MMC5_CLK), - - /* USB HS (high speed TLL, EHCI and OHCI) */ - OMAP4_HSUSBHOST_CLOCK_DEV(USBTLL_CLK), - OMAP4_HSUSBHOST_CLOCK_DEV(USBHSHOST_CLK), - OMAP4_HSUSBHOST_CLOCK_DEV(USBFSHOST_CLK), - OMAP4_HSUSBHOST_CLOCK_DEV(USBP1_PHY_CLK), - OMAP4_HSUSBHOST_CLOCK_DEV(USBP2_PHY_CLK), - OMAP4_HSUSBHOST_CLOCK_DEV(USBP1_UTMI_CLK), - OMAP4_HSUSBHOST_CLOCK_DEV(USBP2_UTMI_CLK), - OMAP4_HSUSBHOST_CLOCK_DEV(USBP1_HSIC_CLK), - OMAP4_HSUSBHOST_CLOCK_DEV(USBP2_HSIC_CLK), - - /* GPIO */ - OMAP4_GENERIC_CLOCK_DEV(GPIO1_CLK), - OMAP4_GENERIC_CLOCK_DEV(GPIO2_CLK), - OMAP4_GENERIC_CLOCK_DEV(GPIO3_CLK), - OMAP4_GENERIC_CLOCK_DEV(GPIO4_CLK), - OMAP4_GENERIC_CLOCK_DEV(GPIO5_CLK), - OMAP4_GENERIC_CLOCK_DEV(GPIO6_CLK), - - /* sDMA */ - OMAP4_GENERIC_CLOCK_DEV(SDMA_CLK), - - /* I2C */ - OMAP4_GENERIC_CLOCK_DEV(I2C1_CLK), - OMAP4_GENERIC_CLOCK_DEV(I2C2_CLK), - OMAP4_GENERIC_CLOCK_DEV(I2C3_CLK), - OMAP4_GENERIC_CLOCK_DEV(I2C4_CLK), - { INVALID_CLK_IDENT, NULL, NULL, NULL, NULL } -}; - -/** - * omap4_clk_details - Stores details for all the different clocks supported - * - * Whenever an operation on a clock is being performed (activated, deactivated, - * etc) this array is looked up to find the correct register and bit(s) we - * should be modifying. - * - */ -struct omap4_clk_details { - clk_ident_t id; - - uint32_t instance; - uint32_t clksel_reg; - - int32_t src_freq; - - uint32_t enable_mode; -}; - -#define OMAP4_GENERIC_CLOCK_DETAILS(i, f, di, r, e) \ - { .id = (i), \ - .instance = (di), \ - .clksel_reg = (r), \ - .src_freq = (f), \ - .enable_mode = (e), \ - } - -static struct omap4_clk_details g_omap4_clk_details[] = { - /* UART */ - OMAP4_GENERIC_CLOCK_DETAILS(UART1_CLK, FREQ_48MHZ, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x0140), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(UART2_CLK, FREQ_48MHZ, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x0148), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(UART3_CLK, FREQ_48MHZ, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x0150), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(UART4_CLK, FREQ_48MHZ, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x0158), CLKCTRL_MODULEMODE_ENABLE), - - /* General purpose timers */ - OMAP4_GENERIC_CLOCK_DETAILS(TIMER1_CLK, -1, PRM_INSTANCE, - (WKUP_CM_OFFSET + 0x040), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(TIMER2_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x038), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(TIMER3_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x040), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(TIMER4_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x048), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(TIMER5_CLK, -1, CM1_INSTANCE, - (ABE_CM1_OFFSET + 0x068), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(TIMER6_CLK, -1, CM1_INSTANCE, - (ABE_CM1_OFFSET + 0x070), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(TIMER7_CLK, -1, CM1_INSTANCE, - (ABE_CM1_OFFSET + 0x078), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(TIMER8_CLK, -1, CM1_INSTANCE, - (ABE_CM1_OFFSET + 0x080), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(TIMER9_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x050), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(TIMER10_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x028), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(TIMER11_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x030), CLKCTRL_MODULEMODE_ENABLE), - - /* HSMMC (MMC1 and MMC2 can have different input clocks) */ - OMAP4_GENERIC_CLOCK_DETAILS(MMC1_CLK, -1, CM2_INSTANCE, - (L3INIT_CM2_OFFSET + 0x028), /*CLKCTRL_MODULEMODE_ENABLE*/2), - OMAP4_GENERIC_CLOCK_DETAILS(MMC2_CLK, -1, CM2_INSTANCE, - (L3INIT_CM2_OFFSET + 0x030), /*CLKCTRL_MODULEMODE_ENABLE*/2), - OMAP4_GENERIC_CLOCK_DETAILS(MMC3_CLK, FREQ_48MHZ, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x120), /*CLKCTRL_MODULEMODE_ENABLE*/2), - OMAP4_GENERIC_CLOCK_DETAILS(MMC4_CLK, FREQ_48MHZ, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x128), /*CLKCTRL_MODULEMODE_ENABLE*/2), - OMAP4_GENERIC_CLOCK_DETAILS(MMC5_CLK, FREQ_48MHZ, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x160), /*CLKCTRL_MODULEMODE_ENABLE*/1), - - /* GPIO modules */ - OMAP4_GENERIC_CLOCK_DETAILS(GPIO1_CLK, -1, PRM_INSTANCE, - (WKUP_CM_OFFSET + 0x038), CLKCTRL_MODULEMODE_AUTO), - OMAP4_GENERIC_CLOCK_DETAILS(GPIO2_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x060), CLKCTRL_MODULEMODE_AUTO), - OMAP4_GENERIC_CLOCK_DETAILS(GPIO3_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x068), CLKCTRL_MODULEMODE_AUTO), - OMAP4_GENERIC_CLOCK_DETAILS(GPIO4_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x070), CLKCTRL_MODULEMODE_AUTO), - OMAP4_GENERIC_CLOCK_DETAILS(GPIO5_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x078), CLKCTRL_MODULEMODE_AUTO), - OMAP4_GENERIC_CLOCK_DETAILS(GPIO6_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x080), CLKCTRL_MODULEMODE_AUTO), - - /* sDMA block */ - OMAP4_GENERIC_CLOCK_DETAILS(SDMA_CLK, -1, CM2_INSTANCE, - (CORE_CM2_OFFSET + 0x300), CLKCTRL_MODULEMODE_AUTO), - - /* I2C modules */ - OMAP4_GENERIC_CLOCK_DETAILS(I2C1_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x0A0), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(I2C2_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x0A8), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(I2C3_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x0B0), CLKCTRL_MODULEMODE_ENABLE), - OMAP4_GENERIC_CLOCK_DETAILS(I2C4_CLK, -1, CM2_INSTANCE, - (L4PER_CM2_OFFSET + 0x0B8), CLKCTRL_MODULEMODE_ENABLE), - - { INVALID_CLK_IDENT, 0, 0, 0, 0 }, -}; - -/** - * MAX_MODULE_ENABLE_WAIT - the number of loops to wait for the module to come - * alive. - * - */ -#define MAX_MODULE_ENABLE_WAIT 100 - -/** - * ARRAY_SIZE - Macro to return the number of elements in a static const array. - * - */ -#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) - -/** - * omap4_clk_details - writes a 32-bit value to one of the timer registers - * @timer: Timer device context - * @off: The offset of a register from the timer register address range - * @val: The value to write into the register - * - * - * RETURNS: - * nothing - */ -static struct omap4_clk_details* -omap4_clk_details(clk_ident_t id) -{ - struct omap4_clk_details *walker; - - for (walker = g_omap4_clk_details; walker->id != INVALID_CLK_IDENT; walker++) { - if (id == walker->id) - return (walker); - } - - return NULL; -} - -static struct omap4_prcm_softc * -omap4_prcm_get_instance_softc(int module_instance) -{ - int i, maxunit; - devclass_t prcm_devclass; - device_t dev; - struct omap4_prcm_softc *sc; - - prcm_devclass = devclass_find("omap4_prcm"); - maxunit = devclass_get_maxunit(prcm_devclass); - - for (i = 0; i < maxunit; i++) { - dev = devclass_get_device(prcm_devclass, i); - sc = device_get_softc(dev); - if (sc->sc_instance == module_instance) - return (sc); - } - - return (NULL); -} - -/** - * omap4_clk_generic_activate - checks if a module is accessible - * @module: identifier for the module to check, see omap3_prcm.h for a list - * of possible modules. - * Example: OMAP3_MODULE_MMC1 - * - * - * - * LOCKING: - * Inherits the locks from the omap_prcm driver, no internal locking. - * - * RETURNS: - * Returns 0 on success or a positive error code on failure. - */ -static int -omap4_clk_generic_activate(struct ti_clock_dev *clkdev) -{ - struct omap4_prcm_softc *sc; - struct omap4_clk_details* clk_details; - struct resource* clk_mem_res; - uint32_t clksel; - unsigned int i; - clk_details = omap4_clk_details(clkdev->id); - *** 6657 LINES SKIPPED *** From nobody Wed Apr 23 18:05:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjRpr2kVDz5thkj; Wed, 23 Apr 2025 18:05: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 4ZjRpr219vz45ll; Wed, 23 Apr 2025 18:05:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745431524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nswj9wNoz5rrWYHjNGtxq9dW5w1Ew2Itc+E8xl0mmpQ=; b=C2ZJqD4TVXmidEw3OyKkVYTFLU+Fq9/GQ9Dzzz1SxJIC0XhVaYJfx5PE1PVLZIU4xY7ItJ y6W/UuF1NvBM1Fo5oghgf9fhz2LACnGOqBa7Wz9JY07FKCWLUaW26q9XcyCkS74K1S4hn0 VxgKcFMzk+B5xE8ew5NsvVJjJmAfNsUCJH3JUOWrdpq2xY7rG1iFwjg8cZJOsUveAxlsmf wTRYVEDb2QbKj0zz530y3hy8LflZkELchCtKXxcB9cfP9K1fO818oE7sSFjyztHyTiy5Bv GzQuOjlkGqXxth/6zhtC0WEWuRsEpTZ5azhpKwUNi98vFpu+eWZtLlic7Z0hDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745431524; a=rsa-sha256; cv=none; b=HXbMNlz315qXmkBGcZC0Q0nfMX9pgaYuaO/HUz4fMSQp3kMMfYIx5DjClsnI5rpLWwoZSV yOoMiVZFnu3NLe3Xz/YjDclPgEPhhprYpZAQfg9LsL1EclbddoiaD1jcbIAM6m2Brla6Sm V1R4a8BZjqpuZ564tdBXdHYuaQdO/YwrBD2l8x+Bhp5zGYZXgpcF1XixqHeDDL+RaV1Hri MBw//VbeHYDyDDRLXuH4JGcQ6GG2iSqZqpOZFy8IH6qtNG3RvkUxeKV/U0+ebz0bxTQxV1 SdXkzSG7IogRnyXA8KsfsKqaIZNFemc2b7PkTPWjd0dInR51RGUhSB2oPADGHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745431524; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nswj9wNoz5rrWYHjNGtxq9dW5w1Ew2Itc+E8xl0mmpQ=; b=RONbI29frTtwnWr+DSfCmOPEOM2a4uyZEjzv+bxaX338aszSwyicAxPnfDyYLnLov3flEb 1uLto1XB3l8hQ1J0+ejgSwibMfvGrYUxqtsFkRpbtjtrLgAEX7IjKvNTN4fSNFW1ibH/IK zzGzrP78K/G2+tb6UprAWzA4ivnFy2XMHuwkZmw99vKDn+xY5FhwwvHcJ4wAPJPPNq74mU 4/EacDPFTNgAi72vAVWh+78rjCadVcLe/eClWp5F/EEe7fV+YYcoI90BXQWOzGOhvJLS9i zmvBSBqSz9CQ8uGQLhD8EMuZRQafqKnOq1K3itrd8+YAHe2G5C0CtMIvD1osQw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjRpr1HWCz72; Wed, 23 Apr 2025 18:05: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 53NI5Nlm071545; Wed, 23 Apr 2025 18:05:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NI5Nhl071542; Wed, 23 Apr 2025 18:05:23 GMT (envelope-from git) Date: Wed, 23 Apr 2025 18:05:23 GMT Message-Id: <202504231805.53NI5Nhl071542@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Oskar Holmlund Subject: git: e3e55936ce3b - main - Remove OMAP4 support leftovers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: oh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e3e55936ce3b4d0664336d06cee92d3b0f223790 Auto-Submitted: auto-generated The branch main has been updated by oh: URL: https://cgit.FreeBSD.org/src/commit/?id=e3e55936ce3b4d0664336d06cee92d3b0f223790 commit e3e55936ce3b4d0664336d06cee92d3b0f223790 Author: Oskar Holmlund AuthorDate: 2025-04-23 18:04:53 +0000 Commit: Oskar Holmlund CommitDate: 2025-04-23 18:04:53 +0000 Remove OMAP4 support leftovers Remove options.arm for OMAP3&4 and the makefile for building FDT Approved by: manu (mentor) Differential revision: https://reviews.freebsd.org/D49985 --- sys/conf/options.arm | 2 -- sys/modules/dtb/omap4/Makefile | 7 ------- 2 files changed, 9 deletions(-) diff --git a/sys/conf/options.arm b/sys/conf/options.arm index da06d9cd84e4..5fe10b5e074b 100644 --- a/sys/conf/options.arm +++ b/sys/conf/options.arm @@ -35,8 +35,6 @@ SOC_BRCM_BCM2837 opt_global.h SOC_IMX6 opt_global.h SOC_MV_ARMADAXP opt_global.h SOC_MV_ARMADA38X opt_global.h -SOC_OMAP3 opt_global.h -SOC_OMAP4 opt_global.h SOC_TI_AM335X opt_global.h VM_MAXUSER_ADDRESS opt_global.h VFP opt_global.h diff --git a/sys/modules/dtb/omap4/Makefile b/sys/modules/dtb/omap4/Makefile deleted file mode 100644 index cd545cdfd0b1..000000000000 --- a/sys/modules/dtb/omap4/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# All the dts files for omap4 systems we support. -DTS= \ - omap4-duovero-parlor.dts \ - omap4-panda.dts \ - omap4-panda-es.dts - -.include From nobody Wed Apr 23 19:25:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjTZn62mlz5tmLg; Wed, 23 Apr 2025 19:25:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjTZn3nVGz3vcD; Wed, 23 Apr 2025 19:25:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745436305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=21GkkJdIOgZ7Yaqd+AWEVLviyBf6ifD0BHj0gCFIGPY=; b=KAGfjoAbhHR1Y3naGbUSEYa143UjaldtxTo0IzX2V2q5Ef4cSTWeMf7OjDaONp6iOkq1qj MD2UjkLW8Hfutu90+vNU9EWfxCyh9FWD/VvwbqKshoytymjxdVYvikk5tzUFtPjP+3NNDg IwuyDGGA1o3mlk1y1ST5zHiVUX5KH4Ar2L/1QcDrb6PWUITbXBkqf/me1seuIGrwBIfYPU AkCr8hN3WoCqCWwFudeqVdciFOoUM5bOp5CWQs5tF4HwKFPw4C2TkuxIb9rVEMwAa7C+sc pthUq1nyOgLHTJrAnGQAE3hqWy2RHETob2l1P63zvnMdVHlysELB8FyBecaEvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745436305; a=rsa-sha256; cv=none; b=UwCyWZngga05MxC7AYFDNnOZzuu+yyE1oaQSCAflLJx4fcHZ8dYLN+hL32tVCmqzTX50XR J+LYi+cUipA23fXon2bXOn+Gq9d+p3SCGuOOCvnK/J5DjoJeeNYscjy7dtwArYcBmVh87C WDHNGp/dzGFZN+cVHWY5yMMu1mmk28IRtEN+yl1SvpFo+gF/SfSiE5twSkMFedCSMdwXJp o28tazRmG9g0Xi5vzfjftVW0URCLY+SMLIjIAubcBfFf4hLXhdSHY0ZffRb8r/TPJ64j/p Z1VK8Cal7mB+82lVWWFESxRR5NSc5BxORXtDQT+QrAovPXM5fa5pbpABVNnnTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745436305; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=21GkkJdIOgZ7Yaqd+AWEVLviyBf6ifD0BHj0gCFIGPY=; b=Q8Vx5mQ1QImmi0zi2Fv1rvZO/mJInlK4nCDR9qPcZQPrLuajJV97ZjLEqywJe2ekGwhSFW lGBttU52c3YKl4eW/1pzk3WzTHNCb02pOD07OQCe12wbB9wfvs2n6lQ2wB/AUXIk4iE4iq /XVPu/TBm00E7euUheClpb4Tnushh3Y2eddUdk9da+qNnlGf4/NNfLzzPREG2w//2EJ1fT D4qLssZYPN3JaC3manByn1vrce/133q6wP31WaYhmOnI6yWW2v1n3oAeYN9gXvm1UJGUyE WBPq5IFKorjb4js3GOd/Eltkf27GVj16LM9/y9+mKH8JKbjUthv3Dh3v6IJ3Iw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjTZn2slXz2MF; Wed, 23 Apr 2025 19:25:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53NJP5jD020331; Wed, 23 Apr 2025 19:25:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NJP50L020328; Wed, 23 Apr 2025 19:25:05 GMT (envelope-from git) Date: Wed, 23 Apr 2025 19:25:05 GMT Message-Id: <202504231925.53NJP50L020328@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 2a240805dfe9 - main - rtld: fix indent in dlopen_object() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2a240805dfe94d4cfba7e4b0815ac6124c1481c3 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2a240805dfe94d4cfba7e4b0815ac6124c1481c3 commit 2a240805dfe94d4cfba7e4b0815ac6124c1481c3 Author: Konstantin Belousov AuthorDate: 2025-04-19 10:35:43 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-23 19:04:14 +0000 rtld: fix indent in dlopen_object() Sponsored by: The FreeBSD Foundation --- libexec/rtld-elf/rtld.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 2346c6eae9f6..13b24a259bec 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -3824,27 +3824,25 @@ dlopen_object(const char *name, int fd, Obj_Entry *refobj, int lo_flags, if ((lo_flags & (RTLD_LO_EARLY | RTLD_LO_IGNSTLS)) == 0 && obj->static_tls && !allocate_tls_offset(obj)) { - _rtld_error("%s: No space available " - "for static Thread Local Storage", + _rtld_error( + "%s: No space available for static Thread Local Storage", obj->path); result = -1; } if (result != -1) result = load_needed_objects(obj, - lo_flags & - (RTLD_LO_DLOPEN | RTLD_LO_EARLY | - RTLD_LO_IGNSTLS | RTLD_LO_TRACE)); + lo_flags & (RTLD_LO_DLOPEN | RTLD_LO_EARLY | + RTLD_LO_IGNSTLS | RTLD_LO_TRACE)); init_dag(obj); ref_dag(obj); if (result != -1) result = rtld_verify_versions(&obj->dagmembers); if (result != -1 && ld_tracing) goto trace; - if (result == -1 || - relocate_object_dag(obj, - (mode & RTLD_MODEMASK) == RTLD_NOW, &obj_rtld, - (lo_flags & RTLD_LO_EARLY) ? SYMLOOK_EARLY : 0, - lockstate) == -1) { + if (result == -1 || relocate_object_dag(obj, + (mode & RTLD_MODEMASK) == RTLD_NOW, &obj_rtld, + (lo_flags & RTLD_LO_EARLY) ? SYMLOOK_EARLY : 0, + lockstate) == -1) { dlopen_cleanup(obj, lockstate); obj = NULL; } else if (lo_flags & RTLD_LO_EARLY) { From nobody Wed Apr 23 19:25:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjTZp6657z5tmLh; Wed, 23 Apr 2025 19:25: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 4ZjTZp3ybKz3vt7; Wed, 23 Apr 2025 19:25:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745436306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a2igMHbygWgOggcHO5+T58/qOv+pvafJP6u+4DNYMH0=; b=OubLLUD4BieMGHr8Sc7kQKyolmrGItc7W3wN5kWzizy2VOkKeEdxBhQPthB1UK+2vJ6fKq Qkaz+qR3wt+52C5KWlVyYZymw7QxDALSosZAxcj7HCrY7+EuV0TrXE0LbZpxEgaqXQu7MX tteeDfAZN8lG7NtKjWwxK6t0CshnhZmOt7ENjSQhnXMrNmzlk5VGrfGW1pL5A1bbvwkcOh vtAI5jbQZfTiNVNPAUgN4jpc4BvyN5B8FRwUxIVL4T/dvMIywmmJG7vFcdXlYxvgjKTqpr hSzZ4TgGVwa0adgvE2raM5eC13NdwAJVFvTDIRfrd8CNzes254/Q//AmUdetoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745436306; a=rsa-sha256; cv=none; b=ERNsqlEAzebDxtDXkupPu1FGbC6iVzY+LWj/psJ3tzd3WL11wxV8ND0Xo9DE/Snmc1Q/cX mshi4HdUqerwLacchiRaH3/oXFkxW5+M06Vtg6+4sgnhiOyCkRPn1Ag9IOlxMc/4LIwMOr Bj8lS5IOKSH1tc5RxbG4R/s81ykkoudDR7OVcaeNYYH+R7SUFxk3wvdQzK84O5KSPuX7Pb S4DFZ0C23z4M3KvyREwQLmyK0684FfWAlRbUuZkXCzkAT3iYRWB9gGTMGh6Xtcg+ozlAEX 9CkFmseHUplcj0P6dgv+XMg8xXmTNydeW/NHYQOtVsYaCA6KBGEAzagosxHX0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745436306; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a2igMHbygWgOggcHO5+T58/qOv+pvafJP6u+4DNYMH0=; b=Lru/z28iY1O5yWZZQXGh8Inup6MFvJYlLu4BiPRximIBnNUHz3tPhQBj1jK7b06/UMXdFV OQmjsBev+SyHPdxfVBJ8d9MyN+o+gQ1Nw2Fu/pLtv9petG5DbyTI5yAHGV/txZtcpf/b8W zjjGeZoP2Nria5fnTOo3xCjGV3DCAn8Fzd+5QmgbQQCo4r+8fH2G4ZJaj96cfiOmnPZdK5 Si5RGjfiiOzPOs8vDSDXT9FHxP1MxIx1S/mNBipp+lFYa7rrO6MPO6UzK10kB8kEOEcuro Ti7krcMZGL2uJND8ZYc7pY6IH+UN3sy2s+0W5sTXhUr+eaHK9CPgnzrgdNyy5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjTZp3Gdxz1tD; Wed, 23 Apr 2025 19:25:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53NJP6IF020364; Wed, 23 Apr 2025 19:25:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NJP6P0020361; Wed, 23 Apr 2025 19:25:06 GMT (envelope-from git) Date: Wed, 23 Apr 2025 19:25:06 GMT Message-Id: <202504231925.53NJP6P0020361@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: d0ab6abbf531 - main - rtld: symbolic and deepbind are equivalent for the refobj List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d0ab6abbf5318fa09df1b145198d543c60f0685b Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d0ab6abbf5318fa09df1b145198d543c60f0685b commit d0ab6abbf5318fa09df1b145198d543c60f0685b Author: Konstantin Belousov AuthorDate: 2025-04-19 10:26:58 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-23 19:04:29 +0000 rtld: symbolic and deepbind are equivalent for the refobj Reported by: avg Sponsored by: The FreeBSD Foundation MFC after: 1 week --- libexec/rtld-elf/rtld.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index 13b24a259bec..fa96a516687e 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -4677,12 +4677,13 @@ symlook_default(SymLook *req, const Obj_Entry *refobj) */ res = symlook_obj(&req1, refobj); if (res == 0 && (refobj->symbolic || - ELF_ST_VISIBILITY(req1.sym_out->st_other) == STV_PROTECTED)) { + ELF_ST_VISIBILITY(req1.sym_out->st_other) == STV_PROTECTED || + refobj->deepbind)) { req->sym_out = req1.sym_out; req->defobj_out = req1.defobj_out; assert(req->defobj_out != NULL); } - if (refobj->symbolic || req->defobj_out != NULL) + if (refobj->symbolic || req->defobj_out != NULL || refobj->deepbind) donelist_check(&donelist, refobj); if (!refobj->deepbind) From nobody Wed Apr 23 20:19:48 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjVp8335qz5tq50; Wed, 23 Apr 2025 20:20:00 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjVp81jDJz3Hr9; Wed, 23 Apr 2025 20:20:00 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745439600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PL9u2U9bMjuBTsCYNPoqtM2a+/LVuT1DDQST4jF06FY=; b=LOHIagPGDGhjiIzEKQG3duXJQRJcmH0OVQvd78LeHr77d+1gVZykfNJd+FBkDztHNCVc3S 9u7M20ShLKiV2sw0RwdfL1ETsYU6u2ERZbJ3aqI4AX41oOh51mCITtRWp9sGup6lPx1P5t xA+xtXldGVx+IZRsjPEL+YXb1KjgdIlOW2h+9PM9n4AN1zaT8V7zmfte8TJKxl9lSh1+M5 1BNIgSUnexxKwgE9kFZ4mzuNoP0hFJwxgeHMFD8hrhT/xjvEoHYsuBtrcUd4Z+z0S45ket Pj/1gLJQ8A71qAizLv+9/eS97vEY3AX1mC0lEYsIVdWVE9G8vcZ4hMa0RcEhpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745439600; a=rsa-sha256; cv=none; b=GxozFvWfltdu6X4p9FKHZNBKsvW/q7Jor0g2JuXwU4VYnQxvy7ISZl8sfpEqQ13olOH4uh ogSWHohW9fO9be91OBSzPHzBLfI3+p1MHhDvr1X+94BI67SpwEGlqlnE6niCBdgjyN3KW5 EvEzG6zA4XjRO52RCi/XxS4YnAeP1GzFROAgn/l/UEABbSNVqrBTi9sK+e8b49+sorTl5H Ma/lqK1wu5n1hD1lc7Z3SRrXV9vMNmKv4bBac9YVMTE9nSIAC67bzZYBd2/6tugFgQZSer DpbOSXtdGrWpdjaFTgyrSNWPPviaYI3btVYOIP3LUwgTgy19KEtiYfcj4I5nJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745439600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PL9u2U9bMjuBTsCYNPoqtM2a+/LVuT1DDQST4jF06FY=; b=CL14kcL03I6uMxEXZsLDvkpARYyr0whQn03OQNfR6PX9SLSG46uYM44oZl+90yH0uR2jng VPSq8gP9phOmawemA8aT/gq0g/gzgi94nLr9Wm8gO6gwoUlPJHE2S33nuA6WJ+hwbuJTIf ZpFmKppAtfzw5EenupM7nKJTqglZefz3YrCp3o9zJdYFjBr6LwjzaZjXzMzHwNIs1F6VXS qq7qfIAmdaOdNkAXXjxbWEujC8fSQPFlyIcP0EfvYN0aepEbPurJ8YhePTZVOAFdKZoV60 rQVVx0+r1YH4W9Wa2C5Pg1/P0Y0tul27/0jMc5IBrRYIcBc912Q2xv/RHBO/vQ== Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZjVp80z21zppx; Wed, 23 Apr 2025 20:20:00 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-qt1-f177.google.com with SMTP id d75a77b69052e-479009c951cso387571cf.1; Wed, 23 Apr 2025 13:20:00 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCV3iSrv799002NE2m8tTka95DKYucoMxznjX8e6coDXKLD9xO/si6jxhcElc7p3QGR0l1WqvwGFAFdW5p6wpCDChVK/@freebsd.org, AJvYcCVWTU/WOsiraWx9IgYDPPgShT/UNsYQ/1mty6cTgy5l2U0No1kT+tEgMyZRUqXZxa/apfAIH6AAgUXTuodTFHz9favAibY=@freebsd.org X-Gm-Message-State: AOJu0YwDWeEatVPhyMFKAyg+8oPlMiQiIq3k2KIaMAgoykWz0rvaVNBq CnG9cLVAC33DX7+FIvzYo14LEgneJaWQhWbgcaiPhEqwjWropeBh2PE91HXGfOPEmfqllshG6wp +Oth3UuxzB3qBXxiYuW0R87+uS00= X-Google-Smtp-Source: AGHT+IHCSNtnmmilyGz2gYWVMYZ6Q1Mi60jtSh4MPWpWxWXq2mtGbwWyz7Iu0uDQkIC0gepUTAUG5Hum09jxs1l9src= X-Received: by 2002:a05:622a:8e:b0:476:ad95:c08 with SMTP id d75a77b69052e-47d1be7947cmr24217451cf.5.1745439599744; Wed, 23 Apr 2025 13:19:59 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202504230204.53N248Jb070185@gitrepo.freebsd.org> In-Reply-To: <202504230204.53N248Jb070185@gitrepo.freebsd.org> From: Nuno Teixeira Date: Wed, 23 Apr 2025 21:19:48 +0100 X-Gmail-Original-Message-ID: X-Gm-Features: ATxdqUFSvDdC0T3eOpHmDfOnCojc4E96OcOsv5xoNFKBoAzmrfq9u8c8XbwWRmA Message-ID: Subject: Re: git: 5c74aa3abd4e - main - rtwn: enable reception of BAR frames To: Adrian Chadd Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello all, I used to have a stable 11ac connection with Archer T2U PLUS [RTL8821AU] on arm64 (rpi4). world is at main-n276705-e3e55936ce3b: Wed Apr 23 I noticed that `git pull --rebase` was taking too much time and sometimes failed. /var/log/messages have tons of: rtwn0: rtwn_rx_copy_to_mbuf: could not allocate RX mbuf iperf3 to local machine connected with ethernet also fails: % iperf3 -c hp -R Connecting to host hp, port 5201 Reverse mode, remote host hp is sending [ 5] local 192.168.1.102 port 14481 connected to 192.168.1.100 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.01 sec 0.00 Bytes 0.00 bits/sec [ 5] 1.01-2.01 sec 0.00 Bytes 0.00 bits/sec [ 5] 2.01-3.01 sec 0.00 Bytes 0.00 bits/sec [ 5] 3.01-4.06 sec 0.00 Bytes 0.00 bits/sec [ 5] 4.06-5.01 sec 0.00 Bytes 0.00 bits/sec [ 5] 5.01-6.04 sec 0.00 Bytes 0.00 bits/sec [ 5] 6.04-7.06 sec 0.00 Bytes 0.00 bits/sec [ 5] 7.06-8.06 sec 512 KBytes 4.21 Mbits/sec [ 5] 8.06-9.06 sec 0.00 Bytes 0.00 bits/sec [ 5] 9.06-10.04 sec 0.00 Bytes 0.00 bits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.04 sec 640 KBytes 522 Kbits/sec 30 sender [ 5] 0.00-10.04 sec 512 KBytes 418 Kbits/sec recei= ver Any clues if this related to this commit? Thanks, Adrian Chadd escreveu (quarta, 23/04/2025 =C3=A0(s) 03= :04): > > The branch main has been updated by adrian: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D5c74aa3abd4e353ed7f8cb446c= 0527c8ebe15d1c > > commit 5c74aa3abd4e353ed7f8cb446c0527c8ebe15d1c > Author: Jessica Clarke > AuthorDate: 2025-04-01 00:43:13 +0000 > Commit: Adrian Chadd > CommitDate: 2025-04-23 02:02:39 +0000 > > rtwn: enable reception of BAR frames > > The RX filter wasn't enabling BAR frames, so we weren't receiving the= m > during normal operation. > > Jessica noticed we WERE getting BAR frames, but only when promisc mod= e > is active. Which is a different set of bugs, but it did highlight > the differences here. > > Differential Revision: https://reviews.freebsd.org/D49596 > PR: kern/285822 > --- > sys/dev/rtwn/if_rtwn.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c > index 7df1b78db37b..7a547e13cafa 100644 > --- a/sys/dev/rtwn/if_rtwn.c > +++ b/sys/dev/rtwn/if_rtwn.c > @@ -1203,6 +1203,9 @@ rtwn_newstate(struct ieee80211vap *vap, enum ieee80= 211_state nstate, int arg) > /* Stop Rx of data frames. */ > rtwn_write_2(sc, R92C_RXFLTMAP2, 0); > > + /* Stop Rx of control frames. */ > + rtwn_write_2(sc, R92C_RXFLTMAP1, 0); > + > /* Reset EDCA parameters. */ > rtwn_write_4(sc, R92C_EDCA_VO_PARAM, 0x002f3217); > rtwn_write_4(sc, R92C_EDCA_VI_PARAM, 0x005e4317); > @@ -1374,6 +1377,11 @@ rtwn_run(struct rtwn_softc *sc, struct ieee80211va= p *vap) > rtwn_write_2(sc, R92C_BCN_INTERVAL(uvp->id), ni->ni_intval); > > if (sc->vaps_running =3D=3D sc->monvaps_running) { > + /* Enable Rx of BAR control frames. */ > + rtwn_write_2(sc, R92C_RXFLTMAP1, > + 1 << (IEEE80211_FC0_SUBTYPE_BAR >> > + IEEE80211_FC0_SUBTYPE_SHIFT)); > + > /* Enable Rx of data frames. */ > rtwn_write_2(sc, R92C_RXFLTMAP2, 0xffff); > > --=20 Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org From nobody Wed Apr 23 21:10:10 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjWw32LF8z5stt7; Wed, 23 Apr 2025 21:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjWw30sBYz3mnv; Wed, 23 Apr 2025 21:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745442611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lFclEHKShcUy/c6l8+cw4IO3i4FL/yzzapOZLL3hIYQ=; b=LCcPzljRJMHklEiwej3VfH4qEp7g78YsCzhVOKMWaFfW1GotOsmS3vpZtHuPvLoKEu1Hat 1hGn9BVw5Dc9qIRH+zdBIjwyNz+Lkj751wRQZpL+RcYpVVLkpsowV/xiTa4Rl51KsDuHJk VpGt/0g+NMIfazn0cNhgfwNpx/mRuUk/exd+5fao9UQeQ2ixuOQbvALP9h70HKkMflYRh/ cL2xtl9vhxsgBdzOddy9qHLu8GTe9ONGKc9R8Sjy89BFJLLEnlSKytXt79nUxExDI51qW+ s31Cpo3o6R9jXwVLAa7gg0DT6UDDZCOpqLLihQZAIfv6ArugUs1fu7GgMGhdQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745442611; a=rsa-sha256; cv=none; b=JtYwNGPUVS+yXDfDROyqTE5VeTWK+fWtDBNSKqdHQ1cJnqHE3lDeITwYSXe0/eCQ3ii43j YUpEHfmLoQ8lWjckPIUsLh8wNMlC/dXJSH5pTLeNSkZy6KceAPdtENIWgZ1TsxpOMv1uu7 +pQu2+ZyxByxogTU8YImxoC9usU4s0SBsikeWO+XfSajX8bbHNzkgIYp4LNSyRdV+YyotQ 7STJxbnH++PuLrasKgP8Os2kyag65PRDihyOlk1KB+SmIP8ANcJQGEndE7ors77uuRhER3 pSLeUnXr5+PhjcwB08jUGzeUHOPKBabIssxGNNFAvLpFqAPuuBiYlcNZok9kPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745442611; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lFclEHKShcUy/c6l8+cw4IO3i4FL/yzzapOZLL3hIYQ=; b=mD8RVDbTzKzNS4tS3JzxgGB2StzByhH/e/i8pvOM2OY+KBhZWbK1rJsHmi4xtzUnQ6ekex Yoy/5pzgj3aQRvo8w3LpM+5/09o07S1a7QBH23CisEZMnIOjb+ywrS+FSL4tofGeRP4vSg 7GUQ+J9GSRmCmmNS3lCN7n2AMgJWrHwnvEiCHyyfE740q5q/Yre7RljbjHEg50DhApj/pp +XIQ8K7nuPGwU9As7YPrWzdogswkykPEjlHwQItDe+mztTe1wdkTMWphZ9rgMi214yjFub 1cWmKneJF/W7AJOuSP+gBCwyj9CTw6lieoW5bfUfa20d+CNepe4YkU4fqWuUdA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjWw30Rk9z4vy; Wed, 23 Apr 2025 21:10: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 53NLAAPx014326; Wed, 23 Apr 2025 21:10:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NLAA0e014224; Wed, 23 Apr 2025 21:10:10 GMT (envelope-from git) Date: Wed, 23 Apr 2025 21:10:10 GMT Message-Id: <202504232110.53NLAA0e014224@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 580fcf642ea2 - main - edk2: Merge edk2-stable202502 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 580fcf642ea2d5a1e60f24947d1c2e97007e44e9 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=580fcf642ea2d5a1e60f24947d1c2e97007e44e9 commit 580fcf642ea2d5a1e60f24947d1c2e97007e44e9 Merge: d0ab6abbf531 8f6bda97a473 Author: Warner Losh AuthorDate: 2025-04-23 19:07:32 +0000 Commit: Warner Losh CommitDate: 2025-04-23 21:07:21 +0000 edk2: Merge edk2-stable202502 Merge in edk2 stable202502 to pick up latest definitions. This is a subset import, as outlined in FREEBSD-update, since the full thing has only gotten larger. I also had to disable building of libefivar for i386 build. The precondition for EDK2 isn't met by our ABI there. And we can't call EFIRT there anyway. We normally don't build the EFI binaries for i386 anyway. We likely never should have built this, but disabling one library in 32-bit mode is hard. I also had to ifdef the L" and L' asserts on _STANDALONE. In the boot loader build enviornment, we met these conditions. All the other places we do not. But we also are careful to massage the code so that we do not depend on these preconditions. Sponsored by: Netflix sys/contrib/edk2/Include/Base.h | 718 ++--- .../edk2/Include/Guid/HiiFormMapMethodGuid.h | 2 +- sys/contrib/edk2/Include/Guid/PcAnsi.h | 12 +- sys/contrib/edk2/Include/Guid/WinCertificate.h | 32 +- sys/contrib/edk2/Include/IndustryStandard/Acpi10.h | 473 ++-- sys/contrib/edk2/Include/IndustryStandard/Acpi20.h | 348 +-- sys/contrib/edk2/Include/IndustryStandard/Acpi30.h | 464 ++-- sys/contrib/edk2/Include/IndustryStandard/Acpi40.h | 1042 ++++---- sys/contrib/edk2/Include/IndustryStandard/Acpi50.h | 1517 +++++------ sys/contrib/edk2/Include/IndustryStandard/Acpi51.h | 1631 +++++------ sys/contrib/edk2/Include/IndustryStandard/Acpi60.h | 1905 ++++++------- .../edk2/Include/IndustryStandard/AcpiAml.h | 305 +-- .../edk2/Include/IndustryStandard/Bluetooth.h | 18 +- sys/contrib/edk2/Include/Library/BaseLib.h | 2825 +++++++++++--------- sys/contrib/edk2/Include/Library/DebugLib.h | 237 +- sys/contrib/edk2/Include/Library/DevicePathLib.h | 38 +- .../edk2/Include/Library/MemoryAllocationLib.h | 2 +- sys/contrib/edk2/Include/Library/PcdLib.h | 848 +----- sys/contrib/edk2/Include/Library/PrintLib.h | 151 +- .../Include/Library/UefiBootServicesTableLib.h | 4 +- sys/contrib/edk2/Include/Protocol/DebugPort.h | 21 +- sys/contrib/edk2/Include/Protocol/DevicePath.h | 592 ++-- .../edk2/Include/Protocol/DevicePathFromText.h | 11 +- .../edk2/Include/Protocol/DevicePathToText.h | 12 +- .../edk2/Include/Protocol/DevicePathUtilities.h | 33 +- sys/contrib/edk2/Include/Protocol/SimpleTextIn.h | 19 +- sys/contrib/edk2/Include/Protocol/SimpleTextInEx.h | 124 +- sys/contrib/edk2/Include/Protocol/SimpleTextOut.h | 96 +- sys/contrib/edk2/Include/Uefi.h | 1 - sys/contrib/edk2/Include/Uefi/UefiBaseType.h | 133 +- sys/contrib/edk2/Include/Uefi/UefiGpt.h | 36 +- .../Include/Uefi/UefiInternalFormRepresentation.h | 1480 +++++----- sys/contrib/edk2/Include/Uefi/UefiMultiPhase.h | 58 +- sys/contrib/edk2/Include/Uefi/UefiPxe.h | 608 +++-- sys/contrib/edk2/Include/Uefi/UefiSpec.h | 525 ++-- sys/contrib/edk2/MdePkg.dec | 322 ++- 36 files changed, 8379 insertions(+), 8264 deletions(-) From nobody Wed Apr 23 21:35:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjXTq2ZTGz5swCN; Wed, 23 Apr 2025 21:35: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 4ZjXTp6Cvkz45B9; Wed, 23 Apr 2025 21:35:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745444158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vhC2oM5z9TKZhPSlJiiB8Ike2e65r+FekJu8lDCAD5Y=; b=qJP1ARMLlDmW60gg+/8MG63Pa1kvd1XNWYHiGQ3KI81uiQw3bQs+3jvCoMjQhjxXY6FHZd vZqTw14nmKLP9onLOKABwDYYbsiqUhA/KMgazDdCs7bTDfk05k2FfgSYNN4u2ydedBFtjV qonBxhHJTlhnOxZGYt+6vHjWmqpCxdIYpLZEt2ggXVK4UhqM8DxWO/zA17zqkUKke6w2QV MAjKqRpwdSnGYZ9wlS8qXbw+KRdWY3jd9MRcPMgRg526Th1V5GI/4Na+tDCossXarvCpiw V9NPNNGrmtkurr9t+MbLbBn60fVAJdss+1cCyoeW5wXJodhi32zJHNi1vIbL3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745444158; a=rsa-sha256; cv=none; b=xPsoEb7+gtrkuGqf5QBkPYngChd2lXmKwu79DNnkd4XQMF8jChUcvsTMVp8dhqum/QRIMo kO8M+1VpAMDjZFZQAA6T6uGXnudIXOHUNIxS9JZmoWo/O89ZZQRp59cSkFCNRXgK9J2EEf hroxwtve8zYykJn6HERqKKNhiWH7aWR0CnpDNwIvkv1C0uZ+CA1GrAxFFRK1h26Kk/bPtE IJl0rExHB72BcMYx2o7dXnBVEdEiuxmcqAnrqrn/9CqlTln2JbrXA6BrimybuBwY2gTzlI 73SSpRmVIcysHiMhBkPVU622CEb6+cW19U3QWBNEpDl/9QewgccqAacEYnOhpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745444158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vhC2oM5z9TKZhPSlJiiB8Ike2e65r+FekJu8lDCAD5Y=; b=FHbFcOcSU3F+78C9onHNSV0kGHwdKyKBlEvCXgDKN7t4uBiViRTde9Bec2lDfpXoF3nTSW 09gdf3BYify2XBbZnN64zFRE1AWI+tDjU7opy0LI0Av697CtcUJY0lsTDbr0tYE/mAhf3S bUSvFB6gEN2wjcEZ7cSwR6V2i/ZzrGKAz3ntuGK2TpTcqo6pmFaMObNj7yluP44IvfrEM6 1Fw+l9mKMdd5UbpTkAo9qY9gJlHRG8Vy9QMhXcbLMf2kZMeMfzyMyDS5CQJmr8Xu7fhoy8 dV3+b9TpXUb+jWLpqgyU13C7EO1zgyo9WQ5Jb66KShNhqB90ve+QzA75LyJn5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjXTp5g0Rz5rN; Wed, 23 Apr 2025 21:35: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 53NLZwCi064005; Wed, 23 Apr 2025 21:35:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NLZwYS064002; Wed, 23 Apr 2025 21:35:58 GMT (envelope-from git) Date: Wed, 23 Apr 2025 21:35:58 GMT Message-Id: <202504232135.53NLZwYS064002@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 99984e4b41c4 - main - edk2: #ifdef out STATIC_ASSERTS when !_STANDALONE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 99984e4b41c4ac792c812f1d5b48997e9ac0188f Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=99984e4b41c4ac792c812f1d5b48997e9ac0188f commit 99984e4b41c4ac792c812f1d5b48997e9ac0188f Author: Warner Losh AuthorDate: 2025-04-23 21:31:11 +0000 Commit: Warner Losh CommitDate: 2025-04-23 21:31:11 +0000 edk2: #ifdef out STATIC_ASSERTS when !_STANDALONE All FreeBSD ABIs do not conform to the EDK2 preconditions (except boot loader). These asserts test those things. Since the code from EDK2 that we use does not depend on L" and L' details, commenting them out is fine. Note: This was not in the update since I had to redo it too many times due to lost races and it was a tricky update. Sponsored by: Netflix --- sys/contrib/edk2/Include/Base.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/contrib/edk2/Include/Base.h b/sys/contrib/edk2/Include/Base.h index 6989b10f9e0b..e3d03a9cc5ab 100644 --- a/sys/contrib/edk2/Include/Base.h +++ b/sys/contrib/edk2/Include/Base.h @@ -824,8 +824,15 @@ STATIC_ASSERT (sizeof (INT64) == 8, "sizeof (INT64) does not meet UEFI Specifi STATIC_ASSERT (sizeof (UINT64) == 8, "sizeof (UINT64) does not meet UEFI Specification Data Type requirements"); STATIC_ASSERT (sizeof (CHAR8) == 1, "sizeof (CHAR8) does not meet UEFI Specification Data Type requirements"); STATIC_ASSERT (sizeof (CHAR16) == 2, "sizeof (CHAR16) does not meet UEFI Specification Data Type requirements"); +/* + * FreeBSD uses these headers in userland wher the following two assertions + * fail, but it also takes lengths to never use either of these constructs. The + * boot loader, however, uses them and needs these assertionst o be correct. + */ +#ifdef _STANDALONE STATIC_ASSERT (sizeof (L'A') == 2, "sizeof (L'A') does not meet UEFI Specification Data Type requirements"); STATIC_ASSERT (sizeof (L"A") == 4, "sizeof (L\"A\") does not meet UEFI Specification Data Type requirements"); +#endif STATIC_ASSERT (ALIGNOF (BOOLEAN) == sizeof (BOOLEAN), "Alignment of BOOLEAN does not meet UEFI Specification Data Type requirements"); STATIC_ASSERT (ALIGNOF (INT8) == sizeof (INT8), "Alignment of INT8 does not meet UEFI Specification Data Type requirements"); From nobody Wed Apr 23 21:35:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjXTr4b1wz5swWR; Wed, 23 Apr 2025 21:36: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 4ZjXTr0GPNz458G; Wed, 23 Apr 2025 21:36:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745444160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CCno/PvJzCchwyBoCE9HyDTa8feA65RYt+nQ0SqRwXc=; b=AA+3vt+JAvCoz+pDhcUGDqOMTJ5N0LE7XstCsifWEYze5fDqBbrXQ35i9G9ELuoYwacn7q n1eFhqdBBsjdUDe5qOBRpgb3T7DPYrdRpA+bWwdC6kkMUqeFj2idZUyZ/vgZi2koj02xxT poYaWkmWqG5NzgViFX0cdr3+pzyui9emYJih3VPfO9QoEKtypM94LSdLQfhvhs4OEdhNEu 2bSUqfxAk+z4BmY4qeaFNT5ipTT4NRAFeTHxC4X7psnfDmKV3dTEj4uGKZPCC3fU6BPYxZ gvupUjCT/Sk3ZKjiPkQvHNM7zbU1L2TSNxdG6X1vniMTAnP6A3mX4gOvhVswCw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745444160; a=rsa-sha256; cv=none; b=Qq8gCvHQdkx+v6OxzLluOESGtj7TTZeX59oOZUeiDzEuCfF5eZez+ELSv3+lJaiTkCd3Qa 17++7FyhnHS1IKgDM0K1MHueymKEHCFQG736MYl9RhbYBwIuiu9msCq9zQVAl2rxddCl8P RdR/nyIlqRLPDrENLY4IPXHJN+I7zvI0yRZWs2I7ST2fuj/NMaglsU9YcI09vir7FayDJK MvPVR9g8lnLfl7nr9zYvaKX9e71+iSuzg64Y9F7RNmAV7xhEoCB8Zz1B01+LNeNcXmdIt+ CQdB7jJzKt0z8bNUgbKC0rHPFXVtyx28WgOvX9DzHskPJuzl3/f4gtfAZ/vfPg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745444160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CCno/PvJzCchwyBoCE9HyDTa8feA65RYt+nQ0SqRwXc=; b=IgZgSPl5gHCRFVe+NirO2MK4VLP7nMwUtcckJaZ0YVcDHINBMPXhazxWdlfPnq9Cve/SEa qXfbyyXdvTamuL8j7u9OQirLB04WuoyPOEiPkPR8JNV8grnzAYb2BxF6T4ElPeeTyZgOeD 5koIL56m/JH+VFSXgPbV7q1o18xuJ9Irc30NysoCyKEPuq5mmLwpbGhC/4n79M++rJ0TI9 Q9Q80Ay5PHhF5UzZQQosm8oDdLAlygeOTtWJNEC+N7r7icybJxwhhL45bYhO0yz+d8ESp2 3u+rS2Hrc91xgw71LKoa6vPBieYYzycjWD7J0s9zr/YU+NpsF2WhMxVcnxa5Bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjXTq6zV3z5W8; Wed, 23 Apr 2025 21:35: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 53NLZx2L064040; Wed, 23 Apr 2025 21:35:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NLZx5K064037; Wed, 23 Apr 2025 21:35:59 GMT (envelope-from git) Date: Wed, 23 Apr 2025 21:35:59 GMT Message-Id: <202504232135.53NLZx5K064037@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 828e0ee79ff7 - main - libefivar: Prefer EFI_GUID to GUID List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 828e0ee79ff753fbe676ac7a081bc010c038dbdd Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=828e0ee79ff753fbe676ac7a081bc010c038dbdd commit 828e0ee79ff753fbe676ac7a081bc010c038dbdd Author: Warner Losh AuthorDate: 2025-04-23 21:33:31 +0000 Commit: Warner Losh CommitDate: 2025-04-23 21:33:31 +0000 libefivar: Prefer EFI_GUID to GUID There's more references to EFI_GUID than to GUID, so prefer using that. The EFI_GUID is closely relate to UUID, but not quite identical to it and those slight differences matter sometimes as well (which is how I found these). Since nearly all the EFI code (ours and EDK2) prefers EGI_GUID, use that proactively here. Sponsored by: Netflix --- lib/libefivar/uefi-dplib.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/libefivar/uefi-dplib.h b/lib/libefivar/uefi-dplib.h index e801b5f26a81..6f76a9763a34 100644 --- a/lib/libefivar/uefi-dplib.h +++ b/lib/libefivar/uefi-dplib.h @@ -547,7 +547,7 @@ AllocateCopyPool(size_t l, const void *p) } static inline BOOLEAN -CompareGuid (const GUID *g1, const GUID *g2) +CompareGuid (const EFI_GUID *g1, const EFI_GUID *g2) { uint32_t ignored_status; @@ -578,7 +578,7 @@ StrHexToBytes(const char *str, size_t len, uint8_t *buf, size_t buflen) } static inline void -StrToGuid(const char *str, GUID *guid) +StrToGuid(const char *str, EFI_GUID *guid) { uint32_t status; @@ -599,7 +599,7 @@ WriteUnaligned64(void *ptr, uint64_t val) * Not to mention it's name.... Also, the error GUID is horrific. */ static inline const char * -guid_str(const GUID *g) +guid_str(const EFI_GUID *g) { static char buf[36 + 1]; char *str = NULL; @@ -614,7 +614,7 @@ guid_str(const GUID *g) free(str); return buf; } -#define G(x) guid_str((const GUID *)(const void *)x) +#define G(x) guid_str((const EFI_GUID *)(const void *)x) #endif #undef GLOBAL_REMOVE_IF_UNREFERENCED From nobody Wed Apr 23 22:43:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjYzf1nm9z5t1dD; Wed, 23 Apr 2025 22:43:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZjYzd62Xnz3nXN; Wed, 23 Apr 2025 22:43:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z0Mj+M7Aher/uwnRgpnJ54H7aFRmQJZSwT9b5r7iikg=; b=y14jJefE/RpUsYKmKfzEZKF9axocykMF/zvj42Ea7+2WQ3sFsvxKzETL8qxhxQkAziy3uW t+N3KuYhtPIhv36c210ZxVn6w/qctcJtoUiovp59M0qrfR1jiMGedeBxxa1YxxUNM76JAP SATNsDMZ++tiW/kljwXla8puyhFG+hYGY4wJuNgoLjZGF0NmvOyyMEOOKsaSlj+2Y23XUL P6mJb0WHd1oY/NRPlZQvybQhBR9qls03XR2SXSB1HvWt1uW8AHRlmrFKyWQoA11H8SBmwU 2ZKHNxIRlUI/G0o2l+2DnD7gHJKBYBA08k60yW6KSldCEEPeRKL87JOi4CafaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745448205; a=rsa-sha256; cv=none; b=pfQ9zXGg5RzbiC48w5JqsZtnEJYezBQP3CflbmrlFhmSni37FM08YVPSJvCF1oc0d6vDMR fce8xkI9n1JF9NZGFZUC5kRFWs6S682RlhZ/2ExvBn2FjEiEPLG+nbf9Idpqis1eEMmjeL BpbcNAvD3suGt0JKgBldM7D867DODH2TxONstAgM+LzklEoUA5+BT5FnyNfIMa1/FzCXls 6+7OxykyQLRvEw3fw4AFEYoVRWlCH3P/XJaffWVI2toI0rl1mPlbsGB2m07wS9lHdOKCPr wO+oCOOfClHXhSUw7T63wi9ciXq0gk9JGJgykH8KwEl/hRj8n5oW1S/hjmqkOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448205; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z0Mj+M7Aher/uwnRgpnJ54H7aFRmQJZSwT9b5r7iikg=; b=yiC/VkTSmqsn/Xotul0ng3chBlGAXyzjYuC/6Tv71KqjeemjKdx202ifrrUTrKU6GmnVy7 LdQcnEHiOwzE2j08vt3UfWiEzbttaF8/9GtUV5+YurgvVQ684uya0cwEVkpX/e0BCDtNDh ayacl+GAgxsCmOKnHO1ZKQJKe06se7nYXGUBlhPQiqvzjfTbKOgbDq5JjfZnaFkgj7Pa9o Dghd+wWIHb16W4FDvurFPqjRrgDAFMdQ4oeODMXxAAZDR2j3eHmLz7Jalo5CqOFL10qg4y Yk7qpk+R9TnHz9p8YIdc74P+fNMVl1FJW5uWJ130Vkoi1pVjyMlpbxvDZa4j6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjYzd5b2kz7xd; Wed, 23 Apr 2025 22:43: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 53NMhPwt094718; Wed, 23 Apr 2025 22:43:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NMhPVj094715; Wed, 23 Apr 2025 22:43:25 GMT (envelope-from git) Date: Wed, 23 Apr 2025 22:43:25 GMT Message-Id: <202504232243.53NMhPVj094715@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 26bd37da01cf - main - bnxt_en: Add 5760X (Thor2) PCI IDs support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26bd37da01cff2b2024f3f63b9ca318bf3a01669 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=26bd37da01cff2b2024f3f63b9ca318bf3a01669 commit 26bd37da01cff2b2024f3f63b9ca318bf3a01669 Author: Sreekanth Reddy AuthorDate: 2025-04-09 06:01:31 +0000 Commit: Warner Losh CommitDate: 2025-04-23 22:41:25 +0000 bnxt_en: Add 5760X (Thor2) PCI IDs support Add Thor2 PCI IDs. Reviewed-by: Warner Losh Reviewed-by: Sumit Saxena MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49725 --- sys/dev/bnxt/bnxt_en/bnxt.h | 12 +++++ sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 32 +++++++----- sys/dev/bnxt/bnxt_en/bnxt_sysctl.c | 6 +-- sys/dev/bnxt/bnxt_en/bnxt_ulp.c | 2 +- sys/dev/bnxt/bnxt_en/if_bnxt.c | 101 ++++++++++++++++++++++--------------- 5 files changed, 93 insertions(+), 60 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index b0c3a8913622..815fe68233c6 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -88,6 +88,10 @@ #define BCM57504 0x1751 #define BCM57504_NPAR 0x1801 #define BCM57502 0x1752 +#define BCM57608 0x1760 +#define BCM57604 0x1761 +#define BCM57602 0x1762 +#define BCM57601 0x1763 #define NETXTREME_C_VF1 0x16cb #define NETXTREME_C_VF2 0x16e1 #define NETXTREME_C_VF3 0x16e5 @@ -225,6 +229,13 @@ /* Chip class phase 5 */ #define BNXT_CHIP_P5(sc) ((sc->flags & BNXT_FLAG_CHIP_P5)) +/* Chip class phase 7 */ +#define BNXT_CHIP_P7(sc) ((sc->flags & BNXT_FLAG_CHIP_P7)) + +/* Chip class phase 5 plus */ +#define BNXT_CHIP_P5_PLUS(sc) \ + (BNXT_CHIP_P5(sc) || BNXT_CHIP_P7(sc)) + #define DB_PF_OFFSET_P5 0x10000 #define DB_VF_OFFSET_P5 0x4000 #define NQ_VALID(cmp, v_bit) \ @@ -1002,6 +1013,7 @@ struct bnxt_softc { #define BNXT_FLAG_ROCEV1_CAP 0x0400 #define BNXT_FLAG_ROCEV2_CAP 0x0800 #define BNXT_FLAG_ROCE_CAP (BNXT_FLAG_ROCEV1_CAP | BNXT_FLAG_ROCEV2_CAP) +#define BNXT_FLAG_CHIP_P7 0x1000 uint32_t flags; #define BNXT_STATE_LINK_CHANGE (0) #define BNXT_STATE_MAX (BNXT_STATE_LINK_CHANGE + 1) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index 9252964900ff..b8336eda229e 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -691,7 +691,7 @@ int bnxt_hwrm_func_resc_qcaps(struct bnxt_softc *softc, bool all) hw_resc->min_stat_ctxs = le16toh(resp->min_stat_ctx); hw_resc->max_stat_ctxs = le16toh(resp->max_stat_ctx); - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { hw_resc->max_nqs = le16toh(resp->max_msix); hw_resc->max_hw_ring_grps = hw_resc->max_rx_rings; } @@ -1087,7 +1087,7 @@ bnxt_hwrm_func_qcaps(struct bnxt_softc *softc) softc->flags |= BNXT_FLAG_FW_CAP_EXT_STATS; /* Enable RoCE only on Thor devices */ - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { if (flags & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_ROCE_V1_SUPPORTED) softc->flags |= BNXT_FLAG_ROCEV1_CAP; if (flags & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_ROCE_V2_SUPPORTED) @@ -1244,9 +1244,10 @@ bnxt_hwrm_func_qcfg(struct bnxt_softc *softc) if (BNXT_CHIP_P5(softc)) { if (BNXT_PF(softc)) - min_db_offset = DB_PF_OFFSET_P5; + min_db_offset = DB_PF_OFFSET_P5; else min_db_offset = DB_VF_OFFSET_P5; + softc->legacy_db_size = min_db_offset; } softc->db_size = roundup2(le16_to_cpu(resp->l2_doorbell_bar_size_kb) * @@ -1420,7 +1421,7 @@ bnxt_hwrm_vnic_set_hds(struct bnxt_softc *softc, struct bnxt_vnic_info *vnic) { struct hwrm_vnic_plcmodes_cfg_input req = {0}; - if (!BNXT_CHIP_P5(softc)) + if (!BNXT_CHIP_P5_PLUS(softc)) return 0; bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_VNIC_PLCMODES_CFG); @@ -1444,7 +1445,7 @@ bnxt_hwrm_vnic_cfg(struct bnxt_softc *softc, struct bnxt_vnic_info *vnic) req.flags |= htole32(HWRM_VNIC_CFG_INPUT_FLAGS_BD_STALL_MODE); if (vnic->flags & BNXT_VNIC_FLAG_VLAN_STRIP) req.flags |= htole32(HWRM_VNIC_CFG_INPUT_FLAGS_VLAN_STRIP_MODE); - if (BNXT_CHIP_P5 (softc)) { + if (BNXT_CHIP_P5_PLUS (softc)) { req.default_rx_ring_id = htole16(softc->rx_rings[0].phys_id); req.default_cmpl_ring_id = @@ -1584,7 +1585,7 @@ bnxt_hwrm_ring_grp_alloc(struct bnxt_softc *softc, struct bnxt_grp_info *grp) return EDOOFUS; } - if (BNXT_CHIP_P5 (softc)) + if (BNXT_CHIP_P5_PLUS (softc)) return 0; resp = (void *)softc->hwrm_cmd_resp.idi_vaddr; @@ -1615,7 +1616,7 @@ bnxt_hwrm_ring_grp_free(struct bnxt_softc *softc, struct bnxt_grp_info *grp) if (grp->grp_id == (uint16_t)HWRM_NA_SIGNATURE) return 0; - if (BNXT_CHIP_P5 (softc)) + if (BNXT_CHIP_P5_PLUS (softc)) return 0; bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_RING_GRP_FREE); @@ -1705,7 +1706,7 @@ bnxt_hwrm_ring_alloc(struct bnxt_softc *softc, uint8_t type, HWRM_RING_ALLOC_INPUT_ENABLES_STAT_CTX_ID_VALID); break; case HWRM_RING_ALLOC_INPUT_RING_TYPE_RX: - if (!BNXT_CHIP_P5(softc)) + if (!BNXT_CHIP_P5_PLUS(softc)) break; cp_ring = &softc->rx_cp_rings[idx]; @@ -1717,7 +1718,7 @@ bnxt_hwrm_ring_alloc(struct bnxt_softc *softc, uint8_t type, HWRM_RING_ALLOC_INPUT_ENABLES_STAT_CTX_ID_VALID); break; case HWRM_RING_ALLOC_INPUT_RING_TYPE_RX_AGG: - if (!BNXT_CHIP_P5(softc)) { + if (!BNXT_CHIP_P5_PLUS(softc)) { req.ring_type = HWRM_RING_ALLOC_INPUT_RING_TYPE_RX; break; } @@ -1733,7 +1734,7 @@ bnxt_hwrm_ring_alloc(struct bnxt_softc *softc, uint8_t type, HWRM_RING_ALLOC_INPUT_ENABLES_STAT_CTX_ID_VALID); break; case HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL: - if (!BNXT_CHIP_P5(softc)) { + if (!BNXT_CHIP_P5_PLUS(softc)) { req.int_mode = HWRM_RING_ALLOC_INPUT_INT_MODE_MSIX; break; } @@ -1807,7 +1808,7 @@ bnxt_hwrm_stat_ctx_alloc(struct bnxt_softc *softc, struct bnxt_cp_ring *cpr, req.update_period_ms = htole32(1000); req.stats_dma_addr = htole64(paddr); - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) req.stats_dma_length = htole16(sizeof(struct ctx_hw_stats_ext) - 8); else req.stats_dma_length = htole16(sizeof(struct ctx_hw_stats)); @@ -1919,7 +1920,7 @@ bnxt_hwrm_port_qstats_ext(struct bnxt_softc *softc) if (!rc) { softc->fw_rx_stats_ext_size = le16toh(resp->rx_stat_size) / 8; - if (BNXT_FW_MAJ(softc) < 220 && + if (BNXT_FW_MAJ(softc) < 220 && !BNXT_CHIP_P7(softc) && softc->fw_rx_stats_ext_size > BNXT_RX_STATS_EXT_NUM_LEGACY) softc->fw_rx_stats_ext_size = BNXT_RX_STATS_EXT_NUM_LEGACY; @@ -2123,12 +2124,15 @@ bnxt_hwrm_rss_cfg(struct bnxt_softc *softc, struct bnxt_vnic_info *vnic, bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_VNIC_RSS_CFG); + if (BNXT_CHIP_P7(softc)) + req.flags |= HWRM_VNIC_RSS_CFG_INPUT_FLAGS_IPSEC_HASH_TYPE_CFG_SUPPORT; + req.hash_type = htole32(hash_type); req.ring_grp_tbl_addr = htole64(vnic->rss_grp_tbl.idi_paddr); req.hash_key_tbl_addr = htole64(vnic->rss_hash_key_tbl.idi_paddr); req.rss_ctx_idx = htole16(vnic->rss_id); req.hash_mode_flags = HWRM_FUNC_SPD_CFG_INPUT_HASH_MODE_FLAGS_DEFAULT; - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { req.vnic_id = htole16(vnic->id); req.ring_table_pair_index = 0x0; } @@ -2175,7 +2179,7 @@ bnxt_cfg_async_cr(struct bnxt_softc *softc) req.fid = htole16(0xffff); req.enables = htole32(HWRM_FUNC_CFG_INPUT_ENABLES_ASYNC_EVENT_CR); - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) req.async_event_cr = htole16(softc->nq_rings[0].ring.phys_id); else req.async_event_cr = htole16(softc->def_cp_ring.ring.phys_id); diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c index 6ed7c5e8f42f..51438e657546 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c @@ -553,7 +553,7 @@ bnxt_create_port_stats_sysctls(struct bnxt_softc *softc) "rx_stat_err", CTLFLAG_RD, &softc->rx_port_stats->rx_stat_err, "Received stat err"); - if (BNXT_CHIP_P5(softc) && + if (BNXT_CHIP_P5_PLUS(softc) && (softc->flags & BNXT_FLAG_FW_CAP_EXT_STATS)) { SYSCTL_ADD_QUAD(&softc->hw_stats, SYSCTL_CHILDREN(oid), OID_AUTO, "tx_bytes_cos0", CTLFLAG_RD, @@ -1002,7 +1002,7 @@ bnxt_create_rx_sysctls(struct bnxt_softc *softc, int rxr) if (!oid) return ENOMEM; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) SYSCTL_ADD_QUAD(&softc->hw_stats, SYSCTL_CHILDREN(oid), OID_AUTO, "nq_num_ints", CTLFLAG_RD, &softc->nq_rings[rxr].int_count, "Num Interrupts"); @@ -1589,7 +1589,7 @@ bnxt_reset_ctrl(SYSCTL_HANDLER_ARGS) { if (rc || req->newptr == NULL) return rc; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) simulate_reset(softc, buf); return rc; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_ulp.c b/sys/dev/bnxt/bnxt_en/bnxt_ulp.c index 17ae916052f4..3c1f62cb4da3 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_ulp.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_ulp.c @@ -124,7 +124,7 @@ static void bnxt_fill_msix_vecs(struct bnxt_softc *bp, struct bnxt_msix_entry *e for (i = 0; i < num_msix; i++) { ent[i].vector = bp->irq_tbl[idx + i].vector; ent[i].ring_idx = idx + i; - if (BNXT_CHIP_P5(bp)) + if (BNXT_CHIP_P5_PLUS(bp)) ent[i].db_offset = DB_PF_OFFSET_P5; else ent[i].db_offset = (idx + i) * 0x80; diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index efc467a043f9..f8dd6fad4590 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -147,6 +147,14 @@ static const pci_vendor_info_t bnxt_vendor_info_array[] = "Broadcom BCM57504 NetXtreme-E Ethernet Partition"), PVID(BROADCOM_VENDOR_ID, BCM57502, "Broadcom BCM57502 NetXtreme-E 10Gb/25Gb/50Gb/100Gb/200Gb Ethernet"), + PVID(BROADCOM_VENDOR_ID, BCM57608, + "Broadcom BCM57608 NetXtreme-E 25Gb/50Gb/100Gb/200Gb/400Gb Ethernet"), + PVID(BROADCOM_VENDOR_ID, BCM57604, + "Broadcom BCM57604 NetXtreme-E 25Gb/50Gb/100Gb/200Gb Ethernet"), + PVID(BROADCOM_VENDOR_ID, BCM57602, + "Broadcom BCM57602 NetXtreme-E 25Gb/50Gb Ethernet"), + PVID(BROADCOM_VENDOR_ID, BCM57601, + "Broadcom BCM57601 NetXtreme-E 25Gb/50Gb Ethernet"), PVID(BROADCOM_VENDOR_ID, NETXTREME_C_VF1, "Broadcom NetXtreme-C Ethernet Virtual Function"), PVID(BROADCOM_VENDOR_ID, NETXTREME_C_VF2, @@ -434,7 +442,7 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc = iflib_get_softc(ctx); - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { bnxt_nq_alloc(softc, ntxqsets); if (!softc->nq_rings) { device_printf(iflib_get_dev(ctx), @@ -479,28 +487,29 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->tx_cp_rings[i].ring.idx = i; softc->tx_cp_rings[i].ring.id = (softc->scctx->isc_nrxqsets * 2) + 1 + i; - softc->tx_cp_rings[i].ring.doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5: softc->tx_cp_rings[i].ring.id * 0x80; + softc->tx_cp_rings[i].ring.doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size: softc->tx_cp_rings[i].ring.id * 0x80; softc->tx_cp_rings[i].ring.ring_size = softc->scctx->isc_ntxd[0]; softc->tx_cp_rings[i].ring.vaddr = vaddrs[i * ntxqs]; softc->tx_cp_rings[i].ring.paddr = paddrs[i * ntxqs]; + /* Set up the TX ring */ softc->tx_rings[i].phys_id = (uint16_t)HWRM_NA_SIGNATURE; softc->tx_rings[i].softc = softc; softc->tx_rings[i].idx = i; softc->tx_rings[i].id = (softc->scctx->isc_nrxqsets * 2) + 1 + i; - softc->tx_rings[i].doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->tx_rings[i].id * 0x80; + softc->tx_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->tx_rings[i].id * 0x80; softc->tx_rings[i].ring_size = softc->scctx->isc_ntxd[1]; softc->tx_rings[i].vaddr = vaddrs[i * ntxqs + 1]; softc->tx_rings[i].paddr = paddrs[i * ntxqs + 1]; bnxt_create_tx_sysctls(softc, i); - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { /* Set up the Notification ring (NQ) */ softc->nq_rings[i].stats_ctx_id = HWRM_NA_SIGNATURE; softc->nq_rings[i].ring.phys_id = @@ -508,8 +517,8 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->nq_rings[i].ring.softc = softc; softc->nq_rings[i].ring.idx = i; softc->nq_rings[i].ring.id = i; - softc->nq_rings[i].ring.doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->nq_rings[i].ring.id * 0x80; + softc->nq_rings[i].ring.doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->nq_rings[i].ring.id * 0x80; softc->nq_rings[i].ring.ring_size = softc->scctx->isc_ntxd[2]; softc->nq_rings[i].ring.vaddr = vaddrs[i * ntxqs + 2]; softc->nq_rings[i].ring.paddr = paddrs[i * ntxqs + 2]; @@ -667,13 +676,14 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->rx_cp_rings[i].ring.softc = softc; softc->rx_cp_rings[i].ring.idx = i; softc->rx_cp_rings[i].ring.id = i + 1; - softc->rx_cp_rings[i].ring.doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->rx_cp_rings[i].ring.id * 0x80; + softc->rx_cp_rings[i].ring.doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->rx_cp_rings[i].ring.id * 0x80; /* * If this ring overflows, RX stops working. */ softc->rx_cp_rings[i].ring.ring_size = softc->scctx->isc_nrxd[0]; + softc->rx_cp_rings[i].ring.vaddr = vaddrs[i * nrxqs]; softc->rx_cp_rings[i].ring.paddr = paddrs[i * nrxqs]; @@ -682,8 +692,8 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->rx_rings[i].softc = softc; softc->rx_rings[i].idx = i; softc->rx_rings[i].id = i + 1; - softc->rx_rings[i].doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->rx_rings[i].id * 0x80; + softc->rx_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->rx_rings[i].id * 0x80; softc->rx_rings[i].ring_size = softc->scctx->isc_nrxd[1]; softc->rx_rings[i].vaddr = vaddrs[i * nrxqs + 1]; softc->rx_rings[i].paddr = paddrs[i * nrxqs + 1]; @@ -703,8 +713,8 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->ag_rings[i].softc = softc; softc->ag_rings[i].idx = i; softc->ag_rings[i].id = nrxqsets + i + 1; - softc->ag_rings[i].doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->ag_rings[i].id * 0x80; + softc->ag_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->ag_rings[i].id * 0x80; softc->ag_rings[i].ring_size = softc->scctx->isc_nrxd[2]; softc->ag_rings[i].vaddr = vaddrs[i * nrxqs + 2]; softc->ag_rings[i].paddr = paddrs[i * nrxqs + 2]; @@ -1089,7 +1099,7 @@ static int bnxt_alloc_ctx_mem(struct bnxt_softc *softc) u8 pg_lvl = 1; int i, rc; - if (!BNXT_CHIP_P5(softc)) + if (!BNXT_CHIP_P5_PLUS(softc)) return 0; rc = bnxt_hwrm_func_backing_store_qcaps(softc); @@ -1480,7 +1490,7 @@ static void bnxt_fw_reset_close(struct bnxt_softc *bp) bnxt_hwrm_func_drv_unrgtr(bp, false); for (i = bp->nrxqsets-1; i>=0; i--) { - if (BNXT_CHIP_P5(bp)) + if (BNXT_CHIP_P5_PLUS(bp)) iflib_irq_free(bp->ctx, &bp->nq_rings[i].irq); else iflib_irq_free(bp->ctx, &bp->rx_cp_rings[i].irq); @@ -1831,7 +1841,7 @@ static int bnxt_open(struct bnxt_softc *bp) bp->flags |= BNXT_FLAG_FW_CAP_NEW_RM; } - if (BNXT_CHIP_P5(bp)) + if (BNXT_CHIP_P5_PLUS(bp)) bnxt_hwrm_reserve_pf_rings(bp); /* Get the current configuration of this function */ rc = bnxt_hwrm_func_qcfg(bp); @@ -2174,16 +2184,22 @@ bnxt_attach_pre(if_ctx_t ctx) if ((softc->ver_info->chip_num == BCM57508) || (softc->ver_info->chip_num == BCM57504) || (softc->ver_info->chip_num == BCM57504_NPAR) || - (softc->ver_info->chip_num == BCM57502)) + (softc->ver_info->chip_num == BCM57502) || + (softc->ver_info->chip_num == BCM57601) || + (softc->ver_info->chip_num == BCM57602) || + (softc->ver_info->chip_num == BCM57604)) softc->flags |= BNXT_FLAG_CHIP_P5; + if (softc->ver_info->chip_num == BCM57608) + softc->flags |= BNXT_FLAG_CHIP_P7; + softc->flags |= BNXT_FLAG_TPA; - if (BNXT_CHIP_P5(softc) && (!softc->ver_info->chip_rev) && + if (BNXT_CHIP_P5_PLUS(softc) && (!softc->ver_info->chip_rev) && (!softc->ver_info->chip_metal)) softc->flags &= ~BNXT_FLAG_TPA; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->flags &= ~BNXT_FLAG_TPA; /* Get NVRAM info */ @@ -2302,7 +2318,7 @@ bnxt_attach_pre(if_ctx_t ctx) /* Get the queue config */ bnxt_get_wol_settings(softc); - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) bnxt_hwrm_reserve_pf_rings(softc); rc = bnxt_hwrm_func_qcfg(softc); if (rc) { @@ -2375,8 +2391,8 @@ bnxt_attach_pre(if_ctx_t ctx) softc->def_cp_ring.ring.phys_id = (uint16_t)HWRM_NA_SIGNATURE; softc->def_cp_ring.ring.softc = softc; softc->def_cp_ring.ring.id = 0; - softc->def_cp_ring.ring.doorbell = (BNXT_CHIP_P5(softc)) ? - DB_PF_OFFSET_P5 : softc->def_cp_ring.ring.id * 0x80; + softc->def_cp_ring.ring.doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? + softc->legacy_db_size : softc->def_cp_ring.ring.id * 0x80; softc->def_cp_ring.ring.ring_size = PAGE_SIZE / sizeof(struct cmpl_base); rc = iflib_dma_alloc(ctx, @@ -2513,7 +2529,7 @@ bnxt_detach(if_ctx_t ctx) iflib_irq_free(ctx, &softc->def_cp_ring.irq); /* We need to free() these here... */ for (i = softc->nrxqsets-1; i>=0; i--) { - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) iflib_irq_free(ctx, &softc->nq_rings[i].irq); else iflib_irq_free(ctx, &softc->rx_cp_rings[i].irq); @@ -2619,7 +2635,7 @@ bnxt_hwrm_resource_free(struct bnxt_softc *softc) if (rc) goto fail; - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { rc = bnxt_hwrm_ring_free(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_NQ, &softc->nq_rings[i].ring, @@ -2642,7 +2658,7 @@ static void bnxt_func_reset(struct bnxt_softc *softc) { - if (!BNXT_CHIP_P5(softc)) { + if (!BNXT_CHIP_P5_PLUS(softc)) { bnxt_hwrm_func_reset(softc); return; } @@ -2658,7 +2674,7 @@ bnxt_rss_grp_tbl_init(struct bnxt_softc *softc) int i, j; for (i = 0, j = 0; i < HW_HASH_INDEX_SIZE; i++) { - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { rgt[i++] = htole16(softc->rx_rings[j].phys_id); rgt[i] = htole16(softc->rx_cp_rings[j].ring.phys_id); } else { @@ -2776,7 +2792,7 @@ bnxt_init(if_ctx_t ctx) int i; int rc; - if (!BNXT_CHIP_P5(softc)) { + if (!BNXT_CHIP_P5_PLUS(softc)) { rc = bnxt_hwrm_func_reset(softc); if (rc) return; @@ -2787,7 +2803,7 @@ bnxt_init(if_ctx_t ctx) softc->is_dev_init = true; bnxt_clear_ids(softc); - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) goto skip_def_cp_ring; /* Allocate the default completion ring */ softc->def_cp_ring.cons = UINT32_MAX; @@ -3242,11 +3258,11 @@ bnxt_update_admin_status(if_ctx_t ctx) bnxt_hwrm_port_qstats(softc); - if (BNXT_CHIP_P5(softc) && + if (BNXT_CHIP_P5_PLUS(softc) && (softc->flags & BNXT_FLAG_FW_CAP_EXT_STATS)) bnxt_hwrm_port_qstats_ext(softc); - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { struct ifmediareq ifmr; if (bit_test(softc->state_bv, BNXT_STATE_LINK_CHANGE)) { @@ -3279,10 +3295,11 @@ bnxt_do_enable_intr(struct bnxt_cp_ring *cpr) { struct bnxt_softc *softc = cpr->ring.softc; + if (cpr->ring.phys_id == (uint16_t)HWRM_NA_SIGNATURE) return; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_nq(cpr, 1); else softc->db_ops.bnxt_db_rx_cq(cpr, 1); @@ -3296,7 +3313,7 @@ bnxt_do_disable_intr(struct bnxt_cp_ring *cpr) if (cpr->ring.phys_id == (uint16_t)HWRM_NA_SIGNATURE) return; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_nq(cpr, 0); else softc->db_ops.bnxt_db_rx_cq(cpr, 0); @@ -3311,7 +3328,7 @@ bnxt_intr_enable(if_ctx_t ctx) bnxt_do_enable_intr(&softc->def_cp_ring); for (i = 0; i < softc->nrxqsets; i++) - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_nq(&softc->nq_rings[i], 1); else softc->db_ops.bnxt_db_rx_cq(&softc->rx_cp_rings[i], 1); @@ -3325,7 +3342,7 @@ bnxt_tx_queue_intr_enable(if_ctx_t ctx, uint16_t qid) { struct bnxt_softc *softc = iflib_get_softc(ctx); - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_nq(&softc->nq_rings[qid], 1); else softc->db_ops.bnxt_db_rx_cq(&softc->tx_cp_rings[qid], 1); @@ -3394,7 +3411,7 @@ bnxt_rx_queue_intr_enable(if_ctx_t ctx, uint16_t qid) { struct bnxt_softc *softc = iflib_get_softc(ctx); - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { process_nq(softc, qid); softc->db_ops.bnxt_db_nq(&softc->nq_rings[qid], 1); } @@ -3414,7 +3431,7 @@ bnxt_disable_intr(if_ctx_t ctx) * update the index */ for (i = 0; i < softc->nrxqsets; i++) - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_nq(&softc->nq_rings[i], 0); else softc->db_ops.bnxt_db_rx_cq(&softc->rx_cp_rings[i], 0); @@ -3434,7 +3451,7 @@ bnxt_msix_intr_assign(if_ctx_t ctx, int msix) int i; char irq_name[16]; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) goto skip_default_cp; rc = iflib_irq_alloc_generic(ctx, &softc->def_cp_ring.irq, @@ -3448,7 +3465,7 @@ bnxt_msix_intr_assign(if_ctx_t ctx, int msix) skip_default_cp: for (i=0; iscctx->isc_nrxqsets; i++) { - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { irq = &softc->nq_rings[i].irq; id = softc->nq_rings[i].ring.id; ring = &softc->nq_rings[i]; @@ -3895,7 +3912,7 @@ bnxt_i2c_req(if_ctx_t ctx, struct ifi2creq *i2c) return -EOPNOTSUPP; /* This feature is not supported in older firmware versions */ - if (!BNXT_CHIP_P5(softc) || + if (!BNXT_CHIP_P5_PLUS(softc) || (softc->hwrm_spec_code < 0x10202)) return -EOPNOTSUPP; @@ -4334,7 +4351,7 @@ bnxt_handle_isr(void *arg) cpr->int_count++; /* Disable further interrupts for this queue */ - if (!BNXT_CHIP_P5(softc)) + if (!BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_rx_cq(cpr, 0); return FILTER_SCHEDULE_THREAD; @@ -4493,7 +4510,7 @@ bnxt_handle_async_event(struct bnxt_softc *softc, struct cmpl_base *cmpl) case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_STATUS_CHANGE: case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CHANGE: case HWRM_ASYNC_EVENT_CMPL_EVENT_ID_LINK_SPEED_CFG_CHANGE: - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) bit_set(softc->state_bv, BNXT_STATE_LINK_CHANGE); else bnxt_media_status(softc->ctx, &ifmr); From nobody Wed Apr 23 22:43:26 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjYzg6J0cz5t1dF; Wed, 23 Apr 2025 22:43: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 4ZjYzg0Rvgz3nd7; Wed, 23 Apr 2025 22:43:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mgt+PieaiUNOKtfvR/Wvp2MGKH43lCDx7Vpfg74DbaM=; b=SDI4i6FicjvB7PKGnPtyyr8CHc7qV/tkIaqHPUrmiUqH8T+hC1h24PzxHjr8C6hPX5y0pX qpJxSlSupZcD/pX0BLv/pRAs85/3xNQeTDxstbu0hjiWe0dHhrh9amw7IRZ+45YywUPem4 Obu6q0dPg9ARi4cWDdYza2L4H2aZlPN1DfIE68okkaC1p2oDhWRiM0ua585xA3KruwhAiE /G8Bccmy/K6mho+5gE/DYvvrvJ4f045V7t2Mj6avqmF0WTXb8vfOTla/+gQg8ZBu8cFRgS 3TydsNMQxH88rc7yVoKFCMkzi4rS0Zn7+Fr0W6jmFunyvdmULMyOnPZySqamMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745448207; a=rsa-sha256; cv=none; b=yGjH8qrDHE6USK5ty8A0mJTucmN4TEwKrr+V8PnHrzGrCklVtS6IDl38GoAVyP5K7k92BH PcXiD6U2UoufpzXcHM6cVHFXikKwF0lk7SzNtS2WqHF/zknI2tNad4hYBXvxL55KRDz3dE 7bGUzdYPA6+PsZvg81EPMjuP3HSMeUyIlKS43MiwDKqLPhnS5322z3Al0Yt5wLXcyWV7Xn xtEP/xhKdKLXbHpPSQ5AGz2kTkYwfjuwAypQbyt0V5uUo7jOVEIWvXrdMrTq5yf+Xyv6sw 5MUof1bdajBD+SysMnZMUIEJ9gr8iXRnlxAms4+QRbES0bif4wNgyUOetkUR7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mgt+PieaiUNOKtfvR/Wvp2MGKH43lCDx7Vpfg74DbaM=; b=PpPpLKcqzWu8td6yjGjmFMCuvR4xt//3lvpUjpq9xkVUifbUc9InpBCN1+aMqwAApOX+rc sdQb23k7oUlBZyQ9l4KpG/nbmtf1NgzxY62O7wuR10zpIUm/0CclEWTTW6yWeAwM6qPJ2w I02O6GZdER7xQQ1gAqs992SrLGGJal7YvBCerk4uf2KcE8+feKJgOtJXvuJ4i2HWHyH6wr XMbzG+o0DpJs/xt9WrEHGrHlf4y0JuiiE9b06+RgT3XYtA70EaYE9naCMzs6CXt+QZDHKL laefM3+lo84yGP4c+j8ieW8F7Rb4k1G77xgevfUwyEWdfmAc9gJuMi7rgz0IZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjYzg00WYz7YG; Wed, 23 Apr 2025 22:43: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 53NMhQtQ094752; Wed, 23 Apr 2025 22:43:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NMhQue094748; Wed, 23 Apr 2025 22:43:26 GMT (envelope-from git) Date: Wed, 23 Apr 2025 22:43:26 GMT Message-Id: <202504232243.53NMhQue094748@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: bb90baed6c27 - main - bnxt_en: Update HSI header List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bb90baed6c275495b03adc5569346a59fce2a3c8 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=bb90baed6c275495b03adc5569346a59fce2a3c8 commit bb90baed6c275495b03adc5569346a59fce2a3c8 Author: Sreekanth Reddy AuthorDate: 2025-04-02 11:26:27 +0000 Commit: Warner Losh CommitDate: 2025-04-23 22:41:37 +0000 bnxt_en: Update HSI header Update HSI header to support Thor2 controllers. MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49726 --- sys/dev/bnxt/bnxt_en/bnxt.h | 6 +- sys/dev/bnxt/bnxt_en/hsi_struct_def.h | 3139 ++++++++++++++++++++++++++------- 2 files changed, 2529 insertions(+), 616 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 815fe68233c6..20d0fd2c81c0 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -781,16 +781,16 @@ struct bnxt_ctx_mem_type { #define BNXT_CTX_RQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_RQ_DB_SHADOW #define BNXT_CTX_SRQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_SRQ_DB_SHADOW #define BNXT_CTX_CQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CQ_DB_SHADOW -#define BNXT_CTX_QTKC HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_QUIC_TKC -#define BNXT_CTX_QRKC HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_QUIC_RKC #define BNXT_CTX_MAX (BNXT_CTX_TIM + 1) +#define BNXT_CTX_V2_MAX (HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_ROCE_HWRM_TRACE + 1) + struct bnxt_ctx_mem_info { u8 tqm_fp_rings_count; u32 flags; #define BNXT_CTX_FLAG_INITED 0x01 - struct bnxt_ctx_mem_type ctx_arr[BNXT_CTX_MAX]; + struct bnxt_ctx_mem_type ctx_arr[BNXT_CTX_V2_MAX]; }; struct bnxt_hw_resc { diff --git a/sys/dev/bnxt/bnxt_en/hsi_struct_def.h b/sys/dev/bnxt/bnxt_en/hsi_struct_def.h index baecfc8f659c..5914c70ce671 100644 --- a/sys/dev/bnxt/bnxt_en/hsi_struct_def.h +++ b/sys/dev/bnxt/bnxt_en/hsi_struct_def.h @@ -1,7 +1,7 @@ /*- * BSD LICENSE * - * Copyright (c) 2024 Broadcom, All Rights Reserved. + * Copyright (c) 2025 Broadcom, All Rights Reserved. * The term Broadcom refers to Broadcom Limited and/or its subsidiaries * * Redistribution and use in source and binary forms, with or without @@ -31,7 +31,7 @@ __FBSDID("$FreeBSD$"); /* - * Copyright(c) 2001-2024, Broadcom. All rights reserved. The + * Copyright(c) 2001-2025, Broadcom. All rights reserved. The * term Broadcom refers to Broadcom Inc. and/or its subsidiaries. * Proprietary and Confidential Information. * @@ -80,7 +80,7 @@ typedef struct hwrm_cmd_hdr { * physical address (HPA) or a guest physical address (GPA) and must * point to a physically contiguous block of memory. */ - uint64_t resp_addr; + uint64_t resp_addr; } hwrm_cmd_hdr_t, *phwrm_cmd_hdr_t; /* This is the HWRM response header. */ @@ -596,7 +596,10 @@ typedef struct hwrm_short_input { ((x) == 0x1b1 ? "HWRM_FUNC_LAG_UPDATE": \ ((x) == 0x1b2 ? "HWRM_FUNC_LAG_FREE": \ ((x) == 0x1b3 ? "HWRM_FUNC_LAG_QCFG": \ - "Unknown decode" )))))))))))))))))))))))))))))))))))) : \ + ((x) == 0x1c2 ? "HWRM_FUNC_TIMEDTX_PACING_RATE_ADD": \ + ((x) == 0x1c3 ? "HWRM_FUNC_TIMEDTX_PACING_RATE_DELETE": \ + ((x) == 0x1c4 ? "HWRM_FUNC_TIMEDTX_PACING_RATE_QUERY": \ + "Unknown decode" ))))))))))))))))))))))))))))))))))))))) : \ (((x) < 0x280) ? \ ((x) == 0x200 ? "HWRM_SELFTEST_QLIST": \ ((x) == 0x201 ? "HWRM_SELFTEST_EXEC": \ @@ -625,6 +628,8 @@ typedef struct hwrm_short_input { ((x) == 0x218 ? "HWRM_STAT_GENERIC_QSTATS": \ ((x) == 0x219 ? "HWRM_MFG_PRVSN_EXPORT_CERT": \ ((x) == 0x21a ? "HWRM_STAT_DB_ERROR_QSTATS": \ + ((x) == 0x230 ? "HWRM_PORT_POE_CFG": \ + ((x) == 0x231 ? "HWRM_PORT_POE_QCFG": \ ((x) == 0x258 ? "HWRM_UDCC_QCAPS": \ ((x) == 0x259 ? "HWRM_UDCC_CFG": \ ((x) == 0x25a ? "HWRM_UDCC_QCFG": \ @@ -634,7 +639,10 @@ typedef struct hwrm_short_input { ((x) == 0x25e ? "HWRM_UDCC_COMP_CFG": \ ((x) == 0x25f ? "HWRM_UDCC_COMP_QCFG": \ ((x) == 0x260 ? "HWRM_UDCC_COMP_QUERY": \ - "Unknown decode" )))))))))))))))))))))))))))))))))))) : \ + ((x) == 0x261 ? "HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS": \ + ((x) == 0x262 ? "HWRM_QUEUE_PFCWD_TIMEOUT_CFG": \ + ((x) == 0x263 ? "HWRM_QUEUE_PFCWD_TIMEOUT_QCFG": \ + "Unknown decode" ))))))))))))))))))))))))))))))))))))))))) : \ (((x) < 0x300) ? \ ((x) == 0x2bc ? "HWRM_TF": \ ((x) == 0x2bd ? "HWRM_TF_VERSION_GET": \ @@ -701,14 +709,12 @@ typedef struct hwrm_short_input { ((x) == 0x399 ? "HWRM_TFC_IF_TBL_GET": \ ((x) == 0x39a ? "HWRM_TFC_TBL_SCOPE_CONFIG_GET": \ ((x) == 0x39b ? "HWRM_TFC_RESC_USAGE_QUERY": \ - ((x) == 0x39c ? "HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS": \ - ((x) == 0x39d ? "HWRM_QUEUE_PFCWD_TIMEOUT_CFG": \ - ((x) == 0x39e ? "HWRM_QUEUE_PFCWD_TIMEOUT_QCFG": \ - "Unknown decode" ))))))))))))))))))))))))))))))) : \ + "Unknown decode" )))))))))))))))))))))))))))) : \ (((x) < 0x480) ? \ ((x) == 0x400 ? "HWRM_SV": \ "Unknown decode" ) : \ (((x) < 0xff80) ? \ + ((x) == 0xff0e ? "HWRM_DBG_SERDES_TEST": \ ((x) == 0xff0f ? "HWRM_DBG_LOG_BUFFER_FLUSH": \ ((x) == 0xff10 ? "HWRM_DBG_READ_DIRECT": \ ((x) == 0xff11 ? "HWRM_DBG_READ_INDIRECT": \ @@ -738,8 +744,11 @@ typedef struct hwrm_short_input { ((x) == 0xff29 ? "HWRM_DBG_USEQ_RUN": \ ((x) == 0xff2a ? "HWRM_DBG_USEQ_DELIVERY_REQ": \ ((x) == 0xff2b ? "HWRM_DBG_USEQ_RESP_HDR": \ - "Unknown decode" ))))))))))))))))))))))))))))) : \ - (((x) <= 0xffff) ? \ + ((x) == 0xff2c ? "HWRM_DBG_COREDUMP_CAPTURE": \ + ((x) == 0xff2d ? "HWRM_DBG_PTRACE": \ + ((x) == 0xff2e ? "HWRM_DBG_SIM_CABLE_STATE": \ + "Unknown decode" ))))))))))))))))))))))))))))))))) : \ + (((x) <= UINT16_MAX) ? \ ((x) == 0xffea ? "HWRM_NVM_GET_VPD_FIELD_INFO": \ ((x) == 0xffeb ? "HWRM_NVM_SET_VPD_FIELD_INFO": \ ((x) == 0xffec ? "HWRM_NVM_DEFRAG": \ @@ -1248,13 +1257,25 @@ typedef struct cmd_nums { #define HWRM_FUNC_LAG_FREE UINT32_C(0x1b2) /* The command is used to query a link aggr group. */ #define HWRM_FUNC_LAG_QCFG UINT32_C(0x1b3) + /* This command is use to add TimeTX packet pacing rate. */ + #define HWRM_FUNC_TIMEDTX_PACING_RATE_ADD UINT32_C(0x1c2) + /* + * This command is use to delete TimeTX packet pacing rate + * from the rate table. + */ + #define HWRM_FUNC_TIMEDTX_PACING_RATE_DELETE UINT32_C(0x1c3) + /* + * This command is used to retrieve all the TimeTX pacing rates + * from the rate table that have been added for the function. + */ + #define HWRM_FUNC_TIMEDTX_PACING_RATE_QUERY UINT32_C(0x1c4) /* Experimental */ #define HWRM_SELFTEST_QLIST UINT32_C(0x200) /* Experimental */ #define HWRM_SELFTEST_EXEC UINT32_C(0x201) /* Experimental */ #define HWRM_SELFTEST_IRQ UINT32_C(0x202) - /* Experimental */ + /* Experimental (deprecated) */ #define HWRM_SELFTEST_RETRIEVE_SERDES_DATA UINT32_C(0x203) /* Experimental */ #define HWRM_PCIE_QSTATS UINT32_C(0x204) @@ -1326,6 +1347,16 @@ typedef struct cmd_nums { #define HWRM_MFG_PRVSN_EXPORT_CERT UINT32_C(0x219) /* Query the statistics for doorbell drops due to various error conditions. */ #define HWRM_STAT_DB_ERROR_QSTATS UINT32_C(0x21a) + /* + * The command is used to enable/disable the power on ethernet for + * a particular I/O expander port. + */ + #define HWRM_PORT_POE_CFG UINT32_C(0x230) + /* + * The command is used to query whether the power on ethernet + * is enabled/disabled for a particular I/O expander port. + */ + #define HWRM_PORT_POE_QCFG UINT32_C(0x231) /* * This command returns the capabilities related to User Defined * Congestion Control on a function. @@ -1350,6 +1381,18 @@ typedef struct cmd_nums { #define HWRM_UDCC_COMP_QCFG UINT32_C(0x25f) /* This command queries the status and statistics of the computation unit. */ #define HWRM_UDCC_COMP_QUERY UINT32_C(0x260) + /* + * This command is used to query the pfc watchdog max configurable + * timeout value. + */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS UINT32_C(0x261) + /* This command is used to set the PFC watchdog timeout value. */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_CFG UINT32_C(0x262) + /* + * This command is used to query the current configured pfc watchdog + * timeout value. + */ + #define HWRM_QUEUE_PFCWD_TIMEOUT_QCFG UINT32_C(0x263) /* Experimental */ #define HWRM_TF UINT32_C(0x2bc) /* Experimental */ @@ -1472,20 +1515,10 @@ typedef struct cmd_nums { #define HWRM_TFC_TBL_SCOPE_CONFIG_GET UINT32_C(0x39a) /* TruFlow command to query the resource usage state. */ #define HWRM_TFC_RESC_USAGE_QUERY UINT32_C(0x39b) - /* - * This command is used to query the pfc watchdog max configurable - * timeout value. - */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_QCAPS UINT32_C(0x39c) - /* This command is used to set the PFC watchdog timeout value. */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_CFG UINT32_C(0x39d) - /* - * This command is used to query the current configured pfc watchdog - * timeout value. - */ - #define HWRM_QUEUE_PFCWD_TIMEOUT_QCFG UINT32_C(0x39e) /* Experimental */ #define HWRM_SV UINT32_C(0x400) + /* Run a PCIe or Ethernet serdes test and retrieve test data. */ + #define HWRM_DBG_SERDES_TEST UINT32_C(0xff0e) /* Flush any trace buffer data that has not been sent to the host. */ #define HWRM_DBG_LOG_BUFFER_FLUSH UINT32_C(0xff0f) /* Experimental */ @@ -1543,6 +1576,18 @@ typedef struct cmd_nums { #define HWRM_DBG_USEQ_DELIVERY_REQ UINT32_C(0xff2a) /* Experimental */ #define HWRM_DBG_USEQ_RESP_HDR UINT32_C(0xff2b) + /* + * This command is used to request the firmware to store a coredump + * into Host memory previously specified with the + * HWRM_DBG_CRASHDUMP_MEDIUM_CFG API + */ + #define HWRM_DBG_COREDUMP_CAPTURE UINT32_C(0xff2c) + #define HWRM_DBG_PTRACE UINT32_C(0xff2d) + /* + * This command is used to request the firmware to simulate cable insert + * or removal. + */ + #define HWRM_DBG_SIM_CABLE_STATE UINT32_C(0xff2e) #define HWRM_NVM_GET_VPD_FIELD_INFO UINT32_C(0xffea) #define HWRM_NVM_SET_VPD_FIELD_INFO UINT32_C(0xffeb) #define HWRM_NVM_DEFRAG UINT32_C(0xffec) @@ -1719,7 +1764,7 @@ typedef struct ret_codes { (((x) < 0x8080) ? \ ((x) == 0x8000 ? "TLV_ENCAPSULATED_RESPONSE": \ "Unknown decode" ) : \ - (((x) <= 0xffff) ? \ + (((x) <= UINT16_MAX) ? \ ((x) == 0xfffe ? "UNKNOWN_ERR": \ ((x) == 0xffff ? "CMD_NOT_SUPPORTED": \ "Unknown decode" )) : \ @@ -1803,8 +1848,8 @@ typedef struct hwrm_err_output { #define HWRM_VERSION_MINOR 10 #define HWRM_VERSION_UPDATE 3 /* non-zero means beta version */ -#define HWRM_VERSION_RSVD 42 -#define HWRM_VERSION_STR "1.10.3.42" +#define HWRM_VERSION_RSVD 61 +#define HWRM_VERSION_STR "1.10.3.61" /**************** * hwrm_ver_get * @@ -3299,8 +3344,7 @@ typedef struct tx_bd_short { * * This value must be valid on all BDs of a packet. */ - uint32_t addr_lo; - uint32_t addr_hi; + uint64_t addr; } tx_bd_short_t, *ptx_bd_short_t; /* tx_bd_long (size:128b/16B) */ @@ -3801,8 +3845,7 @@ typedef struct tx_bd_long_inline { * This field must be valid on the first BD of a packet. */ uint32_t opaque; - uint32_t unused1_lo; - uint32_t unused1_hi; + uint64_t unused1; /* * All bits in this field must be valid on the first BD of a packet. * Their value on other BDs of the packet is ignored. @@ -4079,8 +4122,7 @@ typedef struct tx_bd_mp_cmd { * Tx mid-path command. */ uint32_t opaque; - uint32_t unused1_lo; - uint32_t unused1_hi; + uint64_t unused1; } tx_bd_mp_cmd_t, *ptx_bd_mp_cmd_t; /* tx_bd_presync_cmd (size:128b/16B) */ @@ -4226,8 +4268,7 @@ typedef struct tx_bd_timedtx { * corresponding packet using SO_TXTIME mode of timed transmit. * This field is applicable only if flags.kind is so_txtime. */ - uint32_t tx_time_lo; - uint32_t tx_time_hi; + uint64_t tx_time; } tx_bd_timedtx_t, *ptx_bd_timedtx_t; /* rx_prod_pkt_bd (size:128b/16B) */ @@ -4344,8 +4385,7 @@ typedef struct rx_prod_bfr_bd { * While this is a Byte resolution value, it is often advantageous * to ensure that the buffers provide start on a host cache line. */ - uint32_t addr_lo; - uint32_t addr_hi; + uint64_t addr; } rx_prod_bfr_bd_t, *prx_prod_bfr_bd_t; /* rx_prod_agg_bd (size:128b/16B) */ @@ -4397,8 +4437,7 @@ typedef struct rx_prod_agg_bd { * While this is a Byte resolution value, it is often advantageous * to ensure that the buffers provide start on a host cache line. */ - uint32_t addr_lo; - uint32_t addr_hi; + uint64_t addr; } rx_prod_agg_bd_t, *prx_prod_agg_bd_t; /* cfa_cmpls_cmp_data_msg (size:128b/16B) */ @@ -9791,8 +9830,28 @@ typedef struct hwrm_async_event_cmpl { * how much of its host buffer has been populated by the firmware. */ #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_DBG_BUF_PRODUCER UINT32_C(0x4c) + /* + * Memory mapping between GPA and HPA has been configured for + * a peer device. Inform driver to pick up the new mapping. + */ + #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_PEER_MMAP_CHANGE UINT32_C(0x4d) + /* + * Used to notify representor endpoint in the driver about pair creation + * in the firmware. + */ + #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_REPRESENTOR_PAIR_CHANGE UINT32_C(0x4e) + /* + * VF statistics context change. Informs PF driver that a VF + * statistics context has either been allocated or freed. + */ + #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_VF_STAT_CHANGE UINT32_C(0x4f) + /* + * coredump collection into host DMA address. Informs PF driver that + * the coredump has been captured. + */ + #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_HOST_COREDUMP UINT32_C(0x50) /* Maximum Registrable event id. */ - #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_MAX_RGTR_EVENT_ID UINT32_C(0x4d) + #define HWRM_ASYNC_EVENT_CMPL_EVENT_ID_MAX_RGTR_EVENT_ID UINT32_C(0x51) /* * A trace log message. This contains firmware trace logs string * embedded in the asynchronous message. This is an experimental @@ -9869,8 +9928,12 @@ typedef struct hwrm_async_event_cmpl { ((x) == 0x4a ? "CTX_ERROR": \ ((x) == 0x4b ? "UDCC_SESSION_CHANGE": \ ((x) == 0x4c ? "DBG_BUF_PRODUCER": \ - ((x) == 0x4d ? "MAX_RGTR_EVENT_ID": \ - "Unknown decode" )))))))))))))))))))))))))))))))))))))))))))))) : \ + ((x) == 0x4d ? "PEER_MMAP_CHANGE": \ + ((x) == 0x4e ? "REPRESENTOR_PAIR_CHANGE": \ + ((x) == 0x4f ? "VF_STAT_CHANGE": \ + ((x) == 0x50 ? "HOST_COREDUMP": \ + ((x) == 0x51 ? "MAX_RGTR_EVENT_ID": \ + "Unknown decode" )))))))))))))))))))))))))))))))))))))))))))))))))) : \ (((x) < 0x100) ? \ ((x) == 0xfe ? "FW_TRACE_MSG": \ ((x) == 0xff ? "HWRM_ERROR": \ @@ -10307,6 +10370,30 @@ typedef struct hwrm_async_event_cmpl_port_phy_cfg_change { #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_ID_LAST HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_ID_PORT_PHY_CFG_CHANGE /* Event specific data */ uint32_t event_data2; + /* + * This value indicates the current status of the optics module on + * this port. the same information can be found in the module_status + * field of the HWRM_PORT_PHY_QCFG response + */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_MASK UINT32_C(0xff) + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_SFT 0 + /* Module is inserted and accepted */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_NONE UINT32_C(0x0) + /* Module is rejected and transmit side Laser is disabled. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_DISABLETX UINT32_C(0x1) + /* Module mismatch warning. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_MISMATCH UINT32_C(0x2) + /* Module is rejected and powered down. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_PWRDOWN UINT32_C(0x3) + /* Module is not inserted. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_NOTINSERTED UINT32_C(0x4) + /* Module is powered down because of over current fault. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_CURRENTFAULT UINT32_C(0x5) + /* Module is overheated. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_OVERHEATED UINT32_C(0x6) + /* Module status is not applicable. */ + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_NOTAPPLICABLE UINT32_C(0xff) + #define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_LAST HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA2_MODULE_STATUS_NOTAPPLICABLE uint8_t opaque_v; /* * This value is written by the NIC such that it will be different @@ -12244,6 +12331,72 @@ typedef struct hwrm_async_event_udcc_session_change { #define HWRM_ASYNC_EVENT_UDCC_SESSION_CHANGE_EVENT_DATA1_UDCC_SESSION_ID_SFT 0 } hwrm_async_event_udcc_session_change_t, *phwrm_async_event_udcc_session_change_t; +/* hwrm_async_event_representor_pair_change (size:128b/16B) */ + +typedef struct hwrm_async_event_representor_pair_change { + uint16_t type; + /* + * This field indicates the exact type of the completion. + * By convention, the LSB identifies the length of the + * record in 16B units. Even values indicate 16B + * records. Odd values indicate 32B + * records. + */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_TYPE_MASK UINT32_C(0x3f) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_TYPE_SFT 0 + /* HWRM Asynchronous Event Information */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_TYPE_HWRM_ASYNC_EVENT UINT32_C(0x2e) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_TYPE_LAST HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_TYPE_HWRM_ASYNC_EVENT + /* Identifiers of events. */ + uint16_t event_id; + /* + * This async notification message is used to inform the driver + * that firmware has modified a representor pair. + */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_ID_REPRESENTOR_PAIR_CHANGE UINT32_C(0x4e) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_ID_LAST HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_ID_REPRESENTOR_PAIR_CHANGE + /* Event specific data */ + uint32_t event_data2; + /* Representor pair operation code */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_MASK UINT32_C(0xff) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_SFT 0 + /* pair has been created */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_CREATED UINT32_C(0x0) + /* pair has been deleted */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_DELETED UINT32_C(0x1) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_LAST HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_PAIR_OP_CODE_DELETED + /* DSCP insert operation code */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_MASK UINT32_C(0xff00) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_SFT 8 + /* allow dscp modification */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_MODIFY (UINT32_C(0x0) << 8) + /* skip dscp modification */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_IGNORE (UINT32_C(0x1) << 8) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_LAST HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA2_DSCP_OP_CODE_IGNORE + uint8_t opaque_v; + /* + * This value is written by the NIC such that it will be different + * for each pass through the completion queue. The even passes + * will write 1. The odd passes will write 0. + */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_V UINT32_C(0x1) + /* opaque is 7 b */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_OPAQUE_MASK UINT32_C(0xfe) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_OPAQUE_SFT 1 + /* 8-lsb timestamp (100-msec resolution) */ + uint8_t timestamp_lo; + /* 16-lsb timestamp (100-msec resolution) */ + uint16_t timestamp_hi; + /* Event specific data */ + uint32_t event_data1; + /* Representor endpoint fid which was modified */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA1_PAIR_EP_FID_MASK UINT32_C(0xffff) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA1_PAIR_EP_FID_SFT 0 + /* Representor uplink fid which was modified */ + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA1_PAIR_REP_FID_MASK UINT32_C(0xffff0000) + #define HWRM_ASYNC_EVENT_REPRESENTOR_PAIR_CHANGE_EVENT_DATA1_PAIR_REP_FID_SFT 16 +} hwrm_async_event_representor_pair_change_t, *phwrm_async_event_representor_pair_change_t; + /* hwrm_async_event_cmpl_dbg_buf_producer (size:128b/16B) */ typedef struct hwrm_async_event_cmpl_dbg_buf_producer { @@ -12314,9 +12467,62 @@ typedef struct hwrm_async_event_cmpl_dbg_buf_producer { #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_L2_HWRM_TRACE UINT32_C(0x5) /* RoCE HWRM trace. */ #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ROCE_HWRM_TRACE UINT32_C(0x6) - #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ROCE_HWRM_TRACE + /* Context Accelerator CPU 0 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA0_TRACE UINT32_C(0x7) + /* Context Accelerator CPU 1 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA1_TRACE UINT32_C(0x8) + /* Context Accelerator CPU 2 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA2_TRACE UINT32_C(0x9) + /* RIGP1 trace. */ + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP1_TRACE UINT32_C(0xa) + #define HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP1_TRACE } hwrm_async_event_cmpl_dbg_buf_producer_t, *phwrm_async_event_cmpl_dbg_buf_producer_t; +/* hwrm_async_event_cmpl_peer_mmap_change (size:128b/16B) */ + +typedef struct hwrm_async_event_cmpl_peer_mmap_change { + uint16_t type; + /* + * This field indicates the exact type of the completion. + * By convention, the LSB identifies the length of the + * record in 16B units. Even values indicate 16B + * records. Odd values indicate 32B + * records. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_MASK UINT32_C(0x3f) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_SFT 0 + /* HWRM Asynchronous Event Information */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_HWRM_ASYNC_EVENT UINT32_C(0x2e) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_TYPE_HWRM_ASYNC_EVENT + /* Identifiers of events. */ + uint16_t event_id; + /* + * This async notification message is used to inform the driver + * that the memory mapping for a peer device is set. The driver + * will need to query using get_structured_data. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_PEER_MMAP_CHANGE UINT32_C(0x4d) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_LAST HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_EVENT_ID_PEER_MMAP_CHANGE + /* Event specific data. */ + uint32_t event_data2; + uint8_t opaque_v; + /* + * This value is written by the NIC such that it will be different + * for each pass through the completion queue. The even passes + * will write 1. The odd passes will write 0. + */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_V UINT32_C(0x1) + /* opaque is 7 b */ + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_OPAQUE_MASK UINT32_C(0xfe) + #define HWRM_ASYNC_EVENT_CMPL_PEER_MMAP_CHANGE_OPAQUE_SFT 1 + /* 8-lsb timestamp (100-msec resolution) */ + uint8_t timestamp_lo; + /* 16-lsb timestamp (100-msec resolution) */ + uint16_t timestamp_hi; + /* Event specific data */ + uint32_t event_data1; +} hwrm_async_event_cmpl_peer_mmap_change_t, *phwrm_async_event_cmpl_peer_mmap_change_t; + /* hwrm_async_event_cmpl_fw_trace_msg (size:128b/16B) */ typedef struct hwrm_async_event_cmpl_fw_trace_msg { @@ -12948,6 +13154,114 @@ typedef struct hwrm_async_event_cmpl_error_report_dual_data_rate_not_supported { #define HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_DATA1_ERROR_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_DUAL_DATA_RATE_NOT_SUPPORTED_EVENT_DATA1_ERROR_TYPE_DUAL_DATA_RATE_NOT_SUPPORTED } hwrm_async_event_cmpl_error_report_dual_data_rate_not_supported_t, *phwrm_async_event_cmpl_error_report_dual_data_rate_not_supported_t; +/* hwrm_async_event_cmpl_vf_stat_change (size:128b/16B) */ + +typedef struct hwrm_async_event_cmpl_vf_stat_change { + uint16_t type; + /* + * This field indicates the exact type of the completion. + * By convention, the LSB identifies the length of the + * record in 16B units. Even values indicate 16B + * records. Odd values indicate 32B + * records. + */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_TYPE_MASK UINT32_C(0x3f) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_TYPE_SFT 0 + /* HWRM Asynchronous Event Information */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_TYPE_HWRM_ASYNC_EVENT UINT32_C(0x2e) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_TYPE_HWRM_ASYNC_EVENT + /* Identifiers of events. */ + uint16_t event_id; + /* + * VF statistics context change. Informs PF driver that a VF + * statistics context has either been allocated or freed. + */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_ID_VF_STAT_CHANGE UINT32_C(0x4f) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_ID_LAST HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_ID_VF_STAT_CHANGE + /* Event specific data */ + uint32_t event_data2; + /* + * VF ID that allocated the stats context. This is zero-based and + * relative to each PF. + */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA2_VF_ID_MASK UINT32_C(0xffff) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA2_VF_ID_SFT 0 + /* + * A value of zero signals to the PF driver that it can free the host + * buffer associated with the statistics context. + * A non-zero values signals to the PF driver that it should allocate + * a host buffer for the statistics context and inform the firmware + * via HWRM_STAT_CTX_ALLOC. The PF driver must provide the sequence id + * in the corresponding HWRM_STAT_CTX_ALLOC request so that firmware + * can correlate it to the VF statistics context. + */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA2_ACTION_SEQUENCE_ID_MASK UINT32_C(0xffff0000) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA2_ACTION_SEQUENCE_ID_SFT 16 + uint8_t opaque_v; + /* + * This value is written by the NIC such that it will be different + * for each pass through the completion queue. The even passes + * will write 1. The odd passes will write 0. + */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_V UINT32_C(0x1) + /* opaque is 7 b */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_OPAQUE_MASK UINT32_C(0xfe) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_OPAQUE_SFT 1 + /* 8-lsb timestamp (100-msec resolution) */ + uint8_t timestamp_lo; + /* 16-lsb timestamp (100-msec resolution) */ + uint16_t timestamp_hi; + /* Event specific data */ + uint32_t event_data1; + /* VF statistics context identifier */ + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA1_STAT_CTX_ID_MASK UINT32_C(0xffffffff) + #define HWRM_ASYNC_EVENT_CMPL_VF_STAT_CHANGE_EVENT_DATA1_STAT_CTX_ID_SFT 0 +} hwrm_async_event_cmpl_vf_stat_change_t, *phwrm_async_event_cmpl_vf_stat_change_t; + +/* hwrm_async_event_cmpl_host_coredump (size:128b/16B) */ + +typedef struct hwrm_async_event_cmpl_host_coredump { + uint16_t type; + /* + * This field indicates the exact type of the completion. + * By convention, the LSB identifies the length of the + * record in 16B units. Even values indicate 16B + * records. Odd values indicate 32B + * records. + */ + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_TYPE_MASK UINT32_C(0x3f) + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_TYPE_SFT 0 + /* HWRM Asynchronous Event Information */ + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_TYPE_HWRM_ASYNC_EVENT UINT32_C(0x2e) + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_TYPE_LAST HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_TYPE_HWRM_ASYNC_EVENT + /* Identifiers of events. */ + uint16_t event_id; + /* + * coredump collection into host DMA address. Informs PF driver that + * the coredump has been captured. + */ + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_EVENT_ID_HOST_COREDUMP UINT32_C(0x50) + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_EVENT_ID_LAST HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_EVENT_ID_HOST_COREDUMP + /* Event specific data */ + uint32_t event_data2; + uint8_t opaque_v; + /* + * This value is written by the NIC such that it will be different + * for each pass through the completion queue. The even passes + * will write 1. The odd passes will write 0. + */ + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_V UINT32_C(0x1) + /* opaque is 7 b */ + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_OPAQUE_MASK UINT32_C(0xfe) + #define HWRM_ASYNC_EVENT_CMPL_HOST_COREDUMP_OPAQUE_SFT 1 + /* 8-lsb timestamp (100-msec resolution) */ + uint8_t timestamp_lo; + /* 16-lsb timestamp (100-msec resolution) */ + uint16_t timestamp_hi; + /* Event specific data */ + uint32_t event_data1; +} hwrm_async_event_cmpl_host_coredump_t, *phwrm_async_event_cmpl_host_coredump_t; + /* metadata_base_msg (size:64b/8B) */ typedef struct metadata_base_msg { @@ -14491,7 +14805,7 @@ typedef struct hwrm_func_qcaps_input { uint8_t unused_0[6]; } hwrm_func_qcaps_input_t, *phwrm_func_qcaps_input_t; -/* hwrm_func_qcaps_output (size:1088b/136B) */ +/* hwrm_func_qcaps_output (size:1152b/144B) */ typedef struct hwrm_func_qcaps_output { /* The specific error status for the command. */ @@ -15210,6 +15524,43 @@ typedef struct hwrm_func_qcaps_output { * query and clear of the port loopback statistics. */ #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_LPBK_STATS_SUPPORTED UINT32_C(0x2000000) + /* + * When this bit is '1', it indicates that the device supports + * migrating egress NIC flows to Truflow. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_TF_EGRESS_NIC_FLOW_SUPPORTED UINT32_C(0x4000000) + /* + * When this bit is '1', it indicates that the device supports + * multiple lossless CoS queues. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_MULTI_LOSSLESS_QUEUES_SUPPORTED UINT32_C(0x8000000) + /* + * When this bit is '1', it indicates that the firmware supports + * peer memory map storing feature. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_PEER_MMAP_SUPPORTED UINT32_C(0x10000000) + /* + * When this bit is '1', it indicates that the device supports Timed + * Transmit packet pacing; this is applicable to L2 flows only. + * Host software passes the transmit rate of an L2 flow to the + * hardware and hardware uses this rate to derive the transmit time + * for scheduling packet transmission of the flow. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_TIMED_TX_PACING_SUPPORTED UINT32_C(0x20000000) + /* + * When this bit is '1', it indicates that the device supports VF + * statistics ejection. Firmware is capable of copying VF statistics + * to two host buffers - one buffer allocated by VF driver and + * another buffer allocated by the parent PF driver. This bit is + * only set on a PF. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_VF_STAT_EJECTION_SUPPORTED UINT32_C(0x40000000) + /* + * When this bit is '1', it indicates that the parent PF allocated + * the Host DMA buffer to capture the coredump. So that any VF + * driver instance can issue HWRM_DBG_COREDUMP_CAPTURE command + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_HOST_COREDUMP_SUPPORTED UINT32_C(0x80000000) uint16_t tunnel_disable_flag; /* * When this bit is '1', it indicates that the VXLAN parsing @@ -15277,7 +15628,15 @@ typedef struct hwrm_func_qcaps_output { * the number contexts per partition. */ uint16_t ctxs_per_partition; - uint8_t unused_2[2]; + /* + * The maximum number of tso segments that NIC can handle during the + * large segmentation offload. + * If this field is zero, that means there is no limit on the TSO + * segment limit. + * Note that this field will be zero for older firmware that + * doesn't report the max TSO segment limit. + */ + uint16_t max_tso_segs; /* * The maximum number of address vectors that may be allocated across * all VFs for the function. This is valid only on the PF with VF RoCE @@ -15320,7 +15679,16 @@ typedef struct hwrm_func_qcaps_output { * (SR-IOV) disabled or on a VF. */ uint32_t roce_vf_max_gid; - uint8_t unused_3[3]; + uint32_t flags_ext3; + /* + * When this bit is '1', firmware supports the driver using + * FUNC_CFG (or FUNC_VF_CFG) to decrease resource reservations + * while some resources are still allocated. An error is returned + * if the driver tries to set the reservation to be less than the + * number of allocated resources. + */ + #define HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT3_RM_RSV_WHILE_ALLOC_CAP UINT32_C(0x1) + uint8_t unused_3[7]; /* * This field is used in Output records to indicate that the output * is completely written to RAM. This field should be read as '1' @@ -15941,7 +16309,12 @@ typedef struct hwrm_func_qcfg_output { * value is used if ring MTU is not specified. */ uint16_t host_mtu; - uint8_t unused_3[2]; + uint16_t flags2; + /* + * If set to 1, then VF drivers are requested to insert a DSCP + * value into all outgoing L2 packets such that DSCP=VF ID modulo 64 + */ + #define HWRM_FUNC_QCFG_OUTPUT_FLAGS2_SRIOV_DSCP_INSERT_ENABLED UINT32_C(0x1) uint8_t unused_4[2]; /* * KDNet mode for the port for this function. If a VF, KDNet @@ -17631,6 +18004,14 @@ typedef struct hwrm_func_drv_rgtr_input { * function. */ #define HWRM_FUNC_DRV_RGTR_INPUT_FLAGS_TF_INGRESS_NIC_FLOW_MODE UINT32_C(0x800) + /* + * When this bit is 1, the function's driver is indicating to the + * firmware that the Egress NIC flows will be programmed by the + * TruFlow application and the firmware flow manager should reject + * flow-create commands that programs Egress lookup flows for this + * function. + */ + #define HWRM_FUNC_DRV_RGTR_INPUT_FLAGS_TF_EGRESS_NIC_FLOW_MODE UINT32_C(0x1000) uint32_t enables; /* * This bit must be '1' for the os_type field to be @@ -22100,14 +22481,14 @@ typedef struct hwrm_func_ptp_ext_qcfg_output { uint8_t valid; } hwrm_func_ptp_ext_qcfg_output_t, *phwrm_func_ptp_ext_qcfg_output_t; -/*************************** - * hwrm_func_key_ctx_alloc * - ***************************/ +/************************************* + * hwrm_func_timedtx_pacing_rate_add * + *************************************/ -/* hwrm_func_key_ctx_alloc_input (size:384b/48B) */ +/* hwrm_func_timedtx_pacing_rate_add_input (size:192b/24B) */ -typedef struct hwrm_func_key_ctx_alloc_input { +typedef struct hwrm_func_timedtx_pacing_rate_add_input { /* The HWRM command request type. */ uint16_t req_type; /* @@ -22136,61 +22517,20 @@ typedef struct hwrm_func_key_ctx_alloc_input { * point to a physically contiguous block of memory. */ uint64_t resp_addr; - /* Function ID. */ - uint16_t fid; /* - * Number of Key Contexts to be allocated. - * When running in the XID partition mode, if the call is made by - * a VF driver, this field specifies the number of XIDs requested - * by the VF driver. The XID partitions are managed by the PF - * driver in XID partition mode and the VF command will be - * redirected to the PF driver. The PF driver may reduce this - * number if it cannot allocate a big enough block of XID - * partitions to satisfy the request. - * This field must not exceed the maximum batch size specified in - * the max_key_ctxs_alloc field of the HWRM_FUNC_QCAPS response, - * must not be zero, and must be integer multiples of the - * partition size specified in the ctxs_per_partition field of - * the HWRM_FUNC_QCAPS response. - */ - uint16_t num_key_ctxs; - /* - * DMA buffer size in bytes. This field in invalid in the XID - * partition mode. - */ - uint32_t dma_bufr_size_bytes; - /* Key Context type. */ - uint8_t key_ctx_type; - /* KTLS Tx Key Context type. */ - #define HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_TX UINT32_C(0x0) - /* KTLS Rx Key Context type. */ - #define HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_RX UINT32_C(0x1) - /* QUIC Tx Key Context type. */ - #define HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_QUIC_TX UINT32_C(0x2) - /* QUIC Rx Key Context type. */ - #define HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_QUIC_RX UINT32_C(0x3) - #define HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_LAST HWRM_FUNC_KEY_CTX_ALLOC_INPUT_KEY_CTX_TYPE_QUIC_RX - uint8_t unused_0[7]; - /* - * Host DMA address to send back KTLS context IDs. This field is - * invalid in the XID partition mode. - */ - uint64_t host_dma_addr; - /* - * This field is only used by the PF driver that manages the XID - * partitions. This field specifies the starting XID of one or - * more contiguous XID partitions allocated by the PF driver. - * This field is not used by the VF driver. - * If the call is successful, this starting XID value will be - * returned in the partition_start_xid field of the response. + * This field indicates TimedTx pacing rate in kbps. + * The driver needs to add the rate into the hardware rate table + * before requesting the pacing rate for a flow in TimedTX BD and + * this addition should be done for each function rather than for + * each flow/QP within the function. */ - uint32_t partition_start_xid; - uint8_t unused_1[4]; -} hwrm_func_key_ctx_alloc_input_t, *phwrm_func_key_ctx_alloc_input_t; + uint32_t rate; + uint8_t unused_0[4]; +} hwrm_func_timedtx_pacing_rate_add_input_t, *phwrm_func_timedtx_pacing_rate_add_input_t; -/* hwrm_func_key_ctx_alloc_output (size:192b/24B) */ +/* hwrm_func_timedtx_pacing_rate_add_output (size:128b/16B) */ -typedef struct hwrm_func_key_ctx_alloc_output { +typedef struct hwrm_func_timedtx_pacing_rate_add_output { /* The specific error status for the command. */ uint16_t error_code; /* The HWRM command request type. */ @@ -22199,26 +22539,13 @@ typedef struct hwrm_func_key_ctx_alloc_output { uint16_t seq_id; /* The length of the response data in number of bytes. */ uint16_t resp_len; - /* Number of Key Contexts that have been allocated. */ - uint16_t num_key_ctxs_allocated; - /* Control flags. */ - uint8_t flags; /* - * When set, it indicates that all key contexts allocated by this - * command are contiguous. As a result, the driver has to read the - * start context ID from the first entry of the DMA data buffer - * and figures out the end context ID by 'start context ID + - * num_key_ctxs_allocated - 1'. In XID partition mode, - * this bit should always be set. + * This field indicates the logical rate ID that is assigned to the + * rate in the rate table. The driver should use this ID for future + * reference to this rate. */ - #define HWRM_FUNC_KEY_CTX_ALLOC_OUTPUT_FLAGS_KEY_CTXS_CONTIGUOUS UINT32_C(0x1) - uint8_t unused_0; - /* - * This field is only valid in the XID partition mode. It indicates - * the starting XID that has been allocated. - */ - uint32_t partition_start_xid; - uint8_t unused_1[7]; + uint16_t rate_id; + uint8_t unused_0[5]; /* * This field is used in Output records to indicate that the output * is completely written to RAM. This field should be read as '1' @@ -22227,16 +22554,279 @@ typedef struct hwrm_func_key_ctx_alloc_output { * the order of writes has to be such that this field is written last. */ uint8_t valid; -} hwrm_func_key_ctx_alloc_output_t, *phwrm_func_key_ctx_alloc_output_t; +} hwrm_func_timedtx_pacing_rate_add_output_t, *phwrm_func_timedtx_pacing_rate_add_output_t; -/************************** - * hwrm_func_key_ctx_free * - **************************/ +/**************************************** + * hwrm_func_timedtx_pacing_rate_delete * + ****************************************/ -/* hwrm_func_key_ctx_free_input (size:256b/32B) */ +/* hwrm_func_timedtx_pacing_rate_delete_input (size:192b/24B) */ -typedef struct hwrm_func_key_ctx_free_input { +typedef struct hwrm_func_timedtx_pacing_rate_delete_input { + /* The HWRM command request type. */ + uint16_t req_type; + /* + * The completion ring to send the completion event on. This should + * be the NQ ID returned from the `nq_alloc` HWRM command. + */ + uint16_t cmpl_ring; + /* + * The sequence ID is used by the driver for tracking multiple + * commands. This ID is treated as opaque data by the firmware and + * the value is returned in the `hwrm_resp_hdr` upon completion. + */ + uint16_t seq_id; + /* + * The target ID of the command: + * * 0x0-0xFFF8 - The function ID + * * 0xFFF8-0xFFFC, 0xFFFE - Reserved for internal processors + * * 0xFFFD - Reserved for user-space HWRM interface + * * 0xFFFF - HWRM + */ + uint16_t target_id; + /* + * A physical address pointer pointing to a host buffer that the + * command's response data will be written. This can be either a host + * physical address (HPA) or a guest physical address (GPA) and must + * point to a physically contiguous block of memory. + */ + uint64_t resp_addr; + /* + * The logical rate ID that is returned in the TimedTX pacing rate + * add operation. + */ + uint16_t rate_id; + uint8_t unused_0[6]; +} hwrm_func_timedtx_pacing_rate_delete_input_t, *phwrm_func_timedtx_pacing_rate_delete_input_t; + +/* hwrm_func_timedtx_pacing_rate_delete_output (size:128b/16B) */ + +typedef struct hwrm_func_timedtx_pacing_rate_delete_output { + /* The specific error status for the command. */ + uint16_t error_code; + /* The HWRM command request type. */ + uint16_t req_type; + /* The sequence ID from the original command. */ + uint16_t seq_id; + /* The length of the response data in number of bytes. */ + uint16_t resp_len; + uint8_t unused_0[7]; + /* + * This field is used in Output records to indicate that the output + * is completely written to RAM. This field should be read as '1' + * to indicate that the output has been completely written. When + * writing a command completion or response to an internal processor, + * the order of writes has to be such that this field is written last. + */ + uint8_t valid; +} hwrm_func_timedtx_pacing_rate_delete_output_t, *phwrm_func_timedtx_pacing_rate_delete_output_t; + +/*************************************** + * hwrm_func_timedtx_pacing_rate_query * + ***************************************/ + + +/* hwrm_func_timedtx_pacing_rate_query_input (size:192b/24B) */ + +typedef struct hwrm_func_timedtx_pacing_rate_query_input { + /* The HWRM command request type. */ + uint16_t req_type; + /* + * The completion ring to send the completion event on. This should + * be the NQ ID returned from the `nq_alloc` HWRM command. + */ + uint16_t cmpl_ring; *** 3048 LINES SKIPPED *** From nobody Wed Apr 23 22:43:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjYzh40cRz5t1Wf; Wed, 23 Apr 2025 22:43: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 4ZjYzh1SlHz3nXT; Wed, 23 Apr 2025 22:43:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YIQuAZTeAyqhS7PMoH6T0eT5PmJN08MQ2NK/bY96k6c=; b=o7BGM1NI6d6n3g/5E5zO3udas2k/lPp12GV6dzWQpRkp4ThrqZLyDDPmRxwIjqMDAilIKS LS3sDHr+imnALVb6zAYIgIAQjqIG9+hVDtpOwbuJTNmdG7EeqTr8+PQYw3/YHVd8o371WU FJMBH/auhDwxa4TdBkuos9XAEXaz7YQp+4lps4GUtV/XxXbg3UMbeb4PjPOZQBmJQillfN jxDBHSDWU1Y749UrTYdYKU1huei1p+HTobsPPnblZuVvpRUWl7dH4by2lJipay2uwspFUg /37Jo2w1bt/8qAOokSGYVMZDC9id2I4qdZ4C9kkOAPuyaMP3ZR2HlAZAH1aBrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745448208; a=rsa-sha256; cv=none; b=S9gRbgnvJDbGidK5+zS9+s6x48NP93PI17YMv0CIUEFpVhtl2ys4FUOGnPrvZQ6CkaiveT 092vsOqafx8VApZvJIslgzy9K32c3XSjc7F2b1gmfZsq8U8g9/gJNJqZ/VkwucQycS/ziu D2NHQN8upJ5At0aN3bskMZ0Pn+RKbNQ/qH9kyp9EM4R5azuVUJWavPWWUJnIO6bMfincKI jW9grfvA4Oizs20VvTLCwqGX3CmQfLu5TmwgeLeJHFi3Tcp40IApN257PaH37RtBzr3hM3 CHLst1+j/4JnwLu40nvrxpssPiTG/VkFX9g3R1heTy+EMefoxdcjmgbHgLuFqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YIQuAZTeAyqhS7PMoH6T0eT5PmJN08MQ2NK/bY96k6c=; b=g0gLIBiwrTSLKApICMqAl7NpX70wpMzhYgLByfPMUfLWZUzhK9jgrX6lSmC4LewOn8nIkl w0BS+vKgXETYRgpd1q8ViTrT4hgZwzFooJ+R9eTN/pchDQUqXD4Ec/SiUv/re7Sg/oszxz bvg8JMBFaRQE2Hf8ck3OjJJdR0MS1Gn5bJwm0QNviv8eivdBZF23dCFLXSa7dbIozfYYCF D+rrJBIodtSdKPVQtHJ+kJXYbCCqthwiM0NrL2OM7tNATwv8rd3KWDp507q3YRY2Gj96L3 i3GiK1ocESQYkAdExhnsXIvuVp4uUFKo7os8KJdGMl40Axi7AkankyIPsCFi5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjYzh10Wnz7kM; Wed, 23 Apr 2025 22:43: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 53NMhSCv094788; Wed, 23 Apr 2025 22:43:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NMhSYw094782; Wed, 23 Apr 2025 22:43:28 GMT (envelope-from git) Date: Wed, 23 Apr 2025 22:43:28 GMT Message-Id: <202504232243.53NMhSYw094782@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: d5ce906da7c5 - main - bnxt_en: Add backing store V2 support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d5ce906da7c55085f93fce096ebb8bc44a3cffe5 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d5ce906da7c55085f93fce096ebb8bc44a3cffe5 commit d5ce906da7c55085f93fce096ebb8bc44a3cffe5 Author: Sreekanth Reddy AuthorDate: 2025-04-02 11:38:59 +0000 Commit: Warner Losh CommitDate: 2025-04-23 22:41:41 +0000 bnxt_en: Add backing store V2 support Add backing store V2 support. Thor2 controllers supports only the V2 support. MFC-After: 3 days Reviewed-by: Warner Losh Differential-Revision: https://reviews.freebsd.org/D49727 --- sys/dev/bnxt/bnxt_en/bnxt.h | 14 ++++-- sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 92 ++++++++++++++++++++++++++++++++++------ sys/dev/bnxt/bnxt_en/if_bnxt.c | 65 ++++++++++++++++++++++++++-- 3 files changed, 153 insertions(+), 18 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 20d0fd2c81c0..1b928fa9c2fe 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -727,11 +727,11 @@ struct bnxt_ctx_pg_info { #define BNXT_SET_CTX_PAGE_ATTR(attr) \ do { \ if (BNXT_PAGE_SIZE == 0x2000) \ - attr = HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_SRQ_PG_SIZE_PG_8K; \ + attr = HWRM_FUNC_BACKING_STORE_CFG_INPUT_SRQ_PG_SIZE_PG_8K; \ else if (BNXT_PAGE_SIZE == 0x10000) \ - attr = HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_QPC_PG_SIZE_PG_64K; \ + attr = HWRM_FUNC_BACKING_STORE_CFG_INPUT_SRQ_PG_SIZE_PG_64K; \ else \ - attr = HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_QPC_PG_SIZE_PG_4K; \ + attr = HWRM_FUNC_BACKING_STORE_CFG_INPUT_SRQ_PG_SIZE_PG_4K; \ } while (0) struct bnxt_ctx_mem_type { @@ -746,6 +746,8 @@ struct bnxt_ctx_mem_type { #define BNXT_CTX_INIT_INVALID_OFFSET 0xffff u32 max_entries; u32 min_entries; + u8 last:1; + u8 mem_valid:1; u8 split_entry_cnt; #define BNXT_MAX_SPLIT_ENTRY 4 union { @@ -781,9 +783,15 @@ struct bnxt_ctx_mem_type { #define BNXT_CTX_RQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_RQ_DB_SHADOW #define BNXT_CTX_SRQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_SRQ_DB_SHADOW #define BNXT_CTX_CQDBS HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_CQ_DB_SHADOW +#define BNXT_CTX_QTKC HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_QUIC_TKC +#define BNXT_CTX_QRKC HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_QUIC_RKC #define BNXT_CTX_MAX (BNXT_CTX_TIM + 1) +#define BNXT_CTX_L2_MAX (BNXT_CTX_FTQM + 1) #define BNXT_CTX_V2_MAX (HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_ROCE_HWRM_TRACE + 1) +#define BNXT_CTX_SRT_TRACE HWRM_FUNC_BACKING_STORE_QCFG_V2_OUTPUT_TYPE_SRT_TRACE +#define BNXT_CTX_ROCE_HWRM_TRACE HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_TYPE_ROCE_HWRM_TRACE +#define BNXT_CTX_INV ((u16)-1) struct bnxt_ctx_mem_info { u8 tqm_fp_rings_count; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index b8336eda229e..214866b766db 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -350,12 +350,12 @@ qportcfg_exit: return rc; } -static int bnxt_alloc_all_ctx_pg_info(struct bnxt_softc *softc) +static int bnxt_alloc_all_ctx_pg_info(struct bnxt_softc *softc, int ctx_max) { struct bnxt_ctx_mem_info *ctx = softc->ctx_mem; u16 type; - for (type = 0; type < BNXT_CTX_MAX; type++) { + for (type = 0; type < ctx_max; type++) { struct bnxt_ctx_mem_type *ctxm = &ctx->ctx_arr[type]; int n = 1; @@ -364,7 +364,7 @@ static int bnxt_alloc_all_ctx_pg_info(struct bnxt_softc *softc) if (ctxm->instance_bmap) n = hweight32(ctxm->instance_bmap); - ctxm->pg_info = kcalloc(n, sizeof(*ctxm->pg_info), GFP_KERNEL); + ctxm->pg_info = kcalloc(n, sizeof(*ctxm->pg_info), GFP_ATOMIC); if (!ctxm->pg_info) return -ENOMEM; } @@ -383,6 +383,69 @@ static void bnxt_init_ctx_initializer(struct bnxt_ctx_mem_type *ctxm, ctxm->init_value = 0; } +#define BNXT_CTX_INIT_VALID(flags) \ + (!!((flags) & \ + HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_ENABLE_CTX_KIND_INIT)) + +static int +bnxt_hwrm_func_backing_store_qcaps_v2(struct bnxt_softc *softc) +{ + struct hwrm_func_backing_store_qcaps_v2_input req = {0}; + struct hwrm_func_backing_store_qcaps_v2_output *resp = + (void *)softc->hwrm_cmd_resp.idi_vaddr; + struct bnxt_ctx_mem_info *ctx = NULL; + u16 type; + int rc; + + bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_BACKING_STORE_QCAPS_V2); + + ctx = malloc(sizeof(*ctx), M_DEVBUF, M_NOWAIT | M_ZERO); + if (!ctx) + return -ENOMEM; + + softc->ctx_mem = ctx; + + BNXT_HWRM_LOCK(softc); + for (type = 0; type < BNXT_CTX_V2_MAX; ) { + struct bnxt_ctx_mem_type *ctxm = &ctx->ctx_arr[type]; + u8 init_val, init_off, i; + __le32 *p; + u32 flags; + + req.type = cpu_to_le16(type); + rc = _hwrm_send_message(softc, &req, sizeof(req)); + if (rc) + goto ctx_done; + flags = le32_to_cpu(resp->flags); + type = le16_to_cpu(resp->next_valid_type); + if (!(flags & HWRM_FUNC_BACKING_STORE_QCAPS_V2_OUTPUT_FLAGS_TYPE_VALID)) + continue; + + ctxm->type = le16_to_cpu(resp->type); + ctxm->flags = flags; + + ctxm->entry_size = le16_to_cpu(resp->entry_size); + ctxm->instance_bmap = le32_to_cpu(resp->instance_bit_map); + ctxm->entry_multiple = resp->entry_multiple; + ctxm->max_entries = le32_to_cpu(resp->max_num_entries); + ctxm->min_entries = le32_to_cpu(resp->min_num_entries); + init_val = resp->ctx_init_value; + init_off = resp->ctx_init_offset; + bnxt_init_ctx_initializer(ctxm, init_val, init_off, + BNXT_CTX_INIT_VALID(flags)); + ctxm->split_entry_cnt = min_t(u8, resp->subtype_valid_cnt, + BNXT_MAX_SPLIT_ENTRY); + for (i = 0, p = &resp->split_entry_0; i < ctxm->split_entry_cnt; + i++, p++) + ctxm->split[i] = le32_to_cpu(*p); + } + rc = bnxt_alloc_all_ctx_pg_info(softc, BNXT_CTX_V2_MAX); + +ctx_done: + BNXT_HWRM_UNLOCK(softc); + return rc; +} + int bnxt_hwrm_func_backing_store_qcaps(struct bnxt_softc *softc) { struct hwrm_func_backing_store_qcaps_input req = {0}; @@ -393,6 +456,11 @@ int bnxt_hwrm_func_backing_store_qcaps(struct bnxt_softc *softc) if (softc->hwrm_spec_code < 0x10902 || softc->ctx_mem) return 0; + if (BNXT_CHIP_P7(softc)) { + if (softc->fw_cap & BNXT_FW_CAP_BACKING_STORE_V2) + return bnxt_hwrm_func_backing_store_qcaps_v2(softc); + } + if (BNXT_VF(softc)) return 0; @@ -493,7 +561,7 @@ int bnxt_hwrm_func_backing_store_qcaps(struct bnxt_softc *softc) memcpy(ctxm, &ctx->ctx_arr[BNXT_CTX_STQM], sizeof(*ctxm)); ctxm->instance_bmap = (1 << ctx->tqm_fp_rings_count) - 1; - rc = bnxt_alloc_all_ctx_pg_info(softc); + rc = bnxt_alloc_all_ctx_pg_info(softc, BNXT_CTX_MAX); } else { rc = 0; } @@ -512,14 +580,11 @@ ctx_err: static void bnxt_hwrm_set_pg_attr(struct bnxt_ring_mem_info *rmem, uint8_t *pg_attr, uint64_t *pg_dir) { - uint8_t pg_size = 0; + if (!rmem->nr_pages) + return; - if (BNXT_PAGE_SHIFT == 13) - pg_size = 1 << 4; - else if (BNXT_PAGE_SIZE == 16) - pg_size = 2 << 4; + BNXT_SET_CTX_PAGE_ATTR(*pg_attr); - *pg_attr = pg_size; if (rmem->depth >= 1) { if (rmem->depth == 2) *pg_attr |= HWRM_FUNC_BACKING_STORE_CFG_INPUT_QPC_LVL_LVL_2; @@ -720,8 +785,10 @@ int bnxt_hwrm_func_backing_store_cfg_v2(struct bnxt_softc *softc, bnxt_hwrm_cmd_hdr_init(softc, &req, HWRM_FUNC_BACKING_STORE_CFG_V2); + BNXT_HWRM_LOCK(softc); req.type = cpu_to_le16(ctxm->type); req.entry_size = cpu_to_le16(ctxm->entry_size); + req.subtype_valid_cnt = ctxm->split_entry_cnt; for (i = 0, p = &req.split_entry_0; i < ctxm->split_entry_cnt; i++) p[i] = cpu_to_le32(ctxm->split[i]); for (i = 0, j = 0; j < n && !rc; i++) { @@ -737,11 +804,12 @@ int bnxt_hwrm_func_backing_store_cfg_v2(struct bnxt_softc *softc, bnxt_hwrm_set_pg_attr(&ctx_pg->ring_mem, &req.page_size_pbl_level, &req.page_dir); - if (last && j == (n - 1)) + if (last && j == n) req.flags = cpu_to_le32(HWRM_FUNC_BACKING_STORE_CFG_V2_INPUT_FLAGS_BS_CFG_ALL_DONE); - rc = hwrm_send_message(softc, &req, sizeof(req)); + rc = _hwrm_send_message(softc, &req, sizeof(req)); } + BNXT_HWRM_UNLOCK(softc); return rc; } diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index f8dd6fad4590..883f995518d1 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -1053,6 +1053,8 @@ static int bnxt_setup_ctxm_pg_tbls(struct bnxt_softc *softc, rc = bnxt_alloc_ctx_pg_tbls(softc, &ctx_pg[i], mem_size, pg_lvl, ctxm->init_value ? ctxm : NULL); } + if (!rc) + ctxm->mem_valid = 1; return rc; } @@ -1085,6 +1087,54 @@ static void bnxt_free_ctx_mem(struct bnxt_softc *softc) softc->ctx_mem = NULL; } +static int +bnxt_backing_store_cfg_v2(struct bnxt_softc *softc, u32 ena) +{ + struct bnxt_ctx_mem_info *ctx = softc->ctx_mem; + struct bnxt_ctx_mem_type *ctxm; + u16 last_type = BNXT_CTX_INV; + int rc = 0; + u16 type; + + if (BNXT_PF(softc)) { + for (type = BNXT_CTX_SRT_TRACE; type <= BNXT_CTX_ROCE_HWRM_TRACE; type++) { + ctxm = &ctx->ctx_arr[type]; + if (!(ctxm->flags & BNXT_CTX_MEM_TYPE_VALID)) + continue; + rc = bnxt_setup_ctxm_pg_tbls(softc, ctxm, ctxm->max_entries, 1); + if (rc) { + device_printf(softc->dev, "Unable to setup ctx page for type:0x%x.\n", type); + rc = 0; + continue; + } + /* ckp TODO: this is trace buffer related stuff, so keeping it diabled now. needs revisit */ + //bnxt_bs_trace_init(bp, ctxm, type - BNXT_CTX_SRT_TRACE); + last_type = type; + } + } + + if (last_type == BNXT_CTX_INV) { + if (!ena) + return 0; + else if (ena & HWRM_FUNC_BACKING_STORE_CFG_INPUT_ENABLES_TIM) + last_type = BNXT_CTX_MAX - 1; + else + last_type = BNXT_CTX_L2_MAX - 1; + } + ctx->ctx_arr[last_type].last = 1; + + for (type = 0 ; type < BNXT_CTX_V2_MAX; type++) { + ctxm = &ctx->ctx_arr[type]; + + if (!ctxm->mem_valid) + continue; + rc = bnxt_hwrm_func_backing_store_cfg_v2(softc, ctxm, ctxm->last); + if (rc) + return rc; + } + return 0; +} + static int bnxt_alloc_ctx_mem(struct bnxt_softc *softc) { struct bnxt_ctx_pg_info *ctx_pg; @@ -1112,6 +1162,10 @@ static int bnxt_alloc_ctx_mem(struct bnxt_softc *softc) if (!ctx || (ctx->flags & BNXT_CTX_FLAG_INITED)) return 0; + ena = 0; + if (BNXT_VF(softc)) + goto skip_legacy; + ctxm = &ctx->ctx_arr[BNXT_CTX_QP]; l2_qps = ctxm->qp_l2_entries; qp1_qps = ctxm->qp_qp1_entries; @@ -1152,7 +1206,6 @@ static int bnxt_alloc_ctx_mem(struct bnxt_softc *softc) if (rc) return rc; - ena = 0; if (!(softc->flags & BNXT_FLAG_ROCE_CAP)) goto skip_rdma; @@ -1201,10 +1254,16 @@ skip_rdma: } ena |= HWRM_FUNC_BACKING_STORE_CFG_INPUT_DFLT_ENABLES; - rc = bnxt_hwrm_func_backing_store_cfg(softc, ena); +skip_legacy: + if (BNXT_CHIP_P7(softc)) { + if (softc->fw_cap & BNXT_FW_CAP_BACKING_STORE_V2) + rc = bnxt_backing_store_cfg_v2(softc, ena); + } else { + rc = bnxt_hwrm_func_backing_store_cfg(softc, ena); + } if (rc) { device_printf(softc->dev, "Failed configuring context mem, rc = %d.\n", - rc); + rc); return rc; } ctx->flags |= BNXT_CTX_FLAG_INITED; From nobody Wed Apr 23 22:43:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjYzk0L6Yz5t1RN; Wed, 23 Apr 2025 22: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 4ZjYzj24Flz3nXY; Wed, 23 Apr 2025 22:43:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yQ3lQDMVFJgCmpkNPZHmWaqZbl1dLEkWMr/lknnVU7g=; b=P9bDJCDCufbrnutMz6ietPWZAu+mDyU8gKCh5/wpACxwdUwtcs34/EI289bplDGpu+pTQt 9cbKWUZX6g/C5S8cCcTlNLC2I94DhJWOw4PqSDKO8Xrx8kJqkivmVrGEJ15RXxKowLB+kV 3fKdpLiYV4NrcseLoXYNHjwgOEL3PnuGfO3haFDQ3tjB9dRHdqXWEXKe2lhn8of1pszH5t F3Hv5JTWt4lb5u3nzodGNHzsOkRw0+cJs5+rUl2pwtalSkk5WASQX97FOeUa7nBOhDybm4 Ws0lJPwrryco5tgr7rkQRWvAk8OcYosN+HwaIQQzYXq/dJDbf8OUBO10VsIn2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745448209; a=rsa-sha256; cv=none; b=HhZMK4Q2tJD6DO/T7MAQM7n5mT45q1OHfOTfHQKCrbJFOoTKkbVflyyoE3UXlkvyIeBlq6 L0XMfkELv3HKBsqR5HXktx98PIFo3fFXM0dIUH5oBrVz/N5wfCcsgghWEax2os3QE/t6DX 5dAMOl3rY3h6pGAgXOm7Fj7Uc8A+l0CtfVdrW1dWClI6tYEbh/uG5z/c3UZuGxUWDjaHDY OQaYYnu6Bi+3bR52lucEwlmLkGVI3Q/5xVu4uvYAHzaM1zKx62aHwH4LUMgeR4SNQbg5e5 5OQRSG14ZC8GYyIf31vAPKxx1oBTbHVO/Sl8Dyrihbd4+nf7PZs0jA1agWpNYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yQ3lQDMVFJgCmpkNPZHmWaqZbl1dLEkWMr/lknnVU7g=; b=l9BfPooWZrRh6mwauNdVI6bLzsS3LyklzSawGAx7yfOczeBeWo5Cx19c1CvpBi1ruf5WCF ycB2OOf2yDJUT7zHDSPgHbB7sTcHsQbRuxLj/ZD4WV2o0EpyVzrzJY09Oe3oyu8eFt5+hX vcIuaXwiKSMzDbrRCeD/oawZNR+4S3AmnBsldB8w87m4E9ucpvAGGdGgOBXk7XVigfCxFk yKxnj4Uc9T3xmWuViHGZ57h0bdl6bdAySxAqfILid4e8stwrY84hOY5ubhxIqk4TK6tVHl NY1f0g8ctakns90NWd/ZpjWUUKmY89iZv7I3JT1qIQbmX3jbMMIaVbZKaH9/+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjYzj1fPWz7xf; Wed, 23 Apr 2025 22:43: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 53NMhTOs094826; Wed, 23 Apr 2025 22:43:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NMhTm8094822; Wed, 23 Apr 2025 22:43:29 GMT (envelope-from git) Date: Wed, 23 Apr 2025 22:43:29 GMT Message-Id: <202504232243.53NMhTm8094822@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 526d74f6ca55 - main - if_bnxt: add support for RX completion record type V3 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 526d74f6ca55c7a4b9c0c745d13e94c7a7bb6e0b Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=526d74f6ca55c7a4b9c0c745d13e94c7a7bb6e0b commit 526d74f6ca55c7a4b9c0c745d13e94c7a7bb6e0b Author: Sreekanth Reddy AuthorDate: 2025-04-02 06:38:03 +0000 Commit: Warner Losh CommitDate: 2025-04-23 22:41:45 +0000 if_bnxt: add support for RX completion record type V3 Added support for RX V3 completion record types- CMPL_BASE_TYPE_RX_TPA_START_V3 and CMPL_BASE_TYPE_RX_L2_V3. MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49728 --- sys/dev/bnxt/bnxt_en/bnxt_txrx.c | 3 +++ sys/dev/bnxt/bnxt_en/if_bnxt.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_txrx.c b/sys/dev/bnxt/bnxt_en/bnxt_txrx.c index 98575234c515..9a8b92a398cc 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_txrx.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_txrx.c @@ -337,6 +337,7 @@ bnxt_isc_rxd_available(void *sc, uint16_t rxqid, qidx_t idx, qidx_t budget) type = le16toh(cmp[cons].type) & CMPL_BASE_TYPE_MASK; switch (type) { case CMPL_BASE_TYPE_RX_L2: + case CMPL_BASE_TYPE_RX_L2_V3: rcp = (void *)&cmp[cons]; ags = (rcp->agg_bufs_v1 & RX_PKT_CMPL_AGG_BUFS_MASK) >> RX_PKT_CMPL_AGG_BUFS_SFT; @@ -621,10 +622,12 @@ bnxt_isc_rxd_pkt_get(void *sc, if_rxd_info_t ri) switch (type) { case CMPL_BASE_TYPE_RX_L2: + case CMPL_BASE_TYPE_RX_L2_V3: return bnxt_pkt_get_l2(softc, ri, cpr, flags_type); case CMPL_BASE_TYPE_RX_TPA_END: return bnxt_pkt_get_tpa(softc, ri, cpr, flags_type); case CMPL_BASE_TYPE_RX_TPA_START: + case CMPL_BASE_TYPE_RX_TPA_START_V3: rtpa = (void *)&cmp_q[cpr->cons]; agg_id = (rtpa->agg_id & RX_TPA_START_CMPL_AGG_ID_MASK) >> diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 883f995518d1..7c969c82f8fe 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -4712,8 +4712,10 @@ bnxt_def_cp_task(void *context, int pending) break; case CMPL_BASE_TYPE_TX_L2: case CMPL_BASE_TYPE_RX_L2: + case CMPL_BASE_TYPE_RX_L2_V3: case CMPL_BASE_TYPE_RX_AGG: case CMPL_BASE_TYPE_RX_TPA_START: + case CMPL_BASE_TYPE_RX_TPA_START_V3: case CMPL_BASE_TYPE_RX_TPA_END: case CMPL_BASE_TYPE_STAT_EJECT: case CMPL_BASE_TYPE_HWRM_DONE: From nobody Wed Apr 23 22:43:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjYzl2WRXz5t1pw; Wed, 23 Apr 2025 22:43: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 4ZjYzk3DDZz3nXg; Wed, 23 Apr 2025 22: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=1745448210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GA0/aCk117dyi3VxPzstEuepCP/PfiyucW9vz5Ax5f0=; b=ORs2gCH0FU4y//X26+RfY2uBn2vXd33IDeV0kZI1bc3MhkOyJGLnSiBzV9+4C4eQ2HCOxb KczrWByc/nE/kr7CKAlqxFHFXcK3sV8Kd0AXZYERfuni04a1v/9d9z1LulTpP6vBXsif0/ CAg6jbMZOJ/q0UeWkHunFFuLBohHlmV2RXeOaY2iWpedoWV2uJrjWbgQRyu6WX26h1z9PP 2fXcen1Mre5Eqa6sSWm1BZBGvl0lHJAV77Enw2xA5hZF5N5hAqaPNwXlfn0csiVSObMPBZ 6wUSTRwZ2U9Tq4TykYwPZ06yA3e8dIYyOrZK1KDO6Imr5NWGyGscgcetnpCqUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745448210; a=rsa-sha256; cv=none; b=iwhuLhJFImazFeMTGbuPP/ug7T6f+RjAGxIVZzDtnen9Izr8eA72ptKEkm/BStKs/ZQKHR sixyj8NXoC3H+yHqLODgbUU+u8Po0mqbLIYTmcJk6e58i6KwEw37BurQWab5kphH9XqoE9 joVcJFI5VyOpxG2EMGFfrYUFv6VRw8hWrI6tr6uXq7y5NaQasmRhhizUT+45zWwym+ZVrm EqVZv+DTy4UP7M4SZmh+ZFg4lpeOBSYR3v0V86UPvrJESJHRSDCffhZ+vWZOv9e2CEBsxq f7Zkcmg5PzBxleGB+Bgl+1U9ahuh9nTPH8xkmGuw2WKlTL9LgzOJZaPAOhoQBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GA0/aCk117dyi3VxPzstEuepCP/PfiyucW9vz5Ax5f0=; b=xr63YJlqpkW7yWIs4+hMJkVSfMBXv+MBdyu8z+5+Olt5+O6hEGpGBSB+KhGCcsDmanUJvb v+ZLxlqF9qhw1bTXesdDzXOD2uFFTJzMaWxJB619E0O7AcnSRJusSs+HjY5Dqe9txsmHT7 cuLbcQ24js1/Vwh/DzEu0LLfyRTJB4lvxdheLQi/iWWf1wOyN6PjJ7hmfwkH7tS5zPJyNi vB8o1Z1w4jNfxAC7vJn6Soofph16Pu/sioTnGdCbf/uvqV2BcE9WV5CyduHJwMi6FHkbpT lDMXjcEEEwmwMHigrdZJBlEpTX+vqJlr6Ci6MZLcutBWHYsPF3gBg/NJW1i4WQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjYzk2XLyz7nK; Wed, 23 Apr 2025 22: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 53NMhU4N094863; Wed, 23 Apr 2025 22: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 53NMhUo0094860; Wed, 23 Apr 2025 22:43:30 GMT (envelope-from git) Date: Wed, 23 Apr 2025 22:43:30 GMT Message-Id: <202504232243.53NMhUo0094860@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: dac78335c42d - main - bnxt_en: 400G speed support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dac78335c42dce2ce9daf5856539510a42d7d8cd Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dac78335c42dce2ce9daf5856539510a42d7d8cd commit dac78335c42dce2ce9daf5856539510a42d7d8cd Author: Sreekanth Reddy AuthorDate: 2025-04-02 09:39:53 +0000 Commit: Warner Losh CommitDate: 2025-04-23 22:41:48 +0000 bnxt_en: 400G speed support Added 400G speed module support. MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49729 --- sys/dev/bnxt/bnxt_en/bnxt.h | 18 +- sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 34 ++- sys/dev/bnxt/bnxt_en/if_bnxt.c | 524 +++++++++++++++++++++++++++++---------- 3 files changed, 441 insertions(+), 135 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index 1b928fa9c2fe..eff1976a7954 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -411,12 +411,19 @@ struct bnxt_link_info { uint16_t link_speed; uint16_t support_speeds; + uint16_t support_speeds2; uint16_t support_pam4_speeds; uint16_t auto_link_speeds; + uint16_t auto_link_speeds2; uint16_t auto_pam4_link_speeds; uint16_t force_link_speed; + uint16_t force_link_speeds2; uint16_t force_pam4_link_speed; - bool force_pam4_speed_set_by_user; + + bool force_pam4_speed; + bool force_speed2_nrz; + bool force_pam4_56_speed2; + bool force_pam4_112_speed2; uint16_t advertising; uint16_t advertising_pam4; @@ -426,8 +433,11 @@ struct bnxt_link_info { uint16_t support_force_speeds; uint16_t support_pam4_auto_speeds; uint16_t support_pam4_force_speeds; + uint16_t support_auto_speeds2; + uint16_t support_force_speeds2; #define BNXT_SIG_MODE_NRZ HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_NRZ #define BNXT_SIG_MODE_PAM4 HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4 +#define BNXT_SIG_MODE_PAM4_112 HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4_112 uint8_t req_signal_mode; uint8_t active_fec_sig_mode; @@ -447,7 +457,13 @@ enum bnxt_phy_type { BNXT_MEDIA_CR = 0, BNXT_MEDIA_LR, BNXT_MEDIA_SR, + BNXT_MEDIA_ER, BNXT_MEDIA_KR, + BNXT_MEDIA_AC, + BNXT_MEDIA_BASECX, + BNXT_MEDIA_BASET, + BNXT_MEDIA_BASEKX, + BNXT_MEDIA_BASESGMII, BNXT_MEDIA_END }; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index 214866b766db..10c3beac9729 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -1369,15 +1369,24 @@ bnxt_hwrm_set_link_common(struct bnxt_softc *softc, req->flags |= htole32(HWRM_PORT_PHY_CFG_INPUT_FLAGS_RESTART_AUTONEG); } else { - req->flags |= htole32(HWRM_PORT_PHY_CFG_INPUT_FLAGS_FORCE); - if (link_info->force_pam4_speed_set_by_user) { + if (link_info->force_speed2_nrz || + link_info->force_pam4_56_speed2 || + link_info->force_pam4_112_speed2) { + req->force_link_speeds2 = htole16(fw_link_speed); + req->enables |= htole32(HWRM_PORT_PHY_CFG_INPUT_ENABLES_FORCE_LINK_SPEEDS2); + link_info->force_speed2_nrz = false; + link_info->force_pam4_56_speed2 = false; + link_info->force_pam4_112_speed2 = false; + } else if (link_info->force_pam4_speed) { req->force_pam4_link_speed = htole16(fw_link_speed); req->enables |= htole32(HWRM_PORT_PHY_CFG_INPUT_ENABLES_FORCE_PAM4_LINK_SPEED); - link_info->force_pam4_speed_set_by_user = false; + link_info->force_pam4_speed = false; } else { req->force_link_speed = htole16(fw_link_speed); } + + req->flags |= htole32(HWRM_PORT_PHY_CFG_INPUT_FLAGS_FORCE); } /* tell chimp that the setting takes effect immediately */ @@ -2832,7 +2841,7 @@ int bnxt_read_sfp_module_eeprom_info(struct bnxt_softc *softc, uint16_t i2c_addr HWRM_PORT_PHY_I2C_READ_INPUT_ENABLES_PAGE_OFFSET : 0) | (bank_sel_en ? HWRM_PORT_PHY_I2C_READ_INPUT_ENABLES_BANK_NUMBER : 0)); - rc = hwrm_send_message(softc, &req, sizeof(req)); + rc = _hwrm_send_message(softc, &req, sizeof(req)); if (!rc) memcpy(buf + byte_offset, output->data, xfer_size); byte_offset += xfer_size; @@ -2932,6 +2941,10 @@ bnxt_hwrm_port_phy_qcfg(struct bnxt_softc *softc) if (softc->hwrm_spec_code >= 0x10504) link_info->active_fec_sig_mode = resp->active_fec_signal_mode; + link_info->support_speeds2 = le16toh(resp->support_speeds2); + link_info->auto_link_speeds2 = le16toh(resp->auto_link_speeds2); + link_info->force_link_speeds2 = le16toh(resp->force_link_speeds2); + exit: BNXT_HWRM_UNLOCK(softc); return rc; @@ -2943,7 +2956,9 @@ bnxt_phy_qcaps_no_speed(struct hwrm_port_phy_qcaps_output *resp) if (!resp->supported_speeds_auto_mode && !resp->supported_speeds_force_mode && !resp->supported_pam4_speeds_auto_mode && - !resp->supported_pam4_speeds_force_mode) + !resp->supported_pam4_speeds_force_mode && + !resp->supported_speeds2_auto_mode && + !resp->supported_speeds2_force_mode) return true; return false; @@ -2986,6 +3001,7 @@ int bnxt_hwrm_phy_qcaps(struct bnxt_softc *softc) /* Phy re-enabled, reprobe the speeds */ link_info->support_auto_speeds = 0; link_info->support_pam4_auto_speeds = 0; + link_info->support_auto_speeds2 = 0; } } if (resp->supported_speeds_auto_mode) @@ -3001,6 +3017,14 @@ int bnxt_hwrm_phy_qcaps(struct bnxt_softc *softc) link_info->support_pam4_force_speeds = le16toh(resp->supported_pam4_speeds_force_mode); + if (resp->supported_speeds2_auto_mode) + link_info->support_auto_speeds2 = + le16toh(resp->supported_speeds2_auto_mode); + + if (resp->supported_speeds2_force_mode) + link_info->support_force_speeds2 = + le16toh(resp->supported_speeds2_force_mode); + exit: BNXT_HWRM_UNLOCK(softc); return rc; diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 7c969c82f8fe..93966617c742 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -3134,17 +3134,15 @@ bnxt_media_change(if_ctx_t ctx) struct ifmedia *ifm = iflib_get_media(ctx); struct ifmediareq ifmr; int rc; + struct bnxt_link_info *link_info = &softc->link_info; if (IFM_TYPE(ifm->ifm_media) != IFM_ETHER) return EINVAL; - softc->link_info.req_signal_mode = - HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4; - switch (IFM_SUBTYPE(ifm->ifm_media)) { case IFM_100_T: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_100MB; break; case IFM_1000_KX: @@ -3152,103 +3150,229 @@ bnxt_media_change(if_ctx_t ctx) case IFM_1000_CX: case IFM_1000_SX: case IFM_1000_LX: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_1GB; + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_1GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_1GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_1GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_1GB; + link_info->force_speed2_nrz = true; + } + break; + case IFM_2500_KX: case IFM_2500_T: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_2_5GB; break; case IFM_10G_CR1: case IFM_10G_KR: case IFM_10G_LR: case IFM_10G_SR: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_10GB; + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_10GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_10GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_10GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_10GB; + link_info->force_speed2_nrz = true; + } + break; case IFM_20G_KR2: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_20GB; break; case IFM_25G_CR: case IFM_25G_KR: case IFM_25G_SR: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_25GB; + case IFM_25G_LR: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_25GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_25GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_25GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_25GB; + link_info->force_speed2_nrz = true; + } + break; + case IFM_40G_CR4: case IFM_40G_KR4: case IFM_40G_LR4: case IFM_40G_SR4: case IFM_40G_XLAUI: case IFM_40G_XLAUI_AC: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_40GB; + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_40GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_40GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_40GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_40GB; + link_info->force_speed2_nrz = true; + } + break; + case IFM_50G_CR2: case IFM_50G_KR2: + case IFM_50G_KR4: case IFM_50G_SR2: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_50GB; + case IFM_50G_LR2: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_50GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_50GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_50GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_50GB; + link_info->force_speed2_nrz = true; + } + break; + case IFM_50G_CP: case IFM_50G_LR: case IFM_50G_SR: case IFM_50G_KR_PAM4: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_50GB; - softc->link_info.req_signal_mode = - HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4; - softc->link_info.force_pam4_speed_set_by_user = true; + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_pam4_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_50G) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_50GB; + link_info->force_pam4_speed = true; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_50GB_PAM4_56) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_50GB_PAM4_56; + link_info->force_pam4_56_speed2 = true; + } + break; + case IFM_100G_CR4: case IFM_100G_KR4: case IFM_100G_LR4: case IFM_100G_SR4: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_100GB; + case IFM_100G_AUI4: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS_100GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEED_100GB; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_100GB) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_100GB; + link_info->force_speed2_nrz = true; + } + break; + case IFM_100G_CP2: case IFM_100G_SR2: - case IFM_100G_KR_PAM4: case IFM_100G_KR2_PAM4: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_100GB; - softc->link_info.req_signal_mode = - HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4; - softc->link_info.force_pam4_speed_set_by_user = true; + case IFM_100G_AUI2: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_pam4_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_100G) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_100GB; + link_info->force_pam4_speed = true; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_100GB_PAM4_56) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_100GB_PAM4_56; + link_info->force_pam4_56_speed2 = true; + } + + break; + + case IFM_100G_KR_PAM4: + case IFM_100G_CR_PAM4: + case IFM_100G_DR: + case IFM_100G_AUI2_AC: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_100GB_PAM4_112) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_100GB_PAM4_112; + link_info->force_pam4_112_speed2 = true; + } + break; + case IFM_200G_SR4: case IFM_200G_FR4: case IFM_200G_LR4: case IFM_200G_DR4: case IFM_200G_CR4_PAM4: case IFM_200G_KR4_PAM4: - softc->link_info.autoneg &= ~BNXT_AUTONEG_SPEED; - softc->link_info.req_link_speed = - HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_200GB; - softc->link_info.force_pam4_speed_set_by_user = true; - softc->link_info.req_signal_mode = - HWRM_PORT_PHY_QCFG_OUTPUT_SIGNAL_MODE_PAM4; + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_pam4_speeds & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_PAM4_SPEEDS_200G) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_PAM4_LINK_SPEED_200GB; + link_info->force_pam4_speed = true; + + } else if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_200GB_PAM4_56) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_200GB_PAM4_56; + link_info->force_pam4_56_speed2 = true; + } + + break; + + case IFM_200G_AUI4: + + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_200GB_PAM4_112) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_200GB_PAM4_112; + link_info->force_pam4_112_speed2 = true; + } + break; + + case IFM_400G_FR8: + case IFM_400G_LR8: + case IFM_400G_AUI8: + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_400GB_PAM4_56) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_400GB_PAM4_56; + link_info->force_pam4_56_speed2 = true; + } + + break; + + case IFM_400G_AUI8_AC: + case IFM_400G_DR4: + link_info->autoneg &= ~BNXT_AUTONEG_SPEED; + + if (link_info->support_speeds2 & HWRM_PORT_PHY_QCFG_OUTPUT_SUPPORT_SPEEDS2_400GB_PAM4_112) { + link_info->req_link_speed = HWRM_PORT_PHY_CFG_INPUT_FORCE_LINK_SPEEDS2_400GB_PAM4_112; + link_info->force_pam4_112_speed2 = true; + } + + break; + case IFM_1000_T: - softc->link_info.advertising = HWRM_PORT_PHY_CFG_INPUT_AUTO_LINK_SPEED_MASK_1GB; - softc->link_info.autoneg |= BNXT_AUTONEG_SPEED; + link_info->advertising = HWRM_PORT_PHY_CFG_INPUT_AUTO_LINK_SPEED_MASK_1GB; + link_info->autoneg |= BNXT_AUTONEG_SPEED; break; case IFM_10G_T: - softc->link_info.advertising = HWRM_PORT_PHY_CFG_INPUT_AUTO_LINK_SPEED_MASK_10GB; - softc->link_info.autoneg |= BNXT_AUTONEG_SPEED; + link_info->advertising = HWRM_PORT_PHY_CFG_INPUT_AUTO_LINK_SPEED_MASK_10GB; + link_info->autoneg |= BNXT_AUTONEG_SPEED; break; default: device_printf(softc->dev, @@ -3256,9 +3380,10 @@ bnxt_media_change(if_ctx_t ctx) /* Fall-through */ case IFM_AUTO: // Auto - softc->link_info.autoneg |= BNXT_AUTONEG_SPEED; + link_info->autoneg |= BNXT_AUTONEG_SPEED; break; } + rc = bnxt_hwrm_set_link_setting(softc, true, true, true); bnxt_media_status(softc->ctx, &ifmr); return rc; @@ -4030,57 +4155,161 @@ bnxt_probe_phy(struct bnxt_softc *softc) } static void -add_media(struct bnxt_softc *softc, uint8_t media_type, uint16_t supported, - uint16_t supported_pam4) +add_media(struct bnxt_softc *softc, u8 media_type, u16 supported_NRZ_speeds, + u16 supported_pam4_speeds, u16 supported_speeds2) { + switch (media_type) { case BNXT_MEDIA_CR: - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_50G, IFM_50G_CP); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_100G, IFM_100G_CP2); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_200G, IFM_200G_CR4_PAM4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_CR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_CR2); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_CR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_CR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_CR1); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_CX); + + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_50G, IFM_50G_CP); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_100G, IFM_100G_CP2); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_200G, IFM_200G_CR4_PAM4); + + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100GB, IFM_100G_CR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_50GB, IFM_50G_CR2); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_CR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_25GB, IFM_25G_CR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_CR1); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_CX); + /* thor2 nrz*/ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB, IFM_100G_CR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB, IFM_50G_CR2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_40GB, IFM_40G_CR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_25GB, IFM_25G_CR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_CR1); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_CX); + /* thor2 PAM56 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB_PAM4_56, IFM_50G_CP); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_56, IFM_100G_CP2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_56, IFM_200G_CR4_PAM4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_56, IFM_400G_AUI8); + /* thor2 PAM112 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_112, IFM_100G_CR_PAM4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_112, IFM_200G_AUI4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_112, IFM_400G_AUI8_AC); + break; case BNXT_MEDIA_LR: - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_50G, IFM_50G_LR); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_200G, IFM_200G_LR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_LR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_LR2); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_LR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_LR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_LR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_LX); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_50G, IFM_50G_LR); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_200G, IFM_200G_LR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100GB, IFM_100G_LR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_50GB, IFM_50G_LR2); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_LR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_25GB, IFM_25G_LR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_LR); + /* thor2 nrz*/ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB, IFM_100G_LR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB, IFM_50G_LR2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_40GB, IFM_40G_LR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_25GB, IFM_25G_LR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_LR); + /* thor2 PAM56 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB_PAM4_56, IFM_50G_LR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_56, IFM_100G_AUI2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_56, IFM_200G_LR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_56, IFM_400G_LR8); + /* thor2 PAM112 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_112, IFM_100G_AUI2_AC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_112, IFM_200G_AUI4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_112, IFM_400G_AUI8_AC); + break; case BNXT_MEDIA_SR: - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_50G, IFM_50G_SR); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_100G, IFM_100G_SR2); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_200G, IFM_200G_SR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_SR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_SR2); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_SR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_SR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_SR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_SX); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_50G, IFM_50G_SR); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_100G, IFM_100G_SR2); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_200G, IFM_200G_SR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100GB, IFM_100G_SR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_50GB, IFM_50G_SR2); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_SR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_25GB, IFM_25G_SR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_SR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_SX); + /* thor2 nrz*/ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB, IFM_100G_SR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB, IFM_50G_SR2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_40GB, IFM_40G_SR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_25GB, IFM_25G_SR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_SR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_SX); + /* thor2 PAM56 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB_PAM4_56, IFM_50G_SR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_56, IFM_100G_SR2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_56, IFM_200G_SR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_56, IFM_400G_AUI8); + /* thor2 PAM112 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_112, IFM_100G_AUI2_AC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_112, IFM_200G_AUI4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_112, IFM_400G_DR4); + break; + + case BNXT_MEDIA_ER: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_ER4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100GB, IFM_100G_AUI4); + /* thor2 PAM56 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_50GB_PAM4_56, IFM_50G_LR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_56, IFM_100G_AUI2); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_56, IFM_200G_LR4); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_56, IFM_400G_FR8); + /* thor2 PAM112 */ + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_100GB_PAM4_112, IFM_100G_AUI2_AC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_200GB_PAM4_112, IFM_200G_AUI4_AC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_400GB_PAM4_112, IFM_400G_AUI8_AC); break; case BNXT_MEDIA_KR: - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_50G, IFM_50G_KR_PAM4); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_100G, IFM_100G_KR2_PAM4); - BNXT_IFMEDIA_ADD(supported_pam4, PAM4_SPEEDS_200G, IFM_200G_KR4_PAM4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_100GB, IFM_100G_KR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_KR2); - BNXT_IFMEDIA_ADD(supported, SPEEDS_50GB, IFM_50G_KR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_KR4); - BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_KR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_20GB, IFM_20G_KR2); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_KR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_KX); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_50G, IFM_50G_KR_PAM4); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_100G, IFM_100G_KR2_PAM4); + BNXT_IFMEDIA_ADD(supported_pam4_speeds, PAM4_SPEEDS_200G, IFM_200G_KR4_PAM4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100GB, IFM_100G_KR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_50GB, IFM_50G_KR2); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_50GB, IFM_50G_KR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_KR4); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_25GB, IFM_25G_KR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_20GB, IFM_20G_KR2); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_KR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_KX); + break; + + case BNXT_MEDIA_AC: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_25GB, IFM_25G_ACC); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_AOC); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_XLAUI); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_40GB, IFM_40G_XLAUI_AC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_25GB, IFM_25G_ACC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_AOC); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_40GB, IFM_40G_XLAUI); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_40GB, IFM_40G_XLAUI_AC); + break; + + case BNXT_MEDIA_BASECX: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_CX); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_CX); + break; + + case BNXT_MEDIA_BASET: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_T); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_2_5GB, IFM_2500_T); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_T); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_100MB, IFM_100_T); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10MB, IFM_10_T); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_T); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_T); + break; + + case BNXT_MEDIA_BASEKX: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_10GB, IFM_10G_KR); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_2_5GB, IFM_2500_KX); + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_KX); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_10GB, IFM_10G_KR); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_KX); + break; + + case BNXT_MEDIA_BASESGMII: + BNXT_IFMEDIA_ADD(supported_NRZ_speeds, SPEEDS_1GB, IFM_1000_SGMII); + BNXT_IFMEDIA_ADD(supported_speeds2, SPEEDS2_1GB, IFM_1000_SGMII); break; default: @@ -4095,11 +4324,12 @@ static void bnxt_add_media_types(struct bnxt_softc *softc) { struct bnxt_link_info *link_info = &softc->link_info; - uint16_t supported = 0, supported_pam4 = 0; + uint16_t supported_NRZ_speeds = 0, supported_pam4_speeds = 0, supported_speeds2 = 0; uint8_t phy_type = get_phy_type(softc), media_type; - supported = link_info->support_speeds; - supported_pam4 = link_info->support_pam4_speeds; + supported_NRZ_speeds = link_info->support_speeds; + supported_speeds2 = link_info->support_speeds2; + supported_pam4_speeds = link_info->support_pam4_speeds; /* Auto is always supported */ ifmedia_add(softc->media, IFM_ETHER | IFM_AUTO, 0, NULL); @@ -4108,40 +4338,75 @@ bnxt_add_media_types(struct bnxt_softc *softc) return; switch (phy_type) { - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASECR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASECR4: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASECR2: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASECR: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASECR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASECR_CA_L: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASECR_CA_S: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASECR_CA_N: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASECR: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASECR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASECR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASECR4: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASECR8: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASECR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASECR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASECR4: + media_type = BNXT_MEDIA_CR; break; - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASELR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASELR4: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASELR: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASELR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASELR: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASELR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASELR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASELR4: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASELR8: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASELR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASELR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASELR4: + media_type = BNXT_MEDIA_LR; break; - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASESR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASESR10: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASESR4: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASESR: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASESR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASESR: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASEER4: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASEER4: - case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASEER4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_25G_BASESR: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_1G_BASESX: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASESR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASESR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASESR4: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASESR8: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASESR: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASESR2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASESR4: + media_type = BNXT_MEDIA_SR; break; + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_BASEER4: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASEER4: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_50G_BASEER: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASEER2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASEER4: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASEER8: + + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_100G_BASEER: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_200G_BASEER2: + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_400G_BASEER4: + + media_type = BNXT_MEDIA_ER; + break; + case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR4: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR2: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKR: @@ -4149,34 +4414,25 @@ bnxt_add_media_types(struct bnxt_softc *softc) break; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_40G_ACTIVE_CABLE: - BNXT_IFMEDIA_ADD(supported, SPEEDS_25GB, IFM_25G_ACC); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_AOC); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_XLAUI); - BNXT_IFMEDIA_ADD(supported, SPEEDS_40GB, IFM_40G_XLAUI_AC); + media_type = BNXT_MEDIA_AC; return; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_1G_BASECX: - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GBHD, IFM_1000_CX); + media_type = BNXT_MEDIA_BASECX; return; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_1G_BASET: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASET: case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASETE: - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_T); - BNXT_IFMEDIA_ADD(supported, SPEEDS_2_5GB, IFM_2500_T); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_T); - BNXT_IFMEDIA_ADD(supported, SPEEDS_100MB, IFM_100_T); - BNXT_IFMEDIA_ADD(supported, SPEEDS_10MB, IFM_10_T); + media_type = BNXT_MEDIA_BASET; return; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_BASEKX: - BNXT_IFMEDIA_ADD(supported, SPEEDS_10GB, IFM_10G_KR); - BNXT_IFMEDIA_ADD(supported, SPEEDS_2_5GB, IFM_2500_KX); - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_KX); + media_type = BNXT_MEDIA_BASEKX; return; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_SGMIIEXTPHY: - BNXT_IFMEDIA_ADD(supported, SPEEDS_1GB, IFM_1000_SGMII); + media_type = BNXT_MEDIA_BASESGMII; return; case HWRM_PORT_PHY_QCFG_OUTPUT_PHY_TYPE_UNKNOWN: @@ -4189,17 +4445,22 @@ bnxt_add_media_types(struct bnxt_softc *softc) return; } - /* add_media is invoked twice, once with a firmware speed mask of 0 and a valid - * value for both NRZ and PAM4 sig mode. This ensures accurate display of all - * supported medias and currently configured media in the "ifconfig -m" output - */ - - if (link_info->sig_mode == BNXT_SIG_MODE_PAM4) { - add_media(softc, media_type, supported, 0); - add_media(softc, media_type, 0, supported_pam4); - } else { - add_media(softc, media_type, 0, supported_pam4); - add_media(softc, media_type, supported, 0); + switch (link_info->sig_mode) { + case BNXT_SIG_MODE_NRZ: + if (supported_NRZ_speeds != 0) + add_media(softc, media_type, supported_NRZ_speeds, 0, 0); + else + add_media(softc, media_type, 0, 0, supported_speeds2); + break; + case BNXT_SIG_MODE_PAM4: + if (supported_pam4_speeds != 0) + add_media(softc, media_type, 0, supported_pam4_speeds, 0); + else + add_media(softc, media_type, 0, 0, supported_speeds2); + break; + case BNXT_SIG_MODE_PAM4_112: + add_media(softc, media_type, 0, 0, supported_speeds2); + break; } return; @@ -4372,7 +4633,10 @@ bnxt_report_link(struct bnxt_softc *softc) signal_mode = "(NRZ) "; break; case BNXT_SIG_MODE_PAM4: - signal_mode = "(PAM4) "; + signal_mode = "(PAM4 56Gbps) "; + break; + case BNXT_SIG_MODE_PAM4_112: + signal_mode = "(PAM4 112Gbps) "; break; default: break; @@ -4836,6 +5100,8 @@ bnxt_get_baudrate(struct bnxt_link_info *link) return IF_Mbps(10); case HWRM_PORT_PHY_QCFG_OUTPUT_LINK_SPEED_200GB: return IF_Gbps(200); + case HWRM_PORT_PHY_QCFG_OUTPUT_LINK_SPEED_400GB: + return IF_Gbps(400); } return IF_Gbps(100); } From nobody Wed Apr 23 22:43:31 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjYzm0XhPz5t1v5; Wed, 23 Apr 2025 22: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 4ZjYzl3Xqmz3nW0; Wed, 23 Apr 2025 22: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=1745448211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C2zms5CX2seYDZBuuGX4aROJCIXgPuId9YDjxsw7QFI=; b=IyrjMHRRRKd9jaAOiy3pvzhIwJeFXAbgcti9HUOXZPRvUdlXQI7MGVES+cTU3lCXQ6yqoz b7YnO50Fxyif8WgTIqR0NOtaQM6IKnMPOF04dqRDZdmMlcS8WZCw1ZeU7dDUYvjX+rppux 9D0yOWi03rfXNgL0B+8nKXddtVsA/Y0FVep+44zxDpJw7dEhR4eEHfBkKQmOv/Qnf8KVv+ RpwDjiLc9PuJzI47PdpnPs4HeMpSxyOD7+tDogomA0wF55bJjyqbOiy8JnSWGXZkCr8nCg 6Y3tD8vQ8YURxezOYWa2M88zUrpTwYntMM9EwY1sZXQl1PwFmXTDJ5nNMhgW2g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745448211; a=rsa-sha256; cv=none; b=YximTiUDMI9aZbJqPk/InAK0Z9Fz7x1/px8ElTZRU4kJno1XsC8/XlH5u7S+SQ/v4HSFL5 62l3EzvN8AWVah09d/ldylirwkptw8N5nd2hjyQE7sGN5zNC0E2Ur/5ccX4DjH+/44qSh2 8bQeC6cpXcuH7nJl9AvzdKVJfY9mQNuP8ltnecfgDzPm/aWHcpbqurPA1KBeXhEec2g5gr XPS8xZ1Bajh2oo/0Rgba4d9lZsUVqvgNMG7phCUpsmf9cnRObPr0O2McNMSapLNsPk0SjF J4CQLSZMCw1ezp1BYa9voZRp3Zg6G8Zq/LQwm8HQOT2DsXFWyUCIx5dFPu6eLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C2zms5CX2seYDZBuuGX4aROJCIXgPuId9YDjxsw7QFI=; b=U735YYF9jM/R2PehZf4K1fUHHW1VmeqKTI6zdJq9JPFCBQcGY20JH/zgnYSB5X91evEEmb Zm+wAAD7Lh8lpzJm6/nfyR3v9G5Vb55n2Y67qasnhgsVgIlUYdc8aWcaPuOMMpp5VK174s qCK8xmOk6HIaZELbJv+sfLVQraDXiQHIn2OXq6NYemMzEqcaSVC0U6KcRCZ8tBw0c7nV+Z Wc4YnlZuqcnuex+y9w7znZ6J9RNcPG4d8C5jScCzahpGfaCvka0PzYjXIMTs4qvYrWdyPe hmTPFWZF0pid4hiUQSWlqJATX8aiIQ9ajHwPdTeKydt4P3VtA15KrwstyHfT5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjYzl2zmMz7XF; Wed, 23 Apr 2025 22: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 53NMhVpO094897; Wed, 23 Apr 2025 22: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 53NMhVno094894; Wed, 23 Apr 2025 22:43:31 GMT (envelope-from git) Date: Wed, 23 Apr 2025 22:43:31 GMT Message-Id: <202504232243.53NMhVno094894@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 39c0b8b7994b - main - bnxt_en: Thor2 Specific Doorbell related changes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 39c0b8b7994b0d339bffb0b17291c4a2b14cae3a Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=39c0b8b7994b0d339bffb0b17291c4a2b14cae3a commit 39c0b8b7994b0d339bffb0b17291c4a2b14cae3a Author: Sreekanth Reddy AuthorDate: 2025-04-09 05:44:22 +0000 Commit: Warner Losh CommitDate: 2025-04-23 22:41:52 +0000 bnxt_en: Thor2 Specific Doorbell related changes Doorbell offset : For Thor controllers doorbell offset was always hardcoded to 0x10000 for PF devices where as for Thor2 controllers doorbell offset will be legacy_l2_db_size_kb value provided by firmware through hwrm_func_qcfg command. CQ Toggle & Epoch bits support : In order to handle out of order doorbell handling as part of Dropped Doorbell Recovery, HW expects two changes in the driver in data path. - First change is the epoch bit changes while updating the producer indexes of Tx. This epoch bit is toggled by the driver, each time the queue is wrapped for that specific doorbell. - The second change is to add a toggle bit pair to each ARM type doorbell. This includes the CQ_ARMALL, CQ_ARMSE, CQ_ARMENA doorbells. The toggle bit pair in context is incremented by the chip each time a new NQE completion is generated by the chip. To keep the driver in-sync, the toggle bit pair will be passed in the NQE to the host completion. This will be the toggle bit pair value that the host must use to setup the next NQE operation. The driver will pass that latest toggle bit pair value into the ARM type doorbells it generates to the chip. The doorbell clients will compare the toggle bit pair in each doorbell with the value in context. If the values match, the doorbell will be honored. If the values do not match, the doorbell will be discarded. MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49730 --- sys/dev/bnxt/bnxt_en/bnxt.h | 88 ++++++++++++----- sys/dev/bnxt/bnxt_en/bnxt_txrx.c | 52 +++++++++- sys/dev/bnxt/bnxt_en/if_bnxt.c | 203 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 311 insertions(+), 32 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index eff1976a7954..0ba7b5723b91 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -190,32 +190,36 @@ #define BNXT_NO_MORE_WOL_FILTERS 0xFFFF #define bnxt_wol_supported(softc) (!((softc)->flags & BNXT_FLAG_VF) && \ ((softc)->flags & BNXT_FLAG_WOL_CAP )) - /* 64-bit doorbell */ -#define DBR_INDEX_MASK 0x0000000000ffffffULL -#define DBR_PI_LO_MASK 0xff000000UL -#define DBR_PI_LO_SFT 24 -#define DBR_XID_MASK 0x000fffff00000000ULL -#define DBR_XID_SFT 32 -#define DBR_PI_HI_MASK 0xf0000000000000ULL -#define DBR_PI_HI_SFT 52 -#define DBR_PATH_L2 (0x1ULL << 56) -#define DBR_VALID (0x1ULL << 58) -#define DBR_TYPE_SQ (0x0ULL << 60) -#define DBR_TYPE_RQ (0x1ULL << 60) -#define DBR_TYPE_SRQ (0x2ULL << 60) -#define DBR_TYPE_SRQ_ARM (0x3ULL << 60) -#define DBR_TYPE_CQ (0x4ULL << 60) -#define DBR_TYPE_CQ_ARMSE (0x5ULL << 60) -#define DBR_TYPE_CQ_ARMALL (0x6ULL << 60) -#define DBR_TYPE_CQ_ARMENA (0x7ULL << 60) -#define DBR_TYPE_SRQ_ARMENA (0x8ULL << 60) -#define DBR_TYPE_CQ_CUTOFF_ACK (0x9ULL << 60) -#define DBR_TYPE_NQ (0xaULL << 60) -#define DBR_TYPE_NQ_ARM (0xbULL << 60) -#define DBR_TYPE_PUSH_START (0xcULL << 60) -#define DBR_TYPE_PUSH_END (0xdULL << 60) -#define DBR_TYPE_NULL (0xfULL << 60) +#define DBR_INDEX_MASK 0x0000000000ffffffULL +#define DBR_PI_LO_MASK 0xff000000UL +#define DBR_PI_LO_SFT 24 +#define DBR_EPOCH_MASK 0x01000000UL +#define DBR_EPOCH_SFT 24 +#define DBR_TOGGLE_MASK 0x06000000UL +#define DBR_TOGGLE_SFT 25 +#define DBR_XID_MASK 0x000fffff00000000ULL +#define DBR_XID_SFT 32 +#define DBR_PI_HI_MASK 0xf0000000000000ULL +#define DBR_PI_HI_SFT 52 +#define DBR_PATH_L2 (0x1ULL << 56) +#define DBR_VALID (0x1ULL << 58) +#define DBR_TYPE_SQ (0x0ULL << 60) +#define DBR_TYPE_RQ (0x1ULL << 60) +#define DBR_TYPE_SRQ (0x2ULL << 60) +#define DBR_TYPE_SRQ_ARM (0x3ULL << 60) +#define DBR_TYPE_CQ (0x4ULL << 60) +#define DBR_TYPE_CQ_ARMSE (0x5ULL << 60) +#define DBR_TYPE_CQ_ARMALL (0x6ULL << 60) +#define DBR_TYPE_CQ_ARMENA (0x7ULL << 60) +#define DBR_TYPE_SRQ_ARMENA (0x8ULL << 60) +#define DBR_TYPE_CQ_CUTOFF_ACK (0x9ULL << 60) +#define DBR_TYPE_NQ (0xaULL << 60) +#define DBR_TYPE_NQ_ARM (0xbULL << 60) +#define DBR_TYPE_PUSH_START (0xcULL << 60) +#define DBR_TYPE_PUSH_END (0xdULL << 60) +#define DBR_TYPE_NQ_MASK (0xeULL << 60) +#define DBR_TYPE_NULL (0xfULL << 60) #define BNXT_MAX_L2_QUEUES 128 #define BNXT_ROCE_IRQ_COUNT 9 @@ -582,6 +586,8 @@ struct bnxt_grp_info { uint16_t ag_ring_id; }; +#define EPOCH_ARR_SZ 4096 + struct bnxt_ring { uint64_t paddr; vm_offset_t doorbell; @@ -592,12 +598,24 @@ struct bnxt_ring { uint16_t phys_id; uint16_t idx; struct bnxt_full_tpa_start *tpa_start; + union { + u64 db_key64; + u32 db_key32; + }; + uint32_t db_ring_mask; + uint32_t db_epoch_mask; + uint8_t db_epoch_shift; + + uint64_t epoch_arr[EPOCH_ARR_SZ]; + bool epoch_bit; + }; struct bnxt_cp_ring { struct bnxt_ring ring; struct if_irq irq; uint32_t cons; + uint32_t raw_cons; bool v_bit; /* Value of valid bit */ struct ctx_hw_stats *stats; uint32_t stats_ctx_id; @@ -605,6 +623,10 @@ struct bnxt_cp_ring { * set to the last read pidx */ uint64_t int_count; + uint8_t toggle; + uint8_t type; +#define Q_TYPE_TX 1 +#define Q_TYPE_RX 2 }; struct bnxt_full_tpa_start { @@ -1005,6 +1027,22 @@ struct bnxt_fw_health { #define BNXT_GRC_BASE_MASK 0xfffff000 #define BNXT_GRC_OFFSET_MASK 0x00000ffc + +#define NQE_CN_TYPE(type) ((type) & NQ_CN_TYPE_MASK) +#define NQE_CN_TOGGLE(type) (((type) & NQ_CN_TOGGLE_MASK) >> \ + NQ_CN_TOGGLE_SFT) + +#define DB_EPOCH(ring, idx) (((idx) & (ring)->db_epoch_mask) << \ + ((ring)->db_epoch_shift)) + +#define DB_TOGGLE(tgl) ((tgl) << DBR_TOGGLE_SFT) + +#define DB_RING_IDX_CMP(ring, idx) (((idx) & (ring)->db_ring_mask) | \ + DB_EPOCH(ring, idx)) + +#define DB_RING_IDX(ring, idx, bit) (((idx) & (ring)->db_ring_mask) | \ + ((bit) << (24))) + struct bnxt_softc { device_t dev; if_ctx_t ctx; diff --git a/sys/dev/bnxt/bnxt_en/bnxt_txrx.c b/sys/dev/bnxt/bnxt_en/bnxt_txrx.c index 9a8b92a398cc..2e10de6f0174 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_txrx.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_txrx.c @@ -97,6 +97,7 @@ bnxt_isc_txd_encap(void *sc, if_pkt_info_t pi) uint16_t lflags; uint32_t cfa_meta; int seg = 0; + uint8_t wrap = 0; /* If we have offloads enabled, we need to use two BDs. */ if ((pi->ipi_csum_flags & (CSUM_OFFLOAD | CSUM_TSO | CSUM_IP)) || @@ -123,7 +124,18 @@ bnxt_isc_txd_encap(void *sc, if_pkt_info_t pi) if (need_hi) { flags_type |= TX_BD_LONG_TYPE_TX_BD_LONG; + /* Handle wrapping */ + if (pi->ipi_new_pidx == txr->ring_size - 1) + wrap = 1; + pi->ipi_new_pidx = RING_NEXT(txr, pi->ipi_new_pidx); + + /* Toggle epoch bit on wrap */ + if (wrap && pi->ipi_new_pidx == 0) + txr->epoch_bit = !txr->epoch_bit; + if (pi->ipi_new_pidx < EPOCH_ARR_SZ) + txr->epoch_arr[pi->ipi_new_pidx] = txr->epoch_bit; + tbdh = &((struct tx_bd_long_hi *)txr->vaddr)[pi->ipi_new_pidx]; tbdh->kid_or_ts_high_mss = htole16(pi->ipi_tso_segsz); tbdh->kid_or_ts_low_hdr_size = htole16((pi->ipi_ehdrlen + pi->ipi_ip_hlen + @@ -157,7 +169,15 @@ bnxt_isc_txd_encap(void *sc, if_pkt_info_t pi) for (; seg < pi->ipi_nsegs; seg++) { tbd->flags_type = htole16(flags_type); + + if (pi->ipi_new_pidx == txr->ring_size - 1) + wrap = 1; pi->ipi_new_pidx = RING_NEXT(txr, pi->ipi_new_pidx); + if (wrap && pi->ipi_new_pidx == 0) + txr->epoch_bit = !txr->epoch_bit; + if (pi->ipi_new_pidx < EPOCH_ARR_SZ) + txr->epoch_arr[pi->ipi_new_pidx] = txr->epoch_bit; + tbd = &((struct tx_bd_long *)txr->vaddr)[pi->ipi_new_pidx]; tbd->len = htole16(pi->ipi_segs[seg].ds_len); tbd->addr = htole64(pi->ipi_segs[seg].ds_addr); @@ -165,7 +185,13 @@ bnxt_isc_txd_encap(void *sc, if_pkt_info_t pi) } flags_type |= TX_BD_SHORT_FLAGS_PACKET_END; tbd->flags_type = htole16(flags_type); + if (pi->ipi_new_pidx == txr->ring_size - 1) + wrap = 1; pi->ipi_new_pidx = RING_NEXT(txr, pi->ipi_new_pidx); + if (wrap && pi->ipi_new_pidx == 0) + txr->epoch_bit = !txr->epoch_bit; + if (pi->ipi_new_pidx < EPOCH_ARR_SZ) + txr->epoch_arr[pi->ipi_new_pidx] = txr->epoch_bit; return 0; } @@ -189,16 +215,21 @@ bnxt_isc_txd_credits_update(void *sc, uint16_t txqid, bool clear) struct tx_cmpl *cmpl = (struct tx_cmpl *)cpr->ring.vaddr; int avail = 0; uint32_t cons = cpr->cons; + uint32_t raw_cons = cpr->raw_cons; bool v_bit = cpr->v_bit; bool last_v_bit; uint32_t last_cons; + uint32_t last_raw_cons; uint16_t type; uint16_t err; for (;;) { last_cons = cons; + last_raw_cons = raw_cons; last_v_bit = v_bit; + NEXT_CP_CONS_V(&cpr->ring, cons, v_bit); + raw_cons++; CMPL_PREFETCH_NEXT(cpr, cons); if (!CMP_VALID(&cmpl[cons], v_bit)) @@ -226,8 +257,10 @@ bnxt_isc_txd_credits_update(void *sc, uint16_t txqid, bool clear) default: if (type & 1) { NEXT_CP_CONS_V(&cpr->ring, cons, v_bit); - if (!CMP_VALID(&cmpl[cons], v_bit)) + raw_cons++; + if (!CMP_VALID(&cmpl[cons], v_bit)) { goto done; + } } device_printf(softc->dev, "Unhandled TX completion type %u\n", type); @@ -238,6 +271,7 @@ done: if (clear && avail) { cpr->cons = last_cons; + cpr->raw_cons = last_raw_cons; cpr->v_bit = last_v_bit; softc->db_ops.bnxt_db_tx_cq(cpr, 0); } @@ -284,9 +318,16 @@ bnxt_isc_rxd_refill(void *sc, if_rxd_update_t iru) rxbd[pidx].opaque = (((rxqid & 0xff) << 24) | (flid << 16) | (frag_idxs[i])); rxbd[pidx].addr = htole64(paddrs[i]); - if (++pidx == rx_ring->ring_size) + + /* Increment pidx and handle wrap-around */ + if (++pidx == rx_ring->ring_size) { pidx = 0; + rx_ring->epoch_bit = !rx_ring->epoch_bit; + } + if (pidx < EPOCH_ARR_SZ) + rx_ring->epoch_arr[pidx] = rx_ring->epoch_bit; } + return; } @@ -471,6 +512,7 @@ bnxt_pkt_get_l2(struct bnxt_softc *softc, if_rxd_info_t ri, /* Now the second 16-byte BD */ NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); rcph = &((struct rx_pkt_cmpl_hi *)cpr->ring.vaddr)[cpr->cons]; @@ -502,6 +544,7 @@ bnxt_pkt_get_l2(struct bnxt_softc *softc, if_rxd_info_t ri, /* And finally the ag ring stuff. */ for (i=1; i < ri->iri_nfrags; i++) { NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); acp = &((struct rx_abuf_cmpl *)cpr->ring.vaddr)[cpr->cons]; @@ -552,6 +595,7 @@ bnxt_pkt_get_tpa(struct bnxt_softc *softc, if_rxd_info_t ri, /* Now the second 16-byte BD */ NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); flags2 = le32toh(tpas->high.flags2); @@ -577,6 +621,7 @@ bnxt_pkt_get_tpa(struct bnxt_softc *softc, if_rxd_info_t ri, /* Now the ag ring stuff. */ for (i=1; i < ri->iri_nfrags; i++) { NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); acp = &((struct rx_abuf_cmpl *)cpr->ring.vaddr)[cpr->cons]; @@ -613,6 +658,7 @@ bnxt_isc_rxd_pkt_get(void *sc, if_rxd_info_t ri) for (;;) { NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); CMPL_PREFETCH_NEXT(cpr, cpr->cons); cmp = &((struct cmpl_base *)cpr->ring.vaddr)[cpr->cons]; @@ -635,6 +681,7 @@ bnxt_isc_rxd_pkt_get(void *sc, if_rxd_info_t ri) softc->rx_rings[ri->iri_qsidx].tpa_start[agg_id].low = *rtpa; NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); CMPL_PREFETCH_NEXT(cpr, cpr->cons); @@ -648,6 +695,7 @@ bnxt_isc_rxd_pkt_get(void *sc, if_rxd_info_t ri) if (type & 1) { NEXT_CP_CONS_V(&cpr->ring, cpr->cons, cpr->v_bit); + cpr->raw_cons++; ri->iri_cidx = RING_NEXT(&cpr->ring, ri->iri_cidx); CMPL_PREFETCH_NEXT(cpr, cpr->cons); diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 93966617c742..51b9beb0be39 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -427,6 +427,18 @@ bnxt_nq_free(struct bnxt_softc *softc) softc->nq_rings = NULL; } + +static void +bnxt_set_db_mask(struct bnxt_softc *bp, struct bnxt_ring *db, + u32 ring_type) +{ + if (BNXT_CHIP_P7(bp)) { + db->db_epoch_mask = db->db_ring_mask + 1; + db->db_epoch_shift = DBR_EPOCH_SFT - ilog2(db->db_epoch_mask); + + } +} + /* * Device Dependent Configuration Functions */ @@ -491,6 +503,8 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->legacy_db_size: softc->tx_cp_rings[i].ring.id * 0x80; softc->tx_cp_rings[i].ring.ring_size = softc->scctx->isc_ntxd[0]; + softc->tx_cp_rings[i].ring.db_ring_mask = + softc->tx_cp_rings[i].ring.ring_size - 1; softc->tx_cp_rings[i].ring.vaddr = vaddrs[i * ntxqs]; softc->tx_cp_rings[i].ring.paddr = paddrs[i * ntxqs]; @@ -504,6 +518,7 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->tx_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? softc->legacy_db_size : softc->tx_rings[i].id * 0x80; softc->tx_rings[i].ring_size = softc->scctx->isc_ntxd[1]; + softc->tx_rings[i].db_ring_mask = softc->tx_rings[i].ring_size - 1; softc->tx_rings[i].vaddr = vaddrs[i * ntxqs + 1]; softc->tx_rings[i].paddr = paddrs[i * ntxqs + 1]; @@ -520,8 +535,10 @@ bnxt_tx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->nq_rings[i].ring.doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? softc->legacy_db_size : softc->nq_rings[i].ring.id * 0x80; softc->nq_rings[i].ring.ring_size = softc->scctx->isc_ntxd[2]; + softc->nq_rings[i].ring.db_ring_mask = softc->nq_rings[i].ring.ring_size - 1; softc->nq_rings[i].ring.vaddr = vaddrs[i * ntxqs + 2]; softc->nq_rings[i].ring.paddr = paddrs[i * ntxqs + 2]; + softc->nq_rings[i].type = Q_TYPE_TX; } } @@ -683,6 +700,8 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, */ softc->rx_cp_rings[i].ring.ring_size = softc->scctx->isc_nrxd[0]; + softc->rx_cp_rings[i].ring.db_ring_mask = + softc->rx_cp_rings[i].ring.ring_size - 1; softc->rx_cp_rings[i].ring.vaddr = vaddrs[i * nrxqs]; softc->rx_cp_rings[i].ring.paddr = paddrs[i * nrxqs]; @@ -695,6 +714,8 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->rx_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? softc->legacy_db_size : softc->rx_rings[i].id * 0x80; softc->rx_rings[i].ring_size = softc->scctx->isc_nrxd[1]; + softc->rx_rings[i].db_ring_mask = + softc->rx_rings[i].ring_size -1; softc->rx_rings[i].vaddr = vaddrs[i * nrxqs + 1]; softc->rx_rings[i].paddr = paddrs[i * nrxqs + 1]; @@ -716,6 +737,7 @@ bnxt_rx_queues_alloc(if_ctx_t ctx, caddr_t *vaddrs, softc->ag_rings[i].doorbell = (BNXT_CHIP_P5_PLUS(softc)) ? softc->legacy_db_size : softc->ag_rings[i].id * 0x80; softc->ag_rings[i].ring_size = softc->scctx->isc_nrxd[2]; + softc->ag_rings[i].db_ring_mask = softc->ag_rings[i].ring_size - 1; softc->ag_rings[i].vaddr = vaddrs[i * nrxqs + 2]; softc->ag_rings[i].paddr = paddrs[i * nrxqs + 2]; @@ -1413,6 +1435,141 @@ static void bnxt_thor_db_nq(void *db_ptr, bool enable_irq) BUS_SPACE_BARRIER_WRITE); } +static void +bnxt_thor2_db_rx(void *db_ptr, uint16_t idx) +{ + struct bnxt_ring *ring = (struct bnxt_ring *) db_ptr; + struct bnxt_bar_info *db_bar = &ring->softc->doorbell_bar; + uint64_t db_val; + + if (idx >= ring->ring_size) { + device_printf(ring->softc->dev, "%s: BRCM DBG: idx: %d crossed boundary\n", __func__, idx); + return; + } + + db_val = ((DBR_PATH_L2 | DBR_TYPE_SRQ | DBR_VALID | idx) | + ((uint64_t)ring->phys_id << DBR_XID_SFT)); + + /* Add the PI index */ + db_val |= DB_RING_IDX(ring, idx, ring->epoch_arr[idx]); + + bus_space_barrier(db_bar->tag, db_bar->handle, ring->doorbell, 8, + BUS_SPACE_BARRIER_WRITE); + bus_space_write_8(db_bar->tag, db_bar->handle, ring->doorbell, + htole64(db_val)); +} + +static void +bnxt_thor2_db_tx(void *db_ptr, uint16_t idx) +{ + struct bnxt_ring *ring = (struct bnxt_ring *) db_ptr; + struct bnxt_bar_info *db_bar = &ring->softc->doorbell_bar; + uint64_t db_val; + + if (idx >= ring->ring_size) { + device_printf(ring->softc->dev, "%s: BRCM DBG: idx: %d crossed boundary\n", __func__, idx); + return; + } + + db_val = ((DBR_PATH_L2 | DBR_TYPE_SQ | DBR_VALID | idx) | + ((uint64_t)ring->phys_id << DBR_XID_SFT)); + + /* Add the PI index */ + db_val |= DB_RING_IDX(ring, idx, ring->epoch_arr[idx]); + + bus_space_barrier(db_bar->tag, db_bar->handle, ring->doorbell, 8, + BUS_SPACE_BARRIER_WRITE); + bus_space_write_8(db_bar->tag, db_bar->handle, ring->doorbell, + htole64(db_val)); +} + +static void +bnxt_thor2_db_rx_cq(void *db_ptr, bool enable_irq) +{ + struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; + struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; + u64 db_msg = { 0 }; + uint32_t cons = cpr->raw_cons; + uint32_t toggle = 0; + + if (cons == UINT32_MAX) + cons = 0; + + if (enable_irq == true) + toggle = cpr->toggle; + + db_msg = DBR_PATH_L2 | ((u64)cpr->ring.phys_id << DBR_XID_SFT) | DBR_VALID | + DB_RING_IDX_CMP(&cpr->ring, cons) | DB_TOGGLE(toggle); + + if (enable_irq) + db_msg |= DBR_TYPE_CQ_ARMALL; + else + db_msg |= DBR_TYPE_CQ; + + bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, + BUS_SPACE_BARRIER_WRITE); + bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, + htole64(*(uint64_t *)&db_msg)); + bus_space_barrier(db_bar->tag, db_bar->handle, 0, db_bar->size, + BUS_SPACE_BARRIER_WRITE); +} + +static void +bnxt_thor2_db_tx_cq(void *db_ptr, bool enable_irq) +{ + struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; + struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; + u64 db_msg = { 0 }; + uint32_t cons = cpr->raw_cons; + uint32_t toggle = 0; + + if (enable_irq == true) + toggle = cpr->toggle; + + db_msg = DBR_PATH_L2 | ((u64)cpr->ring.phys_id << DBR_XID_SFT) | DBR_VALID | + DB_RING_IDX_CMP(&cpr->ring, cons) | DB_TOGGLE(toggle); + + if (enable_irq) + db_msg |= DBR_TYPE_CQ_ARMALL; + else + db_msg |= DBR_TYPE_CQ; + + bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, + BUS_SPACE_BARRIER_WRITE); + bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, + htole64(*(uint64_t *)&db_msg)); + bus_space_barrier(db_bar->tag, db_bar->handle, 0, db_bar->size, + BUS_SPACE_BARRIER_WRITE); +} + +static void +bnxt_thor2_db_nq(void *db_ptr, bool enable_irq) +{ + struct bnxt_cp_ring *cpr = (struct bnxt_cp_ring *) db_ptr; + struct bnxt_bar_info *db_bar = &cpr->ring.softc->doorbell_bar; + u64 db_msg = { 0 }; + uint32_t cons = cpr->raw_cons; + uint32_t toggle = 0; + + if (enable_irq == true) + toggle = cpr->toggle; + + db_msg = DBR_PATH_L2 | ((u64)cpr->ring.phys_id << DBR_XID_SFT) | DBR_VALID | + DB_RING_IDX_CMP(&cpr->ring, cons) | DB_TOGGLE(toggle); + + if (enable_irq) + db_msg |= DBR_TYPE_NQ_ARM; + else + db_msg |= DBR_TYPE_NQ_MASK; + + bus_space_barrier(db_bar->tag, db_bar->handle, cpr->ring.doorbell, 8, + BUS_SPACE_BARRIER_WRITE); + bus_space_write_8(db_bar->tag, db_bar->handle, cpr->ring.doorbell, + htole64(*(uint64_t *)&db_msg)); + bus_space_barrier(db_bar->tag, db_bar->handle, 0, db_bar->size, + BUS_SPACE_BARRIER_WRITE); +} + struct bnxt_softc *bnxt_find_dev(uint32_t domain, uint32_t bus, uint32_t dev_fn, char *dev_name) { struct bnxt_softc_list *sc = NULL; @@ -2294,6 +2451,12 @@ bnxt_attach_pre(if_ctx_t ctx) softc->db_ops.bnxt_db_rx_cq = bnxt_thor_db_rx_cq; softc->db_ops.bnxt_db_tx_cq = bnxt_thor_db_tx_cq; softc->db_ops.bnxt_db_nq = bnxt_thor_db_nq; + } else if (BNXT_CHIP_P7(softc)) { + softc->db_ops.bnxt_db_tx = bnxt_thor2_db_tx; + softc->db_ops.bnxt_db_rx = bnxt_thor2_db_rx; + softc->db_ops.bnxt_db_rx_cq = bnxt_thor2_db_rx_cq; + softc->db_ops.bnxt_db_tx_cq = bnxt_thor2_db_tx_cq; + softc->db_ops.bnxt_db_nq = bnxt_thor2_db_nq; } else { softc->db_ops.bnxt_db_tx = bnxt_cuw_db_tx; softc->db_ops.bnxt_db_rx = bnxt_cuw_db_rx; @@ -2454,6 +2617,7 @@ bnxt_attach_pre(if_ctx_t ctx) softc->legacy_db_size : softc->def_cp_ring.ring.id * 0x80; softc->def_cp_ring.ring.ring_size = PAGE_SIZE / sizeof(struct cmpl_base); + softc->def_cp_ring.ring.db_ring_mask = softc->def_cp_ring.ring.ring_size -1 ; rc = iflib_dma_alloc(ctx, sizeof(struct cmpl_base) * softc->def_cp_ring.ring.ring_size, &softc->def_cp_ring_mem, 0); @@ -2871,6 +3035,8 @@ bnxt_init(if_ctx_t ctx) rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL, &softc->def_cp_ring.ring); + bnxt_set_db_mask(softc, &softc->def_cp_ring.ring, + HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL); if (rc) goto fail; skip_def_cp_ring: @@ -2881,15 +3047,18 @@ skip_def_cp_ring: if (rc) goto fail; - if (BNXT_CHIP_P5(softc)) { + if (BNXT_CHIP_P5_PLUS(softc)) { /* Allocate the NQ */ softc->nq_rings[i].cons = 0; + softc->nq_rings[i].raw_cons = 0; softc->nq_rings[i].v_bit = 1; softc->nq_rings[i].last_idx = UINT32_MAX; bnxt_mark_cpr_invalid(&softc->nq_rings[i]); rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_NQ, &softc->nq_rings[i].ring); + bnxt_set_db_mask(softc, &softc->nq_rings[i].ring, + HWRM_RING_ALLOC_INPUT_RING_TYPE_NQ); if (rc) goto fail; @@ -2897,21 +3066,27 @@ skip_def_cp_ring: } /* Allocate the completion ring */ softc->rx_cp_rings[i].cons = UINT32_MAX; + softc->rx_cp_rings[i].raw_cons = UINT32_MAX; softc->rx_cp_rings[i].v_bit = 1; softc->rx_cp_rings[i].last_idx = UINT32_MAX; + softc->rx_cp_rings[i].toggle = 0; bnxt_mark_cpr_invalid(&softc->rx_cp_rings[i]); rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL, &softc->rx_cp_rings[i].ring); + bnxt_set_db_mask(softc, &softc->rx_cp_rings[i].ring, + HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL); if (rc) goto fail; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_rx_cq(&softc->rx_cp_rings[i], 1); /* Allocate the RX ring */ rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_RX, &softc->rx_rings[i]); + bnxt_set_db_mask(softc, &softc->rx_rings[i], + HWRM_RING_ALLOC_INPUT_RING_TYPE_RX); if (rc) goto fail; softc->db_ops.bnxt_db_rx(&softc->rx_rings[i], 0); @@ -2920,6 +3095,8 @@ skip_def_cp_ring: rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_RX_AGG, &softc->ag_rings[i]); + bnxt_set_db_mask(softc, &softc->ag_rings[i], + HWRM_RING_ALLOC_INPUT_RING_TYPE_RX_AGG); if (rc) goto fail; softc->db_ops.bnxt_db_rx(&softc->ag_rings[i], 0); @@ -2982,21 +3159,27 @@ skip_def_cp_ring: /* Allocate the completion ring */ softc->tx_cp_rings[i].cons = UINT32_MAX; + softc->tx_cp_rings[i].raw_cons = UINT32_MAX; softc->tx_cp_rings[i].v_bit = 1; + softc->tx_cp_rings[i].toggle = 0; bnxt_mark_cpr_invalid(&softc->tx_cp_rings[i]); rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL, &softc->tx_cp_rings[i].ring); + bnxt_set_db_mask(softc, &softc->tx_cp_rings[i].ring, + HWRM_RING_ALLOC_INPUT_RING_TYPE_L2_CMPL); if (rc) goto fail; - if (BNXT_CHIP_P5(softc)) + if (BNXT_CHIP_P5_PLUS(softc)) softc->db_ops.bnxt_db_tx_cq(&softc->tx_cp_rings[i], 1); /* Allocate the TX ring */ rc = bnxt_hwrm_ring_alloc(softc, HWRM_RING_ALLOC_INPUT_RING_TYPE_TX, &softc->tx_rings[i]); + bnxt_set_db_mask(softc, &softc->tx_rings[i], + HWRM_RING_ALLOC_INPUT_RING_TYPE_TX); if (rc) goto fail; softc->db_ops.bnxt_db_tx(&softc->tx_rings[i], 0); @@ -3567,25 +3750,35 @@ process_nq(struct bnxt_softc *softc, uint16_t nqid) { struct bnxt_cp_ring *cpr = &softc->nq_rings[nqid]; nq_cn_t *cmp = (nq_cn_t *) cpr->ring.vaddr; + struct bnxt_cp_ring *tx_cpr = &softc->tx_cp_rings[nqid]; + struct bnxt_cp_ring *rx_cpr = &softc->rx_cp_rings[nqid]; bool v_bit = cpr->v_bit; uint32_t cons = cpr->cons; + uint32_t raw_cons = cpr->raw_cons; uint16_t nq_type, nqe_cnt = 0; while (1) { - if (!NQ_VALID(&cmp[cons], v_bit)) + if (!NQ_VALID(&cmp[cons], v_bit)) { goto done; + } nq_type = NQ_CN_TYPE_MASK & cmp[cons].type; - if (nq_type != NQ_CN_TYPE_CQ_NOTIFICATION) + if (NQE_CN_TYPE(nq_type) != NQ_CN_TYPE_CQ_NOTIFICATION) { bnxt_process_async_msg(cpr, (tx_cmpl_t *)&cmp[cons]); + } else { + tx_cpr->toggle = NQE_CN_TOGGLE(cmp[cons].type); + rx_cpr->toggle = NQE_CN_TOGGLE(cmp[cons].type); + } NEXT_CP_CONS_V(&cpr->ring, cons, v_bit); + raw_cons++; nqe_cnt++; } done: if (nqe_cnt) { cpr->cons = cons; + cpr->raw_cons = raw_cons; cpr->v_bit = v_bit; } } From nobody Wed Apr 23 22:43:32 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjYzn1f0Zz5t1dJ; Wed, 23 Apr 2025 22: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 4ZjYzm5rljz3nPp; Wed, 23 Apr 2025 22: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=1745448212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/NkkhSgTHQ9pb7zqD+kTWRO+eERoJIX7i4Wy1MkeQYI=; b=iQuxcG58Gudd6MQF176XWpkqOxhmNO3rAXlpiaEDfvbBnhO6JsLbb16DGzWOY7Amzez3N/ Hpd0iKY+/aeoJQS3BoNCA75TXdNBO/POU5+3p4w1vT+JUPiW4terQvAQYf3neDy/eUmJ1U sg/Zb/s/NyDHQvbvhRIAyCxEFNWiVI3x+axEGuTtWFsOdISIujOMN2zQOVxz6NDFovoR9l KXVpZOZ7nftHQBlJpS7u8MlO0NUS3iNXo85fnYD56aYQFuVg7PEsu/a2HqMDinPIWZJ6VJ NdjSDJ6ZGPAVZzUCY8QJtW+JkrmsKydO8k7f6xugoIpeNHMYmx0FSPvhCSxrYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745448212; a=rsa-sha256; cv=none; b=V8LvO6zuPxQV9t5+8aKcOG829+NoBL/Rw0Ht92S7CrgjD9QAegH29qg9WKoHP4osDH0CEw YYhlNTQgP8tWzRyXiJR2pr3ma9M7pUAYuHPhVSCG0QGEM7A7QEKhy3tQWGdmeqKgpEH7B8 ErzGyR0ZBVrLxPSJEj/ffDuZ7cKK5B4ab11Zme5ShSXB49Irxmr+akiTpAhXpoBdlCSfmt TIXCJxDb5rOi1ObU0ARyl7sy6+sbpW/Nf/GnkJqqPpzLSNXgZ7eAPJD4ua2V93NY+196vf TdeHbimHclUx1Dn4CXxIng3Q8KVjDB0gTofmrqxe+4iV/HRJURNphCu3LvSDCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/NkkhSgTHQ9pb7zqD+kTWRO+eERoJIX7i4Wy1MkeQYI=; b=GApbSuCVSg031UtKcmuFLAJXpTBwZjOeE3pRKaVbx+ZvfsBqa76oENLPxGjsk9MhN+DY3O gGNIqioPh17Sy6v4jQj3b/fmHSsZxRvY7uF4Uls9CZfWDPpI4H6tY4h8x+zw5LTp853SKq o9DH5c7jJ04qE4aiq9mMiPdTLSI1WbbWpproGV2mlCc0y0XFy4Yema0XNwQV63UIyIHfU6 Wu3RbgZJ9g81vzWAQncPeFiMCasv7kmztJ/Ge9Nk5P6e2cUtHNhBbEEbGrfLQDBug7j/Ph tnhuCv6kjOhmUJzQQvzAt2TZXJx1c+IKXtc/NeO5CDTpfyp7/XL+FsYONq3WZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjYzm3vsVz816; Wed, 23 Apr 2025 22: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 53NMhWrK094931; Wed, 23 Apr 2025 22: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 53NMhWbs094928; Wed, 23 Apr 2025 22:43:32 GMT (envelope-from git) Date: Wed, 23 Apr 2025 22:43:32 GMT Message-Id: <202504232243.53NMhWbs094928@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 6450d937955f - main - bnxt_en: Unhandled async event type 76 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6450d937955fcd1ab9034c49d53306e882c4a281 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6450d937955fcd1ab9034c49d53306e882c4a281 commit 6450d937955fcd1ab9034c49d53306e882c4a281 Author: Sreekanth Reddy AuthorDate: 2025-04-04 08:37:38 +0000 Commit: Warner Losh CommitDate: 2025-04-23 22:42:12 +0000 bnxt_en: Unhandled async event type 76 The completion event type 76 is not supported by the driver. Instead of flooding the dmesg with "Unknown event type" messages when this event occurs, move the print under debug level. MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49731 --- sys/dev/bnxt/bnxt_en/if_bnxt.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/if_bnxt.c b/sys/dev/bnxt/bnxt_en/if_bnxt.c index 51b9beb0be39..0e5bb6a736ae 100644 --- a/sys/dev/bnxt/bnxt_en/if_bnxt.c +++ b/sys/dev/bnxt/bnxt_en/if_bnxt.c @@ -5128,8 +5128,8 @@ bnxt_handle_async_event(struct bnxt_softc *softc, struct cmpl_base *cmpl) "Unhandled async completion type %u\n", async_id); break; default: - device_printf(softc->dev, - "Unknown async completion type %u\n", async_id); + dev_dbg(softc->dev, "Unknown Async event completion type %u\n", + async_id); break; } bnxt_queue_sp_work(softc); @@ -5183,12 +5183,12 @@ bnxt_def_cp_task(void *context, int pending) case CMPL_BASE_TYPE_DBQ_EVENT: case CMPL_BASE_TYPE_QP_EVENT: case CMPL_BASE_TYPE_FUNC_EVENT: - device_printf(softc->dev, - "Unhandled completion type %u\n", type); + dev_dbg(softc->dev, "Unhandled Async event completion type %u\n", + type); break; default: - device_printf(softc->dev, - "Unknown completion type %u\n", type); + dev_dbg(softc->dev, "Unknown Async event completion type %u\n", + type); break; } } From nobody Wed Apr 23 22:43:33 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjYzp36qkz5t1XW; Wed, 23 Apr 2025 22: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 4ZjYzn5YM5z3ngl; Wed, 23 Apr 2025 22: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=1745448213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kFRBFgurs/SrKO2ajQuNoH5xvUWOKymg0BudKjvsep0=; b=pkDSbI4KoMFMyVZdVUYatfF+WooECLjKhY0nrBEZQBC0Pa6kkGpLJBCV2x/Ji9ZebMZHP0 9HeoSkYYiLgmAD6lVCVbnO1ND7b++nZXwN7xYSrNz0wAg5bblKMRN17MA9ligwWJ1OKBNb MjVa5YUV4XE7QV4oJCiDnnRRSoG5t0w8rzi7XQvazA8L5//+Gvydl7rqClb5sqLyRZuf/s lR7fBdSq/blpklPeU8CwxQfuCBapk2Z6hqEMcB/t7/YNHx7T+No52M9k0UhdroLTqt1e81 T8voU4A9D2BVmAAV41YBvwCAv/fVfeLD7dD4kQulpvEYjI4sgeKa1eo6Mp+nOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745448213; a=rsa-sha256; cv=none; b=kxpYaThe+4Q7F2gr1st4tfVI2wlrl5w0KxjoGDhqQ7WipDgTTz8ZI+W2ZQZu7khrkb6duz Wiu4w5eftC80zR/7UdcdLTrvkXBPO8+OoprVagIWfi3uRD+qwdBrRY9pPr/cxgGBJGkTzy WRn7nC0aYbz6QLDuEH4/SFXuRxJ3vmp5vnb4rGrIAfCX43W60A3hzBqUX136nr8+2nBDwm ZumDVJa/NgO4rL/pIFPRgPaNQfL/q2Wd3C5vYeLc4CAhdFWFWabH2daFH6L41u6vJt6KhC HUzl9Abp5ewKLZBpIjl1YBXdR2595cEJ/ZlcxWmGBKs3w4VcyRduzVjGfnYztA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745448213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kFRBFgurs/SrKO2ajQuNoH5xvUWOKymg0BudKjvsep0=; b=APKpzm0hd+3sL9CiznWqrMP7Ci526t8SSccv8upc7SiJdxv8zYRcaIpjYeIeReUUiQuLfC Cx93W+4bo4fBojd/qj+CpVPB65+v6lNX7SuqTd/lHTdp+9Js+W9DQOcmpvbdIttvQJlMrj JiwI3Su3z9oS/KHlBy6TIaZ8BMTA0nQ3NAXBjn8e49eA2yTB7Vcf9zW3wXnwnKBYQsZ46L RFWJfYrME7aXnU+qLCibvxoCwtYpkgryWbct8vKY+lkC982lMdbQKjwmzJqmVL0mcRnwrw kHQPh0B/NiUN4sfLCALkiOMITIlkMsgRXVW5ZkIAleELju+6ep98deDvzdrrTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjYzn58yvz7vv; Wed, 23 Apr 2025 22: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 53NMhXLV094965; Wed, 23 Apr 2025 22: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 53NMhXkr094962; Wed, 23 Apr 2025 22:43:33 GMT (envelope-from git) Date: Wed, 23 Apr 2025 22:43:33 GMT Message-Id: <202504232243.53NMhXkr094962@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: fec0e2064818 - main - bnxt_en: Thor2 Ring counters not incrementing during traffic List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fec0e2064818f991867c9851a837012ea31774da Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=fec0e2064818f991867c9851a837012ea31774da commit fec0e2064818f991867c9851a837012ea31774da Author: Sreekanth Reddy AuthorDate: 2025-04-04 08:51:01 +0000 Commit: Warner Losh CommitDate: 2025-04-23 22:42:48 +0000 bnxt_en: Thor2 Ring counters not incrementing during traffic The ctx_hw_stats_ext DMA address was not correctly passed to the firmware during the HWRM_STAT_CTX_ALLOC allocation, causing stats to not populate for Thor2. Passing the correct DMA length resolved the issue MFC-After: 3 days Differential-Revision: https://reviews.freebsd.org/D49732 --- sys/dev/bnxt/bnxt_en/bnxt_hwrm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c index 10c3beac9729..7dd555cfaadb 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_hwrm.c @@ -1885,7 +1885,10 @@ bnxt_hwrm_stat_ctx_alloc(struct bnxt_softc *softc, struct bnxt_cp_ring *cpr, req.update_period_ms = htole32(1000); req.stats_dma_addr = htole64(paddr); - if (BNXT_CHIP_P5_PLUS(softc)) + + if (BNXT_CHIP_P7(softc)) + req.stats_dma_length = htole16(sizeof(struct ctx_hw_stats_ext)); + else if (BNXT_CHIP_P5(softc)) req.stats_dma_length = htole16(sizeof(struct ctx_hw_stats_ext) - 8); else req.stats_dma_length = htole16(sizeof(struct ctx_hw_stats)); From nobody Wed Apr 23 23:06:48 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjZVc6bzTz5t3Lg; Wed, 23 Apr 2025 23:06: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 4ZjZVc3stVz3trw; Wed, 23 Apr 2025 23:06:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745449608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PoMelJkeNG2autrfUYKmGAsQTC3KVpRnUCXZ6xGHwRI=; b=Zg6LLXws/U+7eHcgq276eZMzkYgpWrnMPjpvpWOJi/6/5A1FzhPoWJ5IaH/Pyu6N6Pwupp ZLQTLhtSLmpMzDuPWnnHisXyRw1KWSDBYt7fDIN2A9Shc/tIMrrcwvc/0/PvpfW7My9+2j mPL2ewxgAKLSNrRU30nAnlja9vAvY0/BxjodpNCg2XTOkv9T9TSVaCNywgjFUVvjX8W1b7 ewT8XUsFpplV/qGFvVgeYDuCOIPN2TOSgvNl+uVeVd+2+u8VaMpa5+1mSXzWDIIB/wT0Dg lVUnTA2JvUMynfSWqDxf5H9BEffIvkoCfXYNQicgsGvGIBN69ZfqfQZMK3/+gA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745449608; a=rsa-sha256; cv=none; b=SUl7x8zSmb43KHwqaHUFbGCTtuuEfar+YvyrHzx0pK3vB7+OwQwtan5awJgHwjifDYXfM+ sCOAFrJxLnlHkQZ902ijHZekKso+fE0IrqMVxHo5ZcbEMCFOWYgT1jh6tXcjVnlqFX1MQv iaTT7S/3Pt0k+f3f1czdcVRujzZ5qSl1QDIY140x6iD/i7UbhLvpkxQX8U2IFrlFdkuPjl 0LBjysmthNJQLka7V0ggInMxTJkKltL8DjiqEgRu5f7r399kl5AhbcJhrG2nQxSkSUxty2 ZPupx7K0ctE9BFa6QEsw6o6Nn7MhB+rJxPmDlp1vpQqIcqRj8j3qkfLrrcPsmA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745449608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PoMelJkeNG2autrfUYKmGAsQTC3KVpRnUCXZ6xGHwRI=; b=BB8mxztopuIgQQpNyLmz6WQZX7ZWByj855Nz95h+MEv95iJGLPCaabjqCR/ds+6p3rOjMa OyzbdGSy8ey3h2KIAhtuz6RVsNXLqvRoU7w/Goc6VwqTu5gNOx9HFAXuC/5OUa0XjGz+D3 PCLT4Vzu31FYcl6xryePvtHwL4aFF10FmCnwmfAlAcjpPj11M+mydEe+E4od5reN64wujC yNOUVaKzEtWT40VOJKzPTuy0Su1lNSHZQQ2gzTlL1ryGCaS4hyc9RXj0Y17QWTrVe2d+/+ N+PHMSpCJ8z/J/YDU1Njx4bF/8q9CNEp/9jqOfyj8NF6z76z0/5v3QsfffWYHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjZVc3Q4bz8SC; Wed, 23 Apr 2025 23:06: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 53NN6muX033693; Wed, 23 Apr 2025 23:06:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NN6mbn033690; Wed, 23 Apr 2025 23:06:48 GMT (envelope-from git) Date: Wed, 23 Apr 2025 23:06:48 GMT Message-Id: <202504232306.53NN6mbn033690@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 5e9af2b96bea - main - libefivar: Simplify Z / zero define List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5e9af2b96bea04b396d888c9ed55f57aa1f28c2a Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5e9af2b96bea04b396d888c9ed55f57aa1f28c2a commit 5e9af2b96bea04b396d888c9ed55f57aa1f28c2a Author: Warner Losh AuthorDate: 2025-04-23 23:06:00 +0000 Commit: Warner Losh CommitDate: 2025-04-23 23:06:00 +0000 libefivar: Simplify Z / zero define This really onl needs to be one zero long for the entire structure to be initialized. Use this form instead. Sponsored by: Netflix --- lib/libefivar/efivar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libefivar/efivar.c b/lib/libefivar/efivar.c index fdcffc5403d6..468e1d31f903 100644 --- a/lib/libefivar/efivar.c +++ b/lib/libefivar/efivar.c @@ -37,7 +37,7 @@ static int efi_fd = -2; -#define Z { 0, 0, 0, 0, 0, { 0 } } +#define Z { 0 } const efi_guid_t efi_guid_empty = Z; From nobody Wed Apr 23 23:12:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjZcx6Jycz5t3y3; Wed, 23 Apr 2025 23:12: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 4ZjZcx5MBfz3vkC; Wed, 23 Apr 2025 23:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745449937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mRxPldrHVwsq87W8chyUOcdt+6WA9RyNFmg/WvGA3Jw=; b=jys7ae0iIwh2hujLtzRx6N5m5ZmZlVirASBtsPotymeBblojFZXXmsPalhSVlbyEoauLo5 yZKcboVgYmR+JhGz5q1V+rjJB3TEdegTfPlNpow4pzenapELbbFJBn5S5sp6+d6PeY1vGh u+pokhs6U2KGYtLLt87O2AMtwLNQh+qc4kYm/EAFo5lmbeRvj27vNS3WITI/cHqc8JPaKd AIZXG0hUzKF83+47gPZdkxdT7ac+XPNOA6S+DHm8lm7Q9cb3lMBb7sF278zHsDL90vfdy1 jH+5WbCkIAshuGpb+NK1E6uPn4REMWceocW2TerADk1hxO/hu7GqpfdG/mhYjw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745449937; a=rsa-sha256; cv=none; b=DiArKF0HJcGlMY/Qf9VZnTeMlmu8JP9Iy5uH6+ekWBVdiAAwNMKfvpcm8vy0PIdBEbal7r g+mWC4LxYvt56LJDKzvGpbK0xti4WfZodCxpAl2/ZmoFUWPyBWCrtqb8gngkvnvCk4OpPm 6IcKgp2rlrlJkbZS+Zz1PEeW/5IT6n1pcy5mvXo1oTIhi4v1saral+u156UaljmVsdY+PC ZepQL+xGmpJqE0K/qvamakd8IIT20yMcUxoAWjBGbE6ZS18263M4ZCUHUz6teNbX+Jb96S JDOETW9YleEIgBpGQfpTMzDE6vQOukwqmUl3u+Qd6yW3iloxrd8p3M9MqE1PLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745449937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mRxPldrHVwsq87W8chyUOcdt+6WA9RyNFmg/WvGA3Jw=; b=hUSJypBKKXnrfaYYZ8APWsJjVrQ+gfRyVCF5peo9TcsZwL+CrIQAj6HANWz27fHLP3SBNr T8nvgDDLNNVWTPSKoinBvAxzP9/GBARE0hUgzwcSgvDy/5t6WmEtCW1MItINj+GlZniUUP JAL3evit2rKaDvs59FXEwSBR1ZJNzztFXXNHI47XokyPopKYHepdGp/sU1F/DkGCKD3xnJ rO6MZ8CN1Zpn96HM5/vm3Oog13XNJW+CfkPiw4MWr8Ob9mnPcx05WD4L7H/UjNPRPMTnPU BC0UZaCevVk7pyTwBPuhTQXcrPkf0AXJER58MyWSE8KMoLQV37k18MFawQIYXA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjZcx4w8Gz8kx; Wed, 23 Apr 2025 23:12: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 53NNCHwe051786; Wed, 23 Apr 2025 23:12:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53NNCHEi051783; Wed, 23 Apr 2025 23:12:17 GMT (envelope-from git) Date: Wed, 23 Apr 2025 23:12:17 GMT Message-Id: <202504232312.53NNCHEi051783@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Chuck Silvers Subject: git: f2605f67a13e - main - mpi3mr: configure larger max I/O size if the HBA firmware supports it List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: chs X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f2605f67a13eb1f1427ee58a097791ca25359a5e Auto-Submitted: auto-generated The branch main has been updated by chs: URL: https://cgit.FreeBSD.org/src/commit/?id=f2605f67a13eb1f1427ee58a097791ca25359a5e commit f2605f67a13eb1f1427ee58a097791ca25359a5e Author: Chuck Silvers AuthorDate: 2025-04-23 23:11:32 +0000 Commit: Chuck Silvers CommitDate: 2025-04-23 23:11:32 +0000 mpi3mr: configure larger max I/O size if the HBA firmware supports it The max I/O size that an mpi3mr HBA supports is reported in the IOCFacts structure (with 0 representing the legacy max I/O size of 1 MB). By default, set the max I/O size of devices attached to mpi3mr controllers to the smaller of the HBA's max I/O size and the kernel's maxphys. Allow this default to be overriden by a global tunable "hw.mpi3mr.max_sgl_entries" or by a per-controller tunable "dev.mpi3mr.N.max_sgl_entries". Sponsored by: Netflix Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49090 --- sys/dev/mpi3mr/mpi3mr.c | 11 +++++++++-- sys/dev/mpi3mr/mpi3mr.h | 12 +++++++++--- sys/dev/mpi3mr/mpi3mr_cam.c | 10 ++++++---- sys/dev/mpi3mr/mpi3mr_pci.c | 18 +++++++++++++++++- 4 files changed, 41 insertions(+), 10 deletions(-) diff --git a/sys/dev/mpi3mr/mpi3mr.c b/sys/dev/mpi3mr/mpi3mr.c index 36e540520e42..a83fb2ddbc4b 100644 --- a/sys/dev/mpi3mr/mpi3mr.c +++ b/sys/dev/mpi3mr/mpi3mr.c @@ -1617,6 +1617,7 @@ static int mpi3mr_process_factsdata(struct mpi3mr_softc *sc, (facts_data->MaxPCIeSwitches); sc->facts.max_sasexpanders = (facts_data->MaxSASExpanders); + sc->facts.max_data_length = facts_data->MaxDataLength; sc->facts.max_sasinitiators = (facts_data->MaxSASInitiators); sc->facts.max_enclosures = (facts_data->MaxEnclosures); @@ -1651,6 +1652,10 @@ static int mpi3mr_process_factsdata(struct mpi3mr_softc *sc, sc->facts.io_throttle_low = facts_data->IOThrottleLow; sc->facts.io_throttle_high = facts_data->IOThrottleHigh; + if (sc->facts.max_data_length == MPI3_IOCFACTS_MAX_DATA_LENGTH_NOT_REPORTED) + sc->facts.max_data_length = MPI3MR_DEFAULT_MAX_IO_SIZE; + else + sc->facts.max_data_length *= MPI3MR_PAGE_SIZE_4K; /*Store in 512b block count*/ if (sc->facts.io_throttle_data_length) sc->io_throttle_data_length = @@ -2511,7 +2516,9 @@ static int mpi3mr_alloc_chain_bufs(struct mpi3mr_softc *sc) goto out_failed; } - sz = MPI3MR_CHAINSGE_SIZE; + if (sc->max_sgl_entries > sc->facts.max_data_length / PAGE_SIZE) + sc->max_sgl_entries = sc->facts.max_data_length / PAGE_SIZE; + sz = sc->max_sgl_entries * sizeof(Mpi3SGESimple_t); if (bus_dma_tag_create(sc->mpi3mr_parent_dmat, /* parent */ 4096, 0, /* algnmnt, boundary */ @@ -4961,7 +4968,7 @@ mpi3mr_alloc_requests(struct mpi3mr_softc *sc) struct mpi3mr_cmd *cmd; int i, j, nsegs, ret; - nsegs = MPI3MR_SG_DEPTH; + nsegs = sc->max_sgl_entries; ret = bus_dma_tag_create( sc->mpi3mr_parent_dmat, /* parent */ 1, 0, /* algnmnt, boundary */ sc->dma_loaddr, /* lowaddr */ diff --git a/sys/dev/mpi3mr/mpi3mr.h b/sys/dev/mpi3mr/mpi3mr.h index 31217f823569..1ab6b8815f59 100644 --- a/sys/dev/mpi3mr/mpi3mr.h +++ b/sys/dev/mpi3mr/mpi3mr.h @@ -95,10 +95,11 @@ #define MPI3MR_NAME_LENGTH 32 #define IOCNAME "%s: " +#define MPI3MR_DEFAULT_MAX_IO_SIZE (1 * 1024 * 1024) + #define SAS4116_CHIP_REV_A0 0 #define SAS4116_CHIP_REV_B0 1 -#define MPI3MR_SG_DEPTH (MPI3MR_4K_PGSZ/sizeof(Mpi3SGESimple_t)) #define MPI3MR_MAX_SECTORS 2048 #define MPI3MR_MAX_CMDS_LUN 7 #define MPI3MR_MAX_CDB_LENGTH 16 @@ -109,7 +110,12 @@ #define MPI3MR_RAID_QDEPTH 128 #define MPI3MR_NVME_QDEPTH 128 +/* Definitions for internal SGL and Chain SGL buffers */ #define MPI3MR_4K_PGSZ 4096 +#define MPI3MR_PAGE_SIZE_4K 4096 +#define MPI3MR_DEFAULT_SGL_ENTRIES 256 +#define MPI3MR_MAX_SGL_ENTRIES 2048 + #define MPI3MR_AREQQ_SIZE (2 * MPI3MR_4K_PGSZ) #define MPI3MR_AREPQ_SIZE (4 * MPI3MR_4K_PGSZ) #define MPI3MR_AREQ_FRAME_SZ 128 @@ -125,8 +131,6 @@ #define MPI3MR_THRESHOLD_REPLY_COUNT 100 -#define MPI3MR_CHAINSGE_SIZE MPI3MR_4K_PGSZ - #define MPI3MR_SGEFLAGS_SYSTEM_SIMPLE_END_OF_LIST \ (MPI3_SGE_FLAGS_ELEMENT_TYPE_SIMPLE | MPI3_SGE_FLAGS_DLAS_SYSTEM | \ MPI3_SGE_FLAGS_END_OF_LIST) @@ -335,6 +339,7 @@ struct mpi3mr_ioc_facts U16 max_perids; U16 max_pds; U16 max_sasexpanders; + U32 max_data_length; U16 max_sasinitiators; U16 max_enclosures; U16 max_pcieswitches; @@ -671,6 +676,7 @@ struct mpi3mr_softc { struct mtx target_lock; U16 max_host_ios; + U32 max_sgl_entries; bus_dma_tag_t chain_sgl_list_tag; struct mpi3mr_chain *chain_sgl_list; U16 chain_bitmap_sz; diff --git a/sys/dev/mpi3mr/mpi3mr_cam.c b/sys/dev/mpi3mr/mpi3mr_cam.c index b4999e204ab7..af2bc0f8b55c 100644 --- a/sys/dev/mpi3mr/mpi3mr_cam.c +++ b/sys/dev/mpi3mr/mpi3mr_cam.c @@ -176,7 +176,7 @@ static void mpi3mr_prepare_sgls(void *arg, bus_dmamap_sync(sc->buffer_dmat, cm->dmamap, BUS_DMASYNC_PREWRITE); - KASSERT(nsegs <= MPI3MR_SG_DEPTH && nsegs > 0, + KASSERT(nsegs <= sc->max_sgl_entries && nsegs > 0, ("%s: bad SGE count: %d\n", device_get_nameunit(sc->mpi3mr_dev), nsegs)); KASSERT(scsiio_req->DataLength != 0, ("%s: Data segments (%d), but DataLength == 0\n", @@ -218,7 +218,7 @@ static void mpi3mr_prepare_sgls(void *arg, chain = chain_req->buf; chain_dma = chain_req->buf_phys; - memset(chain_req->buf, 0, PAGE_SIZE); + memset(chain_req->buf, 0, sc->max_sgl_entries * sizeof(Mpi3SGESimple_t)); sges_in_segment = sges_left; chain_length = sges_in_segment * sizeof(Mpi3SGESimple_t); @@ -1154,7 +1154,7 @@ mpi3mr_action_scsiio(struct mpi3mr_cam_softc *cam_sc, union ccb *ccb) return; case CAM_DATA_VADDR: case CAM_DATA_BIO: - if (csio->dxfer_len > (MPI3MR_SG_DEPTH * MPI3MR_4K_PGSZ)) { + if (csio->dxfer_len > (sc->max_sgl_entries * PAGE_SIZE)) { mpi3mr_set_ccbstatus(ccb, CAM_REQ_TOO_BIG); mpi3mr_release_command(cm); xpt_done(ccb); @@ -1305,8 +1305,10 @@ mpi3mr_cam_action(struct cam_sim *sim, union ccb *ccb) { struct mpi3mr_cam_softc *cam_sc; struct mpi3mr_target *targ; + struct mpi3mr_softc *sc; cam_sc = cam_sim_softc(sim); + sc = cam_sc->sc; mpi3mr_dprint(cam_sc->sc, MPI3MR_TRACE, "ccb func_code 0x%x target id: 0x%x\n", ccb->ccb_h.func_code, ccb->ccb_h.target_id); @@ -1357,7 +1359,7 @@ mpi3mr_cam_action(struct cam_sim *sim, union ccb *ccb) "PCI device target_id: %u max io size: %u\n", ccb->ccb_h.target_id, cpi->maxio); } else { - cpi->maxio = PAGE_SIZE * (MPI3MR_SG_DEPTH - 1); + cpi->maxio = PAGE_SIZE * (sc->max_sgl_entries - 1); } mpi3mr_set_ccbstatus(ccb, CAM_REQ_CMP); break; diff --git a/sys/dev/mpi3mr/mpi3mr_pci.c b/sys/dev/mpi3mr/mpi3mr_pci.c index 95bd39c90964..194401c5a847 100644 --- a/sys/dev/mpi3mr/mpi3mr_pci.c +++ b/sys/dev/mpi3mr/mpi3mr_pci.c @@ -178,12 +178,15 @@ mpi3mr_get_tunables(struct mpi3mr_softc *sc) sc->reset_in_progress = 0; sc->reset.type = 0; sc->iot_enable = 1; + sc->max_sgl_entries = maxphys / PAGE_SIZE; + /* * Grab the global variables. */ TUNABLE_INT_FETCH("hw.mpi3mr.debug_level", &sc->mpi3mr_debug); TUNABLE_INT_FETCH("hw.mpi3mr.ctrl_reset", &sc->reset.type); TUNABLE_INT_FETCH("hw.mpi3mr.iot_enable", &sc->iot_enable); + TUNABLE_INT_FETCH("hw.mpi3mr.max_sgl_entries", &sc->max_sgl_entries); /* Grab the unit-instance variables */ snprintf(tmpstr, sizeof(tmpstr), "dev.mpi3mr.%d.debug_level", @@ -197,6 +200,10 @@ mpi3mr_get_tunables(struct mpi3mr_softc *sc) snprintf(tmpstr, sizeof(tmpstr), "dev.mpi3mr.%d.iot_enable", device_get_unit(sc->mpi3mr_dev)); TUNABLE_INT_FETCH(tmpstr, &sc->iot_enable); + + snprintf(tmpstr, sizeof(tmpstr), "dev.mpi3mr.%d.max_sgl_entries", + device_get_unit(sc->mpi3mr_dev)); + TUNABLE_INT_FETCH(tmpstr, &sc->max_sgl_entries); } static struct mpi3mr_ident * @@ -443,7 +450,16 @@ mpi3mr_pci_attach(device_t dev) sc->mpi3mr_dev = dev; mpi3mr_get_tunables(sc); - + + if (sc->max_sgl_entries > MPI3MR_MAX_SGL_ENTRIES) + sc->max_sgl_entries = MPI3MR_MAX_SGL_ENTRIES; + else if (sc->max_sgl_entries < MPI3MR_DEFAULT_SGL_ENTRIES) + sc->max_sgl_entries = MPI3MR_DEFAULT_SGL_ENTRIES; + else { + sc->max_sgl_entries /= MPI3MR_DEFAULT_SGL_ENTRIES; + sc->max_sgl_entries *= MPI3MR_DEFAULT_SGL_ENTRIES; + } + if ((error = mpi3mr_initialize_ioc(sc, MPI3MR_INIT_TYPE_INIT)) != 0) { mpi3mr_dprint(sc, MPI3MR_ERROR, "FW initialization failed\n"); goto load_failed; From nobody Thu Apr 24 00:52:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZjcrT1BPLz5t9RR; Thu, 24 Apr 2025 00:52: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 4ZjcrS5r31z43v3; Thu, 24 Apr 2025 00:52:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745455944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+dV4dqM3Iweoi4S/qaMK6IeJRhk9iK7XXb9KQtwkHA=; b=nj7/7kKtXPhI5Q0JKRgVHoQpotP4Zc9ToBtwAx4+RqX+/OBleWVDWiJ3qg1QclVinDvnI6 j3l2VZ+rL2wUdSL+pWf8SbuRNMt21yMyghMb/weqKSiAOGZmCMIcuxZmFcsYCph1T53dGZ ZduMrX1DnK5P/aubTZZOEB3XAWoHHKHUV5F+FOL2TNOVmY6OCL+L0zbGQ1LVUaBL70Y1oC 5lJK/FNEskc/nc21A+XEc+vNKj0mrctgD5rgoRVjq3Jxw4MbcM4ekhGXzvIBDSR6Imp/e5 Ai1jfIZUP0aVZvMYnqSIGo1MbpB4MMTp/HHR8Bgm94k1Hpp4qBK2eKyf+iyXUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745455944; a=rsa-sha256; cv=none; b=G8DAJH+d0nKs8ZSy9+BsR3tOe86KoAdWAvjhX10Ueafcg+hzGwT7yewVZPJ2Oy0EFlTKqx euQzEtrJiGqv3nCIruAH7W/knKC5XV8j3xCtuMojlN79sbwqcgouAKtqW+Kkdnx+8mu7i5 oCSozesEEV0yMjucY0PEKXw256djWRG4kYsiyEy7fD0+Ykbl1XNmoLiRwbmKyKkCIAWMZE 8YFyJk2xqJHll7oFzS0Mq/6+eD9kINI7Ssq2pg7KlHd6plsLRnSs9vJTqY2Cu42c/lJss3 jf/KsKhBBWjC8c4xq+TfOIQJh+mFwJTGSt52hv0zzyrBu/XvHU7EjsRbNaJ0NA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745455944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+dV4dqM3Iweoi4S/qaMK6IeJRhk9iK7XXb9KQtwkHA=; b=mWapMBiT08222aea9vgJgIWbneSJ0bNxC2kCUq6NIXJerXcwaDFrfvdLcvc1qO3LyOzEnz P1y4pysX4PUvujBagpUohVOj+oWwRmJkPX4GBUv1yOBqVL9Xt4WOuC0UdHlgpCdf7Ah2St 6Whe2tSJaKwvd+FxqBLv64RJUhjKPRtmT1vSD6Evj5HzdkaK0tk1zTJ4B8GTzunavRXk+Q sgtL0GqTVfH0XaDd3VRCbAOnv2AEMnw0N5JYKw7f2LbjL05l5Q49A+hxJO5AbrKGRBWFfl xGg2oKJIrIk4wAcPcQLuI/0HaALcfCBzhdc8CAV+SZod1zQDwZrq3WprB7s3gg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZjcrS5BcvzCFl; Thu, 24 Apr 2025 00:52: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 53O0qO3Z038315; Thu, 24 Apr 2025 00:52:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53O0qO0G038312; Thu, 24 Apr 2025 00:52:24 GMT (envelope-from git) Date: Thu, 24 Apr 2025 00:52:24 GMT Message-Id: <202504240052.53O0qO0G038312@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: ca4b046105f6 - main - netinet6: allow binding to anycast addresses List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ca4b046105f640ebcbdec7cb74a9eecb963264a6 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=ca4b046105f640ebcbdec7cb74a9eecb963264a6 commit ca4b046105f640ebcbdec7cb74a9eecb963264a6 Author: Lexi Winter AuthorDate: 2025-04-24 00:48:39 +0000 Commit: Lexi Winter CommitDate: 2025-04-24 00:50:38 +0000 netinet6: allow binding to anycast addresses the restriction on sending packets from anycast source addresses was removed in RFC4291, so there's no reason to forbid binding to such addresses. this allows anycast services (e.g., DNS) to actually use anycast addresses, which was previously impossible. RFC4291 also removes the restriction that only routers may configure anycast addresses; this was never enforced in code but was documented in ifconfig.8. update ifconfig.8 to document both changes. PR: 285545 Reviewed by: des, adrian Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D49905 --- sbin/ifconfig/ifconfig.8 | 21 +++++++++++++++------ sys/netinet6/in6_pcb.c | 9 ++++----- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8 index dfea59dfd229..e3f094a336fb 100644 --- a/sbin/ifconfig/ifconfig.8 +++ b/sbin/ifconfig/ifconfig.8 @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 6, 2024 +.Dd April 24, 2025 .Dt IFCONFIG 8 .Os .Sh NAME @@ -448,11 +448,10 @@ of specifying the host portion, removing all NS addresses will allow you to respecify the host portion. .It Cm anycast (Inet6 only.) -Specify that the address configured is an anycast address. -Based on the current specification, -only routers may configure anycast addresses. -Anycast address will not be used as source address of any of outgoing -IPv6 packets. +Specify that the address configured is an anycast address, +as described in RFC 4291 section 2.6. +Anycast addresses will not be used as source address of any outgoing +IPv6 packets unless an application explicitly binds to the address. .It Cm arp Enable the use of the Address Resolution Protocol .Pq Xr arp 4 @@ -3326,6 +3325,16 @@ tried to alter an interface's configuration. .Xr rc 8 , .Xr routed 8 , .Xr sysctl 8 +.Rs +.%R RFC 3484 +.%D February 2003 +.%T "Default Address Selection for Internet Protocol version 6 (IPv6)" +.Re +.Rs +.%R RFC 4291 +.%D February 2006 +.%T "IP Version 6 Addressing Architecture" +.Re .Sh HISTORY The .Nm diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 65b7ead1e365..dfda0c60c0ba 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -214,14 +214,13 @@ in6_pcbbind_avail(struct inpcb *inp, const struct sockaddr_in6 *sin6, int fib, } /* - * XXX: bind to an anycast address might accidentally - * cause sending a packet with anycast source address. - * We should allow to bind to a deprecated address, since - * the application dares to use it. + * We used to prohibit binding to an anycast address here, + * based on RFC3513, but that restriction was removed in + * RFC4291. */ if (ifa != NULL && ((struct in6_ifaddr *)ifa)->ia6_flags & - (IN6_IFF_ANYCAST | IN6_IFF_NOTREADY | IN6_IFF_DETACHED)) { + (IN6_IFF_NOTREADY | IN6_IFF_DETACHED)) { NET_EPOCH_EXIT(et); return (EADDRNOTAVAIL); } From nobody Thu Apr 24 14:35:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zjz5m30tlz5tNby; Thu, 24 Apr 2025 14:35: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 4Zjz5m0MMDz3VRZ; Thu, 24 Apr 2025 14:35:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745505308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F6i+whCjqWMuSIdSaF7oNpcOWVzOg9YRnq7W+YFEjW4=; b=pN1OH+orkWpy1tahG991qOlXlxkHXIWPaYm6b3cQJs4XevZBjRCBqcVQBqfe36wYJFFYYR jc1uSXLbSjTIphdC8EI8Rr5gb2fUKhvrcmciqtYaqwE2s/8vtLnJww153UCu2ZRQxclWJH gKWdTIuNKKSh4Iw/AYcEanw/jR8h1QzSfzXQazTWq01B0+CiYrZF2cbUj53HUXW3qN2SPH 9jmVGIXCFFT/1UW7LflRMpHhW1usOt/nWrajt5RCSHAtbF2DUPV8ophTwo6P9a1dRiwk0E Tykg+/bnH4Gyhb6Sp8Gt2zlaAl4GihVBFL37YThMlbq1Wy6PfQutxca5KJXrCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745505308; a=rsa-sha256; cv=none; b=bGfqSGx2+g81a/fN4yL+dfAbW2MSyM6L2erXDEYltQcymnw7UrPEzjR9whJfbhjb4evy7+ VlOXSdyMcEBngXTlU1mEDm9DFv0c2Z+q4CbvcvWiac6votDprQxJRL2x4pMg034WVMPFnU L60LfcuYTQUZxRpF8b+nXLfOr2wB366pvjg/+KR2lu3xo2OBBSfEs4XOXN2+tL35niOAej Sr/Vvd2tdYhCHA34G7vDHtxH1Y0ApJeHZD1sk6uZDlwE51VrUlD3cHoy7VKefjq7kKgeQv 7cS/wF/QKiCw7YvgWpSRfGssC+Pedi1YrZ7+Lie/P/OjOrIBK4f1GuwI92Y+mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745505308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F6i+whCjqWMuSIdSaF7oNpcOWVzOg9YRnq7W+YFEjW4=; b=An5U31Aa4steWBM/hq5Vaz+7lleP02acvYsBTkx1MELgTidhtj+IsFWNw/R78+O2b04UKG Xzdjxb3JoXVOtCAFYc4tFDX2LSade8sSYdTYuqkwba39NR9ZguKVeoys40unbtJutYuBRp su5ZayLIjuxHcjHjVlzPlpZainfkqWph0nlYGMCPy1kYiRrc+Dr0xEsFD8keYpHUVVuH2S UI6Ot8IlFBdPbXedPz53PHKdTeoWJVlmGCpweYJgd/ew607KG/wJ2SBikC7mwCcIPfNHyj vVF1TWgO5Ct20ibhBV7zNRxSE7scM+OVDCjYkz2y6lpAapnssn1ogf4dW84cNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zjz5l6wKTztn0; Thu, 24 Apr 2025 14:35:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53OEZ7NY076328; Thu, 24 Apr 2025 14:35:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OEZ79u076325; Thu, 24 Apr 2025 14:35:07 GMT (envelope-from git) Date: Thu, 24 Apr 2025 14:35:07 GMT Message-Id: <202504241435.53OEZ79u076325@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mark Johnston Subject: git: f83ec40fca52 - main - Makefile.inc1: Let the buildetc target run outside of etc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f83ec40fca52e1e2319b5d4f770f8263378265d6 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f83ec40fca52e1e2319b5d4f770f8263378265d6 commit f83ec40fca52e1e2319b5d4f770f8263378265d6 Author: Mark Johnston AuthorDate: 2025-04-24 14:32:41 +0000 Commit: Mark Johnston CommitDate: 2025-04-24 14:32:41 +0000 Makefile.inc1: Let the buildetc target run outside of etc Commit 49bc071f4088 ("nsswitch.conf: Avoid modification after installation") changes handling of nsswitch.conf such that we make a copy in the objdir during a build. Historically, the in-tree nsswitch.conf lived under etc. The buildetc target and its copy set SUBDIR_OVERRIDE=etc when building the object tree, but I think this isn't right when conf files are scattered around the src tree. If any of them require non-trivial processing, they'll get skipped during buildetc, and then some build-time commands may run during installetc. In the linked PR, this fails because the src tree is mounted read-only and no objdir was created during buildetc. Remove the SUBDIR_OVERRIDE for the _obj target, and build the buildconfig target across the tree. PR: 286072 Fixes: 49bc071f4088 ("nsswitch.conf: Avoid modification after installation") Reviewed by: brooks, dim Tested by: dim, Alastair Hogge Differential Revision: https://reviews.freebsd.org/D49960 --- Makefile.inc1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 4a0e4a884532..ebba0ccd9f5e 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1674,8 +1674,8 @@ buildetc: .MAKE .PHONY ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _legacy ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _bootstrap-tools \ MK_CROSS_COMPILER=no MK_TOOLCHAIN=no - ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _obj \ - SUBDIR_OVERRIDE=etc + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 _obj + ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 buildconfig ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 everything \ SUBDIR_OVERRIDE=etc From nobody Thu Apr 24 14:36:49 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zjz7k1J4Xz5tNNS; Thu, 24 Apr 2025 14:36: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 4Zjz7k03tmz3WGW; Thu, 24 Apr 2025 14:36:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745505410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M8fRmkeNRnHfhfBMEhawZpFktMSbvMf9ls0ANW/kPIs=; b=XHTCxGswsQdFhRJ1Ft2o98jn509Uv+wd4beubTiapD8QR/fQ/C8BG/ggobvexq206HBAnH qGPK9TWLt3JBRwVpAwTKbPVgUe3ByQ8RZRIEJ1EKrW72Z36Y/SSrjzxrI1jKYBb7J4KeCV WEZNoBd/lb1XDp6K3JtB74ysCjV28/8WUjJLH7TxeZC4m/9rvuP9ej3zMx4wlaYXOHXpsw 9ZtSkJ+gy78ty9bItHEVVWIlTNsStPcnoMKMIHm8xJGmvNk01N62YP67uxz89scikEVwbe J1eR8Uwc/j0Vh8Le5HgqwVkbTvdvbmPeAr7rjIUYZ/uHyjUnGRjrrcBjQF5u5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745505410; a=rsa-sha256; cv=none; b=tOLN4MWLKkyK8YhJX90/3yfoVrVuRb/w0+cENYSK7lbX0xFeZ3ib0MynGk97XcmI/BnbLL Ly58VAWqdAmh1Aohb5ZWoUqNxPplnamrL2xVf7uBPGxH5dTrQXPEMD5qlzV+gMscUOsAYw cOG9QgPTQeGbINTaGqBqfpljW/D773MS7uT+gLinWWmrw5p3D7HJrj/8b88v4KHJPu24U8 K6txGerktZOGWpdX3uKX1Y1WPvmjc/qUaaonAzWYzGWPM6GY0dtJzw3hGSl47bylJBWBwd uRPzYTmhjVLXWEPSrEOg1lSKLkczcw6SLnk9S9EqI68X8BRQN4Rd4pTQJWjS3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745505410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M8fRmkeNRnHfhfBMEhawZpFktMSbvMf9ls0ANW/kPIs=; b=WFAkPZiT0ejWc9HIhRrntukYbXZwukyDpYAq2xhtFz8M9v7DauUXO9k087Eak9DwY8oLVk aIEql5HC3RCmvg34cUQ3Nsw0Pr3G8bm/m/b+cjzrNo9KvFXxMM1j3Q6bRh5jOqodyTYosO kgJY9DEKuPJDiuzDzcqIyHzRLz+DdpV2WBNtVj5ZexGb4GMfZJw/akY6QrH9cmZ5hOPqj5 0xumaVFe3EOG8fHiYBl23RjIpY6p6Kt+FPKX8UkP+PTWQfF9BDz+++UbmG1r5LGqaWw3z/ BpjCTQNZBh1qdnYth/7wb8E+ANrf5vGfiSyen1auCTjJfuvDgvK2ivPGFQS/eA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zjz7j6VNgztDh; Thu, 24 Apr 2025 14:36: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 53OEangq076891; Thu, 24 Apr 2025 14:36:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OEanKM076888; Thu, 24 Apr 2025 14:36:49 GMT (envelope-from git) Date: Thu, 24 Apr 2025 14:36:49 GMT Message-Id: <202504241436.53OEanKM076888@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: a34d2231fa38 - main - Partially revert 6527682ab705 for llvm-based projects List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: a34d2231fa38a5e440ecdc94dbca3b3deb5a7f50 Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a34d2231fa38a5e440ecdc94dbca3b3deb5a7f50 commit a34d2231fa38a5e440ecdc94dbca3b3deb5a7f50 Author: Dimitry Andric AuthorDate: 2025-04-24 12:03:38 +0000 Commit: Dimitry Andric CommitDate: 2025-04-24 14:36:40 +0000 Partially revert 6527682ab705 for llvm-based projects Upstream llvm compiles most of their subprojects with -std=c++17 explicitly, not -std=gnu++17. In gnu++17 mode, both clang and gcc define the macro 'i386' on i386, which clashes with a namespace identifier in contrib/llvm-project/llvm/include/llvm/ExecutionEngine/JITLink/i386.h. Since the default after 6527682ab705 is now CXXSTD=gnu++17, explicitly set CXXSTD=c++17 for lib/clang, lib/libclang_rt and lib/libomp. --- lib/clang/llvm.build.mk | 1 + lib/libclang_rt/Makefile.inc | 1 + lib/libomp/Makefile | 1 + 3 files changed, 3 insertions(+) diff --git a/lib/clang/llvm.build.mk b/lib/clang/llvm.build.mk index c731deba8976..e88b2ff1033e 100644 --- a/lib/clang/llvm.build.mk +++ b/lib/clang/llvm.build.mk @@ -119,6 +119,7 @@ LDFLAGS+= -Wl,-m,elf64lriscv_fbsd .endif .endif +CXXSTD= c++17 CXXFLAGS+= -fno-exceptions CXXFLAGS+= -fno-rtti .if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING) diff --git a/lib/libclang_rt/Makefile.inc b/lib/libclang_rt/Makefile.inc index e7db5a469661..c472e8b741be 100644 --- a/lib/libclang_rt/Makefile.inc +++ b/lib/libclang_rt/Makefile.inc @@ -33,3 +33,4 @@ CXXFLAGS+= -fvisibility-inlines-hidden CXXFLAGS+= -fvisibility=hidden CFLAGS+= -I${CRTSRC}/include CFLAGS+= -I${CRTSRC}/lib +CXXSTD= c++17 diff --git a/lib/libomp/Makefile b/lib/libomp/Makefile index f1513e70f3f6..6c14c7d21077 100644 --- a/lib/libomp/Makefile +++ b/lib/libomp/Makefile @@ -57,6 +57,7 @@ CFLAGS+= -fdata-sections CXXFLAGS+= -fvisibility-inlines-hidden CXXFLAGS+= -fno-exceptions CXXFLAGS+= -fno-rtti +CXXSTD= c++17 .if ${COMPILER_TYPE} == "clang" .if ${MACHINE_CPUARCH} == "i386" From nobody Thu Apr 24 15:35:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk0R23m0mz5tS71; Thu, 24 Apr 2025 15:35: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 4Zk0R20P6hz3vf3; Thu, 24 Apr 2025 15:35:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745508910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SKb5xyhus5LmGKcWoIc4s9qNUO/za7m3QDPE5osEpzA=; b=R7M01/iOvqVDizDSAFNU55qDiCIQua2132agg0PX7wdZvl18pvTvr212RdeUysncTK4cRF /KOHO1mNwcSIHIS/lXAb6kUMzpiZnn38Gx+WvQP7Pdbfwtsz9Z8Kzp07DDP4rbBjSeEYiR uwnYx9BfnXjUoXQsTwJd3MIFq/faMnyePLTV9KGVsAZJHcYf0iLJ+6y5TN0jogiLLB2ltl yHWmEHFh65VKjgLyl5sxOO5gLo2MwecqNctbuU/IYxyDVHPepvoWnnREdfgFEUTXK0Lhoj P/HINCFi/NMWKmB2MQFMzLoX8WMJqYQlOV7jDMTTj/Fq0o7NRduPsP8xToTBkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745508910; a=rsa-sha256; cv=none; b=nZJCtL8GzczPCYoJzPSXGG3mSIOKT8bZ2h5T1izlDBHHPSNFMO2BJs2wPyvsnI0im0k/HZ HH+MRSv003sUt9VCSmD6fgpWdh279k5kdNUdsSgTufSkFWtXtDNnAV6UQQaATBE8vgOKRn KDCnbaASseqTDyhBusFHxShudgza9yzS6GW9X6QYQEMy3EAOcJo4J2K1A2aQVYmx4Of1X9 9gEQ+N4K6mO0t+o2TmpVfr7KtdbV9S706fMUxq9jKcDx4fAP/ldeY+an7gk/Nr3YruMGiV d6zXGn9q1amT182Nq4szMJ4mX3nAJRnTgRre2tldhA8aPoxRrtX8xUDtmXCTMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745508910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SKb5xyhus5LmGKcWoIc4s9qNUO/za7m3QDPE5osEpzA=; b=hXGiNwHp6GOdMWeOW8lVgRUlOmpZTZiHe0e6m3U4TblWdfCAYX+3xAEKrTImNSbuGCWmvs GckACOdn19QE3Cl9RlixmVWOTNDrYy0JLrB7bTSlFdQexuqNOpx73l+If864iOrfBF6htf TxM2dWU+dlKb3kNYFf3hVAvlJ8ly788NNq+Gj69zMYONNZe3dlFl/ssC5jHlNhSx9/fYXk HwxrUL7ZjCIVceoaMZplFzTR5rRGXky39zOMSU2DZc9tpKGIp0SJuNBq1hAOuDFs/ZIlWD eBlrDaGHAJPCIKmgwioAlTzL/N/13gepzwXxZ08qjgp369yXuFgF6TtZ6q73ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk0R16NHwzvfY; Thu, 24 Apr 2025 15:35: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 53OFZ9Rd088218; Thu, 24 Apr 2025 15:35:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OFZ9GK088215; Thu, 24 Apr 2025 15:35:09 GMT (envelope-from git) Date: Thu, 24 Apr 2025 15:35:09 GMT Message-Id: <202504241535.53OFZ9GK088215@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 14704a7fdb77 - main - pkg: update references to pkg.txz in man page List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 14704a7fdb77e92fdea11fc4b1e4e7479b0effbc Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=14704a7fdb77e92fdea11fc4b1e4e7479b0effbc commit 14704a7fdb77e92fdea11fc4b1e4e7479b0effbc Author: Isaac Freund AuthorDate: 2025-04-24 07:05:37 +0000 Commit: Ed Maste CommitDate: 2025-04-24 15:34:06 +0000 pkg: update references to pkg.txz in man page Only pkg.pkg is supported since 0cd9513a5ba5b. Reviewed by: emaste, ziaee Fixes: 0cd9513a5ba5 ("pkg: retire backwards compatibility bootstrap support") Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49994 --- usr.sbin/pkg/pkg.7 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/pkg/pkg.7 b/usr.sbin/pkg/pkg.7 index 982fd8ecaeb3..467f62d5747b 100644 --- a/usr.sbin/pkg/pkg.7 +++ b/usr.sbin/pkg/pkg.7 @@ -36,7 +36,7 @@ .Cm add .Op Fl dfy .Op Fl r Ar reponame -.Ar pkg.txz +.Ar pkg.pkg .Nm .Fl N .Nm @@ -67,7 +67,7 @@ is not installed yet, it will be fetched, have its signature verified, installed, and then have the original command forwarded to it. If already installed, the command requested will be forwarded to the real .Xr pkg 8 . -.It Nm Cm add Oo Fl fy Oc Oo Fl r Ar reponame Oc Ar pkg.txz +.It Nm Cm add Oo Fl fy Oc Oo Fl r Ar reponame Oc Ar pkg.pkg Install .Xr pkg 8 from a local package instead of fetching from remote. From nobody Thu Apr 24 15:49:40 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk0lm6PWCz5tTND; Thu, 24 Apr 2025 15: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 4Zk0lm4LBsz45Md; Thu, 24 Apr 2025 15: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=1745509780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gicd6LBNtPnaYI0tiwD8cuGz20vwpfpxl4KlZU76mhs=; b=NY2eAxKuXp0BEeqRg31bKC445mnLpny0ZTWdogFs9jeo4aeaM3n4MZqqoI60jvgLBIebuE 4aitC0JW3zs+5I02YRgYRZjzE3S7FJxaReW9VC1dcv8jchJNOSpOpGa+E+GOsrhnTcOEkB m2sHxroTuGKtjS169OBRsh+sDapJEIKCcqfAWPvPgeLUPI2DbDnfiQMTiHc3toLzDj4I+U QJ1axU7sV5IAB+Cbjf8UVTN0isiDCaIPc8GJySx0HpOdT6sX2+3j+dQVbwfifW3OawGFBz 9VqLydwRglyEWp+3YNH8bDs5pypma2HHyvTcGhd2teXsrP+zp9WNj5Oe6HFaHA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745509780; a=rsa-sha256; cv=none; b=jTU5QU8NPOTl2k5NUyz5ljWEylUVJrgMSUlu3J7OYULeVuNV8mgEr6uUjsT3TNsZLh/X8J wOWOvW1uUYZHRnfgSZm/kRV0v66f0xuAh0ApVkKX//rgov+7NXFJa46me8Yc/53kbWtM98 Gty5QtWs7HivxoOSX4JdjTwqb4SaWf5VshAUomA+Uysm9NNavA4PfaJwdh4V0uY1t7Y81Y ZXQuDh2cmC++kYQ2c+V3zYycWU0q1H/PgnClTE9SAgwGlGGEdtczIRnl3HQ6QZJuxC6GX5 0cakeFpo3UViGW0MQzZCAdg1JCzrT5bsneIZ7xYwaoz5TPgT7qeErlXD1LVKQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745509780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gicd6LBNtPnaYI0tiwD8cuGz20vwpfpxl4KlZU76mhs=; b=nWxmgCR6YULbfYFtzXu7r52JtIVQf+xiBtvp1BMUZY6KdMAPq6nkGQ5EtfcEQ9GN/vUS6e do7HS57Lu6iywZqTl12mvukIuBiQ8ExKNKuUw+O1xTGqyqhMrsJjui1BIKA8o6GTZHTLFX pnoLl87mwoMyQ4qm3mKgzLBRhLVEjiwKHT+dv+JnbyK0oVdHEgOD3jQ6CW5IakKVEtVaA0 jAXIHugz/JPRW3OT0F+5WsvbaurH+ZsQ2t3ya+Zvcvxy2/uByNlixK41hL4dNQlhim67RR aOjQ9T0FSB9RmAZCTWQyTdVp/HDpjhcKH7wsGrKYX9kTmxpZJ8wce92L0mRGrQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk0lm3hTZzwSm; Thu, 24 Apr 2025 15: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 53OFneU8008873; Thu, 24 Apr 2025 15: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 53OFneU1008870; Thu, 24 Apr 2025 15:49:40 GMT (envelope-from git) Date: Thu, 24 Apr 2025 15:49:40 GMT Message-Id: <202504241549.53OFneU1008870@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 1cce7d86c86a - main - vm_map: fix iterator jump size List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1cce7d86c86ae690d6f1d8120811792bb65e95cc Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=1cce7d86c86ae690d6f1d8120811792bb65e95cc commit 1cce7d86c86ae690d6f1d8120811792bb65e95cc Author: Doug Moore AuthorDate: 2025-04-24 15:47:41 +0000 Commit: Doug Moore CommitDate: 2025-04-24 15:47:41 +0000 vm_map: fix iterator jump size The index value in the loop in vm_map_pmap_enter jumps by 1, or some superpage size, in each iteration. Jump by the superpage size only when the entire superpage is being mapped. Reported by: pho Reported-by: syzbot+1cc9ede76727d2ea2e8d@syzkaller.appspotmail.com Reviewed by: alc, kib, markj Tested by: pho Fixes: Fixes: b3d89a0cde94 ("vm_map: use page iterators in pmap_enter") Differential Revision: https://reviews.freebsd.org/D49987 --- sys/vm/vm_map.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 0371680f6df5..c6182f9ce30f 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -2678,7 +2678,7 @@ vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_prot_t prot, struct pctrie_iter pages; vm_offset_t start; vm_page_t p, p_start; - vm_pindex_t mask, psize, threshold, tmpidx; + vm_pindex_t jump, mask, psize, threshold, tmpidx; int psind; if ((prot & (VM_PROT_READ | VM_PROT_EXECUTE)) == 0 || object == NULL) @@ -2710,7 +2710,7 @@ vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_prot_t prot, vm_page_iter_limit_init(&pages, object, pindex + psize); for (p = vm_radix_iter_lookup_ge(&pages, pindex); p != NULL; - p = vm_radix_iter_jump(&pages, mask + 1)) { + p = vm_radix_iter_jump(&pages, jump)) { /* * don't allow an madvise to blow away our really * free pages allocating pv entries. @@ -2723,7 +2723,7 @@ vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_prot_t prot, psize = tmpidx; break; } - mask = 0; + jump = 1; if (vm_page_all_valid(p)) { if (p_start == NULL) { start = addr + ptoa(tmpidx); @@ -2737,6 +2737,7 @@ vm_map_pmap_enter(vm_map_t map, vm_offset_t addr, vm_prot_t prot, if (tmpidx + mask < psize && vm_page_ps_test(p, psind, PS_ALL_VALID, NULL)) { + jump += mask; threshold += mask; break; } From nobody Thu Apr 24 19:07:22 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk57v2x92z5tgnr; Thu, 24 Apr 2025 19:07:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zk57v19KPz3xnJ; Thu, 24 Apr 2025 19:07:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745521643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i/Y4SoZ53QnDoMwxOZQGI2gnR6Zvaxw7Io5Q3W5EpdQ=; b=ZzXkd8c/m9TdR9OGixzPgnQp5/hrvvPQBUzCoT0OaxutUYqtyUPytg+rpe/kz3JN3diW1H YG2qRI0dV2Fg1D8f0imNPcx4rwrCD0XAD8mOgh2JuzKYHkr5chGk599VfxPdY+zO1t7FE7 TFMPBK6LLPEUW4EcC9hkh5DJ/G7Q9Z54FrJz+tjr97inmHZooxTRuaIPmL6otuUxJx93Ta OF1VTEtnFq07MA9o9CPDoXeWNQPjqlSb8wcSlx5Z7F5T7f08utsUTHLxOyMrUcqEzzZvjF XkT4uhSJ4k+bZoajPRiASHFSYAsruwHPSPV1Fvx4Rt23+azTG9R0Wm6AZf817g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745521643; a=rsa-sha256; cv=none; b=B1fsUJHF7foxEoxfPSXjOyed1BGi2+K652bPSvNpM7Dt48DZLXHkPoIuWcBl+89oWJ+5/v fF3wPrM1IoOT/UWnHgRLwDe0l5CID4Wfvj6iHPz6mw0vC5q7zI2vw+xlYEbbiBSt1uqIix lFOaX0w2IjPPddTSBA6M0z6w95QC645JXawcf+pAVuhfcojAMpuQ/WJTtMPY8Ogqrl9zsV xGlweypROytlRTlw7Bpn7FDcn5vx+tZA570DW5Na7hlH6GBKWM1UIhxlqSCaF6KiYnoCJR qmcibLULS+KkzT04CH/PUMb7wwLBJolbAC1eFWOgzQCmBamP3wlGtPcwTo/YHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745521643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i/Y4SoZ53QnDoMwxOZQGI2gnR6Zvaxw7Io5Q3W5EpdQ=; b=ABG2v352wVOEA2k6wPf00UlyYf3//nGoDsqEQ6+owBpA40RtLbKAIk3VFjOp7XBXv58kxO av1R+mefVE8b37RdfUb1hlHNdhGTSifAmcN4hAqc1+zWZ9pdFqhVzI+cdHlPJAKwlB4uOp FOWeEaU+NgGiN4LVWfglPdPGmaLX7sUvRoP3H7mBlS0TbqzBbX2/eeNk9aDa+25MWoXU6U TSLwt/YBv0cFVC0+fzmK0LfH1yKr/2hU2TZEcoO43RBGEIgkkHRczPGqILwA7VNAFd8y05 LZsN4WbUt11tuYnCDEJ1uxGtTzk1zjY+uVVqBVrWVm5hTdOhX7aXEEary6+EVg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk57v0hq4z12cC; Thu, 24 Apr 2025 19:07:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53OJ7MBU081851; Thu, 24 Apr 2025 19:07:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OJ7MWU081848; Thu, 24 Apr 2025 19:07:22 GMT (envelope-from git) Date: Thu, 24 Apr 2025 19:07:22 GMT Message-Id: <202504241907.53OJ7MWU081848@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 2be18f348e60 - main - vm_object: use iterators in unwire() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2be18f348e60c9fce7d1cf4a1c275ce89a03579c Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=2be18f348e60c9fce7d1cf4a1c275ce89a03579c commit 2be18f348e60c9fce7d1cf4a1c275ce89a03579c Author: Doug Moore AuthorDate: 2025-04-24 19:06:19 +0000 Commit: Doug Moore CommitDate: 2025-04-24 19:06:19 +0000 vm_object: use iterators in unwire() Use iterators in place of tailq pointers in vm_object_unwire(). Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49939 --- sys/vm/vm_object.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 39f9f0a50d46..147221c1e7e3 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2352,6 +2352,7 @@ void vm_object_unwire(vm_object_t object, vm_ooffset_t offset, vm_size_t length, uint8_t queue) { + struct pctrie_iter pages; vm_object_t tobject, t1object; vm_page_t m, tm; vm_pindex_t end_pindex, pindex, tpindex; @@ -2366,10 +2367,11 @@ vm_object_unwire(vm_object_t object, vm_ooffset_t offset, vm_size_t length, return; pindex = OFF_TO_IDX(offset); end_pindex = pindex + atop(length); + vm_page_iter_init(&pages, object); again: locked_depth = 1; VM_OBJECT_RLOCK(object); - m = vm_page_find_least(object, pindex); + m = vm_radix_iter_lookup_ge(&pages, pindex); while (pindex < end_pindex) { if (m == NULL || pindex < m->pindex) { /* @@ -2397,7 +2399,7 @@ again: NULL); } else { tm = m; - m = TAILQ_NEXT(m, listq); + m = vm_radix_iter_step(&pages); } if (vm_page_trysbusy(tm) == 0) { for (tobject = object; locked_depth >= 1; @@ -2411,6 +2413,7 @@ again: if (!vm_page_busy_sleep(tm, "unwbo", VM_ALLOC_IGN_SBUSY)) VM_OBJECT_RUNLOCK(tobject); + pctrie_iter_reset(&pages); goto again; } vm_page_unwire(tm, queue); From nobody Thu Apr 24 19:16:20 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk5LD4fjVz5tgwZ; Thu, 24 Apr 2025 19:16: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 4Zk5LD31mGz44d7; Thu, 24 Apr 2025 19:16:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745522180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dTkrsq+AwirWNG6l12JxyhgMkFEJFax8LSzlGMCpO9I=; b=FzWq/SBPIqCwPjpKnNtxOguSN+CkdMZnOSaFvoo61sHtyzz16sYu1yGCeAVVPiUIpiRDIq MhT5RzQLhBZW4SGVIL8JacuptAybxFRHVwXTMw5I8S0tBvZcjtbrZ7muGBSl4umXajk2Of Na9jny7wCaFiA6MIekiNyJVPmWLurYSqJVqs9xyZrHv23q0La8EDNohWhAIq1D+zd6z4b7 gJUmcpvIsXLMhiOYCxqVR25bLhwpsGYZuh6bhmybvdJ5HNIvfvbXqujzHEoPaYKBriLrdD sWoyJphYAIbJDM94HarUhJ2vyZvbCcfETySokc4sV84q5w5wwnJXUa0L6MqtJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745522180; a=rsa-sha256; cv=none; b=FQW2UA62BLB69LfMEvbLFLbE7h2JHMPGqINBR9ycEnMI7nGVf1c2WE0C5ZxRUTQ+Vdmmm+ PDTe0YPbZINN7Sr8ysDvD/6Xa4fuUQzAN4zwtr/shrjTnPTa+4XgIyYDYzchMSX8gk88Aj 9IPufmNpONgY2f65830SBwyZts3FXU690TgRLY8jNfuaCNcQrncP/fy3iu/sqCsoxYYJmn BDfKB7oDuDsqfnSAsRDRYaEt0JgI7RHj97TdkqKRpL9LguI1w/YhE9diKt5r5hI20NAD7z Mq/3bhxQfHQe96lBSktOeX5QJrIjmuKUI8ZCxULOlWQuurEuGNXwyEXLYFh4mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745522180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dTkrsq+AwirWNG6l12JxyhgMkFEJFax8LSzlGMCpO9I=; b=pSFNZTSxgArRi9cjWGxjHyexVWXSpI6LQkD5TiUhXd1jbhKEGaRpCYUULtOvvw3+Q33H14 s/27s6xJNS6TG9RYV0lIEGUcE6lIagBsxfLf15bxOScQKia7jEkKFY3TEXiuUcn2mhK5X4 +586I5svIl69yT5Xjs7fw2L+LI1Rw5YWxGdqYKCiYxTOrPTshdGwNPEvc2v0CKjbzzZPEU ex2vK7mVAeHvSUUW+VbdSeF/VqzX8T/EcLn3xIzPK5TexIGmnmlLkg4VuibVfDtoewo2dd VXQFtz/MS4vHx9BXEcPu/ef4oSOFNJdudureBE6/wBZF3aHmS703yfuqel7pTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk5LD2HjFz11gq; Thu, 24 Apr 2025 19:16: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 53OJGKZc000683; Thu, 24 Apr 2025 19:16:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OJGKJO000680; Thu, 24 Apr 2025 19:16:20 GMT (envelope-from git) Date: Thu, 24 Apr 2025 19:16:20 GMT Message-Id: <202504241916.53OJGKJO000680@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 896dccb1c122 - main - vm_page: make grab_valid() with iter param List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 896dccb1c1225d13ecb88a872204e2f80bcda453 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=896dccb1c1225d13ecb88a872204e2f80bcda453 commit 896dccb1c1225d13ecb88a872204e2f80bcda453 Author: Doug Moore AuthorDate: 2025-04-24 19:14:45 +0000 Commit: Doug Moore CommitDate: 2025-04-24 19:14:45 +0000 vm_page: make grab_valid() with iter param Define vm_page_grab_valid_iter() to be the function that does the work of vm_page_grab(), but has an iterator parameter passed to it. In a couple of places, this can be called directly to let an iterator get reused. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D49942 --- sys/kern/uipc_shm.c | 7 +++++-- sys/vm/vm_page.c | 51 ++++++++++++++++++++++++++++++++++++--------------- sys/vm/vm_page.h | 2 ++ 3 files changed, 43 insertions(+), 17 deletions(-) diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index 7004e4f1c6ea..28e90b73aa8d 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -100,6 +100,7 @@ #include #include #include +#include #include struct shm_mapping { @@ -195,6 +196,7 @@ SYSCTL_INT(_vm_largepages, OID_AUTO, reclaim_tries, static int uiomove_object_page(vm_object_t obj, size_t len, struct uio *uio) { + struct pctrie_iter pages; vm_page_t m; vm_pindex_t idx; size_t tlen; @@ -214,8 +216,9 @@ uiomove_object_page(vm_object_t obj, size_t len, struct uio *uio) * page: use zero_region. This is intended to avoid instantiating * pages on read from a sparse region. */ + vm_page_iter_init(&pages, obj); VM_OBJECT_WLOCK(obj); - m = vm_page_lookup(obj, idx); + m = vm_radix_iter_lookup(&pages, idx); if (uio->uio_rw == UIO_READ && m == NULL && !vm_pager_has_page(obj, idx, NULL, NULL)) { VM_OBJECT_WUNLOCK(obj); @@ -229,7 +232,7 @@ uiomove_object_page(vm_object_t obj, size_t len, struct uio *uio) * lock to page out tobj's pages because tobj is a OBJT_SWAP * type object. */ - rv = vm_page_grab_valid(&m, obj, idx, + rv = vm_page_grab_valid_iter(&m, obj, &pages, idx, VM_ALLOC_NORMAL | VM_ALLOC_SBUSY | VM_ALLOC_IGN_SBUSY); if (rv != VM_PAGER_OK) { VM_OBJECT_WUNLOCK(obj); diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 6601ea23bf0e..9e41735460db 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -4946,17 +4946,17 @@ vm_page_grab_unlocked(vm_object_t object, vm_pindex_t pindex, int allocflags) } /* - * Grab a page and make it valid, paging in if necessary. Pages missing from - * their pager are zero filled and validated. If a VM_ALLOC_COUNT is supplied - * and the page is not valid as many as VM_INITIAL_PAGEIN pages can be brought - * in simultaneously. Additional pages will be left on a paging queue but - * will neither be wired nor busy regardless of allocflags. + * Grab a page and make it valid, paging in if necessary. Use an iterator + * parameter. Pages missing from their pager are zero filled and validated. If + * a VM_ALLOC_COUNT is supplied and the page is not valid as many as + * VM_INITIAL_PAGEIN pages can be brought in simultaneously. Additional pages + * will be left on a paging queue but will neither be wired nor busy regardless + * of allocflags. */ int -vm_page_grab_valid(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, - int allocflags) +vm_page_grab_valid_iter(vm_page_t *mp, vm_object_t object, + struct pctrie_iter *pages, vm_pindex_t pindex, int allocflags) { - struct pctrie_iter pages; vm_page_t m, mpred; vm_page_t ma[VM_INITIAL_PAGEIN]; int after, i, pflags, rv; @@ -4971,10 +4971,9 @@ vm_page_grab_valid(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, pflags = allocflags & ~(VM_ALLOC_NOBUSY | VM_ALLOC_SBUSY | VM_ALLOC_WIRED | VM_ALLOC_IGN_SBUSY); pflags |= VM_ALLOC_WAITFAIL; - vm_page_iter_init(&pages, object); retrylookup: - if ((m = vm_radix_iter_lookup(&pages, pindex)) != NULL) { + if ((m = vm_radix_iter_lookup(pages, pindex)) != NULL) { /* * If the page is fully valid it can only become invalid * with the object lock held. If it is not valid it can @@ -4988,7 +4987,7 @@ retrylookup: vm_page_all_valid(m) ? allocflags : 0)) { (void)vm_page_grab_sleep(object, m, pindex, "pgrbwt", allocflags, true); - pctrie_iter_reset(&pages); + pctrie_iter_reset(pages); goto retrylookup; } if (vm_page_all_valid(m)) @@ -5002,13 +5001,14 @@ retrylookup: *mp = NULL; return (VM_PAGER_FAIL); } else { - mpred = vm_radix_iter_lookup_lt(&pages, pindex); - m = vm_page_alloc_after(object, &pages, pindex, pflags, mpred); + mpred = vm_radix_iter_lookup_lt(pages, pindex); + m = vm_page_alloc_after(object, pages, pindex, pflags, mpred); if (m == NULL) { if (!vm_pager_can_alloc_page(object, pindex)) { *mp = NULL; return (VM_PAGER_AGAIN); } + pctrie_iter_reset(pages); goto retrylookup; } } @@ -5019,10 +5019,11 @@ retrylookup: after = MIN(after, allocflags >> VM_ALLOC_COUNT_SHIFT); after = MAX(after, 1); ma[0] = mpred = m; + pctrie_iter_reset(pages); for (i = 1; i < after; i++) { - m = vm_radix_iter_lookup(&pages, pindex + i); + m = vm_radix_iter_lookup(pages, pindex + i); if (m == NULL) { - m = vm_page_alloc_after(object, &pages, + m = vm_page_alloc_after(object, pages, pindex + i, VM_ALLOC_NORMAL, mpred); if (m == NULL) break; @@ -5054,6 +5055,7 @@ retrylookup: } else { vm_page_zero_invalid(m, TRUE); } + pctrie_iter_reset(pages); out: if ((allocflags & VM_ALLOC_WIRED) != 0) vm_page_wire(m); @@ -5065,6 +5067,25 @@ out: return (VM_PAGER_OK); } +/* + * Grab a page and make it valid, paging in if necessary. Pages missing from + * their pager are zero filled and validated. If a VM_ALLOC_COUNT is supplied + * and the page is not valid as many as VM_INITIAL_PAGEIN pages can be brought + * in simultaneously. Additional pages will be left on a paging queue but + * will neither be wired nor busy regardless of allocflags. + */ +int +vm_page_grab_valid(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, + int allocflags) +{ + struct pctrie_iter pages; + + VM_OBJECT_ASSERT_WLOCKED(object); + vm_page_iter_init(&pages, object); + return (vm_page_grab_valid_iter(mp, object, &pages, pindex, + allocflags)); +} + /* * Grab a page. Keep on waiting, as long as the page exists in the object. If * the page doesn't exist, and the pager has it, allocate it and zero part of diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h index bf2e850612d7..c24ae8b64d28 100644 --- a/sys/vm/vm_page.h +++ b/sys/vm/vm_page.h @@ -641,6 +641,8 @@ int vm_page_grab_pages_unlocked(vm_object_t object, vm_pindex_t pindex, int allocflags, vm_page_t *ma, int count); int vm_page_grab_valid(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, int allocflags); +int vm_page_grab_valid_iter(vm_page_t *mp, vm_object_t object, + struct pctrie_iter *, vm_pindex_t pindex, int allocflags); int vm_page_grab_valid_unlocked(vm_page_t *mp, vm_object_t object, vm_pindex_t pindex, int allocflags); void vm_page_deactivate(vm_page_t); From nobody Thu Apr 24 19:17:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk5N74bp0z5tgr5; Thu, 24 Apr 2025 19:17: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 4Zk5N72v8Yz45yp; Thu, 24 Apr 2025 19:17:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745522279; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tXHTAmApfvVFd6hpCx/P/qfoJyxZefrwKjgsUCtpa+Q=; b=LbEGpMWjxYinBiK5/iQ/uAS9LBE3W1xlPg3P8oKkPlBCTqMUMnM8J+0gh9K4k4ciNF6J96 3yY9T1Ftaz8pzJT44/qt3zLHw5kzi6/nSoZQznJsl6H4z+eX2KoU5sCe4NGk0WXBcfJ4JR 1VCoXJ5LxbEOOqirBIhj5UnXHRi6iaIMgTT7zhJqZd79ox5qOi+d8hAvmei+dsZpG/+Gz1 RVRkczdP2g84tmFExOBbeIq0++eQrDdvM8ZDGb07hGunOowGKpjuK6+z4OzpazYh3IwY6y G90z2R04+4BVgQsmNrzsdCX42yTQ3PkIDQABpDLJ+8IoUGazjzRx5zIhwINquA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745522279; a=rsa-sha256; cv=none; b=qV7wDHQ+B8qKmKX/9A72iAfjI0VCLgIaadhgKjxRKMNy+w78ttrOpqGicuh1fi0h4gzFmw kvt5AJTcOk//quyzOinq28FbTj6QJzhIHBUvRtS2MUUUaXgtaFXJdLXG3r+9df2Pb1OZMo LVHaoVkGFWbjPhXE2lJDZL1BSCglNoiy6YNcvP0Tbpp1YoloG54ei9LJq5nJkWaYhByAQv BJ3U+DuG02Zcwcv3qok670ayWWyel1TDrjWfVkxbrZqUpj7A1yjtol7lbpPeJYZ/DesIrU 2hAqXfuMMfeQ60ANmDa9lv9zyV7nkiZS9Gp6CkcuR4+gMEG++0p2RYGvtBGZeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745522279; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tXHTAmApfvVFd6hpCx/P/qfoJyxZefrwKjgsUCtpa+Q=; b=sB0hGF6Q05zjG8PDpDRFydtxTbCUjhgVcfJlEf5WhIi+yJXnzCDymsOcoXgfKvymp1rK/U mpYav2+wzncNoB2vEJk7s7HgJQmifkkrvKv7+6e4QmRIhOA/j0YAooKK6jVSImg2FX7Zhc IkLoP8nGOPQRtCfywbdBLOztXyGIwLpVvvDdPDfnN1iq3XMhcGVUlHgOzqnKqxFxNICtZd eLESdGhQXD3KXfNzQVpTDpu3keu3/1udCoyNUXsWCx6sJMqLwo/b61Ew9d1k6ek8msCLIb JRO9mWOxfiL3/8USBzTJIRQfiRjxinl4yBwpisrUC8W8A+IyLBFze50xmBQUmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk5N729Htz11gr; Thu, 24 Apr 2025 19:17: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 53OJHxcv001378; Thu, 24 Apr 2025 19:17:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OJHx2V001375; Thu, 24 Apr 2025 19:17:59 GMT (envelope-from git) Date: Thu, 24 Apr 2025 19:17:59 GMT Message-Id: <202504241917.53OJHx2V001375@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 98a01518bb5e - main - vm_object: use iterators in DB_SHOW*() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 98a01518bb5e0493b314b122e3d3eb4979a8d001 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=98a01518bb5e0493b314b122e3d3eb4979a8d001 commit 98a01518bb5e0493b314b122e3d3eb4979a8d001 Author: Doug Moore AuthorDate: 2025-04-24 19:16:50 +0000 Commit: Doug Moore CommitDate: 2025-04-24 19:16:50 +0000 vm_object: use iterators in DB_SHOW*() Replace tailq pointers with iterators in the DB_SHOW* functions. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49947 --- sys/vm/vm_object.c | 53 ++++++++++++++++++++++------------------------------- 1 file changed, 22 insertions(+), 31 deletions(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 147221c1e7e3..6a13cc1fd2b5 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2758,6 +2758,7 @@ DB_SHOW_COMMAND_FLAGS(vmochk, vm_object_check, DB_CMD_MEMSAFE) */ DB_SHOW_COMMAND(object, vm_object_print_static) { + struct pctrie_iter pages; /* XXX convert args. */ vm_object_t object = (vm_object_t)addr; boolean_t full = have_addr; @@ -2788,7 +2789,8 @@ DB_SHOW_COMMAND(object, vm_object_print_static) db_indent += 2; count = 0; - TAILQ_FOREACH(p, &object->memq, listq) { + vm_page_iter_init(&pages, object); + VM_RADIX_FOREACH(p, &pages) { if (count == 0) db_iprintf("memory:="); else if (count == 6) { @@ -2826,49 +2828,38 @@ vm_object_print( DB_SHOW_COMMAND_FLAGS(vmopag, vm_object_print_pages, DB_CMD_MEMSAFE) { + struct pctrie_iter pages; vm_object_t object; - vm_pindex_t fidx; - vm_paddr_t pa; - vm_page_t m, prev_m; + vm_page_t m, start_m; int rcount; TAILQ_FOREACH(object, &vm_object_list, object_list) { db_printf("new object: %p\n", (void *)object); if (db_pager_quit) return; - - rcount = 0; - fidx = 0; - pa = -1; - TAILQ_FOREACH(m, &object->memq, listq) { - if ((prev_m = TAILQ_PREV(m, pglist, listq)) != NULL && - prev_m->pindex + 1 != m->pindex) { - if (rcount) { - db_printf(" index(%ld)run(%d)pa(0x%lx)\n", - (long)fidx, rcount, (long)pa); - if (db_pager_quit) - return; - rcount = 0; - } - } - if (rcount && - (VM_PAGE_TO_PHYS(m) == pa + rcount * PAGE_SIZE)) { - ++rcount; - continue; - } - if (rcount) { + start_m = NULL; + vm_page_iter_init(&pages, object); + VM_RADIX_FOREACH(m, &pages) { + if (start_m == NULL) { + start_m = m; + rcount = 0; + } else if (start_m->pindex + rcount != m->pindex || + VM_PAGE_TO_PHYS(start_m) + ptoa(rcount) != + VM_PAGE_TO_PHYS(m)) { db_printf(" index(%ld)run(%d)pa(0x%lx)\n", - (long)fidx, rcount, (long)pa); + (long)start_m->pindex, rcount, + (long)VM_PAGE_TO_PHYS(start_m)); if (db_pager_quit) return; + start_m = m; + rcount = 0; } - fidx = m->pindex; - pa = VM_PAGE_TO_PHYS(m); - rcount = 1; + rcount++; } - if (rcount) { + if (start_m != NULL) { db_printf(" index(%ld)run(%d)pa(0x%lx)\n", - (long)fidx, rcount, (long)pa); + (long)start_m->pindex, rcount, + (long)VM_PAGE_TO_PHYS(start_m)); if (db_pager_quit) return; } From nobody Thu Apr 24 19:22:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk5T7561fz5thK0; Thu, 24 Apr 2025 19:22: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 4Zk5T72XwBz488T; Thu, 24 Apr 2025 19:22:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745522539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wzVrHYg3FpG4tqpBOALsdR29Yc1eHeZSd93rS8ea17w=; b=uPZWWl5nEQx0HAo+21zAVuX0wGkaddT/e/YwYq3LNh4Ns+/QT1ocvrzdKyhFOo5XHBOCHZ nz4X5Z4tPHUdkEph51zzkO0k8YD0GaY7bsJWp7Sunk1V3zJXtqH3FjDu8Yzl/dmfDNUY4o dwCInBdi84R5IT3/YBB0CiXkiNeXak+HlJ2tLyzVjHFcWivctnhZngZwW8JoItooBVqzYl ex8lCklD3I5sIf3RZsyJ+IGxucFsUUxDmxEtlAZk6otJe52aa+zAJa7gnZMVW5cKtew2no RTXYOuWgTECnP0XUNgiE/2vgBapeOjaz822VpqvPFVq04dMZPAUqudNq0EVUgg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745522539; a=rsa-sha256; cv=none; b=QsEfKurAFvSpLtjo27Pl0t4C1vzz8aE3MpHd7PCy8AC2AjNw30TH3j1PXwmGL0DPyP4b8J O3XGhrLsaAN+61hSOVRpAl1HTApqUEpPEdhWOmfqeNcUXh4eBZtFFOYHv5k8Vpb8BJ9YYi taeCObg9y4jNZaRnUbQOhExrjm1qU3l4zDob/2DUdAjTR82pR05NG/xwxYmCKNTjpbensv 4DrZ0mcCXc2TznxAVwmEiPgy8QxIVWTT5RwxW3TP9QE4vBzCh/OjChRXdrb2MfXneuPSiq 6oYNoOrlil3vsjic7iam59fuAhqw228asp0S3pSSupLhOuZFu/EhEz0EvG2NRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745522539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wzVrHYg3FpG4tqpBOALsdR29Yc1eHeZSd93rS8ea17w=; b=XwGJKOpHKAs840+LGiAyffweV7Bs6Dz7F1GMc8TMq8EXDvvJei7kys/WwsJsUHjAFuCCjr dlNNWXYiYxCeAOvMVubOr0CdRUNjyQx9V8bKCaJFPEKD2/QKGcRmOERcDi8fI+lIatOqR7 AUfX1APXu4AbcFm1uZtrq2BxpMbN5Us2dKiLbhLMO3rjPksqmzYFfVvOSoBl/gxxsjY79T vZp17pUoHzxnUvd6kLzpXv5MRZ5zNqJM7EjBjNn/xAOqQCV8BVJ8L01WODpzjJO0I72LQV bWM02Sbwuh/wrsh0G6z+TvcZDDEYj/qf1Iwv/OXaKuwiwzJivKPzeMxMFCe0kA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk5T724Ywz12mf; Thu, 24 Apr 2025 19:22: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 53OJMJQV014355; Thu, 24 Apr 2025 19:22:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OJMJ0G014352; Thu, 24 Apr 2025 19:22:19 GMT (envelope-from git) Date: Thu, 24 Apr 2025 19:22:19 GMT Message-Id: <202504241922.53OJMJ0G014352@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 4b3c72402e3a - main - vm_object: use iterators in list_handle() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b3c72402e3a26070d74f230b8c5f9ed3000e423 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=4b3c72402e3a26070d74f230b8c5f9ed3000e423 commit 4b3c72402e3a26070d74f230b8c5f9ed3000e423 Author: Doug Moore AuthorDate: 2025-04-24 19:21:23 +0000 Commit: Doug Moore CommitDate: 2025-04-24 19:21:23 +0000 vm_object: use iterators in list_handle() Replace the listq pointers with iterators in vm_object_list_handle(). Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49946 --- sys/vm/vm_object.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 6a13cc1fd2b5..e1a4143458a3 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2494,6 +2494,7 @@ vm_object_is_active(vm_object_t obj) static int vm_object_list_handler(struct sysctl_req *req, bool swap_only) { + struct pctrie_iter pages; struct kinfo_vmobject *kvo; char *fullpath, *freepath; struct vnode *vp; @@ -2553,7 +2554,8 @@ vm_object_list_handler(struct sysctl_req *req, bool swap_only) kvo->kvo_inactive = 0; kvo->kvo_flags = 0; if (!swap_only) { - TAILQ_FOREACH(m, &obj->memq, listq) { + vm_page_iter_init(&pages, obj); + VM_RADIX_FOREACH(m, &pages) { /* * A page may belong to the object but be * dequeued and set to PQ_NONE while the From nobody Thu Apr 24 19:24:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk5Wv6Z8rz5thNR; Thu, 24 Apr 2025 19:24: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 4Zk5Wv01M4z4Cmy; Thu, 24 Apr 2025 19:24:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745522683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pB4/VFGzYVs3KxBPexb3g8vkWj3lwUSC3bvYKFZLuZk=; b=oEt6Pb7Rjd9J8y/+PWqbLPmJmsK4zgrCfH7XO4kyVCEc9zHtagAso7zTp4N3uOpIEV8tBN IPgD4oE5jpk6RCRtF7j57gqy/w+PoZ+425pXbbOPuN2PVb/MDzW1atPmErb/XNlAfe9XZI ysui7AcDWNNZVoNhFzR/fg9vvgWDZfkiUHsb+HFlj1UDu+y3RafZ/3HLtf/gzEHtoDloju PV6NQuPVawG/MQmRcJeJzR1fMf5mZkcwic3SeK+nhTeanMyeCgKbP1juTNNBQNN1gM+3pT TqoF7Q6ZqEOtR+DjjkH7IFksIuVZudP5rY+stWWThIP14JQF9wUPJwA9AJgrQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745522683; a=rsa-sha256; cv=none; b=a5cCLhZIrdguQY2Ex8kJn+Ab45JAxAu/4JR246f/b82YMhFbg5SL5kTjZFkH6E9jzKv8FA VvsQBHpJ5Ehm3o1+AW/XQRx8TdA1J/3oRJxdYIltv+Jb4JeD08T0hmC0sdKE4GK8o0f9F1 j4AjSn3WMSIxJk0f6iJFDd48zf9SbiQm42SSCXWPV1lAscfNmCRaxj+FrzqHv+L5lSMU/b wkPSvhCf0mLaQbF9U+Q3HMqRFHcv1FuPg6rFFIdgZK0cj3hgmZQWJowOEJBk50KNF0lyva Ly0TND4b3y2hiUO1tXrjPtcAD6BD8zELSRoRt4mo9vlKAfETP2g4hq49bvqU+w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745522683; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pB4/VFGzYVs3KxBPexb3g8vkWj3lwUSC3bvYKFZLuZk=; b=FUyETl3Z3uBuzaDo6Nn/to/XR3C+onHR4mZ/FA26J26OHxt+MN548QbhRA9FvzH7UCjSk3 lv0eC2fesQ2dtDUneGY3dfVTuhp6Gdc1lLTFdW/AjFrxvn7twG4V3vteuJhdU87z4TfuuA pgmf1wNGUEt+deCKJfYpiq8DVSRUwO6TF5VUorB5Z66ei6TAEw/Km9Qkj62hq9o0YrnTn1 3QbViy5ODKdnByRI3qgFblxxO+e2ehvkPeKLRnJn2VM+91MI4Q/NRws5CalBsf1wJZTtrR Xm2Y4eACZBdlh8aYkRPoiPDXCeS2UsNImZcy2KJpFcpjida//BUxMB4RB7r0Ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk5Wt6Zlbz12j1; Thu, 24 Apr 2025 19:24: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 53OJOgG3019368; Thu, 24 Apr 2025 19:24:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OJOglh019365; Thu, 24 Apr 2025 19:24:42 GMT (envelope-from git) Date: Thu, 24 Apr 2025 19:24:42 GMT Message-Id: <202504241924.53OJOglh019365@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 9ae138aa5c1e - main - vm_object: check pctrie for empty check List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9ae138aa5c1e69834e3bd6e350e58e6ef4a3178c Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=9ae138aa5c1e69834e3bd6e350e58e6ef4a3178c commit 9ae138aa5c1e69834e3bd6e350e58e6ef4a3178c Author: Doug Moore AuthorDate: 2025-04-24 19:23:40 +0000 Commit: Doug Moore CommitDate: 2025-04-24 19:23:40 +0000 vm_object: check pctrie for empty check Check the object pctrie, rather than the memq, to detect an empty object. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49948 --- sys/vm/vm_object.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index e1a4143458a3..e301114f800a 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -336,7 +336,7 @@ vm_object_set_memattr(vm_object_t object, vm_memattr_t memattr) if (object->type == OBJT_DEAD) return (KERN_INVALID_ARGUMENT); - if (!TAILQ_EMPTY(&object->memq)) + if (!vm_radix_is_empty(&object->rtree)) return (KERN_FAILURE); object->memattr = memattr; From nobody Thu Apr 24 22:14:37 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk9Hy1llBz5trRx; Thu, 24 Apr 2025 22:14: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 4Zk9Hx5fDKz3krB; Thu, 24 Apr 2025 22:14:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oyxQwR3wzaxnO2O8SHIcrS/bIdS3eaajb1o8ZrU/pfo=; b=sH8mmWOzuQ343gxYczRtjwFDN/AFZ95FKGeGI+QLJQBtMlG7E58ZJ6pMJtHp2JZtbgKg6z 07KhJRcLeocrDnmMbZ1RBPNTTdXhUOu5dIcDUQ+LLCtAt8v7eageS6QnubOLEypUEbvJq6 2wonVElRI/yBe3FBUaJ9R8/xYn7S/OxsWi/WzjF+aA/k6hsTbGahY9XS75Y9OQJchKJId+ 16HzenuVJamhDDo0ObcLNE1i6PC7eE2Zm5fSPD0ZN4y7raKdMbE4dg5UYlS2UR6O6D328I FEE/9LFgL//KTtTmKZktg50PZzjNv+3IbHUhKprC/9Vu+p3WL1JLWM09IiHGKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745532877; a=rsa-sha256; cv=none; b=QsWy5DtDjnYPYlG+kB0xBV/bJTxI7uuhec9EsvCPZ9vqhrIdTL/ZqIVguYYhNIX2VOCFYC VerRrFnbgCF6paXsMFzrEU7HrPeiEYx8m7VcpcmDswVjLDQ2pqPNbWcC4kuB6E0e2zygtl 5AcB4CECBJIG65YD494qnDc+6Lt4RDNCy5S3RfOAdwF4XgE/vfCCg9MJfH79QTSWJwtNim 3x8TmirD4Z1deiP+dEWylwWU8P0c1iGiBFf1EcyI25cu3t7AT1IwYexFS3EdFq9VDcu6q0 /NIPDIvSMVN2SbrQV+jIux1JdfCsk8RP9fXEjB5cvmw3SR6O1TKZcKsovn8PqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oyxQwR3wzaxnO2O8SHIcrS/bIdS3eaajb1o8ZrU/pfo=; b=tYZt428eanjuwuQG3+MFg8NjOr05/vJezOpdbazJoPga6Ap7rGh44iqrAmjDDOAAHDkdPm q4p0SxlsDwc4+LSHcW3c7RpwYfYKBxBQEkLbvTU2P/Fm/TtXcAxRY17TskibyWHRkv07nl 2Rje41hHYLQneNGN/WvATEjaBObVkX96Y08CMYZ6yKdCRn5nZ8oHkgGCamGZknKLmD520y Y5YvljZKJCoR7NG9ACGUPCEAT2UMLZTAKFM4lKkhzOe0LYryM9NcHzIHZJqK7HYx2vpUw6 mESVVfdqATQBKl/Vcff2WOVTR1bEQwxZSwNQBygamowkxWPdKA0/U8R0CHxHQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk9Hx5G7Hz17GS; Thu, 24 Apr 2025 22:14: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 53OMEbrJ036626; Thu, 24 Apr 2025 22:14:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OMEbDM036623; Thu, 24 Apr 2025 22:14:37 GMT (envelope-from git) Date: Thu, 24 Apr 2025 22:14:37 GMT Message-Id: <202504242214.53OMEbDM036623@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 6841b9987e83 - main - LinuxKPI: add container_of_const() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6841b9987e83fdd9a5b05ceafc20811469222d8b Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=6841b9987e83fdd9a5b05ceafc20811469222d8b commit 6841b9987e83fdd9a5b05ceafc20811469222d8b Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 09:25:21 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-24 22:13:54 +0000 LinuxKPI: add container_of_const() Implement container_of_const() needed for wireless driver updates. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D49999 --- sys/compat/linuxkpi/common/include/linux/container_of.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/container_of.h b/sys/compat/linuxkpi/common/include/linux/container_of.h index 449507fcf9c1..7210d531b055 100644 --- a/sys/compat/linuxkpi/common/include/linux/container_of.h +++ b/sys/compat/linuxkpi/common/include/linux/container_of.h @@ -41,6 +41,14 @@ (type *)((uintptr_t)__p - offsetof(type, member)); \ }) +#define container_of_const(ptr, type, member) \ + _Generic(ptr, \ + const typeof(*(ptr)) *: \ + (const type *)container_of(ptr, type, member), \ + default: \ + container_of(ptr, type, member) \ + ) + #define typeof_member(type, member) __typeof(((type *)0)->member) #endif From nobody Thu Apr 24 22:14:38 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk9Hz13Syz5trRy; Thu, 24 Apr 2025 22:14: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 4Zk9Hy6WD8z3kyB; Thu, 24 Apr 2025 22:14:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4PFceSbHts/Dx9Am1daJ+RgfcR0XYBahUUgCEW4+exs=; b=HvEkFZjjYAum7EfSV/rCFZXEZTEi19/2VhdOXBjphfUxc8BW2TUy9m6nTQjqWYARy3+un9 FMZ6yxk4HfauFUc1EIVskGcfcuWfR4jbTdMzoQQfi1x8qflQxrzuttpWq7p3pe0oGcTeId e1huuL3mNGzpeNDvGfopPEIFgHC5A9c3bBiEHbFuAq03rVU1k/Tjbgvi5j9dTWiOK15tTT mLtc+P5LCZjVJ+lxvOUUfZqw9LuPgG9sMj8mj9TBh0/2Oe7L8vdQ5NI4YW0YDFrmgt34zI hY5RhUaUyhTKuRGOsdTd/YcVX66s/3uSlUtIDzDsAwZyw96sszYFhA2VVzQljg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745532878; a=rsa-sha256; cv=none; b=aAh7T4Q/7+8lT94V68vvvXfhxURL1EXPJr86w4kMjFic44OgEZRixKmFSUU9Olv/GI5t5G 35OQjp4hr0hbgzXKg/9fNE7KI80zIJPs2caDBsv9AP1SdtsdFMeTU0D9wtqvWmQyuPr8H9 uweW6eMl6QykCJB1/iPwVaPVSLchagfOHEuSdExVD5RHH/snKLMa2dL/HRcVd/+6ci2J1F 1NNp7j2tJHcHTPjilnn3nvXPTVRroX+0wcoYBdP0xH1wXC348zHyezob0bRzLVTuRWoI4i ACC2ZPosfgiVpefANdhdxXV55MFy0E12vHJl8Xi6WUTGi0lwFLCde7wK+UapxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4PFceSbHts/Dx9Am1daJ+RgfcR0XYBahUUgCEW4+exs=; b=X0BsP3TwWiHYpmRMwk7VlhZTKHRdY3z7Ud3ZuKv1+FrOawYqA4zHGM5Ktl0ugxjpA9fxMv gGemam6F692n5r47UT9umyLfwcBOooANf+6ClnGaPS88j5mxKOfHLMYh7BhYZg5t18TzI3 QcSLGXg5aZiLL7rKrys28klJq43f0/eXmMD0jSDhNBDd0kl8lCrMpnHcJWR5QpviT7pK+O oHOnhxKuq+TIMaAAynzdFtVC82Y3O4CH6jlndkxF/MRjyZOC8yf+o3OiYCcQrYA0TCVtKh pHw9MI7+Yqxh2niCPcVpy3oT+HtmsYtcpvyICinhvF8BwifkMp/qiXkNtcDMxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk9Hy5xPVz1787; Thu, 24 Apr 2025 22:14: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 53OMEcl4036663; Thu, 24 Apr 2025 22:14:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OMEcvE036660; Thu, 24 Apr 2025 22:14:38 GMT (envelope-from git) Date: Thu, 24 Apr 2025 22:14:38 GMT Message-Id: <202504242214.53OMEcvE036660@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: f94d7319540b - main - LinuxKPI: sysfs: implement sysfs_match_string() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f94d7319540b9b2256be60c2c666efe0b6e635ef Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f94d7319540b9b2256be60c2c666efe0b6e635ef commit f94d7319540b9b2256be60c2c666efe0b6e635ef Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 14:09:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-24 22:13:54 +0000 LinuxKPI: sysfs: implement sysfs_match_string() Use a macro to automatically gather the length of the array while we can. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D50007 --- sys/compat/linuxkpi/common/include/linux/sysfs.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/sysfs.h b/sys/compat/linuxkpi/common/include/linux/sysfs.h index f11db5ece515..65e023031bb2 100644 --- a/sys/compat/linuxkpi/common/include/linux/sysfs.h +++ b/sys/compat/linuxkpi/common/include/linux/sysfs.h @@ -464,6 +464,24 @@ sysfs_emit_at(char *buf, int at, const char *fmt, ...) return (i); } +static inline int +_sysfs_match_string(const char * const *a, size_t l, const char *s) +{ + const char *p; + int i; + + for (i = 0; i < l; i++) { + p = a[i]; + if (p == NULL) + break; + if (sysfs_streq(p, s)) + return (i); + } + + return (-ENOENT); +} +#define sysfs_match_string(a, s) _sysfs_match_string(a, ARRAY_SIZE(a), s) + #define sysfs_attr_init(attr) do {} while(0) #endif /* _LINUXKPI_LINUX_SYSFS_H_ */ From nobody Thu Apr 24 22:14:34 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk9Ht5Twcz5trZc; Thu, 24 Apr 2025 22:14: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 4Zk9Ht3SR6z3kr2; Thu, 24 Apr 2025 22:14:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532874; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFp6NxbcCp4KGYVbCUmuWQNE1+QLArdqqZ15zlp39PM=; b=gSbnrGb10IbrGvpa1X5RlyHPey4m0nlgD65XL1g3XfE03rYKff2pK9JJemNYbsJMgPzjEk oa25cfcQrLmQuWrMeazBTingYS2HuhPH77ewUQdzKPgVGEyp7FwZbGzPFAJZl09WKEhtkM J7alnOGiU6n8Gc5QvuEW2TulaxiVhGVx55f+Xjk3xkkzOykggV6dWPXj20SxAql93PXeHt 7Saxe8IxBQ98h7reBAHipf0Uxw0o2EJAXI3nOjTyaNPVx9cWPJrJ7bSa/kQ6FGM7NpFr9C /CDj5zBtIVwNRVfbZJsfHHGS8Qc6Do2dgMnur6z9msUrhfpkHT+esf3rxm3cpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745532874; a=rsa-sha256; cv=none; b=XYqWF7/LKgFhYtfAliZVHaDKyPZrORFzJmZeFQh+HPCGV4xsHWVi4eTwcm85mRz6EZZyRX fx8St6UW5aB7shx2ToSqiY1DuxcSO2VZC/5lOp/KFqxGrFR7s6fSLoIHXt291Z0zpthwm8 BtwM8ecioz0wla8w2TPe0HlS1Nv0QfjYW2fKDfRZCXDbmOKQYW/uzzP3bwr84lu3EWbt74 3Bp/CBPoIFUnR77o0McOdL8dTNjgznmIYA+NED/zxaazBEE9htdpk9v6Yn6Y0QlwzwIclN X8k5vdltSA1YLzVtNtDG/CnDEOOIZjYsdHUXC08HenGgCkSCMTJO4VRc6lm9Zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532874; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFp6NxbcCp4KGYVbCUmuWQNE1+QLArdqqZ15zlp39PM=; b=oHSlgYQIyWTy+7juQ0r9V4XMq1188cqJYQsBO6DFTnyDfeGPmUvS3ypKPZiJL19jNLcUGU 8ckYXvTrkMkdo9lHTuAKF8lINcs8k3mDjZW3011KaUzenG9h+nqhrL/Hz5vBq7FrVphLXz bw76mIsA/DruTf8Xlo6oAnwuHWgpNrD+1Y0hoLSlBV0mDb7KyiIClhKd5XjDiiVZsKxhah UpQtx2hqK5X4biR6oBQfyR68nYTHQP/YtTUvpKNrU+zF7OcmUpJ6mZASVJ+LAoGtdPXZrm pntvimr3LXLtd18/9f/XO2LxGBTuuJUDxYYXTMAviNyzVOuCiUyRi+2P1WNlgQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk9Ht321Vz16nr; Thu, 24 Apr 2025 22:14: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 53OMEYpN036505; Thu, 24 Apr 2025 22:14:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OMEYJW036502; Thu, 24 Apr 2025 22:14:34 GMT (envelope-from git) Date: Thu, 24 Apr 2025 22:14:34 GMT Message-Id: <202504242214.53OMEYJW036502@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: c8e2458de590 - main - LinuxKPI: add ASMEDIA vendor ID for PCI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c8e2458de590d7427ef3311412b8ddbc326cd3b5 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c8e2458de590d7427ef3311412b8ddbc326cd3b5 commit c8e2458de590d7427ef3311412b8ddbc326cd3b5 Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 09:27:35 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-24 22:13:53 +0000 LinuxKPI: add ASMEDIA vendor ID for PCI This is needed for rtw89 updates. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste, zarychtam_plan-b.pwste.edu.pl Differential Revision: https://reviews.freebsd.org/D50000 --- sys/compat/linuxkpi/common/include/linux/pci_ids.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/linux/pci_ids.h b/sys/compat/linuxkpi/common/include/linux/pci_ids.h index 2f02d6ad1c14..e318f6f75ce7 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci_ids.h +++ b/sys/compat/linuxkpi/common/include/linux/pci_ids.h @@ -46,6 +46,7 @@ #define PCI_VENDOR_ID_APPLE 0x106b #define PCI_VENDOR_ID_ASUSTEK 0x1043 +#define PCI_VENDOR_ID_ASMEDIA 0x1b21 #define PCI_VENDOR_ID_ATHEROS 0x168c #define PCI_VENDOR_ID_ATI 0x1002 #define PCI_VENDOR_ID_BROADCOM 0x14e4 From nobody Thu Apr 24 22:14:36 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk9Hx0rc8z5trhq; Thu, 24 Apr 2025 22:14: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 4Zk9Hw4yzgz3ky4; Thu, 24 Apr 2025 22:14:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532876; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mogExpUIFyLPW3KJZbvFCDYneMU0YFodAhd5S7p0e4c=; b=wTNB9R74Txrd2ivo7s73PYTZa1ytKVFLhwcPucbEA5ix4zMxFdzi1GuavPOIt1M0fpEPbc 0Tk29dR0SsnQ8Wvc+x0Se/XSuDKQ2JrR3DcGAzy8j6GN1FDc9zSmLCpeIW1e6TeR01i0aE jrIbUSQw7ihG5FH9e0D551gwgfxkQIt3gDl3eHWSMrqMuk3K06aW3nDubX2fOtFJvAkijn 3lRqTORvigJ3lYK+7ZRTdirEJShLkWsFEA+DnKYOMgHWITS28F/o1+cANXUwl/Y9flswvZ YKqQeh1/IEhw/2WHBaSmikQQaqRvNMQpK11HBanQYVhDEWOykeJTnRzjykcr3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745532876; a=rsa-sha256; cv=none; b=LLa+24iHcf8B+2JWsXonN1E7YLw52Pvqd6p2MQvps/5jfenTrVWYArxdbWmqRxmbLuS1os NK3hem3IlK4yKDCRye+DJ9u0otWsbk2EDTZr7PxWkd/Z+T+GhGka8XwJAx9w68TucTgphR Gppugi/LbtCCe43cS9tQg79sZXqn204MYV+1/niBkt/B94e9EqjxwGIEd+t6pRz+zVr5sj CmY37NIcD3/5I9wCNdm5zjUR7uoGmRywGsXrDUICOaVSoLfjksRkogjMTEzmwUnq7JpLl6 WOI/HfYpjCBxGfjW2dMDZMaLVR5W+CIv6Ix7G1+J405ZDszXUZsuv/rfFUURKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532876; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mogExpUIFyLPW3KJZbvFCDYneMU0YFodAhd5S7p0e4c=; b=EEM+cijREy5Kbcmj8ZHfV0QXoLkszNkbJh7LwxQPpUlew9KHqZs+7bvIkI+1FsVncYiAWy 19ITfRsK1VRlq3JT2evwvFVHCX46/NxUH+VfC91OSv10IyI1dutaRuOiKUv8sscEAJMqvV g/SlZ+86ePy4zPbRIEIu7TpDi3tugMF+bhg69GHX9UFNolkucHvZrtGoZwWRcQIfcJtTrI xccykTUY0gn/cVHqzw8GRR6g1FBNj4n1UCdsGd++UNQo8bvDKJGOKrlPNyXTI+mdF9NIcq 6rupYM0TRNkf/O50IztNWB6pxmBDWPx3toKz/iKTF+W6BN1vDGEfrB+O6EmORQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk9Hw4Hy8z17Rw; Thu, 24 Apr 2025 22:14: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 53OMEawQ036588; Thu, 24 Apr 2025 22:14:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OMEaMX036585; Thu, 24 Apr 2025 22:14:36 GMT (envelope-from git) Date: Thu, 24 Apr 2025 22:14:36 GMT Message-Id: <202504242214.53OMEaMX036585@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 69880fede78f - main - LinuxKPI: extend struct and enum for leds List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 69880fede78fc769ad417e5a984fb9fee7815d8b Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=69880fede78fc769ad417e5a984fb9fee7815d8b commit 69880fede78fc769ad417e5a984fb9fee7815d8b Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 10:43:44 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-24 22:13:54 +0000 LinuxKPI: extend struct and enum for leds An updated rtw88 driver requires minimal changes to leds.h. On the positive side we can now remove the __DUMMY from the enum as we actually have a valid field name. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D50002 --- sys/compat/linuxkpi/common/include/linux/leds.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/leds.h b/sys/compat/linuxkpi/common/include/linux/leds.h index f7ee7a68dcf5..89f7286f6800 100644 --- a/sys/compat/linuxkpi/common/include/linux/leds.h +++ b/sys/compat/linuxkpi/common/include/linux/leds.h @@ -27,7 +27,7 @@ #define _LINUXKPI_LINUX_LEDS_H enum led_brightness { - __DUMMY, + LED_OFF, }; struct led_classdev { @@ -35,6 +35,7 @@ struct led_classdev { const char *default_trigger; int (*blink_set)(struct led_classdev *, unsigned long *, unsigned long *); void (*brightness_set)(struct led_classdev *, enum led_brightness); + void (*led_set)(struct led_classdev *, enum led_brightness); }; #endif /* _LINUXKPI_LINUX_LEDS_H */ From nobody Thu Apr 24 22:14:35 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk9Hv5fr5z5trZd; Thu, 24 Apr 2025 22:14: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 4Zk9Hv47wkz3kwN; Thu, 24 Apr 2025 22:14:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hRhIifvbOvr6ueAbPWNm2spZR3XVpx6r4Nr9llShg7s=; b=Uno0/m4kvV2fE4NpfGzYcp6r41mW0tNfEHVHefUL+cF8UbqAelacI8oUXcjj6sIztEp4Sx v+FdQlyF43VTukQBXSLByhqFJu8oM/F5Yhic/JIoyy7t9WdkZ3ZKCovbNkyRCktnOmSgoJ iN2Q1/kyGVXadT0uhnQ0z6ylyCpyvDMk4FnwkYB9PNNSXeNRi3pmSc6KPEuD6YAMcTB7av KhLM9oPjadWejQDwACd83Sw5hcleFnNSaroANIFrVPWLyPHaYgU7E2Cu+UnDjQ3+SHcekF 445XDd6XQh4088OUEyFUqK4aX/UCCKDjgxLPcaQkegRH4HWHCcE3BHbN7EKHhg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745532875; a=rsa-sha256; cv=none; b=IqheX05IchUlJlb/h6SWR2oDNfLJm71YWHY/xOhLXtYpCzNCZ+9ipzGh7OSDZv9ypWMEoF mhOFxz7R7dt6Gji6/LLP/4e1xgKaoFI5MXX34mCbv8lbGrrw8TcW9Yup0D9+9Wol9CCSQ4 N+h7RpDQNDXZPWCOY0fEgbTrzGp9bbA3tlJcbam1hV7JTsj/dh3FQVGxRK/65/YkmLlINj /w8a/beNca8xISu156s5glDdqfxhksNnUmcES1J1eOs0TVJ6KC5msAARyQ9vq/e5Yoo8jo FU1HV5vGxiH/3wKyvKXj6WZWZdDSPPY3joNUCiMLdee1MCB9gXWQfL6110YT6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hRhIifvbOvr6ueAbPWNm2spZR3XVpx6r4Nr9llShg7s=; b=ndhrMSBvxdxKzfo3dGVpvIC3tk1dnoUHvgWybfe4TX8U2oq/R53kCZmoF9cBNXqrFSPPEW zqcqaNF+EeiB9Z+Grvk9/KfQvnhvAjplcuiRyOhyAmGjPlFH7Hnn6XamZTw9UHKeTILxTS fkN2QcbnZTCT7agzWSzxZuBgu6xdfO/9Deae59bRErO9jZZthJ0p1yQ4hkd/aCc1Z8ZSje j0QjrYYtwVmAxzrhwwJ9A0LetCK0Z7ocD/OKuWv+kO0q83CB9FzNVYr8x+sft40uatYWDO xUVPZ3mIjoO5Ds8p0gbLnUOAgCwPtjXqq6UWur/IyH4SXOVsEwitrxW13eRC0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk9Hv3lX2z16VF; Thu, 24 Apr 2025 22:14: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 53OMEZhi036545; Thu, 24 Apr 2025 22:14:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OMEZUA036542; Thu, 24 Apr 2025 22:14:35 GMT (envelope-from git) Date: Thu, 24 Apr 2025 22:14:35 GMT Message-Id: <202504242214.53OMEZUA036542@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 059136a95aca - main - LinuxKPI: add cleanup.h to mutex.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 059136a95aca2e550b62ef40ab25a184d8141124 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=059136a95aca2e550b62ef40ab25a184d8141124 commit 059136a95aca2e550b62ef40ab25a184d8141124 Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 09:58:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-24 22:13:54 +0000 LinuxKPI: add cleanup.h to mutex.h Some code relies on header pollution (or self-sustainability). Add cleanup.h to mutex.h as that is one case it seems to be used with. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D50001 --- sys/compat/linuxkpi/common/include/linux/mutex.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/linux/mutex.h b/sys/compat/linuxkpi/common/include/linux/mutex.h index 1d85ba20baca..6fb6a7744a89 100644 --- a/sys/compat/linuxkpi/common/include/linux/mutex.h +++ b/sys/compat/linuxkpi/common/include/linux/mutex.h @@ -35,6 +35,7 @@ #include #include +#include #include #include #include From nobody Thu Apr 24 22:14:39 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk9J01fGWz5trmJ; Thu, 24 Apr 2025 22:14: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 4Zk9J008Pvz3krN; Thu, 24 Apr 2025 22:14:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QbVF/cT/NrSjxQW+cqCLEwJJixy1ixY/wJMQrOsJ09E=; b=kshuIpN3VvGakPKXGY6VOgwHMhT8V/EFw2x0IsQm52+E9LLPsm1q3UkeKE3JjlC0e6ttJg GDrnlEIOarw7KT4eacvLLXxYciM886/DDkVtGi3Lc9SUvSF5sb8jgxLC2B2/OtdpAryVQT 0xK7b5w4Lc5ofHqlqDILwdwY183NWP0lh8qZ1pZ4FmqOXgIJGMYqtzdM/HVikbLBQkMeoO qmIG06apMNriYv59i8Rxbbc/XC46I8f3km6uVDq0IN9527yHgo8OCLzEtm13ny25NU3Jyi 6aImp8fhwmM7jw+5HUZ/+Y15pbr+ZJhjWWE6A7gGMr5p9H+vlO/KjyrmrsEc2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745532880; a=rsa-sha256; cv=none; b=uKoi22ao7CEk3rEeRhzG3hhq2Zj1s8LHsbot63JPdNvcRgfuQbmUfN9b+H4DvpJVkfzLsc ZZ5eMjB4eFSXQ3SkQkb8aWzPkRBXFQnZRsr6JlXzA5zeox/EPyU/4g0n3ns+4CCQDmbptd qTYsF7/QDP4TRimYDS6RTFbVEcyixLfXu1Yb7XQb/9mbDvKvfL3mab2X8JG0rgng/HVLyZ 46X2aarYvQf655eVqMNbJeWXrauejxnbbt4N0muDAQbGgD7A/P4ZIzf6oKlT8XdF3DGq0K QgB1CC25vfwhimkSVrx7YyC714qMnQg2G0LjBhQeVjgzzq+/bnHEqF/Zr6DJ3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QbVF/cT/NrSjxQW+cqCLEwJJixy1ixY/wJMQrOsJ09E=; b=ukk2pwSkxJ5d2FGxfGS/+1J2Ns8ubf9Mx83HBNUXALDELz9wCq0LMFUTL0gcIaYxlaftoY d8IB3hYsPTktr4x2T+qY17XXWTUWXXsQ72qaoV9XZXQ8AWHDlukhaq3jClcXVwFWZZHJIs JP+yAzK1o3dx9QxpK+1lyPiTmug++hLZ8guHHzroOOe4v7/bQJ72e7cNExWH/Ugu5fau2W YRLpbjWbnm5V+4JNkuTs5B3hB/nYQid8PAueP00DtPE/UqjhfnOTmZE0cICEiH4Apytbgz kJvzGXgbrk+YHsg5S/VLGaXOcvnwXuJlmIx47FOoB/la3rcxgZYURPvQJNMFwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk9Hz6sm9z17PZ; Thu, 24 Apr 2025 22:14: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 53OMEd53036704; Thu, 24 Apr 2025 22:14:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OMEdcX036701; Thu, 24 Apr 2025 22:14:39 GMT (envelope-from git) Date: Thu, 24 Apr 2025 22:14:39 GMT Message-Id: <202504242214.53OMEdcX036701@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e29d72ac3ddd - main - LinuxKPI: pci: add pci_info() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e29d72ac3ddd9b97d945c5c64bc817e501bb113c Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e29d72ac3ddd9b97d945c5c64bc817e501bb113c commit e29d72ac3ddd9b97d945c5c64bc817e501bb113c Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 14:31:59 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-24 22:13:54 +0000 LinuxKPI: pci: add pci_info() Add pci_info() needed for a driver update. While here prefix __VA_ARGS__ with ## for pci_err and pci_info in case we are only passed a string without format arguments. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D50009 --- sys/compat/linuxkpi/common/include/linux/pci.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index e4e8e5c0abd1..174015ba7a58 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -380,7 +380,9 @@ struct device *lkpi_pci_find_irq_dev(unsigned int irq); int _lkpi_pci_enable_msi_range(struct pci_dev *pdev, int minvec, int maxvec); #define pci_err(pdev, fmt, ...) \ - dev_err(&(pdev)->dev, fmt, __VA_ARGS__) + dev_err(&(pdev)->dev, fmt, ##__VA_ARGS__) +#define pci_info(pdev, fmt, ...) \ + dev_info(&(pdev)->dev, fmt, ##__VA_ARGS__) static inline bool dev_is_pci(struct device *dev) From nobody Thu Apr 24 22:14:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk9J24ltrz5trM1; Thu, 24 Apr 2025 22:14: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 4Zk9J22GQdz3kyD; Thu, 24 Apr 2025 22:14:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HklNgLXLjPp+gMc2eHM7mEWjjfd96we/bT0bEhTpsTQ=; b=kKK0XmI2yNoSyRuffwftEAdPDBdbIoyRsGYX9XIKa0V6IyW2kOD9NO9eYg/1RdxUVw9N18 nZGq2EvDfO/zQWa69kvyA8HIPBBLcfeoogH75LSxFqmZeqx88mkdjkb7CHUv73eiXvT/5E Yf6qcHWuz/h0D783S2MchWfvBE7Ae/GVMUuh4/v8lvJr8BGq51dxyMYCkndJwk9qOlXkBT 29Imf3IJIX+sQIUlfpJD5Q8tqskdtz0v8i2eO5nzJ2J8yYV5HI9gecubFSO004K4z8hXF1 4Thn1NeIMkLZSNAuF/QX0G7gOCwggsodGklIBrCO0W0c6noFNYA6GGg8b1QhiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745532882; a=rsa-sha256; cv=none; b=Y8AbQTF9+YExjt1wng37LEQlKgQy97XroOGgQZ2S8f35LipNY8WmWwhJHOJiIBbWsuFsHx /+oJRwgyi5dpYu0kwqM7nRmUJezLsECf2bCvrJRVUMrVqlgL5J2GztQ5FnRvh6zLwwwTdV G7SN0360MejjF4brSHZjGASjcFiKXFQZnWgVsWjKalpQlm3T2TVgVXZZZPseKLDmbl4ugV Wpv/540h5qnjv1pHM6tGBx8P0kgrtvz+vqV8liRxorab22+lOmMArql+OIzje9+anVWN4n 4WODFmUriKGe8IZGYMKP8kZoioLmb3izCPKppBj0m82Y8Lbi3hey86f9rY+6kQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745532882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HklNgLXLjPp+gMc2eHM7mEWjjfd96we/bT0bEhTpsTQ=; b=g5d2VvNWOjh8it+ciK22ACisn+otMcda032k7719jrzi82WOwsK/DGG1XNW88oGNs5+i7a veAvYQkyb3NZq87Z37RgFVycfIy2uDsURJvNbvlWHAZ2qWI/TUeTsiltpEiDHVDEBmvpQk d6oe2C1pLwoM+ZTgx6z5DfETNAaru6cTmPMa87nAm2KYIpvWZDZSdbzWZ3LLx0FHHkYi9E IyzWB2/v24KesQQpS46KLIpN8aY1F1hYp9yPsP4BNZvmV9VxmcK5EpTYCUHrrIyuZYjP4S hc9ymDVaVuDjOUGTwwVJX6z5xMJTzJC2HUUlJwBRDlNQZ2z+Wv/qtVpF/cjkow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk9J21qYgz16nt; Thu, 24 Apr 2025 22:14:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53OMEgle036780; Thu, 24 Apr 2025 22:14:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OMEghu036777; Thu, 24 Apr 2025 22:14:42 GMT (envelope-from git) Date: Thu, 24 Apr 2025 22:14:42 GMT Message-Id: <202504242214.53OMEghu036777@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: e6010da63903 - main - LinuxKPI: 802.11: updates to headers for driver update List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e6010da63903cc6d9aac0077ab861cfd6bae2aa7 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=e6010da63903cc6d9aac0077ab861cfd6bae2aa7 commit e6010da63903cc6d9aac0077ab861cfd6bae2aa7 Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 10:27:49 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-24 22:13:55 +0000 LinuxKPI: 802.11: updates to headers for driver update Move some structs into the appropriate header to be visible. Add new fields to structs and enums. Remove arguments from two functions (one function currently unused by drivers in the tree, for the other the argument was unused). Adjust the iwlwifi accordingly. This is in preparation for new driver versions to allow a smooth transition. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- .../linuxkpi/common/include/linux/ieee80211.h | 16 ++++++++++++++- sys/compat/linuxkpi/common/include/net/cfg80211.h | 24 +++++++++++++++++++++- sys/compat/linuxkpi/common/include/net/mac80211.h | 22 ++++++++------------ sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c | 2 +- 4 files changed, 47 insertions(+), 17 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index efac2a26e27e..8a33ad002e09 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -349,6 +349,7 @@ enum ieee80211_chanctx_change_flags { IEEE80211_CHANCTX_CHANGE_WIDTH = BIT(3), IEEE80211_CHANCTX_CHANGE_CHANNEL = BIT(4), IEEE80211_CHANCTX_CHANGE_PUNCTURING = BIT(5), + IEEE80211_CHANCTX_CHANGE_MIN_DEF = BIT(6), }; enum ieee80211_frame_release_type { @@ -783,6 +784,20 @@ struct ieee80211_bss_load_elem { uint16_t avail_adm_capa; }; +struct ieee80211_p2p_noa_desc { + uint32_t count; /* uint8_t ? */ + uint32_t duration; + uint32_t interval; + uint32_t start_time; +}; + +struct ieee80211_p2p_noa_attr { + uint8_t index; + uint8_t oppps_ctwindow; + struct ieee80211_p2p_noa_desc desc[4]; +}; + + /* net80211: IEEE80211_IS_CTL() */ static __inline bool ieee80211_is_ctl(__le16 fc) @@ -1225,5 +1240,4 @@ ieee80211_get_qos_ctl(struct ieee80211_hdr *hdr) return (u8 *)hdr + 24; } - #endif /* _LINUXKPI_LINUX_IEEE80211_H */ diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 2cdb96ffccdf..328563b4a125 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -1458,6 +1458,18 @@ rfkill_soft_blocked(int rfkill) return (false); } +static __inline void +wiphy_rfkill_start_polling(struct wiphy *wiphy) +{ + TODO(); +} + +static __inline void +wiphy_rfkill_stop_polling(struct wiphy *wiphy) +{ + TODO(); +} + static __inline int reg_query_regdb_wmm(uint8_t *alpha2, uint32_t center_freq, struct ieee80211_reg_rule *rule) @@ -1994,7 +2006,7 @@ cfg80211_channel_is_psc(struct linuxkpi_ieee80211_channel *channel) static inline int cfg80211_get_ies_channel_number(const uint8_t *ie, size_t len, - enum nl80211_band band, enum cfg80211_bss_frame_type ftype) + enum nl80211_band band) { const struct element *elem; @@ -2207,6 +2219,16 @@ nl80211_chan_width_to_mhz(enum nl80211_chan_width width) } } +static __inline ssize_t +wiphy_locked_debugfs_write(struct wiphy *wiphy, struct file *file, + char *buf, size_t bufsize, const char __user *userbuf, size_t count, + ssize_t (*handler)(struct wiphy *, struct file *, char *, size_t, void *), + void *data) +{ + TODO(); + return (-ENXIO); +} + /* -------------------------------------------------------------------------- */ static inline void diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 50c1475063e2..c6cdcbc43269 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -208,19 +209,6 @@ struct ieee80211_bar { uint16_t frame_control; }; -struct ieee80211_p2p_noa_desc { - uint32_t count; /* uint8_t ? */ - uint32_t duration; - uint32_t interval; - uint32_t start_time; -}; - -struct ieee80211_p2p_noa_attr { - uint8_t index; - uint8_t oppps_ctwindow; - struct ieee80211_p2p_noa_desc desc[4]; -}; - struct ieee80211_mutable_offsets { /* TODO FIXME */ uint16_t tim_offset; @@ -334,6 +322,7 @@ struct ieee80211_bss_conf { uint8_t dtim_period; uint8_t sync_dtim_count; + uint8_t bss_param_ch_cnt_link_id; bool qos; bool twt_broadcast; bool use_cts_prot; @@ -815,6 +804,7 @@ enum ieee80211_vif_driver_flags { #endif IEEE80211_VIF_EML_ACTIVE = BIT(4), IEEE80211_VIF_IGNORE_OFDMA_WIDER_BW = BIT(5), + IEEE80211_VIF_REMOVE_AP_AFTER_DISASSOC = BIT(6), }; #define IEEE80211_BSS_ARP_ADDR_LIST_LEN 4 @@ -989,6 +979,7 @@ struct ieee80211_ops { int (*config)(struct ieee80211_hw *, u32); void (*reconfig_complete)(struct ieee80211_hw *, enum ieee80211_reconfig_type); + void (*prep_add_interface)(struct ieee80211_hw *, enum nl80211_iftype); int (*add_interface)(struct ieee80211_hw *, struct ieee80211_vif *); void (*remove_interface)(struct ieee80211_hw *, struct ieee80211_vif *); int (*change_interface)(struct ieee80211_hw *, struct ieee80211_vif *, enum nl80211_iftype, bool); @@ -1027,6 +1018,7 @@ struct ieee80211_ops { int (*sta_state)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, enum ieee80211_sta_state, enum ieee80211_sta_state); void (*sta_notify)(struct ieee80211_hw *, struct ieee80211_vif *, enum sta_notify_cmd, struct ieee80211_sta *); void (*sta_rc_update)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, u32); + void (*link_sta_rc_update)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_link_sta *, u32); void (*sta_rate_tbl_update)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *); void (*sta_set_4addr)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, bool); void (*sta_set_decap_offload)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, bool); @@ -1118,6 +1110,8 @@ struct ieee80211_ops { bool (*can_activate_links)(struct ieee80211_hw *, struct ieee80211_vif *, u16); enum ieee80211_neg_ttlm_res (*can_neg_ttlm)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_neg_ttlm *); + void (*rfkill_poll)(struct ieee80211_hw *); + /* #ifdef CONFIG_MAC80211_DEBUGFS */ /* Do not change depending on compile-time option. */ void (*sta_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *, struct ieee80211_sta *, struct dentry *); void (*vif_add_debugfs)(struct ieee80211_hw *, struct ieee80211_vif *); @@ -2312,7 +2306,7 @@ ieee80211_disconnect(struct ieee80211_vif *vif, bool _x) } static __inline void -ieee80211_channel_switch_disconnect(struct ieee80211_vif *vif, bool _x) +ieee80211_channel_switch_disconnect(struct ieee80211_vif *vif) { TODO(); } diff --git a/sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c b/sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c index 71c02b53af5d..24bfdb054a63 100644 --- a/sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c +++ b/sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c @@ -1922,7 +1922,7 @@ void iwl_mvm_channel_switch_error_notif(struct iwl_mvm *mvm, if (csa_err_mask & (CS_ERR_COUNT_ERROR | CS_ERR_LONG_DELAY_AFTER_CS | CS_ERR_TX_BLOCK_TIMER_EXPIRED)) - ieee80211_channel_switch_disconnect(vif, true); + ieee80211_channel_switch_disconnect(vif); rcu_read_unlock(); } From nobody Thu Apr 24 22:18:50 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk9Nq30Hmz5ts6G; Thu, 24 Apr 2025 22:18: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 4Zk9Nq0370z3qHL; Thu, 24 Apr 2025 22:18:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745533131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yM0xJ8+P+jBsZreBuPw9fJUwgo3zZY+yeYnYxqf3sFs=; b=LnUvSnmoX7wuS5gF6fBB2dqUWyNU8jLy5UoT0r0AecJ6O9d3GTectqNQWYgTReev/DaTaY Gp/R3ZBvLLpvrS/E8A7Q5jasbj37gMnDO+e+7yiIuozwWMCr2zXMLKQVvlWf4A/eBf8j11 7gWv/nYNhqgmZKyyceU3IbPXZTIYXWN1knYRkeTr5efGs+i2+VFT08h8mWxchjxqd6W/jX VnUxSMnp8D7kH5AW9/1GTXx9yMZkNEiOh/HCSrYKjXVw6mz/sMYoF4NOyMmvA3t5djwP9b 9mCTcx1MJ8k62S2w/nMpAddBqdz87MQSfE4LmZKNz7lLSLJt6Xw6HiOyDOv9GA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745533131; a=rsa-sha256; cv=none; b=WgC3cfPcMGRVvrOlZ/iI70kwPRIJTyxsCKwRddAUyzjAGCbT2YqFVbJMtExe3UYCkGcg2G wg1fwCLEsXQH3D32OsjnaBW/WwdcvmpPx9IUAZrEddGY4xh0NPKMp7qjg9Zat7WSveUhSy rG1Je7pAAVE55EylNxy5aAVy0izSj7Jm1wgqK4KMTmfwzU4XZTn4+i/2vA/xEf5LJMi+7B YlW4MmKLnzUUsebLOuQd7ctq6G7IL5NKVUCsxMQ1tCMMRIC4OyvM7n1SIcSQ++2B94lEuz CCpNduGZNu6IpU6Oi3ulYEmx+RRT6MeQvL2pJgXaCF5oQTIT6cXfuL2/Tj229A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745533131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yM0xJ8+P+jBsZreBuPw9fJUwgo3zZY+yeYnYxqf3sFs=; b=dv/frFWQMNF2eAF/rqrWHj9J57NvDkxdsdeCXQTCZOz+vjpFtzeSrWOLuOyV9hBD4CZQhn DgIk3gw1cuKW5Ws45KJmI0EvNHV+hQRtqgLe1pn3KwNlsLX3CwURbiVpHXpYpL+AeqUyYh 2vw1V2HNkHR1YWYu8VdogBGau+wIMVHgRPkUltURnEROL6DmAJ2nJhfquckupVfZOyLv07 n5nKSfUDjmTmjR1YqtFlCNS05xRnKUtngYsEQ1YpWgD8iFfvz8Gy7VX10ovUOqyINDhx9a WcwTMRlY5HK6C8OgvdjFGEn/vLNkJPLqSLJFjkdYC+PZzsqGO94t/ouK1jhaag== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk9Np6QWMz17Pc; Thu, 24 Apr 2025 22:18: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 53OMIo1d038149; Thu, 24 Apr 2025 22:18:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OMIoRl038146; Thu, 24 Apr 2025 22:18:50 GMT (envelope-from git) Date: Thu, 24 Apr 2025 22:18:50 GMT Message-Id: <202504242218.53OMIoRl038146@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: c3e06b23b417 - main - mount.8: Add a single example for single user mode List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c3e06b23b4174c726d7d0ba131869e4aeee8067d Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=c3e06b23b4174c726d7d0ba131869e4aeee8067d commit c3e06b23b4174c726d7d0ba131869e4aeee8067d Author: Alexander Ziaee AuthorDate: 2025-04-24 22:04:14 +0000 Commit: Alexander Ziaee CommitDate: 2025-04-24 22:18:33 +0000 mount.8: Add a single example for single user mode The zfs command to do this is a bit longer and harder to remember. In the last few releases mount(8) learned how to do this, so lets show it in the manual. MFC after: 3 days Reported by: Jan Bramkamp Discussed with: cperciva, emaste Reviewed by: mhorne Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D49988 --- sbin/mount/mount.8 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sbin/mount/mount.8 b/sbin/mount/mount.8 index 7bb4eefe03ff..feed64bc5c1c 100644 --- a/sbin/mount/mount.8 +++ b/sbin/mount/mount.8 @@ -547,6 +547,10 @@ for more information.) .It Pa /etc/fstab file system table .El +.Sh EXAMPLES +Remount the root filesystem with read-write permissions: +.Pp +.Dl mount -uw / .Sh DIAGNOSTICS Various, most of them are self-explanatory. .Pp From nobody Thu Apr 24 22:23:44 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk9VT3rBlz5tsJW; Thu, 24 Apr 2025 22:23: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 4Zk9VT0sZfz3tZd; Thu, 24 Apr 2025 22:23:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745533425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4r05vGmwog8RVUPeeIhv+yGPbqLANdNa4xgfokzWulw=; b=jPTczWNqlVymMGBoNYJEmA4r4rNzlN4C0QCC+25sZxEvPzpK/mKqcHQ/dShoA4U/i9DX1S OJhMo3cRlt0ubN7B0rjC34YQA9f+01PkDtkJ6uzUd44Gh4SztKdISJpEjEhiQONb7xc95W 1ABDWMgOHdpjMCnoN+Y7yofMZ3HMwEWBeAhIisSVIerFdECHqTHK8Z+lFYwKM1+bxdZgrf KSibq5EvIhPLQCVj77Pp37CKIGDG21YbaQlaE0kud/J08AU3+fxlZ+B9uQxI4n2z7XyAKF Ky5zn5LaB0BTWMQVwvWWxzzAdK7ZQfk5y8eXrujwHUxSQDN+Ma+sS0OlxXwMHw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745533425; a=rsa-sha256; cv=none; b=HZvpSHrA/iXwO/xAo43H/LK3BRdVmvVnBjLkSiqzNG6ZCyC97F8Qa7+yJoZ2VStM5ZlMzB 6uthXSSo0DSQWlpJ2srlnedM2An7nB5BzX1OeRBzAT86xYcnYGjeqyLZIbXMUGKfspF3lr JJ27VKEmEFomcNvxLpYbhZuhpDvcgAUaLGsMRYjgqS2f012B+OtuI7et4qxSJ8k97RZEN1 ZGc8Tq4Gc8KoY1/ZFobRol6nYnm/oJTQMXNJ8DYKLWNBsPYUiiadXeBARQR1LAvfeV6OY5 E4vlZ0Sp4kHOIqCMEEc7mDiatZifgcqPBLpzU7GAvnxbTrCBUf/Ea0bfAKhAEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745533425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4r05vGmwog8RVUPeeIhv+yGPbqLANdNa4xgfokzWulw=; b=QqQg6Ed1FMsEXDYpCK2fOZHLogS8nj4LJQs97FpLVQ3AsRgBSUhLpxc06d3AVfvRO4i9pG mmUbYKT+xlfviOAMp3tr3nVLQuamDjIdGs/xPWXp66INss3pa01doW3vFDW2dQp9SecX6V glDRj2d9g01PCnJC03FBS731gKf+9HwXyo+LqiyUxNLsCrXZB/faAN6PDIvX8WfYPow98/ krp+znoixcsJrokqjyV1iOez3500G2q35cWmJcGQMRUNtBvkeE1QnIIKN/QTYXB1f4eOHC LJqBeYSuV55+TCB2G40Tu2A1eLo/4aUdqyIRp4tM3mp2eHzDbeBhE5u92QAtUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zk9VT0Rk3z17Vw; Thu, 24 Apr 2025 22:23: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 53OMNi2K055544; Thu, 24 Apr 2025 22:23:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53OMNi3p055541; Thu, 24 Apr 2025 22:23:44 GMT (envelope-from git) Date: Thu, 24 Apr 2025 22:23:44 GMT Message-Id: <202504242223.53OMNi3p055541@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 0f9b73ffa50d - main - vm_fault: reset iterator after vm_fault_populate() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f9b73ffa50d359aedf8afdbb76e2795dbb9906d Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=0f9b73ffa50d359aedf8afdbb76e2795dbb9906d commit 0f9b73ffa50d359aedf8afdbb76e2795dbb9906d Author: Doug Moore AuthorDate: 2025-04-24 22:18:12 +0000 Commit: Doug Moore CommitDate: 2025-04-24 22:23:26 +0000 vm_fault: reset iterator after vm_fault_populate() Add a call to pctrie_iter_reset after vm_fault_allocate returns to vm_fault_allocate, since the iterator may be corrupted. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49957 --- sys/vm/vm_fault.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 5d21ad58f780..c096bfaffe73 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -1258,6 +1258,7 @@ vm_fault_allocate(struct faultstate *fs, struct pctrie_iter *pages) vm_fault_unlock_and_deallocate(fs); return (res); case FAULT_CONTINUE: + pctrie_iter_reset(pages); /* * Pager's populate() method * returned VM_PAGER_BAD. From nobody Thu Apr 24 22:45:12 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zk9zJ6TZgz5ttDk for ; Thu, 24 Apr 2025 22:45:16 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-io1-xd32.google.com (mail-io1-xd32.google.com [IPv6:2607:f8b0:4864:20::d32]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zk9zH1vbsz49Yg for ; Thu, 24 Apr 2025 22:45:15 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hardenedbsd.org header.s=google header.b=HmvuPNPt; dmarc=none; spf=pass (mx1.freebsd.org: domain of shawn.webb@hardenedbsd.org designates 2607:f8b0:4864:20::d32 as permitted sender) smtp.mailfrom=shawn.webb@hardenedbsd.org Received: by mail-io1-xd32.google.com with SMTP id ca18e2360f4ac-86135ae2a29so141310339f.2 for ; Thu, 24 Apr 2025 15:45:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; t=1745534714; x=1746139514; darn=freebsd.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=WK7VGJptfykZJwgy1k9c4v4Ljn3zQKuOtvc+Ua5GAlY=; b=HmvuPNPt9w2vjuXezudUAlpv/UFHNobUQkJVeBnrXO3Lg3Ko+nmEuV3AkrqLvrgVo3 RnThoJjylmTHyBc2pbVfAtSRHYv1cmBcuFOZplOkGby6VeP/hlHxxBv82KUI4YtahL36 jNo3fgQsLNGH0D2FIQvrz9V7PgUFOyk2xmYRrSAYeHcYLvhVY5w3fuhmKGc+5F4/jfqe IAr1hAPsOc5Xft3UftSJKg6Lti0dO/ZJfhM/ldTAb0cT1Mior5Gi+1raVZRnTgSDksDt GLJkfzEHqP9Iu3X8wzzPqQJ0vt0WdqBzeH9/1sLsbwcyvkuujJREm+abPTogMTw5Ar3X 6lNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745534714; x=1746139514; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=WK7VGJptfykZJwgy1k9c4v4Ljn3zQKuOtvc+Ua5GAlY=; b=xGZlDfGTXhGzs6vfyxJsrvwavb8I5tUYnqEX6Hw4RHWt0hluPOE2oqhAblFkqulXBE 8iI+01fubolGeKOYqdnRwdJbHRmE2cx5sFEaeLKMv6/pJcVoHioXKZtUINzC1CzPAdqC Y+tK/jAaZcJkJOQYshEBVS7c+ZqaI2jYmC23mZPMr7dtMR2yQqs4mdYnVo2qo3/GX5vG BzIwV2eeIIiy9ArwB10Ix+3Tzbm/aoQr0egyhu5tp4iM1U7I9flnFGseJm8poKhd8ua/ wECg2SNTV0iyEFDp+7qudtn0UlR/Rxk0RJgySyvo7JNJld1QjoPRsp7fsZ72RH/WfkUD VyBQ== X-Forwarded-Encrypted: i=1; AJvYcCV9Zk/5gX3oFvewtFDdqNAgIcNKa7bUtqUTDJd73DKDGSqAHjye2YFAwaGQoG4/OF1ERP3J650eNqn5TARtpM3BW2wvCg==@freebsd.org X-Gm-Message-State: AOJu0YyipUXGmJRygMQPQESddFAGG2h13HX/t7OCKM7zqNkYDMZqUIVa 5TgNlhIQlxRNbloHV/b/cwp1py85Efqw1TGrksc8kKQS1aB4KmxX2A/08+WmKIE= X-Gm-Gg: ASbGncsOP3gnypt7Ny9EvY3WrycojAVTqgYucuknmpBJGJCw9Ez2fn0PusVrfhIPupu 9e37E2kbrJEqMYd+6ATpJr3EAwA9huniUS3XfU1OWrC3Ygy/RRPgesAdGg3MnEaqbNKRdhzoVrK D99c0bEk87T1yL59k0TcFq7deT45zGpPAMS4pNKTM3nHmISxA2NobxfvTmz2a5PntH6FXAQw6n4 arbVDmq7CHxegE3+2OY40PBVe/sPStVbNrJ3wxa1ZUBnqPg+tr8qKEevJQZrXhamdbxCGbGDkk3 jDEPtmYmXyvkNiFuWTM8QOE= X-Google-Smtp-Source: AGHT+IH473f2PBF7NMMkyJiKPq9AzCDihHHwA4jo7kOf/f8qG6fKshBo2cuh/nVRG8pWvftzy9uhRQ== X-Received: by 2002:a92:690e:0:b0:3d8:2187:5cea with SMTP id e9e14a558f8ab-3d93b3aad5dmr761905ab.1.1745534713771; Thu, 24 Apr 2025 15:45:13 -0700 (PDT) Received: from mutt-hbsd ([2001:470:4001:1::95]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f8249fa6a2sm489644173.8.2025.04.24.15.45.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Apr 2025 15:45:13 -0700 (PDT) Date: Thu, 24 Apr 2025 22:45:12 +0000 From: Shawn Webb To: John Baldwin Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: a098111a28ed - main - secure: Add ssh-sk-client to all consumers of libssh Message-ID: X-Operating-System: FreeBSD mutt-hbsd 14.2-STABLE-HBSD FreeBSD 14.2-STABLE-HBSD HARDENEDBSD-14-STABLE amd64 X-PGP-Key: https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/blob/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc References: <202504220207.53M27okn077850@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="7sabrbhwe6iz4rgp" Content-Disposition: inline In-Reply-To: <202504220207.53M27okn077850@gitrepo.freebsd.org> X-Spamd-Result: default: False [-3.22 / 15.00]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.990]; NEURAL_SPAM_MEDIUM(0.87)[0.871]; MID_RHS_NOT_FQDN(0.50)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; R_DKIM_ALLOW(-0.20)[hardenedbsd.org:s=google]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; TO_DN_SOME(0.00)[]; MISSING_XM_UA(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::d32:from]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DMARC_NA(0.00)[hardenedbsd.org]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; DKIM_TRACE(0.00)[hardenedbsd.org:+] X-Rspamd-Queue-Id: 4Zk9zH1vbsz49Yg X-Spamd-Bar: --- --7sabrbhwe6iz4rgp Content-Type: text/plain; protected-headers=v1; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: git: a098111a28ed - main - secure: Add ssh-sk-client to all consumers of libssh MIME-Version: 1.0 On Tue, Apr 22, 2025 at 02:07:50AM +0000, John Baldwin wrote: > The branch main has been updated by jhb: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3Da098111a28ed59e1ab1101ad09= 913f0235ebd28f >=20 > commit a098111a28ed59e1ab1101ad09913f0235ebd28f > Author: John Baldwin > AuthorDate: 2025-04-22 02:05:28 +0000 > Commit: John Baldwin > CommitDate: 2025-04-22 02:05:28 +0000 >=20 > secure: Add ssh-sk-client to all consumers of libssh > =20 > These all failed to link with ld.bfd used by GCC due to > Fssh_sshsk_sign being an unresolved symbol. > =20 > Fixes: 65d8491719bb ("secure: Adapt Makefile to ssh-sk-clien= t everywhere") Hey John, I'm getting the following error from the RTLD when the rc scripts start sshd: =3D=3D=3D=3D BEGIN LOG =3D=3D=3D=3D ld-elf.so.1: /usr/lib/libprivatessh.so.5: Undefined symbol "Fssh_sshsk_sign =3D=3D=3D=3D END LOG =3D=3D=3D=3D This is on HardenedBSD 15-CURRENT/amd64. I'll try to reproduce next week with vanilla FreeBSD, unless someone else beats me to it. Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD Signal Username: shawn_webb.74 Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50 https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A= 4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --7sabrbhwe6iz4rgp Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmgKvuIACgkQ/y5nonf4 4fqvuw/+Ja8E11C8EsL9NgxONdGtO1N8MH5+JHDMfJ2j5hFf/efAV+mYOri1n9Ow c+tVGw8YQMi6dbYICItVFjvZyYC627joId/bQMDa12V39qMV2BKxsZ6i+fKYriGN ZxeyryT0PZBnaS8xu5LrWcjxtQWmrijSthDx/qWu6xHG3YfcXCYr/T1Ih+Jpt8H8 9jwiRf22gFEynr4ByAAvsPtxQnEkuv9ObIKSsWUDhwBcTTRaMgCsA4RijjhOCg78 g4tgFnH6dyb9JUiDmK+xMwmOtygfeJyblE4RYCwlIIQZZBeDAKhtIPNck7iA+pXl edAvJQ6MzqITc5Tf5jMeBY4Orm50cSFEj2LknnyydTgrErGeqx+l04NRwCLQlJNB 5ZUEt1DN2ukf6Ntuye8b8gg+J5rYpYTrKKjl6S1U1XKIfz5AF7isQKmjGuFuUfI7 R3EHjbDxMnJVuCTV5fFFJuck7MGDQemKnnQAOa/jAZGWWPjmzDQwLUOP0qI30tFL M45Pal7alY7hM7uPTSXqoM2+zlVH2OuIQHutC5qlkKm1GVGShl1WKvONByNsP0na k5H5SzuoskdaqQ+7jh6f2MtrviQbQkvn5X5VPvSEATX2XbX3VjFvXoUwbbKd9Uwk 3TVni9QaRaneQZvML4Wz3AHBlInPDEOJWJ1bySM3E0EauWBOVrg= =cFtk -----END PGP SIGNATURE----- --7sabrbhwe6iz4rgp-- From nobody Thu Apr 24 22:56:03 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkBD20YNbz5ttMq for ; Thu, 24 Apr 2025 22:56:18 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZkBD13g2rz3Jxl for ; Thu, 24 Apr 2025 22:56:17 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-43cf034d4abso15511285e9.3 for ; Thu, 24 Apr 2025 15:56:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745535375; x=1746140175; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kRF/fwn43XiZZMoEhtp/B3F7Du1uIx9UGOz+EuzMxbI=; b=UqsGsZiduExeGCHbRFfKNzzMOgy7tCTXNIOWgn5oBHtn/HFa9jrxtveWkUH0+ejgrR 2Cda/hQZw/wdAHoBGb3Pmyocu/YyBq+14L/CmHwSYYo1YwYgcx+fNA4690f68u+3u4YR Hy0LJ/qpH25bV8MWvjy02h25yHVusLC1LwfCnfFAmGwBFY46eT2ylwx51NP2201crGNw Yp66svGqmJ5oVvr+XOsmJPoJJEfs3+JSD87exAlGc3wf/542QC20hT6Q1UmCWVZGr31N xazQqQlc9QmTl+/ljZns9z5Sbnr/Ak3dpLkkKRJVeW4kxAs6O/gTACCM/VrrBOuA85os qwmg== X-Forwarded-Encrypted: i=1; AJvYcCWTUbiZ87UC2sU5mwfyVxNHqJfRLpx0OJhFtRhPxh74i7x40JztP+ss1iseXIQwpYxXNfD2m/iC+M8Iqb7cQXrHnPEwhQ==@freebsd.org X-Gm-Message-State: AOJu0YyFt1NBFANn51igdV24lgs2LPoyg3Gt/pjU6lA/HR72vK7CEm5i 8Z57AcaRJji2a9S5wAvwH9MLIcqYTJYczoWAnsBYVaACsHm0+sgvCOLXIoOMflU= X-Gm-Gg: ASbGncu7bWkOoz5AwIiA4JYEstfP8F9dWEcaubBrWliDRwQQVW4K8L+IHZizadjPfNH ULre8sYSxezQ4oLmjLoTV+BTxkRhMdb4fwkysSigDxwH4bdOLOfbX9+akjCHeHeIsvI3vHad0kR JDQL+jW0tWFobefHJuLuFztMSRUBe/VnCmfGqA14RXFIE0H+kEJ7qClPOLGchgmTzNpqTkuVIz5 6axODpKK1jfQkvhr1pCLD0s4PJ06SVtOHFOLCWuAiipmH/+5SoEapUKYKnwQ219yAAawp2PTARr AvZrO8FfSAZOCUgSTSUyNOFgvsLIld8Cnm8SJXE8A55V88VFsd2D0JE= X-Google-Smtp-Source: AGHT+IGvHoTGOzcx4UFsO12nUmm0EVIV+l3ppuTVp8m/sV4rMLSF59Q0nQE+NSi8DleAsVxYSld8LQ== X-Received: by 2002:a05:600c:35c4:b0:43d:300f:fa1d with SMTP id 5b1f17b1804b1-440a66ab87bmr87715e9.31.1745535375453; Thu, 24 Apr 2025 15:56:15 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.201]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-440a53044besm3962825e9.14.2025.04.24.15.56.14 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 24 Apr 2025 15:56:14 -0700 (PDT) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.300.87.4.3\)) Subject: Re: git: a098111a28ed - main - secure: Add ssh-sk-client to all consumers of libssh From: Jessica Clarke In-Reply-To: Date: Thu, 24 Apr 2025 23:56:03 +0100 Cc: John Baldwin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <202504220207.53M27okn077850@gitrepo.freebsd.org> To: Shawn Webb X-Mailer: Apple Mail (2.3826.300.87.4.3) X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4ZkBD13g2rz3Jxl X-Spamd-Bar: ---- On 24 Apr 2025, at 23:45, Shawn Webb wrote: > On Tue, Apr 22, 2025 at 02:07:50AM +0000, John Baldwin wrote: >> The branch main has been updated by jhb: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Da098111a28ed59e1ab1101ad09913f02= 35ebd28f >>=20 >> commit a098111a28ed59e1ab1101ad09913f0235ebd28f >> Author: John Baldwin >> AuthorDate: 2025-04-22 02:05:28 +0000 >> Commit: John Baldwin >> CommitDate: 2025-04-22 02:05:28 +0000 >>=20 >> secure: Add ssh-sk-client to all consumers of libssh >>=20 >> These all failed to link with ld.bfd used by GCC due to >> Fssh_sshsk_sign being an unresolved symbol. >>=20 >> Fixes: 65d8491719bb ("secure: Adapt Makefile to = ssh-sk-client everywhere") >=20 > Hey John, >=20 > I'm getting the following error from the RTLD when the rc scripts > start sshd: >=20 > =3D=3D=3D=3D BEGIN LOG =3D=3D=3D=3D > ld-elf.so.1: /usr/lib/libprivatessh.so.5: Undefined symbol = "Fssh_sshsk_sign > =3D=3D=3D=3D END LOG =3D=3D=3D=3D >=20 > This is on HardenedBSD 15-CURRENT/amd64. I'll try to reproduce next > week with vanilla FreeBSD, unless someone else beats me to it. I don=E2=80=99t understand how this is meant to work. sshsk_sign is used = by sshkey.c, which is in libssh, so why are we putting the definition of sshsk_sign (namespaced) in each and every program? Jess From nobody Thu Apr 24 23:00:18 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkBJk1ZPZz5ttwV for ; Thu, 24 Apr 2025 23:00:22 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-io1-xd34.google.com (mail-io1-xd34.google.com [IPv6:2607:f8b0:4864:20::d34]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZkBJj463Vz3MbR for ; Thu, 24 Apr 2025 23:00:21 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Authentication-Results: mx1.freebsd.org; none Received: by mail-io1-xd34.google.com with SMTP id ca18e2360f4ac-85b5e49615aso151096539f.1 for ; Thu, 24 Apr 2025 16:00:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; t=1745535619; x=1746140419; darn=freebsd.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=fU8j9RnmbcpGWGBNe0GES3CRSuKpwCerpzY2D6r2W5w=; b=X3SGI1E2wxASGN3NNvvF4TobhZoShuUhmEvHCgmagnq7AdRkQChpO1+aqUARKg0Hy8 a59TIen3VpFzmqDrOc0CX9iXKOmCzwkag3g9kHCLMIj79PPDCglc6/p0yDudxH83k64V UPKtxS0Cq7B10XfpVAs3OrBCYY2AqWICZlU+39IsNfgTaOmJ+FsZwpDs/LRhU2o+Vdcb luEikPtCm1GCpu4x8ZVGDRIpgtp+Y52B+AbazEzrdGJcyjd/bHutYW9kxdJk4htzEz1+ v6fGcOVBnf7C+LJQuBTLDFRdtL0JNnkiLKMmyOiIhT9e1lsaBaqabJSL2j/AkZdcJvSH OikQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745535619; x=1746140419; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fU8j9RnmbcpGWGBNe0GES3CRSuKpwCerpzY2D6r2W5w=; b=U0vnYcYk0+CSHGeGYYNKl2C4HhqWjuoT59dZtE/DSM9u5BNBC1fvkvyfgiNdRtUtEi hBqMP2G8gZE4mJ0uL0zpGpwbKMj4fSpGt1X6zl0xlMIdlEa2pQda00uYhSdEzrngwK6z gmANCUWCXV9xPcTV37z4VLy+IqCzMA0Y+/1uI6RE5lOBOUhjapHK3R9RWrih4uIfAsiG SG+17dEv3r9aU1xv0Ckh9n4rksM1fFqnHKpusDxiIeNnprgwzw5VaC0AqYBah+7CbgkC kFHVIjPitm9P4yy3sp910enmuMlVweE2BZi3B2l22b05/YyDkDeuX7sBYg54We3+0sp4 W7hQ== X-Forwarded-Encrypted: i=1; AJvYcCVpAGzzMNTksEwQi9NB5sFjBqfn+OaU9CtUJnxTPJHy+e1/kUf/Yneo+W1bJGaDMPJXC8YYvhOzCXYWFsYYvGflY8AOBQ==@freebsd.org X-Gm-Message-State: AOJu0YzG3mK1s9h0qh5v2zoUKL5I+ou5voe7bllL3vbO/EDMVq9PPqvZ v1L+AoVQtpoKEyVvU6pBUwv+ow70xSqJD5L0dWNgxBMuMzCBz9UmSviis7hw4SI= X-Gm-Gg: ASbGncv6Le+y9AJfqIXMdxtwtKPLT+R04tVx42OoJaV5KIs8GjPwkmWRjfJgv0Q4ouf jvyI9BWdcbf+UpO1KcYK3vT1DFVqU8o4W62xsgbIHPOQAbSX3Sid+NdBoEj7xvwD/LBgSX7ybTu ZGwZmz6WufsCM7Jg1eLNDaReCSmRGrXrz3oOMYCSEh/ywyLfWNhv4mXywdIwZWvski5dIDAtRdI 1sKbOEQN1PYISJJcuyblD06/OT17KBJcafOYDVumgwDwWe/lPuJt2syVOi3jzV9+kOu2cXyI4Zn JL3uUvjBA+ccJPd/X1onSns= X-Google-Smtp-Source: AGHT+IFw53BAgs/AJ+1aO0+boDkb/KOY/GTh4UrTKTB4fXbSKxrI7sEfX4AufQUuabUQn7CvydFAIA== X-Received: by 2002:a05:6602:6089:b0:864:47e6:23ce with SMTP id ca18e2360f4ac-8645d1748e4mr22939339f.4.1745535619524; Thu, 24 Apr 2025 16:00:19 -0700 (PDT) Received: from mutt-hbsd ([2001:470:4001:1::95]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f824b85596sm475300173.80.2025.04.24.16.00.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Apr 2025 16:00:18 -0700 (PDT) Date: Thu, 24 Apr 2025 23:00:18 +0000 From: Shawn Webb To: Jessica Clarke Cc: John Baldwin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: a098111a28ed - main - secure: Add ssh-sk-client to all consumers of libssh Message-ID: X-Operating-System: FreeBSD mutt-hbsd 14.2-STABLE-HBSD FreeBSD 14.2-STABLE-HBSD HARDENEDBSD-14-STABLE amd64 X-PGP-Key: https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/blob/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc References: <202504220207.53M27okn077850@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="awq4bouiw4c2uwed" Content-Disposition: inline In-Reply-To: X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4ZkBJj463Vz3MbR X-Spamd-Bar: ---- --awq4bouiw4c2uwed Content-Type: text/plain; protected-headers=v1; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: Re: git: a098111a28ed - main - secure: Add ssh-sk-client to all consumers of libssh MIME-Version: 1.0 On Thu, Apr 24, 2025 at 11:56:03PM +0100, Jessica Clarke wrote: > On 24 Apr 2025, at 23:45, Shawn Webb wrote: > > On Tue, Apr 22, 2025 at 02:07:50AM +0000, John Baldwin wrote: > >> The branch main has been updated by jhb: > >>=20 > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3Da098111a28ed59e1ab1101a= d09913f0235ebd28f > >>=20 > >> commit a098111a28ed59e1ab1101ad09913f0235ebd28f > >> Author: John Baldwin > >> AuthorDate: 2025-04-22 02:05:28 +0000 > >> Commit: John Baldwin > >> CommitDate: 2025-04-22 02:05:28 +0000 > >>=20 > >> secure: Add ssh-sk-client to all consumers of libssh > >>=20 > >> These all failed to link with ld.bfd used by GCC due to > >> Fssh_sshsk_sign being an unresolved symbol. > >>=20 > >> Fixes: 65d8491719bb ("secure: Adapt Makefile to ssh-sk-cli= ent everywhere") > >=20 > > Hey John, > >=20 > > I'm getting the following error from the RTLD when the rc scripts > > start sshd: > >=20 > > =3D=3D=3D=3D BEGIN LOG =3D=3D=3D=3D > > ld-elf.so.1: /usr/lib/libprivatessh.so.5: Undefined symbol "Fssh_sshsk_= sign > > =3D=3D=3D=3D END LOG =3D=3D=3D=3D > >=20 > > This is on HardenedBSD 15-CURRENT/amd64. I'll try to reproduce next > > week with vanilla FreeBSD, unless someone else beats me to it. >=20 > I don=E2=80=99t understand how this is meant to work. sshsk_sign is used = by > sshkey.c, which is in libssh, so why are we putting the definition of > sshsk_sign (namespaced) in each and every program? I'm not sure. Looking more closely at this commit and the commit referenced on the Fixes: line, I'm wondering if the use of $() is valid instead of ${}. Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD Signal Username: shawn_webb.74 Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50 https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A= 4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --awq4bouiw4c2uwed Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmgKwnsACgkQ/y5nonf4 4fro3xAAi2AWJIwo4z6A3H/fWfop/nh8RaV9OVLtoGp1S9Kucq+UQwofWlF7lB5G +y9YJpxQpoFQmO5PVWOn9J/oFPUIbmHy1Th8SXdgE082AmTpIbreoSJkbeXGGRTd boFI7Fb+8jrofRks7d0/N5IM5APB6U/D3fQYXeoWYFEL6PDMhN2nUXX7kIn1qQ+Y W0iBhp/apYXI8A8jffPLZyz4vYNNkVblGTbZAcuX7UcX64LPe4nzN/Osf11Wc8DZ fFNU4mME1imBKwoX+9Ayk7rWiszK3LVHYNtjOUaDoxcvVU37NqAaYkxXK0tLLONk H33PMWUVKV5CWyFBg33RVTbiH+3sNEH/Wi1OIez735B0xUtTVIbXrJlAEBKavR/c 9qUcQY0RepmeWixCv+Loj2CHQiAQ9unPeKFxPczmAeR0mEaYksbsa5yePDxeLgUI 9KrQF94iiINhr6Cypr1M0t5THUwQElaH0bpxNCDIWk833h+1Bns9zj8KOP6+c+GP XydgsHo79sw/mdJAyvC+lilWZ/lNF5wx94sRxYyIPPtWYCnlY1MMzdaCHTSprnty QYddjnvz2I+bIxLI4gd6AfEBS+Azfs3w26HtY9AT4mAnC3axnhYuO28KwJ1yup8k qutfBID4PqHW5VUhJmZoeqBIrTJITx4T/ifg3G5AGuJN45h3aVg= =3vLm -----END PGP SIGNATURE----- --awq4bouiw4c2uwed-- From nobody Fri Apr 25 00:10:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkCsc4C5Gz5ty0J; Fri, 25 Apr 2025 00:10: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 4ZkCsc33FDz46j9; Fri, 25 Apr 2025 00:10:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745539828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mM+yJJE+JQ2K72NSYEENN5rvS6CA5yS7n64ZFHvNc2A=; b=gkRyY34eQ6uphd5hgbEuBcp77TdAauKvf5YRhZo8UlcXE9HmvVlTMacvPQQgtL4OxKGsnG /doICRsq2GHDitu/5yOsNugCsFyGG2C+Na6+BtOqCYRblHgz/VoxhGD7iGJ/DXeggjUzB5 jJqwTPNxC9Wzl3oIy+QQoeub87LAMMuAD9mCjgMKa8+li9hkgREH9Vvbj/cE5hvBYtW0Am 9tYWH+6wZscS+RDQ03YQ6yrq6pCf4w+/nwRwW7S8k82ZtpniZR0lqUJpYm4sKbKNbj+ooa kUdwCBuAmrMifkU3Yd67mruLKLN+Ws+5fIfIKXgv6ddZcwZp/paaBBkV6QBDHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745539828; a=rsa-sha256; cv=none; b=j2ptDnH+AqzIaMBkDojKDmC899K3WIWTun6eO/vv5Zg9BopUpe2OL5DMzZISj8+95J9VsQ kG+pWaUiaRVuX0BEMrQ9vZgby98Lt8ExWGvxipQOW29FazP1nC0+DUwdVY4h8Z96YcvDy7 IsQxzwu8WCpQ1vrFbRJpOezJeMIzaIW5QMeCt8ZmSP/PGLr8WYsYrKmlU/8/ieru+EfQqN 9FOEIY6wrDae6HdlxlOwHizGVquAti8qYas0tYjdfVxfufNlryKbWbWZeUo9d0dojhKhun g1MmthnoH72FpzQU81kqvfzCvkEqQ5QToazp+jgyYHsV7FkZ5oNBKfv+cu4+sg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745539828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mM+yJJE+JQ2K72NSYEENN5rvS6CA5yS7n64ZFHvNc2A=; b=HvvIA6SvdgcUQJRm7e9Wc9lPmf5iFmXh4LEyD3wvkJTE3EDfqTC4jORXUVm1RbKs5nth0I 5ZCaZq91Jzt46NZJXEhzFCjLPZZyN7lnMB+lDIEoq/nymkJK7afFYYzBWwlsHr3I+LH3AP osxNn3C9uXA9MtpOnZeBvlyweh4dSHNxKAGItOxSy/XZ7ZenQ7dxIcJ9a5EBYqcrMZ9m9Q ClPhTFbxuCf8UaWoyEpu4gJFpyI4A9PJXXuLS+DqJJ9Week0tdaOfNwQijgdwXBPrXG0Q7 cFPSs9KPZvYKyLeKMg7glCNwX1JKU0g1UMOGkYVn95OI2AMYqxwp3vroFPb7Pw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkCsc2cWMz1B8y; Fri, 25 Apr 2025 00:10: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 53P0ASHR053132; Fri, 25 Apr 2025 00:10:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53P0ASHP053129; Fri, 25 Apr 2025 00:10:28 GMT (envelope-from git) Date: Fri, 25 Apr 2025 00:10:28 GMT Message-Id: <202504250010.53P0ASHP053129@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: c802dd74bbcf - main - vm_object: use iterator in populate() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c802dd74bbcf9cd55d4dbd368309a5aa6884f3a8 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=c802dd74bbcf9cd55d4dbd368309a5aa6884f3a8 commit c802dd74bbcf9cd55d4dbd368309a5aa6884f3a8 Author: Doug Moore AuthorDate: 2025-04-25 00:09:09 +0000 Commit: Doug Moore CommitDate: 2025-04-25 00:09:09 +0000 vm_object: use iterator in populate() Use an iterator instead of tailq pointers in vm_object_populate(). Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49938 --- sys/vm/vm_object.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index e301114f800a..5f505f87de67 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2133,13 +2133,16 @@ vm_object_page_noreuse(vm_object_t object, vm_pindex_t start, vm_pindex_t end) boolean_t vm_object_populate(vm_object_t object, vm_pindex_t start, vm_pindex_t end) { + struct pctrie_iter pages; vm_page_t m; vm_pindex_t pindex; int rv; + vm_page_iter_init(&pages, object); VM_OBJECT_ASSERT_WLOCKED(object); for (pindex = start; pindex < end; pindex++) { - rv = vm_page_grab_valid(&m, object, pindex, VM_ALLOC_NORMAL); + rv = vm_page_grab_valid_iter(&m, object, &pages, pindex, + VM_ALLOC_NORMAL); if (rv != VM_PAGER_OK) break; @@ -2149,11 +2152,9 @@ vm_object_populate(vm_object_t object, vm_pindex_t start, vm_pindex_t end) */ } if (pindex > start) { - m = vm_page_lookup(object, start); - while (m != NULL && m->pindex < pindex) { + pages.limit = pindex; + VM_RADIX_FORALL_FROM(m, &pages, start) vm_page_xunbusy(m); - m = TAILQ_NEXT(m, listq); - } } return (pindex == end); } From nobody Fri Apr 25 00:56:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkDtW2DbCz5v1Rh; Fri, 25 Apr 2025 00:56:19 +0000 (UTC) (envelope-from jlduran@gmail.com) Received: from mail-yb1-xb34.google.com (mail-yb1-xb34.google.com [IPv6:2607:f8b0:4864:20::b34]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZkDtV6cRtz3PK2; Fri, 25 Apr 2025 00:56:18 +0000 (UTC) (envelope-from jlduran@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yb1-xb34.google.com with SMTP id 3f1490d57ef6-e6b78b80393so248773276.1; Thu, 24 Apr 2025 17:56:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745542578; x=1746147378; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :reply-to:in-reply-to:references:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=3WfWbepeEc8ehA4Rc4i8Y7BGMRkspSnWDCUPvhAACvY=; b=b4tM+nUIX0eD6xKZV5LBWi7lCmYgoZC7tAIC5ZS3/mo8Q2ZJLg1v3Y12WmF9W0XA3v EdV4PgTNSBImBSV5AL+mZJsh32z6z22HFcPWDMJ0TjKWfCnvDi6TAROVSy3ZqT7aFUpj xWQcQtTbD/IFpN+hjIuVsuecgAAfkuF4URx4GB29vjM0kcRuR+JADnoKv1+FkibSPhpt H/kCC22j5EgU++b33tjd1qQr+SJUlyuBIQ0Oq6wKP2j8s6OUnhnqh0isrB5H/hloJFel y8jhz9flhMCdMg7LWJddlPFmFT5PtsOde5KGip/YQVykaiJknNex+/zv6cYy4iIMJVEO PJbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745542578; x=1746147378; h=content-transfer-encoding:cc:to:subject:message-id:date:from :reply-to:in-reply-to:references:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=3WfWbepeEc8ehA4Rc4i8Y7BGMRkspSnWDCUPvhAACvY=; b=AwT8Vro+rOggdoCphvHU3iyPrQhmJVEtrwZmhVnBjd6d73RJzpgT1LAM7Vkqxf4Nx/ vIUnIZO+6s/mF/A7bD6waH3AtLHuglRaKqBLsXIK50dezTi3Y83wefa5+vgSou0Pw/CM 8bY1JYufXLreJ8pdxTyThmNILtCuoKJZ94UpY0BII3mFSkxOsNA+cO1rbZiECr788EBL EkoWupo3f8RPYhF8QKvBWSs2qZ/WdWhwXd3+1MfMg82eU3MZkGnMYv1oafL9XUFf6JOG Zx+7Y5hiNgIwd+jd5ARuJ7edwNLhg4rVBXaeR/AddSAIjfx1iR6p6Gjs5nQelAsfNuOg CmLA== X-Forwarded-Encrypted: i=1; AJvYcCUukfqKg4pT4LEyy6nQewJHPCxRbpEV8BSC5pTgP450LrVkxsYz5pZ7p9QbS1Pg8BYSLc+l8ig2U2Ouv8eJq47waFOr0Xg=@freebsd.org, AJvYcCVoy/Ws9jHwivXw04Q1qqMHpqaxB5KwnBIw8lBh2Hdel6fy9iOXi+8pnETU9wO5HKJadwwG@freebsd.org, AJvYcCVyRfOENqlRlM8Lo4Go1C1zEd7so6nPbh9yCJMeaB4R3icACUWfRDM6fJlSLDXXhiZgwVZkJJVr9iFl/WKpjBnjY0me@freebsd.org, AJvYcCWLQ4Z6//4yuyEpMK1BKc2eF2lWksk7pLyL1j3Kiqw6TGi/9Y+zUbPJ/LCdYFmkUB+10jAhya+rzBUr9K5HHrk=@freebsd.org X-Gm-Message-State: AOJu0YxEyLjJvcjiFRsTnXzsbvkAIMKQKpI1X5d+vY2MV1R0nv8fVDBJ DwyMv0YFjGwFqRIkyxDwrR2P21EZ/1Wcz19IqTKE/RB2HZ852YT4RGE3YA5d8QGy6pFRKwnRUzH 5dsHhi7Zt0Lhb9vtZNWmJS6cjjBkbbcGI X-Gm-Gg: ASbGncs8okchCzNm2JVZRGxzQSXpLONfrTw6unNjFkIIBxFyThhNnNtdsWDqqNdfC4J hWhdyfJJndu6GHKqESh+ViuG/WOAExR48bK2llzmE70Yk0oU0E8HFrwgsmFbpRFiwAomdykNdNK gFDNHE4w9422aK66PythqbdIA= X-Google-Smtp-Source: AGHT+IEt25lltuoHhvCvxe5MCICU09GJ4hwbD0hBt8+rGK8Nxv6g40CBRJIQnc6NfK/Fv6ilf3mBuVMcgMSED+ttq44= X-Received: by 2002:a05:6902:158f:b0:e6d:ecbb:e52d with SMTP id 3f1490d57ef6-e73168c034emr312345276.8.1745542577868; Thu, 24 Apr 2025 17:56:17 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202504220207.53M27okn077850@gitrepo.freebsd.org> In-Reply-To: Reply-To: jlduran+freebsd@freebsd.org From: Jose Luis Duran Date: Thu, 24 Apr 2025 19:56:06 -0500 X-Gm-Features: ATxdqUFjf52YXOJM_vuDRrt81pxMot_RGh9ZIEn2MwDuQOX-QKR69szwxbi2S2g Message-ID: Subject: Re: git: a098111a28ed - main - secure: Add ssh-sk-client to all consumers of libssh To: Shawn Webb Cc: Jessica Clarke , John Baldwin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[freebsd]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4ZkDtV6cRtz3PK2 X-Spamd-Bar: ---- On Thu, Apr 24, 2025 at 6:00=E2=80=AFPM Shawn Webb wrote: > > On Thu, Apr 24, 2025 at 11:56:03PM +0100, Jessica Clarke wrote: > > On 24 Apr 2025, at 23:45, Shawn Webb wrote= : > > > On Tue, Apr 22, 2025 at 02:07:50AM +0000, John Baldwin wrote: > > >> The branch main has been updated by jhb: > > >> > > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3Da098111a28ed59e1ab110= 1ad09913f0235ebd28f > > >> > > >> commit a098111a28ed59e1ab1101ad09913f0235ebd28f > > >> Author: John Baldwin > > >> AuthorDate: 2025-04-22 02:05:28 +0000 > > >> Commit: John Baldwin > > >> CommitDate: 2025-04-22 02:05:28 +0000 > > >> > > >> secure: Add ssh-sk-client to all consumers of libssh > > >> > > >> These all failed to link with ld.bfd used by GCC due to > > >> Fssh_sshsk_sign being an unresolved symbol. > > >> > > >> Fixes: 65d8491719bb ("secure: Adapt Makefile to ssh-sk-c= lient everywhere") > > > > > > Hey John, > > > > > > I'm getting the following error from the RTLD when the rc scripts > > > start sshd: > > > > > > =3D=3D=3D=3D BEGIN LOG =3D=3D=3D=3D > > > ld-elf.so.1: /usr/lib/libprivatessh.so.5: Undefined symbol "Fssh_sshs= k_sign > > > =3D=3D=3D=3D END LOG =3D=3D=3D=3D > > > > > > This is on HardenedBSD 15-CURRENT/amd64. I'll try to reproduce next > > > week with vanilla FreeBSD, unless someone else beats me to it. > > > > I don=E2=80=99t understand how this is meant to work. sshsk_sign is use= d by > > sshkey.c, which is in libssh, so why are we putting the definition of > > sshsk_sign (namespaced) in each and every program? The original motivation was to mimic: https://github.com/openssh/openssh-portable/commit/7b47b40b170db4d6f41da047= 9575f6d99dd7228a In order to sync our Makefiles with upstream Makefile.in, as yet another binary is about to come in OpenSSH 10.0 (sshd-auth). Having the same order, even the same line breaks facilitate adapting to changes. I don't mind reverting it if other downstream projects/linkers are having issues. I'm holding on to another related change (D49801) because of a098111a28ed. We can always try again after OpenSSH 10.0 has been merged (or not). > I'm not sure. Looking more closely at this commit and the commit > referenced on the Fixes: line, I'm wondering if the use of $() is > valid instead of ${}. It should expand (maybe a style.Makefile(5) infringement, again to match as close as possible Makefile.in). > > Thanks, > > -- > Shawn Webb > Cofounder / Security Engineer > HardenedBSD > > Signal Username: shawn_webb.74 > Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50 > https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/0= 3A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc From nobody Fri Apr 25 01:10:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkFBv29Gjz5v1sH; Fri, 25 Apr 2025 01:10:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZkFBv09v1z3XHh; Fri, 25 Apr 2025 01:10:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745543431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ww3Cr1OnWAtNS3yvqUr/keDnn+3w9B40VLwiQ2bm9Ko=; b=daUHZ8VYbfIfcWFfvjyn6rSAdpbCFRRSu5lpw6QuknhEgf8+BlSoRjVbDib4wrxfhjpiTu C85JsaqNknJyY6yMn+iEFsd3Z71eJefSEV364bbJh7h/iSYSTvB++JCMR03pB4KJPrmwDP pvOTyadWJQCwXUORYxLLlq2NwCAZ/FIC4YtWwOeV9g8voamBXhTp9tuicGPsjnI83ICasU hUDIvXvZorY1wuLfAK7R+HS41zIXzvwbqPH7UGrbDtzw9HXsYGhUeEnr7IbfhrN0txAs2v Ba6seXFEEMN2kv8gpyoqSARgaapKgyCH8PcWpzgtBOcCbgw06IPeQ12OerCmFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745543431; a=rsa-sha256; cv=none; b=AbUK1GfGJE4QI4Db82WyWLiGYL9SmPmOXBuFuz0cjf+psXB3qTOWssYt2kaCEygPTEuTqZ ukVXfn5zRHY3bvUUcV9ST9vwROzGOMGSgXGVwmTOryZe3JoY8VspaaorB4VkaNS8AHerk7 ILis4Wj69lBF4ANVJcHMr8oO+fv2b3RV3ZAttSf9n+kDljvKdVlbPd5T+of/efKBRogwUZ O8j6qZDFg9n8v0XME+DcRtUAOOu5bHaXs/NMh/qTKQlFk4ULXRjpc1dw0fwXQGd4VbZwZh L7BZ7HQI95k5s01/5VaFTAlddN0DNqtxiPAMaI0vAa3YI04f6Nic3ujaj5Jdvg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745543431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ww3Cr1OnWAtNS3yvqUr/keDnn+3w9B40VLwiQ2bm9Ko=; b=UqrQ2ch85WygKp6vgo/Cgr2HgqY4/BzaU3wyj9KHWpF5RqFYrHPzZ5hr/if8OqMI57cS+/ 1NXrmyx4s1gh/JKUva0lYWNy0nqPC9Aa6BmPUQabvAou7hdoHlsxNrWPmUmLeXcyUiCISl dmRwLz9EFCmSF83mlGlqNVREPIvpCJTFhcDmh4p0EDqzBH41DbUyXxJ22SXOdM+weNsj1u Q02cnIAG7uopOAV8pTVxqTLyTWUfO878q4Gd3BjKDWwXcdRhLywzzEm1A1dYV8g6gISB6P hWKUt2n3WB4tP//zgOGOtxY8Mm6VO9eWtVFSoP+h3ZxilFXikmfFEZcvIITW3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkFBt6cvpz1Cgn; Fri, 25 Apr 2025 01:10: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 53P1AUAH064211; Fri, 25 Apr 2025 01:10:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53P1AUwS064208; Fri, 25 Apr 2025 01:10:30 GMT (envelope-from git) Date: Fri, 25 Apr 2025 01:10:30 GMT Message-Id: <202504250110.53P1AUwS064208@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Rick Macklem Subject: git: 4fae019c2b8f - main - nfscommon: Prepare the NFS common code for named attributes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4fae019c2b8f23c6a67ea86b87c9feac5781ab25 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=4fae019c2b8f23c6a67ea86b87c9feac5781ab25 commit 4fae019c2b8f23c6a67ea86b87c9feac5781ab25 Author: Rick Macklem AuthorDate: 2025-04-25 01:09:24 +0000 Commit: Rick Macklem CommitDate: 2025-04-25 01:09:24 +0000 nfscommon: Prepare the NFS common code for named attributes Commit 2ec2ba7e232d added support for Solaris style extended attributes (called named attributes, which is the NFSv4 terminology) to the VFS. This patch updates the NFS code common to the NFS client and server, to prepare it for the addition of named attribute support. The actual support for named attributes in the NFSv4 client and server will be done in future commits. --- sys/fs/nfs/nfs_commonsubs.c | 164 +++++++++++++++++++++++++++++++++++++++++--- sys/fs/nfs/nfsport.h | 14 ++-- sys/fs/nfs/nfsproto.h | 7 +- 3 files changed, 171 insertions(+), 14 deletions(-) diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index 7bb2df82272c..3e70eb50a54e 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -135,7 +135,7 @@ struct nfsv4_opflag nfsv4_opflag[NFSV42_NOPS] = { { 1, 2, 0, 0, LK_EXCLUSIVE, 1, 1 }, /* Lookupp */ { 0, 1, 0, 0, LK_EXCLUSIVE, 1, 1 }, /* NVerify */ { 1, 1, 0, 1, LK_EXCLUSIVE, 1, 0 }, /* Open */ - { 1, 1, 0, 0, LK_EXCLUSIVE, 1, 0 }, /* OpenAttr */ + { 1, 1, 1, 1, LK_EXCLUSIVE, 1, 1 }, /* OpenAttr */ { 0, 1, 0, 0, LK_EXCLUSIVE, 1, 0 }, /* OpenConfirm */ { 0, 1, 0, 0, LK_EXCLUSIVE, 1, 0 }, /* OpenDowngrade */ { 1, 0, 0, 0, LK_EXCLUSIVE, 1, 1 }, /* PutFH */ @@ -219,10 +219,11 @@ NFSD_VNET_DEFINE_STATIC(u_char *, nfsrv_dnsname) = NULL; static int nfs_bigreply[NFSV42_NPROCS] = { 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 1, 0, 0, 0, 0, 0 }; + 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 }; /* local functions */ static int nfsrv_skipace(struct nfsrv_descript *nd, int *acesizep); +static bool nfs_test_namedattr(struct nfsrv_descript *nd, struct vnode *vp); static void nfsv4_wanted(struct nfsv4lock *lp); static uint32_t nfsv4_filesavail(struct statfs *, struct mount *); static int nfsrv_getuser(int procnum, uid_t uid, gid_t gid, char *name); @@ -230,6 +231,8 @@ static void nfsrv_removeuser(struct nfsusrgrp *usrp, int isuser); static int nfsrv_getrefstr(struct nfsrv_descript *, u_char **, u_char **, int *, int *); static void nfsrv_refstrbigenough(int, u_char **, u_char **, int *); +static uint32_t vtonfsv4_type(struct vattr *); +static __enum_uint8(vtype) nfsv4tov_type(uint32_t, uint16_t *); static struct { int op; @@ -307,6 +310,7 @@ static struct { { NFSV4OP_DEALLOCATE, 2, "Deallocate", 10, }, { NFSV4OP_LAYOUTERROR, 1, "LayoutError", 11, }, { NFSV4OP_VERIFY, 3, "AppendWrite", 11, }, + { NFSV4OP_OPENATTR, 3, "OpenAttr", 8, }, }; /* @@ -316,7 +320,7 @@ static int nfs_bigrequest[NFSV42_NPROCS] = { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 1 + 0, 1, 0 }; /* @@ -985,6 +989,17 @@ nfsm_fhtom(struct nfsmount *nmp, struct nfsrv_descript *nd, u_int8_t *fhp, (nmp->nm_privflag & NFSMNTP_FAKEROOTFH) != 0) { fhp = nmp->nm_fh; size = nmp->nm_fhsize; + } else if (size >= NFSX_FHMAX + NFSX_V4NAMEDDIRFH && + size <= NFSX_FHMAX + NFSX_V4NAMEDATTRFH) { + size -= (NFSX_FHMAX - NFSX_MYFH); + NFSM_BUILD(tl, uint32_t *, NFSX_MYFH + + 2 * NFSX_UNSIGNED); + *tl++ = txdr_unsigned(size); + NFSBCOPY(fhp, tl, NFSX_MYFH); + tl += (NFSX_MYFH / NFSX_UNSIGNED); + *tl = 0; + bytesize = NFSX_MYFH + 2 * NFSX_UNSIGNED; + break; } fullsiz = NFSM_RNDUP(size); if (set_true) { @@ -1267,6 +1282,70 @@ nfsmout: return (error); } +/* + * Check to see if a named attribute exists for this file. + */ +static bool +nfs_test_namedattr(struct nfsrv_descript *nd, struct vnode *vp) +{ + struct uio io; + struct iovec iv; + struct componentname cn; + struct vnode *dvp; + struct dirent *dp; + int eofflag, error; + char *buf, *cp, *endcp; + bool ret; + + if (vp == NULL || (vp->v_mount->mnt_flag & MNT_NAMEDATTR) == 0) + return (false); + NFSNAMEICNDSET(&cn, nd->nd_cred, LOOKUP, OPENNAMED | ISLASTCN | + NOFOLLOW | LOCKLEAF); + cn.cn_lkflags = LK_SHARED; + cn.cn_nameptr = "."; + cn.cn_namelen = 1; + error = VOP_LOOKUP(vp, &dvp, &cn); + if (error != 0) + return (false); + + /* Now we have to read the directory, looking for a valid entry. */ + buf = malloc(DIRBLKSIZ, M_TEMP, M_WAITOK); + ret = false; + io.uio_offset = 0; + io.uio_segflg = UIO_SYSSPACE; + io.uio_rw = UIO_READ; + io.uio_td = NULL; + do { + iv.iov_base = buf; + iv.iov_len = DIRBLKSIZ; + io.uio_iov = &iv; + io.uio_iovcnt = 1; + io.uio_resid = DIRBLKSIZ; + error = VOP_READDIR(dvp, &io, nd->nd_cred, &eofflag, NULL, + NULL); + if (error != 0 || io.uio_resid == DIRBLKSIZ) + break; + cp = buf; + endcp = &buf[DIRBLKSIZ - io.uio_resid]; + while (cp < endcp) { + dp = (struct dirent *)cp; + if (dp->d_fileno != 0 && dp->d_type != DT_WHT && + ((dp->d_namlen == 1 && dp->d_name[0] != '.') || + (dp->d_namlen == 2 && (dp->d_name[0] != '.' || + dp->d_name[1] != '.')) || dp->d_namlen > 2)) { + ret = true; + break; + } + cp += dp->d_reclen; + } + if (ret) + break; + } while (eofflag == 0); + vput(dvp); + free(buf, M_TEMP); + return (ret); +} + /* * Get the attributes for V4. * If the compare flag is true, test for any attribute changes, @@ -1298,6 +1377,7 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, gid_t gid; u_int32_t freenum = 0, tuint; u_int64_t uquad = 0, thyp, thyp2; + uint16_t tui16; #ifdef QUOTA struct dqblk dqb; uid_t savuid; @@ -1413,11 +1493,16 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); if (compare) { if (!(*retcmpp)) { - if (nap->na_type != nfsv34tov_type(*tl)) + tui16 = 0; + if (nap->na_type != nfsv4tov_type(*tl, + &tui16) || + ((nap->na_bsdflags & SFBSD_NAMEDATTR) ^ + tui16) != 0) *retcmpp = NFSERR_NOTSAME; } } else if (nap != NULL) { - nap->na_type = nfsv34tov_type(*tl); + nap->na_type = nfsv4tov_type(*tl, + &nap->na_bsdflags); } attrsum += NFSX_UNSIGNED; break; @@ -1497,7 +1582,11 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, case NFSATTRBIT_NAMEDATTR: NFSM_DISSECT(tl, u_int32_t *, NFSX_UNSIGNED); if (compare && !(*retcmpp)) { - if (*tl != newnfs_false) + bool named_attr; + + named_attr = nfs_test_namedattr(nd, vp); + if ((named_attr && *tl != newnfs_true) || + (!named_attr && *tl != newnfs_false)) *retcmpp = NFSERR_NOTSAME; } attrsum += NFSX_UNSIGNED; @@ -1672,6 +1761,8 @@ nfsv4_loadattr(struct nfsrv_descript *nd, vnode_t vp, goto nfsmout; tfhsize = tnfhp->nfh_len; if (compare) { + if (tfhsize > NFSX_MYFH) + tfhsize = NFSX_MYFH; if (!(*retcmpp) && !NFSRV_CMPFH(tnfhp->nfh_fh, tfhsize, fhp, fhsize)) @@ -2592,6 +2683,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, NFSACL_T *aclp, *naclp = NULL; size_t atsiz; bool xattrsupp; + short irflag; #ifdef QUOTA struct dqblk dqb; uid_t savuid; @@ -2712,7 +2804,7 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, break; case NFSATTRBIT_TYPE: NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); - *tl = vtonfsv34_type(vap->va_type); + *tl = vtonfsv4_type(vap); retnum += NFSX_UNSIGNED; break; case NFSATTRBIT_FHEXPIRETYPE: @@ -2748,7 +2840,10 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, break; case NFSATTRBIT_NAMEDATTR: NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); - *tl = newnfs_false; + if (nfs_test_namedattr(nd, vp)) + *tl = newnfs_true; + else + *tl = newnfs_false; retnum += NFSX_UNSIGNED; break; case NFSATTRBIT_FSID: @@ -2809,7 +2904,15 @@ nfsv4_fillattr(struct nfsrv_descript *nd, struct mount *mp, vnode_t vp, retnum += NFSX_UNSIGNED; break; case NFSATTRBIT_FILEHANDLE: - retnum += nfsm_fhtom(NULL, nd, (u_int8_t *)fhp, 0, 0); + siz = 0; + if (vp != NULL) { + irflag = vn_irflag_read(vp); + if ((irflag & VIRF_NAMEDDIR) != 0) + siz = NFSX_FHMAX + 2; + else if ((irflag & VIRF_NAMEDATTR) != 0) + siz = NFSX_FHMAX + 3; + } + retnum += nfsm_fhtom(NULL, nd, (u_int8_t *)fhp, siz, 0); break; case NFSATTRBIT_FILEID: NFSM_BUILD(tl, u_int32_t *, NFSX_HYPER); @@ -5178,3 +5281,46 @@ nfsrpc_destroysession(struct nfsmount *nmp, struct nfsclsession *tsep, m_freem(nd->nd_mrep); return (error); } + +/* + * Translate a vnode type into an NFSv4 type, including the named + * attribute types. + */ +static uint32_t +vtonfsv4_type(struct vattr *vap) +{ + nfstype ntyp; + + if (vap->va_type >= 9) + ntyp = NFNON; + else + ntyp = nfsv34_type[vap->va_type]; + if ((vap->va_bsdflags & SFBSD_NAMEDATTR) != 0) { + if (ntyp == NFDIR) + ntyp = NFATTRDIR; + else if (ntyp == NFREG) + ntyp = NFNAMEDATTR; + } + return (txdr_unsigned((uint32_t)ntyp)); +} + +/* + * Translate an NFS type to a vnode type. + */ +static __enum_uint8(vtype) +nfsv4tov_type(uint32_t ntyp, uint16_t *bsdflags) +{ + __enum_uint8(vtype) vtyp; + + ntyp = fxdr_unsigned(uint32_t, ntyp) % (NFNAMEDATTR + 1); + if (ntyp == NFATTRDIR) { + vtyp = VDIR; + *bsdflags |= SFBSD_NAMEDATTR; + } else if (ntyp == NFNAMEDATTR) { + vtyp = VREG; + *bsdflags |= SFBSD_NAMEDATTR; + } else { + vtyp = nv34tov_type[ntyp]; + } + return (vtyp); +} diff --git a/sys/fs/nfs/nfsport.h b/sys/fs/nfs/nfsport.h index 0b16ba9b85a8..c30b46261df0 100644 --- a/sys/fs/nfs/nfsport.h +++ b/sys/fs/nfs/nfsport.h @@ -439,10 +439,13 @@ /* Do an NFSv4 Verify+Write. */ #define NFSPROC_APPENDWRITE 69 +/* Do a NFSv4 Openattr. */ +#define NFSPROC_OPENATTR 70 + /* * Must be defined as one higher than the last NFSv4.2 Proc# above. */ -#define NFSV42_NPROCS 70 +#define NFSV42_NPROCS 71 /* Value of NFSV42_NPROCS for old nfsstats structure. (Always 69) */ #define NFSV42_OLDNPROCS 69 @@ -474,7 +477,7 @@ struct nfsstatsv1 { uint64_t readlink_bios; uint64_t biocache_readdirs; uint64_t readdir_bios; - uint64_t rpccnt[NFSV42_NPROCS + 10]; + uint64_t rpccnt[NFSV42_NPROCS + 9]; uint64_t rpcretries; uint64_t srvrpccnt[NFSV42_NOPS + NFSV4OP_FAKENOPS + 15]; uint64_t srvlayouts; @@ -690,6 +693,7 @@ struct nfsvattr { #define na_bytes na_vattr.va_bytes #define na_filerev na_vattr.va_filerev #define na_vaflags na_vattr.va_vaflags +#define na_bsdflags na_vattr.va_bsdflags #include @@ -1180,9 +1184,11 @@ struct nfsreq { */ #ifdef VV_DISABLEDELEG #define NFSVNO_DELEGOK(v) \ - ((v) == NULL || ((v)->v_vflag & VV_DISABLEDELEG) == 0) + ((v) == NULL || ((v)->v_vflag & VV_DISABLEDELEG) == 0 || \ + (vn_irflag_read(v) & VIRF_NAMEDATTR) == 0) #else -#define NFSVNO_DELEGOK(v) (1) +#define NFSVNO_DELEGOK(v) \ + ((v) == NULL || (vn_irflag_read(v) & VIRF_NAMEDATTR) == 0) #endif /* diff --git a/sys/fs/nfs/nfsproto.h b/sys/fs/nfs/nfsproto.h index 995754f42b15..d0660cafdedb 100644 --- a/sys/fs/nfs/nfsproto.h +++ b/sys/fs/nfs/nfsproto.h @@ -275,6 +275,8 @@ #define NFSX_V4SESSIONID 16 #define NFSX_V4DEVICEID 16 #define NFSX_V4PNFSFH (sizeof(fhandle_t) + 1) +#define NFSX_V4NAMEDDIRFH 2 +#define NFSX_V4NAMEDATTRFH 3 #define NFSX_V4FILELAYOUT (4 * NFSX_UNSIGNED + NFSX_V4DEVICEID + \ NFSX_HYPER + NFSM_RNDUP(NFSX_V4PNFSFH)) #define NFSX_V4FLEXLAYOUT(m) (NFSX_HYPER + 3 * NFSX_UNSIGNED + \ @@ -406,10 +408,13 @@ /* Do an NFSv4 Verify+Write. */ #define NFSPROC_APPENDWRITE 69 +/* Do a NFSv4 Openattr. */ +#define NFSPROC_OPENATTR 70 + /* * Must be defined as one higher than the last NFSv4.2 Proc# above. */ -#define NFSV42_NPROCS 70 +#define NFSV42_NPROCS 71 /* Value of NFSV42_NPROCS for old nfsstats structure. (Always 69) */ #define NFSV42_OLDNPROCS 69 From nobody Fri Apr 25 05:38:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkM8M72ntz5vGY2; Fri, 25 Apr 2025 05:38: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 4ZkM8M4Lp7z4Mrh; Fri, 25 Apr 2025 05:38:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745559523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2YthJXEA9f0ummWtvuR/iNch2g8y1UxkCPWFCyB2+BQ=; b=MtcQF3zfTAH/CaqW28TopVK3h43leXdh6Uqo6HFF203QSWJLtb8YPSTkqXixVc+lNBMHMD CVeneY7P5tbadDvCjJYj1IUEtNdAjEMurG3TzRkUiHBMu0c/eRkldwsi2au04rWKymCllF xC5Cg0ExO/lc8dhx9lBHGLV4txB5Pu+ILU2QDEfo+7Rr5VkREcdaM4efU+uUveV/SezjV0 2zVqGKX2Yz6bzhzsQhSrOU/BQnctnSFSoxQ/N+qWPM5E5JKdktS40Nfgccjvby0DQD9Hvv E5y/Gjid67D+Pd2WnGIjjpk4ySySWHqXkGbFJpd2b0gr/5hJMjLytmH1sGoBwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745559523; a=rsa-sha256; cv=none; b=RvtanoCjNarO+F6oEtlHo1o7gZJSwB4dSCJPelMvpP2qmZ6pqw+/ysBB1S5Y+3+U8ftcB/ nTfW2ED9LGC0BmKz5reyPQG9cPMYT/RRksTsl2Joq/8pN2jhCLANIXaXu15sWQ+8XY78Ns y/znaI1/B0MqV0gVAfLQ1GAov9D88Vo5JwHF0h6s5Ogm/Ni148pP9dy3EX93+Zva5VsSkC Suy2SumbusGO5YmFL3bNrvSs4v1u3SGUTLDqL4coJF0gvFMvfkKpeopVhUz8+nIa0XCXB5 zc2EUDMCkq8KBmhEmwOTWrlrr3HVOJjTQ0Yn4yt+Oi2lU2LltOkN9Xq2d4gCfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745559523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2YthJXEA9f0ummWtvuR/iNch2g8y1UxkCPWFCyB2+BQ=; b=DKFBvEBmHsVWbTn4Tf+gXc+BGS1LBxogIqGxxkVQg80sl/Wlhe/n5qO52veEamoIyB236T Cb2cu3kjPiS3xZC6XwuIzvYEZF7VIRBcipE0PmYaJ6lpDNkcqp6ZZlWLhPM0YkpgnJ0e3y AwWMO/aCmfFnEoit0UGdk2XpGoEe/JHnIiWRZ3p6hkVCN0dVX0nr7uPxkhxD3IwzU8+4iC nFZDkpwKrVBtRcBjE8fg2CHApKC8KI4GNsv8zdM2yeG/8g8YZo2gx8hMYfFbkBdF1/ZtAF RBOEtS0wKXxtkhqM02rvD5LYCTD2sSkJ9v3DLxjdNQ3rtjPquzkWVXBSh8TynQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkM8M3yN7z64K; Fri, 25 Apr 2025 05:38: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 53P5chq0060841; Fri, 25 Apr 2025 05:38:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53P5chT2060838; Fri, 25 Apr 2025 05:38:43 GMT (envelope-from git) Date: Fri, 25 Apr 2025 05:38:43 GMT Message-Id: <202504250538.53P5chT2060838@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 93ca9e44b752 - main - asmc: Add support for macmini 6,1 and 6,2 (late 2012) models List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 93ca9e44b752e6a9aeb0f761a022d14281d1a4e3 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=93ca9e44b752e6a9aeb0f761a022d14281d1a4e3 commit 93ca9e44b752e6a9aeb0f761a022d14281d1a4e3 Author: Hrant Dadivanyan AuthorDate: 2025-04-20 15:07:34 +0000 Commit: Adrian Chadd CommitDate: 2025-04-25 05:35:56 +0000 asmc: Add support for macmini 6,1 and 6,2 (late 2012) models This adds the ASMC support for the macmini 6,1 and 6,2. PR: kern/268141 Differential Revision: https://reviews.freebsd.org/D49929 --- sys/dev/asmc/asmc.c | 18 +++++++++++++++ sys/dev/asmc/asmcvar.h | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) diff --git a/sys/dev/asmc/asmc.c b/sys/dev/asmc/asmc.c index f321a3cdc5f7..d99c1d56e67c 100644 --- a/sys/dev/asmc/asmc.c +++ b/sys/dev/asmc/asmc.c @@ -349,6 +349,24 @@ static const struct asmc_model asmc_models[] = { ASMC_MM52_TEMPS, ASMC_MM52_TEMPNAMES, ASMC_MM52_TEMPDESCS }, + /* The Mac Mini 6,1 has no SMS */ + { + "Macmini6,1", "Apple SMC Mac Mini 6,1", + NULL, NULL, NULL, + ASMC_FAN_FUNCS2, + NULL, NULL, NULL, + ASMC_MM61_TEMPS, ASMC_MM61_TEMPNAMES, ASMC_MM61_TEMPDESCS + }, + + /* The Mac Mini 6,2 has no SMS */ + { + "Macmini6,2", "Apple SMC Mac Mini 6,2", + NULL, NULL, NULL, + ASMC_FAN_FUNCS2, + NULL, NULL, NULL, + ASMC_MM62_TEMPS, ASMC_MM62_TEMPNAMES, ASMC_MM62_TEMPDESCS + }, + /* The Mac Mini 7,1 has no SMS */ { "Macmini7,1", "Apple SMC Mac Mini 7,1", diff --git a/sys/dev/asmc/asmcvar.h b/sys/dev/asmc/asmcvar.h index 73a8fc449c2c..d40dc1e7c8ff 100644 --- a/sys/dev/asmc/asmcvar.h +++ b/sys/dev/asmc/asmcvar.h @@ -564,6 +564,68 @@ struct asmc_softc { "Power Supply Temperature", \ "Wireless Module Proximity Temperature", } +#define ASMC_MM61_TEMPS { "TA0P", "TA1P", \ + "TC0D", "TC0G", "TC0P", "TCPG", \ + "TI0P", \ + "TM0S", "TMBS", "TM0P", \ + "TP0P", "TPCD", \ + "Tp0C", \ + "TW0P", NULL } + +#define ASMC_MM61_TEMPNAMES { "ambient_air_proximity", "ambient_cpu_pch_wireless_dimm", \ + "cpu_die", "TC0G", "cpu_proximity", "TCPG", \ + "thunderbolt_proximity", \ + "memory_slot1", "memory_slot2", "memory_proximity", \ + "pch_controller_proximity", "pch_controller_die", \ + "pwr_supply", \ + "wireless_proximity", NULL } + +#define ASMC_MM61_TEMPDESCS { "Ambient Air Proximity Temperature", \ + "Combo Ambient CPU PCH Wireless DIMM Temperature", \ + "CPU Die Temperature", \ + NULL, \ + "CPU Proximity Temperature", \ + NULL, \ + "Thunderbolt Proximity Temperature", \ + "Memory Slot 1 Temperature", \ + "Memory Slot 2 Temperature", \ + "Memory Slots Proximity Temperature", \ + "Platform Controller Hub Proximity Temperature", \ + "Platform Controller Hub Die Temperature", \ + "Power Supply Temperature", \ + "Wireless Module Proximity Temperature", NULL } + +#define ASMC_MM62_TEMPS { "TA0P", "TA1P", \ + "TC0D", "TC0G", "TC0P", "TCPG", \ + "TI0P", \ + "TM0S", "TMBS", "TM0P", \ + "TP0P", "TPCD", \ + "Tp0C", \ + "TW0P", NULL } + +#define ASMC_MM62_TEMPNAMES { "ambient_air_proximity", "ambient_cpu_pch_wireless_dimm", \ + "cpu_die", "TC0G", "cpu_proximity", "TCPG", \ + "thunderbolt_proximity", \ + "memory_slot1", "memory_slot2", "memory_proximity", \ + "pch_controller_proximity", "pch_controller_die", \ + "pwr_supply", \ + "wireless_proximity", NULL } + +#define ASMC_MM62_TEMPDESCS { "Ambient Air Proximity Temperature", \ + "Combo Ambient CPU PCH Wireless DIMM Temperature", \ + "CPU Die Temperature", \ + NULL, \ + "CPU Proximity Temperature", \ + NULL, \ + "Thunderbolt Proximity Temperature", \ + "Memory Slot 1 Temperature", \ + "Memory Slot 2 Temperature", \ + "Memory Slots Proximity Temperature", \ + "Platform Controller Hub Proximity Temperature", \ + "Platform Controller Hub Die Temperature", \ + "Power Supply Temperature", \ + "Wireless Module Proximity Temperature", NULL } + #define ASMC_MM71_TEMPS { "TA0p", "TA1p", \ "TA2p", "TC0c", \ "TC0p", "TC1c", \ From nobody Fri Apr 25 06:02:44 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkMh50vnfz5vHl0; Fri, 25 Apr 2025 06:02: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 4ZkMh45XN8z3Ls4; Fri, 25 Apr 2025 06:02:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745560964; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ThplnLVrMKdjlQF5b4DBkleqOwl6+Vnhz4DDQnMHXaE=; b=CBYkJZCOPPzH6imF59gEubjcVd9hq9/rCbNiLx+ySfZR+f5C3HaOt34jCx3DKBGwWtU4ES kdVlAiYKsce7o51sfL5lSmKDYKRcjloIs0UcLeTckMfwYQXf6DxYktlw3u9VsgKjCaPjKL wXSy9y2d9XVAL1ECqDBgKu3tNVSEqtulWMyCk952ZtkoUcERjLrrWy3v+4vGpBInQhfhiJ i5fwVCpWF1bvGYr66kPnVdV0kkXdSp4AFopfdYzOMy/EbBfiOZP1YF4SKc86Yd4EPUTZ7i bMuYe9jT81J+QxwYFSmO8+6RpEq1Dh44RjAY44xhlMBLSkKS29o5AZ4rnTDQ9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745560964; a=rsa-sha256; cv=none; b=ToSXVPvQiTS/PQU+fnnc3DUid3ivZzYSNy0ag8tKrPXCtn5RI8yb7L2hp1T15HW9KrnvWR wwQ9E6j6Ft7sGxx4ynkju7PIq+ob4JdP4o340hkZc/ET7c1L4vJFegVEdE6MRksD1dk2bk IjCPfZrSc/8f2Uz3ZlZK90c+JMMIzoXIPqz15E24D2RJQqRjJJ+LeBXKqak+wC+x2TS/qh gYXET/neEWimXX0jQ0lc4OXkND9YcrVx1fulezZiJIZHoeWqXdhEQyyWEQQQYEiujgArpH VcOlxotXaC75gJZfJTL8Y6JKDWTixxVzycp4pYTxJBY0Wq9O9jPeqbyxPJ+Z4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745560964; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ThplnLVrMKdjlQF5b4DBkleqOwl6+Vnhz4DDQnMHXaE=; b=lUPR+IQnUWDqBQzZlENrTY28tuBiSjd4vvP1fO0F9sPknEKH/T9d4Y/45b1wpgSa0xWZwj h9DDkZAiuHPKUMk+Xw0vGRB+hMHpG8+FOLcZKHYb/RYo8Ob09ePR4mehH7nf59XvQW8tKE 3xkZPX+ZQUWCNWygR/IYEKFjWe9WImeKJ14YCS6jYVKuoQsh71URck5v6Hk/iu2UyUMrIU dtgxoVmgQT2xyKkGW1SBOzdg7R1chTzz+3tsLa0CSoVxjC2PRA2exQx3NVcOBSZ3AVoP82 7sRmzeoTwOe/wFJvbmYlqarYwen2sFEZzF3UX+pBKQO6Gtv89UF8YdGUhAhu5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkMh456Tbz7XF; Fri, 25 Apr 2025 06:02: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 53P62iVW015753; Fri, 25 Apr 2025 06:02:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53P62iCw015750; Fri, 25 Apr 2025 06:02:44 GMT (envelope-from git) Date: Fri, 25 Apr 2025 06:02:44 GMT Message-Id: <202504250602.53P62iCw015750@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 925906a61caf - main - vm_fault: use iterator in populate() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 925906a61cafb44df8643e33aa781ba546e92082 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=925906a61cafb44df8643e33aa781ba546e92082 commit 925906a61cafb44df8643e33aa781ba546e92082 Author: Doug Moore AuthorDate: 2025-04-25 06:01:43 +0000 Commit: Doug Moore CommitDate: 2025-04-25 06:01:43 +0000 vm_fault: use iterator in populate() Use iterators instead of tailq_next pointers in vm_fault_populate(). Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D50010 --- sys/vm/vm_fault.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index c096bfaffe73..24fc457adcad 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -497,6 +497,7 @@ vm_fault_populate_cleanup(vm_object_t object, vm_pindex_t first, static enum fault_status vm_fault_populate(struct faultstate *fs) { + struct pctrie_iter pages; vm_offset_t vaddr; vm_page_t m; vm_pindex_t map_first, map_last, pager_first, pager_last, pidx; @@ -623,9 +624,10 @@ vm_fault_populate(struct faultstate *fs) pager_last); pager_last = map_last; } - for (pidx = pager_first, m = vm_page_lookup(fs->first_object, pidx); + vm_page_iter_init(&pages, fs->first_object); + for (pidx = pager_first, m = vm_radix_iter_lookup(&pages, pidx); pidx <= pager_last; - pidx += npages, m = TAILQ_NEXT(&m[npages - 1], listq)) { + pidx += npages, m = vm_radix_iter_stride(&pages, npages)) { vaddr = fs->entry->start + IDX_TO_OFF(pidx) - fs->entry->offset; KASSERT(m != NULL && m->pindex == pidx, ("%s: pindex mismatch", __func__)); From nobody Fri Apr 25 06:14:44 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkMxx1nmKz5vJK3; Fri, 25 Apr 2025 06:14: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 4ZkMxx0tq9z3R4t; Fri, 25 Apr 2025 06:14:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745561685; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=neF6+820zqi+QMPuIj5YFi9ScS94JyUkj4IwWLMUVjM=; b=SgCci8ofHx7kFISb4Rh0zJdiNIElahHy+GjVXyaqiwMaX1ewqWBuuVaTQn1yR1NlttpobP Y5gzO1s1lR/mNPPXkxArVua6KMRDcS2u6GLSnR5boi3jlrfzdAv8H2jmeykFScZnYttLQz y+h1KVTNZDeOm82r8Mu1Ott08H6j7kOVwhUwKp/EDFeB/n2Tp2sXI+6I3TBhdCT18vGEVv eYO+vLuafG+CJq2jcmx9Ko2xK/Rp4/po5d9nTZYrKCjp1RtSS13dvge/A0OSQ7O7kkzGMA X+SjLR6P9ziuw+WxsjiIChHRQI4zT2KRY5TrkUTC3Hql8Lwun/ua96kXTrvkOQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745561685; a=rsa-sha256; cv=none; b=fp6Jgx7kcNulTtrzOPXektC3jeRmS2bR5e/+HYqruHMGOWmMaOFhaq63Dz/2d55LcvAGxR ficQLLkr8JDDe6/88SodBM/DbA+9Br1HC7ZhV1GHX0cSpxmK0jkfk2C7VBMyNk5SUDs4jF 5BRpFsPPUOsLuuszg2eDxIC/Jqce8rFblL5E+r3qgEjwYci73UYrLylegcCMSoriQUq8ir v9K5N7qYgFRuWdqwuQyRXr6ogasLvvmb67AY+Ega5lOhjz3JL3yu55lxZE1ZvMZ9dHoDRf KN8s+9sjunvadmLBPp0FVsOBlqWd9RyNXI6oQdtScv/wQpUpaqEPwFNweOodcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745561685; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=neF6+820zqi+QMPuIj5YFi9ScS94JyUkj4IwWLMUVjM=; b=uU2pQMnfx8uH8WU6SJIrbe9iqUZv3eEmu7hgsJkp35iaoLethGbJ6LI6r6LeodsJP4qDce tZoMiVUQS2Su6fFRGAS4PVUyGQ+TZ6mIkU1/zmGRbyRqe3MNdYt/DCaMkCzlEqRgJcTi6o O4m90d0a0Me65TfJNnXIU3j1o0EKbCvD8G/n8OlavBxSKEBjyGfqjXF2xd3syxbcGAv6Ov F7m8bvoU5SyG/gQH7fFGHkXHuJgqtq3wO6jIlc9kVJCGK+flOhFPaK5MKIh7rkK/yeslXo 4pNmkdtAqaee5heaXLNji+q7kVGZPWliKQ0L+dcGOoS8iHNBRubb0jFl71bjjw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkMxx0RdJz7WM; Fri, 25 Apr 2025 06:14: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 53P6EjiE034880; Fri, 25 Apr 2025 06:14:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53P6EiFs034877; Fri, 25 Apr 2025 06:14:44 GMT (envelope-from git) Date: Fri, 25 Apr 2025 06:14:44 GMT Message-Id: <202504250614.53P6EiFs034877@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: cf681286d295 - main - Revert "vm_fault: use iterator in populate()" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cf681286d29540a0aa1adf2cbc119e6f877de3dc Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=cf681286d29540a0aa1adf2cbc119e6f877de3dc commit cf681286d29540a0aa1adf2cbc119e6f877de3dc Author: Doug Moore AuthorDate: 2025-04-25 06:12:36 +0000 Commit: Doug Moore CommitDate: 2025-04-25 06:12:36 +0000 Revert "vm_fault: use iterator in populate()" This reverts commit 925906a61cafb44df8643e33aa781ba546e92082. The effects of releasing and acquiring the object write lock a few lines into the loop were not carefully considered. Reported by: alc --- sys/vm/vm_fault.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 24fc457adcad..c096bfaffe73 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -497,7 +497,6 @@ vm_fault_populate_cleanup(vm_object_t object, vm_pindex_t first, static enum fault_status vm_fault_populate(struct faultstate *fs) { - struct pctrie_iter pages; vm_offset_t vaddr; vm_page_t m; vm_pindex_t map_first, map_last, pager_first, pager_last, pidx; @@ -624,10 +623,9 @@ vm_fault_populate(struct faultstate *fs) pager_last); pager_last = map_last; } - vm_page_iter_init(&pages, fs->first_object); - for (pidx = pager_first, m = vm_radix_iter_lookup(&pages, pidx); + for (pidx = pager_first, m = vm_page_lookup(fs->first_object, pidx); pidx <= pager_last; - pidx += npages, m = vm_radix_iter_stride(&pages, npages)) { + pidx += npages, m = TAILQ_NEXT(&m[npages - 1], listq)) { vaddr = fs->entry->start + IDX_TO_OFF(pidx) - fs->entry->offset; KASSERT(m != NULL && m->pindex == pidx, ("%s: pindex mismatch", __func__)); From nobody Fri Apr 25 07:18:04 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkPM034mGz5t7dn; Fri, 25 Apr 2025 07:18: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 4ZkPM01zQYz3tyn; Fri, 25 Apr 2025 07:18:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745565484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QdWA9CNxhRToW2IXkrCATceMbl96nfy19opPei6bajs=; b=X55bhgQij7v1tpkrDSLe02fdhjba1GUeVdJRRsHQV9Hf3C9vk/dtT/Zq7hGxP3J1frm8n4 9vQu35uDStx5LTRkECpBUW5OH66LrAfKf3wrle3Jbvj5wuhoPW19E/WlqQ1T+FU3ckOccS p9xzRwNEmvrqj5lG4RRVHAFe7jjGCLXnZ9+5xu1hwCDJPDfx+2Iv14ufLuuY10z5lvE3oq MrKBekPE70zqvnsngv90VsIDTHUg2BxtwxvSBOaHElDcS8RfKG89brgfJwQ7hTFBs3cZRm oa5BEnS57NMoYBiVqSDoP1+MIFA4xNMBBkFSGhZzvwhVCaLqk7uIV/21bZeTbw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745565484; a=rsa-sha256; cv=none; b=O5BtoOh8zvA85POP3Mt/rViDcebRTq75RJahf/HtLvBpkW7sRAqlbFRJZhhTAoN0pj+CFc 4MtzVn0aQTeQCNfjMiQ2mnM2WZBXr0AdTfLb8yfSRkUTgaBWFmdFqFjlol/BPK2PpJvvco nx+uPpS67ZoWy9s57xrQNAVJ5tvw85IlJOZPn912R2FwzeFXFLsQ2AP6CWwIbNfqcDX15E 8E3m40k3zhFrmkIZQ9z7TNjx4QeKdPqS4GIM9zz4pL0BrJ+wZe5V02kJtfmTZ57QxKAf1E TZSTlP6eeWR2zzSBmRXWs4GozNc8Ye49xx4kDQbkP2oD51O455cKMdXtkD6fJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745565484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QdWA9CNxhRToW2IXkrCATceMbl96nfy19opPei6bajs=; b=AdfhQUBRKlGx8PTZox4pHggMHdkvW7CRYIF7n80cNy2JeD0ucb3BxMo3f9x8IiMQZxpajK L1ZG2MFcQwhpSygzfQC/rpGZY27l+fGDlgNfzrGl+UYThhfuhPSnhHH5utVBh/Qr5y9Ms5 mBeL1niDwROmWf4u0QjFMO6pKNK645gLGKdCqVIjJtEWrNYX2iQmifUk9zMfFHDw5J+Ctv wuxEytrTsalVyUjvrH8F75IKtSsgPCGRGCemDuTe7FJA6P28V6cZXfyKrVnUcvRrZwB1Sz eweiMSGDfrOSi2R+ujk2R3Yvnb5j2rPN9BxaOd+bXZgIHK8T1PMf0qovw3JH4A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkPM01ZStz98W; Fri, 25 Apr 2025 07:18: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 53P7I4ib047388; Fri, 25 Apr 2025 07:18:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53P7I4Zk047385; Fri, 25 Apr 2025 07:18:04 GMT (envelope-from git) Date: Fri, 25 Apr 2025 07:18:04 GMT Message-Id: <202504250718.53P7I4Zk047385@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 579d698a64af - main - vm_fault: replace tailq with lookup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 579d698a64afc79c1daabd9d43d952f1c214df65 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=579d698a64afc79c1daabd9d43d952f1c214df65 commit 579d698a64afc79c1daabd9d43d952f1c214df65 Author: Doug Moore AuthorDate: 2025-04-25 07:14:51 +0000 Commit: Doug Moore CommitDate: 2025-04-25 07:14:51 +0000 vm_fault: replace tailq with lookup Replace a use of TAILQ_NEXT with a pctrie lookup, in order to allow the TAILQ to be elimiated soon. Reviewed by: alc Differential Revision: https://reviews.freebsd.org/D50010 --- sys/vm/vm_fault.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index c096bfaffe73..8531dc9d5196 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -623,9 +623,8 @@ vm_fault_populate(struct faultstate *fs) pager_last); pager_last = map_last; } - for (pidx = pager_first, m = vm_page_lookup(fs->first_object, pidx); - pidx <= pager_last; - pidx += npages, m = TAILQ_NEXT(&m[npages - 1], listq)) { + for (pidx = pager_first; pidx <= pager_last; pidx += npages) { + m = vm_page_lookup(fs->first_object, pidx); vaddr = fs->entry->start + IDX_TO_OFF(pidx) - fs->entry->offset; KASSERT(m != NULL && m->pindex == pidx, ("%s: pindex mismatch", __func__)); From nobody Fri Apr 25 07:53:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkQ7Q1p9Rz5t8mn; Fri, 25 Apr 2025 07:53: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 4ZkQ7Q00Kzz3CBf; Fri, 25 Apr 2025 07:53:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745567586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9i4zHregBw/01PGsjcO+G8kWZQlpQLbOnaH+Lgcfqg=; b=kTVmdA32QAZb5vZ5gsJJ2wh0ZskzWZjwrdtbMrezJ7Bu5xTO2whPPWCvAnUIq1H4/DRMfX cjeyRfrlnLIQEMFAwCrITlSPgOrPDqf63b5nhQ7tf962s5KiT8LycPRTSO9B1pHjdNgCPT vK/Spj5wGS1TPY1yyhe5ptw37bxss0McnvvlSWH3+KtjM7OJxvh1bIMZEz0OO1lrrYqYbG 6f6oOQEIQqQEpZE3TGjRyyn+e4P2D1ArKAcYzTxRaZo2yMGKcpT4mcCWYJgTdPK4xNOI/G 3rfjrG61EE06CGns4zm7kXW+bQaZsgYaumfiW4u4dc+jNA3uvjFu7dPOBlx2Bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745567586; a=rsa-sha256; cv=none; b=hidBW25658OJac2YNMji6vD601IMTVYJKEwWrMdsPectn2EOYhJ+Lk4kKkifzqPcNYleGT bSe3iJ4zGwH5SiTzRhZa3/yrsqnkQALJtcsnDm/KhF3IVOtWl0m47cRK6B38/SxCZHm7ss HkX+ATD+T8jUuHBGc8Al5DkmD7EbUiPZDrJItwuGldhmeZOHKmX1aA5ekKbNjtuOJvhuIc M4oX2NuJdr0d0PzlLkdGr5sK3a6BfV6kcF8G4mhv8opfIDqbaH2ofgoMQAI5kXkp3lWWC1 mHslHy+xYoq0yT0yswJhjdWrWAdb6GP5dy4N4gLkiSS+dNWtHUTrW85cTtIxAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745567586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9i4zHregBw/01PGsjcO+G8kWZQlpQLbOnaH+Lgcfqg=; b=DQ8n8VPgYJM50K1rRhj18ykRtXcXf6m+9XuFjuFhUv8ODTKxGxU6JIpAnIxr5gumceMQDk xrRya+EOI0orGjXkXc8enf9EpMYyGLAxV2E2CUtG5ptDESG3qYkUO3vfppnaSek+jTuUsq Yjx+eo7+BrfRaHOCWS7uAu5pZ8D/9Shc+XDfBeW2u7VMTggA7xjilbVsfRxp0Wq7JOuofw KWBQELfQC0Z9llQceRPGoXj16IAm8s2XMrwr1wJxwXVjQTVrKO+19ReRRJ4Vlqno5X5Wup fdy0UuHq01zCpo41efxcETuB8OzcdL34W2CmbsTUg2Uy46oO6jRB8htkDwyrOg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkQ7P6jkdzBML; Fri, 25 Apr 2025 07:53: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 53P7r53q020180; Fri, 25 Apr 2025 07:53:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53P7r5f5020177; Fri, 25 Apr 2025 07:53:05 GMT (envelope-from git) Date: Fri, 25 Apr 2025 07:53:05 GMT Message-Id: <202504250753.53P7r5f5020177@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Peter Holm Subject: git: 736e2ab5ef3c - main - stress2: Added two syzkaller reproducers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pho X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 736e2ab5ef3c84dc9c08351822ff2d8473ae5330 Auto-Submitted: auto-generated The branch main has been updated by pho: URL: https://cgit.FreeBSD.org/src/commit/?id=736e2ab5ef3c84dc9c08351822ff2d8473ae5330 commit 736e2ab5ef3c84dc9c08351822ff2d8473ae5330 Author: Peter Holm AuthorDate: 2025-04-25 07:52:30 +0000 Commit: Peter Holm CommitDate: 2025-04-25 07:52:30 +0000 stress2: Added two syzkaller reproducers --- tools/test/stress2/misc/syzkaller74.sh | 469 +++++++++++++++++++++++++++++++++ tools/test/stress2/misc/syzkaller75.sh | 377 ++++++++++++++++++++++++++ 2 files changed, 846 insertions(+) diff --git a/tools/test/stress2/misc/syzkaller74.sh b/tools/test/stress2/misc/syzkaller74.sh new file mode 100755 index 000000000000..886c6047585b --- /dev/null +++ b/tools/test/stress2/misc/syzkaller74.sh @@ -0,0 +1,469 @@ +#!/bin/sh + +# panic: _pctrie_lookup_node: freed node in iter path +# cpuid = 0 +# time = 1745029155 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe01085d2a30 +# vpanic() at vpanic+0x136/frame 0xfffffe01085d2b60 +# panic() at panic+0x43/frame 0xfffffe01085d2bc0 +# pctrie_iter_lookup_ge() at pctrie_iter_lookup_ge+0x166/frame 0xfffffe01085d2bd0 +# vm_object_page_clean() at vm_object_page_clean+0x22e/frame 0xfffffe01085d2c50 +# vnode_pager_clean_async() at vnode_pager_clean_async+0x48/frame 0xfffffe01085d2c70 +# vinactivef() at vinactivef+0x75/frame 0xfffffe01085d2cb0 +# vput_final() at vput_final+0x29c/frame 0xfffffe01085d2d00 +# vm_map_process_deferred() at vm_map_process_deferred+0xa9/frame 0xfffffe01085d2d20 +# vm_map_remove() at vm_map_remove+0xcb/frame 0xfffffe01085d2d50 +# vmspace_exit() at vmspace_exit+0xa8/frame 0xfffffe01085d2d80 +# exit1() at exit1+0x533/frame 0xfffffe01085d2df0 +# sys_exit() at sys_exit+0xd/frame 0xfffffe01085d2e00 +# amd64_syscall() at amd64_syscall+0x15a/frame 0xfffffe01085d2f30 +# fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe01085d2f30 +# --- syscall (1, FreeBSD ELF64, exit), rip = 0x822a9b7fa, rsp = 0x8202b4de8, rbp = 0x8202b4e00 --- +# KDB: enter: panic +# [ thread pid 21141 tid 100328 ] +# Stopped at kdb_enter+0x33: movq $0,0x104d862(%rip) +# db> + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +cat > /tmp/$prog.c < + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static void kill_and_wait(int pid, int* status) +{ + kill(pid, SIGKILL); + while (waitpid(-1, status, 0) != pid) { + } +} + +static void sleep_ms(uint64_t ms) +{ + usleep(ms * 1000); +} + +static uint64_t current_time_ms(void) +{ + struct timespec ts; + if (clock_gettime(CLOCK_MONOTONIC, &ts)) + exit(1); + return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; +} + +static void use_temporary_dir(void) +{ + char tmpdir_template[] = "./syzkaller.XXXXXX"; + char* tmpdir = mkdtemp(tmpdir_template); + if (!tmpdir) + exit(1); + if (chmod(tmpdir, 0777)) + exit(1); + if (chdir(tmpdir)) + exit(1); +} + +static void reset_flags(const char* filename) +{ + struct stat st; + if (lstat(filename, &st)) + exit(1); + st.st_flags &= ~(SF_NOUNLINK | UF_NOUNLINK | SF_IMMUTABLE | UF_IMMUTABLE | + SF_APPEND | UF_APPEND); + if (lchflags(filename, st.st_flags)) + exit(1); +} +static void __attribute__((noinline)) remove_dir(const char* dir) +{ + DIR* dp = opendir(dir); + if (dp == NULL) { + if (errno == EACCES) { + if (rmdir(dir)) + exit(1); + return; + } + exit(1); + } + struct dirent* ep = 0; + while ((ep = readdir(dp))) { + if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) + continue; + char filename[FILENAME_MAX]; + snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); + struct stat st; + if (lstat(filename, &st)) + exit(1); + if (S_ISDIR(st.st_mode)) { + remove_dir(filename); + continue; + } + if (unlink(filename)) { + if (errno == EPERM) { + reset_flags(filename); + reset_flags(dir); + if (unlink(filename) == 0) + continue; + } + exit(1); + } + } + closedir(dp); + while (rmdir(dir)) { + if (errno == EPERM) { + reset_flags(dir); + if (rmdir(dir) == 0) + break; + } + exit(1); + } +} + +static void thread_start(void* (*fn)(void*), void* arg) +{ + pthread_t th; + pthread_attr_t attr; + pthread_attr_init(&attr); + pthread_attr_setstacksize(&attr, 128 << 10); + int i = 0; + for (; i < 100; i++) { + if (pthread_create(&th, &attr, fn, arg) == 0) { + pthread_attr_destroy(&attr); + return; + } + if (errno == EAGAIN) { + usleep(50); + continue; + } + break; + } + exit(1); +} + +typedef struct { + pthread_mutex_t mu; + pthread_cond_t cv; + int state; +} event_t; + +static void event_init(event_t* ev) +{ + if (pthread_mutex_init(&ev->mu, 0)) + exit(1); + if (pthread_cond_init(&ev->cv, 0)) + exit(1); + ev->state = 0; +} + +static void event_reset(event_t* ev) +{ + ev->state = 0; +} + +static void event_set(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + if (ev->state) + exit(1); + ev->state = 1; + pthread_mutex_unlock(&ev->mu); + pthread_cond_broadcast(&ev->cv); +} + +static void event_wait(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + while (!ev->state) + pthread_cond_wait(&ev->cv, &ev->mu); + pthread_mutex_unlock(&ev->mu); +} + +static int event_isset(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + int res = ev->state; + pthread_mutex_unlock(&ev->mu); + return res; +} + +static int event_timedwait(event_t* ev, uint64_t timeout) +{ + uint64_t start = current_time_ms(); + uint64_t now = start; + pthread_mutex_lock(&ev->mu); + for (;;) { + if (ev->state) + break; + uint64_t remain = timeout - (now - start); + struct timespec ts; + ts.tv_sec = remain / 1000; + ts.tv_nsec = (remain % 1000) * 1000 * 1000; + pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); + now = current_time_ms(); + if (now - start > timeout) + break; + } + int res = ev->state; + pthread_mutex_unlock(&ev->mu); + return res; +} + +static void sandbox_common() +{ + struct rlimit rlim; + rlim.rlim_cur = rlim.rlim_max = 128 << 20; + setrlimit(RLIMIT_AS, &rlim); + rlim.rlim_cur = rlim.rlim_max = 8 << 20; + setrlimit(RLIMIT_MEMLOCK, &rlim); + rlim.rlim_cur = rlim.rlim_max = 1 << 20; + setrlimit(RLIMIT_FSIZE, &rlim); + rlim.rlim_cur = rlim.rlim_max = 1 << 20; + setrlimit(RLIMIT_STACK, &rlim); + rlim.rlim_cur = rlim.rlim_max = 0; + setrlimit(RLIMIT_CORE, &rlim); + rlim.rlim_cur = rlim.rlim_max = 256; + setrlimit(RLIMIT_NOFILE, &rlim); +} + +static void loop(); + +static int do_sandbox_none(void) +{ + sandbox_common(); + loop(); + return 0; +} + +struct thread_t { + int created, call; + event_t ready, done; +}; + +static struct thread_t threads[16]; +static void execute_call(int call); +static int running; + +static void* thr(void* arg) +{ + struct thread_t* th = (struct thread_t*)arg; + for (;;) { + event_wait(&th->ready); + event_reset(&th->ready); + execute_call(th->call); + __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); + event_set(&th->done); + } + return 0; +} + +static void execute_one(void) +{ + if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { + } + int i, call, thread; + for (call = 0; call < 12; call++) { + for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); + thread++) { + struct thread_t* th = &threads[thread]; + if (!th->created) { + th->created = 1; + event_init(&th->ready); + event_init(&th->done); + event_set(&th->done); + thread_start(thr, th); + } + if (!event_isset(&th->done)) + continue; + event_reset(&th->done); + th->call = call; + __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); + event_set(&th->ready); + event_timedwait(&th->done, 50); + break; + } + } + for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) + sleep_ms(1); +} + +static void execute_one(void); + +#define WAIT_FLAGS 0 + +static void loop(void) +{ + int iter = 0; + for (;; iter++) { + char cwdbuf[32]; + sprintf(cwdbuf, "./%d", iter); + if (mkdir(cwdbuf, 0777)) + exit(1); + int pid = fork(); + if (pid < 0) + exit(1); + if (pid == 0) { + if (chdir(cwdbuf)) + exit(1); + execute_one(); + exit(0); + } + int status = 0; + uint64_t start = current_time_ms(); + for (;;) { + sleep_ms(10); + if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) + break; + if (current_time_ms() - start < 5000) + continue; + kill_and_wait(pid, &status); + break; + } + remove_dir(cwdbuf); + } +} + +uint64_t r[5] = {0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, + 0xffffffffffffffff, 0xffffffffffffffff}; + +void execute_call(int call) +{ + intptr_t res = 0; + switch (call) { + case 0: + memcpy((void*)0x200000000000, "./file0\000", 8); + res = syscall(SYS_openat, /*fd=*/0xffffff9c, /*file=*/0x200000000000ul, + /*flags=O_VERIFY|O_CREAT|O_WRONLY*/ 0x200201ul, /*mode=*/0ul); + if (res != -1) + r[0] = res; + break; + case 1: + *(uint32_t*)0x200000000240 = r[0]; + *(uint64_t*)0x200000000248 = 0x80000001; + *(uint64_t*)0x200000000250 = 0x2000000004c0; + memcpy((void*)0x2000000004c0, "\x45\x09\xee\x8f\xcd", 5); + *(uint64_t*)0x200000000258 = 5; + *(uint32_t*)0x200000000260 = 3; + *(uint32_t*)0x200000000264 = 0; + *(uint64_t*)0x200000000268 = 0x200000000000000; + *(uint32_t*)0x200000000270 = 8; + *(uint32_t*)0x200000000274 = 0; + *(uint64_t*)0x200000000278 = 1; + *(uint64_t*)0x200000000280 = 7; + *(uint64_t*)0x200000000288 = 0; + *(uint32_t*)0x200000000290 = 0; + *(uint32_t*)0x200000000294 = 0x20000005; + *(uint32_t*)0x200000000298 = 0x2e5562f1; + *(uint16_t*)0x2000000002a0 = 0xc088; + syscall(SYS_aio_write, /*iocb=*/0x200000000240ul); + break; + case 2: + memcpy((void*)0x200000000480, "./file0\000", 8); + res = syscall(SYS_open, /*file=*/0x200000000480ul, + /*flags=O_VERIFY*/ 0x200000ul, + /*mode=S_IWOTH|S_IWGRP|S_IXUSR|S_IWUSR*/ 0xd2ul); + if (res != -1) + r[1] = res; + break; + case 3: + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x200000ul, + /*prot=PROT_WRITE|PROT_READ*/ 3ul, + /*flags=MAP_FIXED|MAP_PRIVATE*/ 0x12ul, /*fd=*/r[1], + /*offset=*/0ul); + break; + case 4: + memcpy((void*)0x200000000100, "./file0\000", 8); + res = syscall(SYS_open, /*file=*/0x200000000100ul, + /*flags=O_DIRECT*/ 0x10000ul, /*mode=*/0ul); + if (res != -1) + r[2] = res; + break; + case 5: + memcpy((void*)0x2000000016c0, "./file0\000", 8); + res = syscall(SYS_open, /*file=*/0x2000000016c0ul, /*flags=O_WRONLY*/ 1ul, + /*mode=*/0ul); + if (res != -1) + r[3] = res; + break; + case 6: + *(uint64_t*)0x200000000080 = 0x2000000006c0; + *(uint64_t*)0x200000000088 = 0x100000; + syscall(SYS_pwritev, /*fd=*/r[3], /*vec=*/0x200000000080ul, /*vlen=*/1ul, + /*off=*/0ul); + break; + case 7: + *(uint64_t*)0x200000001780 = 0x200000000180; + *(uint64_t*)0x200000001788 = 0x1b133353141e377d; + syscall(SYS_preadv, /*fd=*/r[2], /*vec=*/0x200000001780ul, + /*vlen=*/0x10000000000000d1ul, /*off=*/0ul); + break; + case 8: + memcpy((void*)0x200000000480, "./file0\000", 8); + res = syscall( + SYS_open, /*file=*/0x200000000480ul, + /*flags=O_NONBLOCK|O_CREAT|O_RDWR|0x80400000000000*/ 0x80400000000206ul, + /*mode=*/0ul); + if (res != -1) + r[4] = res; + break; + case 9: + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x200000ul, + /*prot=PROT_WRITE|PROT_READ*/ 3ul, + /*flags=MAP_FIXED|MAP_SHARED|0x20000*/ 0x20011ul, /*fd=*/r[4], + /*offset=*/0ul); + break; + case 10: + syscall(SYS_setsockopt, /*fd=*/(intptr_t)-1, /*level=*/6, + /*optname=TCP_LOGID*/ 0x24, /*optval=*/0ul, /*optlen=*/0ul); + break; + case 11: + syscall(SYS_setsockopt, /*fd=*/(intptr_t)-1, /*level=*/6, + /*optname=TCP_LOGID*/ 0x24, /*optval=*/0ul, /*optlen=*/0ul); + break; + } +} +int main(void) +{ + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, + /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, + /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x1012ul, + /*fd=*/(intptr_t)-1, /*offset=*/0ul); + const char* reason; + (void)reason; + use_temporary_dir(); + do_sandbox_none(); + return 0; +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c -lpthread || exit 1 + +cd /tmp +timeout 3m /tmp/$prog > /dev/null 2>&1 + +rm -rf /tmp/$prog /tmp/$prog.c /tmp/$prog.core /tmp/$prog.?????? +exit 0 diff --git a/tools/test/stress2/misc/syzkaller75.sh b/tools/test/stress2/misc/syzkaller75.sh new file mode 100755 index 000000000000..05e1e56bc44d --- /dev/null +++ b/tools/test/stress2/misc/syzkaller75.sh @@ -0,0 +1,377 @@ +#!/bin/sh + +# panic: vm_pager_assert_in: page 0xfffffe001987bcc0 is mapped +# cpuid = 10 +# time = 1745335200 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0108807700 +# vpanic() at vpanic+0x136/frame 0xfffffe0108807830 +# panic() at panic+0x43/frame 0xfffffe0108807890 +# vm_pager_assert_in() at vm_pager_assert_in+0x1fa/frame 0xfffffe01088078d0 +# vm_pager_get_pages() at vm_pager_get_pages+0x3d/frame 0xfffffe0108807920 +# vm_fault_getpages() at vm_fault_getpages+0x22b/frame 0xfffffe0108807980 +# vm_fault_object() at vm_fault_object+0x2ab/frame 0xfffffe01088079e0 +# vm_fault() at vm_fault+0x2d1/frame 0xfffffe0108807b40 +# vm_map_wire_locked() at vm_map_wire_locked+0x385/frame 0xfffffe0108807bf0 +# vm_mmap_object() at vm_mmap_object+0x2fd/frame 0xfffffe0108807c50 +# vn_mmap() at vn_mmap+0x152/frame 0xfffffe0108807ce0 +# kern_mmap() at kern_mmap+0x621/frame 0xfffffe0108807dc0 +# sys_mmap() at sys_mmap+0x42/frame 0xfffffe0108807e00 +# amd64_syscall() at amd64_syscall+0x15a/frame 0xfffffe0108807f30 +# fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe0108807f30 +# --- syscall (0, FreeBSD ELF64, syscall), rip = 0x82438d7fa, rsp = 0x824847f68, rbp = 0x824847f90 --- +# KDB: enter: panic +# [ thread pid 43067 tid 146060 ] +# Stopped at kdb_enter+0x33: movq $0,0x124d7e2(%rip) +# db> x/s version +# version: FreeBSD 15.0-CURRENT #2 main-n276647-a098111a28ed-dirty: Tue Apr 22 16:37:39 CEST 2025 +# pho@mercat1.netperf.freebsd.org:/usr/src/sys/amd64/compile/PHO +# db> + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg +set -u +prog=$(basename "$0" .sh) +cat > /tmp/$prog.c < + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static void kill_and_wait(int pid, int* status) +{ + kill(pid, SIGKILL); + while (waitpid(-1, status, 0) != pid) { + } +} + +static void sleep_ms(uint64_t ms) +{ + usleep(ms * 1000); +} + +static uint64_t current_time_ms(void) +{ + struct timespec ts; + if (clock_gettime(CLOCK_MONOTONIC, &ts)) + exit(1); + return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; +} + +static void thread_start(void* (*fn)(void*), void* arg) +{ + pthread_t th; + pthread_attr_t attr; + pthread_attr_init(&attr); + pthread_attr_setstacksize(&attr, 128 << 10); + int i = 0; + for (; i < 100; i++) { + if (pthread_create(&th, &attr, fn, arg) == 0) { + pthread_attr_destroy(&attr); + return; + } + if (errno == EAGAIN) { + usleep(50); + continue; + } + break; + } + exit(1); +} + +typedef struct { + pthread_mutex_t mu; + pthread_cond_t cv; + int state; +} event_t; + +static void event_init(event_t* ev) +{ + if (pthread_mutex_init(&ev->mu, 0)) + exit(1); + if (pthread_cond_init(&ev->cv, 0)) + exit(1); + ev->state = 0; +} + +static void event_reset(event_t* ev) +{ + ev->state = 0; +} + +static void event_set(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + if (ev->state) + exit(1); + ev->state = 1; + pthread_mutex_unlock(&ev->mu); + pthread_cond_broadcast(&ev->cv); +} + +static void event_wait(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + while (!ev->state) + pthread_cond_wait(&ev->cv, &ev->mu); + pthread_mutex_unlock(&ev->mu); +} + +static int event_isset(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + int res = ev->state; + pthread_mutex_unlock(&ev->mu); + return res; +} + +static int event_timedwait(event_t* ev, uint64_t timeout) +{ + uint64_t start = current_time_ms(); + uint64_t now = start; + pthread_mutex_lock(&ev->mu); + for (;;) { + if (ev->state) + break; + uint64_t remain = timeout - (now - start); + struct timespec ts; + ts.tv_sec = remain / 1000; + ts.tv_nsec = (remain % 1000) * 1000 * 1000; + pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); + now = current_time_ms(); + if (now - start > timeout) + break; + } + int res = ev->state; + pthread_mutex_unlock(&ev->mu); + return res; +} + +struct thread_t { + int created, call; + event_t ready, done; +}; + +static struct thread_t threads[16]; +static void execute_call(int call); +static int running; + +static void* thr(void* arg) +{ + struct thread_t* th = (struct thread_t*)arg; + for (;;) { + event_wait(&th->ready); + event_reset(&th->ready); + execute_call(th->call); + __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); + event_set(&th->done); + } + return 0; +} + +static void execute_one(void) +{ + if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { + } + int i, call, thread; + for (call = 0; call < 11; call++) { + for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); + thread++) { + struct thread_t* th = &threads[thread]; + if (!th->created) { + th->created = 1; + event_init(&th->ready); + event_init(&th->done); + event_set(&th->done); + thread_start(thr, th); + } + if (!event_isset(&th->done)) + continue; + event_reset(&th->done); + th->call = call; + __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); + event_set(&th->ready); + event_timedwait(&th->done, 50); + break; + } + } + for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) + sleep_ms(1); +} + +static void execute_one(void); + +#define WAIT_FLAGS 0 + +static void loop(void) +{ +// int iter = 0; + for (;; /*iter++*/) { + int pid = fork(); + if (pid < 0) + exit(1); + if (pid == 0) { + execute_one(); + exit(0); + } + int status = 0; + uint64_t start = current_time_ms(); + for (;;) { + sleep_ms(10); + if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) + break; + if (current_time_ms() - start < 5000) + continue; + kill_and_wait(pid, &status); + break; + } + } +} + +uint64_t r[4] = {0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, + 0xffffffffffffffff}; + +void execute_call(int call) +{ + intptr_t res = 0; + switch (call) { + case 0: + memcpy((void*)0x200000000200, "./file0\000", 8); + res = syscall(SYS_openat, /*fd=*/0xffffff9c, /*file=*/0x200000000200ul, + /*flags=O_VERIFY|O_CREAT|O_CLOEXEC|O_WRONLY*/ 0x300201ul, + /*mode=S_IWGRP|S_IXUSR|S_IWUSR*/ 0xd0ul); + if (res != -1) + r[0] = res; + break; + case 1: + *(uint32_t*)0x200000000240 = r[0]; + *(uint64_t*)0x200000000248 = 0x80000002; + *(uint64_t*)0x200000000250 = 0x200000000080; + memcpy((void*)0x200000000080, "\x1f\x9a\xc4", 3); + *(uint64_t*)0x200000000258 = 3; + *(uint32_t*)0x200000000260 = 0; + *(uint32_t*)0x200000000264 = 0; + *(uint64_t*)0x200000000268 = 0; + *(uint32_t*)0x200000000270 = 0; + *(uint32_t*)0x200000000274 = 0; + *(uint64_t*)0x200000000278 = 0; + *(uint64_t*)0x200000000280 = 7; + *(uint64_t*)0x200000000288 = 0; + *(uint32_t*)0x200000000290 = 0; + *(uint32_t*)0x200000000294 = 0; + *(uint64_t*)0x200000000298 = 0; + *(uint64_t*)0x2000000002a0 = 0; + *(uint64_t*)0x2000000002a8 = 0; + syscall(SYS_aio_write, /*iocb=*/0x200000000240ul); + break; + case 2: + syscall(SYS_mlockall, /*flags=MCL_FUTURE*/ 2ul); + break; + case 3: + memcpy((void*)0x200000000100, "./file0\000", 8); + res = syscall(SYS_open, /*file=*/0x200000000100ul, + /*flags=O_DIRECT*/ 0x10000ul, /*mode=*/0ul); + if (res != -1) + r[1] = res; + break; + case 4: + *(uint64_t*)0x200000001780 = 0x200000000180; + *(uint64_t*)0x200000001788 = 0x1b133353141e377d; + syscall(SYS_preadv, /*fd=*/r[1], /*vec=*/0x200000001780ul, + /*vlen=*/0x10000000000000d1ul, /*off=*/0ul); + break; + case 5: + memcpy((void*)0x200000000040, "./file0\000", 8); + syscall( + SYS_open, /*file=*/0x200000000040ul, + /*flags=O_TRUNC|O_NONBLOCK|O_NOFOLLOW|O_CREAT|O_APPEND|0x2*/ 0x70eul, + /*mode=*/0ul); + break; + case 6: + memcpy((void*)0x200000000480, "./file0\000", 8); + res = syscall( + SYS_open, /*file=*/0x200000000480ul, + /*flags=O_NONBLOCK|O_CREAT|O_RDWR|0x80400000000000*/ 0x80400000000206ul, + /*mode=*/0ul); + if (res != -1) + r[2] = res; + break; + case 7: + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x200000ul, + /*prot=PROT_WRITE|PROT_READ*/ 3ul, + /*flags=MAP_FIXED|MAP_SHARED|0x20000*/ 0x20011ul, /*fd=*/r[2], + /*offset=*/0ul); + break; + case 8: + memcpy((void*)0x200000000040, "./file0\000", 8); + syscall(SYS_truncate, /*file=*/0x200000000040ul, /*len=*/0xaa480ul); + break; + case 9: + memcpy((void*)0x200000000480, "./file0\000", 8); + res = syscall(SYS_open, /*file=*/0x200000000480ul, /*flags=*/0ul, + /*mode=*/0ul); + if (res != -1) + r[3] = res; + break; + case 10: + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x200000ul, + /*prot=PROT_WRITE|PROT_READ*/ 3ul, + /*flags=MAP_FIXED|MAP_PRIVATE*/ 0x12ul, /*fd=*/r[3], + /*offset=*/0ul); + break; + } +} +int main(void) +{ + syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, + /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, + /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x1012ul, + /*fd=*/(intptr_t)-1, /*offset=*/0ul); + const char* reason; + (void)reason; + loop(); + return 0; +} +EOF +mycc -o /tmp/$prog -Wall -Wextra -O0 /tmp/$prog.c -lpthread || exit 1 + +(cd ../testcases/swap; ./swap -t 3m -i 30 -l 100 > /dev/null 2>&1) & +sleep 5 + +work=/tmp/$prog.dir +rm -rf $work +mkdir $work +cd /tmp/$prog.dir +for i in `jot 30`; do + ( + mkdir d$i + cd d$i + timeout 3m /tmp/$prog > /dev/null 2>&1 & + ) +done +while pgrep -q $prog; do sleep 2; done +while pkill swap; do :; done +wait + +rm -rf /tmp/$prog /tmp/$prog.c /tmp/$prog.core /tmp/$prog.?????? $work +exit 0 From nobody Fri Apr 25 11:48:33 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkWM64YXyz5tSb6; Fri, 25 Apr 2025 11:48:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZkWM56YjPz45qW; Fri, 25 Apr 2025 11:48:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745581713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RD4/mTo//FZ0kgWGe+lQcmW7ZK65pUcmkZqgJIlqDNQ=; b=BJEr4ziObWcCWlfVWNw/ACdQbeo0iGAtrDmrmGMoO6O6MWEW2hJeUfp2639l6h51sx3Srh hqrzdiT3OTQQ1JfV1gDU8tHyNoGLJQIX5zSSLJerfKLCwwWj4K+5pdmKFH5eTeDDIXSTZg YeXbVJs5wBU6hY+4gkg7tobFzWgMz5BSwvoba908Mg2SD38dwEKmRj5qRRZPpDk/H7Dg7K r5gQfPFPp23SRs+R1fRO2k/7JaX1CMACTQ5fXQOWow25Y8gLg49RSUDZJKxRDxcJ5rsTt/ QVwwoodqkTPeM1iyJm18hzLwkC4hnJRfZlTc8FVBiLmt10z3LQ4DU2KftneT5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745581713; a=rsa-sha256; cv=none; b=K/AtGF4YRsYwLNIeBUKTDiH6vZRFcacw84Mq2msEtq2i95vi7fqrT/5AxZlvS52QKzcs2k 15JU6nzQCP7NGd7icoI7CiNX2wYWohqgzqDSrl8yokwxwn3pt+Nke09uM2QBCwfGDD/l6e wVlZF1zcctxp3+EWInBjcrnKeZzh/73QFwFk8k0sEs2o1Q8jN295gL7T4IIyjnZzYB/qlF 9rSUnY3RTaiRRFhhIS3bUcVzdFvNHLzuNbe5xlN1j8KltJLfZZ/Jhcsac24dqX+UxaEcxv ZpSNycVlfHTW5D4lNYwbtab5PrVv9P2diDro5e498Q7GajfFc8b7FLKDd6pWLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745581713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RD4/mTo//FZ0kgWGe+lQcmW7ZK65pUcmkZqgJIlqDNQ=; b=k6Q/eiBiVwBpe5SVrOH1GiUZ8qiomhko01aMJsHCP+R6bMF2ztKr8mnmvVuFNNpWK6vO1H et/52CCf34JweVqNK4UTlNSMCJikxT0q0QDDxM9Cq3qKAavvnDBK7o9LRXR9uvtYtgZj/B MN0adkJicftwN04i2hs/+8o6+pCBbx29cl4qBCVugnUMGO+VSwIMwQ8CkeWmA5sjcA7/Ui NRV5pAa4OT/Q12oBVZpiWAwfgvbA68J+/etS+1Xs6twecfni855MMaaJaufySpTnAOPbd/ FAS+Xyx1nkj576Ot8hq7sWO7fi/JiOCuGFpI4Y95922CuF7EWeYMUqNz/Cwwgg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkWM55SXjzZjR; Fri, 25 Apr 2025 11:48: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 53PBmXl5053569; Fri, 25 Apr 2025 11:48:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PBmXbS053566; Fri, 25 Apr 2025 11:48:33 GMT (envelope-from git) Date: Fri, 25 Apr 2025 11:48:33 GMT Message-Id: <202504251148.53PBmXbS053566@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 846229d60b4f - main - libthr: add __thr_aligned_alloc_offset() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 846229d60b4fd6def666ce32cfc475ed96aabaf3 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=846229d60b4fd6def666ce32cfc475ed96aabaf3 commit 846229d60b4fd6def666ce32cfc475ed96aabaf3 Author: Konstantin Belousov AuthorDate: 2025-04-24 21:23:06 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-25 11:48:09 +0000 libthr: add __thr_aligned_alloc_offset() Sponsored by: The FreeBSD Foundation MFC after: 1 week --- lib/libthr/thread/thr_malloc.c | 13 +++++++++++++ lib/libthr/thread/thr_private.h | 1 + 2 files changed, 14 insertions(+) diff --git a/lib/libthr/thread/thr_malloc.c b/lib/libthr/thread/thr_malloc.c index 9a81d6d1bd6b..48af9d1ea929 100644 --- a/lib/libthr/thread/thr_malloc.c +++ b/lib/libthr/thread/thr_malloc.c @@ -119,6 +119,19 @@ __thr_malloc(size_t nbytes) return (res); } +void * +__thr_aligned_alloc_offset(size_t align, size_t size, size_t offset) +{ + struct pthread *curthread; + void *res; + + curthread = _get_curthread(); + thr_malloc_lock(curthread); + res = __crt_aligned_alloc_offset(align, size, offset); + thr_malloc_unlock(curthread); + return (res); +} + void * __thr_realloc(void *cp, size_t nbytes) { diff --git a/lib/libthr/thread/thr_private.h b/lib/libthr/thread/thr_private.h index 926e868293cd..dc5be08a0760 100644 --- a/lib/libthr/thread/thr_private.h +++ b/lib/libthr/thread/thr_private.h @@ -1014,6 +1014,7 @@ void __thr_pshared_destroy(void *key) __hidden; void __thr_pshared_atfork_pre(void) __hidden; void __thr_pshared_atfork_post(void) __hidden; +void *__thr_aligned_alloc_offset(size_t align, size_t size, size_t offset); void *__thr_calloc(size_t num, size_t size); void __thr_free(void *cp); void *__thr_malloc(size_t nbytes); From nobody Fri Apr 25 14:12:12 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkZXs3H6Cz5tbvN; Fri, 25 Apr 2025 14:12: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 4ZkZXr6bZCz41ch; Fri, 25 Apr 2025 14:12:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745590332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gld2jK++cVJch2MMXItA8uTZO0ON2LTsSopAseARyI0=; b=RQNvdEVS3Jut5APnKk/sppW8gqtLVS/xbPxwtuhQBSVGQ/efGlSml4tgwg/tG0Yo5b8uzP PrymdgyR+ykQHb3whC+zfNumkXpsqcKmyNoGZWXD9mE/i12kRLPABAvIt1rr/G8Vtoo9ji CXExA/e838ZdZfkZu2adTyNTWJ+W97J2b9F7zC6iBqgOyPzBi+pfOPX+xVcgd9MYdEVPuK k9tSYQfI/UZ6CO29p1U9o5aV9v44IJtqLW8pVUOQTdV3tLIrqqiK2ceSBL9eh+tSuCvcNF Wgj5+s/XZS0daHZnQv3fycyCAKct8lc5rqLTcu7EelT2JGxNvBjANSYVg3RJ/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745590332; a=rsa-sha256; cv=none; b=rxAl3ADNnPF1W7zBqnd2MBdhf0XuGeZeZyMCIbyDpj206GWM7Bz4cyjLW9Bf8vkC6IUqRU pHJ9jgROmlg9zah16ScLPUZ9qAxA6E4/75kboouIkgiYdVdIme3/ca7mjLQkXr62P7WEEg k9Lh8Wz8Uahm6XmDZcxGdfIq/HQ+xnOf+UxWuRr8b85wXVO2AytaLfMk9drQ+Ic7JEc5hQ g7c0OAZZOGv29jFVv+OSvnioWkuDdZCQ71XniR6T3MqAH99NgzxU+OAT5c4S+P4viQCPvf V5yNLp2r+YuO6UHFORRx4fm1zYC7d9MU5NNaekoxb7MHHnDf4MWZfJW5jlO0OQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745590332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gld2jK++cVJch2MMXItA8uTZO0ON2LTsSopAseARyI0=; b=fGl0dkQXPDMPx1di+xzXPw+ymHTFn/XtatevK8FDrkeYVIa6ZGyn5CzLna4S3FJWvVYMVU 2+kJ3bxjzpdvVZbjO0NebV6cqXRDxAy+ztKIARzRAUZsChq7OMcZ6Oq/wDM5v2vZUjGfqt wy4IVTK+8lQCJIYh519l31fSnPxPm6x4zKekLfXO/FcebQfok2YJH8D+HtQKrNKcIgkXeT TaF2XIaHede3jbKdEUpvyUJCqAZeflrm2RsjRSJ9QMAy4ze75UgsPOmuYZ8+bDgyRhylJc eckzQyZ5a3DqfbEM/mEQyitp3YGcQ1Rz7n8zC6GIuvagq+jEUY/OIgeI5R10ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkZXr5wYDzf4m; Fri, 25 Apr 2025 14:12: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 53PECCwn032016; Fri, 25 Apr 2025 14:12:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PECCQS032002; Fri, 25 Apr 2025 14:12:12 GMT (envelope-from git) Date: Fri, 25 Apr 2025 14:12:12 GMT Message-Id: <202504251412.53PECCQS032002@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ed Maste Subject: git: 92e9301e56bd - main - release: install pkg to install media List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 92e9301e56bdd32dedd461c66745b5d453390cf2 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=92e9301e56bdd32dedd461c66745b5d453390cf2 commit 92e9301e56bdd32dedd461c66745b5d453390cf2 Author: Isaac Freund AuthorDate: 2025-04-23 07:18:48 +0000 Commit: Ed Maste CommitDate: 2025-04-25 14:11:50 +0000 release: install pkg to install media This is the most straightforward way to make installation of base system packages from install media possible. Bootstrapping pkg at install time does not work since the root filesystem of install media is immutable. Reviewed by: bz, cperciva, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49968 --- release/Makefile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/release/Makefile b/release/Makefile index d908059d781b..65a39d500f0b 100644 --- a/release/Makefile +++ b/release/Makefile @@ -193,6 +193,7 @@ disc1: packagesystem .endif .if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG)) # Install packages onto release media. + ${PKG_INSTALL} pkg || true ${PKG_INSTALL} wifi-firmware-kmod-release || true ${PKG_CLEAN} || true .endif @@ -231,6 +232,11 @@ bootonly: packagesystem cp MANIFEST ${.TARGET}/usr/freebsd-dist echo "./usr/freebsd-dist type=dir uname=root gname=wheel mode=0755" >> ${.TARGET}/METALOG echo "./usr/freebsd-dist/MANIFEST type=file uname=root gname=wheel mode=0644" >> ${.TARGET}/METALOG +.if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG)) +# Install packages onto release media. + ${PKG_INSTALL} pkg || true + ${PKG_CLEAN} || true +.endif # Set up installation environment ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf echo sendmail_enable=\"NONE\" > ${.TARGET}/etc/rc.conf @@ -266,6 +272,7 @@ dvd: packagesystem .endif .if ${.MAKE.OS} == "FreeBSD" && (!defined(NOPKG) || empty(NOPKG)) # Install packages onto release media. + ${PKG_INSTALL} pkg || true ${PKG_INSTALL} wifi-firmware-kmod-release || true ${PKG_CLEAN} || true .endif From nobody Fri Apr 25 15:58:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkcvH51jKz5tjhp; Fri, 25 Apr 2025 15:58: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 4ZkcvH4N0Wz3x1q; Fri, 25 Apr 2025 15:58:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745596699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e6BJgVj5ezIu8kKsTlMRdusSfZHujaufevBAhHVSWNA=; b=fSOGPHlx/Uji/4qMIhuQxkV+LPf0uc+cFTTR8LMG+6wqkgzB2KKsj3Bf/7eVBhlYE7wjuR 7M+JqG1ofo8PcdykwyME+DS+Ho1XsDj0hFo35w+nJ354+nIxE/bc8r5HDOtkF4KXf0hk3l aD6TN2ejdKk8awcfxbcypGPytW6CXpS6LcwDjivRFEZ05kZVMoU5qkfmJ/VX4WLhUHuthe R4TIliKuGLbaXqGwzDRXC1mzkr9wEg/oBTW2aZyaewLG7hKg3k6vgOKy/5Iko213jTEEZs OK56KawpdJxGrL9i9WK9FXPwLaGZQzdbCo6lM+aHwduo/KiLrFU7dYIj6uWQKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745596699; a=rsa-sha256; cv=none; b=TmJhuMjDFTBaE5/yfSF7S6aMs6P+5kEwEjTjgdJ7Z4jq0Eo+hKwMmLa38iVAKP2ki9pmSF ZQDSyuN5SaRMB2mPofMA/NC1Db3C2yxdNoGJsEsazIkzJBiAQ2nZKXq+cqOewUZmko8Zz0 DBLwWlxnWX2L3xXhzJcxOriNfqsBSS4l2qSpe+y4AagueJWF+66vQ4TY4K9l5cv4DzOvIv GpF65+uTa0j6AY9pd7j3+I+WcR52g16geyA2wglLXJa8u9b/dynucEKh3C00jm0QCQpUr4 cxoQ+ccnL1T4mNOrMOOWUjVMUmJzgsJZLW2Bi0+gHxNDZWkmA6Q8H7W0/9MSTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745596699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e6BJgVj5ezIu8kKsTlMRdusSfZHujaufevBAhHVSWNA=; b=yg43OjRJ+SZEkrhbvBpSX3jpucrvshHQHDGd9fHwGbjEvkHW5xl/fQw/QA0Oo0ZosH34Ik jwd8EKCpU3cCXEI7a8Rw63pLAzWXkuYIWUg+XbMHp0o2zCLvh6upjzSufDY16OnsRRowKa YmYwI/o9ikJvZ/5Q/yHxn3z2U+Dx0i8IuQlxrnaU0BH19uyY+RDOji0UFKsr/Xgsm649AA aP/U8i9icsCV0Jah9jAVtkHRk2klKxm6VrNK0SEAwrDplqCDZXA1AAgsNjZhXQfkhvIlbm otB34L07nvBAkN6i2z3r+z/xvbDWa1fiBevjMJsRF3J8WFkzmSsakt2PDUYKjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkcvH3yHHzhZn; Fri, 25 Apr 2025 15:58: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 53PFwJ8B022637; Fri, 25 Apr 2025 15:58:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PFwJeG022634; Fri, 25 Apr 2025 15:58:19 GMT (envelope-from git) Date: Fri, 25 Apr 2025 15:58:19 GMT Message-Id: <202504251558.53PFwJeG022634@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 5fa183f02845 - main - mountd: use free_iovec for build_iovec cleanup List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5fa183f02845f2f74a95efba395d0839a380fa66 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=5fa183f02845f2f74a95efba395d0839a380fa66 commit 5fa183f02845f2f74a95efba395d0839a380fa66 Author: Brooks Davis AuthorDate: 2025-04-25 15:56:20 +0000 Commit: Brooks Davis CommitDate: 2025-04-25 15:57:24 +0000 mountd: use free_iovec for build_iovec cleanup Remove the handrolled cleanups and use free_iovec instead. No functional change intended. Logically, the change does remove one dead store to iovlen in get_exportlist(). Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D49953 --- usr.sbin/mountd/mountd.c | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 3c4e5e742c93..2969edd8aed5 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -2099,19 +2099,7 @@ get_exportlist(int passno) syslog(LOG_ERR, "NFSv4 requires at least one V4: line"); } - if (iov != NULL) { - /* Free strings allocated by strdup() in getmntopts.c */ - free(iov[0].iov_base); /* fstype */ - free(iov[2].iov_base); /* fspath */ - free(iov[4].iov_base); /* from */ - free(iov[6].iov_base); /* update */ - free(iov[8].iov_base); /* export */ - free(iov[10].iov_base); /* errmsg */ - - /* free iov, allocated by realloc() */ - free(iov); - iovlen = 0; - } + free_iovec(&iov, &iovlen); /* * If there was no public fh, clear any previous one set. @@ -3409,18 +3397,7 @@ skip: if (cp) *cp = savedc; error_exit: - /* free strings allocated by strdup() in getmntopts.c */ - if (iov != NULL) { - free(iov[0].iov_base); /* fstype */ - free(iov[2].iov_base); /* fspath */ - free(iov[4].iov_base); /* from */ - free(iov[6].iov_base); /* update */ - free(iov[8].iov_base); /* export */ - free(iov[10].iov_base); /* errmsg */ - - /* free iov, allocated by realloc() */ - free(iov); - } + free_iovec(&iov, &iovlen); return (ret); } From nobody Fri Apr 25 16:56:37 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkfBZ0J20z5tmnc; Fri, 25 Apr 2025 16:56: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 4ZkfBY6QdFz3Srd; Fri, 25 Apr 2025 16:56:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/nS1K1L5wKCrfRYiMKF9djXRZ8+MpOYEz6O/zVEWCU4=; b=s7gaS1R9j/L0u5tWEpmvfclGFixbVW6t0k4lIDUg9nfGQkHoOddUFaMwvgJuCCPo7TAy1p 9NqxtezDeLlaWwY/AQGAXRjzts5vjQUsXjBGNaZCloaW+uRKQrzlaMhSaQ58nA8q43tMjH BpGfYxT+5BQWcwQnfz+Q6BMC3P5Fv7nozEtkvzabsgMZcLoUbwycj3CCpDuiZwLxN9PtOX /M+KcJn/94qun+9y27Q35W9enPNRAb3YCMUOVhkyYvqAtb4kHeqKKegoJj15h0ESwmu9XQ l3km+bk4L4Xoi4Hv6p9GJxUI8sFisivRiAci02/1qJA1rivsBfvS/5JSHJMnJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745600197; a=rsa-sha256; cv=none; b=uwg2tLx6cYrBr3u/YnRGB+vkfTS96u8RKrybrPT84LOCT822UsGGqOqHfJXDk4pzCqjyXn qjXKgL7ClWPaIph2eKgY7b6G16b14BVgOP1gKbr6KPDaFvqwly+Si/ch1qx25FO3daVeAz Potb2P1CNsOkIUTSeUAwznfklghpY050+tWGkzC5w7xnK74qjCWU3OwtO2S7todO9HScZ2 wrFiEk2We9NeXqpnGHcvdEU4/F4563w4b2Ph/p6BliMk5jjowCSFXycXOVy+Gfho0xHlTz OOjUr961CKphr4VYJ5/6CUC7ZCJxjFVsweVs8NtttvyUme1lBTcorW3stUfbfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/nS1K1L5wKCrfRYiMKF9djXRZ8+MpOYEz6O/zVEWCU4=; b=aFRfeUPU05s2rq5v+XzwhbiDK4tt8iRlDMrj71bPovXmzgoFhLr/+oX1atI+PNdGyrgNdy ZDdeiM7yeusNUP5ZUIqkZusiv20cAEJe8jnKaQV+p4nMGRSZTs+9gqxgzGMl9cfZmUqAWY Js2iSYE9dXc+Cpq/XnzrRVVry6kkpn3thfmYFBnp6mOkMKPQM4WYZ7vsdaCR6AyeWpc7m6 xmyGvMHtXU3sMmL7mgO8TmGMscpCmASJ/gr4it+ryHpbyF+6yNAitg3mc+zDFS5AJhHLnR BzG8ClTIo4nG41dIgXtLnEqEKhLey9VkV12gefskuCSozHls1YeEtrCymvdlCw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkfBY5rkXzkNl; Fri, 25 Apr 2025 16:56: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 53PGubM2034639; Fri, 25 Apr 2025 16:56:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PGubA4034636; Fri, 25 Apr 2025 16:56:37 GMT (envelope-from git) Date: Fri, 25 Apr 2025 16:56:37 GMT Message-Id: <202504251656.53PGubA4034636@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 0c0bb4c1401c - main - sound: Make sndstat PVCHAN and RVCHAN nvlist parameters bool List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0c0bb4c1401c9696fbb8d0b1fe88990db0e706c8 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=0c0bb4c1401c9696fbb8d0b1fe88990db0e706c8 commit 0c0bb4c1401c9696fbb8d0b1fe88990db0e706c8 Author: Christos Margiolis AuthorDate: 2025-04-25 16:55:16 +0000 Commit: Christos Margiolis CommitDate: 2025-04-25 16:55:16 +0000 sound: Make sndstat PVCHAN and RVCHAN nvlist parameters bool Prior to 02d4eeabfd73 ("sound: Allocate vchans on-demand"), the play.vchans and rec.vchans sysctls corresponded to the value of d->pvchancount and d->rvchancount respectively, which is also what we are exporting through SNDST_DSPS_SOUND4_PVCHAN and SNDST_DSPS_SOUND4_RVCHAN respectively. Since that commit, the sysctls mentioned have been modified to show whether play/rec vchans are enabled or not. Modify the sndstat nvlist parameters accordingly. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49980 --- share/man/man4/sndstat.4 | 8 ++++---- sys/dev/sound/pcm/sndstat.c | 6 ++++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/share/man/man4/sndstat.4 b/share/man/man4/sndstat.4 index 44c3f3152610..8da705502920 100644 --- a/share/man/man4/sndstat.4 +++ b/share/man/man4/sndstat.4 @@ -76,10 +76,10 @@ dsps (NVLIST ARRAY): 1 unit (NUMBER): 0 status (STRING): on hdaa0 bitperfect (BOOL): FALSE - pvchan (NUMBER): 1 + pvchan (BOOL): TRUE pvchanrate (NUMBER): 48000 pvchanformat (NUMBER): 0x00000010 - rvchan (NUMBER): 0 + rvchan (BOOL): TRUE rvchanrate (NUMBER): 48000 rvchanformat (NUMBER): 0x00000010 channel_info (NVLIST_ARRAY): 1 @@ -181,13 +181,13 @@ Usually reports the driver the device is attached on. .It Dv bitperfect Whether the sound card has bit-perfect mode enabled. .It Dv pvchan -Number of playback virtual channels. +Playback virtual channels enabled. .It Dv pvchanrate Playback virtual channel sample rate. .It Dv pvchanformat Playback virtual channel format. .It Dv rvchan -Number of recording virtual channels. +Recording virtual channels enabled. .It Dv rvchanrate Recording virtual channel sample rate. .It Dv rvchanformat diff --git a/sys/dev/sound/pcm/sndstat.c b/sys/dev/sound/pcm/sndstat.c index 33cde235e070..cafd9aff4bdc 100644 --- a/sys/dev/sound/pcm/sndstat.c +++ b/sys/dev/sound/pcm/sndstat.c @@ -440,12 +440,14 @@ sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip) nvlist_add_string(sound4di, SNDST_DSPS_SOUND4_STATUS, d->status); nvlist_add_bool( sound4di, SNDST_DSPS_SOUND4_BITPERFECT, d->flags & SD_F_BITPERFECT); - nvlist_add_number(sound4di, SNDST_DSPS_SOUND4_PVCHAN, d->pvchancount); + nvlist_add_bool(sound4di, SNDST_DSPS_SOUND4_PVCHAN, + d->flags & SD_F_PVCHANS); nvlist_add_number(sound4di, SNDST_DSPS_SOUND4_PVCHANRATE, d->pvchanrate); nvlist_add_number(sound4di, SNDST_DSPS_SOUND4_PVCHANFORMAT, d->pvchanformat); - nvlist_add_number(sound4di, SNDST_DSPS_SOUND4_RVCHAN, d->rvchancount); + nvlist_add_bool(sound4di, SNDST_DSPS_SOUND4_RVCHAN, + d->flags & SD_F_RVCHANS); nvlist_add_number(sound4di, SNDST_DSPS_SOUND4_RVCHANRATE, d->rvchanrate); nvlist_add_number(sound4di, SNDST_DSPS_SOUND4_RVCHANFORMAT, From nobody Fri Apr 25 16:56:38 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkfBb2h1Bz5tmlP; Fri, 25 Apr 2025 16:56: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 4ZkfBb085gz3T7T; Fri, 25 Apr 2025 16:56:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S5E0lbBk+KFyABIYtkb9BpxnKJuoWfJbhmC3ML7sWnA=; b=xzYK5tJk4ghzTLIUu1RS3mwwDSHnxk2TG9bxi+DkhbDPa9LD4/rNUL3xYpfBLHYd/D2/CJ Ts07P5MKg2Ld7n+VOpikwM7tWKh9NdQ+rhpIWEBJTP0PkdILXO6gbbfCaefgsRS2vO4I/T Uvq9oPQ6Pb+sOJpIb7A8Bkl0IY88LDRe+zHNRRLG4rtDNt9DuzETBh6yhyCOxyEZ62wyOD CvodbG20bpEG6GrQ/S1Z5yvAP8syTbDkg/xWmIJWij+6q5Ug38I3NXJ0xQiEBBDcElvegV kVZX6VsuRwt0uUUw6lRSeVGaIT832cXgb8AN4dcjShVGU53NzCstx6Vbj05A2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745600199; a=rsa-sha256; cv=none; b=ZLj8ej51aqrIEQdX3LpB1CCWkZ8zSok0DD9XrJc59Nd+UGjRvNl5uWe4wSEcfCtVQxiiTU +cva6kG0M+hCcw3B0ZN4F5+h1Y0OifOEuZh1k4AFPqEQMQCYdiBAHb3PRkP59/Fp2DXKa+ nsi+cMk7IEr8qbDq/mXoN7ZP/KAb2FXsbDFnlo4rrPfMV5Fvs7bqggrjNt/CLchOiP+ntD 1P5QoB5MVWyPb2dFL4QQWyqzj990N9XB/SsbsSZxAW9FlUqVdaflf0OfhpddKN+FB74hH4 I8jUC22nCjoF+QmanBb8eWXXViAsE8YfFVW+38vymE2+mcxsydlQJxszNto6rQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S5E0lbBk+KFyABIYtkb9BpxnKJuoWfJbhmC3ML7sWnA=; b=fNxv7wE8hWN+PKZutmb8cw2SLelo55L/DEabMo6G6tIfq62Mbf/JqfNreMdgjOjyukIlD7 OGl4JgP9uwamnlBSD616w5pp4ZTxdalvcmz/uBefDq5NkzhdzkuqudzJ+jiFJNa3k5TxUr 8417WIoOatJB7DLhp5usUAAqwipfk+edny6jW+mklVm7GVZhdClaIQrtQM6+U3JEtfQR89 u12DPBlhEajbVxdjOdoC3r9ALSBpEd7tfdjaBhK0J4Dtn8nuULKWJ6Y2k1v/9w2/jNQxBn l0vcf2ZNAthK6Nu0nXjzBAni8K+qCEpfWy/DsiyicYFlAjM5GSCAzcDD2SZs8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkfBZ6g9XzkNm; Fri, 25 Apr 2025 16:56: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 53PGuc9h034673; Fri, 25 Apr 2025 16:56:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PGucLq034670; Fri, 25 Apr 2025 16:56:38 GMT (envelope-from git) Date: Fri, 25 Apr 2025 16:56:38 GMT Message-Id: <202504251656.53PGucLq034670@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 19ec522d6dc1 - main - sound: Export hardware and software buffer sample rate in sndstat nvlist List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 19ec522d6dc1d4616e07f5668339fc637856f547 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=19ec522d6dc1d4616e07f5668339fc637856f547 commit 19ec522d6dc1d4616e07f5668339fc637856f547 Author: Christos Margiolis AuthorDate: 2025-04-25 16:55:38 +0000 Commit: Christos Margiolis CommitDate: 2025-04-25 16:55:38 +0000 sound: Export hardware and software buffer sample rate in sndstat nvlist Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49983 --- share/man/man4/sndstat.4 | 6 ++++++ sys/dev/sound/pcm/sndstat.c | 4 ++++ sys/sys/sndstat.h | 2 ++ 3 files changed, 12 insertions(+) diff --git a/share/man/man4/sndstat.4 b/share/man/man4/sndstat.4 index 8da705502920..8dad58c7d804 100644 --- a/share/man/man4/sndstat.4 +++ b/share/man/man4/sndstat.4 @@ -98,12 +98,14 @@ dsps (NVLIST ARRAY): 1 left_volume (NUMBER): 45 right_volume (NUMBER): 45 hwbuf_fmt (NUMBER): 0x200010 + hwbuf_rate (NUMBER): 48000 hwbuf_size (NUMBER): 0 hwbuf_blksz (NUMBER): 0 hwbuf_blkcnt (NUMBER): 0 hwbuf_free (NUMBER): 0 hwbuf_ready (NUMBER): 0 swbuf_fmt (NUMBER): 0x201000 + swbuf_rate (NUMBER): 48000 swbuf_size (NUMBER): 16384 swbuf_blksz (NUMBER): 2048 swbuf_blkcnt (NUMBER): 8 @@ -226,6 +228,8 @@ Left volume. Right volume. .It Dv hwbuf_format Hardware buffer format. +.It Dv hwbuf_rate +Hardware buffer sample rate; .It Dv hwbuf_size Hardware buffer size. .It Dv hwbuf_blksz @@ -238,6 +242,8 @@ Free space in hardware buffer (in bytes). Number of bytes ready to be read/written from hardware buffer. .It Dv swbuf_format Software buffer format. +.It Dv swbuf_rate +Software buffer sample rate; .It Dv swbuf_size Software buffer size. .It Dv swbuf_blksz diff --git a/sys/dev/sound/pcm/sndstat.c b/sys/dev/sound/pcm/sndstat.c index cafd9aff4bdc..509a35c5a038 100644 --- a/sys/dev/sound/pcm/sndstat.c +++ b/sys/dev/sound/pcm/sndstat.c @@ -493,6 +493,8 @@ sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip) CHN_GETVOLUME(c, SND_VOL_C_PCM, SND_CHN_T_FR)); nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_FORMAT, sndbuf_getfmt(c->bufhard)); + nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_RATE, + sndbuf_getspd(c->bufhard)); nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_SIZE, sndbuf_getsize(c->bufhard)); nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_HWBUF_BLKSZ, @@ -505,6 +507,8 @@ sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip) sndbuf_getready(c->bufhard)); nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_FORMAT, sndbuf_getfmt(c->bufsoft)); + nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_RATE, + sndbuf_getspd(c->bufsoft)); nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_SIZE, sndbuf_getsize(c->bufsoft)); nvlist_add_number(cdi, SNDST_DSPS_SOUND4_CHAN_SWBUF_BLKSZ, diff --git a/sys/sys/sndstat.h b/sys/sys/sndstat.h index 6fd2e06ac483..a569f27f288f 100644 --- a/sys/sys/sndstat.h +++ b/sys/sys/sndstat.h @@ -94,12 +94,14 @@ struct sndstioc_nv_arg { #define SNDST_DSPS_SOUND4_CHAN_LEFTVOL "left_volume" #define SNDST_DSPS_SOUND4_CHAN_RIGHTVOL "right_volume" #define SNDST_DSPS_SOUND4_CHAN_HWBUF_FORMAT "hwbuf_format" +#define SNDST_DSPS_SOUND4_CHAN_HWBUF_RATE "hwbuf_rate" #define SNDST_DSPS_SOUND4_CHAN_HWBUF_SIZE "hwbuf_size" #define SNDST_DSPS_SOUND4_CHAN_HWBUF_BLKSZ "hwbuf_blksz" #define SNDST_DSPS_SOUND4_CHAN_HWBUF_BLKCNT "hwbuf_blkcnt" #define SNDST_DSPS_SOUND4_CHAN_HWBUF_FREE "hwbuf_free" #define SNDST_DSPS_SOUND4_CHAN_HWBUF_READY "hwbuf_ready" #define SNDST_DSPS_SOUND4_CHAN_SWBUF_FORMAT "swbuf_format" +#define SNDST_DSPS_SOUND4_CHAN_SWBUF_RATE "swbuf_rate" #define SNDST_DSPS_SOUND4_CHAN_SWBUF_SIZE "swbuf_size" #define SNDST_DSPS_SOUND4_CHAN_SWBUF_BLKSZ "swbuf_blksz" #define SNDST_DSPS_SOUND4_CHAN_SWBUF_BLKCNT "swbuf_blkcnt" From nobody Fri Apr 25 16:56:39 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkfBd024Gz5tmqt; Fri, 25 Apr 2025 16:56: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 4ZkfBc1xfTz3T2t; Fri, 25 Apr 2025 16:56:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tqz1CRElBNgHs77ludCIuSd37i5fspq6qZC+iYcZhxA=; b=yiFpdl7s2t+GHN02/fcYlbRpzVwk4a6gYlfxRkWtdc1hIemQCBjosbXUu9+kp9CNKo0cSQ ydofgjciaqViztiguMIShweDDqZvfbbQvR47tr0yBNwQFgSWrdftyqyk/LLI7SqrclKEtJ RRjviudfL1h/hFi70XgZWuMSH+lk1i/vqbnGXBcUsIXeo31mwvjwW2wtnAAr2hbNNxIMJj XE6vQs/cqLziCX8CnLG7v2XAcxpzFMACEeIkuYMxJ4Yw5wI+6JoMuT9R3Z0MBEnpuHX9w3 jFdfUTK6gUT3tXRkYz7p0WkBT1HcKyPThNQtpRUP7Fi+dGzPTHwM4kKBW0CYYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745600200; a=rsa-sha256; cv=none; b=UdpYi4gkJWcvGtMFmdwnuRTtogx2beopcKgfe6qxvnd7NaVQT2bb+tNY18LBKLphWndR56 3staFKp+hoPaX4G87Ok+07zpWWrAQWBCzzYgfKUeo3svKnD92yS+EcqT2DKnFfXbvI32hx 5gmmMWxm0gqgYATCUc05NL+/cFm1vDS4zDM4krtYDFdpn3umME6+Z5KIdKSnGLi1HvFriP bBxikB8Pir6ujXWfhg16H1GhBRwvfR3qfqynJRQfxqXgCqHVRDpkAv2fQkSDg6QdOzN3nr 21oOdEUEojSugVNhMITTNWDUG0Zuu14luh4O+JDiEXQwUfpZG0tbNfvFQOVAtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tqz1CRElBNgHs77ludCIuSd37i5fspq6qZC+iYcZhxA=; b=ex6Ug7BnroLfOy/m9dS3soekPxt4N/A9fL5p45G3DrWIIOH4Ok2ahFz9LBKpq7v0fmZTOD TIBQDoA54F0RP4LAUgdIKyvcCx1PpDsQwlttZZgbE/zXxjVkySJeAit4f2fZX3sFDD/XCx 0K9rmfA9G5D/tB5NoHU/IR20raGQa/Zl+sJ44gXHoUnrpxa6sxSRXNTNf9KV62udaaqq5c FfjSeR+KlNzXWdGQZSbtun93CT69gtFjeoKh72nbAl/mRWTvDY3LJWdzjEz/DP/ohKvdY3 XNhWgbfXCr8VZwQA0JnTbOF1jG3Oyp6adpmHhXwhLa8BKSVpPPFNr3FpWJ9x/A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkfBc0X1BzjxZ; Fri, 25 Apr 2025 16:56: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 53PGudIP034718; Fri, 25 Apr 2025 16:56:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PGudwZ034715; Fri, 25 Apr 2025 16:56:39 GMT (envelope-from git) Date: Fri, 25 Apr 2025 16:56:39 GMT Message-Id: <202504251656.53PGudwZ034715@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: ef411cae7e9a - main - sndstat.4: Make sndstat nvlist channel names reflect new naming scheme List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef411cae7e9a644564cd079fac02e23105403136 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=ef411cae7e9a644564cd079fac02e23105403136 commit ef411cae7e9a644564cd079fac02e23105403136 Author: Christos Margiolis AuthorDate: 2025-04-25 16:55:45 +0000 Commit: Christos Margiolis CommitDate: 2025-04-25 16:55:45 +0000 sndstat.4: Make sndstat nvlist channel names reflect new naming scheme Change introduced in c30f531ddb62 ("sound: Shorten channel names"). Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49981 --- share/man/man4/sndstat.4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/sndstat.4 b/share/man/man4/sndstat.4 index 8dad58c7d804..5927e03ae439 100644 --- a/share/man/man4/sndstat.4 +++ b/share/man/man4/sndstat.4 @@ -83,8 +83,8 @@ dsps (NVLIST ARRAY): 1 rvchanrate (NUMBER): 48000 rvchanformat (NUMBER): 0x00000010 channel_info (NVLIST_ARRAY): 1 - name (STRING): pcm0:virtual_play:dsp0.vp0 - parentchan (STRING): pcm0:play:dsp0.p0 + name (STRING): dsp0.virtual_play.0 + parentchan (STRING): dsp0.play.0 unit (NUMBER): 1 caps (NUMBER): 0x073200 latency (NUMBER): 2 From nobody Fri Apr 25 16:56:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkfBh0rDBz5tmSb; Fri, 25 Apr 2025 16:56:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZkfBg3zm4z3TBb; Fri, 25 Apr 2025 16:56:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/u7jghkJNwXhd5RcvMSFl+R3WxoIwvziwc8M7XF7tIk=; b=tuEIk9c4Tji2LhimPbAHAlF1Y1YQbRdromTfoy2FgpuQSKBB/JYzuLJq+lmAlC6axijOUG rnuBIwiNS3RZB37/mtLj1/U+86SiQYFK4Yrzh1qqpvoDAcx6zZcgRSza2QJtDqw9AbmgvZ 5C1uFVSgU4ohgZFwxKAHhZIpFkO77Wi5Z6AaYU1AmP8Un7elHTb9j/U+nh7OvG4INinS0q B4xZZe6UMlCP/7qV9gFGPoghppbDM7fkgo7XweLNU5ucTSePqQY0Z2is/oajZxO3X/mrS5 HxTY8W/kmXMpR+ZMw9Ymu3amhVh1hDj8tz1Dg5nbVRq7LOMPl6OglaxMeiRiRA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745600203; a=rsa-sha256; cv=none; b=ZUnaccm/Pkiw4vFtvUfPnf5dtTRF1+zCPQDAZHFtWAa4R65qk15Mk9h66/juJejN0HJbvf R7r1Xu2EBxlVXv2MRAFzpEVOAOdU3DZuVpnH2tz0FCjX93QslHy9QzIkp39sk1Sxjadf2N zk5itQQ4fb800hqd/OyZjaLkyvKMpXj7Dh9K2puehvRDuP6L1/ocvUnxdP4BMbiRFak+gc KeopeThn4B3wVYYuso27YgdPxNRD3AI43r1kAZjDxm8WunJJF9fqp0nCcZdB8rIT4iumn0 L+ZtqLu67HS5q6caMJQFgJHUo70FhqptCR7vJLuhKkdK1iOax/isyp25z8wBoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600203; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/u7jghkJNwXhd5RcvMSFl+R3WxoIwvziwc8M7XF7tIk=; b=c7pvWJPsxS2CJBfWpMWb2z0DAzNdACbei56V3brOqG3o7i9PJmKNTAgBthuhg71p/ULfR4 sbNwI079SMvF6Uqek018pVyy/jJDtOJ/IV1qu9DhNq0U5KqEST8SLlAX6ctIxpDSrYLTug /o3BWkWtM1iejJLiKulEUsyLoqYCTYeQfty8Q+ZyEY14eiZmfPjA43X9i9hp7uz4SavZ5E 15D35Obtsl4jNfWIdNqJoZ5WEqRiKHCpqDW6dh2iltW9eRpRgO5R2/wT0Drb+u9iRTer8+ thTBAzIpeR5oZ9Ih8AlR6CClykSOATbn3dRhL60lyhqQfUft97WcejKKQOYDPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkfBg3RC2zkpM; Fri, 25 Apr 2025 16:56: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 53PGuhSg034819; Fri, 25 Apr 2025 16:56:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PGuhWh034816; Fri, 25 Apr 2025 16:56:43 GMT (envelope-from git) Date: Fri, 25 Apr 2025 16:56:43 GMT Message-Id: <202504251656.53PGuhWh034816@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 532b45fe103c - main - sound: Create a dsp_close() helper function List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 532b45fe103c623855bf1004d5de2fd41e2885e4 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=532b45fe103c623855bf1004d5de2fd41e2885e4 commit 532b45fe103c623855bf1004d5de2fd41e2885e4 Author: Christos Margiolis AuthorDate: 2025-04-25 16:56:03 +0000 Commit: Christos Margiolis CommitDate: 2025-04-25 16:56:22 +0000 sound: Create a dsp_close() helper function Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D49805 --- sys/dev/sound/pcm/dsp.c | 129 +++++++++++++++++++++--------------------------- 1 file changed, 55 insertions(+), 74 deletions(-) diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index bc64b50b4510..0f7cf0d456cf 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -97,6 +97,7 @@ struct cdevsw dsp_cdevsw = { static eventhandler_tag dsp_ehtag = NULL; +static void dsp_close_chan(struct pcm_channel *c); static int dsp_oss_syncgroup(struct pcm_channel *wrch, struct pcm_channel *rdch, oss_syncgroup *group); static int dsp_oss_syncstart(int sg_id); static int dsp_oss_policy(struct pcm_channel *wrch, struct pcm_channel *rdch, int policy); @@ -241,20 +242,19 @@ dsp_chn_alloc(struct snddev_info *d, struct pcm_channel **ch, int direction, } static void -dsp_close(void *data) +dsp_close_chan(struct pcm_channel *c) { - struct dsp_cdevpriv *priv = data; - struct pcm_channel *rdch, *wrch, *parent; struct snddev_info *d; + struct pcm_channel *parent; int sg_ids; - if (priv == NULL) + if (c == NULL) return; - d = priv->sc; + d = c->parentsnddev; /* At this point pcm_unregister() will destroy all channels anyway. */ if (!DSP_REGISTERED(d)) - goto skip; + return; PCM_GIANT_ENTER(d); @@ -262,82 +262,63 @@ dsp_close(void *data) PCM_WAIT(d); PCM_ACQUIRE(d); - rdch = priv->rdch; - wrch = priv->wrch; + CHN_REMOVE(d, c, channels.pcm.opened); - if (rdch != NULL) - CHN_REMOVE(d, rdch, channels.pcm.opened); - if (wrch != NULL) - CHN_REMOVE(d, wrch, channels.pcm.opened); + PCM_UNLOCK(d); - if (rdch != NULL || wrch != NULL) { - PCM_UNLOCK(d); - if (rdch != NULL) { - /* - * The channel itself need not be locked because: - * a) Adding a channel to a syncgroup happens only - * in dsp_ioctl(), which cannot run concurrently - * to dsp_close(). - * b) The syncmember pointer (sm) is protected by - * the global syncgroup list lock. - * c) A channel can't just disappear, invalidating - * pointers, unless it's closed/dereferenced - * first. - */ - PCM_SG_LOCK(); - sg_ids = chn_syncdestroy(rdch); - PCM_SG_UNLOCK(); - if (sg_ids != 0) - free_unr(pcmsg_unrhdr, sg_ids); - - if (rdch->flags & CHN_F_VIRTUAL) { - parent = rdch->parentchannel; - CHN_LOCK(parent); - CHN_LOCK(rdch); - vchan_destroy(rdch); - CHN_UNLOCK(parent); - } else { - CHN_LOCK(rdch); - chn_abort(rdch); /* won't sleep */ - rdch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | - CHN_F_DEAD | CHN_F_EXCLUSIVE); - chn_reset(rdch, 0, 0); - chn_release(rdch); - } - } - if (wrch != NULL) { - /* - * Please see block above. - */ - PCM_SG_LOCK(); - sg_ids = chn_syncdestroy(wrch); - PCM_SG_UNLOCK(); - if (sg_ids != 0) - free_unr(pcmsg_unrhdr, sg_ids); - - if (wrch->flags & CHN_F_VIRTUAL) { - parent = wrch->parentchannel; - CHN_LOCK(parent); - CHN_LOCK(wrch); - vchan_destroy(wrch); - CHN_UNLOCK(parent); - } else { - CHN_LOCK(wrch); - chn_flush(wrch); /* may sleep */ - wrch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | - CHN_F_DEAD | CHN_F_EXCLUSIVE); - chn_reset(wrch, 0, 0); - chn_release(wrch); - } - } - PCM_LOCK(d); + /* + * The channel itself need not be locked because: + * a) Adding a channel to a syncgroup happens only in dsp_ioctl(), + * which cannot run concurrently to dsp_close_chan(). + * b) The syncmember pointer (sm) is protected by the global + * syncgroup list lock. + * c) A channel can't just disappear, invalidating pointers, unless + * it's closed/dereferenced first. + */ + PCM_SG_LOCK(); + sg_ids = chn_syncdestroy(c); + PCM_SG_UNLOCK(); + if (sg_ids != 0) + free_unr(pcmsg_unrhdr, sg_ids); + + if (c->flags & CHN_F_VIRTUAL) { + parent = c->parentchannel; + CHN_LOCK(parent); + CHN_LOCK(c); + vchan_destroy(c); + CHN_UNLOCK(parent); + } else { + CHN_LOCK(c); + if (c->direction == PCMDIR_REC) + chn_abort(c); /* won't sleep */ + else + chn_flush(c); /* may sleep */ + c->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | CHN_F_DEAD | + CHN_F_EXCLUSIVE); + chn_reset(c, 0, 0); + chn_release(c); } + PCM_LOCK(d); + PCM_RELEASE(d); PCM_UNLOCK(d); PCM_GIANT_LEAVE(d); -skip: +} + + +static void +dsp_close(void *data) +{ + struct dsp_cdevpriv *priv = data; + + if (priv == NULL) + return; + + dsp_close_chan(priv->rdch); + dsp_close_chan(priv->wrch); + free(priv, M_DEVBUF); priv = NULL; } From nobody Fri Apr 25 16:56:41 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkfBf4vrjz5tmlV; Fri, 25 Apr 2025 16:56: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 4ZkfBd3gRnz3Sxw; Fri, 25 Apr 2025 16:56:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HhCBM5Vpmm65Me1ghzSuZhRDDC9XJJHapMK6+4uVuIo=; b=HG2eFzztSFX/xUqEoSJyAnPwgVrffjS6+xkfvHRtND0MYd2ev4EDqcmIkSfetvRq7Xvh/u +kRCUYMYhqoceHT6asQTlF+kOcULwcpEvjOKztfyA7lBOj9zGd/1vUYJ+5g5NvDV51vhPd wcmZCTOYAWQDrJ8jQ5O6E7e6gIiEbPKhIrIUcCHHQRwDqynsdytnfId7ieq3x0RGrJyUrU KA5UFlpnFnoq8VLegOQ+erQDQunYRm4YqVxwTZ1y2WQ73Q34mqtCQyFDO+Zjwr7gYqLYFB lTiOiICxUB16IHJyElPeLrH5NnxK/DGvBGsvF1HOiOcj4NzhGnHKrFcbUeERWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745600201; a=rsa-sha256; cv=none; b=F43LbcVefUXv3czBOgxa0U5IiN0EkWYMuu06Z1uZDkXpHGLV8RLkjaiTOHT0zzg6wj14N1 h1yDreHnrNBfPbURFLnIiEavgv6yU/jfAdWYEOe4B1qz6OYlHx2zLnnWZCKo4reWM6Ba3e 64o47iDwUrheKo4raLjlT1/lHWn1ZMdyL+Ah1LQO1kT/gwAH+p4I8hdsD8QMJchcKzRvMP JJDlI7EwpHXeILBZZ3ZH776ir3ztscdK6kINBjP2T5v/S1ng0f2YSMKC2MPgpbfQXEBIk4 lOQjBX4Q/yekWjaKYx0bI66Ycqfd1s8bluqrvTtZwfVs8qu/xgHiEbSJE7YDIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HhCBM5Vpmm65Me1ghzSuZhRDDC9XJJHapMK6+4uVuIo=; b=xvl02zJGCZMhbtLY9nuYJhbamFouC+Kmrhlc2HD5o+XD3Agb/SVvVx50lB7YnJOgtiGAmP T6MMkfkdXUlHq2oBoWALyBjMjF+bik/wP+YLi2lBTyYPAlg7B1G8PJKWSLQtZouby77xHL 6fAQkjJS6GPiKOpr3IbZG0zXA2rIENnHCRuCONnFDTtnvXdoUD9GdyuqmVyzI2z/IkESNr qW2QE8ha616lGiBWqfmgSl8o5+/11pl2AJPXCuCyf+b3v0TSXmo/4yODBx7WVpgOYLNaoh G4PoinxkpAfxaBRGDzW/JQou4TRW7n9891R9IFys8QABB50IRv72Cyx2lVd3bQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkfBd1XjPzjxb; Fri, 25 Apr 2025 16:56: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 53PGufno034752; Fri, 25 Apr 2025 16:56:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PGuf5m034749; Fri, 25 Apr 2025 16:56:41 GMT (envelope-from git) Date: Fri, 25 Apr 2025 16:56:41 GMT Message-Id: <202504251656.53PGuf5m034749@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: abb5521bddc2 - main - sound: Retire SD_F_PRIO_* List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: abb5521bddc24581a1bcbe3e3f016504a4824c73 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=abb5521bddc24581a1bcbe3e3f016504a4824c73 commit abb5521bddc24581a1bcbe3e3f016504a4824c73 Author: Christos Margiolis AuthorDate: 2025-04-25 16:55:51 +0000 Commit: Christos Margiolis CommitDate: 2025-04-25 16:55:51 +0000 sound: Retire SD_F_PRIO_* The SD_F_* flags are supposed to be softc flags, but SD_F_PRIO_RD and SD_F_PRIO_WR are just generic flags and are only used with dsp_lock_chans() and dsp_unlock_chans(). Since we already have the DSP_F_READ() and DSP_F_WRITE() macros, we can re-use them instead. I am aware the FREAD and FWRITE flags are meant to be used with open(), but I think their use here is clear enough to not cause confusion. No functional change intended. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49978 --- sys/dev/sound/pcm/dsp.c | 34 +++++++++++++++++----------------- sys/dev/sound/pcm/sound.h | 7 +------ 2 files changed, 18 insertions(+), 23 deletions(-) diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index c5caeea8a002..9b174f4592f3 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -67,6 +67,12 @@ SYSCTL_INT(_hw_snd, OID_AUTO, basename_clone, CTLFLAG_RWTUN, #define DSP_REGISTERED(x) (PCM_REGISTERED(x) && (x)->dsp_dev != NULL) +#define DSP_F_VALID(x) ((x) & (FREAD | FWRITE)) +#define DSP_F_DUPLEX(x) (((x) & (FREAD | FWRITE)) == (FREAD | FWRITE)) +#define DSP_F_SIMPLEX(x) (!DSP_F_DUPLEX(x)) +#define DSP_F_READ(x) ((x) & FREAD) +#define DSP_F_WRITE(x) ((x) & FWRITE) + #define OLDPCM_IOCTL static d_open_t dsp_open; @@ -144,18 +150,18 @@ dsp_destroy_dev(device_t dev) static void dsp_lock_chans(struct dsp_cdevpriv *priv, uint32_t prio) { - if (priv->rdch != NULL && (prio & SD_F_PRIO_RD)) + if (priv->rdch != NULL && DSP_F_READ(prio)) CHN_LOCK(priv->rdch); - if (priv->wrch != NULL && (prio & SD_F_PRIO_WR)) + if (priv->wrch != NULL && DSP_F_WRITE(prio)) CHN_LOCK(priv->wrch); } static void dsp_unlock_chans(struct dsp_cdevpriv *priv, uint32_t prio) { - if (priv->rdch != NULL && (prio & SD_F_PRIO_RD)) + if (priv->rdch != NULL && DSP_F_READ(prio)) CHN_UNLOCK(priv->rdch); - if (priv->wrch != NULL && (prio & SD_F_PRIO_WR)) + if (priv->wrch != NULL && DSP_F_WRITE(prio)) CHN_UNLOCK(priv->wrch); } @@ -234,12 +240,6 @@ dsp_chn_alloc(struct snddev_info *d, struct pcm_channel **ch, int direction, return (0); } -#define DSP_F_VALID(x) ((x) & (FREAD | FWRITE)) -#define DSP_F_DUPLEX(x) (((x) & (FREAD | FWRITE)) == (FREAD | FWRITE)) -#define DSP_F_SIMPLEX(x) (!DSP_F_DUPLEX(x)) -#define DSP_F_READ(x) ((x) & FREAD) -#define DSP_F_WRITE(x) ((x) & FWRITE) - static void dsp_close(void *data) { @@ -475,12 +475,12 @@ dsp_io_ops(struct dsp_cdevpriv *priv, struct uio *buf) switch (buf->uio_rw) { case UIO_READ: - prio = SD_F_PRIO_RD; + prio = FREAD; ch = &priv->rdch; chn_io = chn_read; break; case UIO_WRITE: - prio = SD_F_PRIO_WR; + prio = FWRITE; ch = &priv->wrch; chn_io = chn_write; break; @@ -1793,7 +1793,7 @@ dsp_poll(struct cdev *i_dev, int events, struct thread *td) ret = 0; - dsp_lock_chans(priv, SD_F_PRIO_RD | SD_F_PRIO_WR); + dsp_lock_chans(priv, FREAD | FWRITE); wrch = priv->wrch; rdch = priv->rdch; @@ -1809,7 +1809,7 @@ dsp_poll(struct cdev *i_dev, int events, struct thread *td) ret |= chn_poll(rdch, e, td); } - dsp_unlock_chans(priv, SD_F_PRIO_RD | SD_F_PRIO_WR); + dsp_unlock_chans(priv, FREAD | FWRITE); PCM_GIANT_LEAVE(d); @@ -1871,7 +1871,7 @@ dsp_mmap_single(struct cdev *i_dev, vm_ooffset_t *offset, PCM_GIANT_ENTER(d); - dsp_lock_chans(priv, SD_F_PRIO_RD | SD_F_PRIO_WR); + dsp_lock_chans(priv, FREAD | FWRITE); wrch = priv->wrch; rdch = priv->rdch; @@ -1880,7 +1880,7 @@ dsp_mmap_single(struct cdev *i_dev, vm_ooffset_t *offset, (*offset + size) > sndbuf_getallocsize(c->bufsoft) || (wrch != NULL && (wrch->flags & CHN_F_MMAP_INVALID)) || (rdch != NULL && (rdch->flags & CHN_F_MMAP_INVALID))) { - dsp_unlock_chans(priv, SD_F_PRIO_RD | SD_F_PRIO_WR); + dsp_unlock_chans(priv, FREAD | FWRITE); PCM_GIANT_EXIT(d); return (EINVAL); } @@ -1891,7 +1891,7 @@ dsp_mmap_single(struct cdev *i_dev, vm_ooffset_t *offset, rdch->flags |= CHN_F_MMAP; *offset = (uintptr_t)sndbuf_getbufofs(c->bufsoft, *offset); - dsp_unlock_chans(priv, SD_F_PRIO_RD | SD_F_PRIO_WR); + dsp_unlock_chans(priv, FREAD | FWRITE); *object = vm_pager_allocate(OBJT_DEVICE, i_dev, size, nprot, *offset, curthread->td_ucred); diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index a1370180f350..315452e294d1 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -121,9 +121,6 @@ struct snd_mixer; #define SD_F_EQ_MASK (SD_F_EQ | SD_F_EQ_ENABLED | \ SD_F_EQ_BYPASSED | SD_F_EQ_PC) -#define SD_F_PRIO_RD 0x10000000 -#define SD_F_PRIO_WR 0x20000000 - #define SD_F_BITS "\020" \ "\001SIMPLEX" \ /* "\002 */ \ @@ -138,9 +135,7 @@ struct snd_mixer; "\013EQ_BYPASSED" \ "\014EQ_PC" \ "\015PVCHANS" \ - "\016RVCHANS" \ - "\035PRIO_RD" \ - "\036PRIO_WR" + "\016RVCHANS" #define PCM_ALIVE(x) ((x) != NULL && (x)->lock != NULL) #define PCM_REGISTERED(x) (PCM_ALIVE(x) && ((x)->flags & SD_F_REGISTERED)) From nobody Fri Apr 25 16:56:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkfBg1xr1z5tmWh; Fri, 25 Apr 2025 16:56: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 4ZkfBf2vM0z3T5W; Fri, 25 Apr 2025 16:56:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ACkupIiiQqU5ERuVVOiBYT9pdLCzwZnjinMsj0804aI=; b=wm5OpkPFYK+M41g8EsVlmeMRhLLJwFRDOKZtJ8UYhVNFRNYBEteCRaXhVtkS0IOZvorOHM NUu0f0bEW/lSXlEoDes/eLALsT6Yr0gjnpy8aI5DCxVVvQ0rmWKRFr9wCkJig8XRn7tP+A O/c31avdciYhTRypOLlmG6d7xZJYKk4xiAvkySPIt4trNUqUwMu4hyvBzDhnwhoUGvSU2r LKbq76XuA/t0OxevkFJpeHgxbXQmmEDdgSRk3e4D0qiJYYnKYcSRxA36/Wlqp+AO2zC/0Y D/mZTdWiHcEQpG3u6vEBRRZD05pyY3yhEvPkU0lLVOEDIDri53igbozHq5701g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745600202; a=rsa-sha256; cv=none; b=QpVVTO1xSGPcp20f2p0qDJRuiUcJRO6+f2ClfkZQymtR9nvYkEH2VBH0/KpMyXK2/HzKGK 3dgcCePupeHN/0wGUiUgBoWr1SmcZ4B3LutxQ3prykHP63kSzeyh9yFUyXGAp3bW5pz5t6 eAif07x6WWIJ4TI+JVOL8Uxrzk1wNF/t1mXg5ldWmi8MDhh6xuNTrs4lKCKyPQhgX+ueEP TOVcYVTcQGjE1tYMxDGbise2jX6gnlEjBZpff7vukw9wLpryF7nvUdXrPNkQQ5/zuCddSd QsSZGUfjvGNX8D7G7VU14aaFS+sUxrMu1uVatz8y/KkkiEgXnehFBLCUAfbG2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745600202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ACkupIiiQqU5ERuVVOiBYT9pdLCzwZnjinMsj0804aI=; b=cZKtraQX+tJUdzA2eLqcS6TUmL9AHIIy0X5aQXKlfxeoCNA7g63fistRU/Ocp9sbF0Vc1z RKJL9I/ev3htO1I7GF/GloXoxIvJl2VlRERgxd8KSjUsfn8ZOTrQlf6pi9rFuYTlXsKgXQ ZTy0PT+l19/z2OdFg2N4+SMCwVk1FmNzAorCVili4diHOXdnm8WiE3Mci1hQWsVP2X+0EB 0ezYh0bmLNPkv7HGPtW5/Bcnwj+Ix/UPXWWLdhteh6Sly0h0p6G/83afb4CIYjtqp14VGU fq4DFLVfgVjKtvO6E22/xulpdWpxg73ZPabTg2c1izZnzUkD6I+o0MP3aM4fGw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkfBf2VflzkpL; Fri, 25 Apr 2025 16:56: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 53PGug3L034786; Fri, 25 Apr 2025 16:56:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PGugpb034783; Fri, 25 Apr 2025 16:56:42 GMT (envelope-from git) Date: Fri, 25 Apr 2025 16:56:42 GMT Message-Id: <202504251656.53PGugpb034783@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: facccfc8c7e1 - main - sound: Access softc through si_drv1 in dsp cdev methods List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: facccfc8c7e1463c3139a74d746b715c4f3a02a0 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=facccfc8c7e1463c3139a74d746b715c4f3a02a0 commit facccfc8c7e1463c3139a74d746b715c4f3a02a0 Author: Christos Margiolis AuthorDate: 2025-04-25 16:55:58 +0000 Commit: Christos Margiolis CommitDate: 2025-04-25 16:56:14 +0000 sound: Access softc through si_drv1 in dsp cdev methods No functional change. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D49804 --- sys/dev/sound/pcm/dsp.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index 9b174f4592f3..bc64b50b4510 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -455,7 +455,7 @@ dsp_open(struct cdev *i_dev, int flags, int mode, struct thread *td) } static __inline int -dsp_io_ops(struct dsp_cdevpriv *priv, struct uio *buf) +dsp_io_ops(struct cdev *i_dev, struct uio *buf, struct dsp_cdevpriv *priv) { struct snddev_info *d; struct pcm_channel **ch; @@ -467,7 +467,7 @@ dsp_io_ops(struct dsp_cdevpriv *priv, struct uio *buf) (buf->uio_rw == UIO_READ || buf->uio_rw == UIO_WRITE), ("%s(): io train wreck!", __func__)); - d = priv->sc; + d = i_dev->si_drv1; if (!DSP_REGISTERED(d)) return (EBADF); @@ -536,7 +536,7 @@ dsp_read(struct cdev *i_dev, struct uio *buf, int flag) if ((err = devfs_get_cdevpriv((void **)&priv)) != 0) return (err); - return (dsp_io_ops(priv, buf)); + return (dsp_io_ops(i_dev, buf, priv)); } static int @@ -547,18 +547,16 @@ dsp_write(struct cdev *i_dev, struct uio *buf, int flag) if ((err = devfs_get_cdevpriv((void **)&priv)) != 0) return (err); - return (dsp_io_ops(priv, buf)); + return (dsp_io_ops(i_dev, buf, priv)); } static int -dsp_ioctl_channel(struct dsp_cdevpriv *priv, struct pcm_channel *volch, - u_long cmd, caddr_t arg) +dsp_ioctl_channel(struct snddev_info *d, struct dsp_cdevpriv *priv, + struct pcm_channel *volch, u_long cmd, caddr_t arg) { - struct snddev_info *d; struct pcm_channel *rdch, *wrch; int j, left, right, center, mute; - d = priv->sc; if (!PCM_REGISTERED(d) || !(pcm_getflags(d->dev) & SD_F_VPC)) return (-1); @@ -686,7 +684,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, if ((err = devfs_get_cdevpriv((void **)&priv)) != 0) return (err); - d = priv->sc; + d = i_dev->si_drv1; if (!DSP_REGISTERED(d)) return (EBADF); @@ -703,7 +701,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, PCM_GIANT_EXIT(d); return (0); } - ret = dsp_ioctl_channel(priv, priv->volch, cmd, arg); + ret = dsp_ioctl_channel(d, priv, priv->volch, cmd, arg); if (ret != -1) { PCM_GIANT_EXIT(d); return (ret); @@ -1460,7 +1458,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, chn = wrch; } - ret = dsp_ioctl_channel(priv, chn, xcmd, arg); + ret = dsp_ioctl_channel(d, priv, chn, xcmd, arg); if (ret != -1) { PCM_GIANT_EXIT(d); return (ret); @@ -1783,7 +1781,7 @@ dsp_poll(struct cdev *i_dev, int events, struct thread *td) if ((err = devfs_get_cdevpriv((void **)&priv)) != 0) return (err); - d = priv->sc; + d = i_dev->si_drv1; if (!DSP_REGISTERED(d)) { /* XXX many clients don't understand POLLNVAL */ return (events & (POLLHUP | POLLPRI | POLLIN | @@ -1865,7 +1863,7 @@ dsp_mmap_single(struct cdev *i_dev, vm_ooffset_t *offset, if ((err = devfs_get_cdevpriv((void **)&priv)) != 0) return (err); - d = priv->sc; + d = i_dev->si_drv1; if (!DSP_REGISTERED(d)) return (EINVAL); From nobody Fri Apr 25 17:52:46 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZkgRM02N7z5tqlp; Fri, 25 Apr 2025 17:52: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 4ZkgRL50Hdz41Rr; Fri, 25 Apr 2025 17:52:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745603566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uMZ2xVAiggAJZuJ5mxORtUiCse4Fpn+RSagGSEJj+9Y=; b=Mrd2sisL9KDQrzG0FRAI/ecpBW6xNq31JuD2p+Mx8C3pUJkKeecAqRA70s83y7kSQDmYv7 3RWNZzT7rR2BWZEWi6sJbgIXUhuo/EOOqjQT62CBSeuQVILZuj5vHiTStu1IUJNWz1C1vG VBot12TC7oq9sO9aTq5hUjcKPZ9kOoKqu/pSgdVSGeHVzzW6IcDXTfrNz2vNGn7qeV/1Ne CbUsTUxQSr/7AfhoTlF5top7xaOASWH+Hrsib1CazS5a5BSV01viZiqwg15bfl6EYy7YqM ZC/CIZSjsl51IKSw9PQWOGHXSYlFXqKLpxlr0NaU20uHoeofpr1I1inC6oPSKg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745603566; a=rsa-sha256; cv=none; b=j2fZqC1YopRW0PQt7NUrUV8UZ02/Ip2h5mdjHYVXKaj9w1M6Y9AjD5IesR6khV8Tb5rJNR o2WiefVLx6PoUAVmNxct6DazpbeiCg5pdccru/LywYGKUPH3P7fROuFI2zZX3Lntz74K7d IkaYk6Kf/D1G8esTrdtEU9CRaCh0R9X+Ov/mYTESM1TCx9AB43F+uoa819bG6n3OR/fWge v9Sjd5AxzkNw0Lku5hqqKLXR4H0bGerXVxF5wQlkFASQ/4Saj8iye8hcs+7bcNBLBECSot JaUVk6bEnw/fk1xPgPOs6x5wnAkpocOgt1rUrGIYsQQkCKyPNvsvEuZS8KHu1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745603566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uMZ2xVAiggAJZuJ5mxORtUiCse4Fpn+RSagGSEJj+9Y=; b=jLxA3gt9x+WB+8GRbKMsdOD0Epy6oRkC8bRSq5vgceSOri469POY9pfgw15dl9H49En/PH 3vg+KRJi79WqxLelK5CVaL4Dmq26nq+OKRuSB/eK+DG/lspdiedujt6By0CCHO19I3b15F JdKTjxvkxQ4ar69Xj0CPyenIe+Xuy8ozKMWwUdboK40f0pLFCj3Jaqnm4SLtTFQxOzaYAV p1HmQQkSmO7GXyaxA/P12TZr6S2PSQXgPbkMZGULJFC+9RdjU9QRVe9rssNFvio7fGBfKp yoLKaJ/3Ut6wIoCUI+NMqP84wNvES7fnS8MWEvEqzm5n28lVJMmWukdxE7TLmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZkgRL4GZPzm3K; Fri, 25 Apr 2025 17:52:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53PHqkQH046203; Fri, 25 Apr 2025 17:52:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PHqkKP046200; Fri, 25 Apr 2025 17:52:46 GMT (envelope-from git) Date: Fri, 25 Apr 2025 17:52:46 GMT Message-Id: <202504251752.53PHqkKP046200@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 245bb0110639 - main - Use .pieo extension for WITH_PIE bsd.prog.mk output List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 245bb0110639fe963086fb2903143dbd4e6ac48c Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=245bb0110639fe963086fb2903143dbd4e6ac48c commit 245bb0110639fe963086fb2903143dbd4e6ac48c Author: Dimitry Andric AuthorDate: 2025-04-21 19:52:29 +0000 Commit: Dimitry Andric CommitDate: 2025-04-25 17:51:55 +0000 Use .pieo extension for WITH_PIE bsd.prog.mk output When object files for programs are built using bsd.prog.mk, and WITH_PIE is enabled, the extension used is still plain ".o". To be consistent with bsd.lib.mk, and to allow changes in WITH_PIE settings to propagate correctly, the extension should be ".pieo" instead. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49966 --- share/mk/bsd.prog.mk | 15 ++++++++------- share/mk/bsd.progs.mk | 2 +- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index 1894a8b938d0..f44556ef9b75 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -4,7 +4,7 @@ .include .include -.SUFFIXES: .out .o .bc .c .cc .cpp .cxx .C .m .y .l .ll .ln .s .S .asm +.include # XXX The use of COPTS in modern makefiles is discouraged. .if defined(COPTS) @@ -47,13 +47,14 @@ LDFLAGS+= -Wl,-znorelro LDFLAGS+= -Wl,-zrelro .endif .endif -.if ${MK_PIE} != "no" # Static PIE is not yet supported/tested. -.if !defined(NO_SHARED) || ${NO_SHARED:tl} == "no" +.if ${MK_PIE} != "no" && (!defined(NO_SHARED) || ${NO_SHARED:tl} == "no") CFLAGS+= -fPIE CXXFLAGS+= -fPIE LDFLAGS+= -pie -.endif +OBJ_EXT=pieo +.else +OBJ_EXT=o .endif .if ${MK_RETPOLINE} != "no" .if ${COMPILER_FEATURES:Mretpoline} && ${LINKER_FEATURES:Mretpoline} @@ -161,7 +162,7 @@ PROGNAME?= ${PROG} .if defined(SRCS) -OBJS+= ${SRCS:N*.h:${OBJS_SRCS_FILTER:ts:}:S/$/.o/g} +OBJS+= ${SRCS:N*.h:${OBJS_SRCS_FILTER:ts:}:S/$/.${OBJ_EXT}/g} # LLVM bitcode / textual IR representations of the program BCOBJS+=${SRCS:N*.[hsS]:N*.asm:${OBJS_SRCS_FILTER:ts:}:S/$/.bco/g} @@ -197,10 +198,10 @@ SRCS= ${PROG}.c # - the name of the object gets put into the executable symbol table instead of # the name of a variable temporary object. # - it's useful to keep objects around for crunching. -OBJS+= ${PROG}.o +OBJS+= ${PROG}.${OBJ_EXT} BCOBJS+= ${PROG}.bc LLOBJS+= ${PROG}.ll -CLEANFILES+= ${PROG}.o ${PROG}.bc ${PROG}.ll +CLEANFILES+= ${PROG}.${OBJ_EXT} ${PROG}.bc ${PROG}.ll .if target(beforelinking) beforelinking: ${OBJS} diff --git a/share/mk/bsd.progs.mk b/share/mk/bsd.progs.mk index ee6b13057574..4d1ff354edfb 100644 --- a/share/mk/bsd.progs.mk +++ b/share/mk/bsd.progs.mk @@ -110,7 +110,7 @@ _PROGS_ALL_SRCS+= ${s} .if !empty(_PROGS_COMMON_SRCS) _PROGS_COMMON_OBJS= ${_PROGS_COMMON_SRCS:M*.[dhly]} .if !empty(_PROGS_COMMON_SRCS:N*.[dhly]) -_PROGS_COMMON_OBJS+= ${_PROGS_COMMON_SRCS:N*.[dhly]:${OBJS_SRCS_FILTER:ts:}:S/$/.o/g} +_PROGS_COMMON_OBJS+= ${_PROGS_COMMON_SRCS:N*.[dhly]:${OBJS_SRCS_FILTER:ts:}:S/$/.${OBJ_EXT}/g} .endif .endif From nobody Fri Apr 25 17:59:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zkgbh0s1Bz5tqp0; Fri, 25 Apr 2025 18:00: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 4Zkgbg2fGqz44WH; Fri, 25 Apr 2025 17:59:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745603999; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EDf0FGlYCUElPDsM8XW2YZG9YG3DXXQmr+s676wqmPA=; b=Wv4rOWLjVpwl92scXfbKA9kAjXNFTr6HxhYjQMnbi/swqJSrrasYfTI7qnQaBVxMe1LnxI Jin0cmBMCT18zsu9s1Tul6Z8rpA55uR4Opk9HJERpkMGRfltNhCxAdIx37UtNg5693q+q1 oLZIZn7KSeF34ITlBq2WvgwAzDANFTF9XprpBX6UzwR+ROvbGo9bR+LKmFlPJvps/W3OzO tMZ4b6+/wWepFT+tkjR8FPeNuZDuwNA/Wx1NOJDs2/ljHXiQAR5053O9Odh4p9Bw0OOV6M on9+Fah/SAMNGW4VQ+G1NOSwetcJL9k5c5FGjLTXUJnoQpl/HenmQ8Gk0B6Tiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745603999; a=rsa-sha256; cv=none; b=ReOpFIGfNfO5kF+LjuI3m41ZAZ3lDE073FDtTcu50DpLiGBZsJsJiwNG9nMqc5jr07Oww2 k7EhOWLn0UeY7eVZzP82m7fG10OmsjeZwhZESaqvAAbrKO8lUk6QIm937w93SIR5TaBVSC OEKPkcxvi8iVZCWB5diJcf/PWlZzBq7MOA8/S08GKbF13Qsr7MbXYZ5LBbinOlUBy7ULN8 +3F0xhdo5HOpll72mBAkoA13m0FQb2hSV/JZVbhfJob2r/BzxJ/NtkckduVrB+vGzmPYy3 32TrIyGIQISgBP05bllOpEDbuOfWXpG6/sJkDss+FKcbctNKsQ+ryBAe8zVimg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745603999; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EDf0FGlYCUElPDsM8XW2YZG9YG3DXXQmr+s676wqmPA=; b=GXq4cJuSba5pnxjyEMFWfn1u/kupxSL+So9XoqDt55ss2r5aWpOVh6+YkIVNhqslMjyRhV oAvBVhH4c8yo+/VSEmoOCz98UWjn7F30JRm5Y6Cku4giv3vc4b5iFmgJ7VsQ5rPwwEx05w pfN+CP2PIhhYolFwieVVcKXFHMpXdXiQ/dg9HgOaMZv2Y80YfQSES02cyRR7lVy8FFXp3E 3YXWpSOCgC86/5UoSR1cHVnHMoIFR/H+8jAOzwL/bneAQDN8WFRkJS4rI58WEv8KVEvloC 7bzrTeG6PMxwa/pgimtJ5I0AsaZ+Bigc2R17y0lGwG9D46iYDkcUVWG4wPSRPQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zkgbg1xvkzmJ6; Fri, 25 Apr 2025 17:59: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 53PHxxxf048396; Fri, 25 Apr 2025 17:59:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PHxx7U048393; Fri, 25 Apr 2025 17:59:59 GMT (envelope-from git) Date: Fri, 25 Apr 2025 17:59:59 GMT Message-Id: <202504251759.53PHxx7U048393@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 2e47f35be5dc - main - Convert libllvm, libclang and liblldb into private shared libraries List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 2e47f35be5dc61945afdbd1a70e8fd505c032c94 Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=2e47f35be5dc61945afdbd1a70e8fd505c032c94 commit 2e47f35be5dc61945afdbd1a70e8fd505c032c94 Author: Dimitry Andric AuthorDate: 2025-04-25 17:56:39 +0000 Commit: Dimitry Andric CommitDate: 2025-04-25 17:56:39 +0000 Convert libllvm, libclang and liblldb into private shared libraries This allows clang, lld, lldb, and other llvm tools to be linked against these shared libraries, which makes them smaller and avoids duplication. Since these are not quite the same as the shared libraries shipped by the upstream llvm build system, and we do not want to expose the ABI to external programs such as ports, make them private libraries. Note that during the cross-tools stage they are still built as static libraries, so the cross compiler and linker are static binaries, as they have always been. This also requires a depend-cleanup.sh kludge which will be added in a follow-up commit, to ensure binaries are rebuilt against the shared libraries in case of incremental builds. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49967 --- lib/clang/libclang/Makefile | 83 ++++++++++++----- lib/clang/liblldb/Makefile | 23 ++++- lib/clang/libllvm/Makefile | 152 +++++++++++++++++-------------- tools/build/mk/OptionalObsoleteFiles.inc | 10 ++ usr.bin/clang/Makefile.inc | 2 + usr.bin/clang/clang.prog.mk | 12 ++- usr.bin/clang/lld/Makefile | 12 ++- usr.bin/clang/lldb-server/Makefile | 7 +- usr.bin/clang/lldb/Makefile | 7 +- usr.bin/clang/llvm.prog.mk | 8 +- 10 files changed, 211 insertions(+), 105 deletions(-) diff --git a/lib/clang/libclang/Makefile b/lib/clang/libclang/Makefile index d7e1532d2a8c..dc9e0010e309 100644 --- a/lib/clang/libclang/Makefile +++ b/lib/clang/libclang/Makefile @@ -1,7 +1,22 @@ .include .include "../clang.pre.mk" +.if defined(TOOLS_PREFIX) +# Build static library during cross-tools stage LIB= clang +INTERNALLIB= +.else +PACKAGE= clang +SHLIB_CXX= clang +SHLIB_MAJOR= 19 +PRIVATELIB= +.if ${MACHINE} == "powerpc" +# Work around "relocation R_PPC_GOT16 out of range" errors +PICFLAG= -fPIC +.endif +.endif + +SHARED_CXXFLAGS+= -UPIC # To avoid compile errors CFLAGS+= -I${.OBJDIR} CFLAGS+= -I${OBJTOP}/lib/clang/libllvm @@ -70,7 +85,7 @@ SRCS_MIN+= AST/CommentParser.cpp SRCS_MIN+= AST/CommentSema.cpp SRCS_MIN+= AST/ComparisonCategories.cpp SRCS_MIN+= AST/ComputeDependence.cpp -SRCS_FUL+= AST/DataCollection.cpp +SRCS_MIN+= AST/DataCollection.cpp SRCS_MIN+= AST/Decl.cpp SRCS_MIN+= AST/DeclBase.cpp SRCS_MIN+= AST/DeclCXX.cpp @@ -158,7 +173,9 @@ SRCS_MIN+= AST/VTableBuilder.cpp SRCS_MIN+= ASTMatchers/ASTMatchFinder.cpp SRCS_MIN+= ASTMatchers/ASTMatchersInternal.cpp SRCS_MIN+= ASTMatchers/Dynamic/Diagnostics.cpp +SRCS_MIN+= ASTMatchers/Dynamic/Marshallers.cpp SRCS_MIN+= ASTMatchers/Dynamic/Registry.cpp +SRCS_MIN+= ASTMatchers/Dynamic/VariantValue.cpp SRCS_MIN+= Analysis/AnalysisDeclContext.cpp SRCS_MIN+= Analysis/BodyFarm.cpp SRCS_MIN+= Analysis/CFG.cpp @@ -424,27 +441,27 @@ SRCS_MIN+= ExtractAPI/DeclarationFragments.cpp SRCS_MIN+= ExtractAPI/ExtractAPIConsumer.cpp SRCS_MIN+= ExtractAPI/Serialization/SymbolGraphSerializer.cpp SRCS_MIN+= ExtractAPI/TypedefUnderlyingTypeResolver.cpp -SRCS_EXT+= Format/AffectedRangeManager.cpp -SRCS_EXT+= Format/BreakableToken.cpp -SRCS_EXT+= Format/ContinuationIndenter.cpp -SRCS_EXT+= Format/DefinitionBlockSeparator.cpp -SRCS_EXT+= Format/Format.cpp -SRCS_EXT+= Format/FormatToken.cpp -SRCS_EXT+= Format/FormatTokenLexer.cpp -SRCS_EXT+= Format/IntegerLiteralSeparatorFixer.cpp -SRCS_EXT+= Format/MacroCallReconstructor.cpp -SRCS_EXT+= Format/MacroExpander.cpp +SRCS_MIN+= Format/AffectedRangeManager.cpp +SRCS_MIN+= Format/BreakableToken.cpp +SRCS_MIN+= Format/ContinuationIndenter.cpp +SRCS_MIN+= Format/DefinitionBlockSeparator.cpp +SRCS_MIN+= Format/Format.cpp +SRCS_MIN+= Format/FormatToken.cpp +SRCS_MIN+= Format/FormatTokenLexer.cpp +SRCS_MIN+= Format/IntegerLiteralSeparatorFixer.cpp +SRCS_MIN+= Format/MacroCallReconstructor.cpp +SRCS_MIN+= Format/MacroExpander.cpp SRCS_EXT+= Format/MatchFilePath.cpp -SRCS_EXT+= Format/NamespaceEndCommentsFixer.cpp -SRCS_EXT+= Format/ObjCPropertyAttributeOrderFixer.cpp -SRCS_EXT+= Format/QualifierAlignmentFixer.cpp -SRCS_EXT+= Format/SortJavaScriptImports.cpp -SRCS_EXT+= Format/TokenAnalyzer.cpp -SRCS_EXT+= Format/TokenAnnotator.cpp -SRCS_EXT+= Format/UnwrappedLineFormatter.cpp -SRCS_EXT+= Format/UnwrappedLineParser.cpp -SRCS_EXT+= Format/UsingDeclarationsSorter.cpp -SRCS_EXT+= Format/WhitespaceManager.cpp +SRCS_MIN+= Format/NamespaceEndCommentsFixer.cpp +SRCS_MIN+= Format/ObjCPropertyAttributeOrderFixer.cpp +SRCS_MIN+= Format/QualifierAlignmentFixer.cpp +SRCS_MIN+= Format/SortJavaScriptImports.cpp +SRCS_MIN+= Format/TokenAnalyzer.cpp +SRCS_MIN+= Format/TokenAnnotator.cpp +SRCS_MIN+= Format/UnwrappedLineFormatter.cpp +SRCS_MIN+= Format/UnwrappedLineParser.cpp +SRCS_MIN+= Format/UsingDeclarationsSorter.cpp +SRCS_MIN+= Format/WhitespaceManager.cpp SRCS_MIN+= Frontend/ASTConsumers.cpp SRCS_MIN+= Frontend/ASTMerge.cpp SRCS_MIN+= Frontend/ASTUnit.cpp @@ -824,9 +841,12 @@ SRCS_MIN+= Tooling/ArgumentsAdjusters.cpp SRCS_MIN+= Tooling/CommonOptionsParser.cpp SRCS_MIN+= Tooling/CompilationDatabase.cpp SRCS_MIN+= Tooling/Core/Replacement.cpp +SRCS_MIN+= Tooling/ExpandResponseFilesCompilationDatabase.cpp SRCS_MIN+= Tooling/FileMatchTrie.cpp -SRCS_EXT+= Tooling/Inclusions/HeaderIncludes.cpp -SRCS_EXT+= Tooling/Inclusions/IncludeStyle.cpp +SRCS_MIN+= Tooling/GuessTargetAndModeCompilationDatabase.cpp +SRCS_MIN+= Tooling/Inclusions/HeaderIncludes.cpp +SRCS_MIN+= Tooling/Inclusions/IncludeStyle.cpp +SRCS_MIN+= Tooling/InterpolatingCompilationDatabase.cpp SRCS_MIN+= Tooling/JSONCompilationDatabase.cpp SRCS_MIN+= Tooling/Refactoring.cpp SRCS_MIN+= Tooling/RefactoringCallbacks.cpp @@ -844,6 +864,21 @@ SRCS_ALL+= ${SRCS_LDB} .endif SRCS+= ${SRCS_ALL:O} +LIBDEPS+= llvm + +.if defined(TOOLS_PREFIX) +LIBPRIV= +LIBEXT= a +.else +LIBPRIV= private +LIBEXT= so +.endif + +.for lib in ${LIBDEPS} +DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} +LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} +.endfor + clang/AST/AbstractBasicReader.inc: \ ${CLANG_SRCS}/include/clang/AST/PropertiesBase.td ${CLANG_TBLGEN} -gen-clang-basic-reader \ @@ -1299,6 +1334,4 @@ CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} .include "../clang.build.mk" -INTERNALLIB= - .include diff --git a/lib/clang/liblldb/Makefile b/lib/clang/liblldb/Makefile index 26edeb966992..a3ff8e367864 100644 --- a/lib/clang/liblldb/Makefile +++ b/lib/clang/liblldb/Makefile @@ -1,7 +1,13 @@ .include .include "../lldb.pre.mk" -LIB= lldb +PACKAGE= lldb +SHLIB_CXX= lldb +SHLIB_MAJOR= 19 +PRIVATELIB= + +SHARED_CXXFLAGS+= -UPIC # To avoid compile errors + SRCDIR= lldb/source CFLAGS+= -I${LLDB_SRCS}/include @@ -744,6 +750,19 @@ SRCS+= Utility/VMRange.cpp SRCS+= Utility/XcodeSDK.cpp SRCS+= Version/Version.cpp +LIBDEPS+= clang +LIBDEPS+= llvm + +LIBPRIV= private +LIBEXT= so + +.for lib in ${LIBDEPS} +DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} +LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} +.endfor + +LIBADD+= kvm + LLDB_TBLGEN?= lldb-tblgen CommandOptions.inc: ${LLDB_SRCS}/source/Commands/Options.td @@ -779,8 +798,6 @@ CLEANFILES+= ${TGHDRS} ${TGHDRS:C/$/.d/} .include "../clang.build.mk" -INTERNALLIB= - # Building lldb's bindings requires swig, but we do not want to include it in # the FreeBSD base system (as a build tool) because it has non-trivial # dependencies. As a workaround we commit the generated file. Requires the diff --git a/lib/clang/libllvm/Makefile b/lib/clang/libllvm/Makefile index 55bbc56eeb8f..e634a72b4f90 100644 --- a/lib/clang/libllvm/Makefile +++ b/lib/clang/libllvm/Makefile @@ -1,8 +1,22 @@ .include .include "../llvm.pre.mk" +.if defined(TOOLS_PREFIX) +# Build static library during cross-tools stage LIB= llvm INTERNALLIB= +.else +PACKAGE= clang +SHLIB_CXX= llvm +SHLIB_MAJOR= 19 +PRIVATELIB= +.if ${MACHINE} == "powerpc" +# Work around "relocation R_PPC_GOT16 out of range" errors +PICFLAG= -fPIC +.endif +.endif + +SHARED_CXXFLAGS+= -UPIC # To avoid compile errors CFLAGS+= -I${.OBJDIR} CFLAGS+= -I${SRCTOP}/sys/contrib/zstd/lib @@ -508,24 +522,24 @@ SRCS_EXT+= DWP/DWP.cpp SRCS_EXT+= DWP/DWPError.cpp SRCS_MIW+= DebugInfo/BTF/BTFContext.cpp SRCS_MIW+= DebugInfo/BTF/BTFParser.cpp -SRCS_EXT+= DebugInfo/CodeView/AppendingTypeTableBuilder.cpp +SRCS_MIN+= DebugInfo/CodeView/AppendingTypeTableBuilder.cpp SRCS_MIN+= DebugInfo/CodeView/CVSymbolVisitor.cpp SRCS_MIN+= DebugInfo/CodeView/CVTypeVisitor.cpp SRCS_MIN+= DebugInfo/CodeView/CodeViewError.cpp SRCS_MIN+= DebugInfo/CodeView/CodeViewRecordIO.cpp SRCS_MIN+= DebugInfo/CodeView/ContinuationRecordBuilder.cpp SRCS_MIN+= DebugInfo/CodeView/DebugChecksumsSubsection.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugCrossExSubsection.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugCrossImpSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugCrossExSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugCrossImpSubsection.cpp SRCS_MIN+= DebugInfo/CodeView/DebugFrameDataSubsection.cpp SRCS_MIN+= DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp SRCS_MIN+= DebugInfo/CodeView/DebugLinesSubsection.cpp SRCS_MIN+= DebugInfo/CodeView/DebugStringTableSubsection.cpp -SRCS_MIW+= DebugInfo/CodeView/DebugSubsection.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugSubsectionRecord.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugSubsectionVisitor.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugSymbolRVASubsection.cpp -SRCS_EXT+= DebugInfo/CodeView/DebugSymbolsSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugSubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugSubsectionRecord.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugSubsectionVisitor.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugSymbolRVASubsection.cpp +SRCS_MIN+= DebugInfo/CodeView/DebugSymbolsSubsection.cpp SRCS_MIN+= DebugInfo/CodeView/EnumTables.cpp SRCS_MIN+= DebugInfo/CodeView/Formatters.cpp SRCS_MIN+= DebugInfo/CodeView/GlobalTypeTableBuilder.cpp @@ -539,7 +553,7 @@ SRCS_EXT+= DebugInfo/CodeView/StringsAndChecksums.cpp SRCS_MIN+= DebugInfo/CodeView/SymbolDumper.cpp SRCS_MIN+= DebugInfo/CodeView/SymbolRecordHelpers.cpp SRCS_MIN+= DebugInfo/CodeView/SymbolRecordMapping.cpp -SRCS_EXT+= DebugInfo/CodeView/SymbolSerializer.cpp +SRCS_MIN+= DebugInfo/CodeView/SymbolSerializer.cpp SRCS_MIN+= DebugInfo/CodeView/TypeDumpVisitor.cpp SRCS_MIN+= DebugInfo/CodeView/TypeHashing.cpp SRCS_MIN+= DebugInfo/CodeView/TypeIndex.cpp @@ -548,37 +562,37 @@ SRCS_EXT+= DebugInfo/CodeView/TypeRecordHelpers.cpp SRCS_MIN+= DebugInfo/CodeView/TypeRecordMapping.cpp SRCS_MIN+= DebugInfo/CodeView/TypeStreamMerger.cpp SRCS_MIN+= DebugInfo/CodeView/TypeTableCollection.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFAcceleratorTable.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFAddressRange.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFCompileUnit.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFContext.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDataExtractor.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugAbbrev.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugAddr.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugArangeSet.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugAranges.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugFrame.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugInfoEntry.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugLine.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugLoc.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugMacro.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugPubTable.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugRangeList.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDebugRnglists.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFDie.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFAcceleratorTable.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFAddressRange.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFCompileUnit.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFContext.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDataExtractor.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugAbbrev.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugAddr.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugArangeSet.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugAranges.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugFrame.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugInfoEntry.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugLine.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugLoc.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugMacro.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugPubTable.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugRangeList.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDebugRnglists.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFDie.cpp SRCS_MIN+= DebugInfo/DWARF/DWARFExpression.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFFormValue.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFGdbIndex.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFListTable.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFTypePrinter.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFTypeUnit.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFUnit.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFUnitIndex.cpp -SRCS_MIW+= DebugInfo/DWARF/DWARFVerifier.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFFormValue.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFGdbIndex.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFListTable.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFTypePrinter.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFTypeUnit.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFUnit.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFUnitIndex.cpp +SRCS_MIN+= DebugInfo/DWARF/DWARFVerifier.cpp SRCS_MIN+= DebugInfo/MSF/MSFBuilder.cpp SRCS_MIN+= DebugInfo/MSF/MSFCommon.cpp -SRCS_EXT+= DebugInfo/MSF/MSFError.cpp +SRCS_MIN+= DebugInfo/MSF/MSFError.cpp SRCS_MIN+= DebugInfo/MSF/MappedBlockStream.cpp SRCS_EXT+= DebugInfo/PDB/GenericError.cpp SRCS_EXT+= DebugInfo/PDB/IPDBSourceFile.cpp @@ -866,7 +880,7 @@ SRCS_MIN+= LTO/LTO.cpp SRCS_MIN+= LTO/LTOBackend.cpp SRCS_EXL+= LTO/LTOCodeGenerator.cpp SRCS_EXL+= LTO/LTOModule.cpp -SRCS_EXL+= LTO/SummaryBasedOptimizations.cpp +SRCS_MIN+= LTO/SummaryBasedOptimizations.cpp SRCS_EXL+= LTO/ThinLTOCodeGenerator.cpp SRCS_MIN+= LTO/UpdateCompilerUsed.cpp SRCS_MIN+= Linker/IRMover.cpp @@ -891,7 +905,7 @@ SRCS_MIN+= MC/MCContext.cpp SRCS_MIN+= MC/MCDXContainerStreamer.cpp SRCS_MIN+= MC/MCDXContainerWriter.cpp SRCS_XDL+= MC/MCDisassembler/Disassembler.cpp -SRCS_XDW+= MC/MCDisassembler/MCDisassembler.cpp +SRCS_MIN+= MC/MCDisassembler/MCDisassembler.cpp SRCS_XDW+= MC/MCDisassembler/MCExternalSymbolizer.cpp SRCS_MIN+= MC/MCDisassembler/MCRelocationInfo.cpp SRCS_XDW+= MC/MCDisassembler/MCSymbolizer.cpp @@ -1005,9 +1019,9 @@ SRCS_MIW+= ObjCopy/wasm/WasmWriter.cpp SRCS_MIN+= Object/Archive.cpp SRCS_MIN+= Object/ArchiveWriter.cpp SRCS_MIN+= Object/Binary.cpp -SRCS_MIW+= Object/BuildID.cpp +SRCS_MIN+= Object/BuildID.cpp SRCS_MIN+= Object/COFFImportFile.cpp -SRCS_MIW+= Object/COFFModuleDefinition.cpp +SRCS_MIN+= Object/COFFModuleDefinition.cpp SRCS_MIN+= Object/COFFObjectFile.cpp SRCS_MIN+= Object/Decompressor.cpp SRCS_MIN+= Object/ELF.cpp @@ -1017,31 +1031,34 @@ SRCS_MIW+= Object/FaultMapParser.cpp SRCS_MIN+= Object/IRObjectFile.cpp SRCS_MIN+= Object/IRSymtab.cpp SRCS_MIN+= Object/MachOObjectFile.cpp -SRCS_MIW+= Object/MachOUniversal.cpp +SRCS_MIN+= Object/MachOUniversal.cpp SRCS_MIW+= Object/MachOUniversalWriter.cpp -SRCS_MIW+= Object/Minidump.cpp +SRCS_MIN+= Object/Minidump.cpp SRCS_MIN+= Object/ModuleSymbolTable.cpp SRCS_EXT+= Object/Object.cpp SRCS_MIN+= Object/ObjectFile.cpp -SRCS_MIW+= Object/OffloadBinary.cpp +SRCS_MIN+= Object/OffloadBinary.cpp SRCS_MIN+= Object/RecordStreamer.cpp -SRCS_MIW+= Object/RelocationResolver.cpp +SRCS_MIN+= Object/RelocationResolver.cpp SRCS_MIW+= Object/SymbolSize.cpp SRCS_MIN+= Object/SymbolicFile.cpp -SRCS_MIW+= Object/TapiFile.cpp -SRCS_MIW+= Object/TapiUniversal.cpp +SRCS_MIN+= Object/TapiFile.cpp +SRCS_MIN+= Object/TapiUniversal.cpp SRCS_MIN+= Object/WasmObjectFile.cpp SRCS_MIW+= Object/WindowsMachineFlag.cpp SRCS_MIN+= Object/WindowsResource.cpp SRCS_MIN+= Object/XCOFFObjectFile.cpp SRCS_MIN+= ObjectYAML/COFFYAML.cpp -SRCS_EXT+= ObjectYAML/CodeViewYAMLDebugSections.cpp -SRCS_EXT+= ObjectYAML/CodeViewYAMLSymbols.cpp -SRCS_EXT+= ObjectYAML/CodeViewYAMLTypes.cpp +SRCS_MIN+= ObjectYAML/CodeViewYAMLDebugSections.cpp +SRCS_MIN+= ObjectYAML/CodeViewYAMLSymbols.cpp +SRCS_MIN+= ObjectYAML/CodeViewYAMLTypeHashing.cpp +SRCS_MIN+= ObjectYAML/CodeViewYAMLTypes.cpp +SRCS_MIN+= ObjectYAML/DWARFEmitter.cpp SRCS_MIN+= ObjectYAML/DWARFYAML.cpp +SRCS_MIN+= ObjectYAML/ELFEmitter.cpp SRCS_MIN+= ObjectYAML/ELFYAML.cpp SRCS_MIN+= ObjectYAML/MachOYAML.cpp -SRCS_EXT+= ObjectYAML/YAML.cpp +SRCS_MIN+= ObjectYAML/YAML.cpp SRCS_MIN+= Option/Arg.cpp SRCS_MIN+= Option/ArgList.cpp SRCS_MIN+= Option/OptTable.cpp @@ -1134,7 +1151,7 @@ SRCS_MIN+= Support/ErrorHandling.cpp SRCS_MIN+= Support/ExponentialBackoff.cpp SRCS_MIN+= Support/ExtensibleRTTI.cpp SRCS_MIN+= Support/FileCollector.cpp -SRCS_MIW+= Support/FileOutputBuffer.cpp +SRCS_MIN+= Support/FileOutputBuffer.cpp SRCS_MIN+= Support/FileUtilities.cpp SRCS_MIN+= Support/FloatingPointMode.cpp SRCS_MIN+= Support/FoldingSet.cpp @@ -1160,7 +1177,7 @@ SRCS_MIW+= Support/MSP430Attributes.cpp SRCS_MIN+= Support/ManagedStatic.cpp SRCS_MIN+= Support/MathExtras.cpp SRCS_MIN+= Support/MemAlloc.cpp -SRCS_MIW+= Support/Memory.cpp +SRCS_MIN+= Support/Memory.cpp SRCS_MIN+= Support/MemoryBuffer.cpp SRCS_MIN+= Support/MemoryBufferRef.cpp SRCS_MIN+= Support/NativeFormatting.cpp @@ -1199,7 +1216,7 @@ SRCS_MIN+= Support/SuffixTree.cpp SRCS_MIN+= Support/SuffixTreeNode.cpp SRCS_EXT+= Support/SystemUtils.cpp SRCS_LLD+= Support/TarWriter.cpp -SRCS_MIW+= Support/ThreadPool.cpp +SRCS_MIN+= Support/ThreadPool.cpp SRCS_MIN+= Support/Threading.cpp SRCS_MIN+= Support/TimeProfiler.cpp SRCS_MIN+= Support/Timer.cpp @@ -1694,21 +1711,22 @@ SRCS_MIN+= TargetParser/SubtargetFeature.cpp SRCS_MIN+= TargetParser/TargetParser.cpp SRCS_MIN+= TargetParser/Triple.cpp SRCS_MIN+= TargetParser/X86TargetParser.cpp -SRCS_MIW+= TextAPI/Architecture.cpp -SRCS_MIW+= TextAPI/ArchitectureSet.cpp +SRCS_MIN+= TextAPI/Architecture.cpp +SRCS_MIN+= TextAPI/ArchitectureSet.cpp SRCS_MIW+= TextAPI/BinaryReader/DylibReader.cpp -SRCS_MIW+= TextAPI/InterfaceFile.cpp -SRCS_MIW+= TextAPI/PackedVersion.cpp -SRCS_MIW+= TextAPI/Platform.cpp +SRCS_MIN+= TextAPI/InterfaceFile.cpp +SRCS_MIN+= TextAPI/PackedVersion.cpp +SRCS_MIN+= TextAPI/Platform.cpp SRCS_MIW+= TextAPI/RecordVisitor.cpp -SRCS_MIW+= TextAPI/Symbol.cpp -SRCS_MIW+= TextAPI/SymbolSet.cpp -SRCS_MIW+= TextAPI/Target.cpp -SRCS_MIW+= TextAPI/TextAPIError.cpp -SRCS_MIW+= TextAPI/TextStub.cpp -SRCS_MIW+= TextAPI/TextStubCommon.cpp -SRCS_MIW+= TextAPI/TextStubV5.cpp -SRCS_MIW+= TextAPI/Utils.cpp +SRCS_MIW+= TextAPI/RecordsSlice.cpp +SRCS_MIN+= TextAPI/Symbol.cpp +SRCS_MIN+= TextAPI/SymbolSet.cpp +SRCS_MIN+= TextAPI/Target.cpp +SRCS_MIN+= TextAPI/TextAPIError.cpp +SRCS_MIN+= TextAPI/TextStub.cpp +SRCS_MIN+= TextAPI/TextStubCommon.cpp +SRCS_MIN+= TextAPI/TextStubV5.cpp +SRCS_MIN+= TextAPI/Utils.cpp SRCS_MIN+= ToolDrivers/llvm-dlltool/DlltoolDriver.cpp SRCS_MIW+= ToolDrivers/llvm-lib/LibDriver.cpp SRCS_MIN+= Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index b25f551d069b..bd0a0972500d 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -875,6 +875,15 @@ OLD_FILES+=usr/share/man/man4/ccd.4.gz OLD_FILES+=usr/share/man/man8/ccdconfig.8.gz .endif +.if ${MK_CLANG} == no && ${MK_CLANG_FORMAT} == no && ${MK_LLDB} == no +OLD_LIBS+=usr/lib/libprivateclang.so.19 +.endif + +.if ${MK_CLANG_EXTRAS} == no && ${MK_CLANG} == no && ${MK_LLDB} == no && \ + ${MK_LLD} == no && ${MK_LLVM_BINUTILS} == no && ${MK_LLVM_COV} == no +OLD_LIBS+=usr/lib/libprivatellvm.so.19 +.endif + .if ${MK_CLANG} == no && ${MK_LLVM_BINUTILS} == no OLD_FILES+=usr/bin/llvm-addr2line OLD_FILES+=usr/bin/llvm-ar @@ -3677,6 +3686,7 @@ OLD_FILES+=usr/bin/ld.lld .if ${MK_LLDB} == no OLD_FILES+=usr/bin/lldb OLD_FILES+=usr/bin/lldb-server +OLD_LIBS+=usr/lib/libprivatelldb.so.19 OLD_FILES+=usr/share/man/man1/lldb-server.1.gz OLD_FILES+=usr/share/man/man1/lldb.1.gz .endif diff --git a/usr.bin/clang/Makefile.inc b/usr.bin/clang/Makefile.inc index bf9fad4032e2..1e9998061cf6 100644 --- a/usr.bin/clang/Makefile.inc +++ b/usr.bin/clang/Makefile.inc @@ -1,6 +1,8 @@ .include +.if defined(TOOLS_PREFIX) MK_PIE:= no # Explicit libXXX.a references +.endif .if ${MK_LLVM_FULL_DEBUGINFO} == "no" .if ${COMPILER_TYPE} == "clang" diff --git a/usr.bin/clang/clang.prog.mk b/usr.bin/clang/clang.prog.mk index cf48f02359e9..36c601bcbe36 100644 --- a/usr.bin/clang/clang.prog.mk +++ b/usr.bin/clang/clang.prog.mk @@ -18,9 +18,17 @@ LIBADD+= z LIBADD+= zstd .endif +.if defined(TOOLS_PREFIX) +LIBPRIV= +LIBEXT= a +.else +LIBPRIV= private +LIBEXT= so +.endif + .for lib in ${LIBDEPS} -DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a -LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a +DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} +LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} .endfor PACKAGE= clang diff --git a/usr.bin/clang/lld/Makefile b/usr.bin/clang/lld/Makefile index 1c99bd716069..cbad6f2b3fcd 100644 --- a/usr.bin/clang/lld/Makefile +++ b/usr.bin/clang/lld/Makefile @@ -81,9 +81,17 @@ SRCS+= tools/lld/lld.cpp LIBDEPS+= llvm +.if defined(TOOLS_PREFIX) +LIBPRIV= +LIBEXT= a +.else +LIBPRIV= private +LIBEXT= so +.endif + .for lib in ${LIBDEPS} -DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a -LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a +DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} +LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} .endfor INCFILE= Options.inc diff --git a/usr.bin/clang/lldb-server/Makefile b/usr.bin/clang/lldb-server/Makefile index b4d6131d81ab..5042fa1fdf04 100644 --- a/usr.bin/clang/lldb-server/Makefile +++ b/usr.bin/clang/lldb-server/Makefile @@ -22,9 +22,12 @@ LIBDEPS+= lldb LIBDEPS+= clang LIBDEPS+= llvm +LIBPRIV= private +LIBEXT= so + .for lib in ${LIBDEPS} -DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a -LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a +DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} +LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} .endfor INCFILE= LLGSOptions.inc diff --git a/usr.bin/clang/lldb/Makefile b/usr.bin/clang/lldb/Makefile index 4f01b1d8f0e0..452bfd23bfa2 100644 --- a/usr.bin/clang/lldb/Makefile +++ b/usr.bin/clang/lldb/Makefile @@ -15,9 +15,12 @@ LIBDEPS+= lldb LIBDEPS+= clang LIBDEPS+= llvm +LIBPRIV= private +LIBEXT= so + .for lib in ${LIBDEPS} -DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a -LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a +DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} +LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} .endfor INCFILE= Options.inc diff --git a/usr.bin/clang/llvm.prog.mk b/usr.bin/clang/llvm.prog.mk index 27a3312726df..f702082e31bd 100644 --- a/usr.bin/clang/llvm.prog.mk +++ b/usr.bin/clang/llvm.prog.mk @@ -10,15 +10,19 @@ CFLAGS+= -I${OBJTOP}/lib/clang/libllvm (${PROG_CXX} == "clang-tblgen" || ${PROG_CXX} == "lldb-tblgen" || \ ${PROG_CXX} == "llvm-min-tblgen" || ${PROG_CXX} == "llvm-tblgen") LIBDEPS+= llvmminimal +LIBPRIV= +LIBEXT= a .else LIBDEPS+= llvm +LIBPRIV= private +LIBEXT= so LIBADD+= z LIBADD+= zstd .endif .for lib in ${LIBDEPS} -DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a -LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a +DPADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} +LDADD+= ${OBJTOP}/lib/clang/lib${lib}/lib${LIBPRIV}${lib}.${LIBEXT} .endfor PACKAGE= clang From nobody Fri Apr 25 21:05:52 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zklk83Klpz5v447; Fri, 25 Apr 2025 21:05: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 4Zklk82dksz3ZGW; Fri, 25 Apr 2025 21:05:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745615152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/aWP05ifZajt0YFkdeW9DKvEwhaE4poqZOk1W+11mFM=; b=dosE3UxqOaADhCiJbTVwogSBfxQca/KyxHsnwa7965Qb7tjmJ83vPSLLJqWflL2pVzVCXM XO9hZG7bynXeuSvvbn4d+ZbSFtb3oe1C1lPuLJZNIKJxK4pI6zRz8+MMxeKJu3w3wSbVaW ol2l6uxAUtfGu5/NTT84L698gW70pOaCjCx3cbxnu9/XzhhIrtEOo+skQIPB2I9JX4A0Fm fsII14cwSmOuPnfVc+PKuyM0W5HDyrG9N8WiYcmZcRBwZ1LZDQlDD4sgiP7cCmzGBbGcTZ 3juKiXuKLBqi3NT0O4rqmgYX/DRJOkrooXAIyn/7dZ4hEo+MEdjzvNlWYE6u5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745615152; a=rsa-sha256; cv=none; b=nqF+c0ms4y0bwhEOARYZ/WHAq2P0US4SyrJtpOpMgTbLreKvNwzsy4xwYMXLw6SK8YWrqL R0p7HEj4HpdF/4FQdEcDnJ2+2G6O0xZV+rml1yPBp3tkMH9D1MJWXb1q3zwUQNzF65c2/e ULE0778Zh3IjluZDKHdleUN6EJnPt1OaRyP5d6LfR7OUJ61JvjoIF/WR6IqgRkyLohJfji 5PdoPP2r7rIGNeqjXZ92H9N60xof+4YokItRRBsmZhDFOZvWQRgPN98BSPNGOnhP15p+HH cBhL6zI6NSSBjQJHH6MRH7+uXIlFdcbUCt8gQ3kn8tYYnLwxLCA1KOivRUHJxA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745615152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/aWP05ifZajt0YFkdeW9DKvEwhaE4poqZOk1W+11mFM=; b=F6Zrwd3S8v3mCv4lGWAu3rYcHCsGv+IspbVMC4D2H3zNHWxTiDEJNeNDAwuKmP+0VddKE6 tz9Xoa8tUN3+NuRJJ2c51VfdAsEhRm8MvAVfBf7ewVc59sRGOc/gaFNXfhnm+qTEJG7y18 g96TyM5UaAPKJQmqlc+/C3fjuJAZ6ra890RdGFJ5PYV2GJvsY7V6xxKXpewGaXuUgACkar pEJpOqcNEz3xXEY/GBzjOkZCdcEVx3hCMMO52oGM7Y9T/XGUqgg+rU+vResPA+BWCswa4I bkEt9bq57CpgAdX0YmQJ8N/L43d4W856/SvcjLcdaN1lOeS7R2XBOmApwIsKQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zklk81pJFzrl3; Fri, 25 Apr 2025 21:05: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 53PL5qDm006265; Fri, 25 Apr 2025 21:05:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PL5q87006262; Fri, 25 Apr 2025 21:05:52 GMT (envelope-from git) Date: Fri, 25 Apr 2025 21:05:52 GMT Message-Id: <202504252105.53PL5q87006262@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Cochard Subject: git: 2a4cd9f8c82d - main - tests/arp: Add a 1-second tolerance List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: olivier X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2a4cd9f8c82d73784af99067272ae169affb29c6 Auto-Submitted: auto-generated The branch main has been updated by olivier: URL: https://cgit.FreeBSD.org/src/commit/?id=2a4cd9f8c82d73784af99067272ae169affb29c6 commit 2a4cd9f8c82d73784af99067272ae169affb29c6 Author: Olivier Cochard AuthorDate: 2025-04-25 20:57:25 +0000 Commit: Olivier Cochard CommitDate: 2025-04-25 21:03:21 +0000 tests/arp: Add a 1-second tolerance This test could be flaky in case of a 1-second delay between the ping and the ARP cache display, which can happen on highly loaded hosts running multiple regression test VMs Approved by: glebius Obtained from: glebius Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D50039 --- tests/sys/netinet/arp.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/sys/netinet/arp.sh b/tests/sys/netinet/arp.sh index c7744d5de938..df5dbc50ffa1 100755 --- a/tests/sys/netinet/arp.sh +++ b/tests/sys/netinet/arp.sh @@ -188,7 +188,9 @@ static_body() { ipa=198.51.100.1 ipb=198.51.100.2 + ipb_re=$(echo ${ipb} | sed 's/\./\\./g') max_age=$(sysctl -n net.link.ether.inet.max_age) + max_age="(${max_age}|$((${max_age} - 1)))" atf_check ifconfig -j ${jname}a ${epair0}a inet ${ipa}/24 eth="$(ifconfig -j ${jname}b ${epair0}b | @@ -197,8 +199,8 @@ static_body() { # Expected outputs permanent=\ "? (${ipb}) at 00:00:00:00:00:00 on ${epair0}a permanent [ethernet]\n" - temporary=\ -"? (${ipb}) at ${eth} on ${epair0}a expires in ${max_age} seconds [ethernet]\n" + temporary_re=\ +"\? \(${ipb_re}\) at ${eth} on ${epair0}a expires in ${max_age} seconds \[ethernet\]" deleted=\ "${ipb} (${ipb}) deleted\n" @@ -217,7 +219,7 @@ static_body() { # then check -S atf_check -o "inline:${deleted}" jexec ${jname}a arp -nd ${ipb} atf_check -o ignore jexec ${jname}b ping -c1 ${ipa} - atf_check -o "inline:${temporary}" jexec ${jname}a arp -n ${ipb} + atf_check -o "match:${temporary_re}" jexec ${jname}a arp -n ${ipb} # Note: this doesn't fail, tracked all the way down to FreeBSD 8 # atf_check -s not-exit:0 jexec ${jname}a arp -s ${ipb} 0:0:0:0:0:0 atf_check -o "inline:${deleted}" \ From nobody Fri Apr 25 22:03:56 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zkn190Kzrz5t7Xv; Fri, 25 Apr 2025 22:03: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 4Zkn185dWVz3D9p; Fri, 25 Apr 2025 22:03:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745618636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Um7eyxVv3UZGECKLYruuogHN7Fhmu/zqRYZ2XPxId+M=; b=r+ck4Jg5bA4nVgexPYb6bJmN/s3ngv2IZ20U2JqlOP+3Yt2zD6Yl4ZAHciY3hOgkdIhVG5 kY3QH8Xefm9OfRAwJfzcLRuRMnhhCpn+mRSGuZwuVGivVTPeXwEw95eCMpn8lhHFwZo9U4 avZHykSSIWQTvJ/bJ5ZD6LijlxXvHfRIbrVN4aPXjDtiFCO6mLTuIeiJeLZABhF9MNqWY4 GJFXgEVgRvIyWCxqIL296mRh3+Iex9Y74oyPHdyQbt8LRjr37YG2CnIM38H3kmRuLFnJLQ yLM0oCKgqLii11E3QYC49IvstNrl0eiwGYpI8HxxzoByp5QBuDDMDMRSnm+Psg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745618636; a=rsa-sha256; cv=none; b=oxYyKbK1iNpvWTbcgpJ1eHUe3mqgYtPJ/iP+59Cr5mtEM1s+fmN0zwB/B4cG2r1YqGuC+W rIhEcPdZ4qV5/awJE1CV8HuyDViplImbxuSLSYljEYzSqU1kuGG+jrmYq+m1KDtYloqzQY Tn1Ty7zFzyJBbMNE7pa44YH8Z46bNnpCFJegi/dfJCaDWMWJQx8CJaizXIkiPsMLF9I6CF TsdlVWpu5ojGul2+flpcoAZj1x6CFO0b1uG4FQwdkHX/eC38oXTw2CA2lc/VbUzK6Neb5F CIoQOo7U4iA5tLOON3wVFnHso9lY317CwOd1OF2GvIShbLDdy/9W12KozpbVHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745618636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Um7eyxVv3UZGECKLYruuogHN7Fhmu/zqRYZ2XPxId+M=; b=BHIhAwLEOV0C+CS+glmAVbNjhL9LuyoE5CO25ueyn4HMFSC94+D1FCd9oeUhez8+bCsj1j XCD4D3Te9tlNibGwLKVCGVooMUdmtRpp5xF3HCrtghpMe+OxJpAHsTysboqQSTa1ryhqTm vx2WnL48WdSZtUhx8oDgq7Z6d59qV+qL6+DmiJzJHZa4kJlnMHie9o73eg0A0yPjJSp9NZ dNMpp5Oy1YMfIC/gP8CUvNY3v+S4GGezJbTm3mx6jBNoE1zk+3cnCAg1iGdg+LFZ9BuUZG LuYjGP/z/YUYzlthAjDx/2pReC1PkDOPAU9w+thjthEz11VMm1xCmG6Btyfn/w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zkn185DbfzsS1; Fri, 25 Apr 2025 22:03: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 53PM3uB9017771; Fri, 25 Apr 2025 22:03:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PM3uWQ017768; Fri, 25 Apr 2025 22:03:56 GMT (envelope-from git) Date: Fri, 25 Apr 2025 22:03:56 GMT Message-Id: <202504252203.53PM3uWQ017768@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 4a556c2277fd - main - Revert "sound: Create a dsp_close() helper function" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a556c2277fd63d83820099d72e953275a03a814 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=4a556c2277fd63d83820099d72e953275a03a814 commit 4a556c2277fd63d83820099d72e953275a03a814 Author: Christos Margiolis AuthorDate: 2025-04-25 22:02:08 +0000 Commit: Christos Margiolis CommitDate: 2025-04-25 22:02:08 +0000 Revert "sound: Create a dsp_close() helper function" Committed by accident. This reverts commit 532b45fe103c623855bf1004d5de2fd41e2885e4. --- sys/dev/sound/pcm/dsp.c | 129 +++++++++++++++++++++++++++--------------------- 1 file changed, 74 insertions(+), 55 deletions(-) diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index 0f7cf0d456cf..bc64b50b4510 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -97,7 +97,6 @@ struct cdevsw dsp_cdevsw = { static eventhandler_tag dsp_ehtag = NULL; -static void dsp_close_chan(struct pcm_channel *c); static int dsp_oss_syncgroup(struct pcm_channel *wrch, struct pcm_channel *rdch, oss_syncgroup *group); static int dsp_oss_syncstart(int sg_id); static int dsp_oss_policy(struct pcm_channel *wrch, struct pcm_channel *rdch, int policy); @@ -242,19 +241,20 @@ dsp_chn_alloc(struct snddev_info *d, struct pcm_channel **ch, int direction, } static void -dsp_close_chan(struct pcm_channel *c) +dsp_close(void *data) { + struct dsp_cdevpriv *priv = data; + struct pcm_channel *rdch, *wrch, *parent; struct snddev_info *d; - struct pcm_channel *parent; int sg_ids; - if (c == NULL) + if (priv == NULL) return; - d = c->parentsnddev; + d = priv->sc; /* At this point pcm_unregister() will destroy all channels anyway. */ if (!DSP_REGISTERED(d)) - return; + goto skip; PCM_GIANT_ENTER(d); @@ -262,63 +262,82 @@ dsp_close_chan(struct pcm_channel *c) PCM_WAIT(d); PCM_ACQUIRE(d); - CHN_REMOVE(d, c, channels.pcm.opened); - - PCM_UNLOCK(d); + rdch = priv->rdch; + wrch = priv->wrch; - /* - * The channel itself need not be locked because: - * a) Adding a channel to a syncgroup happens only in dsp_ioctl(), - * which cannot run concurrently to dsp_close_chan(). - * b) The syncmember pointer (sm) is protected by the global - * syncgroup list lock. - * c) A channel can't just disappear, invalidating pointers, unless - * it's closed/dereferenced first. - */ - PCM_SG_LOCK(); - sg_ids = chn_syncdestroy(c); - PCM_SG_UNLOCK(); - if (sg_ids != 0) - free_unr(pcmsg_unrhdr, sg_ids); + if (rdch != NULL) + CHN_REMOVE(d, rdch, channels.pcm.opened); + if (wrch != NULL) + CHN_REMOVE(d, wrch, channels.pcm.opened); - if (c->flags & CHN_F_VIRTUAL) { - parent = c->parentchannel; - CHN_LOCK(parent); - CHN_LOCK(c); - vchan_destroy(c); - CHN_UNLOCK(parent); - } else { - CHN_LOCK(c); - if (c->direction == PCMDIR_REC) - chn_abort(c); /* won't sleep */ - else - chn_flush(c); /* may sleep */ - c->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | CHN_F_DEAD | - CHN_F_EXCLUSIVE); - chn_reset(c, 0, 0); - chn_release(c); + if (rdch != NULL || wrch != NULL) { + PCM_UNLOCK(d); + if (rdch != NULL) { + /* + * The channel itself need not be locked because: + * a) Adding a channel to a syncgroup happens only + * in dsp_ioctl(), which cannot run concurrently + * to dsp_close(). + * b) The syncmember pointer (sm) is protected by + * the global syncgroup list lock. + * c) A channel can't just disappear, invalidating + * pointers, unless it's closed/dereferenced + * first. + */ + PCM_SG_LOCK(); + sg_ids = chn_syncdestroy(rdch); + PCM_SG_UNLOCK(); + if (sg_ids != 0) + free_unr(pcmsg_unrhdr, sg_ids); + + if (rdch->flags & CHN_F_VIRTUAL) { + parent = rdch->parentchannel; + CHN_LOCK(parent); + CHN_LOCK(rdch); + vchan_destroy(rdch); + CHN_UNLOCK(parent); + } else { + CHN_LOCK(rdch); + chn_abort(rdch); /* won't sleep */ + rdch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | + CHN_F_DEAD | CHN_F_EXCLUSIVE); + chn_reset(rdch, 0, 0); + chn_release(rdch); + } + } + if (wrch != NULL) { + /* + * Please see block above. + */ + PCM_SG_LOCK(); + sg_ids = chn_syncdestroy(wrch); + PCM_SG_UNLOCK(); + if (sg_ids != 0) + free_unr(pcmsg_unrhdr, sg_ids); + + if (wrch->flags & CHN_F_VIRTUAL) { + parent = wrch->parentchannel; + CHN_LOCK(parent); + CHN_LOCK(wrch); + vchan_destroy(wrch); + CHN_UNLOCK(parent); + } else { + CHN_LOCK(wrch); + chn_flush(wrch); /* may sleep */ + wrch->flags &= ~(CHN_F_RUNNING | CHN_F_MMAP | + CHN_F_DEAD | CHN_F_EXCLUSIVE); + chn_reset(wrch, 0, 0); + chn_release(wrch); + } + } + PCM_LOCK(d); } - PCM_LOCK(d); - PCM_RELEASE(d); PCM_UNLOCK(d); PCM_GIANT_LEAVE(d); -} - - -static void -dsp_close(void *data) -{ - struct dsp_cdevpriv *priv = data; - - if (priv == NULL) - return; - - dsp_close_chan(priv->rdch); - dsp_close_chan(priv->wrch); - +skip: free(priv, M_DEVBUF); priv = NULL; } From nobody Fri Apr 25 22:03:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zkn1B0yxSz5t7dl; Fri, 25 Apr 2025 22:03: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 4Zkn196ZnSz3D9q; Fri, 25 Apr 2025 22:03:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745618637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tcrGrEmRawPzt3BrYwE3L8gZHrr+5CDtOOQpHLhHbTk=; b=UBaTPJYQwVcvltqi24Sm7XZgoG6/czhr8/JXlCW25xrz+q1SeDMtybetc757s+ggjK34MQ 0TNfHPjzjOvNR0f00EffEtRq22CEQ8SvmQD9+u9U3P6siGBzzKS4u1eboTKBf/21gPRswe LQ6miG5nb5/FdM5Vsf01oGQmtUvOzDegL72mjQmX2WArkIheDbSIGsKCPx2a3Kr6+wg1Aq raszy4OiaDxuokMTCevIW9Zu+CDP5Tfl2JvJwgiY+jrbQezWQJqcDWzopOjp1j8yf/2a91 clWPb0FFboxU3CoNy8L3flWguwmfWd5L3DZgJBrm09gGQ01vHwLMePpWofwbGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745618637; a=rsa-sha256; cv=none; b=xJqS9e4PbZXpToBypj+h2+2gzTf4yEdDKPrZ/O07MdOSZHHyVayYnGtJlgTMYMVTSnav79 sC3R4HcfFoFyazDZDYuy7/7tviUPv9Fg6TNakcF4isOuY7zFqwbPlvc2/JHzGaKxJgqLQT EVlbPTsVzxRuc9J3QdNFzueoOIEm0VOhN8yUraF9UPNZttwxjk+rC6fqJyZFOgPQIFeog7 FRcvJc1XaolZH/vrQWU8GSeFOutqDhPZSM/8gu/RGuT/QyDEMPRY4Mp2AbyWPCBQXnulAc Bs2MXJeuaypPniywVlIo7j1mYvXUtctscfEBcWZEc0BN05S5i/rwQ279Y5OoiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745618637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tcrGrEmRawPzt3BrYwE3L8gZHrr+5CDtOOQpHLhHbTk=; b=D3OCye0sYiMFE9aEU75HtA5CRSWf/erua0xvdvm1FIzfASBhBIWj3x7lUBtHp2JNVOGbTm Yx7ecD5J5D20oRxiki810R2QxVTJgmjCInFd1fkX8jy9MsbI0XZyHsoTznMI/OK1pMJytI H/IN8uaR6+yhpR4tzXawaQKUVrncRpZFkonERaROEhgSZkd1UH8Fx/M/9COldUOnSjbpPH SXUuEfyXLKc1+autx5s74UHn7LIqryx+3mo+KPnr0YAJcpXPsDj6CVwQIYhtIXNM7Yl8vR R/ZHucaSBWHvADB7csFm0nDFQpOmL08Y0xVQgVXWcke8kf54ebWiFlfNULm2vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zkn19683Lzt2n; Fri, 25 Apr 2025 22:03: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 53PM3voE017813; Fri, 25 Apr 2025 22:03:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53PM3v0V017810; Fri, 25 Apr 2025 22:03:57 GMT (envelope-from git) Date: Fri, 25 Apr 2025 22:03:57 GMT Message-Id: <202504252203.53PM3v0V017810@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: b095a41a3a2a - main - Revert "sound: Access softc through si_drv1 in dsp cdev methods" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b095a41a3a2ad53e3d1c51e62ff6a85707158e08 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b095a41a3a2ad53e3d1c51e62ff6a85707158e08 commit b095a41a3a2ad53e3d1c51e62ff6a85707158e08 Author: Christos Margiolis AuthorDate: 2025-04-25 22:02:24 +0000 Commit: Christos Margiolis CommitDate: 2025-04-25 22:02:24 +0000 Revert "sound: Access softc through si_drv1 in dsp cdev methods" Committed by accident. This reverts commit facccfc8c7e1463c3139a74d746b715c4f3a02a0. --- sys/dev/sound/pcm/dsp.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index bc64b50b4510..9b174f4592f3 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -455,7 +455,7 @@ dsp_open(struct cdev *i_dev, int flags, int mode, struct thread *td) } static __inline int -dsp_io_ops(struct cdev *i_dev, struct uio *buf, struct dsp_cdevpriv *priv) +dsp_io_ops(struct dsp_cdevpriv *priv, struct uio *buf) { struct snddev_info *d; struct pcm_channel **ch; @@ -467,7 +467,7 @@ dsp_io_ops(struct cdev *i_dev, struct uio *buf, struct dsp_cdevpriv *priv) (buf->uio_rw == UIO_READ || buf->uio_rw == UIO_WRITE), ("%s(): io train wreck!", __func__)); - d = i_dev->si_drv1; + d = priv->sc; if (!DSP_REGISTERED(d)) return (EBADF); @@ -536,7 +536,7 @@ dsp_read(struct cdev *i_dev, struct uio *buf, int flag) if ((err = devfs_get_cdevpriv((void **)&priv)) != 0) return (err); - return (dsp_io_ops(i_dev, buf, priv)); + return (dsp_io_ops(priv, buf)); } static int @@ -547,16 +547,18 @@ dsp_write(struct cdev *i_dev, struct uio *buf, int flag) if ((err = devfs_get_cdevpriv((void **)&priv)) != 0) return (err); - return (dsp_io_ops(i_dev, buf, priv)); + return (dsp_io_ops(priv, buf)); } static int -dsp_ioctl_channel(struct snddev_info *d, struct dsp_cdevpriv *priv, - struct pcm_channel *volch, u_long cmd, caddr_t arg) +dsp_ioctl_channel(struct dsp_cdevpriv *priv, struct pcm_channel *volch, + u_long cmd, caddr_t arg) { + struct snddev_info *d; struct pcm_channel *rdch, *wrch; int j, left, right, center, mute; + d = priv->sc; if (!PCM_REGISTERED(d) || !(pcm_getflags(d->dev) & SD_F_VPC)) return (-1); @@ -684,7 +686,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, if ((err = devfs_get_cdevpriv((void **)&priv)) != 0) return (err); - d = i_dev->si_drv1; + d = priv->sc; if (!DSP_REGISTERED(d)) return (EBADF); @@ -701,7 +703,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, PCM_GIANT_EXIT(d); return (0); } - ret = dsp_ioctl_channel(d, priv, priv->volch, cmd, arg); + ret = dsp_ioctl_channel(priv, priv->volch, cmd, arg); if (ret != -1) { PCM_GIANT_EXIT(d); return (ret); @@ -1458,7 +1460,7 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, chn = wrch; } - ret = dsp_ioctl_channel(d, priv, chn, xcmd, arg); + ret = dsp_ioctl_channel(priv, chn, xcmd, arg); if (ret != -1) { PCM_GIANT_EXIT(d); return (ret); @@ -1781,7 +1783,7 @@ dsp_poll(struct cdev *i_dev, int events, struct thread *td) if ((err = devfs_get_cdevpriv((void **)&priv)) != 0) return (err); - d = i_dev->si_drv1; + d = priv->sc; if (!DSP_REGISTERED(d)) { /* XXX many clients don't understand POLLNVAL */ return (events & (POLLHUP | POLLPRI | POLLIN | @@ -1863,7 +1865,7 @@ dsp_mmap_single(struct cdev *i_dev, vm_ooffset_t *offset, if ((err = devfs_get_cdevpriv((void **)&priv)) != 0) return (err); - d = i_dev->si_drv1; + d = priv->sc; if (!DSP_REGISTERED(d)) return (EINVAL); From nobody Sat Apr 26 10:06:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zl53S2gGHz5v069; Sat, 26 Apr 2025 10:07: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 4Zl53S26v5z49Td; Sat, 26 Apr 2025 10:07:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745662020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mu4JLO9sr3em4oL+V7S84ZBFZVfreJ3BFcIVwkYIwEo=; b=hAlnn6LadEPjq9ExjQmD+tILSIDLArQF3tT/pk9DJLB79wlx/YOUtMiGTlmd/MSehshLJt dXZIMTHiAePIynqxNSx+AI5sifnZFFI7gLRTHmngkXqCk0WGFeFYTMEg/5DHmNNMnEoSof L9O7s3lwa4ePi61oPKMGQXl8G9CGeolrxhdOg4S7OnvcW3faCQNvrefvNpLmhUyP7fhqiv ebsLhenxLwCwyUFVQei20k3/f/Rj9mHk3ywtcybj3hP7Izd9AqCuxOqdaZ2muEpuiVgUsf k+Lx858X4fSmIJhS///4eiS9p4i30eLrGjTCaeFeM+s2A5SasoaY4N6yLX/Cdg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745662020; a=rsa-sha256; cv=none; b=P9KY/IPL8mJYYJV7N2cKVTEHXp93fw6MPAx3820HU6X4fZa3DASHR24kRQiWWsXYBMJR+i v9feIQqEeSVZePpovYmHc8k6LvhlX4PraOsioTJ/S/8Njfee0HEPeZ17mSORAqrvQvJ+FD KeJcHkYDLtkdx8s52Vg/2J49/2VDlZJbadj0Qzbi0Wj0mwSn9jqrKPodrhmdmBz7Q+Tb7f oJqHf682NcOEIDRsG0A84D9oB+cFf0aAAyla4uOEA5kQeoMrI6vtAt2dNL1LApWchSddIm VnbnhI1MjkuR+86ovpKNCmA7dRF/J05n7/63XGePljqX8o1MjnREz6kqlvJLBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745662020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Mu4JLO9sr3em4oL+V7S84ZBFZVfreJ3BFcIVwkYIwEo=; b=ptEKywPymKMwmKgd5/BJb+BUz2JjxNZxmuNl+TvCGuzvT4/322INbeg7/8oUGNWllX0/PA Fpr+x13B2KkAmb8xDfnKAfk4yfx9odQyGdnnTkhZvwFagSCmG2/VR8+oe8kg0Y84afLCiW nodFMJlT+vceC25Mqo+rR7dSPXPiCqXiESNFOw2WBTOQhm2CrNAj6UwxjLr3zq4Yrnl9lM XlwYaleocnD4hZro+CENYOtru435ZlFBZSO1vCJG+F7IJZ1cCt4BpTwntofi2i0UK3bAIJ H0ZslVb17SwlWWt/uR6+G/vifToYpzlhwdIja22iGGF5kmH4aT49uMxukfCXZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zl53S1M5kz16S; Sat, 26 Apr 2025 10:07: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 53QA70Us066636; Sat, 26 Apr 2025 10:07:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QA6xJl066633; Sat, 26 Apr 2025 10:06:59 GMT (envelope-from git) Date: Sat, 26 Apr 2025 10:06:59 GMT Message-Id: <202504261006.53QA6xJl066633@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 6286b714f5e3 - main - sound tests: Fix PVCHAN and RVCHAN fetching in sndstat_nv List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6286b714f5e398cc2a87883d81aa087ee11ee310 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=6286b714f5e398cc2a87883d81aa087ee11ee310 commit 6286b714f5e398cc2a87883d81aa087ee11ee310 Author: Christos Margiolis AuthorDate: 2025-04-26 10:06:47 +0000 Commit: Christos Margiolis CommitDate: 2025-04-26 10:06:47 +0000 sound tests: Fix PVCHAN and RVCHAN fetching in sndstat_nv Fixes: 0c0bb4c1401c ("sound: Make sndstat PVCHAN and RVCHAN nvlist parameters bool") Reported by: CI Sponsored by: The FreeBSD Foundation MFC after: 1 week --- tests/sys/sound/sndstat.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/sys/sound/sndstat.c b/tests/sys/sound/sndstat.c index 553c745ec950..637e640d3cff 100644 --- a/tests/sys/sound/sndstat.c +++ b/tests/sys/sound/sndstat.c @@ -148,10 +148,10 @@ ATF_TC_BODY(sndstat_nv, tc) NV(number, UNIT); NV(string, STATUS); NV(bool, BITPERFECT); - NV(number, PVCHAN); + NV(bool, PVCHAN); NV(number, PVCHANRATE); NV(number, PVCHANFORMAT); - NV(number, RVCHAN); + NV(bool, RVCHAN); NV(number, PVCHANRATE); NV(number, PVCHANFORMAT); #undef NV From nobody Sat Apr 26 10:07:01 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zl53T53Xpz5v0WV; Sat, 26 Apr 2025 10:07: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 4Zl53T34Jzz49Z9; Sat, 26 Apr 2025 10:07:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745662021; h=from:from:reply-to:subject:subject: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/j0TgybJbqD+wdFML74Y0dUgFD4t/14f3HJFcZU3tI=; b=lz1Y/Mg41ROWpNlaDXpOs/ENYihSYXjPyKRilz1Ii6bhgAwM8YLmeMzxmvzL7kIvfc3V/l 1Mh8Tp5fK0gYj9gGPFdA583+cGg8dlSEnS1yWpEmF4pX4wrCJ4nrakE3W/ZpC29n5GGGSq j0UGM5zynvejsemJ7HNtHl0wj8K8zmAK765EYdgdT5DBK7IdSuGZasv4FMwUuGzx1lStRB c1mpOEHiNQTwYIT1/Sgyu485uPVNR9h5A+xryIr8QBdYBQ+HQpuBV8Vo/adr2sJSLzqTDR iNVj5u8i77pc5ItEn7QgPcKAIkBlyl0bonaHKnTQ9p0Lexp3RmsUIekiymuCgQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745662021; a=rsa-sha256; cv=none; b=ATU+7xm49LiwRipBPL03nB+3b0VFi/CHblIvKdfvYaBYPTI9e6JVJdykqYEWuv2VVZDKhM DENrxhCdlBPBVZyFxHTia3zYgMrZCA4/w+h6g96WxqQMrwYUAdpTYW13Io++BNPohbLvMk W2iv6mTdhSsmrvtcaOG3Q40zDBgq80DhBLKLbVJMKvKf/PkE8KHBVW4QQ0MjegzsIb1AOg rV/7b2X6gcN9Skt1egYsAasH4ZzHNTF3P5mSYGRKTL6hzT9r5/IwLNDn31KiVeL+Qcg4hX GvzOqR+5W+BUOadY4X+0e7+NPzVx2UUUuDqd3bChZ3MN5/50lZe96yLgq3BPkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745662021; h=from:from:reply-to:subject:subject: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/j0TgybJbqD+wdFML74Y0dUgFD4t/14f3HJFcZU3tI=; b=qcA18r4ev2zODPvtr4gaBqagbO70neJOnxYHqMPZ7sAOyNze3GQLmiqBgc6unmqV1ZAsf0 cfQCKd7RH/oSEjKvGpMtvFV3m1ft2mf8tlTMqgdO4h2d2qP2ankF2aPdZETd5ASmSNNw37 SVWA+txGkjXwhiHJLVqIZJlkROlrzlIsi8PbJpUpgszh0mkFQTlu5J9kMnO+EO+FfsNQaI JQ+/DfhbVJstmhn/9cPxEIOO4R64BD3pDH7WE9zxgBmLKWHGzeJaS4+n4hEYhgT1OqAiI6 MdxIHeDE6VaVLZTf3Kn40lqV6fzDvEAWEpnxtGr0sHJhYo85vfxsyUM10+zcgw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zl53T1hGwzy9; Sat, 26 Apr 2025 10:07: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 53QA71nC066676; Sat, 26 Apr 2025 10:07:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QA71c3066673; Sat, 26 Apr 2025 10:07:01 GMT (envelope-from git) Date: Sat, 26 Apr 2025 10:07:01 GMT Message-Id: <202504261007.53QA71c3066673@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 52a0f967dcc5 - main - sound tests: Fetch HWBUF_RATE and SWBUF_RATE in sndstat_nv List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 52a0f967dcc5b78c5f2f7e49a96e9cec56472a4f Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=52a0f967dcc5b78c5f2f7e49a96e9cec56472a4f commit 52a0f967dcc5b78c5f2f7e49a96e9cec56472a4f Author: Christos Margiolis AuthorDate: 2025-04-26 10:06:52 +0000 Commit: Christos Margiolis CommitDate: 2025-04-26 10:06:52 +0000 sound tests: Fetch HWBUF_RATE and SWBUF_RATE in sndstat_nv Introduced in 19ec522d6dc1 ("sound: Export hardware and software buffer sample rate in sndstat nvlist"). Sponsored by: The FreeBSD Foundation MFC after: 1 week --- tests/sys/sound/sndstat.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/sys/sound/sndstat.c b/tests/sys/sound/sndstat.c index 637e640d3cff..ed292b570429 100644 --- a/tests/sys/sound/sndstat.c +++ b/tests/sys/sound/sndstat.c @@ -184,12 +184,14 @@ ATF_TC_BODY(sndstat_nv, tc) NV(number, LEFTVOL); NV(number, RIGHTVOL); NV(number, HWBUF_FORMAT); + NV(number, HWBUF_RATE); NV(number, HWBUF_SIZE); NV(number, HWBUF_BLKSZ); NV(number, HWBUF_BLKCNT); NV(number, HWBUF_FREE); NV(number, HWBUF_READY); NV(number, SWBUF_FORMAT); + NV(number, SWBUF_RATE); NV(number, SWBUF_SIZE); NV(number, SWBUF_BLKSZ); NV(number, SWBUF_BLKCNT); From nobody Sat Apr 26 10:18:56 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zl5KF17cPz5v11S; Sat, 26 Apr 2025 10:18: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 4Zl5KD4BBBz3BxS; Sat, 26 Apr 2025 10:18:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745662736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vm6HgQ4BjoPAkAgmC75JlYNkOWFne0/CIuvVkws1fws=; b=lxLK8VjEgyZlxq5ryY3Gv5FPbZ/7z/gU2NX3oeuV134ePm2/M7wEswmsO/KmfwWYtAaE+b prT1BXZDI9FT8OM6aBv8bpBpLH/g32v6tA4gPXLXvmt7TokAsVWbCy7GdwNciMNCtYWlkD com2jZusbp19v3jOSSU0KcaCwWhrQpSpsnAKfsX/POWoiqGGB5KnqfMXlN/5pVqx266dtp aqB54SGHtPt06G2bcdKFyLR+L5wzmsEy1lz3IPROSV4wAQ60zPLbdaBP5Si1tS5F1G5AYi fvYy032/69Gn3ImpOVpEKzXOQkevVUpzT1yDrPuC9kE3ytC+dDKQtxeLYFBBtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745662736; a=rsa-sha256; cv=none; b=hAxdoRJikcAXxBqTRZPVo9QpqNBE0fVd8ppDz6xup2/aqHfxvudJZQU90p/CqZjKuRhrZc AGVEjmAH7NsyprQvFFhQpKJBwUHpoGfzTxl8jneLiJ7ElCge4NMDlc0TKtd50JOSeL1l0M eF1o+1BGuxt9NR6DsiemPDSDqHN5m/sVA43L6kLaT3C98dqY1lowh9KzpCnOEpPHKnYFA7 WgXMtcxxXYcCjNUsmvBmVIZwrtzi1/Bume7A5Xr2FLHkuIxYOjwSZ6XABSFRTBPVCgUX/Z ASb3rmZJteg5c2Mg7EBF7NW8xzkXpVyuc2SjYPHw4yMFxUh7GwFK6hm/+XHUNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745662736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vm6HgQ4BjoPAkAgmC75JlYNkOWFne0/CIuvVkws1fws=; b=LbRuBfT6pU2SYH4fBXHOo6BjOwQojLCWGwOJnpA/GBHtrAZUxnkzQAFg2Y2iZkYZEPL56h SUGwTmuZuBr/fAAvgqOzo2M3Yh3Qlnf5t+jiIH6j1GWKVIyMR+vOTqJos6mh5XW9LCTeGu ThWWJG9/sHJPoricZe86ib214Hr228anwYSA2pzmNyXFLE3ZLdQwxR/yoazOlp2hjD6/J9 uaidObIhegus22Uz3nN9HLtmmwL/K545TV/ZwBlHI4XU42o0EuvRuJTp1kP1sNpVuvq4SS 0xq+uA/ds1e5WkbL/cuW7B0y+Fp0/EwIwGfEKfR374wq76N7PXrebUEvmY0Nmg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zl5KD3NkJz1p5; Sat, 26 Apr 2025 10:18: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 53QAIuQD086265; Sat, 26 Apr 2025 10:18:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QAIuBh086262; Sat, 26 Apr 2025 10:18:56 GMT (envelope-from git) Date: Sat, 26 Apr 2025 10:18:56 GMT Message-Id: <202504261018.53QAIuBh086262@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gordon Bergling Subject: git: 52cc1708f5af - main - nvmecontrol(8): Fix two typos in command messages List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 52cc1708f5afdb3208d7797b87b3059a780d613b Auto-Submitted: auto-generated The branch main has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=52cc1708f5afdb3208d7797b87b3059a780d613b commit 52cc1708f5afdb3208d7797b87b3059a780d613b Author: Gordon Bergling AuthorDate: 2025-04-26 10:18:31 +0000 Commit: Gordon Bergling CommitDate: 2025-04-26 10:18:31 +0000 nvmecontrol(8): Fix two typos in command messages Fix two typos in command messages: - s/identiy/identity/ MFC after: 1 week --- sbin/nvmecontrol/identify.c | 2 +- sbin/nvmecontrol/ns.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sbin/nvmecontrol/identify.c b/sbin/nvmecontrol/identify.c index ea81f23d3aab..98a3141bf9ad 100644 --- a/sbin/nvmecontrol/identify.c +++ b/sbin/nvmecontrol/identify.c @@ -267,7 +267,7 @@ identify(const struct cmd *f, int argc, char *argv[]) static const struct opts identify_opts[] = { #define OPT(l, s, t, opt, addr, desc) { l, s, t, &opt.addr, desc } OPT("hex", 'x', arg_none, opt, hex, - "Print identiy information in hex"), + "Print identity information in hex"), OPT("verbose", 'v', arg_none, opt, verbose, "More verbosity: print entire identify table"), OPT("nsid", 'n', arg_uint32, opt, nsid, diff --git a/sbin/nvmecontrol/ns.c b/sbin/nvmecontrol/ns.c index 5e2a50df4ba1..c538338eb6c3 100644 --- a/sbin/nvmecontrol/ns.c +++ b/sbin/nvmecontrol/ns.c @@ -333,7 +333,7 @@ static struct identify_options { static const struct opts identify_opts[] = { OPT("hex", 'x', arg_none, identify_opt, hex, - "Print identiy information in hex"), + "Print identity information in hex"), OPT("verbose", 'v', arg_none, identify_opt, verbose, "More verbosity: print entire identify table"), OPT("nsid", 'n', arg_uint32, identify_opt, nsid, From nobody Sat Apr 26 18:12:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlHq94B0Jz5tYdG; Sat, 26 Apr 2025 18:12: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 4ZlHq92fCZz43M0; Sat, 26 Apr 2025 18:12:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745691125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oiy1Lg870CYqLXdZ2GOz5+BngRw78OtSC/n/HMWGJrU=; b=KyxzEYvcEvAat9QkkAipf3XyfvimQOpRp4Ph+9KIvFMU59viCI4wmzay7EvXqB3E5AkHGS tzV76sxuatCMMTGtJS6HSDZ4bmj4W7WS/X+Jqi29MPFZSF53uuqLCiOsNzUA8boGDOPRhC DrT+tqNGT3rzMLhXAdquEopoBP9fwK0jd2Jnx83uEBn1uK4EX4kTeYQiyIwPh+z3SpIlpe FISp8hwGsd3Ts4cA6KtGCAdihbq5XTGDm5+QGSoghNTpGM8W0YO6Iegop7U44hJBu0xDBI od88Gfs8eW7vOBLBECVgTqZyZHu5k7Ofkh7oDq+7H+pF2TZw2JeY2lp6MrlYhA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745691125; a=rsa-sha256; cv=none; b=pxbDTzZIuUqDHtNNbfSZ/Ze5ZbazGy3gtCNfE9+jD1ARdT17nCmfvyKJ3WfBmVSNCH4M5z tRrIHDZED3dcnpTZexLuaEWICpnJ5YefaAbU+jHrVYScg1RS8pAKdkgiFZeE7obBVk77BL S+/UXOaUlzZTOM+P3wUgSL/3Rn6UhNQY5uN/2LUb6yefbaD5PrHVKo0LDQzQklOYVJq5C4 5zWHxUsZfleOa65eMHiOhxvyRq3PrERMiOPFtBlhnF8zG3yLWLjbPQqEonjk5ouIrWYtTp JEOJXM2Xzl5QbGwDS0fVVLNjGb5iun70iQFqHxp9baar8Jj4JvjywCVU7FE2LQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745691125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oiy1Lg870CYqLXdZ2GOz5+BngRw78OtSC/n/HMWGJrU=; b=xv5hmwA2jASRUZ3m1EinpEtOURGP7IwQPjPs80WkM5wGThxWyCy2SzG0/zGRiZme/ONEdr cZimM/kzl887qecW52SF8aEIVEfzbyx8R6i/Kq/P+oMEq3Gwdk0E6laxLNSHdOHbck49zZ beAxoTLN8KfE08d/uNw6KkYDePw5uvL/Lo9Kq03yy0SYsvwFcJvL75ZKoLAs8azXitkjO+ 0RrzBBLAviKFhEBcWJkbuKlnhZ4P4LUvy+OT7vc4trBnW13n4UkiKtU43vTLHbGH3rcyz4 WkKGRk+NWwh08VdfKMk2dMyaHYDSHS24hybTOSEzSuBePQ0N+nw00Y/ikEQKLQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlHq91x2DzXMc; Sat, 26 Apr 2025 18:12: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 53QIC5FI082491; Sat, 26 Apr 2025 18:12:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QIC5qx082488; Sat, 26 Apr 2025 18:12:05 GMT (envelope-from git) Date: Sat, 26 Apr 2025 18:12:05 GMT Message-Id: <202504261812.53QIC5qx082488@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: a114891356c4 - main - vm_page: drop find_least() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a114891356c4912c989f06d408c18bb4dee12a9a Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=a114891356c4912c989f06d408c18bb4dee12a9a commit a114891356c4912c989f06d408c18bb4dee12a9a Author: Doug Moore AuthorDate: 2025-04-26 18:09:24 +0000 Commit: Doug Moore CommitDate: 2025-04-26 18:09:24 +0000 vm_page: drop find_least() Remove the function vm_page_find_least and in the place it is used, replace it with vm_radix_lookup_ge(). Reviewed by: alc Differential Revision: https://reviews.freebsd.org/D50042 --- sys/kern/kern_proc.c | 3 ++- sys/vm/vm_page.c | 19 ------------------- sys/vm/vm_page.h | 1 - 3 files changed, 2 insertions(+), 21 deletions(-) diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index ee15efb5fb31..191143443d42 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -92,6 +92,7 @@ #include #include #include +#include #include #include @@ -2560,7 +2561,7 @@ kern_proc_vmmap_resident(vm_map_t map, vm_map_entry_t entry, pi_adv = atop(entry->end - addr); pindex = pi; for (tobj = obj;; tobj = tobj->backing_object) { - m = vm_page_find_least(tobj, pindex); + m = vm_radix_lookup_ge(&tobj->rtree, pindex); if (m != NULL) { if (m->pindex == pindex) break; diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 9e41735460db..e2f11eb57100 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -1875,25 +1875,6 @@ vm_page_busy_release(vm_page_t m) } } -/* - * vm_page_find_least: - * - * Returns the page associated with the object with least pindex - * greater than or equal to the parameter pindex, or NULL. - * - * The object must be locked. - */ -vm_page_t -vm_page_find_least(vm_object_t object, vm_pindex_t pindex) -{ - vm_page_t m; - - VM_OBJECT_ASSERT_LOCKED(object); - if ((m = TAILQ_FIRST(&object->memq)) != NULL && m->pindex < pindex) - m = vm_radix_lookup_ge(&object->rtree, pindex); - return (m); -} - /* * Uses the page mnew as a replacement for an existing page at index * pindex which must be already present in the object. diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h index c24ae8b64d28..6d1982767cc8 100644 --- a/sys/vm/vm_page.h +++ b/sys/vm/vm_page.h @@ -649,7 +649,6 @@ void vm_page_deactivate(vm_page_t); void vm_page_deactivate_noreuse(vm_page_t); void vm_page_dequeue(vm_page_t m); void vm_page_dequeue_deferred(vm_page_t m); -vm_page_t vm_page_find_least(vm_object_t, vm_pindex_t); void vm_page_free_invalid(vm_page_t); vm_page_t vm_page_getfake(vm_paddr_t paddr, vm_memattr_t memattr); void vm_page_initfake(vm_page_t m, vm_paddr_t paddr, vm_memattr_t memattr); From nobody Sat Apr 26 20:35:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlM0C1hzfz5tkVW; Sat, 26 Apr 2025 20:35:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlM0C0pJ3z3NwP; Sat, 26 Apr 2025 20:35:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745699707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4QP1fWPBRhToB2GG4/2013PkER/lRFqkREGFeOUis2E=; b=jC41NG0KA2L5dN0MCf6Mh+kilEJKm/6rhFIMLbbbvkQXrSeZnKnqC9bQmMzuXvmdp/BFU1 J48CT1fIwBBB1QlyAGf6vDf8C5m39wGYH6H0ctQef3ZnS6SgyOpg8OhMINqeTmUVUmFd8i M6vx7GApxt4G5egECQ80a4Or+FlA5wvVwvw1EHijcpwsRQPX+fSuJCQVR5vE/2RMLR5yUu KDWQBDd362ZWO+Vk4rT5OMKiY7Vy0Vq0kJi0VJ6qpkH788W5/OlmGzouGSKTtLh9UTsbZM 1vIcRdSRJSHK0L9EbhDbCAT40/yKTOodS+OChmorFRKPGYLlvYzyT23O9KUIiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745699707; a=rsa-sha256; cv=none; b=VZwbhOErJxH9EJ8PMCZedyp/OOBDOsQhI8B/ml3Qd79DM12SRRftOvLVID/pxt37/ojztR 9MSM+/ZI6g9jYqHapFQneqR2ESs8aBqDBfIqtxGIq16W3+pcRAsiEKf6qAteF2wIMh0yHx 590BXVUzULNXw4Q8m2dHScBqf8zUJZE+9uDwhpZgw4eLhTp1lQ0jEDk8dUrtlN9km1lB1j OpgKS9FmylV1OY12QtEJWsICPVNiGdNk8YeRgIahhuP8lG2TUpIlXxGDr5vIqqvfGwJPEQ VbDBhyM6DPUwAcXiYauQd+VPzpyCYMpx+kyB0+nn8E6u6UwAf8NJrQ3LMqg+ZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745699707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4QP1fWPBRhToB2GG4/2013PkER/lRFqkREGFeOUis2E=; b=OE6+zIpn/ILgjiDYp7yoiiJnAj9SgOk1hQU+RAKyKQLs4PwozoVxYyGPrEgMm2Yxo0UsAN KFcVGfrbrvzC36wYIDB3Bcniqbr6ghU5HXrZVvFFczLRBx3XSNRJnsb07n9TqIQEWS9swO CfdO+Q08wR6ZoCH4m3pNtgaJygiOA0G7cIYD4tfmPosfBLp3ACWsRgCT0BZiPPyuJgEK3g FnNp/U6jUtoGFNaZ2+8gkW6/hc14raKrpzPaHG8V5Ina+efafTjL/BN0bYrC8acx3ZWe4e 3uA+56r8ZHTTSt+9OIhBf+nfg8MzxHwas6Ab3osjTGAoZVv1YAzCg0cCt4C1HA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlM0B75ZZzcYl; Sat, 26 Apr 2025 20:35: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 53QKZ6Mi045677; Sat, 26 Apr 2025 20:35:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53QKZ6No045674; Sat, 26 Apr 2025 20:35:06 GMT (envelope-from git) Date: Sat, 26 Apr 2025 20:35:06 GMT Message-Id: <202504262035.53QKZ6No045674@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 6014596899c5 - main - agp: Drop a needless iterator reset List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6014596899c5740a07f5986be3d7380f243565e7 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=6014596899c5740a07f5986be3d7380f243565e7 commit 6014596899c5740a07f5986be3d7380f243565e7 Author: Doug Moore AuthorDate: 2025-04-26 20:27:28 +0000 Commit: Doug Moore CommitDate: 2025-04-26 20:27:28 +0000 agp: Drop a needless iterator reset Reported by: alc Fixes: e1f3f15192c1 ("agp: use iterators to speed up lookups") --- sys/dev/agp/agp.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/agp/agp.c b/sys/dev/agp/agp.c index b4fe186e4903..ddf735a4130e 100644 --- a/sys/dev/agp/agp.c +++ b/sys/dev/agp/agp.c @@ -611,7 +611,6 @@ agp_generic_bind_memory(device_t dev, struct agp_memory *mem, */ for (k = 0; k < i + j; k += AGP_PAGE_SIZE) AGP_UNBIND_PAGE(dev, offset + k); - pctrie_iter_reset(&pages); goto bad; } } From nobody Sun Apr 27 03:21:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlX0d5yNTz5vBf1; Sun, 27 Apr 2025 03:21: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 4ZlX0d4hTcz46XH; Sun, 27 Apr 2025 03:21:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745724065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3b1sfvqpDZhwGhUrKoVlvGKcnQAZgw77ci1uqOmguq4=; b=hle+zv27BXb0HQ2L8WqI/6U6dE6pAOkwGU2lDQTa+UTO7s7qmi74fCkuZpd7usFiyY+Pmh 7jnjmsrBlmAfheT7e0h8rqgJLzEaTlv5W4JPUWtO6RqjbRHwMB9oAYR5i1SmFEJR6eZ24N 3aVsp3Ou/GzDTGk4NmAtS57OfsVMpQa4Xfn5LwWdoy7P5N3QHLqmasRhPfzQprPVd+5y8g rvQ+P/PpoqG/g3Rqg4MLbAXim8Xxw0n2Fsp8PlI81eJPspPlW4EYhV+/88oi/+64zdd8Zj +NqHJ+h2WODhmFsnY+R54BZUCqcLdtvp0D7MQG38DbVmKQ3iVNge3qTeBMaOZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745724065; a=rsa-sha256; cv=none; b=R9IRWC1F7cX0y+nbP+oChKwWCY3DjLkyO2ogQu4jGQG/lEUhjjCK25PgH0SKh7+IkAiByI Wj7seTnh5gwOFmIkkTjpMPzMYvuh7eAMK7FDcSo7yvxD23iAFc8jC8Jx6704iz+0/c+Uy3 PtR4/iUDj9oucRd9YDypzN4wdfeE3qt4hmEr4zxYfZWq16s79YaQWQF2nqrsDy7e5XxC8P bJxt8hOPIlK9qRof1VouwzqhH8dvQLRtwJqaNdfAFIj+l234OPozLWoKMJW2+deH+Z0vlu 5LWIgbaBrSM5gYpZpV1Awd5a98TXOHkGLD7F4QCwvDHI0MM8CjUI93uLDCzyiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745724065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3b1sfvqpDZhwGhUrKoVlvGKcnQAZgw77ci1uqOmguq4=; b=SRb9WzluTD0T1KAF47ITxYCB3e8K8QhpYLywfo+J5Mi7JXE0GTqqZ31fiHRyMUNH1B9bYt 7sQ+e7hoHR8X5ZoBPbTAfqnvgAzAkflrSPjsJJEAnx3JjXdGEQo3pTX10SBk0sP01CB4zD yL5kxoHGqtOIkLkrh1ViV1HC2e3Wg5voYxB+UbgT7/27X/rnouxReKfNYf6Ed/kW53RYn2 sCyyMVnYL0Qi4LCIqKulSKY9YlScJADDtIi2cQTlFLr27J/nORRWH9fw6vbBG6XVcU+h6p N3p1iaidRPb/3+yfCwzmUUhdqQ0YR0TZ0ivPiDzwFigAxtfjjkU4DO6n5HgUSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlX0d4GwzzprL; Sun, 27 Apr 2025 03:21: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 53R3L5uQ009719; Sun, 27 Apr 2025 03:21:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53R3L5uR009716; Sun, 27 Apr 2025 03:21:05 GMT (envelope-from git) Date: Sun, 27 Apr 2025 03:21:05 GMT Message-Id: <202504270321.53R3L5uR009716@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: be771a7b7f45 - main - unbound: Vendor import 1.23.0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: be771a7b7f4580a30d99e41a5bb1b93a385a119d Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=be771a7b7f4580a30d99e41a5bb1b93a385a119d commit be771a7b7f4580a30d99e41a5bb1b93a385a119d Merge: 6014596899c5 44bab727dfe2 Author: Cy Schubert AuthorDate: 2025-04-25 14:48:44 +0000 Commit: Cy Schubert CommitDate: 2025-04-27 03:20:22 +0000 unbound: Vendor import 1.23.0 Release notes at https://nlnetlabs.nl/news/2025/Apr/24/unbound-1.23.0-released/ MFC after: 2 weeks Merge commit '44bab727dfe28451b777dc9e47db4f748b709182' contrib/unbound/Makefile.in | 23 +- contrib/unbound/ax_build_date_epoch.m4 | 70 + contrib/unbound/cachedb/cachedb.c | 5 +- contrib/unbound/cachedb/redis.c | 280 +- contrib/unbound/compat/malloc.c | 4 - contrib/unbound/config.h.in | 6 + contrib/unbound/configure | 122 +- contrib/unbound/configure.ac | 32 +- contrib/unbound/contrib/android/install_expat.sh | 11 +- contrib/unbound/contrib/ios/install_expat.sh | 18 +- contrib/unbound/daemon/acl_list.c | 30 +- contrib/unbound/daemon/acl_list.h | 13 +- contrib/unbound/daemon/cachedump.c | 4 +- contrib/unbound/daemon/daemon.c | 42 +- contrib/unbound/daemon/daemon.h | 35 +- contrib/unbound/daemon/remote.c | 4162 ++++++++++- contrib/unbound/daemon/remote.h | 167 + contrib/unbound/daemon/stats.c | 32 +- contrib/unbound/daemon/unbound.c | 92 +- contrib/unbound/daemon/worker.c | 118 +- contrib/unbound/daemon/worker.h | 8 +- contrib/unbound/dns64/dns64.c | 6 +- contrib/unbound/dnstap/dnstap.c | 28 +- contrib/unbound/dnstap/dnstap.h | 7 + contrib/unbound/dnstap/unbound-dnstap-socket.c | 17 +- contrib/unbound/doc/Changelog | 265 + contrib/unbound/doc/README | 2 +- contrib/unbound/doc/example.conf.in | 54 +- contrib/unbound/doc/libunbound.3.in | 4 +- contrib/unbound/doc/unbound-anchor.8.in | 2 +- contrib/unbound/doc/unbound-checkconf.8.in | 2 +- contrib/unbound/doc/unbound-control.8.in | 169 +- contrib/unbound/doc/unbound-host.1.in | 2 +- contrib/unbound/doc/unbound.8.in | 4 +- contrib/unbound/doc/unbound.conf.5.in | 204 +- contrib/unbound/ipsecmod/ipsecmod.c | 3 +- contrib/unbound/iterator/iter_delegpt.c | 2 +- contrib/unbound/iterator/iter_fwd.c | 52 +- contrib/unbound/iterator/iter_fwd.h | 9 + contrib/unbound/iterator/iter_hints.c | 13 +- contrib/unbound/iterator/iter_hints.h | 9 + contrib/unbound/iterator/iter_utils.c | 153 +- contrib/unbound/iterator/iter_utils.h | 49 +- contrib/unbound/iterator/iterator.c | 81 +- contrib/unbound/iterator/iterator.h | 26 +- contrib/unbound/libunbound/libworker.c | 16 +- contrib/unbound/libunbound/unbound.h | 6 + contrib/unbound/pythonmod/interface.i | 1857 +++++ contrib/unbound/pythonmod/pythonmod_utils.c | 201 + contrib/unbound/respip/respip.c | 74 +- contrib/unbound/respip/respip.h | 33 +- contrib/unbound/services/authzone.c | 278 +- contrib/unbound/services/authzone.h | 40 +- contrib/unbound/services/cache/dns.c | 45 +- contrib/unbound/services/cache/dns.h | 5 +- contrib/unbound/services/cache/infra.c | 170 +- contrib/unbound/services/cache/infra.h | 31 + contrib/unbound/services/listen_dnsport.c | 173 +- contrib/unbound/services/listen_dnsport.h | 25 +- contrib/unbound/services/localzone.c | 50 +- contrib/unbound/services/localzone.h | 14 + contrib/unbound/services/mesh.c | 303 +- contrib/unbound/services/mesh.h | 24 + contrib/unbound/services/outside_network.c | 33 +- contrib/unbound/services/outside_network.h | 6 +- contrib/unbound/services/rpz.c | 43 +- contrib/unbound/services/rpz.h | 7 + contrib/unbound/services/view.c | 41 +- contrib/unbound/services/view.h | 26 +- contrib/unbound/sldns/keyraw.c | 2 + contrib/unbound/sldns/rrdef.c | 10 +- contrib/unbound/sldns/rrdef.h | 6 + contrib/unbound/sldns/str2wire.c | 54 +- contrib/unbound/sldns/str2wire.h | 9 + contrib/unbound/sldns/wire2str.c | 50 +- contrib/unbound/sldns/wire2str.h | 13 + contrib/unbound/smallapp/unbound-checkconf.c | 12 +- .../unbound/smallapp/unbound-control-setup.sh.in | 3 +- contrib/unbound/smallapp/unbound-control.c | 24 +- contrib/unbound/smallapp/worker_cb.c | 14 + contrib/unbound/testcode/checklocks.c | 916 +++ contrib/unbound/testcode/do-tests.sh | 76 + contrib/unbound/testcode/doqclient.c | 2715 +++++++ contrib/unbound/testcode/fake_event.c | 2022 +++++ contrib/unbound/testcode/testbound.c | 668 ++ contrib/unbound/testcode/unitdname.c | 1037 +++ contrib/unbound/testcode/unitinfra.c | 209 + contrib/unbound/testcode/unitldns.c | 284 + contrib/unbound/testcode/unitmain.c | 1377 ++++ contrib/unbound/testcode/unitmain.h | 92 + contrib/unbound/testcode/unitneg.c | 545 ++ contrib/unbound/testcode/unitverify.c | 573 ++ contrib/unbound/testcode/unitzonemd.c | 541 ++ .../09-unbound-control.conf | 31 + .../09-unbound-control.test | 493 ++ .../09-unbound-control.testns | 44 + .../testdata/acl_interface.tdir/acl_interface.conf | 198 + .../acl_interface.tdir/acl_interface.test.scenario | 268 + .../unbound/testdata/auth_tls.tdir/auth_tls.pre | 48 + .../auth_tls_failcert.tdir/auth_tls_failcert.pre | 48 + contrib/unbound/testdata/cachedb_expired.crpl | 325 + .../testdata/cachedb_expired_reply_ttl.crpl | 260 + .../unbound/testdata/cachedb_servfail_cname.crpl | 181 + contrib/unbound/testdata/cachedb_val_expired.crpl | 328 + contrib/unbound/testdata/common.sh | 394 + contrib/unbound/testdata/dns_error_reporting.rpl | 200 + contrib/unbound/testdata/dnstap.tdir/dnstap.conf | 43 + .../testdata/fast_reload_fwd.tdir/auth1.zone | 2 + .../testdata/fast_reload_fwd.tdir/auth2.zone | 2 + .../fast_reload_fwd.tdir/fast_reload_fwd.conf | 107 + .../fast_reload_fwd.tdir/fast_reload_fwd.conf2 | 108 + .../fast_reload_fwd.tdir/fast_reload_fwd.dsc | 16 + .../fast_reload_fwd.tdir/fast_reload_fwd.ns1 | 339 + .../fast_reload_fwd.tdir/fast_reload_fwd.ns2 | 285 + .../fast_reload_fwd.tdir/fast_reload_fwd.post | 27 + .../fast_reload_fwd.tdir/fast_reload_fwd.pre | 56 + .../fast_reload_fwd.tdir/fast_reload_fwd.test | 320 + .../auth.nlnetlabs.nl.zone | 3 + .../fast_reload_most_options.conf | 143 + .../fast_reload_most_options.dsc | 16 + .../fast_reload_most_options.post | 11 + .../fast_reload_most_options.pre | 33 + .../fast_reload_most_options.test | 42 + .../rpz.nlnetlabs.nl.zone | 5 + .../fast_reload_thread.conf | 20 + .../fast_reload_thread.tdir/fast_reload_thread.dsc | 16 + .../fast_reload_thread.post | 11 + .../fast_reload_thread.tdir/fast_reload_thread.pre | 34 + .../fast_reload_thread.test | 38 + contrib/unbound/testdata/fwd_0ttlservfail.rpl | 87 + contrib/unbound/testdata/iter_failreply.rpl | 131 + contrib/unbound/testdata/iter_fwdstubauth.rpl | 155 + contrib/unbound/testdata/iter_scrub_rr_length.rpl | 297 + .../testdata/log_servfail.tdir/log_servfail.conf | 27 + .../testdata/log_servfail.tdir/log_servfail.dsc | 16 + .../testdata/log_servfail.tdir/log_servfail.post | 10 + .../testdata/log_servfail.tdir/log_servfail.pre | 21 + .../testdata/log_servfail.tdir/log_servfail.test | 47 + .../unbound/testdata/redis_replica.tdir/after.zone | 2 + .../testdata/redis_replica.tdir/before.zone | 2 + .../unbound/testdata/redis_replica.tdir/redis.conf | 583 ++ .../testdata/redis_replica.tdir/redis_replica.conf | 31 + .../testdata/redis_replica.tdir/redis_replica.dsc | 16 + .../testdata/redis_replica.tdir/redis_replica.post | 18 + .../testdata/redis_replica.tdir/redis_replica.pre | 46 + .../testdata/redis_replica.tdir/redis_replica.test | 78 + .../redis_replica.tdir/unbound_control.key | 39 + .../redis_replica.tdir/unbound_control.pem | 22 + .../testdata/redis_replica.tdir/unbound_server.key | 39 + .../testdata/redis_replica.tdir/unbound_server.pem | 22 + contrib/unbound/testdata/rpz_nsdname.rpl | 471 ++ contrib/unbound/testdata/rpz_val_block.rpl | 642 ++ contrib/unbound/testdata/serve_expired.rpl | 126 + .../unbound/testdata/serve_expired_0ttl_nodata.rpl | 154 + .../testdata/serve_expired_0ttl_nxdomain.rpl | 154 + .../testdata/serve_expired_0ttl_servfail.rpl | 129 + .../testdata/serve_expired_cached_servfail.rpl | 130 + .../serve_expired_cached_servfail_refresh.rpl | 145 + .../serve_expired_client_timeout_servfail.rpl | 219 + .../serve_expired_client_timeout_val_bogus.rpl | 328 + .../unbound/testdata/serve_expired_reply_ttl.rpl | 106 + contrib/unbound/testdata/serve_expired_ttl.rpl | 101 + .../unbound/testdata/serve_expired_ttl_reset.rpl | 101 + .../unbound/testdata/serve_expired_val_bogus.rpl | 389 + contrib/unbound/testdata/serve_expired_zerottl.rpl | 157 + contrib/unbound/testdata/serve_original_ttl.rpl | 139 + .../testdata/stat_values.tdir/stat_values.conf | 44 + .../testdata/stat_values.tdir/stat_values.pre | 50 + .../testdata/stat_values.tdir/stat_values.test | 680 ++ .../testdata/stat_values.tdir/stat_values.testns | 82 + .../stat_values.tdir/stat_values_cachedb.conf | 30 + .../stat_values_discard_wait_limit.conf | 36 + .../unbound/testdata/subnet_cached_servfail.crpl | 168 + .../subnet_global_prefetch_always_forward.crpl | 168 + .../testdata/subnet_global_prefetch_expired.crpl | 242 + contrib/unbound/testdata/test_ldnsrr.4 | 80 + contrib/unbound/testdata/test_ldnsrr.5 | 178 + contrib/unbound/testdata/test_ldnsrr.c3 | 1068 +++ contrib/unbound/testdata/test_ldnsrr.c4 | 84 + contrib/unbound/testdata/test_ldnsrr.c5 | 220 + contrib/unbound/testdata/val_failure_dnskey.rpl | 347 + contrib/unbound/testdata/val_scrub_rr_length.rpl | 163 + contrib/unbound/util/config_file.c | 169 +- contrib/unbound/util/config_file.h | 74 +- contrib/unbound/util/configlexer.c | 7712 ++++++++++---------- contrib/unbound/util/configlexer.lex | 25 +- contrib/unbound/util/configparser.c | 4659 ++++++------ contrib/unbound/util/configparser.h | 352 +- contrib/unbound/util/configparser.y | 143 +- contrib/unbound/util/data/dname.c | 16 +- contrib/unbound/util/data/dname.h | 5 +- contrib/unbound/util/data/msgreply.c | 18 +- contrib/unbound/util/data/msgreply.h | 4 +- contrib/unbound/util/edns.c | 23 + contrib/unbound/util/edns.h | 16 + contrib/unbound/util/fptr_wlist.c | 3 + contrib/unbound/util/iana_ports.inc | 5 +- contrib/unbound/util/log.c | 2 +- contrib/unbound/util/module.c | 8 +- contrib/unbound/util/module.h | 5 + contrib/unbound/util/net_help.c | 163 +- contrib/unbound/util/net_help.h | 29 +- contrib/unbound/util/netevent.c | 243 +- contrib/unbound/util/netevent.h | 21 +- contrib/unbound/util/shm_side/shm_main.c | 2 +- contrib/unbound/util/storage/dnstree.c | 2 +- contrib/unbound/util/storage/lruhash.c | 30 + contrib/unbound/util/storage/lruhash.h | 10 + contrib/unbound/util/storage/slabhash.c | 9 + contrib/unbound/util/storage/slabhash.h | 7 + contrib/unbound/util/tcp_conn_limit.c | 11 + contrib/unbound/util/tcp_conn_limit.h | 9 + contrib/unbound/util/tube.c | 5 +- contrib/unbound/util/ub_event.c | 61 +- contrib/unbound/validator/autotrust.c | 33 +- contrib/unbound/validator/val_anchor.c | 78 +- contrib/unbound/validator/val_anchor.h | 10 +- contrib/unbound/validator/val_neg.c | 9 + contrib/unbound/validator/val_neg.h | 7 + contrib/unbound/validator/validator.c | 99 +- contrib/unbound/validator/validator.h | 23 + contrib/unbound/winrc/win_svc.c | 660 ++ 222 files changed, 41990 insertions(+), 7275 deletions(-) diff --cc contrib/unbound/ax_build_date_epoch.m4 index 000000000000,dbecb067a8cb..dbecb067a8cb mode 000000,100644..100644 --- a/contrib/unbound/ax_build_date_epoch.m4 +++ b/contrib/unbound/ax_build_date_epoch.m4 diff --cc contrib/unbound/pythonmod/interface.i index 000000000000,2040fb9e8adf..2040fb9e8adf mode 000000,100644..100644 --- a/contrib/unbound/pythonmod/interface.i +++ b/contrib/unbound/pythonmod/interface.i diff --cc contrib/unbound/pythonmod/pythonmod_utils.c index 000000000000,fc9921aa1d1e..fc9921aa1d1e mode 000000,100644..100644 --- a/contrib/unbound/pythonmod/pythonmod_utils.c +++ b/contrib/unbound/pythonmod/pythonmod_utils.c diff --cc contrib/unbound/smallapp/unbound-control-setup.sh.in index 4a358f6bd09d,c2a79a242972..c2a79a242972 mode 100755,100644..100755 --- a/contrib/unbound/smallapp/unbound-control-setup.sh.in +++ b/contrib/unbound/smallapp/unbound-control-setup.sh.in diff --cc contrib/unbound/testcode/checklocks.c index 000000000000,93bbf70f4af2..93bbf70f4af2 mode 000000,100644..100644 --- a/contrib/unbound/testcode/checklocks.c +++ b/contrib/unbound/testcode/checklocks.c diff --cc contrib/unbound/testcode/do-tests.sh index 000000000000,4f769c5fdf8f..4f769c5fdf8f mode 000000,100755..100755 --- a/contrib/unbound/testcode/do-tests.sh +++ b/contrib/unbound/testcode/do-tests.sh diff --cc contrib/unbound/testcode/doqclient.c index 000000000000,e6f63a761f35..e6f63a761f35 mode 000000,100644..100644 --- a/contrib/unbound/testcode/doqclient.c +++ b/contrib/unbound/testcode/doqclient.c diff --cc contrib/unbound/testcode/fake_event.c index 000000000000,f7f3210790eb..f7f3210790eb mode 000000,100644..100644 --- a/contrib/unbound/testcode/fake_event.c +++ b/contrib/unbound/testcode/fake_event.c diff --cc contrib/unbound/testcode/testbound.c index 000000000000,6da4ceaf2ebf..6da4ceaf2ebf mode 000000,100644..100644 --- a/contrib/unbound/testcode/testbound.c +++ b/contrib/unbound/testcode/testbound.c diff --cc contrib/unbound/testcode/unitdname.c index 000000000000,08a2dbad774d..08a2dbad774d mode 000000,100644..100644 --- a/contrib/unbound/testcode/unitdname.c +++ b/contrib/unbound/testcode/unitdname.c diff --cc contrib/unbound/testcode/unitinfra.c index 000000000000,6834c51eeab8..6834c51eeab8 mode 000000,100644..100644 --- a/contrib/unbound/testcode/unitinfra.c +++ b/contrib/unbound/testcode/unitinfra.c diff --cc contrib/unbound/testcode/unitldns.c index 000000000000,f8409fec71b1..f8409fec71b1 mode 000000,100644..100644 --- a/contrib/unbound/testcode/unitldns.c +++ b/contrib/unbound/testcode/unitldns.c diff --cc contrib/unbound/testcode/unitmain.c index 000000000000,334c1af93033..334c1af93033 mode 000000,100644..100644 --- a/contrib/unbound/testcode/unitmain.c +++ b/contrib/unbound/testcode/unitmain.c diff --cc contrib/unbound/testcode/unitmain.h index 000000000000,00b5a6220873..00b5a6220873 mode 000000,100644..100644 --- a/contrib/unbound/testcode/unitmain.h +++ b/contrib/unbound/testcode/unitmain.h diff --cc contrib/unbound/testcode/unitneg.c index 000000000000,d1d03fc99150..d1d03fc99150 mode 000000,100644..100644 --- a/contrib/unbound/testcode/unitneg.c +++ b/contrib/unbound/testcode/unitneg.c diff --cc contrib/unbound/testcode/unitverify.c index 000000000000,81c8b13c6d65..81c8b13c6d65 mode 000000,100644..100644 --- a/contrib/unbound/testcode/unitverify.c +++ b/contrib/unbound/testcode/unitverify.c diff --cc contrib/unbound/testcode/unitzonemd.c index 000000000000,63dc13edab33..63dc13edab33 mode 000000,100644..100644 --- a/contrib/unbound/testcode/unitzonemd.c +++ b/contrib/unbound/testcode/unitzonemd.c diff --cc contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.conf index 000000000000,be65336eaf5e..be65336eaf5e mode 000000,100644..100644 --- a/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.conf +++ b/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.conf diff --cc contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.test index 000000000000,da284c2c0ccd..da284c2c0ccd mode 000000,100644..100644 --- a/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.test +++ b/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.test diff --cc contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.testns index 000000000000,311af0f7e771..311af0f7e771 mode 000000,100644..100644 --- a/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.testns +++ b/contrib/unbound/testdata/09-unbound-control.tdir/09-unbound-control.testns diff --cc contrib/unbound/testdata/acl_interface.tdir/acl_interface.conf index 000000000000,b1d94857317f..b1d94857317f mode 000000,100644..100644 --- a/contrib/unbound/testdata/acl_interface.tdir/acl_interface.conf +++ b/contrib/unbound/testdata/acl_interface.tdir/acl_interface.conf diff --cc contrib/unbound/testdata/acl_interface.tdir/acl_interface.test.scenario index 000000000000,6348d2ef4a1a..6348d2ef4a1a mode 000000,100644..100644 --- a/contrib/unbound/testdata/acl_interface.tdir/acl_interface.test.scenario +++ b/contrib/unbound/testdata/acl_interface.tdir/acl_interface.test.scenario diff --cc contrib/unbound/testdata/auth_tls.tdir/auth_tls.pre index 000000000000,cf652b1dc541..cf652b1dc541 mode 000000,100644..100644 --- a/contrib/unbound/testdata/auth_tls.tdir/auth_tls.pre +++ b/contrib/unbound/testdata/auth_tls.tdir/auth_tls.pre diff --cc contrib/unbound/testdata/auth_tls_failcert.tdir/auth_tls_failcert.pre index 000000000000,56da4af739e4..56da4af739e4 mode 000000,100644..100644 --- a/contrib/unbound/testdata/auth_tls_failcert.tdir/auth_tls_failcert.pre +++ b/contrib/unbound/testdata/auth_tls_failcert.tdir/auth_tls_failcert.pre diff --cc contrib/unbound/testdata/cachedb_expired.crpl index 000000000000,d3bf06fe1a1b..d3bf06fe1a1b mode 000000,100644..100644 --- a/contrib/unbound/testdata/cachedb_expired.crpl +++ b/contrib/unbound/testdata/cachedb_expired.crpl diff --cc contrib/unbound/testdata/cachedb_expired_reply_ttl.crpl index 000000000000,03fd01add476..03fd01add476 mode 000000,100644..100644 --- a/contrib/unbound/testdata/cachedb_expired_reply_ttl.crpl +++ b/contrib/unbound/testdata/cachedb_expired_reply_ttl.crpl diff --cc contrib/unbound/testdata/cachedb_servfail_cname.crpl index 000000000000,99b3d51f9135..99b3d51f9135 mode 000000,100644..100644 --- a/contrib/unbound/testdata/cachedb_servfail_cname.crpl +++ b/contrib/unbound/testdata/cachedb_servfail_cname.crpl diff --cc contrib/unbound/testdata/cachedb_val_expired.crpl index 000000000000,741445ce8515..741445ce8515 mode 000000,100644..100644 --- a/contrib/unbound/testdata/cachedb_val_expired.crpl +++ b/contrib/unbound/testdata/cachedb_val_expired.crpl diff --cc contrib/unbound/testdata/common.sh index 000000000000,48b8204d2c51..48b8204d2c51 mode 000000,100644..100644 --- a/contrib/unbound/testdata/common.sh +++ b/contrib/unbound/testdata/common.sh diff --cc contrib/unbound/testdata/dns_error_reporting.rpl index 000000000000,f1fac12a2284..f1fac12a2284 mode 000000,100644..100644 --- a/contrib/unbound/testdata/dns_error_reporting.rpl +++ b/contrib/unbound/testdata/dns_error_reporting.rpl diff --cc contrib/unbound/testdata/dnstap.tdir/dnstap.conf index 000000000000,b5497bfebe86..b5497bfebe86 mode 000000,100644..100644 --- a/contrib/unbound/testdata/dnstap.tdir/dnstap.conf +++ b/contrib/unbound/testdata/dnstap.tdir/dnstap.conf diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/auth1.zone index 000000000000,b6b551a42dd5..b6b551a42dd5 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_fwd.tdir/auth1.zone +++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/auth1.zone diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/auth2.zone index 000000000000,fc59810c9a85..fc59810c9a85 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_fwd.tdir/auth2.zone +++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/auth2.zone diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf index 000000000000,dca76342f172..dca76342f172 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf +++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf2 index 000000000000,dbe6e4ffa821..dbe6e4ffa821 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf2 +++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.conf2 diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.dsc index 000000000000,422cdee4660c..422cdee4660c mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.dsc +++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.dsc diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns1 index 000000000000,d9644414b8e7..d9644414b8e7 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns1 +++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns1 diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns2 index 000000000000,8e7eb60c81e5..8e7eb60c81e5 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns2 +++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.ns2 diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.post index 000000000000,969d0080df63..969d0080df63 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.post +++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.post diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.pre index 000000000000,42e680d8f041..42e680d8f041 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.pre +++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.pre diff --cc contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.test index 000000000000,9248593c75b2..9248593c75b2 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.test +++ b/contrib/unbound/testdata/fast_reload_fwd.tdir/fast_reload_fwd.test diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/auth.nlnetlabs.nl.zone index 000000000000,55b8d34a9e4e..55b8d34a9e4e mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_most_options.tdir/auth.nlnetlabs.nl.zone +++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/auth.nlnetlabs.nl.zone diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.conf index 000000000000,eda3d6763a41..eda3d6763a41 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.conf +++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.conf diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.dsc index 000000000000,e0e8e9fd206e..e0e8e9fd206e mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.dsc +++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.dsc diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.post index 000000000000,7fd25e3648d0..7fd25e3648d0 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.post +++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.post diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.pre index 000000000000,47e3642c65c4..47e3642c65c4 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.pre +++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.pre diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.test index 000000000000,20799986071a..20799986071a mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.test +++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/fast_reload_most_options.test diff --cc contrib/unbound/testdata/fast_reload_most_options.tdir/rpz.nlnetlabs.nl.zone index 000000000000,71b37150692e..71b37150692e mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_most_options.tdir/rpz.nlnetlabs.nl.zone +++ b/contrib/unbound/testdata/fast_reload_most_options.tdir/rpz.nlnetlabs.nl.zone diff --cc contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.conf index 000000000000,719f4a00eaab..719f4a00eaab mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.conf +++ b/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.conf diff --cc contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.dsc index 000000000000,ec3437b695c0..ec3437b695c0 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.dsc +++ b/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.dsc diff --cc contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.post index 000000000000,569a17f852ba..569a17f852ba mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.post +++ b/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.post diff --cc contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.pre index 000000000000,5521742fa318..5521742fa318 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.pre +++ b/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.pre diff --cc contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.test index 000000000000,d2ef258802f7..d2ef258802f7 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.test +++ b/contrib/unbound/testdata/fast_reload_thread.tdir/fast_reload_thread.test diff --cc contrib/unbound/testdata/fwd_0ttlservfail.rpl index 000000000000,d50d386d4137..d50d386d4137 mode 000000,100644..100644 --- a/contrib/unbound/testdata/fwd_0ttlservfail.rpl +++ b/contrib/unbound/testdata/fwd_0ttlservfail.rpl diff --cc contrib/unbound/testdata/iter_failreply.rpl index 000000000000,e8ad4dd26e31..e8ad4dd26e31 mode 000000,100644..100644 --- a/contrib/unbound/testdata/iter_failreply.rpl +++ b/contrib/unbound/testdata/iter_failreply.rpl diff --cc contrib/unbound/testdata/iter_fwdstubauth.rpl index 000000000000,fefb6369c864..fefb6369c864 mode 000000,100644..100644 --- a/contrib/unbound/testdata/iter_fwdstubauth.rpl +++ b/contrib/unbound/testdata/iter_fwdstubauth.rpl diff --cc contrib/unbound/testdata/iter_scrub_rr_length.rpl index 000000000000,ee7579f9c246..ee7579f9c246 mode 000000,100644..100644 --- a/contrib/unbound/testdata/iter_scrub_rr_length.rpl +++ b/contrib/unbound/testdata/iter_scrub_rr_length.rpl diff --cc contrib/unbound/testdata/log_servfail.tdir/log_servfail.conf index 000000000000,2d7c34e68c84..2d7c34e68c84 mode 000000,100644..100644 --- a/contrib/unbound/testdata/log_servfail.tdir/log_servfail.conf +++ b/contrib/unbound/testdata/log_servfail.tdir/log_servfail.conf diff --cc contrib/unbound/testdata/log_servfail.tdir/log_servfail.dsc index 000000000000,cf4f455aadf4..cf4f455aadf4 mode 000000,100644..100644 --- a/contrib/unbound/testdata/log_servfail.tdir/log_servfail.dsc +++ b/contrib/unbound/testdata/log_servfail.tdir/log_servfail.dsc diff --cc contrib/unbound/testdata/log_servfail.tdir/log_servfail.post index 000000000000,a7bd0e88f4bb..a7bd0e88f4bb mode 000000,100644..100644 --- a/contrib/unbound/testdata/log_servfail.tdir/log_servfail.post +++ b/contrib/unbound/testdata/log_servfail.tdir/log_servfail.post diff --cc contrib/unbound/testdata/log_servfail.tdir/log_servfail.pre index 000000000000,54059480824d..54059480824d mode 000000,100644..100644 --- a/contrib/unbound/testdata/log_servfail.tdir/log_servfail.pre +++ b/contrib/unbound/testdata/log_servfail.tdir/log_servfail.pre diff --cc contrib/unbound/testdata/log_servfail.tdir/log_servfail.test index 000000000000,1d19e5ca3b22..1d19e5ca3b22 mode 000000,100644..100644 --- a/contrib/unbound/testdata/log_servfail.tdir/log_servfail.test +++ b/contrib/unbound/testdata/log_servfail.tdir/log_servfail.test diff --cc contrib/unbound/testdata/redis_replica.tdir/after.zone index 000000000000,11c268f81497..11c268f81497 mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/after.zone +++ b/contrib/unbound/testdata/redis_replica.tdir/after.zone diff --cc contrib/unbound/testdata/redis_replica.tdir/before.zone index 000000000000,8e50c6267516..8e50c6267516 mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/before.zone +++ b/contrib/unbound/testdata/redis_replica.tdir/before.zone diff --cc contrib/unbound/testdata/redis_replica.tdir/redis.conf index 000000000000,3b80736e2438..3b80736e2438 mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/redis.conf +++ b/contrib/unbound/testdata/redis_replica.tdir/redis.conf diff --cc contrib/unbound/testdata/redis_replica.tdir/redis_replica.conf index 000000000000,3a558e2337b8..3a558e2337b8 mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/redis_replica.conf +++ b/contrib/unbound/testdata/redis_replica.tdir/redis_replica.conf diff --cc contrib/unbound/testdata/redis_replica.tdir/redis_replica.dsc index 000000000000,03321f11b2b4..03321f11b2b4 mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/redis_replica.dsc +++ b/contrib/unbound/testdata/redis_replica.tdir/redis_replica.dsc diff --cc contrib/unbound/testdata/redis_replica.tdir/redis_replica.post index 000000000000,35f11651808f..35f11651808f mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/redis_replica.post +++ b/contrib/unbound/testdata/redis_replica.tdir/redis_replica.post diff --cc contrib/unbound/testdata/redis_replica.tdir/redis_replica.pre index 000000000000,28ccd7b86d6c..28ccd7b86d6c mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/redis_replica.pre +++ b/contrib/unbound/testdata/redis_replica.tdir/redis_replica.pre diff --cc contrib/unbound/testdata/redis_replica.tdir/redis_replica.test index 000000000000,a9f15b8094f8..a9f15b8094f8 mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/redis_replica.test +++ b/contrib/unbound/testdata/redis_replica.tdir/redis_replica.test diff --cc contrib/unbound/testdata/redis_replica.tdir/unbound_control.key index 000000000000,753a4ef6162e..753a4ef6162e mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/unbound_control.key +++ b/contrib/unbound/testdata/redis_replica.tdir/unbound_control.key diff --cc contrib/unbound/testdata/redis_replica.tdir/unbound_control.pem index 000000000000,a1edf7017f1d..a1edf7017f1d mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/unbound_control.pem +++ b/contrib/unbound/testdata/redis_replica.tdir/unbound_control.pem diff --cc contrib/unbound/testdata/redis_replica.tdir/unbound_server.key index 000000000000,370a7bbb2f22..370a7bbb2f22 mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/unbound_server.key +++ b/contrib/unbound/testdata/redis_replica.tdir/unbound_server.key diff --cc contrib/unbound/testdata/redis_replica.tdir/unbound_server.pem index 000000000000,986807310f2b..986807310f2b mode 000000,100644..100644 --- a/contrib/unbound/testdata/redis_replica.tdir/unbound_server.pem +++ b/contrib/unbound/testdata/redis_replica.tdir/unbound_server.pem diff --cc contrib/unbound/testdata/rpz_nsdname.rpl index 000000000000,661f5da2c345..661f5da2c345 mode 000000,100644..100644 --- a/contrib/unbound/testdata/rpz_nsdname.rpl +++ b/contrib/unbound/testdata/rpz_nsdname.rpl diff --cc contrib/unbound/testdata/rpz_val_block.rpl index 000000000000,d2cd897e09e7..d2cd897e09e7 mode 000000,100644..100644 --- a/contrib/unbound/testdata/rpz_val_block.rpl +++ b/contrib/unbound/testdata/rpz_val_block.rpl diff --cc contrib/unbound/testdata/serve_expired.rpl index 000000000000,990a562c7191..990a562c7191 mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired.rpl +++ b/contrib/unbound/testdata/serve_expired.rpl diff --cc contrib/unbound/testdata/serve_expired_0ttl_nodata.rpl index 000000000000,8ca461be2c7b..8ca461be2c7b mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_0ttl_nodata.rpl +++ b/contrib/unbound/testdata/serve_expired_0ttl_nodata.rpl diff --cc contrib/unbound/testdata/serve_expired_0ttl_nxdomain.rpl index 000000000000,7cf26aedda0a..7cf26aedda0a mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_0ttl_nxdomain.rpl +++ b/contrib/unbound/testdata/serve_expired_0ttl_nxdomain.rpl diff --cc contrib/unbound/testdata/serve_expired_0ttl_servfail.rpl index 000000000000,e9d4c4884e9f..e9d4c4884e9f mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_0ttl_servfail.rpl +++ b/contrib/unbound/testdata/serve_expired_0ttl_servfail.rpl diff --cc contrib/unbound/testdata/serve_expired_cached_servfail.rpl index 000000000000,eb115816ec1d..eb115816ec1d mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_cached_servfail.rpl +++ b/contrib/unbound/testdata/serve_expired_cached_servfail.rpl diff --cc contrib/unbound/testdata/serve_expired_cached_servfail_refresh.rpl index 000000000000,63277f25f15e..63277f25f15e mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_cached_servfail_refresh.rpl +++ b/contrib/unbound/testdata/serve_expired_cached_servfail_refresh.rpl diff --cc contrib/unbound/testdata/serve_expired_client_timeout_servfail.rpl index 000000000000,3c5b35e1793a..3c5b35e1793a mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_client_timeout_servfail.rpl +++ b/contrib/unbound/testdata/serve_expired_client_timeout_servfail.rpl diff --cc contrib/unbound/testdata/serve_expired_client_timeout_val_bogus.rpl index 000000000000,47a6545a4035..47a6545a4035 mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_client_timeout_val_bogus.rpl +++ b/contrib/unbound/testdata/serve_expired_client_timeout_val_bogus.rpl diff --cc contrib/unbound/testdata/serve_expired_reply_ttl.rpl index 000000000000,e76976bde07d..e76976bde07d mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_reply_ttl.rpl +++ b/contrib/unbound/testdata/serve_expired_reply_ttl.rpl diff --cc contrib/unbound/testdata/serve_expired_ttl.rpl index 000000000000,66acbdcf1fe1..66acbdcf1fe1 mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_ttl.rpl +++ b/contrib/unbound/testdata/serve_expired_ttl.rpl diff --cc contrib/unbound/testdata/serve_expired_ttl_reset.rpl index 000000000000,9f215c96bcd1..9f215c96bcd1 mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_ttl_reset.rpl +++ b/contrib/unbound/testdata/serve_expired_ttl_reset.rpl diff --cc contrib/unbound/testdata/serve_expired_val_bogus.rpl index 000000000000,54b66fe98800..54b66fe98800 mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_val_bogus.rpl +++ b/contrib/unbound/testdata/serve_expired_val_bogus.rpl diff --cc contrib/unbound/testdata/serve_expired_zerottl.rpl index 000000000000,1411cb8e77a5..1411cb8e77a5 mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_expired_zerottl.rpl +++ b/contrib/unbound/testdata/serve_expired_zerottl.rpl diff --cc contrib/unbound/testdata/serve_original_ttl.rpl index 000000000000,30503c285ccd..30503c285ccd mode 000000,100644..100644 --- a/contrib/unbound/testdata/serve_original_ttl.rpl +++ b/contrib/unbound/testdata/serve_original_ttl.rpl diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values.conf index 000000000000,312a7e17494f..312a7e17494f mode 000000,100644..100644 --- a/contrib/unbound/testdata/stat_values.tdir/stat_values.conf +++ b/contrib/unbound/testdata/stat_values.tdir/stat_values.conf diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values.pre index 000000000000,81f94d8d10be..81f94d8d10be mode 000000,100644..100644 --- a/contrib/unbound/testdata/stat_values.tdir/stat_values.pre +++ b/contrib/unbound/testdata/stat_values.tdir/stat_values.pre diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values.test index 000000000000,d538e4d60ec2..d538e4d60ec2 mode 000000,100644..100644 --- a/contrib/unbound/testdata/stat_values.tdir/stat_values.test +++ b/contrib/unbound/testdata/stat_values.tdir/stat_values.test diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values.testns index 000000000000,a5c0ae92b599..a5c0ae92b599 mode 000000,100644..100644 --- a/contrib/unbound/testdata/stat_values.tdir/stat_values.testns +++ b/contrib/unbound/testdata/stat_values.tdir/stat_values.testns diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values_cachedb.conf index 000000000000,b7b375b36ef1..b7b375b36ef1 mode 000000,100644..100644 --- a/contrib/unbound/testdata/stat_values.tdir/stat_values_cachedb.conf +++ b/contrib/unbound/testdata/stat_values.tdir/stat_values_cachedb.conf diff --cc contrib/unbound/testdata/stat_values.tdir/stat_values_discard_wait_limit.conf index 000000000000,b6f63cf17cfd..b6f63cf17cfd mode 000000,100644..100644 --- a/contrib/unbound/testdata/stat_values.tdir/stat_values_discard_wait_limit.conf +++ b/contrib/unbound/testdata/stat_values.tdir/stat_values_discard_wait_limit.conf diff --cc contrib/unbound/testdata/subnet_cached_servfail.crpl index 000000000000,f1a66159c4ee..f1a66159c4ee mode 000000,100644..100644 --- a/contrib/unbound/testdata/subnet_cached_servfail.crpl +++ b/contrib/unbound/testdata/subnet_cached_servfail.crpl diff --cc contrib/unbound/testdata/subnet_global_prefetch_always_forward.crpl index 000000000000,775474cbcfeb..775474cbcfeb mode 000000,100644..100644 --- a/contrib/unbound/testdata/subnet_global_prefetch_always_forward.crpl +++ b/contrib/unbound/testdata/subnet_global_prefetch_always_forward.crpl diff --cc contrib/unbound/testdata/subnet_global_prefetch_expired.crpl index 000000000000,374bf3e693aa..374bf3e693aa mode 000000,100644..100644 --- a/contrib/unbound/testdata/subnet_global_prefetch_expired.crpl +++ b/contrib/unbound/testdata/subnet_global_prefetch_expired.crpl diff --cc contrib/unbound/testdata/test_ldnsrr.4 index 000000000000,b20a317289b3..b20a317289b3 mode 000000,100644..100644 --- a/contrib/unbound/testdata/test_ldnsrr.4 +++ b/contrib/unbound/testdata/test_ldnsrr.4 diff --cc contrib/unbound/testdata/test_ldnsrr.5 index 000000000000,1f2837a67098..1f2837a67098 mode 000000,100644..100644 --- a/contrib/unbound/testdata/test_ldnsrr.5 +++ b/contrib/unbound/testdata/test_ldnsrr.5 diff --cc contrib/unbound/testdata/test_ldnsrr.c3 index 000000000000,0ce9340dfc31..0ce9340dfc31 mode 000000,100644..100644 --- a/contrib/unbound/testdata/test_ldnsrr.c3 +++ b/contrib/unbound/testdata/test_ldnsrr.c3 diff --cc contrib/unbound/testdata/test_ldnsrr.c4 index 000000000000,93e7617f6a80..93e7617f6a80 mode 000000,100644..100644 --- a/contrib/unbound/testdata/test_ldnsrr.c4 +++ b/contrib/unbound/testdata/test_ldnsrr.c4 diff --cc contrib/unbound/testdata/test_ldnsrr.c5 index 000000000000,72d7b69d62bc..72d7b69d62bc mode 000000,100644..100644 --- a/contrib/unbound/testdata/test_ldnsrr.c5 +++ b/contrib/unbound/testdata/test_ldnsrr.c5 diff --cc contrib/unbound/testdata/val_failure_dnskey.rpl index 000000000000,c5f1af2ff349..c5f1af2ff349 mode 000000,100644..100644 --- a/contrib/unbound/testdata/val_failure_dnskey.rpl +++ b/contrib/unbound/testdata/val_failure_dnskey.rpl diff --cc contrib/unbound/testdata/val_scrub_rr_length.rpl index 000000000000,f83157ff04c3..f83157ff04c3 mode 000000,100644..100644 --- a/contrib/unbound/testdata/val_scrub_rr_length.rpl +++ b/contrib/unbound/testdata/val_scrub_rr_length.rpl diff --cc contrib/unbound/util/config_file.c index 6d13c03befb8,000000000000..cf610efc6a7c mode 100644,000000..100644 --- a/contrib/unbound/util/config_file.c +++ b/contrib/unbound/util/config_file.c @@@ -1,2848 -1,0 +1,2905 @@@ +/* + * util/config_file.c - reads and stores the config file for unbound. + * + * Copyright (c) 2007, NLnet Labs. All rights reserved. + * + * This software is open source. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of the NLNET LABS nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * \file + * + * This file contains functions for the config file. + */ + +#include "config.h" +#include +#include +#include +#ifdef HAVE_TIME_H +#include +#endif +#include "util/log.h" +#include "util/configyyrename.h" +#include "util/config_file.h" +#include "configparser.h" +#include "util/net_help.h" +#include "util/data/msgparse.h" +#include "util/module.h" +#include "util/regional.h" +#include "util/fptr_wlist.h" +#include "util/data/dname.h" +#include "util/random.h" +#include "util/rtt.h" +#include "services/cache/infra.h" +#include "sldns/wire2str.h" +#include "sldns/parseutil.h" +#include "iterator/iterator.h" +#ifdef HAVE_GLOB_H +# include +#endif +#ifdef CLIENT_SUBNET +#include "edns-subnet/edns-subnet.h" +#endif +#ifdef HAVE_PWD_H +#include +#endif + +/** from cfg username, after daemonize setup performed */ +uid_t cfg_uid = (uid_t)-1; +/** from cfg username, after daemonize setup performed */ +gid_t cfg_gid = (gid_t)-1; +/** for debug allow small timeout values for fast rollovers */ +int autr_permit_small_holddown = 0; +/** size (in bytes) of stream wait buffers max */ +size_t stream_wait_max = 4 * 1024 * 1024; +size_t http2_query_buffer_max = 4 * 1024 * 1024; +size_t http2_response_buffer_max = 4 * 1024 * 1024; + +/** global config during parsing */ +struct config_parser_state* cfg_parser = 0; + +/** init ports possible for use */ +static void init_outgoing_availports(int* array, int num); + +/** init cookie with random data */ +static void init_cookie_secret(uint8_t* cookie_secret, size_t cookie_secret_len); + +struct config_file* +config_create(void) +{ + struct config_file* cfg; + cfg = (struct config_file*)calloc(1, sizeof(struct config_file)); + if(!cfg) + return NULL; + /* the defaults if no config is present */ + cfg->verbosity = 1; + cfg->stat_interval = 0; + cfg->stat_cumulative = 0; + cfg->stat_extended = 0; + cfg->stat_inhibit_zero = 1; + cfg->num_threads = 1; + cfg->port = UNBOUND_DNS_PORT; + cfg->do_ip4 = 1; + cfg->do_ip6 = 1; + cfg->do_udp = 1; + cfg->do_tcp = 1; + cfg->tcp_reuse_timeout = 60 * 1000; /* 60s in milisecs */ + cfg->max_reuse_tcp_queries = 200; + cfg->tcp_upstream = 0; + cfg->udp_upstream_without_downstream = 0; + cfg->tcp_mss = 0; + cfg->outgoing_tcp_mss = 0; + cfg->tcp_idle_timeout = 30 * 1000; /* 30s in millisecs */ + cfg->tcp_auth_query_timeout = 3 * 1000; /* 3s in millisecs */ + cfg->do_tcp_keepalive = 0; + cfg->tcp_keepalive_timeout = 120 * 1000; /* 120s in millisecs */ + cfg->sock_queue_timeout = 0; /* do not check timeout */ + cfg->ssl_service_key = NULL; + cfg->ssl_service_pem = NULL; + cfg->ssl_port = UNBOUND_DNS_OVER_TLS_PORT; + cfg->ssl_upstream = 0; + cfg->tls_cert_bundle = NULL; + cfg->tls_win_cert = 0; + cfg->tls_use_sni = 1; + cfg->https_port = UNBOUND_DNS_OVER_HTTPS_PORT; + if(!(cfg->http_endpoint = strdup("/dns-query"))) goto error_exit; + cfg->http_max_streams = 100; + cfg->http_query_buffer_size = 4*1024*1024; + cfg->http_response_buffer_size = 4*1024*1024; + cfg->http_nodelay = 1; + cfg->quic_port = UNBOUND_DNS_OVER_QUIC_PORT; + cfg->quic_size = 8*1024*1024; + cfg->use_syslog = 1; + cfg->log_identity = NULL; /* changed later with argv[0] */ + cfg->log_time_ascii = 0; + cfg->log_time_iso = 0; + cfg->log_queries = 0; + cfg->log_replies = 0; + cfg->log_tag_queryreply = 0; + cfg->log_local_actions = 0; + cfg->log_servfail = 0; + cfg->log_destaddr = 0; +#ifndef USE_WINSOCK +# ifdef USE_MINI_EVENT + /* select max 1024 sockets */ + cfg->outgoing_num_ports = 960; + cfg->num_queries_per_thread = 512; +# else + /* libevent can use many sockets */ + cfg->outgoing_num_ports = 4096; + cfg->num_queries_per_thread = 1024; +# endif + cfg->outgoing_num_tcp = 10; + cfg->incoming_num_tcp = 10; +#else + cfg->outgoing_num_ports = 48; /* windows is limited in num fds */ + cfg->num_queries_per_thread = 24; + cfg->outgoing_num_tcp = 2; /* leaves 64-52=12 for: 4if,1stop,thread4 */ + cfg->incoming_num_tcp = 2; +#endif + cfg->stream_wait_size = 4 * 1024 * 1024; + cfg->edns_buffer_size = 1232; /* from DNS flagday recommendation */ + cfg->msg_buffer_size = 65552; /* 64 k + a small margin */ + cfg->msg_cache_size = 4 * 1024 * 1024; + cfg->msg_cache_slabs = 4; + cfg->jostle_time = 200; + cfg->rrset_cache_size = 4 * 1024 * 1024; + cfg->rrset_cache_slabs = 4; + cfg->host_ttl = 900; + cfg->bogus_ttl = 60; + cfg->min_ttl = 0; + cfg->max_ttl = 3600 * 24; + cfg->max_negative_ttl = 3600; + cfg->min_negative_ttl = 0; + cfg->prefetch = 0; + cfg->prefetch_key = 0; + cfg->deny_any = 0; + cfg->infra_cache_slabs = 4; + cfg->infra_cache_numhosts = 10000; + cfg->infra_cache_min_rtt = 50; + cfg->infra_cache_max_rtt = 120000; + cfg->infra_keep_probing = 0; + cfg->delay_close = 0; + cfg->udp_connect = 1; + if(!(cfg->outgoing_avail_ports = (int*)calloc(65536, sizeof(int)))) + goto error_exit; + init_outgoing_availports(cfg->outgoing_avail_ports, 65536); + if(!(cfg->username = strdup(UB_USERNAME))) goto error_exit; +#ifdef HAVE_CHROOT + if(!(cfg->chrootdir = strdup(CHROOT_DIR))) goto error_exit; +#endif + if(!(cfg->directory = strdup(RUN_DIR))) goto error_exit; + if(!(cfg->logfile = strdup(""))) goto error_exit; + if(!(cfg->pidfile = strdup(PIDFILE))) goto error_exit; + if(!(cfg->target_fetch_policy = strdup("3 2 1 0 0"))) goto error_exit; + cfg->fast_server_permil = 0; + cfg->fast_server_num = 3; + cfg->donotqueryaddrs = NULL; + cfg->donotquery_localhost = 1; + cfg->root_hints = NULL; *** 3168 LINES SKIPPED *** From nobody Sun Apr 27 03:40:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlXQv6sRFz5vCMQ; Sun, 27 Apr 2025 03:40: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 4ZlXQv6D3Qz3L83; Sun, 27 Apr 2025 03:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745725223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HoHAuHTSI4GoniVEklQ+BmV00etcGndnaP57BBk3y/0=; b=qjQli6SiH3W4TjxDwibaJyC24u+Vu1Nc/UhZWPSuqjBx3rSF3nVPj+gZ5ooPAKUqdVj0P3 EZyv3LS0p1JJtJIB3sHEXN0PaY2p8rhIZRFp7cE6sKOG7SV81azEgaR/+MvzLr35acXU7R I3DGWUBe5iYvkkpvhxFdG82HSJpRcSIJYbrFqNcUaH6FDU7vTZrPiRjfKPSdADth4PQA6K wSZfiSGmrAY2LHNYsR+RRVHIpickL5/xKJRUAp/CLvj7Upv+zP/85MkMPySPn7ll7U0DfV L1hbEij9pmz3uljg9mJNKbOE610CBFabLBZJHq7CuXGGYcpi6iApGcgf4Nyv3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745725223; a=rsa-sha256; cv=none; b=lAmnRKKugHxSGRTrCml27o1W3iTNe47RCmoFOlQXQzcjOw5CIqZBtvsSqnidHElCaNhwFf +ZlCMN1vG8TpZnmvkfSaXG8cjDcp1Ztw3lcHZHDmhUmiCjiaXJVNddToLmz4o9bprQfhVS NWY7sDCJBt0kS6trbIa5Og1fHb6Os5AUZgn7VH03pFuf2TA1Hfn0JV+rVrQymbdcd2Tzml xNtbUwOUP/E24LoKWDcbYOYjl1Pfp76SmKi3PbrpTfLqwNufM2yeFT/rmUo3MNVdSLHNLE szdl2KIulgGDS09/BhR72ZOaHKQV0fMcGUA3slnGJiPyKCgWZDvToFuuQ9mrAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745725223; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HoHAuHTSI4GoniVEklQ+BmV00etcGndnaP57BBk3y/0=; b=CcNTVHjEvSsaTxL5XXX5w/AehqT2nzIm2YEe79K0cqciWzFJ1VJpB1Fq+NIfJVsrBK7SrK 8uvPXF5B4k5L9Nkj0gv2tJ/iSdnFY2c+mxx4xulTeEuoJ7PZmcXZ9J7JZi6ex3wYXBVjck WSzfWg9ZqS1Wa+xLrL8V7XdexIgk5eqJw2rFsXG67mBh4iCL4pX071R9x1ucaDhLXhelsB CuNQv4xfPhJb8daoIi+qY52V89U5OHfDXOtB6gmbGy/hk34Ybh9+vnAAfWbDuELAV4Z7Xh 8/D2obZfmDCKXjaKgP0UOnZwm51gh0kpenBdcdRna6kl1smK75xkeG3uo54uLA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlXQv5XYjzqFF; Sun, 27 Apr 2025 03:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53R3eNMB043659; Sun, 27 Apr 2025 03:40:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53R3eNX8043653; Sun, 27 Apr 2025 03:40:23 GMT (envelope-from git) Date: Sun, 27 Apr 2025 03:40:23 GMT Message-Id: <202504270340.53R3eNX8043653@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cy Schubert Subject: git: 3bef9b313be7 - main - unbound: Update version strings List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3bef9b313be73788cd3b77d9b514d292169c442e Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=3bef9b313be73788cd3b77d9b514d292169c442e commit 3bef9b313be73788cd3b77d9b514d292169c442e Author: Cy Schubert AuthorDate: 2025-04-27 03:39:21 +0000 Commit: Cy Schubert CommitDate: 2025-04-27 03:40:17 +0000 unbound: Update version strings Fixes: be771a7b7f45 MFC after: 2 weeks --- lib/libunbound/config.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/libunbound/config.h b/lib/libunbound/config.h index 17a6707c7102..a986bfc869a3 100644 --- a/lib/libunbound/config.h +++ b/lib/libunbound/config.h @@ -796,7 +796,7 @@ #define PACKAGE_NAME "unbound" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "unbound 1.22.0" +#define PACKAGE_STRING "unbound 1.23.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "unbound" @@ -805,7 +805,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.22.0" +#define PACKAGE_VERSION "1.23.0" /* default pidfile location */ #define PIDFILE "/var/unbound/unbound.pid" @@ -828,7 +828,7 @@ #define ROOT_CERT_FILE "/var/unbound/icannbundle.pem" /* version number for resource files */ -#define RSRC_PACKAGE_VERSION 1,22,0,0 +#define RSRC_PACKAGE_VERSION 1,23,0,0 /* Directory to chdir to */ #define RUN_DIR "/var/unbound" From nobody Sun Apr 27 06:29:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlcBT6WGsz5vNJr; Sun, 27 Apr 2025 06:29: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 4ZlcBT5nf4z3qZL; Sun, 27 Apr 2025 06:29:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745735393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JdLj9FV64NKBBEoN2U2H29Ev38Q/3Xkn3Hdk+SD7Glw=; b=htGtzZdNU3kDSQlihrAY6jtU8POg/OWj4dNsnDLf/KoJ0FJm4BHnA1yCWUG3szjihKfGHo 1R6G8dzjxKSwBFpM8G8ScGO6qijnt5ZX4zxkjxpNAbppRxLqB1eadYTBtPT0PEoms1qfR6 O1KEydnC+ZMQGbOS0OI+UMyd1anbcQywarAClaQaJOgo8wMgaPqNqkImvLQtuDdjFTb1rR +9gSTyesGO0Eeb2veS9avLOcBfOckcNTiXUAxiMi5mLTWFHEUwi0AijSYmeI3Fwe4ZRzdR Ekl4b2BXDvZv37pelXU6SqO6wp4pJF6iOqL07dcmVqrKd/RgfmNBADqlz3HPkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745735393; a=rsa-sha256; cv=none; b=gNiWCTQblSv2oAl5psNO6XDRmt+leAVPvoRGzpCmCbieGgsIIYr5FmL7fHFUwfzI5qdm3p A/jSbM7r7JJcH6zgfJKilvMHqV/vp+OIkBmUnR52wVaoGccgvu1bL9gOybU8OxgfuS3ll8 TqMi1Osr/VNpYQ8x8VM/E5wL6Fg3vm487PM0lnwkWIlyUMvMM5I4Tr/LQNQjWIuxfriy3U waYUKdwdJ9wcsY6B6edNM7qblIVWiDWjXnDLkxYiiGETZkC8qbWT31pt65NsW8xND/GWpj OoFCM4eq9tfmhf1KBPg7sxgdLv8EyyD6uKepF9dUXj2xuZTwJOEklMBUwCXuag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745735393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JdLj9FV64NKBBEoN2U2H29Ev38Q/3Xkn3Hdk+SD7Glw=; b=eRG7AKSrdnXk7+MVsqFlPAumpDR21L38C3vVWhNeqep/dhvX1cxP8BFejWO0PHouqfvTk2 Ux9dnnp7OzNCrygkV2l8FHchCTZ6DKrwG4CQknCXT6LjUXVRE6zqW3eLjrm6VNsWLTqJXt lE1x1gW+6JoHo4DFlfbKjBKA9SdCcn68M6+1YgeyAX4ie6mRylx0aVXNeEU/mgrSSUxtCT 4F5d/EhvE2Hqhq7Esa0a2yeHc5chrk6gB8W5LkZ7VaznpEIJnOnLRBn0DfqUqBch9XGZWD /vLC6WBpHZo4y3+ZzMKnWxO/Z7fxdqrkmJTwSBGHL3Gf69JLu4c5J2ao52swhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlcBT4ndbzvWl; Sun, 27 Apr 2025 06:29: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 53R6Trua053360; Sun, 27 Apr 2025 06:29:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53R6TrZ6053357; Sun, 27 Apr 2025 06:29:53 GMT (envelope-from git) Date: Sun, 27 Apr 2025 06:29:53 GMT Message-Id: <202504270629.53R6TrZ6053357@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 873420ca1e6e - main - libc: Add getenv_r() function. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 873420ca1e6e8a2459684f5b5d3e557a8ef75928 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=873420ca1e6e8a2459684f5b5d3e557a8ef75928 commit 873420ca1e6e8a2459684f5b5d3e557a8ef75928 Author: Dag-Erling Smørgrav AuthorDate: 2025-04-27 06:29:10 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-04-27 06:29:32 +0000 libc: Add getenv_r() function. This is a calque of the NetBSD function of the same name. MFC after: never Relontes: yes Sponsored by: Klara, Inc. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D49979 --- include/ssp/stdlib.h | 4 + include/stdlib.h | 3 + lib/libc/stdlib/Symbol.map | 4 + lib/libc/stdlib/getenv.3 | 38 +++++- lib/libc/stdlib/getenv.c | 36 ++++++ lib/libc/tests/secure/fortify_stdlib_test.c | 147 +++++++++++++++++++++++ lib/libc/tests/secure/generate-fortify-tests.lua | 9 ++ lib/libc/tests/stdlib/Makefile | 1 + lib/libc/tests/stdlib/getenv_r_test.c | 69 +++++++++++ 9 files changed, 308 insertions(+), 3 deletions(-) diff --git a/include/ssp/stdlib.h b/include/ssp/stdlib.h index f595ecbcbc0a..0a87be9f17d9 100644 --- a/include/ssp/stdlib.h +++ b/include/ssp/stdlib.h @@ -38,6 +38,10 @@ __BEGIN_DECLS __ssp_redirect(void, arc4random_buf, (void *__buf, size_t __len), (__buf, __len)); +__ssp_redirect(int, getenv_r, + (const char *name, char * _Nonnull __buf, size_t __len), + (name, __buf, __len)); + __ssp_redirect_raw_impl(char *, realpath, realpath, (const char *__restrict path, char *__restrict buf)) { diff --git a/include/stdlib.h b/include/stdlib.h index 162031ab393d..ba0cf4b5e88e 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -95,6 +95,9 @@ div_t div(int, int) __pure2; _Noreturn void exit(int); void free(void *); char *getenv(const char *); +#if __BSD_VISIBLE +int getenv_r(const char *, char * _Nonnull, size_t); +#endif long labs(long) __pure2; ldiv_t ldiv(long, long) __pure2; void *malloc(size_t) __malloc_like __result_use_check __alloc_size(1); diff --git a/lib/libc/stdlib/Symbol.map b/lib/libc/stdlib/Symbol.map index d74df869cf54..2b79ca2ece8b 100644 --- a/lib/libc/stdlib/Symbol.map +++ b/lib/libc/stdlib/Symbol.map @@ -127,6 +127,10 @@ FBSD_1.7 { secure_getenv; }; +FBSD_1.8 { + getenv_r; +}; + FBSDprivate_1.0 { __system; _system; diff --git a/lib/libc/stdlib/getenv.3 b/lib/libc/stdlib/getenv.3 index d78dcfbef9eb..045a1831dfdc 100644 --- a/lib/libc/stdlib/getenv.3 +++ b/lib/libc/stdlib/getenv.3 @@ -29,12 +29,13 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 17, 2025 +.Dd April 22, 2025 .Dt GETENV 3 .Os .Sh NAME .Nm clearenv , .Nm getenv , +.Nm getenv_r , .Nm putenv , .Nm secure_getenv , .Nm setenv , @@ -48,6 +49,8 @@ .Fn clearenv "void" .Ft char * .Fn getenv "const char *name" +.Ft int +.Fn getenv_r "const char *name" "char *buf" "size_t len" .Ft char * .Fn secure_getenv "const char *name" .Ft int @@ -71,7 +74,8 @@ and .Pp The .Fn getenv -function obtains the current value of the environment variable, +function obtains the current value of the environment variable +designated by .Fa name . The application should not modify the string pointed to by the @@ -79,6 +83,16 @@ to by the function. .Pp The +.Fn getenv_r +function obtains the current value of the environment variable +designated by +.Fa name +and copies it into the buffer +.Fa buf +of length +.Fa len . +.Pp +The .Fn secure_getenv returns .Va NULL @@ -157,12 +171,13 @@ function returns if the process is in "secure execution," otherwise it will call .Fn getenv . .Pp -.Rv -std clearenv setenv putenv unsetenv +.Rv -std clearenv getenv_r setenv putenv unsetenv .Sh ERRORS .Bl -tag -width Er .It Bq Er EINVAL The function .Fn getenv , +.Fn getenv_r , .Fn setenv or .Fn unsetenv @@ -191,6 +206,11 @@ is the first character in This does not follow the .Tn POSIX specification. +.It Bq Er ENOENT +The function +.Fn getenv_r +failed because the requested variable was not found in the +environment. .It Bq Er ENOMEM The function .Fn setenv , @@ -198,6 +218,11 @@ The function or .Fn putenv failed because they were unable to allocate memory for the environment. +.It Bq Er ERANGE +The function +.Fn getenv_r +failed because the value of the requested variable was too long to fit +in the provided buffer. .El .Sh SEE ALSO .Xr csh 1 , @@ -251,6 +276,13 @@ and .Fn secure_getenv functions were added in .Fx 14 . +.Pp +The +.Fn getenv_r +function first appeared in +.Nx 4.0 +and was added in +.Fx 15 . .Sh BUGS Successive calls to .Fn setenv diff --git a/lib/libc/stdlib/getenv.c b/lib/libc/stdlib/getenv.c index f8f59526421a..c1d0b7a559d5 100644 --- a/lib/libc/stdlib/getenv.c +++ b/lib/libc/stdlib/getenv.c @@ -28,6 +28,7 @@ #include "namespace.h" #include +#include #include #include #include @@ -443,6 +444,41 @@ getenv(const char *name) } +/* + * Like getenv(), but copies the value into the provided buffer. + */ +int +__ssp_real(getenv_r)(const char *name, char *buf, size_t len) +{ + const char *val; + size_t nameLen; + int envNdx; + + if (name == NULL || (nameLen = __strleneq(name)) == 0) { + errno = EINVAL; + return (-1); + } + + if (environ == NULL || environ[0] == NULL) { + val = NULL; + } else if (envVars == NULL || environ != intEnviron) { + val = __findenv_environ(name, nameLen); + } else { + envNdx = envVarsTotal - 1; + val = __findenv(name, nameLen, &envNdx, true); + } + if (val == NULL) { + errno = ENOENT; + return (-1); + } + if (strlcpy(buf, val, len) >= len) { + errno = ERANGE; + return (-1); + } + return (0); +} + + /* * Runs getenv() unless the current process is tainted by uid or gid changes, in * which case it will return NULL. diff --git a/lib/libc/tests/secure/fortify_stdlib_test.c b/lib/libc/tests/secure/fortify_stdlib_test.c index ae021e8418f7..d0b1af78da86 100644 --- a/lib/libc/tests/secure/fortify_stdlib_test.c +++ b/lib/libc/tests/secure/fortify_stdlib_test.c @@ -305,6 +305,148 @@ monitor: } +ATF_TC(getenv_r_before_end); +ATF_TC_HEAD(getenv_r_before_end, tc) +{ +} +ATF_TC_BODY(getenv_r_before_end, tc) +{ +#define BUF &__stack.__buf + struct { + uint8_t padding_l; + unsigned char __buf[42]; + uint8_t padding_r; + } __stack; + const size_t __bufsz __unused = sizeof(__stack.__buf); + const size_t __len = 42 - 1; + const size_t __idx __unused = __len - 1; + + getenv_r("PATH", __stack.__buf, __len); +#undef BUF + +} + +ATF_TC(getenv_r_end); +ATF_TC_HEAD(getenv_r_end, tc) +{ +} +ATF_TC_BODY(getenv_r_end, tc) +{ +#define BUF &__stack.__buf + struct { + uint8_t padding_l; + unsigned char __buf[42]; + uint8_t padding_r; + } __stack; + const size_t __bufsz __unused = sizeof(__stack.__buf); + const size_t __len = 42; + const size_t __idx __unused = __len - 1; + + getenv_r("PATH", __stack.__buf, __len); +#undef BUF + +} + +ATF_TC(getenv_r_heap_before_end); +ATF_TC_HEAD(getenv_r_heap_before_end, tc) +{ +} +ATF_TC_BODY(getenv_r_heap_before_end, tc) +{ +#define BUF __stack.__buf + struct { + uint8_t padding_l; + unsigned char * __buf; + uint8_t padding_r; + } __stack; + const size_t __bufsz __unused = sizeof(*__stack.__buf) * (42); + const size_t __len = 42 - 1; + const size_t __idx __unused = __len - 1; + + __stack.__buf = malloc(__bufsz); + + getenv_r("PATH", __stack.__buf, __len); +#undef BUF + +} + +ATF_TC(getenv_r_heap_end); +ATF_TC_HEAD(getenv_r_heap_end, tc) +{ +} +ATF_TC_BODY(getenv_r_heap_end, tc) +{ +#define BUF __stack.__buf + struct { + uint8_t padding_l; + unsigned char * __buf; + uint8_t padding_r; + } __stack; + const size_t __bufsz __unused = sizeof(*__stack.__buf) * (42); + const size_t __len = 42; + const size_t __idx __unused = __len - 1; + + __stack.__buf = malloc(__bufsz); + + getenv_r("PATH", __stack.__buf, __len); +#undef BUF + +} + +ATF_TC(getenv_r_heap_after_end); +ATF_TC_HEAD(getenv_r_heap_after_end, tc) +{ +} +ATF_TC_BODY(getenv_r_heap_after_end, tc) +{ +#define BUF __stack.__buf + struct { + uint8_t padding_l; + unsigned char * __buf; + uint8_t padding_r; + } __stack; + const size_t __bufsz __unused = sizeof(*__stack.__buf) * (42); + const size_t __len = 42 + 1; + const size_t __idx __unused = __len - 1; + pid_t __child; + int __status; + + __child = fork(); + ATF_REQUIRE(__child >= 0); + if (__child > 0) + goto monitor; + + /* Child */ + disable_coredumps(); + __stack.__buf = malloc(__bufsz); + + getenv_r("PATH", __stack.__buf, __len); + _exit(EX_SOFTWARE); /* Should have aborted. */ + +monitor: + while (waitpid(__child, &__status, 0) != __child) { + ATF_REQUIRE_EQ(EINTR, errno); + } + + if (!WIFSIGNALED(__status)) { + switch (WEXITSTATUS(__status)) { + case EX_SOFTWARE: + atf_tc_fail("FORTIFY_SOURCE failed to abort"); + break; + case EX_OSERR: + atf_tc_fail("setrlimit(2) failed"); + break; + default: + atf_tc_fail("child exited with status %d", + WEXITSTATUS(__status)); + } + } else { + ATF_REQUIRE_EQ(SIGABRT, WTERMSIG(__status)); + } +#undef BUF + +} + ATF_TC(realpath_before_end); ATF_TC_HEAD(realpath_before_end, tc) { @@ -454,6 +596,11 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, arc4random_buf_heap_before_end); ATF_TP_ADD_TC(tp, arc4random_buf_heap_end); ATF_TP_ADD_TC(tp, arc4random_buf_heap_after_end); + ATF_TP_ADD_TC(tp, getenv_r_before_end); + ATF_TP_ADD_TC(tp, getenv_r_end); + ATF_TP_ADD_TC(tp, getenv_r_heap_before_end); + ATF_TP_ADD_TC(tp, getenv_r_heap_end); + ATF_TP_ADD_TC(tp, getenv_r_heap_after_end); ATF_TP_ADD_TC(tp, realpath_before_end); ATF_TP_ADD_TC(tp, realpath_end); ATF_TP_ADD_TC(tp, realpath_heap_before_end); diff --git a/lib/libc/tests/secure/generate-fortify-tests.lua b/lib/libc/tests/secure/generate-fortify-tests.lua index 36ff01af7a17..6c2a80b20609 100755 --- a/lib/libc/tests/secure/generate-fortify-tests.lua +++ b/lib/libc/tests/secure/generate-fortify-tests.lua @@ -584,6 +584,15 @@ local all_tests = { }, exclude = excludes_stack_overflow, }, + { + func = "getenv_r", + arguments = { + "\"PATH\"", + "__buf", + "__len", + }, + exclude = excludes_stack_overflow, + }, { func = "realpath", bufsize = "PATH_MAX", diff --git a/lib/libc/tests/stdlib/Makefile b/lib/libc/tests/stdlib/Makefile index 08e356fc8706..50726a5d8af6 100644 --- a/lib/libc/tests/stdlib/Makefile +++ b/lib/libc/tests/stdlib/Makefile @@ -3,6 +3,7 @@ ATF_TESTS_C+= clearenv_test ATF_TESTS_C+= cxa_atexit_test ATF_TESTS_C+= dynthr_test +ATF_TESTS_C+= getenv_r_test ATF_TESTS_C+= heapsort_test ATF_TESTS_C+= libc_exit_test ATF_TESTS_C+= mergesort_test diff --git a/lib/libc/tests/stdlib/getenv_r_test.c b/lib/libc/tests/stdlib/getenv_r_test.c new file mode 100644 index 000000000000..7935ead6c495 --- /dev/null +++ b/lib/libc/tests/stdlib/getenv_r_test.c @@ -0,0 +1,69 @@ +/*- + * Copyright (c) 2025 Klara, Inc. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include + +#include + +ATF_TC_WITHOUT_HEAD(getenv_r_ok); +ATF_TC_BODY(getenv_r_ok, tc) +{ + const char *ident = atf_tc_get_ident(tc); + char buf[256]; + + ATF_REQUIRE_EQ(0, setenv("ATF_TC_IDENT", ident, 1)); + ATF_REQUIRE_EQ(0, getenv_r("ATF_TC_IDENT", buf, sizeof(buf))); + ATF_REQUIRE_STREQ(ident, buf); +} + +ATF_TC_WITHOUT_HEAD(getenv_r_einval); +ATF_TC_BODY(getenv_r_einval, tc) +{ + char buf[256]; + + errno = 0; + ATF_REQUIRE_EQ(-1, getenv_r(NULL, buf, sizeof(buf))); + ATF_REQUIRE_EQ(EINVAL, errno); + errno = 0; + ATF_REQUIRE_EQ(-1, getenv_r("", buf, sizeof(buf))); + ATF_REQUIRE_EQ(EINVAL, errno); + errno = 0; + ATF_REQUIRE_EQ(-1, getenv_r("A=B", buf, sizeof(buf))); + ATF_REQUIRE_EQ(EINVAL, errno); +} + +ATF_TC_WITHOUT_HEAD(getenv_r_enoent); +ATF_TC_BODY(getenv_r_enoent, tc) +{ + char buf[256]; + + errno = 0; + ATF_REQUIRE_EQ(-1, getenv_r("no such variable", buf, sizeof(buf))); + ATF_REQUIRE_EQ(ENOENT, errno); +} + +ATF_TC_WITHOUT_HEAD(getenv_r_erange); +ATF_TC_BODY(getenv_r_erange, tc) +{ + const char *ident = atf_tc_get_ident(tc); + char buf[256]; + + ATF_REQUIRE_EQ(0, setenv("ATF_TC_IDENT", ident, 1)); + errno = 0; + ATF_REQUIRE_EQ(-1, getenv_r(NULL, buf, strlen(ident))); + ATF_REQUIRE_EQ(ERANGE, errno); +} + +ATF_TP_ADD_TCS(tp) +{ + ATF_TP_ADD_TC(tp, getenv_r_ok); + ATF_TP_ADD_TC(tp, getenv_r_einval); + ATF_TP_ADD_TC(tp, getenv_r_enoent); + ATF_TP_ADD_TC(tp, getenv_r_erange); + return (atf_no_error()); +} From nobody Sun Apr 27 09:09:04 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zlgk96DJkz5vXcM; Sun, 27 Apr 2025 09:09: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 4Zlgk86mKYz48R5; Sun, 27 Apr 2025 09:09:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745744944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zbcxb6xJ12Hz1aieo6aMsJ6B7bA779RqdtmcIrEazAQ=; b=UNI4/te+Xp6ZgzaSMHGDUyWttECquB4w/K6hb4p38yDPhiTC0qwtcZjTxmPXvxMjZZuoBk hVVAR5hn87gAj+KAYLO4Y1mBeKC0l/1ALS/T127nl+aF3vrfA0WKAbL3OOyXt29MbMRXHI z/Jb7GAosTm/JgkptQ4g32O1I7sxkslZwUQoPKqqrrPKIws1bgVIZFUZt+iPSebrioH0oL k/bsvPysHW2+H3mjLoSt568uBeVmb9GzA1Z8rYbVIcJ5NBaYGYkJQubqki5m7tuJ9j/zuK frJfbuJxHp0SQoj6PTx8BOVOUpfpiJ05TryPEq3Oos+U0APUCZjYapeXXJQwVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745744944; a=rsa-sha256; cv=none; b=MnAftZVYiIG51ggE2ifaDgfh5Q1qAFTuG7UUXSoxRE2GdAvyWKSmO9nhCwj74MHTY90RjE 3vm0lhRsmizT1ioSjD+tWIb0IHWkoPTT6lk275rxnMD67pZcyXJqbprD3YoEgbDuys4N9b Lf8RoIegjsrwaYr7E9VVHbyJZzkgJtjGwVqIy8IG3uyMLn1SNU/bqlpvTfTXH9mduUG9T+ fkK/b2mbryj/yrTtb3zUmO6SnrsdQRuXYDZPRqKSE9VCpK14XkD+meZAXPNkqwXSszQhF9 At/00DPOwFtMoT+v2B/dhGwnjM5qjY1Zdi3yqMiG8zhQZJeZs8oep4AqAA3StA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745744944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zbcxb6xJ12Hz1aieo6aMsJ6B7bA779RqdtmcIrEazAQ=; b=ddlU6lEC/nKl/W9n/sfx31TnY8SvUtUo6Sba1OCxUvdzr6lZ9jLdN7gI5KTXzRKi3NwLAO yKxFOdfbtQB28hD4uDN9Fa4BA1fAnciSIKBAYLsThJlqGhC1Lhgs/CdgoNZRjUD0hbpYCx xqPYp6NZd0QdsiihGNI+aFUJIEzd2gxFIilzS+KQg4olz4GqSKjrqc2Cq9L5xCw33miOxu p7YybJMKu6tInaipiyNP0dt67S7YRKLD46px26IhDX2g4m55ikLHdD9ssmRRFK4oqtuLZY qU3TV9X6FHDWnQ4CPW/lD5SarvI6NveOfTwj4OFj/saLZc6U7FDe2/jOn9Heeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zlgk86Bsxz10SV; Sun, 27 Apr 2025 09:09: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 53R99425053707; Sun, 27 Apr 2025 09:09:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53R994SE053704; Sun, 27 Apr 2025 09:09:04 GMT (envelope-from git) Date: Sun, 27 Apr 2025 09:09:04 GMT Message-Id: <202504270909.53R994SE053704@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: fd6690e2d5cd - main - hidraw(4): Add additional hidraw input/output report ioctls List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fd6690e2d5cd5b15fce2c74ab0cac77a83514f6a Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=fd6690e2d5cd5b15fce2c74ab0cac77a83514f6a commit fd6690e2d5cd5b15fce2c74ab0cac77a83514f6a Author: Vladimir Kondratyev AuthorDate: 2025-04-27 09:07:35 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-04-27 09:07:35 +0000 hidraw(4): Add additional hidraw input/output report ioctls to Linux hidraw compatibility API. Respective Linux commit f43d3870cafa made by Dean Camera message is: Currently the hidraw module can only read and write feature HID reports on demand, via dedicated ioctls. Input reports are read from the device through the read() interface, while output reports are written through the write interface(). This is insufficient; it is desirable in many situations to be able to read and write input and output reports through the control interface to cover additional scenarios: - Reading an input report by its report ID, to get initial state - Writing an input report, to set initial input state in the device - Reading an output report by its report ID, to obtain current state - Writing an output report by its report ID, out of band This patch adds these missing ioctl requests to read and write the remaining HID report types. Note that not all HID backends will neccesarily support this (e.g. while the USB link layer supports setting Input reports, others may not). FreeBSD native uhid(4) compatible API already has similar ioctls. MFC after: 3 days --- share/man/man4/hidraw.4 | 12 ++++++++---- sys/dev/hid/hidraw.c | 38 ++++++++++++++++++++++++++++++++++---- sys/dev/hid/hidraw.h | 4 ++++ sys/dev/usb/usb_ioctl.h | 2 +- 4 files changed, 47 insertions(+), 9 deletions(-) diff --git a/share/man/man4/hidraw.4 b/share/man/man4/hidraw.4 index f8eb9a21e9d7..0353e49a7425 100644 --- a/share/man/man4/hidraw.4 +++ b/share/man/man4/hidraw.4 @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd August 6, 2023 +.Dd April 27, 2025 .Dt HIDRAW 4 .Os .Sh NAME @@ -206,10 +206,12 @@ into the memory specified by .Va buf . .It Dv HIDIOCGFEATURE(len) Pq Vt "void[] buf" -Get a feature report from the device. +.It Dv HIDIOCGINPUT(len) Pq Vt "void[] buf" +.It Dv HIDIOCGOUTPUT(len) Pq Vt "void[] buf" +Get respectively a feature, input or output report from the device. Copies a maximum of .Va len -bytes of the feature report data into the memory specified by +bytes of the report data into the memory specified by .Va buf . The first byte of the supplied buffer should be set to the report number of the requested report. @@ -218,7 +220,9 @@ The report will be returned starting at the first byte of the buffer (ie: the report number is not returned). This call may fail if the device does not support this feature. .It Dv HIDIOCSFEATURE(len) Pq Vt "void[] buf" -Set a feature Report in the device. +.It Dv HIDIOCSINPUT(len) Pq Vt "void[] buf" +.It Dv HIDIOCSOUTPUT(len) Pq Vt "void[] buf" +Set respectively a feature, input or output Report in the device. The value of the report is specified by the .Va buf and the diff --git a/sys/dev/hid/hidraw.c b/sys/dev/hid/hidraw.c index 45ef1995063e..7aca66e2dd1d 100644 --- a/sys/dev/hid/hidraw.c +++ b/sys/dev/hid/hidraw.c @@ -3,7 +3,7 @@ * * Copyright (c) 1998 The NetBSD Foundation, Inc. * All rights reserved. - * Copyright (c) 2020 Vladimir Kondratyev + * Copyright (c) 2020, 2025 Vladimir Kondratyev * * This code is derived from software contributed to The NetBSD Foundation * by Lennart Augustsson (lennart@augustsson.net) at @@ -573,6 +573,7 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, hid_size_t actsize; int id, len; int error = 0; + uint8_t reptype; DPRINTFN(2, "cmd=%lx\n", cmd); @@ -860,6 +861,8 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, return (0); case HIDIOCSFEATURE(0): + case HIDIOCSINPUT(0): + case HIDIOCSOUTPUT(0): if (!(sc->sc_fflags & FWRITE)) return (EPERM); if (len < 2) @@ -869,10 +872,24 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, addr = (uint8_t *)addr + 1; len--; } - return (hid_set_report(sc->sc_dev, addr, len, - HID_FEATURE_REPORT, id)); + switch (IOCBASECMD(cmd)) { + case HIDIOCSFEATURE(0): + reptype = HID_FEATURE_REPORT; + break; + case HIDIOCSINPUT(0): + reptype = HID_INPUT_REPORT; + break; + case HIDIOCSOUTPUT(0): + reptype = HID_OUTPUT_REPORT; + break; + default: + panic("Invalid report type"); + } + return (hid_set_report(sc->sc_dev, addr, len, reptype, id)); case HIDIOCGFEATURE(0): + case HIDIOCGINPUT(0): + case HIDIOCGOUTPUT(0): if (!(sc->sc_fflags & FREAD)) return (EPERM); if (len < 2) @@ -882,8 +899,21 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, addr = (uint8_t *)addr + 1; len--; } + switch (IOCBASECMD(cmd)) { + case HIDIOCGFEATURE(0): + reptype = HID_FEATURE_REPORT; + break; + case HIDIOCGINPUT(0): + reptype = HID_INPUT_REPORT; + break; + case HIDIOCGOUTPUT(0): + reptype = HID_OUTPUT_REPORT; + break; + default: + panic("Invalid report type"); + } return (hid_get_report(sc->sc_dev, addr, len, NULL, - HID_FEATURE_REPORT, id)); + reptype, id)); case HIDIOCGRAWUNIQ(0): strlcpy(addr, sc->sc_hw->serial, len); diff --git a/sys/dev/hid/hidraw.h b/sys/dev/hid/hidraw.h index 4095ddb388bb..41aaf285fac3 100644 --- a/sys/dev/hid/hidraw.h +++ b/sys/dev/hid/hidraw.h @@ -92,5 +92,9 @@ struct hidraw_devinfo { #define HIDIOCSFEATURE(len) _IOC(IOC_IN, 'U', 35, len) #define HIDIOCGFEATURE(len) _IOC(IOC_INOUT, 'U', 36, len) #define HIDIOCGRAWUNIQ(len) _IOC(IOC_OUT, 'U', 37, len) +#define HIDIOCSINPUT(len) _IOC(IOC_IN, 'U', 38, len) +#define HIDIOCGINPUT(len) _IOC(IOC_INOUT, 'U', 39, len) +#define HIDIOCSOUTPUT(len) _IOC(IOC_IN, 'U', 40, len) +#define HIDIOCGOUTPUT(len) _IOC(IOC_INOUT, 'U', 41, len) #endif /* _HID_HIDRAW_H */ diff --git a/sys/dev/usb/usb_ioctl.h b/sys/dev/usb/usb_ioctl.h index 6d9184723816..85979b9cf778 100644 --- a/sys/dev/usb/usb_ioctl.h +++ b/sys/dev/usb/usb_ioctl.h @@ -239,7 +239,7 @@ struct usb_gen_quirk { #define USB_DEVICESTATS _IOR ('U', 5, struct usb_device_stats) #define USB_DEVICEENUMERATE _IOW ('U', 6, int) -/* Generic HID device. Numbers 26 and 30-39 are occupied by hidraw. */ +/* Generic HID device. Numbers 26 and 30-49 are occupied by hidraw. */ #define USB_GET_REPORT_DESC _IOWR('U', 21, struct usb_gen_descriptor) #define USB_SET_IMMED _IOW ('U', 22, int) #define USB_GET_REPORT _IOWR('U', 23, struct usb_gen_descriptor) From nobody Sun Apr 27 09:09:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlgkC07GBz5vXTK; Sun, 27 Apr 2025 09:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zlgk975cfz48JM; Sun, 27 Apr 2025 09:09:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745744946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KXeJsvEoWuJ15rbHBHS9pPsel/kEKwB7TQ8piECTCd4=; b=yr9F9aRfhlkqrOoywKW36dkJGI27Z6UGdna7Vwjm/RuSlGpywRlcqq9h9+G/42STT6XpGo 2isEktQJQhgdM/Dldm5qEfnt+klRIxpKgdF933NS2IlzxgzoOBaahEN0QwNiPPCJub+iGd ys21c/9Gdw/xmsh1c3RCiuqfFPRslDH6myltk+oYmhuLv0wgAVsHhsdyIMnacLwZQpmhSV 1AuEe+UbR50v3ttWDSzuvDdEDpWuVleCbsfE6xgCt/h98ag555+BRFcVWAG+JK81/AsXwK 8F6c2qp1yzLknPVpZHVkBy1np+IIIxP+PJCVtnTxbvNJ2VR/uoRi++prAYnOXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745744946; a=rsa-sha256; cv=none; b=ofspmEy0KN+Y6ceoh6BKnM+Y3SRV6Erfpx67AExwQaR/AImT9ikCWliRMc3s4M5IsVUqZb z0SHSJnayqshHzDjglaF0Yu7z50Au5aUW+/XDJVj0eCk9tnsvGNgoUhsy9toie2lUB7o7Y bagBvnmUUmU2xv/R8GSG+qv1l3SXCpN50WhJrI7/bdqlvZAG1K/Cy5MBRHb77MQtSQYPrw BrvTYOaeDaQ9SPzEA5+hEnTr8mS89BqNeHNQ5j27JQMiqh1rb3Rv7RGMa1NbrbKdnA1V02 f/7RL89DAgSHN2yiGMvb3HS9wT56IxDud1Agyj8DV4VgPsc1r5qWx3o44L85rw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745744946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KXeJsvEoWuJ15rbHBHS9pPsel/kEKwB7TQ8piECTCd4=; b=votzbeip9FJVY1s7KGx1FTOW3hiUH9LW0GikXCS5OEaq2WTMGNR+qVhAYrDD4ABRc1sI9E YAJF/4pgrZwsAXKqgpVzm/W7cFiWwEdjQ7F9ca1FUNbLa1Y7MEZJGca371XNje0uF1r5gB H+q6mnRBLerQzhaDLfYDEfmJ2aH7NGy/1OpIOr/YaA1UVmUG/HLab7ph0mnfXT9BGn4OZk uh5C++0iuyJqX1qGjJA4cMy5u9kJH0DQnIh6aoeP5iHhyJUXyMrZN8fRibI1JW8Ps5Saiu u8Sg8SsvY05J/Fs1ILce5zUJYfXKLRtiuDjhFst/8Oyj+PhPoU+3hJxkWVZrdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zlgk96QsczyvM; Sun, 27 Apr 2025 09:09: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 53R995ZZ053740; Sun, 27 Apr 2025 09:09:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53R995rh053737; Sun, 27 Apr 2025 09:09:05 GMT (envelope-from git) Date: Sun, 27 Apr 2025 09:09:05 GMT Message-Id: <202504270909.53R995rh053737@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 5ea0f1e63dbd - main - hidraw(4): Return length of written data from HIDIOCS* ioctls List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5ea0f1e63dbddc5452e2d85fcc03ba03a3d9cf84 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=5ea0f1e63dbddc5452e2d85fcc03ba03a3d9cf84 commit 5ea0f1e63dbddc5452e2d85fcc03ba03a3d9cf84 Author: Vladimir Kondratyev AuthorDate: 2025-04-27 09:07:35 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-04-27 09:07:35 +0000 hidraw(4): Return length of written data from HIDIOCS* ioctls To match Linux. MFC after: 3 days --- sys/dev/hid/hidraw.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/dev/hid/hidraw.c b/sys/dev/hid/hidraw.c index 7aca66e2dd1d..f573b3db1391 100644 --- a/sys/dev/hid/hidraw.c +++ b/sys/dev/hid/hidraw.c @@ -885,7 +885,10 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, default: panic("Invalid report type"); } - return (hid_set_report(sc->sc_dev, addr, len, reptype, id)); + error = hid_set_report(sc->sc_dev, addr, len, reptype, id); + if (error == 0) + td->td_retval[0] = IOCPARM_LEN(cmd); + return (error); case HIDIOCGFEATURE(0): case HIDIOCGINPUT(0): From nobody Sun Apr 27 09:09:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlgkC5SZKz5vXfC; Sun, 27 Apr 2025 09:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlgkC2SWPz48WJ; Sun, 27 Apr 2025 09:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745744947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9HdGcTe+VYCsPRYSmyxItJ1//x/5/4GNiKI6teC4mXs=; b=Aoxg9yny743xjRxzDYfg/4Y0X6EjMw5MOzq0XQH8I5DFqgCuxjhIy408zmr7LBlOmjt8zB jplFEuZuys56I7a2IS/M3Kfx0hPzheaWFPxcVyquBr+iY72SCSKNfpUeVVANFxlB5dqo4h 3okZiLDRPOps5Rqeyroh16lczHjPHv7PFOaDsjqonhClWZ7iYeshOOmuN39lQSThtKzAqz uQOPgmWAKWLXv0eiV4JS5hatvcm4D33otuzjQrZ6YBnJF6RmHFk8hR/pJ0REZjd51lcYQc 6XG8UPXZBUjQPr/dWVccU7k0+vzNeGLHJ/3cR+48r2JvNreLd7YdinL4LTAW7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745744947; a=rsa-sha256; cv=none; b=ejMJKeaBBtIf4ged0R1UsKRdxjItVoi6ZYcIE/0sTtnTy6hDKR6wDM5Lt4hl6uaybkk1gI XUessOdlFl/XDyAbUofLWpgGJkaGlGCUzT5HNJ90P8ZTSivFTRv3zjCFXyX73V6kCL0/6X rC2ph645hy9cOdWLS1nwGjg3C0mJPO2bwg/WBrC4+uscetanGS83SIHlpxVQaXLTmtVOW3 4276sqrodQ8CHdVAWnwSw6iBTRXhNy8nG+0qE+L263/0Bvzja5Tb5K3YQumOQGWr1R259V DXJu62KUac5ZeMiImUkcWmHWrAscXDqnWtOip1SP84tl4U+YLGkDlfHBnK0OKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745744947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9HdGcTe+VYCsPRYSmyxItJ1//x/5/4GNiKI6teC4mXs=; b=Ogm4LUAKnDzJtpOsREw5v+ptjeOnf8W2Khmf5/Qm2/KC/uIo7zO1DQyOr/KSNA7OoLFxKT xg/juqpTLsLZ+LfWrnJt6jlD/Yw4ZZB+5q2JgPTSlUMzgK6USucZhRhVMk5xGqHeNNkvta P6na79p57knh8Ym/RObNpf6201/koa03/eJhzWb30YA4ZcQv1r9aoptQ84Nf54OqcWd+b1 UBNgpRkWM1JkEjCiqW31fPRY+d7elTX5If6bSMLTpsUD/5WdqmwUSF6Hprpb3G1WLZIuk2 AwajPQbE2ATs3P9w4ER6iPFJWUVU4z1y/2QwDilvcHV0TFQ7IYsFPeZXnD9gZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlgkC07ljz10SW; Sun, 27 Apr 2025 09:09:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53R996hU053776; Sun, 27 Apr 2025 09:09:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53R996Sf053773; Sun, 27 Apr 2025 09:09:06 GMT (envelope-from git) Date: Sun, 27 Apr 2025 09:09:06 GMT Message-Id: <202504270909.53R996Sf053773@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 8d4d08d571c6 - main - hidraw(4): Return actual length of read data from HIDIOCG* ioctls List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8d4d08d571c64d8f040c2cd1d8f98844251a2238 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=8d4d08d571c64d8f040c2cd1d8f98844251a2238 commit 8d4d08d571c64d8f040c2cd1d8f98844251a2238 Author: Vladimir Kondratyev AuthorDate: 2025-04-27 09:07:35 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-04-27 09:07:35 +0000 hidraw(4): Return actual length of read data from HIDIOCG* ioctls To match Linux. MFC after: 3 days --- sys/dev/hid/hidraw.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/dev/hid/hidraw.c b/sys/dev/hid/hidraw.c index f573b3db1391..c9d29b836d43 100644 --- a/sys/dev/hid/hidraw.c +++ b/sys/dev/hid/hidraw.c @@ -915,8 +915,14 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, default: panic("Invalid report type"); } - return (hid_get_report(sc->sc_dev, addr, len, NULL, - reptype, id)); + error = hid_get_report(sc->sc_dev, addr, len, &actsize, + reptype, id); + if (error == 0) { + if (id == 0) + actsize++; + td->td_retval[0] = actsize; + } + return (error); case HIDIOCGRAWUNIQ(0): strlcpy(addr, sc->sc_hw->serial, len); From nobody Sun Apr 27 09:09:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlgkD4PJbz5vXZH; Sun, 27 Apr 2025 09:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlgkD1Zs8z487X; Sun, 27 Apr 2025 09:09:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745744948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xMi6nOdVE4JG8JYOsjoyGFQf0ZA0t+rRvINZB0e8pZE=; b=MWvC/n1yKzVQUw5AftTipXuFHwzPW3oGAHBLm8S44thSIZFkYl0lxUsUm8Kd5B48Sf0cUn AcFw+Cu3QhGYQlELcdjSKZcHUPv/iK71pMbADPpKAojUt+IHHnNiPtYWyTdua0a+bt14hD KIWgeqly4Yc2o81WZUu4FWj4PwxYKgT9PthmI/PKQY+FZYqlIUNko7EIF+dqypAomCDESs RNuJtFtFmjQL+oxaGoTA/+VlU5m28RLjNEF53IyqvZytuVbyCmXdc6iG63dcGBnwecGYCk VM7w5EMpqatf1Oppd6bihYqnq3MoT5tg/Z+FhtmdbKA6oIFF1aioBpStFQTWvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745744948; a=rsa-sha256; cv=none; b=HwwymTnNFx7Ma4Ts470y0ET6kEO9eAG94MkVG6cqW5c4OBwnAWkp00qXitovo9nK987/43 6kLLQwqMtWqwhsksLWAqMIDiU1DQ+i/JNPLNElFU7/mDKMIuM4mAZb34jDXUH4OYFZnSBI rFNHt5p1ZioV5dbJ4iZZkrN02+tqKeeHW332oac3vITpislb4nD5/VKm9wuu8u3MjOxiPZ A9tBtrDIGZpOfcNk5dinRSRWAjDJR6zoZWHnvO89UY6dC/KGgqgTI+PqASocue4y91AhtA EbLdpeLkNMCf3DYEoHwz2bmZm7RWY2khmKCqb9/MMu2YXUrixtWth2D86xccSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745744948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xMi6nOdVE4JG8JYOsjoyGFQf0ZA0t+rRvINZB0e8pZE=; b=nZ1GxNdT+Vd5sxbJJhwijVJjc+vJ63sQAq9GAUgxP+Uv+hpzSMB5wL0yUWGGXps2kKIJYo Awtu8DvTUCr/r0FkepGSYcTEJ6nRw1wYc7dE+t4KrfeXdk4SQEYOV775Bufz0inRdA2MBz R3N273wTMRT87uEQWvruRXO3kn2iFkN9SSwA5shJWq8iJVX84nfPSiJM7vLmaXeGWtDDZR D/43Aa6u5pjhPsMSnauXnXx0KZcrYA4YIztMgt6K5KDAl/hNLupYQfCyypfxQ4titGvQTU fPXfFHIgohE7KMmbtrrMIqczFfucNOT6D3vI42IFNaCiPRPuaiWQpf7kebOyxQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlgkD16PBzyvN; Sun, 27 Apr 2025 09:09: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 53R998v9053809; Sun, 27 Apr 2025 09:09:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53R998NV053806; Sun, 27 Apr 2025 09:09:08 GMT (envelope-from git) Date: Sun, 27 Apr 2025 09:09:08 GMT Message-Id: <202504270909.53R998NV053806@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: fe4bdd889b5d - main - hidraw(4): Force switch to hidraw mode on HIDIOCGRDESC ioctl List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fe4bdd889b5d722faa3a66e2c7d9a248e527cdb2 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=fe4bdd889b5d722faa3a66e2c7d9a248e527cdb2 commit fe4bdd889b5d722faa3a66e2c7d9a248e527cdb2 Author: Vladimir Kondratyev AuthorDate: 2025-04-27 09:07:35 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-04-27 09:07:35 +0000 hidraw(4): Force switch to hidraw mode on HIDIOCGRDESC ioctl To match documentation. Reported by: Ihor Dutchak PR: 286155 MFC after: 3 days --- sys/dev/hid/hidraw.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/hid/hidraw.c b/sys/dev/hid/hidraw.c index c9d29b836d43..9b6f83d34d08 100644 --- a/sys/dev/hid/hidraw.c +++ b/sys/dev/hid/hidraw.c @@ -829,6 +829,9 @@ hidraw_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, */ if (size >= HID_MAX_DESCRIPTOR_SIZE) return (EINVAL); + mtx_lock(&sc->sc_mtx); + sc->sc_state.uhid = false; + mtx_unlock(&sc->sc_mtx); buf = HIDRAW_LOCAL_ALLOC(local_buf, size); error = hid_get_rdesc(sc->sc_dev, buf, size); if (error == 0) { From nobody Sun Apr 27 18:38:03 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlwLh0hWgz5vBCy; Sun, 27 Apr 2025 18:38: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 4ZlwLg70cMz3GVP; Sun, 27 Apr 2025 18:38:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UEM9xqjuiMZt8nSe8t6ZO1PO23EGLMNX7hhFFoA/nNI=; b=uHC5uhtx9s0I2yTO3YWTpPuTMjw5fXYzJ8GQfbFdqyVVDtqcFNRLtILxpwVrUC/OE56aJs 1ijHhasNfN2fEucodpBGtBpRTKM4FvgIq8ZdGYjfehNS9ZQVYgXGcwaVUn9eR+ocgzOFUz e9SbQEStxkNgCjvu6CarBpEjHXx6LbLv3fYU/yOHjcNzNMTcKua0vmv9bxtefY3TQH/9cu m5ymcYyZ+FWTQ5QeieF3Fadrb28XX3RSvDV0vJZwNcShsaUT+aewlZOxAKszYfpxgFSHDN 0KcbZvRSRrhoalnZeyuJNeffxuYrluFrDKj2ck+HtjsYg0yjHpix9Y6/ABLLZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745779084; a=rsa-sha256; cv=none; b=PlqNbl15TfqoQRU5FKTvBAGa9GEyPO4ylbatFoMq8fVh7n9mey9TMJ20g2qAcKYvI9WPKX Feh5982Yyv7VVHOmfUyBnOYYA7n2O62q3lQjwnTNPEC8mbBlKQKQba+qTzEZ0U5GfNbG5t k1kgjpeINxdY/xnXFp6UriHck3W2CTJcbrFqNrPmaeFf5daUO0CCxHlzHFjYaipVoV5I7T oddJRlk2Y1kDTxzebLlA7EZhZOghQvdubWbD8ViPYdTgQX6HdbA00+c0pGUasqq4br3sQ3 NOtozcX5YgniD1CwgxdND3HZxAUgcOokV7TAyXBHbpLZefCK8j1T/9xwVuC0mw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779084; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UEM9xqjuiMZt8nSe8t6ZO1PO23EGLMNX7hhFFoA/nNI=; b=E86QUNAdVqvMSIG1nCIXLVwMVB2HHDkYxJCqEZUPnw2TYbgwnHWj6PH40EphMfL0d0SqS3 bQKgPlsKPHk6eEcAbEeiLjPTuMng43BZiGIX7KVPHssM5LDGle3sphzXDCUBWZbXIq0LEo FqyDBqdgmNUKMFYvZFQkMNCzNknXo4Y4ITbPbbt8J7vl8I7LlP2EKT6KF3lEc3YciMMZPq ODFa1cGQTmRBuFHDR/99Ivlp5vJAV8KnXLsSE2oQvDInotCCD1nvg5JimCot//d5x7fV8t o5UFb1lNdGbnxANibAe0Qil3zxOuhgU5duekkePHsTBxNkkj+c4eIvSJ2+D5Rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlwLg6Zh1z1GMQ; Sun, 27 Apr 2025 18:38: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 53RIc3P0020394; Sun, 27 Apr 2025 18:38:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RIc3Z7020391; Sun, 27 Apr 2025 18:38:03 GMT (envelope-from git) Date: Sun, 27 Apr 2025 18:38:03 GMT Message-Id: <202504271838.53RIc3Z7020391@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 331e1b33b39b - main - miiproxy: add missing dependency on mdio List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 331e1b33b39b87bce0805d01719c3e71c130c631 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=331e1b33b39b87bce0805d01719c3e71c130c631 commit 331e1b33b39b87bce0805d01719c3e71c130c631 Author: Adrian Chadd AuthorDate: 2025-04-24 02:39:40 +0000 Commit: Adrian Chadd CommitDate: 2025-04-27 18:02:30 +0000 miiproxy: add missing dependency on mdio This is required for it to be a module Differential Revision: https://reviews.freebsd.org/D50024 Reviewed by: imp --- sys/dev/etherswitch/miiproxy.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/etherswitch/miiproxy.c b/sys/dev/etherswitch/miiproxy.c index 1974a8d7bbb1..2af6533d41c8 100644 --- a/sys/dev/etherswitch/miiproxy.c +++ b/sys/dev/etherswitch/miiproxy.c @@ -431,3 +431,4 @@ DRIVER_MODULE(mdioproxy, mdio, mdioproxy_driver, 0, 0); DRIVER_MODULE(miibus, miiproxy, miibus_driver, 0, 0); MODULE_VERSION(miiproxy, 1); MODULE_DEPEND(miiproxy, miibus, 1, 1, 1); +MODULE_DEPEND(miiproxy, mdio, 1, 1, 1); From nobody Sun Apr 27 18:38:04 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlwLj4YFcz5vB36; Sun, 27 Apr 2025 18:38: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 4ZlwLj1kbFz3G4l; Sun, 27 Apr 2025 18:38:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779085; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LkEFHQqTSRWmhuvO92w57yCDpwGENEQaLIFn7bfSGP4=; b=Ai9Afj3x9ESy0W9M2uygUEJ6rRv+IT8YOAlGUTUAEtGIp5XZPLklT/QMBkCYvgX8gTzgaA /mG413sD9MnE8Rper00pEl94FbnvvBGd94azyWkvLq39cni7xyblHR8oPJXcHzv/ytvfiU PO4FfvadeixQ6x7nxzL4xwMcbQD0r1ILg184jiDteV1CDtTiWFnuYl1hPbi42v+sBjYbAv 3p/pEIy/Ym5EIvi9q664Huak512mhFc+/daiqNjiaGFVDJR866eLevmx3uTUM2m67Iu9/7 Bmww7rHByFmaTAVBV969S8pYAPhAxn8ZA9erXpk8zW7hKS4/QQLEUhgcfO14cQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745779085; a=rsa-sha256; cv=none; b=KrMOAldXuUASN5PM3enx5OOA0PJ9N2h4CdTeEUj6N24u6Vq2VwGeQaf9mP96ge2lG6X2rC 9lj87fFUfjUYp8pgo/s1LJmuLkckmb+bs0j8PHh8EfD/Gsib+Yo66iiAaQfL++zN+EsJGI jVImE48x3evdGFzemKS18IGsOla2kybDGpjlQIsNudS9FDBnJaAATYl3m4i7/EcUo9UmqT ygxQh/jpWlZp02O0jtd4Szh8Q8DHNe/jRxC8O883sdMQd5kCAsy2zfPXhqJSx5zgWtN++X 4jC/F1nGIo5V/dqbsuTHmgbJ88H+ED5qfBVYxj8x2VzeL4zaQMtZwpyV12dsoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779085; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LkEFHQqTSRWmhuvO92w57yCDpwGENEQaLIFn7bfSGP4=; b=I+LlP0BCMS7CwiWf3/WQAGYFN1hHSi4x2NM0EezSkrWx6ZiA/5AZ3Q6lfOVnc86uQRIReU Ej/WSaAjQwA8XEWZQ/kl/VAkFqvJG7EemR6zWtZSRdjniPu/c6S/YDO7c2ccKIIgDe54Ol Ilwx2Dm3YAtjLb2dyloLzkYHSmT6u8H9uLt7oVWsmQhgF3rbDH83pc6Y3I9kq4Jmbl+8vY 0130hfVzbhROElQOPLz8k3YUxhjKzNrgYxTlv8QBMwjQV/CgOPh2DCkgDHZBP7n9rNcKZi h9TQbFNOZBmC0GGMlIpP+O8MXRdY1j+ru43MF5wql3SgREaUg/FtrqI1J3jeiA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlwLj0QtWz1FnC; Sun, 27 Apr 2025 18:38: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 53RIc4vx020427; Sun, 27 Apr 2025 18:38:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RIc4he020424; Sun, 27 Apr 2025 18:38:04 GMT (envelope-from git) Date: Sun, 27 Apr 2025 18:38:04 GMT Message-Id: <202504271838.53RIc4he020424@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 07b56e2653a2 - main - miiproxy: add as a module List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 07b56e2653a29e09801113f0f91067f8dce83ccb Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=07b56e2653a29e09801113f0f91067f8dce83ccb commit 07b56e2653a29e09801113f0f91067f8dce83ccb Author: Adrian Chadd AuthorDate: 2025-04-24 02:40:06 +0000 Commit: Adrian Chadd CommitDate: 2025-04-27 18:03:26 +0000 miiproxy: add as a module Add miiproxy as a module. Differential Revision: https://reviews.freebsd.org/D50025 Reviewed by: imp --- sys/modules/Makefile | 1 + sys/modules/miiproxy/Makefile | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 1608e47891e1..46fd730463d6 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -252,6 +252,7 @@ SUBDIR= \ mem \ mfi \ mii \ + miiproxy \ mlx \ mlxfw \ ${_mlx4} \ diff --git a/sys/modules/miiproxy/Makefile b/sys/modules/miiproxy/Makefile new file mode 100644 index 000000000000..5173358989da --- /dev/null +++ b/sys/modules/miiproxy/Makefile @@ -0,0 +1,9 @@ +.PATH: ${SRCTOP}/sys/dev/etherswitch + +KMOD = miiproxy + +SRCS= miiproxy.c +SRCS+= mdio_if.h miibus_if.h +CFLAGS+= -I${SRCTOP}/sys/dev/etherswitch + +.include From nobody Sun Apr 27 18:38:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlwLk6bpdz5v9l9; Sun, 27 Apr 2025 18:38: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 4ZlwLk24BFz3GVR; Sun, 27 Apr 2025 18:38:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gYniuArbNCBrkGgp52Ez9fKjzyKY7VTXfIEHYrNp7vA=; b=KOgQ4GCExruPK4c8mD7FkBQYnIEkQ638b+ky5HGKMmby0e4p/FooZCpTC7ERJR5fSeXZX4 E4Ny4qakxfYW550j20pFWm59aNt3atXK4cmu9aCzOt4vTr/Omnvmh6TXdlL10wDetmFp3A ndknJncASz9Y2kyLILAt8lwJ/80t838U6kwLgndrDKhjK7Eyvja59Bhxhnz54n1ZHEw0WT 5TI0Riyitro7bNXWAj/eKStMKkcxt2Qsg8893xiGHh/hEnzu+h6ueif5b6CJ0EmqpjE5dc nE/Ke4L2M9H+i2JNMy4u9Mq6zo7YI8ugYukRyY8kEMXeLY01xQdV37x28UvYaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745779086; a=rsa-sha256; cv=none; b=AVQA6sUkLVo/PBcbiurpV6Z8kDQETn752iqhKVSa1BK5n/bKW40FL8Om6ujFsqjNDAMPhz drQd3qoxmmTxMkdcdFXy1KbqbSbZ/AjQ1hozDLv9MhxDx+TKMafJg9L2ZcxcXjPaHDJsxg 8Yrt3riGlSvygwVcn/h2cWv1akMdj2+F3Svi7P5sL7ZlMo92tPumLSTK83VZbKX1y5T+2L Y5aLppfM6QQBeqt+I6g/WHEhtwoEGV9044WsjvqRaLs+4qtJ0qT9kIqgqYFJr4IazDXWC7 A44gNHPy9ueLaQoqJTqmKv3HuXYNd2o+qr/AIMoxYw6fKYBF68sGLWhETjrhDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gYniuArbNCBrkGgp52Ez9fKjzyKY7VTXfIEHYrNp7vA=; b=JhpSbpVk2KaSJCDODiIwvyJnDr1T0NY0tnzsEgFS2a3eueJxWyYOTfTKYAtARUeEplJqrI OhEuzrkWwFQuzD0b/EKF1qTWJk+vJPtFK5A/3ql8LsxIHrtmdQ3OHnj9RTQIVWHISy5JbW CRz2hyLyb1LjaSPNFk9tlHDFRk6iD4VDuxtensGLwiv2iZXex2P1o6uCrbS9MA7oCcuRr1 Rj7AT8KqPmwK7GlLJ1StAFgp5+7FNx69HFf57U7OJRyfxuhy53jVP/OzcDOOxCaPdFeRxT Qcs+zde+RAo5GNhsaS1ydCYPOMxXLXFTUgfnPjbRA+EWs4DD/1j+/eZqG+HbLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlwLk1NVMz1GVf; Sun, 27 Apr 2025 18:38: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 53RIc676020464; Sun, 27 Apr 2025 18:38:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RIc606020461; Sun, 27 Apr 2025 18:38:06 GMT (envelope-from git) Date: Sun, 27 Apr 2025 18:38:06 GMT Message-Id: <202504271838.53RIc606020461@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 4a167205f225 - main - etherswitch: add etherswitch module List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a167205f225d2e739dac273d7b7cc228f925737 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=4a167205f225d2e739dac273d7b7cc228f925737 commit 4a167205f225d2e739dac273d7b7cc228f925737 Author: Adrian Chadd AuthorDate: 2025-04-24 02:58:06 +0000 Commit: Adrian Chadd CommitDate: 2025-04-27 18:03:45 +0000 etherswitch: add etherswitch module Add the etherswitch module Differential Revision: https://reviews.freebsd.org/D50026 Reviewed by: imp --- sys/modules/Makefile | 1 + sys/modules/etherswitch/Makefile | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 46fd730463d6..88f3f5c4bf1c 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -110,6 +110,7 @@ SUBDIR= \ ${_enic} \ ${_enetc} \ ${_et} \ + etherswitch \ evdev \ ${_exca} \ ext2fs \ diff --git a/sys/modules/etherswitch/Makefile b/sys/modules/etherswitch/Makefile new file mode 100644 index 000000000000..087231545cd4 --- /dev/null +++ b/sys/modules/etherswitch/Makefile @@ -0,0 +1,9 @@ +.PATH: ${SRCTOP}/sys/dev/etherswitch + +KMOD = etherswitch + +SRCS= etherswitch.c +SRCS+= mdio_if.h miibus_if.h etherswitch_if.h etherswitch_if.c +CFLAGS+= -I${SRCTOP}/sys/dev/etherswitch + +.include From nobody Sun Apr 27 18:38:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlwLl45k5z5vB80; Sun, 27 Apr 2025 18:38: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 4ZlwLl2mfPz3GSZ; Sun, 27 Apr 2025 18:38:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QD6CJGPAdh9MZ21x0riLEyl0pQ2zili30ctkP/vabv0=; b=xyjO9x5MJUR3HrG/+KotBBDrDEZRRDtnMqkhmQW3e70xRoYKhfQMZnkNxT7kPJxpU9WZXs HkBQCj3fyp2q5VFQ6nCx0FSWPe2P5NtoTv73ZmLQZ2mjCGY2pfPYTZfDho2abv+0CE7Y/L mE9GE+VxaenWkvamvNbgoaDca1Ry3xyeDp3uIgXLTDNSWGNMCMtVaZAl+rg1q8uAf9Ou97 kZOb5xdyA8ktuQtHxOpjm036E15HlYMlubkyFQd4qbAimTB/+mM5+K/QxqyO+q+xq2iW4P 589gsIjl12YgbpD7JHky2ccMeIQUFcVxChPgmg6/b1FXZ6qbiCZ0wvCLV4Hslw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745779087; a=rsa-sha256; cv=none; b=uYHcqtAaLW2kDarX2W0+JIogZAGUOmVQOxvrydOBFngfYmArw6yVodnLJPxcdn2PmLT2wh FOijhUGGqR3NxCIsMsBsUEJ5wP9I+mRVuXHJ1HO+KOU+HYVDap7k3nFg4FudZHkieQl/fs 60G/gfsO/g0/LoNO6NU60VmtZefGr6HkUQgHERGD2gHsO1SBsyWHgy8wy901Cdd0xK3+OA PXSP0i76QZAfEUvVkbrYuPXPdx0QQ6hCBlmrpxq9hIJIjQDs2lh/Jb4JogIpnFXfHccErH ockTZn2cWxPjVJOhlOTlElyKIhGUSYMWlM6Y3RjF16zu2cRmIpd8Q6P/eTbTBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QD6CJGPAdh9MZ21x0riLEyl0pQ2zili30ctkP/vabv0=; b=STObDBdfZexHnkCLzj9hio/xAeHie2jhK3A8qHbDN9X4L6sidGqNhXo0gx2sTwCk9U+Hwp kjEF1Kd2NYpP4g1OTBWQP0qfZcxeHXL07SXjwJvi8jhBSo7q5eYVN63UcjUWi4lc3yjqil yiYh2NNJKi0P/iMUuFlnKR68a9RH3RQ28MNiR58XJaKPc6Hs5dUUCyzRpIUHmVAz1IroeH uIgfpg9S0O8VoS/MEUE3W38SJIu/QvzAfpj8XVDqqJwp+r725P+uy6jybgCbpt7hox+ILR fjgI4RB51NNeqmbxD/T28SFgXWhogbLnDLyvWPdTXWhUwe3fFS1zd2SXpHndCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlwLl2JlKz1G7Z; Sun, 27 Apr 2025 18:38: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 53RIc79g020500; Sun, 27 Apr 2025 18:38:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RIc7LF020497; Sun, 27 Apr 2025 18:38:07 GMT (envelope-from git) Date: Sun, 27 Apr 2025 18:38:07 GMT Message-Id: <202504271838.53RIc7LF020497@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 322f3f587e2c - main - e6000sw: correctly depend upon etherswitch List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 322f3f587e2cdba975a9ebc1561e7caf29840f77 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=322f3f587e2cdba975a9ebc1561e7caf29840f77 commit 322f3f587e2cdba975a9ebc1561e7caf29840f77 Author: Adrian Chadd AuthorDate: 2025-04-24 05:58:40 +0000 Commit: Adrian Chadd CommitDate: 2025-04-27 18:04:03 +0000 e6000sw: correctly depend upon etherswitch This fixes the driver to load correctly as a module when etherswitch is also a module. Differential Revision: https://reviews.freebsd.org/D50027 Reviewed by: imp --- sys/dev/etherswitch/e6000sw/e6000sw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/etherswitch/e6000sw/e6000sw.c b/sys/dev/etherswitch/e6000sw/e6000sw.c index cb71fa5b0e88..59ac05d99ae3 100644 --- a/sys/dev/etherswitch/e6000sw/e6000sw.c +++ b/sys/dev/etherswitch/e6000sw/e6000sw.c @@ -198,7 +198,7 @@ DRIVER_MODULE(e6000sw, mdio, e6000sw_driver, 0, 0); DRIVER_MODULE(etherswitch, e6000sw, etherswitch_driver, 0, 0); DRIVER_MODULE(miibus, e6000sw, miibus_driver, 0, 0); MODULE_DEPEND(e6000sw, mdio, 1, 1, 1); - +MODULE_DEPEND(e6000sw, etherswitch, 1, 1, 1); static void e6000sw_identify(driver_t *driver, device_t parent) From nobody Sun Apr 27 18:38:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlwLp32B9z5vB86; Sun, 27 Apr 2025 18:38: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 4ZlwLn5RX6z3GbR; Sun, 27 Apr 2025 18:38:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9+gDrMOzp7iKdCbdP5T5BebDI6B5AaGjEwigKlQPDWQ=; b=A3xl51ja0SXxtlN6GT9PxwKuEEdQPzgm7C85SR2+GApa/aAsiGN0ySSVQMmqvUatGe9wx+ 6onS1kB1F3R9zdZHrTknBFXVyBxrHh84v226lbDDiAg7/dTEbvHUThKkLmTL5hnRvOv9X2 UwIOJmcLBwSBVvGXD5KIpokON7v7Vfzbwv4naX4sBfjd55nlE7sTkIwxR4Pg7+VQiEtyp8 15whzaQsp8ZSYpQKMDDbnUIkp7OPKUx3CwAVBYadfl0NcDOb+zdgz5nO1HhBshVTvcrA7D ITvCASQOldrONQZ8aa6irv79GCDel/kFPLfayytw2Bgb0yd3in956UjsxN3S9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745779089; a=rsa-sha256; cv=none; b=pPgec9l1w1G81M8uXbKinqIDB7j5OFL0emIQA9SJc9e3pAAA1e+LcVNhKnl8+XNHf52I7s KzRASQW7cH8pbKwXrqSXS0clEWLjfoYGV53pHDtwm/Y3Oi3V6sUAyD4clwojMJO7Q08H79 R2asr+cLabRr001Gw2aYh161/hElRszkpYzKNZ19iDrLmBbwWAKmifi+A6fza3A2SGoUdz ah4fj73EFB16xnN8kPNIQ5Vf/zNLZ/Ux7DfcrY9CElbIWtRJR6iNkijHgndfHPQVuTNIQU 7S1KEEvX8oEkewv7D4PhjxcK1rL/1SeuWbOsvxAthVEjK+Nn/Ucf0Or/CsS7cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9+gDrMOzp7iKdCbdP5T5BebDI6B5AaGjEwigKlQPDWQ=; b=YKW6W8bh1peNpDb3bKnzO8h3RT1fPFCmXp0tUdDzTvPCsOqfXpcdRUm6bKXD6BOzb/2xzI ndrhQypJ+lnIgZaYA/rgFaS7s8TUxCpUISs0p6hOUHeMtfR9xbjJmtcOgozrgTSXxi4OMI gIvDoDwT4mVM6ei1kSPA8iJCJyaapzGQSMHpvhmzk93U+meIxMvHY1aqTbLKC20/3+VcRe YFJM/6qGS2YTKeTnGH7pQDLEgGHe6Fo/lfgNJCGZTuMrN3qnYe+KPkggANSA/NBLav3Lts izEwpLxi261WvUU1EfoQM4bqSFwm+x/uWNm6BFJWgDcCzGM71e7KjDKiPhDqaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlwLn4Ds9z1Gbf; Sun, 27 Apr 2025 18:38: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 53RIc9JY020568; Sun, 27 Apr 2025 18:38:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RIc9tx020565; Sun, 27 Apr 2025 18:38:09 GMT (envelope-from git) Date: Sun, 27 Apr 2025 18:38:09 GMT Message-Id: <202504271838.53RIc9tx020565@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: af298663e9ff - main - e6000sw: unlock the driver lock in the error path during attach List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: af298663e9ff77e3a03da10d89d89e73a69a9ea7 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=af298663e9ff77e3a03da10d89d89e73a69a9ea7 commit af298663e9ff77e3a03da10d89d89e73a69a9ea7 Author: Adrian Chadd AuthorDate: 2025-04-25 18:38:20 +0000 Commit: Adrian Chadd CommitDate: 2025-04-27 18:04:39 +0000 e6000sw: unlock the driver lock in the error path during attach The driver sleep lock was being held during most of the error paths, and not unlocking it will panic the kernel during detach. So, fix it. Differential Revision: https://reviews.freebsd.org/D50029 Reviewed by: imp --- sys/dev/etherswitch/e6000sw/e6000sw.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/etherswitch/e6000sw/e6000sw.c b/sys/dev/etherswitch/e6000sw/e6000sw.c index 59ac05d99ae3..85900cebc303 100644 --- a/sys/dev/etherswitch/e6000sw/e6000sw.c +++ b/sys/dev/etherswitch/e6000sw/e6000sw.c @@ -650,6 +650,7 @@ e6000sw_attach(device_t dev) return (0); out_fail: + E6000SW_UNLOCK(sc); e6000sw_detach(dev); return (err); From nobody Sun Apr 27 18:38:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlwLn4vCXz5vB9w; Sun, 27 Apr 2025 18:38: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 4ZlwLm5CFSz3GVj; Sun, 27 Apr 2025 18:38:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=arqaao0lnOABm/iL1YtdynyNhXKbI2ZAy0l9csLsy5M=; b=vDFgpmlvgt40CvaaXczlhP/HXJyrpLa0zmZnZwKPnFrxgan8BGJsClQjSXPRPhXsukRJic j5z6HU0HxzHFCNyfgKyciutZ9QuXBPldYXIk724evS9EO0UiVeJ7ROJqSNnGIaHRo30ld7 ISNmiXf+4V8QIY1tSSGU1s3nffAdmDqqnWkIUBpCxGP8Snb7Fiuf3obmgvlp18EzryN4MA qV4TSecPySiL19+I+vf7OT8+xmLTLm9005ioH6RjUm96ZAyLSFF8MzlcXAcVMY6wi/3zpu Fgnnb6sVloGRy3W/Zu5SRMAi0tPhI2SDmyE8iwCOc0bvleIBgrOt83Rt9G4t8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745779088; a=rsa-sha256; cv=none; b=kcJxFgokmiXoqb3WCQ29Gy0bI1BhI2Y+3lnvIbIX/2HjSibQTE6zAi59yLkEMWO82Oxkfi j66ugkytTQnBsxjQc1WCIYfwDxvltDh92bI3/CiZOavXeL7TCF07M8QOygVIyBtf25DS3y tA0d9Jpu/hsEnAN2JWJU8Rka4i6AqWerjh0HPjZoaRmKfQmm/cKdLlzHBoJsYulH1QFIv8 LHc0/uWMirssFbPx+yLAoNTViMbRKXc6t7RnJ8+mBq0qOVZsmBEQLqsBmDBpQ88zUc9oSx kIVveirfxsLZYemE521YjoUWkoWGjuP+GDg+w/a0mhnD3lQa0UUErFW2nPu5RQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=arqaao0lnOABm/iL1YtdynyNhXKbI2ZAy0l9csLsy5M=; b=R7v6Ak9bLXBcFezNlHIeOY6ngDyg3ZMaVtCdgDj5pGPfckk6VLvHMmBLDkpxoKr5NLzUUX xOajWdIpt125Mv458DfXHfrlO8eD9Wi/RvwT933gMIeEr/ITtl8b44Tg6aZ+50gFNsN3jM JSM8MCMTOyD9fEvJxU3vCMYaDo0qijdXlO5P/YFojOIy8GDqGkQy6zV1mZhpArev7e+vIr +PEkVkNB5aqWgUyU1E0RuNXgO+JIWRPqSea6pU9NFfDYjpxVllrhx39nASR0GHSzshhg3G Lqg+D1WHDDbJhVRq3eFHT88KDL6159+cSbosJT1DdJPm3UlM1EdStfaaFQXbIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlwLm3H0yz1Gbd; Sun, 27 Apr 2025 18:38: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 53RIc8vr020533; Sun, 27 Apr 2025 18:38:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RIc8pm020530; Sun, 27 Apr 2025 18:38:08 GMT (envelope-from git) Date: Sun, 27 Apr 2025 18:38:08 GMT Message-Id: <202504271838.53RIc8pm020530@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: bca86850737c - main - e6000sw: always compile it List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bca86850737c981c482e76644422e8b9eec6093c Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=bca86850737c981c482e76644422e8b9eec6093c commit bca86850737c981c482e76644422e8b9eec6093c Author: Adrian Chadd AuthorDate: 2025-04-24 17:33:21 +0000 Commit: Adrian Chadd CommitDate: 2025-04-27 18:04:22 +0000 e6000sw: always compile it It now is useful outside of FDT, so add it as a module Differential Revision: https://reviews.freebsd.org/D50028 Reviewed by: imp --- sys/modules/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 88f3f5c4bf1c..369cd47c6c8f 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -103,7 +103,7 @@ SUBDIR= \ dummymbuf \ dummynet \ ${_dwwdt} \ - ${_e6000sw} \ + e6000sw \ ${_efirt} \ ${_em} \ ${_ena} \ @@ -715,7 +715,6 @@ _rockchip= rockchip .if !empty(OPT_FDT) _sdhci_fdt= sdhci_fdt .endif -_e6000sw= e6000sw _neta= neta .endif From nobody Sun Apr 27 18:38:12 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlwLt11Twz5vBP8; Sun, 27 Apr 2025 18:38:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlwLs0JX7z3GWP; Sun, 27 Apr 2025 18:38:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2/BopWM77PyE2Bo8LARACNVHStu4Q4wR4S45cQ3Rt2Q=; b=sB3M3VWuvAzVNybjnp29gk1uusdaiLCcT745kAtsyX1XeoosEi5MdheHVtQ14+s/ZEX+vd nluxakys1ckLj9yf2r0m8s66yMM9fOKUOoRGNmk4lBslQQPC2kJvVvhyQRepR+mSNhH1No kZw+enABXqdIgrkiboXydhnvAVORiPDJ/nEY9cgSHM81ZlLMqRo0ft/lSEFgCuX9TJP1g7 nA/GCVd7f/dKRh8QD3o3ZRnkk8FRJuhlw6lNB5o1Mph32ZxogWYghDyJnJ7U4VSyVzeLod HFawUJo2IYzoh4Pk95h/1CGW1yRNx2+2EwkdLpsBbDMCzYlY7jevrnXIBISVxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745779093; a=rsa-sha256; cv=none; b=WHmBEh5uNRtzFOaq3qBM1QPm/H92hU36QcDYzHqa2aXGvd7fs5PHy9/rkHGLEJhHMqFqmw ie68fO9KFojmrrQ/5IDpKaLMPRnzHqKrYOLbPazVEiCEGhsZcdJi+QqNxkiXBnZVjcdPbx 0mxPgGNSXHyeY9dJNK8PIoFumnlZWCMd4mpuwvLFQODxTuv/zW2qC1u7NRexVWQDhcsgfR m9lY6BdpMB8fwpGLCbRrzWawVwwf3eiNfbG+e6yMs9EUOigXYz6OZm13B+xBMRZWTIw8Xh lcM67+nkd5qT13kjZqm5dtXOg3osnHuIbFf/KuW4oQMq4xmN9Iltvtjg7bz+iQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2/BopWM77PyE2Bo8LARACNVHStu4Q4wR4S45cQ3Rt2Q=; b=YKlzbEHm9Tdwe5Lrh6xtQgzTd65STsqbEgCGkYsOpZVownzoVcTOFEDs+VyGzQi33E7d3f 9Vrpmhnxd5cSv/Jx8kGA5swBxEXqpyeR9ZB84xrw3e2fzyDy7t2dgz4YXFuGkUnOrhA2f2 g6HatI8sCdMwi0ldCIho6npB5u5P2ycGIxlnVWzZy7dR6FJra557TIuZUPVqK7tSlIk1OA fqZjOi2q7xdfzB6Wt0DoYLLW/nW6Pi0mnSTPyT6FDLkPvwmPdykZVhd42AwZRd1wEBwshO ktXqjN9KXi0TyPohEoUIDA5aoe54TsQVuT4ocLpzm/gsZUd/9OCCA+jroSNlXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlwLr6qJCz1G7c; Sun, 27 Apr 2025 18:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53RIcCCs020677; Sun, 27 Apr 2025 18:38:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RIcCYV020674; Sun, 27 Apr 2025 18:38:12 GMT (envelope-from git) Date: Sun, 27 Apr 2025 18:38:12 GMT Message-Id: <202504271838.53RIcCYV020674@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: 9b2a503a1179 - main - e6000sw: add support for 88E6190X List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9b2a503a1179e026a4efc0b2e0a910168bc806ed Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=9b2a503a1179e026a4efc0b2e0a910168bc806ed commit 9b2a503a1179e026a4efc0b2e0a910168bc806ed Author: Adrian Chadd AuthorDate: 2025-04-24 17:32:15 +0000 Commit: Adrian Chadd CommitDate: 2025-04-27 18:11:26 +0000 e6000sw: add support for 88E6190X This adds the minimum support required to probe/attach the 88E6190X. I've tested this against an AT&T ATT-150 OCP device (Silicom i3000) with local changes to export MDIO via ixge(4). Hints are required to probe/attach/configure the switch on amd64, but with the mentioned diffs, it does work. Thanks to Stas Alekseev for the pull request and Stas / Jason Hensler for chasing down information about the chipset, linux stuff and AT&T OCP hardware information. PR: kern/281211 Pull Request: https://github.com/freebsd/freebsd-src/pull/1408 Differential Revision: https://reviews.freebsd.org/D50044 Reviewed by: imp --- sys/dev/etherswitch/e6000sw/e6000sw.c | 33 +++++++++++++++++++++++++------- sys/dev/etherswitch/e6000sw/e6000swreg.h | 9 +++++---- 2 files changed, 31 insertions(+), 11 deletions(-) diff --git a/sys/dev/etherswitch/e6000sw/e6000sw.c b/sys/dev/etherswitch/e6000sw/e6000sw.c index 19d8e85decf6..0041119ca300 100644 --- a/sys/dev/etherswitch/e6000sw/e6000sw.c +++ b/sys/dev/etherswitch/e6000sw/e6000sw.c @@ -217,7 +217,8 @@ e6000sw_probe(device_t dev) #ifdef FDT phandle_t switch_node; #else - int is_6190; + int is_6190 = 0; + int is_6190x = 0; #endif sc = device_get_softc(dev); @@ -253,15 +254,25 @@ e6000sw_probe(device_t dev) device_get_unit(sc->dev), "addr", &sc->sw_addr) != 0) return (ENXIO); if (resource_int_value(device_get_name(sc->dev), - device_get_unit(sc->dev), "is6190", &is_6190) != 0) + device_get_unit(sc->dev), "is6190", &is_6190) != 0) { /* * Check "is8190" to keep backward compatibility with * older setups. */ resource_int_value(device_get_name(sc->dev), device_get_unit(sc->dev), "is8190", &is_6190); + } + resource_int_value(device_get_name(sc->dev), + device_get_unit(sc->dev), "is6190x", &is_6190x); + if (is_6190 != 0 && is_6190x != 0) { + device_printf(dev, + "Cannot configure conflicting variants (6190 / 6190x)\n"); + return (ENXIO); + } if (is_6190 != 0) sc->swid = MV88E6190; + else if (is_6190x != 0) + sc->swid = MV88E6190X; #endif if (sc->sw_addr < 0 || sc->sw_addr > 32) return (ENXIO); @@ -303,6 +314,10 @@ e6000sw_probe(device_t dev) description = "Marvell 88E6190"; sc->num_ports = 11; break; + case MV88E6190X: + description = "Marvell 88E6190X"; + sc->num_ports = 11; + break; default: device_printf(dev, "Unrecognized device, id 0x%x.\n", sc->swid); return (ENXIO); @@ -333,7 +348,7 @@ e6000sw_parse_fixed_link(e6000sw_softc_t *sc, phandle_t node, uint32_t port) return (ENXIO); } if (speed == 2500 && (MVSWITCH(sc, MV88E6141) || - MVSWITCH(sc, MV88E6341) || MVSWITCH(sc, MV88E6190))) + MVSWITCH(sc, MV88E6341) || MVSWITCH(sc, MV88E6190) || MVSWITCH(sc, MV88E6190X))) sc->fixed25_mask |= (1 << port); } @@ -597,22 +612,26 @@ e6000sw_attach(device_t dev) reg |= PSC_CONTROL_SPD2500; else reg |= PSC_CONTROL_SPD1000; - if (MVSWITCH(sc, MV88E6190) && + if ((MVSWITCH(sc, MV88E6190) || + MVSWITCH(sc, MV88E6190X)) && e6000sw_is_fixed25port(sc, port)) reg |= PSC_CONTROL_ALT_SPD; reg |= PSC_CONTROL_FORCED_DPX | PSC_CONTROL_FULLDPX | PSC_CONTROL_FORCED_LINK | PSC_CONTROL_LINK_UP | PSC_CONTROL_FORCED_SPD; - if (!MVSWITCH(sc, MV88E6190)) + if (!MVSWITCH(sc, MV88E6190) && + !MVSWITCH(sc, MV88E6190X)) reg |= PSC_CONTROL_FORCED_FC | PSC_CONTROL_FC_ON; if (MVSWITCH(sc, MV88E6141) || MVSWITCH(sc, MV88E6341) || - MVSWITCH(sc, MV88E6190)) + MVSWITCH(sc, MV88E6190) || + MVSWITCH(sc, MV88E6190X)) reg |= PSC_CONTROL_FORCED_EEE; e6000sw_writereg(sc, REG_PORT(sc, port), PSC_CONTROL, reg); /* Power on the SERDES interfaces. */ - if (MVSWITCH(sc, MV88E6190) && + if ((MVSWITCH(sc, MV88E6190) || + MVSWITCH(sc, MV88E6190X)) && (port == 9 || port == 10)) { if (e6000sw_is_fixed25port(sc, port)) sgmii = false; diff --git a/sys/dev/etherswitch/e6000sw/e6000swreg.h b/sys/dev/etherswitch/e6000sw/e6000swreg.h index 7c952052a401..ec4503faeec5 100644 --- a/sys/dev/etherswitch/e6000sw/e6000swreg.h +++ b/sys/dev/etherswitch/e6000sw/e6000swreg.h @@ -47,6 +47,7 @@ struct atu_opt { #define MV88E6172 0x1720 #define MV88E6176 0x1760 #define MV88E6190 0x1900 +#define MV88E6190X 0x0a00 #define MVSWITCH(_sc, id) ((_sc)->swid == (id)) #define MVSWITCH_MULTICHIP(_sc) ((_sc)->sw_addr != 0) @@ -56,7 +57,7 @@ struct atu_opt { */ #define REG_GLOBAL 0x1b #define REG_GLOBAL2 0x1c -#define REG_PORT(_sc, p) ((MVSWITCH((_sc), MV88E6190) ? 0 : 0x10) + (p)) +#define REG_PORT(_sc, p) (((MVSWITCH((_sc), MV88E6190) || MVSWITCH((_sc), MV88E6190X)) ? 0 : 0x10) + (p)) #define REG_NUM_MAX 31 @@ -138,13 +139,13 @@ struct atu_opt { #define VTU_DATA 7 #define VTU_DATA2 8 -#define VTU_FID_MASK(_sc) (MVSWITCH((_sc), MV88E6190) ? 0xfff : 0xff) +#define VTU_FID_MASK(_sc) ((MVSWITCH((_sc), MV88E6190) || MVSWITCH((_sc), MV88E6190X)) ? 0xfff : 0xff) #define VTU_FID_POLICY (1 << 12) #define VTU_PORT_UNMODIFIED 0 #define VTU_PORT_UNTAGGED 1 #define VTU_PORT_TAGGED 2 #define VTU_PORT_DISCARD 3 -#define VTU_PPREG(_sc) (MVSWITCH((_sc), MV88E6190) ? 8 : 4) +#define VTU_PPREG(_sc) ((MVSWITCH((_sc), MV88E6190) || MVSWITCH((_sc), MV88E6190X)) ? 8 : 4) #define VTU_PORT(_sc, p) (((p) % VTU_PPREG(_sc)) * (16 / VTU_PPREG(_sc))) #define VTU_PORT_MASK 3 #define VTU_BUSY (1 << 15) @@ -174,7 +175,7 @@ struct atu_opt { #define ATU_MAC_ADDR45 15 #define ATU_DATA_LAG (1 << 15) -#define ATU_PORT_MASK(_sc) (MVSWITCH((_sc), MV88E6190) ? 0xfff0 : 0xff0) +#define ATU_PORT_MASK(_sc) ((MVSWITCH((_sc), MV88E6190) || MVSWITCH((_sc), MV88E6190X)) ? 0xfff0 : 0xff0) #define ATU_PORT_SHIFT 4 #define ATU_LAG_MASK 0xf0 #define ATU_LAG_SHIFT 4 From nobody Sun Apr 27 18:38:10 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlwLq4LrLz5vBJ4; Sun, 27 Apr 2025 18:38: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 4ZlwLp5j3Jz3GR6; Sun, 27 Apr 2025 18:38:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/BstUVG9UgNDaQIEu1kdjDtsie85n5lNjQJTbIJipmI=; b=hhNDlRYysgSOnJBNFx7sMui5M60AzLE0XpNlXnpBXduINzo0FyNrpTi2TAAbWa+KHtH0Dq qIoC2V5Z3RK0co9VN5/qaaGQRi5NttsWJqXN3q2gpDE+QZFxTpBAFm4goTZ3BD8TMN2+4m wIEPuPXtQ02QW8szRsJfzMHWMMwoRM+llkcoJV/wmFxDN7X34tx1hrLorZUqDKWkJcH/By bN8odRjyFDfIlIipCT/HUe17bWR8IAujrguHOgPQlKSh2O4I7uN9Vao4viixjkDox8EbNR E2a0ClS8KVZQKqTAq4c9E0WwidNULtBnGnodz/n7+opa4onFBfA0zJLnffIhkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745779090; a=rsa-sha256; cv=none; b=hKRmOdvS6lWeDpMOI4bN705XpYSpUxp54G7Fb+5nCpDWJ5tHERw7MjUbOYlO5xw0A7BcH1 UREoI9mb+xu8+pEcnbZsncBXhUwu1nHqGATR0HD2r5yn/4t2pTKANX6C40ZibsGmGDrLo/ ccWvZUlHBLt4Of2KS7EPYhqhOI8sazjjXAcr6XF81g/PQchvCsHuHOk4FZMyjuY89AUqWu LDKKdCtEJkyvdueAxtyXEp7NGYNHzucxxd4QfAUEf8j2AlelrQ0jvqIAVtH4YLi2bnaRMC 5zJfVKk8fWwNMpHpkz81K+tjmKtK6wQs5VLvXcoaJP4PhvmD8aMli3CwZF32uQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/BstUVG9UgNDaQIEu1kdjDtsie85n5lNjQJTbIJipmI=; b=CaQkOZl7CiFN3uMtvsLZiV7ubYqqhxJJnA1jROAOpkvsgqslqL9eaL05Bq5YOvUxSSuRna lTTCYrEfI9mESEtH+OkQcU6+zk8tBti4P5iezb3VJNLcUTqsCtxfTn4bLoLZgr+Epl6xzw D87a+HCKxGI3EeER87JosMgccmtFLLLJIupwVBj7c9wLx7zHyEiZdJAkFEOEIEj43PlbOc N5Dr04Nw/NloKnwRhvAksG1tB7UWLqLn+JTh+1OGO2slCkGVZOvx1MsOonDRv+OD3nKrZG dG6BJlrWgmc/FTy0artMGRIg865b0+keY/DVAD1ccLQhFuBgUrN0sb9qPK98lQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlwLp58SJz1G7b; Sun, 27 Apr 2025 18:38: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 53RIcAPZ020601; Sun, 27 Apr 2025 18:38:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RIcAF4020598; Sun, 27 Apr 2025 18:38:10 GMT (envelope-from git) Date: Sun, 27 Apr 2025 18:38:10 GMT Message-Id: <202504271838.53RIcAF4020598@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: ee7f62faa893 - main - e6000sw: stop / drain the taskqueue (and tick) during detach List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ee7f62faa893bd9bbe6650716579072724c427cb Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=ee7f62faa893bd9bbe6650716579072724c427cb commit ee7f62faa893bd9bbe6650716579072724c427cb Author: Adrian Chadd AuthorDate: 2025-04-25 18:41:13 +0000 Commit: Adrian Chadd CommitDate: 2025-04-27 18:05:05 +0000 e6000sw: stop / drain the taskqueue (and tick) during detach Although the tick isn't running every hz right now, when it /is/ running at hz, the shutdown path will race with an existing running tick routine, causing unpredictable panics. * Introduce a shutdown flag which will abort doing the tick work if set * set the shutdown flag and start cancel/draining the taskqueue during detach. Differential Revision: https://reviews.freebsd.org/D50030 --- sys/dev/etherswitch/e6000sw/e6000sw.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/sys/dev/etherswitch/e6000sw/e6000sw.c b/sys/dev/etherswitch/e6000sw/e6000sw.c index 85900cebc303..be02edb3d5e6 100644 --- a/sys/dev/etherswitch/e6000sw/e6000sw.c +++ b/sys/dev/etherswitch/e6000sw/e6000sw.c @@ -89,6 +89,7 @@ typedef struct e6000sw_softc { device_t miibus[E6000SW_MAX_PORTS]; struct taskqueue *sc_tq; struct timeout_task sc_tt; + bool is_shutdown; int vlans[E6000SW_NUM_VLANS]; uint32_t swid; @@ -851,13 +852,18 @@ e6000sw_detach(device_t dev) sc = device_get_softc(dev); + E6000SW_LOCK(sc); + sc->is_shutdown = true; + if (sc->sc_tq != NULL) { + while (taskqueue_cancel_timeout(sc->sc_tq, &sc->sc_tt, NULL) != 0) + taskqueue_drain_timeout(sc->sc_tq, &sc->sc_tt); + } + E6000SW_UNLOCK(sc); + error = bus_generic_detach(dev); if (error != 0) return (error); - if (device_is_attached(dev)) - taskqueue_drain_timeout(sc->sc_tq, &sc->sc_tt); - if (sc->sc_tq != NULL) taskqueue_free(sc->sc_tq); @@ -1584,6 +1590,12 @@ e6000sw_tick(void *arg, int p __unused) E6000SW_LOCK_ASSERT(sc, SA_UNLOCKED); E6000SW_LOCK(sc); + + if (sc->is_shutdown) { + E6000SW_UNLOCK(sc); + return; + } + for (port = 0; port < sc->num_ports; port++) { /* Tick only on PHY ports */ if (!e6000sw_is_portenabled(sc, port) || From nobody Sun Apr 27 18:38:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4ZlwLr5S6Qz5vBJ5; Sun, 27 Apr 2025 18:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZlwLr2g5gz3G5j; Sun, 27 Apr 2025 18:38:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779092; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c8a0SeJ/MVEw4ZLnQxGLoli3ts/5HgR+84Zh7h5Uw0o=; b=FtW618ALxsoiRo3zMAjxAZAQSImhagegRsL1pJ2iq9T+xISb/4oXyaGPn0XEMIiyzTLCuf TPGqJwO1CN9XKDNbI1ZXL6ONQgwDCD5P/JLqOfTBToau2kt9iRNyBxNnkgsfNt9ZNJ92HB GoEfQOiHjA2g+3gn3JUbI7W5LcnJtWS7IUMCB3a1zeMG3EbDVJPaIUIGsQQXHQTmY9Agib QyMXgknuPbWpL4gYvrvJ01IVFLevBQs09DTJ947kkXGbaTR+PD+kdER9kkL9R6BYpnCIzA d9BoOyTXKD7jsE8w/WeB7X9juGAUTXsgtAIWC5XdOpiA4RgE5T8H4778XW19tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745779092; a=rsa-sha256; cv=none; b=ay7gRE/OQaRdK6zebWyzsnQGGEfmnkz6rNJr/jm1SkZKEWb+7IPeqWo8FF59CNEWI7LYNF vEdl0XGki3cmQOvPTlH3zMIG6/fmTr4NDdm+MVPbdflnSqIH6Z1pK4d/UuXWui6HF+ZMeC mNFHQjDPhHefSO2AncZgluPuvh8lLkJn0HbQZyQVoBMePEe8xWaz7T9hIq2bLcQTTdUxH7 0MIF55LS64hJO/VUBeMZBky9YYqAhm6L86JLAk4rfepe/s+NPtKFJmFAIvINTOwAWg+2fa 4PkG34pTopcQdu2kUIT5AH4fB2C4ManUAiLChwfR6/msOkii2hl7/zmHj4bsMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745779092; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c8a0SeJ/MVEw4ZLnQxGLoli3ts/5HgR+84Zh7h5Uw0o=; b=myY5CGmtOozCNYfNUdzeK6Tv8jeooFxOigjVZYm93y1asRds6sY/vemXlqQCXzmWon782I NVY9KKqnR7M+DjG0P1xdXw3yyH7SKfb/JSSO02U9E7kAjvz9i7J3kqpW3oL/jUM341HEns 9avFSkNikRzg5l2R3zXEApp5q9De3F5+IZnGsF8hdRAMEqKDIMmX/VeuHZxf4SdQ5copFU x+hI2gDE/GNdEZvmZn4GZzBgBLBMxn7goHJiw3YMhKy9XOjigSzPXrSxP0bBY/n4DChlGw q3idkNhH0ZJr6uPI33eiYuR++R1fEcG3qdlfZe1mHKwSHfk7DSFApvUg70O2Jw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZlwLq69fNz1FnD; Sun, 27 Apr 2025 18:38: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 53RIcBea020634; Sun, 27 Apr 2025 18:38:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RIcB4C020631; Sun, 27 Apr 2025 18:38:11 GMT (envelope-from git) Date: Sun, 27 Apr 2025 18:38:11 GMT Message-Id: <202504271838.53RIcB4C020631@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Adrian Chadd Subject: git: c78f603ab77f - main - e6000sw: schedule e6000sw_tick() to occur once a second List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c78f603ab77ff3a2910d9b7ef190b30b611fc311 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=c78f603ab77ff3a2910d9b7ef190b30b611fc311 commit c78f603ab77ff3a2910d9b7ef190b30b611fc311 Author: Adrian Chadd AuthorDate: 2025-04-25 18:44:22 +0000 Commit: Adrian Chadd CommitDate: 2025-04-27 18:11:19 +0000 e6000sw: schedule e6000sw_tick() to occur once a second Although all the machinery is present, the tick routine only ran once. It was never rescheduled. So, reschedule it. However in practice I've discovered that the tick routine is running whilst a bunch of phys are actually being probe/attached on each per-port MII bus being created and probed off of the switch itself. Until that's debugged (and likely the whole PHY management stuff is cleaned up here), just add a NULL check and thus don't panic. Differential Revision: https://reviews.freebsd.org/D50031 Reviewed by: imp --- sys/dev/etherswitch/e6000sw/e6000sw.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sys/dev/etherswitch/e6000sw/e6000sw.c b/sys/dev/etherswitch/e6000sw/e6000sw.c index be02edb3d5e6..19d8e85decf6 100644 --- a/sys/dev/etherswitch/e6000sw/e6000sw.c +++ b/sys/dev/etherswitch/e6000sw/e6000sw.c @@ -1613,6 +1613,17 @@ e6000sw_tick(void *arg, int p __unused) &mii->mii_media_status, &mii->mii_media_active); LIST_FOREACH(miisc, &mii->mii_phys, mii_list) { + /* + * Note: this is sometimes NULL during PHY + * enumeration, although that shouldn't be + * happening /after/ tick runs. To work + * around this whilst the problem is being + * debugged, just do a NULL check here and + * continue. + */ + if (mii->mii_media.ifm_cur == NULL) + continue; + if (IFM_INST(mii->mii_media.ifm_cur->ifm_media) != miisc->mii_inst) continue; @@ -1620,6 +1631,7 @@ e6000sw_tick(void *arg, int p __unused) } } E6000SW_UNLOCK(sc); + taskqueue_enqueue_timeout(sc->sc_tq, &sc->sc_tt, hz); } static void From nobody Sun Apr 27 20:32:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zlytk4YzSz5vJFv; Sun, 27 Apr 2025 20:32: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 4Zlytk3FMfz3SWh; Sun, 27 Apr 2025 20:32:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745785950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iFMNfLIBLFCdqBrajuErdgh7veL4O+Durd69ahk7Q5E=; b=x6gRxAuWVYTM1UijngZHw8F5il/+MQG/aCCA/dLwBgjQ5nySFX3UBYEckRsz3nN2RKpNmr zASpfOEHNcYHu9a9qreF3yNOG2dQqiMwulFjAkYXZ3ECe0zeCFP6qzTyy605Iqs13q9PUJ DgXbyXavhCLyFBcaEQWqasBnse97gN8sBDUyOxUOr8NvDIFPMKF+JXWKiKIB8zTCye6xob 8zxTVQf/I2a9uHsvyzuHd86vUtdH7RQ98m/Mz8VVjEQLNr0+QLGvmmGwBuCLYw4TRJhkgO jBL37+0wNYH0l6XfSOcC/YIZCPL+PeqV/Ls8PIlUOm3yAeMn082mwv950Utoew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745785950; a=rsa-sha256; cv=none; b=xRZy4eRVAoVcTRdABMDClnVAH+uhoPzxLSOfQqtnK6BWl15Ys2RNh7jeskHfAPj9ffRMHu NCeKrkBq/aL1Mg6fL0NoTazEu5BEUyE0Y0f3DwXvDMJnOKamvWf8bHR0NsuXVldtyD2xHX I2c+3nLCV8z40e/P7tKxX9wa/OM3SF8mDPDkFey6CaFG1pwoHTUfgD6vlAOK1JkxsBuKm/ iKLim/mlTJK7d6C7EgafHa57xAw34Mr3K7FSGOp20FfkVnHkUg4x2QRFzzjR5CLc1ePdlL JT5mNZLjzyPPJawcXjglPKpfy8KTh1IXesHxwY9Tvo878jidieH/mmieFREapQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745785950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iFMNfLIBLFCdqBrajuErdgh7veL4O+Durd69ahk7Q5E=; b=StOTl8sTWRXVDGtaoRqOpGitE+/Dzu6Z4nNtHFbyhq3nr3+chgAz8nD44P63xPn6Op0anZ 9sbDNIU2Bx5CeLPfLkWNN98mQprMGPc+xlXzF/BprniRGQp6Gu7A3neLdQvqc77KBWzC9g hfDWye1hJdgqyz1l5lcL+tnTRAlMgE837RRYCtCZgSa8aHWLyhtA+U2VhAMaYRsv7N6bl6 lA1UhigZMp/ds4iDKsvp1RJ/WLa3+T6LOsLKBL3AGOQS9aJwKfCbeBQHNPt3uxHycS70IH ldKfl8MzdmVX6/GY8rU+amre7b8iDnxTCwB2xETs9qcU9ud7Z5x9YL1MQFswdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zlytk2n8Mz1KjG; Sun, 27 Apr 2025 20:32: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 53RKWUJI044701; Sun, 27 Apr 2025 20:32:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RKWUY7044698; Sun, 27 Apr 2025 20:32:30 GMT (envelope-from git) Date: Sun, 27 Apr 2025 20:32:30 GMT Message-Id: <202504272032.53RKWUY7044698@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 91716e8dc1a3 - main - LinuxKPI: 802.11: add SW_MGMT_TX to the expected flags for CCMP List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 91716e8dc1a3452fecedc724e5ef0274413ce7a0 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=91716e8dc1a3452fecedc724e5ef0274413ce7a0 commit 91716e8dc1a3452fecedc724e5ef0274413ce7a0 Author: Bjoern A. Zeeb AuthorDate: 2025-04-27 18:56:18 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-27 18:56:18 +0000 LinuxKPI: 802.11: add SW_MGMT_TX to the expected flags for CCMP rtw88 sets SW_MGMT_TX on (*mo_et_key) (MFP in software which we do not yet support). Add it to the list of known reply values to avoid constant logging. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reported by: Oleg Nauman (oleg.nauman gmail.com) --- sys/compat/linuxkpi/common/src/linux_80211.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index be93ac2a04fc..1a8b32bb16f7 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1504,7 +1504,8 @@ lkpi_iv_key_set(struct ieee80211vap *vap, const struct ieee80211_key *k) exp_flags = (IEEE80211_KEY_FLAG_PAIRWISE | IEEE80211_KEY_FLAG_PUT_IV_SPACE | IEEE80211_KEY_FLAG_GENERATE_IV | - IEEE80211_KEY_FLAG_GENERATE_IV_MGMT); /* Only needs IV geeration for MGMT frames. */ + IEEE80211_KEY_FLAG_GENERATE_IV_MGMT | /* Only needs IV geeration for MGMT frames. */ + IEEE80211_KEY_FLAG_SW_MGMT_TX); /* MFP in software */ break; } if ((kc->flags & ~exp_flags) != 0) From nobody Sun Apr 27 20:32:31 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zlytl6fjCz5vJ7N; Sun, 27 Apr 2025 20:32: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 4Zlytl4FXMz3Scb; Sun, 27 Apr 2025 20:32:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745785951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gi2lVGauoCe1Qja3j+40s9yF4dbiUipMQWzp+1TFjE8=; b=kwz18G3M2LoJ8kOrWPJ75QJRXie+IPW5jE1RbJNXfwSTCHqe3ZxxeqoONDMe1KHdICn0ap cNT8icM256qPp97+9ZAabRol4m5/wYeJPiUhZxhKmTUpiRnHt8bXHLWOui8sHQx4eb0U2i EQYrJpxPg2990qrfIvpFT/sO+0vWjlY0vzk1FqMCGFV7n60jfDgRlEMqAj2/5fRtOjfIMQ Ne4MOo07XUu+L2gzVTFh+0owPu9K+fwGuln3yRIipW6krhZubQpxMm0oDrN3al1z0NB0RG FwWp3gxCzbDxUI4aMsD4q7XhvVPv/WksT7uExuQZJ434MkPljHMNKijoCN8r5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745785951; a=rsa-sha256; cv=none; b=EcZa49nMNhikSeP3cwf2avO5IE86ejBIPVZMMbEpakh4/I5cX1MPHs1QYrY0LZmJF9R/mE 5ELd2kdRi+kJrtfdAP1p02kBJ6dYvFzBhqXe9LQfmyxUTuBNb1kdaqJM6TQ0/pv4JRdNa7 naxWTaMC4+0tjx0Q92/qg7ViJOnSv86BGgKBbm1ovehNCxG8RG5dw/y6vQfOARSrijmj0A pYL0VigE/r1iP+x3vKx5DShfHYxmtkZY+mW+CXOX6iGQwp0UyDYWpU0AxKYaK311pT4QTG 1I0WkvVDpvuzeghqymp/it9EIfFtTDuD1j0dPxnS1H5dfC6xumruETf/qkY+kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745785951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gi2lVGauoCe1Qja3j+40s9yF4dbiUipMQWzp+1TFjE8=; b=RKhKocZ/3PLAUjk2s+3Rs9SZp6dPIOCZVa3KrLTe1MgvGC2WXZHOe5tPlRavZHDUAQg2nt hfK3oo2LnmXJX/hrjQisZ9laJdOhUsZcj3BTHgL8AP1NU8l26P3j2ZMr9nh5ImSMxvHHUW sToGA4YPgUpa4hCTXy7QTXSEVNLgHaKR0nfMv/a2lBhkxRsglWRswSl5dwRtP26Vq4hpUx c4Ro+qIa0lwaavHAIcu7BIx8dHKV2o/fWU+aAWZyOcNfdjeEoEJMCAZUiBZ99sFk5xJGKV ELhcWppUtifev2IinaOoVwNnbe3tL3L6XBZobFFbYcJ3cgJgujuTd0/ocVYfTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zlytl3kc9z1JqM; Sun, 27 Apr 2025 20:32: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 53RKWV0m044737; Sun, 27 Apr 2025 20:32:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RKWVek044734; Sun, 27 Apr 2025 20:32:31 GMT (envelope-from git) Date: Sun, 27 Apr 2025 20:32:31 GMT Message-Id: <202504272032.53RKWVek044734@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 28efbf9d2f67 - main - LinuxKPI: add dummy header file linux/unaligned.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 28efbf9d2f67ce0bb24ad83462c99a1c2771e602 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=28efbf9d2f67ce0bb24ad83462c99a1c2771e602 commit 28efbf9d2f67ce0bb24ad83462c99a1c2771e602 Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 11:10:23 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-27 19:03:28 +0000 LinuxKPI: add dummy header file linux/unaligned.h Long-term asm/unaligned.h is likely to migrate to this file? Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D50003 --- sys/compat/linuxkpi/dummy/include/linux/unaligned.h | 0 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/sys/compat/linuxkpi/dummy/include/linux/unaligned.h b/sys/compat/linuxkpi/dummy/include/linux/unaligned.h new file mode 100644 index 000000000000..e69de29bb2d1 From nobody Sun Apr 27 20:32:32 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zlytn2G2Yz5vJY0; Sun, 27 Apr 2025 20:32: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 4Zlytm4QBqz3Sk0; Sun, 27 Apr 2025 20:32:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745785952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KqJtyk1zNMoGlMtGRybbZkBNuSgJkFcAJXlUGPfTfbo=; b=ZvADywqjB+obLd90BrywSZTAcqcaJj/RPhheUOENqNY1ZIeyqOZrAtT2plLHQRJVTv7Yz7 O5XU6o+Ley6iClAXC14jJavyvEPkCsg4sB81MBMXr6TKFbDgskyf+PmmUKdpAnUsOTifuK ZS8zEHljK4qi5d+Ki4v2r+tYQdgS9dvU1eQRjjExSFCjT2Wfva2uBDfDJQG/NYe3E+Is4I UaYLhjweCGXoTDNEcPteeFTwqtPJnbkzkRaqM59OUwGZgEn0K/HvFkszs2G9C8/treKkFQ SbDLiyM7ROpmqKYdE0UrdBJeCbcxfW8AkB8cYWJXESoxYMYWKBwxVW2FtA6ALw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745785952; a=rsa-sha256; cv=none; b=UCdQxrXllXwoNGjehk+3w6ZxAIFTvFoJNTSKakxOZq3slotMn+qv2tjlt0uPfoIQnC9psg ex7ishzBt5sRxKo9AMuDqinA53IxIQNVxYI+hQWIbf7ZCY4aNcmlZFRH2JAW4uzF+fcsNF uh1wf148ci8iEHGStMYDdUvmFNLjAtHzeitKg9Fr1LBKn6ZQ/NwTG17p2Z1owEfGJyWWDb 1bcrq485Q0mzcSXelSO2PhnjqLOFASJ6JLonKvkVGpGe4mSWH1mDFdmZ8y2Q6MiVh60kra OZCwfRyuZU+hMDIEC/V2yqDWb94L6Brit7B62gjXJVxGyx59IS4cwR4EuSwpiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745785952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KqJtyk1zNMoGlMtGRybbZkBNuSgJkFcAJXlUGPfTfbo=; b=P0pOvm4svzMkeQe5Jpi3rxHrzTVtpdh80DBh9RJxWxaqTTQhtc/1a+haswLyOvfzBs/BaZ e2J6/i5M5i7d1Ximq+Y+N0hh83lh8Y13vWBxD65zZVfePkb0QvQe7NG4fXv4bTo2iJ/yvB 1QMTNoTELCtuW4ZQkBpzD+JTIYpnkY/yFJXFObfjZyGK/maCGhu4TVhPRcwTaozhux4JIp GNgVb4RraRNP5BZjRDW82HuxoW/BuZJpQvWCeB6U4TAKNT/BxX+lAu5gPey6r91LTyTtOB Ux0VsOfXe2f6ARD+Nwp9eKQ5hyjDDUrgahvNMlUvnlsT1Hs9E7UiKHiMF2fOoA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zlytm3yJmz1KWw; Sun, 27 Apr 2025 20:32: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 53RKWWjG044777; Sun, 27 Apr 2025 20:32:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RKWWQB044774; Sun, 27 Apr 2025 20:32:32 GMT (envelope-from git) Date: Sun, 27 Apr 2025 20:32:32 GMT Message-Id: <202504272032.53RKWWQB044774@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 8b51cd07f69e - main - LinuxKPI: define time64_t List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b51cd07f69e9a5052f660d96a8feb7af4b387c1 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8b51cd07f69e9a5052f660d96a8feb7af4b387c1 commit 8b51cd07f69e9a5052f660d96a8feb7af4b387c1 Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 11:11:35 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-27 19:03:42 +0000 LinuxKPI: define time64_t Define time64_t to int64_t for all supported architectures unconditionally. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: imp, markj, emaste Differential Revision: https://reviews.freebsd.org/D50004 --- sys/compat/linuxkpi/common/include/linux/time.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/time.h b/sys/compat/linuxkpi/common/include/linux/time.h index 6c9a781d5e0e..ca77a20516ff 100644 --- a/sys/compat/linuxkpi/common/include/linux/time.h +++ b/sys/compat/linuxkpi/common/include/linux/time.h @@ -42,6 +42,8 @@ #include +typedef int64_t time64_t; + static inline struct timeval ns_to_timeval(const int64_t nsec) { From nobody Sun Apr 27 21:52:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm0gN1VT2z5vNfv; Sun, 27 Apr 2025 21:52: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 4Zm0gN00XVz3RLD; Sun, 27 Apr 2025 21:52:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745790768; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LhIeOFfhyW7DvPv2wTN5hK1S7NXJzR5ksUEtoItKMKI=; b=rvlefjDo8KZEbjtjLy1RmPb8eot68GwLWMjbWGe9/ZLHPwyuK5R2nXNM28ZGc/ShQEw9P1 9cpWXdZk9KQNYoOwnGFJdMdG2CEfVO4I1eI2HnDfqomtZwqSTGUPWEy1K9AMQzg9EpWqXW JaOb9yDs1dKqZthrjTu+iNu4zDhP+bYi1MBRCL1D01sbecgu0qpSUNTRj4kpWiOb9zpepo k1T2fzbd3hb6fFmKlltq67PxGN3ETYrylBdt0enG4MRv+cn+saYnIgCZvh8LDC/BfQMSNa 0+ZKK0gYLcU2M8J5cPqCfylDUBBuDbd0Rrcuq3JWlYzN/gwKncAtyBOX1+BBJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745790768; a=rsa-sha256; cv=none; b=t9KNsW5RVH+syGvRQnp6u+deWrEjPx0O/py+tr50SOzLQHpVbKE6bAQp5lvDFcZ0vOZ5ML lYkfRruoWtkSWECKuYROsS8AK2KgnMV9RgSL57D4kpj94Ei/EoF4lydSonvSmOWTk+x/nw tdWRD8yxQzXHCv+OtlYUpahKocB9QHE39Qu/uJF3ZRymMmfnmYeGGFbpMEIGY/gNVrs9Ec /QzphnslGK0iRb5sioYKCRhBQwp54ma6WQ5Yt0tGsFptE7npINKHBAgp4PQ6O0IvDzehNT RfH/TFDyti9xZcRZuJJAcPsPC3buj2djDVI7p1ENicE/idWe8/o9BHxejJCT8A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745790768; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LhIeOFfhyW7DvPv2wTN5hK1S7NXJzR5ksUEtoItKMKI=; b=cnOMgmskoetmJ7MvS1WeSuzZ44trsEtN56vfVsr8LXwJeRpofvSK/oyCTDugQNV9ckmAI+ e2ckl9YGA9a3T+iknnwkhhcLUnscv+8tIBkFpememknqQnVwyNbmi3rLC8YZ+RxG+8ehiG EtlPkmBEJ4JgHLxpdHn1cg9iuXSyEdZlacC/COiOtmTxbd+C08ukeV31QzQe6RXSPk2M8T 0m6ZSgW9fiEkGkdsvkp417mXJsIFWQDOi83zrSaQY+EBrLQs0F4Ry8XIIyyIAGdg6JELo1 LSe9ydPwfeIqDm5crNlrclgx1aH2e6eqvTaxpUFMzQw4XH/AE1IfjnkFooRfLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm0gM5kkKz1McB; Sun, 27 Apr 2025 21:52: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 53RLqlEh093894; Sun, 27 Apr 2025 21:52:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RLqlAt093891; Sun, 27 Apr 2025 21:52:47 GMT (envelope-from git) Date: Sun, 27 Apr 2025 21:52:47 GMT Message-Id: <202504272152.53RLqlAt093891@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: b63281884e0e - main - ptrace(): p_xthread could be NULL for P_STOPPED_TRACE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b63281884e0e1530de999723532f2d536cb32477 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b63281884e0e1530de999723532f2d536cb32477 commit b63281884e0e1530de999723532f2d536cb32477 Author: Konstantin Belousov AuthorDate: 2025-04-20 23:19:35 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-27 21:52:04 +0000 ptrace(): p_xthread could be NULL for P_STOPPED_TRACE Suppose that ptrace(PT_ATTACH) is called on mt process, and the thread arbitrary selected as leader (p_xthread) by the attach code, is already in kernel preparing to exit as the process lock becomes available. Then the thread_exit() function clears p->p_xthread, and we end up with the traced signal-stopped process with NULL p_xthread. This state is legitimate, and really p_xthread must point to a thread that is inside ptracestop(). If p_xthread is NULL, but ptrace code requires some leader thread, arbitrarly designate it as needed. Reported and tested by: pho Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D49961 --- sys/kern/sys_process.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c index 5126f34e3dc3..69ea3d97d505 100644 --- a/sys/kern/sys_process.c +++ b/sys/kern/sys_process.c @@ -930,12 +930,10 @@ kern_ptrace(struct thread *td, int req, pid_t pid, void *addr, int data) } if (tid == 0) { - if ((p->p_flag & P_STOPPED_TRACE) != 0) { - KASSERT(p->p_xthread != NULL, ("NULL p_xthread")); + if ((p->p_flag & P_STOPPED_TRACE) != 0) td2 = p->p_xthread; - } else { + if (td2 == NULL) td2 = FIRST_THREAD_IN_PROC(p); - } tid = td2->td_tid; } @@ -1322,16 +1320,19 @@ kern_ptrace(struct thread *td, int req, pid_t pid, void *addr, int data) /* * Clear the pending event for the thread that just - * reported its event (p_xthread). This may not be - * the thread passed to PT_CONTINUE, PT_STEP, etc. if - * the debugger is resuming a different thread. + * reported its event (p_xthread), if any. This may + * not be the thread passed to PT_CONTINUE, PT_STEP, + * etc. if the debugger is resuming a different + * thread. There might be no reporting thread if + * the process was just attached. * * Deliver any pending signal via the reporting thread. */ - MPASS(p->p_xthread != NULL); - p->p_xthread->td_dbgflags &= ~TDB_XSIG; - p->p_xthread->td_xsig = data; - p->p_xthread = NULL; + if (p->p_xthread != NULL) { + p->p_xthread->td_dbgflags &= ~TDB_XSIG; + p->p_xthread->td_xsig = data; + p->p_xthread = NULL; + } p->p_xsig = data; /* From nobody Sun Apr 27 21:52:48 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm0gP3gGLz5vNDc; Sun, 27 Apr 2025 21:52: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 4Zm0gP02hHz3RQN; Sun, 27 Apr 2025 21:52:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745790769; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kUJRog9L2nW0H4HSJo+lN1Kej9DiYvZDlaLjWDiN0uY=; b=JdeRVSDuA5ufURbrupFw73+Zr+gmEGJl8rml0uodtye1Rzr6cnBjwkZwJMt3yPdUR6nAcq 8vRbk54ykYVe9CBlMoHg0h8h93MmxrW0txdKp0gOGWxp35h0AHTCGxSjb5QtoEnGzNogVw 1j66xRVW/xAI0HKXAMLtZYqc4WThxduzFmEDlGSYo9l8vEe8ltCf2q8sblrIzLCfDlX0hL cyBzwzZlE2KjyuJ4aLFYKxjm2rB7aZ2iubhzCzEL4scHzHr6Trm7jfVLhmX9S5GhjUjfK8 BuxzVdwbC+t9uDi21/0nR/b6O4fBseEkatq8Gcj3o8v8vvdGOiI5j4m1MGUjVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745790769; a=rsa-sha256; cv=none; b=Bzi6wWzlUQSmh24pxRkk80R8xwZCHioFLyAIqBOYCDuxTkSFfkfI5j99i7RqRHxjsITsYf M3BKRXfZlW+O1F5dh3n7B+mJ5lw1bunvVufuEYiD5HoRhFoK+7uRx6Phbjh1jtkNRoAeXJ S4vo6D6YOLn1cjcN6nvEuwuEn1FiF03mHke5cXQ1VqgrqckXIrN2/jh1irF7PndiICz3/V YN4xO0ODLKryO+T/rnuuMfgCdYn2Laa2nzGwclljw0m6bTn0M2ouC2NN9vh7w+tnH4SuLQ ddH9cq3/57pH6zNwfdD3hRpD7Uux/Ddauu4pOX1oR5Wkx73Vlb5vbT/Pmh1+IA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745790769; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kUJRog9L2nW0H4HSJo+lN1Kej9DiYvZDlaLjWDiN0uY=; b=FWqNjY/xf3zW4ffaViWZ8dfNXjSsCyDJvdRQD+ejCq785/Uxa6Z5X6USghYqUVzfX6/nfR ShqEsSAB5/1bElMe7CYLyya97XRKhriyqxX8KHio09g4JML1NPj34e3eORvpUCELy5367e Sje6IwGZbSfo0dD/t7wATkQ5jXvphSvMq3ICvBE104j6OGkF7tGm5lvWRhoRpGSEijwDXT qKV1Ts2xZMg9jLlAk6uldz+aBfQx6HyEU+FCYcKRi9itMCoHJYFLU7KVRCwvwxwYVYGw6S N2+jxvZKLG+3Qqz1yXTHVjGpiEB4Lm85myHrhYhKERKEonXr8XlBklIy7EbIeA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm0gN6jkcz1M8n; Sun, 27 Apr 2025 21:52: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 53RLqmfg093927; Sun, 27 Apr 2025 21:52:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RLqmI9093924; Sun, 27 Apr 2025 21:52:48 GMT (envelope-from git) Date: Sun, 27 Apr 2025 21:52:48 GMT Message-Id: <202504272152.53RLqmI9093924@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: f87811ca3bc1 - main - sig_handle_first_stop(): allow NULL leader thread List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f87811ca3bc110af29e3a0e341d241c292dc8424 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f87811ca3bc110af29e3a0e341d241c292dc8424 commit f87811ca3bc110af29e3a0e341d241c292dc8424 Author: Konstantin Belousov AuthorDate: 2025-04-21 12:54:32 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-27 21:52:12 +0000 sig_handle_first_stop(): allow NULL leader thread Remove the ext argument, the ext condition is indicated by NULL td. If the td argument is NULL, p_xthread is set to NULL, for initial attach. Previous commit prepared ptrace() code for the case. sig_suspend_thread() only uses the td arg to avoid interrupting the current thread as micro-optimization, so it is fine to pass NULL. Tested by: pho Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D49961 --- sys/kern/kern_sig.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 91287b3c1f87..2724944bb7a2 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -116,7 +116,7 @@ static struct thread *sigtd(struct proc *p, int sig, bool fast_sigblock); static void sigqueue_start(void); static void sigfastblock_setpend(struct thread *td, bool resched); static void sig_handle_first_stop(struct thread *td, struct proc *p, - int sig, bool ext); + int sig); static uma_zone_t ksiginfo_zone = NULL; const struct filterops sig_filtops = { @@ -2373,9 +2373,8 @@ tdsendsignal(struct proc *p, struct thread *td, int sig, ksiginfo_t *ksi) if (pt_attach_transparent && (p->p_flag & P_TRACED) != 0 && (p->p_flag2 & P2_PTRACE_FSTP) != 0) { - td->td_dbgflags |= TDB_FSTP; PROC_SLOCK(p); - sig_handle_first_stop(td, p, sig, true); + sig_handle_first_stop(NULL, p, sig); PROC_SUNLOCK(p); return (0); } @@ -2838,11 +2837,10 @@ sig_suspend_threads(struct thread *td, struct proc *p) } static void -sig_handle_first_stop(struct thread *td, struct proc *p, int sig, bool ext) +sig_handle_first_stop(struct thread *td, struct proc *p, int sig) { - if ((td->td_dbgflags & TDB_FSTP) == 0 && - ((p->p_flag2 & P2_PTRACE_FSTP) != 0 || - p->p_xthread != NULL)) + if (td != NULL && (td->td_dbgflags & TDB_FSTP) == 0 && + ((p->p_flag2 & P2_PTRACE_FSTP) != 0 || p->p_xthread != NULL)) return; p->p_xsig = sig; @@ -2852,7 +2850,7 @@ sig_handle_first_stop(struct thread *td, struct proc *p, int sig, bool ext) * If we are on sleepqueue already, let sleepqueue * code decide if it needs to go sleep after attach. */ - if (ext || td->td_wchan == NULL) + if (td != NULL && td->td_wchan == NULL) td->td_dbgflags &= ~TDB_FSTP; p->p_flag2 &= ~P2_PTRACE_FSTP; @@ -2920,7 +2918,7 @@ ptracestop(struct thread *td, int sig, ksiginfo_t *si) * already set p_xthread, the current thread will get * a chance to report itself upon the next iteration. */ - sig_handle_first_stop(td, p, sig, false); + sig_handle_first_stop(td, p, sig); if ((td->td_dbgflags & TDB_STOPATFORK) != 0) { td->td_dbgflags &= ~TDB_STOPATFORK; From nobody Sun Apr 27 21:52:49 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm0gQ4h2kz5vNGd; Sun, 27 Apr 2025 21:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0gQ15CZz3RYY; Sun, 27 Apr 2025 21:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745790770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GRangW5+wHC9iaGeRCprm5vxjP/3RKZQ//K7mxyjNYU=; b=XTE2pJKyOaOvO1uGmTHJVWlFHiRpVKIU0YvfOWvEpmyZjKN7bsbWOuFv/VL0ocOSsja7tR iV7hey0wDyZCsj2Y2wIwa8QKVPBV0OSWjEeF4PsTk2V2UU+An0W2NPvVNy2Ad7pTAxN+d8 XA8kG0gqJ0HmkJ8tWUjJNGXJ9nedaJEvQDxg8ErV7GB3W+9UzLHJ5pQB276ByqlbX5i1D9 wykt1ZERLdVsuHrybyI8z76Yh2IOBE/VSoTo/KvPWq6ZkKpjVgGHUrml5RjEXuM71dXrQy d+kxkyiUXqEBy/DxONEuIFUKiDagnQvJRFyGpNnJXLUz55es7WSAE+aatRiAMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745790770; a=rsa-sha256; cv=none; b=ch8VTt9ltHdlLVEUzvzbF+jNUvmuvFJnZFOvs5R1VSWR7Y5rtnNlVE2f3G1/PCn0XgJAhB iNaCZAEf1ZrNfI6QvTBQ4WYmU4Pg4sEVkykarCe2Kmb9czS7cF2+TykkMW/yvLYznwXWKi jiXq1guB2nrXLyA4UmtNh/tsqTgDYo+UYf5oqzzSDt/djgH1GcfxigFmDET6KOFj5YmZeh n0YNwapneFnfaHha+4Svbg4OtYPIgeIZDZa+2nJBDb55nUnhmEhhvgUE7rSnODxTGyBZeq SiG/mXRg82ytnkMA4Ub0hrPxC7ggfeqOQqMozWE21zHcu623zVDzUC1ubogZjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745790770; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GRangW5+wHC9iaGeRCprm5vxjP/3RKZQ//K7mxyjNYU=; b=GZqaIE4R0CnQt6ycwkpQgqumoE4Kvp7TWf/FNINgO4fmrVOdiMFEeRxeah/57Xug/th6x+ /g/cd27OBNKz90LeV+iK2pB25Dkf6PNXunEbns7Zn+AVzW7wpp/5rOuwTB3GU0OpTXLrsQ 9esHuu4YYSBPj7kE5AVhVVQIjRuJJhiLrS72FqIRXdrucGGynRUC2AGhYrDtBsn9J7JVec uLLgeQBjL1UkKe1L7MzI3KoxoLmOhKbevqM76B0QvoJe5ToMqovXipjd1iaVsfOXt3Tq0j EiIYRekd76AR6Dr4/kZU4ou/JvHZ+45zBdth48Kc4BgVLDFdWyC9LOJoHd8RdQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm0gQ0YSDz1MHn; Sun, 27 Apr 2025 21:52:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53RLqn63093967; Sun, 27 Apr 2025 21:52:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RLqnGb093964; Sun, 27 Apr 2025 21:52:49 GMT (envelope-from git) Date: Sun, 27 Apr 2025 21:52:49 GMT Message-Id: <202504272152.53RLqnGb093964@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 2f8744574743 - main - sig_suspend_thread(): return info about the way the process was suspended List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2f87445747430b4ca2e1d344550d9befb54226e7 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2f87445747430b4ca2e1d344550d9befb54226e7 commit 2f87445747430b4ca2e1d344550d9befb54226e7 Author: Konstantin Belousov AuthorDate: 2025-04-23 16:51:12 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-27 21:52:29 +0000 sig_suspend_thread(): return info about the way the process was suspended so that caller can infer whether the thread_stopped() is to be called by the AST handler. Tested by: pho Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D49984 --- sys/kern/kern_sig.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 2724944bb7a2..dd2d4d3ab401 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -108,7 +108,7 @@ static int issignal(struct thread *td); static void reschedule_signals(struct proc *p, sigset_t block, int flags); static int sigprop(int sig); static void tdsigwakeup(struct thread *, int, sig_t, int); -static void sig_suspend_threads(struct thread *, struct proc *); +static bool sig_suspend_threads(struct thread *, struct proc *); static int filt_sigattach(struct knote *kn); static void filt_sigdetach(struct knote *kn); static int filt_signal(struct knote *kn, long hint); @@ -2799,14 +2799,24 @@ ptrace_remotereq(struct thread *td, int flag) wakeup(p); } -static void +/* + * Suspend threads of the process p, either by directly setting the + * inhibitor for the thread sleeping interruptibly, or by making the + * thread suspend at the userspace boundary by scheduling a suspend AST. + * + * Returns true if some threads were suspended directly from the + * sleeping state, and false if all threads are forced to process AST. + */ +static bool sig_suspend_threads(struct thread *td, struct proc *p) { struct thread *td2; + bool res; PROC_LOCK_ASSERT(p, MA_OWNED); PROC_SLOCK_ASSERT(p, MA_OWNED); + res = false; FOREACH_THREAD_IN_PROC(p, td2) { thread_lock(td2); ast_sched_locked(td2, TDA_SUSPEND); @@ -2824,8 +2834,10 @@ sig_suspend_threads(struct thread *td, struct proc *p) sleepq_abort(td2, TD_SBDRY_ERRNO(td2)); continue; } - } else if (!TD_IS_SUSPENDED(td2)) + } else if (!TD_IS_SUSPENDED(td2)) { thread_suspend_one(td2); + res = true; + } } else if (!TD_IS_SUSPENDED(td2)) { #ifdef SMP if (TD_IS_RUNNING(td2) && td2 != td) @@ -2834,6 +2846,7 @@ sig_suspend_threads(struct thread *td, struct proc *p) } thread_unlock(td2); } + return (res); } static void From nobody Sun Apr 27 21:52:51 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm0gR6MMxz5vNRj; Sun, 27 Apr 2025 21:52: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 4Zm0gR20NPz3RWT; Sun, 27 Apr 2025 21:52:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745790771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NHQ8Mdc2jawJ2ibYzEFFJax4DSh3jiOEt0O95i/oKpc=; b=bFAycEaRU4zwCGydretuyZaNE6ccgkGI6y49NHAMw2d89nuUHsPr+toQDyvXkCv2XxFblf N9gnh+i6TxVmiyWS7k1rv5VZvg0xGJRrrvmDAYVPZasiO53O+GCHjL/sUbItj8oWC3KPkq 0PeAjB4egs8nNtuU8KsOR95AQNJons2xyLAC3EhQnZnE9qT5PAgPtrMVFaa05rKOsUrsHT qb7PNO7FVYxqise/vjFDfeCNTvzm8X9wszhUsfzUYOvk/80KSNC6j4vuv0x3xqSi6Mo9q9 7vIoaZ1Tl2KDCJrqf+1HFsakbVRTvIU9mlUKn9v5OihGEK7ibJh08uzKkWOpiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745790771; a=rsa-sha256; cv=none; b=qu4G+pHppwgS4X6izjwL1q7mPLciLo+3ZzqOJR3CStJUyoPCuRzyeZ7mE8m20fTnveuuMY /E9OyMDQae0PolB8Myjg5e+vYziVgeSl3ehMSAYraM6uhwohnSCNujdKbRnggYHJGXXJ8x AoNe16MqWfBjkkBwnPvKiTgRD3IjqaoWCoWYo1NoChDAPY0hGFv49cfhwK9GbWa0Bvglw1 0AQuS6JFuaO8MmLqAdQOEgc1Dilg65WotVxt/P/o63TqFYs68sEHJoYaM+RaO2H7gfo2Ez tNnGbGHBH4fDCHJlKQ6HiG11E6adBL4gUYrzl7SR0/2Yjuqrb5aNrOGf4FLdUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745790771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NHQ8Mdc2jawJ2ibYzEFFJax4DSh3jiOEt0O95i/oKpc=; b=yIJM5JxaVeJY8fYlMelpQ6M0J2esm32hKGG8s4uwCPQ0xXBp3KPvJG2quB2bTtgUK+P3iC y1DqvwZPjGhXr8GJHCHEk5BMExDVtfPHJM7swC6ADN0nISlag9K31f8V6G1QdbNHDlreFj 0E9OBb4Kaq0Ct7pYWczuwXsUUsZLLKDAytPWwC8WLNWgbKvgWYiRxDDrh5bN7fWvORJyXU UOHlrNtYRQ2BLKdBifHMo9ZRd/cva8bLj273iMsp44DyLoycE2YAB4CYLRWyruh7mBf0dx ZsoLvyLqL71YJv/IhjgG6n/45GeJ/7MdyPYrUn7b6Jl1bORBScK/wFZSpOBlRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm0gR1WP8z1McC; Sun, 27 Apr 2025 21:52:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53RLqp6b094002; Sun, 27 Apr 2025 21:52:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RLqptV093999; Sun, 27 Apr 2025 21:52:51 GMT (envelope-from git) Date: Sun, 27 Apr 2025 21:52:51 GMT Message-Id: <202504272152.53RLqptV093999@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 4f32b298c679 - main - sig_handle_first_stop(): notify debugger List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f32b298c679271243855083d20306563f815f17 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=4f32b298c679271243855083d20306563f815f17 commit 4f32b298c679271243855083d20306563f815f17 Author: Konstantin Belousov AuthorDate: 2025-04-22 23:15:13 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-27 21:52:32 +0000 sig_handle_first_stop(): notify debugger Since it could be that no debuggee threads are waken up because all of them are in interruptible sleep and consequently all were suspended remotely, call thread_stopped(). Tested by: pho Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D49984 --- sys/kern/kern_sig.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index dd2d4d3ab401..4637a1218bf1 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -2868,7 +2868,8 @@ sig_handle_first_stop(struct thread *td, struct proc *p, int sig) p->p_flag2 &= ~P2_PTRACE_FSTP; p->p_flag |= P_STOPPED_SIG | P_STOPPED_TRACE; - sig_suspend_threads(td, p); + if (sig_suspend_threads(td, p) && td == NULL) + thread_stopped(p); } /* From nobody Sun Apr 27 21:57:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm0mS5pLGz5vNw9; Sun, 27 Apr 2025 21:57:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm0mS26BDz3TGx; Sun, 27 Apr 2025 21:57:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aktR4RN5yNDm91uNTGDNMOXUtIpJmHcBKHfroocrrBQ=; b=Z/4qedbylncZMJGWISaV7KAi3NpOnQgsu56kS+zSPoruzpGnPEtDDXr7IWF+FtoxrQizAW zYpA9P7Pq7Bhc6tRzfJlj+TW07iW8HFdb6P8uKrY3sLLL3TnsVXzHxFiG+R4lOG/YYXlt7 Pf8vfs8Prl+qg4zZFwp21WP1+HfOqoa/x5oq6piI+HiKaA7mvP/oPgzP7/z350lNe7EkFE I1HKr0M+TYJP1SYAPoDgQxPcBDkZtE+cHIFqZF6FIUpeWGxAXFeI0ZF/rVa6cOqkGJ6tMA 9UkR0pxyBFNTuzuHP1UFK9rL+RESDQwg+uAixfWF4Ztms/QiyXgmMTSshhuN7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745791032; a=rsa-sha256; cv=none; b=BbuUd4SbCZ2349Y+q48smHii2WUjyIg8eL08xxqRlhXXLHByZZ82RA8t9j6xmtFgdAa2r6 GNgslxvTjW2prs+8oa42DjfdgybsuF4rWjOfL6WN+dx8CcD17qTi3IRjYrJ8W5a2wZWoYy vFUNOeHc/yx7ZvIpRmaH4tWD+T6caaR68/niHsyl3+9LjUiyhvSxkTuN88gZ21NBn6qP5P DB/vkkLYrsgL4sOvZBc8QHIxajtuyki3dSOxU9KNXYfPvvTIoXcOujYB/MsMg/3H0FmSyq r7548dwi4kecbmaVkDbJFzed4Im+ybhyIVoY8j2K6vREq2pp8fGHsiEofJCToQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745791032; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aktR4RN5yNDm91uNTGDNMOXUtIpJmHcBKHfroocrrBQ=; b=vffef3lcxLNyPr/vZ9ArkakMSC78VP8xG33qXtxIblZ3HlFZbm22MdkHwqj0f+7CmaqMm0 42rwYGLOjO8mIWqJvoeAyasYcXnMQY0J8874BHNfTmC8OjQ/P6zjwTsuAwtF908DazxTv8 x7z/1g0vwon5Vw5Ez+j/VNZhATuXZPxnw2IsGBTPBW6vZX0aKpAJf8I1kPHNMP08T0pwIh d0kvmCgO4eVEgND1oERMav74rMH0c3R8uLmeztfJTigwi3CoqCczKYBASmPDNKZN/ZGmDj uD6W4lSuErGgusWFM8ygYyUsfylZgY8sQuTSqK7i2BjfoI8CbpzJCD/Qv99pew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm0mS0YG8z1Mgd; Sun, 27 Apr 2025 21:57:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53RLvBlP095446; Sun, 27 Apr 2025 21:57:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RLvBkR095443; Sun, 27 Apr 2025 21:57:11 GMT (envelope-from git) Date: Sun, 27 Apr 2025 21:57:11 GMT Message-Id: <202504272157.53RLvBkR095443@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Konovalov Subject: git: b08bc953f1b7 - main - bsd-family-tree: add OpenBSD 7.7 release List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: maxim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b08bc953f1b704573838ddf34348df67d0c7fcea Auto-Submitted: auto-generated The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=b08bc953f1b704573838ddf34348df67d0c7fcea commit b08bc953f1b704573838ddf34348df67d0c7fcea Author: Maxim Konovalov AuthorDate: 2025-04-27 21:56:31 +0000 Commit: Maxim Konovalov CommitDate: 2025-04-27 21:56:31 +0000 bsd-family-tree: add OpenBSD 7.7 release --- share/misc/bsd-family-tree | 2 ++ 1 file changed, 2 insertions(+) diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree index 17b170018198..785dcf24b4eb 100644 --- a/share/misc/bsd-family-tree +++ b/share/misc/bsd-family-tree @@ -475,6 +475,7 @@ FreeBSD 5.2 | | | | | | | | 10.1 | | | FreeBSD | | | | | 13.5 | | | | + | | | OpenBSD 7.7 | | | | | | FreeBSD 15 -current | NetBSD -current OpenBSD -current DragonFly -current | | | | | @@ -916,6 +917,7 @@ OpenBSD 7.6 2024-10-08 [OBD] FreeBSD 14.2 2024-12-03 [FBD] NetBSD 10.1 2024-12-16 [NBD] FreeBSD 13.5 2025-03-11 [FBD] +OpenBSD 7.7 2025-04-28 [OBD] Bibliography ------------------------ From nobody Sun Apr 27 22:32:46 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm1YW5kv2z5vQr0; Sun, 27 Apr 2025 22:32: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 4Zm1YW0M8bz3tRN; Sun, 27 Apr 2025 22:32:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745793167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Va7atqt+btig8cb4kYQrvVi0UMPCZTpHkvhNxrGGZe0=; b=nH4/HZjSkN9QLBoQNRgK81IjVH9dPNGuqmxSWqWPJGOcQX9OpCX7DMArrjdwYEYunOyVQF prYaxsQoeoCJY9SvyDorgauLLcOyvmwJwyHjagvTlk1ULiik9twol+Thoc5tdwOaioXpd+ qbS5DItl8l7NANZZKE7hpFybPhK9OxghzkVomdqR3vJme19xPv8Jw6uI7nGeEhINnghBac CVw/OKt/N82/u9SFE3nBWsSjas5ZnmoY7j+pR+niHWLUGB8qyDElD0z6NPRBRKKZNMDRHe 5iupaFHxMslhoAiXad3iKT+6ckPYOW7mR4qZUs2VBcSsEpejConEU0f9krRqlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745793167; a=rsa-sha256; cv=none; b=psZTP+f4E8CgW/sgw1s93Ce7V106oggJ3l0u2Laexc8nOUoZBZpP0qmLWJ+SxV5nawNaaZ V7HeM+dkQZ1LDwXRpg48s1vzliGEehxhbPRb9hGdM5Lozm4sx2QS2aAHWh9o3iIQLisCx6 nEobCyGTawccnsayo8BObYF9Wkbzi8Sgu344usVowWUbYUxgu/X9K67sxqN4QAse4RMGpE ruVRIgGci5cm3y8Xyp6FSHBvWy3PVaC7npXaZff0POMJOthtwAgsFPqSGnfWWAMba2Ns93 LJAVWlS2DZ+ROO2j0Ucc9lknBt/7vIxgK2xEjINVRlPyuSB07Y7YDAqaeDIuZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745793167; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Va7atqt+btig8cb4kYQrvVi0UMPCZTpHkvhNxrGGZe0=; b=MSJj2lZWjswtRnjr2jJ6yKLelwt0zdVl87ej9XiM05hdqrv51DHFFLMXgkYPP+Be99pvTC Rxchd7Hf8ed8/JARo4/zrZD7MDb8dZwx7bz0120URj4/Vfn2ikjTpqzpglSS4c6/nzq/86 CmDXyl99Y6efRAzQF72WCrwmaMNMf/JcUkc18to6zjyfpswmMEhBzoIGyOM2dpTaKkzNhd hcQNu9ip7soFhCMh08/l8oji7gqzG4pI4BSEY88P9Y6n3aXtgMg6xkLd2QXKAyuunlMeEI rQ3IL18xYL44h5u5FKfGjZVQWeZXfiCweaUyURU3guJ1zh0shb4EM1YwJsKWWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm1YV6M1Kz1NQ0; Sun, 27 Apr 2025 22:32:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53RMWkLU069435; Sun, 27 Apr 2025 22:32:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RMWkkH069432; Sun, 27 Apr 2025 22:32:46 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:32:46 GMT Message-Id: <202504272232.53RMWkkH069432@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 011a3493610c - main - x86: add cpu_stdext_feature4 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 011a3493610cc69e9337c857d4947b0bbc462c0a Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=011a3493610cc69e9337c857d4947b0bbc462c0a commit 011a3493610cc69e9337c857d4947b0bbc462c0a Author: Konstantin Belousov AuthorDate: 2024-10-24 02:28:05 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-27 22:24:33 +0000 x86: add cpu_stdext_feature4 which corresponds to CPUID leaf 7 %ecx = 1 %eax report. Decode only LASS and LAM for now. Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/x86/include/x86_var.h | 1 + sys/x86/x86/identcpu.c | 21 ++++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/sys/x86/include/x86_var.h b/sys/x86/include/x86_var.h index dbb4e9557ed0..701b982e6afb 100644 --- a/sys/x86/include/x86_var.h +++ b/sys/x86/include/x86_var.h @@ -50,6 +50,7 @@ extern u_int cpu_clflush_line_size; extern u_int cpu_stdext_feature; extern u_int cpu_stdext_feature2; extern u_int cpu_stdext_feature3; +extern u_int cpu_stdext_feature4; extern uint64_t cpu_ia32_arch_caps; extern u_int cpu_high; extern u_int cpu_id; diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 3f8f11fda011..4d64eaf78b29 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -111,9 +111,12 @@ char cpu_vendor[20]; /* CPU Origin code */ u_int cpu_vendor_id; /* CPU vendor ID */ u_int cpu_mxcsr_mask; /* Valid bits in mxcsr */ u_int cpu_clflush_line_size = 32; +/* leaf 7 %ecx = 0 */ u_int cpu_stdext_feature; /* %ebx */ u_int cpu_stdext_feature2; /* %ecx */ u_int cpu_stdext_feature3; /* %edx */ +/* leaf 7 %ecx = 1 */ +u_int cpu_stdext_feature4; /* %eax */ uint64_t cpu_ia32_arch_caps; u_int cpu_max_ext_state_size; u_int cpu_mon_mwait_flags; /* MONITOR/MWAIT flags (CPUID.05H.ECX) */ @@ -1043,6 +1046,16 @@ printcpuinfo(void) "\040SSBD" ); } +#define STDEXT4_MASK (CPUID_STDEXT4_LASS | CPUID_STDEXT4_LAM) + if ((cpu_stdext_feature4 & STDEXT4_MASK) != 0) { + printf("\n Structured Extended Features4=0x%b", + cpu_stdext_feature4 & STDEXT4_MASK, + "\020" + "\007LASS" + "\033LAM" + ); + } +#undef STDEXT4_MASK if ((cpu_feature2 & CPUID2_XSAVE) != 0) { cpuid_count(0xd, 0x1, regs); @@ -1562,7 +1575,7 @@ identify_cpu1(void) void identify_cpu2(void) { - u_int regs[4], cpu_stdext_disable; + u_int regs[4], cpu_stdext_disable, max_eax_l7; if (cpu_high >= 6) { cpuid_count(6, 0, regs); @@ -1575,6 +1588,7 @@ identify_cpu2(void) if (cpu_high >= 7) { cpuid_count(7, 0, regs); cpu_stdext_feature = regs[1]; + max_eax_l7 = regs[0]; /* * Some hypervisors failed to filter out unsupported @@ -1591,6 +1605,11 @@ identify_cpu2(void) if ((cpu_stdext_feature3 & CPUID_STDEXT3_ARCH_CAP) != 0) cpu_ia32_arch_caps = rdmsr(MSR_IA32_ARCH_CAP); + + if (max_eax_l7 >= 1) { + cpuid_count(7, 1, regs); + cpu_stdext_feature4 = regs[0]; + } } } From nobody Sun Apr 27 22:32:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm1YY0Sc4z5vQNQ; Sun, 27 Apr 2025 22:32: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 4Zm1YX1hTLz3tDr; Sun, 27 Apr 2025 22:32:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745793168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CFANwgTkCjYk0W5lDwbCZ6Ll2f5Ec8wfFabmekc4ZxA=; b=FN9ZhdwChM3VNjzBCvntw2UJ+FLu0gEy0ySTMo81L+UpZO75/iKZPMqMsEaQBMb/Dq8daq VLDNTd+90WIdgnQ8HXE7nLaO+d12FAgDkxZt7CK3lD6uyCLEXDfQzWIVtUDyGCwOWkUeue mSJ1Et6mMlEN3ZKyyvMX+8e5nO6OR25LEVqvPg6aefbZaIiDJKwIe20pKeuFCqh9hAenyH 8hU+zQAaweP+kVTljxiOY/fWjVBZcV+vn/tLssiU5b3etjZi7F1d8/ge0kX3EGsnL2bj8X NZMiixHN82FfcEhgRZIL2tnGTceZywic1MSmCBKhd8fjjuyS6HwRMMt8WJWGGQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745793168; a=rsa-sha256; cv=none; b=FN0CztZyJRIQ53+3SwN0bqEpBsr+LGkP8p+sxX1qXtb2rkIuhgRsQKG+kltYxnKjZqA4Hd Dfv5XCnr/0hRWZYffpzxUo90Vx4+cowHI/sf09omHoebyvRwoqv6EtovJBJIXRZfXp2lQ8 AMLfPsIFPLpZ7P50mqBb5VD6R8+E6j5V2JS26Dvmkcaf/SOZPou5io7orVa+hj/ynkcSbM l6dwyFTVPVSQCj8eA2xtqHNXANSI3e3quSOiOpk2J9awSNnTaBIyttQL1XGach7e0tviTi Ttwsf331gi4/VbjhgBlX3hKaQQ9RKgyklYDm+oMnSaoBDuMqrK/jr1ka4TwQZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745793168; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CFANwgTkCjYk0W5lDwbCZ6Ll2f5Ec8wfFabmekc4ZxA=; b=hj7ihr5ZOA/33YyuI7g93Cy6IWufEVjfGX++u3PSToA1L55Gjec/Y/JSFRllSbTcKDc7QL w9KfQjVUMo27S3J2aBrBbW7qwmpNNMlWxDQDjsi+VvbBvNzTusYA4VwaYKnRUGJNgXzGyM EVw2ugl1NuGFTdABU/Trj7FZs3Dr7RzyP7CvoigPVE0NPC1ShE9BHMNQnCtZjFsVtB6sOH 0i18tkP2l2JgwkWUtZQVPR6RFKb1bc+gLCTmMtDKHuxgz9qesGJ1XiyuvDiQ5mg8AwXkG2 wnSJkWyVdzY6UFUrxMmzMNq9D3AO9Nd1yzcTLt3Id0F4vpv7VqHHVDDPaEleeQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm1YW724Zz1Nh3; Sun, 27 Apr 2025 22:32: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 53RMWlRC069473; Sun, 27 Apr 2025 22:32:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RMWlFV069470; Sun, 27 Apr 2025 22:32:47 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:32:47 GMT Message-Id: <202504272232.53RMWlFV069470@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 5ad6c3d840a7 - main - amd64: add elfctl bit to enable LA57 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5ad6c3d840a758b25a1b000c37f366be35fc7a95 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5ad6c3d840a758b25a1b000c37f366be35fc7a95 commit 5ad6c3d840a758b25a1b000c37f366be35fc7a95 Author: Konstantin Belousov AuthorDate: 2025-04-19 10:47:11 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-27 22:31:59 +0000 amd64: add elfctl bit to enable LA57 Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49913 --- sys/sys/elf_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h index 488aaaf25ab1..7febfc1fbaf4 100644 --- a/sys/sys/elf_common.h +++ b/sys/sys/elf_common.h @@ -824,6 +824,7 @@ typedef struct { #define NT_FREEBSD_FCTL_WXNEEDED 0x00000008 #define NT_FREEBSD_FCTL_LA48 0x00000010 /* was ASG_DISABLE, do not reuse 0x00000020 */ +#define NT_FREEBSD_FCTL_LA57 0x00000040 /* Values for n_type. Used in core files. */ #define NT_PRSTATUS 1 /* Process status. */ From nobody Sun Apr 27 22:32:50 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm1YZ73mcz5vQNT; Sun, 27 Apr 2025 22:32: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 4Zm1YZ4bVLz3tDx; Sun, 27 Apr 2025 22:32:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745793170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2PzyfVnBRuzKetj4kstM5QCZAAApbSm9yTYtwuf+TJw=; b=iJCz2aylTkJHFIKxyNkn52ISK9J5DaCZKKkunukoWk0LyiKYq0PSe+ks5DTsAqN7QJLFCT lcOFVi72NtjiWGuAuBlBCwYRVsmoCHD9p0P09LzY4yuxACSI7RYgDDr6tPdwrymKByWLZd d/jI7tkcWPKlTCVPsaWgsVU6H7zFEsPKmefujCJP/fiz5Kdh6G0yiRxX5/fwpJK9vRnKmK 8U+CU8fCMzAB8TmRX7xuG3VgfdjzaacVNVyNIzh/3dIOGSZWbr36DH+Q2sSi7sEIim9aIW 30DRNCBQEBqd0Lo0+7iDRkgIO25bdut1E3ysfZMnUbSaKkZda7b5RvKS1a6V4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745793170; a=rsa-sha256; cv=none; b=vE3ie4/TWpjFFLS9lQwL5kI3PKM0YofF+cbePgvRYXJ0GCr7B7l5xHZSah2TnxvBCtH5Dl DZYbCRjgVuUsqdSdszjwDBa9IJM8+euvQSZ5zlgQCwchhyoqydvaEfZoF4n7dOkJ9yV4Hm X8IwNSdNs17BzVP1dG44TFenT3vEl1YH7MuUoVlk7BxD1CvWKhyvXgCLMH5kFdCz58Sb3o 9rli9G0jSuGK/njEUoXeR4pVBJZSfkz4p63fNkWDhKkN7DYRygA/wP2plZ6TSYRXMfDvK8 Bd7n/YFAtx+Lp6gCO5EHjq1m1JZWs4PHz01bflpbRhbqH0ih4JtRKM4hKSeJoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745793170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2PzyfVnBRuzKetj4kstM5QCZAAApbSm9yTYtwuf+TJw=; b=iNeOV5BebOtu/+doqbierq89FzyTzsJ7WERbled1Pjod7imYLBFxbIfLA2yoQ44Ot15szL WZsdmiEww+t3lvZ4xaFzySLUWF7euhCzEIHAbyFC8mCspFO2dnX/vL96KuFvgq3P0GC+qP Zxf07hlDBL0jlVDqAfBK3U7JRxdGRQ3FJ+cu2Z0ZzQxddMB3SpjrYOrOjSTW9EXkWKXc2J mrbgoA6ze+HZtIPWDb8u4PoV+l7rMbHmT+kumnKWTaaJ7DIb3+nGtrWtjQqQBwQGtnPfED Y0CXnzwAZZLXlVacDV6uN0eG+vUum6clh3tG23Ko3mDrxWHscyI0Tlj1OKotuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm1YZ1lw0z1NDd; Sun, 27 Apr 2025 22:32: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 53RMWolX069544; Sun, 27 Apr 2025 22:32:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RMWo5i069541; Sun, 27 Apr 2025 22:32:50 GMT (envelope-from git) Date: Sun, 27 Apr 2025 22:32:50 GMT Message-Id: <202504272232.53RMWo5i069541@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: b989c1dd1e2e - main - elfctl: add knowledge about the la57 bit List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b989c1dd1e2edc8cf7597d276625b454b7b72e6d Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=b989c1dd1e2edc8cf7597d276625b454b7b72e6d commit b989c1dd1e2edc8cf7597d276625b454b7b72e6d Author: Konstantin Belousov AuthorDate: 2025-04-19 10:47:45 +0000 Commit: Konstantin Belousov CommitDate: 2025-04-27 22:31:59 +0000 elfctl: add knowledge about the la57 bit Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49913 --- usr.bin/elfctl/elfctl.1 | 14 ++++++++++++++ usr.bin/elfctl/elfctl.c | 5 ++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/usr.bin/elfctl/elfctl.1 b/usr.bin/elfctl/elfctl.1 index 5ba016b664a3..e72c6bcf250a 100644 --- a/usr.bin/elfctl/elfctl.1 +++ b/usr.bin/elfctl/elfctl.1 @@ -95,6 +95,20 @@ Features may also be specified as a single combined value: .Bd -literal -offset indent elfctl -e =0x5 file .Ed +.Sh NOTES +On amd64, on a machine with LA57 (5-level paging) mode supported and +enabled, if both +.Va la57 +and +.Va la48 +feature flags are specified, the +.Va la57 +feature has priority over +.Va la48 . +The +.Va vm.pmap.prefer_uva_la48 +sysctl MIB defines the default user address space size for binaries +which do not set either of these flags. .Sh SEE ALSO .Xr mitigations 7 .Sh HISTORY diff --git a/usr.bin/elfctl/elfctl.c b/usr.bin/elfctl/elfctl.c index d9cb557bbad4..cacd30b44b2d 100644 --- a/usr.bin/elfctl/elfctl.c +++ b/usr.bin/elfctl/elfctl.c @@ -67,7 +67,10 @@ static struct ControlFeatures featurelist[] = { "Disable implicit PROT_MAX" }, { "nostackgap", NT_FREEBSD_FCTL_STKGAP_DISABLE, "Disable stack gap" }, { "wxneeded", NT_FREEBSD_FCTL_WXNEEDED, "Requires W+X mappings" }, - { "la48", NT_FREEBSD_FCTL_LA48, "amd64: Limit user VA to 48bit" }, + { "la48", NT_FREEBSD_FCTL_LA48, + "amd64: Limit user virtual addresses to 48 bits" }, + { "la57", NT_FREEBSD_FCTL_LA57, + "amd64: Allow the use of 57-bit virtual addresses when available" }, }; static struct option long_opts[] = { From nobody Sun Apr 27 23:38:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm30y44YYz5vTXT; Sun, 27 Apr 2025 23:38: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 4Zm30y18Cfz3fQr; Sun, 27 Apr 2025 23:38:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745797090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dG7Qj1uTCcdpK65fqCDhJ/dKLmHBHEPYQnrZ2Yall4g=; b=o/mPZxSkEM0GUX06GvXselXBBecIQVNx3DsLRopQ9wE6OCGOLiRAYUWBO8BBPk8+jA4vy4 MQSKNNsPpMt8kMm1NAfRRsX5Wdqyk3GiLTh9vHdJfDoxHFBK8ERIBa+Tra+RTjA4irTDwq ED/cqL6A3mCVU7Mz2IXEgYLKejv3Pil/lWf9+I3UylKM6ek04st3fn85mEuoCYGd0rTdEY gBlv0ZWdpp0qK+Uo465QXCyjHZ0/hNvbbCjtKxIBJAE8nUC3eq5eGeFNNvNmIXcXpkxVSe g+fRKAhwER7ZNV0RBIG+sxuFrYcVDERsOqLtDzRz4zdwBaUx3L7YuPtbQcgUzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745797090; a=rsa-sha256; cv=none; b=pjwXuoEelFmRGg15d64CymYknhFtMDR+edXukg73SuhtQiaAAe3L9ITpNIhsLRCc8Ctamt x5sLWgVWu4XKD6Xu5hQPdQwJo66leiAVVyPU63xmkB1PqUxDfqRQXIXcWKiMPqrwicgWwy ttKKPqHusIKs2ARrAIfnP+/2O0tEvbu6UahhUwx6Z14NHVvykQwOzjoVpii3KuPS3YdXs5 kX6SLWJa5zUeOgGGTHL1cABU00dJm398FaPr+l7ZgQI2MHm6xnktRQvRFtbDSI+zr1OVA8 MtDF11nOI555dUfzpb6za4k8hy5T2Ayxj1S2xKf6myuHhP2f4q3fEQ+QzBj28A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745797090; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dG7Qj1uTCcdpK65fqCDhJ/dKLmHBHEPYQnrZ2Yall4g=; b=hMerDwlJqo5EhGhUtmkM0n4JiG7Y50vExPlGxBhO2fPFjEo+4S6S4tR0LiAlD2pZFUzf99 Un/W/4aqt7wCfK1/RYJYTR/99kyRypYrX8MvmeQE3gygeGeNKb1wIvoCYmXAF3DaFl9SPP orFpH0riz5UbgCRXtgV3MC56uUliNkx8Kac7xewpUvYo88JelOOwTzQRBFNN4rf2B/k7A4 isDX0eFFigAe08kQAnsi3yEtstd3OYaNyk5BGW/xEATy+LfNwyACuGui9toqGyV9BiZP32 Juas+r5li/YUOYj9AjhkJfl1crj2a4awa8dIwWG+dYCY8bcDkD0bW83cHZsqyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm30y0YPQz1Q6f; Sun, 27 Apr 2025 23:38: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 53RNcAKO084327; Sun, 27 Apr 2025 23:38:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RNc9hH084324; Sun, 27 Apr 2025 23:38:09 GMT (envelope-from git) Date: Sun, 27 Apr 2025 23:38:09 GMT Message-Id: <202504272338.53RNc9hH084324@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: a0ccc12f6882 - main - rtw88: merge Realtek's rtw88 driver based on Linux v6.14 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a0ccc12f6882a886d89ae279c541b2c2b62c6aca Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a0ccc12f6882a886d89ae279c541b2c2b62c6aca commit a0ccc12f6882a886d89ae279c541b2c2b62c6aca Merge: df279a26d331 04bac331467b Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 08:48:26 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-27 23:36:15 +0000 rtw88: merge Realtek's rtw88 driver based on Linux v6.14 This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 38fec10eb60d687e30c8c6b5420d86e8149f7557 ( tag: v6.14 ). Sponsored by: The FreeBSD Foundation sys/contrib/dev/rtw88/Makefile | 17 + sys/contrib/dev/rtw88/coex.c | 75 +- sys/contrib/dev/rtw88/coex.h | 11 + sys/contrib/dev/rtw88/debug.c | 313 ++-- sys/contrib/dev/rtw88/debug.h | 3 + sys/contrib/dev/rtw88/fw.c | 66 +- sys/contrib/dev/rtw88/fw.h | 17 +- sys/contrib/dev/rtw88/hci.h | 7 + sys/contrib/dev/rtw88/led.c | 73 + sys/contrib/dev/rtw88/led.h | 25 + sys/contrib/dev/rtw88/mac.c | 15 +- sys/contrib/dev/rtw88/mac.h | 3 + sys/contrib/dev/rtw88/mac80211.c | 25 +- sys/contrib/dev/rtw88/main.c | 109 +- sys/contrib/dev/rtw88/main.h | 83 +- sys/contrib/dev/rtw88/pci.c | 6 +- sys/contrib/dev/rtw88/phy.c | 82 +- sys/contrib/dev/rtw88/reg.h | 213 +++ sys/contrib/dev/rtw88/rtw8703b.c | 91 +- sys/contrib/dev/rtw88/rtw8723d.c | 70 +- sys/contrib/dev/rtw88/rtw8723x.c | 3 +- sys/contrib/dev/rtw88/rtw8723x.h | 8 +- sys/contrib/dev/rtw88/rtw8812a.c | 1122 +++++++++++++ sys/contrib/dev/rtw88/rtw8812a.h | 10 + sys/contrib/dev/rtw88/rtw8812a_table.c | 2812 ++++++++++++++++++++++++++++++++ sys/contrib/dev/rtw88/rtw8812a_table.h | 26 + sys/contrib/dev/rtw88/rtw8812au.c | 94 ++ sys/contrib/dev/rtw88/rtw8821a.c | 1223 ++++++++++++++ sys/contrib/dev/rtw88/rtw8821a.h | 10 + sys/contrib/dev/rtw88/rtw8821a_table.c | 2350 ++++++++++++++++++++++++++ sys/contrib/dev/rtw88/rtw8821a_table.h | 21 + sys/contrib/dev/rtw88/rtw8821au.c | 78 + sys/contrib/dev/rtw88/rtw8821c.c | 106 +- sys/contrib/dev/rtw88/rtw8821c.h | 33 +- sys/contrib/dev/rtw88/rtw8821cu.c | 2 - sys/contrib/dev/rtw88/rtw8822b.c | 93 +- sys/contrib/dev/rtw88/rtw8822b.h | 25 +- sys/contrib/dev/rtw88/rtw8822bu.c | 6 + sys/contrib/dev/rtw88/rtw8822c.c | 119 +- sys/contrib/dev/rtw88/rtw8822c.h | 33 +- sys/contrib/dev/rtw88/rtw88xxa.c | 1989 ++++++++++++++++++++++ sys/contrib/dev/rtw88/rtw88xxa.h | 175 ++ sys/contrib/dev/rtw88/rx.c | 132 +- sys/contrib/dev/rtw88/rx.h | 77 +- sys/contrib/dev/rtw88/sdio.c | 15 +- sys/contrib/dev/rtw88/tx.c | 17 +- sys/contrib/dev/rtw88/tx.h | 5 +- sys/contrib/dev/rtw88/usb.c | 445 ++++- sys/contrib/dev/rtw88/usb.h | 3 + sys/modules/rtw88/Makefile | 18 +- 50 files changed, 11598 insertions(+), 756 deletions(-) diff --cc sys/contrib/dev/rtw88/Makefile index 8f47359b4380,000000000000..0cbbb366e393 mode 100644,000000..100644 --- a/sys/contrib/dev/rtw88/Makefile +++ b/sys/contrib/dev/rtw88/Makefile @@@ -1,87 -1,0 +1,104 @@@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause + +obj-$(CONFIG_RTW88_CORE) += rtw88_core.o +rtw88_core-y += main.o \ + mac80211.o \ + util.o \ + debug.o \ + tx.o \ + rx.o \ + mac.o \ + phy.o \ + coex.o \ + efuse.o \ + fw.o \ + ps.o \ + sec.o \ + bf.o \ + sar.o \ + regd.o + +rtw88_core-$(CONFIG_PM) += wow.o + ++rtw88_core-$(CONFIG_RTW88_LEDS) += led.o ++ +obj-$(CONFIG_RTW88_8822B) += rtw88_8822b.o +rtw88_8822b-objs := rtw8822b.o rtw8822b_table.o + +obj-$(CONFIG_RTW88_8822BE) += rtw88_8822be.o +rtw88_8822be-objs := rtw8822be.o + +obj-$(CONFIG_RTW88_8822BS) += rtw88_8822bs.o +rtw88_8822bs-objs := rtw8822bs.o + +obj-$(CONFIG_RTW88_8822BU) += rtw88_8822bu.o +rtw88_8822bu-objs := rtw8822bu.o + +obj-$(CONFIG_RTW88_8822C) += rtw88_8822c.o +rtw88_8822c-objs := rtw8822c.o rtw8822c_table.o + +obj-$(CONFIG_RTW88_8822CE) += rtw88_8822ce.o +rtw88_8822ce-objs := rtw8822ce.o + +obj-$(CONFIG_RTW88_8822CS) += rtw88_8822cs.o +rtw88_8822cs-objs := rtw8822cs.o + +obj-$(CONFIG_RTW88_8822CU) += rtw88_8822cu.o +rtw88_8822cu-objs := rtw8822cu.o + +obj-$(CONFIG_RTW88_8723X) += rtw88_8723x.o +rtw88_8723x-objs := rtw8723x.o + +obj-$(CONFIG_RTW88_8703B) += rtw88_8703b.o +rtw88_8703b-objs := rtw8703b.o rtw8703b_tables.o + +obj-$(CONFIG_RTW88_8723CS) += rtw88_8723cs.o +rtw88_8723cs-objs := rtw8723cs.o + +obj-$(CONFIG_RTW88_8723D) += rtw88_8723d.o +rtw88_8723d-objs := rtw8723d.o rtw8723d_table.o + +obj-$(CONFIG_RTW88_8723DE) += rtw88_8723de.o +rtw88_8723de-objs := rtw8723de.o + +obj-$(CONFIG_RTW88_8723DS) += rtw88_8723ds.o +rtw88_8723ds-objs := rtw8723ds.o + +obj-$(CONFIG_RTW88_8723DU) += rtw88_8723du.o +rtw88_8723du-objs := rtw8723du.o + +obj-$(CONFIG_RTW88_8821C) += rtw88_8821c.o +rtw88_8821c-objs := rtw8821c.o rtw8821c_table.o + +obj-$(CONFIG_RTW88_8821CE) += rtw88_8821ce.o +rtw88_8821ce-objs := rtw8821ce.o + +obj-$(CONFIG_RTW88_8821CS) += rtw88_8821cs.o +rtw88_8821cs-objs := rtw8821cs.o + +obj-$(CONFIG_RTW88_8821CU) += rtw88_8821cu.o +rtw88_8821cu-objs := rtw8821cu.o + ++obj-$(CONFIG_RTW88_88XXA) += rtw88_88xxa.o ++rtw88_88xxa-objs := rtw88xxa.o ++ ++obj-$(CONFIG_RTW88_8821A) += rtw88_8821a.o ++rtw88_8821a-objs := rtw8821a.o rtw8821a_table.o ++ ++obj-$(CONFIG_RTW88_8812A) += rtw88_8812a.o ++rtw88_8812a-objs := rtw8812a.o rtw8812a_table.o ++ ++obj-$(CONFIG_RTW88_8821AU) += rtw88_8821au.o ++rtw88_8821au-objs := rtw8821au.o ++ ++obj-$(CONFIG_RTW88_8812AU) += rtw88_8812au.o ++rtw88_8812au-objs := rtw8812au.o ++ +obj-$(CONFIG_RTW88_PCI) += rtw88_pci.o +rtw88_pci-objs := pci.o + +obj-$(CONFIG_RTW88_SDIO) += rtw88_sdio.o +rtw88_sdio-objs := sdio.o + +obj-$(CONFIG_RTW88_USB) += rtw88_usb.o +rtw88_usb-objs := usb.o diff --cc sys/contrib/dev/rtw88/debug.c index 1373633d73ee,000000000000..f0ee8e62da3b mode 100644,000000..100644 --- a/sys/contrib/dev/rtw88/debug.c +++ b/sys/contrib/dev/rtw88/debug.c @@@ -1,1315 -1,0 +1,1362 @@@ +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +/* Copyright(c) 2018-2019 Realtek Corporation + */ + +#include +#include +#include "main.h" +#include "coex.h" +#include "sec.h" +#include "fw.h" +#include "debug.h" +#include "phy.h" +#include "reg.h" +#include "ps.h" +#include "regd.h" + +#ifdef CONFIG_RTW88_DEBUGFS + +struct rtw_debugfs_priv { + struct rtw_dev *rtwdev; + int (*cb_read)(struct seq_file *m, void *v); + ssize_t (*cb_write)(struct file *filp, const char __user *buffer, + size_t count, loff_t *loff); + union { + u32 cb_data; + u8 *buf; + struct { + u32 page_offset; + u32 page_num; + } rsvd_page; + struct { + u8 rf_path; + u32 rf_addr; + u32 rf_mask; + }; + struct { + u32 addr; + u32 len; + } read_reg; + struct { + u8 bit; + } dm_cap; + }; +}; + ++struct rtw_debugfs { ++ struct rtw_debugfs_priv mac_0; ++ struct rtw_debugfs_priv mac_1; ++ struct rtw_debugfs_priv mac_2; ++ struct rtw_debugfs_priv mac_3; ++ struct rtw_debugfs_priv mac_4; ++ struct rtw_debugfs_priv mac_5; ++ struct rtw_debugfs_priv mac_6; ++ struct rtw_debugfs_priv mac_7; ++ struct rtw_debugfs_priv mac_10; ++ struct rtw_debugfs_priv mac_11; ++ struct rtw_debugfs_priv mac_12; ++ struct rtw_debugfs_priv mac_13; ++ struct rtw_debugfs_priv mac_14; ++ struct rtw_debugfs_priv mac_15; ++ struct rtw_debugfs_priv mac_16; ++ struct rtw_debugfs_priv mac_17; ++ struct rtw_debugfs_priv bb_8; ++ struct rtw_debugfs_priv bb_9; ++ struct rtw_debugfs_priv bb_a; ++ struct rtw_debugfs_priv bb_b; ++ struct rtw_debugfs_priv bb_c; ++ struct rtw_debugfs_priv bb_d; ++ struct rtw_debugfs_priv bb_e; ++ struct rtw_debugfs_priv bb_f; ++ struct rtw_debugfs_priv bb_18; ++ struct rtw_debugfs_priv bb_19; ++ struct rtw_debugfs_priv bb_1a; ++ struct rtw_debugfs_priv bb_1b; ++ struct rtw_debugfs_priv bb_1c; ++ struct rtw_debugfs_priv bb_1d; ++ struct rtw_debugfs_priv bb_1e; ++ struct rtw_debugfs_priv bb_1f; ++ struct rtw_debugfs_priv bb_2c; ++ struct rtw_debugfs_priv bb_2d; ++ struct rtw_debugfs_priv bb_40; ++ struct rtw_debugfs_priv bb_41; ++ struct rtw_debugfs_priv rf_dump; ++ struct rtw_debugfs_priv tx_pwr_tbl; ++ struct rtw_debugfs_priv write_reg; ++ struct rtw_debugfs_priv h2c; ++ struct rtw_debugfs_priv rf_write; ++ struct rtw_debugfs_priv rf_read; ++ struct rtw_debugfs_priv read_reg; ++ struct rtw_debugfs_priv fix_rate; ++ struct rtw_debugfs_priv dump_cam; ++ struct rtw_debugfs_priv rsvd_page; ++ struct rtw_debugfs_priv phy_info; ++ struct rtw_debugfs_priv coex_enable; ++ struct rtw_debugfs_priv coex_info; ++ struct rtw_debugfs_priv edcca_enable; ++ struct rtw_debugfs_priv fw_crash; ++ struct rtw_debugfs_priv force_lowest_basic_rate; ++ struct rtw_debugfs_priv dm_cap; ++}; ++ +static const char * const rtw_dm_cap_strs[] = { + [RTW_DM_CAP_NA] = "NA", + [RTW_DM_CAP_TXGAPK] = "TXGAPK", +}; + +static int rtw_debugfs_single_show(struct seq_file *m, void *v) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + + return debugfs_priv->cb_read(m, v); +} + +static ssize_t rtw_debugfs_common_write(struct file *filp, + const char __user *buffer, + size_t count, loff_t *loff) +{ + struct rtw_debugfs_priv *debugfs_priv = filp->private_data; + + return debugfs_priv->cb_write(filp, buffer, count, loff); +} + +static ssize_t rtw_debugfs_single_write(struct file *filp, + const char __user *buffer, + size_t count, loff_t *loff) +{ + struct seq_file *seqpriv = (struct seq_file *)filp->private_data; + struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; + + return debugfs_priv->cb_write(filp, buffer, count, loff); +} + +static int rtw_debugfs_single_open_rw(struct inode *inode, struct file *filp) +{ + return single_open(filp, rtw_debugfs_single_show, inode->i_private); +} + +static int rtw_debugfs_close(struct inode *inode, struct file *filp) +{ + return 0; +} + +static const struct file_operations file_ops_single_r = { + .owner = THIS_MODULE, + .open = rtw_debugfs_single_open_rw, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; + +static const struct file_operations file_ops_single_rw = { + .owner = THIS_MODULE, + .open = rtw_debugfs_single_open_rw, + .release = single_release, + .read = seq_read, + .llseek = seq_lseek, + .write = rtw_debugfs_single_write, +}; + +static const struct file_operations file_ops_common_write = { + .owner = THIS_MODULE, + .write = rtw_debugfs_common_write, + .open = simple_open, + .release = rtw_debugfs_close, +}; + +static int rtw_debugfs_get_read_reg(struct seq_file *m, void *v) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + u32 val, len, addr; + + len = debugfs_priv->read_reg.len; + addr = debugfs_priv->read_reg.addr; + switch (len) { + case 1: + val = rtw_read8(rtwdev, addr); + seq_printf(m, "reg 0x%03x: 0x%02x\n", addr, val); + break; + case 2: + val = rtw_read16(rtwdev, addr); + seq_printf(m, "reg 0x%03x: 0x%04x\n", addr, val); + break; + case 4: + val = rtw_read32(rtwdev, addr); + seq_printf(m, "reg 0x%03x: 0x%08x\n", addr, val); + break; + } + return 0; +} + +static int rtw_debugfs_get_rf_read(struct seq_file *m, void *v) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + u32 val, addr, mask; + u8 path; + + path = debugfs_priv->rf_path; + addr = debugfs_priv->rf_addr; + mask = debugfs_priv->rf_mask; + + mutex_lock(&rtwdev->mutex); + val = rtw_read_rf(rtwdev, path, addr, mask); + mutex_unlock(&rtwdev->mutex); + + seq_printf(m, "rf_read path:%d addr:0x%08x mask:0x%08x val=0x%08x\n", + path, addr, mask, val); + + return 0; +} + +static int rtw_debugfs_get_fix_rate(struct seq_file *m, void *v) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + struct rtw_dm_info *dm_info = &rtwdev->dm_info; + u8 fix_rate = dm_info->fix_rate; + + if (fix_rate >= DESC_RATE_MAX) { + seq_printf(m, "Fix rate disabled, fix_rate = %u\n", fix_rate); + return 0; + } + + seq_printf(m, "Data frames fixed at desc rate %u\n", fix_rate); + return 0; +} + +static int rtw_debugfs_copy_from_user(char tmp[], int size, + const char __user *buffer, size_t count, + int num) +{ + int tmp_len; + + memset(tmp, 0, size); + + if (count < num) + return -EFAULT; + + tmp_len = (count > size - 1 ? size - 1 : count); + + if (copy_from_user(tmp, buffer, tmp_len)) + return -EFAULT; + + tmp[tmp_len] = '\0'; + + return 0; +} + +static ssize_t rtw_debugfs_set_read_reg(struct file *filp, + const char __user *buffer, + size_t count, loff_t *loff) +{ + struct seq_file *seqpriv = (struct seq_file *)filp->private_data; + struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + char tmp[32 + 1]; + u32 addr, len; + int num; + int ret; + + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 2); + if (ret) + return ret; + + num = sscanf(tmp, "%x %x", &addr, &len); + + if (num != 2) + return -EINVAL; + + if (len != 1 && len != 2 && len != 4) { + rtw_warn(rtwdev, "read reg setting wrong len\n"); + return -EINVAL; + } + debugfs_priv->read_reg.addr = addr; + debugfs_priv->read_reg.len = len; + + return count; +} + +static int rtw_debugfs_get_dump_cam(struct seq_file *m, void *v) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + u32 val, command; + u32 hw_key_idx = debugfs_priv->cb_data << RTW_SEC_CAM_ENTRY_SHIFT; + u32 read_cmd = RTW_SEC_CMD_POLLING; + int i; + + seq_printf(m, "cam entry%d\n", debugfs_priv->cb_data); + seq_puts(m, "0x0 0x1 0x2 0x3 "); + seq_puts(m, "0x4 0x5\n"); + mutex_lock(&rtwdev->mutex); + for (i = 0; i <= 5; i++) { + command = read_cmd | (hw_key_idx + i); + rtw_write32(rtwdev, RTW_SEC_CMD_REG, command); + val = rtw_read32(rtwdev, RTW_SEC_READ_REG); + seq_printf(m, "%8.8x", val); + if (i < 2) + seq_puts(m, " "); + } + seq_puts(m, "\n"); + mutex_unlock(&rtwdev->mutex); + return 0; +} + +static int rtw_debugfs_get_rsvd_page(struct seq_file *m, void *v) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; - u8 page_size = rtwdev->chip->page_size; ++ u16 page_size = rtwdev->chip->page_size; + u32 buf_size = debugfs_priv->rsvd_page.page_num * page_size; + u32 offset = debugfs_priv->rsvd_page.page_offset * page_size; + u8 *buf; + int i; + int ret; + + buf = vzalloc(buf_size); + if (!buf) + return -ENOMEM; + + ret = rtw_fw_dump_fifo(rtwdev, RTW_FW_FIFO_SEL_RSVD_PAGE, offset, + buf_size, (u32 *)buf); + if (ret) { + rtw_err(rtwdev, "failed to dump rsvd page\n"); + vfree(buf); + return ret; + } + + for (i = 0 ; i < buf_size ; i += 8) { + if (i % page_size == 0) + seq_printf(m, "PAGE %d\n", (i + offset) / page_size); + seq_printf(m, "%8ph\n", buf + i); + } + vfree(buf); + + return 0; +} + +static ssize_t rtw_debugfs_set_rsvd_page(struct file *filp, + const char __user *buffer, + size_t count, loff_t *loff) +{ + struct seq_file *seqpriv = (struct seq_file *)filp->private_data; + struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + char tmp[32 + 1]; + u32 offset, page_num; + int num; + int ret; + + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 2); + if (ret) + return ret; + + num = sscanf(tmp, "%d %d", &offset, &page_num); + + if (num != 2) { + rtw_warn(rtwdev, "invalid arguments\n"); + return -EINVAL; + } + + debugfs_priv->rsvd_page.page_offset = offset; + debugfs_priv->rsvd_page.page_num = page_num; + + return count; +} + +static ssize_t rtw_debugfs_set_single_input(struct file *filp, + const char __user *buffer, + size_t count, loff_t *loff) +{ + struct seq_file *seqpriv = (struct seq_file *)filp->private_data; + struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; + u32 input; + int ret; + + ret = kstrtou32_from_user(buffer, count, 0, &input); + if (ret) + return ret; + + debugfs_priv->cb_data = input; + + return count; +} + +static ssize_t rtw_debugfs_set_write_reg(struct file *filp, + const char __user *buffer, + size_t count, loff_t *loff) +{ + struct rtw_debugfs_priv *debugfs_priv = filp->private_data; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + char tmp[32 + 1]; + u32 addr, val, len; + int num; + int ret; + + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 3); + if (ret) + return ret; + + /* write BB/MAC register */ + num = sscanf(tmp, "%x %x %x", &addr, &val, &len); + + if (num != 3) + return -EINVAL; + + switch (len) { + case 1: + rtw_dbg(rtwdev, RTW_DBG_DEBUGFS, + "reg write8 0x%03x: 0x%08x\n", addr, val); + rtw_write8(rtwdev, addr, (u8)val); + break; + case 2: + rtw_dbg(rtwdev, RTW_DBG_DEBUGFS, + "reg write16 0x%03x: 0x%08x\n", addr, val); + rtw_write16(rtwdev, addr, (u16)val); + break; + case 4: + rtw_dbg(rtwdev, RTW_DBG_DEBUGFS, + "reg write32 0x%03x: 0x%08x\n", addr, val); + rtw_write32(rtwdev, addr, (u32)val); + break; + default: + rtw_dbg(rtwdev, RTW_DBG_DEBUGFS, + "error write length = %d\n", len); + break; + } + + return count; +} + +static ssize_t rtw_debugfs_set_h2c(struct file *filp, + const char __user *buffer, + size_t count, loff_t *loff) +{ + struct rtw_debugfs_priv *debugfs_priv = filp->private_data; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + char tmp[32 + 1]; + u8 param[8]; + int num; + int ret; + + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 3); + if (ret) + return ret; + + num = sscanf(tmp, "%hhx,%hhx,%hhx,%hhx,%hhx,%hhx,%hhx,%hhx", + ¶m[0], ¶m[1], ¶m[2], ¶m[3], + ¶m[4], ¶m[5], ¶m[6], ¶m[7]); + if (num != 8) { + rtw_warn(rtwdev, "invalid H2C command format for debug\n"); + return -EINVAL; + } + + mutex_lock(&rtwdev->mutex); + rtw_fw_h2c_cmd_dbg(rtwdev, param); + mutex_unlock(&rtwdev->mutex); + + return count; +} + +static ssize_t rtw_debugfs_set_rf_write(struct file *filp, + const char __user *buffer, + size_t count, loff_t *loff) +{ + struct rtw_debugfs_priv *debugfs_priv = filp->private_data; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + char tmp[32 + 1]; + u32 path, addr, mask, val; + int num; + int ret; + + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 4); + if (ret) + return ret; + + num = sscanf(tmp, "%x %x %x %x", &path, &addr, &mask, &val); + + if (num != 4) { + rtw_warn(rtwdev, "invalid args, [path] [addr] [mask] [val]\n"); + return -EINVAL; + } + + mutex_lock(&rtwdev->mutex); + rtw_write_rf(rtwdev, path, addr, mask, val); + mutex_unlock(&rtwdev->mutex); + rtw_dbg(rtwdev, RTW_DBG_DEBUGFS, + "write_rf path:%d addr:0x%08x mask:0x%08x, val:0x%08x\n", + path, addr, mask, val); + + return count; +} + +static ssize_t rtw_debugfs_set_rf_read(struct file *filp, + const char __user *buffer, + size_t count, loff_t *loff) +{ + struct seq_file *seqpriv = (struct seq_file *)filp->private_data; + struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + char tmp[32 + 1]; + u32 path, addr, mask; + int num; + int ret; + + ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 3); + if (ret) + return ret; + + num = sscanf(tmp, "%x %x %x", &path, &addr, &mask); + + if (num != 3) { + rtw_warn(rtwdev, "invalid args, [path] [addr] [mask] [val]\n"); + return -EINVAL; + } + + debugfs_priv->rf_path = path; + debugfs_priv->rf_addr = addr; + debugfs_priv->rf_mask = mask; + + return count; +} + +static ssize_t rtw_debugfs_set_fix_rate(struct file *filp, + const char __user *buffer, + size_t count, loff_t *loff) +{ + struct seq_file *seqpriv = (struct seq_file *)filp->private_data; + struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + struct rtw_dm_info *dm_info = &rtwdev->dm_info; + u8 fix_rate; + int ret; + + ret = kstrtou8_from_user(buffer, count, 0, &fix_rate); + if (ret) + return ret; + + dm_info->fix_rate = fix_rate; + + return count; +} + +static int rtw_debug_get_mac_page(struct seq_file *m, void *v) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + u32 page = debugfs_priv->cb_data; + int i, n; + int max = 0xff; + + rtw_read32(rtwdev, debugfs_priv->cb_data); + for (n = 0; n <= max; ) { + seq_printf(m, "\n%8.8x ", n + page); + for (i = 0; i < 4 && n <= max; i++, n += 4) + seq_printf(m, "%8.8x ", + rtw_read32(rtwdev, (page | n))); + } + seq_puts(m, "\n"); + return 0; +} + +static int rtw_debug_get_bb_page(struct seq_file *m, void *v) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + u32 page = debugfs_priv->cb_data; + int i, n; + int max = 0xff; + + rtw_read32(rtwdev, debugfs_priv->cb_data); + for (n = 0; n <= max; ) { + seq_printf(m, "\n%8.8x ", n + page); + for (i = 0; i < 4 && n <= max; i++, n += 4) + seq_printf(m, "%8.8x ", + rtw_read32(rtwdev, (page | n))); + } + seq_puts(m, "\n"); + return 0; +} + - static int rtw_debug_get_rf_dump(struct seq_file *m, void *v) ++static int rtw_debugfs_get_rf_dump(struct seq_file *m, void *v) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + u32 addr, offset, data; + u8 path; + + mutex_lock(&rtwdev->mutex); + + for (path = 0; path < rtwdev->hal.rf_path_num; path++) { + seq_printf(m, "RF path:%d\n", path); + for (addr = 0; addr < 0x100; addr += 4) { + seq_printf(m, "%8.8x ", addr); + for (offset = 0; offset < 4; offset++) { + data = rtw_read_rf(rtwdev, path, addr + offset, + 0xffffffff); + seq_printf(m, "%8.8x ", data); + } + seq_puts(m, "\n"); + } + seq_puts(m, "\n"); + } + + mutex_unlock(&rtwdev->mutex); + + return 0; +} + +static void rtw_print_cck_rate_txt(struct seq_file *m, u8 rate) +{ + static const char * const + cck_rate[] = {"1M", "2M", "5.5M", "11M"}; + u8 idx = rate - DESC_RATE1M; + + seq_printf(m, " CCK_%-5s", cck_rate[idx]); +} + +static void rtw_print_ofdm_rate_txt(struct seq_file *m, u8 rate) +{ + static const char * const + ofdm_rate[] = {"6M", "9M", "12M", "18M", "24M", "36M", "48M", "54M"}; + u8 idx = rate - DESC_RATE6M; + + seq_printf(m, " OFDM_%-4s", ofdm_rate[idx]); +} + +static void rtw_print_ht_rate_txt(struct seq_file *m, u8 rate) +{ + u8 mcs_n = rate - DESC_RATEMCS0; + + seq_printf(m, " MCS%-6u", mcs_n); +} + +static void rtw_print_vht_rate_txt(struct seq_file *m, u8 rate) +{ + u8 idx = rate - DESC_RATEVHT1SS_MCS0; + u8 n_ss, mcs_n; + + /* n spatial stream */ + n_ss = 1 + idx / 10; + /* MCS n */ + mcs_n = idx % 10; + seq_printf(m, " VHT%uSMCS%u", n_ss, mcs_n); +} + +static void rtw_print_rate(struct seq_file *m, u8 rate) +{ + switch (rate) { + case DESC_RATE1M...DESC_RATE11M: + rtw_print_cck_rate_txt(m, rate); + break; + case DESC_RATE6M...DESC_RATE54M: + rtw_print_ofdm_rate_txt(m, rate); + break; + case DESC_RATEMCS0...DESC_RATEMCS15: + rtw_print_ht_rate_txt(m, rate); + break; + case DESC_RATEVHT1SS_MCS0...DESC_RATEVHT2SS_MCS9: + rtw_print_vht_rate_txt(m, rate); + break; + default: + seq_printf(m, " Unknown rate=0x%x\n", rate); + break; + } +} + +#define case_REGD(src) \ + case RTW_REGD_##src: return #src + +static const char *rtw_get_regd_string(u8 regd) +{ + switch (regd) { + case_REGD(FCC); + case_REGD(MKK); + case_REGD(ETSI); + case_REGD(IC); + case_REGD(KCC); + case_REGD(ACMA); + case_REGD(CHILE); + case_REGD(UKRAINE); + case_REGD(MEXICO); + case_REGD(CN); + case_REGD(WW); + default: + return "Unknown"; + } +} + +static int rtw_debugfs_get_tx_pwr_tbl(struct seq_file *m, void *v) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + struct rtw_hal *hal = &rtwdev->hal; + u8 path, rate, bw, ch, regd; + struct rtw_power_params pwr_param = {0}; + + mutex_lock(&rtwdev->mutex); + bw = hal->current_band_width; + ch = hal->current_channel; + regd = rtw_regd_get(rtwdev); + + seq_printf(m, "channel: %u\n", ch); + seq_printf(m, "bandwidth: %u\n", bw); + seq_printf(m, "regulatory: %s\n", rtw_get_regd_string(regd)); + seq_printf(m, "%-4s %-10s %-9s %-9s (%-4s %-4s %-4s) %-4s\n", + "path", "rate", "pwr", "base", "byr", "lmt", "sar", "rem"); + + mutex_lock(&hal->tx_power_mutex); + for (path = RF_PATH_A; path <= RF_PATH_B; path++) { + /* there is no CCK rates used in 5G */ + if (hal->current_band_type == RTW_BAND_5G) + rate = DESC_RATE6M; + else + rate = DESC_RATE1M; + + /* now, not support vht 3ss and vht 4ss*/ + for (; rate <= DESC_RATEVHT2SS_MCS9; rate++) { + /* now, not support ht 3ss and ht 4ss*/ + if (rate > DESC_RATEMCS15 && + rate < DESC_RATEVHT1SS_MCS0) + continue; + + rtw_get_tx_power_params(rtwdev, path, rate, bw, + ch, regd, &pwr_param); + + seq_printf(m, "%4c ", path + 'A'); + rtw_print_rate(m, rate); + seq_printf(m, " %3u(0x%02x) %4u %4d (%4d %4d %4d) %4d\n", + hal->tx_pwr_tbl[path][rate], + hal->tx_pwr_tbl[path][rate], + pwr_param.pwr_base, + min3(pwr_param.pwr_offset, + pwr_param.pwr_limit, + pwr_param.pwr_sar), + pwr_param.pwr_offset, pwr_param.pwr_limit, + pwr_param.pwr_sar, + pwr_param.pwr_remnant); + } + } + + mutex_unlock(&hal->tx_power_mutex); + mutex_unlock(&rtwdev->mutex); + + return 0; +} + +void rtw_debugfs_get_simple_phy_info(struct seq_file *m) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + struct rtw_hal *hal = &rtwdev->hal; + struct rtw_dm_info *dm_info = &rtwdev->dm_info; + struct rtw_traffic_stats *stats = &rtwdev->stats; + + seq_printf(m, "%-40s = %ddBm/ %d\n", "RSSI/ STA Channel", + dm_info->rssi[RF_PATH_A] - 100, hal->current_channel); + + seq_printf(m, "TP {Tx, Rx} = {%u, %u}Mbps\n", + stats->tx_throughput, stats->rx_throughput); + + seq_puts(m, "[Tx Rate] = "); + rtw_print_rate(m, dm_info->tx_rate); + seq_printf(m, "(0x%x)\n", dm_info->tx_rate); + + seq_puts(m, "[Rx Rate] = "); + rtw_print_rate(m, dm_info->curr_rx_rate); + seq_printf(m, "(0x%x)\n", dm_info->curr_rx_rate); +} + +static int rtw_debugfs_get_phy_info(struct seq_file *m, void *v) +{ + struct rtw_debugfs_priv *debugfs_priv = m->private; + struct rtw_dev *rtwdev = debugfs_priv->rtwdev; + struct rtw_dm_info *dm_info = &rtwdev->dm_info; + struct rtw_traffic_stats *stats = &rtwdev->stats; + struct rtw_pkt_count *last_cnt = &dm_info->last_pkt_count; + struct rtw_efuse *efuse = &rtwdev->efuse; + struct ewma_evm *ewma_evm = dm_info->ewma_evm; + struct ewma_snr *ewma_snr = dm_info->ewma_snr; + u8 ss, rate_id; + + seq_puts(m, "==========[Common Info]========\n"); + seq_printf(m, "Is link = %c\n", rtw_is_assoc(rtwdev) ? 'Y' : 'N'); + seq_printf(m, "Current CH(fc) = %u\n", rtwdev->hal.current_channel); + seq_printf(m, "Current BW = %u\n", rtwdev->hal.current_band_width); + seq_printf(m, "Current IGI = 0x%x\n", dm_info->igi_history[0]); + seq_printf(m, "TP {Tx, Rx} = {%u, %u}Mbps\n", + stats->tx_throughput, stats->rx_throughput); + seq_printf(m, "1SS for TX and RX = %c\n\n", rtwdev->hal.txrx_1ss ? + 'Y' : 'N'); + + seq_puts(m, "==========[Tx Phy Info]========\n"); + seq_puts(m, "[Tx Rate] = "); + rtw_print_rate(m, dm_info->tx_rate); + seq_printf(m, "(0x%x)\n\n", dm_info->tx_rate); *** 13707 LINES SKIPPED *** From nobody Sun Apr 27 23:38:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm30w5ynWz5vTjx; Sun, 27 Apr 2025 23:38: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 4Zm30w5864z3fFd; Sun, 27 Apr 2025 23:38:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745797088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wkJqMuQJD8E8VC/6P3E1BYr4WdBiJwxa8Fndnhu2Bl0=; b=asd2MIIZFEoiYPh7qd+KM36Ge6lZSB4hCqGjqDImn8Xhl9z72h0lRUNBDP36tE1uiP7AMo yDbCVMnq9hoTYHbck+u5yO60EdwtcBbQ6h7GisisaNe4QU2lSPvuyI8v0tU+/dvV8DlKMs 0YuvCj4NUJ6rzx/p9XG4wkrbH9mNlkM1gBaS9JJmiOVQxGbC+RKVoMiiDdgoI49uHLVUoy xY6MCCLsHZbbm7WctdqueCf9LtLpISdT/PtvA7uXzvOD+JFscR2/5avCWcuOXq7nCaazq4 J8yz2vUSJQFs4O/ouRQWTtY8/XvqLstWgy3pBkle72KsUNaraGg841ib8UhzMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745797088; a=rsa-sha256; cv=none; b=MNyMl3KW7aowbEBUL2v4/ldgEnh2zUJyCqURVvmOK6kI6+14yNz5c9GnVJha5fGRzZeJRl c65a2mj/5fVYEIpITnxdxO4D1Fpuq1Aoy7Dkkuli/AMOaOvd1bJtvDmPaoPzzcKYOOUgRg mxZSlBA3MV+PNLIvgbIvQ5PCp4xX8bU/5UZZgibA3+q6oqpZWfCVkQiRtLj7xNXeIGtwG5 i2IZ//BaCeGOmUBJyGtQ/06FuniaRzNM7WWCV3L+Tgcw8IEW4tM+42EdL3XNOipsOU2TWP AphnuNlmkAe8wRG3krDdPoGSXcVyKt+rOBma09FtNfcuMCcqG/ESKP5RZYIKrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745797088; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wkJqMuQJD8E8VC/6P3E1BYr4WdBiJwxa8Fndnhu2Bl0=; b=AeXkymhIaJLxgkouknXk3bV8B/mfmQcezCXsgo3VckkpS4lWIPaM0Ob6MloWWqSSFezhuQ xRdMzoMB5XHZX8oQ2Bx4AMC1S1lDMlV+l12rAGL0aNrRb6X0eAzbPWYiuHulzT8NPw7/WE ijToBXbsTU5dQBpmPAsWkXJcAlgQMr0O/Mqolr/txOtNX5KUb+tKAnAsuZuLJf9XhZ7CQz 0fWMwJN+V75dpJNJ82uKkGrzi+Zw3RvhFcK8cqC+RazmYOLlhT1FJFs3m2/EcWTGg/+oTs 94/nYsj0PyXailvaNk1lv0kTfRQOfhp4GNm+iDba6yNRBTbkQUK1KxLfJ5u3Fg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm30w47Dpz1PhJ; Sun, 27 Apr 2025 23:38: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 53RNc8qG084289; Sun, 27 Apr 2025 23:38:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RNc7oH084286; Sun, 27 Apr 2025 23:38:07 GMT (envelope-from git) Date: Sun, 27 Apr 2025 23:38:07 GMT Message-Id: <202504272338.53RNc7oH084286@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: df279a26d331 - main - rtw89: merge Realtek's rtw89 driver based on Linux v6.14 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: df279a26d3315e7abc9e6f0744137959a4c2fb86 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=df279a26d3315e7abc9e6f0744137959a4c2fb86 commit df279a26d3315e7abc9e6f0744137959a4c2fb86 Merge: b989c1dd1e2e 690f81f0b86a Author: Bjoern A. Zeeb AuthorDate: 2025-04-24 08:58:54 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-04-27 23:36:12 +0000 rtw89: merge Realtek's rtw89 driver based on Linux v6.14 This version is based on git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 38fec10eb60d687e30c8c6b5420d86e8149f7557 ( tag: v6.14 ). Sponsored by: The FreeBSD Foundation sys/contrib/dev/rtw89/Kconfig | 22 +- sys/contrib/dev/rtw89/Makefile | 8 + sys/contrib/dev/rtw89/acpi.c | 64 ++ sys/contrib/dev/rtw89/acpi.h | 9 + sys/contrib/dev/rtw89/cam.c | 350 +++++-- sys/contrib/dev/rtw89/cam.h | 53 +- sys/contrib/dev/rtw89/chan.c | 579 ++++++++--- sys/contrib/dev/rtw89/chan.h | 38 +- sys/contrib/dev/rtw89/coex.c | 899 +++++++++++++--- sys/contrib/dev/rtw89/coex.h | 18 +- sys/contrib/dev/rtw89/core.c | 1496 +++++++++++++++++++-------- sys/contrib/dev/rtw89/core.h | 841 ++++++++++++--- sys/contrib/dev/rtw89/debug.c | 344 ++++--- sys/contrib/dev/rtw89/debug.h | 2 + sys/contrib/dev/rtw89/efuse.c | 150 +++ sys/contrib/dev/rtw89/efuse.h | 2 + sys/contrib/dev/rtw89/efuse_be.c | 52 +- sys/contrib/dev/rtw89/fw.c | 1689 +++++++++++++++++++++++-------- sys/contrib/dev/rtw89/fw.h | 508 ++++++++-- sys/contrib/dev/rtw89/mac.c | 981 ++++++++++++------ sys/contrib/dev/rtw89/mac.h | 179 +++- sys/contrib/dev/rtw89/mac80211.c | 969 +++++++++++++++--- sys/contrib/dev/rtw89/mac_be.c | 89 +- sys/contrib/dev/rtw89/pci.c | 193 +++- sys/contrib/dev/rtw89/pci.h | 52 +- sys/contrib/dev/rtw89/pci_be.c | 78 ++ sys/contrib/dev/rtw89/phy.c | 1061 ++++++++++++++----- sys/contrib/dev/rtw89/phy.h | 58 +- sys/contrib/dev/rtw89/phy_be.c | 12 +- sys/contrib/dev/rtw89/ps.c | 120 ++- sys/contrib/dev/rtw89/ps.h | 12 +- sys/contrib/dev/rtw89/reg.h | 95 +- sys/contrib/dev/rtw89/regd.c | 168 +-- sys/contrib/dev/rtw89/rtw8851b.c | 60 +- sys/contrib/dev/rtw89/rtw8851b_rfk.c | 140 +-- sys/contrib/dev/rtw89/rtw8851b_rfk.h | 18 +- sys/contrib/dev/rtw89/rtw8851be.c | 4 + sys/contrib/dev/rtw89/rtw8852a.c | 65 +- sys/contrib/dev/rtw89/rtw8852a.h | 4 +- sys/contrib/dev/rtw89/rtw8852a_rfk.c | 292 +++--- sys/contrib/dev/rtw89/rtw8852a_rfk.h | 17 +- sys/contrib/dev/rtw89/rtw8852ae.c | 4 + sys/contrib/dev/rtw89/rtw8852b.c | 53 +- sys/contrib/dev/rtw89/rtw8852b_common.c | 87 +- sys/contrib/dev/rtw89/rtw8852b_common.h | 24 +- sys/contrib/dev/rtw89/rtw8852b_rfk.c | 211 ++-- sys/contrib/dev/rtw89/rtw8852b_rfk.h | 20 +- sys/contrib/dev/rtw89/rtw8852be.c | 4 + sys/contrib/dev/rtw89/rtw8852bt.c | 855 ++++++++++++++++ sys/contrib/dev/rtw89/rtw8852bt.h | 2 + sys/contrib/dev/rtw89/rtw8852bt_rfk.c | 418 ++++++-- sys/contrib/dev/rtw89/rtw8852bt_rfk.h | 23 +- sys/contrib/dev/rtw89/rtw8852bte.c | 103 ++ sys/contrib/dev/rtw89/rtw8852c.c | 113 ++- sys/contrib/dev/rtw89/rtw8852c_rfk.c | 278 ++--- sys/contrib/dev/rtw89/rtw8852c_rfk.h | 17 +- sys/contrib/dev/rtw89/rtw8852ce.c | 4 + sys/contrib/dev/rtw89/rtw8922a.c | 275 ++++- sys/contrib/dev/rtw89/rtw8922a.h | 1 + sys/contrib/dev/rtw89/rtw8922a_rfk.c | 61 +- sys/contrib/dev/rtw89/rtw8922ae.c | 25 +- sys/contrib/dev/rtw89/sar.c | 65 +- sys/contrib/dev/rtw89/ser.c | 38 +- sys/contrib/dev/rtw89/txrx.h | 70 +- sys/contrib/dev/rtw89/util.h | 18 + sys/contrib/dev/rtw89/wow.c | 486 ++++++--- sys/contrib/dev/rtw89/wow.h | 21 + sys/modules/rtw89/Makefile | 4 +- 68 files changed, 11551 insertions(+), 3520 deletions(-) diff --cc sys/contrib/dev/rtw89/Makefile index 1f1050a7a89d,000000000000..c751013e811e mode 100644,000000..100644 --- a/sys/contrib/dev/rtw89/Makefile +++ b/sys/contrib/dev/rtw89/Makefile @@@ -1,75 -1,0 +1,83 @@@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause + +obj-$(CONFIG_RTW89_CORE) += rtw89_core.o +rtw89_core-y += core.o \ + mac80211.o \ + mac.o \ + mac_be.o \ + phy.o \ + phy_be.o \ + fw.o \ + cam.o \ + efuse.o \ + efuse_be.o \ + regd.o \ + sar.o \ + coex.o \ + ps.o \ + chan.o \ + ser.o \ + acpi.o \ + util.o + +rtw89_core-$(CONFIG_PM) += wow.o + +obj-$(CONFIG_RTW89_8851B) += rtw89_8851b.o +rtw89_8851b-objs := rtw8851b.o \ + rtw8851b_table.o \ + rtw8851b_rfk.o \ + rtw8851b_rfk_table.o + +obj-$(CONFIG_RTW89_8851BE) += rtw89_8851be.o +rtw89_8851be-objs := rtw8851be.o + +obj-$(CONFIG_RTW89_8852A) += rtw89_8852a.o +rtw89_8852a-objs := rtw8852a.o \ + rtw8852a_table.o \ + rtw8852a_rfk.o \ + rtw8852a_rfk_table.o + +obj-$(CONFIG_RTW89_8852AE) += rtw89_8852ae.o +rtw89_8852ae-objs := rtw8852ae.o + +obj-$(CONFIG_RTW89_8852B_COMMON) += rtw89_8852b_common.o +rtw89_8852b_common-objs := rtw8852b_common.o + +obj-$(CONFIG_RTW89_8852B) += rtw89_8852b.o +rtw89_8852b-objs := rtw8852b.o \ + rtw8852b_table.o \ + rtw8852b_rfk.o \ + rtw8852b_rfk_table.o + +obj-$(CONFIG_RTW89_8852BE) += rtw89_8852be.o +rtw89_8852be-objs := rtw8852be.o + ++obj-$(CONFIG_RTW89_8852BT) += rtw89_8852bt.o ++rtw89_8852bt-objs := rtw8852bt.o \ ++ rtw8852bt_rfk.o \ ++ rtw8852bt_rfk_table.o ++ ++obj-$(CONFIG_RTW89_8852BTE) += rtw89_8852bte.o ++rtw89_8852bte-objs := rtw8852bte.o ++ +obj-$(CONFIG_RTW89_8852C) += rtw89_8852c.o +rtw89_8852c-objs := rtw8852c.o \ + rtw8852c_table.o \ + rtw8852c_rfk.o \ + rtw8852c_rfk_table.o + +obj-$(CONFIG_RTW89_8852CE) += rtw89_8852ce.o +rtw89_8852ce-objs := rtw8852ce.o + +obj-$(CONFIG_RTW89_8922A) += rtw89_8922a.o +rtw89_8922a-objs := rtw8922a.o \ + rtw8922a_rfk.o + +obj-$(CONFIG_RTW89_8922AE) += rtw89_8922ae.o +rtw89_8922ae-objs := rtw8922ae.o + +rtw89_core-$(CONFIG_RTW89_DEBUG) += debug.o + +obj-$(CONFIG_RTW89_PCI) += rtw89_pci.o +rtw89_pci-y := pci.o pci_be.o + diff --cc sys/contrib/dev/rtw89/acpi.c index 272795188f99,000000000000..02d4526c1538 mode 100644,000000..100644 --- a/sys/contrib/dev/rtw89/acpi.c +++ b/sys/contrib/dev/rtw89/acpi.c @@@ -1,159 -1,0 +1,223 @@@ +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +/* Copyright(c) 2021-2023 Realtek Corporation + */ + +#include +#include + +#include "acpi.h" +#include "debug.h" + +#if defined(__linux__) +static const guid_t rtw89_guid = GUID_INIT(0xD2A8C3E8, 0x4B69, 0x4F00, + 0x82, 0xBD, 0xFE, 0x86, + 0x07, 0x80, 0x3A, 0xA7); + +static +int rtw89_acpi_dsm_get_value(struct rtw89_dev *rtwdev, union acpi_object *obj, + u8 *value) +{ + if (obj->type != ACPI_TYPE_INTEGER) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, + "acpi: expect integer but type: %d\n", obj->type); + return -EINVAL; + } + + *value = (u8)obj->integer.value; + return 0; +} + +static bool chk_acpi_policy_6ghz_sig(const struct rtw89_acpi_policy_6ghz *p) +{ + return p->signature[0] == 0x00 && + p->signature[1] == 0xE0 && + p->signature[2] == 0x4C; +} + +static +int rtw89_acpi_dsm_get_policy_6ghz(struct rtw89_dev *rtwdev, + union acpi_object *obj, + struct rtw89_acpi_policy_6ghz **policy_6ghz) +{ + const struct rtw89_acpi_policy_6ghz *ptr; + u32 expect_len; + u32 len; + + if (obj->type != ACPI_TYPE_BUFFER) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, + "acpi: expect buffer but type: %d\n", obj->type); + return -EINVAL; + } + + len = obj->buffer.length; + if (len < sizeof(*ptr)) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: invalid buffer length: %u\n", + __func__, len); + return -EINVAL; + } + + ptr = (typeof(ptr))obj->buffer.pointer; + if (!chk_acpi_policy_6ghz_sig(ptr)) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: bad signature\n", __func__); + return -EINVAL; + } + + expect_len = struct_size(ptr, country_list, ptr->country_count); + if (len < expect_len) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: expect %u but length: %u\n", + __func__, expect_len, len); + return -EINVAL; + } + + *policy_6ghz = kmemdup(ptr, expect_len, GFP_KERNEL); + if (!*policy_6ghz) + return -ENOMEM; + + rtw89_hex_dump(rtwdev, RTW89_DBG_ACPI, "policy_6ghz: ", *policy_6ghz, + expect_len); + return 0; +} + +static bool chk_acpi_policy_6ghz_sp_sig(const struct rtw89_acpi_policy_6ghz_sp *p) +{ + return p->signature[0] == 0x52 && + p->signature[1] == 0x54 && + p->signature[2] == 0x4B && + p->signature[3] == 0x07; +} + +static +int rtw89_acpi_dsm_get_policy_6ghz_sp(struct rtw89_dev *rtwdev, + union acpi_object *obj, + struct rtw89_acpi_policy_6ghz_sp **policy) +{ + const struct rtw89_acpi_policy_6ghz_sp *ptr; + u32 buf_len; + + if (obj->type != ACPI_TYPE_BUFFER) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, + "acpi: expect buffer but type: %d\n", obj->type); + return -EINVAL; + } + + buf_len = obj->buffer.length; + if (buf_len < sizeof(*ptr)) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: invalid buffer length: %u\n", + __func__, buf_len); + return -EINVAL; + } + + ptr = (typeof(ptr))obj->buffer.pointer; + if (!chk_acpi_policy_6ghz_sp_sig(ptr)) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: bad signature\n", __func__); + return -EINVAL; + } + + *policy = kmemdup(ptr, sizeof(*ptr), GFP_KERNEL); + if (!*policy) + return -ENOMEM; + + rtw89_hex_dump(rtwdev, RTW89_DBG_ACPI, "policy_6ghz_sp: ", *policy, + sizeof(*ptr)); + return 0; +} + +int rtw89_acpi_evaluate_dsm(struct rtw89_dev *rtwdev, + enum rtw89_acpi_dsm_func func, + struct rtw89_acpi_dsm_result *res) +{ + union acpi_object *obj; + int ret; + + obj = acpi_evaluate_dsm(ACPI_HANDLE(rtwdev->dev), &rtw89_guid, + 0, func, NULL); + if (!obj) { + rtw89_debug(rtwdev, RTW89_DBG_ACPI, + "acpi dsm fail to evaluate func: %d\n", func); + return -ENOENT; + } + + if (func == RTW89_ACPI_DSM_FUNC_6G_BP) + ret = rtw89_acpi_dsm_get_policy_6ghz(rtwdev, obj, + &res->u.policy_6ghz); + else if (func == RTW89_ACPI_DSM_FUNC_6GHZ_SP_SUP) + ret = rtw89_acpi_dsm_get_policy_6ghz_sp(rtwdev, obj, + &res->u.policy_6ghz_sp); + else + ret = rtw89_acpi_dsm_get_value(rtwdev, obj, &res->u.value); + + ACPI_FREE(obj); + return ret; +} +#elif defined(__FreeBSD__) +int rtw89_acpi_evaluate_dsm(struct rtw89_dev *rtwdev, + enum rtw89_acpi_dsm_func func, + struct rtw89_acpi_dsm_result *res) +{ + return -ENOENT; +} +#endif ++ ++int rtw89_acpi_evaluate_rtag(struct rtw89_dev *rtwdev, ++ struct rtw89_acpi_rtag_result *res) ++{ ++ struct acpi_buffer buf = {ACPI_ALLOCATE_BUFFER, NULL}; ++ acpi_handle root, handle; ++ union acpi_object *obj; ++ acpi_status status; ++ u32 buf_len; ++ int ret = 0; ++ ++ root = ACPI_HANDLE(rtwdev->dev); ++ if (!root) ++ return -EOPNOTSUPP; ++ ++ status = acpi_get_handle(root, (acpi_string)"RTAG", &handle); ++ if (ACPI_FAILURE(status)) ++ return -EIO; ++ ++ status = acpi_evaluate_object(handle, NULL, NULL, &buf); ++ if (ACPI_FAILURE(status)) ++ return -EIO; ++ ++#if defined(__linux__) ++ obj = buf.pointer; ++ if (obj->type != ACPI_TYPE_BUFFER) { ++#elif defined(__FreeBSD__) ++ obj = buf.Pointer; ++ if (obj->Type != ACPI_TYPE_BUFFER) { ++#endif ++ rtw89_debug(rtwdev, RTW89_DBG_ACPI, ++#if defined(__linux__) ++ "acpi: expect buffer but type: %d\n", obj->type); ++#elif defined(__FreeBSD__) ++ "acpi: expect buffer but type: %d\n", obj->Type); ++#endif ++ ret = -EINVAL; ++ goto out; ++ } ++ ++#if defined(__linux__) ++ buf_len = obj->buffer.length; ++#elif defined(__FreeBSD__) ++ buf_len = obj->Buffer.Length; ++#endif ++ if (buf_len != sizeof(*res)) { ++ rtw89_debug(rtwdev, RTW89_DBG_ACPI, "%s: invalid buffer length: %u\n", ++ __func__, buf_len); ++ ret = -EINVAL; ++ goto out; ++ } ++ ++#if defined(__linux__) ++ *res = *(struct rtw89_acpi_rtag_result *)obj->buffer.pointer; ++#elif defined(__FreeBSD__) ++ *res = *(struct rtw89_acpi_rtag_result *)obj->Buffer.Pointer; ++#endif ++ ++ rtw89_hex_dump(rtwdev, RTW89_DBG_ACPI, "antenna_gain: ", res, sizeof(*res)); ++ ++out: ++ ACPI_FREE(obj); ++ return ret; ++} diff --cc sys/contrib/dev/rtw89/core.c index 85d8dee4e85d,000000000000..e002af84f1d1 mode 100644,000000..100644 --- a/sys/contrib/dev/rtw89/core.c +++ b/sys/contrib/dev/rtw89/core.c @@@ -1,4809 -1,0 +1,5509 @@@ +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +/* Copyright(c) 2019-2020 Realtek Corporation + */ + +#if defined(__FreeBSD__) +#define LINUXKPI_PARAM_PREFIX rtw89_ +#endif + +#include +#include + +#include "cam.h" +#include "chan.h" +#include "coex.h" +#include "core.h" +#include "efuse.h" +#include "fw.h" +#include "mac.h" +#include "phy.h" +#include "ps.h" +#include "reg.h" +#include "sar.h" +#include "ser.h" +#include "txrx.h" +#include "util.h" +#include "wow.h" + +static bool rtw89_disable_ps_mode; +module_param_named(disable_ps_mode, rtw89_disable_ps_mode, bool, 0644); +MODULE_PARM_DESC(disable_ps_mode, "Set Y to disable low power mode"); + +#if defined(__FreeBSD__) +static bool rtw_ht_support = false; +module_param_named(support_ht, rtw_ht_support, bool, 0644); +MODULE_PARM_DESC(support_ht, "Set to Y to enable HT support"); + +static bool rtw_vht_support = false; +module_param_named(support_vht, rtw_vht_support, bool, 0644); +MODULE_PARM_DESC(support_vht, "Set to Y to enable VHT support"); + +static bool rtw_eht_support = false; +module_param_named(support_eht, rtw_eht_support, bool, 0644); +MODULE_PARM_DESC(support_eht, "Set to Y to enable EHT support"); +#endif + + +#define RTW89_DEF_CHAN(_freq, _hw_val, _flags, _band) \ + { .center_freq = _freq, .hw_value = _hw_val, .flags = _flags, .band = _band, } +#define RTW89_DEF_CHAN_2G(_freq, _hw_val) \ + RTW89_DEF_CHAN(_freq, _hw_val, 0, NL80211_BAND_2GHZ) +#define RTW89_DEF_CHAN_5G(_freq, _hw_val) \ + RTW89_DEF_CHAN(_freq, _hw_val, 0, NL80211_BAND_5GHZ) +#define RTW89_DEF_CHAN_5G_NO_HT40MINUS(_freq, _hw_val) \ + RTW89_DEF_CHAN(_freq, _hw_val, IEEE80211_CHAN_NO_HT40MINUS, NL80211_BAND_5GHZ) +#define RTW89_DEF_CHAN_6G(_freq, _hw_val) \ + RTW89_DEF_CHAN(_freq, _hw_val, 0, NL80211_BAND_6GHZ) + +static struct ieee80211_channel rtw89_channels_2ghz[] = { + RTW89_DEF_CHAN_2G(2412, 1), + RTW89_DEF_CHAN_2G(2417, 2), + RTW89_DEF_CHAN_2G(2422, 3), + RTW89_DEF_CHAN_2G(2427, 4), + RTW89_DEF_CHAN_2G(2432, 5), + RTW89_DEF_CHAN_2G(2437, 6), + RTW89_DEF_CHAN_2G(2442, 7), + RTW89_DEF_CHAN_2G(2447, 8), + RTW89_DEF_CHAN_2G(2452, 9), + RTW89_DEF_CHAN_2G(2457, 10), + RTW89_DEF_CHAN_2G(2462, 11), + RTW89_DEF_CHAN_2G(2467, 12), + RTW89_DEF_CHAN_2G(2472, 13), + RTW89_DEF_CHAN_2G(2484, 14), +}; + +static struct ieee80211_channel rtw89_channels_5ghz[] = { + RTW89_DEF_CHAN_5G(5180, 36), + RTW89_DEF_CHAN_5G(5200, 40), + RTW89_DEF_CHAN_5G(5220, 44), + RTW89_DEF_CHAN_5G(5240, 48), + RTW89_DEF_CHAN_5G(5260, 52), + RTW89_DEF_CHAN_5G(5280, 56), + RTW89_DEF_CHAN_5G(5300, 60), + RTW89_DEF_CHAN_5G(5320, 64), + RTW89_DEF_CHAN_5G(5500, 100), + RTW89_DEF_CHAN_5G(5520, 104), + RTW89_DEF_CHAN_5G(5540, 108), + RTW89_DEF_CHAN_5G(5560, 112), + RTW89_DEF_CHAN_5G(5580, 116), + RTW89_DEF_CHAN_5G(5600, 120), + RTW89_DEF_CHAN_5G(5620, 124), + RTW89_DEF_CHAN_5G(5640, 128), + RTW89_DEF_CHAN_5G(5660, 132), + RTW89_DEF_CHAN_5G(5680, 136), + RTW89_DEF_CHAN_5G(5700, 140), + RTW89_DEF_CHAN_5G(5720, 144), + RTW89_DEF_CHAN_5G(5745, 149), + RTW89_DEF_CHAN_5G(5765, 153), + RTW89_DEF_CHAN_5G(5785, 157), + RTW89_DEF_CHAN_5G(5805, 161), + RTW89_DEF_CHAN_5G_NO_HT40MINUS(5825, 165), + RTW89_DEF_CHAN_5G(5845, 169), + RTW89_DEF_CHAN_5G(5865, 173), + RTW89_DEF_CHAN_5G(5885, 177), +}; + +static_assert(RTW89_5GHZ_UNII4_START_INDEX + RTW89_5GHZ_UNII4_CHANNEL_NUM == + ARRAY_SIZE(rtw89_channels_5ghz)); + +static struct ieee80211_channel rtw89_channels_6ghz[] = { + RTW89_DEF_CHAN_6G(5955, 1), + RTW89_DEF_CHAN_6G(5975, 5), + RTW89_DEF_CHAN_6G(5995, 9), + RTW89_DEF_CHAN_6G(6015, 13), + RTW89_DEF_CHAN_6G(6035, 17), + RTW89_DEF_CHAN_6G(6055, 21), + RTW89_DEF_CHAN_6G(6075, 25), + RTW89_DEF_CHAN_6G(6095, 29), + RTW89_DEF_CHAN_6G(6115, 33), + RTW89_DEF_CHAN_6G(6135, 37), + RTW89_DEF_CHAN_6G(6155, 41), + RTW89_DEF_CHAN_6G(6175, 45), + RTW89_DEF_CHAN_6G(6195, 49), + RTW89_DEF_CHAN_6G(6215, 53), + RTW89_DEF_CHAN_6G(6235, 57), + RTW89_DEF_CHAN_6G(6255, 61), + RTW89_DEF_CHAN_6G(6275, 65), + RTW89_DEF_CHAN_6G(6295, 69), + RTW89_DEF_CHAN_6G(6315, 73), + RTW89_DEF_CHAN_6G(6335, 77), + RTW89_DEF_CHAN_6G(6355, 81), + RTW89_DEF_CHAN_6G(6375, 85), + RTW89_DEF_CHAN_6G(6395, 89), + RTW89_DEF_CHAN_6G(6415, 93), + RTW89_DEF_CHAN_6G(6435, 97), + RTW89_DEF_CHAN_6G(6455, 101), + RTW89_DEF_CHAN_6G(6475, 105), + RTW89_DEF_CHAN_6G(6495, 109), + RTW89_DEF_CHAN_6G(6515, 113), + RTW89_DEF_CHAN_6G(6535, 117), + RTW89_DEF_CHAN_6G(6555, 121), + RTW89_DEF_CHAN_6G(6575, 125), + RTW89_DEF_CHAN_6G(6595, 129), + RTW89_DEF_CHAN_6G(6615, 133), + RTW89_DEF_CHAN_6G(6635, 137), + RTW89_DEF_CHAN_6G(6655, 141), + RTW89_DEF_CHAN_6G(6675, 145), + RTW89_DEF_CHAN_6G(6695, 149), + RTW89_DEF_CHAN_6G(6715, 153), + RTW89_DEF_CHAN_6G(6735, 157), + RTW89_DEF_CHAN_6G(6755, 161), + RTW89_DEF_CHAN_6G(6775, 165), + RTW89_DEF_CHAN_6G(6795, 169), + RTW89_DEF_CHAN_6G(6815, 173), + RTW89_DEF_CHAN_6G(6835, 177), + RTW89_DEF_CHAN_6G(6855, 181), + RTW89_DEF_CHAN_6G(6875, 185), + RTW89_DEF_CHAN_6G(6895, 189), + RTW89_DEF_CHAN_6G(6915, 193), + RTW89_DEF_CHAN_6G(6935, 197), + RTW89_DEF_CHAN_6G(6955, 201), + RTW89_DEF_CHAN_6G(6975, 205), + RTW89_DEF_CHAN_6G(6995, 209), + RTW89_DEF_CHAN_6G(7015, 213), + RTW89_DEF_CHAN_6G(7035, 217), + RTW89_DEF_CHAN_6G(7055, 221), + RTW89_DEF_CHAN_6G(7075, 225), + RTW89_DEF_CHAN_6G(7095, 229), + RTW89_DEF_CHAN_6G(7115, 233), +}; + +static struct ieee80211_rate rtw89_bitrates[] = { + { .bitrate = 10, .hw_value = 0x00, }, + { .bitrate = 20, .hw_value = 0x01, }, + { .bitrate = 55, .hw_value = 0x02, }, + { .bitrate = 110, .hw_value = 0x03, }, + { .bitrate = 60, .hw_value = 0x04, }, + { .bitrate = 90, .hw_value = 0x05, }, + { .bitrate = 120, .hw_value = 0x06, }, + { .bitrate = 180, .hw_value = 0x07, }, + { .bitrate = 240, .hw_value = 0x08, }, + { .bitrate = 360, .hw_value = 0x09, }, + { .bitrate = 480, .hw_value = 0x0a, }, + { .bitrate = 540, .hw_value = 0x0b, }, +}; + +static const struct ieee80211_iface_limit rtw89_iface_limits[] = { + { + .max = 1, + .types = BIT(NL80211_IFTYPE_STATION), + }, + { + .max = 1, + .types = BIT(NL80211_IFTYPE_P2P_CLIENT) | + BIT(NL80211_IFTYPE_P2P_GO) | + BIT(NL80211_IFTYPE_AP), + }, +}; + +static const struct ieee80211_iface_limit rtw89_iface_limits_mcc[] = { + { + .max = 1, + .types = BIT(NL80211_IFTYPE_STATION), + }, + { + .max = 1, + .types = BIT(NL80211_IFTYPE_P2P_CLIENT) | + BIT(NL80211_IFTYPE_P2P_GO), + }, +}; + +static const struct ieee80211_iface_combination rtw89_iface_combs[] = { + { + .limits = rtw89_iface_limits, + .n_limits = ARRAY_SIZE(rtw89_iface_limits), - .max_interfaces = 2, ++ .max_interfaces = RTW89_MAX_INTERFACE_NUM, + .num_different_channels = 1, + }, + { + .limits = rtw89_iface_limits_mcc, + .n_limits = ARRAY_SIZE(rtw89_iface_limits_mcc), - .max_interfaces = 2, ++ .max_interfaces = RTW89_MAX_INTERFACE_NUM, + .num_different_channels = 2, + }, +}; + ++#define RTW89_6GHZ_SPAN_HEAD 6145 ++#define RTW89_6GHZ_SPAN_IDX(center_freq) \ ++ ((((int)(center_freq) - RTW89_6GHZ_SPAN_HEAD) / 5) / 2) ++ ++#define RTW89_DECL_6GHZ_SPAN(center_freq, subband_l, subband_h) \ ++ [RTW89_6GHZ_SPAN_IDX(center_freq)] = { \ ++ .sar_subband_low = RTW89_SAR_6GHZ_ ## subband_l, \ ++ .sar_subband_high = RTW89_SAR_6GHZ_ ## subband_h, \ ++ .ant_gain_subband_low = RTW89_ANT_GAIN_6GHZ_ ## subband_l, \ ++ .ant_gain_subband_high = RTW89_ANT_GAIN_6GHZ_ ## subband_h, \ ++ } ++ ++/* Since 6GHz subbands are not edge aligned, some cases span two subbands. ++ * In the following, we describe each of them with rtw89_6ghz_span. ++ */ ++static const struct rtw89_6ghz_span rtw89_overlapping_6ghz[] = { ++ RTW89_DECL_6GHZ_SPAN(6145, SUBBAND_5_L, SUBBAND_5_H), ++ RTW89_DECL_6GHZ_SPAN(6165, SUBBAND_5_L, SUBBAND_5_H), ++ RTW89_DECL_6GHZ_SPAN(6185, SUBBAND_5_L, SUBBAND_5_H), ++ RTW89_DECL_6GHZ_SPAN(6505, SUBBAND_6, SUBBAND_7_L), ++ RTW89_DECL_6GHZ_SPAN(6525, SUBBAND_6, SUBBAND_7_L), ++ RTW89_DECL_6GHZ_SPAN(6545, SUBBAND_6, SUBBAND_7_L), ++ RTW89_DECL_6GHZ_SPAN(6665, SUBBAND_7_L, SUBBAND_7_H), ++ RTW89_DECL_6GHZ_SPAN(6705, SUBBAND_7_L, SUBBAND_7_H), ++ RTW89_DECL_6GHZ_SPAN(6825, SUBBAND_7_H, SUBBAND_8), ++ RTW89_DECL_6GHZ_SPAN(6865, SUBBAND_7_H, SUBBAND_8), ++ RTW89_DECL_6GHZ_SPAN(6875, SUBBAND_7_H, SUBBAND_8), ++ RTW89_DECL_6GHZ_SPAN(6885, SUBBAND_7_H, SUBBAND_8), ++}; ++ ++const struct rtw89_6ghz_span * ++rtw89_get_6ghz_span(struct rtw89_dev *rtwdev, u32 center_freq) ++{ ++ int idx; ++ ++ if (center_freq >= RTW89_6GHZ_SPAN_HEAD) { ++ idx = RTW89_6GHZ_SPAN_IDX(center_freq); ++ /* To decrease size of rtw89_overlapping_6ghz[], ++ * RTW89_6GHZ_SPAN_IDX() truncates the leading NULLs ++ * to make first span as index 0 of the table. So, if center ++ * frequency is less than the first one, it will get netative. ++ */ ++ if (idx >= 0 && idx < ARRAY_SIZE(rtw89_overlapping_6ghz)) ++ return &rtw89_overlapping_6ghz[idx]; ++ } ++ ++ return NULL; ++} ++ +bool rtw89_ra_report_to_bitrate(struct rtw89_dev *rtwdev, u8 rpt_rate, u16 *bitrate) +{ + struct ieee80211_rate rate; + + if (unlikely(rpt_rate >= ARRAY_SIZE(rtw89_bitrates))) { + rtw89_debug(rtwdev, RTW89_DBG_UNEXP, "invalid rpt rate %d\n", rpt_rate); + return false; + } + + rate = rtw89_bitrates[rpt_rate]; + *bitrate = rate.bitrate; + + return true; +} + +static const struct ieee80211_supported_band rtw89_sband_2ghz = { + .band = NL80211_BAND_2GHZ, + .channels = rtw89_channels_2ghz, + .n_channels = ARRAY_SIZE(rtw89_channels_2ghz), + .bitrates = rtw89_bitrates, + .n_bitrates = ARRAY_SIZE(rtw89_bitrates), + .ht_cap = {0}, + .vht_cap = {0}, +}; + +static const struct ieee80211_supported_band rtw89_sband_5ghz = { + .band = NL80211_BAND_5GHZ, + .channels = rtw89_channels_5ghz, + .n_channels = ARRAY_SIZE(rtw89_channels_5ghz), + + /* 5G has no CCK rates, 1M/2M/5.5M/11M */ + .bitrates = rtw89_bitrates + 4, + .n_bitrates = ARRAY_SIZE(rtw89_bitrates) - 4, + .ht_cap = {0}, + .vht_cap = {0}, +}; + +static const struct ieee80211_supported_band rtw89_sband_6ghz = { + .band = NL80211_BAND_6GHZ, + .channels = rtw89_channels_6ghz, + .n_channels = ARRAY_SIZE(rtw89_channels_6ghz), + + /* 6G has no CCK rates, 1M/2M/5.5M/11M */ + .bitrates = rtw89_bitrates + 4, + .n_bitrates = ARRAY_SIZE(rtw89_bitrates) - 4, +}; + +static void rtw89_traffic_stats_accu(struct rtw89_dev *rtwdev, + struct rtw89_traffic_stats *stats, + struct sk_buff *skb, bool tx) +{ + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; + + if (tx && ieee80211_is_assoc_req(hdr->frame_control)) + rtw89_wow_parse_akm(rtwdev, skb); + + if (!ieee80211_is_data(hdr->frame_control)) + return; + + if (is_broadcast_ether_addr(hdr->addr1) || + is_multicast_ether_addr(hdr->addr1)) + return; + + if (tx) { + stats->tx_cnt++; + stats->tx_unicast += skb->len; + } else { + stats->rx_cnt++; + stats->rx_unicast += skb->len; + } +} + +void rtw89_get_default_chandef(struct cfg80211_chan_def *chandef) +{ + cfg80211_chandef_create(chandef, &rtw89_channels_2ghz[0], + NL80211_CHAN_NO_HT); +} + +void rtw89_get_channel_params(const struct cfg80211_chan_def *chandef, + struct rtw89_chan *chan) +{ + struct ieee80211_channel *channel = chandef->chan; + enum nl80211_chan_width width = chandef->width; + u32 primary_freq, center_freq; + u8 center_chan; + u8 bandwidth = RTW89_CHANNEL_WIDTH_20; + u32 offset; + u8 band; + + center_chan = channel->hw_value; + primary_freq = channel->center_freq; + center_freq = chandef->center_freq1; + + switch (width) { + case NL80211_CHAN_WIDTH_20_NOHT: + case NL80211_CHAN_WIDTH_20: + bandwidth = RTW89_CHANNEL_WIDTH_20; + break; + case NL80211_CHAN_WIDTH_40: + bandwidth = RTW89_CHANNEL_WIDTH_40; + if (primary_freq > center_freq) { + center_chan -= 2; + } else { + center_chan += 2; + } + break; + case NL80211_CHAN_WIDTH_80: + case NL80211_CHAN_WIDTH_160: + bandwidth = nl_to_rtw89_bandwidth(width); + if (primary_freq > center_freq) { + offset = (primary_freq - center_freq - 10) / 20; + center_chan -= 2 + offset * 4; + } else { + offset = (center_freq - primary_freq - 10) / 20; + center_chan += 2 + offset * 4; + } + break; + default: + center_chan = 0; + break; + } + + switch (channel->band) { + default: + case NL80211_BAND_2GHZ: + band = RTW89_BAND_2G; + break; + case NL80211_BAND_5GHZ: + band = RTW89_BAND_5G; + break; + case NL80211_BAND_6GHZ: + band = RTW89_BAND_6G; + break; + } + + rtw89_chan_create(chan, center_chan, channel->hw_value, band, bandwidth); +} + - void rtw89_core_set_chip_txpwr(struct rtw89_dev *rtwdev) ++static void __rtw89_core_set_chip_txpwr(struct rtw89_dev *rtwdev, ++ const struct rtw89_chan *chan, ++ enum rtw89_phy_idx phy_idx) +{ - struct rtw89_hal *hal = &rtwdev->hal; + const struct rtw89_chip_info *chip = rtwdev->chip; - const struct rtw89_chan *chan; - enum rtw89_sub_entity_idx sub_entity_idx; - enum rtw89_sub_entity_idx roc_idx; - enum rtw89_phy_idx phy_idx; - enum rtw89_entity_mode mode; + bool entity_active; + - entity_active = rtw89_get_entity_state(rtwdev); ++ entity_active = rtw89_get_entity_state(rtwdev, phy_idx); + if (!entity_active) + return; + - mode = rtw89_get_entity_mode(rtwdev); - switch (mode) { - case RTW89_ENTITY_MODE_SCC: - case RTW89_ENTITY_MODE_MCC: - sub_entity_idx = RTW89_SUB_ENTITY_0; - break; - case RTW89_ENTITY_MODE_MCC_PREPARE: - sub_entity_idx = RTW89_SUB_ENTITY_1; - break; - default: - WARN(1, "Invalid ent mode: %d\n", mode); - return; - } ++ chip->ops->set_txpwr(rtwdev, chan, phy_idx); ++} ++ ++void rtw89_core_set_chip_txpwr(struct rtw89_dev *rtwdev) ++{ ++ const struct rtw89_chan *chan; + - roc_idx = atomic_read(&hal->roc_entity_idx); - if (roc_idx != RTW89_SUB_ENTITY_IDLE) - sub_entity_idx = roc_idx; ++ chan = rtw89_mgnt_chan_get(rtwdev, 0); ++ __rtw89_core_set_chip_txpwr(rtwdev, chan, RTW89_PHY_0); + - phy_idx = RTW89_PHY_0; - chan = rtw89_chan_get(rtwdev, sub_entity_idx); - chip->ops->set_txpwr(rtwdev, chan, phy_idx); ++ if (!rtwdev->support_mlo) ++ return; ++ ++ chan = rtw89_mgnt_chan_get(rtwdev, 1); ++ __rtw89_core_set_chip_txpwr(rtwdev, chan, RTW89_PHY_1); +} + - int rtw89_set_channel(struct rtw89_dev *rtwdev) ++static void __rtw89_set_channel(struct rtw89_dev *rtwdev, ++ const struct rtw89_chan *chan, ++ enum rtw89_mac_idx mac_idx, ++ enum rtw89_phy_idx phy_idx) +{ - struct rtw89_hal *hal = &rtwdev->hal; + const struct rtw89_chip_info *chip = rtwdev->chip; + const struct rtw89_chan_rcd *chan_rcd; - const struct rtw89_chan *chan; - enum rtw89_sub_entity_idx sub_entity_idx; - enum rtw89_sub_entity_idx roc_idx; - enum rtw89_mac_idx mac_idx; - enum rtw89_phy_idx phy_idx; + struct rtw89_channel_help_params bak; - enum rtw89_entity_mode mode; + bool entity_active; + - entity_active = rtw89_get_entity_state(rtwdev); ++ entity_active = rtw89_get_entity_state(rtwdev, phy_idx); + - mode = rtw89_entity_recalc(rtwdev); - switch (mode) { - case RTW89_ENTITY_MODE_SCC: - case RTW89_ENTITY_MODE_MCC: - sub_entity_idx = RTW89_SUB_ENTITY_0; - break; - case RTW89_ENTITY_MODE_MCC_PREPARE: - sub_entity_idx = RTW89_SUB_ENTITY_1; - break; - default: - WARN(1, "Invalid ent mode: %d\n", mode); - return -EINVAL; - } - - roc_idx = atomic_read(&hal->roc_entity_idx); - if (roc_idx != RTW89_SUB_ENTITY_IDLE) - sub_entity_idx = roc_idx; - - mac_idx = RTW89_MAC_0; - phy_idx = RTW89_PHY_0; - - chan = rtw89_chan_get(rtwdev, sub_entity_idx); - chan_rcd = rtw89_chan_rcd_get(rtwdev, sub_entity_idx); ++ chan_rcd = rtw89_chan_rcd_get_by_chan(chan); + + rtw89_chip_set_channel_prepare(rtwdev, &bak, chan, mac_idx, phy_idx); + + chip->ops->set_channel(rtwdev, chan, mac_idx, phy_idx); + + chip->ops->set_txpwr(rtwdev, chan, phy_idx); + + rtw89_chip_set_channel_done(rtwdev, &bak, chan, mac_idx, phy_idx); + + if (!entity_active || chan_rcd->band_changed) { + rtw89_btc_ntfy_switch_band(rtwdev, phy_idx, chan->band_type); - rtw89_chip_rfk_band_changed(rtwdev, phy_idx); ++ rtw89_chip_rfk_band_changed(rtwdev, phy_idx, chan); + } + - rtw89_set_entity_state(rtwdev, true); - return 0; ++ rtw89_set_entity_state(rtwdev, phy_idx, true); +} + - void rtw89_get_channel(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif, - struct rtw89_chan *chan) ++int rtw89_set_channel(struct rtw89_dev *rtwdev) +{ - const struct cfg80211_chan_def *chandef; ++ const struct rtw89_chan *chan; ++ enum rtw89_entity_mode mode; ++ ++ mode = rtw89_entity_recalc(rtwdev); ++ if (mode < 0 || mode >= NUM_OF_RTW89_ENTITY_MODE) { ++ WARN(1, "Invalid ent mode: %d\n", mode); ++ return -EINVAL; ++ } ++ ++ chan = rtw89_mgnt_chan_get(rtwdev, 0); ++ __rtw89_set_channel(rtwdev, chan, RTW89_MAC_0, RTW89_PHY_0); + - chandef = rtw89_chandef_get(rtwdev, rtwvif->sub_entity_idx); - rtw89_get_channel_params(chandef, chan); ++ if (!rtwdev->support_mlo) ++ return 0; ++ ++ chan = rtw89_mgnt_chan_get(rtwdev, 1); ++ __rtw89_set_channel(rtwdev, chan, RTW89_MAC_1, RTW89_PHY_1); ++ ++ return 0; +} + +static enum rtw89_core_tx_type +rtw89_core_get_tx_type(struct rtw89_dev *rtwdev, + struct sk_buff *skb) +{ + struct ieee80211_hdr *hdr = (void *)skb->data; + __le16 fc = hdr->frame_control; + + if (ieee80211_is_mgmt(fc) || ieee80211_is_nullfunc(fc)) + return RTW89_CORE_TX_TYPE_MGMT; + + return RTW89_CORE_TX_TYPE_DATA; *** 56936 LINES SKIPPED *** From nobody Sun Apr 27 23:48:27 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Zm3Dq3Xwqz5vVMw; Sun, 27 Apr 2025 23:48:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Zm3Dq269tz3mgN; Sun, 27 Apr 2025 23:48:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745797707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GcEIxqq2zLka0d6/eYvz7y9u40tBHna9+Fr7iAwri7U=; b=GDlStBWVxQUEIXdtb0H8oYppMIQoks37drgMyjwpDyi33aIK5zGTB2ZeanZ7LiU5EQb7E1 s7HHMk6+aUJCCadWSx4a7xfpx8klMOqt8iTG1tN52bfAfc3Us6f1HZVUTcjCMqvdGYhYIs UC1bQ8Enpj4On1EJyQeJR2IVu5XDfVYVARoWaooKOQpEVrvTRZlL6r7nDVbg52+2/mgxk/ ifb05W6f+Hb3QP6vzBOBJvAuP7m9O1hNl0jjFAURtfcWgweZRQkZvf481D7N9zf1A2qNIE d9/vZCP5OtYP/+IY7LsXI87HWDxF76JFyeZwurWPZbTY0Is30vATyJdRBPoRbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1745797707; a=rsa-sha256; cv=none; b=rM63X+ju17/Q8rVo4HioneThXwhLQzZ/UAiSTJWFV7obIEq9U+c20k1UJFgK6wu3JwsKXB 040rEnbywaFOOcAPPAh7Nm/Gy+ZJbpL1t9a1Re/LTu1x074OPOg7aaVec7aC9rtmUyq9tr +7GMUjToiWAwxtZjcaQSLDfU2i100S6QcLBXqaCMn9tp6FTNqc6Umti+hhmws2oFJXNfDn XR4+9UW0IqiOKiAs6fjSHAMwmwYp6mGulIwKyhdMDSc0/7V5PPdoZgcLVFbjhGf9MHb4ir 6KxurH+qdhJR38em3nhRUUC++k9O5cpNuFyvTJPajcjarF85h4fNm9LoD+v+Ag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1745797707; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GcEIxqq2zLka0d6/eYvz7y9u40tBHna9+Fr7iAwri7U=; b=L+ATavSw9NGko94l3GKDGoJLEBFTlOSARw5M5sXCpdZ1iY9s7mq4TkZsy0A9j5LjfflHMj 1YL61ARaVpq3asucAMAsIAfFEtIXSjXHecWYnonmdCsMplAwAD/WPGGPQnaQWUESI0bfBC 47Qschzha7pAetbuB4mksBfgonlVTm4V/pm83ty/J0243AhKx5+vZ6kNrWCfB/8KKz74v0 6Rw8BnOn2iOj/DbOJOPft0ulsB2duZPb+13bxwgyWjOd+dhDQUcPDLppTDFlopgFFb9Rgo azbz4JLBemItDA+V7vJ6Odx4mMj2+ciOvrega5EHMUq/XjWvwWnMa0qlV3ODTg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Zm3Dq1Plnz1QH0; Sun, 27 Apr 2025 23:48:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 53RNmRG7002558; Sun, 27 Apr 2025 23:48:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 53RNmRbZ002555; Sun, 27 Apr 2025 23:48:27 GMT (envelope-from git) Date: Sun, 27 Apr 2025 23:48:27 GMT Message-Id: <202504272348.53RNmRbZ002555@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dave Cottlehuber Subject: git: a0165254bfeb - main - release: use "runtime" instead of "minimal" for OCI image name List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dch X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a0165254bfeb5e310f92d4e0c88fcb5c6ea802bf Auto-Submitted: auto-generated The branch main has been updated by dch: URL: https://cgit.FreeBSD.org/src/commit/?id=a0165254bfeb5e310f92d4e0c88fcb5c6ea802bf commit a0165254bfeb5e310f92d4e0c88fcb5c6ea802bf Author: Dave Cottlehuber AuthorDate: 2025-04-27 23:46:47 +0000 Commit: Dave Cottlehuber CommitDate: 2025-04-27 23:47:29 +0000 release: use "runtime" instead of "minimal" for OCI image name The runtime name is taken from the main pkg-base package that this image is built off. Sponsored by: SkunkWerks, GmbH MFC after: 3 days Reviewed by: dfr, emaste Differential Revision: https://reviews.freebsd.org/D50043 --- release/Makefile.oci | 4 ++-- .../tools/{oci-image-minimal.conf => oci-image-runtime.conf} | 0 share/examples/oci/Containerfile.pkg | 12 ++++++------ share/examples/oci/README | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/release/Makefile.oci b/release/Makefile.oci index e4b5df580055..2290f2acbcff 100644 --- a/release/Makefile.oci +++ b/release/Makefile.oci @@ -5,7 +5,7 @@ # .if defined(WITH_OCIIMAGES) && !empty(WITH_OCIIMAGES) -OCI_IMAGES= static dynamic minimal +OCI_IMAGES= static dynamic runtime .endif oci-install: @@ -19,7 +19,7 @@ oci-install: OCI_TARGETS= OCI_DEPS_static= OCI_DEPS_dynamic= container-image-static.txz -OCI_DEPS_minimal= container-image-dynamic.txz +OCI_DEPS_runtime= container-image-dynamic.txz .for _IMG in ${OCI_IMAGES} OCI_TARGETS+= container-image-${_IMG}.txz diff --git a/release/tools/oci-image-minimal.conf b/release/tools/oci-image-runtime.conf similarity index 100% rename from release/tools/oci-image-minimal.conf rename to release/tools/oci-image-runtime.conf diff --git a/share/examples/oci/Containerfile.pkg b/share/examples/oci/Containerfile.pkg index ed8ac7caf4b6..074c470affc9 100644 --- a/share/examples/oci/Containerfile.pkg +++ b/share/examples/oci/Containerfile.pkg @@ -1,18 +1,18 @@ -# This is an example showing how to extend the freebsd-minimal OCI image by +# This is an example showing how to extend the freebsd-runtime OCI image by # installing additional packages while keeping the resulting image as small as # possible. -# The OS version matching the desired freebsd-minimal image -ARG version=15.0-CURRENT-amd64 +# The OS version matching the desired freebsd-runtime image +ARG version=14.snap -# Select freebsd-minimal as our starting point. -FROM localhost/freebsd-minimal:${version} +# Select freebsd-runtime as our starting point. +FROM localhost/freebsd-runtime:${version} # A list of package(s) to install ARG packages # Install package management tools. We specify 'FreeBSD' as the repository to -# use for downloading pkg since the freebsd-minimal image has both FreeBSD and +# use for downloading pkg since the freebsd-runtime image has both FreeBSD and # FreeBSD-base pkg repo configs installed and FreeBSD-base does not contain the # pkg package. RUN env ASSUME_ALWAYS_YES=yes pkg bootstrap -r FreeBSD && pkg update diff --git a/share/examples/oci/README b/share/examples/oci/README index 212687251754..890641cee300 100644 --- a/share/examples/oci/README +++ b/share/examples/oci/README @@ -1,4 +1,4 @@ -This example Containerfile shows how to add packages to freebsd-minimal while +This example Containerfile shows how to add packages to freebsd-runtime while minimising the package metadata overhead. For instance, To build a new image called 'my-new-image:latest' containing the