From nobody Mon Mar 10 02:27: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 4ZB14q45lhz5q8DT; Mon, 10 Mar 2025 02:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZB14q0zHyz3Q3T; Mon, 10 Mar 2025 02:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741573643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Li6+K038Xhkk7UMLJlbRh6eT08wcimIPj1em5yixGic=; b=m9n+Eo+C2er2GzLjQwtjfsGSF2BTRtZpQ7ctC2XHEzxVmcqoG2Gyl2QCVYTOS63WFt5LLq pjzayCaMtiuv9Qvg7MC3ryzHPf3fsIzGtj40Mo/eVUGnIwICIsS7inW3kuupgwFDNPYV6I uxxU7pnbxpa8JV29tztCrZ5BB1m73eCJE5ay2r3J/18bL0rcQbRLlVVpV+tD5H47+9UVj6 R9dPQKmdWZWljOcpfJxiTz0DBkHgHqkzdRthUBSmns6TEcKLv5CvEOR2uDTr/p4aMnyRPJ yiXEWKsm9xwJ0hQ8kkPQBaJoxpjWQcJ3wrFtfesj8xq1bPs2fuvBPMiDsSPXvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741573643; a=rsa-sha256; cv=none; b=a4x4hyBrPAHKZE/lkVDu5G9R5d+78/gEzYppKFDM69vh2UQG1U/XH9jGJG1Srq1fcwVmpz IhksaYhu9JrVfYNb/H4EFM66aYFXvjhw+DgNYj71iEm+EvWPz4MILCfY54viEpltsAiF5/ lj8CHcGv7PyjaYXco4rrbVbHLCsWYtEQJwvCKSJX+XQH2zZZfT2L+SBByMZrKQaRkMOpvi tbEcfUxLhMQy7K3O2fjTzAQApp9VJmSH/et7G2CMtjSOixHcx7KwCEa6127395yerGRD8b b9fKhXIRi7dPWvqyL1oV/+NuWqsy8n/80uEvYSqNr2i5zby7yOaEcEmnJ+/DjQ== 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=1741573643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Li6+K038Xhkk7UMLJlbRh6eT08wcimIPj1em5yixGic=; b=WC76OIR0x77L0Oe/V9qfSKfpNU8tbXzpWUxaQHL0khNnn7DgJmpUqeFasY6sV9XiBTnZRi r/qg63bP2RTCPKUVWRLexMKvVAkVutg40XdWv6htCCtf6+N4i7xtEgdsNKZ5P2YYYnSXpP xcitXciT6FxIbzzno0+zEx0VteIG64hOQNu/nCBjdE1Dwrr9CgqVI56Q8VyvihWr4cvOfH J+Bp6uVaB/uU/+Om4rjtU284zQpXFCNp/ot8jMIv93dNztuo/XIaVJYqknBt8E14ZUSOKZ eZrcQld0xPazfCgCZDish7VsN60w1/JMHNkrTSyBKM69r1EhM3e5xkzP/KZlZQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZB14q02SRz51D; Mon, 10 Mar 2025 02:27: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 52A2RMwQ023775; Mon, 10 Mar 2025 02:27:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52A2RMS7023772; Mon, 10 Mar 2025 02:27:22 GMT (envelope-from git) Date: Mon, 10 Mar 2025 02:27:22 GMT Message-Id: <202503100227.52A2RMS7023772@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Takanori Watanabe Subject: git: f9b4092743fc - main - acpi_wmi: Add type check before evaluaeting query ACPI method Some ACPI wmi query is implemented by named object, not method, ACPICA complains when non-method object is evaluated with one or more arguments. Especially, almost all binary MOF object obtaining method is the case. 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: takawata X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f9b4092743fc99b1b3727a59f4c66fa07f0f895f Auto-Submitted: auto-generated The branch main has been updated by takawata: URL: https://cgit.FreeBSD.org/src/commit/?id=f9b4092743fc99b1b3727a59f4c66fa07f0f895f commit f9b4092743fc99b1b3727a59f4c66fa07f0f895f Author: Takanori Watanabe AuthorDate: 2025-02-25 09:54:34 +0000 Commit: Takanori Watanabe CommitDate: 2025-03-10 02:22:30 +0000 acpi_wmi: Add type check before evaluaeting query ACPI method Some ACPI wmi query is implemented by named object, not method, ACPICA complains when non-method object is evaluated with one or more arguments. Especially, almost all binary MOF object obtaining method is the case. This commit will fix it. PR: 284912 Reported by: Alexander Ziaee Differential Revision: https://reviews.freebsd.org/D49129 --- sys/dev/acpi_support/acpi_wmi.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sys/dev/acpi_support/acpi_wmi.c b/sys/dev/acpi_support/acpi_wmi.c index 56a08e59934d..e973b287dbb4 100644 --- a/sys/dev/acpi_support/acpi_wmi.c +++ b/sys/dev/acpi_support/acpi_wmi.c @@ -580,6 +580,16 @@ acpi_wmi_get_block_method(device_t dev, const char *guid_string, UINT8 instance, } wq_method[2] = winfo->ginfo.oid[0]; wq_method[3] = winfo->ginfo.oid[1]; + { + ACPI_HANDLE wq_handle; + ACPI_OBJECT_TYPE at; + + if (ACPI_SUCCESS(AcpiGetHandle(sc->wmi_handle, wq_method, &wq_handle)) && + ACPI_SUCCESS(AcpiGetType(wq_handle, &at)) && + at != ACPI_TYPE_METHOD) { + wq_input.Count = 0; + } + } status = AcpiEvaluateObject(sc->wmi_handle, wq_method, &wq_input, out); if ((winfo->ginfo.flags & ACPI_WMI_REGFLAG_EXPENSIVE) From nobody Mon Mar 10 03: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 4ZB1vF2L8Zz5qBR3; Mon, 10 Mar 2025 03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZB1vF1lPSz3j8B; Mon, 10 Mar 2025 03: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=1741575849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e4Acli812eoT9D6UTHyRTmGF7S43JV24mBKn6SUeu8A=; b=ffNtmraHb0uqtyVYVJVbmjYC8TvNPoDrRRo32/Z+L95I+H+IFXGwujFvA/257PUwxusLSR 723ZYd8SvvhgMDksfdyBHzEYVXfESLRgb+Wor4RA3PPWnw+HqwjXJ1UH/uA/QTtFAH2v8c O5ZiVld0Jaj9faXyYipZNOnaYS540IbN8xQhJFHD2MHt4zYta2pdiGGbjEBprvtWEa9HuA WFafdBy5ZnDSaMRi4MFmuHK2QIxfX5eJgFSN62QBkpfbfbzafvbHE0bc4kXMMihav3YOH8 JJnzo+kXoA8vkF0RSulB4EKw6nJbEaFWbyNys9xF/bCkNvvpo9QSEEMNH041cg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741575849; a=rsa-sha256; cv=none; b=FLEGc4t0HHBeWhgcOWwjUROWh2Yw6NcBI9HplNx9c60qvgCC827VmS9znowmIaxO6IT8be W3Vz7VSzH9W77GZPDwrWfbcb3UKh2qVyRfqdjM/9xQjmQiL/8hH2v6JMiWcKrZiLEiR3Yf c8QYRa8s0gtQdH4/6veUqURTvlGruxQUiMFlY/ID+m9z2v93Mg/YCLbNpri+y1Xl+rDWyv 8a+3ticNktAqAaJJuuGhGTixeA4uY+ZrAQk8bYgiVfwha1BpB/fT4k/5Ct5HsAG0bCL6Rp vZD2FZ9YNfBTgdgf1kyQ8pldj2w1q+YBcQqvUyRr9oMqTAvZ2W7WQrHztaYCMg== 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=1741575849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e4Acli812eoT9D6UTHyRTmGF7S43JV24mBKn6SUeu8A=; b=nJGLoYCCBbcQrNIwMkbORnauOfCTKwjClR6/ROL/SduTgRikvROn/XZDG5hiAKQcAiabAM 3hFePOfwS7EIkTDBlK+2+wfUpPub5hILQs05FPyPME0/D7VJxjTr6iRa3uVH8o1NqyPgbW 9fN5sk0oeb/JGXxHnLYhlmGfgq/j4MGPr5QmWiAp8F7oOiK4PgGhycvztRLT7n61dE/bqM JBy/jGx80ffvKvhOXwEPznOA47HWybX8lrX2/o82WgPBLL6Dm2cjrv3f3lewmi7mb2wrJK eDMftcLip1hKwGNt0XG4MRujsCrW6ytQEX2w2XcvW0IgnLiS9VygL4vrAfbfVw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZB1vF1842z62w; Mon, 10 Mar 2025 03: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 52A349Bp098998; Mon, 10 Mar 2025 03: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 52A349Sj098995; Mon, 10 Mar 2025 03:04:09 GMT (envelope-from git) Date: Mon, 10 Mar 2025 03:04:09 GMT Message-Id: <202503100304.52A349Sj098995@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: 7ee1bdd094d3 - main - libdtrace: Fix an off-by-one in the priority queue implementation 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: 7ee1bdd094d376fdc547e8ca33e472f1d37a7d79 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=7ee1bdd094d376fdc547e8ca33e472f1d37a7d79 commit 7ee1bdd094d376fdc547e8ca33e472f1d37a7d79 Author: Mark Johnston AuthorDate: 2025-03-10 03:00:42 +0000 Commit: Mark Johnston CommitDate: 2025-03-10 03:00:42 +0000 libdtrace: Fix an off-by-one in the priority queue implementation The zero'th index in the array is unused, so a priority queue of N elements needs N+1 array slots. Fix the allocation. Also fix the assertion in dt_pq_insert(): the assertion needs to be checked after incrementing the count of items in the priority queue, otherwise it can miss an overflow. Reported by: CHERI MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D49242 --- cddl/contrib/opensolaris/lib/libdtrace/common/dt_pq.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pq.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pq.c index 0cd556abd8f5..ffbac8b6ea1e 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pq.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_pq.c @@ -37,7 +37,7 @@ dt_pq_init(dtrace_hdl_t *dtp, uint_t size, dt_pq_value_f value_cb, void *cb_arg) if ((p = dt_zalloc(dtp, sizeof (dt_pq_t))) == NULL) return (NULL); - p->dtpq_items = dt_zalloc(dtp, size * sizeof (p->dtpq_items[0])); + p->dtpq_items = dt_zalloc(dtp, (size + 1) * sizeof (p->dtpq_items[0])); if (p->dtpq_items == NULL) { dt_free(dtp, p); return (NULL); @@ -73,9 +73,9 @@ dt_pq_insert(dt_pq_t *p, void *item) { uint_t i; - assert(p->dtpq_last < p->dtpq_size); - i = p->dtpq_last++; + assert(i <= p->dtpq_size); + p->dtpq_items[i] = item; while (i > 1 && dt_pq_getvalue(p, i) < dt_pq_getvalue(p, i / 2)) { From nobody Mon Mar 10 03: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 4ZB1vG4pBSz5qBhb; Mon, 10 Mar 2025 03:04: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 4ZB1vG2GbBz3j5x; Mon, 10 Mar 2025 03: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=1741575850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QEz1VOoB/TpVNKqKGEURyagDarR8rSfPZGHBLVCOm4w=; b=BDqVAq9Nv0bq76IadldaP/7pMMwLM2MyupddvC5x+Hn+WMZ10SvCcDrQILKAhhfbq42w2p nNlIRyrSoLltGRmT6iqrsf7MXYP/oPOMNWwIWxwa8BMyX4+lEZa3/SkqndS9whBv9F92CX 4DhRNYpNmykAX9mf3RMcZQdmBxpmmK1fFzGC+Qjzg4F9j/wWaY16abgP16bz364UUfTPE8 pfSXg+53WFs+asnpnuzSDwzIGFWwmqz/szsVCuiYCgaRVI3MHLA3eD8dx+WOln8+TFQ1j2 xObTVUat13+6OKacuXk+P4v7f4dJ2Wo2znxikUHOQjcEQBH8QOHkPcAkLCAgtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741575850; a=rsa-sha256; cv=none; b=SlEUJCsH4CoNkU0M7zpNk1qY5s4tPWXi3M6RKkMX22zC+sKoTWPoPrLc9nhmPIxljqPza1 3ytUM7iKEAsP9sIMkeKlvvsRLYUwlH5VQhDqVjnq3AlcXGqN8hZeqzByCx4xcFvKVsSSS+ 2tBSyoqiraxq9Jp6xxM8BD9FE/Qv2Madp0ExKqB3Qq5UWCy7363f/hz1HqBH3ohx/PhVcG ZeTRkEVjlmUDwRq6NTzY+4SlWBD7OK5FPwyqqj5uwQRc57t/nTRcbjmPHdHUU+2Xf0Zx4K EBhATEvLtSiackC131I/LjRpF14B1hadFlREkCs/4C+X0YNgkUHEXc4Uq+5j9w== 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=1741575850; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QEz1VOoB/TpVNKqKGEURyagDarR8rSfPZGHBLVCOm4w=; b=MMwMZhzDhTDm0SC0YPfnuW74ETdGqrOq6R3S60TEmyS63rsuG3rMX0biNoDgaqKOPIfmBo 3NnuIMv4GBJpu7J2LjV1ZeOg4Ps8m9A9Pg5rdFWSJpoPF0ePf37+ocdjfty4K76EI5ReZ3 LC64DYoX3Rv780d2QnjYt/BJRu5IrjvdmoLX62oyXmI/R0oqZnlOqebFVvGpXJiu1zARok PzydBNZ/BjZWkzn9d2s6s+xoJHLuuvq9TJZkGDaTIfy7X0AbmB5UhUsJg4+/0cITXvhppK AdXnOL8bt6T6bBzfIbLg81fioU+r9R20Urqe/9nZdDWHy/s2pX12dA9gfX5CaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZB1vG1rHbz60w; Mon, 10 Mar 2025 03: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 52A34AXo099030; Mon, 10 Mar 2025 03: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 52A34AGF099027; Mon, 10 Mar 2025 03:04:10 GMT (envelope-from git) Date: Mon, 10 Mar 2025 03:04:10 GMT Message-Id: <202503100304.52A34AGF099027@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: 9a30c8d347bf - main - libdtrace: Fix an off-by-one in CPU ID handling 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: 9a30c8d347bf9aaa89277b6e5a275f737be8edce Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=9a30c8d347bf9aaa89277b6e5a275f737be8edce commit 9a30c8d347bf9aaa89277b6e5a275f737be8edce Author: Mark Johnston AuthorDate: 2025-03-10 03:00:59 +0000 Commit: Mark Johnston CommitDate: 2025-03-10 03:00:59 +0000 libdtrace: Fix an off-by-one in CPU ID handling The illumos-specific _SC_CPUID_MAX is the largest CPU ID in the system. This was mapped to _SC_NPROCESSORS_CONF, which is the total number of CPUs recognized by the kernel. If CPU IDs are contiguous, as is the case on amd64 and arm64, this value is one greater than the maximum ID. As a result, when consuming per-CPU dtrace buffers, libdtrace tries to fetch from a non-existent CPU. This is mostly harmless in practice, but still wrong. As we don't have a sysconf value for the maximum CPU ID, add a wrapper which fetches it using the kern.smp.maxid sysctl. MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D49243 --- .../opensolaris/lib/libdtrace/common/dt_aggregate.c | 6 ++++-- cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c | 8 ++++---- cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h | 1 + cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c | 14 ++++++++++++++ cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h | 5 ----- 5 files changed, 23 insertions(+), 11 deletions(-) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c index 643e7fae8ace..1c3131e74cb0 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c @@ -1092,8 +1092,10 @@ dt_aggregate_go(dtrace_hdl_t *dtp) assert(agp->dtat_ncpu == 0); assert(agp->dtat_cpus == NULL); - agp->dtat_maxcpu = dt_sysconf(dtp, _SC_CPUID_MAX) + 1; - agp->dtat_ncpu = dt_sysconf(dtp, _SC_NPROCESSORS_MAX); + agp->dtat_maxcpu = dt_cpu_maxid(dtp) + 1; + if (agp->dtat_maxcpu <= 0) + return (-1); + agp->dtat_ncpu = dt_sysconf(dtp, _SC_NPROCESSORS_CONF); agp->dtat_cpus = malloc(agp->dtat_ncpu * sizeof (processorid_t)); if (agp->dtat_cpus == NULL) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c index 6a32235f7e39..a760642c33bb 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c @@ -3949,8 +3949,8 @@ dt_consume_begin(dtrace_hdl_t *dtp, FILE *fp, return (rval); } - if (max_ncpus == 0) - max_ncpus = dt_sysconf(dtp, _SC_CPUID_MAX) + 1; + if (max_ncpus == 0 && (max_ncpus = dt_cpu_maxid(dtp) + 1) <= 0) + return (-1); for (i = 0; i < max_ncpus; i++) { dtrace_bufdesc_t *nbuf; @@ -4040,8 +4040,8 @@ dtrace_consume(dtrace_hdl_t *dtp, FILE *fp, if (!dtp->dt_active) return (dt_set_errno(dtp, EINVAL)); - if (max_ncpus == 0) - max_ncpus = dt_sysconf(dtp, _SC_CPUID_MAX) + 1; + if (max_ncpus == 0 && (max_ncpus = dt_cpu_maxid(dtp) + 1) <= 0) + return (-1); if (pf == NULL) pf = (dtrace_consume_probe_f *)dt_nullprobe; diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h index 1be984f28001..b73ecc3e57f4 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h @@ -620,6 +620,7 @@ extern int dt_version_defined(dt_version_t); */ extern char *dt_cpp_add_arg(dtrace_hdl_t *, const char *); extern char *dt_cpp_pop_arg(dtrace_hdl_t *); +extern int dt_cpu_maxid(dtrace_hdl_t *); #ifdef illumos extern int dt_set_errno(dtrace_hdl_t *, int); diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c index 5976333e1b16..5dc8e1648fd3 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_subr.c @@ -463,6 +463,20 @@ dt_cpp_pop_arg(dtrace_hdl_t *dtp) return (arg); } +int +dt_cpu_maxid(dtrace_hdl_t *dtp) +{ + size_t len; + u_int count; + int error; + + len = sizeof(count); + error = sysctlbyname("kern.smp.maxid", &count, &len, NULL, 0); + if (error != 0) + return (dt_set_errno(dtp, errno)); + return (count); +} + /*PRINTFLIKE1*/ void dt_dprintf(const char *format, ...) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h b/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h index 1f4c5a2efd6b..c9496c2df5ba 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dtrace.h @@ -620,11 +620,6 @@ extern int _dtrace_debug; } #endif -#ifndef illumos -#define _SC_CPUID_MAX _SC_NPROCESSORS_CONF -#define _SC_NPROCESSORS_MAX _SC_NPROCESSORS_CONF -#endif - /* * Values for the dt_oformat property. */ From nobody Mon Mar 10 03:04: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 4ZB1vH6s3xz5qBnX; Mon, 10 Mar 2025 03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZB1vH3knzz3hqn; Mon, 10 Mar 2025 03:04:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741575851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rgvHfhKiCwqd2P+SgcwoZu5EqCqn0tUaV08RDxq3pGU=; b=GKHMGZGoiwBuT018LH71YIwd8cN0RUPL9p/c6iueVJC5KERK22k7s/VAQ0oqQ/LB4rBr7k MNJ27/8vwJHSsCBfrUFNlU87C2l2RYt/DolQCURrcgt8qvFLmFCB3MgfogxU/4l4gCu+B7 3LU5guTvWbNHfzmwKJcf5wg8sZlObLvnEWq8e1xJid+XYH6M0kV6lkvVWEWjf+FNQ2OzA0 6jncpNLJTHvQQpPR/9jkGnz0IKIYlVvDnYoNMMWvC8JgwzaN+CppoNdu1sJrWD0i3i5RN8 0EL1zf734FeFl317amCSs1qhwvDOp8q/3Wrj5e9ALAjqHgduQgAVfIh85voJ+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741575851; a=rsa-sha256; cv=none; b=oJE2c4/I9cB08jWcp6jNfrZA/CbpgQTnMZwYKfuftobkzApHDgWFgtt7NQGomTjMHBqXdj lxoDZLbVpSubloUuYFQk7jKPfqvHhBtI4t62j5LbxDs11h7pjPlBiC/w4Fwawgj83BjTPB qtM/Bbv54cLwXMR0SeUpmVpLq3f7zQuztnt6MaGw5U2Co50BaZfHetAwDA2q9Qvlg6Fqxa H7p/lFkrFOrUcbXANlGBEU6dakjVzlzKWVb2KwheNV9sg7Dd2Qg0IsZKQnLeFKKPfIu3WA C7zvptXxvZElTp7mbZ4/u/9NnFow4VfnDUhTDOp8zxwsHMs9KRIQzOLN/PCqJA== 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=1741575851; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rgvHfhKiCwqd2P+SgcwoZu5EqCqn0tUaV08RDxq3pGU=; b=DlYNcxD35XRZ6d3/GgBlpuK5GQMFGc5P8eON18v/JeP3indBj7BGs3NXaVEbaONSJmugtd wpf3V8J4GAY5qZCZrkfheQVmqZ8O4HjeOn5KXqzCLTO4z5oE8ivlgaplqGs5L20rH74Ezl IGt0fUeUVKMGN+YPtHHBNpNjeTaQcupK0HvIgSCwI9fgoLzVkMggVF1n20bzLF0d6Pqglj MkGE8AWCYbDC+xpAa8sk2gKXww6TQUfSu1TSJlwpuJsKU68VG10r1VDcQbwK74VHMy3SE6 rI9KMi/qFO+OPaHzzh5ozxJ8L32ysXE43Rq/DCxkVJSo1gSCpUCcgVGqKV69/g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZB1vH2jQ8z69l; Mon, 10 Mar 2025 03:04: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 52A34B9e099069; Mon, 10 Mar 2025 03:04:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52A34Bbw099066; Mon, 10 Mar 2025 03:04:11 GMT (envelope-from git) Date: Mon, 10 Mar 2025 03:04:11 GMT Message-Id: <202503100304.52A34Bbw099066@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: 36ae5ce2f2fd - main - dtrace/arm64: Fix dtrace_gethrtime() 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: 36ae5ce2f2fda35763c2655a19bf1b0ee22fdf3c Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=36ae5ce2f2fda35763c2655a19bf1b0ee22fdf3c commit 36ae5ce2f2fda35763c2655a19bf1b0ee22fdf3c Author: Mark Johnston AuthorDate: 2025-03-10 03:01:13 +0000 Commit: Mark Johnston CommitDate: 2025-03-10 03:01:13 +0000 dtrace/arm64: Fix dtrace_gethrtime() This routine returns a monotonic count of the number of nanoseconds elapsed since the previous call. On arm64 it uses the generic system timer. The implementation multiplies the counter value by 10**9 then divides by the counter frequency, but this multiplication can overflow. This can result in trace records with non-monotonic timestamps, which breaks libdtrace's temporal ordering algorithm. An easy fix is to reverse the order of operations, since the counter frequency will in general be smaller than 10**9. (In fact, it's mandated to be 1Ghz in ARMv9, which makes life simple.) However, this can give a fair bit of error. Adopt the calculation used on amd64, with tweaks to handle frequencies as low as 1MHz: the ARM generic timer documentation suggests that ARMv8 timers are typically in the 1MHz-50MHz range, which is true on arm64 systems that I have access to. MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D49244 --- sys/cddl/dev/dtrace/aarch64/dtrace_subr.c | 33 +++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/sys/cddl/dev/dtrace/aarch64/dtrace_subr.c b/sys/cddl/dev/dtrace/aarch64/dtrace_subr.c index 20418e3a475b..32e84d8fbfe9 100644 --- a/sys/cddl/dev/dtrace/aarch64/dtrace_subr.c +++ b/sys/cddl/dev/dtrace/aarch64/dtrace_subr.c @@ -151,6 +151,32 @@ dtrace_sync(void) dtrace_xcall(DTRACE_CPUALL, (dtrace_xcall_t)dtrace_sync_func, NULL); } +static uint64_t nsec_scale; + +#define SCALE_SHIFT 25 + +/* + * Choose scaling factors which let us convert a cntvct_el0 value to nanoseconds + * without overflow, as in the amd64 implementation. + * + * Documentation for the ARM generic timer states that typical counter + * frequencies are in the range 1Mhz-50Mhz; in ARMv9 the frequency is fixed at + * 1GHz. The lower bound of 1MHz forces the shift to be at most 25 bits. At + * that frequency, the calculation (hi * scale) << (32 - shift) will not + * overflow for over 100 years, assuming that the counter value starts at 0 upon + * boot. + */ +static void +dtrace_gethrtime_init(void *arg __unused) +{ + uint64_t freq; + + freq = READ_SPECIALREG(cntfrq_el0); + nsec_scale = ((uint64_t)NANOSEC << SCALE_SHIFT) / freq; +} +SYSINIT(dtrace_gethrtime_init, SI_SUB_DTRACE, SI_ORDER_ANY, + dtrace_gethrtime_init, NULL); + /* * DTrace needs a high resolution time function which can be called from a * probe context and guaranteed not to have instrumented with probes itself. @@ -161,10 +187,13 @@ uint64_t dtrace_gethrtime(void) { uint64_t count, freq; + uint32_t lo, hi; count = READ_SPECIALREG(cntvct_el0); - freq = READ_SPECIALREG(cntfrq_el0); - return ((1000000000UL * count) / freq); + lo = count; + hi = count >> 32; + return (((lo * nsec_scale) >> SCALE_SHIFT) + + ((hi * nsec_scale) << (32 - SCALE_SHIFT))); } /* From nobody Mon Mar 10 08: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 4ZB9b02rXxz5qZDn; Mon, 10 Mar 2025 08: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZB9Zz4gmvz3TG7; Mon, 10 Mar 2025 08: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=1741596635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pjbbx9j7DU3b6WKkMjO7AnZrmu662xNJ3rxwM9uE0wc=; b=oApZayHvD8tbnlt8x6E2BcvgCStwwNpDct9bLvLr+1BO/vlrVJtnhvApkNivkITLdLjHk0 QZtDrsaw/WwL+WuDaQGb4wDXTwv0JgLE18GNsG8XCWxrD3oDkyJhfTOfOQ4jvTdS8sghHg xX6v06TIHERXXV6MoogHYXaeQ9GgrLQJBhkcw6GJTPB6iS209bT48u4iqQSltQxlogrO+k +qSG0IWIZ7l/vVyvIfJjL4DY8Rzdeb39FBJldnMOtvub3E5obAXfPkPLAWguuOrxajza6u y36Z+Ui5Xc8VxSGv7wS5iDFrhPuQ0PPY/XeOPKbqVjpGWmdPo7aMvwgIQGfBoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741596635; a=rsa-sha256; cv=none; b=hDfHFTOaWoaq8YNtjle9I3F0WLSzNA5pUdYepa1XTDWZM9meXJ6/vN/K4ZXFIGW3tYjt0r CVa1rxaJUrZ9k8D9x/YlaTmlxR9PyYEbpdYbQTcrfLbXs73uDp3PkCbGEKHozQjxW+TjRQ yTNV2zvbCyk6RG7WCfmcc8fdsh5oJ+nFJYdHAdvdk7He3VueN/0i87M8OgUiaWuJuVZI7O /okw7ngSYnq+/fdFehNxcW7QvyUVVj6Fn7cNZsBpOOlFJgUVhFCd6dI3nwmV+rK/+41IQs jiiIQx3L29CG41nQgloTWCpDT7bO+n+y0Cy0H70EPnEUpDaZJ1gKwyTY5e2G/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=1741596635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Pjbbx9j7DU3b6WKkMjO7AnZrmu662xNJ3rxwM9uE0wc=; b=YPuqrfceczKl1efBvDWtZ/T5lym9XKCJz0PEZR/cTHiXhkFSWBgRFhTf0DNaWcTPljeFqy wyNmpDXG2crj+jlOorkJffz5O+G3Wz8KRpUx32Zo+ob7B8UgmZil/KVwbSCKhAtlzK6Rvq DSHEL2/nCMzLl1cPVMI7PUscJZse2gFC5+jHUq/OpIMkyf8t/2CraNchOVAcKjRSfVRMpf gOn+/k+siWt1cVHxUAR9KTdvYMhdEXMo20r+aNg/JAD5hXUwcdaeWugX+TvvIHD9+08Em+ J4TOMNCNsdbz5q7NHY8uNhBrOpbOG7tKiGWcSx30ES0TayNAsyn5OIRHBn8u1A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZB9Zz2LK4zYjB; Mon, 10 Mar 2025 08: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 52A8oZ91045194; Mon, 10 Mar 2025 08: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 52A8oZnI045191; Mon, 10 Mar 2025 08:50:35 GMT (envelope-from git) Date: Mon, 10 Mar 2025 08:50:35 GMT Message-Id: <202503100850.52A8oZnI045191@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Morozovsky Subject: git: bf317e9f1037 - main - Fix a typo in the updated copyright comment 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: marck X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf317e9f1037d4647913a4fbf0904ff84d3f7894 Auto-Submitted: auto-generated The branch main has been updated by marck: URL: https://cgit.FreeBSD.org/src/commit/?id=bf317e9f1037d4647913a4fbf0904ff84d3f7894 commit bf317e9f1037d4647913a4fbf0904ff84d3f7894 Author: Dmitry Morozovsky AuthorDate: 2025-03-10 08:49:35 +0000 Commit: Dmitry Morozovsky CommitDate: 2025-03-10 08:49:35 +0000 Fix a typo in the updated copyright comment --- sys/cam/scsi/scsi_all.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/cam/scsi/scsi_all.h b/sys/cam/scsi/scsi_all.h index 4feaee081e55..944f70e03da6 100644 --- a/sys/cam/scsi/scsi_all.h +++ b/sys/cam/scsi/scsi_all.h @@ -6,7 +6,7 @@ * SPDX-License-Identifier: BSD-2-Clause * * Original scsi_all.h from 386BSD was by Julian Elischer at TRW Financial - * Services has been transformed into a new work by subsequent contribtuors. + * Services has been transformed into a new work by subsequent contributors. */ /* From nobody Mon Mar 10 13:37: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 4ZBHxT3cCWz5qtNT; Mon, 10 Mar 2025 13:37: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 4ZBHxT0mS8z44Vp; Mon, 10 Mar 2025 13:37:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741613821; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7GaLF8hv23VTYyqnTP0C8GsoruEGHYQMY4X7JlSyB34=; b=RcjWX9N6JP9eWHyTN/jk7PKNGOdtpt77VOsUFoB4a8/ZmUPo7+ssPWiM/lmrmWqZv4kg5q 02zP74B94seEkBD2njQP6XfpsoxDy7QOkLRutvI8YKlirCP0iAfX40mVIWkpUaCNEbE29l 8zVq5bCtiPDllTBuUPPddog1MykinxdPRPkkPHq3+ZsoI46lRrXUPIQV5kVAblkZmUzZeo JTyd1YGKTVFqPtBHD2Ab2R0HO7AKHbtgDlzFiwvasyH3e5jyvz/tdZnMzWsMNCTDfhXmwZ h+jzbjCQ2j8eSIrnrv51nQIUyTh7yWXrx+WXZZ+3wgGq+6voVmwDO5u8VSLMEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741613821; a=rsa-sha256; cv=none; b=h3OVALhqgQDmo5EOeY+za+E0cKHeVsazeQzpZeacMBwZn744wIL3VhVIOVjJjSHvSCalJL 9/W/G2aL81Q/HoD2AtbuFdpYaqsTVSVy048ZO1hEgUqR4SeN8xk2Wj4HKA2oltMwVSxDcK +z28URacR9byZ1hhdltqo5l075+Fk+CgjIJzgxkhG9tm2LWcZyotYNhQMb939mj3Els9uY JUDemFn07heNICG3VXVEjFQMKqH7YCiOcGYSfJ0k1JhdHiZ36+toaMSeghGuTpkEBb+ylB pslJSdfcaWBShUSMRwdZxTcd3y+ORu4JzwBu7yA1691KYadAbhicgvz6kQzmKA== 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=1741613821; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7GaLF8hv23VTYyqnTP0C8GsoruEGHYQMY4X7JlSyB34=; b=RpURfNbFolu0ZKArpjJJxxXCRv6RKaqG/3zRHkua9I5Q/jL/itYbwIaXLjc3/owrf2SJhc hkC44YnBY+ebqbiGlQWoXWLI8frxR4XZrlsTao4g0fKtMXTcdPAjucki8wKlt/kt4ZIAFS QL0k5/e+IyGJNFCJpVQ7IE3Y5SrkN8Bc0pPppcum3wNK2/VQi+WR5fwnypm8wjsRsqPo5Y MZaJqxyc91z1HQc7XFkZ9Qnbv0H51HhUfiHCo1mlxEueJBf8xyqLjeoXQAjzedzNvuCXfL 8gBOK4qiOQtRpO91yJ5/6mDPkvya6ZV9xwsOg4VBCmM4P/90HXTvL7JFlXDVMw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBHxS71B3zjCd; Mon, 10 Mar 2025 13:37: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 52ADb0ak078654; Mon, 10 Mar 2025 13:37:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52ADb0nx078651; Mon, 10 Mar 2025 13:37:00 GMT (envelope-from git) Date: Mon, 10 Mar 2025 13:37:00 GMT Message-Id: <202503101337.52ADb0nx078651@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: f27afbd85002 - main - nfsd.8: Note that the -n option is deprecated 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: f27afbd850021b9cb7cf4e66f0621c793ad37de0 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=f27afbd850021b9cb7cf4e66f0621c793ad37de0 commit f27afbd850021b9cb7cf4e66f0621c793ad37de0 Author: Rick Macklem AuthorDate: 2025-03-10 13:35:23 +0000 Commit: Rick Macklem CommitDate: 2025-03-10 13:35:23 +0000 nfsd.8: Note that the -n option is deprecated PR#284616 reported that --maxthreads did not obey the 256 thread limit defined as MAXNFSDCNT in nfsd.c. This is actually a feature and not a bug, since many NFS servers will now want to run more than 256 threads and --maxthreads can be used to set the upper bound on the number of threads. (MAXNFSDCNT was used long ago to define how many daemons would be forked, before daemons were replaced by kernel threads.) However, the nfsd.8 man page was misleading, since it indicated that "-n" was the equivalent to setting both --minthreads and --maxthreads to the same value. This patch fixes the man page. This is a content change. PR: 284616 Reviewed by: 0mp (manpages) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D49102 --- usr.sbin/nfsd/nfsd.8 | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/usr.sbin/nfsd/nfsd.8 b/usr.sbin/nfsd/nfsd.8 index 10aba5c8d845..992228fba752 100644 --- a/usr.sbin/nfsd/nfsd.8 +++ b/usr.sbin/nfsd/nfsd.8 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 5, 2024 +.Dd February 21, 2025 .Dt NFSD 8 .Os .Sh NAME @@ -88,13 +88,20 @@ without creating any servers. Specifies a hostname to be used as a principal name, instead of the default hostname. .It Fl n Ar threads -Specifies how many servers to create. -This option is equivalent to specifying +This option is deprecated and is limited to a maximum of 256 threads. +The options .Fl Fl maxthreads and .Fl Fl minthreads -with their respective arguments to -.Ar threads . +should now be used. +The +.Ar threads +argument for +.Fl Fl minthreads +and +.Fl Fl maxthreads +may be set to the same value to avoid dynamic +changes to the number of threads. .It Fl Fl maxthreads Ar threads Specifies the maximum servers that will be kept around to service requests. .It Fl Fl minthreads Ar threads @@ -223,12 +230,15 @@ to execute in the foreground instead of in daemon mode. .El .Pp For example, -.Dq Li "nfsd -u -t -n 6" -serves UDP and TCP transports using six daemons. +.Dq Li "nfsd -u -t --minthreads 6 --maxthreads 6" +serves UDP and TCP transports using six kernel threads (servers). .Pp -A server should run enough daemons to handle -the maximum level of concurrency from its clients, -typically four to six. +For a system dedicated to servicing NFS RPCs, the number of +threads (servers) should be sufficient to handle the peak +client RPC load. +For systems that perform other services, the number of +threads (servers) may need to be limited, so that resources +are available for these other services. .Pp The .Nm From nobody Mon Mar 10 17:30: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 4ZBP7P63t3z5r6wj; Mon, 10 Mar 2025 17:30: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 4ZBP7P3tWwz3SkD; Mon, 10 Mar 2025 17:30:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741627857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pC0p2Old6RS6obcQ0HCtEU/ANWsQd9rH0VvaQcljr90=; b=xxgcckWzmRd4TLGVezUacy/PrW+OzsOwz4OaYiNrCmuVPPMwTBw8VberYuRd0Gkg2o8S42 DsiR8cb4J8ohuKHPR/M+ADIrafCTFxwq1yhv4HTzSY734DrijdRvph4gDI28lpwrubvSVx b2WzQ76ripyrGkuR8+lBEpVHe1H+1vfxp/nGfZOo43z7Eh0Jpb3TjPP32cwB0eQ/JcSSYJ aPRfDjKmUuRv5DV6wv4bpPoOHgBnRqTVeCk7EutO/vv5eoE3E0KLNNWuTCgWG5Ul5EYqGf QqQjXyXI5IO4sYH5Z5/cz3BOWt0ydl8L8OfIKF5OvHqnxtcsrJAoQedhk8LyzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741627857; a=rsa-sha256; cv=none; b=cE77Zlcl4KbFPQRvDkEW4si7l8CHQjOAYt95mxEYJzWiU5J7etKWQzEv5rMhV8LAbkIk4E fFhQEhGfEhD9qtgIo0EGkq8qefSDXexpDkS3Xc3DoYYIuNTrjx4sOQFU3Rqd+E0Dd8RWVq fGRerK2K7UsL4f99EkWvCQsNKaaewGKUpz1LgnXHhSKWZFCUD+N/iNXKifq8TIOVphn56a tYc3uuf3OyKgFTxHNifCQDHXzMb7edho4WsxOXWJJ1XGk2fIyi+FP0SN+xT5WSAtFqZrYX goaXTnCf057HPGJ+Cqx6/sPfto6exgS+Sjj24mwD94QS6qddlRt8qcUCzCOlEQ== 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=1741627857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pC0p2Old6RS6obcQ0HCtEU/ANWsQd9rH0VvaQcljr90=; b=ZL0QZV8SRpHOIiCID0b5nnLDRW2baBTI7lwWGcVvTLW20aXh96ouV+jlvrNGuvNVlSKQ7d l+b73smzqNZg9ImYZuVeObAr4Ukktjx/1iIv1yOgWHcVeJJGH+i3jt+q8JK0UsAVH2VmhQ s4WclJ4NajfoQmSNgK32Im7ybXhQfDC5uy3foWlSkgM7p7yn/uJtLNJlyFRR5g2yiDcbUp RfvqG6Yn+R0P57knLTlqDI8HnQOWy97o0QyqvQDl37e7OT2oPIbc2bX0ScFRJoeys4a79k 64B7jTO+6BJL/5X2940WuSHhIxrsXk2VX19I71yCCTl6SmWbQn17AxtK4OWBfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBP7P3V7JzpFr; Mon, 10 Mar 2025 17:30: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 52AHUv6G017291; Mon, 10 Mar 2025 17:30:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AHUvsY017288; Mon, 10 Mar 2025 17:30:57 GMT (envelope-from git) Date: Mon, 10 Mar 2025 17:30:57 GMT Message-Id: <202503101730.52AHUvsY017288@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: db6f2bb93a97 - main - Makefile.inc1: Conditionalize some package related variables 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: db6f2bb93a9706963f66d270edb5ee62c37a9296 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=db6f2bb93a9706963f66d270edb5ee62c37a9296 commit db6f2bb93a9706963f66d270edb5ee62c37a9296 Author: John Baldwin AuthorDate: 2025-03-10 17:30:26 +0000 Commit: John Baldwin CommitDate: 2025-03-10 17:30:26 +0000 Makefile.inc1: Conditionalize some package related variables In particular, don't invoke git to compute SOURCE_DATE_EPOCH for unrelated targets like check-old or delete-old. If the git invocation fails (e.g. when using a git worktree mounted over NFS) it can generate a lot of irrelevant warning spam. Reviewed by: emaste Fixes: 8a3537aaf7c1 ("Makefile.inc1: Make package timestamps reproducible by default") Differential Revision: https://reviews.freebsd.org/D49278 --- Makefile.inc1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile.inc1 b/Makefile.inc1 index 0b4167790133..9cd4d3b63cae 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -596,6 +596,7 @@ PKG_VERSION:= ${_PKG_REVISION}${EXTRA_REVISION:C/[[:space:]]//g} .endif .endif # !defined(_MKSHOWCONFIG) +.if make(*package*) .if !defined(PKG_TIMESTAMP) .if !empty(GIT_CMD) && exists(${GIT_CMD}) && exists(${SRCDIR}/.git) SOURCE_DATE_EPOCH!= ${GIT_CMD} -C ${SRCDIR} show -s --format=%ct HEAD @@ -614,6 +615,7 @@ PKG_WWW?= https://www.FreeBSD.org .export PKG_NAME_PREFIX .export PKG_MAINTAINER .export PKG_WWW +.endif .if !defined(_MKSHOWCONFIG) _CPUTYPE!= MAKEFLAGS= CPUTYPE=${_TARGET_CPUTYPE} ${MAKE} -f /dev/null \ From nobody Mon Mar 10 17:35: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 4ZBPDq3p6Rz5r7MN; Mon, 10 Mar 2025 17:35:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBPDq2QxKz3TYn; Mon, 10 Mar 2025 17:35:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741628139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dtP2dvJYXJ66chXUYge3E3/TeZCFsFcSavfwl4j3Tb8=; b=lQ81Ag3pgoTJW/j7QPvNzm+UKYA8cs8DGr91URO7y/flLVVfAcpSURMQxZ7O9fAxV2PRRA 9TanDxWQ5s8R2RgOkjac+XhL0rAgzUjPY5zu2CH5kcIYgiB+5GufviKr/4/Z9uj+UXpNdm KKVmCdqrg6mgMtBnfzXDz7Kou7dmclO7p+C/JiceAHvkdEl52Y7zxkYybjQGq8ysX4li0L pIrkJ7k4YUov4o9irMROaKhteABLYactcE/n1Ma9IbK559wX/8y3aYOi/wsIz+g+OTorez KFVWFC6eLZJY9oUQfxsEerfMAQJuYpk57NzKTGlIFEVJRxYreziDMp/ox4WC3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741628139; a=rsa-sha256; cv=none; b=yvzoDeOr2+R1JkKUf+UFgRjXUc9eBONHHU++WkoVNJj3CTewZ31lp0V1bvp2h9lnBAnBgY VrKrwjwAILeyU9FfAovlRFE9xMfnrUEcrcBRtZoqj+by9QvRYzMSZI6cOBVKn7ny13fd5C Wn55zXl49JIwpHzBtkSa+1bRAeQN5NIbMpMdDJRLx5/mTvUdB3rWUqF9TSxUwuDvbKV7W6 I9d2aNWhCKiWnesIPHj9Sd0mpvdUiAC3nyaInnaD9ELjRKVQbwey3MkVH8UYK8twJy0UvL ZxgK9yy2Nn+GpR79Ln13UDQDHjbFdRw+Z0X9KH9EtWGpzxXv9BxfFVzhY/LMJA== 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=1741628139; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dtP2dvJYXJ66chXUYge3E3/TeZCFsFcSavfwl4j3Tb8=; b=UKu0pQ4ySGEuFD85oGlz+SPLL3l6UVzPXBz3UUeUMNTsWBmzje3D8d68eeox1uuy8CvJzG 32Ty7W0QLAamzhOY7PDgmxz4fd0d0CGHKaC9KhaXXacNx6Jq81P6xa/AN6hwMJSTNe47LP OvWj32JivmEPGUWGH+LsPSo7qHuxvNr2W43mRRRlOQIMo7vCG6S7ujrgJrJQEqP2a10Asj 28AYVt8ceKajne511DRhUwm3QbqnpaNWEfoZk49sfYwQoD0jjTQrpnAYPM0MpjG3YNEA9f nj5mCV0P3Ad1HqoiRMGnmahkU+FG0RngsRx7mWdu/FV4BXyMippkekA3Ph1kwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBPDq1gXmzpTx; Mon, 10 Mar 2025 17:35:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52AHZdKX027035; Mon, 10 Mar 2025 17:35:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AHZd58027032; Mon, 10 Mar 2025 17:35:39 GMT (envelope-from git) Date: Mon, 10 Mar 2025 17:35:39 GMT Message-Id: <202503101735.52AHZd58027032@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: 44d5f5ed1e95 - main - new-bus: Add taskqueue_bus to process hot-plug device events 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: 44d5f5ed1e959d8f2c22b6ee69c6a46a45ccdd8e Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=44d5f5ed1e959d8f2c22b6ee69c6a46a45ccdd8e commit 44d5f5ed1e959d8f2c22b6ee69c6a46a45ccdd8e Author: John Baldwin AuthorDate: 2025-03-10 17:32:23 +0000 Commit: John Baldwin CommitDate: 2025-03-10 17:32:23 +0000 new-bus: Add taskqueue_bus to process hot-plug device events Use a system-wide taskqueue for hot-plug events. This avoids possibly blocking unrelated events on the thread taskqueue without requiring multiple driver-specific taskqueues. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49268 --- sys/kern/subr_bus.c | 3 +++ sys/sys/taskqueue.h | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 0422352bba51..38a8cab639e4 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -51,6 +51,7 @@ #include #include #include +#include #include #include #ifdef INTRNG @@ -120,6 +121,8 @@ struct device_prop_elm { LIST_ENTRY(device_prop_elm) link; }; +TASKQUEUE_DEFINE_THREAD(bus); + static void device_destroy_props(device_t dev); /** diff --git a/sys/sys/taskqueue.h b/sys/sys/taskqueue.h index 9757e1fce575..9da364a1a716 100644 --- a/sys/sys/taskqueue.h +++ b/sys/sys/taskqueue.h @@ -215,4 +215,10 @@ struct taskqueue *taskqueue_create_fast(const char *name, int mflags, taskqueue_enqueue_fn enqueue, void *context); +/* + * This queue is used to process asynchronous device events such as + * hot plug insertion and removal of devices. + */ +TASKQUEUE_DECLARE(bus); + #endif /* !_SYS_TASKQUEUE_H_ */ From nobody Mon Mar 10 17:35: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 4ZBPDs0FNtz5r7Hf; Mon, 10 Mar 2025 17:35: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 4ZBPDr3K14z3Th2; Mon, 10 Mar 2025 17:35:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741628140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EaSoCk53SCn+HH0w0vKfwbZR49n29ae723ONldHCaEY=; b=TcKbizTzz6wIu8/8FLweSCksmL3CcPY2YUs2O5xm64JPqTv1fISdbNc9vZieTSFrfHYDcj 2b7uoXt5n9mhSSRq6d2n9BiOsBeE7rHC95MakffgwvQz7XcqwsSQ1NVZuHvp/IdD/gYqhs Q0IuwXvxH+j3F4FXrvUU7/Hzjj9ayYOXnOPMph7LxY0f6hTu/Rczg1c5uDsyWCOZuer5Gs vOBu8whr6Wf+2N4YXdr6l4hoKRcL/JPUuNkb1dUaMJqr34TQQgtWvHk/ikoQWhAdBuseww mb5sAzx1Ozwx57IAvyGcZsczKEFMT24HKH/xvlPFbAE1xowSzdAFEXelXhRffA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741628140; a=rsa-sha256; cv=none; b=JaahXx0txGRephAqPKs7AgqYB84qQLGGQXdWjIwHtZKkx/q1Hcw4h4nA4I2giaraV99WPu aj95NeCj9AI14CrA7rNyjTjq2ZHecrYXbH48TXZaLubKZhdDfqxEEK9kVy2g1RG/lXjtDs 7pFdGvdaoRS+921MkB2mgwK5A71YlRRHmlYAtsU0imHO89Ze0ijnyq9AQkwaYcOsmc//OV +H+eyfnjw1w3MkkMHgLZYCtl1u3nfi6jqUpwsvnjo8NL2ZYBdqR5QVMiceQGF+Ebvlvjnt zgAb8xKdtdZdNuDjT4fEHELv+9i5GLSmNMkaZqNSjEaFgfZk/ufbuhn9STpyBg== 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=1741628140; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EaSoCk53SCn+HH0w0vKfwbZR49n29ae723ONldHCaEY=; b=U1jzSbmpDqw01ALDW7E4tHFZfE+odB1cBUi5S+vF/DBjamd28+6H/rw53ZBpud3SMGyrHD vi11gQTN8WvF4qMRfEpDNhowkZJ2WAN0BYof1psfI7C5d9R6llLeIpUsQJMzg+Nw9CM8iQ 9+BxqoxT2tgP+Ie2AeCXNDkP8kC/Uhm/atR6KSjQsqwMYBvFUd9aIYWNLZGRrnDEeQSbS7 5W8rrm1O3opEinhDox097sJaj+EEGvwiQh9iggfbz3kmgaU5tDoBGwOaTVCtGX3lo9MM1d ywFyhDkYGdA9qxT6GhkWeW6Rc+ppGRPn7uZ4+CsKnxl86eI2kFLjFAbVcQD0Dw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBPDr2wbBzqBw; Mon, 10 Mar 2025 17:35: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 52AHZewe027069; Mon, 10 Mar 2025 17:35:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AHZeRi027066; Mon, 10 Mar 2025 17:35:40 GMT (envelope-from git) Date: Mon, 10 Mar 2025 17:35:40 GMT Message-Id: <202503101735.52AHZeRi027066@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: b23314ecb99c - main - pcib: Use taskqueue_bus for hot-plug events instead of a private taskqueue 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: b23314ecb99cedef1090bdaa486fbd25aa5a9558 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b23314ecb99cedef1090bdaa486fbd25aa5a9558 commit b23314ecb99cedef1090bdaa486fbd25aa5a9558 Author: John Baldwin AuthorDate: 2025-03-10 17:32:38 +0000 Commit: John Baldwin CommitDate: 2025-03-10 17:32:38 +0000 pcib: Use taskqueue_bus for hot-plug events instead of a private taskqueue Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49269 --- sys/dev/pci/pci_pci.c | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c index 44cbf327868c..10133c0c68d9 100644 --- a/sys/dev/pci/pci_pci.c +++ b/sys/dev/pci/pci_pci.c @@ -800,8 +800,6 @@ SYSCTL_INT(_hw_pci, OID_AUTO, enable_pcie_hp, CTLFLAG_RDTUN, &pci_enable_pcie_hp, 0, "Enable support for native PCI-express HotPlug."); -TASKQUEUE_DEFINE_THREAD(pci_hp); - static void pcib_probe_hotplug(struct pcib_softc *sc) { @@ -888,7 +886,7 @@ pcib_pcie_hotplug_command(struct pcib_softc *sc, uint16_t val, uint16_t mask) (ctl & new) & PCIEM_SLOT_CTL_CCIE) { sc->flags |= PCIB_HOTPLUG_CMD_PENDING; if (!cold) - taskqueue_enqueue_timeout(taskqueue_pci_hp, + taskqueue_enqueue_timeout(taskqueue_bus, &sc->pcie_cc_task, hz); } } @@ -904,7 +902,7 @@ pcib_pcie_hotplug_command_completed(struct pcib_softc *sc) device_printf(dev, "Command Completed\n"); if (!(sc->flags & PCIB_HOTPLUG_CMD_PENDING)) return; - taskqueue_cancel_timeout(taskqueue_pci_hp, &sc->pcie_cc_task, NULL); + taskqueue_cancel_timeout(taskqueue_bus, &sc->pcie_cc_task, NULL); sc->flags &= ~PCIB_HOTPLUG_CMD_PENDING; wakeup(sc); } @@ -1023,10 +1021,10 @@ pcib_pcie_hotplug_update(struct pcib_softc *sc, uint16_t val, uint16_t mask, device_printf(sc->dev, "Data Link Layer inactive\n"); else - taskqueue_enqueue_timeout(taskqueue_pci_hp, + taskqueue_enqueue_timeout(taskqueue_bus, &sc->pcie_dll_task, hz); } else if (sc->pcie_link_sta & PCIEM_LINK_STA_DL_ACTIVE) - taskqueue_cancel_timeout(taskqueue_pci_hp, &sc->pcie_dll_task, + taskqueue_cancel_timeout(taskqueue_bus, &sc->pcie_dll_task, NULL); pcib_pcie_hotplug_command(sc, val, mask); @@ -1038,7 +1036,7 @@ pcib_pcie_hotplug_update(struct pcib_softc *sc, uint16_t val, uint16_t mask, */ if (schedule_task && (pcib_hotplug_present(sc) != 0) != (sc->child != NULL)) - taskqueue_enqueue(taskqueue_pci_hp, &sc->pcie_hp_task); + taskqueue_enqueue(taskqueue_bus, &sc->pcie_hp_task); } static void @@ -1066,14 +1064,14 @@ pcib_pcie_intr_hotplug(void *arg) device_printf(dev, "Attention Button Pressed: Detach Cancelled\n"); sc->flags &= ~PCIB_DETACH_PENDING; - taskqueue_cancel_timeout(taskqueue_pci_hp, + taskqueue_cancel_timeout(taskqueue_bus, &sc->pcie_ab_task, NULL); } else if (old_slot_sta & PCIEM_SLOT_STA_PDS) { /* Only initiate detach sequence if device present. */ device_printf(dev, "Attention Button Pressed: Detaching in 5 seconds\n"); sc->flags |= PCIB_DETACH_PENDING; - taskqueue_enqueue_timeout(taskqueue_pci_hp, + taskqueue_enqueue_timeout(taskqueue_bus, &sc->pcie_ab_task, 5 * hz); } } @@ -1271,11 +1269,11 @@ pcib_setup_hotplug(struct pcib_softc *sc) dev = sc->dev; TASK_INIT(&sc->pcie_hp_task, 0, pcib_pcie_hotplug_task, sc); - TIMEOUT_TASK_INIT(taskqueue_pci_hp, &sc->pcie_ab_task, 0, + TIMEOUT_TASK_INIT(taskqueue_bus, &sc->pcie_ab_task, 0, pcib_pcie_ab_timeout, sc); - TIMEOUT_TASK_INIT(taskqueue_pci_hp, &sc->pcie_cc_task, 0, + TIMEOUT_TASK_INIT(taskqueue_bus, &sc->pcie_cc_task, 0, pcib_pcie_cc_timeout, sc); - TIMEOUT_TASK_INIT(taskqueue_pci_hp, &sc->pcie_dll_task, 0, + TIMEOUT_TASK_INIT(taskqueue_bus, &sc->pcie_dll_task, 0, pcib_pcie_dll_timeout, sc); sc->pcie_hp_lock = bus_topo_mtx(); @@ -1321,13 +1319,13 @@ pcib_detach_hotplug(struct pcib_softc *sc) /* Disable the card in the slot and force it to detach. */ if (sc->flags & PCIB_DETACH_PENDING) { sc->flags &= ~PCIB_DETACH_PENDING; - taskqueue_cancel_timeout(taskqueue_pci_hp, &sc->pcie_ab_task, + taskqueue_cancel_timeout(taskqueue_bus, &sc->pcie_ab_task, NULL); } sc->flags |= PCIB_DETACHING; if (sc->flags & PCIB_HOTPLUG_CMD_PENDING) { - taskqueue_cancel_timeout(taskqueue_pci_hp, &sc->pcie_cc_task, + taskqueue_cancel_timeout(taskqueue_bus, &sc->pcie_cc_task, NULL); tsleep(sc, 0, "hpcmd", hz); sc->flags &= ~PCIB_HOTPLUG_CMD_PENDING; @@ -1350,10 +1348,10 @@ pcib_detach_hotplug(struct pcib_softc *sc) error = pcib_release_pcie_irq(sc); if (error) return (error); - taskqueue_drain(taskqueue_pci_hp, &sc->pcie_hp_task); - taskqueue_drain_timeout(taskqueue_pci_hp, &sc->pcie_ab_task); - taskqueue_drain_timeout(taskqueue_pci_hp, &sc->pcie_cc_task); - taskqueue_drain_timeout(taskqueue_pci_hp, &sc->pcie_dll_task); + taskqueue_drain(taskqueue_bus, &sc->pcie_hp_task); + taskqueue_drain_timeout(taskqueue_bus, &sc->pcie_ab_task); + taskqueue_drain_timeout(taskqueue_bus, &sc->pcie_cc_task); + taskqueue_drain_timeout(taskqueue_bus, &sc->pcie_dll_task); return (0); } #endif From nobody Mon Mar 10 17:35: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 4ZBPDw06dsz5pPGN; Mon, 10 Mar 2025 17:35: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 4ZBPDv6Bh0z3TSy; Mon, 10 Mar 2025 17:35:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741628143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3PikrNAj9PUrTIQpC4bbjYeCxdaBXMb7TUA9IFyi+/M=; b=XPUSCr/3vWySOnVVOFmjC91xdxcXUcXPvnoRMdMe+iPAelwkxCZ7VwzCKLnIzTMegeYlGF y3HaicpF+CErmTP8Y9Hy+nmRXfmKbr0c9wt6nLRXzj3kHnUcmCCvbZ132WOCul1O6dcQ83 mn5DwvxufJybbjM+vRabtEBmvfTCS7eOF8Upgse8WGDdkeFJsSwnSnrVGqbUtT/vC9VkyC BaUYTpZD6o8cHKYsop7Y8aRBhloiRAuTc4rwQyPXqTfh1rizAYUJWLaYz7s2FZLppH/R+E oCYw8qPrkzWD95sDAdcRGDnoICYq5m8gkRfbRqhuOgzDdXM6zDAvk090r22z9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741628143; a=rsa-sha256; cv=none; b=MRv1Mola70Z4yuv7b5yV2YIrG+FKFuXy/ZEzup+fpAFUxC6xuv/SCks7q0MTwjzvTGqGr3 +j/vF8FTvhtC5xpvwZjNpOkAJgFO20QeEAreFoiFVfhmnMof8Mxdq9ZgUAMRhNLY9pKvx4 pAQbHjEf9BS9s1bFvPXzgWdQU2UDciX1h3uynGs7J57y5ZexLQpNsSP92EO4S48RGVk9d/ CfbCEUN+5IqT8iSLlVrD/zjU4islHADSSIt8mTpfIDbM9i2dzzBVVw8D+Mv+LaWN7qUH4a l+xJsS2j+J69SeGX6Wjmq7oB2ICrPmeQ3dKMrkRlPzQ8AqOaZdctHEWKye1ENA== 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=1741628143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3PikrNAj9PUrTIQpC4bbjYeCxdaBXMb7TUA9IFyi+/M=; b=cvXoX6UrQfBfi2n59GaUyTkE6nLCnSwSfslwhLSm/vJfcyWYD7wwSBMn1P6mPJvjnQqMGz 3/qbJOGJwkDV52uiZYkKfG5esnptxt/OMk+fgE6AR6nwkKMVAKQnG/iONUXCsJMvpjJnTm rZq5c62nsbE9lxSWzjRIq1QGBM+oJhM9f6dlP9lTfNXcbMobjdzGQ3zjzZ3PSYcUbdOVpk WeqOfMTrYxHbYyEvtrd8S9b8z2jq1KyqphrCkYzi5HMCnMkAz3LeeQJ8y/QFkM0+bJ/JCN vXnC19bz+frmS2L+KXmRLPhDbKiqKKYRZZTLlNNOiMXrL6tuIWN7yQ1/relxbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBPDv5pdczqNt; Mon, 10 Mar 2025 17:35: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 52AHZhBr027180; Mon, 10 Mar 2025 17:35:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AHZhtZ027177; Mon, 10 Mar 2025 17:35:43 GMT (envelope-from git) Date: Mon, 10 Mar 2025 17:35:43 GMT Message-Id: <202503101735.52AHZhtZ027177@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: 02d61f27585f - main - hdaa: Don't hold a mutex while creating child devices 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: 02d61f27585f52d422fc1e235ac6226e27145162 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=02d61f27585f52d422fc1e235ac6226e27145162 commit 02d61f27585f52d422fc1e235ac6226e27145162 Author: John Baldwin AuthorDate: 2025-03-10 17:34:07 +0000 Commit: John Baldwin CommitDate: 2025-03-10 17:34:07 +0000 hdaa: Don't hold a mutex while creating child devices The lock is already not held while deleting child devices, and the bus_topo_lock is already held when child devices are created. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49272 --- sys/dev/sound/pci/hda/hdaa.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/dev/sound/pci/hda/hdaa.c b/sys/dev/sound/pci/hda/hdaa.c index f53e93a2355b..ac62c04b5374 100644 --- a/sys/dev/sound/pci/hda/hdaa.c +++ b/sys/dev/sound/pci/hda/hdaa.c @@ -6200,7 +6200,9 @@ hdaa_configure(device_t dev) HDA_BOOTHVERBOSE( device_printf(dev, "Creating PCM devices...\n"); ); + hdaa_unlock(devinfo); hdaa_create_pcms(devinfo); + hdaa_lock(devinfo); HDA_BOOTVERBOSE( if (devinfo->quirks != 0) { From nobody Mon Mar 10 17:35: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 4ZBPDv0ZSnz5r7Dd; Mon, 10 Mar 2025 17:35:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBPDt5F1Jz3TSw; Mon, 10 Mar 2025 17:35:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741628142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5UjtaLSRXPMeiEsKHjwwsYycvxfv8h+0ROvM++Pl64s=; b=lK6ikGEJb3Q75wQTFeoJcP34UtB96GVDor5nTyc6dvzYlP6vsWNf6SHWEvdQgparhuBdx6 6E8ZCQNptITt/K92/SzeMHAfYN42rGi9metrx09JTNekYPGAFRHAICY8nzTN9NZNR9Bh8G Eoi9x3KrOAEN00tOi3X51P0qUNv9KHwj4KXx0ow/+cfQarSss/Fld5CESGbCvh88B0AsqV W+X2/urpkuQuM4WOyDkexcGbBf4KcU5P62nKwXgU3H6sVOVEwFAnymPx0ZRZ8lNGhIeGnO o+jhui6uWXmZZcspDh7VJEUvw2mmTk9FOY+nPoe6nmvQhCrvH6ryY5uh+S2SNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741628142; a=rsa-sha256; cv=none; b=hEikGxKiKyHU0fNAIqLttQ279CHz63Q/UVLcnan7hOtdlW1IpSh7R4c4SxqNtpnhoqNrnW I+I2w4htPDEIt6y44kHBZTGFpzpenqw50BzJqwUIMQBGxtkIru4hQI2Fs3udQr+Sa8CjqX ucdS+LF+EHEmJNJR3mCtgP3CqkwAPcRt1DQ0LGia1rr99ncGSM9gAQO0PONX96U+3yRqx7 g3QrNuIOmONiheoqX/FzIZLGsa2gZF9A1X/vf/lRCdVxgdIs3EuX53S+jTW3RhWvH08ZGA xv1hToXZySrN6MDJimIbqd9y6Eeb7+FocAfF53AYa7dBeJ8958u17yg+yZoAOg== 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=1741628142; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5UjtaLSRXPMeiEsKHjwwsYycvxfv8h+0ROvM++Pl64s=; b=c9cjIoJCBGuS1vH1WwU+7A+Ih4dEpcqJHNWvJCE6WUgds6qjn1/24GhLHualNy5RVMLOxw I+Hjpf1+xyV51kwi9Eu9He4E5IDOBLhCM+3vIT2NMptJ6d3Z/+UkB7J3m0EG0bGHFIEedJ 4WlYizqX+4xpl29Cn2qKUOyBh1bE0DTwko1xNxzIyABKdd+Gh2kFcER64GGvNkpIbs9cMC OHGf595U10JBfR1I32uw4PekfcuCzmi/yu+IrvQJVwY+c3gOOWY0uUUjLJ/YnpnhR663mr hGAa+i6VqHZwnZW/IBkEWwV8LA7wDGS5lQYf9voC24ur+CVS6fHL4NBVBkNr1g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBPDt4rpyzq99; Mon, 10 Mar 2025 17:35: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 52AHZgWB027137; Mon, 10 Mar 2025 17:35:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AHZgdT027134; Mon, 10 Mar 2025 17:35:42 GMT (envelope-from git) Date: Mon, 10 Mar 2025 17:35:42 GMT Message-Id: <202503101735.52AHZgdT027134@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: aaf0a7302d10 - main - sdhci: Use bus_topo_lock and taskqueue_bus for hotplug events 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: aaf0a7302d10912e62dcd8e047798b4a2aefa039 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=aaf0a7302d10912e62dcd8e047798b4a2aefa039 commit aaf0a7302d10912e62dcd8e047798b4a2aefa039 Author: John Baldwin AuthorDate: 2025-03-10 17:33:49 +0000 Commit: John Baldwin CommitDate: 2025-03-10 17:33:49 +0000 sdhci: Use bus_topo_lock and taskqueue_bus for hotplug events Drop SDHCI_LOCK and instead acquire bus_topo_lock when adding and removing new-bus devices. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49271 --- sys/dev/sdhci/sdhci.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sys/dev/sdhci/sdhci.c b/sys/dev/sdhci/sdhci.c index 0be20e7aa523..2f79d3099f47 100644 --- a/sys/dev/sdhci/sdhci.c +++ b/sys/dev/sdhci/sdhci.c @@ -700,12 +700,14 @@ sdhci_card_task(void *arg, int pending __unused) mmccam_start_discovery(slot->sim); SDHCI_UNLOCK(slot); #else - d = slot->dev = device_add_child(slot->bus, "mmc", DEVICE_UNIT_ANY); SDHCI_UNLOCK(slot); + bus_topo_lock(); + d = slot->dev = device_add_child(slot->bus, "mmc", DEVICE_UNIT_ANY); if (d) { device_set_ivars(d, slot); (void)device_probe_and_attach(d); } + bus_topo_unlock(); #endif } else SDHCI_UNLOCK(slot); @@ -731,7 +733,9 @@ sdhci_card_task(void *arg, int pending __unused) slot->opt &= ~SDHCI_TUNING_ENABLED; SDHCI_UNLOCK(slot); callout_drain(&slot->retune_callout); + bus_topo_lock(); device_delete_child(slot->bus, d); + bus_topo_unlock(); #endif } else SDHCI_UNLOCK(slot); @@ -760,10 +764,10 @@ sdhci_handle_card_present_locked(struct sdhci_slot *slot, bool is_present) was_present = slot->dev != NULL; #endif if (!was_present && is_present) { - taskqueue_enqueue_timeout(taskqueue_swi_giant, + taskqueue_enqueue_timeout(taskqueue_bus, &slot->card_delayed_task, -SDHCI_INSERT_DELAY_TICKS); } else if (was_present && !is_present) { - taskqueue_enqueue(taskqueue_swi_giant, &slot->card_task); + taskqueue_enqueue(taskqueue_bus, &slot->card_task); } } @@ -1129,7 +1133,7 @@ no_tuning: "timeout", CTLFLAG_RWTUN, &slot->timeout, 0, "Maximum timeout for SDHCI transfers (in secs)"); TASK_INIT(&slot->card_task, 0, sdhci_card_task, slot); - TIMEOUT_TASK_INIT(taskqueue_swi_giant, &slot->card_delayed_task, 0, + TIMEOUT_TASK_INIT(taskqueue_bus, &slot->card_delayed_task, 0, sdhci_card_task, slot); callout_init(&slot->card_poll_callout, 1); callout_init_mtx(&slot->timeout_callout, &slot->mtx, 0); @@ -1186,8 +1190,8 @@ sdhci_cleanup_slot(struct sdhci_slot *slot) callout_drain(&slot->timeout_callout); callout_drain(&slot->card_poll_callout); callout_drain(&slot->retune_callout); - taskqueue_drain(taskqueue_swi_giant, &slot->card_task); - taskqueue_drain_timeout(taskqueue_swi_giant, &slot->card_delayed_task); + taskqueue_drain(taskqueue_bus, &slot->card_task); + taskqueue_drain_timeout(taskqueue_bus, &slot->card_delayed_task); SDHCI_LOCK(slot); d = slot->dev; From nobody Mon Mar 10 17:35: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 4ZBPDs4yGVz5r7Dc; Mon, 10 Mar 2025 17:35: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 4ZBPDs404Dz3Tk1; Mon, 10 Mar 2025 17:35:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741628141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uTVCLsHGSukfiT5TnpHMkRgfvXPwWYl+C7tPAEy61/w=; b=TUA104jfQDhWKPKRZB2fGgcj2b62TrDESGx+EzKVqv1Lq6soQ/UwG954vB0Wf/qi46oITo QHObXBTEzG1hI4Jazk9nc18YbZcHlpTYkd/9xK86ps0XRXGXBHUcjzf24YVapFiIYn3Yix 5K5nSiXNMVMuyEmTLR5jm6KN36FVPZcnhOCmtdeuTNjMU83UnV36hI++M+sAOXXuH8wOq/ 9Ue14FDuhbgKLrPo+jScAwofmtwrACSZT/w9pHmA9mx8WL8rOEjvYwudjP+OPu2pJyNnAg TPDE8oCtbk4XATZOTkj/3PjeEfAOVj6KSdNzT+wZ8oW6XjvEegRGOnVW251Vig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741628141; a=rsa-sha256; cv=none; b=v7a838ltV4fRYN9sBXaTY9Y0ALHaCPswJ68hpgnkx6bLHsTsqcMirwSCmRAqfhi6idHv1T f5dcW6+7sadGXWck4EJ6spDN3o4Yg5cPzDg9ZLwGYqX8/qxQA3DaC4neOap1JPdYlLKftD CI3cqnepQNNauehUYy8fyYgVTtcoina4zbBVohs7DTBXPMLN7uNjxV03nXgcrKZYhM1AyC +TsmjLAotRvLlUPzSqqp0QEH059do/1WW6nBBRWE43puEtjFkVhDLbOT9dek//CeLj3YzV cVdZ727D4kdlFjBoMN4DmUFJ2P8ag0EV/gbIR2nEZsP0fQRMuDUoO6HIBZGt1Q== 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=1741628141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uTVCLsHGSukfiT5TnpHMkRgfvXPwWYl+C7tPAEy61/w=; b=jueHH+G/QfxKZzLPfk/1ksdiuH7mrtET6ACECe875XoYmsxYwj+mL7JNfjVDza4uNzqgpT bedVkw/wV08nQyQwQfYz09yhZXTe28qp0xQnq+Kn9dbSkWIqgBqa6TmMzPG58COX+TTnn3 OKw86FMDnvYjt4CGHQoNCZN9pEVH65IvQ/aJYF6gMBvfESOXr2D7BzDmS2Prx/m4ELTY70 I1bRlzh3wT/56/JRB0mwTkvKwgI2MDGRg5xMKV75UHrTrs/ySm+PmNS0HAMFxgfT3zQfrX V5O6s9ILatcklzuD1jMT94fwr4FGX7UXkIWjV/hVi5xdy3UWLOCT3m2BVFHiLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBPDs3by0zpyT; Mon, 10 Mar 2025 17:35: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 52AHZfYF027103; Mon, 10 Mar 2025 17:35:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AHZfM2027100; Mon, 10 Mar 2025 17:35:41 GMT (envelope-from git) Date: Mon, 10 Mar 2025 17:35:41 GMT Message-Id: <202503101735.52AHZfM2027100@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: c0bed9bd0bda - main - mmc: Use bus_topo_lock and taskqueue_bus while adding/removing child devices 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: c0bed9bd0bda2ca9239f5913cd2d5c1bd5d29bfa Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c0bed9bd0bda2ca9239f5913cd2d5c1bd5d29bfa commit c0bed9bd0bda2ca9239f5913cd2d5c1bd5d29bfa Author: John Baldwin AuthorDate: 2025-03-10 17:32:53 +0000 Commit: John Baldwin CommitDate: 2025-03-10 17:32:53 +0000 mmc: Use bus_topo_lock and taskqueue_bus while adding/removing child devices Some drivers held regular mutexes across some new-bus calls; instead depend on bus_topo_lock to protect the relevant softc members. This also fixes the bus_topo_lock to be explicit in these drivers rather than relying on the implicit Giant from taskqueue_swi_giant. It avoids calling sleepable routines like device_probe_and_attach from an swi context. Differential Revision: https://reviews.freebsd.org/D49270 --- sys/arm/allwinner/aw_mmc.c | 11 ++++------- sys/dev/mmc/host/dwmmc.c | 22 +++++++++------------- sys/dev/mmc/mmc_fdt_helpers.c | 10 +++++----- sys/dev/rtsx/rtsx.c | 18 +++++++++++------- 4 files changed, 29 insertions(+), 32 deletions(-) diff --git a/sys/arm/allwinner/aw_mmc.c b/sys/arm/allwinner/aw_mmc.c index 9f61e1560658..6bebf5e5fb5e 100644 --- a/sys/arm/allwinner/aw_mmc.c +++ b/sys/arm/allwinner/aw_mmc.c @@ -322,32 +322,29 @@ aw_mmc_helper_cd_handler(device_t dev, bool present) #ifdef MMCCAM mmc_cam_sim_discover(&sc->mmc_sim); #else - AW_MMC_LOCK(sc); + bus_topo_lock(); if (present) { if (sc->child == NULL) { if (__predict_false(aw_mmc_debug & AW_MMC_DEBUG_CARD)) device_printf(sc->aw_dev, "Card inserted\n"); sc->child = device_add_child(sc->aw_dev, "mmc", DEVICE_UNIT_ANY); - AW_MMC_UNLOCK(sc); if (sc->child) { device_set_ivars(sc->child, sc); (void)device_probe_and_attach(sc->child); } - } else - AW_MMC_UNLOCK(sc); + } } else { /* Card isn't present, detach if necessary */ if (sc->child != NULL) { if (__predict_false(aw_mmc_debug & AW_MMC_DEBUG_CARD)) device_printf(sc->aw_dev, "Card removed\n"); - AW_MMC_UNLOCK(sc); device_delete_child(sc->aw_dev, sc->child); sc->child = NULL; - } else - AW_MMC_UNLOCK(sc); + } } + bus_topo_unlock(); #endif /* MMCCAM */ } diff --git a/sys/dev/mmc/host/dwmmc.c b/sys/dev/mmc/host/dwmmc.c index 51709bcbb7e9..57992571982c 100644 --- a/sys/dev/mmc/host/dwmmc.c +++ b/sys/dev/mmc/host/dwmmc.c @@ -462,10 +462,10 @@ dwmmc_handle_card_present(struct dwmmc_softc *sc, bool is_present) was_present = sc->child != NULL; if (!was_present && is_present) { - taskqueue_enqueue_timeout(taskqueue_swi_giant, + taskqueue_enqueue_timeout(taskqueue_bus, &sc->card_delayed_task, -(hz / 2)); } else if (was_present && !is_present) { - taskqueue_enqueue(taskqueue_swi_giant, &sc->card_task); + taskqueue_enqueue(taskqueue_bus, &sc->card_task); } } @@ -477,8 +477,7 @@ dwmmc_card_task(void *arg, int pending __unused) #ifdef MMCCAM mmc_cam_sim_discover(&sc->mmc_sim); #else - DWMMC_LOCK(sc); - + bus_topo_lock(); if (READ4(sc, SDMMC_CDETECT) == 0 || (sc->mmc_helper.props & MMC_PROP_BROKEN_CD)) { if (sc->child == NULL) { @@ -486,25 +485,22 @@ dwmmc_card_task(void *arg, int pending __unused) device_printf(sc->dev, "Card inserted\n"); sc->child = device_add_child(sc->dev, "mmc", DEVICE_UNIT_ANY); - DWMMC_UNLOCK(sc); if (sc->child) { device_set_ivars(sc->child, sc); (void)device_probe_and_attach(sc->child); } - } else - DWMMC_UNLOCK(sc); + } } else { /* Card isn't present, detach if necessary */ if (sc->child != NULL) { if (bootverbose) device_printf(sc->dev, "Card removed\n"); - DWMMC_UNLOCK(sc); device_delete_child(sc->dev, sc->child); sc->child = NULL; - } else - DWMMC_UNLOCK(sc); + } } + bus_topo_unlock(); #endif /* MMCCAM */ } @@ -751,7 +747,7 @@ dwmmc_attach(device_t dev) WRITE4(sc, SDMMC_CTRL, SDMMC_CTRL_INT_ENABLE); TASK_INIT(&sc->card_task, 0, dwmmc_card_task, sc); - TIMEOUT_TASK_INIT(taskqueue_swi_giant, &sc->card_delayed_task, 0, + TIMEOUT_TASK_INIT(taskqueue_bus, &sc->card_delayed_task, 0, dwmmc_card_task, sc); #ifdef MMCCAM @@ -782,8 +778,8 @@ dwmmc_detach(device_t dev) if (ret != 0) return (ret); - taskqueue_drain(taskqueue_swi_giant, &sc->card_task); - taskqueue_drain_timeout(taskqueue_swi_giant, &sc->card_delayed_task); + taskqueue_drain(taskqueue_bus, &sc->card_task); + taskqueue_drain_timeout(taskqueue_bus, &sc->card_delayed_task); if (sc->intr_cookie != NULL) { ret = bus_teardown_intr(dev, sc->res[1], sc->intr_cookie); diff --git a/sys/dev/mmc/mmc_fdt_helpers.c b/sys/dev/mmc/mmc_fdt_helpers.c index 752e5d14bcb0..aed85dab55f4 100644 --- a/sys/dev/mmc/mmc_fdt_helpers.c +++ b/sys/dev/mmc/mmc_fdt_helpers.c @@ -111,7 +111,7 @@ cd_intr(void *arg) { struct mmc_helper *helper = arg; - taskqueue_enqueue_timeout(taskqueue_swi_giant, + taskqueue_enqueue_timeout(taskqueue_bus, &helper->cd_delayed_task, -(hz / 2)); } @@ -129,7 +129,7 @@ cd_card_task(void *arg, int pending __unused) /* If we're polling re-schedule the task */ if (helper->cd_ihandler == NULL) - taskqueue_enqueue_timeout_sbt(taskqueue_swi_giant, + taskqueue_enqueue_timeout_sbt(taskqueue_bus, &helper->cd_delayed_task, mstosbt(500), 0, C_PREL(2)); } @@ -145,7 +145,7 @@ cd_setup(struct mmc_helper *helper, phandle_t node) dev = helper->dev; - TIMEOUT_TASK_INIT(taskqueue_swi_giant, &helper->cd_delayed_task, 0, + TIMEOUT_TASK_INIT(taskqueue_bus, &helper->cd_delayed_task, 0, cd_card_task, helper); /* @@ -280,7 +280,7 @@ mmc_fdt_gpio_setup(device_t dev, phandle_t node, struct mmc_helper *helper, /* * Schedule a card detection */ - taskqueue_enqueue_timeout_sbt(taskqueue_swi_giant, + taskqueue_enqueue_timeout_sbt(taskqueue_bus, &helper->cd_delayed_task, mstosbt(500), 0, C_PREL(2)); return (0); } @@ -301,7 +301,7 @@ mmc_fdt_gpio_teardown(struct mmc_helper *helper) if (helper->cd_ires != NULL) bus_release_resource(helper->dev, SYS_RES_IRQ, 0, helper->cd_ires); - taskqueue_drain_timeout(taskqueue_swi_giant, &helper->cd_delayed_task); + taskqueue_drain_timeout(taskqueue_bus, &helper->cd_delayed_task); } bool diff --git a/sys/dev/rtsx/rtsx.c b/sys/dev/rtsx/rtsx.c index f06b493e0c15..aed0bd6c8b8c 100644 --- a/sys/dev/rtsx/rtsx.c +++ b/sys/dev/rtsx/rtsx.c @@ -633,10 +633,10 @@ rtsx_handle_card_present(struct rtsx_softc *sc) * (sometimes the card detect pin stabilizes * before the other pins have made good contact). */ - taskqueue_enqueue_timeout(taskqueue_swi_giant, + taskqueue_enqueue_timeout(taskqueue_bus, &sc->rtsx_card_insert_task, -hz); } else if (was_present && !is_present) { - taskqueue_enqueue(taskqueue_swi_giant, &sc->rtsx_card_remove_task); + taskqueue_enqueue(taskqueue_bus, &sc->rtsx_card_remove_task); } } @@ -648,6 +648,9 @@ rtsx_card_task(void *arg, int pending __unused) { struct rtsx_softc *sc = arg; +#ifndef MMCCAM + bus_topo_lock(); +#endif if (rtsx_is_card_present(sc)) { sc->rtsx_flags |= RTSX_F_CARD_PRESENT; /* Card is present, attach if necessary. */ @@ -664,9 +667,7 @@ rtsx_card_task(void *arg, int pending __unused) sc->rtsx_cam_status = 1; mmc_cam_sim_discover(&sc->rtsx_mmc_sim); #else /* !MMCCAM */ - RTSX_LOCK(sc); sc->rtsx_mmc_dev = device_add_child(sc->rtsx_dev, "mmc", DEVICE_UNIT_ANY); - RTSX_UNLOCK(sc); if (sc->rtsx_mmc_dev == NULL) { device_printf(sc->rtsx_dev, "Adding MMC bus failed\n"); } else { @@ -699,6 +700,9 @@ rtsx_card_task(void *arg, int pending __unused) #endif /* MMCCAM */ } } +#ifndef MMCCAM + bus_topo_unlock(); +#endif } static bool @@ -3690,7 +3694,7 @@ rtsx_attach(device_t dev) sc->rtsx_mem_btag = rman_get_bustag(sc->rtsx_mem_res); sc->rtsx_mem_bhandle = rman_get_bushandle(sc->rtsx_mem_res); - TIMEOUT_TASK_INIT(taskqueue_swi_giant, &sc->rtsx_card_insert_task, 0, + TIMEOUT_TASK_INIT(taskqueue_bus, &sc->rtsx_card_insert_task, 0, rtsx_card_task, sc); TASK_INIT(&sc->rtsx_card_remove_task, 0, rtsx_card_task, sc); @@ -3789,8 +3793,8 @@ rtsx_detach(device_t dev) return (error); sc->rtsx_mmc_dev = NULL; - taskqueue_drain_timeout(taskqueue_swi_giant, &sc->rtsx_card_insert_task); - taskqueue_drain(taskqueue_swi_giant, &sc->rtsx_card_remove_task); + taskqueue_drain_timeout(taskqueue_bus, &sc->rtsx_card_insert_task); + taskqueue_drain(taskqueue_bus, &sc->rtsx_card_remove_task); /* Teardown the state in our softc created in our attach routine. */ rtsx_dma_free(sc); From nobody Mon Mar 10 17:35: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 4ZBPDx1KrNz5r7Pt; Mon, 10 Mar 2025 17:35: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 4ZBPDx0KP7z3TmK; Mon, 10 Mar 2025 17:35:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741628145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qmL+wvQn3HrZs3pzUQ0H8PIjPyMj0uO8Jz54eGbn9Es=; b=PS7H2QCJOnxOlaHVz4mrk/cStqhgk88RSOH/zkYcZN5MOLiHg1iztlAEvVKl2DvWMADNo9 NdE1ulSs3KQ+1khAM2NEdBMHxdofB8wv3p4b3DZ7Mjde9YpgNzWyovsEXQ+sdFE2zNYuuu GRZA5EGiP+Y3f9VZ7F5WkCySYfKglsdOweZmbX28GYH9sa5XcCtEpXBk4d76sq3kWv2fQ0 tFvAKVSSB8g0lpox/scxbpXZwyDmEV4nLZDft36DBqVUtLZX7Yg8zn9eWIFV59Pgr92kTH 3suqlWha3bNcb3AMdtODb2NhR+LdKVIiUvtT7u9V0tpSkVhWMo8ML39zLRBTMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741628145; a=rsa-sha256; cv=none; b=hZmokJBGd4+tH5wWC7O4kcB0fhtt64biO4W1P2kuyeluys025D9SL5BMseVFUFI+jFeflb zWqPceVpI0w+PwSaxe7Q+rS7USns7UI4KlWxZcXlUIqs3GBIcCwjsMTiu56V/pgc35fcFJ 9vOdM8RpTUvmODVOmaL9+ES+Nj+TQIu1kSqZJSzoaYW+6u1LRquGRNeXPPMbBnid3kJzx0 Klgbl0e2H4Yemt5yLXo14XbHiOwn3hnnkDw3NaOcGE4MF2NTOKR+XQoeiYxLkz+Gc0k6Ce IELM/rXSe9+qLEIu9ocXJQ6d+lEUsB9CGsFjRog69zjePc791ecPHoLZXfUj2g== 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=1741628145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qmL+wvQn3HrZs3pzUQ0H8PIjPyMj0uO8Jz54eGbn9Es=; b=bpmHT4BtITYXhv6RfN0eqToTV4Ixef2SPakU7CfsF/uQbBZ7i8uQcWtbN3nl7/RD7DRPb9 Ni5t5EjQAW5CErW9QdzXMBi+0aBmnmEJXxYdOrEw77yxjiqSbBVFhJAXeQIEgRIZbXCbPo zrjrm+JcYnuERufEKSfpK5faGVfc/jygFUNKJwWFUNvAYKj7VO77Dm3s+RcpJUHOu1qF5m CPBuhdMF7/1L0y+GlgPHgi6BCWIajypJQ3ROYAWVrjwsyGFrZ8MDnPhVNrJtidGoZ8cHYb Ndtl/t8OsPJ9HMiRe2aAE1xQCNefyq9S6kqLAkFiUYmm/UlEMUDvGktJ/9HIfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBPDw6mrlzqNv; Mon, 10 Mar 2025 17:35: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 52AHZiPf027213; Mon, 10 Mar 2025 17:35:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AHZiu6027210; Mon, 10 Mar 2025 17:35:44 GMT (envelope-from git) Date: Mon, 10 Mar 2025 17:35:44 GMT Message-Id: <202503101735.52AHZiu6027210@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: 78cd83e4017b - main - devclass_alloc_unit: Go back to using M_WAITOK 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: 78cd83e4017bccf62a291e57f0cceccf80e50423 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=78cd83e4017bccf62a291e57f0cceccf80e50423 commit 78cd83e4017bccf62a291e57f0cceccf80e50423 Author: John Baldwin AuthorDate: 2025-03-10 17:34:44 +0000 Commit: John Baldwin CommitDate: 2025-03-10 17:34:44 +0000 devclass_alloc_unit: Go back to using M_WAITOK This restores a change made earlier in f3d3c63442fff. This reverts commit 234683726708cf5212d672d676d30056d4133859. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49273 --- sys/kern/subr_bus.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 38a8cab639e4..63de61262554 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -1211,7 +1211,6 @@ devclass_get_sysctl_tree(devclass_t dc) static int devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) { - device_t *devices; const char *s; int unit = *unitp; @@ -1268,11 +1267,8 @@ devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) int newsize; newsize = unit + 1; - devices = reallocf(dc->devices, - newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); - if (devices == NULL) - return (ENOMEM); - dc->devices = devices; + dc->devices = reallocf(dc->devices, + newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); memset(dc->devices + dc->maxunit, 0, sizeof(device_t) * (newsize - dc->maxunit)); dc->maxunit = newsize; From nobody Mon Mar 10 17:35:45 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 4ZBPDy4c8yz5r7Hj; Mon, 10 Mar 2025 17:35:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBPDy1KLyz3TYw; Mon, 10 Mar 2025 17:35:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741628146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7lQm9SXYQjaK+De0lOYIneYgXRvsCv9o00uKE/WP3MI=; b=tBWKX1yYYkRAlVZQN8bUtpjiusfU3WjuzpfAPeMstjVJX5cP/I9Tth6AfHbAYGv5aY55HW KSDK0fzYeSgx7gcY46+i72HbbujYZnYSG6mgDwDJSuDmomR9qaogoGNdBLHrVwlaz9wU47 fAZclqN67k+9M1t3A35WhTfjt4nqzBWcpisHBsY5OhM4QuEa13t+NOihf/hi9MHbF1Csug jF4cOkMBkCrlp36I0wtHecHaOAZlPjek/rD6UXcKifkIdypJduwG9XGK4OwDzLqTKtlkOL BrdrGAFn3kJS5icVv9S92lNAnVOjQ/dJ5hJKxpwjBbIiqpPqtI0ZD+/u280QEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741628146; a=rsa-sha256; cv=none; b=fNqh5bIU3OAMoquOdFVSzVQSWSjWBMfoV6ShdIln/2NtLBCrQXj0YTph3XGfL5UhA6rO8Q O99REqk6uwfSTKBJMVkstrZhjM6vhlF0mqmL1UYIKY92vvX99HpMet/F3r27QxWrc3J56e fsU7KjVoYjvbdJP7KTfm2ShE3WPqPm6z4A/7kram/FEt1euX8zz1pNYqaJipmxhqOsbcfK 25T3A93DNGFMoN2auQZz0+EWflckLknYTlFq39GSrVbD2J4PU0w/1SS47cC7w03uqsEOBP Z8Moy5tK4gArSGSUA7aBBxuczd6/gLZrq+gLOr41SfjiW/cnSpjzVjOe0NOZOQ== 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=1741628146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7lQm9SXYQjaK+De0lOYIneYgXRvsCv9o00uKE/WP3MI=; b=Cmmm0f8qTYIPJLouIvHdvvVv/+jXyV0rtp6h/lRPbXZ+qI7sIDi+YceR1EDw8pqm/T8J5j T2QrZmJb75cRgkx8Qn2TxZ2v05kA/tEbxGUgJAyr8zXbuMHvTGnWleQoyC583eaIs96BBO SPXLdd3gw1rw7GPYfneNNyOhRf4eh5a3TmoRdiuFXOLAURYmOJH238AHaVXLTK1O2QF/iv ZJqltcUPCGIEGbgdVTLLyg7NpQAWQV3gL4sj5jm+lPp+JooryONZvQwAygnh2nPW2P0Ykj 4uCJqyBvjOEjwHHpZYuovHzo4g/wFNOkPD2dd909VLK9fIQZO/sfoiIFW0OMAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBPDy0gZXzpyV; Mon, 10 Mar 2025 17:35: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 52AHZjlE027247; Mon, 10 Mar 2025 17:35:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AHZjkX027244; Mon, 10 Mar 2025 17:35:45 GMT (envelope-from git) Date: Mon, 10 Mar 2025 17:35:45 GMT Message-Id: <202503101735.52AHZjkX027244@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: b8b5cc330490 - main - new-bus: Use M_WAITOK in more places 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: b8b5cc330490810fc28621ac16d8147d9c53c276 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=b8b5cc330490810fc28621ac16d8147d9c53c276 commit b8b5cc330490810fc28621ac16d8147d9c53c276 Author: John Baldwin AuthorDate: 2025-03-10 17:35:21 +0000 Commit: John Baldwin CommitDate: 2025-03-10 17:35:21 +0000 new-bus: Use M_WAITOK in more places M_NOWAIT is now only used for devclass_get_devices, devclass_get_drivers, and device_get_children. Other functions are generally called from sleepable contexts such as module event handlers, attach/detach routines, and the ioctl handler for /dev/devctl2. Suggested by: mjg (devclass_add_device) Differential Revision: https://reviews.freebsd.org/D49274 --- sys/kern/subr_bus.c | 31 +++++++------------------------ 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 63de61262554..1cbb91634d43 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -575,9 +575,7 @@ devclass_find_internal(const char *classname, const char *parentname, if (create && !dc) { PDEBUG(("creating %s", classname)); dc = malloc(sizeof(struct devclass) + strlen(classname) + 1, - M_BUS, M_NOWAIT | M_ZERO); - if (!dc) - return (NULL); + M_BUS, M_WAITOK | M_ZERO); dc->parent = NULL; dc->name = (char*) (dc + 1); strcpy(dc->name, classname); @@ -711,9 +709,7 @@ devclass_add_driver(devclass_t dc, driver_t *driver, int pass, devclass_t *dcp) if (pass <= BUS_PASS_ROOT) return (EINVAL); - dl = malloc(sizeof *dl, M_BUS, M_NOWAIT|M_ZERO); - if (!dl) - return (ENOMEM); + dl = malloc(sizeof *dl, M_BUS, M_WAITOK|M_ZERO); /* * Compile the driver's methods. Also increase the reference count @@ -1306,9 +1302,7 @@ devclass_add_device(devclass_t dc, device_t dev) buflen = snprintf(NULL, 0, "%s%d$", dc->name, INT_MAX); if (buflen < 0) return (ENOMEM); - dev->nameunit = malloc(buflen, M_BUS, M_NOWAIT|M_ZERO); - if (!dev->nameunit) - return (ENOMEM); + dev->nameunit = malloc(buflen, M_BUS, M_WAITOK|M_ZERO); if ((error = devclass_alloc_unit(dc, dev, &dev->unit)) != 0) { free(dev->nameunit, M_BUS); @@ -1385,10 +1379,7 @@ make_device(device_t parent, const char *name, int unit) dc = NULL; } - dev = malloc(sizeof(*dev), M_BUS, M_NOWAIT|M_ZERO); - if (!dev) - return (NULL); - + dev = malloc(sizeof(*dev), M_BUS, M_WAITOK|M_ZERO); dev->parent = parent; TAILQ_INIT(&dev->children); kobj_init((kobj_t) dev, &null_class); @@ -2116,7 +2107,7 @@ device_set_desc_copy(device_t dev, const char *desc) { char *buf; - buf = strdup_flags(desc, M_BUS, M_NOWAIT); + buf = strdup_flags(desc, M_BUS, M_WAITOK); device_set_desc_internal(dev, buf, true); } @@ -2476,13 +2467,7 @@ device_set_driver(device_t dev, driver_t *driver) else policy = DOMAINSET_RR(); dev->softc = malloc_domainset(driver->size, M_BUS_SC, - policy, M_NOWAIT | M_ZERO); - if (!dev->softc) { - kobj_delete((kobj_t) dev, NULL); - kobj_init((kobj_t) dev, &null_class); - dev->driver = NULL; - return (ENOMEM); - } + policy, M_WAITOK | M_ZERO); } } else { kobj_init((kobj_t) dev, &null_class); @@ -2935,9 +2920,7 @@ resource_list_add(struct resource_list *rl, int type, int rid, rle = resource_list_find(rl, type, rid); if (!rle) { rle = malloc(sizeof(struct resource_list_entry), M_BUS, - M_NOWAIT); - if (!rle) - panic("resource_list_add: can't record entry"); + M_WAITOK); STAILQ_INSERT_TAIL(rl, rle, link); rle->type = type; rle->rid = rid; From nobody Mon Mar 10 17:41: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 4ZBPN01Mrqz5pPY9; Mon, 10 Mar 2025 17:41:52 +0000 (UTC) (envelope-from rpokala@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 4ZBPMz6rjPz3Z9J; Mon, 10 Mar 2025 17:41:51 +0000 (UTC) (envelope-from rpokala@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741628512; h=from:from:reply-to:subject: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=kTFJM1v73EHxeoF2qkcAJoWyHoyHVM7gGjpqK/xmrsk=; b=i22eecTMaCHwusrZOujqqx+RK/gThmjX37zTpRMi7fuwBdYqZnRPnoltH5NqCAQzOqzj63 37c5Sqz7oVUqDP9isbynfCBi8SapE31M0YvySp9Cho7HG5O0zS47umtScS36aedtCprEtD LhVNTEmGMEodZq9GRyoolHX8CcyCAGx0qNfvq3nqPbzwx5oJAYa9i6VLDk2ka6KG8nX5Al vbjTmd108QycHHe6wks2K0ZMCxOGxWC0pIRpPsZBJn0JFy0gjfHcjg6aAZWVwMujfETEDg A/0C4XE2rWWATvJWg3p5xEDp4BXSSvD8tHwevuQK6JSgc+0/CnYaB1MXB7ATlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741628512; a=rsa-sha256; cv=none; b=JdrKxlZTrCKWond+2V7NbAtECMpdFd8QfKOBiFGKA5GaX/CpZXBLGO71fd3DSY+DobL/8Y 6BULoJ7DG8etunhFxECgjW1iVEGv3cyb/ltzQsHbdi9PRU64pltuzWaI7svLZV845pSyEu OTHSyXOUOnKLWHZ5CV/P9RwKDsC8S77wwtnQx5wkkUet5jUGhC66hGDPalvlSeRYOpNhLs nc6Ol/fXE602SWI6QSOf2Zht77nlkbVhLlVED3P9tkceExLolIcaj64Xux11rjjQZ8Grry xSQfNq/00BX7VxgXemtB4VvkK+WD+d872neLYQn+VEDpHG42gkg1xo2Fc33bWA== 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=1741628512; h=from:from:reply-to:subject: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=kTFJM1v73EHxeoF2qkcAJoWyHoyHVM7gGjpqK/xmrsk=; b=fyx4lP9KJ6zsR8a4jj+G+bm9NWpeGWnvKKhL0Nsb5CEhW7nj4tiyIUmhslx5dzJ62jS8IU FpiIafXZb99jC6+/nIFVtcAUQ+IBP6zFQoZKko8oHBkL8zDBRrQmZBqfYrEGKgj8lCZlnA lINGcCgvmhdoNf7OeZ5uGDOdYmRS0u1aGxSevTJ4bcWH78/XBFC53rx30483HIlz5hFgTJ HE1HKBmggTCr8lJd8E/jNl8De2KE8AGEScfgcLKy0alOhxrxtjMxg0f7RFGaRo6j/EPz+9 BNTEUpuRfV1eMjmO/jwuYp5x6cB6jM7ngSLeJoz1OJt6NQj/BvnjSScZLI7TpA== Received: from [192.168.1.52] (c-73-231-46-254.hsd1.ca.comcast.net [73.231.46.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: rpokala) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZBPMz2Gbjz1Bcb; Mon, 10 Mar 2025 17:41:51 +0000 (UTC) (envelope-from rpokala@freebsd.org) User-Agent: Microsoft-MacOutlook/16.94.25022327 Date: Mon, 10 Mar 2025 10:41:46 -0700 Subject: Re: 78cd83e4017b - main - devclass_alloc_unit: Go back to using M_WAITOK From: Ravi Pokala To: John Baldwin , , , Message-ID: <14C8991D-C686-48DC-9E5D-5F40CE1C75BB@panasas.com> Thread-Topic: 78cd83e4017b - main - devclass_alloc_unit: Go back to using M_WAITOK References: <202503101735.52AHZiu6027210@gitrepo.freebsd.org> In-Reply-To: <202503101735.52AHZiu6027210@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: text/plain; charset="UTF-8" Content-transfer-encoding: quoted-printable Hi John, > This reverts commit 234683726708cf5212d672d676d30056d4133859. The commit message for that change says that this allocation might be done = while holding a lock, and so M_WAITOK is not valid. So then why is this chan= ge okay? Thanks, Ravi (rpokala@0 =EF=BB=BF-----Original Message----- From: > on behalf of John Baldwin > Date: Monday, March 10, 2025 at 10:35 To: >, >, > Subject: git: 78cd83e4017b - main - devclass_alloc_unit: Go back to using M= _WAITOK The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3D78cd83e4017bccf62a291e57f0ccec= cf80e50423 commit 78cd83e4017bccf62a291e57f0cceccf80e50423 Author: John Baldwin > AuthorDate: 2025-03-10 17:34:44 +0000 Commit: John Baldwin > CommitDate: 2025-03-10 17:34:44 +0000 devclass_alloc_unit: Go back to using M_WAITOK This restores a change made earlier in f3d3c63442fff. This reverts commit 234683726708cf5212d672d676d30056d4133859. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49273 --- sys/kern/subr_bus.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 38a8cab639e4..63de61262554 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -1211,7 +1211,6 @@ devclass_get_sysctl_tree(devclass_t dc) static int devclass_alloc_unit(devclass_t dc, device_t dev, int *unitp) { - device_t *devices; const char *s; int unit =3D *unitp; @@ -1268,11 +1267,8 @@ devclass_alloc_unit(devclass_t dc, device_t dev, int= *unitp) int newsize; newsize =3D unit + 1; - devices =3D reallocf(dc->devices, - newsize * sizeof(*dc->devices), M_BUS, M_NOWAIT); - if (devices =3D=3D NULL) - return (ENOMEM); - dc->devices =3D devices; + dc->devices =3D reallocf(dc->devices, + newsize * sizeof(*dc->devices), M_BUS, M_WAITOK); memset(dc->devices + dc->maxunit, 0, sizeof(device_t) * (newsize - dc->maxunit)); dc->maxunit =3D newsize; From nobody Mon Mar 10 18:13: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 4ZBQ491sW1z5pRh9; Mon, 10 Mar 2025 18:13:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBQ490Pxxz3n72; Mon, 10 Mar 2025 18:13:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741630393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mXmwtUnHnke2zjwCvCLKOXq0uTNb4KULgBv1zYBczpU=; b=roeUB/FXsN8VA4P9+dxcYXGNf9F8tRzLpcLfy7KZkwXs2SY7swfA9YbkQiMh5AQHlQlMiy 2JpuHFBxWLPHZ3EUTUMkssfbcEOaPIFxYuQcP+KrhQdJ4rY+NS6GnNM0c+74iFj/mIeDuq OUNmuop5xmlA7jiFFTOhYGwUZtqinhBZczHJR1WVfrJe6jjKTY75Ofan7gdAT/ihQje+cz 3Tg4/pJFc8oOgM45Q0taIOQSLov47rD4MIOpayD2DrKFCwJMaQhNGtNqWdONnyRAToo47d dcrRBpNUhijkyinaoe7zuGZCCiCUR5ct4vFKaU9uz9+RJdawXp1bU8/kgUMvrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741630393; a=rsa-sha256; cv=none; b=rH9cNrW8hCbAmHonEWSNjKJw2G8vDSGZzUAuJo22zxAMcAlACnGxPVswqAouRINtoER33/ ErPgcTv9rmWs2EmKS4/L/FrVwceyuLwo+o7UdGN1+sHnwPXIEwwR8vIo1YNv+nfBbqs4mV 0TwgjsEWEz6GFWhmasrAGklUTJJx7a9QaSHY/T+iQAmN2dU3puoAz0qV/ikiEbBOGqQQru CAlATtKQNmtEpaQc13N0tfyqEKjkUaEmtCQNc3HmOgsW4dZjKCcMcjcjikfJgKcXpqQsLI uSXoH2NyDPKeJlIDeExU0zPbP9eY2Gft5CIzPRrN8lBcfNbwjZKTRxy+40fjyQ== 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=1741630393; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mXmwtUnHnke2zjwCvCLKOXq0uTNb4KULgBv1zYBczpU=; b=u2h0Yckbgb4AaRt54U4H/YeJ/up70xcPOSOoQwWq1vLIbKRP01p+1lJFNWSkrktJw71eOp jWz/2EMPmiHZBps1veePIa1x3EPBX6DjKf217poStjSHf8cE4J/N74qECEBAZ7TcXDeMqJ EV5x+xcxv9fLXJdnhOnwxMOwQtriGJX/PjTV5KppfMqeeOx9oY7dHxdiWbsBMvl63txEvp IjvLW31YMlgKlqIPCK7X5RFjDV4LxZzAE8Q3czT7hshL3rmcrMpsi8Rziz1l52S7BWA0q4 kcTIgwxFH5diAN3GuyIcudDav7Ni1oIucQ6hUOp9MdPP34nY27VJMqD/9M/c4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBQ486fTRzr9S; Mon, 10 Mar 2025 18:13: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 52AIDCKM001438; Mon, 10 Mar 2025 18:13:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AIDCZ8001435; Mon, 10 Mar 2025 18:13:12 GMT (envelope-from git) Date: Mon, 10 Mar 2025 18:13:12 GMT Message-Id: <202503101813.52AIDCZ8001435@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: b9752d5d1cea - main - linprocfs: Correct sysfs /proc//mountinfo entry 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9752d5d1cea30a39e89c83ea3aeb539581418cb Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=b9752d5d1cea30a39e89c83ea3aeb539581418cb commit b9752d5d1cea30a39e89c83ea3aeb539581418cb Author: Alex S AuthorDate: 2025-03-10 18:12:36 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-10 18:12:36 +0000 linprocfs: Correct sysfs /proc//mountinfo entry Technically mount source could be an arbitrary string (since it's effectively ignored), but it's common to repeat fs type there. --- sys/compat/linprocfs/linprocfs.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index 587c7412d80a..cfb054235489 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -446,9 +446,6 @@ linprocfs_docpuinfo(PFS_FILL_ARGS) } #endif /* __i386__ || __amd64__ */ -static const char *path_slash_sys = "/sys"; -static const char *fstype_sysfs = "sysfs"; - static int _mtab_helper(const struct pfs_node *pn, const struct statfs *sp, const char **mntfrom, const char **mntto, const char **fstype) @@ -476,8 +473,7 @@ _mtab_helper(const struct pfs_node *pn, const struct statfs *sp, } if (strcmp(*fstype, "linsysfs") == 0) { - *mntfrom = path_slash_sys; - *fstype = fstype_sysfs; + *mntfrom = *fstype = "sysfs"; } else { /* For Linux msdosfs is called vfat */ if (strcmp(*fstype, "msdosfs") == 0) From nobody Mon Mar 10 18:13: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 4ZBQ4B2dd0z5pRL3; Mon, 10 Mar 2025 18:13: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBQ4B17Ybz3nR1; Mon, 10 Mar 2025 18:13:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741630394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=icm6ZlOHMUTuedIwbsFdyO82ra6NOysbjuZa+jVS1BU=; b=HTXrkaNztLUqLqKr8voDo0u48UyOeqmmY25ao5s/J+5v8kfB9mji0ENbIaNV84Az4pBmfH YBmcme1DjIx/C15STeW8/2tadBewglBmi+jp8XRE4yuhwAZ2I64Jejvx3/1K4UhMRpeiwQ 3hHta3CMJO+fxvfm88qwr/yXUSJPCoP9X+28k0oPnN5C0BlKcvLCn5TAW0Z0SqryCGJFy5 qzHqM3qK+qHqMWfbkBnaCSaCs2OBuCJmyWfRo80a1k1WG6n1VUObij8ix56CmBnSfd3Bln 8qRNqS9dDbhEbaDqD44rTQrKyF5VIiPU/z1ZJnzDqVuKFBMVq/AuF1mhf0WQFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741630394; a=rsa-sha256; cv=none; b=v/TBW0MBxYDeL35YjXuVyO+SIRf+XPPS/sQrDSXFUazC84w3rleS4tktHAaYefFJYTfk/m FT0Jzg2aTE/uZ6aS8tMJIJEv6aZGE/j4n+qEDVaWDsjQPn2HREwVbSR+9q+hh//rHf8xc6 hLPNXGrXhfsH+wXmH7127JWGtA4XnUU1r7eiaNgx1BMG7Q6OLegB8tjuXcOwJIvhLW/V1l KOtLWKtv6TsGFpRO2S41CB1hgJIKGec118O7avMbhSOVzccOeYyaMdnBchBjIlGzf/KUL5 e7J3BaNKhJgIj5YdPJccgVppI4rBRu562wbs6jCMTNhbw890LOr7QDIbmIUOmA== 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=1741630394; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=icm6ZlOHMUTuedIwbsFdyO82ra6NOysbjuZa+jVS1BU=; b=L/uRT8NJRwWJ/y9StCJf+i7Lh3cCuIvK+9hjCbDHIvdLCb8NzY4tgSWHEnF94eE2rWjUKw VnhKHJy0nrlFh9unj3Ld/QCKR3Bh3PCdjPLqolbapaZalbPO1elJ8Jyp5a0sX9OoyAScbe Rf2F1z1zLv3cGxMdRKf7Tdwoz6aA9EjK6Jwq50b8z9jbyHzxXAYiVNuwXGRXNNcjT/iwgt E0Z9JnZZA3xFLkVlyQqL+SBSSk77SyJY7hDvY/WpJ3ubBNj3XmthdlX3BoScX+Zt4coqPz NARV6xDYeuhKVqVk/YoUv5cJPegSzoxAGuEmPcuCZ41eRTqxcJz6swmITnR5TQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBQ496xZ9zr9T; Mon, 10 Mar 2025 18:13:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52AIDDin001470; Mon, 10 Mar 2025 18:13:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AIDDw0001467; Mon, 10 Mar 2025 18:13:13 GMT (envelope-from git) Date: Mon, 10 Mar 2025 18:13:13 GMT Message-Id: <202503101813.52AIDDw0001467@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 9f55630b8d72 - main - linux: Fix a typo in linux_recvmsg_common 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9f55630b8d72602f6ec86b15b607f5fc5fde911e Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=9f55630b8d72602f6ec86b15b607f5fc5fde911e commit 9f55630b8d72602f6ec86b15b607f5fc5fde911e Author: Alex S AuthorDate: 2025-03-10 18:12:36 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-10 18:12:36 +0000 linux: Fix a typo in linux_recvmsg_common We are supposed to check the result of bsd_to_linux_sockopt_level here rather than its input. --- sys/compat/linux/linux_socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c index 6c6751ad30a8..a33b502f2201 100644 --- a/sys/compat/linux/linux_socket.c +++ b/sys/compat/linux/linux_socket.c @@ -1858,7 +1858,7 @@ linux_recvmsg_common(struct thread *td, l_int s, struct l_msghdr *msghdr, lcm->cmsg_level = bsd_to_linux_sockopt_level(cm->cmsg_level); if (lcm->cmsg_type == -1 || - cm->cmsg_level == -1) { + lcm->cmsg_level == -1) { LINUX_RATELIMIT_MSG_OPT2( "unsupported recvmsg cmsg level %d type %d", cm->cmsg_level, cm->cmsg_type); From nobody Mon Mar 10 18:13: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 4ZBQ4C5hvsz5pRMH; Mon, 10 Mar 2025 18:13: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 4ZBQ4C369Lz3nTc; Mon, 10 Mar 2025 18:13:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741630395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q07j2+jOia0rKLtXBihZ4cvkFMwj/OwcNYDUE3STYXE=; b=nhjO78jG2LYLAGaZ9tJSUgZmR4St9vBAkBT1zKvZWk7DfVigkS9oGPAW5YlgZPOVxf95vP GsTt4l8mDo8DQwAq5AwDeUvG6TEksWbl4K6KgXXh0oXsVCkhOCzHwdj/Kz7OfQhmUGXRDr USz3Vte4uMZu/D+ZvxL5AYUtfftfE6+LTLQbls3aIHHTXv1vgGUU60tr7Of32BjbpHNvvR zYrtgZQxMYCnLgebTSuIZgQAXsFDU4m+c2gB5LfWSWzfETdP+5fs83TLTl1vYfSQp7HmD2 IdnHPo7vbIHiq1gUbgCCjXPv2eHiqPv7w/mA6rurJukoMhpKXG1iUFMkSUrWPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741630395; a=rsa-sha256; cv=none; b=AXXpziafZR/6jKprYtFTvxj9kkIdCa2LmMp2dEEMG9x10IJ4UAoQPDsphawHo6Pe6DiMDM KEOAr2BymMbc4MFdhzoycaibNHI0oijW5RU9LBjaUf5ZTJa9bxLviLP2B/pALFUTH88ukE V7aBFvwvhW0pfZbhKkxtLHFa7sBxEq7MvqRFBK8/YiO5ySjpBK6JHX6HObak7wyWx/2ly8 M4W7/vyTlDX5cdaikTbrMCGwCD/fP5bTUYcQIYozHwG32DXSfjol+YLP1zuZ0wq4PF/1Rq oBNfqXkT3PIftPa/mvAAPvyuFMf2gQlkNR8rMC5Vp7WmlsLVS1RV1zxDpXNdvA== 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=1741630395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Q07j2+jOia0rKLtXBihZ4cvkFMwj/OwcNYDUE3STYXE=; b=QPv/6Q41pC5j5Ch3l4fGbJVrjzVdNQc0hwRIwLdrI+AFRmdewf1woVZZdaYN3G19MZDhgm B1rfaKCcr5nzlBuOszQN3/BhLWunZDTjVqwIDeRHY6CkleSJWFgaY+HwKYHcCh3WHYsCQy GCv8XekALtrSrPw19tOOmrRiOLG/FcKxPWoQCqEss4HXIYbGCgiajA8rikCFLkrF80TRX0 ldp3k9pQFi/RT/UqxA6aq6hjRKOdHrvECO7kR0jJ4bfvUOgr9rn72oGAn9ZDMzLOcFWyRU vhVwo3VUM7mgefHJBdkgz70yK8eH8A7gNCHqJ1LRxJDzOtUj5zhmGw4qvZ+ydQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBQ4C0lQhzrKv; Mon, 10 Mar 2025 18:13: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 52AIDFK2001502; Mon, 10 Mar 2025 18:13:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AIDFZD001499; Mon, 10 Mar 2025 18:13:15 GMT (envelope-from git) Date: Mon, 10 Mar 2025 18:13:15 GMT Message-Id: <202503101813.52AIDFZD001499@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 186dc094cf1c - main - linux: Handle IP_RECVTOS cmsg type 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 186dc094cf1ce14b26c6dfa329a445357121238a Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=186dc094cf1ce14b26c6dfa329a445357121238a commit 186dc094cf1ce14b26c6dfa329a445357121238a Author: Alex S AuthorDate: 2025-03-10 18:12:36 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-10 18:12:36 +0000 linux: Handle IP_RECVTOS cmsg type This unbreaks apps using GameNetworkingSockets from Valve. --- sys/compat/linux/linux_socket.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c index a33b502f2201..539d153431c4 100644 --- a/sys/compat/linux/linux_socket.c +++ b/sys/compat/linux/linux_socket.c @@ -135,7 +135,6 @@ linux_to_bsd_ip_sockopt(int opt) LINUX_RATELIMIT_MSG_NOTTESTED("IPv4 socket option IP_RECVTTL"); return (IP_RECVTTL); case LINUX_IP_RECVTOS: - LINUX_RATELIMIT_MSG_NOTTESTED("IPv4 socket option IP_RECVTOS"); return (IP_RECVTOS); case LINUX_IP_FREEBIND: LINUX_RATELIMIT_MSG_NOTTESTED("IPv4 socket option IP_FREEBIND"); @@ -663,6 +662,8 @@ bsd_to_linux_ip_cmsg_type(int cmsg_type) switch (cmsg_type) { case IP_RECVORIGDSTADDR: return (LINUX_IP_RECVORIGDSTADDR); + case IP_RECVTOS: + return (LINUX_IP_TOS); } return (-1); } From nobody Mon Mar 10 18:15: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 4ZBQ7H0crqz5pRt0; Mon, 10 Mar 2025 18:15: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 4ZBQ7G4m38z3pSs; Mon, 10 Mar 2025 18:15:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741630554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tNTmDCGdkZ1C91xTaJCTnoiD+tJeVXXqNz2XSjpmLz4=; b=PB9PHzdKIgGAz8d3fHEAhHLE4XNnv6/onreBQT6FKQzRy5ROmn+9JtykLAfxH79po/jQJf Nqm4ljJMBJgiPa4esbiEf6sYUx9wQmA0uw3oNdJlR6P+/D34Ga/lnhuagfnqF59gnvQ7GK BphSVOkAEDdibSmatANgpQn1c8pTLkdLE3uclELVGgjrQcOJk5kFnlpqRfLuCtN7BeU8VE 2H92mXUyfBbqQaxFC8ufxq3O6EUTmtXK4pxM0olTJMLvTtDSL4edKKtT+yBKY74WR29LgR K0pf9GdgN/56nXo9F6Ix+bEO/I22Mnsflb3BCHBjr91kueM8hujg8GV3NAHhUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741630554; a=rsa-sha256; cv=none; b=RqVb8sNrvHdMTbdEBpFgG917NY9+Odmqqz0N4gM9QAdglB5aHQOIWaY6tzrPThl7Jknb+E pOiisaGMR/Xr8CICMAjyBjqIuXzFHJ8Eaq44CAIVDEX9RLAZrPyCHUsTvEp/W8ktcUsF2e inxobcKgxC3QlV6o8RzNHuulOtJgcSIpePpbF11v8mzMDShgSMxBtn0SfArewIFEcRDegI HOxhZF/4omfPTo1iKNI+SVc/XF2gRavFHcwbgqCNeG67AUN60o7bHI8VAqVDvyawxc/fK/ n01NB/KoR1iD0GrLgUBl+4qVxHBPOGp5AQ+GTW+BLek45i6++ipaGxA7tsOhcQ== 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=1741630554; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tNTmDCGdkZ1C91xTaJCTnoiD+tJeVXXqNz2XSjpmLz4=; b=G29AjkFizPM0T9xrN4jMmYTuW610cD2X13xfkPKfeDXlKkCOKHx1py1SCnck4l1y1v3zKT iDfMomy8J+KJ2It2hj67H9d23D5znaHClgI63k5GJc3GHp0+5tUMwB6HyX34wYh9SOlHkC w3QFkRG/+eFJxu/c8rvjmV+KEhRl6CB+5idhQNxVL0h609V1moJVhIxsNJRTSvj8R90jgw MlFDmUlR9OshvgYCQ8TC9DpHtOC29CQ5zhIkQDRqFrzlUq5L4siwXCJs8lvWhf0Qd3Ezcr 9SuD7GWz3oc72ahI1SffhDdn07fTw+9f+5vNVjY28xKSBuAV8gQWVk3t/n1l3A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBQ7G4LJGzrJT; Mon, 10 Mar 2025 18:15: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 52AIFsQW002557; Mon, 10 Mar 2025 18:15:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AIFsT4002554; Mon, 10 Mar 2025 18:15:54 GMT (envelope-from git) Date: Mon, 10 Mar 2025 18:15:54 GMT Message-Id: <202503101815.52AIFsT4002554@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: 2fa091dcfb2b - main - Makefile.inc1: packageworld: remove non-NO_ROOT cases 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: 2fa091dcfb2b973704aeb25fd8b0499f638f8114 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2fa091dcfb2b973704aeb25fd8b0499f638f8114 commit 2fa091dcfb2b973704aeb25fd8b0499f638f8114 Author: Ed Maste AuthorDate: 2025-03-10 18:15:10 +0000 Commit: Ed Maste CommitDate: 2025-03-10 18:15:44 +0000 Makefile.inc1: packageworld: remove non-NO_ROOT cases The packageworld target requires NO_ROOT to be set (and there is a check that this is the case). Remove the now-unused non-NO_ROOT cases. Reviewed by: brooks, bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48590 --- Makefile.inc1 | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 9cd4d3b63cae..3569d068095c 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1568,28 +1568,16 @@ distributeworld installworld stageworld: _installcheck_world .PHONY packageworld: .PHONY .for dist in base ${EXTRA_DISTRIBUTIONS} -.if defined(NO_ROOT) ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ ${TAR_CMD} cvf - --exclude usr/lib/debug \ @${DESTDIR}/${DISTDIR}/${dist}.meta | \ ${XZ_CMD} > ${PACKAGEDIR}/${dist}.txz -.else - ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ - ${TAR_CMD} cvf - --exclude usr/lib/debug . | \ - ${XZ_CMD} > ${PACKAGEDIR}/${dist}.txz -.endif .endfor .for dist in ${DEBUG_DISTRIBUTIONS} -. if defined(NO_ROOT) ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ ${TAR_CMD} cvf - @${DESTDIR}/${DISTDIR}/${dist}.debug.meta | \ ${XZ_CMD} > ${PACKAGEDIR}/${dist}-dbg.txz -. else - ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \ - ${TAR_CMD} cvLf - usr/lib/debug | \ - ${XZ_CMD} > ${PACKAGEDIR}/${dist}-dbg.txz -. endif .endfor makeman: .PHONY From nobody Mon Mar 10 18:15: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 4ZBQ7G28BZz5pRw5; Mon, 10 Mar 2025 18:15:54 +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 4ZBQ7F6y8kz3pWY; Mon, 10 Mar 2025 18:15:53 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741630554; h=from:from:reply-to:subject: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=4ahwZQuQSdwmwvvQUSwWrAAyw+W36t0V+shzZw8DAxQ=; b=LRBHfdA8TARhN/2GFQ54VC5fGk2sE52FOatD0pvdYQrIRjwjcRb1Fd1eg/pfo73aztkcav 4hlnT4dm8V7atAkeLFtPjm1+0CyDtLLPJmqjFY/Xl4WXipf9XKZBxPx1qyg36SC2wSyiQa bD0zFbsiEktwcqZBDx0TlGUaQ3C2RBO0G5Lpa8vVGhhWp8/Mi9huIQt3rHAY12mBrCihkr rrrgjKNyLrcElj+ySwOpfiUXInq+9p1FWKYZWFColPeF6isB3bxbwAMv4G+LPs4pCUL/fj gbkIZAbzJU9HLFGT9DYmpIZPwOjXeqWEoodX+bT974MXVG4bAuWwLROKo6q9sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741630554; a=rsa-sha256; cv=none; b=mImTvy3avUU3fPjbNeBiyd0LrJqPYlJGOEBpT+TdLonzed0P7baBMcUVNidxQV0HbuxwV0 6aDPvCxr41YG8M0rK+wNgrj+O+LLGvSFTSWxKFwJHaAHIJm13OtwH85NTsEWUHJsY0IqaW HlVp/nB1ReY+6uC6aHttO0jVRj4cAkcd85ASEeMiRI3ERxTayjKK9BPvlxTiWXEVsnpiE9 aTrsart5ADcHe+3lkM7xAewsVdA1sYqhWUomtnAQUXtC2Hh/DcXtAL5fpVZRorO5o2S0Nt ovsf8wWX4oBimNAHcbAdCD9PMdGNXUzKOfD/B+ILTAuh81ax/7wJIgJnMPj3Cg== 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=1741630554; h=from:from:reply-to:subject: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=4ahwZQuQSdwmwvvQUSwWrAAyw+W36t0V+shzZw8DAxQ=; b=vb5AuOFoltt10feNpsN03zJVaHQdG57v/ySrEM9NzBe7MIEmQNzqRksPDdLT4YrV9CyMTn Tx2vNd8hZIiUOEfIe3Tqq+WyriaxdT3uSqurOGNsFCqdONNm+o7Np7teZZz+lDPyQv6Yr2 T0Df9YiAGXnXUjYowDe5pw1mdnGLmfIQvGk0Qfj2qilnQdW2B9yuKAEJq2haSxLU7eG22w 4CABqliOhlmtW2wOc7VeEecyoQwHqhEVKtMD1w3lfTaesVAO5gH4N9pfr3x+iizcekyl1Y KRVBZEAICVyBn1UqvbkmulI4EcJ4+XOODR7Ni1prSyU+4W9MZvdJ19Ev8IhB/A== Received: from [IPV6:2601:5c0:4200:b830:d4cf:e78:681a:fd62] (unknown [IPv6:2601:5c0:4200:b830:d4cf:e78:681a:fd62]) (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 4ZBQ7F4l4tz1Bd2; Mon, 10 Mar 2025 18:15:53 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <3ffc904b-7a14-412e-bf08-4703b00e3ffb@FreeBSD.org> Date: Mon, 10 Mar 2025 14:15:52 -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: 78cd83e4017b - main - devclass_alloc_unit: Go back to using M_WAITOK Content-Language: en-US To: Ravi Pokala , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202503101735.52AHZiu6027210@gitrepo.freebsd.org> <14C8991D-C686-48DC-9E5D-5F40CE1C75BB@panasas.com> From: John Baldwin In-Reply-To: <14C8991D-C686-48DC-9E5D-5F40CE1C75BB@panasas.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/10/25 13:41, Ravi Pokala wrote: > Hi John, > >> This reverts commit 234683726708cf5212d672d676d30056d4133859. > > The commit message for that change says that this allocation might be done while holding a lock, and so M_WAITOK is not valid. So then why is this change okay? > > Thanks, Because the earlier commit to sdhci in this same push fixed it to create devices in a sleepable context. -- John Baldwin From nobody Mon Mar 10 18:52: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 4ZBQxH1134z5pVP7; Mon, 10 Mar 2025 18:52:19 +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 4ZBQxG6m31z4503; Mon, 10 Mar 2025 18:52:18 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741632739; h=from:from:reply-to:subject: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=OgxB0GzI1nMEGVGjaAlIq5s6Ld8m4G+WKaGsWQiCw4g=; b=ogTi8pj097uVF/hPR1TnXtM1PNezy3DuFwczCPZ2GHn2PpQSrskeyEmWilfMYpwapGn4Br LJ4mVacAe4+h4kudoiGFMVbrCBYKkawzqYqkEYZ49LHGVeBg9fHgyRlA37C9PoCH5JyBup OCfhmN3BFDPLLzRvcCXn3FPi5SFRIvBOl8vye721r0lX4Loc0xAyC6wpks0O+u2CdDAjP0 LPzF2rcj1TdFmllg00sEZdw11ph+AUnGmj7pgl7Jk5Eyzv4CYGL4e8wqT/wclymmy17AEJ qYMf++PfHw5fquu2liFqd6H7u+qkYi/69J/0hLgG9pfZI0mMGExceyu+QCYeWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741632739; a=rsa-sha256; cv=none; b=X6s2ZzNiF7XQOsvFxO9uniXIlcWiKSVGjdRC4MF13EdjpntdiMTQg72X0aHLCSec/TGi3e OzIiqgJ/T7ls/lF9nuuwVI4A6F6rq3cYCVRTeRT9PSPF1WXcleA+Uqa8HkdWwHGa7xO55U Lu+pCeQOcgtyokWd1t+hG1Rs/YLQB239vaK70wqQW/tDdLDnVdzfbbzV3xUKUIvAaNPOPA DH6Pq9hPttnviRPNbxiTJFH0qWgXFWrx2syyeEo6gsYog9bAcwJCeTOXsFoCZBrIBZWX3u Z1uq814+N4m5tVSC/NG6jVfkdhH6g4XAUhfAsG1sdMy1S682nEF72LUJtvAYkw== 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=1741632739; h=from:from:reply-to:subject: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=OgxB0GzI1nMEGVGjaAlIq5s6Ld8m4G+WKaGsWQiCw4g=; b=VN+pYUBbpGYpSR06poHOES0FAtV+Tk9CGAJW4YaZ/0+ZZoyud64UUi1dGs+GajX2mEfvL8 lu1wh/xJVgbOhJLIXNg3J816jgMPlBht0nwqpNpHIGAZiSJKm/pWwtgklJbuvGU6ipiMLo WvlN34jClo64t0OxwCXLqMTLlt9fac7GEx+Qg3MKn6ckgV2i8j0/8AqopSn6XtyOol3jGj d+fugEiuNGO6hye1m/tt/LT3blSyZTYkXo8fAuoNnQl1Z3ITw/8udEzzbC9NJVtmhF2ztZ jx8ZG+x5SZ2X9SCu23HD0vtmSj9nvxEtB0grK08uMp8TaPOoLuEkWiwudDRFAQ== Received: from [IPV6:2601:5c0:4200:b830:d4cf:e78:681a:fd62] (unknown [IPv6:2601:5c0:4200:b830:d4cf:e78:681a:fd62]) (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 4ZBQxG5LhmzTL; Mon, 10 Mar 2025 18:52:18 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <481cd624-c442-4567-9915-4944f821c597@FreeBSD.org> Date: Mon, 10 Mar 2025 14:52:17 -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: db6f2bb93a97 - main - Makefile.inc1: Conditionalize some package related variables Content-Language: en-US From: John Baldwin To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202503101730.52AHUvsY017288@gitrepo.freebsd.org> In-Reply-To: <202503101730.52AHUvsY017288@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 3/10/25 13:30, John Baldwin wrote: > The branch main has been updated by jhb: > > URL: https://cgit.FreeBSD.org/src/commit/?id=db6f2bb93a9706963f66d270edb5ee62c37a9296 > > commit db6f2bb93a9706963f66d270edb5ee62c37a9296 > Author: John Baldwin > AuthorDate: 2025-03-10 17:30:26 +0000 > Commit: John Baldwin > CommitDate: 2025-03-10 17:30:26 +0000 > > Makefile.inc1: Conditionalize some package related variables > > In particular, don't invoke git to compute SOURCE_DATE_EPOCH for > unrelated targets like check-old or delete-old. If the git invocation > fails (e.g. when using a git worktree mounted over NFS) it can > generate a lot of irrelevant warning spam. > > Reviewed by: emaste > Fixes: 8a3537aaf7c1 ("Makefile.inc1: Make package timestamps reproducible by default") > Differential Revision: https://reviews.freebsd.org/D49278 This gets me back to only getting all the /usr/src is read-only spam from bmake in my test VMs. It would be nice to get that fixed someday: # make check-old make[1]: warning: /usr/src/: Read-only file system. >>> Checking for old files make[2]: warning: /usr/src/: Read-only file system. make[3]: warning: /usr/src/: Read-only file system. >>> Checking for old libraries make[2]: warning: /usr/src/: Read-only file system. make[3]: warning: /usr/src/: Read-only file system. /usr/lib32/libdevinfo.so.6 /usr/lib/debug/usr/lib32/libdevinfo.so.6.debug >>> Checking for old directories make[2]: warning: /usr/src/: Read-only file system. make[3]: warning: /usr/src/: Read-only file system. To remove old files and directories run 'make delete-old'. To remove old libraries run 'make delete-old-libs'. -- John Baldwin From nobody Mon Mar 10 20:02: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 4ZBSVQ2yWpz5pb1j; Mon, 10 Mar 2025 20:02:38 +0000 (UTC) (envelope-from rpokala@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 4ZBSVQ1HR3z3gGf; Mon, 10 Mar 2025 20:02:38 +0000 (UTC) (envelope-from rpokala@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741636958; h=from:from:reply-to:subject: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=dKNsboppeURkyk7NH96B3eCy8Ro29oFOKGyMzztS+eo=; b=xtpv9wScX9NEO7aCyE3XlEhGqdhtYNi0Y9yesVs5S5PwmBhsNlyVixvHuSKOO6hu2JgvEz xaSw29omrDKyxMKAG3VB6tO98MOjeLuiHqHnI5XYznuzPchHqbtuTskPSThqR6z2qPiFk4 axgu8uYP5kv9ESitQotrW/2OrIlU0NU1yI5+kBSc9oC+Vu9c33nf4bbgHbrtD2yZ23DF8J yJFDacctTDwNB60ZOVpJwT2IEGrG7SC/Bt+Bj+7n1kXhsN+bNWkPfrjfYOfSVVD60+OEvp A24VnxwmUT1MgW6mPb/fA2lhDdTPkTOWXK0UQlm/+mzMmq58SsuIjQJ5+Pub8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741636958; a=rsa-sha256; cv=none; b=Q4BNfbo+jxbjJMaEQQ5gadF3bIZuOv+qsR2Hzak8uE8/jhoLEPopj7lfKWLch3J1ranWGH cKeQnRl67H6z5xm3/KH0vkMXDUpfZpn7IN3492KS7yJeayDNuhWNNoO6a2BVvh/MBWy4HO KV5KZ/1TKk1R5d0/6f/wW182PfLQxtKM/1NeebwQEWE8cszZvlTe5EFNrbTQTt51edZ6Oa YszfOBx6WrjcAs2SukIXdF7gzKcPxSEcKzL7nN3fGd12+aFcLNJZw/NNgt/cdaE7Kl3Wrx UVgtmzrtRVoLzjgLHHiNL+RMR6zN0E4LZ1Ziaedj9I6YjA2vH9ZpFpvh1rsxBg== 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=1741636958; h=from:from:reply-to:subject: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=dKNsboppeURkyk7NH96B3eCy8Ro29oFOKGyMzztS+eo=; b=whCNRsHam24dTtsfz0nue5zNMkjEcc4C/dz7eD9ai74GpmtpyyT0ACYHgEpJoOyhKMkbLX PMlcZDnY+y6pUaCoafVij7l717OTaiZYa7GgT1vMCLsgLWK/0sFJhL0Jel9NY2Xce/jJiL g+ffDaAxDP2Pc8Vx1s5p1BvVIeKjGmE+Yf27hItGgzkQH7QOYDR2B3VYZ+u+kOGvUa0uvO 8MmwlOKMaE1k8qNHDFTD0VW34IxD+xm+n21CN01azsjR7qx8eYeo6WX2c64GDxIMFeDkAE fJmkwQjFbDcTc8RLovvXH5i2LErTU2Hawiv5Bx3PRlF8np/9qOCfxXaQN34nRg== Received: from [192.168.1.52] (c-73-231-46-254.hsd1.ca.comcast.net [73.231.46.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: rpokala) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZBSVP2Z3Mz1TJ; Mon, 10 Mar 2025 20:02:37 +0000 (UTC) (envelope-from rpokala@freebsd.org) User-Agent: Microsoft-MacOutlook/16.94.25022327 Date: Mon, 10 Mar 2025 13:02:32 -0700 Subject: Re: 78cd83e4017b - main - devclass_alloc_unit: Go back to using M_WAITOK From: Ravi Pokala To: John Baldwin , Ravi Pokala , , , Message-ID: <6DC2BB95-68EC-4710-AD36-7082FD52DC1A@panasas.com> Thread-Topic: 78cd83e4017b - main - devclass_alloc_unit: Go back to using M_WAITOK References: <202503101735.52AHZiu6027210@gitrepo.freebsd.org> <14C8991D-C686-48DC-9E5D-5F40CE1C75BB@panasas.com> <3ffc904b-7a14-412e-bf08-4703b00e3ffb@FreeBSD.org> In-Reply-To: <3ffc904b-7a14-412e-bf08-4703b00e3ffb@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="UTF-8" Content-transfer-encoding: quoted-printable Ah, I see. Thanks, Ravi (rpokala@) =EF=BB=BF-----Original Message----- From: John Baldwin > Date: Monday, March 10, 2025 at 11:15 To: Ravi Pokala >, >, >, > Subject: Re: git: 78cd83e4017b - main - devclass_alloc_unit: Go back to usi= ng M_WAITOK On 3/10/25 13:41, Ravi Pokala wrote: > Hi John, >=20 >> This reverts commit 234683726708cf5212d672d676d30056d4133859. >=20 > The commit message for that change says that this allocation might be don= e while holding a lock, and so M_WAITOK is not valid. So then why is this ch= ange okay? >=20 > Thanks, Because the earlier commit to sdhci in this same push fixed it to create de= vices in a sleepable context. --=20 John Baldwin From nobody Mon Mar 10 20:17: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 4ZBSqp27rcz5pbhr; Mon, 10 Mar 2025 20:17:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBSqp1Hsyz3p6Y; Mon, 10 Mar 2025 20:17:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741637862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KrhzKbfhhOapqUC2FVrK4+WTWU8f/zeq+ld19DAiFp4=; b=p9mDGHICZEibilobJPn0YaXOVWm8nSvgGpjfAMuHtShbHjSfIBZ7ROqnavWfXdoVcEuVt9 E/ttX65yssR14J4qI5OL3GJhrBx+ypXimeSuQl8gQGNz1lQKHcqvy8qhiP9PwReB+wRI6K JgLyRIE3W55JdIaLGzwUlRqu8/uiaCVjEbh9LFbmAm0BFEI10OAZObhpTJuV3qn178udso 8pCONgyZ4Cul7j/J/URLo8+mgl1l2CqkQeEcLYPR4vxEsvNbGlGsQlkOlduh3mg5NhJKNZ AN5eZes7bwP3KJEsr4P9e34IkajBg4xY8GkIaWHU+bfAihC/Tt79vX9tp6wPbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741637862; a=rsa-sha256; cv=none; b=V0qwwiJ00Hnk5w2gyeqxWGCQ435nXJ3K8DBFuxj/2JMIsFcZjViK4PC5smSbREz7HHCzr1 AblYLvHqgJbG+s0aRXenuApWbqrnPvmcroI+xQgHJPXRlu1B+jpKAxLWIduDqrMATZ9vWO 1fSqZPhyYV0TBGlT2maeCBy8bm94BFm/SVKdLi8XuVaGrfnrZKWN0BBmXm5ri3BHWuOlSJ ncnwYWmlxo0+qmrKnrxR9Zql+TA/DJ+s+4Ejluz18YQJrXaW8VvpxCX1PEQ6XETvxbw+8f 5NvX1Kw/NZ6rvontKjy0bzcxyPuYu1wzYlY3hWIUWETcoHI9U4k7dHkqja5vvA== 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=1741637862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KrhzKbfhhOapqUC2FVrK4+WTWU8f/zeq+ld19DAiFp4=; b=UMk9Sc/ElADJfouXQQqqIg2H7Nq8kb9IJwCCWm48ATpUCwh3l5FqRQSK0u9FZU0NYmYL9M iDJvePk0/e2DXaXduif+T79CZRs7uAqyKp6weNcOFsNtgZCGNhU/BpXi6d8GfJXfjvSiUe TfvPPUkz+AM7QfO33vmazhCMcPKIILWQogIcdUtB+urjSVjVFVZTX4R29zxJ+CLGGTMI7V 3NGFKWBrQtlw66xkOg6URHghdKK07Xlv2EGWBOljHVRADiR8VnPQbfyuGTKfur3Ui8yqG1 d1nHm8K+lcWXEZMAuh296GBQXa9n3OTmJIvFd1FUOu8YxsvmCGtK7bPzj4d2rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBSqp0KzPzvF5; Mon, 10 Mar 2025 20:17: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 52AKHfUO026720; Mon, 10 Mar 2025 20:17:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKHfFf026717; Mon, 10 Mar 2025 20:17:41 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:17:41 GMT Message-Id: <202503102017.52AKHfFf026717@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: c5a96f09df32 - main - mb_unmapped_to_ext(): fix m_free()/m_freem() use 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: c5a96f09df32810319d39cb905662ad7504ecd7b Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c5a96f09df32810319d39cb905662ad7504ecd7b commit c5a96f09df32810319d39cb905662ad7504ecd7b Author: Konstantin Belousov AuthorDate: 2025-03-06 17:36:56 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-10 20:16:58 +0000 mb_unmapped_to_ext(): fix m_free()/m_freem() use The top of the chain is supposed to be freed in mb_unmapped_to_ext(), use m_freem(). The _mb_unmapped_to_ext() helper only needs to work on the passed mbuf, use m_free(). Reviewed by: glebius Sponsored by: NVidia networking MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49305 --- sys/kern/kern_mbuf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/kern_mbuf.c b/sys/kern/kern_mbuf.c index 26be33658ab9..2b2b032e644c 100644 --- a/sys/kern/kern_mbuf.c +++ b/sys/kern/kern_mbuf.c @@ -950,7 +950,7 @@ _mb_unmapped_to_ext(struct mbuf *m, struct mbuf **mres) if (m->m_epg_tls != NULL) { /* can't convert TLS mbuf */ - m_freem(m); + m_free(m); *mres = NULL; return (EINVAL); } @@ -1099,7 +1099,7 @@ mb_unmapped_to_ext(struct mbuf *top, struct mbuf **mres) error = _mb_unmapped_to_ext(m, &m1); if (error != 0) { if (top != m) - m_free(top); + m_freem(top); m_freem(next); *mres = NULL; return (error); From nobody Mon Mar 10 20:17: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 4ZBSqr3flqz5pbn7; Mon, 10 Mar 2025 20:17: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 4ZBSqr1fH9z3p0l; Mon, 10 Mar 2025 20:17:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741637864; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ejI9gEoheDIbgP6HbDXHI83+byyIw5a7zxKuWGG5AP4=; b=EZDDgGiT5NRQGNJBGgDPKjZ1MB87jaHLVTtfWng3WNaFZ8eaozXxpGI+uYo+Yq9e48uceK cwggKwJtUs+SDAAs4SA2EonNPXhHaJkwlXyuz2fNxLiawNp43ChVgSBmN2aXCZuSgO49Hc lBWlwhnMgu9+I33OVRTfI7Bu/y6UgouiDs3ie026z7PYrbpVoEh5lUM90An8nFcCNAW18v PafbQ+xCew/Cs0xY9sEHNhUxNNmmJOBYGEHgjSP286lz9I2uSW7WU31DyzM8pdPKH+4jNw UCt9lSrGNzib6j0cTtuLOp+HB+fyCBUSviVEc7YcF/c+GEw8i8WZb4jagFpO9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741637864; a=rsa-sha256; cv=none; b=ZvnHQy8ZVCNKvE4RXlIXf6cptUF9Lerd/HdV3b7dLF9thqCQE9tZ+I/gPDScSmkuI22zrL Iiqfhdd65Qffq/F8CX3Y0ujvCSLrLB3Iu5SkOT6H055GBIv0oUlFDllPKIg00JZmVixzNm 9wqcvja2RUTTg7KbW0P7NsUc/+pzENbh4zT74bcew7tYbP3+wMV0e0/Qo2cjyy46Gjj5kQ QQG9bXK0P2O4oPzO6A528KEXJg6ZfJxQ8rglpLbaw/RRJqDAwtrjPXZbHg95EYz2GXD1cC UnTzR6w3Gap3ipZBhmMcrtdF150FwUcaZ8n6OptBJhM1TSr4eFPMtyXIn6oFmw== 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=1741637864; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ejI9gEoheDIbgP6HbDXHI83+byyIw5a7zxKuWGG5AP4=; b=mqwSkMsurEGtkHH3g7G06IHdwEWb2eINbhyK+6Ieq2GyDbWgEJC1QrpxWGWIs/hh4W7EgZ gwEOlARLb5he3zcsmw+MShNW5V6iE5uWAnmWia3yI5HKWDl3hlZEObHl5P1f+ohsnegvC0 jlND5CB4ywvne2tSc7zGxb5MclL7Je6ydoBNn3lLZAFkRualc1Vcg2hSuMEB10x9Hl9HLG WWrvXyJR/PIKB9OESDdJQVRQa1joHZtlNW+a+uAo5nos2vLlhJXBLjbAK8f2HY6LW2ocU4 AxX9lAf7RIDd1qzma7xI5TucWlJwRqTbSqyN3C7wHYvcssqKgteYH6nfY05u6Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBSqr1C5tzvCv; Mon, 10 Mar 2025 20:17: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 52AKHiZf026793; Mon, 10 Mar 2025 20:17:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKHijP026790; Mon, 10 Mar 2025 20:17:44 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:17:44 GMT Message-Id: <202503102017.52AKHijP026790@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: 394605c057ad - main - ip_output(): style 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: 394605c057ade77775e1f9975e278dbb7693f44f Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=394605c057ade77775e1f9975e278dbb7693f44f commit 394605c057ade77775e1f9975e278dbb7693f44f Author: Konstantin Belousov AuthorDate: 2025-03-06 17:59:44 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-10 20:16:58 +0000 ip_output(): style Reviewed by: glebius Sponsored by: NVidia networking MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49305 --- sys/netinet/ip_output.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index eb5d50bd4570..ec6ba8d92015 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -859,7 +859,7 @@ sendit: done: return (error); - bad: +bad: m_freem(m); goto done; } From nobody Mon Mar 10 20:17: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 4ZBSqq1tP9z5pbg3; Mon, 10 Mar 2025 20:17:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBSqq0RtMz3p4f; Mon, 10 Mar 2025 20:17:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741637863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m7qYfNiV2bhrTnTQkWaLH4uDW6xWBXivVSo5gTRt81I=; b=TiLKm3ee80C/5EnyaTyki9Af9LUiz1q2ygUIEOEdmxeMVfco7G97a5h4cEeWrtGa/W59Ut lmpwEzNxbnM/0Lez8F00j2WjzqcQcHcWu/OYpragMjdquwn4ewUK8YR6sdoA/Ee6AEI+eD c+zMfmKu7idF3JDXEXcadvX1drjWwn66ujw1ZVfoXXtTiPTyu2zCx5PeISDlFlIuV1dUnX OhOGl4HeIz5+wtNZQ5XNb6N4jXTVA7FFnydJj8G8tBeisChCSA+R857EiI4GxB+22utKiO vO/xN+XlH2jrOwKc5YaCyCkdpEBvgzjZg5nSC16Bmg1vCTrAjTjU+QEZq4qudA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741637863; a=rsa-sha256; cv=none; b=J6Qg3PFz1bV7O7wciNplExKjnANuBnHCJqOzYB/VtZeVTMQv4wbFxPlH7xWX5Jhucg6NTa OSCkVKOdAQL+8m9mQsrPU2NBnrCkOqNxNq8+gU1YbsbreENOA8WVmI15+2mGGU3EREC5xi PiWVdrsnoQ3+bnd5cJ9xfTXHxS9Afg3YAc97/CDVV/BCF869UTcu+myEYRi1S1sPdQxKln Qvc9p0ReNXoFt2JxsfXteSyrP6I+KnIe64KtQ7h/nPP6xlAkVZMRv6ZTmugMm7qmnpIxOJ lg79hRqXLKB0k15fLgUJMqDqD90XwJmT5H7+TeHpADPiOYg8Bidy8dhx7qzQeQ== 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=1741637863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m7qYfNiV2bhrTnTQkWaLH4uDW6xWBXivVSo5gTRt81I=; b=MRLai9IoBRMATK2a/+fAjmeXGVVpZRSvqAXVi170shmOzz7qK7wy4zGlqrqNBNjLtjfnG3 xlLz5tI7I/5nfyxPYMy9FZlrlcEkg/KYVekqcnSwCloYmlZNZ9mppONLocpXGu3NnD9m9q OwecROGJqtz+avCCN8dXPWWR4EDwvEAd/WuxdX2IjOpaodVZ75j8zVWJGmkfmhyR1iz19A JYx46Sv78EACKxiUEig4yplcXy4Wu87A00wVayfMfZbNftCN8YXaoVxenHzw1dm5DZnbXU dgclUXpd4FjwZTORY/bM0+ZV2UpPzGJx9Xx4M6yeuQphySbYPV0vdlgqFl+lyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBSqp75F1ztjr; Mon, 10 Mar 2025 20:17: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 52AKHga9026757; Mon, 10 Mar 2025 20:17:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKHgfm026754; Mon, 10 Mar 2025 20:17:42 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:17:42 GMT Message-Id: <202503102017.52AKHgfm026754@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: edc1fba05e05 - main - ip_output(): if mb_unmapped_to_ext() failed, return directly 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: edc1fba05e055a1943efd969d77c0acf0fbff587 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=edc1fba05e055a1943efd969d77c0acf0fbff587 commit edc1fba05e055a1943efd969d77c0acf0fbff587 Author: Konstantin Belousov AuthorDate: 2025-03-06 17:58:48 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-10 20:16:58 +0000 ip_output(): if mb_unmapped_to_ext() failed, return directly do not free the original mbuf, it is already freed by the mb_unmapped_to_ext(). Reviewed by: glebius Sponsored by: NVidia networking MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49305 --- sys/netinet/ip_output.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 9d72300e8b68..eb5d50bd4570 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -751,7 +751,7 @@ sendit: error = ENOBUFS; } IPSTAT_INC(ips_odropped); - goto bad; + goto done; } else { m = m1; } From nobody Mon Mar 10 20:22: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 4ZBSx04RP8z5pbjj; Mon, 10 Mar 2025 20:22: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 4ZBSx03MGjz3s3Q; Mon, 10 Mar 2025 20:22:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741638132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1pFp6FZ1UgfGzj1VUNeSFuSNIkIPrSF/Rt4v3LqaZhE=; b=gsV13HcBExZQA8BriZzH0AZHYStmt9NIaNWtKHSYO3HYrwP7al3yt8GJqgHkGa5gIBKy8P S81CVAkxjHM1hNgFhZNqlUi3+lxawS1TSlkzw11kbbFol4fJzyyWneM9FUYFlgyDctrATL HlkDi6eUIT5TD7QEayWtNjA3NyPsiqZ0m765sdGuQZALgxFkDpIbGiLvWEaUh6g60IVYYE r5vlTYCNmPUKATkzLZSOnyf+UfjqV/loQKpBqvTlmQdHTEt2rJ8F0R8vOyNmaaFIJ+tmcG kIog+znTXrsnz2RcQvpPTkiq+wMnngF9BxX6JpV82A5IrA406v4B74taLQ3vlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741638132; a=rsa-sha256; cv=none; b=i9o7nCCfTkTn0qGnXgmRYpwMN+LXSUAFScC6I+2XQE6EwMt2wWIuKUwq9N38sSH3KhiXY7 EN/u9GD+4jZGStGAmbryn7XGZHm1ZXtOVgHegKCPMD0noNQyB3kGRtgJbArXeWtWOhLaTa IV9m964bNrt6VBSGcuBDxzDgQp8w6sY/X/sIe9OwLUb5ZJvd3tlyq+ioE+3mQNr30JSbMd xbAhX0F/PJjnrjkCPUmU3vzwdTOVuNGMgD3aLzPA4C8zc7pM5dLN4dfRuTDoBE8bpgrXLw v6N6XOqdCXPfMeH5eS+e90iTgbtnq96VHufi+HyIB7yF5nibigd7/mNs38yzDQ== 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=1741638132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1pFp6FZ1UgfGzj1VUNeSFuSNIkIPrSF/Rt4v3LqaZhE=; b=Y/X9LRW0nUxyaY4AMp3m7//RR6jCCG2qdv7kj0PMxbLMJCJ469umGZZ/+Vy+MPMA2Td5DS wIiidFWXEo8fnwmeebE57pBdUDVSh0xD40PftsxlIjPxmCoatK0YscE404CfY/QamFkNCC KoKrTxsggR4Li5XmlZYJzos3t/Fr+Rwd4fcKhX3uzAHWq53TSCjE8ozulUbGHdAfVYeSJi aBGEy4mSlIuYqn8h/XnelOKMk5aHoIs+IKZgNNH/8QQzDNv34hf+iNJ734mrnqcCxcLw4Q Xt38P7H7efNsCHKC8ZiOXDtqrylEEilRIa7h8s9TfImu0dIl9RWrvJWTdG2uRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBSx02yVfzvgB; Mon, 10 Mar 2025 20:22: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 52AKMC8M044408; Mon, 10 Mar 2025 20:22:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKMCf4044405; Mon, 10 Mar 2025 20:22:12 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:22:12 GMT Message-Id: <202503102022.52AKMCf4044405@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: b73b5f70e9f6 - main - sound: Remove feed_matrix_apply_generic() 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: b73b5f70e9f6be951e66531f6f57249eea4ba4dc Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b73b5f70e9f6be951e66531f6f57249eea4ba4dc commit b73b5f70e9f6be951e66531f6f57249eea4ba4dc Author: Christos Margiolis AuthorDate: 2025-03-10 20:19:46 +0000 Commit: Christos Margiolis CommitDate: 2025-03-10 20:19:46 +0000 sound: Remove feed_matrix_apply_generic() It does what feed_matrix_apply() already does, so it is redundant. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48036 --- sys/dev/sound/pcm/feeder_matrix.c | 49 --------------------------------------- 1 file changed, 49 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_matrix.c b/sys/dev/sound/pcm/feeder_matrix.c index ab7922179867..2fee2be8bf5b 100644 --- a/sys/dev/sound/pcm/feeder_matrix.c +++ b/sys/dev/sound/pcm/feeder_matrix.c @@ -169,55 +169,6 @@ feed_matrix_reset(struct feed_matrix_info *info) } } -#ifdef FEEDMATRIX_GENERIC -static void -feed_matrix_apply_generic(struct feed_matrix_info *info, - uint8_t *src, uint8_t *dst, uint32_t count) -{ - intpcm64_t accum; - intpcm_t v; - int i, j; - - do { - for (i = 0; info->matrix[i].chn[0] != SND_CHN_T_EOF; - i++) { - if (info->matrix[i].chn[0] == SND_CHN_T_NULL) { - pcm_sample_write_norm(dst, 0, info->out); - dst += info->bps; - continue; - } else if (info->matrix[i].chn[1] == - SND_CHN_T_EOF) { - v = pcm_sample_read_norm(src + - info->matrix[i].chn[0], info->in); - pcm_sample_write_norm(dst, v, info->out); - dst += info->bps; - continue; - } - - accum = 0; - for (j = 0; - info->matrix[i].chn[j] != SND_CHN_T_EOF; - j++) { - v = pcm_sample_read_norm(src + - info->matrix[i].chn[j], info->in); - accum += v; - } - - accum = (accum * info->matrix[i].mul) >> - info->matrix[i].shift; - - FEEDMATRIX_CLIP_CHECK(accum, 32); - - v = (accum > PCM_S32_MAX) ? PCM_S32_MAX : - ((accum < PCM_S32_MIN) ? PCM_S32_MIN : accum); - pcm_sample_write_norm(dst, v, info->out); - dst += info->bps; - } - src += info->ialign; - } while (--count != 0); -} -#endif - static int feed_matrix_setup(struct feed_matrix_info *info, struct pcmchan_matrix *m_in, struct pcmchan_matrix *m_out) From nobody Mon Mar 10 20:22: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 4ZBSwy4r8Kz5pbp2; Mon, 10 Mar 2025 20:22: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 4ZBSwy2B8yz3sJf; Mon, 10 Mar 2025 20:22:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741638130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mTnNgv6sfOJTZKuNReqOMv9LeM+7HoH1aRr4rRm4pY0=; b=XyXOd0GiWdOkNg7oYmd4ZnEISsZe/j8cnTdmuPWjM9g8ujdRBy7x0mN11f9cKouKeUNzGj Z2SxHbeuNgXAKbeJM/E7Xo0E4WxogOZ24avbpBQjXW1yv32/e93m/qgLOmo6LGq2nCGDsW 3H2huH1jEwRMBuvdrXIeQz8o4dq1pFYIUPyfoH0nRS/L6XupURAm7Ui3u1xKjei0Gb9HIo HAYkFnNpVbD3uVzOUnUa3To9++6ScuvZwNhlTug/WCyOJEMYTVa61XqerslfbMRc2DBB9X GSWtKp+9E3NT/3HKeDV7sG74q19JwX79KMcayGLzkBina1uPPOUzNp/pj7Y7jA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741638130; a=rsa-sha256; cv=none; b=G7sOm7klCGCviMPday1zSBkPYtCg8FfDAelGrNWASXsfHf1HKnfTLgWPEaBgp6wSqJnLV5 r7+Y/uU9GA42ynNl0a6rWI0rjueqOWGCBDj80LfTv0/4Q+cPhWK6yZ00++eHz+Xos5FFTP rNUrz+mVGPte4Zx9zEa/umSQeDiNBQgomaLKkv8b6mzQxGBM/FlY6dXoo3Eu8V9wXB42L3 3G+iPh/azHcZrlrIEr5uvaKa5kDY3hPvPa8ZzpgdvtC1QOtHC91HdPjAdm8w1iQqINBne2 nCNfA9LIsvRf6/z9WDVWdeNKCDNakTlOP3t1RmzULHGBbeTwDZ4ac7a9zNOv8g== 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=1741638130; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mTnNgv6sfOJTZKuNReqOMv9LeM+7HoH1aRr4rRm4pY0=; b=Hpou3hvXvbvSwgew45qH+jTO6iCFHKAYbMj30CwBSmVW1JkvL8M2bCOoF/6SP/K0NzeEfK JCMfnAJzHjurN6llRsSjAu7pw9TYsU/KbjmawrHN7Rfn7sqxA7U2r26qYfTd0T6RIkj/jh 6nR6sXpasng/b1YXs41El0RMj0KvKywO3z9ucZH+yQpJ26RF5nXnlZFPCvB5Idmef+duvX F3H6EBwx+AlfyzpORC/ItYnaoWvbeSa2ZeY7rOsQSTOHrqWDqEllcjWYulHGxw+ThcSDps sj5n3bIcvpa6rzMkrt+IcGN7BXZvLbpb6pTY4JN9y3+7hHc0gYsRGAv2OlBhug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBSwy1m76zvg9; Mon, 10 Mar 2025 20:22: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 52AKMAfj044338; Mon, 10 Mar 2025 20:22:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKMANG044335; Mon, 10 Mar 2025 20:22:10 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:22:10 GMT Message-Id: <202503102022.52AKMANG044335@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: e18d66d9c515 - main - sound: Remove macro magic from pcm/feeder_eq.c 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: e18d66d9c515abc729f5c4740b9b999d28abc333 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=e18d66d9c515abc729f5c4740b9b999d28abc333 commit e18d66d9c515abc729f5c4740b9b999d28abc333 Author: Christos Margiolis AuthorDate: 2025-03-10 20:19:35 +0000 Commit: Christos Margiolis CommitDate: 2025-03-10 20:19:35 +0000 sound: Remove macro magic from pcm/feeder_eq.c Turn the FEEDEQ_DECLARE macro into a single inline function (feed_eq_biquad()). There is no reason to have this as a macro, and it only complicates the code. An advantage of this patch is that, because we no longer call the functions created by the macro through function pointers (biquad_op), we can call feed_eq_biquad() directly in feed_eq_feed(). Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48032 --- sys/dev/sound/pcm/feeder_eq.c | 226 +++++++++++++++--------------------------- 1 file changed, 82 insertions(+), 144 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index c5f82a2f18fc..4ed5fa57a485 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -101,10 +101,6 @@ SYSCTL_INT(_hw_snd, OID_AUTO, feeder_eq_exact_rate, CTLFLAG_RWTUN, &feeder_eq_exact_rate, 0, "force exact rate validation"); #endif -struct feed_eq_info; - -typedef void (*feed_eq_t)(struct feed_eq_info *, uint8_t *, uint32_t); - struct feed_eq_tone { intpcm_t o1[SND_CHN_MAX]; intpcm_t o2[SND_CHN_MAX]; @@ -117,7 +113,7 @@ struct feed_eq_info { struct feed_eq_tone treble; struct feed_eq_tone bass; struct feed_eq_coeff *coeff; - feed_eq_t biquad; + uint32_t fmt; uint32_t channels; uint32_t rate; uint32_t align; @@ -135,133 +131,74 @@ struct feed_eq_info { #define FEEDEQ_ERR_CLIP_CHECK(...) #endif -#define FEEDEQ_DECLARE(SIGN, BIT, ENDIAN) \ -static void \ -feed_eq_biquad_##SIGN##BIT##ENDIAN(struct feed_eq_info *info, \ - uint8_t *dst, uint32_t count) \ -{ \ - struct feed_eq_coeff_tone *treble, *bass; \ - intpcm64_t w; \ - intpcm_t v; \ - uint32_t i, j; \ - int32_t pmul, pshift; \ - \ - pmul = feed_eq_preamp[info->preamp].mul; \ - pshift = feed_eq_preamp[info->preamp].shift; \ - \ - if (info->state == FEEDEQ_DISABLE) { \ - j = count * info->channels; \ - dst += j * PCM_##BIT##_BPS; \ - do { \ - dst -= PCM_##BIT##_BPS; \ - v = pcm_sample_read(dst, AFMT_##SIGN##BIT##_##ENDIAN); \ - v = ((intpcm64_t)pmul * v) >> pshift; \ - pcm_sample_write(dst, v, AFMT_##SIGN##BIT##_##ENDIAN); \ - } while (--j != 0); \ - \ - return; \ - } \ - \ - treble = &(info->coeff[info->treble.gain].treble); \ - bass = &(info->coeff[info->bass.gain].bass); \ - \ - do { \ - i = 0; \ - j = info->channels; \ - do { \ - v = pcm_sample_read_norm(dst, \ - AFMT_##SIGN##BIT##_##ENDIAN); \ - v = ((intpcm64_t)pmul * v) >> pshift; \ - \ - w = (intpcm64_t)v * treble->b0; \ - w += (intpcm64_t)info->treble.i1[i] * treble->b1; \ - w += (intpcm64_t)info->treble.i2[i] * treble->b2; \ - w -= (intpcm64_t)info->treble.o1[i] * treble->a1; \ - w -= (intpcm64_t)info->treble.o2[i] * treble->a2; \ - info->treble.i2[i] = info->treble.i1[i]; \ - info->treble.i1[i] = v; \ - info->treble.o2[i] = info->treble.o1[i]; \ - w >>= FEEDEQ_COEFF_SHIFT; \ - FEEDEQ_ERR_CLIP_CHECK(treble, w); \ - v = pcm_clamp(w, AFMT_S32_NE); \ - info->treble.o1[i] = v; \ - \ - w = (intpcm64_t)v * bass->b0; \ - w += (intpcm64_t)info->bass.i1[i] * bass->b1; \ - w += (intpcm64_t)info->bass.i2[i] * bass->b2; \ - w -= (intpcm64_t)info->bass.o1[i] * bass->a1; \ - w -= (intpcm64_t)info->bass.o2[i] * bass->a2; \ - info->bass.i2[i] = info->bass.i1[i]; \ - info->bass.i1[i] = v; \ - info->bass.o2[i] = info->bass.o1[i]; \ - w >>= FEEDEQ_COEFF_SHIFT; \ - FEEDEQ_ERR_CLIP_CHECK(bass, w); \ - v = pcm_clamp(w, AFMT_S32_NE); \ - info->bass.o1[i] = v; \ - \ - pcm_sample_write_norm(dst, v, \ - AFMT_##SIGN##BIT##_##ENDIAN); \ - dst += PCM_##BIT##_BPS; \ - i++; \ - } while (--j != 0); \ - } while (--count != 0); \ -} - -#if BYTE_ORDER == LITTLE_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) -FEEDEQ_DECLARE(S, 16, LE) -FEEDEQ_DECLARE(S, 32, LE) -#endif -#if BYTE_ORDER == BIG_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) -FEEDEQ_DECLARE(S, 16, BE) -FEEDEQ_DECLARE(S, 32, BE) -#endif -#ifdef SND_FEEDER_MULTIFORMAT -FEEDEQ_DECLARE(S, 8, NE) -FEEDEQ_DECLARE(S, 24, LE) -FEEDEQ_DECLARE(S, 24, BE) -FEEDEQ_DECLARE(U, 8, NE) -FEEDEQ_DECLARE(U, 16, LE) -FEEDEQ_DECLARE(U, 24, LE) -FEEDEQ_DECLARE(U, 32, LE) -FEEDEQ_DECLARE(U, 16, BE) -FEEDEQ_DECLARE(U, 24, BE) -FEEDEQ_DECLARE(U, 32, BE) -#endif - -#define FEEDEQ_ENTRY(SIGN, BIT, ENDIAN) \ - { \ - AFMT_##SIGN##BIT##_##ENDIAN, \ - feed_eq_biquad_##SIGN##BIT##ENDIAN \ +__always_inline static void +feed_eq_biquad(struct feed_eq_info *info, uint8_t *dst, uint32_t count, + const uint32_t fmt) +{ + struct feed_eq_coeff_tone *treble, *bass; + intpcm64_t w; + intpcm_t v; + uint32_t i, j; + int32_t pmul, pshift; + + pmul = feed_eq_preamp[info->preamp].mul; + pshift = feed_eq_preamp[info->preamp].shift; + + if (info->state == FEEDEQ_DISABLE) { + j = count * info->channels; + dst += j * AFMT_BPS(fmt); + do { + dst -= AFMT_BPS(fmt); + v = pcm_sample_read(dst, fmt); + v = ((intpcm64_t)pmul * v) >> pshift; + pcm_sample_write(dst, v, fmt); + } while (--j != 0); + + return; } -static const struct { - uint32_t format; - feed_eq_t biquad; -} feed_eq_biquad_tab[] = { -#if BYTE_ORDER == LITTLE_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) - FEEDEQ_ENTRY(S, 16, LE), - FEEDEQ_ENTRY(S, 32, LE), -#endif -#if BYTE_ORDER == BIG_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) - FEEDEQ_ENTRY(S, 16, BE), - FEEDEQ_ENTRY(S, 32, BE), -#endif -#ifdef SND_FEEDER_MULTIFORMAT - FEEDEQ_ENTRY(S, 8, NE), - FEEDEQ_ENTRY(S, 24, LE), - FEEDEQ_ENTRY(S, 24, BE), - FEEDEQ_ENTRY(U, 8, NE), - FEEDEQ_ENTRY(U, 16, LE), - FEEDEQ_ENTRY(U, 24, LE), - FEEDEQ_ENTRY(U, 32, LE), - FEEDEQ_ENTRY(U, 16, BE), - FEEDEQ_ENTRY(U, 24, BE), - FEEDEQ_ENTRY(U, 32, BE) -#endif -}; + treble = &(info->coeff[info->treble.gain].treble); + bass = &(info->coeff[info->bass.gain].bass); -#define FEEDEQ_BIQUAD_TAB_SIZE \ - ((int32_t)(sizeof(feed_eq_biquad_tab) / sizeof(feed_eq_biquad_tab[0]))) + do { + i = 0; + j = info->channels; + do { + v = pcm_sample_read_norm(dst, fmt); + v = ((intpcm64_t)pmul * v) >> pshift; + + w = (intpcm64_t)v * treble->b0; + w += (intpcm64_t)info->treble.i1[i] * treble->b1; + w += (intpcm64_t)info->treble.i2[i] * treble->b2; + w -= (intpcm64_t)info->treble.o1[i] * treble->a1; + w -= (intpcm64_t)info->treble.o2[i] * treble->a2; + info->treble.i2[i] = info->treble.i1[i]; + info->treble.i1[i] = v; + info->treble.o2[i] = info->treble.o1[i]; + w >>= FEEDEQ_COEFF_SHIFT; + FEEDEQ_ERR_CLIP_CHECK(treble, w); + v = pcm_clamp(w, AFMT_S32_NE); + info->treble.o1[i] = v; + + w = (intpcm64_t)v * bass->b0; + w += (intpcm64_t)info->bass.i1[i] * bass->b1; + w += (intpcm64_t)info->bass.i2[i] * bass->b2; + w -= (intpcm64_t)info->bass.o1[i] * bass->a1; + w -= (intpcm64_t)info->bass.o2[i] * bass->a2; + info->bass.i2[i] = info->bass.i1[i]; + info->bass.i1[i] = v; + info->bass.o2[i] = info->bass.o1[i]; + w >>= FEEDEQ_COEFF_SHIFT; + FEEDEQ_ERR_CLIP_CHECK(bass, w); + v = pcm_clamp(w, AFMT_S32_NE); + info->bass.o1[i] = v; + + pcm_sample_write_norm(dst, v, fmt); + dst += AFMT_BPS(fmt); + i++; + } while (--j != 0); + } while (--count != 0); +} static struct feed_eq_coeff * feed_eq_coeff_rate(uint32_t rate) @@ -333,26 +270,15 @@ static int feed_eq_init(struct pcm_feeder *f) { struct feed_eq_info *info; - feed_eq_t biquad_op; - int i; if (f->desc->in != f->desc->out) return (EINVAL); - biquad_op = NULL; - - for (i = 0; i < FEEDEQ_BIQUAD_TAB_SIZE && biquad_op == NULL; i++) { - if (AFMT_ENCODING(f->desc->in) == feed_eq_biquad_tab[i].format) - biquad_op = feed_eq_biquad_tab[i].biquad; - } - - if (biquad_op == NULL) - return (EINVAL); - info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO); if (info == NULL) return (ENOMEM); + info->fmt = AFMT_ENCODING(f->desc->in); info->channels = AFMT_CHANNEL(f->desc->in); info->align = info->channels * AFMT_BPS(f->desc->in); @@ -362,8 +288,6 @@ feed_eq_init(struct pcm_feeder *f) info->preamp = FEEDEQ_PREAMP2IDX(FEEDEQ_PREAMP_DEFAULT); info->state = FEEDEQ_UNKNOWN; - info->biquad = biquad_op; - f->data = info; return (feed_eq_setup(info)); @@ -466,7 +390,21 @@ feed_eq_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, if (j == 0) break; - info->biquad(info, dst, j); + /* Optimize some common formats. */ + switch (info->fmt) { + case AFMT_S16_NE: + feed_eq_biquad(info, dst, j, AFMT_S16_NE); + break; + case AFMT_S24_NE: + feed_eq_biquad(info, dst, j, AFMT_S24_NE); + break; + case AFMT_S32_NE: + feed_eq_biquad(info, dst, j, AFMT_S32_NE); + break; + default: + feed_eq_biquad(info, dst, j, info->fmt); + break; + } j *= info->align; dst += j; From nobody Mon Mar 10 20:22: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 4ZBSwx2QCLz5pbrL; Mon, 10 Mar 2025 20:22: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 4ZBSwx1SfPz3sJc; Mon, 10 Mar 2025 20:22:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741638129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=334GVAR18cP/zP8f5neXcKsNwBZuqFrQPEi4c137jGY=; b=Gel4JG2mqtVbtnCiySlXghp8T1iVIn88MvAp0tEJ72tBh9pgrDtVlvF4y5h8SFUA6Fz+Mr wGccVDUMq/6J5hQY+HjVCROMAtz71GaXibXDViuZyaQNs5oikGM9LLURUF31fxsKOwm37U wGuC0H4NW24WWbB3a4dNNMT0d7rDugNwm26KBGx41avECJqv6MvjXbDDm4wC73bcJxp0u5 5v5D4fnvkobWVRmRI677GvbkOgZorgrPIUMhQ1OMdtpGJoKdTBBGEjc+4e29uSjC49GoT3 OdLieWMWp3mr+SGK0VMctA+ssuwey2Y5t9qTx+0v6G7PmB96+B+SPWL2laJKsQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741638129; a=rsa-sha256; cv=none; b=SpxCjLVCeLu0X5yu2KfYQD7217SypWs1BQNME4RkG0chEjkGZLQJcQtJuTSyGDkHn2nYXw AE3etgGBLOCwWvoA81SYpBYNpYxAIeF7HFfgPVmVxBZVzKb+1rNmVbhSUvyDFejm+nUVj5 1j2JiaKqjA6FH/g2g3+vi4lCcazGKq3FWMePs1CgL168qbTGfux1adIq367Gi96o7itkze FrlL5Z/45qRxLBtpQWaXVqrp21UT7zZ4jTlc+MNxP8IUwiVqohtu+OJ2dydMkAmOwhqyg8 uWa85eD509PpEFvd7r/KHqV1ssvTNo68dt1m+GtaAmlAWpaITZkZVCZAbPTmrw== 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=1741638129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=334GVAR18cP/zP8f5neXcKsNwBZuqFrQPEi4c137jGY=; b=oquaOfVUdeotRWgkJN0E0NKuusuPlBK1U4THlco81fBmoYLVl5mKd0J2/oJB/2Na+NSzsA aCZfpSG0jSOfBbmeXIo5R4koMwGbEZInR3KzGj9fnfQ00Iday0nbK0scHeKbgxOVNnnYie rUnvosgTkiJm2lB3acOmDzBIuyxeoJfxqNVsAwOAcoc+jgxK1vE7XzC1od2Y20WoSvxQT6 lAPRDd9iMeST+hM5YOIM0HdpRTBO3BTnC3YN7sv6T+WOe7Gi7PdjC7Y+p/J0KuEvCEiJA+ VNuroK73Jy9MFC+j/Y0VrdmyU68k7OS1RRcT2dj50jrDPwL8JzkUqa74V+nCAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBSwx0mWWzv4L; Mon, 10 Mar 2025 20:22: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 52AKM9f7044305; Mon, 10 Mar 2025 20:22:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKM9BQ044302; Mon, 10 Mar 2025 20:22:09 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:22:09 GMT Message-Id: <202503102022.52AKM9BQ044302@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: 4918fc2e238b - main - sound: Turn clamp macros into a 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: 4918fc2e238b581aaf1f63e20003d5fa957f0b09 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=4918fc2e238b581aaf1f63e20003d5fa957f0b09 commit 4918fc2e238b581aaf1f63e20003d5fa957f0b09 Author: Christos Margiolis AuthorDate: 2025-03-10 20:19:27 +0000 Commit: Christos Margiolis CommitDate: 2025-03-10 20:19:27 +0000 sound: Turn clamp macros into a function This makes some subsequent feeder refactors easier to implement. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48421 --- sys/dev/sound/pcm/feeder_eq.c | 8 ++--- sys/dev/sound/pcm/feeder_mixer.c | 2 +- sys/dev/sound/pcm/feeder_rate.c | 8 ++--- sys/dev/sound/pcm/feeder_volume.c | 3 +- sys/dev/sound/pcm/pcm.h | 64 +++++++++++++++++++++++---------------- 5 files changed, 45 insertions(+), 40 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index df34ee44a2ab..c5f82a2f18fc 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -135,10 +135,6 @@ struct feed_eq_info { #define FEEDEQ_ERR_CLIP_CHECK(...) #endif -#define FEEDEQ_CLAMP(v) (((v) > PCM_S32_MAX) ? PCM_S32_MAX : \ - (((v) < PCM_S32_MIN) ? PCM_S32_MIN : \ - (v))) - #define FEEDEQ_DECLARE(SIGN, BIT, ENDIAN) \ static void \ feed_eq_biquad_##SIGN##BIT##ENDIAN(struct feed_eq_info *info, \ @@ -187,7 +183,7 @@ feed_eq_biquad_##SIGN##BIT##ENDIAN(struct feed_eq_info *info, \ info->treble.o2[i] = info->treble.o1[i]; \ w >>= FEEDEQ_COEFF_SHIFT; \ FEEDEQ_ERR_CLIP_CHECK(treble, w); \ - v = FEEDEQ_CLAMP(w); \ + v = pcm_clamp(w, AFMT_S32_NE); \ info->treble.o1[i] = v; \ \ w = (intpcm64_t)v * bass->b0; \ @@ -200,7 +196,7 @@ feed_eq_biquad_##SIGN##BIT##ENDIAN(struct feed_eq_info *info, \ info->bass.o2[i] = info->bass.o1[i]; \ w >>= FEEDEQ_COEFF_SHIFT; \ FEEDEQ_ERR_CLIP_CHECK(bass, w); \ - v = FEEDEQ_CLAMP(w); \ + v = pcm_clamp(w, AFMT_S32_NE); \ info->bass.o1[i] = v; \ \ pcm_sample_write_norm(dst, v, \ diff --git a/sys/dev/sound/pcm/feeder_mixer.c b/sys/dev/sound/pcm/feeder_mixer.c index 7640b09400ed..9a7d75198692 100644 --- a/sys/dev/sound/pcm/feeder_mixer.c +++ b/sys/dev/sound/pcm/feeder_mixer.c @@ -64,7 +64,7 @@ feed_mixer_##SIGN##BIT##ENDIAN(uint8_t *src, uint8_t *dst, \ y = pcm_sample_read_calc(dst, \ AFMT_##SIGN##BIT##_##ENDIAN); \ z = INTPCM##BIT##_T(x) + y; \ - x = PCM_CLAMP_##SIGN##BIT(z); \ + x = pcm_clamp_calc(z, AFMT_##SIGN##BIT##_##ENDIAN); \ pcm_sample_write(dst, x, \ AFMT_##SIGN##BIT##_##ENDIAN); \ } while (count != 0); \ diff --git a/sys/dev/sound/pcm/feeder_rate.c b/sys/dev/sound/pcm/feeder_rate.c index e1b4076e248e..1610211ff5f5 100644 --- a/sys/dev/sound/pcm/feeder_rate.c +++ b/sys/dev/sound/pcm/feeder_rate.c @@ -502,10 +502,6 @@ z_feed_linear_##SIGN##BIT##ENDIAN(struct z_info *info, uint8_t *dst) \ #define Z_CLIP_CHECK(...) #endif -#define Z_CLAMP(v, BIT) \ - (((v) > PCM_S##BIT##_MAX) ? PCM_S##BIT##_MAX : \ - (((v) < PCM_S##BIT##_MIN) ? PCM_S##BIT##_MIN : (v))) - /* * Sine Cardinal (SINC) Interpolation. Scaling is done in 64 bit, so * there's no point to hold the plate any longer. All samples will be @@ -574,7 +570,7 @@ z_feed_sinc_##SIGN##BIT##ENDIAN(struct z_info *info, uint8_t *dst) \ else \ v >>= Z_COEFF_SHIFT - Z_GUARD_BIT_##BIT; \ Z_CLIP_CHECK(v, BIT); \ - pcm_sample_write(dst, Z_CLAMP(v, BIT), \ + pcm_sample_write(dst, pcm_clamp(v, AFMT_##SIGN##BIT##_##ENDIAN),\ AFMT_##SIGN##BIT##_##ENDIAN); \ } while (ch != 0); \ } @@ -614,7 +610,7 @@ z_feed_sinc_polyphase_##SIGN##BIT##ENDIAN(struct z_info *info, uint8_t *dst) \ else \ v >>= Z_COEFF_SHIFT - Z_GUARD_BIT_##BIT; \ Z_CLIP_CHECK(v, BIT); \ - pcm_sample_write(dst, Z_CLAMP(v, BIT), \ + pcm_sample_write(dst, pcm_clamp(v, AFMT_##SIGN##BIT##_##ENDIAN),\ AFMT_##SIGN##BIT##_##ENDIAN); \ } while (ch != 0); \ } diff --git a/sys/dev/sound/pcm/feeder_volume.c b/sys/dev/sound/pcm/feeder_volume.c index 572bc980ffe3..f72c6aa7ef4f 100644 --- a/sys/dev/sound/pcm/feeder_volume.c +++ b/sys/dev/sound/pcm/feeder_volume.c @@ -66,7 +66,8 @@ feed_volume_##SIGN##BIT##ENDIAN(int *vol, int *matrix, \ x = pcm_sample_read_calc(dst, \ AFMT_##SIGN##BIT##_##ENDIAN); \ v = FEEDVOLUME_CALC##BIT(x, vol[matrix[i]]); \ - x = PCM_CLAMP_##SIGN##BIT(v); \ + x = pcm_clamp_calc(v, \ + AFMT_##SIGN##BIT##_##ENDIAN); \ pcm_sample_write(dst, x, \ AFMT_##SIGN##BIT##_##ENDIAN); \ } while (i != 0); \ diff --git a/sys/dev/sound/pcm/pcm.h b/sys/dev/sound/pcm/pcm.h index f18d28b3b196..3b3b083457ee 100644 --- a/sys/dev/sound/pcm/pcm.h +++ b/sys/dev/sound/pcm/pcm.h @@ -103,32 +103,6 @@ typedef uint64_t uintpcm64_t; #define INTPCM24_T(v) ((intpcm24_t)(v)) #define INTPCM32_T(v) ((intpcm32_t)(v)) -#define PCM_CLAMP_S8(val) \ - (((val) > PCM_S8_MAX) ? PCM_S8_MAX : \ - (((val) < PCM_S8_MIN) ? PCM_S8_MIN : (val))) -#define PCM_CLAMP_S16(val) \ - (((val) > PCM_S16_MAX) ? PCM_S16_MAX : \ - (((val) < PCM_S16_MIN) ? PCM_S16_MIN : (val))) -#define PCM_CLAMP_S24(val) \ - (((val) > PCM_S24_MAX) ? PCM_S24_MAX : \ - (((val) < PCM_S24_MIN) ? PCM_S24_MIN : (val))) - -#ifdef SND_PCM_64 -#define PCM_CLAMP_S32(val) \ - (((val) > PCM_S32_MAX) ? PCM_S32_MAX : \ - (((val) < PCM_S32_MIN) ? PCM_S32_MIN : (val))) -#else /* !SND_PCM_64 */ -#define PCM_CLAMP_S32(val) \ - (((val) > PCM_S24_MAX) ? PCM_S32_MAX : \ - (((val) < PCM_S24_MIN) ? PCM_S32_MIN : \ - ((val) << PCM_FXSHIFT))) -#endif /* SND_PCM_64 */ - -#define PCM_CLAMP_U8(val) PCM_CLAMP_S8(val) -#define PCM_CLAMP_U16(val) PCM_CLAMP_S16(val) -#define PCM_CLAMP_U24(val) PCM_CLAMP_S24(val) -#define PCM_CLAMP_U32(val) PCM_CLAMP_S32(val) - static const struct { const uint8_t ulaw_to_u8[G711_TABLE_SIZE]; const uint8_t alaw_to_u8[G711_TABLE_SIZE]; @@ -370,4 +344,42 @@ pcm_sample_write_calc(uint8_t *dst, intpcm_t v, uint32_t fmt) pcm_sample_write(dst, v, fmt); } +static __always_inline __unused intpcm_t +pcm_clamp(intpcm32_t sample, uint32_t fmt) +{ + fmt = AFMT_ENCODING(fmt); + + switch (AFMT_BIT(fmt)) { + case 8: + return ((sample > PCM_S8_MAX) ? PCM_S8_MAX : + ((sample < PCM_S8_MIN) ? PCM_S8_MIN : sample)); + case 16: + return ((sample > PCM_S16_MAX) ? PCM_S16_MAX : + ((sample < PCM_S16_MIN) ? PCM_S16_MIN : sample)); + case 24: + return ((sample > PCM_S24_MAX) ? PCM_S24_MAX : + ((sample < PCM_S24_MIN) ? PCM_S24_MIN : sample)); + case 32: + return ((sample > PCM_S32_MAX) ? PCM_S32_MAX : + ((sample < PCM_S32_MIN) ? PCM_S32_MIN : sample)); + default: + printf("%s(): unknown format: 0x%08x\n", __func__, fmt); + __assert_unreachable(); + } +} + +static __always_inline __unused intpcm_t +pcm_clamp_calc(intpcm32_t sample, uint32_t fmt) +{ +#ifndef SND_PCM_64 + if (fmt & AFMT_32BIT) { + return ((sample > PCM_S24_MAX) ? PCM_S32_MAX : + ((sample < PCM_S24_MIN) ? PCM_S32_MIN : + sample << PCM_FXSHIFT)); + } +#endif + + return (pcm_clamp(sample, fmt)); +} + #endif /* !_SND_PCM_H_ */ From nobody Mon Mar 10 20:22: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 4ZBSww1Q6sz5pbrF; Mon, 10 Mar 2025 20:22: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 4ZBSww0Dbnz3s3J; Mon, 10 Mar 2025 20:22:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741638128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HOJSi6QcT8ycFkEQisipW5ih+7ED6L3uJMx/dhyEf3A=; b=itrjAO/sm1KdCoz01ihV+/ZIIX83IA2yU0ObTAc7X0ifzZ89YodUjOAZzYU2VyHhuHCliV p7J7YNzZVc2gg2P5pUzqGEYf5X1PsJ+grB1C/BSOCRTlbiORVHffPq5kSrWJ/gRPThrktN PMvj7RqrAUWxp4OG6wW1eueod9VSSKIAl+FmZQJ2RudoTSwl7pUbC5oAuNJGyiD7B1Ey4R FJdKPz93SlcwOnyUf3T8QHAutzUlIEstwLdJoJpgtJMhXzQbidtfqLNLD2IDtJ3PwSbsXL 2fTT70dFN34Hz/8q1hZsNj1yPTvlSPYqhNxzbQ51y1zbphDlEim/IuUfOf9uwg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741638128; a=rsa-sha256; cv=none; b=H2DBOwUXelpr5Z/E8i82NrClvvc9BsX0VsBijdKG9iFFtiYn4MZAZixrDXeKX+FY7gLX5L B1NLQdLd0T7xwWCrZM3dpo8gdhWD2m8hkSwUZkq8x3dhVJA9H7DxCqsMXzSSzX/2P+YfF/ mnYEZzTSw6QG79jK4rH9zl+67mFbHsXJ6fkqyi7ZGPJNT/c/PmQcWH8wfAGdv9RKHjZzrV Ie1YYQbcZV6MivAYUnpUI42hIqDd/wRULecRaJQM+oyLB6m+c70eEkXnj4vL4EbWXJKuza dF+65EFFLIDb6r88GoIpghMQUUelgvnYd6zvoLHf1FFmAZ/S7kn47F62ChYUjA== 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=1741638128; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HOJSi6QcT8ycFkEQisipW5ih+7ED6L3uJMx/dhyEf3A=; b=JI/Ev0ImfwErni7MZFZT7QbgoFxBhprEescUzyFZIM4rVap3l8bfXN6dYbHs0K4rUFZey3 tDvDXzwiZ14dxQQL1eL3Vg37bXB8r2LDqc3FbM7Yq1x2eC0GPi7piipafjLX5BuJNh0hOn CvEDOaGAwp5yw0OT+dUic+sTy0Jksj11Jn6po+J/gw7v/YXJE9EdOj7s1zjr5dAMrSvrc2 KPNO7lxgav25r6k0u/U5YQuFpX6It+ktJf9G53hAoihM6RSrlrSeuOgBoTGkD28+IzM1AA OA1Qy5n7pYk+NB9gsv+RctZfgLOATZoZjqOd+iHvlGG0RzM2adittfLPURvx2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBSwv6t6Jzv4K; Mon, 10 Mar 2025 20:22: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 52AKM7g4044273; Mon, 10 Mar 2025 20:22:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKM77E044270; Mon, 10 Mar 2025 20:22:07 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:22:07 GMT Message-Id: <202503102022.52AKM77E044270@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: 433e270f341c - main - sound: Refactor the format conversion framework 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: 433e270f341cf660b2fe125c2e0f733073829188 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=433e270f341cf660b2fe125c2e0f733073829188 commit 433e270f341cf660b2fe125c2e0f733073829188 Author: Christos Margiolis AuthorDate: 2025-03-10 20:19:15 +0000 Commit: Christos Margiolis CommitDate: 2025-03-10 20:19:15 +0000 sound: Refactor the format conversion framework Merge the PCM_READ|WRITE_* macros defined in pcm/pcm.h, as well as the intpcm_read|write_* macros defined in pcm/feeder_format.c, into six inline functions: pcm_sample_read|write[_norm|calc](). The absence of macro magic makes the code significantly easier to read, use and modify. Since these functions take the input/output format as a parameter, get rid of the read() and write() function pointers defined in struct feed_format_info, as well as the feeder_format_read|write_op() functions, and use the new read/write functions directly. Sponsored by: The FreeBSD Fondation MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D47932 --- sys/dev/sound/pcm/feeder.h | 7 - sys/dev/sound/pcm/feeder_eq.c | 12 +- sys/dev/sound/pcm/feeder_format.c | 221 +-------------- sys/dev/sound/pcm/feeder_matrix.c | 43 ++- sys/dev/sound/pcm/feeder_mixer.c | 9 +- sys/dev/sound/pcm/feeder_rate.c | 18 +- sys/dev/sound/pcm/feeder_volume.c | 6 +- sys/dev/sound/pcm/pcm.h | 557 +++++++++++++++++--------------------- sys/dev/sound/pcm/sndstat.c | 1 - sys/dev/sound/pcm/sound.h | 1 - tests/sys/sound/pcm_read_write.c | 278 +------------------ 11 files changed, 303 insertions(+), 850 deletions(-) diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index bd0d9dcb8f9c..60b8280e59ef 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -161,13 +161,6 @@ int feeder_matrix_setup(struct pcm_feeder *, struct pcmchan_matrix *, struct pcmchan_matrix *); int feeder_matrix_compare(struct pcmchan_matrix *, struct pcmchan_matrix *); -/* feeder_format */ -typedef intpcm_t intpcm_read_t(uint8_t *); -typedef void intpcm_write_t(uint8_t *, intpcm_t); - -intpcm_read_t *feeder_format_read_op(uint32_t); -intpcm_write_t *feeder_format_write_op(uint32_t); - /* 4Front OSS stuffs */ int feeder_matrix_oss_get_channel_order(struct pcmchan_matrix *, unsigned long long *); diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index 3c9d9cda9d62..df34ee44a2ab 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -158,9 +158,9 @@ feed_eq_biquad_##SIGN##BIT##ENDIAN(struct feed_eq_info *info, \ dst += j * PCM_##BIT##_BPS; \ do { \ dst -= PCM_##BIT##_BPS; \ - v = _PCM_READ_##SIGN##BIT##_##ENDIAN(dst); \ + v = pcm_sample_read(dst, AFMT_##SIGN##BIT##_##ENDIAN); \ v = ((intpcm64_t)pmul * v) >> pshift; \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, v); \ + pcm_sample_write(dst, v, AFMT_##SIGN##BIT##_##ENDIAN); \ } while (--j != 0); \ \ return; \ @@ -173,8 +173,8 @@ feed_eq_biquad_##SIGN##BIT##ENDIAN(struct feed_eq_info *info, \ i = 0; \ j = info->channels; \ do { \ - v = _PCM_READ_##SIGN##BIT##_##ENDIAN(dst); \ - v <<= 32 - BIT; \ + v = pcm_sample_read_norm(dst, \ + AFMT_##SIGN##BIT##_##ENDIAN); \ v = ((intpcm64_t)pmul * v) >> pshift; \ \ w = (intpcm64_t)v * treble->b0; \ @@ -203,8 +203,8 @@ feed_eq_biquad_##SIGN##BIT##ENDIAN(struct feed_eq_info *info, \ v = FEEDEQ_CLAMP(w); \ info->bass.o1[i] = v; \ \ - v >>= 32 - BIT; \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, v); \ + pcm_sample_write_norm(dst, v, \ + AFMT_##SIGN##BIT##_##ENDIAN); \ dst += PCM_##BIT##_BPS; \ i++; \ } while (--j != 0); \ diff --git a/sys/dev/sound/pcm/feeder_format.c b/sys/dev/sound/pcm/feeder_format.c index 53c7d3768a32..5a8f260e1bae 100644 --- a/sys/dev/sound/pcm/feeder_format.c +++ b/sys/dev/sound/pcm/feeder_format.c @@ -36,7 +36,7 @@ #include "opt_snd.h" #endif #include -#include +#include #include "feeder_if.h" #define SND_USE_FXDIV @@ -48,202 +48,19 @@ struct feed_format_info { uint32_t ibps, obps; uint32_t ialign, oalign, channels; - intpcm_read_t *read; - intpcm_write_t *write; + uint32_t rdfmt, wrfmt; uint8_t reservoir[FEEDFORMAT_RESERVOIR]; }; -#define INTPCM_DECLARE_OP_WRITE(SIGN, BIT, ENDIAN, SHIFT) \ -static __inline void \ -intpcm_write_##SIGN##BIT##ENDIAN(uint8_t *dst, intpcm_t v) \ -{ \ - \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, v >> SHIFT); \ -} - -#define INTPCM_DECLARE_OP_8(SIGN, ENDIAN) \ -static __inline intpcm_t \ -intpcm_read_##SIGN##8##ENDIAN(uint8_t *src) \ -{ \ - \ - return (_PCM_READ_##SIGN##8##_##ENDIAN(src) << 24); \ -} \ -INTPCM_DECLARE_OP_WRITE(SIGN, 8, ENDIAN, 24) - -#define INTPCM_DECLARE_OP_16(SIGN, ENDIAN) \ -static __inline intpcm_t \ -intpcm_read_##SIGN##16##ENDIAN(uint8_t *src) \ -{ \ - \ - return (_PCM_READ_##SIGN##16##_##ENDIAN(src) << 16); \ -} \ -INTPCM_DECLARE_OP_WRITE(SIGN, 16, ENDIAN, 16) - -#define INTPCM_DECLARE_OP_24(SIGN, ENDIAN) \ -static __inline intpcm_t \ -intpcm_read_##SIGN##24##ENDIAN(uint8_t *src) \ -{ \ - \ - return (_PCM_READ_##SIGN##24##_##ENDIAN(src) << 8); \ -} \ -INTPCM_DECLARE_OP_WRITE(SIGN, 24, ENDIAN, 8) - -#define INTPCM_DECLARE_OP_32(SIGN, ENDIAN) \ -static __inline intpcm_t \ -intpcm_read_##SIGN##32##ENDIAN(uint8_t *src) \ -{ \ - \ - return (_PCM_READ_##SIGN##32##_##ENDIAN(src)); \ -} \ - \ -static __inline void \ -intpcm_write_##SIGN##32##ENDIAN(uint8_t *dst, intpcm_t v) \ -{ \ - \ - _PCM_WRITE_##SIGN##32##_##ENDIAN(dst, v); \ -} - -INTPCM_DECLARE_OP_8(S, NE) -INTPCM_DECLARE_OP_16(S, LE) -INTPCM_DECLARE_OP_16(S, BE) -INTPCM_DECLARE_OP_24(S, LE) -INTPCM_DECLARE_OP_24(S, BE) -INTPCM_DECLARE_OP_32(S, LE) -INTPCM_DECLARE_OP_32(S, BE) -INTPCM_DECLARE_OP_8(U, NE) -INTPCM_DECLARE_OP_16(U, LE) -INTPCM_DECLARE_OP_16(U, BE) -INTPCM_DECLARE_OP_24(U, LE) -INTPCM_DECLARE_OP_24(U, BE) -INTPCM_DECLARE_OP_32(U, LE) -INTPCM_DECLARE_OP_32(U, BE) - -static const struct { - const uint8_t ulaw_to_u8[G711_TABLE_SIZE]; - const uint8_t alaw_to_u8[G711_TABLE_SIZE]; - const uint8_t u8_to_ulaw[G711_TABLE_SIZE]; - const uint8_t u8_to_alaw[G711_TABLE_SIZE]; -} xlaw_conv_tables = { - ULAW_TO_U8, - ALAW_TO_U8, - U8_TO_ULAW, - U8_TO_ALAW -}; - -static __inline intpcm_t -intpcm_read_ulaw(uint8_t *src) -{ - return (_G711_TO_INTPCM(xlaw_conv_tables.ulaw_to_u8, *src) << 24); -} - -static __inline intpcm_t -intpcm_read_alaw(uint8_t *src) -{ - return (_G711_TO_INTPCM(xlaw_conv_tables.alaw_to_u8, *src) << 24); -} - -static __inline void -intpcm_write_ulaw(uint8_t *dst, intpcm_t v) -{ - *dst = _INTPCM_TO_G711(xlaw_conv_tables.u8_to_ulaw, v >> 24); -} - -static __inline void -intpcm_write_alaw(uint8_t *dst, intpcm_t v) -{ - *dst = _INTPCM_TO_G711(xlaw_conv_tables.u8_to_alaw, v >> 24); -} - -/* - * dummy ac3/dts passthrough, etc. - * XXX assume as s16le. - */ -static __inline intpcm_t -intpcm_read_null(uint8_t *src __unused) -{ - - return (0); -} - -static __inline void -intpcm_write_null(uint8_t *dst, intpcm_t v __unused) -{ - - _PCM_WRITE_S16_LE(dst, 0); -} - -#define FEEDFORMAT_ENTRY(SIGN, BIT, ENDIAN) \ - { \ - AFMT_##SIGN##BIT##_##ENDIAN, \ - intpcm_read_##SIGN##BIT##ENDIAN, \ - intpcm_write_##SIGN##BIT##ENDIAN \ - } - -static const struct { - uint32_t format; - intpcm_read_t *read; - intpcm_write_t *write; -} feed_format_ops[] = { - FEEDFORMAT_ENTRY(S, 8, NE), - FEEDFORMAT_ENTRY(S, 16, LE), - FEEDFORMAT_ENTRY(S, 24, LE), - FEEDFORMAT_ENTRY(S, 32, LE), - FEEDFORMAT_ENTRY(S, 16, BE), - FEEDFORMAT_ENTRY(S, 24, BE), - FEEDFORMAT_ENTRY(S, 32, BE), - FEEDFORMAT_ENTRY(U, 8, NE), - FEEDFORMAT_ENTRY(U, 16, LE), - FEEDFORMAT_ENTRY(U, 24, LE), - FEEDFORMAT_ENTRY(U, 32, LE), - FEEDFORMAT_ENTRY(U, 16, BE), - FEEDFORMAT_ENTRY(U, 24, BE), - FEEDFORMAT_ENTRY(U, 32, BE), - { - AFMT_MU_LAW, - intpcm_read_ulaw, intpcm_write_ulaw - }, - { - AFMT_A_LAW, - intpcm_read_alaw, intpcm_write_alaw - }, - { - AFMT_AC3, - intpcm_read_null, intpcm_write_null - } -}; - static int feed_format_init(struct pcm_feeder *f) { struct feed_format_info *info; - intpcm_read_t *rd_op; - intpcm_write_t *wr_op; - size_t i; if (f->desc->in == f->desc->out || AFMT_CHANNEL(f->desc->in) != AFMT_CHANNEL(f->desc->out)) return (EINVAL); - rd_op = NULL; - wr_op = NULL; - - for (i = 0; i < nitems(feed_format_ops) && - (rd_op == NULL || wr_op == NULL); i++) { - if (rd_op == NULL && - AFMT_ENCODING(f->desc->in) == feed_format_ops[i].format) - rd_op = feed_format_ops[i].read; - if (wr_op == NULL && - AFMT_ENCODING(f->desc->out) == feed_format_ops[i].format) - wr_op = feed_format_ops[i].write; - } - - if (rd_op == NULL || wr_op == NULL) { - printf("%s(): failed to initialize io ops " - "in=0x%08x out=0x%08x\n", - __func__, f->desc->in, f->desc->out); - return (EINVAL); - } - info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO); if (info == NULL) return (ENOMEM); @@ -252,11 +69,11 @@ feed_format_init(struct pcm_feeder *f) info->ibps = AFMT_BPS(f->desc->in); info->ialign = info->ibps * info->channels; - info->read = rd_op; + info->rdfmt = AFMT_ENCODING(f->desc->in); info->obps = AFMT_BPS(f->desc->out); info->oalign = info->obps * info->channels; - info->write = wr_op; + info->wrfmt = AFMT_ENCODING(f->desc->out); f->data = info; @@ -340,8 +157,8 @@ feed_format_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, count -= j * info->obps; do { - v = info->read(src); - info->write(dst, v); + v = pcm_sample_read_norm(src, info->rdfmt); + pcm_sample_write_norm(dst, v, info->wrfmt); dst += info->obps; src += info->ibps; } while (--j != 0); @@ -365,29 +182,3 @@ static kobj_method_t feeder_format_methods[] = { }; FEEDER_DECLARE(feeder_format, NULL); - -intpcm_read_t * -feeder_format_read_op(uint32_t format) -{ - size_t i; - - for (i = 0; i < nitems(feed_format_ops); i++) { - if (AFMT_ENCODING(format) == feed_format_ops[i].format) - return (feed_format_ops[i].read); - } - - return (NULL); -} - -intpcm_write_t * -feeder_format_write_op(uint32_t format) -{ - size_t i; - - for (i = 0; i < nitems(feed_format_ops); i++) { - if (AFMT_ENCODING(format) == feed_format_ops[i].format) - return (feed_format_ops[i].write); - } - - return (NULL); -} diff --git a/sys/dev/sound/pcm/feeder_matrix.c b/sys/dev/sound/pcm/feeder_matrix.c index 97cf86585636..b63b5841ff7f 100644 --- a/sys/dev/sound/pcm/feeder_matrix.c +++ b/sys/dev/sound/pcm/feeder_matrix.c @@ -70,10 +70,6 @@ struct feed_matrix_info { uint32_t ialign, oalign; uint32_t in, out; feed_matrix_t apply; -#ifdef FEEDMATRIX_GENERIC - intpcm_read_t *rd; - intpcm_write_t *wr; -#endif struct { int chn[SND_CHN_T_MAX + 1]; int mul, shift; @@ -132,16 +128,17 @@ feed_matrix_##SIGN##BIT##ENDIAN(struct feed_matrix_info *info, \ for (i = 0; info->matrix[i].chn[0] != SND_CHN_T_EOF; \ i++) { \ if (info->matrix[i].chn[0] == SND_CHN_T_NULL) { \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, \ - 0); \ + pcm_sample_write(dst, 0, \ + AFMT_##SIGN##BIT##_##ENDIAN); \ dst += PCM_##BIT##_BPS; \ continue; \ } else if (info->matrix[i].chn[1] == \ SND_CHN_T_EOF) { \ - v = _PCM_READ_##SIGN##BIT##_##ENDIAN( \ - src + info->matrix[i].chn[0]); \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, \ - v); \ + v = pcm_sample_read( \ + src + info->matrix[i].chn[0], \ + AFMT_##SIGN##BIT##_##ENDIAN); \ + pcm_sample_write(dst, v, \ + AFMT_##SIGN##BIT##_##ENDIAN); \ dst += PCM_##BIT##_BPS; \ continue; \ } \ @@ -150,8 +147,9 @@ feed_matrix_##SIGN##BIT##ENDIAN(struct feed_matrix_info *info, \ for (j = 0; \ info->matrix[i].chn[j] != SND_CHN_T_EOF; \ j++) { \ - v = _PCM_READ_##SIGN##BIT##_##ENDIAN( \ - src + info->matrix[i].chn[j]); \ + v = pcm_sample_read( \ + src + info->matrix[i].chn[j], \ + AFMT_##SIGN##BIT##_##ENDIAN); \ accum += v; \ } \ \ @@ -165,7 +163,8 @@ feed_matrix_##SIGN##BIT##ENDIAN(struct feed_matrix_info *info, \ ((accum < PCM_S##BIT##_MIN) ? \ PCM_S##BIT##_MIN : \ accum); \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, v); \ + pcm_sample_write(dst, v, \ + AFMT_##SIGN##BIT##_##ENDIAN); \ dst += PCM_##BIT##_BPS; \ } \ src += info->ialign; \ @@ -254,13 +253,14 @@ feed_matrix_apply_generic(struct feed_matrix_info *info, for (i = 0; info->matrix[i].chn[0] != SND_CHN_T_EOF; i++) { if (info->matrix[i].chn[0] == SND_CHN_T_NULL) { - info->wr(dst, 0); + pcm_sample_write_norm(dst, 0, info->out); dst += info->bps; continue; } else if (info->matrix[i].chn[1] == SND_CHN_T_EOF) { - v = info->rd(src + info->matrix[i].chn[0]); - info->wr(dst, v); + v = pcm_sample_read_norm(src + + info->matrix[i].chn[0], info->in); + pcm_sample_write_norm(dst, v, info->out); dst += info->bps; continue; } @@ -269,7 +269,8 @@ feed_matrix_apply_generic(struct feed_matrix_info *info, for (j = 0; info->matrix[i].chn[j] != SND_CHN_T_EOF; j++) { - v = info->rd(src + info->matrix[i].chn[j]); + v = pcm_sample_read_norm(src + + info->matrix[i].chn[j], info->in); accum += v; } @@ -280,7 +281,7 @@ feed_matrix_apply_generic(struct feed_matrix_info *info, v = (accum > PCM_S32_MAX) ? PCM_S32_MAX : ((accum < PCM_S32_MIN) ? PCM_S32_MIN : accum); - info->wr(dst, v); + pcm_sample_write_norm(dst, v, info->out); dst += info->bps; } src += info->ialign; @@ -421,12 +422,6 @@ feed_matrix_init(struct pcm_feeder *f) if (info->apply == NULL) { #ifdef FEEDMATRIX_GENERIC - info->rd = feeder_format_read_op(info->in); - info->wr = feeder_format_write_op(info->out); - if (info->rd == NULL || info->wr == NULL) { - free(info, M_DEVBUF); - return (EINVAL); - } info->apply = feed_matrix_apply_generic; #else free(info, M_DEVBUF); diff --git a/sys/dev/sound/pcm/feeder_mixer.c b/sys/dev/sound/pcm/feeder_mixer.c index 9f6b653effa3..7640b09400ed 100644 --- a/sys/dev/sound/pcm/feeder_mixer.c +++ b/sys/dev/sound/pcm/feeder_mixer.c @@ -59,11 +59,14 @@ feed_mixer_##SIGN##BIT##ENDIAN(uint8_t *src, uint8_t *dst, \ src -= PCM_##BIT##_BPS; \ dst -= PCM_##BIT##_BPS; \ count -= PCM_##BIT##_BPS; \ - x = PCM_READ_##SIGN##BIT##_##ENDIAN(src); \ - y = PCM_READ_##SIGN##BIT##_##ENDIAN(dst); \ + x = pcm_sample_read_calc(src, \ + AFMT_##SIGN##BIT##_##ENDIAN); \ + y = pcm_sample_read_calc(dst, \ + AFMT_##SIGN##BIT##_##ENDIAN); \ z = INTPCM##BIT##_T(x) + y; \ x = PCM_CLAMP_##SIGN##BIT(z); \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, x); \ + pcm_sample_write(dst, x, \ + AFMT_##SIGN##BIT##_##ENDIAN); \ } while (count != 0); \ } diff --git a/sys/dev/sound/pcm/feeder_rate.c b/sys/dev/sound/pcm/feeder_rate.c index 40e5d3018ab4..e1b4076e248e 100644 --- a/sys/dev/sound/pcm/feeder_rate.c +++ b/sys/dev/sound/pcm/feeder_rate.c @@ -471,10 +471,10 @@ z_feed_linear_##SIGN##BIT##ENDIAN(struct z_info *info, uint8_t *dst) \ ch = info->channels; \ \ do { \ - x = _PCM_READ_##SIGN##BIT##_##ENDIAN(sx); \ - y = _PCM_READ_##SIGN##BIT##_##ENDIAN(sy); \ + x = pcm_sample_read(sx, AFMT_##SIGN##BIT##_##ENDIAN); \ + y = pcm_sample_read(sy, AFMT_##SIGN##BIT##_##ENDIAN); \ x = Z_LINEAR_INTERPOLATE_##BIT(z, x, y); \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, x); \ + pcm_sample_write(dst, x, AFMT_##SIGN##BIT##_##ENDIAN); \ sx += PCM_##BIT##_BPS; \ sy += PCM_##BIT##_BPS; \ dst += PCM_##BIT##_BPS; \ @@ -516,7 +516,7 @@ z_feed_linear_##SIGN##BIT##ENDIAN(struct z_info *info, uint8_t *dst) \ c += z >> Z_SHIFT; \ z &= Z_MASK; \ coeff = Z_COEFF_INTERPOLATE(z, z_coeff[c], z_dcoeff[c]); \ - x = _PCM_READ_##SIGN##BIT##_##ENDIAN(p); \ + x = pcm_sample_read(p, AFMT_##SIGN##BIT##_##ENDIAN); \ v += Z_NORM_##BIT((intpcm64_t)x * coeff); \ z += info->z_dy; \ p adv##= info->channels * PCM_##BIT##_BPS @@ -574,7 +574,8 @@ z_feed_sinc_##SIGN##BIT##ENDIAN(struct z_info *info, uint8_t *dst) \ else \ v >>= Z_COEFF_SHIFT - Z_GUARD_BIT_##BIT; \ Z_CLIP_CHECK(v, BIT); \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, Z_CLAMP(v, BIT)); \ + pcm_sample_write(dst, Z_CLAMP(v, BIT), \ + AFMT_##SIGN##BIT##_##ENDIAN); \ } while (ch != 0); \ } @@ -599,11 +600,11 @@ z_feed_sinc_polyphase_##SIGN##BIT##ENDIAN(struct z_info *info, uint8_t *dst) \ z_pcoeff = info->z_pcoeff + \ ((info->z_alpha * info->z_size) << 1); \ for (i = info->z_size; i != 0; i--) { \ - x = _PCM_READ_##SIGN##BIT##_##ENDIAN(p); \ + x = pcm_sample_read(p, AFMT_##SIGN##BIT##_##ENDIAN); \ v += Z_NORM_##BIT((intpcm64_t)x * *z_pcoeff); \ z_pcoeff++; \ p += info->channels * PCM_##BIT##_BPS; \ - x = _PCM_READ_##SIGN##BIT##_##ENDIAN(p); \ + x = pcm_sample_read(p, AFMT_##SIGN##BIT##_##ENDIAN); \ v += Z_NORM_##BIT((intpcm64_t)x * *z_pcoeff); \ z_pcoeff++; \ p += info->channels * PCM_##BIT##_BPS; \ @@ -613,7 +614,8 @@ z_feed_sinc_polyphase_##SIGN##BIT##ENDIAN(struct z_info *info, uint8_t *dst) \ else \ v >>= Z_COEFF_SHIFT - Z_GUARD_BIT_##BIT; \ Z_CLIP_CHECK(v, BIT); \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, Z_CLAMP(v, BIT)); \ + pcm_sample_write(dst, Z_CLAMP(v, BIT), \ + AFMT_##SIGN##BIT##_##ENDIAN); \ } while (ch != 0); \ } diff --git a/sys/dev/sound/pcm/feeder_volume.c b/sys/dev/sound/pcm/feeder_volume.c index 7e600c131afe..572bc980ffe3 100644 --- a/sys/dev/sound/pcm/feeder_volume.c +++ b/sys/dev/sound/pcm/feeder_volume.c @@ -63,10 +63,12 @@ feed_volume_##SIGN##BIT##ENDIAN(int *vol, int *matrix, \ do { \ dst -= PCM_##BIT##_BPS; \ i--; \ - x = PCM_READ_##SIGN##BIT##_##ENDIAN(dst); \ + x = pcm_sample_read_calc(dst, \ + AFMT_##SIGN##BIT##_##ENDIAN); \ v = FEEDVOLUME_CALC##BIT(x, vol[matrix[i]]); \ x = PCM_CLAMP_##SIGN##BIT(v); \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, x); \ + pcm_sample_write(dst, x, \ + AFMT_##SIGN##BIT##_##ENDIAN); \ } while (i != 0); \ } while (--count != 0); \ } diff --git a/sys/dev/sound/pcm/pcm.h b/sys/dev/sound/pcm/pcm.h index 3165822e3c85..f18d28b3b196 100644 --- a/sys/dev/sound/pcm/pcm.h +++ b/sys/dev/sound/pcm/pcm.h @@ -31,14 +31,11 @@ #include -/* - * Macros for reading/writing PCM sample / int values from bytes array. - * Since every process is done using signed integer (and to make our life - * less miserable), unsigned sample will be converted to its signed - * counterpart and restored during writing back. To avoid overflow, - * we truncate 32bit (and only 32bit) samples down to 24bit (see below - * for the reason), unless SND_PCM_64 is defined. - */ +#include + +#ifndef _KERNEL +#include /* for __assert_unreachable() */ +#endif /* * Automatically turn on 64bit arithmetic on suitable archs @@ -106,309 +103,6 @@ typedef uint64_t uintpcm64_t; #define INTPCM24_T(v) ((intpcm24_t)(v)) #define INTPCM32_T(v) ((intpcm32_t)(v)) -#if BYTE_ORDER == LITTLE_ENDIAN -#define _PCM_READ_S16_LE(b8) INTPCM_T(*((int16_t *)(b8))) -#define _PCM_READ_S32_LE(b8) INTPCM_T(*((int32_t *)(b8))) -#define _PCM_READ_S16_BE(b8) \ - INTPCM_T((b8)[1] | (((int8_t)((b8)[0])) << 8)) -#define _PCM_READ_S32_BE(b8) \ - INTPCM_T((b8)[3] | ((b8)[2] << 8) | ((b8)[1] << 16) | \ - (((int8_t)((b8)[0])) << 24)) - -#define _PCM_WRITE_S16_LE(b8, val) do { \ - *((int16_t *)(b8)) = (val); \ -} while (0) -#define _PCM_WRITE_S32_LE(b8, val) do { \ - *((int32_t *)(b8)) = (val); \ -} while (0) -#define _PCM_WRITE_S16_BE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[1] = val; \ - b8[0] = val >> 8; \ -} while (0) -#define _PCM_WRITE_S32_BE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[3] = val; \ - b8[2] = val >> 8; \ - b8[1] = val >> 16; \ - b8[0] = val >> 24; \ -} while (0) - -#define _PCM_READ_U16_LE(b8) \ - INTPCM_T((int16_t)(*((uint16_t *)(b8)) ^ 0x8000)) -#define _PCM_READ_U32_LE(b8) \ - INTPCM_T((int32_t)(*((uint32_t *)(b8)) ^ 0x80000000)) -#define _PCM_READ_U16_BE(b8) \ - INTPCM_T((b8)[1] | (((int8_t)((b8)[0] ^ 0x80)) << 8)) -#define _PCM_READ_U32_BE(b8) \ - INTPCM_T((b8)[3] | ((b8)[2] << 8) | ((b8)[1] << 16) | \ - (((int8_t)((b8)[0] ^ 0x80)) << 24)) - -#define _PCM_WRITE_U16_LE(b8, val) do { \ - *((uint16_t *)(b8)) = (val) ^ 0x8000; \ -} while (0) -#define _PCM_WRITE_U32_LE(b8, val) do { \ - *((uint32_t *)(b8)) = (val) ^ 0x80000000; \ -} while (0) -#define _PCM_WRITE_U16_BE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[1] = val; \ - b8[0] = (val >> 8) ^ 0x80; \ -} while (0) -#define _PCM_WRITE_U32_BE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[3] = val; \ - b8[2] = val >> 8; \ - b8[1] = val >> 16; \ - b8[0] = (val >> 24) ^ 0x80; \ -} while (0) - -#define _PCM_READ_S16_NE(b8) _PCM_READ_S16_LE(b8) -#define _PCM_READ_U16_NE(b8) _PCM_READ_U16_LE(b8) -#define _PCM_READ_S32_NE(b8) _PCM_READ_S32_LE(b8) -#define _PCM_READ_U32_NE(b8) _PCM_READ_U32_LE(b8) -#define _PCM_WRITE_S16_NE(b6) _PCM_WRITE_S16_LE(b8) -#define _PCM_WRITE_U16_NE(b6) _PCM_WRITE_U16_LE(b8) -#define _PCM_WRITE_S32_NE(b6) _PCM_WRITE_S32_LE(b8) -#define _PCM_WRITE_U32_NE(b6) _PCM_WRITE_U32_LE(b8) -#else /* !LITTLE_ENDIAN */ -#define _PCM_READ_S16_LE(b8) \ - INTPCM_T((b8)[0] | (((int8_t)((b8)[1])) << 8)) -#define _PCM_READ_S32_LE(b8) \ - INTPCM_T((b8)[0] | ((b8)[1] << 8) | ((b8)[2] << 16) | \ - (((int8_t)((b8)[3])) << 24)) -#define _PCM_READ_S16_BE(b8) INTPCM_T(*((int16_t *)(b8))) -#define _PCM_READ_S32_BE(b8) INTPCM_T(*((int32_t *)(b8))) - -#define _PCM_WRITE_S16_LE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[0] = val; \ - b8[1] = val >> 8; \ -} while (0) -#define _PCM_WRITE_S32_LE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[0] = val; \ - b8[1] = val >> 8; \ - b8[2] = val >> 16; \ - b8[3] = val >> 24; \ -} while (0) -#define _PCM_WRITE_S16_BE(b8, val) do { \ - *((int16_t *)(b8)) = (val); \ -} while (0) -#define _PCM_WRITE_S32_BE(b8, val) do { \ - *((int32_t *)(b8)) = (val); \ -} while (0) - -#define _PCM_READ_U16_LE(b8) \ - INTPCM_T((b8)[0] | (((int8_t)((b8)[1] ^ 0x80)) << 8)) -#define _PCM_READ_U32_LE(b8) \ - INTPCM_T((b8)[0] | ((b8)[1] << 8) | ((b8)[2] << 16) | \ - (((int8_t)((b8)[3] ^ 0x80)) << 24)) -#define _PCM_READ_U16_BE(b8) \ - INTPCM_T((int16_t)(*((uint16_t *)(b8)) ^ 0x8000)) -#define _PCM_READ_U32_BE(b8) \ - INTPCM_T((int32_t)(*((uint32_t *)(b8)) ^ 0x80000000)) - -#define _PCM_WRITE_U16_LE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[0] = val; \ - b8[1] = (val >> 8) ^ 0x80; \ -} while (0) -#define _PCM_WRITE_U32_LE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[0] = val; \ - b8[1] = val >> 8; \ - b8[2] = val >> 16; \ - b8[3] = (val >> 24) ^ 0x80; \ -} while (0) -#define _PCM_WRITE_U16_BE(b8, val) do { \ - *((uint16_t *)(b8)) = (val) ^ 0x8000; \ -} while (0) -#define _PCM_WRITE_U32_BE(b8, val) do { \ - *((uint32_t *)(b8)) = (val) ^ 0x80000000; \ -} while (0) - -#define _PCM_READ_S16_NE(b8) _PCM_READ_S16_BE(b8) -#define _PCM_READ_U16_NE(b8) _PCM_READ_U16_BE(b8) -#define _PCM_READ_S32_NE(b8) _PCM_READ_S32_BE(b8) -#define _PCM_READ_U32_NE(b8) _PCM_READ_U32_BE(b8) -#define _PCM_WRITE_S16_NE(b6) _PCM_WRITE_S16_BE(b8) -#define _PCM_WRITE_U16_NE(b6) _PCM_WRITE_U16_BE(b8) -#define _PCM_WRITE_S32_NE(b6) _PCM_WRITE_S32_BE(b8) -#define _PCM_WRITE_U32_NE(b6) _PCM_WRITE_U32_BE(b8) -#endif /* LITTLE_ENDIAN */ - -#define _PCM_READ_S24_LE(b8) \ - INTPCM_T((b8)[0] | ((b8)[1] << 8) | (((int8_t)((b8)[2])) << 16)) -#define _PCM_READ_S24_BE(b8) \ - INTPCM_T((b8)[2] | ((b8)[1] << 8) | (((int8_t)((b8)[0])) << 16)) - -#define _PCM_WRITE_S24_LE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[0] = val; \ - b8[1] = val >> 8; \ - b8[2] = val >> 16; \ -} while (0) -#define _PCM_WRITE_S24_BE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[2] = val; \ - b8[1] = val >> 8; \ - b8[0] = val >> 16; \ -} while (0) - -#define _PCM_READ_U24_LE(b8) \ - INTPCM_T((b8)[0] | ((b8)[1] << 8) | \ - (((int8_t)((b8)[2] ^ 0x80)) << 16)) -#define _PCM_READ_U24_BE(b8) \ - INTPCM_T((b8)[2] | ((b8)[1] << 8) | \ - (((int8_t)((b8)[0] ^ 0x80)) << 16)) - -#define _PCM_WRITE_U24_LE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[0] = val; \ - b8[1] = val >> 8; \ - b8[2] = (val >> 16) ^ 0x80; \ -} while (0) -#define _PCM_WRITE_U24_BE(bb8, vval) do { \ - intpcm_t val = (vval); \ - uint8_t *b8 = (bb8); \ - b8[2] = val; \ - b8[1] = val >> 8; \ - b8[0] = (val >> 16) ^ 0x80; \ -} while (0) - -#if BYTE_ORDER == LITTLE_ENDIAN -#define _PCM_READ_S24_NE(b8) _PCM_READ_S24_LE(b8) -#define _PCM_READ_U24_NE(b8) _PCM_READ_U24_LE(b8) -#define _PCM_WRITE_S24_NE(b6) _PCM_WRITE_S24_LE(b8) -#define _PCM_WRITE_U24_NE(b6) _PCM_WRITE_U24_LE(b8) -#else /* !LITTLE_ENDIAN */ -#define _PCM_READ_S24_NE(b8) _PCM_READ_S24_BE(b8) -#define _PCM_READ_U24_NE(b8) _PCM_READ_U24_BE(b8) -#define _PCM_WRITE_S24_NE(b6) _PCM_WRITE_S24_BE(b8) -#define _PCM_WRITE_U24_NE(b6) _PCM_WRITE_U24_BE(b8) -#endif /* LITTLE_ENDIAN */ -/* - * 8bit sample is pretty much useless since it doesn't provide - * sufficient dynamic range throughout our filtering process. - * For the sake of completeness, declare it anyway. - */ -#define _PCM_READ_S8_NE(b8) INTPCM_T(*((int8_t *)(b8))) -#define _PCM_READ_U8_NE(b8) \ - INTPCM_T((int8_t)(*((uint8_t *)(b8)) ^ 0x80)) - -#define _PCM_WRITE_S8_NE(b8, val) do { \ - *((int8_t *)(b8)) = (val); \ -} while (0) -#define _PCM_WRITE_U8_NE(b8, val) do { \ - *((uint8_t *)(b8)) = (val) ^ 0x80; \ -} while (0) - -/* - * Common macross. Use this instead of "_", unless we want - * the real sample value. - */ - -/* 8bit */ -#define PCM_READ_S8_NE(b8) _PCM_READ_S8_NE(b8) -#define PCM_READ_U8_NE(b8) _PCM_READ_U8_NE(b8) -#define PCM_WRITE_S8_NE(b8, val) _PCM_WRITE_S8_NE(b8, val) -#define PCM_WRITE_U8_NE(b8, val) _PCM_WRITE_U8_NE(b8, val) - -/* 16bit */ -#define PCM_READ_S16_LE(b8) _PCM_READ_S16_LE(b8) -#define PCM_READ_S16_BE(b8) _PCM_READ_S16_BE(b8) -#define PCM_READ_U16_LE(b8) _PCM_READ_U16_LE(b8) -#define PCM_READ_U16_BE(b8) _PCM_READ_U16_BE(b8) - -#define PCM_WRITE_S16_LE(b8, val) _PCM_WRITE_S16_LE(b8, val) -#define PCM_WRITE_S16_BE(b8, val) _PCM_WRITE_S16_BE(b8, val) -#define PCM_WRITE_U16_LE(b8, val) _PCM_WRITE_U16_LE(b8, val) -#define PCM_WRITE_U16_BE(b8, val) _PCM_WRITE_U16_BE(b8, val) - -#define PCM_READ_S16_NE(b8) _PCM_READ_S16_NE(b8) -#define PCM_READ_U16_NE(b8) _PCM_READ_U16_NE(b8) -#define PCM_WRITE_S16_NE(b8) _PCM_WRITE_S16_NE(b8) -#define PCM_WRITE_U16_NE(b8) _PCM_WRITE_U16_NE(b8) - -/* 24bit */ -#define PCM_READ_S24_LE(b8) _PCM_READ_S24_LE(b8) -#define PCM_READ_S24_BE(b8) _PCM_READ_S24_BE(b8) -#define PCM_READ_U24_LE(b8) _PCM_READ_U24_LE(b8) -#define PCM_READ_U24_BE(b8) _PCM_READ_U24_BE(b8) - -#define PCM_WRITE_S24_LE(b8, val) _PCM_WRITE_S24_LE(b8, val) -#define PCM_WRITE_S24_BE(b8, val) _PCM_WRITE_S24_BE(b8, val) -#define PCM_WRITE_U24_LE(b8, val) _PCM_WRITE_U24_LE(b8, val) -#define PCM_WRITE_U24_BE(b8, val) _PCM_WRITE_U24_BE(b8, val) - -#define PCM_READ_S24_NE(b8) _PCM_READ_S24_NE(b8) -#define PCM_READ_U24_NE(b8) _PCM_READ_U24_NE(b8) -#define PCM_WRITE_S24_NE(b8) _PCM_WRITE_S24_NE(b8) -#define PCM_WRITE_U24_NE(b8) _PCM_WRITE_U24_NE(b8) - -/* 32bit */ -#ifdef SND_PCM_64 -#define PCM_READ_S32_LE(b8) _PCM_READ_S32_LE(b8) -#define PCM_READ_S32_BE(b8) _PCM_READ_S32_BE(b8) -#define PCM_READ_U32_LE(b8) _PCM_READ_U32_LE(b8) -#define PCM_READ_U32_BE(b8) _PCM_READ_U32_BE(b8) - -#define PCM_WRITE_S32_LE(b8, val) _PCM_WRITE_S32_LE(b8, val) -#define PCM_WRITE_S32_BE(b8, val) _PCM_WRITE_S32_BE(b8, val) -#define PCM_WRITE_U32_LE(b8, val) _PCM_WRITE_U32_LE(b8, val) -#define PCM_WRITE_U32_BE(b8, val) _PCM_WRITE_U32_BE(b8, val) - -#define PCM_READ_S32_NE(b8) _PCM_READ_S32_NE(b8) -#define PCM_READ_U32_NE(b8) _PCM_READ_U32_NE(b8) -#define PCM_WRITE_S32_NE(b8) _PCM_WRITE_S32_NE(b8) -#define PCM_WRITE_U32_NE(b8) _PCM_WRITE_U32_NE(b8) -#else /* !SND_PCM_64 */ -/* - * 24bit integer ?!? This is quite unfortunate, eh? Get the fact straight: - * Dynamic range for: - * 1) Human =~ 140db - * 2) 16bit = 96db (close enough) - * 3) 24bit = 144db (perfect) - * 4) 32bit = 196db (way too much) - * 5) Bugs Bunny = Gazillion!@%$Erbzzztt-EINVAL db - * Since we're not Bugs Bunny ..uh..err.. avoiding 64bit arithmetic, 24bit - * is pretty much sufficient for our signed integer processing. - */ -#define PCM_READ_S32_LE(b8) (_PCM_READ_S32_LE(b8) >> PCM_FXSHIFT) -#define PCM_READ_S32_BE(b8) (_PCM_READ_S32_BE(b8) >> PCM_FXSHIFT) -#define PCM_READ_U32_LE(b8) (_PCM_READ_U32_LE(b8) >> PCM_FXSHIFT) -#define PCM_READ_U32_BE(b8) (_PCM_READ_U32_BE(b8) >> PCM_FXSHIFT) - -#define PCM_READ_S32_NE(b8) (_PCM_READ_S32_NE(b8) >> PCM_FXSHIFT) -#define PCM_READ_U32_NE(b8) (_PCM_READ_U32_NE(b8) >> PCM_FXSHIFT) - -#define PCM_WRITE_S32_LE(b8, val) \ - _PCM_WRITE_S32_LE(b8, (val) << PCM_FXSHIFT) -#define PCM_WRITE_S32_BE(b8, val) \ - _PCM_WRITE_S32_BE(b8, (val) << PCM_FXSHIFT) -#define PCM_WRITE_U32_LE(b8, val) \ - _PCM_WRITE_U32_LE(b8, (val) << PCM_FXSHIFT) -#define PCM_WRITE_U32_BE(b8, val) \ - _PCM_WRITE_U32_BE(b8, (val) << PCM_FXSHIFT) - -#define PCM_WRITE_S32_NE(b8, val) \ - _PCM_WRITE_S32_NE(b8, (val) << PCM_FXSHIFT) -#define PCM_WRITE_U32_NE(b8, val) \ - _PCM_WRITE_U32_NE(b8, (val) << PCM_FXSHIFT) -#endif /* SND_PCM_64 */ - #define PCM_CLAMP_S8(val) \ (((val) > PCM_S8_MAX) ? PCM_S8_MAX : \ (((val) < PCM_S8_MIN) ? PCM_S8_MIN : (val))) @@ -435,4 +129,245 @@ typedef uint64_t uintpcm64_t; #define PCM_CLAMP_U24(val) PCM_CLAMP_S24(val) #define PCM_CLAMP_U32(val) PCM_CLAMP_S32(val) +static const struct { + const uint8_t ulaw_to_u8[G711_TABLE_SIZE]; + const uint8_t alaw_to_u8[G711_TABLE_SIZE]; + const uint8_t u8_to_ulaw[G711_TABLE_SIZE]; + const uint8_t u8_to_alaw[G711_TABLE_SIZE]; +} xlaw_conv_tables = { + ULAW_TO_U8, + ALAW_TO_U8, + U8_TO_ULAW, + U8_TO_ALAW +}; + +/* + * Functions for reading/writing PCM integer sample values from bytes array. + * Since every process is done using signed integer (and to make our life less + * miserable), unsigned sample will be converted to its signed counterpart and + * restored during writing back. + */ +static __always_inline __unused intpcm_t +pcm_sample_read(const uint8_t *src, uint32_t fmt) +{ + intpcm_t v; + + fmt = AFMT_ENCODING(fmt); + + switch (fmt) { + case AFMT_AC3: + v = 0; + break; + case AFMT_MU_LAW: + v = _G711_TO_INTPCM(xlaw_conv_tables.ulaw_to_u8, *src); + break; + case AFMT_A_LAW: + v = _G711_TO_INTPCM(xlaw_conv_tables.alaw_to_u8, *src); + break; + case AFMT_S8: + v = INTPCM_T((int8_t)*src); + break; + case AFMT_U8: + v = INTPCM_T((int8_t)(*src ^ 0x80)); + break; + case AFMT_S16_LE: + v = INTPCM_T(src[0] | (int8_t)src[1] << 8); + break; + case AFMT_S16_BE: + v = INTPCM_T(src[1] | (int8_t)src[0] << 8); + break; + case AFMT_U16_LE: + v = INTPCM_T(src[0] | (int8_t)(src[1] ^ 0x80) << 8); + break; + case AFMT_U16_BE: + v = INTPCM_T(src[1] | (int8_t)(src[0] ^ 0x80) << 8); + break; + case AFMT_S24_LE: + v = INTPCM_T(src[0] | src[1] << 8 | (int8_t)src[2] << 16); + break; + case AFMT_S24_BE: + v = INTPCM_T(src[2] | src[1] << 8 | (int8_t)src[0] << 16); + break; + case AFMT_U24_LE: + v = INTPCM_T(src[0] | src[1] << 8 | + (int8_t)(src[2] ^ 0x80) << 16); + break; + case AFMT_U24_BE: + v = INTPCM_T(src[2] | src[1] << 8 | + (int8_t)(src[0] ^ 0x80) << 16); + break; *** 528 LINES SKIPPED *** From nobody Mon Mar 10 20:22: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 4ZBSwz6h5fz5pbrM; Mon, 10 Mar 2025 20:22: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 4ZBSwz38stz3s8c; Mon, 10 Mar 2025 20:22:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741638131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gB3X5MUNU7ijpNYd9vxOGLjq9Y5hhM7gdFNtRk+kmD8=; b=mbuALI/ywGjDkmqve41MWx/HtBGaaV3rhGTT5+LIoEgoImLwUIaXBx4xoZJeSR90oLyel+ GyIbAHC2f/iTD0b0wCud7Bcqolp7j1eD9G3ahcBYHM9dJD3Llc+u+WxWuCE1xe0d32T9Hv pw7onxAdNZRUykaTx8iQxA/jnaY1O+5CNDpoaUSEm38rx5v9a6k1Q4aPRfaKaZL38y67Fi BmxhXvlXUEPkw9ys1eprbuXEXI7e5ULqsgyT4zpgAJnv6RyzxJd/vq7tyFyJGkoEna9eyp TaYj3xe/VN1XBrF4/TGXow10vKK//D05mrf8LXWx2eHUC5BjgcwhFGcWBBq/Cg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741638131; a=rsa-sha256; cv=none; b=Ojt46DLNWJL+jqfc8yZauQ8u5b63G/5gjd431efuqyUGPYT2gw597wvuXhiq5fR8BlJ/Y8 wNwVPMvXdfG/uxtwl7DmwwKtb4f6pZ4I2V7yRtwrblnzRe2/HN5IziHiC/oHvxi3OuzG+x mTjLP7uhUnBoV9f6Skm6qEKQIHmZtvtzBNdrvPKG/Na5+rALvsoPCyHd9UHX+EPY1iJNJR LlS/xr21pTxEvNYSSgm4bfrys0LyR7/UDPPkXPOiNQApAO8Kn1B9vy1hTVfHFb8BiwpLH3 UZQZ33zUkfoSieKmMQYZOZ21EYkysmbaAhv5h1rSNNehoiRnFc+ZthFvPfRkKg== 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=1741638131; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gB3X5MUNU7ijpNYd9vxOGLjq9Y5hhM7gdFNtRk+kmD8=; b=FpyR81ogX36WAR8LnzRhPKkqnc6JmFFoiv1poSOrbDRUhZXOky3ca2cVOjzBs0Z2rGWJQ1 2rPe8gTo4+6T6c3eb9Eub/6Vn0pn1BJC6RRm2Ml+9z+EQKX8QJsUJU2GWU2ifBBSh30f8e rp+OP6RVOcTkGF72fCcGcFpD9a8CAWQ37ohSyJLCtMryIvRhBjDxRDwoM7kGsEh5rzsfiM CaYs+PP8ujwK4iXzI1bYepezcLi91YnzwoaAzaGYzaJ1Kjl/1/2HlTCbt1XFCzdGgEioD8 B9unTTYBXCuQ834IdYDqOkahZLmviW4dEIIypbSnDiKqSNeKd6nXgug15WkrQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBSwz2kQMzv4N; Mon, 10 Mar 2025 20:22: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 52AKMBZk044376; Mon, 10 Mar 2025 20:22:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKMB0k044373; Mon, 10 Mar 2025 20:22:11 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:22:11 GMT Message-Id: <202503102022.52AKMB0k044373@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: ac24c9da8bb7 - main - sound: Remove macro magic from pcm/feeder_matrix.c 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: ac24c9da8bb7af731646dd7924841a28e2ad7ad7 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=ac24c9da8bb7af731646dd7924841a28e2ad7ad7 commit ac24c9da8bb7af731646dd7924841a28e2ad7ad7 Author: Christos Margiolis AuthorDate: 2025-03-10 20:19:41 +0000 Commit: Christos Margiolis CommitDate: 2025-03-10 20:19:41 +0000 sound: Remove macro magic from pcm/feeder_matrix.c Turn the FEEDMATRIX_DECLARE macro into a single inline function (feed_matrix_apply()). There is no reason to have this as a macro, it only complicated the code. An advantage of this patch is that, because we no longer call the functions created by the macro through function pointers (apply field of feed_matrix_info), we can call feed_matrix_apply() directly in feed_matrix_feed(). Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48035 --- sys/dev/sound/pcm/feeder_matrix.c | 185 ++++++++++++-------------------------- 1 file changed, 56 insertions(+), 129 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_matrix.c b/sys/dev/sound/pcm/feeder_matrix.c index b63b5841ff7f..ab7922179867 100644 --- a/sys/dev/sound/pcm/feeder_matrix.c +++ b/sys/dev/sound/pcm/feeder_matrix.c @@ -60,16 +60,11 @@ #define SND_CHN_T_EOF 0x00e0fe0f #define SND_CHN_T_NULL 0x0e0e0e0e -struct feed_matrix_info; - -typedef void (*feed_matrix_t)(struct feed_matrix_info *, uint8_t *, - uint8_t *, uint32_t); - struct feed_matrix_info { + uint32_t fmt; uint32_t bps; uint32_t ialign, oalign; uint32_t in, out; - feed_matrix_t apply; struct { int chn[SND_CHN_T_MAX + 1]; int mul, shift; @@ -115,114 +110,48 @@ static int feeder_matrix_default_ids[9] = { } while (0) #endif -#define FEEDMATRIX_DECLARE(SIGN, BIT, ENDIAN) \ -static void \ -feed_matrix_##SIGN##BIT##ENDIAN(struct feed_matrix_info *info, \ - uint8_t *src, uint8_t *dst, uint32_t count) \ -{ \ - intpcm64_t accum; \ - intpcm_t v; \ - int i, j; \ - \ - do { \ - for (i = 0; info->matrix[i].chn[0] != SND_CHN_T_EOF; \ - i++) { \ - if (info->matrix[i].chn[0] == SND_CHN_T_NULL) { \ - pcm_sample_write(dst, 0, \ - AFMT_##SIGN##BIT##_##ENDIAN); \ - dst += PCM_##BIT##_BPS; \ - continue; \ - } else if (info->matrix[i].chn[1] == \ - SND_CHN_T_EOF) { \ - v = pcm_sample_read( \ - src + info->matrix[i].chn[0], \ - AFMT_##SIGN##BIT##_##ENDIAN); \ - pcm_sample_write(dst, v, \ - AFMT_##SIGN##BIT##_##ENDIAN); \ - dst += PCM_##BIT##_BPS; \ - continue; \ - } \ - \ - accum = 0; \ - for (j = 0; \ - info->matrix[i].chn[j] != SND_CHN_T_EOF; \ - j++) { \ - v = pcm_sample_read( \ - src + info->matrix[i].chn[j], \ - AFMT_##SIGN##BIT##_##ENDIAN); \ - accum += v; \ - } \ - \ - accum = (accum * info->matrix[i].mul) >> \ - info->matrix[i].shift; \ - \ - FEEDMATRIX_CLIP_CHECK(accum, BIT); \ - \ - v = (accum > PCM_S##BIT##_MAX) ? \ - PCM_S##BIT##_MAX : \ - ((accum < PCM_S##BIT##_MIN) ? \ - PCM_S##BIT##_MIN : \ - accum); \ - pcm_sample_write(dst, v, \ - AFMT_##SIGN##BIT##_##ENDIAN); \ - dst += PCM_##BIT##_BPS; \ - } \ - src += info->ialign; \ - } while (--count != 0); \ -} +__always_inline static void +feed_matrix_apply(struct feed_matrix_info *info, uint8_t *src, uint8_t *dst, + uint32_t count, const uint32_t fmt) +{ + intpcm64_t accum; + intpcm_t v; + int i, j; -#if BYTE_ORDER == LITTLE_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) -FEEDMATRIX_DECLARE(S, 16, LE) -FEEDMATRIX_DECLARE(S, 32, LE) -#endif -#if BYTE_ORDER == BIG_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) -FEEDMATRIX_DECLARE(S, 16, BE) -FEEDMATRIX_DECLARE(S, 32, BE) -#endif -#ifdef SND_FEEDER_MULTIFORMAT -FEEDMATRIX_DECLARE(S, 8, NE) -FEEDMATRIX_DECLARE(S, 24, LE) -FEEDMATRIX_DECLARE(S, 24, BE) -FEEDMATRIX_DECLARE(U, 8, NE) -FEEDMATRIX_DECLARE(U, 16, LE) -FEEDMATRIX_DECLARE(U, 24, LE) -FEEDMATRIX_DECLARE(U, 32, LE) -FEEDMATRIX_DECLARE(U, 16, BE) -FEEDMATRIX_DECLARE(U, 24, BE) -FEEDMATRIX_DECLARE(U, 32, BE) -#endif + do { + for (i = 0; info->matrix[i].chn[0] != SND_CHN_T_EOF; i++) { + if (info->matrix[i].chn[0] == SND_CHN_T_NULL) { + pcm_sample_write(dst, 0, fmt); + dst += info->bps; + continue; + } else if (info->matrix[i].chn[1] == SND_CHN_T_EOF) { + v = pcm_sample_read(src + + info->matrix[i].chn[0], fmt); + pcm_sample_write(dst, v, fmt); + dst += info->bps; + continue; + } -#define FEEDMATRIX_ENTRY(SIGN, BIT, ENDIAN) \ - { \ - AFMT_##SIGN##BIT##_##ENDIAN, \ - feed_matrix_##SIGN##BIT##ENDIAN \ - } + accum = 0; + for (j = 0; info->matrix[i].chn[j] != SND_CHN_T_EOF; + j++) { + v = pcm_sample_read(src + + info->matrix[i].chn[j], fmt); + accum += v; + } -static const struct { - uint32_t format; - feed_matrix_t apply; -} feed_matrix_tab[] = { -#if BYTE_ORDER == LITTLE_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) - FEEDMATRIX_ENTRY(S, 16, LE), - FEEDMATRIX_ENTRY(S, 32, LE), -#endif -#if BYTE_ORDER == BIG_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) - FEEDMATRIX_ENTRY(S, 16, BE), - FEEDMATRIX_ENTRY(S, 32, BE), -#endif -#ifdef SND_FEEDER_MULTIFORMAT - FEEDMATRIX_ENTRY(S, 8, NE), - FEEDMATRIX_ENTRY(S, 24, LE), - FEEDMATRIX_ENTRY(S, 24, BE), - FEEDMATRIX_ENTRY(U, 8, NE), - FEEDMATRIX_ENTRY(U, 16, LE), - FEEDMATRIX_ENTRY(U, 24, LE), - FEEDMATRIX_ENTRY(U, 32, LE), - FEEDMATRIX_ENTRY(U, 16, BE), - FEEDMATRIX_ENTRY(U, 24, BE), - FEEDMATRIX_ENTRY(U, 32, BE) -#endif -}; + accum = (accum * info->matrix[i].mul) >> + info->matrix[i].shift; + + FEEDMATRIX_CLIP_CHECK(accum, AFMT_BIT(fmt)); + + v = pcm_clamp(accum, fmt); + pcm_sample_write(dst, v, fmt); + dst += info->bps; + } + src += info->ialign; + } while (--count != 0); +} static void feed_matrix_reset(struct feed_matrix_info *info) @@ -397,7 +326,6 @@ feed_matrix_init(struct pcm_feeder *f) { struct feed_matrix_info *info; struct pcmchan_matrix *m_in, *m_out; - uint32_t i; int ret; if (AFMT_ENCODING(f->desc->in) != AFMT_ENCODING(f->desc->out)) @@ -409,25 +337,10 @@ feed_matrix_init(struct pcm_feeder *f) info->in = f->desc->in; info->out = f->desc->out; + info->fmt = AFMT_ENCODING(info->in); info->bps = AFMT_BPS(info->in); info->ialign = AFMT_ALIGN(info->in); info->oalign = AFMT_ALIGN(info->out); - info->apply = NULL; - - for (i = 0; info->apply == NULL && - i < (sizeof(feed_matrix_tab) / sizeof(feed_matrix_tab[0])); i++) { - if (AFMT_ENCODING(info->in) == feed_matrix_tab[i].format) - info->apply = feed_matrix_tab[i].apply; - } - - if (info->apply == NULL) { -#ifdef FEEDMATRIX_GENERIC - info->apply = feed_matrix_apply_generic; -#else - free(info, M_DEVBUF); - return (EINVAL); -#endif - } m_in = feeder_matrix_format_map(info->in); m_out = feeder_matrix_format_map(info->out); @@ -505,7 +418,21 @@ feed_matrix_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, if (j == 0) break; - info->apply(info, src, dst, j); + /* Optimize some common formats. */ + switch (info->fmt) { + case AFMT_S16_NE: + feed_matrix_apply(info, src, dst, j, AFMT_S16_NE); + break; + case AFMT_S24_NE: + feed_matrix_apply(info, src, dst, j, AFMT_S24_NE); + break; + case AFMT_S32_NE: + feed_matrix_apply(info, src, dst, j, AFMT_S32_NE); + break; + default: + feed_matrix_apply(info, src, dst, j, info->fmt); + break; + } j *= info->oalign; dst += j; From nobody Mon Mar 10 20:40: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 4ZBTLV1W17z5pdGB; Mon, 10 Mar 2025 20:40:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBTLT5YN7z42JZ; Mon, 10 Mar 2025 20:40:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741639249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xIliXJkzx5KInzojpJ+1A22uUUKVm5Jl2rycOpcJdcM=; b=JX0bMGhQU0NqS7SYIEVowmOmGI1pXJiAZagvWMiHVn+ecgkldbrqbWEf13JQSxoHvr6GKY cxjJITjIGRxLXmXxb68Kl+KIUmzjSVhup/qGCtzw214whkFZA0EMng6xzZj9l+Txg9+JAC 0ndEg3Rk7fZlcb/XIyflXFidGH1j+88Uv8YPwUcaSfSzP5PdAxhSrYgXB6U2zCJiqNYE61 5WHKfcQmkoIg5IqJ7C2SG9mhBKAPn+cEtzS0mcUJNM5R0znFtA4xQstXAAk0j9UvS6y2zy MjGVveW1XQ6eWDkWRB7dNCrbUY8gsNVe0KYyWyGBlMugQAE4k4bCZoMBSQSlYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741639249; a=rsa-sha256; cv=none; b=PF79r2Nt4RAnEGi/gDQlz3bwRBJToRTBj35pQlKuDA3iISP4/efCIISphUAhZvPrMeY6F/ mPTDDd8ROm+1fO9uBV+vzPC5fXFDbYoBbk497XhBGysatxYPr12TImbFier/uD6xDDFSoF P3mA0G/BZahsFp3TWl4w6nhLP5kk0r7RKLD6meso/8bI1MV2xV69YawGLHmgSnJ8yoAURb 3szK2tdWnTvJq5qexc/zsfae37kYQcIedXtUXPUAjcjgXXumy9WFjs6GGaCvWRVIzVs0oV uq4cb3AYYibT9F04YNTYXjHg/KTrpXabG/GiGRZukxnm23i75cXUTD3F/ztj9w== 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=1741639249; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xIliXJkzx5KInzojpJ+1A22uUUKVm5Jl2rycOpcJdcM=; b=sddnUrvdDBVpUXz+gwbSk7g6Z0VAXmOXe3LfAlneLu2PawigFTVaVM5ltKRH6DHnegJoXk 6eC4S732/b9aJOFSLsFDxuq926Bk7BzYEt3BqDlfJLnroTLccasrrhRmuP3BUK6bqhpXiO ETJqFwAmPaRGnDJFOXYzQ/UMCTZK8GusnGMxDMcgwlCMHf6UETVWei8oGF+/cPFBhtSXNv /gyjYTvnbDs8jFLpIEFeaAzwtEnBbZOQa57B9bU/j4eeEGN3rSYLu3mpX/0r/RJ6amXb/L sI0nYFibkrPHE+ZA8Tv3IwsZ+wnb4AJ7CFbm99PWkF7mJAtuq72A+eH41teDjA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBTLT50k4zvh4; Mon, 10 Mar 2025 20:40: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 52AKen3i075100; Mon, 10 Mar 2025 20:40:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKenxI075097; Mon, 10 Mar 2025 20:40:49 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:40:49 GMT Message-Id: <202503102040.52AKenxI075097@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: 4021fa32d92d - main - sound: Simplify pcm/feeder_mixer.c 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: 4021fa32d92d656d3d43186cc231695c7ad53d33 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=4021fa32d92d656d3d43186cc231695c7ad53d33 commit 4021fa32d92d656d3d43186cc231695c7ad53d33 Author: Christos Margiolis AuthorDate: 2025-03-10 20:38:23 +0000 Commit: Christos Margiolis CommitDate: 2025-03-10 20:38:23 +0000 sound: Simplify pcm/feeder_mixer.c - Get rid of macro magic. - Make feed_mixer_info handling similar to most feeders. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48394 --- sys/dev/sound/pcm/feeder_mixer.c | 173 +++++++++++++++------------------------ 1 file changed, 68 insertions(+), 105 deletions(-) diff --git a/sys/dev/sound/pcm/feeder_mixer.c b/sys/dev/sound/pcm/feeder_mixer.c index 9a7d75198692..f5f2b9bc9c36 100644 --- a/sys/dev/sound/pcm/feeder_mixer.c +++ b/sys/dev/sound/pcm/feeder_mixer.c @@ -42,136 +42,83 @@ #undef SND_FEEDER_MULTIFORMAT #define SND_FEEDER_MULTIFORMAT 1 -typedef void (*feed_mixer_t)(uint8_t *, uint8_t *, uint32_t); - -#define FEEDMIXER_DECLARE(SIGN, BIT, ENDIAN) \ -static void \ -feed_mixer_##SIGN##BIT##ENDIAN(uint8_t *src, uint8_t *dst, \ - uint32_t count) \ -{ \ - intpcm##BIT##_t z; \ - intpcm_t x, y; \ - \ - src += count; \ - dst += count; \ - \ - do { \ - src -= PCM_##BIT##_BPS; \ - dst -= PCM_##BIT##_BPS; \ - count -= PCM_##BIT##_BPS; \ - x = pcm_sample_read_calc(src, \ - AFMT_##SIGN##BIT##_##ENDIAN); \ - y = pcm_sample_read_calc(dst, \ - AFMT_##SIGN##BIT##_##ENDIAN); \ - z = INTPCM##BIT##_T(x) + y; \ - x = pcm_clamp_calc(z, AFMT_##SIGN##BIT##_##ENDIAN); \ - pcm_sample_write(dst, x, \ - AFMT_##SIGN##BIT##_##ENDIAN); \ - } while (count != 0); \ -} - -#if BYTE_ORDER == LITTLE_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) -FEEDMIXER_DECLARE(S, 16, LE) -FEEDMIXER_DECLARE(S, 32, LE) -#endif -#if BYTE_ORDER == BIG_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) -FEEDMIXER_DECLARE(S, 16, BE) -FEEDMIXER_DECLARE(S, 32, BE) -#endif -#ifdef SND_FEEDER_MULTIFORMAT -FEEDMIXER_DECLARE(S, 8, NE) -FEEDMIXER_DECLARE(S, 24, LE) -FEEDMIXER_DECLARE(S, 24, BE) -FEEDMIXER_DECLARE(U, 8, NE) -FEEDMIXER_DECLARE(U, 16, LE) -FEEDMIXER_DECLARE(U, 24, LE) -FEEDMIXER_DECLARE(U, 32, LE) -FEEDMIXER_DECLARE(U, 16, BE) -FEEDMIXER_DECLARE(U, 24, BE) -FEEDMIXER_DECLARE(U, 32, BE) -#endif - struct feed_mixer_info { uint32_t format; + uint32_t channels; int bps; - feed_mixer_t mix; }; -#define FEEDMIXER_ENTRY(SIGN, BIT, ENDIAN) \ - { \ - AFMT_##SIGN##BIT##_##ENDIAN, PCM_##BIT##_BPS, \ - feed_mixer_##SIGN##BIT##ENDIAN \ - } - -static struct feed_mixer_info feed_mixer_info_tab[] = { - FEEDMIXER_ENTRY(S, 8, NE), -#if BYTE_ORDER == LITTLE_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) - FEEDMIXER_ENTRY(S, 16, LE), - FEEDMIXER_ENTRY(S, 32, LE), -#endif -#if BYTE_ORDER == BIG_ENDIAN || defined(SND_FEEDER_MULTIFORMAT) - FEEDMIXER_ENTRY(S, 16, BE), - FEEDMIXER_ENTRY(S, 32, BE), -#endif -#ifdef SND_FEEDER_MULTIFORMAT - FEEDMIXER_ENTRY(S, 24, LE), - FEEDMIXER_ENTRY(S, 24, BE), - FEEDMIXER_ENTRY(U, 8, NE), - FEEDMIXER_ENTRY(U, 16, LE), - FEEDMIXER_ENTRY(U, 24, LE), - FEEDMIXER_ENTRY(U, 32, LE), - FEEDMIXER_ENTRY(U, 16, BE), - FEEDMIXER_ENTRY(U, 24, BE), - FEEDMIXER_ENTRY(U, 32, BE), -#endif - { AFMT_AC3, PCM_16_BPS, NULL }, - { AFMT_MU_LAW, PCM_8_BPS, feed_mixer_U8NE }, /* dummy */ - { AFMT_A_LAW, PCM_8_BPS, feed_mixer_U8NE } /* dummy */ -}; +static void +feed_mixer_apply(uint8_t *src, uint8_t *dst, uint32_t count, const uint32_t fmt) +{ + intpcm32_t z; + intpcm_t x, y; -#define FEEDMIXER_TAB_SIZE ((int32_t) \ - (sizeof(feed_mixer_info_tab) / \ - sizeof(feed_mixer_info_tab[0]))) + src += count; + dst += count; -#define FEEDMIXER_DATA(i, c) ((void *) \ - ((uintptr_t)((((i) & 0x1f) << 7) | \ - ((c) & 0x7f)))) -#define FEEDMIXER_INFOIDX(d) ((uint32_t)((uintptr_t)(d) >> 7) & 0x1f) -#define FEEDMIXER_CHANNELS(d) ((uint32_t)((uintptr_t)(d)) & 0x7f) + do { + src -= AFMT_BPS(fmt); + dst -= AFMT_BPS(fmt); + count -= AFMT_BPS(fmt); + x = pcm_sample_read_calc(src, fmt); + y = pcm_sample_read_calc(dst, fmt); + z = INTPCM_T(x) + y; + x = pcm_clamp_calc(z, fmt); + pcm_sample_write(dst, x, fmt); + } while (count != 0); +} static int feed_mixer_init(struct pcm_feeder *f) { - int i; + struct feed_mixer_info *info; if (f->desc->in != f->desc->out) return (EINVAL); - for (i = 0; i < FEEDMIXER_TAB_SIZE; i++) { - if (AFMT_ENCODING(f->desc->in) == - feed_mixer_info_tab[i].format) { - f->data = - FEEDMIXER_DATA(i, AFMT_CHANNEL(f->desc->in)); - return (0); - } - } + info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO); + if (info == NULL) + return (ENOMEM); + + info->format = AFMT_ENCODING(f->desc->in); + info->channels = AFMT_CHANNEL(f->desc->in); + info->bps = AFMT_BPS(f->desc->in); + + f->data = info; - return (EINVAL); + return (0); +} + +static int +feed_mixer_free(struct pcm_feeder *f) +{ + struct feed_mixer_info *info; + + info = f->data; + if (info != NULL) + free(info, M_DEVBUF); + + f->data = NULL; + + return (0); } static int feed_mixer_set(struct pcm_feeder *f, int what, int value) { + struct feed_mixer_info *info; + + info = f->data; switch (what) { case FEEDMIXER_CHANNELS: if (value < SND_CHN_MIN || value > SND_CHN_MAX) return (EINVAL); - f->data = FEEDMIXER_DATA(FEEDMIXER_INFOIDX(f->data), value); + info->channels = (uint32_t)value; break; default: return (EINVAL); - break; } return (0); @@ -297,8 +244,8 @@ feed_mixer_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, if (sz < count) count = sz; - info = &feed_mixer_info_tab[FEEDMIXER_INFOIDX(f->data)]; - sz = info->bps * FEEDMIXER_CHANNELS(f->data); + info = f->data; + sz = info->bps * info->channels; count = SND_FXROUND(count, sz); if (count < sz) return (0); @@ -331,7 +278,7 @@ feed_mixer_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, if ((ch->flags & CHN_F_MMAP) && !(ch->flags & CHN_F_CLOSING)) sndbuf_acquire(ch->bufsoft, NULL, sndbuf_getfree(ch->bufsoft)); - if (info->mix == NULL) { + if (c->flags & CHN_F_PASSTHROUGH) { /* * Passthrough. Dump the first digital/passthrough * channel into destination buffer, and the rest into @@ -373,7 +320,22 @@ feed_mixer_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b, f->desc->out), mcnt); mcnt = 0; } - info->mix(tmp, b, cnt); + switch (info->format) { + case AFMT_S16_NE: + feed_mixer_apply(tmp, b, cnt, + AFMT_S16_NE); + break; + case AFMT_S24_NE: + feed_mixer_apply(tmp, b, cnt, + AFMT_S24_NE); + break; + case AFMT_S32_NE: + feed_mixer_apply(tmp, b, cnt, + AFMT_S32_NE); + break; + } + feed_mixer_apply(tmp, b, cnt, + info->format); if (cnt > rcnt) rcnt = cnt; } @@ -397,6 +359,7 @@ static struct pcm_feederdesc feeder_mixer_desc[] = { static kobj_method_t feeder_mixer_methods[] = { KOBJMETHOD(feeder_init, feed_mixer_init), + KOBJMETHOD(feeder_free, feed_mixer_free), KOBJMETHOD(feeder_set, feed_mixer_set), KOBJMETHOD(feeder_feed, feed_mixer_feed), KOBJMETHOD_END From nobody Mon Mar 10 20:49: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 4ZBTY04rfzz5pdZd; Mon, 10 Mar 2025 20:49:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBTY03sMgz479Q; Mon, 10 Mar 2025 20:49:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741639796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h8v5SgAOrchNGHkvmmStWt9txMOh/m0Qb5dCkXAqDpc=; b=ltzDVyrNLiYr4UmVkTjFxH7x49Lb6sat65ofSlB3grvwaEXjxPMt/4IppBND/d6dEA4Emd 5QrY7CEGng09P5mnOovBNS88sM4gEiv2s3FVsUy+xpvAR4CDiDZbwRR8CnBDiSF9GJo0aM y6oe76+ya4Ks1q7KSm5wg3p4LPGPFqvEOmtKUcnbwd0G2bd3hmooIMkGjwUJ7Tli9+9NH6 +txbK64q1DbKrT5DaIJwHvtXHNYyQsMCRFuiN3mW3Tii2rByeCfkGiZmLnS5BLEK9mtsix NnM0SuoUOhw9MkYOKvVQ4kdSR+IjtfdUK3KP+4RoYEBVlIV94qLolkc/ATtahw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741639796; a=rsa-sha256; cv=none; b=yyxBMadU3AbIcugDN21ftMDixvSb0pDSGZdy/DVUEyzlgkEpcXmpPfe9bsKHrCH4Bt17MW Wx5mSX+h6h7WqkP3GOgoR8RWvJIW7amCb+0wu/YsN1IHMWjeUlHTCMkltZXqTR39pMV8Ay Wa+9qeELieG/2Scvq6YjJUHPmaK+kyG/vkDxyMpjovO0drdGVPqEg7fsl4Y+MtKTeSina8 TXtaFcnZaSr5kxzaAgSC2mF/VE0vvHamy4AOVEot6o1xi4QeXEcTiNJZgAvuaKb9C3IC19 SX3OZJYpg8RpTOtlrumj64jwJV+izSgIQwdRr8EaIUcXaXPMlHnSHzSjzhzqCQ== 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=1741639796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=h8v5SgAOrchNGHkvmmStWt9txMOh/m0Qb5dCkXAqDpc=; b=of7rXkEM6EyQDuIpRSWwZV0Jy11HvndCvD8mqOM/w0QdgY6B/J7ATmiuiXd5dCsrzdbU75 704/vf1PWnXxg69RYbnBvdYzas+KcnUx+mxcSJ4BMxj1MG11H27bo2ujvtGNhLyDK4AI2Y +TuL8z/Dy9onkO4fxR2kZ4M9uxpv7YjD73ZTEltyKnpzZ1LNSqMcppO/kgtEPPVUDPdIlq tnToBIH5MFZfumYZtnqSH/r8YeKjApyAKJd6wkXjziw8UTgc9P4SD7Yi8f1gGKc+kG3uWp IHulx9z15diZ9XUDo7N0YUdCW5ooBhTqev+iZzBdsH+L5tmaaCLzMDnmtcbwng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBTY03QyDzvkR; Mon, 10 Mar 2025 20:49:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52AKnu3N083648; Mon, 10 Mar 2025 20:49:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKnuRD083645; Mon, 10 Mar 2025 20:49:56 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:49:56 GMT Message-Id: <202503102049.52AKnuRD083645@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: 2fda8597116e - main - sound: Take dsp_cdevsw out of header 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: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2fda8597116e760c32f07af43d260041f975b650 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=2fda8597116e760c32f07af43d260041f975b650 commit 2fda8597116e760c32f07af43d260041f975b650 Author: Christos Margiolis AuthorDate: 2025-03-10 20:47:28 +0000 Commit: Christos Margiolis CommitDate: 2025-03-10 20:47:28 +0000 sound: Take dsp_cdevsw out of header file Not used outside of pcm/dsp.c. MFC after: 1 week Sponsored by: The FreeBSD Foundation Reviewed by: imp, markj Differential Revision: https://reviews.freebsd.org/D49217 --- sys/dev/sound/pcm/dsp.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/sound/pcm/dsp.h b/sys/dev/sound/pcm/dsp.h index 1eab42ca91c8..8a4f5f869acc 100644 --- a/sys/dev/sound/pcm/dsp.h +++ b/sys/dev/sound/pcm/dsp.h @@ -31,8 +31,6 @@ #ifndef _PCMDSP_H_ #define _PCMDSP_H_ -extern struct cdevsw dsp_cdevsw; - int dsp_make_dev(device_t); void dsp_destroy_dev(device_t); int dsp_oss_audioinfo(struct cdev *, oss_audioinfo *, bool); From nobody Mon Mar 10 20:49: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 4ZBTY169Gcz5pdmC; Mon, 10 Mar 2025 20:49: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 4ZBTY14mpyz479V; Mon, 10 Mar 2025 20:49:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741639797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=91rXpAmsMVCoEZS5bCj5WfuuWwgIhb7rwXANufbeoDQ=; b=UTHQon1qwg58ZY+Gfbds/ack+W56vnw0K3ld6Kq5F1tCPe0vDudHxQ+bB1YvdCPHT+beIz Z22Gq0imUOKFNCgsYb0toADnrcLAKxKIJfyxg9KX045nDtkzLXJB0+WFZ1Pfv35zT7+NiX ebsaayyUYJpmZRJOICzqXdyRxArMIGfGAQNceY2NCiitK9L7Z39S8U2mjuFE8cMddXxkn5 +2N4JWpQFzoTuRDKyewx1acwkDdJAVC/p8n/5b0SRCGLtjE2Qc+yirstTTUF2d1hn76OOZ xRBWEjvwm1MJEp4l+Di7qX2AW2orJ/KHo52mLD/LhEsinN4CnIKXQ4sVtNw4vg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741639797; a=rsa-sha256; cv=none; b=Fe95cSEwHymaIbaniWmIo/SLMP/z4x1Kekwb82k4E5ACIFLWCbRjQPT+PtR0abPOGhzMUB IA4nRYx+4XpC3C8GTDoDysigD6IWJIlw1Rkfb+f9Xi+JZlsvQO5tS2nX+5rPQlvqgth0a2 +OaFG7wbWJ9slUvl4qh3Xsstd0I7V3k6BXLePVYMPfvwrzyvZC5wFpnMe/VrHo04ZvR17n uCIMVSq8r7orD/5JFBv8BZzeturJp7tcjwThCaFigrlL1LkzTtNiHsqeMzdFCbUrLH6iQQ xAQeRAmUbGLpVh+oEFwVzSMxmusxLMVSlOxE5sFI8yXlYT0xfajc41MXlJNfZw== 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=1741639797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=91rXpAmsMVCoEZS5bCj5WfuuWwgIhb7rwXANufbeoDQ=; b=pHpC+sj2UEYDXsBwPJK/JcV/wmY+7YyFQ1sKaWEgsGMlh+zRdg5sDWDxtChm4KpUgp+mmq KiljJQNAZ1H+1Yled7zKp3jdxqaCq0winXxtvIEwmRGA7ceJ/q8nulUDigHnvMKZEsi7S5 fSTBpZe/6L+jOwT5ChX1G4HYcgHyKgmX4kNOaYZPbm5VyAkOGsRC2wPvSeir1K+6WR390p TZCd8xeoNomROd35+ARg4y8x0/VsT39hTxHFeK1ghVnBc034yy9qTrEYv/j6Uk8PxFF3ca o4/nv22sC6Aj4jHMAY86ORb3Tc7TqsCP8NZfrhgmG800xlJcRHi6ZzDAlsa2pQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBTY14NPLzvS3; Mon, 10 Mar 2025 20:49: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 52AKnvkT083684; Mon, 10 Mar 2025 20:49:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKnviB083681; Mon, 10 Mar 2025 20:49:57 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:49:57 GMT Message-Id: <202503102049.52AKnviB083681@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: b768f2c7773b - main - sound: Retire SD_F_AUTOVCHAN 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: b768f2c7773b6e306fb43687657414f9f42a27d4 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b768f2c7773b6e306fb43687657414f9f42a27d4 commit b768f2c7773b6e306fb43687657414f9f42a27d4 Author: Christos Margiolis AuthorDate: 2025-03-10 20:47:35 +0000 Commit: Christos Margiolis CommitDate: 2025-03-10 20:47:35 +0000 sound: Retire SD_F_AUTOVCHAN This flag is redundant and essentially a no-op, as it is set when the device supports at least playback or recording, which is almost always the case. But even if the device is mixer-only (i.e., 0 channels), there is no reason to keep this flag; it is only used to bail out of the vchan sysctl handlers, but we already bail out anyway if we try to use the sysctl in a vchan direction that is not supported. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49021 --- sys/dev/sound/pcm/sound.c | 7 +------ sys/dev/sound/pcm/sound.h | 4 ++-- sys/dev/sound/pcm/vchan.c | 8 ++++---- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index 3e76626f5c57..5759c06725ce 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -369,8 +369,7 @@ pcm_sysinit(device_t dev) OID_AUTO, "mode", CTLFLAG_RD, NULL, mode, "mode (1=mixer, 2=play, 4=rec. The values are OR'ed if more than " "one mode is supported)"); - if (d->flags & SD_F_AUTOVCHAN) - vchan_initsys(dev); + vchan_initsys(dev); if (d->flags & SD_F_EQ) feeder_eq_initsys(dev); } @@ -430,10 +429,6 @@ pcm_register(device_t dev, char *str) if (d->playcount == 0 || d->reccount == 0) d->flags |= SD_F_SIMPLEX; - - if (d->playcount > 0 || d->reccount > 0) - d->flags |= SD_F_AUTOVCHAN; - if (d->playcount > 0) d->flags |= SD_F_PVCHANS; if (d->reccount > 0) diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index df08b1700869..7f17c710038a 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -99,7 +99,7 @@ struct snd_mixer; #define SOUND_MAXVER SOUND_MODVER #define SD_F_SIMPLEX 0x00000001 -#define SD_F_AUTOVCHAN 0x00000002 +/* unused 0x00000002 */ #define SD_F_SOFTPCMVOL 0x00000004 #define SD_F_BUSY 0x00000008 #define SD_F_MPSAFE 0x00000010 @@ -122,7 +122,7 @@ struct snd_mixer; #define SD_F_BITS "\020" \ "\001SIMPLEX" \ - "\002AUTOVCHAN" \ + /* "\002 */ \ "\003SOFTPCMVOL" \ "\004BUSY" \ "\005MPSAFE" \ diff --git a/sys/dev/sound/pcm/vchan.c b/sys/dev/sound/pcm/vchan.c index 27739fe68852..2b300e90ea4d 100644 --- a/sys/dev/sound/pcm/vchan.c +++ b/sys/dev/sound/pcm/vchan.c @@ -260,7 +260,7 @@ sysctl_dev_pcm_vchans(SYSCTL_HANDLER_ARGS) int err, enabled, flag; d = devclass_get_softc(pcm_devclass, VCHAN_SYSCTL_UNIT(oidp->oid_arg1)); - if (!PCM_REGISTERED(d) || !(d->flags & SD_F_AUTOVCHAN)) + if (!PCM_REGISTERED(d)) return (EINVAL); PCM_LOCK(d); @@ -318,7 +318,7 @@ sysctl_dev_pcm_vchanmode(SYSCTL_HANDLER_ARGS) char dtype[16]; d = devclass_get_softc(pcm_devclass, VCHAN_SYSCTL_UNIT(oidp->oid_arg1)); - if (!PCM_REGISTERED(d) || !(d->flags & SD_F_AUTOVCHAN)) + if (!PCM_REGISTERED(d)) return (EINVAL); PCM_LOCK(d); @@ -409,7 +409,7 @@ sysctl_dev_pcm_vchanrate(SYSCTL_HANDLER_ARGS) int *vchanrate, direction, ret, newspd, restart; d = devclass_get_softc(pcm_devclass, VCHAN_SYSCTL_UNIT(oidp->oid_arg1)); - if (!PCM_REGISTERED(d) || !(d->flags & SD_F_AUTOVCHAN)) + if (!PCM_REGISTERED(d)) return (EINVAL); PCM_LOCK(d); @@ -508,7 +508,7 @@ sysctl_dev_pcm_vchanformat(SYSCTL_HANDLER_ARGS) char fmtstr[AFMTSTR_LEN]; d = devclass_get_softc(pcm_devclass, VCHAN_SYSCTL_UNIT(oidp->oid_arg1)); - if (!PCM_REGISTERED(d) || !(d->flags & SD_F_AUTOVCHAN)) + if (!PCM_REGISTERED(d)) return (EINVAL); PCM_LOCK(d); From nobody Mon Mar 10 20:49: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 4ZBTY272crz5pdgy; Mon, 10 Mar 2025 20:49:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBTY25NFjz47D4; Mon, 10 Mar 2025 20:49:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741639798; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sVbA2Uu6JaZxOCmwx6Q6+XLnl+Zp/q8peHsSmsWHiLw=; b=pZhmNug0CAdedeDct41PvwGKShrRyqAkG5tcljz4i4g6zLbZ7r+GbQX9PUnwPyEKiBWcdt l3ukpmdYnCcNaWWxnDJhvWyYNc7uGXFZNvIXN4WnzD1dHZ0tPY0bC0pn5P2GOeQPsXJnXl navoFYaxXEQr500pUHVjicR9p2AW8Kunfao1Jsx2Zi0tyRouEmH8Ng0iRk0jBBaIp9VUFE WE81vMaBmAn8XI/kopEc5fzTBUesccHWSWoZV40pMfdeMpu8UfKl32ALYOtXb1Cp/OTc54 2vafKufe+NoJ7nVJH1hRhP40fnq2tzPxZ9Vtw4GsB0Mocaq70peA0j/3uDdGEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741639798; a=rsa-sha256; cv=none; b=YtYELeFT+qeRFu+w6hzUx+TCn9/jh6U9YAsl77RCBCo3kM6g0227htRV68etnlj1owjC4O JbP8eFAJa60v/we4iAUlze8E03XlTKKGIOTe3VHvhDkOh8pXKi5+TdBqyBPgyG7yyAEiTw zX8v+feQDUjtVf/ObZpMAA5YMB73RpF3yz1ub49p8c5WUvFLAqVRO+pCyQNxIHvkYz2cX3 w1rhaa0O6KYUoK6eLcqNmLcUCQNlC9Y1Q+aERNBXbo7IQD0k6Cm+sDFU+Y8jv/yGoB6GsL 2c/USD9kNwsgE1CQZl3yRtMIlicNken0dpEDFhwFabk7cx+BIQPp5I611sqtuQ== 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=1741639798; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sVbA2Uu6JaZxOCmwx6Q6+XLnl+Zp/q8peHsSmsWHiLw=; b=GmNqzoDGbxMlmXeXC/K+CxM3TFQZJGdYGxlkqZSY38iQkMo8BnPCsWXxt1VlYNQnGdDNFG ujvieNT4lZtcYRTax9y7YPP8ccpQpuG0g0tQUl2VRbNUm0AXkaDc5UnS+W2yNdkG7Rn5N3 z175SI1ZEwQRLIPwhMn24oypwwP7hQlz3Ees4UnvBveVpRuIdJBmNhBXIi/A/vfV+bRxO0 zbe38s0fHTxoXXoExL1uZKJlDrOro/Heq4W6TJLru2fdZ8Xi9DFQAWiMS4ksVdDR4IdWdx lHX+oxJV6YA0Fkdgd7IMXFHKURE+fudq8uptbA3HmkHd3UrWdYg7VlVfX6907w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBTY24yb4zvS4; Mon, 10 Mar 2025 20:49: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 52AKnwkF083722; Mon, 10 Mar 2025 20:49:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKnwg2083719; Mon, 10 Mar 2025 20:49:58 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:49:58 GMT Message-Id: <202503102049.52AKnwg2083719@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: ab95710f30f7 - main - sound: Make dev.pcm.X.mode dynamic 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: ab95710f30f7255d3a6be22a1a2c375ee0f96868 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=ab95710f30f7255d3a6be22a1a2c375ee0f96868 commit ab95710f30f7255d3a6be22a1a2c375ee0f96868 Author: Christos Margiolis AuthorDate: 2025-03-10 20:47:39 +0000 Commit: Christos Margiolis CommitDate: 2025-03-10 20:47:39 +0000 sound: Make dev.pcm.X.mode dynamic Currently dev.pcm.X.mode is calculated only once in pcm_sysinit(), which is called by pcm_register() during attach, but this can result in inconsistencies. For some context, what pcm_mode_init() does is, it checks if "playcount" is positive, in which case we assume the device supports playback. The same is done for "reccount" for recording, and if "mixer_dev" is not NULL, we know the device has a mixer. The "playcount" and "reccount" variables correspond to the number of _primary_ playback/recording channels, so we can assume that the primary channels have been created before reaching pcm_mode_init(). However, for the mixer that's not always the case. If the mixer is created _after_ pcm_register(), as is the case for snd_dummy(4) for example, pcm_mode_init() will see that "mixer_dev" is NULL, and report that the device does not have a mixer, whereas in reality we just created it afterwards. While this could be fixed by simply creating the mixers always before pcm_register(), it is better to be robust and calculate the mode dynamically. Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49024 --- sys/dev/sound/pcm/sound.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index 5759c06725ce..c262a57ea5f1 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -322,28 +322,32 @@ sysctl_dev_pcm_bitperfect(SYSCTL_HANDLER_ARGS) return (err); } -static u_int8_t -pcm_mode_init(struct snddev_info *d) +static int +sysctl_dev_pcm_mode(SYSCTL_HANDLER_ARGS) { - u_int8_t mode = 0; + struct snddev_info *d; + int mode = 0; + d = oidp->oid_arg1; + if (!PCM_REGISTERED(d)) + return (ENODEV); + + PCM_LOCK(d); if (d->playcount > 0) mode |= PCM_MODE_PLAY; if (d->reccount > 0) mode |= PCM_MODE_REC; if (d->mixer_dev != NULL) mode |= PCM_MODE_MIXER; + PCM_UNLOCK(d); - return (mode); + return (sysctl_handle_int(oidp, &mode, 0, req)); } static void pcm_sysinit(device_t dev) { struct snddev_info *d = device_get_softc(dev); - u_int8_t mode; - - mode = pcm_mode_init(d); sysctl_ctx_init(&d->play_sysctl_ctx); d->play_sysctl_tree = SYSCTL_ADD_NODE(&d->play_sysctl_ctx, @@ -364,9 +368,10 @@ pcm_sysinit(device_t dev) "bitperfect", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, d, sizeof(d), sysctl_dev_pcm_bitperfect, "I", "bit-perfect playback/recording (0=disable, 1=enable)"); - SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "mode", CTLFLAG_RD, NULL, mode, + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "mode", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, d, sizeof(d), + sysctl_dev_pcm_mode, "I", "mode (1=mixer, 2=play, 4=rec. The values are OR'ed if more than " "one mode is supported)"); vchan_initsys(dev); From nobody Mon Mar 10 20:49: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 4ZBTY42Pbnz5pdXQ; Mon, 10 Mar 2025 20:50: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 4ZBTY36SFYz477w; Mon, 10 Mar 2025 20:49:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741639799; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GF5Yda/c4t0WMovNddknvWSi+R0E5jn2s9ERNGVqDz0=; b=BwohZDFE4kFqz8hn8bLWli+0cUBWEAYfsgA1EbnFGKSH5vgkhzvCnQYKaQ8yc1nb2n4NHv SXIa6GuA4mdpgjXlsInd1mzTCIgIWB3M1DGWI5tEUaqLPUlzip/RF6hAFo3iyFPY/t3WiP YRAViIFl2iqLjLBpyorQPTeqbuf0NcHQViZAO4QBDwoWPYqA1lyGKbwqvUbxKyDIkXrYCr dDFRhlKTcm5CodzbwVfC7NlAQ5uR2wEktYL18yoDEPHB5eISErS969d9CAi7iqAyyfGkDm DXmGxkAhEi7+Un+5AQ1BRzMv02dw80b0EXe52aafmOFEhFqD61tUYC3uQHG0HA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741639799; a=rsa-sha256; cv=none; b=cFm1Jr5zdSG445/j2K9g2/qDBsMu7/MRyfNlx2DEkZ+Z/uuDvbDdvhHH3KCaFHxpEur6RN DDQZcEGPLo/XFKnW2VysjC9tnesWQ/LP/0fCyKBFuamhxqtLDwwYXdgiSKWe7QyzZrO+cl +rnE0ANL34iSKTL1Phr9HWW613yG24+uWJ5w2MVegSI1K3Y5iw/vQRZwZ9JkC94iWkgEou BB67/ozxgBtkBTzIXPw+ZU35MiS/8m7hZGhWlPuBwJwaZuBH3a0E4FVIAZL0F461NNB3+Q OrL1WFHQC0hkVZ6tgFGobZKjTp5WAj2zKE1TelwkaweQAPnbzyvprqJACB0I6Q== 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=1741639799; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GF5Yda/c4t0WMovNddknvWSi+R0E5jn2s9ERNGVqDz0=; b=FJpmr/eRsaZ915ac6KENG5k7C5Z18mPAbp+ffEbtKnd2aQ9ZldpaOBheq50sEX5gcaJ6l4 OrQc8BAYT/QmvDfk5doImtsudV1q9qjkAruuq/slBLF6G6s6ag+B8LLSUcDu9/8GYWGfw/ X4QCD/qkFF3X/XOtMKWxELIVO7jG27UGNftskdYXNhGuNS/N5sx5uRxNH81WJuXX/G/9uW Vle9yCEbmOSvGUiCMpsV9WZKJxobrS8q3vqqTcpUd9lQwWEikl8/uyfYHbbQuJEmu4IqRD qXlODWYObpPSajPt0Mmrmlm/aWhfVHhjERsvoyBmaU1gA7fGQrOJFvvIP14OWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBTY360YMzvS5; Mon, 10 Mar 2025 20:49: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 52AKnxqd083757; Mon, 10 Mar 2025 20:49:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52AKnx0N083754; Mon, 10 Mar 2025 20:49:59 GMT (envelope-from git) Date: Mon, 10 Mar 2025 20:49:59 GMT Message-Id: <202503102049.52AKnx0N083754@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: c824383b269d - main - sound: Update COPYRIGHT notices 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: c824383b269d8abe175ea4751194660716d5600e Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=c824383b269d8abe175ea4751194660716d5600e commit c824383b269d8abe175ea4751194660716d5600e Author: Christos Margiolis AuthorDate: 2025-03-10 20:47:44 +0000 Commit: Christos Margiolis CommitDate: 2025-03-10 20:47:44 +0000 sound: Update COPYRIGHT notices Only to files I've currently made significant contributions to. Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/dev/sound/dummy.c | 2 +- sys/dev/sound/pcm/channel.c | 4 ++++ sys/dev/sound/pcm/channel.h | 4 ++++ sys/dev/sound/pcm/dsp.c | 2 +- sys/dev/sound/pcm/dsp.h | 4 ++++ sys/dev/sound/pcm/feeder.c | 4 ++++ sys/dev/sound/pcm/feeder_eq.c | 4 ++++ sys/dev/sound/pcm/feeder_format.c | 4 ++++ sys/dev/sound/pcm/feeder_matrix.c | 4 ++++ sys/dev/sound/pcm/feeder_mixer.c | 4 ++++ sys/dev/sound/pcm/pcm.h | 4 ++++ sys/dev/sound/pcm/sndstat.c | 2 +- sys/dev/sound/pcm/sound.c | 2 +- sys/dev/sound/pcm/sound.h | 4 ++++ sys/dev/sound/pcm/vchan.c | 2 +- sys/dev/sound/pcm/vchan.h | 4 ++++ 16 files changed, 49 insertions(+), 5 deletions(-) diff --git a/sys/dev/sound/dummy.c b/sys/dev/sound/dummy.c index b637171d82e4..ae2af6fa61ed 100644 --- a/sys/dev/sound/dummy.c +++ b/sys/dev/sound/dummy.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2024 The FreeBSD Foundation + * Copyright (c) 2024-2025 The FreeBSD Foundation * * This software was developed by Christos Margiolis * under sponsorship from the FreeBSD Foundation. diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index 0a0059411399..287e2f07d8a1 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -6,6 +6,10 @@ * Copyright (c) 1999 Cameron Grant * Portions Copyright (c) Luigi Rizzo - 1997-99 * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/channel.h b/sys/dev/sound/pcm/channel.h index 31c617a6df78..fab182b22774 100644 --- a/sys/dev/sound/pcm/channel.h +++ b/sys/dev/sound/pcm/channel.h @@ -5,6 +5,10 @@ * Portions Copyright (c) Ryan Beasley - GSoC 2006 * Copyright (c) 1999 Cameron Grant * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index 88e0580c5c45..422c64c1b880 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -5,7 +5,7 @@ * Portions Copyright (c) Ryan Beasley - GSoC 2006 * Copyright (c) 1999 Cameron Grant * All rights reserved. - * Copyright (c) 2024 The FreeBSD Foundation + * Copyright (c) 2024-2025 The FreeBSD Foundation * * Portions of this software were developed by Christos Margiolis * under sponsorship from the FreeBSD Foundation. diff --git a/sys/dev/sound/pcm/dsp.h b/sys/dev/sound/pcm/dsp.h index 8a4f5f869acc..8c0786aad474 100644 --- a/sys/dev/sound/pcm/dsp.h +++ b/sys/dev/sound/pcm/dsp.h @@ -5,6 +5,10 @@ * Portions Copyright (c) Ryan Beasley - GSoC 2006 * Copyright (c) 1999 Cameron Grant * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/feeder.c b/sys/dev/sound/pcm/feeder.c index 6a6d8c80a34a..af3ada441e48 100644 --- a/sys/dev/sound/pcm/feeder.c +++ b/sys/dev/sound/pcm/feeder.c @@ -4,6 +4,10 @@ * Copyright (c) 2005-2009 Ariff Abdullah * Copyright (c) 1999 Cameron Grant * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c index 4ed5fa57a485..23e27b922486 100644 --- a/sys/dev/sound/pcm/feeder_eq.c +++ b/sys/dev/sound/pcm/feeder_eq.c @@ -3,6 +3,10 @@ * * Copyright (c) 2008-2009 Ariff Abdullah * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/feeder_format.c b/sys/dev/sound/pcm/feeder_format.c index 5a8f260e1bae..0feac43374b8 100644 --- a/sys/dev/sound/pcm/feeder_format.c +++ b/sys/dev/sound/pcm/feeder_format.c @@ -3,6 +3,10 @@ * * Copyright (c) 2008-2009 Ariff Abdullah * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/feeder_matrix.c b/sys/dev/sound/pcm/feeder_matrix.c index 2fee2be8bf5b..43258a311d82 100644 --- a/sys/dev/sound/pcm/feeder_matrix.c +++ b/sys/dev/sound/pcm/feeder_matrix.c @@ -3,6 +3,10 @@ * * Copyright (c) 2008-2009 Ariff Abdullah * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/feeder_mixer.c b/sys/dev/sound/pcm/feeder_mixer.c index f5f2b9bc9c36..935ef933004b 100644 --- a/sys/dev/sound/pcm/feeder_mixer.c +++ b/sys/dev/sound/pcm/feeder_mixer.c @@ -3,6 +3,10 @@ * * Copyright (c) 2008-2009 Ariff Abdullah * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/pcm.h b/sys/dev/sound/pcm/pcm.h index 3b3b083457ee..1de686b04097 100644 --- a/sys/dev/sound/pcm/pcm.h +++ b/sys/dev/sound/pcm/pcm.h @@ -3,6 +3,10 @@ * * Copyright (c) 2006-2009 Ariff Abdullah * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/sndstat.c b/sys/dev/sound/pcm/sndstat.c index 46d86c624bdc..33cde235e070 100644 --- a/sys/dev/sound/pcm/sndstat.c +++ b/sys/dev/sound/pcm/sndstat.c @@ -5,7 +5,7 @@ * Copyright (c) 2001 Cameron Grant * Copyright (c) 2020 The FreeBSD Foundation * All rights reserved. - * Copyright (c) 2024 The FreeBSD Foundation + * Copyright (c) 2024-2025 The FreeBSD Foundation * * Portions of this software were developed by Christos Margiolis * under sponsorship from the FreeBSD Foundation. diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index c262a57ea5f1..3bd6087b54da 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -6,7 +6,7 @@ * Copyright (c) 1999 Cameron Grant * Copyright (c) 1997 Luigi Rizzo * All rights reserved. - * Copyright (c) 2024 The FreeBSD Foundation + * Copyright (c) 2024-2025 The FreeBSD Foundation * * Portions of this software were developed by Christos Margiolis * under sponsorship from the FreeBSD Foundation. diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index 7f17c710038a..637bcbbe1b00 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -5,6 +5,10 @@ * Copyright (c) 1999 Cameron Grant * Copyright (c) 1995 Hannu Savolainen * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/sys/dev/sound/pcm/vchan.c b/sys/dev/sound/pcm/vchan.c index 2b300e90ea4d..7064f1e51125 100644 --- a/sys/dev/sound/pcm/vchan.c +++ b/sys/dev/sound/pcm/vchan.c @@ -4,7 +4,7 @@ * Copyright (c) 2006-2009 Ariff Abdullah * Copyright (c) 2001 Cameron Grant * All rights reserved. - * Copyright (c) 2024 The FreeBSD Foundation + * Copyright (c) 2024-2025 The FreeBSD Foundation * * Portions of this software were developed by Christos Margiolis * under sponsorship from the FreeBSD Foundation. diff --git a/sys/dev/sound/pcm/vchan.h b/sys/dev/sound/pcm/vchan.h index 6f3df200db43..8c1de9496ef3 100644 --- a/sys/dev/sound/pcm/vchan.h +++ b/sys/dev/sound/pcm/vchan.h @@ -4,6 +4,10 @@ * Copyright (c) 2005-2009 Ariff Abdullah * Copyright (c) 2001 Cameron Grant * All rights reserved. + * Copyright (c) 2024-2025 The FreeBSD Foundation + * + * Portions of this software were developed by Christos Margiolis + * under sponsorship from the FreeBSD Foundation. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions From nobody Mon Mar 10 21:16: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 4ZBV7m2016z5q8sr; Mon, 10 Mar 2025 21:16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBV7m15TMz4QB8; Mon, 10 Mar 2025 21:16:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741641396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tXoVLvpv8xpuP1T+4/r3ZDw5zxWGqJjKGV6aF6vfB6w=; b=Gbx5u07FodtzqsAYox4TneHo3OIrEjjqjg344+IEoL47CUGd+zYd+THe3ethL82N33Jx7m PPOT0pT3hoMNHzGkptdckMjnjlr9xkDdo9klaSbVuXX4CDC0Fr4WWK4hqFYuI10ZCK9372 d6SC+Z9LHSi2vakGzZ9+DLWuRg0ZSL2mONsjWMqrqITongCkI2OwWnCsghwlvb51qNCEkI Np7SMeV3XQ/91v7mlFBRBFvmHjSz6hsF/RJE/sou3XHsY7Nrgpnp3A+fFfSNb2bPhQ1scL c5mwQp537eZez31vopVjGscK5B9JebFSf5GUD+NRwgXU4aMUD04NqiOVXS9NwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741641396; a=rsa-sha256; cv=none; b=hnFeMva0kMyI4NEr4ExVs7r0BRQZpn7OyRK6Vag7G9/QY3KRGREoUkqHO1hkjWbCcYl5VE QnSBFPrnBxlGGJE2m/15DL7Y3eyXt8Ac1+r/ivJbbGfBetVaSBfki82BTWtb8hRDmw7d7d wJ/WQLdMZ6nK64kl35ZL6EH06+lsKxZh46dlElXgg4EIdn+wvBM9pnJeiNOZEDTObvxRJZ AsBvgKLmYYHtO6qrndKMrwSYE764Ad7V2l9w2A4tGjsXZUqIp29hAcqr4SjZHTFMinqJQH OnvsGlxaOmOFNmDLgo1qiOEIrsBQFzfEhr2QmTgpp9yBGBbFmMRHoPU7higwWQ== 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=1741641396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tXoVLvpv8xpuP1T+4/r3ZDw5zxWGqJjKGV6aF6vfB6w=; b=F1AOPDdpRtwm/UVW2nEP5+KVsvxXDUZ5dsCgvES1hfNZyEgeIF7xAMoXMyQruUbd8l/QQ1 faQgpaD7lx+lvOTNcoS25KyZ7jQd2OlW+nECLh32ztxWhjBKgUZ2sZSJ+1jekTpW52FzZL y/RHn8BOlVxG2LIxm2w6vdOMjwu46Qoj9y26sdZcnZk6q3QlK+PQetP1SNBN4ouRVhYX77 coEGkmZTZBygn9h58vzvGMuUZhXZUPCVo04i/F6NSh+H1MKOZVjyzJ5pr0H4e8NZbf3gqM R5G9PlSyyLMW+trNReMJbdQMdgA4yg1tlMkanuQkumyH3F+OAu+lyGwbCRzpaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBV7m0fZVzwxM; Mon, 10 Mar 2025 21:16: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 52ALGa7T039355; Mon, 10 Mar 2025 21:16:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52ALGaFo039352; Mon, 10 Mar 2025 21:16:36 GMT (envelope-from git) Date: Mon, 10 Mar 2025 21:16:36 GMT Message-Id: <202503102116.52ALGaFo039352@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: 717adecbbb52 - main - sound: Make feed_mixer_apply() __always_inline 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: 717adecbbb5293d8386caa866c21421ef9eeb22c Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=717adecbbb5293d8386caa866c21421ef9eeb22c commit 717adecbbb5293d8386caa866c21421ef9eeb22c Author: Christos Margiolis AuthorDate: 2025-03-10 21:16:08 +0000 Commit: Christos Margiolis CommitDate: 2025-03-10 21:16:08 +0000 sound: Make feed_mixer_apply() __always_inline Reported by: mav Fixes: 4021fa32d92d ("sound: Simplify pcm/feeder_mixer.c") MFC after: 1 week Sponsored by: The FreeBSD Foundation --- sys/dev/sound/pcm/feeder_mixer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/sound/pcm/feeder_mixer.c b/sys/dev/sound/pcm/feeder_mixer.c index 935ef933004b..1d3b7e31d055 100644 --- a/sys/dev/sound/pcm/feeder_mixer.c +++ b/sys/dev/sound/pcm/feeder_mixer.c @@ -52,7 +52,7 @@ struct feed_mixer_info { int bps; }; -static void +__always_inline static void feed_mixer_apply(uint8_t *src, uint8_t *dst, uint32_t count, const uint32_t fmt) { intpcm32_t z; From nobody Tue Mar 11 02:34: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 4ZBdBz6JFBz5qXyB; Tue, 11 Mar 2025 02:34: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 4ZBdBz5h6pz460w; Tue, 11 Mar 2025 02:34:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741660491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NKMnqA4BgHX0aXCmatPqnWzD0H2cXzjq6ICc9XFhBek=; b=sswXlsFHyvu+jqlEfotHsFpud6ONaG+uFOJsuBTj2V1R5B43BzGlXBpxe0GdAdWao9nVFn Q8HJ0SB3ksEBJhYMAWsySuZoZr3eCpHA7mMEAuvlt1h/uDRSyeBFIGm5u5FFzbSYYSogra zaSCrguFbooK+LLpjozKuN3riqG3rqRhQJD47xJPUMG+cNHSoxwr/eLV1ynoYXU76RGnoN SCtNSJEreryqj1/qS3xSullUu5sB+BQWAHD3sbLeoVUYq0QBZXV7ZgtBuDxOXKX4WMTYuS 11dxK3eZj0MRzcU3wWovhraO0Z2HYAWNjQU+wj7S9pc/U+lY+rNistCfiN+WoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741660491; a=rsa-sha256; cv=none; b=g5x03qyBmIuOAy48tV4+Zz+4Zu/ZkfZK5mklMd5qGh3r54wHVd3S2QkkXD5zFBgVfRn6zf /vihdc20MPoU9Layj7maw2lusLv+djbCzd+QAFmyZlrj+hU2ps/WEwzfWEi5/K3GGCKyXg UXAlYUpRU7DPUrf8i4J0VyyEgNfEQf/eqgvQcAUJ6nLVVzJRqbMj2oc6suJZe11aoAOKS5 vhrX2Ruxrbx+HcsTZJp71sy8/QpVe+Wvi5FubGkvS9IyJB3dbBCDj5BOLnBAFhsS4HpS1q LuOTnvS8Q5etDsxnaLHiqNBDh9CxstyFbVGCe9/qhE1JbKUVZbnGds87PNoZAg== 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=1741660491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NKMnqA4BgHX0aXCmatPqnWzD0H2cXzjq6ICc9XFhBek=; b=quuZzY8uIQeKjeB9lNmGz6QkKFMwYPobE+QrV5/iHFuwTpCUiDlBeaDPzIxieR1jgWUQSX 3MCx9UfKFgso3bIYlABIJSAjPRTfnC9OHshzcfLFthsnClBQJdOxr++TuMgqWgwVRYbFKw JgMisb4hRNjApyvhXonR8emf8thcGsAPCQRbkvIKy5B+iesqXkiRMt0o6k/HttnnX3mObt 4b6lEE2+IDXyrm+0w0k7dgFgHxqqF79Wgzjd9OK6qakwyCkz6O+af4iH2VZCsWdzsGF6Vf xdTIN1ftYL9K0EdoW/OjK6CcS3amq5dZyiuigb21yztniUhi+X+6lxG/5fRJUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBdBz54PQz15nX; Tue, 11 Mar 2025 02:34: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 52B2Yp0u036921; Tue, 11 Mar 2025 02:34:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52B2Yp3o036918; Tue, 11 Mar 2025 02:34:51 GMT (envelope-from git) Date: Tue, 11 Mar 2025 02:34:51 GMT Message-Id: <202503110234.52B2Yp3o036918@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: 048d6ca31d96 - main - umass: Remove some 20-year-old dead 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 048d6ca31d968a79cfcde30295eff475582b1915 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=048d6ca31d968a79cfcde30295eff475582b1915 commit 048d6ca31d968a79cfcde30295eff475582b1915 Author: Warner Losh AuthorDate: 2025-03-10 20:46:48 +0000 Commit: Warner Losh CommitDate: 2025-03-11 02:33:15 +0000 umass: Remove some 20-year-old dead code A REQUEST SENSE CDB was just copied into the cmd buffer, so testing for INQUIRY will always fail. Remove the dead code. This code was added, apparently by mistake in 2003. 8541fbec7900e merged changes from NetBSD's umass_scsipi.c 1.8 to address some BBB bulk-in clear problems. NetBSD had fixed a problem in the FORCE_SHORT_INQUIRY quirk code they had ported from FreeBSD that FreeBSD also needed. That merge also included the dead code, which was not in NetBSD. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D49311 --- sys/dev/usb/storage/umass.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/dev/usb/storage/umass.c b/sys/dev/usb/storage/umass.c index 58f36e756dce..3e5cc9a7e084 100644 --- a/sys/dev/usb/storage/umass.c +++ b/sys/dev/usb/storage/umass.c @@ -2523,10 +2523,6 @@ umass_cam_cb(struct umass_softc *sc, union ccb *ccb, uint32_t residue, if (umass_std_transform(sc, ccb, &sc->cam_scsi_sense.opcode, sizeof(sc->cam_scsi_sense))) { - if ((sc->sc_quirks & FORCE_SHORT_INQUIRY) && - (sc->sc_transfer.cmd_data[0] == INQUIRY)) { - ccb->csio.sense_len = SHORT_INQUIRY_LENGTH; - } umass_command_start(sc, DIR_IN, &ccb->csio.sense_data.error_code, ccb->csio.sense_len, ccb->ccb_h.timeout, &umass_cam_sense_cb, ccb); From nobody Tue Mar 11 14:04: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 4ZBwVq60vqz5qbnR; Tue, 11 Mar 2025 14:04: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 4ZBwVq5H3nz3qmy; Tue, 11 Mar 2025 14:04:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PBr1r07qlL5pAl0tolK05OaLDgm2RE5nrg55kW/rnJ8=; b=Pt1mt+oUCSw/leIvv5g4lXhNuqmSdqe8m1oN3kd/bAesMXkO7/SAI0cS4yKGWu+Ujwb5/X pP55j5dtzpFueXpXkU53cgWOsJAsBVGOurEX1sy9rCy34FI0LeszeKl2pjpn+1XI8VJdPb WLJeoM6wRUEF6DORk5nYUfSHQswgXX9UyQbZavR8sOk99gHiSNr2+nQodt2LoNLvK6Iqsc 51uqeogwLTSrGSBdQLsnHVQPesbhmSbRblgk3kLEdAC2n6q+nhEyc0qlqFTSwcrGfGGgGz Ud68xRRFn5LPdzXFQzmh9aDqDM6woHg3HZu8RhtqHHz1OQ9jRydFk6WZvhEvbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701875; a=rsa-sha256; cv=none; b=BMS1dQNNgaHbbIcDzeGCTeUdy9Zlh0r5pc/p88uScvOAg2QHfONkmEpJGXkONccysbSwpg JFuu2N2RSyrBtih9srRMrRapQoe4q1rccStDuw/BfHIgrZDP892hEzsvwgezQwaIppD3Nt 7PXUH3kucfY8z/KwnVi+txWjb5wYxb141RtgF7Pz+5o77HoXZehlclEqWAzPp1VUsyPpQ6 AIVA1eaSaiyM6FKQOawWf7zsojC/UbKEbfevOPxJSvM3PFLBRfHlZ5DhsybTVcRRfFvSi3 U2WHtaJWnLTlplvw7YcMt7SLphPYe7ul0g3ZlyI70f2AAyyOYvHGvOsMkduwUw== 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=1741701875; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PBr1r07qlL5pAl0tolK05OaLDgm2RE5nrg55kW/rnJ8=; b=YvEX5Y8dTkaRvxSPBJpqxCl6yZJhNiQXS1dYoa6HjqNasNWz/pMuE5rIn6domeFCO3PGWZ ukjFs28saiAP4UBWzKaJG8OQ8le00HMX926SuCmvbz9qN2GhZQgqpLFuAvt/tXAyS7wwE+ 6VP03VgdPlBz6nBEv87hYKUDfG6FYxDfhqlE9jB4pIl48ijujTpYJC1EkqgLduryOfcWWK XgaTy3hIehSSPYBd00f5xxHmIB5iZckZOv0CeL3eqBlZI17KoGRvFZlAnMm0tk5SqhaTOm nxk0nZxK0KvsNL8Sq3jv78OFjBpAC06lYx7FkXeHKKjyabxG5j1ypmz5ZAJF4w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwVq4b0GzDBd; Tue, 11 Mar 2025 14:04: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 52BE4Z1d028547; Tue, 11 Mar 2025 14:04:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4ZTi028544; Tue, 11 Mar 2025 14:04:35 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:35 GMT Message-Id: <202503111404.52BE4ZTi028544@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 085c8bdec5bc - main - libsa: smbios: style(9): SMBIOS_GET8(): Split overlong line 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 085c8bdec5bcb01acff5c6e9cd2d8864f44a20cd Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=085c8bdec5bcb01acff5c6e9cd2d8864f44a20cd commit 085c8bdec5bcb01acff5c6e9cd2d8864f44a20cd Author: Olivier Certner AuthorDate: 2025-03-03 09:58:32 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:02 +0000 libsa: smbios: style(9): SMBIOS_GET8(): Split overlong line No functional change. Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49279 --- stand/libsa/smbios.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index 8d516301ec06..a203d222bc79 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -106,7 +106,11 @@ * because those can optimize to an unaligned load (which often is fine, but not * for mmap'd /dev/mem which has special memory attributes). */ -static inline uint8_t SMBIOS_GET8(const caddr_t base, int off) { return (base[off]); } +static inline uint8_t +SMBIOS_GET8(const caddr_t base, int off) +{ + return (base[off]); +} static inline uint16_t SMBIOS_GET16(const caddr_t base, int off) From nobody Tue Mar 11 14:04: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 4ZBwVs1r3kz5qbpt; Tue, 11 Mar 2025 14:04: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 4ZBwVr4sPYz3qqN; Tue, 11 Mar 2025 14:04:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701876; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D40DhS7Ffy+DtjJTCcCBVW6U1S1aWvZl4ZXlnpDTe/U=; b=lLGSPV6a/BkCgEOnPPtIOoYRTosjusclT8cDZsLJgbB4LIN7sjIC8UKSR9UlmqkKVgmRCy freG+Rqv7H1BgKw/KXRCeLEaR+RsFng45YCngMCI4AcBw3H8jwkCa/bPmY740fIsgj6ciY bwEi97nQ/ZC6icvxHRRDFtIHVq4oIiRiN5u4gsqAqjEbnLnYKVTPbAi9eXHtunGixbckN/ ExnfNq8JqWSe92OMsVVhLwzdfJgILb5gz6amrTZzxV5LkyxoxkNbmWRO3J9YG3xxbmj12S EYIo8jrSe+jn/dCmrSKVUf8F3BDH+4uSTrzIj+tkT6DJNxpkqvIRVqQZ6znPlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701876; a=rsa-sha256; cv=none; b=GTMXf4SrWc+vc5CER7B8at4sL+U9OiRUV8mqoxAkGb65W3YlwPlV0gyfjD4wtUqJtmgCB2 o+0SlZsGLahqWV5XTYmzrEbLJic+A+TWOmqbvKkvqa9lh3mOrU0jEffG2F4irE9IJl1f45 oCxmLDLZ9I1pfDUKkYQrv8fjq58BwcNaazUN3suCKqfLidm20bu5d+d3W3zq8SzdfFjq8P nXOYK21MaK+ZdMHpm8CsGg1pNZ7lGqiBGhYoshgmY+lJI0VH6/pB++BEStlK5qkz88h3S6 xKZt5yiRABKY0VJILrQw6EDyzovtxwJjNOAok2nRsxhm6aBh1u68aBbyBc7SBg== 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=1741701876; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D40DhS7Ffy+DtjJTCcCBVW6U1S1aWvZl4ZXlnpDTe/U=; b=TEY9AMvJ6ysr0yRUaV3zAYjsneMOz++fq51Gj4hMSKnO261NquT+6UHe64V+6NzfgPau2p CvhwJ3TOC8dObG0Kc/Ks2s6+vVGutApQQ2ONe60RByoaAdQs8jeJoYihVjuFTJYfOjOOuO bpi/fnOtVNTv6+jizZx2tQTiHpgrirRv5jcsf9Mj3gkSUqsbVe8Yr+xHHS1eOxc3qG+272 3ZLiN0aG6Rb+9nRuT83m9miL0wLEVvTOe5qZIgsitZRbsayzaBtcWmmM7pyRHBikNGI5dz yqW7WIV1kqUu9YBT1Wdi2pf3ynAK2xCDA/UqbIcNwqJDan+7tCDX+ljYjt4BWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwVr4Sr2zD03; Tue, 11 Mar 2025 14:04: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 52BE4a2w028584; Tue, 11 Mar 2025 14:04:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4aAd028581; Tue, 11 Mar 2025 14:04:36 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:36 GMT Message-Id: <202503111404.52BE4aAd028581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: a609592ddcdf - main - libsa: smbios: style(9): Entry point parsing comments 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a609592ddcdf4e33a5126ffcdd12e6a609078d4c Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=a609592ddcdf4e33a5126ffcdd12e6a609078d4c commit a609592ddcdf4e33a5126ffcdd12e6a609078d4c Author: Olivier Certner AuthorDate: 2025-03-03 10:45:23 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:07 +0000 libsa: smbios: style(9): Entry point parsing comments Move the comments so that lines stay of reasonable length. Remove comments that state the obvious. Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49280 --- stand/libsa/smbios.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index a203d222bc79..4faec8c3aa01 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -563,19 +563,27 @@ smbios_probe(const caddr_t addr) #ifdef HAS_SMBV3 if (isv3) { - smbios.length = SMBIOS_GET32(saddr, 0x0c); /* Structure Table Length */ - paddr = SMBIOS_GET64(saddr, 0x10); /* Structure Table Address */ - smbios.count = -1; /* not present in V3 */ - smbios.ver = 0; /* not present in V3 */ + /* Structure Table Length */ + smbios.length = SMBIOS_GET32(saddr, 0x0c); + /* Structure Table Address */ + paddr = SMBIOS_GET64(saddr, 0x10); + /* not present in V3 */ + smbios.count = -1; + /* not present in V3 */ + smbios.ver = 0; maj_off = 0x07; min_off = 0x08; } else #endif { - smbios.length = SMBIOS_GET16(saddr, 0x16); /* Structure Table Length */ - paddr = SMBIOS_GET32(saddr, 0x18); /* Structure Table Address */ - smbios.count = SMBIOS_GET16(saddr, 0x1c); /* No of SMBIOS Structures */ - smbios.ver = SMBIOS_GET8(saddr, 0x1e); /* SMBIOS BCD Revision */ + /* Structure Table Length */ + smbios.length = SMBIOS_GET16(saddr, 0x16); + /* Structure Table Address */ + paddr = SMBIOS_GET32(saddr, 0x18); + /* No of SMBIOS Structures */ + smbios.count = SMBIOS_GET16(saddr, 0x1c); + /* SMBIOS BCD Revision */ + smbios.ver = SMBIOS_GET8(saddr, 0x1e); maj_off = 0x06; min_off = 0x07; } @@ -588,8 +596,8 @@ smbios_probe(const caddr_t addr) smbios.ver = 0; } if (smbios.ver == 0) { - smbios.major = SMBIOS_GET8(saddr, maj_off);/* SMBIOS Major Version */ - smbios.minor = SMBIOS_GET8(saddr, min_off);/* SMBIOS Minor Version */ + smbios.major = SMBIOS_GET8(saddr, maj_off); + smbios.minor = SMBIOS_GET8(saddr, min_off); } smbios.ver = (smbios.major << 8) | smbios.minor; smbios.addr = PTOV(paddr); From nobody Tue Mar 11 14:04: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 4ZBwVt2LWTz5qbpx; Tue, 11 Mar 2025 14:04: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBwVs66d5z3qfS; Tue, 11 Mar 2025 14:04:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z87erjhf8b8ReC95N97NDa5qO4EPcJlGd0VRUnIOAUs=; b=mXA9YaLKtL+R9d6g2DgwTy+cNs3na44nQAiO0e/C+zSlTPZbxvQuqzC3wykgM9dp4mAeJf Cw51RnET9g2awNWakkF6V7d4yrWseNZFNL+aIL8Vlh7uiHcIrUKeo8LJnGi2/amYpO2QtG z+aemV6H7Vn2+7MJn5CDF7AYl0XttEX5JRQr8XdsJvk6jgKoEz9DjetcJIMihQSE4Xh60P bCrtE1v3xL78Uh4PcXqLFBZQ9lcoImA568OEeZVcohR5VYJSJ3omtJrow2dgjksG+8O8Pi XHlsFu9BfPsmZnYBPzTxOcWZD59VDze5Nb8L6mTjFpSzjEo/oEG9hhojPXEytg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701877; a=rsa-sha256; cv=none; b=czFnOaZopC6DQBzN4ACipP0KJwtNopjHt9TuZG4vDtpR1j7B5PKdHxuiqC/zUZkx9Z8IA5 duyWRQOWkWkiq4Iy7jfAPzd8yZPnNSie3nYx/S0vmSnGb+zuzkUdrWRYU7++ejRaV11g+E QrcreIllmbODUimH+k9f9m2ZEttCPCdHAVz+q3K2NzElHWkuH5BlMeIJ8uTks/2cUET40u 3HC8I3IcNrj9bDY0wKr+TBCLrlSiyzHv+tz/zkxbWw024huRpJWoAlYsq7LiuA71MsQ+g2 dL7JMcPn952DIllJTnUvrT+4f/Q2z/KY7TUHavABHoGjsYkDTgtxtb0YSDPR1A== 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=1741701877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z87erjhf8b8ReC95N97NDa5qO4EPcJlGd0VRUnIOAUs=; b=YMN3y3ucKLCIyjAkMi/wxSLxbMs7eZf9ESU13Q8hpewlelZcnHV8ChX5e6tqapskix/Hr5 Vzx9jsLjUK5QM0UDS9jC03LAlwUvnnJlKEmJ85MhfuIj7lQen4Fffr8AdGhr9b23085TLM x1B/4Saj46nzCMz/hYKqoah1Q4Pec/IwGy88XN0eDfMsixyLn/Xi//RjKcDjvRXjqVJ5AT Q5ATv1Z93aL93GO+JQDoE9k20Q/pvlHwf397HC6lyTb20DZZGjXvze4QF7X0CkoH2lgWvg yxZBIpBPGG+aW3SvIHirFDsQzr2aJwBAYLgKlEl5pEVFYCl0+xFLrZLc1B9wrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwVs5jBLzD04; Tue, 11 Mar 2025 14:04: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 52BE4b7g028624; Tue, 11 Mar 2025 14:04:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4b5g028621; Tue, 11 Mar 2025 14:04:37 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:37 GMT Message-Id: <202503111404.52BE4b5g028621@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 2aa0067548a9 - main - libsa: smbios: Rename 64-bit entry point's guards 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2aa0067548a9dd68af263b3154923c0c25d8f600 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=2aa0067548a9dd68af263b3154923c0c25d8f600 commit 2aa0067548a9dd68af263b3154923c0c25d8f600 Author: Olivier Certner AuthorDate: 2025-03-03 16:52:20 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:08 +0000 libsa: smbios: Rename 64-bit entry point's guards Rename HAS_SMBV3 to SMBIOS_64BIT_EP, as it will soon be externally defined in some cases, and 'isv3' to 'is_64bit_ep'. These are more accurate names for what they actually control/indicate. No functional change. Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49281 --- stand/libsa/smbios.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index 4faec8c3aa01..a45bc78b7ad0 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -31,7 +31,7 @@ /* Only enable 64-bit entry point if it makes sense */ #if __SIZEOF_POINTER__ > 4 -#define HAS_SMBV3 1 +#define SMBIOS_64BIT_EP 1 #endif /* @@ -144,7 +144,7 @@ SMBIOS_GET64(const caddr_t base, int off) struct smbios_attr { int probed; - caddr_t addr; + caddr_t addr; size_t length; size_t count; int major; @@ -160,8 +160,8 @@ struct smbios_attr { }; static struct smbios_attr smbios; -#ifdef HAS_SMBV3 -static int isv3; +#ifdef SMBIOS_64BIT_EP +static int is_64bit_ep; #endif static uint8_t @@ -189,11 +189,11 @@ smbios_sigsearch(const caddr_t addr, const uint32_t len) smbios_checksum(cp + 0x10, 0x0f) == 0) return (cp); -#ifdef HAS_SMBV3 +#ifdef SMBIOS_64BIT_EP /* v3.0, 64-bit Entry point */ if (strncmp(cp, SMBIOS3_SIG, sizeof(SMBIOS3_SIG) - 1) == 0 && smbios_checksum(cp, SMBIOS_GET8(cp, 0x06)) == 0) { - isv3 = 1; + is_64bit_ep = 1; return (cp); } #endif @@ -561,8 +561,8 @@ smbios_probe(const caddr_t addr) if (saddr == NULL) return; -#ifdef HAS_SMBV3 - if (isv3) { +#ifdef SMBIOS_64BIT_EP + if (is_64bit_ep) { /* Structure Table Length */ smbios.length = SMBIOS_GET32(saddr, 0x0c); /* Structure Table Address */ From nobody Tue Mar 11 14:04: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 4ZBwVv2HQxz5qbsB; Tue, 11 Mar 2025 14:04: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBwVt6cJWz3qhV; Tue, 11 Mar 2025 14:04:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/lydH/herk1ksgPjqhXtMupBGVQy4PxxtEv7xci2lyU=; b=Hr+1SWWn7cCAN+Og6mLxMnrBqhKs/N5e6SjB4Jbc0wiKtvBO4q4Oii9HaDMijE2aA3kSx5 M5Y6zOnUd43YJD3QfkmqmUFAql8YXUFHt5EgwMy+Kf4iMmTKy0rU8OqvSkxDlag9xVwGxS y+2QXe8dwvs4+38W79mnWSDh3cQvBaBrcI2z6fl1NR2AXHGB6wk1gSzLNuArr2IqcNEKHW OqDjVOFGfEtTxN5Czvgewq0XfWAi3TjqEAf0sTYkhzM9MJRlLtYOSfRABsgOC574t03kPT yudF01uOj82fQpv2BxuDdKUHQZgvHgLA61SNZDFtaY2HihacJO26MVcFeRkEYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701878; a=rsa-sha256; cv=none; b=kIj7xvTE/H+7mmoDb3gjdELaSEy1WmZLWbXove9m33GP3rXOB0XBoX8fRnpuq/8c4fxESW 7JISOB7aAfb3BCJusQS3dDkOMsK8GUQmdEf6A9gNJKZkqhBKLpGNxh427IldBuXvjJuaqN 9r7RTSuTUI9yKUJ5TqGN186VMO7WWc9HcuYt9z3sABL4ZYpuVnSsszbME+v5K0Xiq7tA6k 1cLXzugSaLbEefNB+Mx7/ASmZmzUQ3R6VuSxBTqtezlZA934fTV/OeZAJx6UEK5s+/jhTO UH2HOcGkGi7/w9gZyBL1DO/+2qtj/IbieahsyAvyUVCA5rzenzEdu82+QlCVhQ== 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=1741701878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/lydH/herk1ksgPjqhXtMupBGVQy4PxxtEv7xci2lyU=; b=Nhvh9O73h2FHKYwpFm1acaJjrfGHCHsaMJHw20jR6S8sCKRd7mtM3M/QfhPEee3CY4V4Iu 8KVZzmtvGr+558BUrETL6L4DLlQumsSyA5LdT3uBr+NIczpcHBQdtRvFtfXg5ckClQSJdN Ut6jMezeuWLsNDHu+Y5OcRGBI9uOuFD3JftVznNQQiML6hof1xWKkSRsrKokmuQleLruKa dVdNHuFh3PK7u6lYxi7yBaMxI8G0Mb9Z796hRlAjd7oZx4BPfxPJDgsSggbfC6x5e4EgWG 86mG4PcoJDvvYKnA9jiSwFz4iS89xUFZNezU1f6iEQKxMkwrfHQ9dpyR/c7zrg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwVt6BtYzDFF; Tue, 11 Mar 2025 14:04: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 52BE4cvw028662; Tue, 11 Mar 2025 14:04:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4cY7028659; Tue, 11 Mar 2025 14:04:38 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:38 GMT Message-Id: <202503111404.52BE4cY7028659@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: a39ab17c9abb - main - libsa: smbios: Make 'is_64bit_ep' a field of 'smbios' 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a39ab17c9abb74019f15b02970d8739c97d4185c Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=a39ab17c9abb74019f15b02970d8739c97d4185c commit a39ab17c9abb74019f15b02970d8739c97d4185c Author: Olivier Certner AuthorDate: 2025-03-03 16:29:04 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:08 +0000 libsa: smbios: Make 'is_64bit_ep' a field of 'smbios' No functional change. Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49282 --- stand/libsa/smbios.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index a45bc78b7ad0..a334e39e9eff 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -144,6 +144,9 @@ SMBIOS_GET64(const caddr_t base, int off) struct smbios_attr { int probed; +#ifdef SMBIOS_64BIT_EP + int is_64bit_ep; +#endif caddr_t addr; size_t length; size_t count; @@ -160,9 +163,6 @@ struct smbios_attr { }; static struct smbios_attr smbios; -#ifdef SMBIOS_64BIT_EP -static int is_64bit_ep; -#endif static uint8_t smbios_checksum(const caddr_t addr, const uint8_t len) @@ -193,7 +193,7 @@ smbios_sigsearch(const caddr_t addr, const uint32_t len) /* v3.0, 64-bit Entry point */ if (strncmp(cp, SMBIOS3_SIG, sizeof(SMBIOS3_SIG) - 1) == 0 && smbios_checksum(cp, SMBIOS_GET8(cp, 0x06)) == 0) { - is_64bit_ep = 1; + smbios.is_64bit_ep = 1; return (cp); } #endif @@ -562,7 +562,7 @@ smbios_probe(const caddr_t addr) return; #ifdef SMBIOS_64BIT_EP - if (is_64bit_ep) { + if (smbios.is_64bit_ep) { /* Structure Table Length */ smbios.length = SMBIOS_GET32(saddr, 0x0c); /* Structure Table Address */ From nobody Tue Mar 11 14: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 4ZBwVx0HMRz5qbSd; Tue, 11 Mar 2025 14:04: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 4ZBwVw0x9Zz3qt1; Tue, 11 Mar 2025 14:04:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6ZCh2lRvou0DXGkUOx1azyOJG1smNMCcO+l/V/RPpgA=; b=S11YUByRkx0NtcOdXUYKhuYns3UzarmE2H8YTGqBdWyyM2ZMBFhhKhtWF0saqeEJfE9ZI8 silp4MoOOc1hbdIkvtAtRc42ZniQ28PqmIe84P7+VAJb0cXu4KTTPoNUx1E68HsTNqLxlG UoGGpaVYY71vhEpQFS11/cBgmZa7drn3LaXqYJBzYtBMbgTcNnfLoKfaW0W+VVMrANY1oF hIe7dBxKu1C69TwzJL65wYTXfrUJD984vy/pwfop30CXmsZyqSazHIBnQylocmMrQ8tlud PuKrqLysqrAjUFZKChBn1TOK+We9C8GlJA5xS6olqkSD4CSI6PNNAfCheJ0P1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701880; a=rsa-sha256; cv=none; b=ipF1O4nPrEktMxjQg3evkEqn911z2GL9yfmfHGMyXyVViuSwpC+ctrJabS9hNFww5kJuq4 PisiFBT869vVJnrjcF4qOaUJJmVORLwUMGZnNeDv2hFud1qcaNYa1/tOIrE7xDfFafDuzV DOLg5FEST2YZFK2l6nysNlSN4QsrCH431ZGVvG2Uex/zaJqIIeuC7j8eg0OBfJIHcXF1lN xYlVYw4U4N4Ie691Bb4nejg7vcW4nMShSO3ZrL3ZQKWLGJAjdhfGakGbXCuupyUs6MenS7 LtVr0Tp7CW2nvEwBM4rheApVEDUnh7FuXPuroy/M9GuymPfRNWj3+L79tjynkw== 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=1741701880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6ZCh2lRvou0DXGkUOx1azyOJG1smNMCcO+l/V/RPpgA=; b=Y3nJ4s+yDDNFB9wMQxdyN0ExPA2HnJNdsw3d4HhVXiL6VszmeUrPsTSwGFw12OGz63B5MY L+eZmDCXGkb3doU7lFKb+4kS+aKI1DpGKYqsQFQsNFh07PE1DFJ3IbwkSUS186kcd3RRfQ zpDS2iB8T3IFgfrZWp12Ioyl0gmqgYTkxDsMEJ7F5VWK5RyUnfGMdOjuYU9M9S0hb2xAHe m3q0Z2x8gvLOfd06Ahib62OFivJGOTJDmDW+zi52DnARw0tZCTs7vzoZf/gdfNhFaNtpQ3 84CK1Rcuq6kBSiL/JtN38lOQ0wb0pIhKelN3giAxr1vuEhm54uGrZhpeVuOPlQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwVw03pdzD3c; Tue, 11 Mar 2025 14:04: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 52BE4dWh028696; Tue, 11 Mar 2025 14: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 52BE4dc1028693; Tue, 11 Mar 2025 14:04:39 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:39 GMT Message-Id: <202503111404.52BE4dc1028693@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 3b2303ba3dba - main - libsa: smbios: Export the used entry point type to the kernel 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3b2303ba3dba4e33ee0866953b4390c5481cac83 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=3b2303ba3dba4e33ee0866953b4390c5481cac83 commit 3b2303ba3dba4e33ee0866953b4390c5481cac83 Author: Olivier Certner AuthorDate: 2025-03-03 16:44:38 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:08 +0000 libsa: smbios: Export the used entry point type to the kernel Via the kenv 'smbios.entry_point_type'. Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49283 --- stand/libsa/smbios.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index a334e39e9eff..c864dc9cdc5b 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -629,6 +629,11 @@ smbios_detect(const caddr_t addr) dmi < smbios.addr + smbios.length && i < smbios.count; i++) dmi = smbios_parse_table(dmi); + setenv("smbios.entry_point_type", +#ifdef SMBIOS_64BIT_EP + smbios.is_64bit_ep ? "v3 (64-bit)" : +#endif + "v2.1 (32-bit)", 1); sprintf(buf, "%d.%d", smbios.major, smbios.minor); setenv("smbios.version", buf, 1); if (smbios.enabled_memory > 0 || smbios.old_enabled_memory > 0) { From nobody Tue Mar 11 14:04: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 4ZBwVx4rP2z5qbQK; Tue, 11 Mar 2025 14:04: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 4ZBwVx3ML1z3qZX; Tue, 11 Mar 2025 14:04:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KVgS1YlYh1oaipH5PADMGU6w6rdmis1YQOru0dRjlVk=; b=AMRCDH8RqBMfpQdTmWRDVkcmTdPpJIqoNGmiopDoh0DXkMmM8HRIh/rhkDW7WE7DJlQyDR 83ni1Tdd7E0dNYAo7lKcgkHo2eWaCTJ8qiKCZkNVZEvHXDASTPIG2XLEotl95tmE8e6phS hG7UXykVxF+lA7eprfmIjkMO9Kr7dda/FrW7ywxvXiVe+fjEdm2TXAviMzue/3/i+omA8h 3G0glPxg1/AUCrCKCHhEGLgC69Ofb4RowKCW07vCpx08xITWHQ8vUyrBEbby574G4iR0Pf Xa4hoGSSRCM6vLFIGMKPo26rmClD5UidZ6MmF+VZaut1O0VMr/MCUnHD8umolw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701881; a=rsa-sha256; cv=none; b=OTlDOmAXn6Kl477lMp2e1UHJFE7VXET9m609DkZ9Y7rtiIpQlMUd50vHD9AhjdolWAYY1C GeSj+5HSOudA2lG8MG48Jp+4wQM851brjUBKwi7Q3TciGfQhcxHhdvo95NyKymSk+Frhkd bmGVrU/6ELms866ELRxoVl5FIUB2HdTBOk3VLux/S6ZxMW7LvrCzAiDJ1YYQaBCGBSBU27 FREoxivQEMvrhu3ky/E+rrIqU1c5OU86KG66yYd/aFAZcE8D/5iuSk1PQCt6wZdoQRo/Gm DCNFo1DTuUcJCyJ0RugUjO+d51Bj2JkUerSlsTAvLJJIsiS2dgxQ4NG+tFBvLQ== 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=1741701881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KVgS1YlYh1oaipH5PADMGU6w6rdmis1YQOru0dRjlVk=; b=Cz/KeiiSd1FNON6n1hNc3pz3FE9wBsKYOjHOrgFDK93/joJyXNxZvDHeCCkfuOrAZSQpqF R+V71/Onm807Dt9qqtwW1A9UXZzqHZRN/kVNZATNO6lx+tOvbm5bGUfZpbUNT/iqz40ZNd 0WKF741SrYbHVLimopFkzoIA05KcieZ4A6kGGoaGl+nCZOv8gWQb+KNIG5T1TeKDpMXv7K /2d5SrssBrs/nWsVL6/2PXDYI5bAcZnC5IqfKNd9R09lqLPTt9G4o150RryvQTWG3tJ+os crphrX+4qjBMpi/YWYa9PBVBOHqN4Jbiesh9tAQdvaAq0Q69KAaYYVn5EsJ1Lg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwVx0lGDzDHm; Tue, 11 Mar 2025 14:04: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 52BE4fXx028730; Tue, 11 Mar 2025 14:04:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4fDn028727; Tue, 11 Mar 2025 14:04:41 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:41 GMT Message-Id: <202503111404.52BE4fDn028727@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: d1f351fcb22f - main - libsa: smbios: probe: BCD revision parsing is v2-only code; Expand comments 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d1f351fcb22f46805ff0a0cecf6ce787f84d31d5 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=d1f351fcb22f46805ff0a0cecf6ce787f84d31d5 commit d1f351fcb22f46805ff0a0cecf6ce787f84d31d5 Author: Olivier Certner AuthorDate: 2025-03-03 14:30:16 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:08 +0000 libsa: smbios: probe: BCD revision parsing is v2-only code; Expand comments The code parsing the BCD revision is only meaningful on v2, so move it away into the appropriate 'if' branch to ease reading (and to avoid a useless test). Expand comments. In particular, make it clear that setting 'smbios.count' to '-1' removes the limit of the number of structures to parse. No functional change. Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49284 --- stand/libsa/smbios.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index c864dc9cdc5b..e726dfeb7af3 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -567,9 +567,12 @@ smbios_probe(const caddr_t addr) smbios.length = SMBIOS_GET32(saddr, 0x0c); /* Structure Table Address */ paddr = SMBIOS_GET64(saddr, 0x10); - /* not present in V3 */ + /* Not present in V3, set it to the maximum value (no limit). */ smbios.count = -1; - /* not present in V3 */ + /* + * No BCD revision in V3, we'll determine the version thanks to + * the major and minor fields below. + */ smbios.ver = 0; maj_off = 0x07; min_off = 0x08; @@ -580,22 +583,26 @@ smbios_probe(const caddr_t addr) smbios.length = SMBIOS_GET16(saddr, 0x16); /* Structure Table Address */ paddr = SMBIOS_GET32(saddr, 0x18); - /* No of SMBIOS Structures */ + /* No. of SMBIOS Structures */ smbios.count = SMBIOS_GET16(saddr, 0x1c); /* SMBIOS BCD Revision */ smbios.ver = SMBIOS_GET8(saddr, 0x1e); + if (smbios.ver != 0) { + smbios.major = smbios.ver >> 4; + smbios.minor = smbios.ver & 0x0f; + if (smbios.major > 9 || smbios.minor > 9) + smbios.ver = 0; + } maj_off = 0x06; min_off = 0x07; } - if (smbios.ver != 0) { - smbios.major = smbios.ver >> 4; - smbios.minor = smbios.ver & 0x0f; - if (smbios.major > 9 || smbios.minor > 9) - smbios.ver = 0; - } if (smbios.ver == 0) { + /* + * v3 table, or v2 with BCD revision being 0 or bad. Use the + * major and minor version fields. + */ smbios.major = SMBIOS_GET8(saddr, maj_off); smbios.minor = SMBIOS_GET8(saddr, min_off); } From nobody Tue Mar 11 14:04: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 4ZBwVy5Slfz5qbnb; Tue, 11 Mar 2025 14:04:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBwVy3YQBz3qlb; Tue, 11 Mar 2025 14:04:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=29+5Wp3iYu/mCvuLISoNCqT22UMJPk5JoNziU65ku6s=; b=lQnN7VWSviiaLeLdCVUidcCJo4XoYVMucW6o3NBLTFa5OUYfGOabPd8Ivn893f7xHvaH4f VAXiM+p+wIOu8m4Db+xlo45l32XcQt0iHSarxOX4bfqUzIqKY5EAwf3TEkq6ulBLQN0G18 7oRDmiA3yd/vzTyKMKOfE3ZuH1p5Jny9SA3AVTj6mpE+wJ393fwObYPvEuFhvZ5yR6TkcT pEvhgzNnT5ftRqU6hBzhf70Lwmlu2R1P4PCbmgAXY6DzvwpD+DZJxyfEpDimA2MHZkbycQ tKONe6WxnhbVrqHMOS/FQBREzI8FfF0TtoX4hFVbbxR06uR4C1HABoZJckwqWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701882; a=rsa-sha256; cv=none; b=AAIVlldNzC3brc1g3B/7N3J8YYbV/3V/c915Fwy8vsDxxmySxpQJh6znG2jZvz0HmBqIFI gYzn++HSwC5rBhRy2GPljGSxs5DWpt8elfy3Kh+xy1xKzY6JTHFCI1lUX7VcK/sZkPHjB5 hcFuSsAt1JZsseRQ9W9r2z89BFejJxT+ze5Zyud/KRDOipzmyV4j9p8OCoVGKytui4rUR7 i26ClxS5tDyVlD2ck03CybWBOFDNStE9aBxM4zcPJzSGR1LWjUzKCPDyy3IG7ynbTJYBor mJPnV41HNx7p8Tolj/1/qt9J0aNioBgyeuY+7FI4OebmXOmF1coEPIn/OdS7Pw== 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=1741701882; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=29+5Wp3iYu/mCvuLISoNCqT22UMJPk5JoNziU65ku6s=; b=Bep8Yn5FazTHiuu4fwIb/ajH4MliHS0kIFnO5iz0S6uKoo9rXvhEgrlMABV029kjO63c9Z b6l+TNIRuteG3fY4FoXGfVk2WlzQ+C7LuP6pV6dELHjsE4kGlJC7HyvZsGxvEGu0PWw1lQ zWvNlN5pAo0x1K/E36KYUY70WGsa++ra0zsOz77teQDzr+bsJfqp96+X/fwaB3XByJy4SE M+oEU/JT+wMNh01WoW7VW2TarNa/y1W8AKFYzWmj2CzIxEUPlwFak0IguDTqZw3kHHruvk xG+60LD/SyRDpAOUhgVbMzE5eo6NXYcajl7+yYBhE5pvExkQFy2bUK7Df+myrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwVy26CqzDBf; Tue, 11 Mar 2025 14:04: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 52BE4gcY028764; Tue, 11 Mar 2025 14:04:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4gYQ028761; Tue, 11 Mar 2025 14:04:42 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:42 GMT Message-Id: <202503111404.52BE4gYQ028761@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 7e61fc76400c - main - libsa: smbios: Stop parsing on an End-of-Table structure 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7e61fc76400cce08de39adde99b879f0bca21b7d Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=7e61fc76400cce08de39adde99b879f0bca21b7d commit 7e61fc76400cce08de39adde99b879f0bca21b7d Author: Olivier Certner AuthorDate: 2025-03-04 11:17:45 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:09 +0000 libsa: smbios: Stop parsing on an End-of-Table structure This structure exists since SMBIOS v2.2 and indicates that there are no structures to be parsed beyond this point. For backwards compatibility, the standard recommends that system software ensures that this structure covers the rest of the SMBIOS structure table area as reported by the Structure Table Address, and the Structure Table Maximum Size (64-bit entry point) or the Structure Table Length (32-bit entry point), which makes existing parsers continue to work correctly as they usually ignore unknown structure types. However, this is not a requirement, so be bullet proof and immediately stop parsing in this case. Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49285 --- stand/libsa/smbios.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index e726dfeb7af3..50cab3eee939 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -92,6 +92,7 @@ #define SMBIOS_SIG "_SM_" #define SMBIOS3_SIG "_SM3_" #define SMBIOS_DMI_SIG "_DMI_" +#define SMBIOS_EOT_TYPE 0x7f /* * 5.1 General @@ -504,6 +505,9 @@ smbios_parse_table(const caddr_t addr) (size & 0x7fff) : (size << 10); break; + case SMBIOS_EOT_TYPE: /* 3.3.42 End-of-Table (Type 127) */ + return (NULL); + default: /* skip other types */ break; } @@ -529,15 +533,19 @@ smbios_find_struct(int type) ep = smbios.addr + smbios.length; for (dmi = smbios.addr, i = 0; dmi < ep && i < smbios.count; i++) { - if (SMBIOS_GET8(dmi, 0) == type) { - return dmi; - } + const uint8_t seen_type = SMBIOS_GET8(dmi, 0); + + if (seen_type == type) + return (dmi); + if (seen_type == SMBIOS_EOT_TYPE) + /* End of table. */ + break; /* Find structure terminator. */ dmi = SMBIOS_GETSTR(dmi); - while (SMBIOS_GET16(dmi, 0) != 0 && dmi < ep) { + while (SMBIOS_GET16(dmi, 0) != 0 && dmi < ep) dmi++; - } - dmi += 2; /* For checksum */ + /* Skip it. */ + dmi += 2; } return (NULL); @@ -632,8 +640,8 @@ smbios_detect(const caddr_t addr) if (smbios.addr == NULL) return; - for (dmi = smbios.addr, i = 0; - dmi < smbios.addr + smbios.length && i < smbios.count; i++) + for (dmi = smbios.addr, i = 0; dmi != NULL && + dmi < smbios.addr + smbios.length && i < smbios.count; i++) dmi = smbios_parse_table(dmi); setenv("smbios.entry_point_type", From nobody Tue Mar 11 14:04: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 4ZBwW12dM7z5qc1b; Tue, 11 Mar 2025 14:04: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 4ZBwW04299z3r2J; Tue, 11 Mar 2025 14:04:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y0Ekkr1qTIIAgjz+yYwHLtHHknvWXmZo7YUa5aluyJ4=; b=ZSJtg6BpI8wpqwijeEZWGn7qmNsaBdBlkr6dWucW13KoZJDPnPoZ/rdxTEUUbCO3G5qr4Z XAmRbBVvqhYXyJ5EB3RtkZ0L9Ei852DUIADGd8DUbPVFgiCraPmcmEVv3SUsgDFDZEJ2Z3 fVJ7EQ9WYnrMspL6iIbS9KxhMirm+ssTmVRSyiAX8M5QnpqnGrCtdoTE83AypxvPP6/BIC k1x1I8C+xJ2bGerCdvJqgbThY+DnX0Wxg6JrPAyy2uMoUbvqucOgTSyOSY9QiXY1q/OkZt ZCistozZ/hBoRW20rzf6ZcyIqnhym3hQJjVgGiV84cNWyfLWpM9heRXlhNEo8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701884; a=rsa-sha256; cv=none; b=BJJSiYCYW2JaastYAyMGC1UYf5Z0le28EXCk+jNsM2QOm7aGa0V/mop/yyZbyzp8mTHU1w uXZ+TlPRrzYf6kMMhZRHfJ9uWxO6hLxJhymCKpaavl4qYPfrSp1wnxj3znCsJKdCiIqPTP lIJ61unQDYgDXhzPpPxgk8AoMWJQ76dwTmC5aGlY/qVuGNpPJ/G1hqvMacbkFsZBzRSGWI yUo2h5UC/VHmsRk4O3Zr0FiJh4jWQnJg7PhjgH7o27Ypjr734A55LrLxoralF+MFTfUVoV Sl7/kyn1DyclyU4GnzvRQV5NTxoF4TanYFhz+5+wpp9Qd95J/MAQ+dW5sEbIvA== 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=1741701884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y0Ekkr1qTIIAgjz+yYwHLtHHknvWXmZo7YUa5aluyJ4=; b=Wvkan7MZTQXqkhh6qbeupsKENiFopK4PcTcKTT4hkTmm2jYLJ/QZA8r9TFOOGQoG0Rb5pA KcVBHIcoqqmkIA/reJ/vKV0a45f0jcHvR3IG+TKkhu4lJPA9Qu3iqGkm6ciNbnAYkOOtYc 8DZYA7eaq9L4wCzPt7tJaBRbsYzoeKpcrdnRC/k5Ada0pWPoA1dRVJdijzjsjAJ3/bAcKt sN6Kerl7y4kDg47NK7Wlz7e0NpdPRYFB96R1U0MDNGpJOrrt4AHpvUmU6rO1Q0wyII28Ef KX7QMbi/EJJSw56ljmGjjGY+0oKxzsYk/rlnrWqh5YNgjF4zSMxK3vfpNDmiUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwW03dsZzD5q; Tue, 11 Mar 2025 14:04: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 52BE4i9Z028838; Tue, 11 Mar 2025 14:04:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4iGj028835; Tue, 11 Mar 2025 14:04:44 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:44 GMT Message-Id: <202503111404.52BE4iGj028835@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 3f744fb8b2c5 - main - libsa: smbios: Favor the v3 (64-bit) entry point on non-EFI boot 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f744fb8b2c5528c2170be113e0e4947eee3cffc Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=3f744fb8b2c5528c2170be113e0e4947eee3cffc commit 3f744fb8b2c5528c2170be113e0e4947eee3cffc Author: Olivier Certner AuthorDate: 2025-03-03 14:38:10 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:09 +0000 libsa: smbios: Favor the v3 (64-bit) entry point on non-EFI boot When both the 32-bit and 64-bit entry points are present, the SMBIOS specification says that the 64-bit entry point always has at least all the structures the 32-bit entry point refers. In other words, the 32-bit entry point is provided for compatibility, so we assume the 64-bit one has more chances to be filled with adequate values. Doing this also increases consistency with the kernel's smbios(4) driver. Reviewed by: imp, markj MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49287 --- stand/libsa/smbios.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index 4deea4f31b11..2477c0ccf2d3 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -180,16 +180,10 @@ static caddr_t smbios_sigsearch(const caddr_t addr, const uint32_t len) { caddr_t cp; + caddr_t v2_p = NULL; /* Search on 16-byte boundaries. */ for (cp = addr; cp < addr + len; cp += SMBIOS_STEP) { - /* v2.1, 32-bit Entry point */ - if (strncmp(cp, SMBIOS_SIG, sizeof(SMBIOS_SIG) - 1) == 0 && - smbios_checksum(cp, SMBIOS_GET8(cp, 0x05)) == 0 && - strncmp(cp + 0x10, SMBIOS_DMI_SIG, 5) == 0 && - smbios_checksum(cp + 0x10, 0x0f) == 0) - return (cp); - #ifdef SMBIOS_64BIT_EP /* v3.0, 64-bit Entry point */ if (strncmp(cp, SMBIOS3_SIG, sizeof(SMBIOS3_SIG) - 1) == 0 && @@ -205,8 +199,24 @@ smbios_sigsearch(const caddr_t addr, const uint32_t len) return (cp); } #endif + + /* v2.1, 32-bit Entry point */ + if (strncmp(cp, SMBIOS_SIG, sizeof(SMBIOS_SIG) - 1) == 0 && + smbios_checksum(cp, SMBIOS_GET8(cp, 0x05)) == 0 && + strncmp(cp + 0x10, SMBIOS_DMI_SIG, 5) == 0 && + smbios_checksum(cp + 0x10, 0x0f) == 0) { + /* + * Note that we saw this entry point, but don't return + * it right now on SMBIOS_64BIT_EP as we favor the 64-bit + * one if present. + */ + v2_p = cp; +#ifndef SMBIOS_64BIT_EP + break; +#endif + } } - return (NULL); + return (v2_p); } static const char* From nobody Tue Mar 11 14:04: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 4ZBwVz6RmLz5qbnc; Tue, 11 Mar 2025 14:04:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBwVz3kQNz3qj2; Tue, 11 Mar 2025 14:04:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GOEVHChGiESVxQ7MCpcL9nCbgq7BIFmuBmeF1fwg9Oo=; b=OfWzttoOlGCT4Mzu1q0Z4i4t2rHLEFbozOCpXINEUdZDCC7kyjUJy/zx84LAo+NuHYcHo7 kU82eGYH79y1/0ukA8TOBY1umB+2knz7kvdc8C7jCEEsMt9K9ov6HoQQcyrrvbwOXYLCPj tDtcQFwelI/TG85eD/jZyztJAQGhdvJjS/wV5SVFrwzH7EnGJVjxP6zDz5NiygKQgvkDKD SngjmGZxouTigRZtt3c5hqRIYdpNUsI5xdWKdZQv2KuKutWIIy2yLRuHHbhwXpZ7nGwH8u obinT66P0gQjHGkXT6Rl02MxhUYgJUVUsLdXidbywwxdLxQXnL/GMzHa1P7LSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701883; a=rsa-sha256; cv=none; b=C8cuwZkBu9FtSlTzUgT2wd2X3NKrfPpbJYRq2ZDzcMzBMbezv6beYM1wLFGFXqYa+fPed/ 9ZQ2jcMDnrgV7fN+ucrxW0RAh8Cbt4HhGNt8USCvgLdGvN+P/yqLUdnRe2g54kBDJI6iif rlFBl1iLutHko2Jiml/hJhYfy8P0NR1B3RDN546v174gkiaHTvlMHKQbJwE2LJpHMRXSBk g1Q7r9bSE9H39wbl3kKFJon1HIU3E5cWfhbCbf99g3QlL0NiEr6c1VN2fdV0DkCex8bLP7 tHXA8ZjbtUWLXzM0U+nNRHoiegChQ3x8fPLIR9JddYCf42z/A51XwU0SdMOmRw== 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=1741701883; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GOEVHChGiESVxQ7MCpcL9nCbgq7BIFmuBmeF1fwg9Oo=; b=I2l7CHVd5iCSIIJ2V/10+dpQSXlZ6cFu4EXvgLOgH9pTEhWwPT3rKgiZcsPUOHmysag0zy uRjf7WU83QfUzKL1PM/zBqxMCxLhL5xbWYRBjK2gGmyjn3Ug+X+e+1F2GMPNb19PWF14vp TEcQl51u9fvQ23O5C/h2Tyr2eQcPpmmisOWQHDoxQg3KK5RnagrUPUgMyg8HIsoC4tYSZ/ 1qex5/8t0NRMNmqzzQdv5mi9O+2FKfsaVsXMDM5J5PoY5QIEl+NhN5I0O3eKNKmFBmxy32 miAxMDPBO+K1LYDqG+5K1YBLoqByqHoq45481PzBbfzLjiNLvGCEEH6cP7cqJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwVz2gNLzD3d; Tue, 11 Mar 2025 14:04: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 52BE4hPb028803; Tue, 11 Mar 2025 14:04:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4hD4028800; Tue, 11 Mar 2025 14:04:43 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:43 GMT Message-Id: <202503111404.52BE4hD4028800@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 64fc51a9cf71 - main - libsa: smbios: Reject a 64-bit entry point with revision 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 64fc51a9cf71b2308399b7b7dee8a9bc9468877b Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=64fc51a9cf71b2308399b7b7dee8a9bc9468877b commit 64fc51a9cf71b2308399b7b7dee8a9bc9468877b Author: Olivier Certner AuthorDate: 2025-03-07 13:32:24 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:09 +0000 libsa: smbios: Reject a 64-bit entry point with revision 0 According to the specification, such an entry point may have different data in bytes at offsets 0x0c to 0x17 (included). In such a case, interpreting them as the Structure Table Maximum Size and Address fields could have catastrophic consequences. Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49286 --- stand/libsa/smbios.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index 50cab3eee939..4deea4f31b11 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -193,6 +193,13 @@ smbios_sigsearch(const caddr_t addr, const uint32_t len) #ifdef SMBIOS_64BIT_EP /* v3.0, 64-bit Entry point */ if (strncmp(cp, SMBIOS3_SIG, sizeof(SMBIOS3_SIG) - 1) == 0 && + /* + * The specification only guarantees the presence of the + * Structure Table Maximum Size and Address Entry fields at + * offsets 0x0c and 0x10 if the Entry Point Revision is not + * 0. + */ + SMBIOS_GET8(cp, 0x0a) != 0 && smbios_checksum(cp, SMBIOS_GET8(cp, 0x06)) == 0) { smbios.is_64bit_ep = 1; return (cp); From nobody Tue Mar 11 14:04:45 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 4ZBwW22Lbhz5qbyD; Tue, 11 Mar 2025 14:04:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBwW157V5z3r2b; Tue, 11 Mar 2025 14:04:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wQmS0vAF+1fixHm9r6SJXDHqXx5qX3Pw0BFPvIYpk8M=; b=oYS+PEkUC9QSqrHahMdFjwCVAb8R42mzK5/MHeEnXNt7SmCMilIBaPPyxOAgIUtv/Nq0Y7 PHajpJclh3XHBjWoghMhc5EZ+FO5tuEji1X5NlPVOAxbybfeoclJYtQa6yExZk/w3dU06p aJP8CiXOzyOFt/SYhRRsxNvWLNAaYl4YdWvIdSElT2zp98PDUmxLOxiPW4FlrVZXS3XkCS vuTYVUnSRRnRq8+z/uFQRMQvivHOHisLZCOYUNjgLo042sgp+ymzS2o8rNFT6HM+w88ZRM r7fv/FcfhHS9lVOR2z6xMd7tEE+FADGZ1J0i97gAXPS5uW94FkzxgT1EPUwMKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701885; a=rsa-sha256; cv=none; b=G2yGNgtVVizFhrJP/IxA2XtzR4ytivT73lmsFNuYhCHQApKcWksipOhFCMwa7QqNGgufFf eLXlENSqK/hRyUBtVnE9RDEf/U7fEwFDzC0O65nIJg7MECiL4mudbg9swf4SPll3L9x7n5 WHdYnsEYo+r1y6N58yqoFSSG3HwkQ+UAOeNaPEp6r87fUgeIoRbFCC/VmGahUDXDwaCmmO tr2Nhdm/IVBIrI7RPDLNJsUtXjOOiW8ADfzWbQ545iRuw/Wf7G9GqUjv0cNULm05lWyrRn MbKN/qzUp0IopnMIwjsA7GOQz0B5xO356BglsS4BvdHjnhCvDODBHDibSn2cHA== 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=1741701885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wQmS0vAF+1fixHm9r6SJXDHqXx5qX3Pw0BFPvIYpk8M=; b=ZLV2+OfBSHTh9F0ZTeuqB4dcUWbbuc4xtlQBUU3c0bzN1XqbebMPwg/MSBWx4MZMA3B0zv 2c15rLRlXFOyjUx8gqQXdckbAQogal0q//p5+IdWlNKHoTYLcRyn5jTD49W16y5m3zXiHH Zl/gNWNDiEXmFmnnk9q1Kgqa//GNzMvCKF81KuikmjQJEOgOp4+mQBnTPNQ/EHH0rPP47B kVaahAkuSGubIadeHpQvODmQSjpEgXaqSKfNiRwfM6BqygWvFk1bc6TpkPly8Baj4KtXvh uYXqsVMIBY3DnThLdKBVX05xXz5+QckacgocNxspNVuNw5tI/jF4AkdKmbQ9lQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwW14bLDzD3f; Tue, 11 Mar 2025 14:04: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 52BE4jba028871; Tue, 11 Mar 2025 14:04:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4jod028868; Tue, 11 Mar 2025 14:04:45 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:45 GMT Message-Id: <202503111404.52BE4jod028868@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 7f005c6699f4 - main - libsa: smbios: Use 64-bit entry point if table below 4GB on non-EFI boot 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7f005c6699f429c2f762b4dd8fb39b3bcf5378e2 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=7f005c6699f429c2f762b4dd8fb39b3bcf5378e2 commit 7f005c6699f429c2f762b4dd8fb39b3bcf5378e2 Author: Olivier Certner AuthorDate: 2025-03-03 21:10:25 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:09 +0000 libsa: smbios: Use 64-bit entry point if table below 4GB on non-EFI boot On amd64, boot blocks and the non-EFI loader are 32-bit compiled as clients of BTX, so cannot access addresses beyond 4GB. However, the 64-bit entry point may refer to a structure table below 4GB, which we want to use if the BIOS does not provide a 32-bit entry point. The situation is similar for powerpc64. Consequently, always compile-in support for the 64-bit entry point, but ensure that it is not selected on 32-bit-compiled boot loaders if the structure table it points to grows beyond 4GB (as it is then not accessible). PR: 284460 Reviewed by: markj MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49288 --- stand/libsa/smbios.c | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index 2477c0ccf2d3..e0531eab01da 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -29,11 +29,6 @@ #define PTOV(x) ptov(x) -/* Only enable 64-bit entry point if it makes sense */ -#if __SIZEOF_POINTER__ > 4 -#define SMBIOS_64BIT_EP 1 -#endif - /* * Detect SMBIOS and export information about the SMBIOS into the * environment. @@ -145,9 +140,7 @@ SMBIOS_GET64(const caddr_t base, int off) struct smbios_attr { int probed; -#ifdef SMBIOS_64BIT_EP int is_64bit_ep; -#endif caddr_t addr; size_t length; size_t count; @@ -184,7 +177,6 @@ smbios_sigsearch(const caddr_t addr, const uint32_t len) /* Search on 16-byte boundaries. */ for (cp = addr; cp < addr + len; cp += SMBIOS_STEP) { -#ifdef SMBIOS_64BIT_EP /* v3.0, 64-bit Entry point */ if (strncmp(cp, SMBIOS3_SIG, sizeof(SMBIOS3_SIG) - 1) == 0 && /* @@ -195,10 +187,19 @@ smbios_sigsearch(const caddr_t addr, const uint32_t len) */ SMBIOS_GET8(cp, 0x0a) != 0 && smbios_checksum(cp, SMBIOS_GET8(cp, 0x06)) == 0) { +#ifdef __ILP32__ + uint64_t end_addr; + + end_addr = SMBIOS_GET64(cp, 0x10) + /* Start address. */ + SMBIOS_GET32(cp, 0x0c); /* Maximum size. */ + /* Is the table (or part of it) located above 4G? */ + if (end_addr >= (uint64_t)1 << 32) + /* Can't access it with 32-bit addressing. */ + continue; +#endif smbios.is_64bit_ep = 1; return (cp); } -#endif /* v2.1, 32-bit Entry point */ if (strncmp(cp, SMBIOS_SIG, sizeof(SMBIOS_SIG) - 1) == 0 && @@ -207,13 +208,9 @@ smbios_sigsearch(const caddr_t addr, const uint32_t len) smbios_checksum(cp + 0x10, 0x0f) == 0) { /* * Note that we saw this entry point, but don't return - * it right now on SMBIOS_64BIT_EP as we favor the 64-bit - * one if present. + * it right now as we favor the 64-bit one if present. */ v2_p = cp; -#ifndef SMBIOS_64BIT_EP - break; -#endif } } return (v2_p); @@ -586,7 +583,6 @@ smbios_probe(const caddr_t addr) if (saddr == NULL) return; -#ifdef SMBIOS_64BIT_EP if (smbios.is_64bit_ep) { /* Structure Table Length */ smbios.length = SMBIOS_GET32(saddr, 0x0c); @@ -601,9 +597,7 @@ smbios_probe(const caddr_t addr) smbios.ver = 0; maj_off = 0x07; min_off = 0x08; - } else -#endif - { + } else { /* Structure Table Length */ smbios.length = SMBIOS_GET16(saddr, 0x16); /* Structure Table Address */ @@ -661,11 +655,8 @@ smbios_detect(const caddr_t addr) dmi < smbios.addr + smbios.length && i < smbios.count; i++) dmi = smbios_parse_table(dmi); - setenv("smbios.entry_point_type", -#ifdef SMBIOS_64BIT_EP - smbios.is_64bit_ep ? "v3 (64-bit)" : -#endif - "v2.1 (32-bit)", 1); + setenv("smbios.entry_point_type", smbios.is_64bit_ep ? + "v3 (64-bit)" : "v2.1 (32-bit)", 1); sprintf(buf, "%d.%d", smbios.major, smbios.minor); setenv("smbios.version", buf, 1); if (smbios.enabled_memory > 0 || smbios.old_enabled_memory > 0) { From nobody Tue Mar 11 14:04: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 4ZBwW36V4tz5qc1c; Tue, 11 Mar 2025 14:04:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBwW25dsLz3qrm; Tue, 11 Mar 2025 14:04:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701886; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eX//KsE//X5xspjB2lGmHIKYA7QvdZNnWgGEGuZT4J0=; b=l6UC/zSFwWx+nyyQpQC1j+22KP8T33Bs6wmjni8bSLBZ/qQ1c7Myo39EYurJR9AQXXMdpd h1uk02b/DCHmLk6wOyVE6JNxFw4dMQxRd6EOChOT7MTyZPddNWn/BLcLLblyx4qayY1GRv S8zeZ+e1KxBl4LssuaAFnhUbTD9skRG28HudDt++Zs2y5HdlYROrW5QMYYJS5ZoBhs1Yv5 P8YforLSDYQXBP+LeT0LvmVnLZZunuZkz8CD1SjC4W2GheW2OPvcS4N7b21JUTAzdHA7Lg K9Dj0ApDmydVhCAcLmkhA6eDWMTA8QUZq+6T6jDS1zdcRdSO9C51Mr1ZnknY3A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701886; a=rsa-sha256; cv=none; b=HhmJRFiCRmwQgZWqcJQidz41dsc4cZA8pdjieoIl5iooHIwarF8yNz7QnR25xod8yoITqT hjZdMNRRNzG8/KSNBcjafBRyvoUmtG3029dPBTU9AcgbRU3uFuCPB207b9uZvSPg2gQQxp ZhReyjdcTAXGD+wSjbLR7SVzH//jSnO5qblfe3MMYHkCN0vDD49srMDRlz/YqnIHNACa7Z rFT/+MjX7m6cQk7MJlYORVpDo1qijweqJO33Et7RPeOWXeFKJLhE+uh4QXcZOSK26tRfyy l5pDScq/q4cORFv8LWEKqQnhWPQCEcgaZk8YBS8h548ufXUmPZ2ihJhZfJ4tbg== 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=1741701886; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eX//KsE//X5xspjB2lGmHIKYA7QvdZNnWgGEGuZT4J0=; b=emxpch+ss6jsN8KC58//pbu71OmsSwmIkqOGFGJHo5PsHbjUHYj1t/nTt4dQvRrerrfC+5 D2H697E/PmopGmTUuOmpmBGI3JvWg71sRGZFoJC0Kp72ebmMRB/xv2pTtyrOPZ9g53AUra L8jYw+FQzMkxAqrI9B7X7Pm0uMDmlfcx27oycToWdqH9WbGEqUKufeW4abZCFSMU7oVmnx AVbzeLZrgTbCdeOnEe+rRCT04hw115WBi1KLN86kDGP6UQ1LpPGQMrZ2yXapjqTMXHCp3N mb4heitIIlmxH6Dgzy9XwNgtKjufm4MctZuRkpQ7YY9aAoqvZEN9EdfLK5e/KA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwW25DgdzD05; Tue, 11 Mar 2025 14:04: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 52BE4knj028905; Tue, 11 Mar 2025 14:04:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4ktR028902; Tue, 11 Mar 2025 14:04:46 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:46 GMT Message-Id: <202503111404.52BE4ktR028902@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: c340797e08d8 - main - libsa: smbios: Allow to run smbios_probe() multiple times 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c340797e08d8c20983ea57de88992f988fe7bb9b Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=c340797e08d8c20983ea57de88992f988fe7bb9b commit c340797e08d8c20983ea57de88992f988fe7bb9b Author: Olivier Certner AuthorDate: 2025-03-05 10:24:36 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:09 +0000 libsa: smbios: Allow to run smbios_probe() multiple times This is in preparation for modifying the EFI loader to favor a v3 table if present. As an impact, caller smbios_match() has been changed so that it only calls smbios_probe() with NULL (non-EFI discovery) once. While here, expand the original XXXRP comment in smbios_match(). Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49289 --- stand/libsa/smbios.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index e0531eab01da..c7d9f1074fad 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -139,7 +139,6 @@ SMBIOS_GET64(const caddr_t base, int off) #define SMBIOS_GETSTR(base) ((base) + SMBIOS_GETLEN(base)) struct smbios_attr { - int probed; int is_64bit_ep; caddr_t addr; size_t length; @@ -573,10 +572,6 @@ smbios_probe(const caddr_t addr) int maj_off; int min_off; - if (smbios.probed) - return; - smbios.probed = 1; - /* Search signatures and validate checksums. */ saddr = smbios_sigsearch(addr ? addr : PTOV(SMBIOS_START), SMBIOS_LENGTH); @@ -684,8 +679,21 @@ int smbios_match(const char* bios_vendor, const char* maker, const char* product) { - /* XXXRP currently, only called from non-EFI. */ - smbios_probe(NULL); + static bool probed = false; + + /* + * This routine is called only from non-EFI loaders on determining the + * amount of usable memory. In particular, it is so before malloc() can + * be used, so before smbios_detect() can be called (as it uses + * setenv()). Consequently, since smbios_probe() is not exported, we + * ensure it has been called beforehand to fetch into the static + * 'smbios' structure the metadata that is to be matched. + */ + if (!probed) { + probed = true; + smbios_probe(NULL); + } + return (smbios_match_str(bios_vendor, smbios.bios_vendor) && smbios_match_str(maker, smbios.maker) && smbios_match_str(product, smbios.product)); From nobody Tue Mar 11 14:04: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 4ZBwW51L5Vz5qc1h; Tue, 11 Mar 2025 14:04: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 4ZBwW41LVLz3qxX; Tue, 11 Mar 2025 14:04:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OKoaSfp1bOY3a5xUIhffLMRJ8EaSRTor3Ss2g4wcLw8=; b=fP1JZtuDrrgpAqzL+SX64ktASFJpYHCDZK68qbcTu83JfCEIGpQa+thMffMGvR+jhIRuFQ BFH88d5gvAZ5iOcJAxWa5h9AeRI3uFYR4Gzjkr3T1PLhVMkomq1FgXkA4w+a6bjM/Oj85Y F7rLrJvnvwKKd9laz6H0YUfBkW+Dzj1amSWpVD/Ufd/8RhGUG8XIR09RHIaDAEMzORSF5v Cfym2MU8mFXMrjpNE2w43nn+tkevABrMlgnIlr3yxNHWyP/Dy8Uz+aP/N8n/EfCpy9BMUQ 4aH4DZW/RCwulQuT8038wwCAV92bsQIdnmbGaUQFotK0zZ4toBhAqYE3TsWtTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701888; a=rsa-sha256; cv=none; b=cFrfTbk1PYczzpexTLPRpy1JH+MmqG4nCwYw1B0b+MktAwUZyIoEKE+TUzkF3qusAjoV/r DhRAD5jTxEQ1Bn2hMvBshs85fRptRO35I4UlDx7eeSOroaMXQLWWoCLcqjX1FHZsMmSm1E AP49TpoBa0SdrhOFntZ8i1qZuJQ3PHQT6DCBTwzkSYfuR/dqwEfw1DAE1aPtNoWw4B2Z5D sH0qrYoVCQAXZQK2UXS9xFVpFWdRtRwfB8BcYalxGiqqLaSR4lRxt1A2mOhLnyNNWKey5Z vcdkGTsHLJgpz6upE66YP2yBqUc9UTeOkhkHmdjAOkMLwchv4ASlwvPzpWZF+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=1741701888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OKoaSfp1bOY3a5xUIhffLMRJ8EaSRTor3Ss2g4wcLw8=; b=pZh9mA1m439OFpgxoaYNc61cbX8ZJ4DqGLv7bu+B1XRYVKfzTshRlzw+iyUW0eVIizcHPu FexLptnYGFskZviiNrVTw2NAIxPoUOV/rKL8eEjrtvvyKIBpD7qsAE4dQVnOYhXGTlt7J6 c3cHuS4vzvUQs6y2DSUvj/NIkG4uFqdf8v22JsV0wu9o6X7H4lZaj47eN8x0RPtd8f3LFa wKtV2cNZrWOwfBg/j61CsG+wNq4DbeJztJ5g6lRrXpmwfZHeu2IuS4dRdzTv5A7gR/34C8 jTtkZmx22tC/YriMGX9EPndu/PspJE+KIf4gLByf1piYNBmFa3wiNYqaG5nqHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwW36X6fzCmL; Tue, 11 Mar 2025 14:04: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 52BE4lb3028938; Tue, 11 Mar 2025 14:04:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4luw028935; Tue, 11 Mar 2025 14:04:47 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:47 GMT Message-Id: <202503111404.52BE4luw028935@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 9dad0ba28680 - main - libsa: smbios_detect(): Return the entry point 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9dad0ba286807c4aa2886f13705fca2334bb4759 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=9dad0ba286807c4aa2886f13705fca2334bb4759 commit 9dad0ba286807c4aa2886f13705fca2334bb4759 Author: Olivier Certner AuthorDate: 2025-03-05 10:27:50 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:10 +0000 libsa: smbios_detect(): Return the entry point address In particular, this allows the caller to know whether the detection was successful. Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49290 --- stand/libsa/smbios.c | 6 ++++-- stand/libsa/smbios.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index c7d9f1074fad..54cfac58b19e 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -635,7 +635,7 @@ smbios_probe(const caddr_t addr) } } -void +caddr_t smbios_detect(const caddr_t addr) { char buf[16]; @@ -644,7 +644,7 @@ smbios_detect(const caddr_t addr) smbios_probe(addr); if (smbios.addr == NULL) - return; + return (NULL); for (dmi = smbios.addr, i = 0; dmi != NULL && dmi < smbios.addr + smbios.length && i < smbios.count; i++) @@ -667,6 +667,8 @@ smbios_detect(const caddr_t addr) sprintf(buf, "%u", smbios.populated_sockets); setenv("smbios.socket.populated", buf, 1); } + + return (smbios.addr); } static int diff --git a/stand/libsa/smbios.h b/stand/libsa/smbios.h index 77dd6bd52a7e..f3fd394ec7fc 100644 --- a/stand/libsa/smbios.h +++ b/stand/libsa/smbios.h @@ -26,7 +26,7 @@ #ifndef _SMBIOS_H_ #define _SMBIOS_H_ -void smbios_detect(const caddr_t); +caddr_t smbios_detect(const caddr_t); int smbios_match(const char *, const char *, const char *); #endif /* _SMBIOS_H_ */ From nobody Tue Mar 11 14:04: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 4ZBwW548yzz5qbvf; Tue, 11 Mar 2025 14:04: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 4ZBwW50S6Bz3r5P; Tue, 11 Mar 2025 14:04:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qlg2N9cahB/Lrc8PXiBI7yzZ3YDUzr4USu5VdVk4/0w=; b=X2r7d5cQO/1I+FMlaGob7Wnrhjl0Mc3gszPLEt0HcZxfotuT7q5kcLvvHMSg6AmJUiEv+W NSwysBDZubCr2ngVKKfvSqjporUDI5FMQrCN6taJdZ+NFrAde39YWFOk7Hj43fgKNqSKyX SkQLXcOqshFSPNm3OKEq6zDigHl6YKldZPL7+VeoVYBr/fhFa83YYUji2vl3LPwcW0wQ3T GCSp9Ovu/lK8Wir1Lj5jEmelhFPhC/X2pQ6m0UXTcwXn3c8RdlXqg0MfLweLP0ummxlGC+ gwYXhWn0HZvzlCexCMESzx5Qf4TYPaNA2zfX+uIliFYMNQiSwaUwy32Jw7/UFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701889; a=rsa-sha256; cv=none; b=j/uCZuYWcJD0uxgOEK63mxnX7+AVvCM4LH+raqFKMSFu61CDbOlRXE8f5wDZAo6ViANkAy xPQRAIjORhIwzu+2WTY+ATwd9/igzJFa1DF7rbo8JBj5YEk8WftXsK2p56EodvlhFqBA+K DtgVHHagOKoIw7p/n07efSjQ2usTT1GOEOsnPgDE7+yeMyNMx1LenkzPttmt/lUHB+CLFV kTenUZZliDvub17z2Dzm8koTtjisnx2JLimOCDiReI85y2Xu9Mc4561q1J3uc1slX14gZu YjNhu9ltqbl/wxBrP0OTA/o6jdag0uL1J4rFnwb+6Cw6bzr+JbHNbd0uG9Odeg== 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=1741701889; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qlg2N9cahB/Lrc8PXiBI7yzZ3YDUzr4USu5VdVk4/0w=; b=WOLKg1jzt1ERDjEfZ3X8PyqfasD/tfG2agycaRXcoJ4BjNjpK56fYey2kLOBD15thk5Mcc tmjzg/4jMRAkatEmhdmjcKvs6odTUigg5vLpaSBtiGOCTN2B5GPzy2G3oqHFitTLYESDm/ UP/v+oJcCmkNAKSO0pzbS0YuIY9ccj3BsKl6O6eozo71G8Wl7YrS2h/vhof8brI1whgsjw /s5c0V+M9o5lIkrcpbNf74WAfK0uAlIMb/G1Jabc++omCBHYRfnOlG+izkj50ZuKYCql2s PA8bPEW2fSHpgIEU+awhjKKYCbW9GDcVvUoIZlh96P9qnkMkbBOe4SvLRFR9gQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwW501qczDBg; Tue, 11 Mar 2025 14:04: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 52BE4msh028977; Tue, 11 Mar 2025 14:04:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4mYe028974; Tue, 11 Mar 2025 14:04:48 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:48 GMT Message-Id: <202503111404.52BE4mYe028974@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 1ee8714950b8 - main - libsa: smbios_probe(): Strictly obey specified entry point 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1ee8714950b8d07ccd172f2bcbbbaa91f02ef9e7 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=1ee8714950b8d07ccd172f2bcbbbaa91f02ef9e7 commit 1ee8714950b8d07ccd172f2bcbbbaa91f02ef9e7 Author: Olivier Certner AuthorDate: 2025-03-05 10:34:49 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:10 +0000 libsa: smbios_probe(): Strictly obey specified entry point address When such an address is known, do not search elsewhere, contrary to what we are doing on non-EFI boot (see SMBIOS_START and SMBIOS_LENGTH). Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49291 --- stand/libsa/smbios.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stand/libsa/smbios.c b/stand/libsa/smbios.c index 54cfac58b19e..618c8a1052ec 100644 --- a/stand/libsa/smbios.c +++ b/stand/libsa/smbios.c @@ -573,8 +573,8 @@ smbios_probe(const caddr_t addr) int min_off; /* Search signatures and validate checksums. */ - saddr = smbios_sigsearch(addr ? addr : PTOV(SMBIOS_START), - SMBIOS_LENGTH); + saddr = addr != NULL ? smbios_sigsearch(addr, 1) : + smbios_sigsearch(PTOV(SMBIOS_START), SMBIOS_LENGTH); if (saddr == NULL) return; From nobody Tue Mar 11 14:04: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 4ZBwW65c0Gz5qbsM; Tue, 11 Mar 2025 14:04:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBwW61SrVz3r5l; Tue, 11 Mar 2025 14:04:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3u9evX3Zj5gW12Tdj0XDRtcXcnULIfxBy1YoPbgh7JA=; b=lohLu77NXIq/acscUu31zGC2oT5VQzjEhJBtMJVNggbtv+FcDBsqzm9odYXt91LWqfikF6 NlRn3aKrxWbGHDz/ImXvKyRYDOD5HciRjIhbuvTGuk5VLEUOWAIWRiRloEa0liVM/b7V5Z COrrDIbIPU0KBYdPSraFAm35F7UDrmCrhVKRTOlMTu2XoodOnW2E94LuMSNqXnMVu5JWm3 c7exzweYgj1rwtDsCS/hTRqUrDkca3JKpFYLbrIdD2qxreEhwN4P1GpKvfjbyKLAsu5Vf3 GwDGdoiPhM/cIVgFyuLk/JEkZJaR8+ZrvMgs7D3qzpcVODStBNVr9D3MuFVpqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701890; a=rsa-sha256; cv=none; b=ZqWiEOCbfy+p1ayWMxPd5d8X3U76uHZs5KGa3oFxYkKIjyP+GsWZ9bj8aq4D7QJ/jee37u NhdUaroFJx3SfWkHTjoHXuM0R5qjKVN/77lACR8xshBmrdNYbfguLBxPXEm5wnRMVkjbO6 lDQjWO0fJ/rXU7ltq7Smmq3OVq0YKltJacLFkSOOl/BemLl4F0vxbgsBuCA10ZmeNkgym0 X+6/mBgSS5tfY7U6G0E3DUngWas12Yeg6k7YLFZm2+OY57KGRWIGuKAZPTjQiRAZY4TW0f seDfPIscOfC3MbF39FqzguGFRpGzlL7bvrQAdKnllwECv2pMu8aopJhDji24gg== 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=1741701890; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3u9evX3Zj5gW12Tdj0XDRtcXcnULIfxBy1YoPbgh7JA=; b=DdfEiOHZXra9QovbvXiLM8qOv17rRa0H9Z1PBXn2v9PhSimIjk9i3+4OxTOJ2K9sUPBn1y VgPLesCAQ5qT3+no3FdODQsbs1rlOIjWG7dBhV+2AHUOQGIR5NH6pAl3QtuCleAlTvl3Ox 4CIoc+9+4OA+Fv+Hgsr+8N3unhvq4NYBn/QVjoO8VEPJCBGZBZUlehehHAk8wdiucqAQEV hiTnn792PicGrZGPrkosMCirUyfLUj8CvUY0kYkbU7ELvSX7gTlcvuYAHgfLsFTFmSSvK2 ME7OKq5P8Tx0PwBdAbNikwBiA/HKkEWccTAY9XCHJQIhAqWY742BFLo+wLGmrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwW610MGzD3g; Tue, 11 Mar 2025 14:04: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 52BE4o5g029014; Tue, 11 Mar 2025 14:04:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4oaM029011; Tue, 11 Mar 2025 14:04:50 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:50 GMT Message-Id: <202503111404.52BE4oaM029011@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 96f77576e9ea - main - loader.efi: smbios: Favor the v3 (64-bit) entry point 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 96f77576e9ea83b3a5d1a02a24da7d54c06a58a8 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=96f77576e9ea83b3a5d1a02a24da7d54c06a58a8 commit 96f77576e9ea83b3a5d1a02a24da7d54c06a58a8 Author: Olivier Certner AuthorDate: 2025-03-05 10:46:50 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:10 +0000 loader.efi: smbios: Favor the v3 (64-bit) entry point Be consistent with what we are now doing with non-EFI boot (but with the difference that EFI runs in 64-bit mode on 64-bit platforms, so there is no restriction that the v3 entry point should be below 4GB). While here, move out the EFI smbios detection code in a separate sub-routine. Reviewed by: imp, markj MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49292 --- stand/efi/loader/main.c | 51 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/stand/efi/loader/main.c b/stand/efi/loader/main.c index 76e02e461aa8..f592f8ecf495 100644 --- a/stand/efi/loader/main.c +++ b/stand/efi/loader/main.c @@ -1152,12 +1152,45 @@ acpi_detect(void) } } +static void +efi_smbios_detect(void) +{ + VOID *smbios_v2_ptr = NULL; + UINTN k; + + for (k = 0; k < ST->NumberOfTableEntries; k++) { + EFI_GUID *guid; + VOID *const VT = ST->ConfigurationTable[k].VendorTable; + char buf[40]; + bool is_smbios_v2, is_smbios_v3; + + guid = &ST->ConfigurationTable[k].VendorGuid; + is_smbios_v2 = memcmp(guid, &smbios, sizeof(*guid)) == 0; + is_smbios_v3 = memcmp(guid, &smbios3, sizeof(*guid)) == 0; + + if (!is_smbios_v2 && !is_smbios_v3) + continue; + + snprintf(buf, sizeof(buf), "%p", VT); + setenv("hint.smbios.0.mem", buf, 1); + if (is_smbios_v2) + /* + * We will parse a v2 table only if we don't find a v3 + * table. In the meantime, store the address. + */ + smbios_v2_ptr = VT; + else if (smbios_detect(VT) != NULL) + /* v3 parsing succeeded, we are done. */ + return; + } + if (smbios_v2_ptr != NULL) + (void)smbios_detect(smbios_v2_ptr); +} + EFI_STATUS main(int argc, CHAR16 *argv[]) { - EFI_GUID *guid; int howto, i, uhowto; - UINTN k; bool has_kbd, is_last; char *s; EFI_DEVICE_PATH *imgpath; @@ -1180,19 +1213,7 @@ main(int argc, CHAR16 *argv[]) archsw.arch_zfs_probe = efi_zfs_probe; #if !defined(__arm__) - for (k = 0; k < ST->NumberOfTableEntries; k++) { - guid = &ST->ConfigurationTable[k].VendorGuid; - if (!memcmp(guid, &smbios, sizeof(EFI_GUID)) || - !memcmp(guid, &smbios3, sizeof(EFI_GUID))) { - char buf[40]; - - snprintf(buf, sizeof(buf), "%p", - ST->ConfigurationTable[k].VendorTable); - setenv("hint.smbios.0.mem", buf, 1); - smbios_detect(ST->ConfigurationTable[k].VendorTable); - break; - } - } + efi_smbios_detect(); #endif /* Get our loaded image protocol interface structure. */ From nobody Tue Mar 11 14:04: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 4ZBwW80pyBz5qbyW; Tue, 11 Mar 2025 14:04:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZBwW72M4Mz3r3T; Tue, 11 Mar 2025 14:04:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741701891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D+3Exoo0Jh6r9E2hIpJkc0GeVGiBZr22HYblp+cHB8U=; b=DSZ+HZYKRXpo1SLDxEdGZB9aw7BWxLqFIeLnCeHvivDkEd2LSlBXJ1yr4iq0GvgwqP1h9D DHEfWAqIsuSsnYxWjd97+kUmCcmpX+Q2sTxbzstltVXWZpHNg3TmVHJMZ7WuG+wQczxnIH x+rREkfo51ehVt72gdCnb1UzvbO4QQl6ejtwcMD3davWgNXY0+lfJO1uFJEfdh1oN/lGKB uCGDUjGQgurrSLmhY2/x1vbAaJ+HD604qcX9zmRxwcH+EpJJ3eIrNlFjZa/ohsgb+ieuFV ypCOhOkTW0FDVbzZfFGYe64bN9hJ+dY53yZDs02DDuGcBedonB9u0E5IYjbN5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741701891; a=rsa-sha256; cv=none; b=cYoOos5m4fugl+M/iL+wEZOwxr2MLYMkCDFtv8iE4p5TA6abEWS3annCKuxLkXrs2Jg3Zl FNDMM6IAbeD7dYozRhsr/mQ2xSp0wfEnguyhczTwlRVk5TWKz85K7BDnCF0mlrKs+SMiTF z1K6Vs1/fUls5nTXWqZQdx04R/4oBH4NXPmsUgVEmufe5pR4FHUwobvgcX2s8CstVlVsY1 ExUKXYwqjHQpRG+p6XPpHlguUPJyaxgMjlbrMzTjjMFq0067ZgVe4Qs4kVMHlTAFjcPtRP m+xJ08JYvAWCWcBquB9NUyrCdfYadNj0NPJahVVmS1RUCgyqvPT/SQqlji20oQ== 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=1741701891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D+3Exoo0Jh6r9E2hIpJkc0GeVGiBZr22HYblp+cHB8U=; b=hHcJs4GP+aNYMcirJb4ry6s4i3S+zV/LDrZVdw4x+9pja6Fb4pJcePMAJrjxJOQQsGP2I2 /YAmstMBaTwW7UiRQgWkeOGgqiIm9NutJppVKw12a6CTRqnnTl7D/dsN03zSnDN2TA8wpY Xplw39sATpEbB0lzPHiInPSl2EV3zzXQlthCeRDT0ejh7BH8AydM/Q0q9lmAFSNIdg/ali pttJ/uE6GdZiqOWYTk9wBJMvBWcJE9lMDavybioP9bQr51y+JjUZrFGve1w+OnuRtsXYBS H+kQsg8Zt+8fRqBiVhNpTIH8DVu3kjUPa671/IWZo4IVT13lip1m1kTKLX/O5g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZBwW71tlvzDHn; Tue, 11 Mar 2025 14:04: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 52BE4peB029052; Tue, 11 Mar 2025 14:04:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BE4pXp029047; Tue, 11 Mar 2025 14:04:51 GMT (envelope-from git) Date: Tue, 11 Mar 2025 14:04:51 GMT Message-Id: <202503111404.52BE4pXp029047@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Olivier Certner Subject: git: 0f492f79084f - main - loader.kboot: smbios: Add a comment about v3 entry point being favored 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: olce X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f492f79084f2f88c9d5ade92f900e26cc47a7d0 Auto-Submitted: auto-generated The branch main has been updated by olce: URL: https://cgit.FreeBSD.org/src/commit/?id=0f492f79084f2f88c9d5ade92f900e26cc47a7d0 commit 0f492f79084f2f88c9d5ade92f900e26cc47a7d0 Author: Olivier Certner AuthorDate: 2025-03-05 10:47:53 +0000 Commit: Olivier Certner CommitDate: 2025-03-11 13:54:11 +0000 loader.kboot: smbios: Add a comment about v3 entry point being favored Note that the behavior here is consistent with BIOS and EFI boot. Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49293 --- stand/kboot/kboot/main.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/stand/kboot/kboot/main.c b/stand/kboot/kboot/main.c index a9ea2d9354c9..65f7b77f1ace 100644 --- a/stand/kboot/kboot/main.c +++ b/stand/kboot/kboot/main.c @@ -261,6 +261,10 @@ kboot_find_smbios(void) ep = buffer + strlen(buffer); walker = buffer; while (walker <= ep) { + /* + * Linux outputs the v3 table first if present, so we will + * choose it in priority. + */ if (strncmp("SMBIOS3=", walker, 8) == 0) return((vm_offset_t)strtoull(walker + 8, NULL, 0)); if (strncmp("SMBIOS=", walker, 7) == 0) From nobody Tue Mar 11 17:57: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 4ZC1h31Wqyz5qsN3; Tue, 11 Mar 2025 17:57: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 4ZC1h26QG9z3vRh; Tue, 11 Mar 2025 17:57:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741715874; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aGAwxSlFXBt2Fg3hhAMgyIXZMcj+QZuZrtvz8HXcNrI=; b=OiE1CjZUffwqzD6fwhbZWeNIoltru4ZwtZ5uY4KCq5hTR/3ec3aPrJzMg9p/tbriRw0nQM mMVYolEl5glnoQO2wQE6r0MOc9lm5UxXI9Q3D/oS01j2En65Wrh248mQG75+ZYDTt7BcHL 4/J3i6SV9mVxejicy3ZffZw3F/Lq0BbBt8OyJzzex/YHi+Az6DJeqaSY0A0BUtEth5iQud RlPd0T70aOkGWHU2AG7QF9H+k7qtw4gpf3g8MeH4Q3Vs2wUD8yDyKF3+tBBNJFsFAMET4y 0ViJQGbvUiYP8Xd6a8gfeKP1b8BvNq4uN48RUjhTws/XbSdmcObNLf2QdO7qHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741715874; a=rsa-sha256; cv=none; b=smT/M9vpy9OUqoyEyVUC2Mrz/3O5/lD1sEJtCcBm4zm8ihRTW5F3iTKjMUKcRdddYpzKet TNvQBOwvIXPqO5MkFKBENvIf9RjsDjYZKSMw5C1tgIiUTzXIZrcXvoHHuSSaaTRqkBBquL PUDRgY7EMwUBlqWfsAVXn23QrK+uWdSx/fQR4i8R2L+ulB/CGUEHdsJc16gS3ozimrrwVM CFDd5I3BQwZuaqa8UI8pGOavqO2p6/+ymnzRgl+RyJ5X5F/rORKPaXAlB3GXBt51+Fhz0t VzP8ErmpbgpuL+iv1WzaSiMoG9e74QA1Tcna1hA57otkwLaToasXS76RPk/NDw== 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=1741715874; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aGAwxSlFXBt2Fg3hhAMgyIXZMcj+QZuZrtvz8HXcNrI=; b=Y890IFG5Xa43XBsJtVJSVHhZLWxvdBdER9CvG3HcSv5T1Z8TNd2VmlmcfBBVSCBzoCu9q6 vqN7AEIKYx6+1sKzcnCBBwsB3FRbglQ2s8z2HAlSyJxTBDT8g6qS4Y92YTmiVbMm2yg2Qu jXqIYpVHgGP9Jnosrw01NQfkZDLijcArNTbtQ6GHJnapDHBRIP1+afQ+FCN9LNKvbrXYMD owKW3wtsAFxaZDAEL0OXVcNCu05PQTW4gw67/FJN/SKgfZqLEABkkyVVCi2EmDca5iAmQA R6Q1IvNl4tUPDWxWoDberyxhnh1XUWmq6eAShp0j8zwevRo1znDNvq7X6F4zFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZC1h25jgczcjt; Tue, 11 Mar 2025 17:57: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 52BHvsYO060687; Tue, 11 Mar 2025 17:57:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BHvsSU060684; Tue, 11 Mar 2025 17:57:54 GMT (envelope-from git) Date: Tue, 11 Mar 2025 17:57:54 GMT Message-Id: <202503111757.52BHvsSU060684@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: 5ca7754519e8 - main - Revert "ntpd: Use the ntpd -u option in preference to the rc su plumbing" 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: 5ca7754519e8c618968d8acbf54d653b6e968829 Auto-Submitted: auto-generated The branch main has been updated by cy: URL: https://cgit.FreeBSD.org/src/commit/?id=5ca7754519e8c618968d8acbf54d653b6e968829 commit 5ca7754519e8c618968d8acbf54d653b6e968829 Author: Cy Schubert AuthorDate: 2025-03-11 17:51:11 +0000 Commit: Cy Schubert CommitDate: 2025-03-11 17:51:11 +0000 Revert "ntpd: Use the ntpd -u option in preference to the rc su plumbing" Using the ntpd -u option to set the credentials ntpd is to run under while still using rc(8) to invoke causes some FreeBSD installs to fail to load mac_ntp. The fact that that can_run_nonroot() does not indicate why failures occur leaves people on the mailing lists guessing as to why there are failures. Let's revert back to using the rc(8) provided su. The ntpd rc script will be rewritten when the ntpd chroot will be implemented. Reported on: freebsd-stable@ MFC after: immediately This reverts commit 521f66715afb312b356afafc68cbc044a436a753. --- libexec/rc/rc.d/ntpd | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/libexec/rc/rc.d/ntpd b/libexec/rc/rc.d/ntpd index 8babda09455c..e7e42da8acc7 100755 --- a/libexec/rc/rc.d/ntpd +++ b/libexec/rc/rc.d/ntpd @@ -101,6 +101,7 @@ ntpd_precmd() # by the admin, we don't add the option. If the file exists in the old # default location we use that, else we use the new default location. if can_run_nonroot; then + _user="ntpd" driftopt="-f ${_ntp_default_driftfile}" elif grep -q "^[ \t]*driftfile" "${ntpd_config}" || [ -n "${rc_flags}" ] && @@ -114,13 +115,7 @@ ntpd_precmd() fi # Set command_args based on the various config vars. - command_args="-p ${pidfile} -c ${ntpd_config} ${driftopt} -u ${ntpd_user:=ntpd:ntpd}" - - # Unset ntpd_user because rc.subr uses $${name}_user to determine - # whether to invoke su(1) to setuid() to $ntpd_user for us. We want - # ntpd to do the setuid() itself through the -u argument, above. - unset ntpd_user - + command_args="-p ${pidfile} -c ${ntpd_config} ${driftopt}" if checkyesno ntpd_sync_on_start; then command_args="${command_args} -g" fi From nobody Tue Mar 11 19:47: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 4ZC46y377vz5r04r; Tue, 11 Mar 2025 19:47:54 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta003.cacentral1.a.cloudfilter.net (omta001.cacentral1.a.cloudfilter.net [3.97.99.32]) (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 4ZC46x4l7Qz4GnM; Tue, 11 Mar 2025 19:47:53 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Authentication-Results: mx1.freebsd.org; none Received: from shw-obgw-4004a.ext.cloudfilter.net ([10.228.9.227]) by cmsmtp with ESMTPS id ryZCtiDOW9JM2s5ZxtvJ3k; Tue, 11 Mar 2025 19:47:53 +0000 Received: from spqr.komquats.com ([70.66.136.217]) by cmsmtp with ESMTPSA id s5Zvtc4xLJhBPs5Zwt40jd; Tue, 11 Mar 2025 19:47:52 +0000 X-Auth-User: cschuber X-Authority-Analysis: v=2.4 cv=QY3Fvdbv c=1 sm=1 tr=0 ts=67d09368 a=h7br+8Ma+Xn9xscxy5znUg==:117 a=h7br+8Ma+Xn9xscxy5znUg==:17 a=R3mQYeSd_XdQyng2:21 a=kj9zAlcOel0A:10 a=Vs1iUdzkB0EA:10 a=6I5d2MoRAAAA:8 a=EkcXrb_YAAAA:8 a=YxBL1-UpAAAA:8 a=scItX6hd3eJUR9BQ6ssA: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 02E63123; Tue, 11 Mar 2025 12:47:50 -0700 (PDT) Received: by slippy.cwsent.com (Postfix, from userid 1000) id C615AAD; Tue, 11 Mar 2025 12:47:50 -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: Cy Schubert cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 5ca7754519e8 - main - Revert "ntpd: Use the ntpd -u option in preference to the rc su plumbing" In-reply-to: <202503111757.52BHvsSU060684@gitrepo.freebsd.org> References: <202503111757.52BHvsSU060684@gitrepo.freebsd.org> Comments: In-reply-to Cy Schubert message dated "Tue, 11 Mar 2025 17:57: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: Tue, 11 Mar 2025 12:47:50 -0700 Message-Id: <20250311194750.C615AAD@slippy.cwsent.com> X-CMAE-Envelope: MS4xfNUFNqKgifVKDGLPxLcQ4PDCiv918tbIYnT4ZvL3QgwJrghLFDPe3CtFZLX7Kws+aPshicHxsh/gtwyXQutZxkNZBcGRzp14oEk89bA/fJowflU6XcBd ArZKro02hvcRYPqMV6x1bwd0wE6oILXYWIAWZkQTqYQ/E2SQqYD17V6io25JF+ynk2uiVO4J5lZy6b/CGFykxtvLZX1GJizzpydxXIj5ZGaqTxDM01vD+6lj JAbLgpzAbHMW+pPqqUwr/SDNN3416Oe7i40DbGbuNmBi128MPZiXukjL5AD9zgVkCteNuieR9T40vi8WL92RAkDQQwgZ4LtxjzINRglb3FE= 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:16509, ipnet:3.96.0.0/15, country:US] X-Rspamd-Queue-Id: 4ZC46x4l7Qz4GnM X-Spamd-Bar: ---- In message <202503111757.52BHvsSU060684@gitrepo.freebsd.org>, Cy Schubert write s: > The branch main has been updated by cy: > > URL: https://cgit.FreeBSD.org/src/commit/?id=5ca7754519e8c618968d8acbf54d653b > 6e968829 > > commit 5ca7754519e8c618968d8acbf54d653b6e968829 > Author: Cy Schubert > AuthorDate: 2025-03-11 17:51:11 +0000 > Commit: Cy Schubert > CommitDate: 2025-03-11 17:51:11 +0000 > > Revert "ntpd: Use the ntpd -u option in preference to the rc su plumbing" > > Using the ntpd -u option to set the credentials ntpd is to run under > while still using rc(8) to invoke causes some FreeBSD installs to fail > to load mac_ntp. The fact that that can_run_nonroot() does not > indicate why failures occur leaves people on the mailing lists > guessing as to why there are failures. Let's revert back to using > the rc(8) provided su. The ntpd rc script will be rewritten when > the ntpd chroot will be implemented. > > Reported on: freebsd-stable@ > MFC after: immediately Apparently this didn't need to be reverted because the problem still occurs post revert. At this point nobody knows what the problem is and why only a small subset of users is affected. Though one user had specified -f and -l on the command line, and these are prohibited and have been for a long time, because of the su plumbing in rc(8). The ntpd rc script does need a rewrite. I plan to do a wholesale rewrite when implementing ntpd in a chroot, as supported by a command line option. An incremental approach is probably not advised. A complete rewrite, circumventing the rc(8) plumbing, to implement the ntpd chroot (command line argument) which implies setuid ntpd. And given that can_run_nonroot() only returns a return code without an indication why leaves diagnosis of problems up to posting of vague it doesn't work messages on the mailing lists or on the forums. As I've worked in software development, software support, and sysadmin roles, the aim of printing error messages rather than failing silently greatly enhances problem resolution and reduces calls to the service desk or help line, or in our case mailing lists and forums. This is the primary reason this rc script need a complete rewrite. I will put this on my todo list. > > This reverts commit 521f66715afb312b356afafc68cbc044a436a753. > --- > libexec/rc/rc.d/ntpd | 9 ++------- > 1 file changed, 2 insertions(+), 7 deletions(-) > > diff --git a/libexec/rc/rc.d/ntpd b/libexec/rc/rc.d/ntpd > index 8babda09455c..e7e42da8acc7 100755 > --- a/libexec/rc/rc.d/ntpd > +++ b/libexec/rc/rc.d/ntpd > @@ -101,6 +101,7 @@ ntpd_precmd() > # by the admin, we don't add the option. If the file exists in the old > # default location we use that, else we use the new default location. > if can_run_nonroot; then > + _user="ntpd" > driftopt="-f ${_ntp_default_driftfile}" > elif grep -q "^[ \t]*driftfile" "${ntpd_config}" || > [ -n "${rc_flags}" ] && > @@ -114,13 +115,7 @@ ntpd_precmd() > fi > > # Set command_args based on the various config vars. > - command_args="-p ${pidfile} -c ${ntpd_config} ${driftopt} -u ${ntpd_use > r:=ntpd:ntpd}" > - > - # Unset ntpd_user because rc.subr uses $${name}_user to determine > - # whether to invoke su(1) to setuid() to $ntpd_user for us. We want > - # ntpd to do the setuid() itself through the -u argument, above. > - unset ntpd_user > - > + command_args="-p ${pidfile} -c ${ntpd_config} ${driftopt}" > if checkyesno ntpd_sync_on_start; then > command_args="${command_args} -g" > fi > -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org e^(i*pi)+1=0 From nobody Tue Mar 11 22:55: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 4ZC8Hh0RvVz5r9V7; Tue, 11 Mar 2025 22:55:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZC8Hg6mv7z3NRF; Tue, 11 Mar 2025 22:55:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741733744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dy1QJdfbfTpuq06gKHfkEhN8yHXzEHFwYqVvyD1bQbY=; b=X8FPaHUXWi2dSY6VTxdxKGSodxuxdGIoXyZYsqyX/Kp6sUpyeZEvZLj8P3lwQvFonk/jcy N3OFKCmUzV6lxSFHYDznsCh1T9claJXNhbS+9A0t0WNpDD/RldoWkSOl0KuxgwLPpP7D6q VvmhcdkgNVYaP9YWZ+69OvuMT3X2btQpAeKg19tFWWt1go5UmFasb11BJZwXJwo4SQdKC3 M4ZzcTzvBH2OYBA7G0h5mb47HvNt85rJ8FHyJZlwbFdZajSioWv2/A6ghvbuWlmKHPhGrV iMSqWxywC6OUmTbLUOg4cNFQmXUCAch8AkQpmsez9HiYCO94hEViheQORJ0fMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741733744; a=rsa-sha256; cv=none; b=CkOGBzMgtj5urixuvqtjuYtbVlKvfgJ7khIapRs6H08aoZ4H6eomTt86R14bForxbeZZbm /uhjsZKg7NXbekeJZps8NPNto29NFZhnwMBtDakNUm7arx5AkantT81+69G+iJoHVnyzvN 4r4hJGC+/8VmaYesVMz5xf1E53o8t0P8efGS2Mi6zOnVA+sTc2aM57ETomFPHLQlPrVCXd rBOxJcBAMnE+Azw/nVJ5R1YJ8KhERKWFSYRvcjra0ZK7Oovlw2JeXkAJAj/3X4bIYjprBD PuOMrb4OF094EjVa6CVCeGD0/zLrE2FQwe9GUUuShVyIkZZ6tK0q0e2hfuDgqQ== 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=1741733744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dy1QJdfbfTpuq06gKHfkEhN8yHXzEHFwYqVvyD1bQbY=; b=Zi0PQCfwNADgHSBQ9QFaYo03/9n0RA8FCnEYAsAURi1RfPe/YFO62KXZsKRoGW4I+9uR5R ECZvS1rKjCczptdH4U6+lrs/E9BFX0OblWe9RWPJgKeeScO7M6ZsShvNJipQJguuFoCgHT EHXuE1ilFIGggLlJ8iKbSW9w/YdUVUlDvlK/bT1dGp0rJziX8CydElDYQZIcrFF0+epJ6g ZlMQ6+iOjMn3juNPYbHh1LS0yOAYGT2CMJqCiOkgAbJE+d2+80X/96SvDl6uybBhMK7Zet G8XLhnk8r3s68bHiTOIWyOsZJTpOkUuyPO4wqrFJLav2ogVljHuZVJvmM95TRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZC8Hg6701zmFm; Tue, 11 Mar 2025 22:55: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 52BMthVI021600; Tue, 11 Mar 2025 22:55:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52BMthYj021597; Tue, 11 Mar 2025 22:55:43 GMT (envelope-from git) Date: Tue, 11 Mar 2025 22:55:43 GMT Message-Id: <202503112255.52BMthYj021597@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: 7008b9fab555 - main - mlx5: Fix BlueField-4 device description 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: 7008b9fab5552fd6dcf5a00cd2c62144d54ef3a0 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7008b9fab5552fd6dcf5a00cd2c62144d54ef3a0 commit 7008b9fab5552fd6dcf5a00cd2c62144d54ef3a0 Author: Slava Shwartsman AuthorDate: 2025-03-09 12:31:17 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-11 22:47:26 +0000 mlx5: Fix BlueField-4 device description BlueField-4 will not be based on ConnectX-8. Remove the wrong description Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_core/mlx5_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mlx5/mlx5_core/mlx5_main.c b/sys/dev/mlx5/mlx5_core/mlx5_main.c index 09b623b6fde8..2b0c9f584088 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_main.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_main.c @@ -2142,7 +2142,7 @@ static const struct pci_device_id mlx5_core_pci_table[] = { { PCI_VDEVICE(MELLANOX, 0xa2d3) }, /* BlueField integrated ConnectX-5 network controller VF */ { PCI_VDEVICE(MELLANOX, 0xa2d6) }, /* BlueField-2 integrated ConnectX-6 Dx network controller */ { PCI_VDEVICE(MELLANOX, 0xa2dc) }, /* BlueField-3 integrated ConnectX-7 network controller */ - { PCI_VDEVICE(MELLANOX, 0xa2df) }, /* BlueField-4 integrated ConnectX-8 network controller */ + { PCI_VDEVICE(MELLANOX, 0xa2df) }, /* BlueField-4 Family integrated network controller */ { } }; From nobody Wed Mar 12 14:33: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 4ZCY5L6RjNz5r1l5; Wed, 12 Mar 2025 14:33: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 4ZCY5L5jh8z3vNt; Wed, 12 Mar 2025 14:33:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741789990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cXorMP5XbOfn1m8TGbxZMWUnOuUEfcytZHuzAr5jwwI=; b=MXzhTO3KH4XRaakoaBhePZIdvOFcf08yAuQrh+eIGGNKxxqdx9byeQVlq4dxkppaMZ/Ebd orR9Ms55LUceWwqfHtahpTORMdo4MJE4EWABp3/Nx7WEhELqFOXo5KSizVuV4M2kFBieRb dBl8GIrbTr4vcwFJHKm0tiD9CJPkhFO9NKepLaL2bxHdxoltgZgO4OKfpO3NonWE6K1Ooj v5Td8YX0j13vcNW7jgu2+G0enijSJcmEngQbtqWvu7EwFNc5Cq4mB92JLv0A3p0cF2dt0N UiPt66I6GWmMI2r5jdsSDIO8n+hjyNToff4zWROD1g16wfLH57zLiXQUySx1xA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741789990; a=rsa-sha256; cv=none; b=kEkNHC6zr0K6cfMXiNied0jkVqoOaKX5BnO3j79wsmIXP+pyZdDDWkTM16px5c80EW0Egt DS1AriSiwO8e/X/B/ST4EiBnNEYAdeIE1DjMnF8b+db8FpQ9Yv0FCjM+Sag6Z/xrHyIJr9 1Eps6fW4ziA2KAILfNawrydkV8de8ep7Y5jQ3kjvNMs5iG8/O91QMoOzFdUcdw0tHKHwMl G3E/rPfO++sEa/DiburcWMUhDILeL/qBi97fIHzxHqLLF7hg7obERsD7h3E6yvcjj2BA0c wJTvLFacAoMWL1Cb5IJ8rPiITikULwDUJjho9LJAKbYHfP2YOaFO/UKeINvEww== 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=1741789990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cXorMP5XbOfn1m8TGbxZMWUnOuUEfcytZHuzAr5jwwI=; b=rhaZ7OKJ/vlNBImP7cWYZganFj7wSCixIe4u8Rxej5GacUIi3JWs/NsPwdl6H+mJUpe5p4 KCf8ypm07neJvGjKZD1pJvf/2fKQ21xfuUoBKLli/m4gGAKfGVdxPm0kpgifIQgNnltDUN i9K5Rk/S1klMmfd0IghY5hVOANL2iMewRF1zM1onxPjsZFyg4c7z9kSxTdIh3wP2dGRECt qWMoHdTfi5dgSEQVZn1kxnCSg5CWjgu7Tp9MgsMJSWEVcoqZc8eUSmgwZPDsWccdSYnCM7 Hnx/N99IPoFDOm8rDpN+ZzoI3b6MnTh+zjrBWf8ZFDqd2ne79otX765w042y2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCY5L5BhLz15c; Wed, 12 Mar 2025 14:33:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52CEXAgk077105; Wed, 12 Mar 2025 14:33:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52CEXAvF077102; Wed, 12 Mar 2025 14:33:10 GMT (envelope-from git) Date: Wed, 12 Mar 2025 14:33:10 GMT Message-Id: <202503121433.52CEXAvF077102@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: 87eaa30e9b39 - main - depend-cleanup: Add examples for common cases 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: 87eaa30e9b3954f5638565318d36bf4a48456a99 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=87eaa30e9b3954f5638565318d36bf4a48456a99 commit 87eaa30e9b3954f5638565318d36bf4a48456a99 Author: Ed Maste AuthorDate: 2025-01-20 14:12:26 +0000 Commit: Ed Maste CommitDate: 2025-03-12 14:32:58 +0000 depend-cleanup: Add examples for common cases Reviewed by: andrew Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48521 --- tools/build/depend-cleanup.sh | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index 86a8340e2ce4..eec073feca19 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -3,9 +3,15 @@ # # Our current make(1)-based approach to dependency tracking cannot cope with # certain source tree changes, including: +# # - removing source files # - replacing generated files with files committed to the tree # - changing file extensions (e.g. a C source file rewritten in C++) +# - moving a file from one directory to another +# +# Note that changing extensions or moving files may occur in effect as a result +# of switching from a generic machine-independent (MI) implementation file to a +# machine-dependent (MD) one. # # We handle those cases here in an ad-hoc fashion by looking for the known- # bad case in the main .depend file, and if found deleting all of the related @@ -15,6 +21,48 @@ # should be removed once enough time has passed and it is extremely unlikely # anyone would try a NO_CLEAN build against an object tree from before the # related change. One year should be sufficient. +# +# Groups of cleanup rules begin with a comment including the date and git hash +# of the affected commit, and a description. The clean_dep function (below) +# handles common dependency cleanup cases. See the comment above the function +# for its arguments. +# +# Examples of each of the special cases: +# +# - Removing a source file (including changing a file's extension). The path, +# file, and extension are passed to clean_dep. +# +# # 20231031 0527c9bdc718 Remove forward compat ino64 stuff +# clean_dep lib/libc fstat c +# +# # 20221115 42d10b1b56f2 move from rs.c to rs.cc +# clean_dep usr.bin/rs rs c +# +# - Moving a file from one directory to another. Note that a regex is passed to +# clean_dep, as the default regex is derived from the file name (strncat.c in +# this example) does not change. The regex matches the old location, does not +# match the new location, and does not match any dependency shared between +# them. The `/`s are replaced with `.` to avoid awkward escaping. +# +# # 20250110 3dc5429158cf add strncat SIMD implementation +# clean_dep lib/libc strncat c "libc.string.strncat.c" +# +# - Replacing generated files with files committed to the tree. This is special +# case of moving from one directory to another. The stale generated file also +# needs to be deleted, so that it isn't found in make's .PATH. Note the +# unconditional `rm -f`: there's no need for an extra call to first check for +# the file's existence. +# +# # 20250110 3863fec1ce2d add strlen SIMD implementation +# clean_dep lib/libc strlen S arm-optimized-routines +# run rm -f "$OBJTOP"/lib/libc/strlen.S +# +# A rule may be required for only one architecture: +# +# # 20220326 fbc002cb72d2 move from bcmp.c to bcmp.S +# if [ "$MACHINE_ARCH" = "amd64" ]; then +# clean_dep lib/libc bcmp c +# fi set -e set -u From nobody Wed Mar 12 14:47: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 4ZCYQ208f9z5r2Pp; Wed, 12 Mar 2025 14:47: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZCYQ13GLzz42DV; Wed, 12 Mar 2025 14:47:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741790857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7VSwYzczS5BQJr8U+Akw838wzNsAQ7k8up2U9FAvkbM=; b=jl5KW3a563f9TL7amIcTUTXDQUlKuZbLB4HJCJiXGal3j/EcUYOIkKhDXNyNjJ4mGWoAFk ++4GPQ4hylD7vhnCAScehJ7IC0y0ZPZiIuizZK/YZ6tZKHDdtdsUV7Yn/XIAqKCyD4Jh/l XO5abZdqp525TqxF2zfIRD64nXhcQDUGkcbas/nXx369Yiky9gPcxPxi3M6ae75xNib9Zh lCVsJ7k1LjsAYmkUv9sxvyLvB/MDBmLaALr/IFV2ZfmEV56rKYqcccTlwsRsEDxLvevlj7 1s5aY8iud6bJDKaG7C0gYy4fBpvAGijz8OU820IxzqYj1KdX94EOtZyRFDb8rA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741790857; a=rsa-sha256; cv=none; b=fKG4ORpj4D2zRP+ohb24CRQlXhtJoqE1uO1mTc7iHoVmPj9Jweu+JVsuGYSl2TJ+Gh2s36 m3NyuBwQT66ee5BFTBd42EWZ9uk2d4u9lFdUCs8jErUkHXI5IVWY3HM36foidopk/KNYFw xBn+9fjD1YH9eugFQ1JeHdKjcaHg+aYR1TZrUcJrchveGSKZNzSSdnxBz+lwWy7nwE9ndR S08jTB5RYLUYK2ZaImX7IsmNP19QqCPAfC37fuFu9dAI7belH8FXP+Iyq2ZbkozmXG9YM4 hBa6aEnCIJKZfHmtjHSZh9CQA07+6lZzZ+CQ82PBbKDr51I22IVRlQVyJJR04Q== 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=1741790857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7VSwYzczS5BQJr8U+Akw838wzNsAQ7k8up2U9FAvkbM=; b=NU4AkZon8ShgFrhce2bZIL46v6xTtiV57p9JjDfc8EBMlSjlZeUyUGs3nTWXuTQIbyi+jB yQpAziisYUDHOBRVmIvozwUBbLMTyiv2wnxdg/CIYm4E2xnjDIN7LXgN8KzXBPele14rgt /tWF9jp7by0pkk8yPqbvoATQyDN+UBpbg0n86MVa606KizNmyjw+TykQRy+Ue31KPZfzg1 CGZmNtvxdrVM+rBLqxMnqGRvNfMBOlJIYicWjXJA6qZ1uYSYnr2Syn3BrfK+zWbfxraV2i L3nXwaVSHbOUW3AX9IQl0Pd0ebXsbHzl8AEMfMjbUhjBMJla72DCMTU48XhfQA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCYQ12LLDz1Ln; Wed, 12 Mar 2025 14:47: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 52CElbOR096556; Wed, 12 Mar 2025 14:47:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52CElb6u096553; Wed, 12 Mar 2025 14:47:37 GMT (envelope-from git) Date: Wed, 12 Mar 2025 14:47:37 GMT Message-Id: <202503121447.52CElb6u096553@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: dba45599c498 - main - mtx: Avoid nested panics on lock class mismatch 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dba45599c498deed01e1c98acef74e183c1bbf8d Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=dba45599c498deed01e1c98acef74e183c1bbf8d commit dba45599c498deed01e1c98acef74e183c1bbf8d Author: John Baldwin AuthorDate: 2025-03-12 14:24:35 +0000 Commit: John Baldwin CommitDate: 2025-03-12 14:39:26 +0000 mtx: Avoid nested panics on lock class mismatch assertions It is only (somewhat) safe to dereference lo_name if we know the mutex has a specific lock class that is incorrect, not if just has "some" incorrect lock class. In particular, in the case of memory overwritten with 0xdeadc0de, the lock class won't match either mutex type. However, trying to dereference lo_name via a 0xdeadc0de pointer triggers a nested panic building the panicstr which then prevents a crash dump. Reviewed by: olce, kib, markj Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D49313 --- sys/kern/kern_mutex.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sys/kern/kern_mutex.c b/sys/kern/kern_mutex.c index c04412688979..3ada9246326f 100644 --- a/sys/kern/kern_mutex.c +++ b/sys/kern/kern_mutex.c @@ -288,7 +288,7 @@ __mtx_lock_flags(volatile uintptr_t *c, int opts, const char *file, int line) curthread, m->lock_object.lo_name, file, line)); KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_lock() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_sleep, + KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_spin, ("mtx_lock() of spin mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); WITNESS_CHECKORDER(&m->lock_object, (opts & ~MTX_RECURSE) | @@ -317,7 +317,7 @@ __mtx_unlock_flags(volatile uintptr_t *c, int opts, const char *file, int line) KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_unlock() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_sleep, + KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_spin, ("mtx_unlock() of spin mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); WITNESS_UNLOCK(&m->lock_object, opts | LOP_EXCLUSIVE, file, line); @@ -346,7 +346,7 @@ __mtx_lock_spin_flags(volatile uintptr_t *c, int opts, const char *file, KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_lock_spin() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin, + KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_sleep, ("mtx_lock_spin() of sleep mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); if (mtx_owned(m)) @@ -387,7 +387,7 @@ __mtx_trylock_spin_flags(volatile uintptr_t *c, int opts, const char *file, KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_trylock_spin() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin, + KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_sleep, ("mtx_trylock_spin() of sleep mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); KASSERT((opts & MTX_RECURSE) == 0, @@ -412,7 +412,7 @@ __mtx_unlock_spin_flags(volatile uintptr_t *c, int opts, const char *file, KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_unlock_spin() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin, + KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_sleep, ("mtx_unlock_spin() of sleep mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); WITNESS_UNLOCK(&m->lock_object, opts | LOP_EXCLUSIVE, file, line); @@ -450,7 +450,7 @@ _mtx_trylock_flags_int(struct mtx *m, int opts LOCK_FILE_LINE_ARG_DEF) curthread, m->lock_object.lo_name, file, line)); KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_trylock() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_sleep, + KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_spin, ("mtx_trylock() of spin mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); @@ -827,7 +827,7 @@ thread_lock_validate(struct mtx *m, int opts, const char *file, int line) KASSERT(m->mtx_lock != MTX_DESTROYED, ("thread_lock() of destroyed mutex @ %s:%d", file, line)); - KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin, + KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_sleep, ("thread_lock() of sleep mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); KASSERT((m->lock_object.lo_flags & LO_RECURSABLE) == 0, @@ -1286,7 +1286,7 @@ mtx_spin_wait_unlocked(struct mtx *m) KASSERT(m->mtx_lock != MTX_DESTROYED, ("%s() of destroyed mutex %p", __func__, m)); - KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_spin, + KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_sleep, ("%s() of sleep mutex %p (%s)", __func__, m, m->lock_object.lo_name)); KASSERT(!mtx_owned(m), ("%s() waiting on myself on lock %p (%s)", __func__, m, @@ -1312,8 +1312,8 @@ mtx_wait_unlocked(struct mtx *m) KASSERT(m->mtx_lock != MTX_DESTROYED, ("%s() of destroyed mutex %p", __func__, m)); - KASSERT(LOCK_CLASS(&m->lock_object) == &lock_class_mtx_sleep, - ("%s() not a sleep mutex %p (%s)", __func__, m, + KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_spin, + ("%s() of spin mutex %p (%s)", __func__, m, m->lock_object.lo_name)); KASSERT(!mtx_owned(m), ("%s() waiting on myself on lock %p (%s)", __func__, m, m->lock_object.lo_name)); From nobody Wed Mar 12 14:47: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 4ZCYQ269cbz5r2k1; Wed, 12 Mar 2025 14:47: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZCYQ23zD1z42Sv; Wed, 12 Mar 2025 14:47:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741790858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TNRpimDnJs4Xj1zyOXXX9TlWhmojAWtv4znVb4vVcv8=; b=ejWeqQ79AcnQ9d5DPh2Bg5/FZ8O5tIyWLAclm1ImY+WPp9YwQf3E3BV4pcrOzEuvoPoj13 h/LHGonEKe+k0qVBWlJSxFAcTMeivkoOHNMXmDK6sY5WvNkHdk/pGDahUcbLs/TfW1OZjY 8TFSCQwrp34dfR/qQ9e5/XVviv3XzDAryZLoI70HgzTUJtRH69ZYM8fUvlmb7cgZ7cuuRQ 9zxHNDquSzu2CUjg9Xu+NQVJMWaVqazPoNxXtZDzWmFbTNNwkxJbGOW8NeyBBYn1Apcw4o W5VPhE0a8xl2J2q4aXcUOWMBznhhIVGgYZz7BxFjs8jxNEub5c/2fXqazL4pTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741790858; a=rsa-sha256; cv=none; b=t6wutXgdRVvK4+qg2GX3Any/K7YYwC94e+Qh2Kx5pAmzDAahKJLHf+SN3zxm1+h3So3YKW G7lGpmLiQlNzztDcAaR2FGIBFGgSIJOQkCHQvkn73O68tuy/99i23j9sZ2DNH0iIx3in00 oqLYdWVeowsQSOzHvyRGTUBI78g1J0ClFHNWSd8X+9AMJygk3R8KSYQNUO0Nl6hYD3xJSD Kim6AYr1daoyPjKKBiO/gp16YNcD7FYeuC5hNYipm8mezN2J+ffrg3WSYtxLEX0DqMhKkz 34pNrvvSqVBtK2yn9aYXBmTd/Aqive3sSCQyAepg8o3slZa6CB4Ddg4e5iBAjA== 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=1741790858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TNRpimDnJs4Xj1zyOXXX9TlWhmojAWtv4znVb4vVcv8=; b=dpObW222UDOB41m4cEyuVf/Eadws4IEbvs57ZHK02mokoI7XuuRemUvtYLQ5iRezuC0yd+ N1cZm7Ekpw8zk0aEfN9mzs4swzsx9Ru97UmBNqmCMdsjMt5Ptl+8CcfUylko9NqyovAnLf FlsslJSgw10z44F/+ech3ZmXQ+dVLgHP3td+kBSVvw6MvC53ahPr9RFTtwMJK7dXbBFJ9/ I5lm6qTwRYIddTqW7UC3sTOsMqYrMjRB3w01RGFG8yaM5/dTyowuZv/9TUUxoq5NDEqEDq Z8h03k2vL2OrITu8Av3vevegV1jUPFKoJUxihSPlA+7wY1YNxFmqa2HOGigRvw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCYQ236qTz1dm; Wed, 12 Mar 2025 14:47: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 52CElckd096590; Wed, 12 Mar 2025 14:47:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52CElcxL096587; Wed, 12 Mar 2025 14:47:38 GMT (envelope-from git) Date: Wed, 12 Mar 2025 14:47:38 GMT Message-Id: <202503121447.52CElcxL096587@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: 0ed104978ce5 - main - mtx: Make idle thread assertions 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ed104978ce55ecacf42bde4458acda0cc773940 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=0ed104978ce55ecacf42bde4458acda0cc773940 commit 0ed104978ce55ecacf42bde4458acda0cc773940 Author: John Baldwin AuthorDate: 2025-03-12 14:25:13 +0000 Commit: John Baldwin CommitDate: 2025-03-12 14:39:26 +0000 mtx: Make idle thread assertions more robust Just print the pointer to the mutex instead of the name in case the mutex is corrupted. Reviewed by: olce, kib Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D49314 --- sys/kern/kern_mutex.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/kern/kern_mutex.c b/sys/kern/kern_mutex.c index 3ada9246326f..0a873cf139c4 100644 --- a/sys/kern/kern_mutex.c +++ b/sys/kern/kern_mutex.c @@ -284,8 +284,8 @@ __mtx_lock_flags(volatile uintptr_t *c, int opts, const char *file, int line) KASSERT(kdb_active != 0 || SCHEDULER_STOPPED() || !TD_IS_IDLETHREAD(curthread), - ("mtx_lock() by idle thread %p on sleep mutex %s @ %s:%d", - curthread, m->lock_object.lo_name, file, line)); + ("mtx_lock() by idle thread %p on mutex %p @ %s:%d", + curthread, m, file, line)); KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_lock() of destroyed mutex @ %s:%d", file, line)); KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_spin, @@ -446,8 +446,8 @@ _mtx_trylock_flags_int(struct mtx *m, int opts LOCK_FILE_LINE_ARG_DEF) return (1); KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(td), - ("mtx_trylock() by idle thread %p on sleep mutex %s @ %s:%d", - curthread, m->lock_object.lo_name, file, line)); + ("mtx_trylock() by idle thread %p on mutex %p @ %s:%d", + curthread, m, file, line)); KASSERT(m->mtx_lock != MTX_DESTROYED, ("mtx_trylock() of destroyed mutex @ %s:%d", file, line)); KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_spin, From nobody Wed Mar 12 14:47: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 4ZCYQ41zByz5r2M1; Wed, 12 Mar 2025 14:47: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 4ZCYQ34jXKz42T4; Wed, 12 Mar 2025 14:47:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741790859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KwEAIbgbavCgVYTRpUbuDK1rf6P1mtboVaLnbdLMyC4=; b=tSWSmLC6MNzn5B/mk/qnvGV6E53+TjV5W6b7vsY29SsSUaePteQt2+q5kHIy/AbZlWkgL0 3xPNvgC0HKGeGlOoVz2NcsxyA8464hGsYOjIcjIuhyqXpinaFwYtQ/epdS+LIpI9tzxuTb aJyM+c7AMRMe97OYFNvykOQAvxx01ZN43/dpiHRfEdmsD4TXy6E3CA4CkmNtOdgONV3H6K uf54BVikr+VlYqG0DMvrv2R/LxmwEXnTaMveJ4KW3rml6Pp1ChN/7TGi3Wy3F+HjpFkWdu SOOxmDvYMNk9Uor1DrGRSWTDGY5w2ixg0pRD+bjuq/+bcKFIEfTv1o1XpWEAUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741790859; a=rsa-sha256; cv=none; b=xGvoqdYwaUjSUCAIiAsFhMaXOCc+nI+zJkU2Zn1PD7136VmK1NUP/HszXv74XixuyBeV/H C9fzsBAGJoYDWEDTN48zXRRcP0K+QFIHoGwpT6eSjN7hCAb6kVObPTbrbbehdN9Xh7oOHX xvso9mOfArVGo1ASzMfnFOKbkgcT9nueV8PhPz+SL6Q5Fn77n6/iR/lZV17KzTvR9VrxIB WuaIEJej4O+jKIJ22a19foNyQFBl6TmSxZj2dDhVKNzXvzpb7kKuo+KqsqnY3TFPAfbIxF oecGc1aiRL0jlE/HweMdAqQfZ9+AHWxyBPnp4PfyRHryAFO1UFETib56Hq/dzA== 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=1741790859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KwEAIbgbavCgVYTRpUbuDK1rf6P1mtboVaLnbdLMyC4=; b=U/78GoHMnAHMcaRF5fd/ELT1lOr5kHn9F4/0ZGdXDsuqt5eaAFemE4b1qX75CBh2NhUTEj kn6fcsZovf87rrqPrL7CXNt8oULeNAt+Vf12TZN3vOw03PZ+eCcJ5YD3Mh06PJLHRGBBvx yrRMj2m9CL6Hk+nIAQpZBKL8MxYZCmW7BcfWXuG1nsPL5qNs3HZI9lM2tBHJkHZD4BVxvC p9R7fwTdHiM+1mcs3SDFbM1jsp6IdI8X0Hdzjkf0zSurHZHiB+RHy9q5cDqPCE8lBo2CqJ 7+KoTmpKWu5D0CKbDgGjGrZfNeJ8H/bGwu1+cWqNFsViy0YYxMcXVqsJ2wrrTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCYQ345Hzz1Lp; Wed, 12 Mar 2025 14:47: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 52CEldbD096624; Wed, 12 Mar 2025 14:47:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52CEldaZ096621; Wed, 12 Mar 2025 14:47:39 GMT (envelope-from git) Date: Wed, 12 Mar 2025 14:47:39 GMT Message-Id: <202503121447.52CEldaZ096621@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: 43a15a22c623 - main - mtx: Include the mutex pointer in the panic message for destroyed locks 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: 43a15a22c62345091fc4a2ea2bec529acda7c61f Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=43a15a22c62345091fc4a2ea2bec529acda7c61f commit 43a15a22c62345091fc4a2ea2bec529acda7c61f Author: John Baldwin AuthorDate: 2025-03-12 14:26:50 +0000 Commit: John Baldwin CommitDate: 2025-03-12 14:39:26 +0000 mtx: Include the mutex pointer in the panic message for destroyed locks Reviewed by: olce, kib, markj Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D49315 --- sys/kern/kern_mutex.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/sys/kern/kern_mutex.c b/sys/kern/kern_mutex.c index 0a873cf139c4..d52f7e1eebd1 100644 --- a/sys/kern/kern_mutex.c +++ b/sys/kern/kern_mutex.c @@ -287,7 +287,7 @@ __mtx_lock_flags(volatile uintptr_t *c, int opts, const char *file, int line) ("mtx_lock() by idle thread %p on mutex %p @ %s:%d", curthread, m, file, line)); KASSERT(m->mtx_lock != MTX_DESTROYED, - ("mtx_lock() of destroyed mutex @ %s:%d", file, line)); + ("mtx_lock() of destroyed mutex %p @ %s:%d", m, file, line)); KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_spin, ("mtx_lock() of spin mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); @@ -316,7 +316,7 @@ __mtx_unlock_flags(volatile uintptr_t *c, int opts, const char *file, int line) m = mtxlock2mtx(c); KASSERT(m->mtx_lock != MTX_DESTROYED, - ("mtx_unlock() of destroyed mutex @ %s:%d", file, line)); + ("mtx_unlock() of destroyed mutex %p @ %s:%d", m, file, line)); KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_spin, ("mtx_unlock() of spin mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); @@ -345,7 +345,7 @@ __mtx_lock_spin_flags(volatile uintptr_t *c, int opts, const char *file, m = mtxlock2mtx(c); KASSERT(m->mtx_lock != MTX_DESTROYED, - ("mtx_lock_spin() of destroyed mutex @ %s:%d", file, line)); + ("mtx_lock_spin() of destroyed mutex %p @ %s:%d", m, file, line)); KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_sleep, ("mtx_lock_spin() of sleep mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); @@ -386,7 +386,8 @@ __mtx_trylock_spin_flags(volatile uintptr_t *c, int opts, const char *file, m = mtxlock2mtx(c); KASSERT(m->mtx_lock != MTX_DESTROYED, - ("mtx_trylock_spin() of destroyed mutex @ %s:%d", file, line)); + ("mtx_trylock_spin() of destroyed mutex %p @ %s:%d", m, file, + line)); KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_sleep, ("mtx_trylock_spin() of sleep mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); @@ -411,7 +412,8 @@ __mtx_unlock_spin_flags(volatile uintptr_t *c, int opts, const char *file, m = mtxlock2mtx(c); KASSERT(m->mtx_lock != MTX_DESTROYED, - ("mtx_unlock_spin() of destroyed mutex @ %s:%d", file, line)); + ("mtx_unlock_spin() of destroyed mutex %p @ %s:%d", m, file, + line)); KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_sleep, ("mtx_unlock_spin() of sleep mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); @@ -449,7 +451,7 @@ _mtx_trylock_flags_int(struct mtx *m, int opts LOCK_FILE_LINE_ARG_DEF) ("mtx_trylock() by idle thread %p on mutex %p @ %s:%d", curthread, m, file, line)); KASSERT(m->mtx_lock != MTX_DESTROYED, - ("mtx_trylock() of destroyed mutex @ %s:%d", file, line)); + ("mtx_trylock() of destroyed mutex %p @ %s:%d", m, file, line)); KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_spin, ("mtx_trylock() of spin mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); @@ -826,7 +828,7 @@ thread_lock_validate(struct mtx *m, int opts, const char *file, int line) { KASSERT(m->mtx_lock != MTX_DESTROYED, - ("thread_lock() of destroyed mutex @ %s:%d", file, line)); + ("thread_lock() of destroyed mutex %p @ %s:%d", m, file, line)); KASSERT(LOCK_CLASS(&m->lock_object) != &lock_class_mtx_sleep, ("thread_lock() of sleep mutex %s @ %s:%d", m->lock_object.lo_name, file, line)); From nobody Wed Mar 12 14:55: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 4ZCYZw4ZD8z5r35k; Wed, 12 Mar 2025 14:55:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZCYZw3y9Vz44Px; Wed, 12 Mar 2025 14:55:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741791320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MYCeboBOuNT6lu1SDNpxfiYN+N8rA6HmZJYgwDQ1bpc=; b=P8ChHNBrWQL4E8rDnlGE2vADzeRNldT7BV2iUlKLNf9oZWA8rsMv8Ipn5/+vhv4LQJDxpY lpIriH9rVk1RiIM1foSX+0RMWgG4Zokfg99seeYnTYfVxbcgpiBpzaScAFnv5aEKBIpfPD 4YT+U2okgfEhd3liMyarahR5C+/3LFo3QKc4Ktqq9ZPlrlr84MaFstlWzDP9MF5RduANjb QThmI1e8tyE65qZmzlKbqyAjPo73oWdKhjTx8JVKsYe7gqYbiNVvicunRHrNeVgrzYz8jC OVmYziRlJ0U8/VU978oMyKCiBcsKStIpyGfmgDkn3ohDXqjgQsBGUFJiVjYAeQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741791320; a=rsa-sha256; cv=none; b=EtqotHjcEqUROt2IY4IY7FE68DOovN3WVKkD95xCrakUsIFFs074Kk0sokSbZemgO1NNJN JqbldyOpgJw0JC09ktg1SQm1Fn6jK/+KSlNa8X82TEiInIG3ZbmLFKtwAuiJKcoJl+Y5ks prrsJBVFZpyr0farX7lpEg1EbDTn+uP2hsAMKsP+1RhrYTKlSa+dEzAFFvXQE5bTcvUx8y T/LS9IYq+6IoY9T/NB7EvPml40WyLK7W3k8RPmirVNugX5IpPpnm6FY3Sw7rS+51ZGeFsb hwmSFfVUieynBDORZN2LyiADJsxbBoQLurV/cJ05fcGbbfzBJUNyYgQi1e9Ltg== 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=1741791320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MYCeboBOuNT6lu1SDNpxfiYN+N8rA6HmZJYgwDQ1bpc=; b=YpIxqj6n2r1J7PCIrv3oAbxcy4perIu5Tq9rH7kMyZkBPCLxH3FKXIm+zlK7rhrMG20PmC 6+PHAqs/LPiINZnclOPi4HcW4jriIiPL61AOOfSVke7DB2gmdEnESqbVWyikeJ2u0/gyzd nYPmIE1Xm3uAMlTBtb3RRBhkzHpKrOBccs8WxvU89DyJ8GGSx+qb54J09THJ2PcbnN7nIl uKFuWrKvxEqqXkJkOsdHQ7JS5WIFfmv4yPFw2Gagx5pxI3o28IfTwwoySZsN9v6jqHkANG yATZZr7Dk8Z9MZNDBsQQwq0KtmdaNDFTVr3CxShwrxmwO1lYOkHP5BwXrSgylg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCYZw2jxyz1tC; Wed, 12 Mar 2025 14:55: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 52CEtKBW015077; Wed, 12 Mar 2025 14:55:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52CEtKGm015074; Wed, 12 Mar 2025 14:55:20 GMT (envelope-from git) Date: Wed, 12 Mar 2025 14:55:20 GMT Message-Id: <202503121455.52CEtKGm015074@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: ba6c35f0cadb - main - usb: Use bus_detach_children instead of bus_generic_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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ba6c35f0cadbbcf37a89f193609c6dc90f08a8b2 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ba6c35f0cadbbcf37a89f193609c6dc90f08a8b2 commit ba6c35f0cadbbcf37a89f193609c6dc90f08a8b2 Author: John Baldwin AuthorDate: 2025-03-12 14:53:16 +0000 Commit: John Baldwin CommitDate: 2025-03-12 14:54:49 +0000 usb: Use bus_detach_children instead of bus_generic_detach The USB bus performs additional teardown steps in between detaching child devices and deleting child devices. Reported by: phk, thj Tested by: phk Fixes: e9d3857040a1 ("Use bus_detach_children instead of bus_generic_detach") --- sys/dev/usb/controller/usb_controller.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/controller/usb_controller.c b/sys/dev/usb/controller/usb_controller.c index d717ad56adea..7e89a5ab0155 100644 --- a/sys/dev/usb/controller/usb_controller.c +++ b/sys/dev/usb/controller/usb_controller.c @@ -438,7 +438,7 @@ usb_bus_detach(struct usb_proc_msg *pm) /* detach children first */ bus_topo_lock(); - bus_generic_detach(dev); + bus_detach_children(dev); bus_topo_unlock(); /* From nobody Wed Mar 12 17:43: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 4ZCdK45ml1z5qFRk; Wed, 12 Mar 2025 17:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZCdK4369rz3ldZ; Wed, 12 Mar 2025 17:43:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741801416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jW/R6p0oElKBjjSIqpvVW9/ky24UblbJXKglRs4TqrQ=; b=GuyQrfUCAq0ndYVH+SitgMQOMKASx8LGV4qwgytwyQDtylvyHRMF+98OK34huT2NwbMB4R wZunTCvUDNTUq1DNi7me3ypu2XCtqYd4kFbeT77Syd7aQDjHCUNZSlR/rJ3Nnil7sw7fW1 w47NRc+zwbZ2eIEBkZ8RRTCrQq/BQldjWNKAZt+ujE/esye4EcpqR8dMsiCDbfQ2bRmf1D Fl+mXjLVyDstUOiuU+QDxqb48YlwbruyxU3EqKNOxCBRVgbdb1SrlQu4V3nD/DmLUUrHJ4 ZVZPCxwoCqgzMr8flxBQfQNiN/sjF9yI37/1Mr8WgfPe5j/X2XFJL2yfyt70Kw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741801416; a=rsa-sha256; cv=none; b=tacKquRqAukNd7vPy1+/+iHSTJsM0SXB5nQDKU0t/TJIlEdNtoWj1bxHmLvoxgKAGIItII +Xa4zp9DYZPBJqyQ9MXwLU9SXIihXZMnRuuvp05a2gsJhP2wC//C3wDX5bqWrsAz4eCwmc Ecus6Ud+YR8zD/H/6U4QLWuYpA3/Zg6ZmdBFd+mQ+M7syFyIb1LpFTiVMm04Rs5ULkbpA+ otCd4TUq1d5qvZl8KHjFlp1vRhi5gojapOp8wujAuVsFsSOyzRDhs5nydCftASUaAM6E9K tSKgHyV8zsBKK3pPHlRq0ZRwzG0A15n3isW4EC9ebYZerolVOF1jx9FwRi/PMg== 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=1741801416; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jW/R6p0oElKBjjSIqpvVW9/ky24UblbJXKglRs4TqrQ=; b=FGK3+7E0NA1WcB/6djSHaTfPAniHjWqWClV5uUHjrzbcB1d+5mE7d+3xHfkpTw9TCJo74n F4ClPjcDEZ9FCP9u+c9LwtItPDTiFRov9nG9KQXr9Rb962eHbvGzziAC3aS1MB/2s8kY/p uBAIYYvFeqEXgSYG2r8yPZF/TGI9xIoCNTme81SB6UZbirKf+fPbJ1UM9NdBtR8OIqbvHW Rj9MlPVbXlyQzNNcFNvIiP9RogVea3isjGxyR3KjcS5t+PqwnRMXYdZeYNcmRRdJ3JzDRK WgvdRdHN6YViUOA6d5lZav0KGPnkmCgGWrPCFZm6w6Nhzp/h59eoy1ZkfXYouw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCdK42jwBz6VC; Wed, 12 Mar 2025 17:43:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52CHhaaN032421; Wed, 12 Mar 2025 17:43:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52CHha2X032418; Wed, 12 Mar 2025 17:43:36 GMT (envelope-from git) Date: Wed, 12 Mar 2025 17:43:36 GMT Message-Id: <202503121743.52CHha2X032418@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: ef037a028af7 - main - linuxkpi: Correct DIV_ROUND_DOWN_ULL 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: ef037a028af7cc331e36ca6c8e2eb5612cdb1130 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=ef037a028af7cc331e36ca6c8e2eb5612cdb1130 commit ef037a028af7cc331e36ca6c8e2eb5612cdb1130 Author: Lutz Bichler AuthorDate: 2025-03-12 17:20:58 +0000 Commit: Ed Maste CommitDate: 2025-03-12 17:43:08 +0000 linuxkpi: Correct DIV_ROUND_DOWN_ULL This fixes a black screen issue with the i915 DRM driver from Linux v6.8 Fixes: c4e0746e7d5bd ("LinuxKPI: Add helper macros IS_ALIGNED and DIV_ROUND_DOWN_ULL.") Pull request: https://github.com/freebsd/freebsd-src/pull/1612 --- sys/compat/linuxkpi/common/include/linux/math.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/math.h b/sys/compat/linuxkpi/common/include/linux/math.h index dad7fa7fbe9c..5a348a57747b 100644 --- a/sys/compat/linuxkpi/common/include/linux/math.h +++ b/sys/compat/linuxkpi/common/include/linux/math.h @@ -46,7 +46,7 @@ #define DIV_ROUND_UP(x, n) howmany(x, n) #define DIV_ROUND_UP_ULL(x, n) DIV_ROUND_UP((unsigned long long)(x), (n)) -#define DIV_ROUND_DOWN_ULL(x, n) (((unsigned long long)(x) / (n)) * (n)) +#define DIV_ROUND_DOWN_ULL(x, n) ((unsigned long long)(x) / (n)) #define DIV_ROUND_CLOSEST(x, divisor) (((x) + ((divisor) / 2)) / (divisor)) #define DIV_ROUND_CLOSEST_ULL(x, divisor) ({ \ From nobody Wed Mar 12 21:07: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 4ZCjqr0mK5z5qVVj; Wed, 12 Mar 2025 21:07: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 4ZCjqq3Wj8z3xpK; Wed, 12 Mar 2025 21:07:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741813623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5hT6I6IYAL2ckx/KGH3AZw90bfg92npPczKRw3NmAfE=; b=sDb6yDdyVlGOj1OdcSk9R960Yii2OjGUvRhuDwNhpdHt2HgnwzL3LAatp+2iooTVwX463D iHvl2LO56IGa0QEghJeiqg6AMMfCwlVS5dTapKkzwrkwkSvnSL1/7+H42tugYLScWFLlkG JXCzMDa4R64SMj6g7yi0nhtpUrAuiwXmaojAy87ZA341JBGyUmzOILLVpqGWkUJ3YqWPw+ S8iwOMpxU5mXaGEDvZ9ID+Y3d4ggC3jxU2m42QKkqGSMqDYlBFzyDgv4GViKO8nJGlC4zZ gd2vrlp/45Htx6tLf21wI8I2WWYIFJWLyJ3a6ol5p5EDoOVlDJDYzRdmwnuvMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741813623; a=rsa-sha256; cv=none; b=idB5seqzJBUNo6oEpKlscLeMiQIGEBK6FIcSr0BvMCnzlZ91KuHXGNPo2DXN4aYS98bQtg QYj3WpaQ2Ch0SkgpS0jbpM9Ja6vtv1b3jzXiXi8sIPUCp0sA+pwUVWCWJSEn2WUfnf9hkZ cd2IR/Bs7GI84TTFfcZ+GoUH0+vM+O3cTHKsOAzRiE9tc4EN8QH5LTfKJ/URJkSNmwRc/Y JnIaes9o8fsmRIcc4c7P0/8gV5/gVvFoQAjwJvTCTIhJMUAtDpyt97ewtJpkkPHDilmcv2 LmmzFt0a8BGsySkUBYGTXocYGt/liqpz43Y2hayHP7uIAq4R8haKgVNGZ5czXQ== 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=1741813623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5hT6I6IYAL2ckx/KGH3AZw90bfg92npPczKRw3NmAfE=; b=tM15gdJ4AHXP0rLLyrJLXrSj7KHkJudkilsLVkD2cuccs7gxUpkyLD6Zf3l1f38m5+x9u/ FLKetPwHPUBU7t230cOcQZ00gHazPUZVRRfTHWIpFVLOqnk0XFZk3AhJocAfGzf6VL4o+k YBRisJ0NwNtup8UXGnRE8CE1upFI5e5ryr4sboGDubKXfQb/dpWXDcluqe/KevfGvCcToC Gp7wp91ETuYIEGpnHUBAO+FQxD/v5hTFq0+D9IZ1GgjDTJBNrual/tPqESciQSkDmlNLXu 4BfQp3FIQNssZBqRRaM7L1N/vUp4zn9ydXskqV5QK56RfIqhpAVvY5UvqttODw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCjqq2WMBzCQ6; Wed, 12 Mar 2025 21:07: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 52CL73ku008541; Wed, 12 Mar 2025 21:07:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52CL73tc008538; Wed, 12 Mar 2025 21:07:03 GMT (envelope-from git) Date: Wed, 12 Mar 2025 21:07:03 GMT Message-Id: <202503122107.52CL73tc008538@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: 92d399a3be0e - main - release/vm: add a WITHOUT_QEMU option 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: 92d399a3be0e53622b9af16a82f9b7c7b62b34f7 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=92d399a3be0e53622b9af16a82f9b7c7b62b34f7 commit 92d399a3be0e53622b9af16a82f9b7c7b62b34f7 Author: Brooks Davis AuthorDate: 2025-03-12 21:05:33 +0000 Commit: Brooks Davis CommitDate: 2025-03-12 21:05:33 +0000 release/vm: add a WITHOUT_QEMU option This option disables trying to build a qemu--static and simply doesn't do any of the operations that rely on it. This disables package installation which is required by most, but not all image types. Disable all CLOUDWARE variants that require pkg when WITHOUT_QEMU is set to avoid broken images. Reviewed by: emaste Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D49310 --- release/Makefile.vm | 9 ++++++++- release/tools/vmimage.subr | 11 +++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index ec3e734285ce..b711d7891f11 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -21,6 +21,10 @@ VMDK_DESC= VMWare, VirtualBox disk image QCOW2_DESC= Qemu, KVM disk image RAW_DESC= Unformatted raw disk image +.if defined(WITHOUT_QEMU) +CLOUDWARE_TYPES?= \ + BASIC-CI +.else CLOUDWARE_TYPES?= AZURE \ BASIC-CI \ BASIC-CLOUDINIT \ @@ -28,6 +32,7 @@ CLOUDWARE_TYPES?= AZURE \ GCE \ ORACLE \ VAGRANT +.endif AZURE_FORMAT= vhdf AZURE_FSLIST?= ufs zfs AZURE_DESC= Microsoft Azure platform image @@ -94,7 +99,7 @@ emulator-portinstall: .endif touch ${.TARGET} -.if ${TARGET_ARCH} != ${MACHINE_ARCH} +.if ${TARGET_ARCH} != ${MACHINE_ARCH} && !defined(WITHOUT_QEMU) .if ( ${TARGET_ARCH} != "i386" ) || ( ${MACHINE_ARCH} != "amd64" ) QEMUSTATIC=/usr/local/bin/qemu-${TARGET_ARCH}-static QEMUTGT=emulator-portinstall @@ -120,6 +125,7 @@ cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} mkdir -p ${.OBJDIR}/${.TARGET} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ + WITHOUT_QEMU=${WITHOUT_QEMU:Dtrue} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} -F ${_FS} \ -i ${.OBJDIR}/${_CW:tl}.${_FS}.${_FMT}.img -s ${VMSIZE} -f ${_FMT} \ @@ -169,6 +175,7 @@ vm-image: ${QEMUTGT} mkdir -p ${.OBJDIR}/${.TARGET}-${FORMAT}-${FS} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ + WITHOUT_QEMU=${WITHOUT_QEMU:Dtrue} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr \ -d ${.OBJDIR}/${.TARGET}-${FORMAT}-${FS} -F ${FS} \ diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index 7ebf2144efe4..e7bd351c035c 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -89,6 +89,9 @@ vm_install_base() { } vm_emulation_setup() { + if [ -n "${WITHOUT_QEMU}" ]; then + return 0 + fi if ! [ -z "${QEMUSTATIC}" ]; then export EMULATOR=/qemu cp ${QEMUSTATIC} ${DESTDIR}/${EMULATOR} @@ -130,6 +133,10 @@ vm_extra_enable_services() { } vm_extra_install_packages() { + if [ -n "${WITHOUT_QEMU}" ]; then + return 0 + fi + if [ -z "${VM_EXTRA_PACKAGES}" ]; then return 0 fi @@ -158,6 +165,10 @@ vm_extra_pre_umount() { } vm_emulation_cleanup() { + if [ -n "${WITHOUT_QEMU}" ]; then + return 0 + fi + if ! [ -z "${QEMUSTATIC}" ]; then rm -f ${DESTDIR}/${EMULATOR} fi From nobody Wed Mar 12 21:07: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 4ZCjqs07BTz5qVMl; Wed, 12 Mar 2025 21:07: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 4ZCjqr3vXTz3xx1; Wed, 12 Mar 2025 21:07:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741813624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oZx2JwP+y01UMvnDQeceYiTDO0lPthRY4S/jWXPRw7g=; b=jY53p2EXM7sw3QW80BPrqgCFgYmYu0X8okR2t7vigDyzngetYJr+/Yc2DyQwO31k0uc/B1 zHXcJzpJp8zKrBJ6za/ARZhZojU3ibVWGphHlaNz89UyVxD/o93IuAgDC9MVoukKxpg+rH rcNpuVSuXHrYvZQ+rtLBkzZl1gNnRudIFRGFDzLcq6rde3m+HuXWM93WM/tDzNoFUM+gbq 7VZw+x2UOvN5RvqxlJJiQan5CYbPL+c+7pCXESHu99a8bmnHiVRZSS+V11jTfK+QYqooby W/Wsc1oV6PV6QNLs8qR10soFjcBby5z5Vr3Z0UYN8TqxyuEs8/YIGha4i5Pg9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741813624; a=rsa-sha256; cv=none; b=hPgphFt2D414ZXL4w9gmpuesj+jBf+Blu3Fk0Co65+E5SYEI/CzGvKdhY8uzu4PMZT/tmD /zqE7iF/mTJbp/xldB14z1p86YvxVEiY585G+jkX2FDekwXfF85elSdXlUj0e0QJipLAiY mtAMAPpKf1MWAQcKjrQugfPHYLYbwVUUB1zMwg1ivC6kRdLfcWpwUxmBw7AnMuoATKJSP2 eyS6nyY8EIGCMou+caNLdU8QWDizMhuR0VQ1Z7+cymsSMi+uFlFoPG2JlVbUTXH5zzrVv3 gNi4dK+geJLeR3hNWAADGpxbaWGNYW+vMY/Ai3BkeNDnO5kZIwb7JDlGtZDXpg== 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=1741813624; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oZx2JwP+y01UMvnDQeceYiTDO0lPthRY4S/jWXPRw7g=; b=DSkV3h+WVacfi0lclXTheriuhvVbyLZTujxZVof56IO94cwe6rTFJ1mGr4bn4oX566s9Kv IU7oUW31JL+E5umHX8qPv5RMg76RlE30R+RZP7hKq5t+R244mmSg3keWwCYJOhkvf5Eejj hSVHrhzx7IMpP8xgxb8K12akYzXwlgkYC/6cCwns9PBCI83/H77wuZjh8i4wrSR6yHUUaP drCaPgwtSl8rYOdLe1i1oD3Yf7phlLilfD92+2RgGlMo2GgDx2aTX2mD0ErOrQdTKIjM5m 0cip1PMCSXsSsyoemBfgi8pZMR8/MD2dHiRrPOlii19d2CS6k9lsBXWk2aNBZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCjqr3QvXzCQ7; Wed, 12 Mar 2025 21:07: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 52CL74wR008576; Wed, 12 Mar 2025 21:07:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52CL746X008573; Wed, 12 Mar 2025 21:07:04 GMT (envelope-from git) Date: Wed, 12 Mar 2025 21:07:04 GMT Message-Id: <202503122107.52CL746X008573@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: c41ba99779d0 - main - release/vm: partially support NO_ROOT 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: c41ba99779d0431c37ac06a674e7744d15de8045 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=c41ba99779d0431c37ac06a674e7744d15de8045 commit c41ba99779d0431c37ac06a674e7744d15de8045 Author: Brooks Davis AuthorDate: 2025-03-12 21:05:39 +0000 Commit: Brooks Davis CommitDate: 2025-03-12 21:05:39 +0000 release/vm: partially support NO_ROOT For images that don't require QEMU, support NO_ROOT. This entails: - Passing NO_ROOT down to mk-vmimage.sh (which sets it for installworld, etc) - Handling etcupdate bootstrapping - Adding assorted config file METALOG entries - Running makefs in the right directory and adding -D for dups The main gap in basic NO_ROOT support is package installation. Each image type must also be updated to add METALOG entries for any files it adds. Reviewed by: emaste Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D49320 --- release/Makefile.vm | 5 +++++ release/tools/basic-ci.conf | 4 +++- release/tools/vmimage.subr | 33 +++++++++++++++++++++++++++------ 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index b711d7891f11..0dc7bdbe1fe5 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -108,6 +108,10 @@ QEMUTGT=emulator-portinstall QEMUTGT?= .if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE) +.if (defined(WITHOUT_QEMU) && !defined(NO_ROOT)) || \ + (!defined(WITHOUT_QEMU) && defined(NO_ROOT)) +.error WITHOUT_QEMU requires NO_ROOT (and vice versa) +.endif . for _CW in ${CLOUDWARE} . if exists(${.CURDIR}/tools/${_CW:tl}.conf) && !defined(${_CW:tu}CONF) ${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf @@ -126,6 +130,7 @@ cw-${_CW:tl}-${_FS}-${_FMT}: ${QEMUTGT} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} SWAPSIZE=${SWAPSIZE} \ QEMUSTATIC=${QEMUSTATIC} \ WITHOUT_QEMU=${WITHOUT_QEMU:Dtrue} \ + NO_ROOT=${NO_ROOT:Dtrue} \ ${.CURDIR}/scripts/mk-vmimage.sh \ -C ${.CURDIR}/tools/vmimage.subr -d ${.OBJDIR}/${.TARGET} -F ${_FS} \ -i ${.OBJDIR}/${_CW:tl}.${_FS}.${_FMT}.img -s ${VMSIZE} -f ${_FMT} \ diff --git a/release/tools/basic-ci.conf b/release/tools/basic-ci.conf index 5acc04b1e530..12c9abb15fb1 100644 --- a/release/tools/basic-ci.conf +++ b/release/tools/basic-ci.conf @@ -21,6 +21,8 @@ beastie_disable="YES" loader_logo="none" console="comconsole,vidconsole" EOF + metalog_add_data ./boot/loader.conf + cat <> ${DESTDIR}/etc/ssh/sshd_config PermitRootLogin yes PasswordAuthentication yes @@ -28,7 +30,7 @@ PermitEmptyPasswords yes UsePAM no EOF - touch ${DESTDIR}/firstboot + touch_firstboot return 0 } diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index e7bd351c035c..c647097e8ced 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -37,6 +37,13 @@ cleanup() { return 0 } +metalog_add_data() { + if [ -n "${NO_ROOT}" ]; then + echo "$1 type=file uname=root gname=wheel mode=0644" >> \ + ${DESTDIR}/METALOG + fi +} + vm_create_base() { mkdir -p ${DESTDIR} @@ -61,7 +68,14 @@ vm_install_base() { etcupdate extract -B \ -M "TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH}" \ -s ${WORLDDIR} -d ${DESTDIR}/var/db/etcupdate \ - -L /dev/stdout + -L /dev/stdout ${NO_ROOT:+-N} + if [ -n "${NO_ROOT}" ]; then + # Reroot etcupdate's internal METALOG to the whole tree + sed -n 's,^\.,./var/db/etcupdate/current,p' \ + ${DESTDIR}/var/db/etcupdate/current/METALOG | \ + env -i LC_COLLATE=C sort >> ${DESTDIR}/METALOG + rm ${DESTDIR}/var/db/etcupdate/current/METALOG + fi echo '# Custom /etc/fstab for FreeBSD VM images' \ > ${DESTDIR}/etc/fstab @@ -73,16 +87,19 @@ vm_install_base() { echo '/dev/gpt/swapfs none swap sw 0 0' \ >> ${DESTDIR}/etc/fstab fi + metalog_add_data ./etc/fstab local hostname hostname="$(echo $(uname -o) | tr '[:upper:]' '[:lower:]')" echo "hostname=\"${hostname}\"" >> ${DESTDIR}/etc/rc.conf + metalog_add_data ./etc/rc.conf if [ "${VMFS}" = zfs ]; then echo "zfs_enable=\"YES\"" >> ${DESTDIR}/etc/rc.conf echo "zpool_reguid=\"zroot\"" >> ${DESTDIR}/etc/rc.conf echo "zpool_upgrade=\"zroot\"" >> ${DESTDIR}/etc/rc.conf echo "kern.geom.label.disk_ident.enable=0" >> ${DESTDIR}/boot/loader.conf echo "zfs_load=YES" >> ${DESTDIR}/boot/loader.conf + metalog_add_data ./boot/loader.conf fi return 0 @@ -191,11 +208,11 @@ buildfs() { case "${VMFS}" in ufs) - makefs ${MAKEFSARGS} -o label=rootfs -o version=2 -o softupdates=1 \ - ${VMBASE} ${DESTDIR} + cd ${DESTDIR} && makefs ${MAKEFSARGS} -o label=rootfs -o version=2 -o softupdates=1 \ + ${VMBASE} .${NO_ROOT:+/METALOG} ;; zfs) - makefs -t zfs ${MAKEFSARGS} \ + cd ${DESTDIR} && makefs -t zfs ${MAKEFSARGS} \ -o poolname=zroot -o bootfs=zroot/ROOT/default -o rootpath=/ \ -o fs=zroot\;mountpoint=none \ -o fs=zroot/ROOT\;mountpoint=none \ @@ -212,7 +229,7 @@ buildfs() { -o fs=zroot/var/log\;setuid=off\;exec=off \ -o fs=zroot/var/mail\;atime=on \ -o fs=zroot/var/tmp\;setuid=off \ - ${VMBASE} ${DESTDIR} + ${VMBASE} .${NO_ROOT:+/METALOG} ;; *) echo "Unexpected VMFS value '${VMFS}'" @@ -276,7 +293,7 @@ vm_create_disk() { WITH_UNIFIED_OBJDIR=yes \ make -C ${WORLDDIR}/stand -V .OBJDIR)" BOOTFILES="$(realpath ${BOOTFILES})" - MAKEFSARGS="-s ${VMSIZE}" + MAKEFSARGS="-s ${VMSIZE} -D" case "${TARGET}:${TARGET_ARCH}" in amd64:amd64 | i386:i386) @@ -345,3 +362,7 @@ vm_extra_create_disk() { return 0 } +touch_firstboot() { + touch ${DESTDIR}/firstboot + metalog_add_data ./firstboot +} From nobody Wed Mar 12 21:07: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 4ZCjqt1Dzcz5qVQH; Wed, 12 Mar 2025 21:07: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 4ZCjqs55jDz3xll; Wed, 12 Mar 2025 21:07:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741813625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Dg2CbgcQKNzR/zVY7Kb5DUjzj9TNCjEOGR7M/hRyrE=; b=jwM+8jlXKkF+EFQwUjr0rdWAeUNnbP5x9bkmPcYbTNu+uzz3xh6f34YopunDUKK/lJeIKR yDP2M8q2Eo4c20HuFjdbAhsSP1PZ5mhzwq7wrH8vRmJifn8xsnZoQweWfJJmnlj2szYAaJ mQ+XfjCevwSVd4qu1IhSkOlGPlPCPZF7O34THeL1rNYdqNh9voZm5+Bv7/7G3w2vnFsG3m i1fxFcX4QgGJDE0Zss/2LSALIakht9z6I/2Jav454fVqI9gAyYex0IwgO7NTEGmuzEYwE0 ZnC8ypivaARRqXEnCicynf9FYVtFioeIG/lRdUP/a70FZHmU2nPl27qdP2Aq+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741813625; a=rsa-sha256; cv=none; b=ll823pjsUEGAthYPFIIWV/j0XSxRk6fqgDWV+vOiwcLv0U5NrjLeKD8e303dLMu63tBnVi u5sxwBVnyo1dUUHmAJm4+7Wnw6SBJJUk11IndQmspXpZtJjkDmIVa8yWcQPsHAz/K65RvH hwMY43qngXBCAvf9HwF02b1blFwld0FTVhhvLQIG9jb0YEwsWq1Tv5XH4Cg2+M+IhLlN4g 2MBzsAGzE0rhn4YEykhlX8SEkvUodUtA6C5TpVzLr1cj8ON1dDhp+R0kYMWZCo6sDR+oKe DO/g3eW05sRlEH0MhXlhbCv3QihFlTW6I/oJOQe2LiKlX2aEY4G0OkVPkQHtvQ== 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=1741813625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Dg2CbgcQKNzR/zVY7Kb5DUjzj9TNCjEOGR7M/hRyrE=; b=dMSX1lw/KgZmR8HUAfOl2qau2riWiRm7lV3SbwATlxgQr/BArYRwCD/rTtY0OFMMlKljck uFxYqbcSGzbt+8By46Q9EockmKVPWdI0/79hoIVSh2KNO147s8EIFQgUZa2vubBdKrgKnO Xf3T6BYDwdn2z6elynPIbT7Jj7hnd2yzs/iRp9eUqjuUwbtP6IHmH/vo7cFJbriG3QX9hW LMNQtKicGdb4vQlhPDbMkw8/b+irQIsEOmX3Zp39E/VZUprOlPqik799hNiBsBUFnbS/QH CjOMpFxch79a2yqYXJ61GkNYoqxHkn9wyw3PfXJOrNXYGDHwTzntH5J5JiTMBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCjqs4fNYzCF7; Wed, 12 Mar 2025 21:07: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 52CL75Hs008612; Wed, 12 Mar 2025 21:07:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52CL7558008609; Wed, 12 Mar 2025 21:07:05 GMT (envelope-from git) Date: Wed, 12 Mar 2025 21:07:05 GMT Message-Id: <202503122107.52CL7558008609@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: 59c529f2c856 - main - release/vm: force replacement of compressed images 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: 59c529f2c856ec557954aa81b47603df8871ec25 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=59c529f2c856ec557954aa81b47603df8871ec25 commit 59c529f2c856ec557954aa81b47603df8871ec25 Author: Brooks Davis AuthorDate: 2025-03-12 21:05:17 +0000 Commit: Brooks Davis CommitDate: 2025-03-12 21:05:43 +0000 release/vm: force replacement of compressed images Without this, rebuilding vm images will fail due to the .xz file existing. Reviewed by: emaste Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D49321 --- release/Makefile.vm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/release/Makefile.vm b/release/Makefile.vm index 0dc7bdbe1fe5..1f56bdb03f97 100644 --- a/release/Makefile.vm +++ b/release/Makefile.vm @@ -222,7 +222,7 @@ vm-install: . for FORMAT in ${VMFORMATS} . for FS in ${VMFSLIST} # Don't keep the originals. There is a copy in ${.OBJDIR} if needed. - ${XZ_CMD} ${DESTDIR}/vmimages/${OSRELEASE}-${FS}.${FORMAT} + ${XZ_CMD} -f ${DESTDIR}/vmimages/${OSRELEASE}-${FS}.${FORMAT} . endfor . endfor . endif @@ -238,7 +238,7 @@ cloud-install-BASIC-CI: . for _FMT in ${BASIC-CI_FORMAT} cp -p ${.OBJDIR}/${BASIC-CI${_FS:tu}${_FMT:tu}IMAGE} \ ${DESTDIR}/ciimages/${OSRELEASE}-BASIC-CI-${_FS}.${_FMT} - ${XZ_CMD} ${DESTDIR}/ciimages/${OSRELEASE}-BASIC-CI-${_FS}.${_FMT} + ${XZ_CMD} -f ${DESTDIR}/ciimages/${OSRELEASE}-BASIC-CI-${_FS}.${_FMT} . endfor .endfor cd ${DESTDIR}/ciimages && sha512 ${OSRELEASE}* > \ @@ -252,7 +252,7 @@ cloud-install-BASIC-CLOUDINIT: . for _FMT in ${BASIC-CLOUDINIT_FORMAT} cp -p ${.OBJDIR}/${BASIC-CLOUDINIT${_FS:tu}${_FMT:tu}IMAGE} \ ${DESTDIR}/vmimages/${OSRELEASE}-BASIC-CLOUDINIT-${_FS}.${_FMT} - ${XZ_CMD} ${DESTDIR}/vmimages/${OSRELEASE}-BASIC-CLOUDINIT-${_FS}.${_FMT} + ${XZ_CMD} -f ${DESTDIR}/vmimages/${OSRELEASE}-BASIC-CLOUDINIT-${_FS}.${_FMT} . endfor .endfor cd ${DESTDIR}/vmimages && sha512 ${OSRELEASE}* > \ From nobody Wed Mar 12 21:15: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 4ZCk203LwSz5qVb8; Wed, 12 Mar 2025 21:15:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZCk202KL2z45Jf; Wed, 12 Mar 2025 21:15:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741814152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wI9Q60ywO6NwQxbgTeHMGgiwGfvkO9AQybBVulEA+qo=; b=Wd7K2ZsAGVJmcjhwFW/zlv0a2aPnBzEoGjvH77DIn9BryN1yuS9AeFcpvIZx1Y5iVNL2pr alI070xthPC79RBf941dbxnw/drO9Jhxgt9cSiJViKqoitmONUWUvnG2pJPFICWGWSQ5zv nGSJpKFyeQSscB4kG+nOwDzlf7c4SNrfa4KvCXxxb/KPC7GrNvqWfTVRgL6fhGc5B1KvRD cQuo5qDFC6vcYKbm3/jP+UDlojL3Gg3dXP+FVDmUhrtcMGwFDrfFDkyvTvpPwVrQOmWXSH hMLONjoxXw3SnywfrqkM/858XFMav7+wZw/JKeMRx6zDBBfnKkg+SZ3qHH+yMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741814152; a=rsa-sha256; cv=none; b=anq12Fzi233ENdMna5Gp5k2FLUgX1OPNHyOZYfqp6zwXzyOSPwEpV5yETdF/hkH2LHI3Fp lOtCxW2jEk5wLGLJZiXS3pjBofJpq25MkslWyC8CQDlQxooiNGfg4/SU4QbzU6YZolphfE m8LR6pFl3j8igl3esPsiXXD/YY3XsQa85GcjbuDrvZIUQ9Eh8747GR5OgHPCoRWWmCwN/M S12+XG/XiKqpjWGV/Pb0KDg0aKALYyjHq36G2XHuiVJVvhBWDT07/z8O8p77HquUcTYlne WO24e9d1/OSv5AJPSxPXTe//MX+WIpV2zSnFfTq3ajSGrBajQss6Gvja2eVzZA== 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=1741814152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wI9Q60ywO6NwQxbgTeHMGgiwGfvkO9AQybBVulEA+qo=; b=rV4iTO/w6RZqMrGgUtlwfjO1WTJomwIy2ROZxiaF2ZSoX+kutOo8kltKxfmHxgaZ3jYz3T XTcj06ab/9ik/j4xhj8MKbZZOoABswy759e1szWipQg78viy9qkrVuk9LbpiAZi0b95y2v bjSEhs25OwLHp/TSdSm1YPvkakg+Zl+8ee5VK3JsQ/s/oBZg8oiwAOGrdA0Ad5f2ytU26D NguPA2hRYS0WmCDT8weNoW2RQM0nsCZK9zDVQcAagv3/793eQbHbr54xmw1gjejc2W0GcK uF/T/tl6gOdlnLSjeMqCa7Ou5uB+e8+pImKZv7JD1EAzKlsJBlZE7MZTlDilWQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCk201sdqzCvD; Wed, 12 Mar 2025 21:15: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 52CLFqSN027179; Wed, 12 Mar 2025 21:15:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52CLFqoM027176; Wed, 12 Mar 2025 21:15:52 GMT (envelope-from git) Date: Wed, 12 Mar 2025 21:15:52 GMT Message-Id: <202503122115.52CLFqoM027176@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: cabf76fde836 - main - sound: Remove redundant check in mixer_clone() 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: cabf76fde8368222a68865953521e1c3668b5298 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=cabf76fde8368222a68865953521e1c3668b5298 commit cabf76fde8368222a68865953521e1c3668b5298 Author: Christos Margiolis AuthorDate: 2025-03-12 21:15:34 +0000 Commit: Christos Margiolis CommitDate: 2025-03-12 21:15:34 +0000 sound: Remove redundant check in mixer_clone() PCM_REGISTERED() does this check through PCM_ALIVE(). Sponsored by: The FreeBSD Foundation MFC after: 1 week --- sys/dev/sound/pcm/mixer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c index b5b5814e667b..7bd0a2e14c46 100644 --- a/sys/dev/sound/pcm/mixer.c +++ b/sys/dev/sound/pcm/mixer.c @@ -1365,7 +1365,7 @@ mixer_clone(void *arg, bus_topo_lock(); d = devclass_get_softc(pcm_devclass, snd_unit); /* See related comment in dsp_clone(). */ - if (d != NULL && PCM_REGISTERED(d) && d->mixer_dev != NULL) { + if (PCM_REGISTERED(d) && d->mixer_dev != NULL) { *dev = d->mixer_dev; dev_ref(*dev); } From nobody Thu Mar 13 00:14: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 4ZCnzx0j9Rz5qjLc; Thu, 13 Mar 2025 00:14: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 4ZCnzw64kKz3k3T; Thu, 13 Mar 2025 00:14:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741824860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FNonNZi9zb6zjpaJE26ROrRE8O8qRLKkN4j02ATn1fQ=; b=yLuFzoOT7F8zKHi6G/HgYRFVXVWhePLosel6zP8SEaKPUNPS5iv6rsDbPTQT0Rt81HdJCf qSa70lsmNHgxILcEaOCIhbRMZzwyuBeoQw34osifSnyExXzePU7IJDyfG01Ueb5cxpKLb/ Pg2d7ad8pH7vyA2ix711QOwYMejQAsLwGPWVKEKXXoqnoBGPe0uhELT9rNvwP+k3MlGMjy dN3vKiYtpmZGomm8tKg8fU/7MWx+QpOZh0xMA8D8VkOaI2bAcr6jrNWXyrJPcwmPihN0nC LKSuSSDyZyciJmpNNXSpea2NIpHorI6lRbkUljO+1oDkQ46VyPzBB1TZJRMWvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741824860; a=rsa-sha256; cv=none; b=MwZufEhzI4+9nyfWmnKclAaDC8mO+J/oHTTlVa8JE26v0gVhWXXS9QQPnwQ2p9of/a6Mub LjxbZUYPBjuNd1YWenff8fOj5FqAhdiZwuNOf1aMtLgp18UYQW52OVHiVO7lxRksmvz2OS j5v4mmxKoPTIt/cjjcJ4+uq1fodA899lkXlHiIJ2rnqHxL781pzst0sS5knk6NhkNHK0qG 8eKFbo7Cd9B/rQSHDrjhuSO25dKvoI/ZCA9pgKl95/R94Qsld9DYPS4DgYi6S745Av2c3c 5+cWst6E3uD/y8d64rNVO0RuNfFUabDvuCBh+nFgTS8U/AX1+uKD+EmrZwWXhQ== 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=1741824860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FNonNZi9zb6zjpaJE26ROrRE8O8qRLKkN4j02ATn1fQ=; b=NjPi/WGTQBJc59o4SVKkT0noUeng1oUbiSrnRaT8vxtN5mKS433lGjkcA2IVGXhGnnygSj UEr7aEdFETlOuOLG7ACGBwfhFnv0W3Tub80gPJ3CvM4N3PP0Gy6brAL5ComD/Ty5e18VSy Y+q2+vkW6I5fxEaioLTNn5l3kRYsrtXqH11Q93mFaTclMvi0bMuHnwT+WiIFvtU15/bXXl v7c6Fgcs6WkuH3xYsAQ2jzJPUxusrkThxWcyU/biiZb9kgTW80Z8wUrh8R3JNBYr85fNYU DNmC9XlKONrnR+ELHlr0HzcEq6ZtLBEEk0UDrmQ8/8FtXv5FMjZJp+jetTf90w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCnzw5SWKzb92; Thu, 13 Mar 2025 00:14: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 52D0EKu9064026; Thu, 13 Mar 2025 00:14:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52D0EKTC064023; Thu, 13 Mar 2025 00:14:20 GMT (envelope-from git) Date: Thu, 13 Mar 2025 00:14:20 GMT Message-Id: <202503130014.52D0EKTC064023@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: 2d4583c462a5 - main - net80211: add initial AES-GCMP crypto 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: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2d4583c462a5d7904e2bb4c77f521d16fd2e7140 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=2d4583c462a5d7904e2bb4c77f521d16fd2e7140 commit 2d4583c462a5d7904e2bb4c77f521d16fd2e7140 Author: Adrian Chadd AuthorDate: 2025-02-28 03:18:30 +0000 Commit: Adrian Chadd CommitDate: 2025-03-13 00:02:27 +0000 net80211: add initial AES-GCMP crypto support This adds initial AES-GCMP crypto support. It registers for both 128 and 256 bit support, although the 256 bit support will not work without extending the net80211/ioctl keylength. This is not yet enabled by default; drivers will need to opt-in to supporting it in either hardware or software. The AES-GCMP code is BSD licenced code from hostapd.git release 2.11. Differential Revision: https://reviews.freebsd.org/D49161 --- sys/conf/files | 2 + sys/modules/Makefile | 1 + sys/modules/wlan_gcmp/Makefile | 9 + sys/net80211/ieee80211_crypto_gcm.c | 363 +++++++++++++++++++ sys/net80211/ieee80211_crypto_gcm.h | 58 +++ sys/net80211/ieee80211_crypto_gcmp.c | 681 +++++++++++++++++++++++++++++++++++ sys/net80211/ieee80211_ioctl.h | 7 + 7 files changed, 1121 insertions(+) diff --git a/sys/conf/files b/sys/conf/files index 157cda2c4b60..9173fc9b81e5 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4201,6 +4201,8 @@ net80211/ieee80211_amrr.c optional wlan | wlan_amrr net80211/ieee80211_crypto.c optional wlan \ compile-with "${NORMAL_C} -Wno-unused-function" net80211/ieee80211_crypto_ccmp.c optional wlan wlan_ccmp +net80211/ieee80211_crypto_gcmp.c optional wlan wlan_gcmp +net80211/ieee80211_crypto_gcm.c optional wlan wlan_gcmp net80211/ieee80211_crypto_none.c optional wlan net80211/ieee80211_crypto_tkip.c optional wlan wlan_tkip net80211/ieee80211_crypto_wep.c optional wlan wlan_wep diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 294cb5a224de..fda662286cde 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -420,6 +420,7 @@ SUBDIR= \ wlan_acl \ wlan_amrr \ wlan_ccmp \ + wlan_gcmp \ wlan_rssadapt \ wlan_tkip \ wlan_wep \ diff --git a/sys/modules/wlan_gcmp/Makefile b/sys/modules/wlan_gcmp/Makefile new file mode 100644 index 000000000000..fb0a94b0a9df --- /dev/null +++ b/sys/modules/wlan_gcmp/Makefile @@ -0,0 +1,9 @@ +.PATH: ${SRCTOP}/sys/net80211 +.PATH: ${SRCTOP}/sys/crypto/rijndael + +KMOD= wlan_gcmp +SRCS= ieee80211_crypto_gcmp.c ieee80211_crypto_gcm.c +SRCS+= rijndael-alg-fst.c rijndael-api.c +SRCS+= opt_wlan.h + +.include diff --git a/sys/net80211/ieee80211_crypto_gcm.c b/sys/net80211/ieee80211_crypto_gcm.c new file mode 100644 index 000000000000..daf02cb96298 --- /dev/null +++ b/sys/net80211/ieee80211_crypto_gcm.c @@ -0,0 +1,363 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2012, Jouni Malinen + * All rights reserved. + * + * Galois/Counter Mode (GCM) and GMAC with AES + * + * Originally sourced from hostapd 2.11 (src/crypto/aes-gcm.c). + * + * 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 "opt_wlan.h" + +#include +#include +#include + +#include +#include + +#define AES_BLOCK_LEN 16 + +#define BIT(x) (1U << (x)) + +static __inline void +xor_block(uint8_t *b, const uint8_t *a, size_t len) +{ + int i; + for (i = 0; i < len; i++) + b[i] ^= a[i]; +} + +static inline +void WPA_PUT_BE64(uint8_t *a, uint64_t val) +{ + a[0] = val >> 56; + a[1] = val >> 48; + a[2] = val >> 40; + a[3] = val >> 32; + a[4] = val >> 24; + a[5] = val >> 16; + a[6] = val >> 8; + a[7] = val & 0xff; +} + +static inline void +WPA_PUT_BE32(uint8_t *a, uint32_t val) +{ + a[0] = (val >> 24) & 0xff; + a[1] = (val >> 16) & 0xff; + a[2] = (val >> 8) & 0xff; + a[3] = val & 0xff; +} + +static inline uint32_t +WPA_GET_BE32(const uint8_t *a) +{ + return (((uint32_t) a[0] << 24) | (a[1] << 16) | (a[2] << 8) | a[3]); +} + +static void +inc32(uint8_t *block) +{ + uint32_t val; + + val = WPA_GET_BE32(block + AES_BLOCK_LEN - 4); + val++; + WPA_PUT_BE32(block + AES_BLOCK_LEN - 4, val); +} + +static void +shift_right_block(uint8_t *v) +{ + uint32_t val; + + val = WPA_GET_BE32(v + 12); + val >>= 1; + if (v[11] & 0x01) + val |= 0x80000000; + WPA_PUT_BE32(v + 12, val); + + val = WPA_GET_BE32(v + 8); + val >>= 1; + if (v[7] & 0x01) + val |= 0x80000000; + WPA_PUT_BE32(v + 8, val); + + val = WPA_GET_BE32(v + 4); + val >>= 1; + if (v[3] & 0x01) + val |= 0x80000000; + WPA_PUT_BE32(v + 4, val); + + val = WPA_GET_BE32(v); + val >>= 1; + WPA_PUT_BE32(v, val); +} + + +/* Multiplication in GF(2^128) */ +static void +gf_mult(const uint8_t *x, const uint8_t *y, uint8_t *z) +{ + uint8_t v[16]; + int i, j; + + memset(z, 0, 16); /* Z_0 = 0^128 */ + memcpy(v, y, 16); /* V_0 = Y */ + + for (i = 0; i < 16; i++) { + for (j = 0; j < 8; j++) { + if (x[i] & BIT(7 - j)) { + /* Z_(i + 1) = Z_i XOR V_i */ + xor_block(z, v, AES_BLOCK_LEN); + } else { + /* Z_(i + 1) = Z_i */ + } + + if (v[15] & 0x01) { + /* V_(i + 1) = (V_i >> 1) XOR R */ + shift_right_block(v); + /* R = 11100001 || 0^120 */ + v[0] ^= 0xe1; + } else { + /* V_(i + 1) = V_i >> 1 */ + shift_right_block(v); + } + } + } +} + +static void +ghash_start(uint8_t *y) +{ + /* Y_0 = 0^128 */ + memset(y, 0, 16); +} + +static void +ghash(const uint8_t *h, const uint8_t *x, size_t xlen, uint8_t *y) +{ + size_t m, i; + const uint8_t *xpos = x; + uint8_t tmp[16]; + + m = xlen / 16; + + for (i = 0; i < m; i++) { + /* Y_i = (Y^(i-1) XOR X_i) dot H */ + xor_block(y, xpos, AES_BLOCK_LEN); + xpos += 16; + + /* dot operation: + * multiplication operation for binary Galois (finite) field of + * 2^128 elements */ + gf_mult(y, h, tmp); + memcpy(y, tmp, 16); + } + + if (x + xlen > xpos) { + /* Add zero padded last block */ + size_t last = x + xlen - xpos; + memcpy(tmp, xpos, last); + memset(tmp + last, 0, sizeof(tmp) - last); + + /* Y_i = (Y^(i-1) XOR X_i) dot H */ + xor_block(y, tmp, AES_BLOCK_LEN); + + /* dot operation: + * multiplication operation for binary Galois (finite) field of + * 2^128 elements */ + gf_mult(y, h, tmp); + memcpy(y, tmp, 16); + } + + /* Return Y_m */ +} + +/* + * Execute the GCTR call with the counter block icb + * on payload x (size len), output into y. + */ +static void +aes_gctr(rijndael_ctx *aes, const uint8_t *icb, + const uint8_t *x, size_t xlen, uint8_t *y) +{ + size_t i, n, last; + uint8_t cb[AES_BLOCK_LEN], tmp[AES_BLOCK_LEN]; + const uint8_t *xpos = x; + uint8_t *ypos = y; + + if (xlen == 0) + return; + + n = xlen / 16; + + memcpy(cb, icb, AES_BLOCK_LEN); + + /* Full blocks */ + for (i = 0; i < n; i++) { + rijndael_encrypt(aes, cb, ypos); + xor_block(ypos, xpos, AES_BLOCK_LEN); + xpos += AES_BLOCK_LEN; + ypos += AES_BLOCK_LEN; + inc32(cb); + } + + last = x + xlen - xpos; + if (last) { + /* Last, partial block */ + rijndael_encrypt(aes, cb, tmp); + for (i = 0; i < last; i++) + *ypos++ = *xpos++ ^ tmp[i]; + } +} + +static void +aes_gcm_init_hash_subkey(rijndael_ctx *aes, uint8_t *H) +{ + /* Generate hash subkey H = AES_K(0^128) */ + memset(H, 0, AES_BLOCK_LEN); + + rijndael_encrypt(aes, H, H); +} + +static void +aes_gcm_prepare_j0(const uint8_t *iv, size_t iv_len, const uint8_t *H, + uint8_t *J0) +{ + uint8_t len_buf[16]; + + if (iv_len == 12) { + /* Prepare block J_0 = IV || 0^31 || 1 [len(IV) = 96] */ + memcpy(J0, iv, iv_len); + memset(J0 + iv_len, 0, AES_BLOCK_LEN - iv_len); + J0[AES_BLOCK_LEN - 1] = 0x01; + } else { + /* + * s = 128 * ceil(len(IV)/128) - len(IV) + * J_0 = GHASH_H(IV || 0^(s+64) || [len(IV)]_64) + */ + ghash_start(J0); + ghash(H, iv, iv_len, J0); + WPA_PUT_BE64(len_buf, 0); + WPA_PUT_BE64(len_buf + 8, iv_len * 8); + ghash(H, len_buf, sizeof(len_buf), J0); + } +} + +static void +aes_gcm_gctr(rijndael_ctx *aes, const uint8_t *J0, const uint8_t *in, + size_t len, uint8_t *out) +{ + uint8_t J0inc[AES_BLOCK_LEN]; + + if (len == 0) + return; + + memcpy(J0inc, J0, AES_BLOCK_LEN); + inc32(J0inc); + + aes_gctr(aes, J0inc, in, len, out); +} + +static void +aes_gcm_ghash(const uint8_t *H, const uint8_t *aad, size_t aad_len, + const uint8_t *crypt, size_t crypt_len, uint8_t *S) +{ + uint8_t len_buf[16]; + + /* + * u = 128 * ceil[len(C)/128] - len(C) + * v = 128 * ceil[len(A)/128] - len(A) + * S = GHASH_H(A || 0^v || C || 0^u || [len(A)]64 || [len(C)]64) + * (i.e., zero padded to block size A || C and lengths of each in bits) + */ + ghash_start(S); + ghash(H, aad, aad_len, S); + ghash(H, crypt, crypt_len, S); + WPA_PUT_BE64(len_buf, aad_len * 8); + WPA_PUT_BE64(len_buf + 8, crypt_len * 8); + ghash(H, len_buf, sizeof(len_buf), S); +} + +/** + * aes_gcm_ae - GCM-AE_K(IV, P, A) + */ +void +ieee80211_crypto_aes_gcm_ae(rijndael_ctx *aes, const uint8_t *iv, size_t iv_len, + const uint8_t *plain, size_t plain_len, + const uint8_t *aad, size_t aad_len, uint8_t *crypt, uint8_t *tag) +{ + uint8_t H[AES_BLOCK_LEN]; + uint8_t J0[AES_BLOCK_LEN]; + uint8_t S[GCMP_MIC_LEN]; + + aes_gcm_init_hash_subkey(aes, H); + + aes_gcm_prepare_j0(iv, iv_len, H, J0); + + /* C = GCTR_K(inc_32(J_0), P) */ + aes_gcm_gctr(aes, J0, plain, plain_len, crypt); + + aes_gcm_ghash(H, aad, aad_len, crypt, plain_len, S); + + /* T = MSB_t(GCTR_K(J_0, S)) */ + aes_gctr(aes, J0, S, sizeof(S), tag); + + /* Return (C, T) */ +} + +/** + * aes_gcm_ad - GCM-AD_K(IV, C, A, T) + * + * Return 0 if OK, -1 if decrypt failure. + */ +int +ieee80211_crypto_aes_gcm_ad(rijndael_ctx *aes, const uint8_t *iv, size_t iv_len, + const uint8_t *crypt, size_t crypt_len, + const uint8_t *aad, size_t aad_len, const uint8_t *tag, uint8_t *plain) +{ + uint8_t H[AES_BLOCK_LEN]; + uint8_t J0[AES_BLOCK_LEN]; + uint8_t S[16], T[GCMP_MIC_LEN]; + + aes_gcm_init_hash_subkey(aes, H); + + aes_gcm_prepare_j0(iv, iv_len, H, J0); + + /* P = GCTR_K(inc_32(J_0), C) */ + aes_gcm_gctr(aes, J0, crypt, crypt_len, plain); + + aes_gcm_ghash(H, aad, aad_len, crypt, crypt_len, S); + + /* T' = MSB_t(GCTR_K(J_0, S)) */ + aes_gctr(aes, J0, S, sizeof(S), T); + + if (memcmp(tag, T, 16) != 0) { + return (-1); + } + + return (0); +} diff --git a/sys/net80211/ieee80211_crypto_gcm.h b/sys/net80211/ieee80211_crypto_gcm.h new file mode 100644 index 000000000000..bdb41bfaee4c --- /dev/null +++ b/sys/net80211/ieee80211_crypto_gcm.h @@ -0,0 +1,58 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2012, Jouni Malinen + * All rights reserved. + * + * Galois/Counter Mode (GCM) and GMAC with AES + * + * 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 __IEEE80211_CRYPTO_GCM_H__ +#define __IEEE80211_CRYPTO_GCM_H__ + +#if defined(__KERNEL__) || defined(_KERNEL) + +#include + +#define AES_BLOCK_LEN 16 + +/* + * buffer is 2x the AES_BLOCK_LEN, but the AAD contents may be variable + * and are padded. + */ +#define GCM_AAD_LEN (AES_BLOCK_LEN * 2) + +/* GCMP is always 128 bit / 16 byte MIC */ +#define GCMP_MIC_LEN 16 + +void ieee80211_crypto_aes_gcm_ae(rijndael_ctx *aes, const uint8_t *iv, + size_t iv_len, const uint8_t *plain, size_t plain_len, + const uint8_t *aad, size_t aad_len, uint8_t *crypt, uint8_t *tag); + +int ieee80211_crypto_aes_gcm_ad(rijndael_ctx *aes, const uint8_t *iv, + size_t iv_len, const uint8_t *crypt, size_t crypt_len, + const uint8_t *aad, size_t aad_len, const uint8_t *tag, + uint8_t *plain); + +#endif /* __KERNEL__ */ + +#endif /* __IEEE80211_CRYPTO_GCM_H__ */ diff --git a/sys/net80211/ieee80211_crypto_gcmp.c b/sys/net80211/ieee80211_crypto_gcmp.c new file mode 100644 index 000000000000..a39404493fa2 --- /dev/null +++ b/sys/net80211/ieee80211_crypto_gcmp.c @@ -0,0 +1,681 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2002-2008 Sam Leffler, Errno Consulting + * All rights reserved. + * Copyright (c) 2025 Adrian Chadd . + * + * 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. + */ + +/* + * IEEE 802.11 AES-GCMP crypto support. + * + * The AES-GCM crypto routines in sys/net80211/ieee80211_crypto_gcm.[ch] + * are derived from similar code in hostapd 2.11 (src/crypto/aes-gcm.c). + * The code is used with the consent of the author and its licence is + * included in the above source files. + */ +#include "opt_wlan.h" + +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +#include +#include + +#include + +#define AES_BLOCK_LEN 16 + +/* + * Note: GCMP_MIC_LEN defined in ieee80211_crypto_gcm.h, as it is also + * used by the AES-GCM routines for sizing the S and T hashes which are + * used by GCMP as the MIC. + */ +#define GCMP_PN_LEN 6 +#define GCMP_IV_LEN 12 + +struct gcmp_ctx { + struct ieee80211vap *cc_vap; /* for diagnostics+statistics */ + struct ieee80211com *cc_ic; + rijndael_ctx cc_aes; +}; + +static void *gcmp_attach(struct ieee80211vap *, struct ieee80211_key *); +static void gcmp_detach(struct ieee80211_key *); +static int gcmp_setkey(struct ieee80211_key *); +static void gcmp_setiv(struct ieee80211_key *, uint8_t *); +static int gcmp_encap(struct ieee80211_key *, struct mbuf *); +static int gcmp_decap(struct ieee80211_key *, struct mbuf *, int); +static int gcmp_enmic(struct ieee80211_key *, struct mbuf *, int); +static int gcmp_demic(struct ieee80211_key *, struct mbuf *, int); + +static const struct ieee80211_cipher gcmp = { + .ic_name = "AES-GCMP", + .ic_cipher = IEEE80211_CIPHER_AES_GCM_128, + .ic_header = IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN + + IEEE80211_WEP_EXTIVLEN, + .ic_trailer = GCMP_MIC_LEN, + .ic_miclen = 0, + .ic_attach = gcmp_attach, + .ic_detach = gcmp_detach, + .ic_setkey = gcmp_setkey, + .ic_setiv = gcmp_setiv, + .ic_encap = gcmp_encap, + .ic_decap = gcmp_decap, + .ic_enmic = gcmp_enmic, + .ic_demic = gcmp_demic, +}; + +static const struct ieee80211_cipher gcmp_256 = { + .ic_name = "AES-GCMP-256", + .ic_cipher = IEEE80211_CIPHER_AES_GCM_256, + .ic_header = IEEE80211_WEP_IVLEN + IEEE80211_WEP_KIDLEN + + IEEE80211_WEP_EXTIVLEN, + .ic_trailer = GCMP_MIC_LEN, + .ic_miclen = 0, + .ic_attach = gcmp_attach, + .ic_detach = gcmp_detach, + .ic_setkey = gcmp_setkey, + .ic_setiv = gcmp_setiv, + .ic_encap = gcmp_encap, + .ic_decap = gcmp_decap, + .ic_enmic = gcmp_enmic, + .ic_demic = gcmp_demic, +}; + + +static int gcmp_encrypt(struct ieee80211_key *, struct mbuf *, int hdrlen); +static int gcmp_decrypt(struct ieee80211_key *, u_int64_t pn, + struct mbuf *, int hdrlen); + +/* number of references from net80211 layer */ +static int nrefs = 0; + +static void * +gcmp_attach(struct ieee80211vap *vap, struct ieee80211_key *k) +{ + struct gcmp_ctx *ctx; + + ctx = (struct gcmp_ctx *) IEEE80211_MALLOC(sizeof(struct gcmp_ctx), + M_80211_CRYPTO, IEEE80211_M_NOWAIT | IEEE80211_M_ZERO); + if (ctx == NULL) { + vap->iv_stats.is_crypto_nomem++; + return (NULL); + } + ctx->cc_vap = vap; + ctx->cc_ic = vap->iv_ic; + nrefs++; /* NB: we assume caller locking */ + return (ctx); +} + +static void +gcmp_detach(struct ieee80211_key *k) +{ + struct gcmp_ctx *ctx = k->wk_private; + + IEEE80211_FREE(ctx, M_80211_CRYPTO); + KASSERT(nrefs > 0, ("imbalanced attach/detach")); + nrefs--; /* NB: we assume caller locking */ +} + +static int +gcmp_get_trailer_len(struct ieee80211_key *k) +{ + return (k->wk_cipher->ic_trailer); +} + +static int +gcmp_get_header_len(struct ieee80211_key *k) +{ + return (k->wk_cipher->ic_header); +} + +static int +gcmp_setkey(struct ieee80211_key *k) +{ + uint32_t keylen; + + struct gcmp_ctx *ctx = k->wk_private; + + switch (k->wk_cipher->ic_cipher) { + case IEEE80211_CIPHER_AES_GCM_128: + keylen = 128; + break; + case IEEE80211_CIPHER_AES_GCM_256: + keylen = 256; + break; + default: + IEEE80211_DPRINTF(ctx->cc_vap, IEEE80211_MSG_CRYPTO, + "%s: Unexpected cipher (%u)", + __func__, k->wk_cipher->ic_cipher); + return (0); + } + + if (k->wk_keylen != (keylen/NBBY)) { + IEEE80211_DPRINTF(ctx->cc_vap, IEEE80211_MSG_CRYPTO, + "%s: Invalid key length %u, expecting %u\n", + __func__, k->wk_keylen, keylen/NBBY); + return (0); + } + if (k->wk_flags & IEEE80211_KEY_SWENCRYPT) + rijndael_set_key(&ctx->cc_aes, k->wk_key, k->wk_keylen*NBBY); + return (1); +} + +static void +gcmp_setiv(struct ieee80211_key *k, uint8_t *ivp) +{ + struct gcmp_ctx *ctx = k->wk_private; + struct ieee80211vap *vap = ctx->cc_vap; + uint8_t keyid; + + keyid = ieee80211_crypto_get_keyid(vap, k) << 6; + + k->wk_keytsc++; + ivp[0] = k->wk_keytsc >> 0; /* PN0 */ + ivp[1] = k->wk_keytsc >> 8; /* PN1 */ + ivp[2] = 0; /* Reserved */ + ivp[3] = keyid | IEEE80211_WEP_EXTIV; /* KeyID | ExtID */ + ivp[4] = k->wk_keytsc >> 16; /* PN2 */ + ivp[5] = k->wk_keytsc >> 24; /* PN3 */ + ivp[6] = k->wk_keytsc >> 32; /* PN4 */ + ivp[7] = k->wk_keytsc >> 40; /* PN5 */ +} + +/* + * Add privacy headers appropriate for the specified key. + */ +static int +gcmp_encap(struct ieee80211_key *k, struct mbuf *m) +{ + const struct ieee80211_frame *wh; + struct gcmp_ctx *ctx = k->wk_private; + struct ieee80211com *ic = ctx->cc_ic; + uint8_t *ivp; + int hdrlen; + int is_mgmt; + + hdrlen = ieee80211_hdrspace(ic, mtod(m, void *)); + wh = mtod(m, const struct ieee80211_frame *); + is_mgmt = IEEE80211_IS_MGMT(wh); + + /* + * Check to see if we need to insert IV/MIC. + * + * Some offload devices don't require the IV to be inserted + * as part of the hardware encryption. + */ + if (is_mgmt && (k->wk_flags & IEEE80211_KEY_NOIVMGT)) + return (1); + if (!is_mgmt && (k->wk_flags & IEEE80211_KEY_NOIV)) + return (1); + + /* + * Copy down 802.11 header and add the IV, KeyID, and ExtIV. + */ + M_PREPEND(m, gcmp_get_header_len(k), IEEE80211_M_NOWAIT); + if (m == NULL) + return (0); + ivp = mtod(m, uint8_t *); + ovbcopy(ivp + gcmp_get_header_len(k), ivp, hdrlen); + ivp += hdrlen; + + gcmp_setiv(k, ivp); + + /* + * Finally, do software encrypt if needed. + */ + if ((k->wk_flags & IEEE80211_KEY_SWENCRYPT) && + !gcmp_encrypt(k, m, hdrlen)) + return (0); + + return (1); +} + +/* + * Add MIC to the frame as needed. + */ +static int +gcmp_enmic(struct ieee80211_key *k, struct mbuf *m, int force) +{ + return (1); +} + +static __inline uint64_t +READ_6(uint8_t b0, uint8_t b1, uint8_t b2, uint8_t b3, uint8_t b4, uint8_t b5) +{ + uint32_t iv32 = (b0 << 0) | (b1 << 8) | (b2 << 16) | (b3 << 24); + uint16_t iv16 = (b4 << 0) | (b5 << 8); + return ((((uint64_t)iv16) << 32) | iv32); +} + +/* + * Validate and strip privacy headers (and trailer) for a + * received frame. The specified key should be correct but + * is also verified. + */ +static int +gcmp_decap(struct ieee80211_key *k, struct mbuf *m, int hdrlen) +{ + const struct ieee80211_rx_stats *rxs; + struct gcmp_ctx *ctx = k->wk_private; + struct ieee80211vap *vap = ctx->cc_vap; + struct ieee80211_frame *wh; + uint8_t *ivp, tid; + uint64_t pn; + bool noreplaycheck; + + rxs = ieee80211_get_rx_params_ptr(m); + + if ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_IV_STRIP) != 0) + goto finish; + + /* + * Header should have extended IV and sequence number; + * verify the former and validate the latter. + */ + wh = mtod(m, struct ieee80211_frame *); + ivp = mtod(m, uint8_t *) + hdrlen; + if ((ivp[IEEE80211_WEP_IVLEN] & IEEE80211_WEP_EXTIV) == 0) { + /* + * No extended IV; discard frame. + */ + IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2, + "%s", "missing ExtIV for AES-GCM cipher"); + vap->iv_stats.is_rx_gcmpformat++; + return (0); + } + tid = ieee80211_gettid(wh); + pn = READ_6(ivp[0], ivp[1], ivp[4], ivp[5], ivp[6], ivp[7]); + + noreplaycheck = (k->wk_flags & IEEE80211_KEY_NOREPLAY) != 0; + noreplaycheck |= (rxs != NULL) && + (rxs->c_pktflags & IEEE80211_RX_F_PN_VALIDATED) != 0; + if (pn <= k->wk_keyrsc[tid] && !noreplaycheck) { + /* + * Replay violation. + */ + ieee80211_notify_replay_failure(vap, wh, k, pn, tid); + vap->iv_stats.is_rx_gcmpreplay++; + return (0); + } + + /* + * Check if the device handled the decrypt in hardware. + * If so we just strip the header; otherwise we need to + * handle the decrypt in software. Note that for the + * latter we leave the header in place for use in the + * decryption work. + */ + if ((k->wk_flags & IEEE80211_KEY_SWDECRYPT) && + !gcmp_decrypt(k, pn, m, hdrlen)) + return (0); + +finish: + /* + * Copy up 802.11 header and strip crypto bits. + */ + if ((rxs == NULL) || (rxs->c_pktflags & IEEE80211_RX_F_IV_STRIP) == 0) { + ovbcopy(mtod(m, void *), mtod(m, uint8_t *) + + gcmp_get_header_len(k), hdrlen); + m_adj(m, gcmp_get_header_len(k)); + } + + if ((rxs == NULL) || (rxs->c_pktflags & IEEE80211_RX_F_MIC_STRIP) == 0) + m_adj(m, -gcmp_get_trailer_len(k)); + + /* + * Ok to update rsc now. + */ + if ((rxs == NULL) || (rxs->c_pktflags & IEEE80211_RX_F_IV_STRIP) == 0) { + /* + * Do not go backwards in the IEEE80211_KEY_NOREPLAY cases + * or in case hardware has checked but frames are arriving + * reordered (e.g., LinuxKPI drivers doing RSS which we are + * not prepared for at all). + */ + if (pn > k->wk_keyrsc[tid]) + k->wk_keyrsc[tid] = pn; + } + + return (1); +} + +/* + * Verify and strip MIC from the frame. + */ +static int +gcmp_demic(struct ieee80211_key *k, struct mbuf *m, int force) +{ + return (1); +} + +/** + * @brief Calculate the AAD required for this frame for AES-GCM. + * + * Note: This code was first copied over from ieee80211_crypto_ccmp.c, so + * it has some CCMP-isms. + * + * NOTE: the first two bytes are a 16 bit big-endian length, which are used + * by AES-CCM. AES-GCM doesn't require the length at the beginning. + * + * @param wh 802.11 frame to calculate the AAD over + * @param aad AAD buffer, GCM_AAD_LEN bytes + * @param The AAD length in bytes. + */ +static int +gcmp_init_aad(const struct ieee80211_frame *wh, uint8_t *aad) +{ + int aad_len; + + memset(aad, 0, GCM_AAD_LEN); + +#define IS_QOS_DATA(wh) IEEE80211_QOS_HAS_SEQ(wh) + /* AAD: + * FC with bits 4..6 and 11..13 masked to zero; 14 is always one + * A1 | A2 | A3 + * SC with bits 4..15 (seq#) masked to zero + * A4 (if present) + * QC (if present) + */ + aad[0] = 0; /* AAD length >> 8 */ + /* NB: aad[1] set below */ + + /* + * TODO: go back over this in 802.11-2020 and triple check + * the AAD assembly with regards to packet flags. + */ + + aad[2] = wh->i_fc[0] & 0x8f; /* XXX magic #s */ + /* + * TODO: 12.5.3.3.3 - bit 14 should always be set; bit 15 masked to 0 + * if QoS control field, unmasked otherwise + */ + aad[3] = wh->i_fc[1] & 0xc7; /* XXX magic #s */ + /* NB: we know 3 addresses are contiguous */ + memcpy(aad + 4, wh->i_addr1, 3 * IEEE80211_ADDR_LEN); + aad[22] = wh->i_seq[0] & IEEE80211_SEQ_FRAG_MASK; + aad[23] = 0; /* all bits masked */ + /* + * Construct variable-length portion of AAD based + * on whether this is a 4-address frame/QOS frame. + * We always zero-pad to 32 bytes before running it + * through the cipher. + */ + if (IEEE80211_IS_DSTODS(wh)) { + IEEE80211_ADDR_COPY(aad + 24, + ((const struct ieee80211_frame_addr4 *)wh)->i_addr4); + if (IS_QOS_DATA(wh)) { + const struct ieee80211_qosframe_addr4 *qwh4 = + (const struct ieee80211_qosframe_addr4 *) wh; + aad[30] = qwh4->i_qos[0] & 0x0f;/* just priority bits */ + aad[31] = 0; + aad_len = aad[1] = 22 + IEEE80211_ADDR_LEN + 2; + } else { + *(uint16_t *)&aad[30] = 0; + aad_len = aad[1] = 22 + IEEE80211_ADDR_LEN; + } + } else { + if (IS_QOS_DATA(wh)) { + const struct ieee80211_qosframe *qwh = + (const struct ieee80211_qosframe*) wh; + aad[24] = qwh->i_qos[0] & 0x0f; /* just priority bits */ + aad[25] = 0; + aad_len = aad[1] = 22 + 2; + } else { + *(uint16_t *)&aad[24] = 0; + aad_len = aad[1] = 22; + } + *(uint16_t *)&aad[26] = 0; + *(uint32_t *)&aad[28] = 0; + } +#undef IS_QOS_DATA + + return (aad_len); +} + +/* + * Populate the 12 byte / 96 bit IV buffer. + */ +static int +gcmp_init_iv(uint8_t *iv, const struct ieee80211_frame *wh, u_int64_t pn) +{ + uint8_t j_pn[GCMP_PN_LEN]; + + /* Construct the pn buffer */ *** 224 LINES SKIPPED *** From nobody Thu Mar 13 00:14: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 4ZCnzy1Qq2z5qj4v; Thu, 13 Mar 2025 00:14:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZCnzy03qyz3jrg; Thu, 13 Mar 2025 00:14:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741824862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YLLPKYdG7LtMb9yT07uszyrSyKH1mT2cIUHD9ApzmDM=; b=Vm0YigbOJluS+f/VcDr9MtmjEb5VjURZdmUnzJNYiJYTvRX54ql15gNmUgkI7o1LxY/7j2 9UVMS2lNTfsKR61ghFCPrxINCndzXxZKV96eFAgenRRgSi+5zdDsUDjCsnWoVZVOVrj1G2 PvdfI3MigQ43YKztCJJxkMRci4py3YYT84BgDo+BBEhcKBIQdLrLplr7HovlgVOeS8JKCV jN789VgHvvQ3I5HvhmGIiNzr38NXb7h0FXGymCiWZIsi2+BTNpbdNX8DX0S0yefic1PKXY K0CuKUtfbVNShK/mvitfdRiqCCTQwFYtcRKOZijl4dOhic4z2cu2pjPVB7PASw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741824862; a=rsa-sha256; cv=none; b=pFxYH6cWyEOTLSVRaRBrkc3CYsmH0A78TOaR8UKH6Aw7ExB/QoqkPEHRq30C1BgEq0OXGy EOmQvZywuu+RM8QvGGkIsiKSOlgdV89Z0k6c+QvRcvZ4qbwgfL5mWxVZb86mB9LpdVNhtb RYUo6mruauMc9WAldUT7bZ/vuVig/VVXn/7gMxxp/uv85txxx9jK+uNzF+BlitHgrS9f3X I3tRU1W4sGFIGvSFMnn+slpzFhJvwZsDEArQ2WQDMp6ldCm+yd/0x/M49oyyjxtYxEePy7 MGE7p4hadP/UlO+oEd06m8uKmGOI8JWymeOuYwEEe7I5mJWItQB3RUYoHbArxg== 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=1741824862; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YLLPKYdG7LtMb9yT07uszyrSyKH1mT2cIUHD9ApzmDM=; b=eaT4Gb/oA8d2nixq4PRmMuYq31WEU3GNrYSqP3r9GjWkeyWAMRgn+GA53XIzx6sD3yDn0L bNX8+yEZoe08wPzrMKG5ZNBX/bIqx16nCynKnE+vEP0uhRCgM2dAEL3QF6FOcORUIrUVHJ nAWAjGMO0nk/lF0x2sOqQEwWS5Lpp15cDiKrN8OtS8REDncXIh8lZ5i/tjyo50ZsD7JD09 bbBcoU0yzzC2DGOjgqltBfp1om9CKPyMDnWBN/pI699FcdYXBP5pZZucd6x9eMiGx7ndxY /nbCz+jnFmV1/3xM4GMeW2N+6TZLiqLIl1Mov266AjU2scOBdzCItw+/ZxPfMg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCnzx63z8zbNv; Thu, 13 Mar 2025 00:14: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 52D0ELsf064062; Thu, 13 Mar 2025 00:14:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52D0ELA7064059; Thu, 13 Mar 2025 00:14:21 GMT (envelope-from git) Date: Thu, 13 Mar 2025 00:14:21 GMT Message-Id: <202503130014.52D0ELA7064059@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: 00ad581c7e3f - main - wlanstats: add GCMP crypto counters 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: 00ad581c7e3f6d6a793bafdbe83c53d48155be58 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=00ad581c7e3f6d6a793bafdbe83c53d48155be58 commit 00ad581c7e3f6d6a793bafdbe83c53d48155be58 Author: Adrian Chadd AuthorDate: 2025-02-28 03:24:28 +0000 Commit: Adrian Chadd CommitDate: 2025-03-13 00:02:36 +0000 wlanstats: add GCMP crypto counters Add GCMP crypto counters to wlanstats. Differential Revision: https://reviews.freebsd.org/D49162 --- usr.sbin/wlanstats/wlanstats.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/usr.sbin/wlanstats/wlanstats.c b/usr.sbin/wlanstats/wlanstats.c index 8795333ccb17..588b67ddd417 100644 --- a/usr.sbin/wlanstats/wlanstats.c +++ b/usr.sbin/wlanstats/wlanstats.c @@ -382,6 +382,18 @@ static const struct fmt wlanstats[] = { { 9, "ampdu_bartxfail", "bartx_fail", "BAR frames failed to send" }, #define S_AMPDU_BARTX_RETRY AFTER(S_AMPDU_BARTX_FAIL) { 10, "ampdu_bartxretry", "bartx_retry", "BAR frames retried" }, +#define S_CRYPTO_GCMP AFTER(S_AMPDU_BARTX_RETRY) + { 11, "crypto_gcmp", "crypto_gcmp", "gcmp crypto done in s/w" }, +#define S_RX_GCMPREPLAY AFTER(S_CRYPTO_GCMP) + { 10, "rx_gcmpreplay", "gcmpreplay", "rx seq# violation (GCMP)" }, +#define S_RX_GCMPFORMAT AFTER(S_RX_GCMPREPLAY) + { 10, "rx_gcmpformat", "gcmpformat", "rx format bad (GCMP)" }, +#define S_RX_GCMPMIC AFTER(S_RX_GCMPFORMAT) + { 7, "rx_gcmpmic", "gcmpmic", "rx MIC check failed (GCMP)" }, +#define S_RX_GCMPNOMEM AFTER(S_RX_GCMPMIC) + { 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)" }, }; struct wlanstatfoo_p { @@ -830,6 +842,12 @@ wlan_get_curstat(struct bsdstat *sf, int s, char b[], size_t bs) case S_AMPDU_BARTX: STAT(ampdu_bar_tx); case S_AMPDU_BARTX_RETRY: STAT(ampdu_bar_tx_retry); case S_AMPDU_BARTX_FAIL: STAT(ampdu_bar_tx_fail); + case S_CRYPTO_GCMP: STAT(crypto_gcmp); + case S_RX_GCMPREPLAY: STAT(rx_gcmpreplay); + case S_RX_GCMPFORMAT: STAT(rx_gcmpformat); + case S_RX_GCMPMIC: STAT(rx_gcmpmic); + case S_RX_GCMPNOMEM: STAT(crypto_gcmp_nomem); + case S_RX_GCMPNOSPC: STAT(crypto_gcmp_nospc); } return wlan_getinfo(wf, s, b, bs); #undef NSTAT @@ -995,6 +1013,12 @@ wlan_get_totstat(struct bsdstat *sf, int s, char b[], size_t bs) case S_AMPDU_BARTX: STAT(ampdu_bar_tx); case S_AMPDU_BARTX_RETRY: STAT(ampdu_bar_tx_retry); case S_AMPDU_BARTX_FAIL: STAT(ampdu_bar_tx_fail); + case S_CRYPTO_GCMP: STAT(crypto_gcmp); + case S_RX_GCMPREPLAY: STAT(rx_gcmpreplay); + case S_RX_GCMPFORMAT: STAT(rx_gcmpformat); + case S_RX_GCMPMIC: STAT(rx_gcmpmic); + case S_RX_GCMPNOMEM: STAT(crypto_gcmp_nomem); + case S_RX_GCMPNOSPC: STAT(crypto_gcmp_nospc); } return wlan_getinfo(wf, s, b, bs); #undef NSTAT From nobody Thu Mar 13 00:14: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 4ZCnzz2jvpz5qjNn; Thu, 13 Mar 2025 00:14: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 4ZCnzz0JYWz3jxX; Thu, 13 Mar 2025 00:14:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741824863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7AbbokNs9K7/edTQO5wQjOWIKZJwgiN/ZPyQZ45oGEM=; b=hmgQ/OGcIiV9woq2IjqHjaNs6WbW5uikA6U7mhlICbOtqi6Q6yV3iemJzZIxEnP1icT6tj PqHfBDWIBUnpxp02HBSqf/BovJ0FhcF6PNyG6R+73TYHK3stur3dKF6YzTZK/JghF7qi2l YIICOOxAwwlVl/d03j2Tk+Ck8XPReGiaU2BcPS9ZYL5v/A+D1pBWdPZ3WhaZP96cyReq4v X+iI5jqhDLrEHt8bqrra6j+X+annoxUgP8bmNMjWIqsDaGlBTXDM1XypGDgBeBp6vS1Apa T9AhsWOuamZqmYZJnr49loqVfFGxMiTFR61erdJqs7SA3B024X/t7u0qT+Yzsg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741824863; a=rsa-sha256; cv=none; b=lLP3JSKiOWw21bxYGTwWco7uZz3/Oxa5jDPKat6vs/L30f4rTicNxmaGezD4nCyTlc29+m e2u56dzkY5EPDei3fOTKPFJMiq5zH6OXyLypHz5QMgAW621+kcUI22IV35XcCyWt0i0GbR otMFUhQ0dI0JXVN311Z6wQBnJQY46DfZDtUtmlgA8MCb51YgvsH0Offr0F6eYsTy84g3cB 2kaX1kF0tUUtfA4a2pgG2GrTcqnjuGKWYYCoMFwMefNT8BE+FXvkxFZXQfE9cijvZp4fO7 pjlFgs8SeTMbscKcXTbemol18oBmTECMAyR+F8UPFz0Q7684bKc+T0nmBZjglw== 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=1741824863; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7AbbokNs9K7/edTQO5wQjOWIKZJwgiN/ZPyQZ45oGEM=; b=OA85/T+wOKTfEr/+V+jDO4RLFyGP1G5bz3b9fdD1J50MZ+31MQ6AcL8rGEcVzAzNCczeX+ hn49kYPC47ll9odbLdb3v52hS71zENcaVMCESfO5MwKsJYfI9sZtM4fer0jp1AoZVCzdpo Z+8nZ75eq/6xhRJxqeEj+NFkpl6cgxT6jEpVgIF9PJmT8xlysdVhIAqCKnvfMd3ZKOKLcJ TfR2Mm1eGHw9FREyI96titql49FeJgYbGED3aD7yGfMzzHSsKQxyW3tV5aOaCfEXYLmaiH 4krXHhLu/8LfTu325t4kQLuCIM0FqpZ1ISGl294Kwnecuh1GHdcpUA/j0wv14Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCnzy72CNzbZR; Thu, 13 Mar 2025 00:14: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 52D0EMdo064095; Thu, 13 Mar 2025 00:14:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52D0EMj9064092; Thu, 13 Mar 2025 00:14:22 GMT (envelope-from git) Date: Thu, 13 Mar 2025 00:14:22 GMT Message-Id: <202503130014.52D0EMj9064092@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: 70dc8e5e7f5c - main - net80211: add AES-GCM to the hostap logic 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: 70dc8e5e7f5cfdb393d38d8a0304590f1196dfda Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=70dc8e5e7f5cfdb393d38d8a0304590f1196dfda commit 70dc8e5e7f5cfdb393d38d8a0304590f1196dfda Author: Adrian Chadd AuthorDate: 2025-03-01 04:33:40 +0000 Commit: Adrian Chadd CommitDate: 2025-03-13 00:02:43 +0000 net80211: add AES-GCM to the hostap logic This is currently an untested diff set for implementing the AES-GCM negotiation in hostap mode. * Decode the AES-GCM-128 cipher in the RSN field; * Add AES-GCM as the first cipher to check when deciding the unicast cipher type; * Refactor out the "can we do HT A-MPDU + this cipher" check for the unicast cipher; and * .. add AES-GCM-128 to the allowable ciphers. I haven't tested this yet to make sure I haven't broken the hostapd path, nor that it actually DOES negotiate AES-GCM-128. Differential Revision: https://reviews.freebsd.org/D49189 --- sys/net80211/ieee80211_hostap.c | 42 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c index 76c419f5bdf8..c9e2c4896f15 100644 --- a/sys/net80211/ieee80211_hostap.c +++ b/sys/net80211/ieee80211_hostap.c @@ -1206,6 +1206,7 @@ wpa_cipher(const uint8_t *sel, uint8_t *keylen, uint8_t *cipher) case WPA_SEL(WPA_CSE_CCMP): *cipher = IEEE80211_CIPHER_AES_CCM; break; + /* Note: no GCM cipher in the legacy WPA1 OUI */ default: return (EINVAL); } @@ -1384,6 +1385,9 @@ rsn_cipher(const uint8_t *sel, uint8_t *keylen, uint8_t *cipher) case RSN_SEL(RSN_CSE_WRAP): *cipher = IEEE80211_CIPHER_AES_OCB; break; + case RSN_SEL(RSN_CSE_GCMP_128): + *cipher = IEEE80211_CIPHER_AES_GCM_128; + break; default: return (EINVAL); } @@ -1496,8 +1500,10 @@ ieee80211_parse_rsn(struct ieee80211vap *vap, const uint8_t *frm, frm += 4, len -= 4; } - if (w & (1 << IEEE80211_CIPHER_AES_CCM)) - rsn->rsn_ucastcipher = IEEE80211_CIPHER_AES_CCM; + if (w & (1 << IEEE80211_CIPHER_AES_GCM_128)) + rsn->rsn_ucastcipher = IEEE80211_CIPHER_AES_GCM_128; + else if (w & (1 << IEEE80211_CIPHER_AES_CCM)) + rsn->rsn_ucastcipher = IEEE80211_CIPHER_AES_CCM; else if (w & (1 << IEEE80211_CIPHER_AES_OCB)) rsn->rsn_ucastcipher = IEEE80211_CIPHER_AES_OCB; else if (w & (1 << IEEE80211_CIPHER_TKIP)) @@ -1756,6 +1762,29 @@ is11bclient(const uint8_t *rates, const uint8_t *xrates) return 1; } +/** + * Check if the given cipher is valid for 802.11 HT operation. + * + * The 802.11 specification only allows HT A-MPDU to be performed + * on CCMP / GCMP encrypted frames. The WEP/TKIP hardware crypto + * implementations may not meet the timing required for A-MPDU + * operation. + * + * @param cipher the IEEE80211_CIPHER_ value to check + * @returns true if the cipher is valid for HT A-MPDU, false otherwise + */ +static bool +hostapd_validate_cipher_for_ht_ampdu(uint8_t cipher) +{ + switch (cipher) { + case IEEE80211_CIPHER_AES_CCM: + case IEEE80211_CIPHER_AES_GCM_128: + return true; + default: + return false; + } +} + static void hostap_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, int subtype, const struct ieee80211_rx_stats *rxs, int rssi, int nf) @@ -2222,13 +2251,16 @@ hostap_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, #endif /* * Allow AMPDU operation only with unencrypted traffic - * or AES-CCM; the 11n spec only specifies these ciphers - * so permitting any others is undefined and can lead + * or AES-CCM / AES-GCM; the 802.11n spec only specifies these + * ciphers so permitting any others is undefined and can lead * to interoperability problems. + * + * TODO: before landing, find exactly where in 802.11-2020 this + * is called out! */ if ((ni->ni_flags & IEEE80211_NODE_HT) && (((vap->iv_flags & IEEE80211_F_WPA) && - rsnparms.rsn_ucastcipher != IEEE80211_CIPHER_AES_CCM) || + !hostapd_validate_cipher_for_ht_ampdu(rsnparms.rsn_ucastcipher)) || (vap->iv_flags & (IEEE80211_F_WPA|IEEE80211_F_PRIVACY)) == IEEE80211_F_PRIVACY)) { IEEE80211_NOTE(vap, IEEE80211_MSG_ASSOC | IEEE80211_MSG_11N, ni, From nobody Thu Mar 13 00:14: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 4ZCp006yGlz5qj4w; Thu, 13 Mar 2025 00:14: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 4ZCp001Nz1z3k5R; Thu, 13 Mar 2025 00:14:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741824864; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IXCdJAOPUtl1NNhjf7bIvYMYIO3SyQMD/JWVcSSKbiI=; b=wuSi4C+8FzxBprjucpJkOhmmF819HEDlbKHB4qIlpfCERN65siVKk238hUKNZLyjp80YC/ DhczdTqV5p3tu/uY5zfaMBFSKBSJ8i14/Hk1nfbAvl/bvGEjS8NU83Vh3DcHsAvTPRE2to Tj98UURqJfrre5AnEj06SuHW75/X+84XZhhinBDAsd+fKsEaBYxTB2PLqIXWJFM19jIc1v l4buZ3xmQxFmgfgtpEsaDhQ0dR8FwPtEz1ZsHxvsHjZLHgpubJB0y4m2Ce/W7/EXrwz3U3 Oe+vxpw8KV3QZyF+ZfGSCde5Tg/EZz7Zsa0YFVT0gEwCWmRLguWNuwrkPLcQtg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741824864; a=rsa-sha256; cv=none; b=SoeEzDzsCgq1UQszSeVx2sPACHS1pv/Ns0f7ehanur0fIXI87n8V1/Ifl4AuKsMH7Obb7L RVhncBLGk0ky1EN1UP+2EmNKCG22SmWJ5g/HqN+i4JmWoJ6RxfSCU7vqVOtGaPOspkEoRv Ay02jdAXMTJKTAP5fMBJXy9g2egVVo4LjhZmK7Xz03jBKZ/YLGVnI1y6ePcp1LHtrfBsdw i5499Oy6DBeOGTExOm3xfxZhC0EvYCLKlEmVh6s+XpkLSuQpz76aPpWr5ghb13Nc4y1M5V obSwLq3UTtYaZTpetLPTsAkuBznrtEH56R0lrflXC+OlUbKgVHf0qfdriVSolQ== 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=1741824864; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IXCdJAOPUtl1NNhjf7bIvYMYIO3SyQMD/JWVcSSKbiI=; b=GTM9G8rd1Qr+ZdVYkLB5uKz7YQ3XYMN/fXYci7+Fb6UxlBVo9vhm0xMVplYTJuNY4CQ6RK HPfta2BXfNCF9Ls8WSjvdQmgDsp8DZuiDy24KEfKDAbKuSX90Wd9O4QthL2vYfIGWGrNYd wzNT9yuLd4atf/Znur2q9sFjMq/qbmCfApTFgudBLM3yEyd9EJCWyvPhGfuffqFlGM0iUg MXjj8HcEUpLnBr61rB4Pj0KoVgGG8NBgD8hWgly0C40ALYofAvHpFTDTOwz52b/i3HKyx0 yaT7L7pLfm2ij6870Q8GxoV+VrvMKOb0ZwzaRdhjk7P3gkUjz+4ccaaDDNRkIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCp000tBszbVW; Thu, 13 Mar 2025 00:14: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 52D0EO31064132; Thu, 13 Mar 2025 00:14:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52D0EOW2064128; Thu, 13 Mar 2025 00:14:24 GMT (envelope-from git) Date: Thu, 13 Mar 2025 00:14:24 GMT Message-Id: <202503130014.52D0EOW2064128@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: 0588444700f4 - main - net80211: add the specific 802.11-2020 references to VHT IEs 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: 0588444700f4facf9d0ce2b6f125a9bd172dde91 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=0588444700f4facf9d0ce2b6f125a9bd172dde91 commit 0588444700f4facf9d0ce2b6f125a9bd172dde91 Author: Adrian Chadd AuthorDate: 2025-03-02 01:08:26 +0000 Commit: Adrian Chadd CommitDate: 2025-03-13 00:02:50 +0000 net80211: add the specific 802.11-2020 references to VHT IEs Since I keep needing to find them, just add the references to the VHT info/operation IEs. Differential Revision: https://reviews.freebsd.org/D49199 --- sys/net80211/ieee80211_vht.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/net80211/ieee80211_vht.c b/sys/net80211/ieee80211_vht.c index 703447945845..0df95d87d01a 100644 --- a/sys/net80211/ieee80211_vht.c +++ b/sys/net80211/ieee80211_vht.c @@ -237,6 +237,8 @@ ieee80211_vht_node_cleanup(struct ieee80211_node *ni) /* * Parse an 802.11ac VHT operation IE. + * + * 802.11-2020 9.4.2.158 (VHT Operation element) */ void ieee80211_parse_vhtopmode(struct ieee80211_node *ni, const uint8_t *ie) @@ -256,6 +258,8 @@ ieee80211_parse_vhtopmode(struct ieee80211_node *ni, const uint8_t *ie) /* * Parse an 802.11ac VHT capability IE. + * + * 802.11-2020 9.4.2.157 (VHT Capabilities element) */ void ieee80211_parse_vhtcap(struct ieee80211_node *ni, const uint8_t *ie) From nobody Thu Mar 13 01:07:45 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 4ZCq9Z0Z66z5qmpv; Thu, 13 Mar 2025 01:07:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZCq9Y28z1z4JN5; Thu, 13 Mar 2025 01:07:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741828065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=18W9cU7ZTGwhS+K+jAFkKPztB4KU3c2S0p64kmk30bY=; b=Uqhh1dOo95gLPXN1VCAUAAq5xHy2Afoo4MZxPVGG0wfjgBH4mogNUwdw3246wKE8SRwTWg lwz1xHyo3CyqvVLWF2X36HoTWqt3PmI4CvAl+d3mKYXd58vJx9Tvi45ShtRfcGYy60U0XG cQSD+4ZMC3zyJqBIZPiXZ8jDO1riakpZrgPBYtwNpV65YRNXuJftQ5JvKa+wwjaP+tPa6W KwX1rGl4Sbcw4Gqnqegy7roafbx9ZfVl07629UJK56YJGDk/5ShPE65zY36ZxqMSwGT2vY sTGKHe0bRwuL0HaROl/8hf64JqJR2nA27pEJ3XI+sGpj6x+QcCB4/OsZ8EzhJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741828065; a=rsa-sha256; cv=none; b=ZGPinn8mXWnEQMvNrT9VTHv0qtyTSNXA7/YUAxieJvocGXmJSBb3GXOx84xJh6rWhzW7bA 9qVEgKkeOtR2W6IxATqhJO4xAxuc4bfLDLTX8aQJlIcWxAIE08yCEHeVw8+N+Hgj88JaIz 1TLF5efqYX7blcOYY8XtjrMNPIfUL5MO0PHb5nzNd1qBvTxlb5CUwzE/PSEh9EbB4GCUCs V4ilbITx2N2Hl9ycIFIKKIYXck6PWKhZ95gLtPlIaCL0IcxV+E9dBpEMpcZ+WSD8g3sia2 iCPnDbfT1U4GbqEYvSP8QFcK7Pvm3lCZ2HHgy9Z5GhSeqJboD/MN/iZwz36Ipw== 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=1741828065; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=18W9cU7ZTGwhS+K+jAFkKPztB4KU3c2S0p64kmk30bY=; b=AiUOhTJlJpkP9kOvxt4X8gQXfBzvp4hMkokXt8htcQ31mehLMffP477jWGovDHl6T2iUM0 AI326/EC8rG5ww8RVwbAJwGM18RiSRMalIRq3A/XB+/VhA1UDdt1C86zf4Ewut9ngzoQds upR80jr8Vse2ewoqMmHjcu6zwW+hPjrzgNSnZeVVtBoJqNVl4PvrX64boVRNxh4UK25Rc4 0stngAZM3bqFyfkZ0kTLI/ZgB9wqIxx/rXXwXa3vEsIOqE2rfiknLgbQBFgB2xmTl83NBA NOl8gslgIExju89Abf0U0bZrvOsfUM8fcQRQmren/Pc39gU9vQLUZD05S4qy8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCq9Y1Sj8zbpc; Thu, 13 Mar 2025 01:07: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 52D17j1I058397; Thu, 13 Mar 2025 01:07:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52D17j2n058394; Thu, 13 Mar 2025 01:07:45 GMT (envelope-from git) Date: Thu, 13 Mar 2025 01:07:45 GMT Message-Id: <202503130107.52D17j2n058394@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: a54a240c1b57 - main - net80211: work around unused variable "vap" in non-debug builds 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: a54a240c1b579e2c30af125f3b1fdfd87f280078 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=a54a240c1b579e2c30af125f3b1fdfd87f280078 commit a54a240c1b579e2c30af125f3b1fdfd87f280078 Author: Adrian Chadd AuthorDate: 2025-03-13 00:59:06 +0000 Commit: Adrian Chadd CommitDate: 2025-03-13 01:07:33 +0000 net80211: work around unused variable "vap" in non-debug builds Don't declare a variable that's only used during debug builds. --- sys/net80211/ieee80211_crypto_gcmp.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/sys/net80211/ieee80211_crypto_gcmp.c b/sys/net80211/ieee80211_crypto_gcmp.c index a39404493fa2..290111235b4e 100644 --- a/sys/net80211/ieee80211_crypto_gcmp.c +++ b/sys/net80211/ieee80211_crypto_gcmp.c @@ -504,7 +504,6 @@ gcmp_encrypt(struct ieee80211_key *key, struct mbuf *m0, int hdrlen) { struct gcmp_ctx *ctx = key->wk_private; struct ieee80211_frame *wh; - struct ieee80211vap *vap = ctx->cc_vap; struct mbuf *m = m0; int data_len, aad_len, iv_len, ret; uint8_t aad[GCM_AAD_LEN]; @@ -521,16 +520,18 @@ gcmp_encrypt(struct ieee80211_key *key, struct mbuf *m0, int hdrlen) p_pktbuf = IEEE80211_MALLOC(data_len, M_TEMP, IEEE80211_M_NOWAIT | IEEE80211_M_ZERO); if (p_pktbuf == NULL) { - IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2, - "%s", "AES-GCM encrypt failed; couldn't allocate buffer"); + IEEE80211_NOTE_MAC(ctx->cc_vap, IEEE80211_MSG_CRYPTO, + wh->i_addr2, "%s", + "AES-GCM encrypt failed; couldn't allocate buffer"); ctx->cc_vap->iv_stats.is_crypto_gcmp_nomem++; return (0); } c_pktbuf = IEEE80211_MALLOC(data_len, M_TEMP, IEEE80211_M_NOWAIT | IEEE80211_M_ZERO); if (c_pktbuf == NULL) { - IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2, - "%s", "AES-GCM encrypt failed; couldn't allocate buffer"); + IEEE80211_NOTE_MAC(ctx->cc_vap, IEEE80211_MSG_CRYPTO, + wh->i_addr2, "%s", + "AES-GCM encrypt failed; couldn't allocate buffer"); ctx->cc_vap->iv_stats.is_crypto_gcmp_nomem++; IEEE80211_FREE(p_pktbuf, M_TEMP); return (0); @@ -562,8 +563,9 @@ gcmp_encrypt(struct ieee80211_key *key, struct mbuf *m0, int hdrlen) /* Append MIC */ ret = m_append(m0, gcmp_get_trailer_len(key), T); if (ret == 0) { - IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2, - "%s", "AES-GCM encrypt failed; couldn't append T"); + IEEE80211_NOTE_MAC(ctx->cc_vap, IEEE80211_MSG_CRYPTO, + wh->i_addr2, "%s", + "AES-GCM encrypt failed; couldn't append T"); ctx->cc_vap->iv_stats.is_crypto_gcmp_nospc++; } @@ -592,7 +594,6 @@ gcmp_decrypt(struct ieee80211_key *key, u_int64_t pn, struct mbuf *m, { const struct ieee80211_rx_stats *rxs; struct gcmp_ctx *ctx = key->wk_private; - struct ieee80211vap *vap = ctx->cc_vap; struct ieee80211_frame *wh; int data_len, aad_len, iv_len, ret; uint8_t aad[GCM_AAD_LEN]; @@ -656,8 +657,8 @@ gcmp_decrypt(struct ieee80211_key *key, u_int64_t pn, struct mbuf *m, if (ret != 0) { /* Decrypt failure */ ctx->cc_vap->iv_stats.is_rx_gcmpmic++; - IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2, - "%s", "AES-GCM decrypt failed; MIC mismatch"); + IEEE80211_NOTE_MAC(ctx->cc_vap, IEEE80211_MSG_CRYPTO, + wh->i_addr2, "%s", "AES-GCM decrypt failed; MIC mismatch"); IEEE80211_FREE(p_pktbuf, M_TEMP); IEEE80211_FREE(c_pktbuf, M_TEMP); return (0); From nobody Thu Mar 13 07: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 4ZD01R3xP0z5qFpd; Thu, 13 Mar 2025 07: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZD01R1NgQz3XtD; Thu, 13 Mar 2025 07: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=1741851979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PS+3+vYxNHgIw+0DYqwK8vrerHy9tW+0YhLgcqtZPv8=; b=rV+qXcfiCg2ZqzqiP9ISAAJ1736BzQ5lFSFNVafiAkEtjfkM3kvZP9Q1C6/de0MolYFXC2 P/n3JvW8NvgXs2dHyxUPn8P5ujBB8QffQTnHzrKQUJEZZ8+W2C0Hatw4cYqZLhk5DHULjm 4rGFPy3lNljZpubvrdyfojGRyUV9eFBnBYnVF8ZNiFqEq4iyv4ZBvR3XAlLLuTXO+tMUxn 83YSeT2z4sJAwfFGGUT0BseyIcibCPMHZfxvvk88y+QCaLNNUUAWW1tupJWgKYaEz54rM2 0ax6lGa2Mrwb9wH+pgvagRHdP9tiuHTynajGA/qN4y7penULT82U/XVGdB6d5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741851979; a=rsa-sha256; cv=none; b=cGC3nUS9V3S/Oj78vqEA+unJHo47IaRCaVkxnT5s4GDTdZMrZqdeX59OZdGmdK+FmV48RY 1FIUcJxrLG4o8+YFkjC5t78xJWTRoaUk+5XO2gq8gk3oqHP25Vxb1tX+IGJ2kBVnmsjUYJ DMmjGUfRNs0qdthlTrPp2Yhb6+QHRZ8QytGvzihJCDoplJyx0+dovmPlCfDg290H/VjMx6 OaCYVD9Q/6Ob3GFrFKQjBeMKqHzSCHGELFT40cI9EoJwTC1h7X7UmkfmWFa5Om1eVttP0K iVtIZ+BZgUyLYR3tGI6NfJ5c3XG4zTOizdWf+s+zfk4vapz8PkDB4XqejwfEwQ== 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=1741851979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PS+3+vYxNHgIw+0DYqwK8vrerHy9tW+0YhLgcqtZPv8=; b=T9zjz2SbsUcpIB2xzOebwL8PFpTEe+CSI1XZDj0yBG6QH4sxLR21vrUgjzHo/0gKEW0e6t hLzcbfv1Ohr5dxltqbZ2HR6+RFUykKFs505nz0APwPh/6YAUhrWA4SbOPB/QIDot0FzOtw ttxT10whssgl5mRSsClfaBEaDnEknXeFUIgVeHaBfU9qASSBg7QMfYZs3BsFF7ha8+IiSU vrMX6AjHdhSrypgVfqzjWkKWVnj8LtXUKSXBUBt/JtHsBaCVja+W/2cK/Oau+u+jUSDnuB mv/TrjGW5zaFemfSGnhPAxuKGp9T/Rhj5lGLWf+O+0HmP5v6yQUWRQfpC0q2eg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZD01R0f3Fzpxm; Thu, 13 Mar 2025 07: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 52D7kI3j010584; Thu, 13 Mar 2025 07: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 52D7kIoa010581; Thu, 13 Mar 2025 07:46:18 GMT (envelope-from git) Date: Thu, 13 Mar 2025 07:46:18 GMT Message-Id: <202503130746.52D7kIoa010581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Osipov Subject: git: 0100da4deb96 - main - caroot: update the root bundle 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: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0100da4deb96e15acf72d7655127c6faafa4148f Auto-Submitted: auto-generated The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=0100da4deb96e15acf72d7655127c6faafa4148f commit 0100da4deb96e15acf72d7655127c6faafa4148f Author: Michael Osipov AuthorDate: 2025-03-07 18:58:55 +0000 Commit: Michael Osipov CommitDate: 2025-03-13 07:46:01 +0000 caroot: update the root bundle Summary: - Seven (7) new roots - Four (4) distrusted roots - Fifteen (15) removed (expired) roots Reviewed by: kevans MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49294 --- ObsoleteFiles.inc | 20 +++ .../caroot/trusted/D-TRUST_BR_Root_CA_2_2023.pem | 139 ++++++++++++++++++++ .../caroot/trusted/D-TRUST_EV_Root_CA_2_2023.pem | 139 ++++++++++++++++++++ .../trusted/FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem | 71 +++++++++++ secure/caroot/trusted/SecureSign_Root_CA12.pem | 93 ++++++++++++++ secure/caroot/trusted/SecureSign_Root_CA14.pem | 135 ++++++++++++++++++++ secure/caroot/trusted/SecureSign_Root_CA15.pem | 67 ++++++++++ secure/caroot/trusted/TWCA_CYBER_Root_CA.pem | 137 ++++++++++++++++++++ secure/caroot/untrusted/AddTrust_External_Root.pem | 99 --------------- .../untrusted/AddTrust_Low-Value_Services_Root.pem | 98 --------------- secure/caroot/untrusted/Cybertrust_Global_Root.pem | 99 --------------- secure/caroot/untrusted/DST_Root_CA_X3.pem | 92 -------------- .../untrusted/E-Tugra_Certification_Authority.pem | 140 --------------------- .../Entrust_Root_Certification_Authority_-_G4.pem | 0 secure/caroot/untrusted/GeoTrust_Global_CA.pem | 90 ------------- .../caroot/untrusted/GlobalSign_Root_CA_-_R2.pem | 99 --------------- .../caroot/untrusted/Hongkong_Post_Root_CA_1.pem | 89 ------------- secure/caroot/untrusted/QuoVadis_Root_CA.pem | 116 ----------------- .../{trusted => untrusted}/SecureSign_RootCA11.pem | 0 .../Security_Communication_RootCA3.pem | 0 .../untrusted/Security_Communication_Root_CA.pem | 91 -------------- secure/caroot/untrusted/Sonera_Class_2_Root_CA.pem | 90 ------------- .../untrusted/Staat_der_Nederlanden_EV_Root_CA.pem | 134 -------------------- .../Staat_der_Nederlanden_Root_CA_-_G2.pem | 137 -------------------- .../SwissSign_Silver_CA_-_G2.pem | 0 secure/caroot/untrusted/Trustis_FPS_Root_CA.pem | 91 -------------- 26 files changed, 801 insertions(+), 1465 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 70f134960b69..7b15e3595951 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,26 @@ # xargs -n1 | sort | uniq -d; # done +# 20250310: caroot bundle updated +OLD_FILES+=usr/share/certs/trusted/Entrust_Root_Certification_Authority_-_G4.pem +OLD_FILES+=usr/share/certs/trusted/SecureSign_RootCA11.pem +OLD_FILES+=usr/share/certs/trusted/Security_Communication_RootCA3.pem +OLD_FILES+=usr/share/certs/trusted/SwissSign_Silver_CA_-_G2.pem +OLD_FILES+=usr/share/certs/untrusted/AddTrust_External_Root.pem +OLD_FILES+=usr/share/certs/untrusted/AddTrust_Low-Value_Services_Root.pem +OLD_FILES+=usr/share/certs/untrusted/Staat_der_Nederlanden_Root_CA_-_G2.pem +OLD_FILES+=usr/share/certs/untrusted/Cybertrust_Global_Root.pem +OLD_FILES+=usr/share/certs/untrusted/DST_Root_CA_X3.pem +OLD_FILES+=usr/share/certs/untrusted/GlobalSign_Root_CA_-_R2.pem +OLD_FILES+=usr/share/certs/untrusted/QuoVadis_Root_CA.pem +OLD_FILES+=usr/share/certs/untrusted/Sonera_Class_2_Root_CA.pem +OLD_FILES+=usr/share/certs/untrusted/GeoTrust_Global_CA.pem +OLD_FILES+=usr/share/certs/untrusted/Staat_der_Nederlanden_EV_Root_CA.pem +OLD_FILES+=usr/share/certs/untrusted/E-Tugra_Certification_Authority.pem +OLD_FILES+=usr/share/certs/untrusted/Hongkong_Post_Root_CA_1.pem +OLD_FILES+=usr/share/certs/untrusted/Security_Communication_Root_CA.pem +OLD_FILES+=usr/share/certs/untrusted/Trustis_FPS_Root_CA.pem + # 20250205: bus_generic_attach.9 removed after the function was deprecated OLD_FILES+=usr/share/man/man9/bus_generic_attach.9.gz diff --git a/secure/caroot/trusted/D-TRUST_BR_Root_CA_2_2023.pem b/secure/caroot/trusted/D-TRUST_BR_Root_CA_2_2023.pem new file mode 100644 index 000000000000..32d0d9dbdf0c --- /dev/null +++ b/secure/caroot/trusted/D-TRUST_BR_Root_CA_2_2023.pem @@ -0,0 +1,139 @@ +## +## D-TRUST BR Root CA 2 2023 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## It contains a certificate trusted for server authentication. +## +## Extracted from nss +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 73:3b:30:04:48:5b:d9:4d:78:2e:73:4b:c9:a1:dc:66 + Signature Algorithm: sha512WithRSAEncryption + Issuer: C = DE, O = D-Trust GmbH, CN = D-TRUST BR Root CA 2 2023 + Validity + Not Before: May 9 08:56:31 2023 GMT + Not After : May 9 08:56:30 2038 GMT + Subject: C = DE, O = D-Trust GmbH, CN = D-TRUST BR Root CA 2 2023 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:ae:ff:09:59:91:80:0a:4a:68:e6:24:3f:b8:a7: + e4:c8:3a:0a:3a:16:cd:c9:23:61:a0:93:71:f2:ab: + 8b:73:8f:a0:67:65:60:d2:54:6b:63:51:6f:49:33: + e0:72:07:13:7d:38:cd:06:92:07:29:52:6b:4e:77: + 6c:04:d3:95:fa:dd:4c:8c:d9:5d:c1:61:7d:4b:e7: + 28:b3:44:81:7b:51:af:dd:33:b1:68:7c:d6:4e:4c: + fe:2b:68:b9:ca:66:69:c4:ec:5e:57:7f:f7:0d:c7: + 9c:36:36:e5:07:60:ac:c0:4c:ea:08:6c:ef:06:7c: + 4f:5b:28:7a:08:fc:93:5d:9b:f6:9c:b4:8b:86:ba: + 21:b9:f4:f0:e8:59:5a:28:a1:34:84:1a:25:91:b6: + b5:8f:ef:b2:f9:80:fa:f9:3d:3c:11:72:d8:e3:2f: + 86:76:c5:79:2c:c1:a9:90:93:46:98:67:cb:83:6a: + a0:50:23:a7:3b:f6:81:39:e0:ed:f0:b9:bf:65:f1: + d8:cb:7a:fb:ef:73:03:ce:00:f4:7d:d7:e0:5d:3b: + 66:b8:dc:8e:ba:83:cb:87:76:03:fc:25:d9:e7:23: + 6f:06:fd:67:f3:e0:ff:84:bc:47:bf:b5:16:18:46: + 69:14:cc:05:f7:db:d3:49:ac:6b:cc:ab:e4:b5:0b: + 43:24:5e:4b:6b:4d:67:df:d6:b5:3e:4f:78:1f:94: + 71:24:ea:de:70:fc:f1:93:fe:9e:93:5a:e4:94:5a: + 97:54:0c:35:7b:5f:6c:ee:00:1f:24:ec:03:ba:02: + f5:76:f4:9f:d4:9a:ed:85:2c:38:22:2f:c7:d8:2f: + 76:11:4f:fd:6c:5c:e8:f5:8e:27:87:7f:19:4a:21: + 47:90:1d:79:8d:1c:5b:f8:cf:4a:85:e4:ed:b3:5b: + 8d:be:c4:64:28:5d:41:c4:6e:ac:38:5a:4f:23:74: + 74:a9:12:c3:f6:d2:b9:11:15:33:07:91:d8:3b:37: + 3a:63:30:06:d1:c5:22:36:28:62:23:10:e0:46:cc: + 97:ac:d6:2b:5d:64:24:d5:ee:1c:0e:de:fb:08:5a: + 75:2a:f6:63:6d:ce:0b:42:be:d1:ba:70:1c:9c:21: + e5:0f:31:69:17:d7:fc:0a:b4:de:ed:80:9c:cb:92: + b4:8b:f5:de:59:a2:58:09:a5:63:47:0b:e1:41:32: + 34:41:d9:9a:b1:d9:a8:b0:1b:5a:de:0d:0d:f4:e2: + b2:5d:35:80:b9:81:d4:84:69:91:02:cb:75:d0:8d: + c5:b5:3d:09:91:09:8f:14:a1:14:74:79:3e:d6:c9: + 15:1d:a4:59:59:22:dc:f6:8a:45:3d:3c:12:d6:3e: + 5d:32:2f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + 67:90:F0:D6:DE:B5:18:D5:46:29:7E:5C:AB:F8:9E:08:BC:64:95:10 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + Full Name: + URI:http://crl.d-trust.net/crl/d-trust_br_root_ca_2_2023.crl + Signature Algorithm: sha512WithRSAEncryption + Signature Value: + 34:f7:b3:77:53:db:30:16:b9:2d:a5:21:f1:40:21:75:eb:eb: + 48:16:81:3d:73:e0:9e:27:2a:eb:77:a9:13:a4:6a:0a:5a:5a: + 14:33:3d:68:1f:81:ae:69:fd:8c:9f:65:6c:34:42:d9:2d:d0: + 7f:78:16:b1:3a:ac:23:31:ad:5e:7f:ae:e7:ae:2b:fa:ba:fc: + 3c:97:95:40:93:5f:c3:2d:03:a3:ed:a4:6f:53:d7:fa:40:0e: + 30:f5:00:20:2c:00:4c:8c:3b:b4:a3:1f:b6:bf:91:32:ab:af: + 92:98:d3:16:e6:d4:d1:54:5c:43:5b:2e:ae:ef:57:2a:a8:b4: + 6f:a4:ef:0d:56:14:da:21:ab:20:76:9e:03:fc:26:b8:9e:3f: + 3e:03:26:e6:4c:db:9d:5f:42:84:3d:45:03:03:1c:59:88:ca: + dc:2e:61:24:5a:a4:ea:27:0b:73:12:be:52:b3:0a:cf:32:17: + e2:1e:87:1a:16:95:48:6d:5a:e0:d0:cf:09:92:26:66:91:d8: + a3:61:0e:aa:81:81:7f:e8:52:82:d1:42:e7:e0:1d:18:fa:a4: + 85:36:e7:86:e0:0d:eb:bc:d4:c9:d6:3c:43:f1:5d:49:6e:7e: + 81:9b:69:b5:89:62:8f:88:52:d8:d7:fe:27:c1:23:c5:cb:2b: + 02:bb:b1:5f:fe:fb:43:85:03:46:be:5d:c6:ca:21:26:ff:d7: + 02:9e:74:4a:dc:f8:13:15:b1:81:57:36:cb:65:5c:d1:1d:31: + 77:e9:25:c3:c3:b2:32:37:d5:f1:98:09:e4:6d:63:80:08:ab: + 06:92:81:d4:e9:70:8f:a7:3f:b2:ed:86:8c:82:6a:35:c8:42: + 5a:82:d1:52:1a:45:0f:15:a5:00:f0:94:7b:65:27:57:39:43: + cf:7c:7f:e6:bd:35:b3:7b:f1:19:4c:de:3a:96:cf:e9:76:ee: + 03:e7:c2:43:52:3c:6a:81:e8:c1:5a:80:bd:11:5d:93:6b:fb: + c7:e6:64:3f:bb:69:1c:e9:dd:25:8b:af:74:c9:54:40:ca:cb: + 93:13:0a:ed:fb:66:92:11:ca:f5:c0:fa:d8:83:55:03:7c:d3: + c5:22:46:75:70:6b:79:48:06:2a:82:9a:bf:e6:eb:16:0e:22: + 45:01:bc:dd:36:94:34:a9:35:26:8a:d7:97:b9:ee:08:72:bf: + 34:92:70:83:80:ab:38:aa:59:68:dd:40:a4:18:90:b2:f3:d5: + 03:ca:26:ca:ef:d5:c7:e0:8f:53:8e:f0:00:e3:a8:ed:9f:f9: + ad:77:e0:2b:63:4f:9e:c3:ee:37:bb:78:09:84:9e:b9:6e:fb: + 29:99:90:e8:80:d3:9f:24 +SHA1 Fingerprint=2D:B0:70:EE:71:94:AF:69:68:17:DB:79:CE:58:9F:A0:6B:96:F7:87 +-----BEGIN CERTIFICATE----- +MIIFqTCCA5GgAwIBAgIQczswBEhb2U14LnNLyaHcZjANBgkqhkiG9w0BAQ0FADBI +MQswCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlE +LVRSVVNUIEJSIFJvb3QgQ0EgMiAyMDIzMB4XDTIzMDUwOTA4NTYzMVoXDTM4MDUw +OTA4NTYzMFowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEi +MCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDIgMjAyMzCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAK7/CVmRgApKaOYkP7in5Mg6CjoWzckjYaCTcfKr +i3OPoGdlYNJUa2NRb0kz4HIHE304zQaSBylSa053bATTlfrdTIzZXcFhfUvnKLNE +gXtRr90zsWh81k5M/itoucpmacTsXld/9w3HnDY25QdgrMBM6ghs7wZ8T1soegj8 +k12b9py0i4a6Ibn08OhZWiihNIQaJZG2tY/vsvmA+vk9PBFy2OMvhnbFeSzBqZCT +Rphny4NqoFAjpzv2gTng7fC5v2Xx2Mt6++9zA84A9H3X4F07ZrjcjrqDy4d2A/wl +2ecjbwb9Z/Pg/4S8R7+1FhhGaRTMBffb00msa8yr5LULQyReS2tNZ9/WtT5PeB+U +cSTq3nD88ZP+npNa5JRal1QMNXtfbO4AHyTsA7oC9Xb0n9Sa7YUsOCIvx9gvdhFP +/Wxc6PWOJ4d/GUohR5AdeY0cW/jPSoXk7bNbjb7EZChdQcRurDhaTyN0dKkSw/bS +uREVMweR2Ds3OmMwBtHFIjYoYiMQ4EbMl6zWK11kJNXuHA7e+whadSr2Y23OC0K+ +0bpwHJwh5Q8xaRfX/Aq03u2AnMuStIv13lmiWAmlY0cL4UEyNEHZmrHZqLAbWt4N +DfTisl01gLmB1IRpkQLLddCNxbU9CZEJjxShFHR5PtbJFR2kWVki3PaKRT08EtY+ +XTIvAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUZ5Dw1t61 +GNVGKX5cq/ieCLxklRAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRCMEAwPqA8oDqG +OGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfYnJfcm9vdF9jYV8y +XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQA097N3U9swFrktpSHxQCF16+tI +FoE9c+CeJyrrd6kTpGoKWloUMz1oH4Guaf2Mn2VsNELZLdB/eBaxOqwjMa1ef67n +riv6uvw8l5VAk1/DLQOj7aRvU9f6QA4w9QAgLABMjDu0ox+2v5Eyq6+SmNMW5tTR +VFxDWy6u71cqqLRvpO8NVhTaIasgdp4D/Ca4nj8+AybmTNudX0KEPUUDAxxZiMrc +LmEkWqTqJwtzEr5SswrPMhfiHocaFpVIbVrg0M8JkiZmkdijYQ6qgYF/6FKC0ULn +4B0Y+qSFNueG4A3rvNTJ1jxD8V1Jbn6Bm2m1iWKPiFLY1/4nwSPFyysCu7Ff/vtD +hQNGvl3GyiEm/9cCnnRK3PgTFbGBVzbLZVzRHTF36SXDw7IyN9XxmAnkbWOACKsG +koHU6XCPpz+y7YaMgmo1yEJagtFSGkUPFaUA8JR7ZSdXOUPPfH/mvTWze/EZTN46 +ls/pdu4D58JDUjxqgejBWoC9EV2Ta/vH5mQ/u2kc6d0li690yVRAysuTEwrt+2aS +Ecr1wPrYg1UDfNPFIkZ1cGt5SAYqgpq/5usWDiJFAbzdNpQ0qTUmiteXue4Icr80 +knCDgKs4qllo3UCkGJCy89UDyibK79XH4I9TjvAA46jtn/mtd+ArY0+ew+43u3gJ +hJ65bvspmZDogNOfJA== +-----END CERTIFICATE----- diff --git a/secure/caroot/trusted/D-TRUST_EV_Root_CA_2_2023.pem b/secure/caroot/trusted/D-TRUST_EV_Root_CA_2_2023.pem new file mode 100644 index 000000000000..5325b545bb3f --- /dev/null +++ b/secure/caroot/trusted/D-TRUST_EV_Root_CA_2_2023.pem @@ -0,0 +1,139 @@ +## +## D-TRUST EV Root CA 2 2023 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## It contains a certificate trusted for server authentication. +## +## Extracted from nss +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 69:26:09:7e:80:4b:4c:a0:a7:8c:78:62:53:5f:5a:6f + Signature Algorithm: sha512WithRSAEncryption + Issuer: C = DE, O = D-Trust GmbH, CN = D-TRUST EV Root CA 2 2023 + Validity + Not Before: May 9 09:10:33 2023 GMT + Not After : May 9 09:10:32 2038 GMT + Subject: C = DE, O = D-Trust GmbH, CN = D-TRUST EV Root CA 2 2023 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:d8:8e:a3:89:80:0b:b2:57:52:dc:a9:53:4c:37: + b9:7f:63:17:13:ef:a7:5b:23:5b:69:75:b0:99:0a: + 17:c1:8b:c4:db:a8:e0:cc:31:ba:c2:f2:cd:5d:e9: + b7:f8:1d:af:6a:c4:95:87:d7:47:c9:95:d8:82:04: + 50:3d:81:08:ff:e4:3d:b3:b1:d6:c5:b2:fd:88:09: + db:9c:84:ec:25:17:14:87:7f:30:78:9b:6a:58:c9: + b6:73:28:3c:34:f7:99:f7:7f:d3:a6:f8:1c:45:7c: + ad:2c:8c:94:3f:d8:67:10:53:7e:22:cd:4e:25:51: + f0:25:24:35:11:5e:10:c6:ec:87:66:89:81:68:ba: + cc:2b:9d:47:73:1f:bd:cd:91:a4:72:6a:9c:a2:1b: + 18:a0:6f:ec:50:f4:7d:40:c2:a8:30:cf:bd:73:c8: + 13:2b:10:13:1e:8b:9a:a8:3a:94:73:d3:18:69:0a: + 4a:ff:c1:01:03:ff:79:7f:b5:48:7f:7b:ee:e8:29: + 6f:36:4c:95:61:86:d8:f9:a2:73:8a:ee:ae:2f:96: + ee:68:cd:3d:4d:28:42:f9:45:2b:32:1b:46:55:16: + 6a:a6:4b:29:f9:bb:95:56:bf:46:1d:ec:1d:93:1d: + c0:65:b2:1f:a1:43:ae:56:9e:a0:b1:8f:6b:12:b7: + 60:6d:78:0b:ca:8a:5c:ed:1e:96:0e:83:a6:48:95: + 8d:3b:a3:21:c4:ae:58:c6:00:b2:84:b4:23:a4:96: + 86:35:b8:d8:9e:d8:ac:34:49:98:63:95:c5:cb:6d: + 48:47:e2:f2:2e:18:1e:d0:31:ab:dd:74:ec:f9:dc: + 8c:b8:1c:8e:68:23:ba:d0:f3:50:dc:cf:65:8f:73: + 3a:32:c7:7c:fe:ca:82:22:4f:be:8e:62:47:66:e5: + cd:87:e2:e8:d5:0f:18:9f:e5:04:72:4b:46:3c:10: + f2:44:c2:64:56:71:4e:75:e8:9c:c9:26:74:c5:7d: + 59:d1:0a:5b:0f:6d:fe:9e:75:1c:18:c6:1a:3a:7c: + d8:0d:04:cc:cd:b7:45:65:7a:b1:8f:b8:ae:84:48: + 3e:b3:7a:4d:a8:03:e2:e2:7e:01:16:59:68:18:43: + 33:b0:d2:dc:b0:1a:43:35:ee:a5:da:a9:46:5c:ae: + 86:81:41:01:4a:74:26:ec:9f:06:bf:c2:05:37:64: + 75:78:29:68:fd:c5:f5:eb:fe:47:f9:e4:85:b0:e1: + 7b:31:9d:a6:7f:72:a3:b9:c4:2c:2e:cc:99:57:0e: + 21:0c:45:01:94:65:eb:65:09:c6:63:22:0b:33:49: + 92:48:3c:fc:cd:ce:b0:3e:8e:9e:8b:f8:fe:49:c5: + 35:72:47 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Subject Key Identifier: + AA:FC:91:10:1B:87:91:5F:16:B9:BF:4F:4B:91:5E:00:1C:B1:32:80 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 CRL Distribution Points: + Full Name: + URI:http://crl.d-trust.net/crl/d-trust_ev_root_ca_2_2023.crl + Signature Algorithm: sha512WithRSAEncryption + Signature Value: + 93:cb:a5:1f:99:11:ec:9a:0d:5f:2c:15:93:c6:3f:be:10:8d: + 78:42:f0:6e:90:47:47:8e:a3:92:32:8d:70:8f:f6:5b:8d:be: + 89:ce:47:01:6a:1b:20:20:89:5b:c8:82:10:6c:e0:e7:99:aa: + 6b:c6:2a:a0:63:35:91:6a:85:25:ad:17:38:a5:9b:7e:50:f2: + 76:ea:85:05:2a:27:41:2b:b1:81:d1:a2:f6:40:75:a9:0e:cb: + f1:55:48:d8:ec:d1:ec:b3:e8:ce:14:a1:35:ec:c2:5e:35:1a: + ab:a6:16:01:06:8e:ea:dc:2f:a3:8a:ca:2c:91:eb:52:8e:5f: + 0c:9b:17:cf:cb:73:07:19:c4:6a:c2:73:54:ef:7c:43:52:63: + c1:11:ca:c2:45:b1:f4:3b:53:f5:69:ae:3c:e3:a5:de:ac:e8: + 54:b7:b2:91:fd:ac:a9:1f:f2:87:e4:17:c6:49:a8:7c:d8:0a: + 41:f4:f2:3e:e7:77:34:04:52:dd:e8:81:f2:4d:2f:54:45:9d: + 15:e1:4f:cc:e5:de:34:57:10:c9:23:72:17:70:8d:50:70:1f: + 56:6c:cc:b9:ff:3a:5a:4f:63:7a:c3:6e:65:07:1d:84:a1:ff: + a9:0c:63:89:6d:b2:40:88:39:d7:1f:77:68:b5:fc:9c:d5:d6: + 67:69:5b:a8:74:db:fc:89:f6:1b:32:f7:a4:24:a6:76:b7:47: + 53:ef:8d:49:8f:a9:b6:83:5a:a5:96:90:45:61:f5:de:03:4f: + 26:0f:a8:8b:f0:03:96:b0:ac:15:d0:71:5a:6a:7b:94:e6:70: + 93:da:f1:69:e0:b2:62:4d:9e:8f:ff:89:9d:9b:5d:cd:45:e9: + 94:02:22:8d:e0:35:7f:e8:f1:04:79:71:6c:54:83:f8:33:b9: + 05:32:1b:58:55:11:4f:d0:e5:27:47:71:ec:ed:da:67:d6:62: + a6:4b:4d:0f:69:a2:c9:bc:ec:22:4b:94:c7:68:94:17:7e:e2: + 8e:28:3e:b6:c6:ea:f5:34:6c:9f:37:88:07:38:db:86:71:fa: + cd:95:48:43:6e:a3:4f:82:87:d7:34:98:6e:4b:93:79:60:75: + 69:0f:f0:1a:d5:53:fa:21:0c:c2:3f:e9:3f:1f:18:8c:92:5d: + 78:a7:76:67:19:bb:b2:ea:7f:e9:70:09:56:56:a3:b0:0c:0b: + 2d:36:5e:c5:e9:c4:d5:83:cb:86:17:97:2c:6c:13:6f:87:5a: + af:49:a6:1d:db:cd:38:04:2e:5f:e2:4a:35:0e:2d:4b:f8:a2: + 24:04:8d:d8:e1:63:5e:02:92:34:da:98:61:5c:1c:6f:58:76: + 64:b3:fc:02:b8:f5:9d:0a +SHA1 Fingerprint=A5:5B:D8:47:6C:8F:19:F7:4C:F4:6D:6B:B6:C2:79:82:22:DF:54:8B +-----BEGIN CERTIFICATE----- +MIIFqTCCA5GgAwIBAgIQaSYJfoBLTKCnjHhiU19abzANBgkqhkiG9w0BAQ0FADBI +MQswCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlE +LVRSVVNUIEVWIFJvb3QgQ0EgMiAyMDIzMB4XDTIzMDUwOTA5MTAzM1oXDTM4MDUw +OTA5MTAzMlowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEi +MCAGA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDIgMjAyMzCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBANiOo4mAC7JXUtypU0w3uX9jFxPvp1sjW2l1sJkK +F8GLxNuo4MwxusLyzV3pt/gdr2rElYfXR8mV2IIEUD2BCP/kPbOx1sWy/YgJ25yE +7CUXFId/MHibaljJtnMoPDT3mfd/06b4HEV8rSyMlD/YZxBTfiLNTiVR8CUkNRFe +EMbsh2aJgWi6zCudR3Mfvc2RpHJqnKIbGKBv7FD0fUDCqDDPvXPIEysQEx6Lmqg6 +lHPTGGkKSv/BAQP/eX+1SH977ugpbzZMlWGG2Pmic4ruri+W7mjNPU0oQvlFKzIb +RlUWaqZLKfm7lVa/Rh3sHZMdwGWyH6FDrlaeoLGPaxK3YG14C8qKXO0elg6DpkiV +jTujIcSuWMYAsoS0I6SWhjW42J7YrDRJmGOVxcttSEfi8i4YHtAxq9107PncjLgc +jmgjutDzUNzPZY9zOjLHfP7KgiJPvo5iR2blzYfi6NUPGJ/lBHJLRjwQ8kTCZFZx +TnXonMkmdMV9WdEKWw9t/p51HBjGGjp82A0EzM23RWV6sY+4roRIPrN6TagD4uJ+ +ARZZaBhDM7DS3LAaQzXupdqpRlyuhoFBAUp0JuyfBr/CBTdkdXgpaP3F9ev+R/nk +hbDhezGdpn9yo7nELC7MmVcOIQxFAZRl62UJxmMiCzNJkkg8/M3OsD6Onov4/knF +NXJHAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUqvyREBuH +kV8Wub9PS5FeAByxMoAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRCMEAwPqA8oDqG +OGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfZXZfcm9vdF9jYV8y +XzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQCTy6UfmRHsmg1fLBWTxj++EI14 +QvBukEdHjqOSMo1wj/Zbjb6JzkcBahsgIIlbyIIQbODnmaprxiqgYzWRaoUlrRc4 +pZt+UPJ26oUFKidBK7GB0aL2QHWpDsvxVUjY7NHss+jOFKE17MJeNRqrphYBBo7q +3C+jisosketSjl8MmxfPy3MHGcRqwnNU73xDUmPBEcrCRbH0O1P1aa4846XerOhU +t7KR/aypH/KH5BfGSah82ApB9PI+53c0BFLd6IHyTS9URZ0V4U/M5d40VxDJI3IX +cI1QcB9WbMy5/zpaT2N6w25lBx2Eof+pDGOJbbJAiDnXH3dotfyc1dZnaVuodNv8 +ifYbMvekJKZ2t0dT741Jj6m2g1qllpBFYfXeA08mD6iL8AOWsKwV0HFaanuU5nCT +2vFp4LJiTZ6P/4mdm13NRemUAiKN4DV/6PEEeXFsVIP4M7kFMhtYVRFP0OUnR3Hs +7dpn1mKmS00PaaLJvOwiS5THaJQXfuKOKD62xur1NGyfN4gHONuGcfrNlUhDbqNP +gofXNJhuS5N5YHVpD/Aa1VP6IQzCP+k/HxiMkl14p3ZnGbuy6n/pcAlWVqOwDAst +Nl7F6cTVg8uGF5csbBNvh1qvSaYd2804BC5f4ko1Di1L+KIkBI3Y4WNeApI02phh +XBxvWHZks/wCuPWdCg== +-----END CERTIFICATE----- diff --git a/secure/caroot/trusted/FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem b/secure/caroot/trusted/FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem new file mode 100644 index 000000000000..c3372985be38 --- /dev/null +++ b/secure/caroot/trusted/FIRMAPROFESIONAL_CA_ROOT-A_WEB.pem @@ -0,0 +1,71 @@ +## +## FIRMAPROFESIONAL CA ROOT-A WEB +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## It contains a certificate trusted for server authentication. +## +## Extracted from nss +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 31:97:21:ed:af:89:42:7f:35:41:87:a1:67:56:4c:6d + Signature Algorithm: ecdsa-with-SHA384 + Issuer: C = ES, O = Firmaprofesional SA, organizationIdentifier = VATES-A62634068, CN = FIRMAPROFESIONAL CA ROOT-A WEB + Validity + Not Before: Apr 6 09:01:36 2022 GMT + Not After : Mar 31 09:01:36 2047 GMT + Subject: C = ES, O = Firmaprofesional SA, organizationIdentifier = VATES-A62634068, CN = FIRMAPROFESIONAL CA ROOT-A WEB + Subject Public Key Info: + Public Key Algorithm: id-ecPublicKey + Public-Key: (384 bit) + pub: + 04:47:53:ea:2c:11:a4:77:c7:2a:ea:f3:d6:5f:7b: + d3:04:91:5c:fa:88:c6:22:b9:83:10:62:77:84:33: + 2d:e9:03:88:d4:e0:33:f7:ed:77:2c:4a:60:ea:e4: + 6f:ad:6d:b4:f8:4c:8a:a4:e4:1f:ca:ea:4f:38:4a: + 2e:82:73:2b:c7:66:9b:0a:8c:40:9c:7c:8a:f6:f2: + 39:60:b2:de:cb:ec:b8:e4:6f:ea:9b:5d:b7:53:90: + 18:32:55:c5:20:b7:94 + ASN1 OID: secp384r1 + NIST CURVE: P-384 + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Authority Key Identifier: + 93:E1:43:63:5C:3C:9D:D6:27:F3:52:EC:17:B2:A9:AF:2C:F7:76:F8 + X509v3 Subject Key Identifier: + 93:E1:43:63:5C:3C:9D:D6:27:F3:52:EC:17:B2:A9:AF:2C:F7:76:F8 + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + Signature Algorithm: ecdsa-with-SHA384 + Signature Value: + 30:65:02:30:1d:7c:a4:7b:c3:89:75:33:e1:3b:a9:45:bf:46: + e9:e9:a1:dd:c9:22:16:b7:47:11:0b:d8:9a:ba:f1:c8:0b:70: + 50:53:02:91:70:85:59:a9:1e:a4:e6:ea:23:31:a0:00:02:31: + 00:fd:e2:f8:b3:af:16:b9:1e:73:c4:96:e3:c1:30:19:d8:7e: + e6:c3:97:de:1c:4f:b8:89:2f:33:eb:48:0f:19:f7:87:46:5d: + 26:90:a5:85:c5:b9:7a:94:3e:87:a8:bd:00 +SHA1 Fingerprint=A8:31:11:74:A6:14:15:0D:CA:77:DD:0E:E4:0C:5D:58:FC:A0:72:A5 +-----BEGIN CERTIFICATE----- +MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQsw +CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE +YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB +IFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2WhcNNDcwMzMxMDkwMTM2WjBuMQsw +CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE +YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB +IFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zf +e9MEkVz6iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6C +cyvHZpsKjECcfIr28jlgst7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB +/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FDY1w8ndYn81LsF7Kpryz3dvgwHQYDVR0O +BBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjO +PQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgLcFBTApFw +hVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dG +XSaQpYXFuXqUPoeovQA= +-----END CERTIFICATE----- diff --git a/secure/caroot/trusted/SecureSign_Root_CA12.pem b/secure/caroot/trusted/SecureSign_Root_CA12.pem new file mode 100644 index 000000000000..0e2b8a20edb2 --- /dev/null +++ b/secure/caroot/trusted/SecureSign_Root_CA12.pem @@ -0,0 +1,93 @@ +## +## SecureSign Root CA12 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## It contains a certificate trusted for server authentication. +## +## Extracted from nss +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 66:f9:c7:c1:af:ec:c2:51:b4:ed:53:97:e6:e6:82:c3:2b:1c:90:16 + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = JP, O = "Cybertrust Japan Co., Ltd.", CN = SecureSign Root CA12 + Validity + Not Before: Apr 8 05:36:46 2020 GMT + Not After : Apr 8 05:36:46 2040 GMT + Subject: C = JP, O = "Cybertrust Japan Co., Ltd.", CN = SecureSign Root CA12 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:ba:39:c1:37:7a:68:45:2b:14:b4:eb:e4:13:eb: + 57:75:23:4d:8f:24:2d:16:e8:ae:8e:c9:7d:a4:57: + 3b:2a:76:25:33:83:6c:ea:32:8a:94:9b:4e:3c:96: + e4:fd:51:bf:99:c9:93:7e:bf:f9:ad:a7:b2:48:2b: + 07:1c:27:f5:4c:bc:70:12:77:a4:85:54:b5:fd:90: + 7a:e4:a3:e4:51:58:03:cd:10:79:79:ee:6b:93:1f: + 64:8e:6b:64:ab:a3:13:e3:71:fe:7d:ab:9c:dd:27: + 53:37:b3:aa:18:c2:59:26:ec:5b:1f:d2:e6:65:7c: + ef:93:bd:d8:58:5c:0b:c0:e3:65:6f:3c:c7:ca:59: + e3:fe:6e:5f:ac:83:be:fd:5d:25:4e:2a:29:3b:d6: + 0b:ab:17:32:78:a4:e1:3e:94:46:be:62:6e:9b:de: + 46:a8:b1:16:e7:85:6e:f4:08:40:45:11:a0:9e:54: + 44:84:f7:d8:36:ce:f5:50:47:dc:2c:30:9b:ee:c0: + f5:96:d2:fe:09:86:c7:06:59:ae:4f:ae:8e:11:98: + 7b:f3:0b:52:aa:62:26:aa:21:df:8e:25:33:79:97: + 16:49:8d:f5:3e:d5:47:9f:37:31:49:33:72:05:4d: + 0c:b6:55:8c:f1:57:8f:8a:87:d1:ad:c5:11:12:39: + a0:ad + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 57:34:F3:74:CF:04:4B:D5:25:E6:F1:40:B6:2C:4C:D9:2D:E9:A0:AD + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + 3e:bb:db:17:16:d2:f2:14:01:20:2c:38:83:4b:ad:be:ca:85: + 7a:9a:b6:9b:6b:a6:e1:fc:a5:3a:ac:ad:b4:28:3a:af:d7:01: + 83:49:2b:63:a2:dd:9a:64:0e:98:5c:6f:dd:8e:bb:8a:54:22: + 2d:4a:13:f3:ae:40:43:db:4f:91:b7:86:1a:ec:00:b4:41:81: + a4:4f:fa:6a:8b:88:b3:76:08:72:2a:49:40:c3:d3:c3:85:89: + 98:10:a5:9d:6f:19:b7:bb:cf:7a:65:55:db:37:eb:3c:8a:72: + 32:97:1e:9a:29:3e:ad:8d:e6:a3:1b:6d:f5:75:1a:e6:b0:68: + b9:5b:a2:ee:69:47:27:35:a1:86:99:80:f3:33:4b:e1:6b:a4: + 26:c3:ef:74:59:6c:7a:a2:64:b6:1e:44:c3:50:e0:0f:39:3d: + a9:33:f1:a5:f3:d2:bd:62:84:ac:8e:1c:a9:cd:5a:bd:37:3b: + 6e:0a:22:b4:f4:15:e7:91:58:c5:3a:44:d3:95:28:d9:c0:65: + e9:72:ca:d0:0f:bd:1f:b3:15:d9:a9:e3:a4:47:09:9e:e0:cb: + 37:fb:fd:bd:97:d5:be:18:1a:69:a2:39:81:d9:1a:f5:ab:7f: + c8:e3:e2:67:0b:9d:f4:0c:ea:54:df:d2:b2:af:b1:22:f1:20: + df:bc:44:1c +SHA1 Fingerprint=7A:22:1E:3D:DE:1B:06:AC:9E:C8:47:70:16:8E:3C:E5:F7:6B:06:F4 +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUZvnHwa/swlG07VOX5uaCwysckBYwDQYJKoZIhvcNAQEL +BQAwUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28u +LCBMdGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExMjAeFw0yMDA0MDgw +NTM2NDZaFw00MDA0MDgwNTM2NDZaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpD +eWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBS +b290IENBMTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6OcE3emhF +KxS06+QT61d1I02PJC0W6K6OyX2kVzsqdiUzg2zqMoqUm048luT9Ub+ZyZN+v/mt +p7JIKwccJ/VMvHASd6SFVLX9kHrko+RRWAPNEHl57muTH2SOa2SroxPjcf59q5zd +J1M3s6oYwlkm7Fsf0uZlfO+TvdhYXAvA42VvPMfKWeP+bl+sg779XSVOKik71gur +FzJ4pOE+lEa+Ym6b3kaosRbnhW70CEBFEaCeVESE99g2zvVQR9wsMJvuwPWW0v4J +hscGWa5Pro4RmHvzC1KqYiaqId+OJTN5lxZJjfU+1UefNzFJM3IFTQy2VYzxV4+K +h9GtxRESOaCtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBRXNPN0zwRL1SXm8UC2LEzZLemgrTANBgkqhkiG9w0BAQsF +AAOCAQEAPrvbFxbS8hQBICw4g0utvsqFepq2m2um4fylOqyttCg6r9cBg0krY6Ld +mmQOmFxv3Y67ilQiLUoT865AQ9tPkbeGGuwAtEGBpE/6aouIs3YIcipJQMPTw4WJ +mBClnW8Zt7vPemVV2zfrPIpyMpcemik+rY3moxtt9XUa5rBouVui7mlHJzWhhpmA +8zNL4WukJsPvdFlseqJkth5Ew1DgDzk9qTPxpfPSvWKErI4cqc1avTc7bgoitPQV +55FYxTpE05Uo2cBl6XLK0A+9H7MV2anjpEcJnuDLN/v9vZfVvhgaaaI5gdka9at/ +yOPiZwud9AzqVN/Ssq+xIvEg37xEHA== +-----END CERTIFICATE----- diff --git a/secure/caroot/trusted/SecureSign_Root_CA14.pem b/secure/caroot/trusted/SecureSign_Root_CA14.pem new file mode 100644 index 000000000000..261254699085 --- /dev/null +++ b/secure/caroot/trusted/SecureSign_Root_CA14.pem @@ -0,0 +1,135 @@ +## +## SecureSign Root CA14 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## It contains a certificate trusted for server authentication. +## +## Extracted from nss +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 64:db:5a:0c:20:4e:e8:d7:29:77:c8:50:27:a2:5a:27:dd:2d:f2:cb + Signature Algorithm: sha384WithRSAEncryption + Issuer: C = JP, O = "Cybertrust Japan Co., Ltd.", CN = SecureSign Root CA14 + Validity + Not Before: Apr 8 07:06:19 2020 GMT + Not After : Apr 8 07:06:19 2045 GMT + Subject: C = JP, O = "Cybertrust Japan Co., Ltd.", CN = SecureSign Root CA14 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:c5:d2:7a:a1:d6:8a:bf:16:31:d0:98:d1:3a:94: + fc:5a:b8:6e:22:c1:62:f7:a7:0a:27:ef:50:f6:2e: + b1:9e:68:12:f0:6c:24:63:39:f1:f0:df:10:c6:de: + b7:52:20:d5:52:5b:42:99:9e:f3:a0:be:52:1f:5f: + cc:67:6d:a7:2e:50:a2:c1:97:8d:b6:f8:95:f5:b0: + ba:dc:9d:e0:be:cb:df:f7:38:f2:47:f5:a6:9a:92: + 95:2a:62:59:50:0b:a2:b1:35:e7:65:b2:61:b2:ea: + 92:71:69:e4:29:f0:4f:81:81:04:3c:b2:a5:5b:d4: + c5:a8:59:67:7b:55:1c:49:ab:7a:9d:c2:e7:73:4d: + ef:cd:09:c2:c4:57:12:db:01:0e:23:79:09:07:3b: + a2:e8:fc:8a:cf:8f:c0:46:24:9c:38:27:e0:83:9d: + 1b:a0:bf:78:15:10:eb:86:4e:0a:5a:fd:df:da:2c: + 82:7e:ee:ca:f6:29:e1:fa:71:a1:f7:88:68:9c:9c: + f0:8d:be:0f:49:91:d8:ea:3a:f9:fd:d0:68:71:db: + e9:b5:2b:4e:82:92:6f:66:1f:e0:f0:dc:4c:ec:ca: + d1:ea:ba:74:06:f9:b3:84:90:94:d1:5f:8e:73:19: + 10:5d:02:e5:70:a5:c0:10:d0:10:7c:6f:c5:58:49: + b4:b0:6e:9a:da:7d:95:f5:cc:da:02:af:b8:2c:7d: + 79:8f:be:43:f1:f9:28:28:8d:09:43:f8:08:dd:6b: + c8:8b:2c:24:b1:8d:52:07:bd:78:9b:cb:ca:68:b2: + a4:dd:0c:4c:79:60:c6:99:d1:93:f1:30:1a:07:d3: + ae:22:c2:ea:ce:f1:84:09:cc:e0:14:6e:7f:3f:7e: + d2:82:85:ac:dc:a9:16:4e:85:a0:60:cb:f6:9c:d7: + c8:b3:8e:ed:c6:9b:98:75:0d:55:e8:5f:e5:95:8b: + 02:a4:ae:43:29:28:11:a4:e6:12:30:01:4b:75:6b: + 1e:66:9d:79:2f:a5:76:2f:1d:40:b4:6d:c9:7d:79: + 08:ec:d1:6a:b6:5d:2a:b2:a5:66:bd:6b:85:f4:74: + 56:c3:f5:e7:75:52:28:2c:a5:ff:66:47:a5:d4:fe: + fe:9e:54:bf:65:7e:01:d6:30:8f:a5:36:9c:a2:50: + 1c:ee:38:80:01:48:c6:c7:74:f4:c6:ac:c3:40:49: + 16:61:74:2c:af:8c:6f:35:ed:7b:18:00:5b:36:3c: + 9c:50:0d:ca:92:33:10:f1:26:49:6d:df:75:24:37: + 82:22:d7:e8:96:fd:15:4b:02:96:3e:07:72:95:7e: + ab:3d:4c:2e:d7:ca:f0:df:e0:58:3f:2d:2f:04:9a: + 38:a3:01 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + 06:93:A3:0A:5E:28:69:37:AA:61:1D:EB:EB:FC:2D:6F:23:E4:F3:A0 + Signature Algorithm: sha384WithRSAEncryption + Signature Value: + 96:80:72:09:06:7e:9c:cc:93:04:16:bb:a0:3a:8d:92:4e:b7: + 11:1a:0a:71:71:10:cd:04:ad:7f:a5:45:50:10:66:4e:4a:41: + a2:03:d9:11:4f:7a:37:b9:4b:e2:c6:8f:32:66:75:25:fb:eb: + ce:3f:03:29:26:8d:b8:16:1d:f6:1f:33:6e:48:e6:e8:f8:57: + b2:1b:79:df:3b:87:0a:e2:64:ba:00:ca:6c:ef:7e:d0:23:eb: + 78:8f:ff:64:9b:34:37:9f:35:65:a2:a4:00:3d:12:23:96:58: + 5d:ca:63:87:c6:a3:07:88:4d:e7:69:76:8a:53:cd:f1:4f:ec: + 42:f2:93:e3:99:a4:37:3c:87:b8:62:db:f0:ec:1f:37:3f:37: + 5f:43:cc:51:9d:b5:f0:97:c2:b7:85:6a:68:0b:44:1e:e5:51: + ee:93:ce:4b:6e:86:c1:d2:0c:24:59:36:1a:9f:2c:91:8f:e3: + 18:db:94:95:0a:ed:91:aa:0e:99:dc:96:53:e3:61:83:c6:16: + ba:23:ba:dc:dd:7e:1a:c6:7b:42:b6:d9:5a:05:dc:9a:5f:d5: + df:b8:da:47:7d:da:38:db:ac:39:d5:1e:6b:6c:2a:17:8c:61: + cd:b1:6d:72:01:c3:c3:20:00:62:68:16:31:d5:76:aa:86:bb: + 0e:aa:9e:c6:f9:f0:d9:f8:0d:21:02:e4:c5:28:16:59:11:b9: + d9:69:73:2a:92:78:b8:92:57:9b:08:f2:3a:e5:2f:95:b0:58: + b7:6b:20:14:6d:14:ef:0a:bc:7e:d8:55:d8:88:da:2f:fa:19: + a5:fb:8b:e0:7f:39:f5:72:2b:85:c4:2c:ac:ef:19:45:92:4c: + b3:61:07:dc:4d:1f:6e:d2:81:13:5c:9a:f3:12:67:83:cf:9b: + 3f:8b:9f:9d:a4:b9:a8:96:03:7a:c5:ee:20:de:33:da:2f:9e: + 1a:7a:74:1e:e1:ee:cc:5a:3a:04:dd:b3:1a:04:a8:14:63:ac: + b7:47:12:83:9a:6c:f5:e6:e9:15:15:91:1a:84:19:0e:94:44: + e7:12:8e:25:5b:80:67:19:dc:63:93:10:0b:65:2e:8a:fa:09: + 9a:4e:da:86:28:7d:aa:61:35:d8:0e:a7:28:1a:bb:52:e0:78: + f8:6c:ba:6c:b0:6e:b9:87:5e:e9:99:35:37:f1:3d:64:2b:a9: + a0:34:93:cf:63:2f:d5:81:df:ae:63:27:a5:1e:4e:8d:dc:29: + 78:59:f8:f9:a1:20:8c:a7:26:40:6e:82:72:cd:78:b2:c8:8f: + 3c:1e:73:e7:c1:1f:bf:cf:ce:a5:2a:9b:db:44:64:32:a0:bb: + 7f:5c:25:13:48:b5:7f:92 +SHA1 Fingerprint=DD:50:C0:F7:79:B3:64:2E:74:A2:B8:9D:9F:D3:40:DD:BB:F0:F2:4F +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIUZNtaDCBO6Ncpd8hQJ6JaJ90t8sswDQYJKoZIhvcNAQEM +BQAwUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28u +LCBMdGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExNDAeFw0yMDA0MDgw +NzA2MTlaFw00NTA0MDgwNzA2MTlaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpD +eWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBS +b290IENBMTQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDF0nqh1oq/ +FjHQmNE6lPxauG4iwWL3pwon71D2LrGeaBLwbCRjOfHw3xDG3rdSINVSW0KZnvOg +vlIfX8xnbacuUKLBl422+JX1sLrcneC+y9/3OPJH9aaakpUqYllQC6KxNedlsmGy +6pJxaeQp8E+BgQQ8sqVb1MWoWWd7VRxJq3qdwudzTe/NCcLEVxLbAQ4jeQkHO6Lo +/IrPj8BGJJw4J+CDnRugv3gVEOuGTgpa/d/aLIJ+7sr2KeH6caH3iGicnPCNvg9J +kdjqOvn90Ghx2+m1K06Ckm9mH+Dw3EzsytHqunQG+bOEkJTRX45zGRBdAuVwpcAQ +0BB8b8VYSbSwbprafZX1zNoCr7gsfXmPvkPx+SgojQlD+Ajda8iLLCSxjVIHvXib +y8posqTdDEx5YMaZ0ZPxMBoH064iwurO8YQJzOAUbn8/ftKChazcqRZOhaBgy/ac +18izju3Gm5h1DVXoX+WViwKkrkMpKBGk5hIwAUt1ax5mnXkvpXYvHUC0bcl9eQjs +0Wq2XSqypWa9a4X0dFbD9ed1Uigspf9mR6XU/v6eVL9lfgHWMI+lNpyiUBzuOIAB +SMbHdPTGrMNASRZhdCyvjG817XsYAFs2PJxQDcqSMxDxJklt33UkN4Ii1+iW/RVL +ApY+B3KVfqs9TC7XyvDf4Fg/LS8EmjijAQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUBpOjCl4oaTeqYR3r6/wtbyPk +86AwDQYJKoZIhvcNAQEMBQADggIBAJaAcgkGfpzMkwQWu6A6jZJOtxEaCnFxEM0E +rX+lRVAQZk5KQaID2RFPeje5S+LGjzJmdSX7684/AykmjbgWHfYfM25I5uj4V7Ib +ed87hwriZLoAymzvftAj63iP/2SbNDefNWWipAA9EiOWWF3KY4fGoweITedpdopT +zfFP7ELyk+OZpDc8h7hi2/DsHzc/N19DzFGdtfCXwreFamgLRB7lUe6TzktuhsHS +DCRZNhqfLJGP4xjblJUK7ZGqDpncllPjYYPGFrojutzdfhrGe0K22VoF3Jpf1d+4 +2kd92jjbrDnVHmtsKheMYc2xbXIBw8MgAGJoFjHVdqqGuw6qnsb58Nn4DSEC5MUo +FlkRudlpcyqSeLiSV5sI8jrlL5WwWLdrIBRtFO8KvH7YVdiI2i/6GaX7i+B/OfVy +K4XELKzvGUWSTLNhB9xNH27SgRNcmvMSZ4PPmz+Ln52kuaiWA3rF7iDeM9ovnhp6 +dB7h7sxaOgTdsxoEqBRjrLdHEoOabPXm6RUVkRqEGQ6UROcSjiVbgGcZ3GOTEAtl +Lor6CZpO2oYofaphNdgOpygau1LgePhsumywbrmHXumZNTfxPWQrqaA0k89jL9WB +365jJ6UeTo3cKXhZ+PmhIIynJkBugnLNeLLIjzwec+fBH7/PzqUqm9tEZDKgu39c +JRNItX+S +-----END CERTIFICATE----- diff --git a/secure/caroot/trusted/SecureSign_Root_CA15.pem b/secure/caroot/trusted/SecureSign_Root_CA15.pem new file mode 100644 index 000000000000..4d598436ea36 --- /dev/null +++ b/secure/caroot/trusted/SecureSign_Root_CA15.pem @@ -0,0 +1,67 @@ +## +## SecureSign Root CA15 +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## It contains a certificate trusted for server authentication. +## +## Extracted from nss +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 16:15:c7:c3:d8:49:a7:be:69:0c:8a:88:ed:f0:70:f9:dd:b7:3e:87 + Signature Algorithm: ecdsa-with-SHA384 + Issuer: C = JP, O = "Cybertrust Japan Co., Ltd.", CN = SecureSign Root CA15 + Validity + Not Before: Apr 8 08:32:56 2020 GMT + Not After : Apr 8 08:32:56 2045 GMT + Subject: C = JP, O = "Cybertrust Japan Co., Ltd.", CN = SecureSign Root CA15 + Subject Public Key Info: + Public Key Algorithm: id-ecPublicKey + Public-Key: (384 bit) + pub: + 04:0b:50:74:8d:64:32:99:99:b3:d2:60:08:b8:22: + 8e:46:74:2c:78:c0:2b:44:2d:6d:5f:1d:c9:ae:4b: + 52:20:83:3d:b8:14:6d:53:87:60:9e:5f:6c:85:db: + 06:14:95:e0:c7:28:ff:9d:5f:e4:aa:f1:b3:8b:6d: + ed:4f:2f:4b:c9:4a:94:91:64:75:fe:01:ec:c1:d8: + eb:7a:94:78:56:18:43:5f:6b:81:cb:f6:bc:da:b4: + 0c:b6:29:93:08:69:8f + ASN1 OID: secp384r1 + NIST CURVE: P-384 + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Subject Key Identifier: + EB:41:C8:AE:FC:D5:9E:51:48:F5:BD:8B:F4:87:20:93:41:2B:D3:F4 + Signature Algorithm: ecdsa-with-SHA384 + Signature Value: + 30:65:02:31:00:d9:2e:89:7e:5e:4e:a4:11:07:bd:59:c2:07: + de:ab:32:38:53:2a:46:44:06:17:7a:ce:51:e9:e0:ff:66:2d: + 09:4e:e0:4f:f4:05:d1:85:f6:35:60:dc:f5:72:b3:46:7d:02: + 30:44:98:46:1a:82:85:1e:61:69:89:4b:07:4b:66:b5:9e:aa: + ba:a0:1e:41:d9:01:74:3a:6e:45:3a:89:80:19:7b:32:98:55: + 63:ab:eb:63:6e:93:6d:ab:1b:09:60:31:4e +SHA1 Fingerprint=CB:BA:83:C8:C1:5A:5D:F1:F9:73:6F:CA:D7:EF:28:13:06:4A:07:7D +-----BEGIN CERTIFICATE----- +MIICIzCCAamgAwIBAgIUFhXHw9hJp75pDIqI7fBw+d23PocwCgYIKoZIzj0EAwMw +UTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBM +dGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExNTAeFw0yMDA0MDgwODMy +NTZaFw00NTA0MDgwODMyNTZaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJl +cnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBSb290 +IENBMTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQLUHSNZDKZmbPSYAi4Io5GdCx4 +wCtELW1fHcmuS1Iggz24FG1Th2CeX2yF2wYUleDHKP+dX+Sq8bOLbe1PL0vJSpSR +ZHX+AezB2Ot6lHhWGENfa4HL9rzatAy2KZMIaY+jQjBAMA8GA1UdEwEB/wQFMAMB +Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTrQciu/NWeUUj1vYv0hyCTQSvT +9DAKBggqhkjOPQQDAwNoADBlAjEA2S6Jfl5OpBEHvVnCB96rMjhTKkZEBhd6zlHp +4P9mLQlO4E/0BdGF9jVg3PVys0Z9AjBEmEYagoUeYWmJSwdLZrWeqrqgHkHZAXQ6 +bkU6iYAZezKYVWOr62Nuk22rGwlgMU4= +-----END CERTIFICATE----- diff --git a/secure/caroot/trusted/TWCA_CYBER_Root_CA.pem b/secure/caroot/trusted/TWCA_CYBER_Root_CA.pem new file mode 100644 index 000000000000..f3a6b60e3bc8 --- /dev/null +++ b/secure/caroot/trusted/TWCA_CYBER_Root_CA.pem @@ -0,0 +1,137 @@ +## +## TWCA CYBER Root CA +## +## This is a single X.509 certificate for a public Certificate +## Authority (CA). It was automatically extracted from Mozilla's +## root CA list (the file `certdata.txt' in security/nss). +## +## It contains a certificate trusted for server authentication. +## +## Extracted from nss +## +## @generated +## +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 40:01:34:8c:c2:00:00:00:00:00:00:00:01:3c:f2:c6 + Signature Algorithm: sha384WithRSAEncryption + Issuer: C = TW, O = TAIWAN-CA, OU = Root CA, CN = TWCA CYBER Root CA + Validity + Not Before: Nov 22 06:54:29 2022 GMT + Not After : Nov 22 15:59:59 2047 GMT + Subject: C = TW, O = TAIWAN-CA, OU = Root CA, CN = TWCA CYBER Root CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:c6:f8:ca:1e:d9:09:20:7e:1d:6c:4e:ce:8f:e3: + 47:33:44:9c:c7:c9:69:aa:3a:5b:78:ee:70:d2:92: + f8:04:b3:52:52:1d:67:72:28:a1:df:8b:5d:95:0a: + fe:ea:cd:ed:f7:29:ce:f0:6f:7f:ac:cd:3d:ef:b3: + 1c:45:6a:f7:28:90:f1:61:57:c5:0c:c4:a3:50:5d: + de:d4:b5:cb:19:ca:80:b9:75:ce:29:ce:d2:85:22: + ec:02:63:cc:44:30:20:da:ea:91:5b:56:e6:1d:1c: + d5:9d:66:c7:3f:df:86:ca:4b:53:c4:d9:8d:b2:1d: + ea:f8:dc:27:53:a3:47:e1:61:cc:7d:b5:b0:f8:ee: + 73:91:c5:ce:73:6f:ce:ee:10:1f:1a:06:cf:e9:27: + 60:c5:4f:19:e4:eb:ce:22:26:45:d7:60:99:dd:ce: + 4f:37:e0:7f:e7:63:ad:b0:b8:59:b8:d0:06:68:35: + 60:d3:36:ae:71:43:04:f1:69:65:78:7c:f3:1f:f3: + ca:28:9f:5a:20:95:66:b4:cd:b7:ee:8f:78:a4:45: + 18:e9:26:2f:8d:9b:29:28:b1:a4:b7:3a:6d:b9:d4: + 1c:38:72:45:58:b1:5e:eb:f0:28:9b:b7:82:ca:fd: + cf:d6:33:0f:9f:fb:97:9e:b1:1c:9c:9e:ea:5f:5e: + db:aa:dd:54:e9:30:21:28:6d:8e:79:f3:75:92:8c: + 26:fe:dc:c5:f6:c3:b0:df:44:59:43:a3:b6:03:28: + f6:08:30:aa:0d:33:e1:ef:9c:a9:07:22:e3:59:5b: + 40:8f:da:88:b7:69:08:a8:b7:23:2e:44:09:59:37: + 5b:c7:e3:17:f2:22:eb:6e:39:52:c5:de:54:a7:98: + c9:4b:20:95:dc:46:89:5f:b4:12:f9:85:29:8e:eb: + c8:27:15:20:c0:4b:d4:cc:7c:0c:6c:34:0c:26:9b: + 26:31:a6:3c:a7:f6:d9:d0:4b:a2:64:ff:3b:99:41: + 72:c1:e0:70:97:f1:24:bb:2b:c4:74:22:b1:ac:6b: + 22:32:24:d3:78:2a:c0:c0:a1:2f:f1:52:05:c9:3f: + ef:76:66:e2:45:d8:0d:3d:ad:95:c8:c7:89:26:c8: + 0f:ae:a7:03:2e:fb:c1:5f:fa:20:e1:70:ad:b0:65: + 20:37:33:60:b0:d5:af:d7:0c:1c:c2:90:70:d7:4a: + 18:bc:7e:01:b0:b0:eb:15:1e:44:06:cd:a4:4f:e8: + 0c:d1:c3:20:10:e1:54:65:9e:b6:51:d0:1a:76:6b: + 42:5a:58:76:34:ea:b7:37:19:ae:2e:75:f9:96:e5: + c1:59:f7:94:57:29:25:8d:3a:4c:ab:4d:9a:41:d0: + 5f:26:03 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Certificate Sign, CRL Sign + X509v3 Basic Constraints: critical + CA:TRUE + X509v3 Authority Key Identifier: + 9D:85:61:14:7C:C1:62:6F:97:68:E4:4F:37:40:E1:AD:E0:0D:56:37 + X509v3 Subject Key Identifier: + 9D:85:61:14:7C:C1:62:6F:97:68:E4:4F:37:40:E1:AD:E0:0D:56:37 + Signature Algorithm: sha384WithRSAEncryption + Signature Value: + 64:8f:7a:c4:62:0e:b5:88:cc:b8:c7:86:0e:a1:4a:16:cd:70: + 0b:b7:a7:85:0b:b3:76:b6:0f:a7:ff:08:8b:0b:25:cf:a8:d4: + 83:75:2a:b8:96:88:b6:fb:df:2d:2d:b4:69:53:21:35:57:d6: + 89:4d:73:bf:69:8f:70:a3:61:cc:9a:db:1e:9a:e0:20:f8:6c: + bb:9b:22:9d:5d:84:31:9a:2c:8a:dd:6a:a1:d7:28:69:ca:fe: + 76:55:7a:46:67:eb:cc:43:88:16:a2:03:d6:b9:17:f8:19:6c: + 6d:23:02:7f:f1:5f:d0:0a:29:23:3b:d1:aa:0a:ed:a9:17:26: + 54:0a:4d:c2:a5:4d:f8:c5:fd:b8:81:cf:2b:2c:78:a3:67:4c: + a9:07:9a:f3:df:5e:fb:7c:f5:89:cd:74:97:61:10:6a:07:2b: + 81:5a:d2:8e:b7:e7:20:d1:20:6e:24:a8:84:27:a1:57:ac:aa: + 55:58:2f:dc:d9:ca:fa:68:04:9e:ed:44:24:f9:74:40:3b:23: + 33:ab:83:5a:18:26:42:b6:6d:54:b5:16:60:30:6c:b1:a0:f8: + b8:41:a0:5d:49:49:d2:65:05:3a:ea:fe:9d:61:bc:86:d9:bf: + de:d3:ba:3a:b1:7f:7e:92:34:8e:c9:00:6e:dc:98:bd:dc:ec: + 80:05:ad:02:3d:df:65:ed:0b:03:f7:f7:16:84:04:31:ba:93: + 94:d8:f2:12:f8:8a:e3:bf:42:af:a7:d4:cd:11:17:16:c8:42: + 1d:14:a8:42:f6:d2:40:86:a0:4f:23:ca:96:45:56:60:06:cd: + b7:55:01:a6:01:94:65:fe:6e:05:09:ba:b4:a4:aa:e2:ef:58: + be:bd:27:56:d8:ef:73:71:5b:44:33:f2:9a:72:ea:b0:5e:3e: + 6e:a9:52:5b:ec:70:6d:b5:87:8f:37:5e:3c:8c:9c:ce:e4:f0: + ce:0c:67:41:cc:ce:f6:80:ab:4e:cc:4c:56:f5:c1:61:59:93: + b4:3e:a6:da:b8:37:12:9f:2a:32:e3:8b:b8:21:ec:c3:2b:65: + 0c:ef:22:de:88:29:3b:4c:d7:fa:fe:b7:e1:47:be:9c:3e:3e: + 83:fb:51:5d:f5:68:f7:2e:21:85:dc:bf:f1:5a:e2:7c:d7:c5: + e4:83:c1:6a:eb:ba:80:5a:de:5c:2d:70:76:f8:c8:e5:87:87: + ca:a0:9d:a1:e5:22:12:27:0f:44:3d:1d:6c:ea:d4:c2:8b:2f: + 6f:79:ab:7f:50:a6:c4:19:a7:a1:7a:b7:96:f9:c1:1f:62:5a: + a2:43:07:40:5e:26:c6:ac:ed:ae:70:16:c5:aa:ca:72:8a:4d: + b0:cf:01:8b:03:3f:6e:d7 +SHA1 Fingerprint=F6:B1:1C:1A:83:38:E9:7B:DB:B3:A8:C8:33:24:E0:2D:9C:7F:26:66 +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIQQAE0jMIAAAAAAAAAATzyxjANBgkqhkiG9w0BAQwFADBQ +MQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290 +IENBMRswGQYDVQQDExJUV0NBIENZQkVSIFJvb3QgQ0EwHhcNMjIxMTIyMDY1NDI5 +WhcNNDcxMTIyMTU1OTU5WjBQMQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FO +LUNBMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJUV0NBIENZQkVSIFJvb3Qg +Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDG+Moe2Qkgfh1sTs6P +40czRJzHyWmqOlt47nDSkvgEs1JSHWdyKKHfi12VCv7qze33Kc7wb3+szT3vsxxF +avcokPFhV8UMxKNQXd7UtcsZyoC5dc4pztKFIuwCY8xEMCDa6pFbVuYdHNWdZsc/ +34bKS1PE2Y2yHer43CdTo0fhYcx9tbD47nORxc5zb87uEB8aBs/pJ2DFTxnk684i +JkXXYJndzk834H/nY62wuFm40AZoNWDTNq5xQwTxaWV4fPMf88oon1oglWa0zbfu +j3ikRRjpJi+NmykosaS3Om251Bw4ckVYsV7r8Cibt4LK/c/WMw+f+5eesRycnupf +Xtuq3VTpMCEobY5583WSjCb+3MX2w7DfRFlDo7YDKPYIMKoNM+HvnKkHIuNZW0CP +2oi3aQiotyMuRAlZN1vH4xfyIutuOVLF3lSnmMlLIJXcRolftBL5hSmO68gnFSDA +S9TMfAxsNAwmmyYxpjyn9tnQS6Jk/zuZQXLB4HCX8SS7K8R0IrGsayIyJNN4KsDA +oS/xUgXJP+92ZuJF2A09rZXIx4kmyA+upwMu+8Ff+iDhcK2wZSA3M2Cw1a/XDBzC +kHDXShi8fgGwsOsVHkQGzaRP6AzRwyAQ4VRlnrZR0Bp2a0JaWHY06rc3Ga4udfmW +5cFZ95RXKSWNOkyrTZpB0F8mAwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSdhWEUfMFib5do5E83QOGt4A1WNzAd +BgNVHQ4EFgQUnYVhFHzBYm+XaORPN0DhreANVjcwDQYJKoZIhvcNAQEMBQADggIB +AGSPesRiDrWIzLjHhg6hShbNcAu3p4ULs3a2D6f/CIsLJc+o1IN1KriWiLb73y0t +tGlTITVX1olNc79pj3CjYcya2x6a4CD4bLubIp1dhDGaLIrdaqHXKGnK/nZVekZn +68xDiBaiA9a5F/gZbG0jAn/xX9AKKSM70aoK7akXJlQKTcKlTfjF/biBzysseKNn +TKkHmvPfXvt89YnNdJdhEGoHK4Fa0o635yDRIG4kqIQnoVesqlVYL9zZyvpoBJ7t +RCT5dEA7IzOrg1oYJkK2bVS1FmAwbLGg+LhBoF1JSdJlBTrq/p1hvIbZv97Tujqx +f36SNI7JAG7cmL3c7IAFrQI932XtCwP39xaEBDG6k5TY8hL4iuO/Qq+n1M0RFxbI +Qh0UqEL20kCGoE8jypZFVmAGzbdVAaYBlGX+bgUJurSkquLvWL69J1bY73NxW0Qz +8ppy6rBePm6pUlvscG21h483XjyMnM7k8M4MZ0HMzvaAq07MTFb1wWFZk7Q+ptq4 +NxKfKjLji7gh7MMrZQzvIt6IKTtM1/r+t+FHvpw+PoP7UV31aPcuIYXcv/Fa4nzX +xeSDwWrruoBa3lwtcHb4yOWHh8qgnaHlIhInD0Q9HWzq1MKLL295q39QpsQZp6F6 +t5b5wR9iWqJDB0BeJsas7a5wFsWqynKKTbDPAYsDP27X +-----END CERTIFICATE----- diff --git a/secure/caroot/untrusted/AddTrust_External_Root.pem b/secure/caroot/untrusted/AddTrust_External_Root.pem deleted file mode 100644 index 97fe312d0e8f..000000000000 --- a/secure/caroot/untrusted/AddTrust_External_Root.pem +++ /dev/null @@ -1,99 +0,0 @@ -## -## AddTrust External Root -## -## This is a single X.509 certificate for a public Certificate -## Authority (CA). It was automatically extracted from Mozilla's -## root CA list (the file `certdata.txt' in security/nss). -## -## Extracted from nss -## with $FreeBSD: head/secure/caroot/MAca-bundle.pl 352951 2019-10-02 01:27:50Z kevans $ -## -## @generated -## -Certificate: - Data: - Version: 3 (0x2) - Serial Number: 1 (0x1) - Signature Algorithm: sha1WithRSAEncryption - Issuer: C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root - Validity - Not Before: May 30 10:48:38 2000 GMT - Not After : May 30 10:48:38 2020 GMT - Subject: C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root - Subject Public Key Info: - Public Key Algorithm: rsaEncryption - Public-Key: (2048 bit) - Modulus: - 00:b7:f7:1a:33:e6:f2:00:04:2d:39:e0:4e:5b:ed: - 1f:bc:6c:0f:cd:b5:fa:23:b6:ce:de:9b:11:33:97: - a4:29:4c:7d:93:9f:bd:4a:bc:93:ed:03:1a:e3:8f: - cf:e5:6d:50:5a:d6:97:29:94:5a:80:b0:49:7a:db: - 2e:95:fd:b8:ca:bf:37:38:2d:1e:3e:91:41:ad:70: - 56:c7:f0:4f:3f:e8:32:9e:74:ca:c8:90:54:e9:c6: - 5f:0f:78:9d:9a:40:3c:0e:ac:61:aa:5e:14:8f:9e: - 87:a1:6a:50:dc:d7:9a:4e:af:05:b3:a6:71:94:9c: - 71:b3:50:60:0a:c7:13:9d:38:07:86:02:a8:e9:a8: - 69:26:18:90:ab:4c:b0:4f:23:ab:3a:4f:84:d8:df: - ce:9f:e1:69:6f:bb:d7:42:d7:6b:44:e4:c7:ad:ee: - 6d:41:5f:72:5a:71:08:37:b3:79:65:a4:59:a0:94: - 37:f7:00:2f:0d:c2:92:72:da:d0:38:72:db:14:a8: - 45:c4:5d:2a:7d:b7:b4:d6:c4:ee:ac:cd:13:44:b7: - c9:2b:dd:43:00:25:fa:61:b9:69:6a:58:23:11:b7: - a7:33:8f:56:75:59:f5:cd:29:d7:46:b7:0a:2b:65: - b6:d3:42:6f:15:b2:b8:7b:fb:ef:e9:5d:53:d5:34: - 5a:27 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: - AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A - X509v3 Key Usage: - Certificate Sign, CRL Sign - X509v3 Basic Constraints: critical - CA:TRUE - X509v3 Authority Key Identifier: - keyid:AD:BD:98:7A:34:B4:26:F7:FA:C4:26:54:EF:03:BD:E0:24:CB:54:1A - DirName:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root - serial:01 - Signature Algorithm: sha1WithRSAEncryption - Signature Value: - b0:9b:e0:85:25:c2:d6:23:e2:0f:96:06:92:9d:41:98:9c:d9: - 84:79:81:d9:1e:5b:14:07:23:36:65:8f:b0:d8:77:bb:ac:41: - 6c:47:60:83:51:b0:f9:32:3d:e7:fc:f6:26:13:c7:80:16:a5: - bf:5a:fc:87:cf:78:79:89:21:9a:e2:4c:07:0a:86:35:bc:f2: - de:51:c4:d2:96:b7:dc:7e:4e:ee:70:fd:1c:39:eb:0c:02:51: - 14:2d:8e:bd:16:e0:c1:df:46:75:e7:24:ad:ec:f4:42:b4:85: - 93:70:10:67:ba:9d:06:35:4a:18:d3:2b:7a:cc:51:42:a1:7a: - 63:d1:e6:bb:a1:c5:2b:c2:36:be:13:0d:e6:bd:63:7e:79:7b: - a7:09:0d:40:ab:6a:dd:8f:8a:c3:f6:f6:8c:1a:42:05:51:d4: - 45:f5:9f:a7:62:21:68:15:20:43:3c:99:e7:7c:bd:24:d8:a9: - 91:17:73:88:3f:56:1b:31:38:18:b4:71:0f:9a:cd:c8:0e:9e: - 8e:2e:1b:e1:8c:98:83:cb:1f:31:f1:44:4c:c6:04:73:49:76: - 60:0f:c7:f8:bd:17:80:6b:2e:e9:cc:4c:0e:5a:9a:79:0f:20: - 0a:2e:d5:9e:63:26:1e:55:92:94:d8:82:17:5a:7b:d0:bc:c7: - 8f:4e:86:04 -SHA1 Fingerprint=02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68 ------BEGIN CERTIFICATE----- -MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU -MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs -IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 *** 1481 LINES SKIPPED *** From nobody Thu Mar 13 16:03: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 4ZDC2j3hynz5qrqD; Thu, 13 Mar 2025 16:03: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 4ZDC2j34Xtz3QPm; Thu, 13 Mar 2025 16:03:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/SQZ0Bk0LJt/MtRb9nOrUjw+kEwY2peRwK5lVchArTE=; b=vhcqN463gQovM4BxD9ESKFwMurqL9PDMBCNyR1LGW2Q7m6bWhTbiVXRydi36GxbZllhVir FrH7P1vG03AsVV0kJfiQSrRiJofeSQT9CM/nOaPwugPjJgO0TGquUMe68ntqr8qodSmasP UOC60+z59v/qwFzEB9ljThzXMzb7vbhUujr4xuH9mK/+fmKgfBBdygk6c6RV8/o/O0O6IB 9HFEkTlYZs/4JC0g5BHD5UrTAX8qJtWzkK/YT+Ejga771nDfAFhV4zWHJQjJGixFyjHWga Tv98SrPzvL0wGbdPschC6wStKBVH9UIfZyq4JKSunyu1q0hGlf4+UqocvY2PXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881789; a=rsa-sha256; cv=none; b=e9rVKt5Xgp79PiPBq3GAMdK64sWGx9JgIiWDTDmiiVFr3J7zlZqJXGWmdsVYfOL8CzK88s WO8j0DBUuQcbtLndUPMjvKS1kzJWxGV7Vw+bewR+TGPP3Jz+jLC9e4KVLmQuyhs7Um98jx iHMK/dTLecsKvf5e1SPUf/hej2CeiYeBitJGwlZdxAc1kuO+iyw8kveXq+WGzwgK1DQpzX VNFs7LtlXqTOM+qtaW4mWqSyQTyTfqGFF6NyON9tf/6Jxo0ftlfouD7kcwvu5ZWb6M4ldY L8LiXmrprJ6TWPH8iLzpGMQdddYOcKCla7EpxYm3ITkBAzvaGedtkWb44e0SOw== 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=1741881789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/SQZ0Bk0LJt/MtRb9nOrUjw+kEwY2peRwK5lVchArTE=; b=SyL0H7kDSaBzRYWLyXzc5bbzIM1hA/Jg5uOpXAZGnNLruGkbOZaQN0OK8a8iL9abSIotuS j/BWbulsS2C6R0RsX7h5AbTc4XFdPeBKk+R4pl7ic0lNUON/w+DGvf8n6wDYSj0De5JIee DWeqtqplP+q0LCFaz3kxdnUESNU9seq+XX1A6daPDSk4t0DaNwEjE2m74o18ZtaEP6Z3aW hTkIFAPjCgv2J43UEZkH1nmzOaVyv8dUhVF3ZzlbJBmgf4TBA4pZWjV2+sHgdyCcAqPMHH Ox8EsRfJOo3P0f56e0iwGw+j24lOYU4Xs7GcSjvArRKc160pdr+Nljgalp4FXw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2j2dHTz14ff; Thu, 13 Mar 2025 16:03: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 52DG39Zo048271; Thu, 13 Mar 2025 16:03:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG39wH048268; Thu, 13 Mar 2025 16:03:09 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:09 GMT Message-Id: <202503131603.52DG39wH048268@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: fcf81de12f27 - main - ip6_cksum.c: generalize in6_cksum_partial() to allow L2 headers in passed mbuf 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: fcf81de12f27d34a5c18168fd0c756c371a62076 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=fcf81de12f27d34a5c18168fd0c756c371a62076 commit fcf81de12f27d34a5c18168fd0c756c371a62076 Author: Konstantin Belousov AuthorDate: 2025-02-19 12:38:34 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 15:56:22 +0000 ip6_cksum.c: generalize in6_cksum_partial() to allow L2 headers in passed mbuf Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/netinet6/in6.h | 2 ++ sys/netinet6/in6_cksum.c | 25 +++++++++++++++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/sys/netinet6/in6.h b/sys/netinet6/in6.h index effd33787e7e..1ca846ebf514 100644 --- a/sys/netinet6/in6.h +++ b/sys/netinet6/in6.h @@ -664,6 +664,8 @@ struct ip6_hdr; int in6_cksum(struct mbuf *, uint8_t, uint32_t, uint32_t); int in6_cksum_partial(struct mbuf *, uint8_t, uint32_t, uint32_t, uint32_t); +int in6_cksum_partial_l2(struct mbuf *m, uint8_t nxt, uint32_t off_l3, + uint32_t off_l4, uint32_t len, uint32_t cov); int in6_cksum_pseudo(struct ip6_hdr *, uint32_t, uint8_t, uint16_t); int in6_localaddr(struct in6_addr *); diff --git a/sys/netinet6/in6_cksum.c b/sys/netinet6/in6_cksum.c index 2fb532d78013..70a9666a0c05 100644 --- a/sys/netinet6/in6_cksum.c +++ b/sys/netinet6/in6_cksum.c @@ -247,14 +247,15 @@ in6_cksum_partial_one(void *_arg, void *data, u_int len) /* * m MUST contain a contiguous IP6 header. - * off is an offset where TCP/UDP/ICMP6 header starts. + * off_l3 is an offset where ipv6 header starts. + * off_l4 is an offset where TCP/UDP/ICMP6 header starts. * len is a total length of a transport segment. * (e.g. TCP header + TCP payload) * cov is the number of bytes to be taken into account for the checksum */ int -in6_cksum_partial(struct mbuf *m, uint8_t nxt, uint32_t off, uint32_t len, - uint32_t cov) +in6_cksum_partial_l2(struct mbuf *m, uint8_t nxt, uint32_t off_l3, + uint32_t off_l4, uint32_t len, uint32_t cov) { struct in6_cksum_partial_arg arg; union l_util l_util; @@ -272,9 +273,10 @@ in6_cksum_partial(struct mbuf *m, uint8_t nxt, uint32_t off, uint32_t len, } uph; /* Sanity check. */ - KASSERT(m->m_pkthdr.len >= off + len, ("%s: mbuf len (%d) < off(%d)+" - "len(%d)", __func__, m->m_pkthdr.len, off, len)); - KASSERT(m->m_len >= sizeof(*ip6), + KASSERT(m->m_pkthdr.len >= off_l4 + len, + ("%s: mbuf len (%d) < off(%d)+len(%d)", + __func__, m->m_pkthdr.len, off_l4, len)); + KASSERT(m->m_len >= off_l3 + sizeof(*ip6), ("%s: mbuf len %d < sizeof(ip6)", __func__, m->m_len)); /* @@ -288,7 +290,7 @@ in6_cksum_partial(struct mbuf *m, uint8_t nxt, uint32_t off, uint32_t len, sum = uph.phs[0]; sum += uph.phs[1]; sum += uph.phs[2]; sum += uph.phs[3]; - ip6 = mtod(m, struct ip6_hdr *); + ip6 = mtodo(m, off_l3); /* IPv6 source address. */ scope = in6_getscope(&ip6->ip6_src); @@ -312,7 +314,7 @@ in6_cksum_partial(struct mbuf *m, uint8_t nxt, uint32_t off, uint32_t len, */ arg.sum = sum; arg.rlen = 0; - (void)m_apply(m, off, cov, in6_cksum_partial_one, &arg); + (void)m_apply(m, off_l4, cov, in6_cksum_partial_one, &arg); sum = arg.sum; /* @@ -327,6 +329,13 @@ in6_cksum_partial(struct mbuf *m, uint8_t nxt, uint32_t off, uint32_t len, return (~sum & 0xffff); } +int +in6_cksum_partial(struct mbuf *m, uint8_t nxt, uint32_t off, uint32_t len, + uint32_t cov) +{ + return (in6_cksum_partial_l2(m, nxt, 0, off, len, cov)); +} + int in6_cksum(struct mbuf *m, uint8_t nxt, uint32_t off, uint32_t len) { From nobody Thu Mar 13 16:03: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 4ZDC2k70Blz5qs2K; Thu, 13 Mar 2025 16:03: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 4ZDC2k4w4fz3QZd; Thu, 13 Mar 2025 16:03:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IZigrXjOJzt8r6iy5vfnZynhjJEj4gaE/DaTtODsCL4=; b=xnwKZekbkhfN8E54OJECxovEfWr+SahAbJ1wQKHT+0GT2PDCgB4RzSUcEnJI7yj+K7nhFD 86RBulkUFOfVOfOQ2ES58KTycfyvKZwwqMOygDCrbsvKava5bdBX2EFtk6tPAJIKeJfrld aawOOEpf2Tog0/c6ieF8YF68X9rEbRZB5XWPmDGHuH2BSxrSwvnJ8CdHSNTPre9F8q3QYL fOi/PxGB4Jb91I3TZarCCgHnMVgcZL+RSXgM7FxiSi/Hi+IsPeWZ5MBQZ54ldJnZ6dWjaX YvFJRNJX7aT2ILJWgtrtIwMYindTHd7BslyGLEVl685ULGKUwr1zr5uyh4VYAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881790; a=rsa-sha256; cv=none; b=XdJn6yI0lBxLWaPUtmZvcyi7XnOkk6/r+pxWoEqmTMUFbkcTBMuLLphNwDQkX9eQax41C2 vqXMnpiNto6sWJM0YXcJuWD4LhsnoZSv64pI6kmEhJhmM0oWG8vJzobJnkQfaJeBk1HEuX nKG0s04s+gOaMQ711YkSJdNf/vFmLJJxvcWvDfihYL2ptr+W3edmG8erxdh3ZmT0YKV23T 3xirDT23oq57gMvQ9koluqpOeBU+D99FBt8XrsZF0Dha19YiXYOZidFIyTV1OdEBz98Wbm nXdODxr5kvmsruUWCCqRqBjGg9H8Xe9WRjqRv8yHjX4WyoSfck9H0Ihf0Ye0oQ== 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=1741881790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IZigrXjOJzt8r6iy5vfnZynhjJEj4gaE/DaTtODsCL4=; b=Z6CtgnemocDfu6tWhL1T1LDXHlBZ0ARO1sPw+ryn8scvpl82opwMwmYs9LqzJ4joVTyDV7 mXFywF+LzUGCBHcKhrNv35HSTzMWJIRyqarBr9SCtQNcLDu9AqzmYw1lvIC3mZ4aYLbLjL l0HLrN3AYQQJ3Gf/Nc94Vr+wuVY/LSmk58i1soqPqPTpoXUGh8W7lCuHZB+JJlIIaFStaJ arYHfU1OhcXwyF1K1Mpo3YAQ7aJgzLzSqVCVgWCLkjpaMwuVjLuBistgcWwRJ5+Y3sY+qx LI7aAMtxbPGbicwVqM2c9soaDxyzTR5zNSuAQnwG+6KfqU3xerWjnEc670ByRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2k40vzz14DL; Thu, 13 Mar 2025 16:03: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 52DG3AeP048304; Thu, 13 Mar 2025 16:03:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3Aus048301; Thu, 13 Mar 2025 16:03:10 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:10 GMT Message-Id: <202503131603.52DG3Aus048301@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: bbac54b820cb - main - mlx5en: make conf.hw_lro sysctl r/w 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: bbac54b820cb9b76d19082d1f9f36507c3dd3a0e Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=bbac54b820cb9b76d19082d1f9f36507c3dd3a0e commit bbac54b820cb9b76d19082d1f9f36507c3dd3a0e Author: Konstantin Belousov AuthorDate: 2025-01-28 20:35:25 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 15:57:54 +0000 mlx5en: make conf.hw_lro sysctl r/w This alone does not make hw lro configurable by sysctl, it only removes unneeded complications for users to access it. Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c b/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c index 0dcca1077a60..6a2c07addc62 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c @@ -1479,12 +1479,6 @@ mlx5e_create_ethtool(struct mlx5e_priv *priv) mlx5e_params_desc[2 * x], CTLTYPE_U64 | CTLFLAG_RD | CTLFLAG_MPSAFE, priv, x, &mlx5e_ethtool_handler, "QU", mlx5e_params_desc[2 * x + 1]); - } else if (strcmp(mlx5e_params_desc[2 * x], "hw_lro") == 0) { - /* read-only, but tunable parameters */ - SYSCTL_ADD_PROC(&priv->sysctl_ctx, SYSCTL_CHILDREN(node), OID_AUTO, - mlx5e_params_desc[2 * x], CTLTYPE_U64 | CTLFLAG_RDTUN | - CTLFLAG_MPSAFE, priv, x, &mlx5e_ethtool_handler, "QU", - mlx5e_params_desc[2 * x + 1]); } else { /* * NOTE: In FreeBSD-11 and newer the From nobody Thu Mar 13 16:03: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 4ZDC2l6R4kz5qrmt; Thu, 13 Mar 2025 16:03: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 4ZDC2l4xPMz3QGH; Thu, 13 Mar 2025 16:03:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ckh8oU/6zI6ILs/aRYuTW6pl0f5rw3VKCcxlTk5KKAg=; b=wbIYekXXVgDN0ZNpyAqTNgWiNgRo9HV9O77PLkg72qrZ9HEzHW+5wVcJIqkDHUr8Ant81V ND6AgLwX6wcAYn7NcYJ+Y4xb19FOusBKodQrPzIUgvSqkTovgrwlN7fDgaFIHh6psJ/0PR 3YtcqysNd30y40KPnsQsc12f/KJaq4Y2jDqoZfKH2nLlgxWx4oNhILvQYohgcI7DV7Plla uJiF4zfj1cceqwEVIxvbezTgzgvLZnn5eeCZTEFBbcENYDVzm6iPJ8jlXrpKk9W0VDJgyV u2Ok3ydknVBV+g4mqFbmiumzfG6iks2KWS+ZPpxs9s75apXTOVXzqQAAH626DA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881791; a=rsa-sha256; cv=none; b=rB4KP1y+VlNGCSONPaOOJzf0PmaCUW00dGDhN7H1sJnXcafs0iTiSXVhO0bUy71IwxZtjm eM7OdgW3HgYwG5iJjYfgzfN+m3LCefy3AazhwAVxC29OrkxMzsI4ZZgYtiD0hf1mesAtvc YHQPQSEOii5VG02y34S/2s3VeID4GBDYrDETWssVXeQqT9IfnqlsV27nU1eo2V8d6Yu2Y9 o49Sb6yxdPFNItnU07ZhQD2c6CltWuMreciIOA6NoUlEwQQxFJVi3kdDjCoNsSYzXQ1+q9 302HkkB0orjIi/v9+L9eU6HSn19gmsjlsnGGNLBcimGiOa9j5hhescu96ypb0Q== 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=1741881791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ckh8oU/6zI6ILs/aRYuTW6pl0f5rw3VKCcxlTk5KKAg=; b=Xzm+Zpl9g1c4SRmmEF9l5i9GbCFz6HdChrTbOJc10U8C4/EhJqtLBD/0WMBme6ED35/mzy C292E+hIntuS9j4M9ROSJ+O34UDN6bzwrkz/0AZm0ITjCbuJdLMWglBx3zO4ECa3icAGcD O/yPVAoH+qcBoD86+9Bsl4jwaPt/c/sSMyS06wn1jPN3x3cu8jje5Oi78i6XUnJSNsVYku pVwift7/ztstRT1Lm2Bwjnn4mIOnWQnDirAhialZsSrVAVxQ3TJRsvF6S48DLwQPEkmou0 wfoL74a0tM7jKM9DMC/vz46Y6IjyeDmp+3BROCjA4/qTWeLNSoJ7BKFyEqFN3g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2l450yz13tF; Thu, 13 Mar 2025 16:03: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 52DG3B59048439; Thu, 13 Mar 2025 16:03:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3BRx048436; Thu, 13 Mar 2025 16:03:11 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:11 GMT Message-Id: <202503131603.52DG3BRx048436@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: 816f27e848e5 - main - mlx5en: control hw LRO with the driver conf sysctl, leaving IFCAP_LRO to sw 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: 816f27e848e549e6ff895affc29298f68e0bb644 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=816f27e848e549e6ff895affc29298f68e0bb644 commit 816f27e848e549e6ff895affc29298f68e0bb644 Author: Konstantin Belousov AuthorDate: 2025-01-28 20:38:21 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 15:58:12 +0000 mlx5en: control hw LRO with the driver conf sysctl, leaving IFCAP_LRO to sw Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c | 10 +--------- sys/dev/mlx5/mlx5_en/mlx5_en_main.c | 24 ++---------------------- 2 files changed, 3 insertions(+), 31 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c b/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c index 6a2c07addc62..459801cdf27d 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c @@ -1124,16 +1124,8 @@ mlx5e_ethtool_handler(SYSCTL_HANDLER_ARGS) /* import HW LRO mode */ if (priv->params_ethtool.hw_lro != 0 && MLX5_CAP_ETH(priv->mdev, lro_cap)) { + priv->params.hw_lro_en = true; priv->params_ethtool.hw_lro = 1; - /* check if feature should actually be enabled */ - if (if_getcapenable(priv->ifp) & IFCAP_LRO) { - priv->params.hw_lro_en = true; - } else { - priv->params.hw_lro_en = false; - - mlx5_en_warn(priv->ifp, "To enable HW LRO " - "please also enable LRO via ifconfig(8).\n"); - } } else { /* return an error if HW does not support this feature */ if (priv->params_ethtool.hw_lro != 0) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c index c17da50c1a5e..67583afc21c7 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c @@ -3670,31 +3670,11 @@ siocsifcap_driver: } VLAN_CAPABILITIES(ifp); - /* turn off LRO means also turn of HW LRO - if it's on */ - if (mask & IFCAP_LRO) { - int was_opened = test_bit(MLX5E_STATE_OPENED, &priv->state); - bool need_restart = false; + /* hw_lro and IFCAP_LRO are divorsed, only toggle sw LRO. */ + if (mask & IFCAP_LRO) if_togglecapenable(ifp, IFCAP_LRO); - /* figure out if updating HW LRO is needed */ - if (!(if_getcapenable(ifp) & IFCAP_LRO)) { - if (priv->params.hw_lro_en) { - priv->params.hw_lro_en = false; - need_restart = true; - } - } else { - if (priv->params.hw_lro_en == false && - priv->params_ethtool.hw_lro != 0) { - priv->params.hw_lro_en = true; - need_restart = true; - } - } - if (was_opened && need_restart) { - mlx5e_close_locked(ifp); - mlx5e_open_locked(ifp); - } - } if (mask & IFCAP_HWRXTSTMP) { if_togglecapenable(ifp, IFCAP_HWRXTSTMP); if (if_getcapenable(ifp) & IFCAP_HWRXTSTMP) { From nobody Thu Mar 13 16:03: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 4ZDC2n41hzz5qrmw; Thu, 13 Mar 2025 16:03:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDC2n01Bfz3QGY; Thu, 13 Mar 2025 16:03:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gwVgC4xmvqrhO+RWf/PlDd6ObTehAmlv1KUtVdgR86I=; b=nHGAuSj6L4qkq2pV54jnc3bHlDgz15q1nT1Ld307oMW7mJNpZTnnGyFzzEl+F+nq+f1Do6 0buqw3h0nNENdt1drSm8ngzU1Wm2NiTm2tSursiZvroZL94GmA0hfi3EwMkb7I1uabQQzd aDAERUXv1qXhYa53dUpVDH2u2vHRj8wdmDMBm7q6fbhYAQAGmR53I679Z7N0VLTDXQ8sQ7 yQ/1omaEDoKBHH/Gt5D6OBKceFOXs2oJ+WPZ1odncRcRTEqSdKAe/j8C1pY9FHxv5iOijF ch+lbo5Xt8v9uJJEfDl5zV7MuB1slB3TJoUEZ2VxUWC7S6ftLsj89x9KQtsrNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881793; a=rsa-sha256; cv=none; b=nDJyxrP0LQhJX948git1Rm6M1YgITkLjCnuVmtf13CFQdzAAVntIDDd1Qq/EOe9xn+xhFz C1ILQNLp+wtKc7Exhsn5Lckk/0U92MT02ARuC9Eb1pc3q67Yfjc+gK7CCOZTGBbXLBFizn 0BwGc9Dnw0iOadGRyks3/zzWQRX/6amXwCt36ekTop2lkp6vhu2N4E7sfucYSSeC4L5CpA 2oY6FTyLjs2y+ftejNOi4/FloaWXJNZR7HPVa8xiN3vuJpkKhvgJvGOmDQ6vxFoZYV/B7j Qd8dIxtokDjHtCg44yHfDt0HW1a6RARXYv+VWs7xR2+anwVOYsbudcVy1xGynA== 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=1741881793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gwVgC4xmvqrhO+RWf/PlDd6ObTehAmlv1KUtVdgR86I=; b=DtOzXDBrKcXkdmtOm9IctqjJXPaJsAj2TfZi07XIGbKqS39Ct+S0ksBUbwBw24XKW7U74c TFItUJ7ZBDN3YjGKn+/jd4xdtveGVhI5l3FWxL1fTUsKowoCHkSVOjezCMzJSty2DJxgpq o7hEmLeSHkYUzeISFvmGaYSdP0MnedYvGpgum4TybSZ0yWp6RCNBiyIfW0iLkm1lVUAtxY ps7PJrnAt5n18a/If/cqNxuhfpiU5wMu7gVIJseDSgFML+pyLnj8XyPlo9lMKYvyb8BVvL JBSA18YDvT2w8C+d/LmYzUapJRmlqz5741+jyiwUUJdH8WtbxjEvIUZtb/V7CQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2m5ljCz14BT; Thu, 13 Mar 2025 16:03: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 52DG3Cm3048500; Thu, 13 Mar 2025 16:03:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3CKt048497; Thu, 13 Mar 2025 16:03:12 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:12 GMT Message-Id: <202503131603.52DG3CKt048497@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: 98071573638a - main - mlx5core: add mlx5_core_modify_tir() 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: 98071573638a1f31e4007894ce20a4fdc8e33a1d Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=98071573638a1f31e4007894ce20a4fdc8e33a1d commit 98071573638a1f31e4007894ce20a4fdc8e33a1d Author: Konstantin Belousov AuthorDate: 2025-01-30 11:11:29 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 15:58:35 +0000 mlx5core: add mlx5_core_modify_tir() Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_core/mlx5_transobj.c | 12 ++++++++++++ sys/dev/mlx5/mlx5_core/transobj.h | 1 + 2 files changed, 13 insertions(+) diff --git a/sys/dev/mlx5/mlx5_core/mlx5_transobj.c b/sys/dev/mlx5/mlx5_core/mlx5_transobj.c index 6d375d371597..c62969d8d172 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_transobj.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_transobj.c @@ -166,6 +166,18 @@ int mlx5_core_create_tir(struct mlx5_core_dev *dev, u32 *in, int inlen, return err; } + +int +mlx5_core_modify_tir(struct mlx5_core_dev *dev, u32 *in, int inlen) +{ + u32 out[MLX5_ST_SZ_DW(create_tir_out)] = {0}; + int err; + + MLX5_SET(modify_tir_in, in, opcode, MLX5_CMD_OP_MODIFY_TIR); + err = mlx5_cmd_exec(dev, in, inlen, out, sizeof(out)); + return (err); +} + void mlx5_core_destroy_tir(struct mlx5_core_dev *dev, u32 tirn, u32 uid) { u32 in[MLX5_ST_SZ_DW(destroy_tir_in)] = {0}; diff --git a/sys/dev/mlx5/mlx5_core/transobj.h b/sys/dev/mlx5/mlx5_core/transobj.h index 1cc40ca8b1b7..6a21d7db90c8 100644 --- a/sys/dev/mlx5/mlx5_core/transobj.h +++ b/sys/dev/mlx5/mlx5_core/transobj.h @@ -40,6 +40,7 @@ void mlx5_core_destroy_sq(struct mlx5_core_dev *dev, u32 sqn); int mlx5_core_query_sq(struct mlx5_core_dev *dev, u32 sqn, u32 *out); int mlx5_core_create_tir(struct mlx5_core_dev *dev, u32 *in, int inlen, u32 *tirn); +int mlx5_core_modify_tir(struct mlx5_core_dev *dev, u32 *in, int inlen); void mlx5_core_destroy_tir(struct mlx5_core_dev *dev, u32 tirn, u32 uid); int mlx5_core_create_tis(struct mlx5_core_dev *dev, u32 *in, int inlen, u32 *tisn); From nobody Thu Mar 13 16:03: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 4ZDC2p2yj5z5qs2R; Thu, 13 Mar 2025 16:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDC2n70WLz3QZv; Thu, 13 Mar 2025 16:03:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ac13CZgAiSKIZARxXdqdQ+CyyO7nAFbrpkYS0RLofDw=; b=UxPpPs+SmEIo2V+5dmUtmWXCLp0V+2jlVbkM3Mhh5m45EQ1CNuKXk7PRX8idl9i3QYCAlM yCv8BkZjtY9J8hI6HEv+JkndAaTWIEjD1YzZKOOUhR6sOUB7Kp3cHZ9FIBkuz2MVQz2SwA yrhkXjlyZsoZH3IDUOnti561K1QKhXRVcNOhC0l2QYBFlTRk7pEkjh7nUjyNG0opX/kG/3 UzqFt/5EgX0T2iW0Qs30tMF+krdt5+kroQ2mc+uQghKTAggiJZukeFPgOS7IcTh1EWbY9o jdA5NV0difZyKcB/sAXFg9k2zGqKRTcV2BCLqHZ/oKFJ5Y2KoUEiFao2s1WIrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881794; a=rsa-sha256; cv=none; b=Ofzw0qlxdwlLPMoG+yF2IAXMESjZyi3UCxpgUc/IdkqLpwQeZUWd3l+lURJyR77rtqYqPL Zott1pEBH+MVIuANNIDYHNPnid/21IFZ6pj6lGHDun0EDPtvCq1I06FQ5DIPqgz2v/4QuS wLr330SgvQ/j1BOlZh9S1qAgDk7p7ihjYMOCPQ3CGODKfn15VUn1Ta4PSa3wyvFzZlk95/ eDc4ZLQlnVHwRVP3YBLTzXPrZm/vIK1ywZOy5e9wZ+/8/jNNfNvaDqsK1vLhhzeBaDim9g DjGOWTYAurNY9/2G32Zcc/ZS6RDQHyMnrMr0/P/PIzLgisu3qY3qtqdoLLm/LQ== 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=1741881794; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ac13CZgAiSKIZARxXdqdQ+CyyO7nAFbrpkYS0RLofDw=; b=P/y4B3DFZ211gcNXS0xu/adGeXaPEe6UOsujm7ErrnbWMeaEfSR5wy5ThhcdoU987rznev +W3wZ+CXVaVMAE3lmFDzR5fjJ5dHOgPLonNQqYX1xc8cpHR1mNmhm5Y9KARbNgrdoJzUiR Il8cEvT2/ik/dQZfZLg+D7XcJn3FLOjMfkmRswZ5PZMLc5Baz6P2xocFa1l5nnNzzcIKI/ dCJpzHHLgKfWzRlyT0ze0aIeuKseM4Ik+WQPiWaGJP/Ka0gUcY9B/zTG3Igl6NY6hmJKwE UkC3CGsrcd0oWtX1l0Ka4WgA8A1Fifmjq9UlbQW0S04QtDmEBUsTXvDS8hDFcg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2n5pPKz14tJ; Thu, 13 Mar 2025 16:03:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52DG3DBl048534; Thu, 13 Mar 2025 16:03:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3DmR048531; Thu, 13 Mar 2025 16:03:13 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:13 GMT Message-Id: <202503131603.52DG3DmR048531@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: 02fe38b92175 - main - mlx5en: make the hw lro control dynamic 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: 02fe38b92175cb8f3a77f7a2bb72afb83836ebd2 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=02fe38b92175cb8f3a77f7a2bb72afb83836ebd2 commit 02fe38b92175cb8f3a77f7a2bb72afb83836ebd2 Author: Konstantin Belousov AuthorDate: 2025-01-29 15:45:18 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 15:58:53 +0000 mlx5en: make the hw lro control dynamic Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/en.h | 1 + sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c | 3 ++ sys/dev/mlx5/mlx5_en/mlx5_en_main.c | 83 ++++++++++++++++++++++++++++------ 3 files changed, 73 insertions(+), 14 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/en.h b/sys/dev/mlx5/mlx5_en/en.h index 80e0b7fbdedb..bcc33824a5f5 100644 --- a/sys/dev/mlx5/mlx5_en/en.h +++ b/sys/dev/mlx5/mlx5_en/en.h @@ -1301,6 +1301,7 @@ void mlx5e_refresh_sq_inline(struct mlx5e_priv *priv); int mlx5e_update_buf_lossy(struct mlx5e_priv *priv); int mlx5e_fec_update(struct mlx5e_priv *priv); int mlx5e_hw_temperature_update(struct mlx5e_priv *priv); +int mlx5e_hw_lro_update_tirs(struct mlx5e_priv *priv); /* Internal Queue, IQ, API functions */ void mlx5e_iq_send_nop(struct mlx5e_iq *, u32); diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c b/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c index 459801cdf27d..b0b7a175a1b6 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c @@ -1133,6 +1133,9 @@ mlx5e_ethtool_handler(SYSCTL_HANDLER_ARGS) priv->params.hw_lro_en = false; priv->params_ethtool.hw_lro = 0; } + + error = mlx5e_hw_lro_update_tirs(priv); + /* restart network interface, if any */ if (was_opened) mlx5e_open_locked(priv->ifp); diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c index 67583afc21c7..321ed8ac9976 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c @@ -2944,6 +2944,73 @@ mlx5e_get_rss_key(void *key_ptr) #endif } +static void +mlx5e_hw_lro_set_tir_ctx_lro_max_msg_sz(struct mlx5e_priv *priv, u32 *tirc) +{ +#define ROUGH_MAX_L2_L3_HDR_SZ 256 + + MLX5_SET(tirc, tirc, lro_max_msg_sz, (priv->params.lro_wqe_sz - + ROUGH_MAX_L2_L3_HDR_SZ) >> 8); +} + +static void +mlx5e_hw_lro_set_tir_ctx(struct mlx5e_priv *priv, u32 *tirc) +{ + MLX5_SET(tirc, tirc, lro_enable_mask, + MLX5_TIRC_LRO_ENABLE_MASK_IPV4_LRO | + MLX5_TIRC_LRO_ENABLE_MASK_IPV6_LRO); + /* TODO: add the option to choose timer value dynamically */ + MLX5_SET(tirc, tirc, lro_timeout_period_usecs, + MLX5_CAP_ETH(priv->mdev, lro_timer_supported_periods[2])); + mlx5e_hw_lro_set_tir_ctx_lro_max_msg_sz(priv, tirc); +} + +static int +mlx5e_hw_lro_update_tir(struct mlx5e_priv *priv, int tt, bool inner_vxlan) +{ + struct mlx5_core_dev *mdev = priv->mdev; + u32 *in; + void *tirc; + int inlen; + int err; + + inlen = MLX5_ST_SZ_BYTES(modify_tir_in); + in = mlx5_vzalloc(inlen); + if (in == NULL) + return (-ENOMEM); + tirc = MLX5_ADDR_OF(modify_tir_in, in, tir_context); + + /* fill the command part */ + MLX5_SET(modify_tir_in, in, tirn, inner_vxlan ? + priv->tirn_inner_vxlan[tt] : priv->tirn[tt]); + MLX5_SET64(modify_tir_in, in, modify_bitmask, + (1 << MLX5_MODIFY_TIR_BITMASK_LRO)); + + /* fill the context */ + if (priv->params.hw_lro_en) + mlx5e_hw_lro_set_tir_ctx(priv, tirc); + + err = mlx5_core_modify_tir(mdev, in, inlen); + + kvfree(in); + return (err); +} + +int +mlx5e_hw_lro_update_tirs(struct mlx5e_priv *priv) +{ + int err, err1, i; + + err = 0; + for (i = 0; i != 2 * MLX5E_NUM_TT; i++) { + err1 = mlx5e_hw_lro_update_tir(priv, i / 2, (i % 2) ? true : + false); + if (err1 != 0 && err == 0) + err = err1; + } + return (-err); +} + static void mlx5e_build_tir_ctx(struct mlx5e_priv *priv, u32 * tirc, int tt, bool inner_vxlan) { @@ -2954,8 +3021,6 @@ mlx5e_build_tir_ctx(struct mlx5e_priv *priv, u32 * tirc, int tt, bool inner_vxla MLX5_SET(tirc, tirc, transport_domain, priv->tdn); -#define ROUGH_MAX_L2_L3_HDR_SZ 256 - #define MLX5_HASH_IP (MLX5_HASH_FIELD_SEL_SRC_IP |\ MLX5_HASH_FIELD_SEL_DST_IP) @@ -2968,18 +3033,8 @@ mlx5e_build_tir_ctx(struct mlx5e_priv *priv, u32 * tirc, int tt, bool inner_vxla MLX5_HASH_FIELD_SEL_DST_IP |\ MLX5_HASH_FIELD_SEL_IPSEC_SPI) - if (priv->params.hw_lro_en) { - MLX5_SET(tirc, tirc, lro_enable_mask, - MLX5_TIRC_LRO_ENABLE_MASK_IPV4_LRO | - MLX5_TIRC_LRO_ENABLE_MASK_IPV6_LRO); - MLX5_SET(tirc, tirc, lro_max_msg_sz, - (priv->params.lro_wqe_sz - - ROUGH_MAX_L2_L3_HDR_SZ) >> 8); - /* TODO: add the option to choose timer value dynamically */ - MLX5_SET(tirc, tirc, lro_timeout_period_usecs, - MLX5_CAP_ETH(priv->mdev, - lro_timer_supported_periods[2])); - } + if (priv->params.hw_lro_en) + mlx5e_hw_lro_set_tir_ctx(priv, tirc); if (inner_vxlan) MLX5_SET(tirc, tirc, tunneled_offload_en, 1); From nobody Thu Mar 13 16:03: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 4ZDC2q1zSxz5qry8; Thu, 13 Mar 2025 16:03: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 4ZDC2q0Pjjz3Qm6; Thu, 13 Mar 2025 16:03:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sOerPb9yq14CZePDMjToTWqVbrdyCVW9ah5eKOTmQdc=; b=PhwstCoxtE5xXW7u8jCXJwx8qLwZy56F8jTjBFyZzDVFw62zbqcEKPOSA5MC+Mvhx6owW+ 0d0WyHkVtwbcMiOyFh5Y6u2PdHd2BctDpo/4pJO1h2HT1pFuzeO0smiQ1XzKFlzs5LwEV3 LZmbRIWADkQYiw2HZwQYlEMPgvzwym6SiDpydOPIZn81Bnoreu7NzJ/RHqcZeq584ITgIe Be1AKY7AO/HxL6wHIfN0R+ujk/mZvRHNfM8doIm25GmCsde5uthWN2fRgnJAK2SIkJuROd bhvv1bUG+eDCZeoNHNKK1ktCyVGIYTvfa/yokvENGprAe8l+VInGx5UEp+30Ng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881795; a=rsa-sha256; cv=none; b=c4epDdx6GdAHQflO33BHHKQy52ocOf5zFwvoCgvFM6WP1bowxo7KyjCpP6TCsvFka3Ot1A MO1tfqf1YuxEsJzF8JQS9ub45Xjkv3xUusSROWzaKa+z1znjivOeRHGdWskCwPIAfG1HDC k2Ccm9L66SFH5XLEJYt/kU86FrAdspKBy9b3N6rvjBg5NnLBs0iHqiy9fnqnzy3T/ohmtU zCHoDYEpOQ+X88nSQfCsoJjG1ay/JN5LxF+/lYq++UVdFYV8xzDehP+lgNe0f65tszUTcx NQy0XcAczYlUU3v7U9q2Xg/nOMiOfkpLZxrZc9oTKKilc3wqCc6eABReOOwEWA== 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=1741881795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sOerPb9yq14CZePDMjToTWqVbrdyCVW9ah5eKOTmQdc=; b=qIcPWOMRECgi8dWWjymJSAb8JxBiTYfUhv0WDY1YOQYFo6kH+rJHNmKdlF3DUqS1GnMOgA zTovZop/Ktp0GFxsaX9cTD2+CsYDqK2s0259nPsSwTSaxUpTajCXPkSnU0LGYgHT/1h3sL osQDGcEvAQv3FwIw5LZsIF8Q0sTtsBaIMidOq2h2XwP4blcOrzX6L4id4FzlXceSmmMFz6 xyJZcbs8G8bhZVBf52o3kO1h3HXxSzFfroSzanM3pB0jpFKfnpTLTuCnmbRHDh6715Z65o 9i8iOQitR+9fgppIdz3pZRH5PauuQBEvXWldi2xVCX65A6hq4EuFqP0tjMJwuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2p71hRz14j4; Thu, 13 Mar 2025 16:03: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 52DG3EZA048566; Thu, 13 Mar 2025 16:03:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3Ej4048563; Thu, 13 Mar 2025 16:03:14 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:14 GMT Message-Id: <202503131603.52DG3Ej4048563@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: 93e70e3a9442 - main - mlx5en: explain why interface needs to be reopened on hw lro change 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: 93e70e3a9442dca31533f0773ede667fd5379b01 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=93e70e3a9442dca31533f0773ede667fd5379b01 commit 93e70e3a9442dca31533f0773ede667fd5379b01 Author: Konstantin Belousov AuthorDate: 2025-02-05 02:27:02 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 15:59:12 +0000 mlx5en: explain why interface needs to be reopened on hw lro change Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c b/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c index b0b7a175a1b6..28401048a427 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c @@ -1136,7 +1136,10 @@ mlx5e_ethtool_handler(SYSCTL_HANDLER_ARGS) error = mlx5e_hw_lro_update_tirs(priv); - /* restart network interface, if any */ + /* + * Restart network interface, if any. This + * re-populates rx wqes with proper segment sizes. + */ if (was_opened) mlx5e_open_locked(priv->ifp); break; From nobody Thu Mar 13 16:03: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 4ZDC2r4TJLz5qrn1; Thu, 13 Mar 2025 16:03: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDC2r1JWQz3Qb9; Thu, 13 Mar 2025 16:03:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+J8BrH0C4eEsiTczf0nEqulfJd2R3bT9ZCTABl6q440=; b=H/KYBeq2FwUEItZHDlvTja54kSSJ4SAdCgEHt5qpiAImWAdJ4nKjflNOM4m8DyeFl40hN8 8zswBw2yWOeRMoEAIIBSiXe86ClnLeqqxLRfujlv3Wo9FKb6oeo/elBbLdcUmziYWUbCiw EZRz7K13TQ/r32rxdy8HBGlQzRkxHeHIWfJAhE89cYInQbfELhGXLZHYebETmZjAjoHmDs L7y3ZqIVwHcMGnva0bSrKKQSa3VrrQNakNrFg3GQDf/qkarkix6yj4aJoN+6iGJcPMWamI S2BphbteguLeh4slc+XJLRu0tOOW9xPn+wWIvnyM+FK/eNdai1XBiCuScUPKmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881796; a=rsa-sha256; cv=none; b=XyI1d/t9RQ7KFG7Oe+tkU2JphHcaTZVohsBDxZ8cT66qvo27VpYCE99MGtMZw9JXLDTfn8 1srxHYBm+nIMozbkNdXKyU+vHp02wkVbsTFiL4ujO1TXPlfWPxGrGUGHJf2031IWyd48Sd 2/mx2Ukab+ErdojehHYJSZGCaWwmN7uZFp30sc98LUG2kGFiF/L1oP34E5f3R9a0EsS+q9 V8i1N0c8nlOPxzVyZNWShqaaFB4hdSerAtAoRxlAn+ELLjBseEkmchZHtyc3Io+XjQvg15 39rhaX6HBjN3POgyUm/NFKFbFCCO7DKKQIpZL9kUbbWWtsSHeEk2pzjmhJiMag== 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=1741881796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+J8BrH0C4eEsiTczf0nEqulfJd2R3bT9ZCTABl6q440=; b=rFqWKrhJnFfye0bMRiDnTjEc83rnEJJANPccQeG7ICEV2Wx90lHcPSfiCTdJsIYvmH+++S LcmjzdVH0p9P0ufzXMQt/VoRUflJ01My1BdjEUvBC19fV+0evpEik66KYg1UZ7wh/ucc1O Ek6lSV5Fq0GZbH4S9bphgjarjWBf0Kjja/7EAEeTFb2Jsk2VGOAxWoO7Q/b/921l6pfU8E 9MQH/kqnI9SJ5IRBWJBjUw8rg0o9xCCJVHkZXsf+elJfF2LKSAkZj/jvYC4w9m8n5w3veb g3Ki2lDk5/wunEM9UzJ3g4vC+1E5svWU72WoBXVbw8g1dRejcBBxi03GQGKNbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2r0hDFz14QD; Thu, 13 Mar 2025 16:03: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 52DG3FBB048598; Thu, 13 Mar 2025 16:03:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3FOe048595; Thu, 13 Mar 2025 16:03:15 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:15 GMT Message-Id: <202503131603.52DG3FOe048595@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: c3555174fd97 - main - mlx5en: follow PRM for setting the max hw lro segment 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c3555174fd97ce12682e5ed1e2d2586016962a8f Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c3555174fd97ce12682e5ed1e2d2586016962a8f commit c3555174fd97ce12682e5ed1e2d2586016962a8f Author: Konstantin Belousov AuthorDate: 2025-02-05 03:05:35 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 15:59:27 +0000 mlx5en: follow PRM for setting the max hw lro segment size If the NIC is capable, just pass the full packet size, including L2/L3 headers, as the segment size. Otherwise, decrement the number of strides by 1 to left the space for L2/IP headers, as it was done before. But do the arithmetic on the segment number instead of the full packet size. Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_main.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c index 321ed8ac9976..d69d2e433c9c 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c @@ -2947,10 +2947,8 @@ mlx5e_get_rss_key(void *key_ptr) static void mlx5e_hw_lro_set_tir_ctx_lro_max_msg_sz(struct mlx5e_priv *priv, u32 *tirc) { -#define ROUGH_MAX_L2_L3_HDR_SZ 256 - - MLX5_SET(tirc, tirc, lro_max_msg_sz, (priv->params.lro_wqe_sz - - ROUGH_MAX_L2_L3_HDR_SZ) >> 8); + MLX5_SET(tirc, tirc, lro_max_msg_sz, (priv->params.lro_wqe_sz >> 8) - + (MLX5_CAP_ETH(priv->mdev, lro_max_msg_sz_mode) == 0 ? 1 : 0)); } static void From nobody Thu Mar 13 16:03: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 4ZDC2s5tPgz5qs8w; Thu, 13 Mar 2025 16:03: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 4ZDC2s1sWmz3Qgp; Thu, 13 Mar 2025 16:03:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1fGMU+qJ582Gq4VAuJiTllDURI5/Mczfb28kyYlaHhg=; b=xFR5aYEpolHVzlq83DnVBiUpGbQdC5D9WXtIj+mjGL7zesdf1D+zOpmvW5otsvYnuHYXin TuA7livMs5WJtNdMWtzkCtO+26tZeo+ikkjI2Vm37tkxbEWgNVpYBTEu9HzDRIN06gFjsg DezYi1fk/gGOD/iVkv3L2EFB/12v+XVjpN3eaN4IAV3jKIqFaRybmRP7ktgkPFvWIJ5TFz hidT8QCWXr+F9QpTb8FL4Zwy5GdO+78ODebM2wT6pndXmsEgqvmZs2K1h9AKCj/Z25Lcl2 syaLRGqjdt3AF3/99NJ2BgpIon7ry8rvChAi8QQb9XTda5PHS55utv8QiqdY4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881797; a=rsa-sha256; cv=none; b=i6s9ba8lTA0HsUUu3JYp8Nater/RTDKjz22cqa85ceAQZneFS57Y7evBdmjei4lqItKQyy sEEZN+9QP1i/WfQC35pv4ymkIJQC34T55v46OFOSCAJWkGD8wgJQHinaHq/D4xlKrk6hFn XrQRlpYdAXevn402tzaol6OBViVEgFXnNcxx2joCdgatLMJ6A4Anta4Cv4AMPj7lPVhVW3 4TYzluyRQBhdBoK7YnsIqFv0qkaupJ7Nx1+IcImomqGR8nGtzIdq98SFmJ2vHrmGueG2BF YGIBnyT70NJ432puI3ClI7GyoDh9V3FhKBdgN3PZiXY7ZqOnqk9rcLI77ttJwA== 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=1741881797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1fGMU+qJ582Gq4VAuJiTllDURI5/Mczfb28kyYlaHhg=; b=Zr0V3wk+nMqTrddk+RAWX0HAnU02o6vShWuln9oL3oREVZmL4y0DdljOt58WeegFxeF6Na LSbj5MKfO9HF0YWqw8JzP1Kk/6mkxicIJg8t0A7Xx4V5IX7FfMaf7w4ljaQ0tuthB4zcwT qTGzesZebRFiSpT7BcMcBlbegtLglqOs92ysYVesFkjHcD8dD7x701QOBE0P7zribB5RPQ PtNmF9n/Jf6iukwpuOoGOT8PxZInFeT/VUaw9u+4jgeSLvgpva5k8R38qO2sJAfg0FeTFd q9DCbtxALVzAxFvleRuOoqzPq9a0sPdjfcqIuaMirvVk2RwO4gk3GOTQXaeArQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2s1Nlhz14fg; Thu, 13 Mar 2025 16:03: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 52DG3H4A048631; Thu, 13 Mar 2025 16:03:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3HPW048628; Thu, 13 Mar 2025 16:03:17 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:17 GMT Message-Id: <202503131603.52DG3HPW048628@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: dd1bd0ec5c91 - main - mlx5_en: correct recalculation of the ipv4 checksum for hw lro packet 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: dd1bd0ec5c91c21f1f60bb8bc58b2f5e794df43f Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=dd1bd0ec5c91c21f1f60bb8bc58b2f5e794df43f commit dd1bd0ec5c91c21f1f60bb8bc58b2f5e794df43f Author: Konstantin Belousov AuthorDate: 2025-02-11 15:43:21 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 15:59:50 +0000 mlx5_en: correct recalculation of the ipv4 checksum for hw lro packet The call to in_cksum_skip() did not skipped the ethernet header. Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_rx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c index f58c88e98053..a7d796c57eee 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c @@ -203,7 +203,8 @@ mlx5e_lro_update_hdr(struct mbuf *mb, struct mlx5_cqe64 *cqe) ip4->ip_ttl = cqe->lro_min_ttl; ip4->ip_len = cpu_to_be16(tot_len); ip4->ip_sum = 0; - ip4->ip_sum = in_cksum(mb, ip4->ip_hl << 2); + ip4->ip_sum = in_cksum_skip(mb, (ip4->ip_hl << 2) + + ETHER_HDR_LEN, ETHER_HDR_LEN); } else { ip6->ip6_hlim = cqe->lro_min_ttl; ip6->ip6_plen = cpu_to_be16(tot_len - From nobody Thu Mar 13 16:03: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 4ZDC2v20dmz5qrn5; Thu, 13 Mar 2025 16:03:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDC2t4W4Wz3QSR; Thu, 13 Mar 2025 16:03:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881798; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BgzRGemus91G90LCcJTcYhu3+Wq6rJrNotaPdQhqPEc=; b=YzuUTWevwROCEn1L5Y7p3g656I/94A63h6S8G5ct5sETRW0C7Ba2w4xUNIX2d6KvVJBR+4 gxWSR34ZKXD25ugQdmAH972GAJNoLt52F1M+AGi2zdYgjgnjb/AQJyYclb7wZuR3M9rK/B z+kRoMaf7bOTRT4mJNfP4QdFOp5mWaaS5ydS4KRWPnggGW/Jj9A5BeLBAmdeEz7s/CM8Bw f3uArK8KN1zjD4WAGjDByfdYBYd5N3ldhz9/QR2EWHZtvetrzApwJvS6SAO6mdUSFO6LVs oFFVDtdabnDIclTy4lyBRsFMXFdNkXiQ0t/UIgycjUBAdlyT2aAewnu29EHuMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881798; a=rsa-sha256; cv=none; b=GBB3rTQSgtToTTrl1w5qhZ7/DD5p4HUJeMl2M6oW0qtf3Zm3PvADbXoNfjhzYqGNe7lIOJ FIWzLlw67/Z8kFg49wGunkuDbQ+6gzTNKk4f7kkOfda30T25TJhS+zTi1lnplHzFrqMq0l Sp9avoXh2AqVc7ZbvIwbIZrahJlTAcnnLuwvS5EPJFZ/KsZMhUPcrqlIk8jaTRDxI91TWm SGqxlvG7oZG4U8xLck1ZepvKqqSwirs5wz8GeNacYR/ocuUXezCuUfZkF8PPlxq1+2v/0b Hg5zVg4gBkF5JrCQM13StJkYVMlWncBIkR3nyXDlH5hApd98uJx6CG5jVuQ8xw== 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=1741881798; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BgzRGemus91G90LCcJTcYhu3+Wq6rJrNotaPdQhqPEc=; b=ZQ/lVWsq7ePUR/ToTLSVHG0VymGfMQT+zj62jPBAq15W60E2BF5v2Duau5Rso0obcIAUn2 N9SNY/4hwmR8HbM8MHcs2q2R9JVg3RXHVwyXGqoJNOGIeeEOKt7MPHRJm/otj+qRY3zZlT /uG0hTseUcmy8fx3Lfek/SWRQpZnVMpaqnVBDFd/tFo6ieOKWg9glBWlmJJWbav/Po1aro a72pVWDK2Efc5lg5yiL3jzXcYNDpiAaDcFJXvfOyBk0kO8lfqevfPxTcKj1owCfOid8+a1 1+tSatWZIiRo1SJ7r4yWNK0oYl3QRJhYU3GPjdENQ4Z3T5WEjRCQp8gD5x090Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2t2jLQz14BV; Thu, 13 Mar 2025 16:03: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 52DG3Ipa048663; Thu, 13 Mar 2025 16:03:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3IC3048660; Thu, 13 Mar 2025 16:03:18 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:18 GMT Message-Id: <202503131603.52DG3IC3048660@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: 3eb6d4b4a25a - main - mlx5: recalculate tcp checksum for ipv4 hw lro coalesced packet 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: 3eb6d4b4a25a13b9ea9d825ee44c641b91669d06 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=3eb6d4b4a25a13b9ea9d825ee44c641b91669d06 commit 3eb6d4b4a25a13b9ea9d825ee44c641b91669d06 Author: Konstantin Belousov AuthorDate: 2025-02-08 07:21:55 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:00:09 +0000 mlx5: recalculate tcp checksum for ipv4 hw lro coalesced packet Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_rx.c | 42 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c index a7d796c57eee..f30cdeae199f 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c @@ -27,6 +27,7 @@ #include "opt_ratelimit.h" #include +#include #include #include @@ -128,6 +129,27 @@ mlx5e_post_rx_wqes(struct mlx5e_rq *rq) mlx5_wq_ll_update_db_record(&rq->wq); } +static uint32_t +csum_reduce(uint32_t val) +{ + while (val > 0xffff) + val = (val >> 16) + (val & 0xffff); + return (val); +} + +static u_short +csum_buf(uint32_t val, void *buf, int len) +{ + u_short x; + + MPASS(len % 2 == 0); + for (int i = 0; i < len; i += 2) { + bcopy((char *)buf + i, &x, 2); + val = csum_reduce(val + x); + } + return (val); +} + static void mlx5e_lro_update_hdr(struct mbuf *mb, struct mlx5_cqe64 *cqe) { @@ -139,6 +161,7 @@ mlx5e_lro_update_hdr(struct mbuf *mb, struct mlx5_cqe64 *cqe) struct ip *ip4 = NULL; struct tcphdr *th; uint32_t *ts_ptr; + uint32_t tcp_csum; uint8_t l4_hdr_type; int tcp_ack; @@ -200,17 +223,34 @@ mlx5e_lro_update_hdr(struct mbuf *mb, struct mlx5_cqe64 *cqe) } } if (ip4) { + struct ipovly io; + ip4->ip_ttl = cqe->lro_min_ttl; ip4->ip_len = cpu_to_be16(tot_len); ip4->ip_sum = 0; ip4->ip_sum = in_cksum_skip(mb, (ip4->ip_hl << 2) + ETHER_HDR_LEN, ETHER_HDR_LEN); + + /* TCP checksum: data */ + tcp_csum = cqe->check_sum; + + /* TCP checksum: IP pseudoheader */ + bzero(io.ih_x1, sizeof(io.ih_x1)); + io.ih_pr = IPPROTO_TCP; + io.ih_len = htons(ntohs(ip4->ip_len) - sizeof(*ip4)); + io.ih_src = ip4->ip_src; + io.ih_dst = ip4->ip_dst; + tcp_csum = csum_buf(tcp_csum, &io, sizeof(io)); + + /* TCP checksum: TCP header */ + th->th_sum = 0; + tcp_csum = csum_buf(tcp_csum, th, th->th_off * 4); + th->th_sum = ~tcp_csum & 0xffff; } else { ip6->ip6_hlim = cqe->lro_min_ttl; ip6->ip6_plen = cpu_to_be16(tot_len - sizeof(struct ip6_hdr)); } - /* TODO: handle tcp checksum */ } static uint64_t From nobody Thu Mar 13 16:03: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 4ZDC2w2QW4z5qs94; Thu, 13 Mar 2025 16:03:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDC2v4HMTz3QkR; Thu, 13 Mar 2025 16:03:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881799; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dS4MGabsurqQ5Il6Zulc/Bf8c+NKS5Dtw/hgmEfreWU=; b=eLxIHKQ/vnvmUJnwOm3no4ws3NygyeX94dnD868yccxm+QSQB2sG9E14qwd/rtjsjPnIlG NW1d7YVZdAMSH0bfyxZ0DhWda0YNTSEN76LlwqIQZh3ZzEzi32FDhykdzjfV1ZY5JCqX/i BMkIrhwbkRoJtlzQ4HnMcFkeSB/EmHkb9kof20RnA6Le21nfmFFsvHTgFvH23WQrmJY6hE ZctajnQbhiRS5WOC5f2j2KBis+31r7XMOL0E77o6Thn5JRnu5IwMUu4MjxzkmJpbYLNbt8 4rZk1ymCDhuzanYCSXVkvjhYMqXcxgLMfPUQQoCLegM9t5dtWXLuX4PB+LGxBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881799; a=rsa-sha256; cv=none; b=TwzQLqE1IE7tp1Rdjrx/ml1Z1kpPU4hGZSS2Gu46RHMU0R85870fhBRQPI92kjPxn8VFAE XmsKl76OkVRscuoPA87AOvP+9nh1qowQtc4o1Qf/l1u0e3cQvtIiQ5D6KQjW94uGyxgXwc zTzQYqSlDUKFgteq1jiE8DaqOU8TrH60XWxTxYmr9curkSsfbNGQgwmUAPo8uVHVPlRJBJ DoOEanqQRX07AZ69CyG1JP1jayiyCMOYQvVAn8LaUE9CQURMa2A0DMPQ30RRAuLf9SJHG4 DaHZYh/eD8jBgtOucfjUHEU7OlIZuRAFvWLCpfjeGE1QhRbitmUyLDM4/IO5ng== 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=1741881799; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dS4MGabsurqQ5Il6Zulc/Bf8c+NKS5Dtw/hgmEfreWU=; b=HbmpRS4hwRokQCqe4ERcac+Wgkz36J7cooJt0D7j5vZm9qSmQZq9HXZrRHcG+56m0XcfsN Fq8Z2Yf1NKjB4soFdLnWLas0bkfns6vDSkwuQ6ihFbP1YhOAi608v6KG7eWCUYuLkugl2P qLxZLVNbbtLRcGsWex8mblOOgdxVECkYYKjQ6wcBwEllKZIT3QHkv5xP/l/05aP+66UZEZ ai6m+QPeTGix62Vz7PsTqxakaVOT9sUnCIBg4IgOnbl8j3XNPeEFrqa8f92vZujLEMPM60 m5+3XXY8Xc8nh6/8YoA32wfClXi0rl6MH49V+zu69vRMujhWtDJOPFwxFRhiaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2v3CGHz14bc; Thu, 13 Mar 2025 16:03: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 52DG3JqX048695; Thu, 13 Mar 2025 16:03:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3JSI048692; Thu, 13 Mar 2025 16:03:19 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:19 GMT Message-Id: <202503131603.52DG3JSI048692@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: efe9a3996ee3 - main - mlx5: recalculate tcp checksum for ipv6 hw lro coalesced packet 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: efe9a3996ee319358c51681a6d9da8b4bf608b03 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=efe9a3996ee319358c51681a6d9da8b4bf608b03 commit efe9a3996ee319358c51681a6d9da8b4bf608b03 Author: Konstantin Belousov AuthorDate: 2025-02-14 11:17:20 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:00:27 +0000 mlx5: recalculate tcp checksum for ipv6 hw lro coalesced packet Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_rx.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c index f30cdeae199f..77e6a6b77c58 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c @@ -250,6 +250,15 @@ mlx5e_lro_update_hdr(struct mbuf *mb, struct mlx5_cqe64 *cqe) ip6->ip6_hlim = cqe->lro_min_ttl; ip6->ip6_plen = cpu_to_be16(tot_len - sizeof(struct ip6_hdr)); + + /* TCP checksum */ + th->th_sum = 0; + tcp_csum = ~in6_cksum_partial_l2(mb, IPPROTO_TCP, + sizeof(struct ether_header), + sizeof(struct ether_header) + sizeof(struct ip6_hdr), + tot_len - sizeof(struct ip6_hdr), th->th_off * 4) & 0xffff; + tcp_csum = csum_reduce(tcp_csum + cqe->check_sum); + th->th_sum = ~tcp_csum & 0xffff; } } From nobody Thu Mar 13 16:03: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 4ZDC2x0Wjrz5qs2b; Thu, 13 Mar 2025 16:03: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 4ZDC2w56XVz3QSq; Thu, 13 Mar 2025 16:03:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881800; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GDNiid7eRFnUTd1cMxD9qVZaddke4ZSaPONbqhroXY8=; b=nmgk8BrjSbwG2UH6oCQi1bF/zR0gmrfzYZoDyn+UnCnG0v6HBxbIqCzYvDdTU5u6N7DMVJ OnpEIBZcaaGtB04sCKQvLOmlEEbVsDAprQl6QNyayR6oIXWthY3Om9gymYmlF6+QB2yw5Z 7wXyYQ3IRa5D/0ibAA5TGBvdm/NLhId78tzgLKHKHc5ORzOoK+IWQjvWvQhbuA4CFlkfRi oaO8kaP45dW4UYPG5MbYmwY7LCOD7v+t4ejhQfvXUA2ckt3NhwJnnmSe2hd5HZaHh1xdZs FYuf91D+bmuS5JnvzCLWVmRihRNXb9RJAY1IvbMFBcV6qyPt5N0oLMWZJHwYxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881800; a=rsa-sha256; cv=none; b=XD4VaWIyY16fkp+WKIEWsDDhDkvBvSNoolNl4yZV7wQVH7zdaq8vRNdKY7wzqklQLGQNhp X1nBpKIJZuXFjvwEZp17hBVhfnF2ssRSKQZggDUEMzejmL88nxDIuMD2UmyrLwEZqpw2HW ShpA172saRuFauXuHYkzpiJobhWOpYI9nJx7EHLA5rBr8SgjCs5XWzONDgIQMvKVgQVsXW tWkWOcCgOwfgJaCPVmL1wqyvSxrPVomGxqV6YarKTqW/ZKads+O3MSJzWoqX0cp1pRG67X NFPDu21nKceJdRY/vEdg7hyA3Hq12YCEX587NLW9ajbvkowt+HLiG0xvh6Ts0g== 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=1741881800; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GDNiid7eRFnUTd1cMxD9qVZaddke4ZSaPONbqhroXY8=; b=h2sUh+GZ5faW6wn65IewguP9XoFgGjz9mDqIeSsNqZ1MXysND2T8hHjxH+PTnFhDOSxWvI ZJfFIgg7HhfdPtq2B32WmEjNGs7TtSdmhvm/cpntxVfG+o0lCydkR5j/lFpjG6qw0YBWNj zDq9y9eOFkv2rLveyE+Ht2OLE0VglF7JQ4MwFWdRhO0cIS3vAK6A8Vw8zKf3EKR7y5G8oj QV6IckCxNdwELRsNW3E/3mfu1gn6KNw0eMIGgi9cFmqwxiS/AYZN4XppeXw7kpMG9nz89I Vf2pV6RyvGWu5B6P9MEZaill+E8vlEn+ZA24xFKN7x3j/qkc0nrVYSDp/D9wFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2w4bXrz13tG; Thu, 13 Mar 2025 16:03: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 52DG3KZu048728; Thu, 13 Mar 2025 16:03:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3KgQ048725; Thu, 13 Mar 2025 16:03:20 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:20 GMT Message-Id: <202503131603.52DG3KgQ048725@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: 903996760d19 - main - mlx5: correct the predicate asserted in __predict_true() 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: 903996760d1903a7bb594b7f2ed8072e9e6cef9f Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=903996760d1903a7bb594b7f2ed8072e9e6cef9f commit 903996760d1903a7bb594b7f2ed8072e9e6cef9f Author: Konstantin Belousov AuthorDate: 2025-02-09 10:25:05 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:00:42 +0000 mlx5: correct the predicate asserted in __predict_true() Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_rx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c index 77e6a6b77c58..a9b3a883f32d 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c @@ -210,9 +210,9 @@ mlx5e_lro_update_hdr(struct mbuf *mb, struct mlx5_cqe64 *cqe) * +--------+--------+--------+--------+ */ if (get_cqe_lro_timestamp_valid(cqe) && - (__predict_true(*ts_ptr) == ntohl(TCPOPT_NOP << 24 | + (__predict_true(*ts_ptr == ntohl(TCPOPT_NOP << 24 | TCPOPT_NOP << 16 | TCPOPT_TIMESTAMP << 8 | - TCPOLEN_TIMESTAMP))) { + TCPOLEN_TIMESTAMP)))) { /* * cqe->timestamp is 64bit long. * [0-31] - timestamp. From nobody Thu Mar 13 16:03: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 4ZDC2z0mS8z5qs2j; Thu, 13 Mar 2025 16:03: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 4ZDC2x5yyPz3Qvf; Thu, 13 Mar 2025 16:03:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881801; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ahjn0GDSDib5/HDyvC77NfKb8C/Wn/hhHFFZO23vVAU=; b=EuXLwdUUsWaWpG9NFi/CNU79bC47ftMNnQV+vl4zZqIUyJjLjeKFEOwzpEodZw/Wr3ICqx KyougAmXW1CLHJqMUC91kykcf0AbHXSb9xWRJHPipcgs8Yei/YvsFOvDwB/kyKsvdFUsF6 RiyXuln+Zwmtx9RzdtEcpKg8aE4pfX9PTgVPjG8eaVoG0/sZkLKgNRfkjgXug0e9qjcQQb GyCtjjCFIpybka1R8W34KH6pArYFjyYDm85aQuw3ZZVIg6EihJRoE80T9f2CpShT9yqNlV GPLmNdD+Vm1q1Q9+dZHporNPm1iv+d9RdhE358uFIQNrMC8f5G/rD2KVTL6QcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881801; a=rsa-sha256; cv=none; b=atUNkjKxJyxtI1ZwjxyxuHfDLMbk6jfW6g9PnyaCim+Vzq6pCsQG+39ZlseAMxrbWHdhZO Vo+pnJdf0lGV/0+RR+BN95vVEfm4WX4NKu8wMgqFQn3fPNiIRnbpC5PUsS3y0q+yMXxMTt xIFoPcs6meKxMnwYQzgYn6+4H/wmZsY4SQR3SplTrtUb23adrKF5OCYXF5wRvbNJJpAoMr IGGwsTlZTbONzZVIfkxLnxc3IM8QxW5zfH2+oroAUbImH692sBxFfErqY/9SrWMYKgqEqf f/NaVBEjFic74xPI7q8y7sba+GLTVDkYKSae6wusjyO1vWmTWr26nlVqJalrvA== 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=1741881801; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ahjn0GDSDib5/HDyvC77NfKb8C/Wn/hhHFFZO23vVAU=; b=EaLUlmuwhH1YQl+N0ggt/PEmoEkO8Pjw3TYi0qyaeXVEjIhDKuInnAOUaQHtigxi/9MR7B 6sspzPJBuiQ76qkAgo6TsVUoCuCwV2LR+x9Ykt30KAdAZrJhJTAqcSKckQQK8wtdoxr1tU KAo9nL0zHtenDs/3kOAI0pMKM4j8Pa9KEFbRm4a1t3lbEQ69xtbTFN7QMjiwiu4qkBz2O+ TvFmM2zv5ewD1Y0dUz2XqstjB/O5750geuIJe8csT3VjEP4N6mXmnUfcw7zcOZc1T9RC6k r7pZp4HWG0eoHrNGhWR93sr6W4H6QbLu8LQvoior3NPUXDQrNsmP5llm4P4fmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2x4yJMz14tK; Thu, 13 Mar 2025 16:03: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 52DG3LrK048761; Thu, 13 Mar 2025 16:03:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3Lb9048758; Thu, 13 Mar 2025 16:03:21 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:21 GMT Message-Id: <202503131603.52DG3Lb9048758@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: 7560ed3a6b9d - main - mlx5: assert CQE structure 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7560ed3a6b9deff85b2e865b6db74eb5e0f5f64b Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7560ed3a6b9deff85b2e865b6db74eb5e0f5f64b commit 7560ed3a6b9deff85b2e865b6db74eb5e0f5f64b Author: Konstantin Belousov AuthorDate: 2025-02-10 02:02:03 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:00:53 +0000 mlx5: assert CQE structure size Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/device.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/mlx5/device.h b/sys/dev/mlx5/device.h index 67c129a0f2b3..e6d46507a5d2 100644 --- a/sys/dev/mlx5/device.h +++ b/sys/dev/mlx5/device.h @@ -727,6 +727,7 @@ struct mlx5_cqe64 { u8 signature; u8 op_own; }; +_Static_assert(sizeof(struct mlx5_cqe64) == 0x40, "CQE layout broken"); #define MLX5_CQE_TSTMP_PTP (1ULL << 63) From nobody Thu Mar 13 16:03: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 4ZDC302Hc4z5qrn6; Thu, 13 Mar 2025 16:03: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 4ZDC300cW3z3QpG; Thu, 13 Mar 2025 16:03:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fNixNh5Ev6dzJ6Ujt1XV5z1N3CngL4uJI2dbboCQ7Pw=; b=Q9W/9/ZpBtmI4fNBG8Q4EuxAjZHqUO4cPOfCi0CtnWrQ3ZW2aMJxtFOxPOMKtU87D9Cdr7 8pUByJqXAHtJYIH/lE72pkTR0xwJJ/yalLzXci1cEG6ZptviklWVoYMfvkPPwLPH5pPUAx vAIqizgrllX+UujDePXvYBJeoLdtZyEKCVrjERh11OFqF6dAW8xHAlA8ZFMzY/gtUgRhJq 7GEjqL43VEcfVY/kt0Ea+powNhzyX7laboKpxjVYqvK4P1bqt5LAjPjNCgepHOIkns08RA 9InvyiXwfxeMXbdLGCjD1E0QlHmXEeZmWzGPJ4iGjHrr/vDDKuQ9uJqZb3gpkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881804; a=rsa-sha256; cv=none; b=DVYHFalk29iV9ZAe/2H9Xj0VHA3Mz9KYbRKMw7Gr1TCA205TDxMOeUXqYUGAWv9bokL9CY XiJjXM4bnOC1IVZ4Af74vs1UajkwzBmettu7XSwF0Nlh/6vbWrcib1ZtDFNpeBgVw64g/k Wkfznfa0yogTV5qnTSYmDlTl5Uwm0l/LiDCJnAhCrzvmL5SiV1tXY55AXcA3lYOHaOP9lT kQHgeTovISKQVdPIvLLduJ8Rx89dhbtySclpFzpccLX5QX51mCG0qOWFaiBmRNk4XCU0n6 5VFjSj1Mf6kYcab6kF2EHwJaOfj4MZ0Zlf7e8zurqP3DOlXnxK08EGeNomkALg== 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=1741881804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fNixNh5Ev6dzJ6Ujt1XV5z1N3CngL4uJI2dbboCQ7Pw=; b=MUFCIgdTF8jwasqrCxdXHV+lkuCLOzbEiB0fctLW8h/bYfl6n2VrN1u+5CtKQBxe97rPQB 0JcU0gZ3JTpWGOWkUBBWZ4TmUSeYpneHx7uZgD9MGmeW5d2oqA5sYokXd29XHs1q+BHFo7 0lHFWqLih7By/ZyEFUYWGxswxk1nIwj8iWOIeHO1Qa/GjFzLAs7S4IMBB9C2ojn0Pun1Lj VcKrm94JZ4ofOAdFOKTxLOSkH3e0KEFNJxm72JzUbl8N3rIi07cG1Zguh1QVTZjbqmhzjS WLoXcRgOvJNacTX3B2AgW9Ovtc8F05E27kmzjweF/oy398ra7zsz+qQ9xX9D8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC2z6sbCz14j6; Thu, 13 Mar 2025 16:03: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 52DG3NWQ048827; Thu, 13 Mar 2025 16:03:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3Neu048824; Thu, 13 Mar 2025 16:03:23 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:23 GMT Message-Id: <202503131603.52DG3Neu048824@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: 89491b1edb34 - main - mlx5en: stop arbitrary limiting max wqe 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 89491b1edb3438ebce84e17fdb6c1acab35df601 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=89491b1edb3438ebce84e17fdb6c1acab35df601 commit 89491b1edb3438ebce84e17fdb6c1acab35df601 Author: Konstantin Belousov AuthorDate: 2025-02-27 01:54:31 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:01:17 +0000 mlx5en: stop arbitrary limiting max wqe size Since the times the driver accepts s/g receive buffers, there is no sense in trying to use pre-existing mbuf clusters sizes. The only possible optimization is to use full page size if wqe size is greater than MCLBYTES. Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_main.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c index d69d2e433c9c..8b2acddb869a 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c @@ -2321,17 +2321,7 @@ mlx5e_get_wqe_sz(struct mlx5e_priv *priv, u32 *wqe_sz, u32 *nsegs) r = priv->params.hw_lro_en ? priv->params.lro_wqe_sz : MLX5E_SW2MB_MTU(if_getmtu(priv->ifp)); - if (r > MJUM16BYTES) - return (-ENOMEM); - - if (r > MJUM9BYTES) - r = MJUM16BYTES; - else if (r > MJUMPAGESIZE) - r = MJUM9BYTES; - else if (r > MCLBYTES) - r = MJUMPAGESIZE; - else - r = MCLBYTES; + r = r > MCLBYTES ? MJUMPAGESIZE : MCLBYTES; /* * n + 1 must be a power of two, because stride size must be. From nobody Thu Mar 13 16:03: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 4ZDC3008ytz5qs2k; Thu, 13 Mar 2025 16:03: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 4ZDC2y6Zc3z3Qdw; Thu, 13 Mar 2025 16:03:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1nRYQfHz1EH23HXXoUBTSk+DjeaDMt9wG4eGXgtUgjM=; b=POUDZ14lY5OtO0U7uH8lytjPbVNeeRvkphv9Pcb8vN/6TFgwXgrfQE3I00DcaNyzjLO7GL tiyQVzq+uIeq2+SHxwEYhBeHMANy6gR+bVG/fE8DQX8PHcUbgricAL9Fp7XSCVQlxYpXRs QfD2q/v91iBY6fP+JUCKy85kG+JlN/L7X3WwkrClrwZUnm9NLGcs4SqJNevt2k5G/SNEeY JzHgA5T/DDHrlfSIvfkI/MYYW3HxVFoTSidwMPcDaO61tKU+UDvNGA4zGLWl8Qg+mR5DGE EjmY3X3zg0UbtYoEi2mOakd+eQEWWLrN/kGCWdolci+T27YUhFCVRV/hmTm9UA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881802; a=rsa-sha256; cv=none; b=iff/HdNEVd+fZPSho5+1WIVReHZ4JhzcZa2RWeuKcxwV5TV/t8Y7MJxCxTNblutqoZbxKQ l4Z8QCRpcykirKLIVtsQEpW8UNRKtgmgsqXRplSrwKT/c7XEP1j0tcR9+p4ka9EfP336pl f0XEdcBrzzd/VOemIFhM/e0yQWBfEzCn0HdelZPE5cTkNm+orKXbTJtVn4T1ty+ZVgYOyY 23vcGHFDtbG7tgjx6ZVJLynWqZopeObYwe/K5rbX1i9Z+oDVPz07BXtMbQCFPfJy32SVde 69E//FjYYjmySCo8PWq6ctkY9vMdKKUpUzwquIqzk+8tDWHHVEAF7owK9VbHDg== 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=1741881802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1nRYQfHz1EH23HXXoUBTSk+DjeaDMt9wG4eGXgtUgjM=; b=YB5itzgBZ7wnRdCO3uCWHLAKbgyB8WQQqRYpwJpQ2BkCx/FXYkdRYfJI3KJ1FooWwZ7+JZ r2kVZ6oz715JZIbp83juiUtgX5mG93N3J2QgRdeCgyEsxYt9y5RtlE+PzDJbDONloMNhzs peYtg9FeFi3m+SnekEo082LlVIFwfi+ijDeQ+8OliTe+BkcMqZ+8fgjnZ6/pB3/eQA+ovu 9jHbYtK5obKcX0cKsSzmvSONLOku6P5tjSc84CLG5m00od5L9cFOijFjOVMuWGjf07pGDs TnWsP8LoeSebyPmEC9W90ufzhkdKOHIDOAmUunrvHqyNJs22BlfP/e0N0rS8+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 4ZDC2y645sz14fh; Thu, 13 Mar 2025 16:03: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 52DG3MYR048794; Thu, 13 Mar 2025 16:03:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3MuS048791; Thu, 13 Mar 2025 16:03:22 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:22 GMT Message-Id: <202503131603.52DG3MuS048791@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: bc1023849256 - main - mlx5: overwrite only the echo reply timestamp from the last packet in LRO 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: bc1023849256b786fd21aad06a1a1b577c5dbd9d Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=bc1023849256b786fd21aad06a1a1b577c5dbd9d commit bc1023849256b786fd21aad06a1a1b577c5dbd9d Author: Konstantin Belousov AuthorDate: 2025-02-10 04:35:55 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:01:05 +0000 mlx5: overwrite only the echo reply timestamp from the last packet in LRO Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_rx.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c index a9b3a883f32d..11f60d33bb74 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c @@ -218,7 +218,6 @@ mlx5e_lro_update_hdr(struct mbuf *mb, struct mlx5_cqe64 *cqe) * [0-31] - timestamp. * [32-64] - timestamp echo replay. */ - ts_ptr[1] = *(uint32_t *)&cqe->timestamp; ts_ptr[2] = *((uint32_t *)&cqe->timestamp + 1); } } From nobody Thu Mar 13 16:03: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 4ZDC3210mcz5qrf9; Thu, 13 Mar 2025 16:03: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 4ZDC312L5bz3QlX; Thu, 13 Mar 2025 16:03:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XJSScrOnUHyIjRYJNva9S7aEjZVE8CIaUuiaJCxdEoY=; b=x5qBuM4rNP4h2+SsejzUOVPVfxLdwdjmiVPcWHvbItPQ4ehDoOJ1jjydP1K0XY6k6o/sVZ J7iAdsWoG8hLAKYFVAFG6PVE2VKoAWq5VadkZlERQVqHe9UrLOjAhm/RRg8efcrat9BnC+ lqnN7vKqp8965UBX824HuC5X49ED4ghqvzog/Xazkp4boMK4q74TAURCK6shmVOL4f14Pu +G47MYZ6g0rPnixZzI4D23EweghgWGo1A+7AQ9FQ9ZNGAbEwjHeNQGFOrnzRTfwkJroPlH xPMRvnPigLbpRJKAKpFLtCwqjk+MHcCP58gdHwXnHRan0Xcl6u01YNl6c3THCg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881805; a=rsa-sha256; cv=none; b=J3HQq10cvPT/Tzyh4nMmhuSKX0od82AtSyby1qCP5MXJa+kHhixOUfhgORSQPm7vNfs0XL b9uDNFUDkkI71kwf2CqHVKk+3QOYX0nuHOzxsu/dL5CSLdMThPQkV9eAih7fGVgJux//np CNhtD2Z80w6JzN+ObHwkCd2Zq/Lc/cEep38uJKezbQ41WG/D9yDfDVybECT/QmK5K0Gkk1 dqoJ0Z7jVeigrbJrrPgPiz/ehqApMzFTZGN6eLEOB438hjUnQf9oF/8Jo9jTJr0WouLX0X 5s6BcYMAc5CCoEUr+Tb5hTxKHbpEmIi7NF3NfgAs8yMh3X445KFLyni382GinA== 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=1741881805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XJSScrOnUHyIjRYJNva9S7aEjZVE8CIaUuiaJCxdEoY=; b=x6svp3QWz3TdZ00VWFllUW1ty2IurZyeN3RAC+xCBUt+Vn1SetmrTOKwuTyZh8tDfXDhqf pdZ63NeXRmMnoYuwsHf3WQ2J17e7jFbvWQ/ekGVD4A73hX7yYx8iQSdxEQv8/Zlc+2Wj1v BCCRaHwRXoje1qZNjNsgxXg+kscyfzL7Qjt1gQkgvyu67MmUzzx/yhU37VaG3KH1JGWIdD OqvF0ftPIH8Br7ijJ7d4gF0SSibEtsv2zSebtbInOqrOBJA9Jd2xjMa6W0vz4qaOk7EwH/ FOdyEvQFlpLAcjnVjRCDRbijangnIXv+kml/hJL3bIXcHg4rfCyqphyyeq9BJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC310zMLz14fj; Thu, 13 Mar 2025 16:03: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 52DG3OsA048865; Thu, 13 Mar 2025 16:03:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3O2j048862; Thu, 13 Mar 2025 16:03:24 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:24 GMT Message-Id: <202503131603.52DG3O2j048862@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: c2987d7876a0 - main - mlx5: bump the max LRO packet 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c2987d7876a04c292d29c74cd6f9c02a82689ed5 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c2987d7876a04c292d29c74cd6f9c02a82689ed5 commit c2987d7876a04c292d29c74cd6f9c02a82689ed5 Author: Konstantin Belousov AuthorDate: 2025-02-20 23:52:52 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:01:36 +0000 mlx5: bump the max LRO packet size The belief is that the 7*MCLBYTES limit was set to not hit the segment limit for wqe busdma tag. But with the current mbuf allocator it is not possible, and even if it was, the corresponding wqe fill would simply fail. Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/en.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/en.h b/sys/dev/mlx5/mlx5_en/en.h index bcc33824a5f5..bcd31de3f490 100644 --- a/sys/dev/mlx5/mlx5_en/en.h +++ b/sys/dev/mlx5/mlx5_en/en.h @@ -95,8 +95,7 @@ #define MLX5E_MAX_RX_BYTES MCLBYTES #endif -#define MLX5E_PARAMS_DEFAULT_LRO_WQE_SZ \ - MIN(65535, 7 * MLX5E_MAX_RX_BYTES) +#define MLX5E_PARAMS_DEFAULT_LRO_WQE_SZ 65535 #define MLX5E_DIM_DEFAULT_PROFILE 3 #define MLX5E_DIM_MAX_RX_CQ_MODERATION_PKTS_WITH_LRO 16 From nobody Thu Mar 13 16:03: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 4ZDC3262Cqz5qrfB; Thu, 13 Mar 2025 16:03: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 4ZDC322bL5z3R4C; Thu, 13 Mar 2025 16:03:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ENeuKukG4ZaAW+rbDi05a25e9WCt5XGHHR/tb9I583g=; b=SD2IuccU/HPIa88WOSEfFtvb9vj0wL0Ux+hs4N7kUvKSJCrhNKzlAKLdRqb5EI8I7ObVS4 sqMQf7v3eLC2DUZeVsdad7jy/W8UPMmP88DONXk/KOCCVE1GwIFQYlY6+4sBOyfp6lY9Q/ TcfpDLPPpP6ZxjSMc5NFCsT7T+pXk6U1xeKlHuwlIsM7meXIgTnJNlhApbv6kYwWyk1FlE g1rjEQ9sq5Ccj+qxCuZ2tdRUGlk+LmfRU5EUGxW4VItNo7G47vQnliFf5OD5SXSCk47hRt vAhu2mzuELzB3ORLr5OahCCVFDj6yUpArAJQgW+2N8z5DLjME83ccORqQ4ytTg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881806; a=rsa-sha256; cv=none; b=HkSmm8kM7Trt7i7uVV+4Ayta0HycTmtrTiFrfynRE0DGN9XXUPNn80btp3Oss3cBYFlykf Lzsn3sR0jFnPCu5cZLHlpGDAAGXBpWNdI5bCVSh9+2xWAM+GFNawTuQkgB+/MPgfaNARwi VmKsJkJ9PiAcdlbO2ck/VHaCFXnfQe4ANSQmOFkE7sptnls5gZp053boB3SOKG+cE07+hK Dvd9AOYhgCEHiHsuLtywfj7GdxcR7iQC6xfLZtLBGwlKpubEozt39iv3NlQj1Z+4TXuITF NrtHznUWNIy6foBSU6tbnf+3/jNHKN5VEkOFOJG1qt45I8DZGhggu6CpHdXX2w== 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=1741881806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ENeuKukG4ZaAW+rbDi05a25e9WCt5XGHHR/tb9I583g=; b=fAOrbSuYDf50Lc7Nip1S6kknBSCE05hxWsrC1c7Dq/0A9WhmkAvI+gqUSWkCELDrKqVGOP Twni1W9Dlmp29ykc9UQ8xdMHOwH5KvplmnchdrSqSzSrC/12oB9tx0vUDSli8zcfHg+rnN 2E7Rl4Fd+HpBes2TsZSwibUWPeXCSWUPQETpI7WTtA9qnwHsGVeEpJ8VYyXOpySpwIo2lC ZIUt/o3lhzy6tlMlaa9yXo/au4xPFmgEpfBV5L7+h9mWogjh3rhvdyqrmmutFO0m+TpcN9 dyi1b++RFm4IMlfXfNdoEP+UDhraOUnvT0GHVWT/BeoLriKhmtuYiMswCR7OWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC3228Lnz14bd; Thu, 13 Mar 2025 16:03: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 52DG3QCQ048903; Thu, 13 Mar 2025 16:03:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3QdV048900; Thu, 13 Mar 2025 16:03:26 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:26 GMT Message-Id: <202503131603.52DG3QdV048900@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: 016f40466afc - main - mlx5en: fix rq->wqe_sz usage 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: 016f40466afc029df28d699650237b182aa88211 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=016f40466afc029df28d699650237b182aa88211 commit 016f40466afc029df28d699650237b182aa88211 Author: Konstantin Belousov AuthorDate: 2025-03-02 08:58:03 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:01:59 +0000 mlx5en: fix rq->wqe_sz usage Define it as the size of the single data segment in wqe. Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/mlx5_en_main.c | 12 ++++++------ sys/dev/mlx5/mlx5_en/mlx5_en_rx.c | 16 ++++++---------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c index 8b2acddb869a..2c83492bdaa9 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c @@ -1226,9 +1226,9 @@ mlx5e_create_rq(struct mlx5e_channel *c, BUS_SPACE_MAXADDR, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ NULL, NULL, /* filter, filterarg */ - nsegs * MLX5E_MAX_RX_BYTES, /* maxsize */ + nsegs * wqe_sz, /* maxsize */ nsegs, /* nsegments */ - nsegs * MLX5E_MAX_RX_BYTES, /* maxsegsize */ + nsegs * wqe_sz, /* maxsegsize */ 0, /* flags */ NULL, NULL, /* lockfunc, lockfuncarg */ &rq->dma_tag))) @@ -2317,18 +2317,18 @@ mlx5e_close_channel_wait(struct mlx5e_channel *c) static int mlx5e_get_wqe_sz(struct mlx5e_priv *priv, u32 *wqe_sz, u32 *nsegs) { - u32 r, n; + u32 r, n, maxs; - r = priv->params.hw_lro_en ? priv->params.lro_wqe_sz : + maxs = priv->params.hw_lro_en ? priv->params.lro_wqe_sz : MLX5E_SW2MB_MTU(if_getmtu(priv->ifp)); - r = r > MCLBYTES ? MJUMPAGESIZE : MCLBYTES; + r = maxs > MCLBYTES ? MJUMPAGESIZE : MCLBYTES; /* * n + 1 must be a power of two, because stride size must be. * Stride size is 16 * (n + 1), as the first segment is * control. */ - n = roundup_pow_of_two(1 + howmany(r, MLX5E_MAX_RX_BYTES)) - 1; + n = roundup_pow_of_two(1 + howmany(maxs, r)) - 1; if (n > MLX5E_MAX_BUSDMA_RX_SEGS) return (-ENOMEM); diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c index 11f60d33bb74..3aef10109720 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_rx.c @@ -45,25 +45,21 @@ mlx5e_alloc_rx_wqe(struct mlx5e_rq *rq, if (rq->mbuf[ix].mbuf != NULL) return (0); - mb_head = mb = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR, - MLX5E_MAX_RX_BYTES); + mb_head = mb = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR, rq->wqe_sz); if (unlikely(mb == NULL)) return (-ENOMEM); - mb->m_len = MLX5E_MAX_RX_BYTES; - mb->m_pkthdr.len = MLX5E_MAX_RX_BYTES; + mb->m_len = rq->wqe_sz; + mb->m_pkthdr.len = rq->wqe_sz; for (i = 1; i < rq->nsegs; i++) { - if (mb_head->m_pkthdr.len >= rq->wqe_sz) - break; - mb = mb->m_next = m_getjcl(M_NOWAIT, MT_DATA, 0, - MLX5E_MAX_RX_BYTES); + mb = mb->m_next = m_getjcl(M_NOWAIT, MT_DATA, 0, rq->wqe_sz); if (unlikely(mb == NULL)) { m_freem(mb_head); return (-ENOMEM); } - mb->m_len = MLX5E_MAX_RX_BYTES; - mb_head->m_pkthdr.len += MLX5E_MAX_RX_BYTES; + mb->m_len = rq->wqe_sz; + mb_head->m_pkthdr.len += rq->wqe_sz; } /* rewind to first mbuf in chain */ mb = mb_head; From nobody Thu Mar 13 16:03: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 4ZDC340ZWFz5qrlL; Thu, 13 Mar 2025 16:03: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 4ZDC332cCNz3Qtq; Thu, 13 Mar 2025 16:03:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741881807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=19bKsBhs99i3xv1rJDds4BuhneXJZaDKb1qeKd31qh0=; b=C78ZccbvCCnVGgTmUrQudAAVGQ7mx6KYzeu+uOb+8kvq5w8ZS/C/+TrJe/fYI205Z0J/XM CZiJUbj5kjHN4MikcjNXMxZ4A7g8BzVXA9j7/EqU71p9OtkiZtdORUlCqvubtmbFLs7sk1 i0SAu51jeUbNdj3/L4nDt6RseU6U0Ink7SHXkKUiMbzCBtA5DRqjEAvAGh95AklWAg4THb btLYb5Cin3euY/nKnKCakjn17Uef1X9HqZ6RcghNzGV1eOZxfKaDxXr1l4SBm9V/s7BpTH BA6VvU8eiI0FFJ9Cv3hunIOeTaT0HTnuQitjWSNCIarNlRr9LyEW/ENNBuDM4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741881807; a=rsa-sha256; cv=none; b=CctwLaZ2v43Juo62iiHTYQ676zlaSmXNKQoql0iZM5GzUznNugCfCMSTiNnMI6caakoACY Zmv9MkpSSgSrssr0lrANWcrtZLgJsBhoBTTnksadBZQAmqLjIatm29NLWoz4PE79GL8ZiO AropgQ7kFbsQYkwkY1Ov/4l3i9fkk1AC7ajrUthQB1us6ONfbwColPDFJEF6aC1ud5bAhr BeP+G+wUo0g6PwfiILAg8chIuXNwm6z+4Eh+VF4cFGZimdSCyDxynKy+Dbrch2VheIRHet 33nUow0CoNfAlrVPG9+w5L9Y8tGwhubC1O3OMUy339X21vo5bpA4Pu1nxcXYOg== 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=1741881807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=19bKsBhs99i3xv1rJDds4BuhneXJZaDKb1qeKd31qh0=; b=FRZMxyisUDSbhsYbI6RPi8gBEcbJPI48lwtOUdBR32bzhaueYtffBnpNaN+l+6qXXKfLPb MXzkaSqWEFewJhnahjxJETi1VcTJeb7jfKr5lpZhoI+FOCQ/6RuucrdaZFlk463XgFq8HL ktKXEvPiGKVIyrDIJdNlK7X+Kp8YZsOmyeeXEP+BHF2zIDAJlTTZlBkVDGQIc17ihb/ZXN sK8Ya3CJDslr3mn/Vccsnmo3nQJZUPRsmLJ0xVMzw9Lw3yaAolXDTe1mNuLh/50eOVJoul y7tAayzrgIfNdLsU+i3SI8ApfrFz8AKXpV0rurAmzBMWUVt/AZM4fqv2npc0SQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDC331Z3Lz14fk; Thu, 13 Mar 2025 16:03: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 52DG3Rdm048946; Thu, 13 Mar 2025 16:03:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DG3R5h048942; Thu, 13 Mar 2025 16:03:27 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:03:27 GMT Message-Id: <202503131603.52DG3R5h048942@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: 480fc5b8e5de - main - mlx5en: bump MLX5E_MAX_BUSDMA_RX_SEGS 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: 480fc5b8e5dee2f111623eaec95c76575d876aa7 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=480fc5b8e5dee2f111623eaec95c76575d876aa7 commit 480fc5b8e5dee2f111623eaec95c76575d876aa7 Author: Konstantin Belousov AuthorDate: 2025-03-03 06:31:48 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:02:17 +0000 mlx5en: bump MLX5E_MAX_BUSDMA_RX_SEGS This is needed to accomodate more data segments in wqes for 64K receive mbuf chains. Reviewed by: Ariel Ehrenberg , Slava Shwartsman Sponsored by: NVidia networking MFC after: 1 week --- sys/dev/mlx5/mlx5_en/en.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/mlx5/mlx5_en/en.h b/sys/dev/mlx5/mlx5_en/en.h index bcd31de3f490..fdc12381e91b 100644 --- a/sys/dev/mlx5/mlx5_en/en.h +++ b/sys/dev/mlx5/mlx5_en/en.h @@ -89,7 +89,7 @@ #define MLX5E_PARAMS_DEFAULT_LOG_RQ_SIZE 0xa #define MLX5E_PARAMS_MAXIMUM_LOG_RQ_SIZE 0xe -#define MLX5E_MAX_BUSDMA_RX_SEGS 15 +#define MLX5E_MAX_BUSDMA_RX_SEGS 31 #ifndef MLX5E_MAX_RX_BYTES #define MLX5E_MAX_RX_BYTES MCLBYTES From nobody Thu Mar 13 16:10: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 4ZDCBk1crbz5qsNQ; Thu, 13 Mar 2025 16:10: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 4ZDCBk0YWZz3Wwk; Thu, 13 Mar 2025 16:10:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741882206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LtCaNrXjUeRqP4BPMcVei3o/6V7kbZ7aZy46hKE+CtE=; b=GXvgaIomU8E7tCCY3ycixyv5D4REZZv0SjFMM1+Mop7vb7RbpTpphPdcENxt2dVjrkU7+g 2cfDM9EohhSu1KAZZUmJHP5FIzgrnWZJiK36nz1XHMZ68I1G/3/R2UPi0swG+Av4vAjQxB u+YwQtuxVmpN/Knl/xP1th7H/Ov6IHMNCwA0qR6Q3LWnRUk8Ai/1lqkzcFJZ0mRDDxoJLI cfaOG+9qlvn7hwNo2DvLhzXbkXlZw8twtRSWODYThSAvcbt0EenF75qrmpL5xKIiauAAqr PxAIH1i2TMoiALfiwudiU/NnLfKVmUxK+SAUJOY0inlBoR8YHjSA8Uwr4E1TBQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741882206; a=rsa-sha256; cv=none; b=ACjkvgCt9TpOs2k7TuyUXESakm0DeI0XCwZae1pao7zIqxV1qfTI+3hqiul7Ik2eEpvD3b bojlhmtCklFLLdc3V/UoM2sLTO/d1MehIfdKtm8jmTK9PdSJSe2ZvR6GPl0z5n7NsfMtRD Id2xBmS5YOMn0dWv0yQf8nsnCF1MzC6v/xl/o2RPNn3YpuRENUiGnENEjpGapzLAf6fDux Hn7Cm/OUJ76Zm+E6luE2M90y+ekDtFB6Wv0g5ExKSi/goc+znDLbb7qkWOnJQwmdkzySzw KsXsQiw2aqqxIGgfdwgmdYcBcIM0ubnZJ/3TA8EnjzhiR6jwnWn+FXC4U7AMog== 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=1741882206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LtCaNrXjUeRqP4BPMcVei3o/6V7kbZ7aZy46hKE+CtE=; b=dTqv3KNbyXnI6KAjDJHw05o9sXbHYOrjmkOFKhQ244jfJaPCpEK8/NYUrJLNbd+QjVfBmh PXshv5iVyZGi4Teh71WT2rgXEPhGJ3WEt//56OzfaEfRzgMAPxaJExyL3D5JZwnf+TUc1h lJ9CVD6pfBtk/WjwWmz6PJzfwLDc3ngvKIo9kOjaugDHFY1WxFFUEvUafsnm9oodwnwnOP +r7Ea68ZEgJPR6OkHGDTM+tjvtXMjuRJINgklJfTqb0TokQggdTcDpi7bS7I8CQm8EeztM B3sa+uQFJ2CR0i4bPemQHI7Xy8hClcEz8xZIi8XsxFX0ZstEXUH8Wttf3Sy9YA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDCBj6nrbz13tH; Thu, 13 Mar 2025 16:10: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 52DGA555054005; Thu, 13 Mar 2025 16:10:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGA5i4054000; Thu, 13 Mar 2025 16:10:05 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:10:05 GMT Message-Id: <202503131610.52DGA5i4054000@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: 0a7c164d91a8 - main - kern/sys_eventfd.c: fix includes 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: 0a7c164d91a85a0cc5cfb9ea1afb93c5e4f2e628 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0a7c164d91a85a0cc5cfb9ea1afb93c5e4f2e628 commit 0a7c164d91a85a0cc5cfb9ea1afb93c5e4f2e628 Author: Konstantin Belousov AuthorDate: 2025-02-23 20:35:06 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:09:35 +0000 kern/sys_eventfd.c: fix includes Remove redundant includes like sys/types.h and sys/param.h due to sys/systm.h. Sort alphabetically. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49163 --- sys/kern/sys_eventfd.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/sys/kern/sys_eventfd.c b/sys/kern/sys_eventfd.c index a0f10843475c..c2a0f67cae85 100644 --- a/sys/kern/sys_eventfd.c +++ b/sys/kern/sys_eventfd.c @@ -25,27 +25,25 @@ * SUCH DAMAGE. */ -#include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include #include #include #include #include -#include -#include -#include +#include +#include +#include +#include +#include #include #include -#include #include -#include +#include +#include +#include #include From nobody Thu Mar 13 16:10: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 4ZDCBl2ftWz5qsKr; Thu, 13 Mar 2025 16:10:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDCBl0T6Vz3Wm2; Thu, 13 Mar 2025 16:10:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741882207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/fEKZa/omCXtFLKh023l8xVvgzmHwCmslw6IpbmMDVo=; b=a6JzAQQ6o+xZxaVTwnNi4nENZVbq65iH+Z2M6q8CLFBieKbuGd0NDhPzy8C+oriCyQek9G 5cOf3z0C3ofkbdvjMwker0NMEcNwnEjqk3vXzv5pz9oS/JVl69oO1y9LdB8Mcg+MOn/M1D Sd9NjmtvTH+mBxZQjHvhK0ok2wS1E1ojU/eBxio7S6NG2BfuMXR5K+IEgQNackQr0ISUQX FEtVGhgjGC8/d38USGc3EQPnWfGHZIpPLHp+JuOKHsuvKWHGkuHtmSpOvTpczjySCdO3Ho Wf1vClgWBIqnvUfulgLfuzwepZBfZHf0REnPw8ouRiMVpHygf95XaX64PdS1nA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741882207; a=rsa-sha256; cv=none; b=ADI2PxSvO1gj0nsYnQZx0EIEzmCXMd2wA9FDRVr/WjXNwUGlu8T7KEFY8WufmfKmkUpXMH Dl+pclZIACPf9m4zQdQcCEm3znx8BsGRyuf15NlDMyXsjgPVp0TjSXVmSktq47fmdI3yYP I33XzqUXitcAFiCbJgvHy40xdW6MN7UFNFK2GPzOTm1GqkGYByWUuptkeS8WJdaMcowq+H 4T1WVaROtgZvA6c+O2Vr3FinnxLR9O6NN/54b/t+EnSg/eMgaXYInPlzPcU3ySBT/UlXXq 2/05R0EHVYet2+Q4QyAvktKTPNIJDvMOeTIT2z6pTERZ3D18N4I0f3QIlLIXRQ== 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=1741882207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/fEKZa/omCXtFLKh023l8xVvgzmHwCmslw6IpbmMDVo=; b=yIgrBNlho+v43p4FSV46mkcjQxuWbDeiahuQagR1Hah1yG8nX40TKjYd9Utagu/j8XCkZH WdqE12onRLp+At0YzEiYVAArmkl6oKzVdL+jm1G0xdDsTnBJFWQaaxFCT1a7GNl6jOCdko aky7x5zXkjtn39FsWvmXistRIo5q7aG7e2drP5pr8Fz4S/MC37dmWgE04Q/Ygn5u1158yS 4G5u0IHaJqDCyct7/LyKAmquMz58uboCuGpQaJlb6WOG0C9kGDLXthiIyPVeE1DMFr/Hy7 A545qH/rIcQUSJirxPND5KBWzU1yKWx/pJlwzjtpAKlh76OI/AVnpxE4hGAb3w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDCBk6kv5z14j7; Thu, 13 Mar 2025 16:10: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 52DGA6HM054272; Thu, 13 Mar 2025 16:10:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGA6fw054267; Thu, 13 Mar 2025 16:10:06 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:10:06 GMT Message-Id: <202503131610.52DGA6fw054267@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: e60f608eb9cf - main - Add sysctl kern.proc.kqueue 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: e60f608eb9cf3b38099948545934d699de9bbcea Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e60f608eb9cf3b38099948545934d699de9bbcea commit e60f608eb9cf3b38099948545934d699de9bbcea Author: Konstantin Belousov AuthorDate: 2025-02-23 20:25:25 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:09:35 +0000 Add sysctl kern.proc.kqueue reporting registered events in the specified kqueue. Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49163 --- sys/kern/kern_event.c | 141 +++++++++++++++++++++++++++++++++++++++++++++++++- sys/kern/sys_pipe.c | 20 ++++++- sys/kern/vfs_subr.c | 50 ++++++++++++++++-- sys/sys/event.h | 5 ++ sys/sys/sysctl.h | 1 + sys/sys/user.h | 28 ++++++++++ sys/vm/sg_pager.c | 1 + 7 files changed, 238 insertions(+), 8 deletions(-) diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index dcb2c10ee1f5..14aa3abd1901 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -64,6 +64,7 @@ #include #include #include +#include #include #include #include @@ -2730,8 +2731,15 @@ knote_drop_detached(struct knote *kn, struct thread *td) KQ_NOTOWNED(kq); KQ_LOCK(kq); - KASSERT(kn->kn_influx == 1, - ("knote_drop called on %p with influx %d", kn, kn->kn_influx)); + for (;;) { + KASSERT(kn->kn_influx >= 1, + ("knote_drop called on %p with influx %d", + kn, kn->kn_influx)); + if (kn->kn_influx == 1) + break; + kq->kq_state |= KQ_FLUXWAIT; + msleep(kq, &kq->kq_lock, PSOCK, "kqflxwt", 0); + } if (kn->kn_fop->f_isfd) list = &kq->kq_knlist[kn->kn_id]; @@ -2829,3 +2837,132 @@ noacquire: fdrop(fp, td); return (error); } + +struct knote_status_export_bit { + int kn_status_bit; + int knt_status_bit; +}; + +#define ST(name) \ + { .kn_status_bit = KN_##name, .knt_status_bit = KNOTE_STATUS_##name } +static const struct knote_status_export_bit knote_status_export_bits[] = { + ST(ACTIVE), + ST(QUEUED), + ST(DISABLED), + ST(DETACHED), + ST(KQUEUE), +}; +#undef ST + +static int +knote_status_export(int kn_status) +{ + const struct knote_status_export_bit *b; + unsigned i; + int res; + + res = 0; + for (i = 0; i < nitems(knote_status_export_bits); i++) { + b = &knote_status_export_bits[i]; + if ((kn_status & b->kn_status_bit) != 0) + res |= b->knt_status_bit; + } + return (res); +} + +static int +sysctl_kern_proc_kqueue_report_one(struct proc *p, struct sysctl_req *req, + struct kqueue *kq, struct knote *kn) +{ + struct kinfo_knote kin; + int error; + + if (kn->kn_status == KN_MARKER) + return (0); + + memset(&kin, 0, sizeof(kin)); + memcpy(&kin.knt_event, &kn->kn_kevent, sizeof(struct kevent)); + kin.knt_status = knote_status_export(kn->kn_status); + kn_enter_flux(kn); + KQ_UNLOCK_FLUX(kq); + if (kn->kn_fop->f_userdump != NULL) + (void)kn->kn_fop->f_userdump(p, kn, &kin); + error = SYSCTL_OUT(req, &kin, sizeof(kin)); + maybe_yield(); + KQ_LOCK(kq); + kn_leave_flux(kn); + return (error); +} + +static int +sysctl_kern_proc_kqueue(SYSCTL_HANDLER_ARGS) +{ + struct thread *td; + struct proc *p; + struct file *fp; + struct kqueue *kq; + struct knote *kn; + int error, i, *name; + + name = (int *)arg1; + if ((u_int)arg2 != 2) + return (EINVAL); + + error = pget((pid_t)name[0], PGET_HOLD | PGET_CANDEBUG, &p); + if (error != 0) + return (error); +#ifdef COMPAT_FREEBSD32 + if (SV_CURPROC_FLAG(SV_ILP32)) { + /* XXXKIB */ + error = EOPNOTSUPP; + goto out1; + } +#endif + + td = curthread; + error = fget_remote(td, p, name[1] /* kqfd */, &fp); + if (error != 0) + goto out1; + if (fp->f_type != DTYPE_KQUEUE) { + error = EINVAL; + goto out2; + } + + kq = fp->f_data; + if (req->oldptr == NULL) { + error = SYSCTL_OUT(req, NULL, sizeof(struct kinfo_knote) * + kq->kq_knlistsize * 11 / 10); + goto out2; + } + + KQ_LOCK(kq); + for (i = 0; i < kq->kq_knlistsize; i++) { + SLIST_FOREACH(kn, &kq->kq_knlist[i], kn_link) { + error = sysctl_kern_proc_kqueue_report_one(p, req, + kq, kn); + if (error != 0) + goto out3; + } + } + if (kq->kq_knhashmask == 0) + goto out3; + for (i = 0; i <= kq->kq_knhashmask; i++) { + SLIST_FOREACH(kn, &kq->kq_knhash[i], kn_link) { + error = sysctl_kern_proc_kqueue_report_one(p, req, + kq, kn); + if (error != 0) + goto out3; + } + } +out3: + KQ_UNLOCK_FLUX(kq); +out2: + fdrop(fp, td); +out1: + PRELE(p); + return (error); +} + +static SYSCTL_NODE(_kern_proc, KERN_PROC_KQUEUE, kq, + CTLFLAG_RD | CTLFLAG_MPSAFE, + sysctl_kern_proc_kqueue, "KQueue events"); diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c index b842db44e7f1..9340779918a2 100644 --- a/sys/kern/sys_pipe.c +++ b/sys/kern/sys_pipe.c @@ -175,21 +175,26 @@ static void filt_pipedetach_notsup(struct knote *kn); static int filt_pipenotsup(struct knote *kn, long hint); static int filt_piperead(struct knote *kn, long hint); static int filt_pipewrite(struct knote *kn, long hint); +static int filt_pipedump(struct proc *p, struct knote *kn, + struct kinfo_knote *kin); static const struct filterops pipe_nfiltops = { .f_isfd = 1, .f_detach = filt_pipedetach_notsup, .f_event = filt_pipenotsup + /* no userdump */ }; static const struct filterops pipe_rfiltops = { .f_isfd = 1, .f_detach = filt_pipedetach, - .f_event = filt_piperead + .f_event = filt_piperead, + .f_userdump = filt_pipedump, }; static const struct filterops pipe_wfiltops = { .f_isfd = 1, .f_detach = filt_pipedetach, - .f_event = filt_pipewrite + .f_event = filt_pipewrite, + .f_userdump = filt_pipedump, }; /* @@ -1900,3 +1905,14 @@ filt_pipenotsup(struct knote *kn, long hint) return (0); } + +static int +filt_pipedump(struct proc *p, struct knote *kn, + struct kinfo_knote *kin) +{ + struct pipe *pipe = kn->kn_hook; + + kin->knt_extdata = KNOTE_EXTDATA_PIPE; + kin->knt_pipe.knt_pipe_ino = pipe->pipe_ino; + return (0); +} diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 9e9b56064ecf..95ed98d3217d 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -79,6 +79,7 @@ #include #include #include +#include #include #include #include @@ -6483,7 +6484,7 @@ const struct filterops fs_filtops = { .f_isfd = 0, .f_attach = filt_fsattach, .f_detach = filt_fsdetach, - .f_event = filt_fsevent + .f_event = filt_fsevent, }; static int @@ -6559,20 +6560,26 @@ static int filt_vfsread(struct knote *kn, long hint); static int filt_vfswrite(struct knote *kn, long hint); static int filt_vfsvnode(struct knote *kn, long hint); static void filt_vfsdetach(struct knote *kn); +static int filt_vfsdump(struct proc *p, struct knote *kn, + struct kinfo_knote *kin); + static const struct filterops vfsread_filtops = { .f_isfd = 1, .f_detach = filt_vfsdetach, - .f_event = filt_vfsread + .f_event = filt_vfsread, + .f_userdump = filt_vfsdump, }; static const struct filterops vfswrite_filtops = { .f_isfd = 1, .f_detach = filt_vfsdetach, - .f_event = filt_vfswrite + .f_event = filt_vfswrite, + .f_userdump = filt_vfsdump, }; static const struct filterops vfsvnode_filtops = { .f_isfd = 1, .f_detach = filt_vfsdetach, - .f_event = filt_vfsvnode + .f_event = filt_vfsvnode, + .f_userdump = filt_vfsdump, }; static void @@ -6721,6 +6728,41 @@ filt_vfsvnode(struct knote *kn, long hint) return (res); } +static int +filt_vfsdump(struct proc *p, struct knote *kn, struct kinfo_knote *kin) +{ + struct vattr va; + struct vnode *vp; + char *fullpath, *freepath; + int error; + + kin->knt_extdata = KNOTE_EXTDATA_VNODE; + + vp = kn->kn_fp->f_vnode; + kin->knt_vnode.knt_vnode_type = vntype_to_kinfo(vp->v_type); + + va.va_fsid = VNOVAL; + vn_lock(vp, LK_SHARED | LK_RETRY); + error = VOP_GETATTR(vp, &va, curthread->td_ucred); + VOP_UNLOCK(vp); + if (error != 0) + return (error); + kin->knt_vnode.knt_vnode_fsid = va.va_fsid; + kin->knt_vnode.knt_vnode_fileid = va.va_fileid; + + freepath = NULL; + fullpath = "-"; + error = vn_fullpath(vp, &fullpath, &freepath); + if (error == 0) { + strlcpy(kin->knt_vnode.knt_vnode_fullpath, fullpath, + sizeof(kin->knt_vnode.knt_vnode_fullpath)); + } + if (freepath != NULL) + free(freepath, M_TEMP); + + return (0); +} + int vfs_read_dirent(struct vop_readdir_args *ap, struct dirent *dp, off_t off) { diff --git a/sys/sys/event.h b/sys/sys/event.h index 1c640c86703d..dee3365ba7b6 100644 --- a/sys/sys/event.h +++ b/sys/sys/event.h @@ -262,12 +262,17 @@ struct knlist { #define EVENT_REGISTER 1 #define EVENT_PROCESS 2 +struct kinfo_knote; +struct proc; + struct filterops { int f_isfd; /* true if ident == filedescriptor */ int (*f_attach)(struct knote *kn); void (*f_detach)(struct knote *kn); int (*f_event)(struct knote *kn, long hint); void (*f_touch)(struct knote *kn, struct kevent *kev, u_long type); + int (*f_userdump)(struct proc *p, struct knote *kn, + struct kinfo_knote *kin); }; /* diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h index f7abc27083aa..916c91da3d53 100644 --- a/sys/sys/sysctl.h +++ b/sys/sys/sysctl.h @@ -1041,6 +1041,7 @@ TAILQ_HEAD(sysctl_ctx_list, sysctl_ctx_entry); #define KERN_PROC_SIGFASTBLK 44 /* address of fastsigblk magic word */ #define KERN_PROC_VM_LAYOUT 45 /* virtual address space layout info */ #define KERN_PROC_RLIMIT_USAGE 46 /* array of rlim_t */ +#define KERN_PROC_KQUEUE 47 /* array of struct kinfo_knote */ /* * KERN_IPC identifiers diff --git a/sys/sys/user.h b/sys/sys/user.h index 02ca69968541..cf42412af66f 100644 --- a/sys/sys/user.h +++ b/sys/sys/user.h @@ -38,6 +38,7 @@ #ifndef _KERNEL /* stuff that *used* to be included by user.h, or is now needed */ #include +#include #include #include #include @@ -665,6 +666,33 @@ struct kinfo_vm_layout { uintptr_t kvm_spare[12]; }; +#define KNOTE_STATUS_ACTIVE 0x00000001 +#define KNOTE_STATUS_QUEUED 0x00000002 +#define KNOTE_STATUS_DISABLED 0x00000004 +#define KNOTE_STATUS_DETACHED 0x00000008 +#define KNOTE_STATUS_KQUEUE 0x00000010 + +#define KNOTE_EXTDATA_NONE 0 +#define KNOTE_EXTDATA_VNODE 1 +#define KNOTE_EXTDATA_PIPE 2 + +struct kinfo_knote { + struct kevent knt_event; + int knt_status; + int knt_extdata; + union { + struct { + int knt_vnode_type; + uint64_t knt_vnode_fsid; + uint64_t knt_vnode_fileid; + char knt_vnode_fullpath[PATH_MAX]; + } knt_vnode; + struct { + ino_t knt_pipe_ino; + } knt_pipe; + }; +}; + #ifdef _KERNEL /* Flags for kern_proc_out function. */ #define KERN_PROC_NOTHREADS 0x1 diff --git a/sys/vm/sg_pager.c b/sys/vm/sg_pager.c index f1f4a3763bb0..64f226dd9c58 100644 --- a/sys/vm/sg_pager.c +++ b/sys/vm/sg_pager.c @@ -34,6 +34,7 @@ */ #include +#include #include #include #include From nobody Thu Mar 13 16:10: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 4ZDCBm2NT0z5qsSd; Thu, 13 Mar 2025 16:10: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 4ZDCBm0mrVz3Wwl; Thu, 13 Mar 2025 16:10:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741882208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xI56qeZIrnFW7pkaWZ93y6pb3knFa1/5YJ6t8XixLR0=; b=AK70LcX5/pc3Z5AsYwhblV2INBi6MrYzrpPVmKZUdaVTWhjZvOc/IfcdgWn62hF1AfRRoq N/RvFMfcyY78wXM59/c4vwpgEZPgb8hB2rQEYYchn6ImyK690ClifI/vtIzRDc7eu3MN6+ S4sj4GE/Zg7y28f/758xNFpAfZQYYhYyE/4GxFdCEeNXw2o0sGzj/cxLTk7lF3QyokFWmD UPQlcZgurZduhCg/JskAunxhBlvrMnVFBxFPkElY9j98w/xL1mj/PLFDR3iQDor0J7lwN8 xu4N4v3oR8Zh8QR17rbNO8MunmoHp83+CUqJ3XmcOiCqxzLen5wS0rWN3UydAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741882208; a=rsa-sha256; cv=none; b=CqHkxmM/0ebiD0zBJn+wQKCibUzwVEWIc6LCfjK6/DhhxjQlumNY7hSw0sHNi43BnTQM11 XwDH+gxr85TuVoAvhwxgQPjzGiqBUkCxjeUMxeoqcSqcx2MUikbXVfDLvLzN0lZYobwkOX ZzCRODgpq08/XkYwG6yBbeWNz0D7UnsmsAKeRw015TCBj0vEAKZWMePFgYBXNELCJU9k4H WirKPbXhxd/BmXvFaW1ieJS0bANcf+IRPTDvrDGuqQBTl+NPJiT4BsR+01ew6ALKlmdH9p sGzDwEPOouyWkBJGg8wv2kpCnR0seZ7UR1203KlnkVQA7JcGFeq6eRmeJH007Q== 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=1741882208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xI56qeZIrnFW7pkaWZ93y6pb3knFa1/5YJ6t8XixLR0=; b=t3jXzP9VgbQyPcj31WJn6jULleOGtrapkBMwGc2m5cABpTDtq/DLjlTDt4gTJxx0G4EzCK bGZwSIZ2FxhMMRCcxfWGr7smREkYTC7tjBMI4BVU4YoXPAIhb1RwrcJu/JcmvJmbvlZomN RUkDcf4vzuoRGzhyq0XR5Ra2UhMBdBCT+QUEKYOZ8FEB8w+kLXbsiGaEVLmuFXMbQ9kVbV Hh7oLDUY7ezXX1lADZIY4w0kOqGJFI5e3fCMGB9J0MJe9xlCUQD5I9+jEr5Zowf7Xf9VuW vAD5UM6uTWXSx6HozIsjFAe5hxrxoQbKXAxRq6QjoJtiG5TtUBRJ623fw+JCfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDCBm09TWz14tM; Thu, 13 Mar 2025 16:10: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 52DGA7uO054538; Thu, 13 Mar 2025 16:10:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGA78F054534; Thu, 13 Mar 2025 16:10:07 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:10:07 GMT Message-Id: <202503131610.52DGA78F054534@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: 4cf6cae879f9 - main - Document KERN_PROC_KQUEUE 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: 4cf6cae879f93856fd3d932574b4f154e8dc5367 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=4cf6cae879f93856fd3d932574b4f154e8dc5367 commit 4cf6cae879f93856fd3d932574b4f154e8dc5367 Author: Konstantin Belousov AuthorDate: 2025-02-24 00:46:17 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:09:35 +0000 Document KERN_PROC_KQUEUE Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49163 --- lib/libc/gen/sysctl.3 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/libc/gen/sysctl.3 b/lib/libc/gen/sysctl.3 index bf526169a4ce..fb68ddd60edc 100644 --- a/lib/libc/gen/sysctl.3 +++ b/lib/libc/gen/sysctl.3 @@ -511,6 +511,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_KQUEUE Ta "struct kinfo_knote []" .El .Pp .Bl -tag -compact @@ -584,6 +585,15 @@ 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_KQUEUE +Fills an array of structures describing events registered with +the specified kqueue. +The next two node's values are the +.Va pid +and +.Va kqfd , +the process ID of the process, and the file descriptor of the kqueue +in that process, to query. .El .It Li KERN_PS_STRINGS Reports the location of the process From nobody Thu Mar 13 16:10: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 4ZDCBp0Fjlz5qsHW; Thu, 13 Mar 2025 16:10: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 4ZDCBn1N0Bz3WrL; Thu, 13 Mar 2025 16:10:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741882209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=APdbc6SBHW4ayOsF74dCXWvTzSW1ShiP+9XPj3mw8/8=; b=hfV0D4hch1gclQoeeRZAodFqK1qyH/pIrSiQ9dqq+H63JRU9dc05Psk6E4F+oPnMu+dZSs ZBPETsPniMTiHcfB6F6yElKk7cuN0nYG323yLjs5yCE0Yy88Xh+0jjmgxDP/0IDCRnGBYL R8fLrVY+UobWdZ23LSkIcG+qbCC8se9OjP+XnknC5ikDnRkJ2BF3JK87F+QKzxZh6WAbEk /R2yrrqKg5bDHV/F/R/amzwgaWFLMI5x4a0GE2vn9exyTRPDF49hsezXxK1pGm8b8tkf7w Y5jL0uQhZNH3OZExRIZaoZkMPo/7+ASjOaPlltg6cJZqUmWYlLKOqDvoYReNzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741882209; a=rsa-sha256; cv=none; b=TYuvCEeOGjHnoNPFLn16PJ6Z7jMnHLvl44DCUoPlGsNzk8ECJVqHskPYdxPny3Gj7f+jUw F23F7x9LILEE8htSBHJ5qvtfIJg0+ExLM07xktDlqC8wSBLuCqyvOBff7hgJEmlTivxbh3 aeQoO9jhL30txlJt8NSxgUJHjUokyh5gF/nu7bELq7I7+EF1ybiVguUb4LaYHVzHoCEaHo 6Q4iQlQLKGixoy1IOMBNc6Rj+tI4zWC6VaQTwFijJVzg7jJEVMtQyLo9PLHIUf4VmbitYX 9gAxyrIUMnf3RKbZagR6/KCvIpSfWSbhiG6+pJMbbaZyFAm6RQkOL3a5RKvYAA== 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=1741882209; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=APdbc6SBHW4ayOsF74dCXWvTzSW1ShiP+9XPj3mw8/8=; b=j9PBQ2LUKbpo3m9q6J5oWFrnWmo+dUKZW8lrnAy36yfZkl+9ngnF5Dx2wNVCKTgN3gqL9A oLxUe1liBADBFx9hRHHXFBkdbJw6X0bi7nLs7antEbaXwNBeeLw5v1dhTBhcSgPC9cDn/a ikpvNd7Z6uwjEAPGSvsL2KuT+0WshAfCOZulmJQ0tAjL3czwfOa1JE6eRH0lT1GDokKxAy yn2TfST5RWQ6Vc3v9JCwOzvLtWBrWBFrR7TgWGUwSlZqQg+q5Al/Ci7iyKo1eUV+yKSf4Z kLbntrutwwzLg5jDpSvXYc5y8uCTzZK1og9muu8docxP2rGgfW7esNyxpFU8PA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDCBn0xhPz14tN; Thu, 13 Mar 2025 16:10:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52DGA92h054815; Thu, 13 Mar 2025 16:10:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGA9gk054812; Thu, 13 Mar 2025 16:10:09 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:10:09 GMT Message-Id: <202503131610.52DGA9gk054812@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: bf46aec4b29a - main - libprocstat: add helper to query knotes for specific kqueue 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: bf46aec4b29a72bcaaa9f1b2fc446ee299f5a6fd Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=bf46aec4b29a72bcaaa9f1b2fc446ee299f5a6fd commit bf46aec4b29a72bcaaa9f1b2fc446ee299f5a6fd Author: Konstantin Belousov AuthorDate: 2025-02-24 23:44:10 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:09:35 +0000 libprocstat: add helper to query knotes for specific kqueue Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49163 --- lib/libprocstat/Symbol.map | 2 ++ lib/libprocstat/libprocstat.c | 66 +++++++++++++++++++++++++++++++++++++++++++ lib/libprocstat/libprocstat.h | 4 +++ 3 files changed, 72 insertions(+) diff --git a/lib/libprocstat/Symbol.map b/lib/libprocstat/Symbol.map index c2ea7e95312c..3d71c3eaae4a 100644 --- a/lib/libprocstat/Symbol.map +++ b/lib/libprocstat/Symbol.map @@ -50,6 +50,8 @@ FBSD_1.7 { }; FBSD_1.8 { + procstat_get_kqueue_info; procstat_getrlimitusage; + procstat_freekqinfo; procstat_freerlimitusage; }; \ No newline at end of file diff --git a/lib/libprocstat/libprocstat.c b/lib/libprocstat/libprocstat.c index 90e4879ca05b..3c70c939ff7e 100644 --- a/lib/libprocstat/libprocstat.c +++ b/lib/libprocstat/libprocstat.c @@ -2817,3 +2817,69 @@ procstat_freerlimitusage(struct procstat *procstat __unused, rlim_t *resusage) { free(resusage); } + +static struct kinfo_knote * +procstat_get_kqueue_info_sysctl(pid_t pid, int kqfd, unsigned int *cntp, + char *errbuf) +{ + int error, name[5]; + struct kinfo_knote *val; + size_t len; + + name[0] = CTL_KERN; + name[1] = KERN_PROC; + name[2] = KERN_PROC_KQUEUE; + name[3] = pid; + name[4] = kqfd; + + len = 0; + error = sysctl(name, nitems(name), NULL, &len, NULL, 0); + if (error == -1) { + snprintf(errbuf, _POSIX2_LINE_MAX, + "KERN_PROC_KQUEUE.pid<%d>.kq<%d> (size q) failed: %s", + pid, kqfd, strerror(errno)); + return (NULL); + } + val = malloc(len); + if (val == NULL) { + snprintf(errbuf, _POSIX2_LINE_MAX, "no memory"); + return (NULL); + } + + error = sysctl(name, nitems(name), val, &len, NULL, 0); + if (error == -1) { + snprintf(errbuf, _POSIX2_LINE_MAX, + "KERN_PROC_KQUEUE.pid<%d>.kq<%d> failed: %s", + pid, kqfd, strerror(errno)); + free(val); + return (NULL); + } + *cntp = len / sizeof(*val); + return (val); +} + +struct kinfo_knote * +procstat_get_kqueue_info(struct procstat *procstat, + struct kinfo_proc *kp, int kqfd, unsigned int *count, char *errbuf) +{ + switch (procstat->type) { + case PROCSTAT_KVM: + warnx("kvm method is not supported"); + return (NULL); + case PROCSTAT_SYSCTL: + return (procstat_get_kqueue_info_sysctl(kp->ki_pid, kqfd, + count, errbuf)); + case PROCSTAT_CORE: + warnx("core method is not supported"); + return (NULL); + default: + warnx("unknown access method: %d", procstat->type); + return (NULL); + } +} + +void +procstat_freekqinfo(struct procstat *procstat __unused, struct kinfo_knote *v) +{ + free(v); +} diff --git a/lib/libprocstat/libprocstat.h b/lib/libprocstat/libprocstat.h index 81a3ac05393d..0e9a4214414c 100644 --- a/lib/libprocstat/libprocstat.h +++ b/lib/libprocstat/libprocstat.h @@ -110,6 +110,7 @@ struct kinfo_kstack; struct kinfo_proc; struct kinfo_vmentry; +struct kinfo_knote; struct procstat; struct ptrace_lwpinfo; struct rlimit; @@ -204,6 +205,7 @@ void procstat_freeauxv(struct procstat *procstat, Elf_Auxinfo *auxv); #endif void procstat_freeenvv(struct procstat *procstat); void procstat_freegroups(struct procstat *procstat, gid_t *groups); +void procstat_freekqinfo(struct procstat *procstat, struct kinfo_knote *kni); void procstat_freekstack(struct procstat *procstat, struct kinfo_kstack *kkstp); void procstat_freeprocs(struct procstat *procstat, struct kinfo_proc *p); @@ -219,6 +221,8 @@ struct filestat_list *procstat_getfiles(struct procstat *procstat, struct kinfo_proc *kp, int mmapped); struct kinfo_proc *procstat_getprocs(struct procstat *procstat, int what, int arg, unsigned int *count); +struct kinfo_knote *procstat_get_kqueue_info(struct procstat *procstat, + struct kinfo_proc *kp, int kqfd, unsigned int *count, char *errbuf); int procstat_get_pipe_info(struct procstat *procstat, struct filestat *fst, struct pipestat *pipe, char *errbuf); int procstat_get_pts_info(struct procstat *procstat, struct filestat *fst, From nobody Thu Mar 13 16: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 4ZDCBp6bJNz5qsWL; Thu, 13 Mar 2025 16:10: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 4ZDCBp3R1bz3WpM; Thu, 13 Mar 2025 16:10:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741882210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7ugfmh8Vex3dxdCjKMnS9a9NzWtxfdHBw7yx5GCu0ak=; b=vfGrpeEViI6eRAYUfE7gcg1xCofcXgbItVPbm7Ke9PkWxJcnVFO2bS5Y6+u52mJ6caEtwZ xkVKIIzbPvPcW48EaNFhQo7X9R868N+LKHKke/g+dDcv/4EIcoufTUa/XIGtUE3GA0s+4C KaOZ5u5FQwLt8oyghc0ZRl/NLW3yR9sTvOyEJpsXTs3AAhDWhjis/6x6KIXBZtmhmKY0HO JyhQSUBk3D8dvvwzv9tMB+T1oI4jw6bEDvMre/lSQ3uTDG7yq7YNAUMevN1UBLDgOltOcj n4B3Ut+le8fFgYDR/clzUCY0RBcplrUmXXJBFvgReE3VI/x+QHVOiTTtTvJWXA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741882210; a=rsa-sha256; cv=none; b=btnx7oZUboPoXpad2Ou/hjHLXb+dGyIf6S0apsdHdrWu89Es/hyNuNhsqBSNMlpFPxZzCZ IcYgYNxM+E0bwzBp2M1Tr1CdyWj8XG5Dui/252az/s7HH9hypMMY9mGi/IVq7WAm1GGMj1 zHY9gGQMLB4tWw7ewVlwDeDE02Z4ofGQA/JX2ZW4xKej5EQi7yWYptyaeyTU4Gp0r2+Ajv fZfdcPLc168Y3mR3nzR4x4RbKeJTY8zK1guGyZt9NYmrNodf4Q5B9SGiWuz5w87kNqdj2J 4LW5ICvBGlF4QBPIBxCICwDyrZxkAXF6tTY8d1daoWR83xABHC1IrtC+hIeRKg== 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=1741882210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7ugfmh8Vex3dxdCjKMnS9a9NzWtxfdHBw7yx5GCu0ak=; b=u+sMkZS1Z9SMKnmEGSmz5oFaCzHRb3BPvp4oP5oBkLFePjsgBEhU2/jRLF3x/afop0UO02 mutJQiz1Y9nBMblWTomeizMR0UHgMxkh1LdVajVkpSW1mNiZng+dWvaBT7qXyQlnhaANCy EHHvGswPi9cFWMrxflOjEYo17UBpjRgtMkp+hE2tcO8HNkYVLrsB4iJXW9fGHISNXq0Ozq 78SgBkZkIf2SC7byr4+cmBOvsZa858kGHRNL6K3xx6SbeU8Ti+stp1eu7xcpD02c4bYSmz uvKG0H/gWWF9K2sciXYa3/o7MgZTLwJd0CpD2cy5eQD5QUrYkBbI1CV7YlHZ0w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDCBp1ZGjz14j8; Thu, 13 Mar 2025 16:10:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52DGAATI055432; Thu, 13 Mar 2025 16: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 52DGAAqj055423; Thu, 13 Mar 2025 16:10:10 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:10:10 GMT Message-Id: <202503131610.52DGAAqj055423@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: 28f4cf9217c2 - main - procstat(1): dump kqueues 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: 28f4cf9217c27edea42c5c024c9e71816890bb3c Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=28f4cf9217c27edea42c5c024c9e71816890bb3c commit 28f4cf9217c27edea42c5c024c9e71816890bb3c Author: Konstantin Belousov AuthorDate: 2025-02-26 00:29:49 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:09:35 +0000 procstat(1): dump kqueues Example output from the 'procstat -a kqueues': PID KQFD FILTER IDENT FLAGS FFLAGS DATA UDATA STATUS 2323 13 READ 5 - - 0 0x19c290616000 - 2323 13 READ 8 - - 0 0x19c29064f070 - 2323 13 READ 10 - - 0 0x19c29064f0e0 - 2323 13 SIGNAL 1 C - 0 0x0 - 2323 13 SIGNAL 2 C - 0 0x0 - 2323 13 SIGNAL 3 C - 0 0x0 - 2323 13 SIGNAL 13 C - 0 0x0 - 2323 13 SIGNAL 14 C - 0 0x0 - 2323 13 SIGNAL 15 C - 0 0x0 - 2323 13 SIGNAL 20 C - 0 0x0 - Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49163 --- usr.bin/procstat/Makefile | 1 + usr.bin/procstat/procstat.c | 20 +++ usr.bin/procstat/procstat.h | 1 + usr.bin/procstat/procstat_kqueue.c | 319 +++++++++++++++++++++++++++++++++++++ 4 files changed, 341 insertions(+) diff --git a/usr.bin/procstat/Makefile b/usr.bin/procstat/Makefile index d0e5d89478e7..c143e74d516c 100644 --- a/usr.bin/procstat/Makefile +++ b/usr.bin/procstat/Makefile @@ -11,6 +11,7 @@ SRCS= procstat.c \ procstat_cred.c \ procstat_cs.c \ procstat_files.c \ + procstat_kqueue.c \ procstat_kstack.c \ procstat_penv.c \ procstat_ptlwpinfo.c \ diff --git a/usr.bin/procstat/procstat.c b/usr.bin/procstat/procstat.c index 49595537f273..62076094b073 100644 --- a/usr.bin/procstat/procstat.c +++ b/usr.bin/procstat/procstat.c @@ -65,6 +65,7 @@ static void cmdopt_signals(int argc, char * const argv[]); static void cmdopt_rusage(int argc, char * const argv[]); static void cmdopt_files(int argc, char * const argv[]); static void cmdopt_cpuset(int argc, char * const argv[]); +static void cmdopt_kqueue(int argc, char * const argv[]); static const char *progname; @@ -103,6 +104,8 @@ static const struct procstat_cmd cmd_table[] = { PS_CMP_PLURAL }, { "file", "files", "[-C]", &procstat_files, &cmdopt_files, PS_CMP_PLURAL }, + { "kqueue", "kqueues", NULL, &procstat_kqueues, &cmdopt_kqueue, + PS_CMP_PLURAL }, { "kstack", "kstack", "[-v]", &procstat_kstack, &cmdopt_verbose, PS_CMP_NORMAL }, { "pargs", "args", NULL, &procstat_pargs, &cmdopt_none, @@ -631,3 +634,20 @@ cmdopt_cpuset(int argc, char * const argv[]) procstat_opts |= PS_OPT_PERTHREAD; cmdopt_none(argc, argv); } + +void +cmdopt_kqueue(int argc, char * const argv[]) +{ + int ch; + + while ((ch = getopt(argc, argv, "v")) != -1) { + switch (ch) { + case 'v': + procstat_opts |= PS_OPT_VERBOSE; + break; + case '?': + default: + usage(NULL); + } + } +} diff --git a/usr.bin/procstat/procstat.h b/usr.bin/procstat/procstat.h index f106fac79127..e075065315f8 100644 --- a/usr.bin/procstat/procstat.h +++ b/usr.bin/procstat/procstat.h @@ -64,6 +64,7 @@ void procstat_cred(struct procstat *prstat, struct kinfo_proc *kipp); void procstat_cs(struct procstat *prstat, struct kinfo_proc *kipp); void procstat_env(struct procstat *prstat, struct kinfo_proc *kipp); void procstat_files(struct procstat *prstat, struct kinfo_proc *kipp); +void procstat_kqueues(struct procstat *prstat, struct kinfo_proc *kipp); void procstat_kstack(struct procstat *prstat, struct kinfo_proc *kipp); void procstat_rlimitusage(struct procstat *procstat, struct kinfo_proc *kipp); diff --git a/usr.bin/procstat/procstat_kqueue.c b/usr.bin/procstat/procstat_kqueue.c new file mode 100644 index 000000000000..ce9d2cb42fe2 --- /dev/null +++ b/usr.bin/procstat/procstat_kqueue.c @@ -0,0 +1,319 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2025 The FreeBSD Foundation + * + * This software was developed by Konstantin Belousov + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE 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. + */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "procstat.h" + +static const char kqs[] = "kqueues"; +static const char kq[] = "kqueue"; + +#define FILT_ELEM(name) [-EVFILT_##name] = #name, +static const char *const filter_names[] = { + [0] = "invalid", + FILT_ELEM(READ) + FILT_ELEM(WRITE) + FILT_ELEM(AIO) + FILT_ELEM(VNODE) + FILT_ELEM(PROC) + FILT_ELEM(SIGNAL) + FILT_ELEM(TIMER) + FILT_ELEM(PROCDESC) + FILT_ELEM(FS) + FILT_ELEM(LIO) + FILT_ELEM(USER) + FILT_ELEM(SENDFILE) + FILT_ELEM(EMPTY) +}; +#undef FILT_ELEM + +#define PK_FLAG_ELEM(fname, str) { .flag = fname, .dispstr = str } +#define PK_NAME_ELEM(prefix, fname) { .flag = prefix##fname, .dispstr = #fname } +#define PK_FLAG_LAST_ELEM() { .flag = -1, .dispstr = NULL } +struct pk_elem { + unsigned int flag; + const char *dispstr; +}; + +static const struct pk_elem kn_status_names[] = { + PK_FLAG_ELEM(KNOTE_STATUS_ACTIVE, "A"), + PK_FLAG_ELEM(KNOTE_STATUS_QUEUED, "Q"), + PK_FLAG_ELEM(KNOTE_STATUS_DISABLED, "D"), + PK_FLAG_ELEM(KNOTE_STATUS_DETACHED, "d"), + PK_FLAG_ELEM(KNOTE_STATUS_KQUEUE, "K"), + PK_FLAG_LAST_ELEM(), +}; + +static const struct pk_elem ev_flags_names[] = { + PK_FLAG_ELEM(EV_ONESHOT, "O"), + PK_FLAG_ELEM(EV_CLEAR, "C"), + PK_FLAG_ELEM(EV_RECEIPT, "R"), + PK_FLAG_ELEM(EV_DISPATCH, "D"), + PK_FLAG_ELEM(EV_DROP, "d"), + PK_FLAG_ELEM(EV_FLAG1, "1"), + PK_FLAG_ELEM(EV_FLAG2, "2"), + PK_FLAG_LAST_ELEM(), +}; + +static char * +procstat_kqueue_flags(const struct pk_elem *names, unsigned flags, bool commas) +{ + char *res; + const struct pk_elem *pl; + size_t len; + int i; + bool first; + + first = true; + len = 0; + for (i = 0;; i++) { + pl = &names[i]; + if (pl->flag == (unsigned)-1) + break; + if ((flags & pl->flag) != 0) { + if (first) + first = false; + else if (commas) + len += sizeof(","); + len += strlen(pl->dispstr); + } + } + len++; + + res = malloc(len); + first = true; + res[0] = '\0'; + for (i = 0;; i++) { + pl = &names[i]; + if (pl->flag == (unsigned)-1) + break; + if ((flags & pl->flag) != 0) { + if (first) + first = false; + else if (commas) + strlcat(res, ",", len); + strlcat(res, pl->dispstr, len); + } + } + + if (strlen(res) == 0) + return (strdup("-")); + return (res); +} + +static const struct pk_elem rw_filter_names[] = { + PK_NAME_ELEM(NOTE_, LOWAT), + PK_NAME_ELEM(NOTE_, FILE_POLL), + PK_FLAG_LAST_ELEM(), +}; + +static const struct pk_elem user_filter_names[] = { + PK_NAME_ELEM(NOTE_, FFAND), + PK_NAME_ELEM(NOTE_, FFOR), + PK_NAME_ELEM(NOTE_, TRIGGER), + PK_FLAG_LAST_ELEM(), +}; + +static const struct pk_elem vnode_filter_names[] = { + PK_NAME_ELEM(NOTE_, DELETE), + PK_NAME_ELEM(NOTE_, WRITE), + PK_NAME_ELEM(NOTE_, EXTEND), + PK_NAME_ELEM(NOTE_, ATTRIB), + PK_NAME_ELEM(NOTE_, LINK), + PK_NAME_ELEM(NOTE_, RENAME), + PK_NAME_ELEM(NOTE_, REVOKE), + PK_NAME_ELEM(NOTE_, OPEN), + PK_NAME_ELEM(NOTE_, CLOSE), + PK_NAME_ELEM(NOTE_, CLOSE_WRITE), + PK_NAME_ELEM(NOTE_, READ), + PK_FLAG_LAST_ELEM(), +}; + +static const struct pk_elem proc_filter_names[] = { + PK_NAME_ELEM(NOTE_, EXIT), + PK_NAME_ELEM(NOTE_, FORK), + PK_NAME_ELEM(NOTE_, EXEC), + PK_NAME_ELEM(NOTE_, TRACK), + PK_NAME_ELEM(NOTE_, TRACKERR), + PK_NAME_ELEM(NOTE_, CHILD), + PK_FLAG_LAST_ELEM(), +}; + +static const struct pk_elem timer_filter_names[] = { + PK_NAME_ELEM(NOTE_, SECONDS), + PK_NAME_ELEM(NOTE_, MSECONDS), + PK_NAME_ELEM(NOTE_, USECONDS), + PK_NAME_ELEM(NOTE_, NSECONDS), + PK_NAME_ELEM(NOTE_, ABSTIME), + PK_FLAG_LAST_ELEM(), +}; + +#define FILT_ELEM(name) [-EVFILT_##name] = "EVFILT_"#name +static const struct pk_elem *const filter_pk_names[] = { + [0] = NULL, + [-EVFILT_READ] = rw_filter_names, + [-EVFILT_WRITE] = rw_filter_names, + [-EVFILT_AIO] = rw_filter_names, + [-EVFILT_VNODE] = vnode_filter_names, + [-EVFILT_PROC] = proc_filter_names, + [-EVFILT_SIGNAL] = NULL, + [-EVFILT_TIMER] = timer_filter_names, + [-EVFILT_PROCDESC] = proc_filter_names, + [-EVFILT_FS] = NULL, + [-EVFILT_LIO] = rw_filter_names, + [-EVFILT_USER] = user_filter_names, + [-EVFILT_SENDFILE] = NULL, + [-EVFILT_EMPTY] = NULL, +}; + +static char * +procstat_kqueue_fflags(int filter, unsigned fflags) +{ + const struct pk_elem *names; + + names = NULL; + if (filter < 0 && -filter < (int)nitems(filter_pk_names)) + names = filter_pk_names[-filter]; + if (names == NULL) + return (strdup("-")); + return (procstat_kqueue_flags(names, fflags, true)); +} + +static const char * +procstat_kqueue_get_filter_name(int filter) +{ + filter = -filter; + if (filter < 0 || filter >= (int)nitems(filter_names)) + filter = 0; + return (filter_names[filter]); +} + +static void +procstat_kqueue(struct procstat *procstat, struct kinfo_proc *kipp, int fd, + bool verbose) +{ + struct kinfo_knote *kni, *knis; + char *flags, *fflags, *status; + unsigned int count, i, j; + char errbuf[_POSIX2_LINE_MAX]; + + errbuf[0] = '\0'; + knis = procstat_get_kqueue_info(procstat, kipp, fd, &count, errbuf); + if (knis == NULL) { + warnx("%s\n", errbuf); + return; + } + + for (i = 0; i < count; i++) { + kni = &knis[i]; + flags = procstat_kqueue_flags(ev_flags_names, + kni->knt_event.flags, false); + fflags = procstat_kqueue_fflags(kni->knt_event.filter, + kni->knt_event.fflags); + status = procstat_kqueue_flags(kn_status_names, + kni->knt_status, false); + xo_open_instance(kq); + xo_emit("{dk:process_id/%7d} ", kipp->ki_pid); + xo_emit("{:kqueue_fd/%10d} ", fd); + xo_emit("{:filter/%8s} ", procstat_kqueue_get_filter_name( + kni->knt_event.filter)); + xo_emit("{:ident/%10d} ", kni->knt_event.ident); + xo_emit("{:flags/%10s} ", flags); + xo_emit("{:fflags/%10s} ", fflags); + xo_emit("{:data/%#10jx} ", (uintmax_t)kni->knt_event.data); + xo_emit("{:udata/%10p} ", (uintmax_t)kni->knt_event.udata); + if (verbose) { + for (j = 0; j < nitems(kni->knt_event.ext); j++) { + xo_emit("{:ext%u/%#10jx} ", j, + (uintmax_t)kni->knt_event.ext[j]); + } + } + xo_emit("{:status/%10s}\n", status); + free(flags); + free(fflags); + free(status); + xo_close_instance(kq); + } + + procstat_freekqinfo(procstat, knis); +} + +void +procstat_kqueues(struct procstat *procstat, struct kinfo_proc *kipp) +{ + struct filestat_list *fl; + struct filestat *f; + bool verbose; + + verbose = (procstat_opts & PS_OPT_VERBOSE) != 0; + if ((procstat_opts & PS_OPT_NOHEADER) == 0) { + if (verbose) { + xo_emit("{T:/%7s %10s %8s %10s %10s %10s %10s %10s " + "%10s %10s %10s %10s %10s}\n", + "PID", "KQFD", "FILTER", "IDENT", "FLAGS", "FFLAGS", + "DATA", "UDATA", "EXT0", "EXT1","EXT2","EXT3", + "STATUS"); + } else { + xo_emit("{T:/%7s %10s %8s %10s %10s %10s %10s %10s " + "%10s}\n", + "PID", "KQFD", "FILTER", "IDENT", "FLAGS", "FFLAGS", + "DATA", "UDATA", "STATUS"); + } + } + + xo_emit("{ek:process_id/%d}", kipp->ki_pid); + + fl = procstat_getfiles(procstat, kipp, 0); + if (fl == NULL) + return; + xo_open_list(kqs); + STAILQ_FOREACH(f, fl, next) { + if (f->fs_type != PS_FST_TYPE_KQUEUE) + continue; + xo_emit("{ek:kqueue/%d}", f->fs_fd); + xo_open_list(kq); + procstat_kqueue(procstat, kipp, f->fs_fd, verbose); + xo_close_list(kq); + } + xo_close_list(kqs); + procstat_freefiles(procstat, fl); +} From nobody Thu Mar 13 16:10: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 4ZDCBq4y8cz5qsHg; Thu, 13 Mar 2025 16: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDCBq35pPz3Wrf; Thu, 13 Mar 2025 16: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=1741882211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kDj6y8Zs6NdpikpRf+poHRvcCBaXIbyw/d3l6df+L5w=; b=VxXcQol/3gaG0hTF/JmjmedCary6vIdagSVdCKhIBkzGnpe4smXozoWsijMJKKjPnVGhLv 9hPyQOtdsG8eSq+KXRd8zv5UHnyjgVZHxS8RKpXgpkNRBHSplLTU1/xYjoFt4ettH2mtu0 W2mb58CCTTfkv9hBhPVLJlhoUFAcLGJXP4GyT+9qOpw/4/mcZfKccJPQD4HBiw3F2NvnUx l6bjaqipRTxwigp48InnRONgA4pqMu8g9SOFZteg0SmTy5hYhNdYiwud/cHIZwp6yQ/jyG oCV2oqO63dSxYESEBTJEiKwv/YxaXTe45P7tKi7yvglVo7NFZWBVCQP8K5SNSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741882211; a=rsa-sha256; cv=none; b=jpQCuOnlhuHII4eB3jLtV2kwtDN8oXtFhWk0rcZhEbxHL5TQoijZBlIs8klzjcEwdhOH4E VAdVdInwlEZ4sqFoaTSKlvXa72zZ8WB2jg+CWxcDegktq1Li+D+xv+wb+mbGWPAPOgCRoE fE4Gq4FHeeag7JpZXtlpwUdR3Fu5kj8H+wpt5euXk7Jvow9bnzXcs49OXIyB2qEniEccgj YrolUT5qx0doKEIN6C1cLdgNlJYaUGv1WCaiQIv9NXcKI+sFN0KAhnLsXt2SmIfvcNOCQs +H9t453DU78Xz8OYTGi5Py/+N5nUM01m8iOQ/UHOrG2JyFk5mOSS+dO7tEuLzA== 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=1741882211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kDj6y8Zs6NdpikpRf+poHRvcCBaXIbyw/d3l6df+L5w=; b=D+JpLTQ86XaRWV2yJqs8edbf+JcVZHQtnRQZfoXvf+2RE6zsilDkPXRqPzUEp6k6kaEXN5 EizgGmA/R0DNBbCn0MW1k3pLAhbPH3So5NSOsGDGdJENbDX2yCSx1u9qLyoSpuMEI7ZnyD VjiDi7MjX90S5os10SuhSU70OL/3Yu8MyWga3We1logekAww0GBYYZ5MtmW0k2qRlgGRQn 3OCdcVrwogZFKGb6PWXTiKtdQk69cuUxpQZnJ7An0BhR0uU+uEdN7fiKVI7jVlbrG8Taom V16IQAd+lqFd+1XTbErLzggktA3FEDOT/AiPo8TmErWFLoSNd6Bw6+WRCNGK2g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDCBq1tDPz14BW; Thu, 13 Mar 2025 16: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 52DGABp5056093; Thu, 13 Mar 2025 16:10:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGABR2056082; Thu, 13 Mar 2025 16:10:11 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:10:11 GMT Message-Id: <202503131610.52DGABR2056082@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: 0832381247d7 - main - procstat.1: sort subcommands 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: 0832381247d7e6e93ae9ba1639d07f33a6f07882 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0832381247d7e6e93ae9ba1639d07f33a6f07882 commit 0832381247d7e6e93ae9ba1639d07f33a6f07882 Author: Konstantin Belousov AuthorDate: 2025-03-01 21:43:40 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:09:35 +0000 procstat.1: sort subcommands Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49163 --- usr.bin/procstat/procstat.1 | 68 ++++++++++++++++++++++----------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/usr.bin/procstat/procstat.1 b/usr.bin/procstat/procstat.1 index aa7f503259f4..96e8860b8213 100644 --- a/usr.bin/procstat/procstat.1 +++ b/usr.bin/procstat/procstat.1 @@ -159,16 +159,24 @@ option nor .Va pid list can be used to limit the display of the locks, mostly because some types of locks do not have local (or any) owning processes. +.It Ar argument(s) | Fl c +Display command line arguments for the process. +.Pp +Substring commands are accepted. +.It Ar auxv | Fl x +Display ELF auxiliary vector for the process. .It Ar basic Print basic process statistics (this is the default). .It Ar binary | Fl b Display binary information for the process. .Pp Substring commands are accepted. -.It Ar argument(s) | Fl c -Display command line arguments for the process. +.It Ar credential(s) | Fl s +Display security credential information for the process. .Pp Substring commands are accepted. +.It Ar cpuset | Ar cs | Fl S +Display the cpuset information for the thread. .It Ar environment | Fl e Display environment variables for the process. .Pp @@ -179,24 +187,6 @@ Display file descriptor information for the process. If the .Fl C subcommand flag is used then additional capability information is printed. -.It Ar signal(s) | Fl i -Display signal pending and disposition information for the process. -.Pp -If the -.Fl n -subcommand option is used, the signal numbers are shown instead of signal -names. -.Pp -Substring commands are accepted. -.It Ar tsignal(s) | Fl j -Display signal pending and blocked information for the process's threads. -.Pp -If the -.Fl n -subcommand option is used, the signal numbers are shown instead of signal -names. -.Pp -Substring commands are accepted. .It Ar kstack | Fl k Display the stacks of kernel threads in the process, excluding stacks of threads currently running on a CPU and threads with stacks swapped to disk. @@ -205,10 +195,16 @@ If the .Fl v subcommand option is used (or the command flag is repeated), function offsets as well as function names are printed. -.It Ar rlimit | Fl l -Display resource limits for the process. +.It Ar pargs +Display arguments for the process. +.It Ar penv +Display environment variables for the process. .It Ar ptlwpinfo | Fl L Display LWP info for the process pertaining to its signal driven exit. +.It Ar pwdx +Display current working directory for the process. +.It Ar rlimit | Fl l +Display resource limits for the process. .It Ar rusage | Fl r Display resource usage information for the process. .Pp @@ -220,24 +216,28 @@ is used then per-thread statistics are printed, rather than per-process statistics. The second field in the table will list the thread ID to which the row of information corresponds. -.It Ar credential(s) | Fl s -Display security credential information for the process. +.It Ar signal(s) | Fl i +Display signal pending and disposition information for the process. +.Pp +If the +.Fl n +subcommand option is used, the signal numbers are shown instead of signal +names. .Pp Substring commands are accepted. -.It Ar cpuset | Ar cs | Fl S -Display the cpuset information for the thread. .It Ar thread(s) | Fl t Display thread information for the process. +.It Ar tsignal(s) | Fl j +Display signal pending and blocked information for the process's threads. +.Pp +If the +.Fl n +subcommand option is used, the signal numbers are shown instead of signal +names. +.Pp +Substring commands are accepted. .It Ar vm | Fl v Display virtual memory mappings for the process. -.It Ar auxv | Fl x -Display ELF auxiliary vector for the process. -.It Ar pargs -Display arguments for the process. -.It Ar penv -Display environment variables for the process. -.It Ar pwdx -Display current working directory for the process. .El .Pp All options generate output in the format of a table, the first field of From nobody Thu Mar 13 16:10: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 4ZDCBr5l33z5qsWV; Thu, 13 Mar 2025 16:10: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 4ZDCBr32jhz3Wrs; Thu, 13 Mar 2025 16:10:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741882212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9ApIrk0Cz6rM2Qqtntle1m5CTOg3EXHWXOw8cL3C4oI=; b=IKUGXjozeZ9GywoqLtvaUJZ7aiBNd22X1JcA3dTdV1iAzKa7eRk6fFEbxjHsy8ri7Xylnx KVtAaYQitoo+LMdsjGOBAn3nUoT1FIAwzMTeRiPtjDO2LQid8jmlBDa15R1LNuZSPf3Hob 1x20pTHNbjoW+e5phQ3nz+zUYgYAVftUYs/HCmSau6xnx7ICUSzXo9mZmdP54xSbJZQWUR GKH0NkECE9bFZWO0FHz3YA/rJhSLNETcfFaXr29CPS83dHcbw2fC8NiRdwzWYl9Jr0E6DN OWZtcE6zbXJMtwZfgIMNHP4rcPhCwLX4xMCFFuxEtGSJfrGvJ9noZxXFoGXCmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741882212; a=rsa-sha256; cv=none; b=hWCwU9/KFfIfZLuROs8vlH94VEvnZRf/6norY4BU+DfhgzaXpGsf4IIjbPVYQ6gtQyIE3U HYt6NO1YO1OR18ljXPFMe9lyE4hho2Q3kLtYlgG51vT77NoNKRmru9Mln77Zv5V3fFtx4Q MNEFM9qPhU8yJZXZqUZ3G6AHBT/dwhEtPV8+7KXs1f6XdkpDx+nUYzO6J3xAngWWn7c67s COmaILMndzt+rSLd825K4SmjRUpOkPu3rUvNEOBiCl1zgKU7n/QuwuoFu3vps3Fl7HwWeh tuRJ7NVSerfwjF9xcVukKGh6Jif4dmnmCZszdZCZgAcW+bdVM8ykdE3agx6y2w== 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=1741882212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9ApIrk0Cz6rM2Qqtntle1m5CTOg3EXHWXOw8cL3C4oI=; b=alw1JhAbjs8A/a731iagocrk6OqkiP4u8cGn9g2YyTus324+AjfAsa+rg1grGcOv3DVbFE NyGdMvG5gSyFNFMKZWEGQ3xRyntHYfNh+4zcR0jaGIrqJL3RC53Eb8MyoJ2RwwyLWZlp4u quLwRwKLKCxG4Cf145SrL1NtSqZ9DK1sKS40/jTfatv7FEerpE4JyHA184DFgce89vILmq e3JoaTiMYLJB4czEvRRDGUeTsg2Gwv7lKLm0b87ihIQKF827eMq9fc5RKwNP9DF2qYtSHe w4OtiFPBdrmbYa8Yy2jQvW55CdOcEh23Ik1Sw3OPneCIyF7qX+azpqvLTQPyGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDCBr2dfLz14BX; Thu, 13 Mar 2025 16:10: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 52DGACS3056747; Thu, 13 Mar 2025 16:10:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGACSg056739; Thu, 13 Mar 2025 16:10:12 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:10:12 GMT Message-Id: <202503131610.52DGACSg056739@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: 82897058342e - main - procstat.1: document rlimitusage 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: 82897058342e9bfe7193283421055e3f07ac9b8f Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=82897058342e9bfe7193283421055e3f07ac9b8f commit 82897058342e9bfe7193283421055e3f07ac9b8f Author: Konstantin Belousov AuthorDate: 2025-03-09 16:31:19 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:09:35 +0000 procstat.1: document rlimitusage Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49163 --- usr.bin/procstat/procstat.1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.bin/procstat/procstat.1 b/usr.bin/procstat/procstat.1 index 96e8860b8213..c078b405d185 100644 --- a/usr.bin/procstat/procstat.1 +++ b/usr.bin/procstat/procstat.1 @@ -205,6 +205,8 @@ Display LWP info for the process pertaining to its signal driven exit. Display current working directory for the process. .It Ar rlimit | Fl l Display resource limits for the process. +.It Ar rlimitusage +Display the usage of the resource limits for the process. .It Ar rusage | Fl r Display resource usage information for the process. .Pp From nobody Thu Mar 13 16:10: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 4ZDCBt1Tx4z5qsWf; Thu, 13 Mar 2025 16:10: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDCBs5C4Lz3X3B; Thu, 13 Mar 2025 16:10:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741882213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cxcCvJvy1W0J0Ws83jYfnbC2ymldKWvpRS4ym6XU4mY=; b=N9gTIcsVK6wWBPzUOQ7Op42x7InrgaR1FmT2xCEby/78aEKVg42BWDlVK+Q0Es/21aBEse E8m+mo0jm6L+7eUj66XIUElislhJslHemzkO5cp3Urp3vZjfjndLTNlJa98XN7MEUUwkdT jISGjMLmrbeYwOWlrX5JY2BwXJn7xu++xEnvwwh0IVtYKT8bHX63N3ViymT+RcVow7zg5X 8OpkMeYGUG5/dZpNSQsrgMq+4HqpVtKJE4JbQrTWWOuZb2joKOmcC497U5k3wd36DSZW96 7cxhyTtp/j2nd9DLxFLg4hCkyuxHicxdSJM2DrDZlkyuZV74txUeULmIuknT7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741882213; a=rsa-sha256; cv=none; b=hc0P+qyP05FZEMqciTvcSuRA7BBJkS9e7d3mx4orBfOn9qSQY3Ts69Hf54bO75MXe19qIg uNRMq8j96KkpmYthSFWcmkzpq6HNMl9XpWAAIwAJUbX1XAnaTN768a/wuPmyGvm/W2UfkE NB+C7Je6McdBJ30WaAQFFZg+0BMnsr2sFYmnBPFhiGr8wymrFk1lNdFAHiCxgWgA9oFdRS YmYQ9W7eHEwKeufW3vu4E6ukpPzNHqzegATdnCltL40uZ2tr6R4N1twot6ZpG0UEUEUPKN XYvzoc9BMP1cQDxXuAG6KDzbeKGPupwAg/T8unzz04wzuEYZDlIxT5FIft/cdg== 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=1741882213; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cxcCvJvy1W0J0Ws83jYfnbC2ymldKWvpRS4ym6XU4mY=; b=R0PkvqHEK9FO9F9Ejj/ieLxFpOnhtKF6Pqdijq7QVq5lPZzzgZnD/UBRIyex/JO4UIpA2o y90iwSs3xAz0GamQbrDN3Ypqbuh9QiybhZEyWPOuxK+vu8OkDtxpgI2bbRpIww1f0KPfvr 8d44gvx4XnqRRATJR7mLKN24iWYkV01bUQP4SKY0uk0/tXxuzuPsFgod7SKxNXCeA9YEXb MHUv5a4lfua2be/ALN68Ej2RWGzOU4xmbigDqHAuVxTSxM0L4mRmg8AP/bA1sRX7G/1cjM n1DJ/NLYMW0DXLPcRCGoeUlr0oPNXkRX2Te6BYOXaigBbWbEwT02RCgltPb8Ww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDCBs2rq9z14BY; Thu, 13 Mar 2025 16:10:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52DGADjp057385; Thu, 13 Mar 2025 16:10:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGADwb057378; Thu, 13 Mar 2025 16:10:13 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:10:13 GMT Message-Id: <202503131610.52DGADwb057378@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: d76a31ca74cf - main - procstat.1: document kqueues 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: d76a31ca74cffda4aea63b1276f92c039ca76053 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d76a31ca74cffda4aea63b1276f92c039ca76053 commit d76a31ca74cffda4aea63b1276f92c039ca76053 Author: Konstantin Belousov AuthorDate: 2025-03-09 16:32:10 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:09:35 +0000 procstat.1: document kqueues Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D49163 --- usr.bin/procstat/procstat.1 | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/usr.bin/procstat/procstat.1 b/usr.bin/procstat/procstat.1 index c078b405d185..2ce192013a67 100644 --- a/usr.bin/procstat/procstat.1 +++ b/usr.bin/procstat/procstat.1 @@ -187,6 +187,47 @@ Display file descriptor information for the process. If the .Fl C subcommand flag is used then additional capability information is printed. +.It Ar kqueue(s) Op Fl v +Display the events registered in the process kqueues. +The filter name, filter-specific identifier, flags, filter-specific flags, +system and user data, and event status are displayed. +If the +.Fl v +verbose flag is provided to the subcommand, the values of the ext array +are displayed as well. +.Pp +For flags, a string is printed consisting of the following symbols +corresponding to set flags: +.Bl -tag -width X -compact +.It O +.Va EV_ONESHOT +.It C +.Va EV_CLEAR +.It R +.Va EV_RECEIPT +.It D +.Va EV_DISPATCH +.It d +.Va EV_DROP +.It 1 +.Va EV_FLAG1 +.It 2 +.Va EV_FLAG2 +.El +.Pp +For status: +.Bl -tag -width X -compact +.It A +.Va KNOTE_STATUS_ACTIVE +.It Q +.Va KNOTE_STATUS_QUEUED +.It D +.Va KNOTE_STATUS_DISABLED +.It d +.Va KNOTE_STATUS_DETACHED +.It K +.Va KNOTE_STATUS_KQUEUE +.El .It Ar kstack | Fl k Display the stacks of kernel threads in the process, excluding stacks of threads currently running on a CPU and threads with stacks swapped to disk. From nobody Thu Mar 13 16:10: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 4ZDCBv2Njkz5qsYh; Thu, 13 Mar 2025 16:10: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 4ZDCBt4nsPz3X13; Thu, 13 Mar 2025 16:10:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741882214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0cducCY8MHnPfEkcI84RKn5pviDQ2YnfITZfjkVW9uQ=; b=wewf7lZHukK44v7Q7dKDgSJg1MrJOQBhdrRh9Ei+KNpAPMR91OvkO+U6Op9D5nyMVs0Qbs b/3ohdPaPLUu3layjd5oRTNDa/3KHURNsX6FUGhLjX6e2FJIUpUO4+VGmrLYh18wq5VAu6 wHSUjEwyjWP02Q/yKPOGxFrM2vrEz6YGoUaW4zRmEqreRsRM5E9FAK6dls3IM/bLu5pw6H wC4nxS0IBU3goIHGdMJCMEh46Rzn/J2u2gikHuIJVm5aJg0wPdrM0tnZisKIQCZuv+LB9n zc37dcFwaAaRLSvc0tOD2Be6zhZmU6tDtDeju6RvVPg7ew7j0hkyZnt52QCExQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741882214; a=rsa-sha256; cv=none; b=E5Ifi+X4jZfn9a7bcYaEeRE4NXdw07OaHZRx4tqbCKeJgks7nrjajJHgW3fc6K8wz6GjZy mCt5Ltwv3NRkBIpjvLqNkAiKslHbC1as1IysIicr0fEFAoC8Sv7mHRhHJ214S9iQJBrJcl /jxQ+O3ppfiqS5UIjAY/Na93Dqgd86xsa6gDRDInMzaQxb9nlYlDpmVj6CjkKjDnzezeyO HfT0ngim4WB0ETzveYztSauAsXQ6d4XnSxQ6S/TEoKnTD4eIrPIW8G9JCngAAAiluFqBfZ /ygwSgORaK55aM18+QW+S8To87f5MNe1Xl7w44lWPDioMwitcWlIivyirkdDrA== 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=1741882214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0cducCY8MHnPfEkcI84RKn5pviDQ2YnfITZfjkVW9uQ=; b=l5DzODmS+FQMK/ot+Rtc2WKBNXGpHIW6bQ6rR5zgsazAtESQyNaOXvE1BCav/ZfEfHpDl7 N5r/Cg07oMOeeL+toQr9mTPJfGucFM5Zo051FhdPVkDZ8HmIvkxpj1fqxM7xSzy7oBkCGC 6pi7pq1OL+NJKx5kcCUo08zHmWlkqy9CsQ+KAATdr0/SkPE8fw5DbR+5fBk4EdAlNbZIE4 X58ax/ThMKC3mpPysWUKUk+ZMwectkiuy+X4BWqMBYx32/58Eu+cwQ/1vP+lx06XAyuxv2 SwShiTWGJZWR8m8JA62vEK6VM+PYcpR2y2Sf7XQafXvTj2u8k/k93WXG8Gk+PA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDCBt3mNvz14tP; Thu, 13 Mar 2025 16:10: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 52DGAEmH058049; Thu, 13 Mar 2025 16:10:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGAEUB058041; Thu, 13 Mar 2025 16:10:14 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:10:14 GMT Message-Id: <202503131610.52DGAEUB058041@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: 9491ae6f0d96 - main - procstat.1: correct description of the kstack subcommand after removal of swapping 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: 9491ae6f0d9633b83bc0446806c21fd161148eaf Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9491ae6f0d9633b83bc0446806c21fd161148eaf commit 9491ae6f0d9633b83bc0446806c21fd161148eaf Author: Konstantin Belousov AuthorDate: 2025-03-01 22:42:09 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-13 16:09:35 +0000 procstat.1: correct description of the kstack subcommand after removal of swapping Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D49163 --- usr.bin/procstat/procstat.1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/procstat/procstat.1 b/usr.bin/procstat/procstat.1 index 2ce192013a67..3466291ba43c 100644 --- a/usr.bin/procstat/procstat.1 +++ b/usr.bin/procstat/procstat.1 @@ -230,7 +230,7 @@ For status: .El .It Ar kstack | Fl k Display the stacks of kernel threads in the process, excluding stacks of -threads currently running on a CPU and threads with stacks swapped to disk. +threads currently running on a CPU in userspace. .Pp If the .Fl v From nobody Thu Mar 13 16:54: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 4ZDD9c0qWzz5qw2y; Thu, 13 Mar 2025 16:54:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDD9c07pFz3fKg; Thu, 13 Mar 2025 16:54:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741884852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=23aYerT1+06mcKSfJS36bjqTg+8NhqszRJpLkS8+gq0=; b=USKRCkNwO5tTqw9nsU/CQl5b6H7dl02vKMyMSMqgkYY0g+2379tbmFs95TTzcxNCu1AvRp JO4FfAcC4Yo5VUwNqGvwAPBLEjjciSN6d6q3h/d7C+xbXmYUplxNJbSxSl8O4rOKlmd0+y xhGsSKZ3NsFC6gCZD4nuUqDbGzUQzc9dPW5KqBwfJu0jfNy9oviHnm//W+WxGrnbNRclpD 7tVFnIQCn1ngQQ0TBmkUfRMlHrf0+1eTnEM49SMi+AIRWq3QoZqXKycX8mZOt3JOg6BSlS cNfJ7ncCRvd3oF7zcz6fVKPkdt2sVyGUr/scGnBYJgEuJpKXKdkQZwRpDED9vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741884852; a=rsa-sha256; cv=none; b=BHKi4WCT/HWjPasPtYpesnfmyHYWecRtapezgDEAxTm+i0OvPgogAySOcnxYVPO+ij2WFb /CoOi3QRhWdhcBFgx0pFqmtMi4t9PvM+iffFlzFAp7TJD3cgewW2PH/bPGVGj1skmlZjvK tDiDL5/DYF5FyPrPyuwErMNme2cWSJ7+fBj+AxkLb1UzX3JP+Kk2fMIGqNiyYuo4pphdyd r+3kQQGMU4YChhc79H5iIjdLxCTBdTfjlgfIy2MH2KIsrZ0ZpJsdoqJK5yJXY/FHv1vIkD v8nYaXqDV3tSJfTGFN2YvN0kgqM02L0eTvLYV9hRYbEqd65/lncmjJnXmZgBug== 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=1741884852; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=23aYerT1+06mcKSfJS36bjqTg+8NhqszRJpLkS8+gq0=; b=sNwf3y38POjxwzk/73Wl1VyRl3Zl2gRmk2itXFYiwu/yvMeDKvKu5faItjwMrLpyNuMvkf mAI2dpuAj6PwM8yFnyeLogKW6FLmXc//EP72vEpLB6QJAydHusQHaWbLlWm5ov8RTQdrxh Rt19oaghTBi40NCsClW0TVPU/DZjYAGCNaMLqlDIwTiKXA9QwzT/JMGL9VQ96k69iGWTEt g5EvBk6XiC2X5McfGumdJYPICHLaMkI2AqdyjRZ5SYb50OAN5psqBjEBGLahHnAoocZBx2 gsq3/pparVr8SWe85pS75FJA7iHUaD7EyOfJhUXN1GU4/OpATIF0cu9wm9PKPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDD9b6NQqz15QY; Thu, 13 Mar 2025 16:54:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52DGsBmu043678; Thu, 13 Mar 2025 16:54:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGsBSc043675; Thu, 13 Mar 2025 16:54:11 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:54:11 GMT Message-Id: <202503131654.52DGsBSc043675@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: c78a14a2b872 - main - inpcb: in_pcb_lport_dest() doesn't use lportp as input argument 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c78a14a2b872b0f82326d5bc00ec99513b3961e6 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=c78a14a2b872b0f82326d5bc00ec99513b3961e6 commit c78a14a2b872b0f82326d5bc00ec99513b3961e6 Author: Gleb Smirnoff AuthorDate: 2025-03-13 16:53:40 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-13 16:53:40 +0000 inpcb: in_pcb_lport_dest() doesn't use lportp as input argument This assignment just created false positive analyzer report. CID: 1593692 --- sys/netinet/in_pcb.c | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 47852a8cda4b..a14792649519 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -826,7 +826,6 @@ in_pcb_lport_dest(const struct inpcb *inp, struct sockaddr *lsa, #endif tmpinp = NULL; - lport = *lportp; if (V_ipport_randomized) *lastport = first + (arc4random() % (last - first)); From nobody Thu Mar 13 16:54: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 4ZDD9d2m3Nz5qwMS; Thu, 13 Mar 2025 16:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDD9d1FLcz3fPl; Thu, 13 Mar 2025 16:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741884853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Jf/Qlw19RFj7W99Cy52gxd2Qm/N9knnoq51s+0V8GE=; b=U7gThNxoJb7pIr54wxC9DPBzxLVIHCli/DG5QLicWd/aUOv9wtS/GQcnLKe3RqrOLwWtwN 9v8q7F/EUOO0/CDPp36jPBHR9Gr1WlPgkSx8L2oVXlvqZSfadMNUOOz+T65G+9Isrwylxy /ks+GCH96VijeVfo4kqEOo7fdZfGTx4h3cPfwpJ4aheZKmTYhqeCgAgdJvX+OSQJDxxQVV Fbz84FFGSUjjUTJ2OLORfeDStTz+BxHb3wArcpdajUYyp9zams46JGcyZPBcFcuj1M0wyi Nt3AimzkX0vd9JOlhrDXVKkzH/c4KM5YYqbeOzYQPP+3jNtZ3McGuPz74QmIkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741884853; a=rsa-sha256; cv=none; b=x2beRReL0cYP1sRCP2Wz365fDYkj1Vxk6aieFowbhgjG4l67iASBZ7GIilsLseFUM6CUsd fTm6zaToCmk/AHy+7ASnjxfY5Z65FQrd8NR4MDRKW67S9gN0dyWXEi9iI7UUAAVrRfq1V3 od7CKr/F7GwweF2wDxLGc+l6w62PAB6vnm4jO8eqzN/toL8DTr9HC2KGJ0WCen0utAzOmx LUbPjka0TTIYNNC2qqXo9oqnKK2Zm+TnoPW4nP39pe7TaIor0dp3s0BSQPEuAvn6XZOXSO 4Hu+XTesckW+NWAGpLDN4qOEWVwtFg4ny7eFN02l78FuOUd4kN4z7Umi8H9/mw== 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=1741884853; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/Jf/Qlw19RFj7W99Cy52gxd2Qm/N9knnoq51s+0V8GE=; b=EDjiTQz3rDLUrvZk1W4o1NlI0iU/4zCUtw2ITSm8CwLIFFdIPcP1nAZWg8kMtcLIf35AXO QwfED0d15IZYfpdwCo5OSpcPsBgxnklizbDn/h4d/DV4oNHRtIMlH80DmBNzEtYIrt+dyo XZbxtlHDIWqXr0Ot3qN0IM1oGJgflv7uDRZUM/5EQvCS+6KpId8I0Q97CTLDXj3kV89C5s 7IiCYIOmJxzqJk4Ow+n4hOgEMeu1etxld4vT5TYuOPdMKKxPhYRckGnmVdwUhoD/jCTQ9I Ewpslk5KqhDEgaH6ASkIB3vHJnlLAQWDrIJWgOIH3wokzQn3FH4gOyyVfvZNIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDD9c6fLdz15xG; Thu, 13 Mar 2025 16:54: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 52DGsCdl043716; Thu, 13 Mar 2025 16:54:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGsC4s043713; Thu, 13 Mar 2025 16:54:12 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:54:12 GMT Message-Id: <202503131654.52DGsC4s043713@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: 5f42f87fc434 - main - inpcb: in_pcbinshash() can't fail on connect(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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5f42f87fc4341405c03e3a83e4b79b3068e95554 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=5f42f87fc4341405c03e3a83e4b79b3068e95554 commit 5f42f87fc4341405c03e3a83e4b79b3068e95554 Author: Gleb Smirnoff AuthorDate: 2025-03-13 16:53:40 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-13 16:53:40 +0000 inpcb: in_pcbinshash() can't fail on connect(2) CID: 1593687 --- sys/netinet6/in6_pcb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index e77a1e9d3e87..65b7ead1e365 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -523,7 +523,8 @@ in6_pcbconnect(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred, if ((inp->inp_flags & INP_INHASHLIST) != 0) { in_pcbrehash(inp); } else { - in_pcbinshash(inp); + error = in_pcbinshash(inp); + MPASS(error == 0); } return (0); From nobody Thu Mar 13 16:54: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 4ZDD9f1srhz5qw30; Thu, 13 Mar 2025 16:54: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDD9f0fGkz3fDZ; Thu, 13 Mar 2025 16:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741884854; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jL4YyZfAiVJGNdtFvISlNtUyTOC2VgP/Kn1X10Gfxio=; b=lBcGFcs8qcy5L/zizWpdXeGPivFO208kwxDOZtXIUlmNaWrqc0Dq7m48N94RvJfANrvwGj 6h84u6DfVL3YIkurlo6dCF3PwrfihjOld2IDAeKkml0QpEGmk6Bi773dRrvmyQoMBmN8JQ JwVwPKN5LeindwZ9jZ3PQ3aNfDzcZ1tjEWxsNJ9hrRlvKpoWS9EfbQQG7GyDbY6l4aaWDk NIQUiBIg89Ash2ZBZhGi9bQO2pPTNtl2dhFC1o5XfpibEBfH79qIDBTHdYfruBmrCDd5cs EN7dsBbtaJ9Z+3HJp6Kg8DlkcNLXcgVaSUwLsuruvyzQYboaJ5cC9OUdBUbQSQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741884854; a=rsa-sha256; cv=none; b=oYXVrEpVf/mNsqqCdzTKk68GQe3HNEkA4BCqGIhkLvNy3FuetaQvuBHDVuIOtEShbJRjy4 yXRawN8FJ37oZlJoXjR/7113IxDzS4E9fXnm9ziuDAn+HQ0w7MiaCLjCwjf7k2VOJFHEbF hEtcD3YDEiixFlD6w8/AdU23QSZH3EMT3KPnGyb2M9wvy8RH81CR8QS5Wex4C7jpF7CD4l SEjDzUfYqnO7EzwCOSJjuJkvtB5ersP0gZbDnLPmwq0CCiFn1cEPTx2cjJx3tQujogvvFV 5N5mdun58GGgOEMg90ldEk83XfrIuNeuNk5E3GHkb7v8Okg7MyG7n1RDlg/ACQ== 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=1741884854; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jL4YyZfAiVJGNdtFvISlNtUyTOC2VgP/Kn1X10Gfxio=; b=Tueh8qCwiBnvGJW+KAAQfCOlSVxYyR9shsMzBi0OFxINRBe8gOiXPC4zzqzvMMHO4l2pXx 7Khtyq6A0CThHaJwVDRVz8gxPnT4Ll7jrpHDjQaYwE06cRBevscsyijIThUubPeW9Y2jKB i2Y+UduJ7BB0DmApn+FAFbiabqHp1x7ONafH+E+MnptpK3M1nMmFHDx1XYMqE9CUQ48jje K8w6Bj67XtGa6MpeIz8dxadmegukglJLMXJZqMRptyQYu6GkvhQat15BI+r/s8t3yadOxs zR/N+GU9TtnQFtTDzp7BHgpmbw3qILR/t785qOoCLk5WoHvkMi6Cj7hhJd+eVQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDD9f0CpNz165x; Thu, 13 Mar 2025 16:54: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 52DGsDRS043748; Thu, 13 Mar 2025 16:54:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGsDhq043745; Thu, 13 Mar 2025 16:54:13 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:54:13 GMT Message-Id: <202503131654.52DGsDhq043745@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: c56e75390e33 - main - inpcb: make sure we don't pass uninitialized faddr to in_pcbladdr() 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c56e75390e33d31f4e3d1d9d8725b3c293e2feba Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=c56e75390e33d31f4e3d1d9d8725b3c293e2feba commit c56e75390e33d31f4e3d1d9d8725b3c293e2feba Author: Gleb Smirnoff AuthorDate: 2025-03-13 16:53:40 +0000 Commit: Gleb Smirnoff CommitDate: 2025-03-13 16:53:40 +0000 inpcb: make sure we don't pass uninitialized faddr to in_pcbladdr() This very theoretical edge case was discovered by Coverity, not sure if it was introduced by 2af953b132ee or was there before. CID: 1593695 Fixes: 2af953b132ee8d2eb4d8d7bb15fc38bf04dde348 --- sys/netinet/in_pcb.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index a14792649519..9a49353f1538 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -1115,14 +1115,13 @@ in_pcbconnect(struct inpcb *inp, struct sockaddr_in *sin, struct ucred *cred) IA_SIN(CK_STAILQ_FIRST(&V_in_ifaddrhead))->sin_addr; if ((error = prison_get_ip4(cred, &faddr)) != 0) return (error); - } else if (sin->sin_addr.s_addr == INADDR_BROADCAST) { - if (CK_STAILQ_FIRST(&V_in_ifaddrhead)->ia_ifp->if_flags - & IFF_BROADCAST) - faddr = satosin(&CK_STAILQ_FIRST( - &V_in_ifaddrhead)->ia_broadaddr)->sin_addr; - else - faddr = sin->sin_addr; - } + } else if (sin->sin_addr.s_addr == INADDR_BROADCAST && + CK_STAILQ_FIRST(&V_in_ifaddrhead)->ia_ifp->if_flags + & IFF_BROADCAST) { + faddr = satosin(&CK_STAILQ_FIRST( + &V_in_ifaddrhead)->ia_broadaddr)->sin_addr; + } else + faddr = sin->sin_addr; } else faddr = sin->sin_addr; From nobody Thu Mar 13 16:57: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 4ZDDFF1PxQz5qwdw; Thu, 13 Mar 2025 16:57: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 4ZDDFF0XDJz3gZr; Thu, 13 Mar 2025 16:57:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741885041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LvdBTwhmwIlwhliZ9qV14JNCQZGuPQjg+h9RitEyf10=; b=Pmj5auTXLQqj2TQuL4Ly93yMfgsj5dQCogliLMRuIAHR5i3zrxa1SegI70G80PIa5ph5M/ 1Epjiq2MnSa6yIsqRamcjfzSep8J1d0hjYvY3xwUQlZEppihYMNiOUh0IC7CWJ8DWh/6KJ qbYORE8Dazt4mNvak5qu08TgqOAJzX0KAu0TDbgbWN9l0ojTFGnvBFiQBt/YEzLlAbv6np cULqV1WFMYomRfOpIITY6Gt0D8OKOkQ9+ePnroSEkdEW3hVni2SyTatVGf0lzj7cJ5oOgs tQ7cO+ah+0uuUesU6ZSs/CFeaT9qTmYwu+BLacVQjwyQR7qEwbrviQgcp+KdkQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741885041; a=rsa-sha256; cv=none; b=oJsSJ3UdXcsCO7jcw2b71/wkHaVJg8lAaauve/kUrOffMQMKjWdhQ3h6GAeBuhQH7r40ku tn8huBIfS2n/z0I0xvyyxewB5J/XkfNg9MkVYHABDNb6Jy5ytMIeN/hvhHydnGWPF3pDSP 1xLxtjObvGz2pVBAZt1hySxrmLVKahXrkSwqTl5ReZwICwhBH51CVEFZFz3YQ5Wzb/X57N uhjW9md6lbUQGaN63f4GzLV052cAUxwpiy0eTTnrVv7a0Cj76p6IK5gvO/7mvCc1oExgZh 0lrbtaI97DKWdtDyNPtE4ovN6SKQPV3i1DJNgazxOzof3ZiLoLvjTcSQnPU1dA== 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=1741885041; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LvdBTwhmwIlwhliZ9qV14JNCQZGuPQjg+h9RitEyf10=; b=OQzZbOVKz6Kx6LiBQ+q/Kbtk6QG8f5pyJl7B47LbszhRxRdwMKX82TB3g5o/jLoNSXrgaw fxkYt9guI0B3rjvUDAoplCG75+E6t/fHAAWQ7vQIQnd/A2l4T3tTerJt7zr8UIb/1oi8R3 za1cZqa4QX5V3nyBQQqdMfziYkjq32G0lNIfCSjF4rWQlXeNvmA3CYN5fNpvr2ExwEl0v1 s863b8TZLDpNS5PwZJkC4UxkOPHotsIgr2ROkDUO9YKxkwabqaVjUW8IyYjJ8JxgcKZFF8 mU90IOkB6DPHS8/KN1I3NqF2ZgVVhNsIp3qpDeDTuFlXkDLeeuksfkDWRbzFkg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDDFD6ylWz15Vc; Thu, 13 Mar 2025 16:57: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 52DGvKKm044970; Thu, 13 Mar 2025 16:57:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGvKCb044967; Thu, 13 Mar 2025 16:57:20 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:57:20 GMT Message-Id: <202503131657.52DGvKCb044967@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: a52a51a2d590 - main - lockmgr/rmlock/rwlock/sx: Make various assertions 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a52a51a2d5900e475c3dc6203e09a376316ce90f Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a52a51a2d5900e475c3dc6203e09a376316ce90f commit a52a51a2d5900e475c3dc6203e09a376316ce90f Author: John Baldwin AuthorDate: 2025-03-13 16:54:16 +0000 Commit: John Baldwin CommitDate: 2025-03-13 16:57:06 +0000 lockmgr/rmlock/rwlock/sx: Make various assertions more robust Print pointers to locks instead of their names to avoid a nested panic if the lock object is corrupted. Reviewed by: markj Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D49331 --- sys/kern/kern_lock.c | 4 ++-- sys/kern/kern_rmlock.c | 12 ++++++------ sys/kern/kern_rwlock.c | 24 ++++++++++++------------ sys/kern/kern_sx.c | 20 ++++++++++---------- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/sys/kern/kern_lock.c b/sys/kern/kern_lock.c index 4771496f950a..31bff6d2c1aa 100644 --- a/sys/kern/kern_lock.c +++ b/sys/kern/kern_lock.c @@ -1325,8 +1325,8 @@ __lockmgr_args(struct lock *lk, u_int flags, struct lock_object *ilk, ("%s: LK_INTERLOCK passed without valid interlock @ %s:%d", __func__, file, line)); KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread), - ("%s: idle thread %p on lockmgr %s @ %s:%d", __func__, curthread, - lk->lock_object.lo_name, file, line)); + ("%s: idle thread %p on lockmgr %p @ %s:%d", __func__, curthread, + lk, file, line)); class = (flags & LK_INTERLOCK) ? LOCK_CLASS(ilk) : NULL; diff --git a/sys/kern/kern_rmlock.c b/sys/kern/kern_rmlock.c index 6c7b78a0586d..bdee79e2cf1a 100644 --- a/sys/kern/kern_rmlock.c +++ b/sys/kern/kern_rmlock.c @@ -598,8 +598,8 @@ _rm_wlock_debug(struct rmlock *rm, const char *file, int line) return; KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread), - ("rm_wlock() by idle thread %p on rmlock %s @ %s:%d", - curthread, rm->lock_object.lo_name, file, line)); + ("rm_wlock() by idle thread %p on rmlock %p @ %s:%d", + curthread, rm, file, line)); KASSERT(!rm_destroyed(rm), ("rm_wlock() of destroyed rmlock @ %s:%d", file, line)); _rm_assert(rm, RA_UNLOCKED, file, line); @@ -643,14 +643,14 @@ _rm_rlock_debug(struct rmlock *rm, struct rm_priotracker *tracker, critical_enter(); KASSERT(rm_trackers_present(get_pcpu(), rm, curthread) == 0, - ("rm_rlock: recursed on non-recursive rmlock %s @ %s:%d\n", - rm->lock_object.lo_name, file, line)); + ("rm_rlock: recursed on non-recursive rmlock %p @ %s:%d\n", + rm, file, line)); critical_exit(); } #endif KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread), - ("rm_rlock() by idle thread %p on rmlock %s @ %s:%d", - curthread, rm->lock_object.lo_name, file, line)); + ("rm_rlock() by idle thread %p on rmlock %p @ %s:%d", + curthread, rm, file, line)); KASSERT(!rm_destroyed(rm), ("rm_rlock() of destroyed rmlock @ %s:%d", file, line)); if (!trylock) { diff --git a/sys/kern/kern_rwlock.c b/sys/kern/kern_rwlock.c index 03d59d613e74..ee04f4f30d2c 100644 --- a/sys/kern/kern_rwlock.c +++ b/sys/kern/kern_rwlock.c @@ -292,8 +292,8 @@ _rw_wlock_cookie(volatile uintptr_t *c, const char *file, int line) KASSERT(kdb_active != 0 || SCHEDULER_STOPPED() || !TD_IS_IDLETHREAD(curthread), - ("rw_wlock() by idle thread %p on rwlock %s @ %s:%d", - curthread, rw->lock_object.lo_name, file, line)); + ("rw_wlock() by idle thread %p on rwlock %p @ %s:%d", + curthread, rw, file, line)); KASSERT(rw->rw_lock != RW_DESTROYED, ("rw_wlock() of destroyed rwlock @ %s:%d", file, line)); WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER | LOP_EXCLUSIVE, file, @@ -325,8 +325,8 @@ __rw_try_wlock_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF) return (1); KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(td), - ("rw_try_wlock() by idle thread %p on rwlock %s @ %s:%d", - curthread, rw->lock_object.lo_name, file, line)); + ("rw_try_wlock() by idle thread %p on rwlock %p @ %s:%d", + curthread, rw, file, line)); KASSERT(rw->rw_lock != RW_DESTROYED, ("rw_try_wlock() of destroyed rwlock @ %s:%d", file, line)); @@ -681,13 +681,13 @@ __rw_rlock_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF) KASSERT(kdb_active != 0 || SCHEDULER_STOPPED() || !TD_IS_IDLETHREAD(td), - ("rw_rlock() by idle thread %p on rwlock %s @ %s:%d", - td, rw->lock_object.lo_name, file, line)); + ("rw_rlock() by idle thread %p on rwlock %p @ %s:%d", + td, rw, file, line)); KASSERT(rw->rw_lock != RW_DESTROYED, ("rw_rlock() of destroyed rwlock @ %s:%d", file, line)); KASSERT(rw_wowner(rw) != td, - ("rw_rlock: wlock already held for %s @ %s:%d", - rw->lock_object.lo_name, file, line)); + ("rw_rlock: wlock already held for %p @ %s:%d", + rw, file, line)); WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER, file, line, NULL); v = RW_READ_VALUE(rw); @@ -721,8 +721,8 @@ __rw_try_rlock_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF) return (1); KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread), - ("rw_try_rlock() by idle thread %p on rwlock %s @ %s:%d", - curthread, rw->lock_object.lo_name, file, line)); + ("rw_try_rlock() by idle thread %p on rwlock %p @ %s:%d", + curthread, rw, file, line)); x = rw->rw_lock; for (;;) { @@ -970,8 +970,8 @@ __rw_wlock_hard(volatile uintptr_t *c, uintptr_t v LOCK_FILE_LINE_ARG_DEF) if (__predict_false(lv_rw_wowner(v) == (struct thread *)tid)) { KASSERT(rw->lock_object.lo_flags & LO_RECURSABLE, - ("%s: recursing but non-recursive rw %s @ %s:%d\n", - __func__, rw->lock_object.lo_name, file, line)); + ("%s: recursing but non-recursive rw %p @ %s:%d\n", + __func__, rw, file, line)); rw->rw_recurse++; atomic_set_ptr(&rw->rw_lock, RW_LOCK_WRITER_RECURSED); if (LOCK_LOG_TEST(&rw->lock_object, 0)) diff --git a/sys/kern/kern_sx.c b/sys/kern/kern_sx.c index 952cfae7c977..e9aad6c6be58 100644 --- a/sys/kern/kern_sx.c +++ b/sys/kern/kern_sx.c @@ -278,8 +278,8 @@ sx_try_slock_int(struct sx *sx LOCK_FILE_LINE_ARG_DEF) return (1); KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(curthread), - ("sx_try_slock() by idle thread %p on sx %s @ %s:%d", - curthread, sx->lock_object.lo_name, file, line)); + ("sx_try_slock() by idle thread %p on sx %p @ %s:%d", + curthread, sx, file, line)); x = sx->sx_lock; for (;;) { @@ -317,8 +317,8 @@ _sx_xlock(struct sx *sx, int opts, const char *file, int line) KASSERT(kdb_active != 0 || SCHEDULER_STOPPED() || !TD_IS_IDLETHREAD(curthread), - ("sx_xlock() by idle thread %p on sx %s @ %s:%d", - curthread, sx->lock_object.lo_name, file, line)); + ("sx_xlock() by idle thread %p on sx %p @ %s:%d", + curthread, sx, file, line)); KASSERT(sx->sx_lock != SX_LOCK_DESTROYED, ("sx_xlock() of destroyed sx @ %s:%d", file, line)); WITNESS_CHECKORDER(&sx->lock_object, LOP_NEWORDER | LOP_EXCLUSIVE, file, @@ -354,8 +354,8 @@ sx_try_xlock_int(struct sx *sx LOCK_FILE_LINE_ARG_DEF) return (1); KASSERT(kdb_active != 0 || !TD_IS_IDLETHREAD(td), - ("sx_try_xlock() by idle thread %p on sx %s @ %s:%d", - curthread, sx->lock_object.lo_name, file, line)); + ("sx_try_xlock() by idle thread %p on sx %p @ %s:%d", + curthread, sx, file, line)); KASSERT(sx->sx_lock != SX_LOCK_DESTROYED, ("sx_try_xlock() of destroyed sx @ %s:%d", file, line)); @@ -617,8 +617,8 @@ _sx_xlock_hard(struct sx *sx, uintptr_t x, int opts LOCK_FILE_LINE_ARG_DEF) /* If we already hold an exclusive lock, then recurse. */ if (__predict_false(lv_sx_owner(x) == (struct thread *)tid)) { KASSERT((sx->lock_object.lo_flags & LO_RECURSABLE) != 0, - ("_sx_xlock_hard: recursed on non-recursive sx %s @ %s:%d\n", - sx->lock_object.lo_name, file, line)); + ("_sx_xlock_hard: recursed on non-recursive sx %p @ %s:%d\n", + sx, file, line)); sx->sx_recurse++; atomic_set_ptr(&sx->sx_lock, SX_LOCK_RECURSED); if (LOCK_LOG_TEST(&sx->lock_object, 0)) @@ -1264,8 +1264,8 @@ _sx_slock_int(struct sx *sx, int opts LOCK_FILE_LINE_ARG_DEF) KASSERT(kdb_active != 0 || SCHEDULER_STOPPED() || !TD_IS_IDLETHREAD(curthread), - ("sx_slock() by idle thread %p on sx %s @ %s:%d", - curthread, sx->lock_object.lo_name, file, line)); + ("sx_slock() by idle thread %p on sx %p @ %s:%d", + curthread, sx, file, line)); KASSERT(sx->sx_lock != SX_LOCK_DESTROYED, ("sx_slock() of destroyed sx @ %s:%d", file, line)); WITNESS_CHECKORDER(&sx->lock_object, LOP_NEWORDER, file, line, NULL); From nobody Thu Mar 13 16:57: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 4ZDDFG3cCmz5qwbZ; Thu, 13 Mar 2025 16:57:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDDFG1FHYz3gpN; Thu, 13 Mar 2025 16:57:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741885042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OjeSb9Q0f+72LIiBEsHKt8sWliLRN7stsYWxtVm93Dg=; b=s314rtSak048M98jr7PJcvSHNFq4lgZbxcGZWn4iwFkkBj3RwJsSAUZpgyD0pb79f0asag 42dkk+QhN8CfYLaSMmNaG9j2GENvfKIHcSceT2Lmmiq2KhFAoMclq3stUVyybXLCsIkDSs QQDILzgp51CmKS5l9IyJPEYFM48aRERC0sC4JG4Au2Wb2+7WS4tkODyYoR48sG4NFZkscV ufblwos+88BgJ/pNp+uI4GHnychj0SgiGWHBkoNxpWOismyYMJCSGFQ58Q2yjmhL37kcBA gFCKybbCbLflRz0PiukcQpYCt8R50CdhoW5cpkz/oDJvLwGcoXH4L/FhrllbUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741885042; a=rsa-sha256; cv=none; b=arxpQPrC1+CcjULsmUrwAq5jqUEnOhuI1vpOtVRaHRPmZKNEfDiHXqd/6RvuOqfQcU/v1u +gtrZfT67fZFxjyceigQ2M+KY1o+QsB+nVlkCbRPzGRkyJoTPcT6930oTQxnOhk7zdh8xB 9UgUXUA/BlAYqmwo/nDbhOZCM3bONvFUZmiOuditgtEvm0c8f1RBtr5LjDe/ZKy8UVwWIx K1id3EQaHVguAAOaT7q3fsPnP2rVsiv+uhSmgTTPqAQsxUaTEm+L67COc/BeutHqFTMmAQ dXawKjNAyVXomfPWWDoz69IuBMLfArNYg81apKShAiKDUTLByrEJ7PEL9fBg9A== 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=1741885042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OjeSb9Q0f+72LIiBEsHKt8sWliLRN7stsYWxtVm93Dg=; b=YiUxRNGP+Gw0BomxnPPmQPNxjQJA6ObmXD7+0vLh2di1WPi3QDXxuJuhBiKhMnFC2Pbz87 BxCBUkgvxDEQJ70Hi5/46FYyEX922/j9AUnTfLMXQzoo/uXuMiZsX7ydTu9KZ6tx6jZ4SJ bTrFdoG1zQa42mFRqADrMgvAfN/dewXzVV0WTdaW7FnU0VrB0OGaVqBMvfFhEVGW14Xkbj 1Q/fTs18M0+8/asTjt+Q94pGnIM6FfhACpVgQFwl16j0/bpjXii64Ffij1VMV+Y63JbPN5 wzL9WAESSuH2gNCHWWsJgakrEoZpo4hGJeUf9TOhjzXsuUHmrb/IyKXa2zu/wA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDDFG0k2tz15Ck; Thu, 13 Mar 2025 16:57: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 52DGvL1m045005; Thu, 13 Mar 2025 16:57:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DGvLQT045002; Thu, 13 Mar 2025 16:57:21 GMT (envelope-from git) Date: Thu, 13 Mar 2025 16:57:21 GMT Message-Id: <202503131657.52DGvLQT045002@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: 00d78c500783 - main - rwmlock/rwlock/sx: Print the pointer of destroyed locks in panic 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: 00d78c500783fc91512b3c0d231029ac75a131d9 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=00d78c500783fc91512b3c0d231029ac75a131d9 commit 00d78c500783fc91512b3c0d231029ac75a131d9 Author: John Baldwin AuthorDate: 2025-03-13 16:54:40 +0000 Commit: John Baldwin CommitDate: 2025-03-13 16:57:06 +0000 rwmlock/rwlock/sx: Print the pointer of destroyed locks in panic messages Suggested by: markj Reviewed by: kib, markj Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D49332 --- sys/kern/kern_rmlock.c | 8 ++++---- sys/kern/kern_rwlock.c | 18 ++++++++++-------- sys/kern/kern_sx.c | 17 +++++++++-------- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/sys/kern/kern_rmlock.c b/sys/kern/kern_rmlock.c index bdee79e2cf1a..0867e9e14fee 100644 --- a/sys/kern/kern_rmlock.c +++ b/sys/kern/kern_rmlock.c @@ -601,7 +601,7 @@ _rm_wlock_debug(struct rmlock *rm, const char *file, int line) ("rm_wlock() by idle thread %p on rmlock %p @ %s:%d", curthread, rm, file, line)); KASSERT(!rm_destroyed(rm), - ("rm_wlock() of destroyed rmlock @ %s:%d", file, line)); + ("rm_wlock() of destroyed rmlock %p @ %s:%d", rm, file, line)); _rm_assert(rm, RA_UNLOCKED, file, line); WITNESS_CHECKORDER(&rm->lock_object, LOP_NEWORDER | LOP_EXCLUSIVE, @@ -622,7 +622,7 @@ _rm_wunlock_debug(struct rmlock *rm, const char *file, int line) return; KASSERT(!rm_destroyed(rm), - ("rm_wunlock() of destroyed rmlock @ %s:%d", file, line)); + ("rm_wunlock() of destroyed rmlock %p @ %s:%d", rm, file, line)); _rm_assert(rm, RA_WLOCKED, file, line); WITNESS_UNLOCK(&rm->lock_object, LOP_EXCLUSIVE, file, line); LOCK_LOG_LOCK("RMWUNLOCK", &rm->lock_object, 0, 0, file, line); @@ -652,7 +652,7 @@ _rm_rlock_debug(struct rmlock *rm, struct rm_priotracker *tracker, ("rm_rlock() by idle thread %p on rmlock %p @ %s:%d", curthread, rm, file, line)); KASSERT(!rm_destroyed(rm), - ("rm_rlock() of destroyed rmlock @ %s:%d", file, line)); + ("rm_rlock() of destroyed rmlock %p @ %s:%d", rm, file, line)); if (!trylock) { KASSERT(!rm_wowned(rm), ("rm_rlock: wlock already held for %s @ %s:%d", @@ -686,7 +686,7 @@ _rm_runlock_debug(struct rmlock *rm, struct rm_priotracker *tracker, return; KASSERT(!rm_destroyed(rm), - ("rm_runlock() of destroyed rmlock @ %s:%d", file, line)); + ("rm_runlock() of destroyed rmlock %p @ %s:%d", rm, file, line)); _rm_assert(rm, RA_RLOCKED, file, line); WITNESS_UNLOCK(&rm->lock_object, 0, file, line); LOCK_LOG_LOCK("RMRUNLOCK", &rm->lock_object, 0, 0, file, line); diff --git a/sys/kern/kern_rwlock.c b/sys/kern/kern_rwlock.c index ee04f4f30d2c..ed6ca75bc7a5 100644 --- a/sys/kern/kern_rwlock.c +++ b/sys/kern/kern_rwlock.c @@ -295,7 +295,7 @@ _rw_wlock_cookie(volatile uintptr_t *c, const char *file, int line) ("rw_wlock() by idle thread %p on rwlock %p @ %s:%d", curthread, rw, file, line)); KASSERT(rw->rw_lock != RW_DESTROYED, - ("rw_wlock() of destroyed rwlock @ %s:%d", file, line)); + ("rw_wlock() of destroyed rwlock %p @ %s:%d", rw, file, line)); WITNESS_CHECKORDER(&rw->lock_object, LOP_NEWORDER | LOP_EXCLUSIVE, file, line, NULL); tid = (uintptr_t)curthread; @@ -328,7 +328,7 @@ __rw_try_wlock_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF) ("rw_try_wlock() by idle thread %p on rwlock %p @ %s:%d", curthread, rw, file, line)); KASSERT(rw->rw_lock != RW_DESTROYED, - ("rw_try_wlock() of destroyed rwlock @ %s:%d", file, line)); + ("rw_try_wlock() of destroyed rwlock %p @ %s:%d", rw, file, line)); rval = 1; recursed = false; @@ -376,7 +376,7 @@ _rw_wunlock_cookie(volatile uintptr_t *c, const char *file, int line) rw = rwlock2rw(c); KASSERT(rw->rw_lock != RW_DESTROYED, - ("rw_wunlock() of destroyed rwlock @ %s:%d", file, line)); + ("rw_wunlock() of destroyed rwlock %p @ %s:%d", rw, file, line)); __rw_assert(c, RA_WLOCKED, file, line); WITNESS_UNLOCK(&rw->lock_object, LOP_EXCLUSIVE, file, line); LOCK_LOG_LOCK("WUNLOCK", &rw->lock_object, 0, rw->rw_recurse, file, @@ -684,7 +684,7 @@ __rw_rlock_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF) ("rw_rlock() by idle thread %p on rwlock %p @ %s:%d", td, rw, file, line)); KASSERT(rw->rw_lock != RW_DESTROYED, - ("rw_rlock() of destroyed rwlock @ %s:%d", file, line)); + ("rw_rlock() of destroyed rwlock %p @ %s:%d", rw, file, line)); KASSERT(rw_wowner(rw) != td, ("rw_rlock: wlock already held for %p @ %s:%d", rw, file, line)); @@ -727,7 +727,8 @@ __rw_try_rlock_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF) x = rw->rw_lock; for (;;) { KASSERT(rw->rw_lock != RW_DESTROYED, - ("rw_try_rlock() of destroyed rwlock @ %s:%d", file, line)); + ("rw_try_rlock() of destroyed rwlock %p @ %s:%d", rw, file, + line)); if (!(x & RW_LOCK_READ)) break; if (atomic_fcmpset_acq_ptr(&rw->rw_lock, &x, x + RW_ONE_READER)) { @@ -862,7 +863,7 @@ _rw_runlock_cookie_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF) uintptr_t v; KASSERT(rw->rw_lock != RW_DESTROYED, - ("rw_runlock() of destroyed rwlock @ %s:%d", file, line)); + ("rw_runlock() of destroyed rwlock %p @ %s:%d", rw, file, line)); __rw_assert(&rw->rw_lock, RA_RLOCKED, file, line); WITNESS_UNLOCK(&rw->lock_object, 0, file, line); LOCK_LOG_LOCK("RUNLOCK", &rw->lock_object, 0, 0, file, line); @@ -1310,7 +1311,8 @@ __rw_try_upgrade_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF) return (1); KASSERT(rw->rw_lock != RW_DESTROYED, - ("rw_try_upgrade() of destroyed rwlock @ %s:%d", file, line)); + ("rw_try_upgrade() of destroyed rwlock %p @ %s:%d", rw, file, + line)); __rw_assert(&rw->rw_lock, RA_RLOCKED, file, line); /* @@ -1393,7 +1395,7 @@ __rw_downgrade_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF) return; KASSERT(rw->rw_lock != RW_DESTROYED, - ("rw_downgrade() of destroyed rwlock @ %s:%d", file, line)); + ("rw_downgrade() of destroyed rwlock %p @ %s:%d", rw, file, line)); __rw_assert(&rw->rw_lock, RA_WLOCKED | RA_NOTRECURSED, file, line); #ifndef INVARIANTS if (rw_recursed(rw)) diff --git a/sys/kern/kern_sx.c b/sys/kern/kern_sx.c index e9aad6c6be58..accea5d288eb 100644 --- a/sys/kern/kern_sx.c +++ b/sys/kern/kern_sx.c @@ -284,7 +284,8 @@ sx_try_slock_int(struct sx *sx LOCK_FILE_LINE_ARG_DEF) x = sx->sx_lock; for (;;) { KASSERT(x != SX_LOCK_DESTROYED, - ("sx_try_slock() of destroyed sx @ %s:%d", file, line)); + ("sx_try_slock() of destroyed sx %p @ %s:%d", sx, file, + line)); if (!(x & SX_LOCK_SHARED)) break; if (atomic_fcmpset_acq_ptr(&sx->sx_lock, &x, x + SX_ONE_SHARER)) { @@ -320,7 +321,7 @@ _sx_xlock(struct sx *sx, int opts, const char *file, int line) ("sx_xlock() by idle thread %p on sx %p @ %s:%d", curthread, sx, file, line)); KASSERT(sx->sx_lock != SX_LOCK_DESTROYED, - ("sx_xlock() of destroyed sx @ %s:%d", file, line)); + ("sx_xlock() of destroyed sx %p @ %s:%d", sx, file, line)); WITNESS_CHECKORDER(&sx->lock_object, LOP_NEWORDER | LOP_EXCLUSIVE, file, line, NULL); tid = (uintptr_t)curthread; @@ -357,7 +358,7 @@ sx_try_xlock_int(struct sx *sx LOCK_FILE_LINE_ARG_DEF) ("sx_try_xlock() by idle thread %p on sx %p @ %s:%d", curthread, sx, file, line)); KASSERT(sx->sx_lock != SX_LOCK_DESTROYED, - ("sx_try_xlock() of destroyed sx @ %s:%d", file, line)); + ("sx_try_xlock() of destroyed sx %p @ %s:%d", sx, file, line)); rval = 1; recursed = false; @@ -401,7 +402,7 @@ _sx_xunlock(struct sx *sx, const char *file, int line) { KASSERT(sx->sx_lock != SX_LOCK_DESTROYED, - ("sx_xunlock() of destroyed sx @ %s:%d", file, line)); + ("sx_xunlock() of destroyed sx %p @ %s:%d", sx, file, line)); _sx_assert(sx, SA_XLOCKED, file, line); WITNESS_UNLOCK(&sx->lock_object, LOP_EXCLUSIVE, file, line); LOCK_LOG_LOCK("XUNLOCK", &sx->lock_object, 0, sx->sx_recurse, file, @@ -430,7 +431,7 @@ sx_try_upgrade_int(struct sx *sx LOCK_FILE_LINE_ARG_DEF) return (1); KASSERT(sx->sx_lock != SX_LOCK_DESTROYED, - ("sx_try_upgrade() of destroyed sx @ %s:%d", file, line)); + ("sx_try_upgrade() of destroyed sx %p @ %s:%d", sx, file, line)); _sx_assert(sx, SA_SLOCKED, file, line); /* @@ -479,7 +480,7 @@ sx_downgrade_int(struct sx *sx LOCK_FILE_LINE_ARG_DEF) return; KASSERT(sx->sx_lock != SX_LOCK_DESTROYED, - ("sx_downgrade() of destroyed sx @ %s:%d", file, line)); + ("sx_downgrade() of destroyed sx %p @ %s:%d", sx, file, line)); _sx_assert(sx, SA_XLOCKED | SA_NOTRECURSED, file, line); #ifndef INVARIANTS if (sx_recursed(sx)) @@ -1267,7 +1268,7 @@ _sx_slock_int(struct sx *sx, int opts LOCK_FILE_LINE_ARG_DEF) ("sx_slock() by idle thread %p on sx %p @ %s:%d", curthread, sx, file, line)); KASSERT(sx->sx_lock != SX_LOCK_DESTROYED, - ("sx_slock() of destroyed sx @ %s:%d", file, line)); + ("sx_slock() of destroyed sx %p @ %s:%d", sx, file, line)); WITNESS_CHECKORDER(&sx->lock_object, LOP_NEWORDER, file, line, NULL); error = 0; @@ -1369,7 +1370,7 @@ _sx_sunlock_int(struct sx *sx LOCK_FILE_LINE_ARG_DEF) uintptr_t x; KASSERT(sx->sx_lock != SX_LOCK_DESTROYED, - ("sx_sunlock() of destroyed sx @ %s:%d", file, line)); + ("sx_sunlock() of destroyed sx %p @ %s:%d", sx, file, line)); _sx_assert(sx, SA_SLOCKED, file, line); WITNESS_UNLOCK(&sx->lock_object, 0, file, line); LOCK_LOG_LOCK("SUNLOCK", &sx->lock_object, 0, 0, file, line); From nobody Thu Mar 13 17:02: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 4ZDDMP31zjz5qwll; Thu, 13 Mar 2025 17:02: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 4ZDDMP2Lq3z3hTs; Thu, 13 Mar 2025 17:02:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741885361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dZTGg5N78+PYZSmqG4TryfS74jllD+rUd0gu+/9+PBw=; b=tUEp4SwLUK4zz5XnPhVpPzfLViQK9WpJ7xKq3W1MSy3vQBTTz+wTXjyGYzWJn9yaEe68fE n+IUIo0T6W/0ZH66XHZ+xgmZ5lZSzmzXQU6KvjFkU9p/2kFizX+QjM8RmtzGl9Si/BS/nw 2X53vzyb2mmTSBrTlD7ZQn75PU+nzGOOa4jkMD06NlKoPRLhGqtGHPdlBI4lOWeGzfVFim xVX97qFg3uBjO5wTMUnDN/kgpxMmRM3jvRiQ02qLrWNhmWAGUofJp65799+9dOBZE7tNkV crz06OMAcJfW1EwPP/bP9g8Zi3py/Z1G4uqmYG7aVB0VQS98Brj5J1pmOQOZkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741885361; a=rsa-sha256; cv=none; b=hdECGKTmjqwX3ra/y1dGeDfFK5QtyNng2sbzbVPIyHUdtbBEOIpfhjn5A9bGf6HhUKP3bb ekGzV3LW+T6ONgjYB8vi0oc1LF0qoFsHUpDTrHORY4UlwfK0DFC6zRb4eMayP+hpfgMDrg QZOEnw0HuuOf2shDtPerSv/FOG20s0FCxSPTrZbGxaZpDOZ0YxWzVvrX9mLAd8H2H8Cy68 V7PkEyNoVOzTnZd3d61Tfyo6JJlGUEeMHr2I9dejljtoa8k0PD1CWv3tspETmZUQVuzFLA DvcwBcGVEnTpcyV95XKek0eaQc2TT50ES2IUiP4XtIerXvb589etTfv/ZU3Ftw== 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=1741885361; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dZTGg5N78+PYZSmqG4TryfS74jllD+rUd0gu+/9+PBw=; b=HWZNKjJLCXCUVenZUsmbiAvgyOXj9jM920IRlCUz6T4SxU3DE1qaH51jUdUHukFdCW5MKT m+Av+Ap3K/J3z6yX5M4jgNU7xW6arBMCRooPmInJRRseR47l2ATjZr92ZUCVvvh83ZFKq/ RE6wT4WcfYSY8uVYurQJqTPKVBbD6Ei05TSURNr+xkS9jaLpeAJDfx+bd64nBgyqsJF8oV ezF4Xsxr3xyTnGnjuHfa+55GpyVKpKS+8YCadEnaZrcpc76iwxTDHMLUk0iJ2ASAn9O7uQ 2dT/WJwDzGrTDNisGxJVAtK/CqMSwHBzFbmX6FvtVI6vgb61HTExJ+Qr/Jc54w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDDMP1lGwz16B3; Thu, 13 Mar 2025 17:02: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 52DH2fEF063224; Thu, 13 Mar 2025 17:02:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DH2f1i063221; Thu, 13 Mar 2025 17:02:41 GMT (envelope-from git) Date: Thu, 13 Mar 2025 17:02:41 GMT Message-Id: <202503131702.52DH2f1i063221@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: f402078d0956 - main - device_pager: Assert that the handle is not NULL 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: f402078d0956cfd6f6afcf998271e058c478e34a Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f402078d0956cfd6f6afcf998271e058c478e34a commit f402078d0956cfd6f6afcf998271e058c478e34a Author: John Baldwin AuthorDate: 2025-03-13 16:57:40 +0000 Commit: John Baldwin CommitDate: 2025-03-13 16:57:40 +0000 device_pager: Assert that the handle is not NULL Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49333 --- sys/vm/device_pager.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c index 0b3a2eb54d75..15626938ba95 100644 --- a/sys/vm/device_pager.c +++ b/sys/vm/device_pager.c @@ -138,6 +138,8 @@ cdev_pager_allocate(void *handle, enum obj_type tp, vm_object_t object; vm_pindex_t pindex; + KASSERT(handle != NULL, ("device pager with NULL handle")); + if (tp != OBJT_DEVICE && tp != OBJT_MGTDEVICE) return (NULL); KASSERT(tp == OBJT_MGTDEVICE || ops->cdev_pg_populate == NULL, From nobody Thu Mar 13 19:41: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 4ZDHv21H1Mz5r6n8; Thu, 13 Mar 2025 19:41:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDHv20QStz3xxS; Thu, 13 Mar 2025 19:41:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741894910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AFisMRCa+5RoG8JE2TRDv5PCwPjcm3zb4SqpFoetwzk=; b=aB1fxTEyczymOIRpEGbmwxNdwRe8g3hQP2m5sMhfF/IULfSfYln41QT3dBwH08UNaRNI+N 60nTZO5k6UcRgbVDWsMA7IPeed5AdwhH/LREWJ2UDhAl2l4MDmHSGlsCi27rm4crmuPy0M xy2rLhU/tZQJeozGP4F1lS+icyxqOZWxtFzN9X8IZdvp1IU7inml4goEYUkHy/3wCD40kt biGg+KvfnbO04UC5ERkgkGFVH9t0mG+9/N3vfqUoZ8PSFbGkrImw3l0uxbRXcpK8ej6MY4 rYg0l+8yrD9Sls173dxgeR4drOtp4LRAIuC734UlHTpyP3k1jObKSTKQmwvCtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741894910; a=rsa-sha256; cv=none; b=Nps31+vxtnSTKTaFk0vX4OUowRHAW44S0HsBVmfriGwQDv0KMhWvBnTCAlzUNSxi2w+wHe u8VSwq6gVWJKTLv6ZuhrIhMVLES+/bVuhIcGNvdTOmOFVmOM71eGkuzXtvCO3WQA2tUM4k oqqBFYaZGf/zt7Ayl7tdI/aPzx8B6wqztHiqKB9/ZKS8jC+lO8WuZBa/PyvcpVrX+/3ejJ RLw3CM4Jw34py1nA7qjN70BrSsrK1/2JTLNGkgABYB9ai/CkuAegfBPLF74JtQwB13dyqK Q9c+CsY0S7CROCDmFghOY5dtk160wUULGpAVrNAFO9pHQIV9tuLWtY32gbpajg== 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=1741894910; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AFisMRCa+5RoG8JE2TRDv5PCwPjcm3zb4SqpFoetwzk=; b=HvsHMQ67M7WUMVum0Rgmc2voL7sXtBINsz3zlL4TUED0oYlaIdG1DvD/UoiM57WnwoOLlh jbvtyppbkt8m1MDiTi9Z+y2lldNUoY6IChEVKA3n9Xcdz/0OCJrJIKaSXxPLmx0pOoqbr+ WyyARlIax+B98KBjzCxSikxAt7gzURZ2HfQZbb3iVATgXEnEASRElPFrzGe8b6io7lMXmj qpKiW9of1dZNhRHequycbW5ce+LH+Ps8hP44vXYcfqcN3T44S91jF5SfDU1JG2bAgPLoxp V/ckkgs1lUGwoFeT31tfA0GcjYdPbH2A1EVy7PFY3jcYuolb/oJDQ6ixmICMMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDHv201Vqz1BJX; Thu, 13 Mar 2025 19:41: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 52DJfnr8057011; Thu, 13 Mar 2025 19:41:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DJfnjs057008; Thu, 13 Mar 2025 19:41:49 GMT (envelope-from git) Date: Thu, 13 Mar 2025 19:41:49 GMT Message-Id: <202503131941.52DJfnjs057008@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: d6c34d14443a - main - rc.d/sendmail: remove a obsolete upgrade seatbelt 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: d6c34d14443a391f066a6b3331aa659baec692ff Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=d6c34d14443a391f066a6b3331aa659baec692ff commit d6c34d14443a391f066a6b3331aa659baec692ff Author: Brooks Davis AuthorDate: 2025-03-13 19:41:35 +0000 Commit: Brooks Davis CommitDate: 2025-03-13 19:41:35 +0000 rc.d/sendmail: remove a obsolete upgrade seatbelt This check was in place to aid the transition from sendmail pre-8.10. 8.10 was released in 2000. It's not possible to upgrade directly from such as system (Freebsd 3?) to FreeBSD 15 so we can drop this. Reviewed by: gshapiro, jhb Differential Revision: https://reviews.freebsd.org/D49308 --- libexec/rc/rc.d/sendmail | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/libexec/rc/rc.d/sendmail b/libexec/rc/rc.d/sendmail index fa82d44ecc35..a9d37f3f7d69 100755 --- a/libexec/rc/rc.d/sendmail +++ b/libexec/rc/rc.d/sendmail @@ -180,17 +180,6 @@ sendmail_cert_create() sendmail_precmd() { - # Die if there's pre-8.10 custom configuration file. This check is - # mandatory for smooth upgrade. See NetBSD PR 10100 for details. - # - if checkyesno ${rcvar} && [ -f "/etc/sendmail.cf" ]; then - if ! cmp -s "/etc/mail/sendmail.cf" "/etc/sendmail.cf"; then - warn \ - "${name} was not started; you have multiple copies of sendmail.cf." - return 1 - fi - fi - # check modifications on /etc/mail/aliases if checkyesno sendmail_rebuild_aliases; then if [ -f "/etc/mail/aliases.db" ]; then From nobody Thu Mar 13 21:52: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 4ZDLnK3GTvz5rFvs; Thu, 13 Mar 2025 21:52: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 4ZDLnK2jQcz3DMh; Thu, 13 Mar 2025 21:52:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741902725; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zkCRxxVdqdtrIrTeFi9yC1mmbY1vWlAN9HQydFyfzPw=; b=xhBJm7MGTEimBJujtHP5DrNf266dBXeNOrDxnQaIlwZwzkp8fvNrVpHVKYa2vJkHNkR61q MCzEKgzDP3wcnfOMskLZ1OAk6ZDQalgsMKQKuJtjBG2chNLSkwUx6++XuZGFd2Wd8I7uAv K6UuMI80icKhnAIjeFj2wsnPIGNC6uQ0wjHHy79lSHBsNoudu+/9E0yBvhv9X+0MqRMgN+ iLj5IMk1yS4bSBr8utICamAecV3hpurCDu079RwDuzmU5C7yRVo5W36lzuAfhjPCh6DKd5 0WQY4EW1N9LzM3nHW//yNTEafoCSI30HPLn0atzGjWMqhNZMTPFVz48B1VQWlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741902725; a=rsa-sha256; cv=none; b=OqpHbkFFehtiXr7zCMJ7QK3PXo+z0a+Qvj0egqweX3LXdrL/1RoTp2v6dLIP0TXkZzb+D7 Y0mugLBhEHRxMB16ut+Y4iNY4WGGU1KJJdZkIspR4dRimzPmfp2Wnshyp1awcqB6eDS6fc gLbsTiS10EdpUbza5YUppcFZGMgULOHRuhQ6KPnYeMT2PZBGi3aDmwRZM/Oc6SreMgBNvX XfVp6nR+JAUen1i6myIFr8VKyLdCEm7LK4Vd/ADVPpdLEH0rcAaX2Sg7ZOxNDIY6YpWuBb JAxnGXyAicUS/hQmobzMB9a/Xoh4/3+im20iODu2gPWuNTVBkO+DlhFaHXN19A== 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=1741902725; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zkCRxxVdqdtrIrTeFi9yC1mmbY1vWlAN9HQydFyfzPw=; b=r3hnrjMwj9bLaKc2uHfg8RkiBKO35FsmF9/k5h5hN/XlLl28sIJVhc3p7bx79ZcYkfh6NI PcrWTmMnYHTijDOdvbwxanHk+Pvvu4u7injMFe0SwFlpjKcXbHpWBg8e69WBig1WOWw29l HintFrsq3CyD09OPwMAb3HILKUeg2GasJJkFbJFmepx1XQBRjm9h9NPX1ncNCkITnw22o6 kfTX6qvXI8u8tOoJreVo4oklBDKGtUyif8k6m3t1pKjdCdd9iKeUcyb9Htw1ZE6pgCbSAp GHaPCRHgIDSaAXbsTecT8yU2ay6rFE5I+EGWL45zh8FK/evcrbUz2+d2RTkrvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDLnK26yVz1g5; Thu, 13 Mar 2025 21:52: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 52DLq5oB004675; Thu, 13 Mar 2025 21:52:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DLq5Nd004672; Thu, 13 Mar 2025 21:52:05 GMT (envelope-from git) Date: Thu, 13 Mar 2025 21:52:05 GMT Message-Id: <202503132152.52DLq5Nd004672@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: 68b6567d09dd - main - snd_hda: Patch Framework AMD 13th gen 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: 68b6567d09ddd29a16443ad709e2609a9902a190 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=68b6567d09ddd29a16443ad709e2609a9902a190 commit 68b6567d09ddd29a16443ad709e2609a9902a190 Author: Christos Margiolis AuthorDate: 2025-03-13 21:50:30 +0000 Commit: Christos Margiolis CommitDate: 2025-03-13 21:51:45 +0000 snd_hda: Patch Framework AMD 13th gen Redirect sound to headphone jack when plugged in. Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D49346 --- sys/dev/sound/pci/hda/hdaa_patches.c | 7 +++++++ sys/dev/sound/pci/hda/hdac.h | 1 + 2 files changed, 8 insertions(+) diff --git a/sys/dev/sound/pci/hda/hdaa_patches.c b/sys/dev/sound/pci/hda/hdaa_patches.c index 3c063deb0822..8ad1c845c254 100644 --- a/sys/dev/sound/pci/hda/hdaa_patches.c +++ b/sys/dev/sound/pci/hda/hdaa_patches.c @@ -340,6 +340,13 @@ hdac_pin_patch(struct hdaa_widget *w) patch_str = "as=3 seq=15 color=Black loc=Left"; break; } + } else if (id == HDA_CODEC_ALC295 && + subid == FRAMEWORK_LAPTOP_0006_SUBVENDOR) { + switch (nid) { + case 33: + patch_str = "as=1 seq=15 color=Black loc=Left"; + break; + } } else if (id == HDA_CODEC_ALC230 && subid == LENOVO_IDEAPAD330_SUBVENDOR) { switch (nid) { diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h index 40b697b05e78..72da5a4a44ac 100644 --- a/sys/dev/sound/pci/hda/hdac.h +++ b/sys/dev/sound/pci/hda/hdac.h @@ -529,6 +529,7 @@ #define FRAMEWORK_LAPTOP_0001_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0001) #define FRAMEWORK_LAPTOP_0002_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0002) #define FRAMEWORK_LAPTOP_0003_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0003) +#define FRAMEWORK_LAPTOP_0006_SUBVENDOR HDA_MODEL_CONSTRUCT(FRAMEWORK, 0x0006) /* All codecs you can eat... */ #define HDA_CODEC_CONSTRUCT(vendor, id) \ From nobody Thu Mar 13 23:18: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 4ZDNjH05Vnz5rLy4; Thu, 13 Mar 2025 23:18:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDNjG6Wjnz3M0v; Thu, 13 Mar 2025 23:18:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741907922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xk8HWsndE8ifUdGEbnJe7X4L+Vkv/RU2pEzPOUTmMNA=; b=LQe3B4SB00prhFAFjOtKfu8LBQ49e3717RYItgcBHXPb/XdM2VdGYc8HWdUuRvDZpiPUqB o921x9OpWNLBNtUt3YVgHGfHsxSIYRZDXDZJF4mag07TwMC1CI/uWSqRPsCG8aOc/0NJ9e zb/XVdjC8KbhuYTOOBobZw417xVWpc+wbi6f4iTpGnI7sPo6Q/V5Xp0jLsXJwpWjAaUqp2 CnPIs4UnxYSE9oeHbtdCEu7QGDvLsm8bzuO8HIQsDIGLAST2xBH1GFYnBK+JV4awgDvn/I Mrc/HZWGLRZzUFvOG6HNXxG14iLrMuJKFTnnk6tcDtRUhTTlir9na/AKUkS3ig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741907922; a=rsa-sha256; cv=none; b=gBZS0GQHeEoU2Yffyzt+bcO4cmo1aEgTzzB7X6870Nh7yu6PwnJJH/LPBLNZobcKXpSvEf fVmhulQ1ipimOY1h9HxQV87sWszjToVMcGRzNbaPuU/H9FD6WuTxUmBtP1aKA955qxCWiM blqenKYvUaucLwLg28Wz15tBBjJnlQ+PKeCjg5gQnjaxtFNOtV/EvNsrXvQWZhP1xDt9gP l5CgG4xqd2ZU8U+MmyjFAiNM6M/QWdi2nCV2LCo8MMdRGdYeBvhcbDwoRHQ1m492gIXlar p8J21hipiW4w91wt/p9YuVJP488fLOV8wvv6DVJ2N78bC8nqJ2160GdpdV8xxg== 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=1741907922; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xk8HWsndE8ifUdGEbnJe7X4L+Vkv/RU2pEzPOUTmMNA=; b=w9bT3rzvBeLST/p77sU4mXPJvgMWAfma5G5V6ReWNeyqu4Fl4a22slKBDYQPyEhAyJfYKV tT2NTDArU7cueF1wZYRHSMkxiWxF4IhP9SGaLEjdwFBY/9uj+DQPyuDtYfGTC64P50imUN ItYKt44E8DlFlEa0ZhkPBlzHzTYlwh/ePfvcAa+o9m8Jxji3TcJ063O4vrCjtYNBBRYb9K WZeG6Q+az3EDuevxY/6IppyfHPX0/kUirIZzyqQNHaKC9vzSFAhaa33S2GvQHRMBnDZ1a6 raa0nRpVMwhwv1PKYwhXQdHsXJhtgEsNaZkwZoeC81DE4aqrfv2KRnpejftHqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDNjG64xpz3k9; Thu, 13 Mar 2025 23:18: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 52DNIgKg057851; Thu, 13 Mar 2025 23:18:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DNIgBJ057848; Thu, 13 Mar 2025 23:18:42 GMT (envelope-from git) Date: Thu, 13 Mar 2025 23:18:42 GMT Message-Id: <202503132318.52DNIgBJ057848@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: 732c16884215 - main - ObsoleteFiles: Remove if_rtwn.4 removal 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: 732c16884215c0117d5ee3df79ca79c21ad07e19 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=732c16884215c0117d5ee3df79ca79c21ad07e19 commit 732c16884215c0117d5ee3df79ca79c21ad07e19 Author: Alexander Ziaee AuthorDate: 2025-03-12 03:37:40 +0000 Commit: Alexander Ziaee CommitDate: 2025-03-13 23:18:11 +0000 ObsoleteFiles: Remove if_rtwn.4 removal if_rtwn.4 was previously removed, but actually it is correct because the interfaces is called rtwn. Fixes: 4262dbc579823 MFC after: 3 days Reported by: bz Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D49323 --- ObsoleteFiles.inc | 2 -- 1 file changed, 2 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 7b15e3595951..f56ad74294f9 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -12473,8 +12473,6 @@ OLD_FILES+=usr/bin/llvm-pdbdump OLD_FILES+=usr/share/man/man2/pdwait4.2.gz # 20170610: chown-f_test replaced by chown_test OLD_FILES+=usr/tests/usr.sbin/chown/chown-f_test -# 20170609: drop obsolete manpage link (if_rtwn.ko -> rtwn.ko) -OLD_FILES+=usr/share/man/man4/if_rtwn.4.gz # 20170531: removal of groff OLD_FILES+=usr/bin/addftinfo OLD_FILES+=usr/bin/afmtodit From nobody Thu Mar 13 23:21: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 4ZDNmG2zYVz5rLw7; Thu, 13 Mar 2025 23:21: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDNmG0nLPz3MYx; Thu, 13 Mar 2025 23:21:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741908078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Au0sAqWexdpy3BUVB8cIXIobEgNTU4d5onWj8HBSZno=; b=Wx0XZpU8kaYxM27f+XJz6QQVBRjMjPwATIFJOY0b/gDtQgghVuZ8TUxurBrp2Olej45joT tCApXzq8/ZxttsdCt9q6X4jdjx/6PDT6ppmuTqO/1rXj7TL2RFL/W8asApz3g6JxjupQTP i0kL8pDf/W0/Y+17fVECaw3wQ/QByI1vI38omPnt8sKICagK+R4rYUcxo8G9AntPPM0BAb GwAzriIDUAjd0EKuCes1es5EXe+qU4Xvn/xHLQZK5ftsqMvVrht7MlmpBQx+B8Et3nxrA+ Pk2+y+xW887UAkg4kxB2ZVaTQhXZma1XOG7sUxyAqlIPWQdrAkv30yV8yQqNDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741908078; a=rsa-sha256; cv=none; b=jvvs0S8rSSFq8sGv3Djl1VHlUMGFpDQoN7dOY0Tjtnw7DZ82FZxeVrpgvg5zFbYh/r0WdH ozvRAczfXUraOsgSpFEtQ1Q2NTm2fcqaNUcJY/FpxbJW1ObSZgfJtbgTwIrn7d43c+AxX+ //jwSonkhx9j0GdG/tNoWUC/XPqgPGWVX3oBoHHwoGFhyAdzjVcZE9Z6IZrXdhJUHfwUbD gagdw4KyMDCrDQVHjTJitZgrbKzOXl/JSlyL3yNtbvU1VZBqGV1KlJTgmuxsb/HsZ3eEN5 Kaj8LX2u61Ywawedb2Up0xMNDhIKSNJN+42ieP+Lmb2DwmdV17HOgYS9NGuFEQ== 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=1741908078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Au0sAqWexdpy3BUVB8cIXIobEgNTU4d5onWj8HBSZno=; b=tOpA43WLQ3afdRyA96Roe3RcTefngu7XosDKjZFt2S6UkjuQYGKEcKtFD1gMdxHeAT+GxO W+RvKXE1xhoQpX59aafeOzggE+kuunHSd3jZi/b1xNbg1TNIqa268txB2G9HKKIze1Y5X8 rBvC84NpxEe1pbuEuoEFxxcI5DArdBLjeNhJBtFihqcp429ZA+nglUR6ntMTPakNRUhKj9 p/cEODVa8Ip6yoHhkkEuaWtq7xjAIRZCjHCoT6JpNNm/iSfP5+Nj9qd9CNqGJvgE5Kbidh xZ053NBt3pDiiQ/Law3WUIpWk03K/OJtTA6VCbGvnKOGGJ6ut/Uzc581DKqZ5A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDNmG0JTGz413; Thu, 13 Mar 2025 23:21: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 52DNLHPQ070438; Thu, 13 Mar 2025 23:21:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52DNLHVZ070435; Thu, 13 Mar 2025 23:21:17 GMT (envelope-from git) Date: Thu, 13 Mar 2025 23:21:17 GMT Message-Id: <202503132321.52DNLHVZ070435@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: f7856fe81df2 - main - g_dev_orphan(): Return early if the device is already gone 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: f7856fe81df2df3c4355e674d34a4c15a095a33c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f7856fe81df2df3c4355e674d34a4c15a095a33c commit f7856fe81df2df3c4355e674d34a4c15a095a33c Author: Fabian Keil AuthorDate: 2025-03-13 23:13:46 +0000 Commit: Warner Losh CommitDate: 2025-03-13 23:20:00 +0000 g_dev_orphan(): Return early if the device is already gone The following panic was the result of running "cdcontrol eject" after using the physical ejection key on the device before the tray was actually ejected. So we have hardware racing software. The device was loaded with a DVD. Resulted in a NULL pointer dereference g_dev_orphan() at g_dev_orphan+0x2e/frame 0xfffffe01eba0a9f0 g_resize_provider_event() at g_resize_provider_event+0x71/frame 0xfffffe01eba0aa20 g_run_events() at g_run_events+0x20e/frame 0xfffffe01eba0aa70 fork_exit() at fork_exit+0x85/frame 0xfffffe01eba0aab0 fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe01eba0aab0 Avoid this possibility and return early of dev is NULL already. PR: 215856 Reviewed by: imp (I've triggered this once or twice over the years too) Sponsored by: Netflix --- sys/geom/geom_dev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c index 8607f476db20..d340beb79bd6 100644 --- a/sys/geom/geom_dev.c +++ b/sys/geom/geom_dev.c @@ -853,6 +853,9 @@ g_dev_orphan(struct g_consumer *cp) dev = sc->sc_dev; g_trace(G_T_TOPOLOGY, "g_dev_orphan(%p(%s))", cp, cp->geom->name); + if (dev == NULL) + return; + /* Reset any dump-area set on this device */ if (dev->si_flags & SI_DUMPDEV) { struct diocskerneldump_arg kda; From nobody Fri Mar 14 05:51: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 4ZDYQw47Y7z5qZq0; Fri, 14 Mar 2025 05:51:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDYQw3bCnz3Hn9; Fri, 14 Mar 2025 05:51:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741931512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0YZjlSvLo24Su3saY/VjHsPDvwQoliysCuKtRIeumuE=; b=jr7/hSuMXCVtkGKJcyr3Pq7EBWhk38FXO1Z/MPp9dEfB3fgSjw1Cm9R6tDs0ohRdfuEaRg SLQcKA+TXSXLjrs+3CKzlYFnsiRK6Ondu5pTZaAMgTzPd4mhonmPbsVbEwszKeX0N9G+lW UHYPnROgbUZ4SOqKmCRbhbFi3BmswdcyEcyq/9nXiUUDM+/71acWdy2r2PYHeEmzw4/8Yn FVleEJUxt/1nWdePmntLju3adLavbea7cl3zsGaCAXz2YiwJOaICQRAJQ+d8Tft3JDhWj7 eeO+F3Kf8wWPtLyCoiW5P47YcaCVLXvjNcL0Xp6LBtWprAUpTMtTVKmPfDbe1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741931512; a=rsa-sha256; cv=none; b=BvNHmvjVSdGrcJ5rSb9FAdvTvJTLUXx1SxNZ/yoYr2fuGXdHaLM2MPsEnQ6tTz4hxoqo/V eL11KyoDjnHytx29lxzTkKz4hUs5Y3geqOTl7sbAScseE5cGsrUua/OqjY9jFDVNT7hw19 D5Z6ezVJEf45XDFFGkYe+C/PvDy8sAolZVQ6oXCGMEuZmIUd+zEAWYDTRIoZodXYPZfctk A6g58xBnBTEEnlh+zUt7g7i2Hoebo+EglqlZ0prEsMsoRMrnr+EhT/lGkKMlajYaAEvfXt VzoPVtIR/VVHtVZhyVMfmpzM2ibpPAjCXX3Y7LrHJrjs+SlzZo3TnanmH3dkhw== 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=1741931512; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0YZjlSvLo24Su3saY/VjHsPDvwQoliysCuKtRIeumuE=; b=ve++VKRT6YHUZZw5+4iWaaMXtcVf3EzHftkYnc+y1TSY9tQ2eUAnC8lAVkDlGG97xMoTRx YXIw4QflAwmjF9CYxNXS/aBXAECvt5DH4J/XaJwCdhz7xVGlUrmbLswuUA5qovkFst7mZA KJrHpLa1y06K+/bPk6jBtkKctrR5g7tY0W16q04H/VJlEfADEhh7hwbActS4dAEAEmvc1E FEvfc8qON8PkSnHaIo/8jG5Jvq9IofQdkvsy0NTEm4IRDH4V9EySBRy008PCMJTZeiunhe 7xgOL3pyTYaBiaJh2OB5l55DVPoqgDgaHj6LACTBdEHHkY4askseeW/So6zVew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDYQw32Z6zXNn; Fri, 14 Mar 2025 05:51: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 52E5pquY003249; Fri, 14 Mar 2025 05:51:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52E5pqTW003246; Fri, 14 Mar 2025 05:51:52 GMT (envelope-from git) Date: Fri, 14 Mar 2025 05:51:52 GMT Message-Id: <202503140551.52E5pqTW003246@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Wei Hu Subject: git: 47f4137e44b8 - main - mana: remove redundant doorbell in mana_poll_rx_cq() 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: whu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 47f4137e44b8079c7784604d220a298db07a19a1 Auto-Submitted: auto-generated The branch main has been updated by whu: URL: https://cgit.FreeBSD.org/src/commit/?id=47f4137e44b8079c7784604d220a298db07a19a1 commit 47f4137e44b8079c7784604d220a298db07a19a1 Author: Wei Hu AuthorDate: 2025-03-14 05:26:45 +0000 Commit: Wei Hu CommitDate: 2025-03-14 05:51:34 +0000 mana: remove redundant doorbell in mana_poll_rx_cq() With the last commit to refill the rx mbuf in batch, the doorbell in mana_poll_rx_cq() becomes redundant. Remove it to save a few microseconds spent in mmio call. Reported by: NetApp Reviewed by: Tallamraju, Sai Tested by: whu Fixes: 9b8701b8 ("mana: refill the rx mbuf in batch") MFC after: 3 days Sponsored by: Microsoft --- sys/dev/mana/mana_en.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sys/dev/mana/mana_en.c b/sys/dev/mana/mana_en.c index 94cca4fa50c7..949b498ceadc 100644 --- a/sys/dev/mana/mana_en.c +++ b/sys/dev/mana/mana_en.c @@ -1890,13 +1890,6 @@ mana_poll_rx_cq(struct mana_cq *cq) mana_process_rx_cqe(cq->rxq, cq, &comp[i]); } - if (comp_read > 0) { - struct gdma_context *gc = - cq->rxq->gdma_rq->gdma_dev->gdma_context; - - mana_gd_wq_ring_doorbell(gc, cq->rxq->gdma_rq); - } - tcp_lro_flush_all(&cq->rxq->lro); } From nobody Fri Mar 14 06:43: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 4ZDZZG1bltz5qflp; Fri, 14 Mar 2025 06:43: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDZZG1Ghtz3ftK; Fri, 14 Mar 2025 06:43:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741934598; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0HHL5fH0+QiZ8uucIVQbbI/8xJMnpz++tqBp2KHH2Y8=; b=pTbQD1uZ4mHHbq4R0BmYtPIFfMX6jKGm4Y36Wcufj7yP0bMn1qyf5sgufMKAlJPnrH2ZKr LwDZHaK6DIt2Qzqv9eDEn1V5XuGGsa33KMqiA2edhvCLI6js9VAIt/y3FS8UOKcRFRu14q uacdFrQKkSpleSb2kZSHK4CqP+v5WZi1/JbCDCrNBe12fh7Cgm5D37pmjdSQcuYhIvIc09 CVnhtSh8qT/jS7p95hOO08H4xKSFYnIAjG8tul2VPDqt3mMVrKVR4D/HRh5OW+KKXkUROr UjChHeImGPm3uoucGvy445dRS3bKvLpad1RfmgacPtoIrMppZFfC0FWM4cb+6Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741934598; a=rsa-sha256; cv=none; b=rCTsizcZ+hj2gkCuQFI1udHv0aYmiQGwjgffHUWKtU8+lNoqBterKeuSPRpb+/6QQPwlfZ tO02hzETHoF1A+m2YKmS8xj7zSULOiV238gDDgeQD58+dNYr6wd4EDKvoePHS1u9Zn014G uoDFQEbtowXwMMDlZ5h9UYi//KxkQvUUMTHSA3d6fAYfkBJ6MfznuohZfBjjsX4Ve21099 /1xfmm6gfSk2uxrOKh3XaTR0NS7FS2JV1gS+mEaTdH6dAwOA0XfEFlR/rOmxN3ZfXLZ2sq eAu5VYU2+Jut5rC10YOAF5FWpYkItLiIsdGFJmp7a6zJtT43aJXDWoNJ7QS5Bw== 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=1741934598; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0HHL5fH0+QiZ8uucIVQbbI/8xJMnpz++tqBp2KHH2Y8=; b=bQEzq/JezSx07T8o4Ihf8euwUUsDJwXbXuKlIB/IZc1myXLiivu9QmoE2Jl0Extx+Er3H6 89Wi5RqD2ymmABphIkKBCTG+xxSouRLCzRNmqpD4lAPXtvdhcaLxkTzR0A8GZPQiUKy3GF p40NI8Zi+2mvbOuCi9j5ZEbB495myNOQVdDt8IlSp+6Q0YWh7YEVuJSjtyHL5JyD+N+I8X 94NXnGNNXbhGokdLG5lL9tM9cyFMDx/NmoH+W5Ql7aOgp5Pu0vhBtmTpSxQ4OCr0kmM6Yd 7ogcyA05d9yHpltt1wufZ8cTyTXUr3Hb82lb4P1aIFmP8bO2Ms1b2BEJOVM8ug== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDZZG0q1SzZVy; Fri, 14 Mar 2025 06:43: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 52E6hIuI098745; Fri, 14 Mar 2025 06:43:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52E6hDN0098725; Fri, 14 Mar 2025 06:43:13 GMT (envelope-from git) Date: Fri, 14 Mar 2025 06:43:13 GMT Message-Id: <202503140643.52E6hDN0098725@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: 0d0c8621fd18 - main - openssl: Import OpenSSL 3.0.16 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: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d0c8621fd181e507f0fb50ffcca606faf66a8c2 Auto-Submitted: auto-generated The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=0d0c8621fd181e507f0fb50ffcca606faf66a8c2 commit 0d0c8621fd181e507f0fb50ffcca606faf66a8c2 Merge: 47f4137e44b8 1c34280346af Author: Enji Cooper AuthorDate: 2025-03-14 06:40:59 +0000 Commit: Enji Cooper CommitDate: 2025-03-14 06:40:59 +0000 openssl: Import OpenSSL 3.0.16 This release incorporates the following bug fixes and mitigations: - [CVE-2024-13176](https://www.openssl.org/news/vulnerabilities.html#CVE-2024-13176 - [CVE-2024-9143](https://www.openssl.org/news/vulnerabilities.html#CVE-2024-9143) Release notes can be found at: https://openssl-library.org/news/openssl-3.0-notes/index.html MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D49296 crypto/openssl/CHANGES.md | 33 ++ crypto/openssl/Configurations/unix-Makefile.tmpl | 2 +- crypto/openssl/NEWS.md | 16 + crypto/openssl/NOTES-NONSTOP.md | 7 +- crypto/openssl/README.md | 28 +- crypto/openssl/VERSION.dat | 4 +- crypto/openssl/apps/asn1parse.c | 5 +- crypto/openssl/apps/cms.c | 39 ++- crypto/openssl/apps/engine.c | 8 +- crypto/openssl/apps/lib/http_server.c | 7 +- crypto/openssl/apps/lib/s_cb.c | 24 +- crypto/openssl/apps/lib/s_socket.c | 13 +- crypto/openssl/apps/lib/vms_term_sock.c | 10 +- crypto/openssl/apps/passwd.c | 3 +- crypto/openssl/apps/pkcs12.c | 5 +- crypto/openssl/apps/pkeyutl.c | 5 +- crypto/openssl/apps/rehash.c | 5 + crypto/openssl/apps/smime.c | 20 +- crypto/openssl/apps/speed.c | 373 ++++++++++++++++----- crypto/openssl/configdata.pm.in | 4 +- crypto/openssl/crypto/asn1/a_bitstr.c | 41 ++- crypto/openssl/crypto/asn1/a_strnid.c | 10 +- crypto/openssl/crypto/asn1/a_time.c | 57 ++-- crypto/openssl/crypto/asn1/asn1_gen.c | 5 +- crypto/openssl/crypto/asn1/asn_mime.c | 2 + crypto/openssl/crypto/bio/bio_addr.c | 9 +- crypto/openssl/crypto/bio/bio_sock.c | 4 +- crypto/openssl/crypto/bio/bss_log.c | 2 +- crypto/openssl/crypto/bn/asm/armv8-mont.pl | 4 +- crypto/openssl/crypto/bn/bn_exp.c | 23 +- crypto/openssl/crypto/bn/bn_gf2m.c | 28 +- crypto/openssl/crypto/bn/rsaz_exp_x2.c | 8 +- crypto/openssl/crypto/cmp/cmp_client.c | 5 +- crypto/openssl/crypto/cms/cms_asn1.c | 19 +- crypto/openssl/crypto/cms/cms_dh.c | 2 +- crypto/openssl/crypto/cms/cms_env.c | 9 - crypto/openssl/crypto/cms/cms_err.c | 102 +++--- crypto/openssl/crypto/cms/cms_kari.c | 9 +- crypto/openssl/crypto/cms/cms_lib.c | 15 +- crypto/openssl/crypto/cms/cms_local.h | 2 +- crypto/openssl/crypto/cms/cms_rsa.c | 5 +- crypto/openssl/crypto/cms/cms_sd.c | 20 +- crypto/openssl/crypto/cms/cms_smime.c | 3 +- crypto/openssl/crypto/core_fetch.c | 5 +- crypto/openssl/crypto/dso/dso_dl.c | 13 +- crypto/openssl/crypto/dso/dso_dlfcn.c | 9 +- crypto/openssl/crypto/dso/dso_win32.c | 16 +- crypto/openssl/crypto/ec/ec_asn1.c | 2 +- crypto/openssl/crypto/ec/ec_backend.c | 8 +- crypto/openssl/crypto/ec/ec_lib.c | 9 +- crypto/openssl/crypto/ec/ec_oct.c | 4 + crypto/openssl/crypto/encode_decode/encoder_pkey.c | 6 +- crypto/openssl/crypto/err/openssl.txt | 4 +- crypto/openssl/crypto/evp/ctrl_params_translate.c | 12 +- crypto/openssl/crypto/evp/m_sigver.c | 12 +- crypto/openssl/crypto/http/http_client.c | 19 +- crypto/openssl/crypto/http/http_lib.c | 22 +- crypto/openssl/crypto/pem/pem_pk8.c | 4 +- crypto/openssl/crypto/pkcs12/p12_crt.c | 6 +- crypto/openssl/crypto/pkcs7/pk7_doit.c | 6 +- crypto/openssl/crypto/pkcs7/pk7_lib.c | 5 + crypto/openssl/crypto/sm2/sm2_sign.c | 10 +- crypto/openssl/crypto/srp/srp_vfy.c | 2 + crypto/openssl/crypto/threads_win.c | 3 +- crypto/openssl/crypto/trace.c | 2 +- crypto/openssl/crypto/ui/ui_util.c | 12 +- crypto/openssl/crypto/x509/v3_admis.c | 34 +- crypto/openssl/crypto/x509/v3_san.c | 3 +- crypto/openssl/crypto/x509/x509_cmp.c | 4 +- crypto/openssl/crypto/x509/x_all.c | 4 +- crypto/openssl/demos/cipher/aesccm.c | 2 +- crypto/openssl/doc/man1/openssl-ca.pod.in | 2 +- crypto/openssl/doc/man1/openssl-cmp.pod.in | 11 +- crypto/openssl/doc/man1/openssl-cms.pod.in | 9 +- crypto/openssl/doc/man1/openssl-fipsinstall.pod.in | 4 + crypto/openssl/doc/man1/openssl-ocsp.pod.in | 30 +- crypto/openssl/doc/man1/openssl-pkeyutl.pod.in | 77 +++-- crypto/openssl/doc/man1/openssl-req.pod.in | 4 +- crypto/openssl/doc/man1/openssl-s_client.pod.in | 77 ++++- crypto/openssl/doc/man1/openssl-s_server.pod.in | 11 +- crypto/openssl/doc/man1/openssl-s_time.pod.in | 1 + crypto/openssl/doc/man1/openssl-smime.pod.in | 4 +- crypto/openssl/doc/man1/openssl-ts.pod.in | 2 + .../doc/man1/openssl-verification-options.pod | 194 ++++++----- crypto/openssl/doc/man1/openssl.pod | 107 +----- crypto/openssl/doc/man3/ASN1_TIME_set.pod | 10 +- crypto/openssl/doc/man3/ASN1_aux_cb.pod | 6 +- crypto/openssl/doc/man3/BIO_s_accept.pod | 6 +- crypto/openssl/doc/man3/BIO_s_connect.pod | 2 +- crypto/openssl/doc/man3/ECDSA_sign.pod | 4 +- crypto/openssl/doc/man3/EVP_EncryptInit.pod | 16 +- crypto/openssl/doc/man3/EVP_PKEY_decapsulate.pod | 9 +- crypto/openssl/doc/man3/EVP_PKEY_encapsulate.pod | 7 +- crypto/openssl/doc/man3/OSSL_CMP_CTX_new.pod | 6 +- crypto/openssl/doc/man3/OSSL_CMP_validate_msg.pod | 4 +- crypto/openssl/doc/man3/OSSL_HTTP_parse_url.pod | 11 +- crypto/openssl/doc/man3/OSSL_HTTP_transfer.pod | 6 +- crypto/openssl/doc/man3/OSSL_PARAM.pod | 2 +- crypto/openssl/doc/man3/OSSL_trace_enabled.pod | 8 +- crypto/openssl/doc/man3/SSL_CTX_new.pod | 10 +- crypto/openssl/doc/man3/SSL_get_shared_sigalgs.pod | 2 +- crypto/openssl/doc/man3/SSL_set_bio.pod | 9 + crypto/openssl/doc/man3/X509V3_set_ctx.pod | 5 +- crypto/openssl/doc/man3/X509_STORE_CTX_new.pod | 19 +- crypto/openssl/doc/man3/X509_add_cert.pod | 3 +- crypto/openssl/doc/man3/X509_load_http.pod | 3 + crypto/openssl/doc/man7/EVP_KDF-HKDF.pod | 2 + crypto/openssl/doc/man7/EVP_KDF-KB.pod | 2 + crypto/openssl/doc/man7/EVP_KDF-PBKDF2.pod | 2 + crypto/openssl/doc/man7/EVP_KDF-SS.pod | 2 + crypto/openssl/doc/man7/EVP_KDF-SSHKDF.pod | 2 + crypto/openssl/doc/man7/EVP_KDF-TLS13_KDF.pod | 2 + crypto/openssl/doc/man7/EVP_KDF-TLS1_PRF.pod | 2 + crypto/openssl/doc/man7/EVP_KDF-X942-ASN1.pod | 2 + crypto/openssl/doc/man7/EVP_KDF-X963.pod | 2 + crypto/openssl/doc/man7/EVP_SIGNATURE-DSA.pod | 4 +- crypto/openssl/doc/man7/openssl-env.pod | 93 +++++ crypto/openssl/doc/man7/provider.pod | 12 + crypto/openssl/engines/e_afalg.c | 4 +- crypto/openssl/engines/e_loader_attic.c | 2 +- crypto/openssl/include/crypto/bn.h | 5 +- crypto/openssl/include/crypto/cmserr.h | 2 +- crypto/openssl/include/openssl/cmserr.h | 3 +- crypto/openssl/include/openssl/http.h | 5 +- crypto/openssl/providers/fips-sources.checksums | 254 +++++++------- crypto/openssl/providers/fips.checksum | 2 +- .../implementations/ciphers/cipher_aes_ocb.c | 12 +- .../encode_decode/encode_key2text.c | 3 +- .../openssl/providers/implementations/kdfs/hkdf.c | 2 +- .../providers/implementations/kdfs/scrypt.c | 5 +- .../providers/implementations/kem/rsa_kem.c | 54 ++- .../providers/implementations/keymgmt/dsa_kmgmt.c | 2 +- .../providers/implementations/keymgmt/ecx_kmgmt.c | 2 +- .../implementations/keymgmt/mac_legacy_kmgmt.c | 6 +- .../implementations/signature/eddsa_sig.c | 3 +- .../implementations/storemgmt/file_store.c | 2 +- crypto/openssl/ssl/statem/extensions_srvr.c | 2 +- crypto/openssl/ssl/statem/statem_srvr.c | 6 +- crypto/openssl/test/acvp_test.c | 2 +- crypto/openssl/test/build.info | 6 +- crypto/openssl/test/cmactest.c | 8 +- crypto/openssl/test/conf_include_test.c | 2 +- crypto/openssl/test/drbgtest.c | 2 +- crypto/openssl/test/ec_internal_test.c | 51 +++ crypto/openssl/test/enginetest.c | 4 +- crypto/openssl/test/evp_kdf_test.c | 28 +- crypto/openssl/test/evp_libctx_test.c | 126 ++++--- crypto/openssl/test/hmactest.c | 12 +- crypto/openssl/test/memleaktest.c | 4 +- crypto/openssl/test/p_test.c | 34 +- crypto/openssl/test/pkcs12_format_test.c | 9 +- crypto/openssl/test/property_test.c | 41 ++- crypto/openssl/test/recipes/03-test_fipsinstall.t | 4 + .../openssl/test/recipes/04-test_encoder_decoder.t | 29 +- crypto/openssl/test/recipes/25-test_verify.t | 8 +- .../recipes/30-test_evp_data/evpkdf_tls13_kdf.txt | 10 + crypto/openssl/test/recipes/80-test_cmp_http.t | 4 +- .../80-test_cmp_http_data/test_connection.csv | 4 +- crypto/openssl/test/recipes/80-test_cms.t | 81 ++++- crypto/openssl/test/sslapitest.c | 5 +- crypto/openssl/test/testutil/tests.c | 3 +- crypto/openssl/test/threadstest.c | 2 +- crypto/openssl/util/check-format-commit.sh | 193 ++++++----- crypto/openssl/util/check-format.pl | 14 +- crypto/openssl/util/mkbuildinf.pl | 12 +- crypto/openssl/util/perl/OpenSSL/Template.pm | 9 + 166 files changed, 2042 insertions(+), 1082 deletions(-) diff --cc crypto/openssl/README.md index 5184a461bb17,000000000000..477f5cbb7d12 mode 100644,000000..100644 --- a/crypto/openssl/README.md +++ b/crypto/openssl/README.md @@@ -1,224 -1,0 +1,212 @@@ +Welcome to the OpenSSL Project +============================== + +[![openssl logo]][www.openssl.org] + +[![github actions ci badge]][github actions ci] +[![appveyor badge]][appveyor jobs] + +OpenSSL is a robust, commercial-grade, full-featured Open Source Toolkit +for the Transport Layer Security (TLS) protocol formerly known as the +Secure Sockets Layer (SSL) protocol. The protocol implementation is based +on a full-strength general purpose cryptographic library, which can also +be used stand-alone. + +OpenSSL is descended from the SSLeay library developed by Eric A. Young +and Tim J. Hudson. + +The official Home Page of the OpenSSL Project is [www.openssl.org]. + +Table of Contents +================= + + - [Overview](#overview) + - [Download](#download) + - [Build and Install](#build-and-install) + - [Documentation](#documentation) + - [License](#license) + - [Support](#support) + - [Contributing](#contributing) + - [Legalities](#legalities) + +Overview +======== + +The OpenSSL toolkit includes: + +- **libssl** + an implementation of all TLS protocol versions up to TLSv1.3 ([RFC 8446]). + +- **libcrypto** + a full-strength general purpose cryptographic library. It constitutes the + basis of the TLS implementation, but can also be used independently. + +- **openssl** + the OpenSSL command line tool, a swiss army knife for cryptographic tasks, + testing and analyzing. It can be used for + - creation of key parameters + - creation of X.509 certificates, CSRs and CRLs + - calculation of message digests + - encryption and decryption + - SSL/TLS client and server tests + - handling of S/MIME signed or encrypted mail + - and more... + +Download +======== + +For Production Use +------------------ + +Source code tarballs of the official releases can be downloaded from - [www.openssl.org/source](https://www.openssl.org/source). ++[openssl-library.org/source/](https://openssl-library.org/source/). +The OpenSSL project does not distribute the toolkit in binary form. + +However, for a large variety of operating systems precompiled versions +of the OpenSSL toolkit are available. In particular on Linux and other +Unix operating systems it is normally recommended to link against the +precompiled shared libraries provided by the distributor or vendor. + +For Testing and Development +--------------------------- + +Although testing and development could in theory also be done using +the source tarballs, having a local copy of the git repository with +the entire project history gives you much more insight into the +code base. + - The official OpenSSL Git Repository is located at [git.openssl.org]. - There is a GitHub mirror of the repository at [github.com/openssl/openssl], ++The main OpenSSL Git repository is private. ++There is a public GitHub mirror of it at [github.com/openssl/openssl], +which is updated automatically from the former on every commit. + - A local copy of the Git Repository can be obtained by cloning it from - the original OpenSSL repository using - - git clone git://git.openssl.org/openssl.git - - or from the GitHub mirror using ++A local copy of the Git repository can be obtained by cloning it from ++the GitHub mirror using + + git clone https://github.com/openssl/openssl.git + +If you intend to contribute to OpenSSL, either to fix bugs or contribute - new features, you need to fork the OpenSSL repository openssl/openssl on - GitHub and clone your public fork instead. ++new features, you need to fork the GitHub mirror and clone your public fork ++instead. + + git clone https://github.com/yourname/openssl.git + +This is necessary, because all development of OpenSSL nowadays is done via +GitHub pull requests. For more details, see [Contributing](#contributing). + +Build and Install +================= + +After obtaining the Source, have a look at the [INSTALL](INSTALL.md) file for +detailed instructions about building and installing OpenSSL. For some +platforms, the installation instructions are amended by a platform specific +document. + + * [Notes for UNIX-like platforms](NOTES-UNIX.md) + * [Notes for Android platforms](NOTES-ANDROID.md) + * [Notes for Windows platforms](NOTES-WINDOWS.md) + * [Notes for the DOS platform with DJGPP](NOTES-DJGPP.md) + * [Notes for the OpenVMS platform](NOTES-VMS.md) + * [Notes on Perl](NOTES-PERL.md) + * [Notes on Valgrind](NOTES-VALGRIND.md) + +Specific notes on upgrading to OpenSSL 3.0 from previous versions can be found +in the [migration_guide(7ossl)] manual page. + +Documentation +============= + +Manual Pages +------------ + +The manual pages for the master branch and all current stable releases are +available online. + +- [OpenSSL master](https://www.openssl.org/docs/manmaster) +- [OpenSSL 3.0](https://www.openssl.org/docs/man3.0) +- [OpenSSL 1.1.1](https://www.openssl.org/docs/man1.1.1) + +Wiki +---- + +There is a Wiki at [wiki.openssl.org] which is currently not very active. +It contains a lot of useful information, not all of which is up to date. + +License +======= + +OpenSSL is licensed under the Apache License 2.0, which means that +you are free to get and use it for commercial and non-commercial +purposes as long as you fulfill its conditions. + +See the [LICENSE.txt](LICENSE.txt) file for more details. + +Support +======= + +There are various ways to get in touch. The correct channel depends on +your requirement. see the [SUPPORT](SUPPORT.md) file for more details. + +Contributing +============ + +If you are interested and willing to contribute to the OpenSSL project, +please take a look at the [CONTRIBUTING](CONTRIBUTING.md) file. + +Legalities +========== + +A number of nations restrict the use or export of cryptography. If you are +potentially subject to such restrictions you should seek legal advice before +attempting to develop or distribute cryptographic code. + +Copyright +========= + - Copyright (c) 1998-2024 The OpenSSL Project ++Copyright (c) 1998-2025 The OpenSSL Project + +Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson + +All rights reserved. + + + +[www.openssl.org]: + + "OpenSSL Homepage" + - [git.openssl.org]: - - "OpenSSL Git Repository" - - [git.openssl.org]: - - "OpenSSL Git Repository" - +[github.com/openssl/openssl]: + + "OpenSSL GitHub Mirror" + +[wiki.openssl.org]: + + "OpenSSL Wiki" + +[migration_guide(7ossl)]: + + "OpenSSL Migration Guide" + +[RFC 8446]: + + + + +[openssl logo]: + doc/images/openssl.svg + "OpenSSL Logo" + +[github actions ci badge]: + + "GitHub Actions CI Status" + +[github actions ci]: + + "GitHub Actions CI" + +[appveyor badge]: + + "AppVeyor Build Status" + +[appveyor jobs]: + + "AppVeyor Jobs" From nobody Fri Mar 14 06:43: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 4ZDZZH3FF9z5qfKV; Fri, 14 Mar 2025 06:43:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDZZH2W8Nz3fwF; Fri, 14 Mar 2025 06:43:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741934599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YouOHXoMh04W96qawTRnKNLXPqf+bONj++rIS62Q5NI=; b=EqA+WqJIGfZSuk0oZvSCOvEXIQ/P6mCsxwrxDI0ZG96rUQ9N1dihMK0r6Lyepmqdu8V3R1 AZDj2YJxpuMeN1VuyEucBXEPQRfrG5XQG5qR9NoG+mBuDcrtKZafjX47eirl8fPiL08NCo tSky5eRky+SQO50DruoYE+3oJSQI5WghH74U5RdGtSryZEH4zN67tDyQZPAsXqgoiar4wB 7e3X1B5fHFtl8s9J2l/4P3g8KQdsGvCYVLbOnz9+qF0lOGo7S8I/53NfS7kGys9qw2BBwt rItTOd8faq1iBg77tVcuPUS44TBDe13Nu8ufQY2NyopKetx3ue8w4SFjJCan/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741934599; a=rsa-sha256; cv=none; b=GnKbL45Pv8vhUr2OA4o0ZVE2u6TBtTWtwBGjN3VY0zcOY+Lz0IgmxHw9Cugkh5MzcQIE0O aXFPvNH7JKmLJMBNlAoGsMUD17GNlEYZeB63fVZhnjQYBP/TGKHrQuY/8hO1VhWN1gIiGi GP+SoC8nIo4yjkaj8WelSf7RmR6EI56yANykpIEqr3lg63PVUyxLu766CzW0FwpujnDeJT GehidueSMwvxhy7K0/JPoQiVUsl21mBqIescHEOl9sNsHslgEz4ar0akwtwfyeRMTlXZdW UX9/S9fiaJR8mFTFfkN9PUNgBfRiGv8o0XC7igozlE70g6S7MIR1i/FUmubSQg== 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=1741934599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YouOHXoMh04W96qawTRnKNLXPqf+bONj++rIS62Q5NI=; b=jofZqUq1gLCYGDRk6//xyPWfLW93Oa108WkIykoSeGossNlCddpg462fOPS/Wc6c4yzPeH eOpGNctjrQ/RV6yMDmTy//g/q47sN3q4w6XXBeS8O1MgVw4mMVjdscguvIgzI6+cUFpPUk tSl0ahqEpMs5H250V+eLbGktyBD+X28efALXFKK1mExd9ocZC5kSdHpt1MwLyce2CEuhC1 Ts3cIl6MV5YGqvC0F34IuvQGhnlEKUFPjEMtjcnK7/84F00ZRgALV9CzGpPbcf++13SwRB 3/746K4ZI0ExVj3LLALReG5V8Ti4nT+MNp+T6ayGuziUYlWLYkfs85JvbqhJEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDZZH1pPfzYwY; Fri, 14 Mar 2025 06:43: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 52E6hJII098780; Fri, 14 Mar 2025 06:43:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52E6hJsx098777; Fri, 14 Mar 2025 06:43:19 GMT (envelope-from git) Date: Fri, 14 Mar 2025 06:43:19 GMT Message-Id: <202503140643.52E6hJsx098777@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: d2a55e6a9348 - main - openssl: update ASM and version info for 3.0.16 import 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: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2a55e6a9348bb55038dbc6b727ab041085f22db Auto-Submitted: auto-generated The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=d2a55e6a9348bb55038dbc6b727ab041085f22db commit d2a55e6a9348bb55038dbc6b727ab041085f22db Author: Enji Cooper AuthorDate: 2025-03-06 18:07:54 +0000 Commit: Enji Cooper CommitDate: 2025-03-14 06:42:02 +0000 openssl: update ASM and version info for 3.0.16 import MFC after: 1 week MFC with: 0d0c8621fd181e507f0fb50ffcca606faf66a8c2 Differential Revision: https://reviews.freebsd.org/D49297 --- crypto/openssl/include/openssl/opensslv.h | 10 +++++----- secure/lib/libcrypto/Makefile.inc | 4 ++-- sys/crypto/openssl/aarch64/armv8-mont.S | 2 ++ 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/crypto/openssl/include/openssl/opensslv.h b/crypto/openssl/include/openssl/opensslv.h index dd0aece423cd..8e11963343e9 100644 --- a/crypto/openssl/include/openssl/opensslv.h +++ b/crypto/openssl/include/openssl/opensslv.h @@ -29,7 +29,7 @@ extern "C" { */ # define OPENSSL_VERSION_MAJOR 3 # define OPENSSL_VERSION_MINOR 0 -# define OPENSSL_VERSION_PATCH 15 +# define OPENSSL_VERSION_PATCH 16 /* * Additional version information @@ -74,21 +74,21 @@ extern "C" { * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and * OPENSSL_VERSION_BUILD_METADATA_STR appended. */ -# define OPENSSL_VERSION_STR "3.0.15" -# define OPENSSL_FULL_VERSION_STR "3.0.15" +# define OPENSSL_VERSION_STR "3.0.16" +# define OPENSSL_FULL_VERSION_STR "3.0.16" /* * SECTION 3: ADDITIONAL METADATA * * These strings are defined separately to allow them to be parsable. */ -# define OPENSSL_RELEASE_DATE "3 Sep 2024" +# define OPENSSL_RELEASE_DATE "11 Feb 2025" /* * SECTION 4: BACKWARD COMPATIBILITY */ -# define OPENSSL_VERSION_TEXT "OpenSSL 3.0.15 3 Sep 2024" +# define OPENSSL_VERSION_TEXT "OpenSSL 3.0.16 11 Feb 2025" /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */ # ifdef OPENSSL_VERSION_PRE_RELEASE diff --git a/secure/lib/libcrypto/Makefile.inc b/secure/lib/libcrypto/Makefile.inc index e7072213d509..39ba90842525 100644 --- a/secure/lib/libcrypto/Makefile.inc +++ b/secure/lib/libcrypto/Makefile.inc @@ -1,8 +1,8 @@ .include # OpenSSL version used for manual page generation -OPENSSL_VER= 3.0.15 -OPENSSL_DATE= 2024-09-03 +OPENSSL_VER= 3.0.16 +OPENSSL_DATE= 2025-02-11 LCRYPTO_SRC= ${SRCTOP}/crypto/openssl LCRYPTO_DOC= ${LCRYPTO_SRC}/doc diff --git a/sys/crypto/openssl/aarch64/armv8-mont.S b/sys/crypto/openssl/aarch64/armv8-mont.S index 8b85fb080aba..b429f39ee326 100644 --- a/sys/crypto/openssl/aarch64/armv8-mont.S +++ b/sys/crypto/openssl/aarch64/armv8-mont.S @@ -17,10 +17,12 @@ bn_mul_mont: cmp x5,#32 b.le .Lscalar_impl #ifndef __KERNEL__ +#ifndef __AARCH64EB__ adrp x17,OPENSSL_armv8_rsa_neonized ldr w17,[x17,#:lo12:OPENSSL_armv8_rsa_neonized] cbnz w17, bn_mul8x_mont_neon #endif +#endif .Lscalar_impl: tst x5,#7 From nobody Fri Mar 14 16:25: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 4ZDqVD0h71z5qPxX; Fri, 14 Mar 2025 16:25: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 4ZDqVD08h1z3blB; Fri, 14 Mar 2025 16:25:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741969540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oj2K0t48ChyFDtwdFypwUw+91FLcO+X2Nk860L5d3bU=; b=QM0WoxCGzzolUUK3mCCKeOPe0mvPr6w34Qc2+WWuPVpawXVQ20ypKixmRzVZT2YsuxRGAv rS5zBCQswvZMW0nFOFFBBklrN/PBIpOn9n9utG0fNfpdYOFbxHiUZKMDoOO/nIE8QxdL0Y xym142EuU8BTwgCP6ApPLwFgeepvn0rAJ8WN1b8zopW42Z0aaqB1XkqeaOgV9WJDgG0CgY XupgR85/b3g5t1R1U2gFnqzxjzTptD/aFjPJkmnsi0iZNHuLqYqY/wsfe9Qh3IRhWHieMF RFaipxLUs/299XUqN5FQuSC4R6/M8xQEXYtOeY07laA/o320pN4HITJhFOkYig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741969540; a=rsa-sha256; cv=none; b=pAd2XdsPo9Ao6Jhlm16pu5mvh4s+rYXTsKhZ5V3aA7B/iaubaEt9R556TYF5gxGmCgtE2T mil/6lwmG9Qcam1ehPZ3LVZZxAirN0ymE9bQUW0CJhQjTMdKA7yLXw1bXqbUsY87MgGf1Q gWjrZV/bFQ8ECSbT7aRQBhcVP3nEFqSAYPiuWvLmEN4cTvqd5DarOhuwrR6NhjRnunQKyQ dBAC58N4+Mf5BnqkotiNXxBH0r39O04P4Aoifehgv4o95LswyNnjY6QRfv4jOtKWNRNhGj BPulQdEw+vW55FFCtkc9c4q31Cy4cxR+hRj2PL9ooyo1lruLE4grb/AUKsKLXQ== 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=1741969540; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Oj2K0t48ChyFDtwdFypwUw+91FLcO+X2Nk860L5d3bU=; b=tm+i+xJIDJhP7DgIWOgChDK5T8X53ZmcUhmpOR1FCjklsRDsh1gERgWk+0m5jCzOLPAnsf R8t5REnov5RiwWKcKxpg+STUgHPkK+OB/JJne96yFK9WfN7ae8SewWYhi+lM39gopzgBtO KehR6vtWpzDCpT1O+P3En0V0yd2duszrkJeLhYSihS/hHC9BLxdSPbBQByu1+PHr10depn sRdeAuGwEOcKSLN6kRaET02Qu617FpH8oEjDPhZRaHsMRVDF3HUbjOTib9a6bDD/ZRLrdF mMfrygP1dBIVm5XwOfy3qMiYA08ofL8G3Dv+J+vtsfDoRCHcUrMdJRDw8NDI2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDqVC6k5jzs3D; Fri, 14 Mar 2025 16:25: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 52EGPdlv094825; Fri, 14 Mar 2025 16:25:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52EGPd0v094822; Fri, 14 Mar 2025 16:25:39 GMT (envelope-from git) Date: Fri, 14 Mar 2025 16:25:39 GMT Message-Id: <202503141625.52EGPd0v094822@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: a5c7b44d6a46 - main - LinuxKPI: always use contig allocations in linux_alloc_kmem() 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: a5c7b44d6a46fc5a67a79cb9b31050a9cc7c50ce Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a5c7b44d6a46fc5a67a79cb9b31050a9cc7c50ce commit a5c7b44d6a46fc5a67a79cb9b31050a9cc7c50ce Author: Bjoern A. Zeeb AuthorDate: 2024-09-12 21:17:51 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-03-14 16:24:52 +0000 LinuxKPI: always use contig allocations in linux_alloc_kmem() In linux_alloc_kmem() [used by *get_page*()] we always at least allocate PAGE_SIZE and we want the allocation to be contiguous so it can be passed to DMA. Always use kmem_alloc_contig() and only change the low argument depending on the GFP_DMA32 flag being given or not. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: jhb, dumbbell Differential Revision: https://reviews.freebsd.org/D46661 --- sys/compat/linuxkpi/common/src/linux_page.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c index 6ca926e89174..bece8c954bfd 100644 --- a/sys/compat/linuxkpi/common/src/linux_page.c +++ b/sys/compat/linuxkpi/common/src/linux_page.c @@ -182,12 +182,10 @@ linux_alloc_kmem(gfp_t flags, unsigned int order) size_t size = ((size_t)PAGE_SIZE) << order; void *addr; - if ((flags & GFP_DMA32) == 0) { - addr = kmem_malloc(size, flags & GFP_NATIVE_MASK); - } else { - addr = kmem_alloc_contig(size, flags & GFP_NATIVE_MASK, 0, - BUS_SPACE_MAXADDR_32BIT, PAGE_SIZE, 0, VM_MEMATTR_DEFAULT); - } + addr = kmem_alloc_contig(size, flags & GFP_NATIVE_MASK, 0, + ((flags & GFP_DMA32) == 0) ? -1UL : BUS_SPACE_MAXADDR_32BIT, + PAGE_SIZE, 0, VM_MEMATTR_DEFAULT); + return ((vm_offset_t)addr); } From nobody Fri Mar 14 16:25: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 4ZDqVF57Fyz5qQBn; Fri, 14 Mar 2025 16:25: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 4ZDqVF0fxFz3byV; Fri, 14 Mar 2025 16:25:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741969541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xmAWW9sy0CzzRSwJPZJ+1qyT/7JJeUopdmwJRMWrAdk=; b=jQqqcLL28NRCxs2STzluePyJzdaDUalmX5jCLQN6BOJYlDRRzySSxHOWqfIBty6licJhhd bzPO7SwLkCdC+3pyfAbbvAI7HnSZYkHjM6mxPbKCZB/Y9xkGOWDEf250TVl+fpBng22Xq4 WJcs3CAFvvfr0TdV/MLPhgJeWrSCQLXBo7ytUuWNh4rZGhfjGQiNIoCwLuBqV8rl/Z2r62 upDUwH2zNdsVAcAqQCie5rxnn9BKQ83peByx+ETf9gQehT0B9hUzn4DsLtMY4TdR4p4LLP mfVo/OzdEGTl9fa3wK3WdT42Z0YVq535c8sfc7iV6G8laMiYYCdlWBgl63/r0Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741969541; a=rsa-sha256; cv=none; b=LeeY1aFOodu9K2IuIUuKbLpJPFKx46c1SOUTi1iQAAtZgOcVg7xIHyKkRF3L7T0uZQm2sJ +fOQ3HFP6PvcJRxfazS+WCJQIozGZV8H28OPIuZnbZCeS42L8AWKMv7VQnwI4ddOVB9L1X 4Jf2wDIhCjCPgpABANb9tTu1l9eF3wp5Teu8uALTk95YpIRfarE4VlS03/r9j76RTOD1hg wyYjU2PZKOX2VNT8OUcG5DW4DAT6LZBWTYRnDnkrSm6HL/H0U0q8Juu3RrN3e2H2N5kPmZ GDjx9oH52HwCN8SjZ6yiykgOQZc007yBj/6Iw4sdERhvo16sTuDB9qp9tcllBQ== 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=1741969541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xmAWW9sy0CzzRSwJPZJ+1qyT/7JJeUopdmwJRMWrAdk=; b=H7Sms0U8KF3ALHQffUEYHfbr+bEAIqpssyVCzZZAgxyvvcHgkD8URoP+xKmn5sSdduAW9l gSibwnQlS2/hGmZORVWjD28fvxgWia99aBK4fS6leP76XMhg78lnlajf+jXz7YxTWMwIpy 8LNHYwc008BK09qXkTBTUptiwGGE2FnIOL9ZuEYKGMMmMpnwBMG7yXMB2m6pauoN8S0ZMA b7Uz77NQpTy0QxAGRF7wz2SrB+9uUTGbQn0721YG6iEbckTvQKwm2FenoleurfN3x6V3on 01CKP1lkdEld3WoW5xQTjckTN6wYD23YzgwKn+i61yQyBYqArzkf9VV9GMfaUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDqVF0FfmzsJT; Fri, 14 Mar 2025 16:25: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 52EGPeSx094862; Fri, 14 Mar 2025 16:25:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52EGPeak094859; Fri, 14 Mar 2025 16:25:40 GMT (envelope-from git) Date: Fri, 14 Mar 2025 16:25:40 GMT Message-Id: <202503141625.52EGPeak094859@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: 19df0c5abcb9 - main - LinuxKPI: make __kmalloc() play by the rules 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: 19df0c5abcb9d4e951e610b6de98d4d8a00bd5f9 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=19df0c5abcb9d4e951e610b6de98d4d8a00bd5f9 commit 19df0c5abcb9d4e951e610b6de98d4d8a00bd5f9 Author: Bjoern A. Zeeb AuthorDate: 2024-09-12 18:11:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-03-14 16:24:52 +0000 LinuxKPI: make __kmalloc() play by the rules According to Documentation/core-api/dma-api.rst kmalloc() is supposd to provide physically contiguous memory. [1] In order to guarantee that allocations are contiguous even if using PAGE_SIZE or larger check the size and use contigmalloc if needed. This makes use of 9e6544dd6e02 (and following) allowing free(9) to also work for contigmalloced memory. Sponsored by: The FreeBSD Foundation Pointed out by: jhb [1] Reviewed by: jhb, emaste MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D46656 --- sys/compat/linuxkpi/common/src/linux_slab.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_slab.c b/sys/compat/linuxkpi/common/src/linux_slab.c index 72b35fee9214..5be4c1ec674c 100644 --- a/sys/compat/linuxkpi/common/src/linux_slab.c +++ b/sys/compat/linuxkpi/common/src/linux_slab.c @@ -215,7 +215,11 @@ lkpi___kmalloc(size_t size, gfp_t flags) /* sizeof(struct llist_node) is used for kfree_async(). */ _s = MAX(size, sizeof(struct llist_node)); - return (malloc(_s, M_KMALLOC, linux_check_m_flags(flags))); + if (_s < PAGE_SIZE) + return (malloc(_s, M_KMALLOC, linux_check_m_flags(flags))); + else + return (contigmalloc(_s, M_KMALLOC, linux_check_m_flags(flags), + 0, -1UL, PAGE_SIZE, 0)); } struct lkpi_kmalloc_ctx { From nobody Fri Mar 14 16:27: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 4ZDqWt5XY5z5qQC6; Fri, 14 Mar 2025 16:27:06 +0000 (UTC) (envelope-from bz@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 4ZDqWt4SLvz3clZ; Fri, 14 Mar 2025 16:27:06 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741969626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=OpZ7MCGO3lhZQjbot8hDdubpwID7jIT946M9/yjQZ5s=; b=iuSxd9Uj9jAWnZPoQo3pxktGMN/7cBCGu6QUxr+k1Qsiwo4fTCd5gV3e5pDwsWwN/6FGO7 AgS5aJhc6ltdWYKAAK0foG8mvG6s2sbCMZnjWMLfxc7XiAftUTXFK2/eaaY/zsKDEs+9cs VIhR1HJ4/TKarMOEHb8qd9M0FZm0kBNdRTm+G7NoGA2tGjHNhpEecEce2mhEiPGkp6wDM6 LWz0DLiezIvVHbFbtt84dxCcm9cvsy0SH34nKpMp6M1GrxbNZ6BFu4n/D7ulylBPUBSsEc PBErnCHXfpQGhsKk5Iy1forKPuu3ufDUybPO5wv8FfjncPn3Llu3G8K2SNrb+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741969626; a=rsa-sha256; cv=none; b=Mh5nREh/IwlLp44yFhsGr0awBYmpluFGCBBVDJwucCrkwj38wkUxunoowQCJ+slTCwczRv cyEdhaty8Cl6uFX9/XclLZNxJ6iGpPBG3dmuM2451+BV9nvuvWuAQ2SMc0eJ9kOcDMCQ4a 9h96ZzVCydfv1AJ1CfVAug1KmpSJWZ7piDDFLuwgLTMIzUw/bHcc3A/6liMDs2f9Jy8h/I 0U36dJVaMlvptCnEecYJjLA28gIXs0a0f3irp0T9VuG8Lb+xa9jh4G4m2oBjhKbEp8Kt9i jOUIiCuTVbV7HTorQPjUacKIhBvMobQq6Bw6nSJ4xKFeGOYEEVB4qbUxJfaLnA== 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=1741969626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=OpZ7MCGO3lhZQjbot8hDdubpwID7jIT946M9/yjQZ5s=; b=tVgqtix6KWg1kCIfG6sNBLxk8Xn2+DtRVfx66psVPGtT99Xt+hAqzvrZKjUVPbFukYjX2d OkUi6b7PaH74VWCNurNrVqn4jSnBFORGET+6g/JPmpSjpV73oadMlcfDKKheJ3CboY94ay utGIoZfUX8UF8EO2lWWN6a1BvmBzjTcL82LolEET/2qMeib9GOzu1c/dYdqHEgX7UC17L1 +MQRf6OZspiXGRcZdOV50JgdUpwzbTQ6tP5GVlObmv3sEyxkgC2QJsjv8DQ5XoUDQ5gXHc pOCJfsj+4v9hKNq/LWoiZbRhGkLcJFdJcxeY0jwFQ1WzoYgdR0Tx6JewdVyxZA== Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E5" (verified OK)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4ZDqWt2mhTz3GN; Fri, 14 Mar 2025 16:27:06 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id 8814AA64806; Fri, 14 Mar 2025 16:27:02 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 9DDD42D029E0; Fri, 14 Mar 2025 16:27:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id 6X569o7BrJmG; Fri, 14 Mar 2025 16:27:03 +0000 (UTC) Received: from strong-rtwn1.sbone.de (strong-rtwn1.sbone.de [IPv6:fde9:577b:c1a9:4902:821f:2ff:feef:e8d5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 839A22D029E1; Fri, 14 Mar 2025 16:27:03 +0000 (UTC) Date: Fri, 14 Mar 2025 16:27:03 +0000 (UTC) From: "Bjoern A. Zeeb" To: Alexander Ziaee cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 732c16884215 - main - ObsoleteFiles: Remove if_rtwn.4 removal In-Reply-To: <202503132318.52DNIgBJ057848@gitrepo.freebsd.org> Message-ID: References: <202503132318.52DNIgBJ057848@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 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; format=flowed On Thu, 13 Mar 2025, Alexander Ziaee wrote: > The branch main has been updated by ziaee: > > URL: https://cgit.FreeBSD.org/src/commit/?id=732c16884215c0117d5ee3df79ca79c21ad07e19 > > commit 732c16884215c0117d5ee3df79ca79c21ad07e19 > Author: Alexander Ziaee > AuthorDate: 2025-03-12 03:37:40 +0000 > Commit: Alexander Ziaee > CommitDate: 2025-03-13 23:18:11 +0000 > > ObsoleteFiles: Remove if_rtwn.4 removal > > if_rtwn.4 was previously removed, but actually it is correct because > the interfaces is called rtwn. > > Fixes: 4262dbc579823 > MFC after: 3 days > Reported by: bz Reported by: Herbert J. Skuhra > Approved by: mhorne (mentor) > Differential Revision: https://reviews.freebsd.org/D49323 > --- > ObsoleteFiles.inc | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc > index 7b15e3595951..f56ad74294f9 100644 > --- a/ObsoleteFiles.inc > +++ b/ObsoleteFiles.inc > @@ -12473,8 +12473,6 @@ OLD_FILES+=usr/bin/llvm-pdbdump > OLD_FILES+=usr/share/man/man2/pdwait4.2.gz > # 20170610: chown-f_test replaced by chown_test > OLD_FILES+=usr/tests/usr.sbin/chown/chown-f_test > -# 20170609: drop obsolete manpage link (if_rtwn.ko -> rtwn.ko) > -OLD_FILES+=usr/share/man/man4/if_rtwn.4.gz > # 20170531: removal of groff > OLD_FILES+=usr/bin/addftinfo > OLD_FILES+=usr/bin/afmtodit > -- Bjoern A. Zeeb r15:7 From nobody Fri Mar 14 16:42: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 4ZDqsR70sxz5qRFb; Fri, 14 Mar 2025 16:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDqsR6PDxz3hpR; Fri, 14 Mar 2025 16:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741970539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xSqO5Pq6PRbwQ8rGib84gML0HtqbGxFoxY+P9xwBRyM=; b=ltYis5o3+pICQBoUrGBX4UpiOYc4STkhortQ1nk0VJSdVzXPd9e2b4FdDMzHuGcbJma9mg jOZMfmIq6aAOo+2Rkqh9PTy54VpdaWc/pwYlgPNmxgD+eGz3+JSTa7mkOwO3gIXjFd/qZG HDYqnUoQyjDFDcn6vQd/GXb76WpRlybry22oXTpW3PGSIUncDcVhS/dGfglpqScfhhEHrg HT1P1fPr029cxGWmXX4ElaJfSs7hIlBR4CKncCLp8AMd91P0LDDwpzr41sARHKzoTYmxWq CSC2gWGH082C4ZDFjYr3UrttL4/847ATBcZo2AHH5QqP93ftXLAbSiQcoCde2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741970539; a=rsa-sha256; cv=none; b=QRw0taA/DUV2qvl2vghAQZ8cxQ3W4SOxR1sJv65/r0dOMisLV6B002otdrb223sG+Xvxak MCnDmlzyVVh3gcMMHFaAR2vosTj3MXFInztcAcTGLGjiOlXUxC5DvfrawshUmLVjcdXUjy wWX4swlYq4srpadB9BOCe2s+3+0IX2EBLemymZTGpAmdzcH5vahMAgThwlpMBcrbTvxbDI KVrnSof/PL5TLkPJAjE7pioUkzCc2hJ8yIEXITqa1rIxDgq6twUtsbKE8R3vJVfh2NOkQe 6peOPtsaQd21i3HKRF9z1VyGKsK6++2Jfd9MchDFCeRc+IjZT9Lpph6JJd+yrw== 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=1741970539; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xSqO5Pq6PRbwQ8rGib84gML0HtqbGxFoxY+P9xwBRyM=; b=wyYJNPnkJGgYnf04fQ/R/w2oc0Xk7sJnDdZMXaUQQE7MfaqDar6xzFLxbAIKKKw8AwZVMh tu1gw4PzijF3DbwE9h7x5Rx5WS9qeCjtmmCLZIF9/Ivk/BEREHHGb7osWtOrIxxBIrTErJ Zm+fnyUhoZ4k25BCqdkh3NWLPm5uNhZ+zDlEwjilcWCijMfOQhB5LTS0r3EB4ffWuJMbAx JCujqJhYIwIZMcgJVxRpckR0O+4fdhueicmcu1OVIu76gj9BS0FhA2r8Q3nakGo1NslGMN FXpPNwc1fttqKuqogvaWxcsMaFUkvjzufdMbGY/65NzeowpxqSWY8LmWbSgEbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDqsR5n4RzsKX; Fri, 14 Mar 2025 16:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52EGgJGU029933; Fri, 14 Mar 2025 16:42:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52EGgJYj029930; Fri, 14 Mar 2025 16:42:19 GMT (envelope-from git) Date: Fri, 14 Mar 2025 16:42:19 GMT Message-Id: <202503141642.52EGgJYj029930@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: 4a4eee553307 - main - iwlwifi: adjust a debug comment referring to a PR 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: 4a4eee553307a2e02c6ed4796d575bfce2857049 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4a4eee553307a2e02c6ed4796d575bfce2857049 commit 4a4eee553307a2e02c6ed4796d575bfce2857049 Author: Bjoern A. Zeeb AuthorDate: 2025-03-14 16:32:14 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-03-14 16:32:14 +0000 iwlwifi: adjust a debug comment referring to a PR A FreeBSD specific comment asked people to report to a PR if they see this. By now we got enough feedback and also left this in a release. Simply point to the PR so people can check the status but not longer ask to submit a report to the PR. Sponsored by: The FreeBSD Foundation PR: 274382 MFC after: 3 days --- sys/contrib/dev/iwlwifi/mvm/tx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/contrib/dev/iwlwifi/mvm/tx.c b/sys/contrib/dev/iwlwifi/mvm/tx.c index 8ece32dbb3f1..fbbed0bd7678 100644 --- a/sys/contrib/dev/iwlwifi/mvm/tx.c +++ b/sys/contrib/dev/iwlwifi/mvm/tx.c @@ -1276,8 +1276,8 @@ static int iwl_mvm_tx_mpdu(struct iwl_mvm *mvm, struct sk_buff *skb, if (WARN_ONCE(txq_id == IWL_MVM_INVALID_QUEUE, "Invalid TXQ id")) { #if defined(__FreeBSD__) printf("%s:%d: fc %#06x tid %u txq_id %u mvm %p " - "skb %p { len %u } info %p sta %p (if you see this please " - "report to PR 274382)\n", __func__, __LINE__, + "skb %p { len %u } info %p sta %p (see PR 274382)\n", + __func__, __LINE__, fc, tid, txq_id, mvm, skb, skb->len, info, sta); #endif iwl_trans_free_tx_cmd(mvm->trans, dev_cmd); From nobody Fri Mar 14 17:29: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 4ZDrvz37W3z5qVPs; Fri, 14 Mar 2025 17:29: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 4ZDrvz030qz40Ym; Fri, 14 Mar 2025 17:29:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741973375; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nnkxMutTVB5hiLpYX8+sgnT++yJfyj2soGqpT7dNyQA=; b=o7j73ZK+mm5b11zMcahfeoFu3LNQmEZom/yrXT6hjlCncd27vLn+T+DLI6f3QhopEM0khl baECcXFC0mofKwqH0htcT+Glu7OdXDmnaZWQUTxag0sbWFmMq8EaSeqrYPkgSnUPWnolm7 EYfP5s6DGvWy0R45kBrcig1xVlNL0ofj+0SQgeqHQWau2+xJ5OT10IMjM/2w5aHwvMb3xr /RXVfX0JOWBT0XTQYGpiHuRZnYkIoJVQCzJM1YMIfKYHl4t7wO2Up3a19ngoJB7tp5RixZ Qb/ceCUOyFWHPi6NWGLOR/yZb+iIQUAoo4LDzTgxzwHYDogU+WZSpmFPamTBJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741973375; a=rsa-sha256; cv=none; b=U9PL1l4rGU9aiSz7CZUFJsRlkZuDEMeMHvNnnSSUfeoHANMKaynUpTCkfe9YPcB5WTUjRm bml8oy2sn4LzYLEz1kLGYni22Cp5epKlfg7KNWhGrXBSx7ML2DrfP/KAOvfQsFqVgqUE5A s+2xEjZfs69YbSJIfqWdZm/sZjGVJKvwwrAGSRJyMJBF2KaxhZ/daSwATElBdW5rGthPr3 n11Uuvm9FC2ihZC+5CFaLOqZCx2aGgjdNxo9NXqFYOihhln524W2hB55SCxMVGJpOyw4Xz h00Gxg1saT3pRdHe1byAcIKl42IEikfklQ0dQg+djBmEhLyR9pPA5bow8AAGvg== 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=1741973375; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nnkxMutTVB5hiLpYX8+sgnT++yJfyj2soGqpT7dNyQA=; b=a5L7fjAhAi39dsrVpTUETi1jZckE7hCSibj3lAMLBaxvsh/7/36zYnmYit+ck+n4Wjw6fi Tixqs3O875vZLAxO++bpTzVTEUMqBrvce1GaJWHk+MDuMvhyMcEaU1DKB3Zt/nsIMo1xJC 9dt9JADbZUyXmocFv5yAqIWs6lkG+mTXWZBNSPob43ch0qncZmxohEVHosxjHpBDO8v5Jf fYbjhHSzVeCB39rZv396ZMcu828JbZSuCOYm9Phov1vCmZU4y+/3fP5zRzZYZLzmbwkFKh etMkWUcRk5yLXzoWVZ/9ohyTgRM6q4A/w2PADR1aJ7CjHjfVqK1wz+gUenChJQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDrvy57t7zttJ; Fri, 14 Mar 2025 17:29: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 52EHTYKB008117; Fri, 14 Mar 2025 17:29:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52EHTYis008114; Fri, 14 Mar 2025 17:29:34 GMT (envelope-from git) Date: Fri, 14 Mar 2025 17:29:34 GMT Message-Id: <202503141729.52EHTYis008114@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: 1cae7121c667 - main - Enable LLVM_BINUTILS 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1cae7121c667d9caf205832cf45fd02af3157e6f Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=1cae7121c667d9caf205832cf45fd02af3157e6f commit 1cae7121c667d9caf205832cf45fd02af3157e6f Author: Ed Maste AuthorDate: 2021-07-12 19:32:00 +0000 Commit: Ed Maste CommitDate: 2025-03-14 17:29:06 +0000 Enable LLVM_BINUTILS by default Starting in 2014 FreeBSD migrated from GNU binutils to ELF Tool Chain tools. At that time there were no usable LLVM versions of those tools, but they have been developing rapidly since then. Migrate to LLVML's tools for both functionality and maintainability reasons. This will eventually support the use of link-time optimization (LTO) in the FreeBSD base system. LTO runs optimization passes over the entire executable (or library) at link time and thus allows for more effective optimization than when performed on individual compilation units. When using LTO object files (.o) including those contained in static library archives (.a) contain LLVM IR bitcode rather than target object code. This means that utilities that operate on object files need to support LLVM IR. As with ELF Tool Chain the LLVM tools aim for command line and output format compatibility with GNU binutils, although there are a few minor differences. Where these cause a material issue (breaking a port or eliminating required functionality) we can submit LLVM bugs and work on patches. PR: 258872 (exp-run) Reviewed by: bapt Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49361 --- UPDATING | 5 +++++ share/man/man5/src.conf.5 | 16 ++++++++++++---- share/mk/src.opts.mk | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/UPDATING b/UPDATING index 15941028c5bb..6989bb7c7f99 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20250314: + We now use LLVM's binary utilities (nm, objcopy, etc.) by default. + The WITHOUT_LLVM_BINUTILS src.conf(5) knob can be used to revert to + ELF Tool Chain tools if desired. + 20250303: Commit 4a77657cbc01 changed the ABI between ipfw(8) and ipfw(4). Please note that the old ipfw(8) binary will not work with the new diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index 30b5d308724a..321eea708d04 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd January 31, 2025 +.Dd March 14, 2025 .Dt SRC.CONF 5 .Os .Sh NAME @@ -933,9 +933,8 @@ the build. To be able to build the system an alternate linker must be provided via XLD. .It Va WITHOUT_LLVM_ASSERTIONS Disable debugging assertions in LLVM. -.It Va WITH_LLVM_BINUTILS -Install LLVM's binutils (without an llvm- prefix), -instead of ELF Tool Chain's tools. +.It Va WITHOUT_LLVM_BINUTILS +Install ELF Tool Chain's binary utilities instead of LLVM's. This includes .Xr addr2line 1 , .Xr ar 1 , @@ -1762,6 +1761,15 @@ When set, it enforces these options: .It .Va WITHOUT_LLVM_COV .El +.Pp +When set, these options are also in effect: +.Pp +.Bl -inset -compact +.It Va WITHOUT_LLVM_BINUTILS +(unless +.Va WITH_LLVM_BINUTILS +is set explicitly) +.El .It Va WITH_UBSAN Build the base system with Undefined Behavior Sanitizer (UBSan) to detect various kinds of undefined behavior at runtime. diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index f3141884cd00..ef8711db713f 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -124,6 +124,7 @@ __DEFAULT_YES_OPTIONS = \ LLD \ LLD_BOOTSTRAP \ LLVM_ASSERTIONS \ + LLVM_BINUTILS \ LLVM_COV \ LLVM_CXXFILT \ LOADER_BIOS_TEXTONLY \ @@ -208,7 +209,6 @@ __DEFAULT_NO_OPTIONS = \ HESIOD \ LOADER_VERBOSE \ LOADER_VERIEXEC_PASS_MANIFEST \ - LLVM_BINUTILS \ LLVM_FULL_DEBUGINFO \ MALLOC_PRODUCTION \ OFED_EXTRA \ From nobody Fri Mar 14 18:04: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 4ZDsj54J45z5qXvg; Fri, 14 Mar 2025 18:05:13 +0000 (UTC) (envelope-from eduardo@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 4ZDsj51Cf2z3Kvw; Fri, 14 Mar 2025 18:05:13 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741975513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=gn4PpIxSGTPk3a5Nej/oUS/2lp3GPZJ2YZC21O78wsU=; b=gJgDq3ADbgqoDM67VIsBUIrkkMEFYdyClDTmmWN9ezkz3v50A6DSgAi1TpbHRsP1+kyk6d /8EF9mpNlSGFVRAi0fwS9CU+iG7I2SbJGMrC4OETPJpCBd3ZH8KvoKf6kj3XNAACYhYNjR FY69/Dds/dobaAbg4oo5wSGKRWiFE3qBM5HE9Xk6YgEXNT71mMp2oEfMplWacpt33Kh2JR 06nWpfrs9z0v17vhZgKXig/MJJMchWX1/j9hDszu5bk6tBRo8xWl3xjzwdjrHyqrzeH+S5 R+tTcNX8Kz8CfkZUuX0/HB8O651CBEde3pi6yz8ajs2yo/07R6bfqDM92SU5Jw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741975513; a=rsa-sha256; cv=none; b=BvuBqF3i07BR5Qj9UTYRMNjSLB2R89c6QSggy8Ymib1MX+v5bF0O9oZJ6v7Q8JdODdOavO p7uu7dYu10UGaq8bYJKNcDJ9DsJcgmecntCUbLtZiB1+e/TA/JJA0bbixV7LNB77TfMdep H/nitUKRsjG4kD0Of2HTQKhE3S7jRD6gAj98sXs5Vlsrvw1ktQ4cZaqDkclbppX9Xv/JdB kjYBIpHSe9tywU/etlltDVihzqUEJZugErqWFAJLk4pNY7R+IK34UdKTnNczGN5c628kt6 A0AUQwKXoz4J8FkqlBAsRHQymTsEvZydunteJ0oaHAUb2FGGluB0z6tMUAJHrw== 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=1741975513; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=gn4PpIxSGTPk3a5Nej/oUS/2lp3GPZJ2YZC21O78wsU=; b=lPGt2fdUVRs5qEwLFG+d65AVHc7qSUprLsl//SYCs7FdWf9wu+zrxpjjkG7XwnE+CZRc+M 7n5bKMm6vyt0daBOmysyyII1VzGvb/SRJqCu7nKpgavuVpATPWSd28wE03ZYXx6sEO/9Kt tBsIRL55SoHVpByAxpzlLELY5GYk5LSiXitSgiLe/PHqoVN4SeTDRSDMJH0dDUhEJBg2jE Q9tVPUIWF7etI3OFSDu32RYQiLFFRD50ZSZ4vunNypPkw6gyPrfA7uQG1WtuaDvonmye+r 4gFQBi3O0kUotTvvsEcgbM+ha1L1ishb1xei0UJf/iqdw+GsEA8Dqj+mugNJEg== Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) (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 4ZDsj50J5yz6vG; Fri, 14 Mar 2025 18:05:13 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-qt1-f169.google.com with SMTP id d75a77b69052e-47680c117fdso1875461cf.2; Fri, 14 Mar 2025 11:05:13 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCW2yLTkYGbnJ658Y1t80ALKW7s1aB7t0qYJ3/+lQQtfziFIzSLfGKxWjD22Wr37eWvkp2zXmKN352wZLsIdHn2rHOD6cqE=@freebsd.org, AJvYcCXKOhgatJXTJ/YJVj4AMR3HaRoJKszldQegka32A883W8Zl65IPlUDSR3Eb4p6RvAdDmz2+eUPfE/Lc/4xNvTNTfmAW@freebsd.org X-Gm-Message-State: AOJu0YwWFOfm0C683PyZwIl3qnyx7Agg8S6EhOFQePKwbZOcKTHEN+j3 d8MP8IbQeAGbMCwpAPhpIf4izQCjH5UF0TK9L2Kg8MJiXvymn75Sa98psvK0/1KFdxxtaZoocCc KkL9FdRZ5G6iUI0K02eIz44gyVbk= X-Google-Smtp-Source: AGHT+IHo0mzms2DNw8Tdzh01BJmtu6ziAKTiyvpww1wfsksfHuMFxWWK9os05OGuaOGJEVYiG1uE3HPia6vO4hxp40M= X-Received: by 2002:ac8:5f51:0:b0:476:add4:d2b6 with SMTP id d75a77b69052e-476c810b961mr18755291cf.1.1741975512174; Fri, 14 Mar 2025 11:05:12 -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: <202503141729.52EHTYis008114@gitrepo.freebsd.org> In-Reply-To: <202503141729.52EHTYis008114@gitrepo.freebsd.org> From: Nuno Teixeira Date: Fri, 14 Mar 2025 18:04:57 +0000 X-Gmail-Original-Message-ID: X-Gm-Features: AQ5f1JqpKu_CL03k70NssnYe_9qHJCq6vXHVGNkEBK4kbS2PFCNdgyczgi-IO3I Message-ID: Subject: Re: git: 1cae7121c667 - main - Enable LLVM_BINUTILS by default To: Ed Maste Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000009c575b06305147fd" --0000000000009c575b06305147fd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello Ed, I have a newbie question about building world/kernel with LTO. I did not found too much info googling, but I found https://wiki.freebsd.org/LinkTimeOptimization and it says: Build and link a kernel with: WITHOUT_CTF=3Dyes WITHOUT_DTRACE=3Dyes sys/conf/kern.mk -flto=3Dthin (for all clang invocations) Is this the correct way to test LTO atm? Thanks, Ed Maste escreveu (sexta, 14/03/2025 =C3=A0(s) 17:29): > The branch main has been updated by emaste: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D1cae7121c667d9caf205832cf45fd02= af3157e6f > > commit 1cae7121c667d9caf205832cf45fd02af3157e6f > Author: Ed Maste > AuthorDate: 2021-07-12 19:32:00 +0000 > Commit: Ed Maste > CommitDate: 2025-03-14 17:29:06 +0000 > > Enable LLVM_BINUTILS by default > > Starting in 2014 FreeBSD migrated from GNU binutils to ELF Tool Chain > tools. At that time there were no usable LLVM versions of those tool= s, > but they have been developing rapidly since then. Migrate to LLVML's > tools for both functionality and maintainability reasons. > > This will eventually support the use of link-time optimization (LTO) = in > the FreeBSD base system. LTO runs optimization passes over the entir= e > executable (or library) at link time and thus allows for more effecti= ve > optimization than when performed on individual compilation units. > > When using LTO object files (.o) including those contained in static > library archives (.a) contain LLVM IR bitcode rather than target > object code. This means that utilities that operate on object files > need to support LLVM IR. > > As with ELF Tool Chain the LLVM tools aim for command line and output > format compatibility with GNU binutils, although there are a few mino= r > differences. Where these cause a material issue (breaking a port or > eliminating required functionality) we can submit LLVM bugs and work > on patches. > > PR: 258872 (exp-run) > Reviewed by: bapt > Sponsored by: The FreeBSD Foundation > Differential Revision: https://reviews.freebsd.org/D49361 > --- > UPDATING | 5 +++++ > share/man/man5/src.conf.5 | 16 ++++++++++++---- > share/mk/src.opts.mk | 2 +- > 3 files changed, 18 insertions(+), 5 deletions(-) > > diff --git a/UPDATING b/UPDATING > index 15941028c5bb..6989bb7c7f99 100644 > --- a/UPDATING > +++ b/UPDATING > @@ -27,6 +27,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: > world, or to merely disable the most expensive debugging > functionality > at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf"= .) > > +20250314: > + We now use LLVM's binary utilities (nm, objcopy, etc.) by default= . > + The WITHOUT_LLVM_BINUTILS src.conf(5) knob can be used to revert = to > + ELF Tool Chain tools if desired. > + > 20250303: > Commit 4a77657cbc01 changed the ABI between ipfw(8) and ipfw(4). > Please note that the old ipfw(8) binary will not work with the ne= w > diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 > index 30b5d308724a..321eea708d04 100644 > --- a/share/man/man5/src.conf.5 > +++ b/share/man/man5/src.conf.5 > @@ -1,5 +1,5 @@ > .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman= . > -.Dd January 31, 2025 > +.Dd March 14, 2025 > .Dt SRC.CONF 5 > .Os > .Sh NAME > @@ -933,9 +933,8 @@ the build. > To be able to build the system an alternate linker must be provided via > XLD. > .It Va WITHOUT_LLVM_ASSERTIONS > Disable debugging assertions in LLVM. > -.It Va WITH_LLVM_BINUTILS > -Install LLVM's binutils (without an llvm- prefix), > -instead of ELF Tool Chain's tools. > +.It Va WITHOUT_LLVM_BINUTILS > +Install ELF Tool Chain's binary utilities instead of LLVM's. > This includes > .Xr addr2line 1 , > .Xr ar 1 , > @@ -1762,6 +1761,15 @@ When set, it enforces these options: > .It > .Va WITHOUT_LLVM_COV > .El > +.Pp > +When set, these options are also in effect: > +.Pp > +.Bl -inset -compact > +.It Va WITHOUT_LLVM_BINUTILS > +(unless > +.Va WITH_LLVM_BINUTILS > +is set explicitly) > +.El > .It Va WITH_UBSAN > Build the base system with Undefined Behavior Sanitizer (UBSan) to detec= t > various kinds of undefined behavior at runtime. > diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk > index f3141884cd00..ef8711db713f 100644 > --- a/share/mk/src.opts.mk > +++ b/share/mk/src.opts.mk > @@ -124,6 +124,7 @@ __DEFAULT_YES_OPTIONS =3D \ > LLD \ > LLD_BOOTSTRAP \ > LLVM_ASSERTIONS \ > + LLVM_BINUTILS \ > LLVM_COV \ > LLVM_CXXFILT \ > LOADER_BIOS_TEXTONLY \ > @@ -208,7 +209,6 @@ __DEFAULT_NO_OPTIONS =3D \ > HESIOD \ > LOADER_VERBOSE \ > LOADER_VERIEXEC_PASS_MANIFEST \ > - LLVM_BINUTILS \ > LLVM_FULL_DEBUGINFO \ > MALLOC_PRODUCTION \ > OFED_EXTRA \ > > --=20 Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --0000000000009c575b06305147fd Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello Ed,

I have a newbie qu= estion about building world/kernel with LTO.
I did not found too = much info googling, but I found https://wiki.freebsd.org/LinkTimeOptimization and it say= s:

Build and link a kernel with:

WITHOUT_CTF= =3Dyes
WITHOUT_DTRACE=3Dyes
sys/conf/kern.= mk -flto=3Dthin (for all clang invocations)

Is this the c= orrect way to test LTO atm?

Thanks,
Ed Maste <emaste@free= bsd.org> escreveu (sexta, 14/03/2025 =C3=A0(s) 17:29):
The branch main has been upda= ted by emaste:

URL: https://cgit.= FreeBSD.org/src/commit/?id=3D1cae7121c667d9caf205832cf45fd02af3157e6f
commit 1cae7121c667d9caf205832cf45fd02af3157e6f
Author:=C2=A0 =C2=A0 =C2=A0Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2021-07-12 19:32:00 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Ed Maste <emaste@FreeBSD.org>
CommitDate: 2025-03-14 17:29:06 +0000

=C2=A0 =C2=A0 Enable LLVM_BINUTILS by default

=C2=A0 =C2=A0 Starting in 2014 FreeBSD migrated from GNU binutils to ELF To= ol Chain
=C2=A0 =C2=A0 tools.=C2=A0 At that time there were no usable LLVM versions = of those tools,
=C2=A0 =C2=A0 but they have been developing rapidly since then.=C2=A0 Migra= te to LLVML's
=C2=A0 =C2=A0 tools for both functionality and maintainability reasons.

=C2=A0 =C2=A0 This will eventually support the use of link-time optimizatio= n (LTO) in
=C2=A0 =C2=A0 the FreeBSD base system.=C2=A0 LTO runs optimization passes o= ver the entire
=C2=A0 =C2=A0 executable (or library) at link time and thus allows for more= effective
=C2=A0 =C2=A0 optimization than when performed on individual compilation un= its.

=C2=A0 =C2=A0 When using LTO object files (.o) including those contained in= static
=C2=A0 =C2=A0 library archives (.a) contain LLVM IR bitcode rather than tar= get
=C2=A0 =C2=A0 object code.=C2=A0 This means that utilities that operate on = object files
=C2=A0 =C2=A0 need to support LLVM IR.

=C2=A0 =C2=A0 As with ELF Tool Chain the LLVM tools aim for command line an= d output
=C2=A0 =C2=A0 format compatibility with GNU binutils, although there are a = few minor
=C2=A0 =C2=A0 differences.=C2=A0 Where these cause a material issue (breaki= ng a port or
=C2=A0 =C2=A0 eliminating required functionality) we can submit LLVM bugs a= nd work
=C2=A0 =C2=A0 on patches.

=C2=A0 =C2=A0 PR:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0258872 (ex= p-run)
=C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 bapt
=C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0The FreeBSD Foundation
=C2=A0 =C2=A0 Differential Revision: https://reviews.freebsd.org/D= 49361
---
=C2=A0UPDATING=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 |=C2=A0 5 +++++
=C2=A0share/man/man5/src.conf.5 | 16 ++++++++++++----
=C2=A0share/mk/src.opts.mk=C2=A0 =C2=A0 =C2=A0 |=C2=A0 2 +-
=C2=A03 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/UPDATING b/UPDATING
index 15941028c5bb..6989bb7c7f99 100644
--- a/UPDATING
+++ b/UPDATING
@@ -27,6 +27,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 world, or to merely disable the most expensive = debugging functionality
=C2=A0 =C2=A0 =C2=A0 =C2=A0 at runtime, run "ln -s 'abort:false,ju= nk:false' /etc/malloc.conf".)

+20250314:
+=C2=A0 =C2=A0 =C2=A0 =C2=A0We now use LLVM's binary utilities (nm, obj= copy, etc.) by default.
+=C2=A0 =C2=A0 =C2=A0 =C2=A0The WITHOUT_LLVM_BINUTILS src.conf(5) knob can = be used to revert to
+=C2=A0 =C2=A0 =C2=A0 =C2=A0ELF Tool Chain tools if desired.
+
=C2=A020250303:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Commit 4a77657cbc01 changed the ABI between ipf= w(8) and ipfw(4).
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Please note that the old ipfw(8) binary will no= t work with the new
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index 30b5d308724a..321eea708d04 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -1,5 +1,5 @@
=C2=A0.\" DO NOT EDIT-- this file is @generated by tools/build/options= /makeman.
-.Dd January 31, 2025
+.Dd March 14, 2025
=C2=A0.Dt SRC.CONF 5
=C2=A0.Os
=C2=A0.Sh NAME
@@ -933,9 +933,8 @@ the build.
=C2=A0To be able to build the system an alternate linker must be provided v= ia XLD.
=C2=A0.It Va WITHOUT_LLVM_ASSERTIONS
=C2=A0Disable debugging assertions in LLVM.
-.It Va WITH_LLVM_BINUTILS
-Install LLVM's binutils (without an llvm- prefix),
-instead of ELF Tool Chain's tools.
+.It Va WITHOUT_LLVM_BINUTILS
+Install ELF Tool Chain's binary utilities instead of LLVM's.
=C2=A0This includes
=C2=A0.Xr addr2line 1 ,
=C2=A0.Xr ar 1 ,
@@ -1762,6 +1761,15 @@ When set, it enforces these options:
=C2=A0.It
=C2=A0.Va WITHOUT_LLVM_COV
=C2=A0.El
+.Pp
+When set, these options are also in effect:
+.Pp
+.Bl -inset -compact
+.It Va WITHOUT_LLVM_BINUTILS
+(unless
+.Va WITH_LLVM_BINUTILS
+is set explicitly)
+.El
=C2=A0.It Va WITH_UBSAN
=C2=A0Build the base system with Undefined Behavior Sanitizer (UBSan) to de= tect
=C2=A0various kinds of undefined behavior at runtime.
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index f3141884cd00..ef8711db713f 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -124,6 +124,7 @@ __DEFAULT_YES_OPTIONS =3D \
=C2=A0 =C2=A0 =C2=A0LLD \
=C2=A0 =C2=A0 =C2=A0LLD_BOOTSTRAP \
=C2=A0 =C2=A0 =C2=A0LLVM_ASSERTIONS \
+=C2=A0 =C2=A0 LLVM_BINUTILS \
=C2=A0 =C2=A0 =C2=A0LLVM_COV \
=C2=A0 =C2=A0 =C2=A0LLVM_CXXFILT \
=C2=A0 =C2=A0 =C2=A0LOADER_BIOS_TEXTONLY \
@@ -208,7 +209,6 @@ __DEFAULT_NO_OPTIONS =3D \
=C2=A0 =C2=A0 =C2=A0HESIOD \
=C2=A0 =C2=A0 =C2=A0LOADER_VERBOSE \
=C2=A0 =C2=A0 =C2=A0LOADER_VERIEXEC_PASS_MANIFEST \
-=C2=A0 =C2=A0 LLVM_BINUTILS \
=C2=A0 =C2=A0 =C2=A0LLVM_FULL_DEBUGINFO \
=C2=A0 =C2=A0 =C2=A0MALLOC_PRODUCTION \
=C2=A0 =C2=A0 =C2=A0OFED_EXTRA \



--
Nuno Teixeira
=
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--0000000000009c575b06305147fd-- From nobody Fri Mar 14 18:45: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 4ZDtb55Pjxz5qZmV; Fri, 14 Mar 2025 18:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDtb54K4Lz3lDQ; Fri, 14 Mar 2025 18:45:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741977905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/exwp9Aj1KRTNBnvDfEp74xbWphHG+RieGcSU30+tfw=; b=eWXQ46ockVgx92E9kc2dLTQpklnSpO7mQFDKbReMujkiKA0bZ1rbIOYTNQT3zj7TD1bW1f PtikoKLCoNXYWN8kIoWC4e2PX5YItqJae2RAgeAvtKzo4G5xwJYA3n8kfNkAPJTBjV20+7 5CjDXgogrqYnlND+ySa0pAHwhqZlvdst7LqZvVjNS30UHCc4KRsX2HWYASyZ4jsMdIYrN1 lqyOhQ/Ku8K4E3mW0ESZfVM2ju/I8fN8S3rDGkjdDJkfklyklGZiH4ks5mN8teEitjIPu4 aoCueGMiIfnaT+Mjqxs4v+N30owD7knewaHfVcb5Xbno4tYJLlHe4VJ26b8DeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741977905; a=rsa-sha256; cv=none; b=VWSsHtDA9679ZIs8TQA+56/jY3LZbloosTmUW5d4/ePRKIu3iz8Vh0iimKQqH3/2rgkbzM Ju3EuzJhlP1hyHT4XX3rjNdy+QmTkEddtZq3zEAtycU0/pXEKAztU1CyYj3UJ0JjlzGbAh UqkNQ9r3Sib0zIYULKfGKk7/zVmABrPHI/r6ju5FFOu4b15eZSpYmr7N2Vp/z2Xf3CeiP6 iWau3TjULib5JEkBrrFe9j1TVPVcTqF/F2ovBm+2Y4and0q1HxHl8Iw8MIuD36FP9ZMVak EY1SR6hNDZC+8d3X7kd4CO4IWq4LvgRo/YfsqEefn9kopfWeOXPqMW2rItPvlg== 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=1741977905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/exwp9Aj1KRTNBnvDfEp74xbWphHG+RieGcSU30+tfw=; b=H7N/Ztf5nInWI0jUUqCXW3Xw07Uws6Cj4VW+Ts/vw+b9tLRJyKRRSUKFXWz/yHZlX4gMH9 YlDDgb7tXhB4xz6i3NE7L8LL8H4U2QPdCsUWcUfRRO9HzMlkKECedlVT/wcUy3n8tqZvjS m61M1zeQjBazDTCI90/bEW+Wwi7YxwStMh9ZzEPYk+wE+Yiek1OXapuUQjqSPHSwTi994P lTFMpnLZAlYKIefVcbrXfnCv9AftrCC9Yf8dsS8Nlw9dx8EtdNyGXj6Pjk7OQ2xL60k7k4 31c4lN2eGjsy6D+iYzYLM1/Upu6qwVZaTr19IxcB+88V18uWpPO9lOAZtzjbHw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDtb53bm6zwjv; Fri, 14 Mar 2025 18:45: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 52EIj5sh056675; Fri, 14 Mar 2025 18:45:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52EIj5Qj056672; Fri, 14 Mar 2025 18:45:05 GMT (envelope-from git) Date: Fri, 14 Mar 2025 18:45:05 GMT Message-Id: <202503141845.52EIj5Qj056672@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: 55c3348ed78f - main - acpi_pci: Add quirk for DELAY-after-EJ0 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: 55c3348ed78fb1d0891e8bb51a8948f95da3560b Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=55c3348ed78fb1d0891e8bb51a8948f95da3560b commit 55c3348ed78fb1d0891e8bb51a8948f95da3560b Author: Colin Percival AuthorDate: 2025-03-06 05:22:33 +0000 Commit: Colin Percival CommitDate: 2025-03-14 18:35:35 +0000 acpi_pci: Add quirk for DELAY-after-EJ0 On some EC2 instances, there is a race between removing a device from the system and making the PCI bus stop reporting the presence of the device. As a result, a PCI BUS_RESCAN performed immediately after the _EJ0 method returns "sees" the device which is being ejected, which then causes problems later (e.g. we won't recognize a new device being plugged into that slot because we never knew it was vacant). On other operating systems the bus is synchronously marked as needing to be rescanned but the rescan does not occur until O(1) seconds later. Create a new ACPI_Q_DELAY_BEFORE_EJECT_RESCAN quirk and set it in EC2 AMIs, and add a 10 ms DELAY between _EJ0 and BUS_RESCAN when tht quirk is set. Reviewed by: jhb MFC after: 1 month Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49252 --- release/tools/ec2.conf | 5 +++-- sys/dev/acpica/acpi_pci.c | 2 ++ sys/dev/acpica/acpivar.h | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index a8fc3854a0e2..4f78e5913e56 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -75,8 +75,9 @@ ec2_common() { # (in fact the PL061 has no pullup/pulldown resistors). Graviton 1 # through Graviton 3 have non-functional PCI _EJ0 and need a value # written to the PCI power status register in order to eject a - # device. - echo 'debug.acpi.quirks="24"' >> ${DESTDIR}/boot/loader.conf + # device. EC2 instances with PCI (not PCIe) buses need a short + # delay before rescanning upon device detach. + echo 'debug.acpi.quirks="56"' >> ${DESTDIR}/boot/loader.conf # Load the kernel module for the Amazon "Elastic Network Adapter" echo 'if_ena_load="YES"' >> ${DESTDIR}/boot/loader.conf diff --git a/sys/dev/acpica/acpi_pci.c b/sys/dev/acpica/acpi_pci.c index 97704111839b..b7a2bf70b4e0 100644 --- a/sys/dev/acpica/acpi_pci.c +++ b/sys/dev/acpica/acpi_pci.c @@ -432,6 +432,8 @@ acpi_pci_device_notify_handler(ACPI_HANDLE h, UINT32 notify, void *context) acpi_name(h), AcpiFormatException(status)); return; } + if (acpi_quirks & ACPI_Q_DELAY_BEFORE_EJECT_RESCAN) + DELAY(10 * 1000); BUS_RESCAN(dev); bus_topo_unlock(); break; diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h index 830764434f48..d35504127c9c 100644 --- a/sys/dev/acpica/acpivar.h +++ b/sys/dev/acpica/acpivar.h @@ -232,6 +232,8 @@ extern struct mtx acpi_mutex; * as "PullUp" and they should be treated as "NoPull" instead. * ACPI_Q_CLEAR_PME_ON_DETACH: Specifies that PCIM_PSTAT_(PME & ~PMEENABLE) * should be written to the power status register as part of ACPI Eject. + * ACPI_Q_DELAY_BEFORE_EJECT_RESCAN: Specifies that we need a short (10ms) + * delay after _EJ0 returns before rescanning the PCI bus. */ extern int acpi_quirks; #define ACPI_Q_OK 0 @@ -240,6 +242,7 @@ extern int acpi_quirks; #define ACPI_Q_MADT_IRQ0 (1 << 2) #define ACPI_Q_AEI_NOPULL (1 << 3) #define ACPI_Q_CLEAR_PME_ON_DETACH (1 << 4) +#define ACPI_Q_DELAY_BEFORE_EJECT_RESCAN (1 << 5) #if defined(__amd64__) || defined(__i386__) /* From nobody Fri Mar 14 20:20: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 4ZDwhy0fZrz5qj0p; Fri, 14 Mar 2025 20:20:18 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-il1-f181.google.com (mail-il1-f181.google.com [209.85.166.181]) (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 4ZDwhx4zNYz3gss; Fri, 14 Mar 2025 20:20:17 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-il1-f181.google.com with SMTP id e9e14a558f8ab-3ce868498d3so9948855ab.3; Fri, 14 Mar 2025 13:20:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741983616; x=1742588416; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=OLQwqAhhUi/HM99f1NOruXYWyUrC11n2GCHRTZULE2A=; b=JyibPMbemQACjR8v7PHU3Xtga8vjS1ZiW9WMMRdy/YZC+TW2dprxHBJFkdlGItmoI7 Kl9mUQ/WW6KaCOklljc+D4PF66QlCc8ZV3meFerYBsyX9Zsrk2E7a+YxM03UKjNy9aOt vvNy97YvvLgm8dQRKF7t5GfUQe8mAE9Zl9ABs6OjLg47m8xW80wmCU3fLgWIjnpRSPJR pwG9/Iw3gHr5ojTjPC52zuWFxqw0FU5aXx5VXQfF6Bl2DpKavjD9bxRsKZsXr/9IiMbF XaxcG2toqxewb+pdZs3ZvAJPum52Vga4wP3iLUz+NG2Y/a3rKDJpGlYEAhliQlAKVqPX 2ytQ== X-Forwarded-Encrypted: i=1; AJvYcCUPwgyZyWhMf9S9p4fk+nlQFb1Hg03a1xVvqBWoNVkOrAkdMAe7zALUiQtCWhanSrwDO3BOHBC4KK3Fx3T/2VfNyrkk@freebsd.org, AJvYcCXDvcWEl4qi70OHXk8MKcirmtzcuCubg8rwhGtHxjqn7vC0dEdwIPjAZFLz/lqyrvyVsKe9AkTS7BhsgfPJelUwkUbTriI=@freebsd.org X-Gm-Message-State: AOJu0YwY4F5vYXVjiAT2ldZv4txbdTyBTDAWDXOTlURAFUjRubKAuDW9 kOkPA+/AnbR1uEe8wk9kw5Q7sfzZWQ6icFagoxeKgDkIqrvvYrniPBwhMbfy2bF/AsVnUUVLq6W 1AzJAzdW3l0OGLIATVnpCbxVgUA4bXQ== X-Gm-Gg: ASbGnctROwhlwBGBUvziZ8jCGx+8eH9vxxkKze39zJxSOs+a6X7FRMjjEvy061e3iUa sEsxOAk/bP6LaPwcVm+6X7NL5rLA6KGHZu9IUTrLDScO8XOifxsEaTdGtjSFEfQWZ1K0AXNU17n FTelkAwciOq5XG6LUTnLWjliC44UCM/+fxBJkecKK4xWgTJjSiEuP6Zu/aznSi X-Google-Smtp-Source: AGHT+IGhzfmyepR/SQJdpjURhRWINujdwx/udgOY+Q/yq2auGYEAMEZD+1euo1cHw8x5Dg3ZF0YNC6PjT9yg7crc554= X-Received: by 2002:a05:6e02:1fe4:b0:3d1:863e:5536 with SMTP id e9e14a558f8ab-3d483a6cea6mr46794875ab.18.1741983615662; Fri, 14 Mar 2025 13:20:15 -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: <202503141729.52EHTYis008114@gitrepo.freebsd.org> In-Reply-To: From: Ed Maste Date: Fri, 14 Mar 2025 16:20:04 -0400 X-Gm-Features: AQ5f1JpE2WPSgKqOsjigXhVg1-rntR11Xr8Jqo1Dx0ybqOH3r6EuvipI26IJCYc Message-ID: Subject: Re: git: 1cae7121c667 - main - Enable LLVM_BINUTILS by default To: Nuno Teixeira Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" 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: 4ZDwhx4zNYz3gss X-Spamd-Bar: ---- On Fri, 14 Mar 2025 at 14:05, Nuno Teixeira wrote: > > Hello Ed, > > I have a newbie question about building world/kernel with LTO. > I did not found too much info googling, but I found https://wiki.freebsd.org/LinkTimeOptimization and it says: > > Build and link a kernel with: > > WITHOUT_CTF=yes > WITHOUT_DTRACE=yes > sys/conf/kern.mk -flto=thin (for all clang invocations) > > Is this the correct way to test LTO atm? That page is pretty much completely out of date, unfortunately. Eventually we want to have user-facing knobs for this (for example, WITH_KERNEL_LTO in src.conf) but for experimentation you need to add -flto or -flto=thin to the compiler and linker invocations. This should be possible by setting CFLAGS and LDFLAGS on the command line or by editing kern.mk. From nobody Fri Mar 14 20:21: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 4ZDwkm1ykcz5qhwK; Fri, 14 Mar 2025 20:21:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDwkm024Nz3hyn; Fri, 14 Mar 2025 20:21:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741983712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CTUrw0gRLSVwQDSBdWDgZVDP3/c1QtFPJqsDF5vSN8A=; b=fQ7WOH3lauLODw8HgToFzFmDmZ2u7FhlAaEcQLrRahuNKeWWjA+ZdXhbyODB96vericJaQ wcQrn1Drp+aWHyNZMcwgwGgHL/VMiJYRxmI90VF7poYVnj2EPv7vIpR/NAPwZR/0TgTeU9 zVWmXVsDnz2z/7WEND75IHSCa0FDKKbhMBjxRkbCfgVDlbvUbf3fWoxDYTkn8x5RTHZ4aF QBLg1DUHtOj8id3Hq1Vdoe2acNJGB3yfS6vC4FYzRhVUAVTMIL03jtBNk0kogeq86FnjAi MN9G0YL7sn940dzAqNT9OsU5HO3A6cmvgjGLOajebNyOS6wy8Fn/+82YtaM9YQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741983712; a=rsa-sha256; cv=none; b=DmklTzRGptJOn9NW91PiosVcPqRLkTrhX5I0RwUsogOlK5OJIAujVpiWYmdzRfztVdUOeI cObqxojKRTwot2I6bE9YbNqwAgI0X69LZ1cwuTQGdwJpDvRtM2xgn0WKSKmwczgDWKrpBr +KkfB5Hpz3Zug9sfOh72HOmGjvCG2MT4TsYoyHqh/yPa3W5n8wRJNfyaPykPNmM2Sb7AXm oWrLkL671vujqfXN7F+sxLPz5E6qR6A9BKBplg8fBLSqgUUPyA+QUIFTOxSQnULdzK2XlP 7cYdlILBH9gl/Gg9uWOwIcspBHUODrMyR0yHF++jfrQxWMnstaJ7IqAUKFCFkg== 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=1741983712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CTUrw0gRLSVwQDSBdWDgZVDP3/c1QtFPJqsDF5vSN8A=; b=IFR9iNvJVRLt1mgzqrrz5mZ5nYi/z9KjH/ODKdW3aB+eCPYlo8zDhUfSu5o5ssJavRU9EW 9XD1nsXUAILJne614S7gRDFD0u7Qib1lR1Knh7Cib0OaAaaQBPEvTGHBM4RDz7WVazm49a EMLTQyDBKSXZm/sKO3+D9TuNnzbpxh9C3KvAYWbXf+HPNhAyOn9EDWlQvPYYz6m6MbEiUE tWsHFu5i5e+PqumurjOPglpnjRdF4532DqxILMxWwxCQI02l8ulQX+K2hfoMkemi5z31uR BN3lqbOAzFEbwtmbgAH1RSTAVgD3qttv0wbT5jjpEI3zddVpzU5W4pCm08dXyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDwkl5phwz10P8; Fri, 14 Mar 2025 20:21: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 52EKLpfj038934; Fri, 14 Mar 2025 20:21:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52EKLpmG038931; Fri, 14 Mar 2025 20:21:51 GMT (envelope-from git) Date: Fri, 14 Mar 2025 20:21:51 GMT Message-Id: <202503142021.52EKLpmG038931@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: 222c850503d1 - main - kern.mk: Update SSP comment (not limited to GCC) 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: 222c850503d1cbd5293c04987181a74b9dbe3fcf Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=222c850503d1cbd5293c04987181a74b9dbe3fcf commit 222c850503d1cbd5293c04987181a74b9dbe3fcf Author: Ed Maste AuthorDate: 2025-03-14 20:21:07 +0000 Commit: Ed Maste CommitDate: 2025-03-14 20:21:34 +0000 kern.mk: Update SSP comment (not limited to GCC) Sponsored by: The FreeBSD Foundation --- sys/conf/kern.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index 78a160e73cde..653a798778c4 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -233,7 +233,7 @@ CFLAGS+= -ffreestanding CFLAGS+= -fwrapv # -# GCC SSP support +# Stack Smashing Protection (SSP) support # .if ${MK_SSP} != "no" CFLAGS+= -fstack-protector From nobody Fri Mar 14 21:06: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 4ZDxkZ6Y3tz5qm1t; Fri, 14 Mar 2025 21:06:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZDxkZ63TZz3CCy; Fri, 14 Mar 2025 21:06:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741986406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=epzJaUX3qAy5u1KnijJFUX54thCl/XHJEU5Hecd0BOk=; b=jfVQGcInLo4P6W8q+CwHbHIZOUrRVeTPHwM8pvpdvpIFVsmUujlZSRoG7GAUkHuARLq8tr Te5EkcAiW4Xp7YlCwc6hailyx2VOuMbOMqz3qIBCukMt69MYlbrdV8I/vGKeYak240BCkq Gj8QESsGHbGCh7W21rRAGpRWnEsL5cLM1Q702+Gd1R1ckV7n7B730+VCNjBC9AXtEpJduJ OjDC//79AMQp83XGEzggzmIOEu+KNhS582SR6I0qMMz/SsH2ehFL2KFjFZt8tJwChOGJ+5 e9p3xzdDEeGLySUNSIIFvqEqXU14HLLVq1UDrRdfbBMB9XS3R5W/KbMDXi3ieQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741986406; a=rsa-sha256; cv=none; b=F1UPMMo89RyBT6SkLwNABNuvMkP40FgdQProoFFrT+8EhwLpHwoRzQ8465xeF4ZurLut+u DoQWS801u85Xh12v7zlb7RXM9vf/f1rs4nYqu/HK5jDcdLRZoh9hIfG0u+8FN+Ann9N35c IUUjsPK51fFeB58KY3PzGcJtKSU8Ye8qpx8R2hfrDd5nA4hdysRm7iiJYnH7Md4n0gtIWP rxXKknGjng9AifxpgG5rJEbhp5SiZk/VtIvFv3Xwc6ol6iqIF16w3vIGiXRD2PJN+RVfId dSDDrjDSu4yo7d0IUq3bUC6BZqLt18kFUcaMTdSZ0lfhmq9v8rAKpgWhUYqEQg== 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=1741986406; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=epzJaUX3qAy5u1KnijJFUX54thCl/XHJEU5Hecd0BOk=; b=tesLiZg9RCfJgh7YSu7ORpboYk3grz+jNhz3GUizMxv7hF69PWVNjdh2tcADuBvqeWtg6T 4BmJeABMfZkv/OdOUKHHDK6obCLSIaXU4upju+Mj+TooQAmyiYlPbeQUoTiv2bEfRK+ZNs sAncr/2q7NDZaIFF71m1FWX1PgeFxFBOuUgt1NxxR2M/mHhiZqpVe92U+9t0enk3qfCl2R 5FcaKhkN9LKZWkw4yEGlROHd6imDe0Ql9BfLBWfircTykIfCGov59wZhzhYVJ4oZa1UUNh 59Md7JVzTkrr0ILzVLDgz2q8ITrqTYwHA1iY6XDkvykE70suqDaSIzzBhcZGig== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZDxkZ5d0Nz11VD; Fri, 14 Mar 2025 21:06: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 52EL6kSC019906; Fri, 14 Mar 2025 21:06:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52EL6kPi019903; Fri, 14 Mar 2025 21:06:46 GMT (envelope-from git) Date: Fri, 14 Mar 2025 21:06:46 GMT Message-Id: <202503142106.52EL6kPi019903@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: 36782aaba4f1 - main - wlanstats: update usage, improve 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 36782aaba4f1a7d054aa405357a8fa2bc0f94eb0 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=36782aaba4f1a7d054aa405357a8fa2bc0f94eb0 commit 36782aaba4f1a7d054aa405357a8fa2bc0f94eb0 Author: Ceri Davies AuthorDate: 2025-03-14 20:49:39 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-03-14 21:04:51 +0000 wlanstats: update usage, improve man page wlanstats prints the wrong usage statement, including a nonexistent -a flag (*) and a description of -m that suggests multiple arguments. Make the manpage slightly more clear. (*) the implementation of that is #if 0 and the option was disabled in 530c13c5401c. Sponsored by: The FreeBSD Foundation (commit) PR: 285413 MFC after: 3 days Reviewed by: ziaee Differential Revision: https://reviews.freebsd.org/D49365 --- usr.sbin/wlanstats/main.c | 2 +- usr.sbin/wlanstats/wlanstats.8 | 19 +++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/usr.sbin/wlanstats/main.c b/usr.sbin/wlanstats/main.c index ac100a70622e..85d10ad9012a 100644 --- a/usr.sbin/wlanstats/main.c +++ b/usr.sbin/wlanstats/main.c @@ -158,7 +158,7 @@ static void usage(void) { - printf("wlanstats: [-ah] [-i ifname] [-l] [-m station MAC address] [-o fmt] [interval]\n"); + printf("wlanstats: [-h] [-i ifname] [-l] [-m station_MAC_address] [-o fmt] [interval]\n"); } int diff --git a/usr.sbin/wlanstats/wlanstats.8 b/usr.sbin/wlanstats/wlanstats.8 index e032835bac43..a8127726dd61 100644 --- a/usr.sbin/wlanstats/wlanstats.8 +++ b/usr.sbin/wlanstats/wlanstats.8 @@ -6,7 +6,7 @@ .\" .\" SPDX-License-Identifier: BSD-2-Clause .\" -.Dd February 20, 2025 +.Dd March 14, 2025 .Dt WLANSTATS 8 .Os .Sh NAME @@ -14,11 +14,10 @@ .Nd query 802.11 wireless network statistics .Sh SYNOPSIS .Nm -.\" .Op Fl a .Op Fl h .Op Fl i Ar ifnet .Op Fl l -.Op Fl m Ar station MAC address +.Op Fl m Ar station_MAC_address .Op Fl o Ar fmt .Op interval .Sh DESCRIPTION @@ -44,19 +43,19 @@ Report information for the specified instead of the default .Em wlan0 . .It Fl l -List all fields names and their descriptions. -.It Fl m Ar station MAC address +List all field names and their descriptions. +.It Fl m Ar station_MAC_address Request information for the station specified by the given -.Ar MAC address. +.Ar MAC_address . .It Fl o Ar fmt Set format of fields to query. -This can be either on of the pre-defined tags: +This can be either a pre-defined tag (one of .Em default , -.Em ampdu , or -.Em amsdu +.Em ampdu , +or +.Em amsdu ) , or a comma separated list of field names without space. .El -.Pp .Sh SEE ALSO .Xr ifconfig 8 , .Xr wlandebug 8 From nobody Sat Mar 15 02: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 4ZF5FN2WHgz5rBFH; Sat, 15 Mar 2025 02: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 4ZF5FN21ZBz3s4j; Sat, 15 Mar 2025 02: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=1742006728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wYRlgQPKRm6Sw0AJn+ZXkje4BxazWVCZZQQLuyMtfGk=; b=iAQ/N9jE8jwjZmFVH7GJO0fta52SdEnq/5/MkcnUSCBGcFmtQugqA7S1GKkZh/K8ZtLt/1 UCjglTDZnX0//tWxFxl7uGfh3GyXYQ+JX/zLstDnYAelTRCJQoufOidXrB0JMnG8pf270n 6d1gtYRZNN3BPq7yqNYPwwc3CSLiK7IK0Afq70oyHN0NkwlMgVQJiRH5kycDdztmR26Uvi Y5P8VjvM7R/AGX4hNijcexqr1EPdNPuQUXrxvxQrD9a+VrcbETShTz3GhOSHIZTNBIGuqD b9XG7KiVeUXaw8QRJjZLdRAATZ7IqNHAHJCtBryQyGn8w4F5rbTBtDNlbB+zoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1742006728; a=rsa-sha256; cv=none; b=buucMQH8DhmvHXo3myM4rpA0Oj/55H1JRGwDssYi52o5XQO6IkStSLpkPHM5eNzeK9Ob9k 65zXrJKev4wQPbx5SIu2e79L4PuvFnfsiKPnFL+gKvZkRv64jIPn2hjJ4LWpjVQvXj1L8Y MUre0mrXFhBEaHUQYRiNAzJeQWWnsRPKYaNg5Ib/2cehp7xt7MqQt0FFTwUeSuiIv2bKmM KIiIscPm/N8rnw0X2vdzV6Ik4wQ7nmCZemeAPJsBlsRm/Fqhdqynqo/u1MsP5hdZ6ubT6T SjjkHb5UsPBeWrkgejc9Up+A3/4Ym+Ueg97uH1MaKNVYlzgUfylrvvzhTWCtFg== 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=1742006728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wYRlgQPKRm6Sw0AJn+ZXkje4BxazWVCZZQQLuyMtfGk=; b=tA8j3oImP9E/JRK2QBrpGx2c67cKhb7ggtohjy/pppal4mqviulcFvtC/I9tgl1H6ZfVVw eeXgqO3kOi3MrAJNf4P/IEYbkRh+XaCFH6V8aRaiA4efA5s39mn/suxP+J1ph4PbOc7Yrk vrxgasXBdEzYGLhjNee12nbw4iRJaARE/4kQXqw+dvVQvBeViv0N/y30BgE+GWnWpo42iJ QFEkfn8Ja9LrER/6lXow2Ujq2xKBl6l1X+TkWHRxPY6DqjZiue0jroF0p7OxmHhZ+0PoVo wZE6zeSet0m8cTqNv3wfDp7bRJSR7HCv7qrwMmmIdA9XMubF6BXNSAXRZSSUSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZF5FN14hQz19dm; Sat, 15 Mar 2025 02:45: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 52F2jR8F053817; Sat, 15 Mar 2025 02: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 52F2jRvl053814; Sat, 15 Mar 2025 02:45:27 GMT (envelope-from git) Date: Sat, 15 Mar 2025 02:45:27 GMT Message-Id: <202503150245.52F2jRvl053814@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: b82d7897595d - main - vm_object: add getpages utility 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: b82d7897595d9b28a2b9861c2e09a943500c28ed Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=b82d7897595d9b28a2b9861c2e09a943500c28ed commit b82d7897595d9b28a2b9861c2e09a943500c28ed Author: Doug Moore AuthorDate: 2025-03-15 02:43:44 +0000 Commit: Doug Moore CommitDate: 2025-03-15 02:43:44 +0000 vm_object: add getpages utility vnode_pager_generic_getpages() and swap_pager_getpages_locked() each include code to read a few pages behind, and a few pages ahead of, a specified page range. The same code can serve each function, and that code is encapsulated in a new vm_object_page function. For the swap case, this also eliminates some needless linked-list traversal. Reviewed by: alc, kib Differential Revision: https://reviews.freebsd.org/D49224 --- sys/vm/swap_pager.c | 140 +++++++++++++++++---------------------------------- sys/vm/vm_object.c | 58 +++++++++++++++++++++ sys/vm/vm_object.h | 2 + sys/vm/vnode_pager.c | 80 +++++------------------------ 4 files changed, 119 insertions(+), 161 deletions(-) diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 0dee95fb2c5e..7b83ae4bfb7b 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -1344,39 +1344,36 @@ swap_pager_unswapped(vm_page_t m) } /* - * swap_pager_getpages() - bring pages in from swap + * swap_pager_getpages_locked() - bring pages in from swap * * Attempt to page in the pages in array "ma" of length "count". The * caller may optionally specify that additional pages preceding and * succeeding the specified range be paged in. The number of such pages - * is returned in the "rbehind" and "rahead" parameters, and they will + * is returned in the "a_rbehind" and "a_rahead" parameters, and they will * be in the inactive queue upon return. * * The pages in "ma" must be busied and will remain busied upon return. */ static int swap_pager_getpages_locked(struct pctrie_iter *blks, vm_object_t object, - vm_page_t *ma, int count, int *rbehind, int *rahead) + vm_page_t *ma, int count, int *a_rbehind, int *a_rahead, struct buf *bp) { - struct buf *bp; - vm_page_t bm, mpred, msucc, p; vm_pindex_t pindex; - daddr_t blk; - int i, maxahead, maxbehind, reqcount; + int rahead, rbehind; VM_OBJECT_ASSERT_WLOCKED(object); - reqcount = count; KASSERT((object->flags & OBJ_SWAP) != 0, ("%s: object not swappable", __func__)); - if (!swp_pager_haspage_iter(blks, ma[0]->pindex, &maxbehind, - &maxahead)) { + pindex = ma[0]->pindex; + if (!swp_pager_haspage_iter(blks, pindex, &rbehind, &rahead)) { VM_OBJECT_WUNLOCK(object); + uma_zfree(swrbuf_zone, bp); return (VM_PAGER_FAIL); } - KASSERT(reqcount - 1 <= maxahead, - ("page count %d extends beyond swap block", reqcount)); + KASSERT(count - 1 <= rahead, + ("page count %d extends beyond swap block", count)); /* * Do not transfer any pages other than those that are xbusied @@ -1385,95 +1382,43 @@ swap_pager_getpages_locked(struct pctrie_iter *blks, vm_object_t object, * moved into another object. */ if ((object->flags & (OBJ_SPLIT | OBJ_DEAD)) != 0) { - maxahead = reqcount - 1; - maxbehind = 0; - } - - /* - * Clip the readahead and readbehind ranges to exclude resident pages. - */ - if (rahead != NULL) { - *rahead = imin(*rahead, maxahead - (reqcount - 1)); - pindex = ma[reqcount - 1]->pindex; - msucc = TAILQ_NEXT(ma[reqcount - 1], listq); - if (msucc != NULL && msucc->pindex - pindex - 1 < *rahead) - *rahead = msucc->pindex - pindex - 1; - } - if (rbehind != NULL) { - *rbehind = imin(*rbehind, maxbehind); - pindex = ma[0]->pindex; - mpred = TAILQ_PREV(ma[0], pglist, listq); - if (mpred != NULL && pindex - mpred->pindex - 1 < *rbehind) - *rbehind = pindex - mpred->pindex - 1; - } - - bm = ma[0]; - for (i = 0; i < count; i++) - ma[i]->oflags |= VPO_SWAPINPROG; - - /* - * Allocate readahead and readbehind pages. - */ - if (rbehind != NULL) { - pindex = ma[0]->pindex; - /* Stepping backward from pindex, mpred doesn't change. */ - for (i = 1; i <= *rbehind; i++) { - p = vm_page_alloc_after(object, pindex - i, - VM_ALLOC_NORMAL, mpred); - if (p == NULL) - break; - p->oflags |= VPO_SWAPINPROG; - bm = p; - } - *rbehind = i - 1; - } - if (rahead != NULL) { - p = ma[reqcount - 1]; - pindex = p->pindex; - for (i = 0; i < *rahead; i++) { - p = vm_page_alloc_after(object, pindex + i + 1, - VM_ALLOC_NORMAL, p); - if (p == NULL) - break; - p->oflags |= VPO_SWAPINPROG; - } - *rahead = i; - } - if (rbehind != NULL) - count += *rbehind; - if (rahead != NULL) - count += *rahead; - - vm_object_pip_add(object, count); - - pindex = bm->pindex; - blk = swp_pager_meta_lookup(blks, pindex); - KASSERT(blk != SWAPBLK_NONE, + rahead = count - 1; + rbehind = 0; + } + /* Clip readbehind/ahead ranges to exclude already resident pages. */ + rbehind = a_rbehind != NULL ? imin(*a_rbehind, rbehind) : 0; + rahead = a_rahead != NULL ? imin(*a_rahead, rahead - count + 1) : 0; + /* Allocate pages. */ + vm_object_prepare_buf_pages(object, bp->b_pages, count, &rbehind, + &rahead, ma); + bp->b_npages = rbehind + count + rahead; + for (int i = 0; i < bp->b_npages; i++) + bp->b_pages[i]->oflags |= VPO_SWAPINPROG; + bp->b_blkno = swp_pager_meta_lookup(blks, pindex - rbehind); + KASSERT(bp->b_blkno != SWAPBLK_NONE, ("no swap blocking containing %p(%jx)", object, (uintmax_t)pindex)); + vm_object_pip_add(object, bp->b_npages); VM_OBJECT_WUNLOCK(object); - bp = uma_zalloc(swrbuf_zone, M_WAITOK); MPASS((bp->b_flags & B_MAXPHYS) != 0); - /* Pages cannot leave the object while busy. */ - for (i = 0, p = bm; i < count; i++, p = TAILQ_NEXT(p, listq)) { - MPASS(p->pindex == bm->pindex + i); - bp->b_pages[i] = p; - } + + /* Report back actual behind/ahead read. */ + if (a_rbehind != NULL) + *a_rbehind = rbehind; + if (a_rahead != NULL) + *a_rahead = rahead; bp->b_flags |= B_PAGING; bp->b_iocmd = BIO_READ; bp->b_iodone = swp_pager_async_iodone; bp->b_rcred = crhold(thread0.td_ucred); bp->b_wcred = crhold(thread0.td_ucred); - bp->b_blkno = blk; - bp->b_bcount = PAGE_SIZE * count; - bp->b_bufsize = PAGE_SIZE * count; - bp->b_npages = count; - bp->b_pgbefore = rbehind != NULL ? *rbehind : 0; - bp->b_pgafter = rahead != NULL ? *rahead : 0; + bp->b_bufsize = bp->b_bcount = ptoa(bp->b_npages); + bp->b_pgbefore = rbehind; + bp->b_pgafter = rahead; VM_CNT_INC(v_swapin); - VM_CNT_ADD(v_swappgsin, count); + VM_CNT_ADD(v_swappgsin, bp->b_npages); /* * perform the I/O. NOTE!!! bp cannot be considered valid after @@ -1511,7 +1456,7 @@ swap_pager_getpages_locked(struct pctrie_iter *blks, vm_object_t object, /* * If we had an unrecoverable read error pages will not be valid. */ - for (i = 0; i < reqcount; i++) + for (int i = 0; i < count; i++) if (ma[i]->valid != VM_PAGE_BITS_ALL) return (VM_PAGER_ERROR); @@ -1529,12 +1474,14 @@ static int swap_pager_getpages(vm_object_t object, vm_page_t *ma, int count, int *rbehind, int *rahead) { + struct buf *bp; struct pctrie_iter blks; + bp = uma_zalloc(swrbuf_zone, M_WAITOK); VM_OBJECT_WLOCK(object); swblk_iter_init_only(&blks, object); return (swap_pager_getpages_locked(&blks, object, ma, count, rbehind, - rahead)); + rahead, bp)); } /* @@ -1929,7 +1876,8 @@ swap_pager_swapped_pages(vm_object_t object) * to a swap device. */ static void -swap_pager_swapoff_object(struct swdevt *sp, vm_object_t object) +swap_pager_swapoff_object(struct swdevt *sp, vm_object_t object, + struct buf **bp) { struct pctrie_iter blks, pages; struct page_range range; @@ -1999,10 +1947,11 @@ swap_pager_swapoff_object(struct swdevt *sp, vm_object_t object) vm_object_pip_add(object, 1); rahead = SWAP_META_PAGES; rv = swap_pager_getpages_locked(&blks, object, &m, 1, - NULL, &rahead); + NULL, &rahead, *bp); if (rv != VM_PAGER_OK) panic("%s: read from swap failed: %d", __func__, rv); + *bp = uma_zalloc(swrbuf_zone, M_WAITOK); VM_OBJECT_WLOCK(object); vm_object_pip_wakeupn(object, 1); KASSERT(vm_page_all_valid(m), @@ -2064,12 +2013,14 @@ static void swap_pager_swapoff(struct swdevt *sp) { vm_object_t object; + struct buf *bp; int retries; sx_assert(&swdev_syscall_lock, SA_XLOCKED); retries = 0; full_rescan: + bp = uma_zalloc(swrbuf_zone, M_WAITOK); mtx_lock(&vm_object_list_mtx); TAILQ_FOREACH(object, &vm_object_list, object_list) { if ((object->flags & OBJ_SWAP) == 0) @@ -2094,12 +2045,13 @@ full_rescan: if ((object->flags & OBJ_SWAP) == 0) goto next_obj; - swap_pager_swapoff_object(sp, object); + swap_pager_swapoff_object(sp, object, &bp); next_obj: VM_OBJECT_WUNLOCK(object); mtx_lock(&vm_object_list_mtx); } mtx_unlock(&vm_object_list_mtx); + uma_zfree(swrbuf_zone, bp); if (sp->sw_used) { /* diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 79a28c4d77b0..592f48296c22 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2258,6 +2258,64 @@ vm_object_coalesce(vm_object_t prev_object, vm_ooffset_t prev_offset, return (TRUE); } +/* + * Fill in the m_dst array with up to *rbehind optional pages before m_src[0] + * and up to *rahead optional pages after m_src[count - 1]. In both cases, stop + * the filling-in short on encountering a cached page, an object boundary limit, + * or an allocation error. Update *rbehind and *rahead to indicate the number + * of pages allocated. Copy elements of m_src into array elements from + * m_dst[*rbehind] to m_dst[*rbehind + count -1]. + */ +void +vm_object_prepare_buf_pages(vm_object_t object, vm_page_t *ma_dst, int count, + int *rbehind, int *rahead, vm_page_t *ma_src) +{ + vm_pindex_t pindex; + vm_page_t m, mpred, msucc; + + VM_OBJECT_ASSERT_LOCKED(object); + if (*rbehind != 0) { + m = ma_src[0]; + pindex = m->pindex; + mpred = TAILQ_PREV(m, pglist, listq); + *rbehind = MIN(*rbehind, + pindex - (mpred != NULL ? mpred->pindex + 1 : 0)); + /* Stepping backward from pindex, mpred doesn't change. */ + for (int i = 0; i < *rbehind; i++) { + m = vm_page_alloc_after(object, pindex - i - 1, + VM_ALLOC_NORMAL, mpred); + if (m == NULL) { + /* Shift the array. */ + for (int j = 0; j < i; j++) + ma_dst[j] = ma_dst[j + *rbehind - i]; + *rbehind = i; + *rahead = 0; + break; + } + ma_dst[*rbehind - i - 1] = m; + } + } + for (int i = 0; i < count; i++) + ma_dst[*rbehind + i] = ma_src[i]; + if (*rahead != 0) { + m = ma_src[count - 1]; + pindex = m->pindex + 1; + msucc = TAILQ_NEXT(m, listq); + *rahead = MIN(*rahead, + (msucc != NULL ? msucc->pindex : object->size) - pindex); + mpred = m; + for (int i = 0; i < *rahead; i++) { + m = vm_page_alloc_after(object, pindex + i, + VM_ALLOC_NORMAL, mpred); + if (m == NULL) { + *rahead = i; + break; + } + ma_dst[*rbehind + count + i] = mpred = m; + } + } +} + void vm_object_set_writeable_dirty_(vm_object_t object) { diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index fc39041d02d6..fabd21809036 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -377,6 +377,8 @@ void vm_object_page_noreuse(vm_object_t object, vm_pindex_t start, void vm_object_page_remove(vm_object_t object, vm_pindex_t start, vm_pindex_t end, int options); boolean_t vm_object_populate(vm_object_t, vm_pindex_t, vm_pindex_t); +void vm_object_prepare_buf_pages(vm_object_t object, vm_page_t *ma_dst, + int count, int *rbehind, int *rahead, vm_page_t *ma_src); void vm_object_print(long addr, boolean_t have_addr, long count, char *modif); void vm_object_reference (vm_object_t); void vm_object_reference_locked(vm_object_t); diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index 69509fe8948a..24e3bef07f7c 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -1007,9 +1007,8 @@ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int count, rbehind = a_rbehind ? *a_rbehind : 0; rahead = a_rahead ? *a_rahead : 0; rbehind = min(rbehind, before); - rbehind = min(rbehind, m[0]->pindex); rahead = min(rahead, after); - rahead = min(rahead, object->size - m[count - 1]->pindex); + /* * Check that total amount of pages fit into buf. Trim rbehind and * rahead evenly if not. @@ -1039,72 +1038,19 @@ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int count, * for read ahead pages, but there is no need to shift the array * in case of encountering a cached page. */ - i = bp->b_npages = 0; - if (rbehind) { - vm_pindex_t startpindex, tpindex; - vm_page_t mpred, p; - + if (rbehind != 0 || rahead != 0) { VM_OBJECT_WLOCK(object); - tpindex = m[0]->pindex; - startpindex = MAX(tpindex, rbehind) - rbehind; - if ((mpred = TAILQ_PREV(m[0], pglist, listq)) != NULL) - startpindex = MAX(startpindex, mpred->pindex + 1); - - /* Stepping backward from pindex, mpred doesn't change. */ - for (; tpindex-- > startpindex; i++) { - p = vm_page_alloc_after(object, tpindex, - VM_ALLOC_NORMAL, mpred); - if (p == NULL) { - /* Shift the array. */ - for (int j = 0; j < i; j++) - bp->b_pages[j] = bp->b_pages[j + - tpindex + 1 - startpindex]; - break; - } - bp->b_pages[tpindex - startpindex] = p; - } - - bp->b_pgbefore = i; - bp->b_npages += i; - bp->b_blkno -= IDX_TO_OFF(i) / DEV_BSIZE; - } else - bp->b_pgbefore = 0; - - /* Requested pages. */ - for (int j = 0; j < count; j++, i++) - bp->b_pages[i] = m[j]; - bp->b_npages += count; - - if (rahead) { - vm_pindex_t endpindex, tpindex; - vm_page_t p; - - if (!VM_OBJECT_WOWNED(object)) - VM_OBJECT_WLOCK(object); - endpindex = m[count - 1]->pindex + rahead + 1; - if ((p = TAILQ_NEXT(m[count - 1], listq)) != NULL && - p->pindex < endpindex) - endpindex = p->pindex; - if (endpindex > object->size) - endpindex = object->size; - - p = m[count - 1]; - for (tpindex = p->pindex + 1; - tpindex < endpindex; i++, tpindex++) { - p = vm_page_alloc_after(object, tpindex, - VM_ALLOC_NORMAL, p); - if (p == NULL) - break; - bp->b_pages[i] = p; - } - - bp->b_pgafter = i - bp->b_npages; - bp->b_npages = i; - } else - bp->b_pgafter = 0; - - if (VM_OBJECT_WOWNED(object)) + vm_object_prepare_buf_pages(object, bp->b_pages, count, + &rbehind, &rahead, m); VM_OBJECT_WUNLOCK(object); + } else { + for (int j = 0; j < count; j++) + bp->b_pages[j] = m[j]; + } + bp->b_blkno -= IDX_TO_OFF(rbehind) / DEV_BSIZE; + bp->b_pgbefore = rbehind; + bp->b_pgafter = rahead; + bp->b_npages = rbehind + count + rahead; /* Report back actual behind/ahead read. */ if (a_rbehind) @@ -1131,7 +1077,7 @@ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int count, * for real devices. */ foff = IDX_TO_OFF(bp->b_pages[0]->pindex); - bytecount = bp->b_npages << PAGE_SHIFT; + bytecount = ptoa(bp->b_npages); if ((foff + bytecount) > object->un_pager.vnp.vnp_size) bytecount = object->un_pager.vnp.vnp_size - foff; secmask = bo->bo_bsize - 1; From nobody Sat Mar 15 04:45: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 4ZF7vN5cg2z5rKnJ; Sat, 15 Mar 2025 04:45: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 4ZF7vN4RQlz47wH; Sat, 15 Mar 2025 04:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1742013904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tC04kHGsmrRKz11m7TQH/I0FzclomJ2c/cmbQz3J7Lg=; b=f/mBYTORNT/WVY85kZdi8AJXKPjwASHlHyHKGztTOTfHn+miNzqYApTACI9OK9roClhZK7 OzURqbj9uspR3L8s70Pu8YhLpWhjl219NEQ8lxu8tmM85VZZsgkq8YxYXoakjZEk9Q4fjL w1TT3Gy/yLcF+xNeW5gGOHl9HHQVGYe+QbXVJQl3dZxNBiEnWBgtKYWDRuR4L0kIBnBrLp 4CSTdtRQRLWOQ3r2JyESFCzbo89ljGWwdk7WtRLQGgtg7lpezldpHLGXFq1O6E1rnfleuI k9fAZu1+5g/t0CWhP37J/i5j9alDBu7JJPZfq4BMrFcuc0l2DL157MOFGsTt1w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1742013904; a=rsa-sha256; cv=none; b=BFNEHd3EksLZVXYXf2UrBUfjo+13a9isvsZl5Btr53KFhkINu51oVwxvLT2YTzOnMhqFb1 V7+yoUJT3rF0xcFfPjG6vTOgCgvskNr4FkEA781NXqmo4qlB74PKqzh/Nixn6VCkb/r1vK F1YidkV1tdFd3UiECAuMus2ciizUQslmkYIZn4DDKsy4/eciVFBzWXVRIqyLznsEhVyDMQ g11BDav1JIeKyqSSpOUqtk37L9DFkno8S3tYyx2LR6HqBsrVq29+8bfP2urKIibzuoaEoG QkDi1dWDqFQtv4NECJdi/9mFHE8NVWV9hQW5niWKmLlYxYepQ7NbEwct27kJyw== 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=1742013904; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tC04kHGsmrRKz11m7TQH/I0FzclomJ2c/cmbQz3J7Lg=; b=BPq9DDgNdmNamo5j/gjh7h2UHoL8ClEO49YDStVSdzgtpVRXRQagZG8eI9nDC2rHjiMDO3 Cy1ZeQs7QmX8Ii8dfX6e7sWvDBt2jdgfyopW1KMW9DGhoOm4Pv+Z8DDiNN1E37277TZQld 1gwmzlyhoeLULuAq2QNDBrTSYC1/L2kYx8jix/xOq4aZ3UoZpS8JwbloonbF2bH5hH6iFs X2xk+WxEs+S6wOSLohsOddaoaEJTYljC0PO7Yn0u9eTXaAZWj0/FvOLKOAKbVWia5HLisS v1WeY0LQ84jXYWZdIoicblVsWN0xw5x7Xj13T6fY7wACT8Q7wIyvd5D13liZFA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZF7vN3g6vz1F5H; Sat, 15 Mar 2025 04:45:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52F4j4PE079528; Sat, 15 Mar 2025 04:45:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52F4j4Gp079525; Sat, 15 Mar 2025 04:45:04 GMT (envelope-from git) Date: Sat, 15 Mar 2025 04:45:04 GMT Message-Id: <202503150445.52F4j4Gp079525@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: 5963423232e8 - main - libibverbs: Extend support of NDR rates 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: 5963423232e869b8dbe8e9a65134e92735dfb521 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5963423232e869b8dbe8e9a65134e92735dfb521 commit 5963423232e869b8dbe8e9a65134e92735dfb521 Author: Slava Shwartsman AuthorDate: 2025-03-12 08:49:37 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-15 04:44:07 +0000 libibverbs: Extend support of NDR rates NDR(106.25 Gbps) support exposed new data rates: 800 Gbps - NDR 8x. 1200 Gbps - NDR 12x. Utility methods were updated to support the new rates mentioned above: 1) Rate to mult - Convert the IB rate enum to a multiple of 2.5 Gbps. 2) Rate to mbps - Convert IB rate enum to the mbps value. In addition, speed_str() of ibv_devinfo was updated to consider the new NDR rate. Reference: IB Spec Release 1.5 PR: 285305 MFC after: 1 week Sponsored by: NVidia networking Change-Id: I77541e406f700585fbfeddc162d5a0e7b79a1c11 Signed-off-by: Slava Shwartsman --- contrib/ofed/libibverbs/examples/devinfo.c | 1 + contrib/ofed/libibverbs/verbs.c | 8 ++++++++ contrib/ofed/libibverbs/verbs.h | 2 ++ 3 files changed, 11 insertions(+) diff --git a/contrib/ofed/libibverbs/examples/devinfo.c b/contrib/ofed/libibverbs/examples/devinfo.c index 7693cb30739d..866d82718f7d 100644 --- a/contrib/ofed/libibverbs/examples/devinfo.c +++ b/contrib/ofed/libibverbs/examples/devinfo.c @@ -145,6 +145,7 @@ static const char *speed_str(uint8_t speed) case 16: return "14.0 Gbps"; case 32: return "25.0 Gbps"; case 64: return "50.0 Gbps"; + case 128: return "100.0 Gbps"; default: return "invalid speed"; } } diff --git a/contrib/ofed/libibverbs/verbs.c b/contrib/ofed/libibverbs/verbs.c index 5c23406e69e7..c24a29926c22 100644 --- a/contrib/ofed/libibverbs/verbs.c +++ b/contrib/ofed/libibverbs/verbs.c @@ -115,6 +115,8 @@ int __attribute__((const)) ibv_rate_to_mult(enum ibv_rate rate) case IBV_RATE_50_GBPS: return 20; case IBV_RATE_400_GBPS: return 160; case IBV_RATE_600_GBPS: return 240; + case IBV_RATE_800_GBPS: return 320; + case IBV_RATE_1200_GBPS: return 480; default: return -1; } } @@ -135,6 +137,8 @@ enum ibv_rate __attribute__((const)) mult_to_ibv_rate(int mult) case 20: return IBV_RATE_50_GBPS; case 160: return IBV_RATE_400_GBPS; case 240: return IBV_RATE_600_GBPS; + case 320: return IBV_RATE_800_GBPS; + case 480: return IBV_RATE_1200_GBPS; default: return IBV_RATE_MAX; } } @@ -163,6 +167,8 @@ int __attribute__((const)) ibv_rate_to_mbps(enum ibv_rate rate) case IBV_RATE_50_GBPS: return 53125; case IBV_RATE_400_GBPS: return 425000; case IBV_RATE_600_GBPS: return 637500; + case IBV_RATE_800_GBPS: return 850000; + case IBV_RATE_1200_GBPS: return 1275000; default: return -1; } } @@ -191,6 +197,8 @@ enum ibv_rate __attribute__((const)) mbps_to_ibv_rate(int mbps) case 53125: return IBV_RATE_50_GBPS; case 425000: return IBV_RATE_400_GBPS; case 637500: return IBV_RATE_600_GBPS; + case 850000: return IBV_RATE_800_GBPS; + case 1275000: return IBV_RATE_1200_GBPS; default: return IBV_RATE_MAX; } } diff --git a/contrib/ofed/libibverbs/verbs.h b/contrib/ofed/libibverbs/verbs.h index bea817e36fc9..63a9ddbb1538 100644 --- a/contrib/ofed/libibverbs/verbs.h +++ b/contrib/ofed/libibverbs/verbs.h @@ -595,6 +595,8 @@ enum ibv_rate { IBV_RATE_50_GBPS = 20, IBV_RATE_400_GBPS = 21, IBV_RATE_600_GBPS = 22, + IBV_RATE_800_GBPS = 23, + IBV_RATE_1200_GBPS = 24, }; /** From nobody Sat Mar 15 16:53: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 4ZFS3M2yV7z5r4j6; Sat, 15 Mar 2025 16:53: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 4ZFS3M2Nnmz3Gm3; Sat, 15 Mar 2025 16:53:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1742057583; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q3ZXZYT2HiuBetUb89gYKNad6Cz+jjFNZevE4bY/pPo=; b=VlM3+KGPX5AT0nmJrDFKUBHpF0oq4YdkVkpF4kOMr8Qb0oj99vcV7XV2p+kLiVaj6nkQGb wenRLzEH4jkE3VvbGfYu4DG0HiPxfbOXNch5/Ytql+uUpxSJau0luATcSlt8fvvzL1JCoZ c4Nxb1h8PFBMYNRZ/Pc3DID+kWZ/pY9bShiZiGCW1eM9q+F2Uvdza/QNt3oHxDpOFOHHI8 fH+uwpsqOqESFUfvQrmhFQ6ao/zEI+ATlCTA357RBiD+tSXURO2CKKML8MOhwcwLEoQaNA B7yuhR5tC0o2cSAQeWk4iGEndiCvlFKbI41gflUsss2ixiVRUJrnlREGSSXvVg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1742057583; a=rsa-sha256; cv=none; b=ouSV8hzdVWnm/6l6+ZAeosrTZzZq/thhNHANtXi5emTzZdaqiyk9myGgSH/7kISOSjs5Zz kdUXs+1CsJUMRci7OTzdC9SlMqCEGRpvCdOyle1uAQQmHH16uSg+5h5iZZHg76phr1wmhJ 608NrLyWWMMwMEBWX1TsfG3qs7pOjOAZPuKAgRiclOKSlgFjq9HvVkUdrVCTQdX4LCa+k2 v8K4rrtfnFtyoOb52El2CQgK423XbNpJY9lpiI5nuj+/56BCGdm1XeY0XalOpuZnKE2VS8 U7pzRgt5clb4tyK7jQN1IVgEL0lbYDx9IL2HFI4zSvuTl9QNEgBOLiJISy469w== 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=1742057583; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q3ZXZYT2HiuBetUb89gYKNad6Cz+jjFNZevE4bY/pPo=; b=JH1A3kZmL9mugWgdsUg0gUESFpkXmFGVqBKchor+NkeJV+4Pa9F8JrR+pZEaLIAjR5tx99 mwqgoSKHGyZGADGFewQW2lp9IgBkDuw7gaRLj4So4Oa+wlHQnoysvy2i5PB9PP570Ca5A2 J/nZ8fCcGdKLnIvmMIfVAklJUhWALgMWtwEAzKsiiyyLWwaU4007HkdRbvQUVJb8X5502i T5CapKEUYOx2t9dBqiq4F30vSfZQbhzx3Nbkndhwrq4Iw8/FDDfKXDhD6Bocy97nI/MfTi 9+S2d85YVMjd41Wja920DcVNX/nWPmtJw90dqY+KPK9GRsiZK5j1Ud5onTyobA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZFS3M20Mmz6vk; Sat, 15 Mar 2025 16:53: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 52FGr3Nj043088; Sat, 15 Mar 2025 16:53:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52FGr3tp043085; Sat, 15 Mar 2025 16:53:03 GMT (envelope-from git) Date: Sat, 15 Mar 2025 16:53:03 GMT Message-Id: <202503151653.52FGr3tp043085@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: 2bc9d7a3ac8d - main - bsd-family-tree: add FreeBSD 13.5 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: 2bc9d7a3ac8dce2138e409b31a7f727303b38167 Auto-Submitted: auto-generated The branch main has been updated by maxim: URL: https://cgit.FreeBSD.org/src/commit/?id=2bc9d7a3ac8dce2138e409b31a7f727303b38167 commit 2bc9d7a3ac8dce2138e409b31a7f727303b38167 Author: Maxim Konovalov AuthorDate: 2025-03-15 16:52:05 +0000 Commit: Maxim Konovalov CommitDate: 2025-03-15 16:52:05 +0000 bsd-family-tree: add FreeBSD 13.5 --- share/misc/bsd-family-tree | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree index 63a5b6eb1069..17b170018198 100644 --- a/share/misc/bsd-family-tree +++ b/share/misc/bsd-family-tree @@ -469,10 +469,12 @@ FreeBSD 5.2 | | | | | | | 15 | | | | | | FreeBSD | | | | | | | 13.4 | | | OpenBSD 7.6 | - | FreeBSD | | | | | - | 14.2 | | | | | - | | | NetBSD | | - | | | 10.1 | | + | FreeBSD | | | | | | + | 14.2 | | | | | | + | | | | NetBSD | | + | | | | 10.1 | | + | FreeBSD | | | | + | 13.5 | | | | | | | | | FreeBSD 15 -current | NetBSD -current OpenBSD -current DragonFly -current | | | | | @@ -913,6 +915,7 @@ FreeBSD 13.4 2024-09-17 [FBD] 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] Bibliography ------------------------ From nobody Sun Mar 16 02:35: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 4ZFhzB6ZPmz5qbXL; Sun, 16 Mar 2025 02:35: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZFhzB5WRVz46Bq; Sun, 16 Mar 2025 02:35:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1742092518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QaPSPxRRifNtc+OAijcIb4KXrQXLN5P4CCmejDosU78=; b=gK/o7GXd1zfLr2WBO3e7Nm1714cxSZlD38G6u07RvJQ56ib8PYLHjKeeOihrOqMcWYkBGD 7A/nHQI9nWJt4uHW+gzC5EGQlP+AeNI5lduWDxFnSj/wUdJUz915FOBJ4n6UYZqoM09ggP PGO9oY4T/dogpFM2CwmE5kCp3mmG5ZKz//o99ir7XhKzjkF8oKq9zYaiYaLoTH/Lhk+ZpJ r9c82SjjSSrUrbvrJO1L5e2Mkqze+1LBOIhjm8sVQGCOGfq1JLqk5I3cy9sQ3Y+6fy7mwA 5nmG8Lnaw2AFwq2bnWa0B4PupjN1b3LriVK0jzyT/s0gKpgqt65/I4v18pvwLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1742092518; a=rsa-sha256; cv=none; b=o3/w0r+TEkl+3uOlxvRMXiEDCgaZKfqgfmp9EnWeFnnKVnI9NPKUtY8QNMZnICIUclZYqa a/rV79r0aD3SmmIK9JrrM8AH+NABfyn1NyH0RHs+PfyCM61x0TK60YrHerCZLs39GYt4X+ 3ZN8u3ClDCZYkmHdnowyBik0YcvF/pNe5lqUVpqPq/C7VMO8yA8hbWzUg3dDHC0ZT1A/5k moq4bMKnBNL6qkLOQMzt99uA+x/Lj2Ul+usv7cWEp+JLc8ZrwP3698G9gb0YoKb4QH6blo qyYw5YwZYOEOSs1KHll8UwAk+j7cJjuMBkAizp/8iB+ko+QJqi5iMKqRnmas5w== 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=1742092518; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QaPSPxRRifNtc+OAijcIb4KXrQXLN5P4CCmejDosU78=; b=UjGYlaGj6XODMR8GSjRIVZgn6/BhJoSWiydc0S9oCLMiNvCAvTgMan1BytpEpWJiVasxjJ uEUQvlFCp+LR4n2NTX9zmtGT+LkHrO7idhPvtmMIkGbzeh9+c+Cg/jsn/AuDXNiLpI9qpK ahIAyWkCS5F8wMcqEAQ9wlDckuKzLucPvNfrXw8PQSnYlW1MvDWbJqxZlOK8FIrQSL3vBW ICR76CLKFnbWL0EBnZTickDeQYvc1KE3m1OzewhIJ1pvFkiA3jADtZDdUE4cr19LOc9cK5 GAa0g3iz44hxL8xe+mkyXnJMDKkXfhTKQWBctZ05Jg76pzwWJMeve46vXNIfwQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZFhzB55SkzhPB; Sun, 16 Mar 2025 02:35: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 52G2ZII2026411; Sun, 16 Mar 2025 02:35:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52G2ZIgC026408; Sun, 16 Mar 2025 02:35:18 GMT (envelope-from git) Date: Sun, 16 Mar 2025 02:35:18 GMT Message-Id: <202503160235.52G2ZIgC026408@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Navdeep Parhar Subject: git: 011e3d0b8b90 - main - cxgbe(4): Perform Conventional Reset instead of FLR on the device. 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: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 011e3d0b8b90a4330f14b2cb7da45ed7b805ed10 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=011e3d0b8b90a4330f14b2cb7da45ed7b805ed10 commit 011e3d0b8b90a4330f14b2cb7da45ed7b805ed10 Author: Navdeep Parhar AuthorDate: 2024-12-07 08:00:49 +0000 Commit: Navdeep Parhar CommitDate: 2025-03-16 01:16:42 +0000 cxgbe(4): Perform Conventional Reset instead of FLR on the device. The driver uses bus_reset_child on its parent to reset itself but that performs an FLR whereas the hardware needs a Conventional Reset[1] for full re-initialization. Add routines that perform conventional hot reset and use them instead. The available reset mechanisms are: * PCIe secondary bus reset (default) * PCIe link bounce hw.cxgbe.reset_method can be used to override the default. The internal PL_RST is also available but is for testing only. [1] 6.6.1 in PCI Express® Base Specification 5.0 version 1.0 MFC after: 1 month Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_main.c | 137 +++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 118 insertions(+), 19 deletions(-) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 6ee839151db0..20df6a97aa87 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -633,6 +633,10 @@ static int t4_reset_on_fatal_err = 0; SYSCTL_INT(_hw_cxgbe, OID_AUTO, reset_on_fatal_err, CTLFLAG_RWTUN, &t4_reset_on_fatal_err, 0, "reset adapter on fatal errors"); +static int t4_reset_method = 1; +SYSCTL_INT(_hw_cxgbe, OID_AUTO, reset_method, CTLFLAG_RWTUN, &t4_reset_method, + 0, "reset method: 0 = PL_RST, 1 = PCIe secondary bus reset, 2 = PCIe link bounce"); + static int t4_clock_gate_on_suspend = 0; SYSCTL_INT(_hw_cxgbe, OID_AUTO, clock_gate_on_suspend, CTLFLAG_RWTUN, &t4_clock_gate_on_suspend, 0, "gate the clock on suspend"); @@ -2535,40 +2539,135 @@ t4_reset_post(device_t dev, device_t child) return (0); } -static int -reset_adapter_with_pci_bus_reset(struct adapter *sc) -{ - int rc; - - mtx_lock(&Giant); - rc = BUS_RESET_CHILD(device_get_parent(sc->dev), sc->dev, 0); - mtx_unlock(&Giant); - return (rc); -} - static int reset_adapter_with_pl_rst(struct adapter *sc) { - suspend_adapter(sc); - /* This is a t4_write_reg without the hw_off_limits check. */ MPASS(sc->error_flags & HW_OFF_LIMITS); bus_space_write_4(sc->bt, sc->bh, A_PL_RST, F_PIORSTMODE | F_PIORST | F_AUTOPCIEPAUSE); pause("pl_rst", 1 * hz); /* Wait 1s for reset */ + return (0); +} - resume_adapter(sc); +static int +reset_adapter_with_pcie_sbr(struct adapter *sc) +{ + device_t pdev = device_get_parent(sc->dev); + device_t gpdev = device_get_parent(pdev); + device_t *children; + int rc, i, lcap, lsta, nchildren; + uint32_t v; - return (0); + rc = pci_find_cap(gpdev, PCIY_EXPRESS, &v); + if (rc != 0) { + CH_ERR(sc, "%s: pci_find_cap(%s, pcie) failed: %d\n", __func__, + device_get_nameunit(gpdev), rc); + return (ENOTSUP); + } + lcap = v + PCIER_LINK_CAP; + lsta = v + PCIER_LINK_STA; + + nchildren = 0; + device_get_children(pdev, &children, &nchildren); + for (i = 0; i < nchildren; i++) + pci_save_state(children[i]); + v = pci_read_config(gpdev, PCIR_BRIDGECTL_1, 2); + pci_write_config(gpdev, PCIR_BRIDGECTL_1, v | PCIB_BCR_SECBUS_RESET, 2); + pause("pcie_sbr1", hz / 10); /* 100ms */ + pci_write_config(gpdev, PCIR_BRIDGECTL_1, v, 2); + pause("pcie_sbr2", hz); /* Wait 1s before restore_state. */ + v = pci_read_config(gpdev, lsta, 2); + if (pci_read_config(gpdev, lcap, 2) & PCIEM_LINK_CAP_DL_ACTIVE) + rc = v & PCIEM_LINK_STA_DL_ACTIVE ? 0 : ETIMEDOUT; + else if (v & (PCIEM_LINK_STA_TRAINING_ERROR | PCIEM_LINK_STA_TRAINING)) + rc = ETIMEDOUT; + else + rc = 0; + if (rc != 0) + CH_ERR(sc, "%s: PCIe link is down after reset, LINK_STA 0x%x\n", + __func__, v); + else { + for (i = 0; i < nchildren; i++) + pci_restore_state(children[i]); + } + free(children, M_TEMP); + + return (rc); +} + +static int +reset_adapter_with_pcie_link_bounce(struct adapter *sc) +{ + device_t pdev = device_get_parent(sc->dev); + device_t gpdev = device_get_parent(pdev); + device_t *children; + int rc, i, lcap, lctl, lsta, nchildren; + uint32_t v; + + rc = pci_find_cap(gpdev, PCIY_EXPRESS, &v); + if (rc != 0) { + CH_ERR(sc, "%s: pci_find_cap(%s, pcie) failed: %d\n", __func__, + device_get_nameunit(gpdev), rc); + return (ENOTSUP); + } + lcap = v + PCIER_LINK_CAP; + lctl = v + PCIER_LINK_CTL; + lsta = v + PCIER_LINK_STA; + + nchildren = 0; + device_get_children(pdev, &children, &nchildren); + for (i = 0; i < nchildren; i++) + pci_save_state(children[i]); + v = pci_read_config(gpdev, lctl, 2); + pci_write_config(gpdev, lctl, v | PCIEM_LINK_CTL_LINK_DIS, 2); + pause("pcie_lnk1", 100 * hz / 1000); /* 100ms */ + pci_write_config(gpdev, lctl, v | PCIEM_LINK_CTL_RETRAIN_LINK, 2); + pause("pcie_lnk2", hz); /* Wait 1s before restore_state. */ + v = pci_read_config(gpdev, lsta, 2); + if (pci_read_config(gpdev, lcap, 2) & PCIEM_LINK_CAP_DL_ACTIVE) + rc = v & PCIEM_LINK_STA_DL_ACTIVE ? 0 : ETIMEDOUT; + else if (v & (PCIEM_LINK_STA_TRAINING_ERROR | PCIEM_LINK_STA_TRAINING)) + rc = ETIMEDOUT; + else + rc = 0; + if (rc != 0) + CH_ERR(sc, "%s: PCIe link is down after reset, LINK_STA 0x%x\n", + __func__, v); + else { + for (i = 0; i < nchildren; i++) + pci_restore_state(children[i]); + } + free(children, M_TEMP); + + return (rc); } static inline int reset_adapter(struct adapter *sc) { - if (vm_guest == 0) - return (reset_adapter_with_pci_bus_reset(sc)); - else - return (reset_adapter_with_pl_rst(sc)); + int rc; + const int reset_method = vm_guest == VM_GUEST_NO ? t4_reset_method : 0; + + rc = suspend_adapter(sc); + if (rc != 0) + return (rc); + + switch (reset_method) { + case 1: + rc = reset_adapter_with_pcie_sbr(sc); + break; + case 2: + rc = reset_adapter_with_pcie_link_bounce(sc); + break; + case 0: + default: + rc = reset_adapter_with_pl_rst(sc); + break; + } + if (rc == 0) + rc = resume_adapter(sc); + return (rc); } static void From nobody Sun Mar 16 03:54: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 4ZFkkQ1hX6z5qhnX; Sun, 16 Mar 2025 03:54:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZFkkP3XkNz3kQQ; Sun, 16 Mar 2025 03:54:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1742097261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yW4kxk2y0ZtU7SAaPl9pzfFPG+u3crA7DEWER1pHKLk=; b=pvLqaGFLQZtGIhbFmYj4MV1KQ63nlbtJZBzBm2brmDlQyprNnBVzsM1EWoXvHsjoEeVqDi WDEpY++1kVDhY4E57Mqu58RhnfMVrnsJQCbnmdjEXoyjfUr9zCuhnJc/6YKm3f3md1ayKG 0D1ADL0yW9pvmLnfpuK4weva0m8ddiCZSJtR+6feNJTdtXnt0lgmSoY5OxcaWK5yuGDscV iJql4Qp9XJcJWdMqeTz57iEl5mG+Gc8AAV9ytDK5L7hX8AnUiOTdzc5EJ+/WufpTJ4sDyn yE6+XFsFk4eCdAYnuIRWauxTMVrDeQzDic6FoKopiHCedABQfudutCKvWNG4bA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1742097261; a=rsa-sha256; cv=none; b=UnGz8+0dymzJVVDM6fjGm9j/UbbUAWqjUw2aAxw0SbtYdKh8tFjg3GsfYjgse8tcUwIMYk 5bug2E1H3LWYtZkSedr88BUaSkKu6FWdb3lSTIp0sXsidJjtrDS5fQzm+VyRGXbRyVBw0Q TNrKQ5MZU5IfVNv8qsaVkB+dCugR4tAKJrJxGrJAMeYv07kbOKM3TZXUFz48c54Hqrzl/C dHRNWJTtavdIGo4UW0JXuzpb3RtknErdksPsBSe+bDJCOMsDtQxG5pom1Z8HlSSUU7m0V+ XadP/23OjeK1CAGW6tRNh1SDbmgw2Dx2kOnPO3cAYxYHWsbyQqo1UflkCVvfRQ== 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=1742097261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yW4kxk2y0ZtU7SAaPl9pzfFPG+u3crA7DEWER1pHKLk=; b=FFnx+Les21aGnUt/oW+2BHjwsewOkIkL3GfsPmesCuMryHvvy7S0iogujObmUVAUnoojxT wUrKQSdHfpercymlBrTBK1PCxXvBzeiaCXaqq4txM9cL5IqNvcbxwo1+bVM1JaFm1SIajU TRwRF5p5rqOrZSWyJ12WrSEMDLdvtKj0SimR88Jr9pA0yos5enzWbfS8bKHAOTiZQnc6uj AGHV4h5By6OYlyOSsLnCZ92r4wlDw9hPTB0Ca1hOV9dp8MrXW2XUQ3zZhsOK4YWOHjM4hG LmPrGfD0APLEHJnixgmPC4sQFHLYRGio0s3kw6BB00xXgfO4Il1c3H0GRAiemQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZFkkP2nSpzl4x; Sun, 16 Mar 2025 03:54: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 52G3sLP5077360; Sun, 16 Mar 2025 03:54:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52G3sLZL077357; Sun, 16 Mar 2025 03:54:21 GMT (envelope-from git) Date: Sun, 16 Mar 2025 03:54:21 GMT Message-Id: <202503160354.52G3sLZL077357@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: 9ea38ca4a8e6 - main - umass/quirk: Remove useless quirk for Transcend flash 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: 9ea38ca4a8e650a2eafa07cf0862553718b7f266 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9ea38ca4a8e650a2eafa07cf0862553718b7f266 commit 9ea38ca4a8e650a2eafa07cf0862553718b7f266 Author: Warner Losh AuthorDate: 2025-03-16 03:47:44 +0000 Commit: Warner Losh CommitDate: 2025-03-16 03:47:44 +0000 umass/quirk: Remove useless quirk for Transcend flash I have several of these. They all work without these quirks (either the auto quirk mechanism does the right thing, or a likely soon-to-be-removed vendor catch-all does the right thing, or no probing at all does the right hting). Both PREVENT ALLOW and SYNCHRONIZE CACHE are (a) unimplemented but (b) return the proper asc/ascq code so da just does the right thing, quirk or no. This was a left-over from the days where you'd get scary error messages, but we'd work just fine. Now that the scary error messages are gone (and only a calm one under bootverbose), this can be deleted. Sponsored by: Netflix --- sys/dev/usb/quirk/usb_quirk.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/dev/usb/quirk/usb_quirk.c b/sys/dev/usb/quirk/usb_quirk.c index c0343f2b2ae0..653395bbdac9 100644 --- a/sys/dev/usb/quirk/usb_quirk.c +++ b/sys/dev/usb/quirk/usb_quirk.c @@ -214,8 +214,6 @@ static struct usb_quirk_entry usb_quirks[USB_DEV_QUIRKS_MAX] = { UQ_MSC_FORCE_PROTO_SCSI), USB_QUIRK(ALCOR, UMCR_9361, UQ_MSC_FORCE_WIRE_BBB, UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_GETMAXLUN), - USB_QUIRK(ALCOR, TRANSCEND, UQ_MSC_NO_GETMAXLUN, UQ_MSC_NO_SYNC_CACHE, - UQ_MSC_NO_TEST_UNIT_READY), USB_QUIRK(APACER, HT202, UQ_MSC_NO_TEST_UNIT_READY, UQ_MSC_NO_SYNC_CACHE), USB_QUIRK(ASAHIOPTICAL, OPTIO230, UQ_MSC_FORCE_WIRE_BBB, UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY), From nobody Sun Mar 16 14:50: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 4ZG1Hq5PDzz5qbY4; Sun, 16 Mar 2025 14:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZG1Hq4Bgqz3Pwv; Sun, 16 Mar 2025 14:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1742136647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=McFqI/ec+GVdyiv4crhJ2lUkKA0mHG2uHNAwBQQKnKc=; b=MMmf0Z+Yb/Zr03bJY2KWe/bU2XQSTbEK/C3X4zRLIyAVQMdzuMC3/lxm66fvHmK1GM4vV3 l2wJ7YvOC9cSjnN8KoXXeeAd7TFyxeNQr5Ya0SQipEV8PqtejzfgD8EohdwSqSME7pv6XE 40xHHulQhOwMEwy2fmY3f6l/II7T8etSv/PniPN/sEmrp96dGiD8Z0Q/Bxd8+X30+c0zVM gfc958rBay3WWA/I4lC2DpCbP7ByrtIt9gjkTmRVYV1ZDZy0mDwZYfymnPqqRG9bL1h24D HcEPdl6CTxOzNeg2Cxw1URDnNdXmnuVBeVMggHmdSe2YH1ldUDiPUG4n63y6xg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1742136647; a=rsa-sha256; cv=none; b=Nx3mwTGM/z5K76iQxU752YthBfNr1k5ED6mkRmrvuklut2d9/PjBa5g6YfmNWIf/zJZCnT GsZUkbVynbMp8S6ygaV4WDVAS6p38BS2OUR548NPD6xZeZAfA49xLksg4UiAQ63W9xeOXL wsGCvODh5g0QPNNxLGb9HE5R2XZ1+KRjdz4S8J2PBJh2tww9vsyZ2Hz9gVXf+ccuG2D399 wLqrpi8IKMibmSV8ri+M1neleiz3AUoYTw90wOH6GZgm1wyFkrMEi9CqEzZRlXjA4pRpSW IeimeEVji673rZw+GE0TNM6+6OZCeC3EwuCNWIGCC0EW5l56DMSrOy4k2pxZvQ== 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=1742136647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=McFqI/ec+GVdyiv4crhJ2lUkKA0mHG2uHNAwBQQKnKc=; b=gZ2dWAl7ZvvPDA83uYEgBdeHV+diaT74x9ZBZRR9C5KgVk5hMdbHEa/e2ZyhgFW1y9IABh MlGXMAVS/H3ZtM6jrPWQ/0Xl3uRzqmrK+cERtsJ+Ziv1nV7FUlMLwELF3y+EzebuNIfJmt zJTAdLO0TxflfqFqE7VrqPYIw+ug/dUKfcRhnXHnjz1bW2w47WK5dLgFUzIRfNVKA4VLL1 4uqoy8LG37oNALawZAqKRxw2vBVzZlq9H/s5TjTlfmj6dXrk1APa/XVLQ2kTyJ42F5dMTc XBG1JEcF9X3JN45AveM4CEuZckOD68tkwHp73cuc5sHvi4IBtEaNe5NYRM8BvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZG1Hq3mmjz14v7; Sun, 16 Mar 2025 14:50: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 52GEolK9004108; Sun, 16 Mar 2025 14:50:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52GEolES004105; Sun, 16 Mar 2025 14:50:47 GMT (envelope-from git) Date: Sun, 16 Mar 2025 14:50:47 GMT Message-Id: <202503161450.52GEolES004105@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: b39f500e6ac8 - main - stand: lines with comments a '"' in loader.conf are ignored 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: b39f500e6ac8404aa0acdc025bd12829e881fcd1 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b39f500e6ac8404aa0acdc025bd12829e881fcd1 commit b39f500e6ac8404aa0acdc025bd12829e881fcd1 Author: Cyrus Rahman AuthorDate: 2025-03-16 14:44:57 +0000 Commit: Warner Losh CommitDate: 2025-03-16 14:46:57 +0000 stand: lines with comments a '"' in loader.conf are ignored So the problem is that the lua parser in /boot/lua/config.lua is splitting the line on the '=', sending the first match to the key and the second to the value. In the problem case, the value is: '"test b" # This is "test_directive_b"' Then the value gets matched against QVALEXPR = '"(.*)"'. This cleans up the value by removing the first and last '"', but in this case turns it into: test b" # This is "test_directive_b which then gets rejected in processEnvVar() with MSG_FAILSYN_QUOTE, since values aren't allowed to contain '"'. Changing QVALEXPR to '([-%w_]+)' fixes this problem. Since the value is explicitly prevented from containing quotes, it's not unreasonable to load it from an expression that excludes them. The only other place this is used is in the 'exec="command"' expression, which also should not contain '"' in the command value. PR: 265001 Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D35975 --- stand/lua/config.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stand/lua/config.lua b/stand/lua/config.lua index 86f5ef6174a2..26f65ecc17b6 100644 --- a/stand/lua/config.lua +++ b/stand/lua/config.lua @@ -65,7 +65,7 @@ local MSG_FAILSYN_BADVAR = "Malformed variable expression at position '%d'" -- env_var entries in the pattern table. This is perhaps a good target for a -- little refactoring. local MODULEEXPR = '([%w%d-_.]+)' -local QVALEXPR = '"(.*)"' +local QVALEXPR = '"([^"]*)"' local QVALREPL = QVALEXPR:gsub('%%', '%%%%') local WORDEXPR = "([-%w%d][-%w%d_.]*)" local WORDREPL = WORDEXPR:gsub('%%', '%%%%') From nobody Sun Mar 16 19: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 4ZG7Nl3hyhz5qxsG; Sun, 16 Mar 2025 19: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZG7Nk708Hz3LCn; Sun, 16 Mar 2025 19: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=1742153127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SlPAOiArTyeVHhifkjEEM2fVbNjK8gStyEq5nLrwMf4=; b=ceooTJ1E3VeCLwT2OSGExV018lzNoEvQS7/swzx+DXjE7fiFcA7kq9l1j2gEboeO7D5Lhx kXDEgMZCMB/9frKgPIEx1gcQz4I3/qC+wio0Yl0JRyfCKjpOL3d4lcqzhVU74vULvAHnLN 8IZ4FCeDJS7dWeqKNxNDWGXIy7r+Z3+vhos9qrSqdoqRwZn//SXvCNc7mZJADnCoXSlHGp cv3/PNUQEndn1l6Qb5rrSBd8KtB2M+IdjTVBpTtlqkoH0RNFrCfE5EB82FY5LG13YyM/SD yB5wsegZ8S+bVJCz2IHlPt6FUo/s2GzmB5OimUA/qlb1fJPGQPtCbtqIhXgc0w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1742153127; a=rsa-sha256; cv=none; b=JL1skSApINYSGhs6PbhGW06VY5chMm2X/5wTxl5/UkV7MeI1fZS2EKdmJxmhLueKp/Et47 NCvGO768wVGUPnwKkxIiJ2abQi8TfgZ2TPxXiFrlttAL93H+hpo/uZtzwf7hJcrgAaM9ua D/enwxspELdgRmedk1AhGBu4n/auA15q8pA6Y64vSjQX/iC6cfHSc5szevAUtJqN3M/RCx 9ETyUtpjjuHKulGO5DqanLm60ksSbVrOX46ZEJ+PE353ftWLnBiqaobNu3P4BwJCPeN5AJ N748oU1W/HR7xnbkXZutz1idAFjQ9u97Duom5trJwtaUZHdRgL6zBH1RU2GC3g== 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=1742153127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SlPAOiArTyeVHhifkjEEM2fVbNjK8gStyEq5nLrwMf4=; b=uKXo6Xuv2NfrrAkP5kM7UJS/DGWU2t/HdIHrgfwutP8nZ1bSS61F+ivGVCTBg9QEoGuJOH xY2Yu4gbsdMK//v/uyumCGg6w/wpxDi596ecSQXv/BMKhqD6429jjuqbt/QC7AxMFx4NVr vLLTpAm/pjdSDhmCUVDLZ0s4DwGx7wwueCfoE4x9u+4h5+Rk9+LBrfKBmC6ZhkfGMfI+qU AyJfZrPFlXUmmDp0P8YUQDFOqFYxhZi42aiFSDK0Fmltt/AIXle26ec7tGXz5v7K4/DyTP VnycrVtatbtd3hk/13HH2crw3ey/PCdZVwDb24SBOm+SN6huE/pVjKFcmffx7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZG7Nk6Cs8z1Ctp; Sun, 16 Mar 2025 19:25: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 52GJPQJi015707; Sun, 16 Mar 2025 19: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 52GJPQwe015704; Sun, 16 Mar 2025 19:25:26 GMT (envelope-from git) Date: Sun, 16 Mar 2025 19:25:26 GMT Message-Id: <202503161925.52GJPQwe015704@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: b0375f78e32a - main - usb-msctest: Be more conservative setting GETMAXLUN quirk 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: b0375f78e32acd7947d28126a5e165f8139a5a23 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b0375f78e32acd7947d28126a5e165f8139a5a23 commit b0375f78e32acd7947d28126a5e165f8139a5a23 Author: Warner Losh AuthorDate: 2025-03-16 19:20:09 +0000 Commit: Warner Losh CommitDate: 2025-03-16 19:23:25 +0000 usb-msctest: Be more conservative setting GETMAXLUN quirk Only set the GETMAXLUN quirk when it causes an error, but don't set it when it returns 0. Since we reset the device when we set any quirk, only set this quirk when it generates an error so umass will avoid it. When the command works, there's no reason for umass to avoid it at all. MFC After: 1 week Sponsored by: Netflix --- sys/dev/usb/usb_msctest.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/sys/dev/usb/usb_msctest.c b/sys/dev/usb/usb_msctest.c index d31baabcf875..7b31d9dadfab 100644 --- a/sys/dev/usb/usb_msctest.c +++ b/sys/dev/usb/usb_msctest.c @@ -741,11 +741,10 @@ usb_iface_is_cdrom(struct usb_device *udev, uint8_t iface_index) return (is_cdrom); } -static uint8_t +static int usb_msc_get_max_lun(struct usb_device *udev, uint8_t iface_index) { struct usb_device_request req; - usb_error_t err; uint8_t buf = 0; /* The Get Max Lun command is a class-specific request. */ @@ -756,11 +755,7 @@ usb_msc_get_max_lun(struct usb_device *udev, uint8_t iface_index) req.wIndex[1] = 0; USETW(req.wLength, 1); - err = usbd_do_request(udev, NULL, &req, &buf); - if (err) - buf = 0; - - return (buf); + return usbd_do_request(udev, NULL, &req, &buf); } #define USB_ADD_QUIRK(udev, any, which) do { \ @@ -803,8 +798,8 @@ usb_msc_auto_quirk(struct usb_device *udev, uint8_t iface_index, usb_pause_mtx(NULL, hz); if (usb_test_quirk(uaa, UQ_MSC_NO_GETMAXLUN) == 0 && - usb_msc_get_max_lun(udev, iface_index) == 0) { - DPRINTF("Device has only got one LUN.\n"); + usb_msc_get_max_lun(udev, iface_index) != 0) { + DPRINTF("Device can't handle GETMAXLUN\n"); USB_ADD_QUIRK(udev, any_quirk, UQ_MSC_NO_GETMAXLUN); }