From nobody Mon Feb 10 08:02: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 4Yrxqz3P5kz5nXrJ; Mon, 10 Feb 2025 08:02:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yrxqz2npZz3KKP; Mon, 10 Feb 2025 08:02:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739174527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B0yLowd/NhA26NYrG31YSP3p8/voVqm2+nyapsndWdg=; b=kvxlEVxB298j1RrHKvXcVEbTBpr5eLEq5vSuWDlB3RmPN/RfiQ4PActG6F8KdQVwB/guVv QqlkQWbf5OT8+VuVnfb+04KB8B7fYLkObfhXr8a1e3crFQTjoWuC0jqSYlTMuJmC7bM63T +lrQ+jTcM2FGnp8GokpOPuTUMYtcUeAVveUuHh/1tVUvqTVtbsT8hi85S3Vvk/uQQfsZS+ iZvCIu6E6zqLQM13H1ty10OaQNDs6tWllRXK+KAkSCM56YG4v87yYmCJWk6KB7OF115GU3 FPwkfjzawtK+A0J62kQR6XWGTra+OgwcQstrrtNb5heX3rZgLOH5P+ZwX2DMDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739174527; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B0yLowd/NhA26NYrG31YSP3p8/voVqm2+nyapsndWdg=; b=bSkMAtVVl7cHWgJVAdRDZei+NaMjgdlnNH2NqEuWF0eQ4bi8tD4maPdRe0W5aADHTCUpTN U5MvAuD2f2W/kfdR46DNf+utLq3XkPQXqdHhFBCupURBAsMeKJRFoEjG5IVU/qhjkvcr/k /hsWFrtb8HH45SIw24nQRr21O2tsFCMlD2V1FKbIERgbGg1H8/4RGY6/htgSiPZ9DrMqQd J6wpfvN7u7REyo3ysUOd8321cckdEvdsJCIIuGG/R+u9K8qN04idl53oxa89IfMaYUVqmU 4n7M3tKy7EnOGPIavdtRQoBc/SW4qwkt9exl2nujRhNFXlX94IUPz1b+2XKrqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739174527; a=rsa-sha256; cv=none; b=bAHQ9WFY+HaItKB2yJpUkSUkn1QOTbfq3p2JuCogS5f0QO78/AbmXcrAnn9iXN20+vSFTB qLIawrc6fyQLWAkHhfvowo9zjvTgNSQeMY+nSYhwHQsvcie+Us5cQCf3yhczsnGIR1EoWb M/EsqMkWwXmBTTPq+lPortg12yMRvRkMSSGK662Gf5Q0M+0f0/WgA23Gk4YSqwCfyU1wj0 Nnqj2WsRZOld2JLJM3lLX0gwsndeLkBLiupz23IzgXNjB60+Q5t8aFEnCzOpaay1hzhmiY Kp8Fqenq5VH7tI4xWGKEChQpF/1NI1HdkUxrxSAnaCtM0/F/j6Czb201Nc+Obw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yrxqz2M7wz3cp; Mon, 10 Feb 2025 08:02: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 51A8271s059174; Mon, 10 Feb 2025 08:02:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51A8279c059171; Mon, 10 Feb 2025 08:02:07 GMT (envelope-from git) Date: Mon, 10 Feb 2025 08:02:07 GMT Message-Id: <202502100802.51A8279c059171@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: 95ab7b3223c0 - main - ipfw: add missing initializer for 'limit' table value List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 95ab7b3223c08cf48ccf764815523ea995a7ea0e Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=95ab7b3223c08cf48ccf764815523ea995a7ea0e commit 95ab7b3223c08cf48ccf764815523ea995a7ea0e Author: Andrey V. Elsukov AuthorDate: 2025-02-10 07:58:23 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-02-10 07:58:23 +0000 ipfw: add missing initializer for 'limit' table value PR: 284691 MFC after: 1 week --- sys/netpfil/ipfw/ip_fw_table_value.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netpfil/ipfw/ip_fw_table_value.c b/sys/netpfil/ipfw/ip_fw_table_value.c index 1d4e1db2dcbb..431707ae5d74 100644 --- a/sys/netpfil/ipfw/ip_fw_table_value.c +++ b/sys/netpfil/ipfw/ip_fw_table_value.c @@ -112,6 +112,7 @@ mask_table_value(struct table_value *src, struct table_value *dst, _MCPY(netgraph, IPFW_VTYPE_NETGRAPH); _MCPY(fib, IPFW_VTYPE_FIB); _MCPY(nat, IPFW_VTYPE_NAT); + _MCPY(limit, IPFW_VTYPE_LIMIT); _MCPY(mark, IPFW_VTYPE_MARK); _MCPY(dscp, IPFW_VTYPE_DSCP); _MCPY(nh4, IPFW_VTYPE_NH4); From nobody Mon Feb 10 11: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 4Ys20z56PHz5nkqr; Mon, 10 Feb 2025 11:10:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys20z4P4Rz3ctv; Mon, 10 Feb 2025 11: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=1739185811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o1PjLE4JnkcDoK+jUZ0CCBp4GsC9RBnwL41hTSSmnSw=; b=Zedpx/LjRGXJtF3AjjZy6tmt6a2ddfHvzuKhhYbHdLefcRp+zz6ypf75YjYMB63xo7LGRk 5GNiv81ldoJfKLTKFB63AIDsNL2pfOiednbyM/3QoT8qJBZGFn6XhkwA6fHJf7EPBriAs6 7pgFLq5vRV4ki7UJAXLPoFlkVCsewoHCOGpdmTF6qg2XBevEVUb5+dk72njv4MSxZOJVIk NYYBLZ55iYYjbs6BGEdhH1VzYrDVuDGUVJFFx4+rSJhFu+gTPp58iAe/O3TMcZXdWBlW3U amF+XlUPnmnGRjwliP4SRUDoI97bc6CQbJnW4MFf5Y/LreTrt4TFjn5ftSDUpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185811; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=o1PjLE4JnkcDoK+jUZ0CCBp4GsC9RBnwL41hTSSmnSw=; b=ldfcq35iNPSb7ZAHgBkg1rBMHicHKnhpQw5xrOilm96d6I0hk1MljxB3Ku8v1Y/EkQod/m YwWPGBfhxVFLhQaLMm7kPCKG3sfg9S5kgywM24P1EIXUq8bCaGY7gRw0/TTgE7FWdQ4ukh xyIz5hEdnTJTacqw82qzcVxkB69clajnQ80o09n9xWt6g81a9rkxIM7WTZpDZmAQmKB9br p8x9Xs3RLTy5hCTWTjm6gUDEw9mDi/hIRP2DBcC8Myl27hy6OIefZYlqdMw9p9Cp0c06mI hG+dWrgC9bIrTDt0P9oH9TpYNYwVmJI5kmwPIIeF0nzAsmdJBu1QkrVzMbeiFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739185811; a=rsa-sha256; cv=none; b=TVHxR1KbDF5ddbMVqy73ia5cvD3vWgE905rS/dPX29ExoOdkxxGaryN6ugf4kpFVmbYDkC 27k/KRA9xCuDs44dBgDM+U4eeVKOQsX/Rzba5SbetIPGgv0+NIAp79bskOKSLslByij6wd YjEw38bMF2uhKcMREEEn9fhZ4JLmjkiGY82c7B4tMpUsGKSfwHN4J3zzyznihlCNrIi4Ek ILHBF4jim2irTZwHlKqWffvYOPXFrfgCco2X/JQnMNqeZvuSOFHHNCXl6T5JVRTBOFoNU2 WGhSr2dQghR/gPrVWptGxxxyYj4FrlcklyebDJdwIF9FYmT6MS9Lq62UQh6kOg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys20z3ZnRz8Y7; Mon, 10 Feb 2025 11: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 51ABABQ0004257; Mon, 10 Feb 2025 11: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 51ABABGH004250; Mon, 10 Feb 2025 11:10:11 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:10:11 GMT Message-Id: <202502101110.51ABABGH004250@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: b452e72bda5e - main - pfctl: simplify pfr_add_tables() to pfr_add_table() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b452e72bda5eaa09d6fad94d3b538f21754c5313 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=b452e72bda5eaa09d6fad94d3b538f21754c5313 commit b452e72bda5eaa09d6fad94d3b538f21754c5313 Author: Kristof Provost AuthorDate: 2024-12-04 09:48:13 +0000 Commit: Kristof Provost CommitDate: 2025-02-10 11:09:47 +0000 pfctl: simplify pfr_add_tables() to pfr_add_table() We only ever add a single table at a time, so remove the size argument. This will make subsequent conversion to netlink easier. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.h | 2 +- sbin/pfctl/pfctl_radix.c | 8 ++------ sbin/pfctl/pfctl_table.c | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/sbin/pfctl/pfctl.h b/sbin/pfctl/pfctl.h index 788232d89006..36dcd73ce57d 100644 --- a/sbin/pfctl/pfctl.h +++ b/sbin/pfctl/pfctl.h @@ -56,7 +56,7 @@ struct pfr_buffer { (var) = pfr_buf_next((buf), (var))) int pfr_get_fd(void); -int pfr_add_tables(struct pfr_table *, int, int *, int); +int pfr_add_table(struct pfr_table *, int *, int); int pfr_del_tables(struct pfr_table *, int, int *, int); int pfr_get_tables(struct pfr_table *, struct pfr_table *, int *, int); int pfr_get_tstats(struct pfr_table *, struct pfr_tstats *, int *, int); diff --git a/sbin/pfctl/pfctl_radix.c b/sbin/pfctl/pfctl_radix.c index 22552bcf1737..49a20d6c98f4 100644 --- a/sbin/pfctl/pfctl_radix.c +++ b/sbin/pfctl/pfctl_radix.c @@ -74,19 +74,15 @@ pfr_report_error(struct pfr_table *tbl, struct pfioc_table *io, } int -pfr_add_tables(struct pfr_table *tbl, int size, int *nadd, int flags) +pfr_add_table(struct pfr_table *tbl, int *nadd, int flags) { struct pfioc_table io; - if (size < 0 || (size && tbl == NULL)) { - errno = EINVAL; - return (-1); - } bzero(&io, sizeof io); io.pfrio_flags = flags; io.pfrio_buffer = tbl; io.pfrio_esize = sizeof(*tbl); - io.pfrio_size = size; + io.pfrio_size = 1; if (ioctl(dev, DIOCRADDTABLES, &io)) { pfr_report_error(tbl, &io, "add table"); return (-1); diff --git a/sbin/pfctl/pfctl_table.c b/sbin/pfctl/pfctl_table.c index 5e701be3c654..4ef4dd69309a 100644 --- a/sbin/pfctl/pfctl_table.c +++ b/sbin/pfctl/pfctl_table.c @@ -89,7 +89,7 @@ static const char *istats_text[2][2][2] = { table.pfrt_flags |= PFR_TFLAG_PERSIST; \ if ((!(opts & PF_OPT_NOACTION) || \ (opts & PF_OPT_DUMMYACTION)) && \ - (pfr_add_tables(&table, 1, &nadd, flags)) && \ + (pfr_add_table(&table, &nadd, flags)) && \ (errno != EPERM)) { \ radix_perror(); \ goto _error; \ From nobody Mon Feb 10 11: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 4Ys2105whDz5nkqs; Mon, 10 Feb 2025 11: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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys2103vc3z3d0J; Mon, 10 Feb 2025 11: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=1739185812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m6+iNRQrn4MT1HaTx8teFRJCekT2ZRmNSM1z2WUiWMU=; b=N8H93QYxWcpMOKF/ym0OOhi5ofu2LKWj5zW4UI2XgfXPci586ijX9ak/T+nE8pnPIqBuWu /qHibznh1lqeGnP2OeFgDiLCnpFGa8gdNaJTyIp5e6KYT0eoh3wN56X29fZLxcWMQQ/lgD uPHlo1RVs/EQOEWrNz3N08/EiosrnE9k4SYOB8hurRecFMkv2xUfOrURu4irsT93FAYsif TevRV+KNA2C7eatQQlU+Vbuo9pAXKdQZbPhE88Pr2ZqcipeY9LpBnaFmLbhawVzIImOmir gSPOIfUnpjHq4JMfua5BrDBWozjuP0qSTdXHcOD+EuCKOnprBNQZFhLWPPeh9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m6+iNRQrn4MT1HaTx8teFRJCekT2ZRmNSM1z2WUiWMU=; b=clGA3X/+YqZ2Lljo/yPYG4q3DTODX4iv6ZAlaeU00EDzKqni33CVoL0+T7SWKcbGH0m4Dr tjzDDT9wgx+Z6fsKe22G+2E/O+cgWWxKazOA1N6MBfZmA9nan2Z0ArNro8jLgFXyQO17g8 XLijBhp+86znKdJrkeHfRZkJqxxgZusrKjLZBzqMf8S16vYjaMQKxp8m8bxLNObBtodrYd i8OqQf5FMvbu6VvS50YtLhCHb/sL8koorFPZD47rH7Z5bGz5FHWXl7WlYc7KapsfI8KrrZ ZZ4I8OiIvRdn/UFouc4QOZuPdm+zgbJJDMtF0mK8rnvijqjJTuWJ0uJ1WZD/Vg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739185812; a=rsa-sha256; cv=none; b=u3iq8SmBArEHIe4R3ozOGCiYua1xs1UEATx0LtLj+lkD48Ho4CO1aOaFKv0EuFqfLbPLRR VCqZfr/VNb6K8Y5tJs6VNKqg+Z8KX+cUKAjmzex8EHf6vxoj9+z3wsZ7YKhGc9cmDhT8yx L3FmVLdXmjLiipT2s2MvvI/BmpqmLDHs3Qd5Ezsu+m/qF2m9lbNR0puLudpHqJ5OZTOK4A JSFPP9QTgIKOqWcplReXWyo/8NWOxskSp38s3N+OH6OZYbAOxSPBiRO+Jn1N+0N8K66S8a woGLV41GZ/S0KdX66yyY7Q1faPmXw7xfwVYdJZJuyFLkHeSYYhd47Scu43S2cA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys2103WG5z7kc; Mon, 10 Feb 2025 11: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 51ABACFI004905; Mon, 10 Feb 2025 11: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 51ABAC6C004899; Mon, 10 Feb 2025 11:10:12 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:10:12 GMT Message-Id: <202502101110.51ABAC6C004899@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 84a80eae6987 - main - pf: convert DIOCRADDTABLES to netlink List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 84a80eae6987bace1552882a7bb94e62fa1dc3ad Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=84a80eae6987bace1552882a7bb94e62fa1dc3ad commit 84a80eae6987bace1552882a7bb94e62fa1dc3ad Author: Kristof Provost AuthorDate: 2025-02-07 16:35:46 +0000 Commit: Kristof Provost CommitDate: 2025-02-10 11:09:47 +0000 pf: convert DIOCRADDTABLES to netlink Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 43 +++++++++++++++++++++++++++++++++++++++++++ lib/libpfctl/libpfctl.h | 2 ++ sbin/pfctl/pfctl_radix.c | 15 +-------------- sys/netpfil/pf/pf_nl.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ sys/netpfil/pf/pf_nl.h | 2 ++ 5 files changed, 92 insertions(+), 14 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 2297b24d37a0..50dfcfea703d 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -3100,3 +3100,46 @@ pfctl_clear_tables(struct pfctl_handle *h, struct pfr_table *filter, return (e.error); } + +static struct snl_attr_parser ap_nadd[] = { + { .type = PF_T_NBR_ADDED, .off = 0, .cb = snl_attr_get_uint32 }, +}; +SNL_DECLARE_PARSER(nadd_parser, struct genlmsghdr, snl_f_p_empty, ap_nadd); +int +pfctl_add_table(struct pfctl_handle *h, struct pfr_table *table, + int *nadd, int flags) +{ + struct snl_writer nw; + struct snl_errmsg_data e = {}; + struct nlmsghdr *hdr; + uint32_t seq_id; + int family_id; + + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); + if (family_id == 0) + return (ENOTSUP); + + snl_init_writer(&h->ss, &nw); + hdr = snl_create_genl_msg_request(&nw, family_id, PFNL_CMD_ADD_TABLE); + + snl_add_msg_attr_string(&nw, PF_T_ANCHOR, table->pfrt_anchor); + snl_add_msg_attr_string(&nw, PF_T_NAME, table->pfrt_name); + snl_add_msg_attr_u32(&nw, PF_T_TABLE_FLAGS, table->pfrt_flags); + snl_add_msg_attr_u32(&nw, PF_T_FLAGS, flags); + + if ((hdr = snl_finalize_msg(&nw)) == NULL) + return (ENXIO); + + seq_id = hdr->nlmsg_seq; + + if (!snl_send_message(&h->ss, hdr)) + return (ENXIO); + + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { + if (!snl_parse_nlmsg(&h->ss, hdr, &nadd_parser, nadd)) + continue; + } + + return (e.error); +} + diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index 2532894ffa21..300511452d8f 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -542,5 +542,7 @@ int pfctl_get_srcnodes(struct pfctl_handle *h, pfctl_get_srcnode_fn fn, void *ar int pfctl_clear_tables(struct pfctl_handle *h, struct pfr_table *filter, int *ndel, int flags); +int pfctl_add_table(struct pfctl_handle *h, struct pfr_table *table, + int *nadd, int flags); #endif diff --git a/sbin/pfctl/pfctl_radix.c b/sbin/pfctl/pfctl_radix.c index 49a20d6c98f4..7cb9b6faa0d9 100644 --- a/sbin/pfctl/pfctl_radix.c +++ b/sbin/pfctl/pfctl_radix.c @@ -76,20 +76,7 @@ pfr_report_error(struct pfr_table *tbl, struct pfioc_table *io, int pfr_add_table(struct pfr_table *tbl, int *nadd, int flags) { - struct pfioc_table io; - - bzero(&io, sizeof io); - io.pfrio_flags = flags; - io.pfrio_buffer = tbl; - io.pfrio_esize = sizeof(*tbl); - io.pfrio_size = 1; - if (ioctl(dev, DIOCRADDTABLES, &io)) { - pfr_report_error(tbl, &io, "add table"); - return (-1); - } - if (nadd != NULL) - *nadd = io.pfrio_nadd; - return (0); + return (pfctl_add_table(pfh, tbl, nadd, flags)); } int diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 737e9cf8cab8..74c5bdca4f77 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -1842,6 +1842,43 @@ pf_handle_clear_tables(struct nlmsghdr *hdr, struct nl_pstate *npt) return (0); } +static int +pf_handle_add_table(struct nlmsghdr *hdr, struct nl_pstate *npt) +{ + struct pfioc_table attrs = { 0 }; + struct nl_writer *nw = npt->nw; + struct genlmsghdr *ghdr_new; + int error; + + error = nl_parse_nlmsg(hdr, &table_parser, npt, &attrs); + if (error != 0) + return (error); + + PF_RULES_WLOCK(); + error = pfr_add_tables(&attrs.pfrio_table, 1, &attrs.pfrio_nadd, + attrs.pfrio_flags | PFR_FLAG_USERIOCTL); + PF_RULES_WUNLOCK(); + if (error != 0) + return (error); + + if (!nlmsg_reply(nw, hdr, sizeof(struct genlmsghdr))) + return (ENOMEM); + + ghdr_new = nlmsg_reserve_object(nw, struct genlmsghdr); + ghdr_new->cmd = PFNL_CMD_ADD_TABLE; + ghdr_new->version = 0; + ghdr_new->reserved = 0; + + nlattr_add_u32(nw, PF_T_NBR_ADDED, attrs.pfrio_nadd); + + if (!nlmsg_end(nw)) { + nlmsg_abort(nw); + return (ENOMEM); + } + + return (0); +} + static const struct nlhdr_parser *all_parsers[] = { &state_parser, &addrule_parser, @@ -2043,6 +2080,13 @@ static const struct genl_cmd pf_cmds[] = { .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, }, + { + .cmd_num = PFNL_CMD_ADD_TABLE, + .cmd_name = "ADD_TABLE", + .cmd_cb = pf_handle_add_table, + .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, + .cmd_priv = PRIV_NETINET_PF, + }, }; void diff --git a/sys/netpfil/pf/pf_nl.h b/sys/netpfil/pf/pf_nl.h index d749ef3ab99e..38a44c2c4395 100644 --- a/sys/netpfil/pf/pf_nl.h +++ b/sys/netpfil/pf/pf_nl.h @@ -62,6 +62,7 @@ enum { PFNL_CMD_GET_RULESET = 24, PFNL_CMD_GET_SRCNODES = 25, PFNL_CMD_CLEAR_TABLES = 26, + PFNL_CMD_ADD_TABLE = 27, __PFNL_CMD_MAX, }; #define PFNL_CMD_MAX (__PFNL_CMD_MAX -1) @@ -431,6 +432,7 @@ enum pf_tables_t { PF_T_TABLE_FLAGS = 3, /* u32 */ PF_T_FLAGS = 4, /* u32 */ PF_T_NBR_DELETED = 5, /* u32 */ + PF_T_NBR_ADDED = 6, /* u32 */ }; #ifdef _KERNEL From nobody Mon Feb 10 11: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 4Ys21168b3z5nktj; Mon, 10 Feb 2025 11:10:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys2114TGvz3d2m; Mon, 10 Feb 2025 11: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=1739185813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S7FZ88n+a64Xa8M9RiXx2yi6TEpS3UKZ94gySWG91R4=; b=MoMOHcAOf4oneomUMZcjn94amqIjecFhw7NdDDug6DTZq4NqZy0lb4p4qZnIlX6nCzPko4 W04QU4vTKfR4jo5vXRaw4q1EKUQXOdxJIcnJ1IgHG1uh7bRJLO2Q9CoMi62kqNcQYQpJT7 Q+n067mlYQ/x0vp67Pg2fnBNd1Xa06S9H51mWJXHeq5tPZHBj4d2BMN8JVjFxmXdyY+BzL uzjsZacEdBouAtZhX09UCFlurhijejzWDn3I48qDWz1QOm9Vkm0sabwF/cbkVgGizLmAzG lhvwr0ON1HcwQ1kgqtJFbF7qF0k2eWgEc0GLQkE5LCW3NND1DtUlHQBIzEs7GQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=S7FZ88n+a64Xa8M9RiXx2yi6TEpS3UKZ94gySWG91R4=; b=Tegz0K2C2FkDA+p4RibnjhljIlQ0FC7XK0fnaVwIRNcsle6lNwuTqMWhepi3u1Xzp2jFz4 voqRPF+AcJIZTaxeQVaWfJq/G/xKTeW7m5hOLLWkD8zmbx/MvM37TotpF6BkkADMmyTzPC EviwSWg452Gmp+dmOM1eYaJ1ZZBLm2zkHSdh3dzxvjXrGI/ulfKW/vUu0Bscoh8T1W/Ryi CMD8MyMkeCwT/CPW5MDTxJJ34RMJei/HzLNIIvQ4NBgTTB1hbWrOJQh2N2eHbp3FzrDYjg xbbJm06t/L0Svsq1+KnJgwr9KPlvaNnVmI5gHOp+eIfPNBy8eBgiYkG7Jjie3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739185813; a=rsa-sha256; cv=none; b=hIOmc1SL2Sxl0BBHPVuwLdqWHUpHAHsG9MGCqfatb5VDd1sk5P3GahBpU5KeKbk8UbEA5Q vLAFMx76bV1Jk9XONOG4XD4OVrGqOwwSiKFgjJvuHHLvQjvcakiccVNJnMr9Ha6iS05oKT 3+zfoM3qaxzIKPEt6JnDmLO2bcXnVmxAdJy5bQn4Z7FZLhtsNxNbwgVh4Dmi2LCTDU+twy mnlP0v0H5wXlJAOQKH1p7TtfSn9J+iHOX9zegZq52aDQQUfoudEf0awj76dN7wc8W9CkSJ HVwTHZ3Y6YLT5PjyIEzWVm7OE49zbahXwYjgSjXO+SbPA7aiQK+MlaoIuFQnrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys21142cBz8K9; Mon, 10 Feb 2025 11: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 51ABADqt005568; Mon, 10 Feb 2025 11: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 51ABADD1005560; Mon, 10 Feb 2025 11:10:13 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:10:13 GMT Message-Id: <202502101110.51ABADD1005560@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 2c96c9b053c7 - main - pfctl: simplify pfr_del_tables() to pfr_del_table() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2c96c9b053c7db6c7c09fb1ba908c0026f58c864 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=2c96c9b053c7db6c7c09fb1ba908c0026f58c864 commit 2c96c9b053c7db6c7c09fb1ba908c0026f58c864 Author: Kristof Provost AuthorDate: 2025-02-07 17:22:44 +0000 Commit: Kristof Provost CommitDate: 2025-02-10 11:09:47 +0000 pfctl: simplify pfr_del_tables() to pfr_del_table() We only ever delete a single table at a time, so remove the size argument. This will make subsequent conversion to netlink easier. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.h | 2 +- sbin/pfctl/pfctl_radix.c | 8 ++------ sbin/pfctl/pfctl_table.c | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/sbin/pfctl/pfctl.h b/sbin/pfctl/pfctl.h index 36dcd73ce57d..ffd37cf023a6 100644 --- a/sbin/pfctl/pfctl.h +++ b/sbin/pfctl/pfctl.h @@ -57,7 +57,7 @@ struct pfr_buffer { int pfr_get_fd(void); int pfr_add_table(struct pfr_table *, int *, int); -int pfr_del_tables(struct pfr_table *, int, int *, int); +int pfr_del_table(struct pfr_table *, int *, int); int pfr_get_tables(struct pfr_table *, struct pfr_table *, int *, int); int pfr_get_tstats(struct pfr_table *, struct pfr_tstats *, int *, int); int pfr_clr_tstats(struct pfr_table *, int, int *, int); diff --git a/sbin/pfctl/pfctl_radix.c b/sbin/pfctl/pfctl_radix.c index 7cb9b6faa0d9..451b83371d05 100644 --- a/sbin/pfctl/pfctl_radix.c +++ b/sbin/pfctl/pfctl_radix.c @@ -80,19 +80,15 @@ pfr_add_table(struct pfr_table *tbl, int *nadd, int flags) } int -pfr_del_tables(struct pfr_table *tbl, int size, int *ndel, int flags) +pfr_del_table(struct pfr_table *tbl, int *ndel, int flags) { struct pfioc_table io; - if (size < 0 || (size && tbl == NULL)) { - errno = EINVAL; - return (-1); - } bzero(&io, sizeof io); io.pfrio_flags = flags; io.pfrio_buffer = tbl; io.pfrio_esize = sizeof(*tbl); - io.pfrio_size = size; + io.pfrio_size = 1; if (ioctl(dev, DIOCRDELTABLES, &io)) { pfr_report_error(tbl, &io, "delete table"); return (-1); diff --git a/sbin/pfctl/pfctl_table.c b/sbin/pfctl/pfctl_table.c index 4ef4dd69309a..7137f42b13e8 100644 --- a/sbin/pfctl/pfctl_table.c +++ b/sbin/pfctl/pfctl_table.c @@ -189,7 +189,7 @@ pfctl_table(int argc, char *argv[], char *tname, const char *command, } else if (!strcmp(command, "kill")) { if (argc || file != NULL) usage(); - RVTEST(pfr_del_tables(&table, 1, &ndel, flags)); + RVTEST(pfr_del_table(&table, &ndel, flags)); xprintf(opts, "%d table deleted", ndel); } else if (!strcmp(command, "flush")) { if (argc || file != NULL) From nobody Mon Feb 10 11: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 4Ys21423qWz5nkX2; Mon, 10 Feb 2025 11:10:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys21346Myz3dD9; Mon, 10 Feb 2025 11:10:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RzNMDix1uZ8s6vmmELu2kqO5oUMCNreF7UIviS2aWZI=; b=xwR2L+cWyv3hUBo4X7dURXFmsCOh+5KXsl7cV9IyXs3IQDpqnivP6xREOtWyWueW76SDjJ Qkou6idujnf0YJ7ei+ACam8CDFiq9H2rZxuVANtSkycrgc5FGzg8+nFmVkxbEUnTdCjQR/ I1n6tK0Pth52BCuoU0C8kiOT1U1EWAcuz3+Q/t9NqdWCtT8jVFtSTTkpA4nIfkGxh+X+EL m2mhhXmTrLep8uoq9WF/+lXK6naBgs/abMKKb4wxNUviDYADSHHlrxS0gQ2i5TfBAoo3uE xfqY6sC8Pdr0jb3MUf/1Ws7r3TTweOyB5eBsdD4YoR5i3d6P+tikcgZVGwc/dQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739185815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RzNMDix1uZ8s6vmmELu2kqO5oUMCNreF7UIviS2aWZI=; b=e/nbGb0XaYXyq9JgVYHQVDMxgFvLWF6pyalHVygl6glBTZ2j8opGX0uV417g4GqItkz9a7 VuvW2UhLDjFQsT0MFfCFTTjHVT6+0men5nLypf5uFcTpzMIHoCOLyHvdhJtNNwT0UCQoKN o3etLAWQnFU9edPlM0yATEcsE9tVZ22cSYkxe5GcFWxj2RGDJxNtz3BjtbUslVrv7y7d9O 9DB6LJYt3AzVCPKAAu175LnNUtdJCzAaQmIHYF6hYYw5l86evKazugbM+Uoi21Sxk66kbL E+aUXabvcVTTch70owkyrI9J/IXiepMuNd+W5Z6C4B47tD98DQky7VcjuQyxqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739185815; a=rsa-sha256; cv=none; b=f8J3rJn4W0NzSdNxInDhIxbuE41jI3coZSSlqjjfhvArsZ2X6p4wjqIqodxkn5lTgK4j4M 5xd4gl5YhCKKm/m4Fzj9MIl1FPn4DcIrcAwuD4/+k1YELY9DGGuy0CPYreIl4SkVH28zio vJEhOqG649XFtdLg+QykN4eUfcctnfG/hx3e/nmppcHypOFfRk2UajvKEMK+bODEKePwdG sOeRyYx/y6mJ/L5SWp1VmjzDXu4WNTy+5heJIUVAUiOCy9rVivIc7ut4zluxkJO+luTiXX MrOtD4qfDcHTH4JDz0spr0QC7wVyTcqTz0++fY3q59iQ5izuLj48SkVA48InzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys2124Zvbz8bD; Mon, 10 Feb 2025 11: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 51ABAE54006245; Mon, 10 Feb 2025 11: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 51ABAEII006236; Mon, 10 Feb 2025 11:10:14 GMT (envelope-from git) Date: Mon, 10 Feb 2025 11:10:14 GMT Message-Id: <202502101110.51ABAEII006236@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 0d2058abf3b2 - main - pf: convert DIOCRDELTABLES to netlink List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0d2058abf3b252e77dae8808dd744c0293b5f433 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0d2058abf3b252e77dae8808dd744c0293b5f433 commit 0d2058abf3b252e77dae8808dd744c0293b5f433 Author: Kristof Provost AuthorDate: 2025-02-07 17:39:51 +0000 Commit: Kristof Provost CommitDate: 2025-02-10 11:09:47 +0000 pf: convert DIOCRDELTABLES to netlink Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 38 ++++++++++++++++++++++++++++++++++++++ lib/libpfctl/libpfctl.h | 2 ++ sbin/pfctl/pfctl_radix.c | 15 +-------------- sys/netpfil/pf/pf_nl.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ sys/netpfil/pf/pf_nl.h | 1 + 5 files changed, 86 insertions(+), 14 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 50dfcfea703d..8569d691773c 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -3143,3 +3143,41 @@ pfctl_add_table(struct pfctl_handle *h, struct pfr_table *table, return (e.error); } +int +pfctl_del_table(struct pfctl_handle *h, struct pfr_table *table, + int *ndel, int flags) +{ + struct snl_writer nw; + struct snl_errmsg_data e = {}; + struct nlmsghdr *hdr; + uint32_t seq_id; + int family_id; + + family_id = snl_get_genl_family(&h->ss, PFNL_FAMILY_NAME); + if (family_id == 0) + return (ENOTSUP); + + snl_init_writer(&h->ss, &nw); + hdr = snl_create_genl_msg_request(&nw, family_id, PFNL_CMD_DEL_TABLE); + + snl_add_msg_attr_string(&nw, PF_T_ANCHOR, table->pfrt_anchor); + snl_add_msg_attr_string(&nw, PF_T_NAME, table->pfrt_name); + snl_add_msg_attr_u32(&nw, PF_T_TABLE_FLAGS, table->pfrt_flags); + snl_add_msg_attr_u32(&nw, PF_T_FLAGS, flags); + + if ((hdr = snl_finalize_msg(&nw)) == NULL) + return (ENXIO); + + seq_id = hdr->nlmsg_seq; + + if (!snl_send_message(&h->ss, hdr)) + return (ENXIO); + + while ((hdr = snl_read_reply_multi(&h->ss, seq_id, &e)) != NULL) { + if (!snl_parse_nlmsg(&h->ss, hdr, &ndel_parser, ndel)) + continue; + } + + return (e.error); +} + diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index 300511452d8f..d5d0a43f90a3 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -544,5 +544,7 @@ int pfctl_clear_tables(struct pfctl_handle *h, struct pfr_table *filter, int *ndel, int flags); int pfctl_add_table(struct pfctl_handle *h, struct pfr_table *table, int *nadd, int flags); +int pfctl_del_table(struct pfctl_handle *h, struct pfr_table *table, + int *ndel, int flags); #endif diff --git a/sbin/pfctl/pfctl_radix.c b/sbin/pfctl/pfctl_radix.c index 451b83371d05..94de63414885 100644 --- a/sbin/pfctl/pfctl_radix.c +++ b/sbin/pfctl/pfctl_radix.c @@ -82,20 +82,7 @@ pfr_add_table(struct pfr_table *tbl, int *nadd, int flags) int pfr_del_table(struct pfr_table *tbl, int *ndel, int flags) { - struct pfioc_table io; - - bzero(&io, sizeof io); - io.pfrio_flags = flags; - io.pfrio_buffer = tbl; - io.pfrio_esize = sizeof(*tbl); - io.pfrio_size = 1; - if (ioctl(dev, DIOCRDELTABLES, &io)) { - pfr_report_error(tbl, &io, "delete table"); - return (-1); - } - if (ndel != NULL) - *ndel = io.pfrio_ndel; - return (0); + return (pfctl_del_table(pfh, tbl, ndel, flags)); } int diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 74c5bdca4f77..97552880b9e3 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -1879,6 +1879,43 @@ pf_handle_add_table(struct nlmsghdr *hdr, struct nl_pstate *npt) return (0); } +static int +pf_handle_del_table(struct nlmsghdr *hdr, struct nl_pstate *npt) +{ + struct pfioc_table attrs = { 0 }; + struct nl_writer *nw = npt->nw; + struct genlmsghdr *ghdr_new; + int error; + + error = nl_parse_nlmsg(hdr, &table_parser, npt, &attrs); + if (error != 0) + return (error); + + PF_RULES_WLOCK(); + error = pfr_del_tables(&attrs.pfrio_table, 1, &attrs.pfrio_ndel, + attrs.pfrio_flags | PFR_FLAG_USERIOCTL); + PF_RULES_WUNLOCK(); + if (error != 0) + return (error); + + if (!nlmsg_reply(nw, hdr, sizeof(struct genlmsghdr))) + return (ENOMEM); + + ghdr_new = nlmsg_reserve_object(nw, struct genlmsghdr); + ghdr_new->cmd = PFNL_CMD_ADD_TABLE; + ghdr_new->version = 0; + ghdr_new->reserved = 0; + + nlattr_add_u32(nw, PF_T_NBR_DELETED, attrs.pfrio_ndel); + + if (!nlmsg_end(nw)) { + nlmsg_abort(nw); + return (ENOMEM); + } + + return (0); +} + static const struct nlhdr_parser *all_parsers[] = { &state_parser, &addrule_parser, @@ -2087,6 +2124,13 @@ static const struct genl_cmd pf_cmds[] = { .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, }, + { + .cmd_num = PFNL_CMD_DEL_TABLE, + .cmd_name = "DEL_TABLE", + .cmd_cb = pf_handle_del_table, + .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, + .cmd_priv = PRIV_NETINET_PF, + }, }; void diff --git a/sys/netpfil/pf/pf_nl.h b/sys/netpfil/pf/pf_nl.h index 38a44c2c4395..a66ff5bc3f1e 100644 --- a/sys/netpfil/pf/pf_nl.h +++ b/sys/netpfil/pf/pf_nl.h @@ -63,6 +63,7 @@ enum { PFNL_CMD_GET_SRCNODES = 25, PFNL_CMD_CLEAR_TABLES = 26, PFNL_CMD_ADD_TABLE = 27, + PFNL_CMD_DEL_TABLE = 28, __PFNL_CMD_MAX, }; #define PFNL_CMD_MAX (__PFNL_CMD_MAX -1) From nobody Mon Feb 10 14:32: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 4Ys6Tw3WnTz5mFfb; Mon, 10 Feb 2025 14:32:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6Tw2l9mz49Ty; Mon, 10 Feb 2025 14:32:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739197924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3NZdtZrLqkm7toK1wFDztXUyNaHviPprItNjD+vkCeI=; b=UrHVxjJazjOl9a4/OZjbBrti8U4GBQVRq3o6DLj0e4H3LqNO/WS7r3SVnxWtj7gzofOocK l2gS5fdltck9n1Kg/bgcwndYM2jJLu+WPe4mDIfTrsd0oU1ldBC9F9SNRvc6Zub/onRCOp RRPgZO44sJ6uOXqGUSCE/DQG2BTx0vYCjqskNkL9sK2J/q/dqp5tZumwqdxbzwyamHq1/l uHbJfBsOXPQ0QPL4GVnVodLOjc9yYAVBu1a7Hg8BIUSh4E2NVfPHN65IxyszBVFbDuZ0pZ WQICg3ahQ2g8VMfX+/x2mIpUASnb8Gt1RCgA43gjF1/0qgFVTL+Q8TdMYUYDcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739197924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3NZdtZrLqkm7toK1wFDztXUyNaHviPprItNjD+vkCeI=; b=hTd306PjWLPbk6r4J8s+LPt50HnxI7KXfvxQJHkmQAao+BEghUVQJ4tAQRJKBa5USaH1In 69w8xizZvegrdkxci6yiGF8YRzYsXVAxJ4D2OAcq5B8yC8C2owM4Uio33clT2Ol+kIJwGG LuS8HaNOW0GWNN1l0vtYjzKGlYnWqCUpDJyjjENsDri+YsVMHATZBegPwZY7PTB8vMy5GO yNRkBLLTOUaVfWCtAUCwsxSEeEJEaIr5mY6QoT1hPV8Z8T/Xu5Sgd0J3gI94sovXOH8o1f 5W5MVMRPYQqDOpzAxBL9n3I0HmOtCjJxVFJa1M5g+y2v96I/fzcU7pqI2wnylg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739197924; a=rsa-sha256; cv=none; b=SHHBjxhF15Pdcq8u+ChIa+2l5sOZUEFXnBAE3etlmWEOoOzTBdCL5SmUvT//FD1fktp4BC ZWmZxwK6GyA2gx8oCS8ZalBNwx2pc0Xb+LN7nZ/Sw4C47cWy9a391Lier6UE7WSaBA885k +86XzH+iAaNt/1vhsM06CcljwgOyF0pSSEy3XAgIQNp/S/R03/2pu3xRQmBQQpkAVMpPC8 tPCQgc5tPmuQqO2vcgH0NLYFpRr/s7xQIDjSxAYZQkOgLwHJbLBECsyL3nf+SdbRYAwmuo LrY9DuQpkVngdLtf62xcJIhvSnwubrjoe0jyPePH58ctV3ykwOKIfGsGQZmf5g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6Tw27RhzVVj; Mon, 10 Feb 2025 14:32: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 51AEW4RG088844; Mon, 10 Feb 2025 14:32:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEW4UJ088841; Mon, 10 Feb 2025 14:32:04 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:32:04 GMT Message-Id: <202502101432.51AEW4UJ088841@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: d6138a65405f - main - inet6: add the missing lock acquire to nd6_get_llentry List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d6138a65405f697715189363b2b18581e7abd982 Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=d6138a65405f697715189363b2b18581e7abd982 commit d6138a65405f697715189363b2b18581e7abd982 Author: Mateusz Guzik AuthorDate: 2025-02-10 14:27:37 +0000 Commit: Mateusz Guzik CommitDate: 2025-02-10 14:27:37 +0000 inet6: add the missing lock acquire to nd6_get_llentry Reported by: Lexi Winter PR: 282378 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netinet6/nd6.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index e1fd421060df..887da1ebe21a 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -2357,6 +2357,7 @@ nd6_get_llentry(struct ifnet *ifp, const struct in6_addr *addr, int family) } else { /* child lle already exists, free newly-created one */ lltable_free_entry(LLTABLE6(ifp), child_lle); + LLE_WLOCK(lle_tmp); child_lle = lle_tmp; } LLE_WUNLOCK(lle); From nobody Mon Feb 10 14:47: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 4Ys6r40fpkz5mGfH; Mon, 10 Feb 2025 14:47:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys6r3438kz4J34; Mon, 10 Feb 2025 14:47:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739198867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=de004XVDzvOnJLVxKVV20ILKRA8h8HPLtjQHwSdZgBs=; b=vo2hV7YYGuMb3icLYY3zYZfuTYwpKGvc1wyDw57he+IRZYPqMuFVebWpPI4Dllqk4XcY// bO663ujnZx6y/7MrCp/S2p3IWR5WvVRslsVjum386WteFab6SVNOC/F5SGkJ6LfwjIsn+G wusc/x26ZqXGe0W4csKOSIxYWe3Z8AdE6ygTrRHNsf61EC3ZuMSGHD0lMpTKRcLvU6gQ+Q OruWhH1KsG6SSMArQcX5pXzFnNp7gaq0FllyAzmLnlj42HnKM37ILmJcSIc1KTt0hwu4hA /OjBFMF9CnsZMfHZvefnOIxH/2XOQ8q3iOPese4Rt8f+3lzzOmUGCn7UwxXX7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739198867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=de004XVDzvOnJLVxKVV20ILKRA8h8HPLtjQHwSdZgBs=; b=S08Lx+vjrZjT5LeMswHZLnxPENvnZT39wKO7sxXE7M4CUvl0qp0fJLjQMRgCGw03HFjbeb XJTQrUJ6VXXtHHKJUiXwJQawgpBCtk32aMia9aPgHrQTWMvAZBFCCiIl1FioW+PiasQ4aI d22c3qqjRowQXms19fNSrKNwz+VWw+ihJpDTujT+dsu4UazHDAHWuc04yyznkB8xK/O3iZ 1vRjV4KLoY3Lgk29YG0RsFZSLxExrvOFw3yvDTb9nCS2dlNO6LfYahw21IAUI8aABRrGYI r7x+ayLSYCLQaYNS84zH/Aa5clbvWZpjRAztxKr/5Ds4RvKvjXNP0ZDVKgGrKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739198867; a=rsa-sha256; cv=none; b=x+kzbBcyeF2AdHAkdqni2B2x2H5/xvw6iX/CfOcewbl6dTzv4wKLkws/V/c24HwbCLbgaC Rgtfw0WFtjhFpoNnXHp5zMlZnNruxcpKiCCbjpXdqhgfFhjhYYOeE4SrvXvdXAnGK2yoay msI63at5x/iQRWHKBkBzq/8GBj8LH+2fVm1r/DaVa4jJpJ2cpWTJmTcLoPCBzzjBLx1CmE HjpOIpmiQN8yy5Tr4lT2OAWPyEvZp2BAQPjokxqZ1COk9XAhnMByO8A7ltDK6ji3dpeG0m S4lATiyxP19HT+fzMTaDvdvhuhb44d26uEGDYDSYb4M7bE6HOevdzNQWXd51eA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys6r33T6JzX7T; Mon, 10 Feb 2025 14:47: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 51AEllXO010677; Mon, 10 Feb 2025 14:47:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AEllgJ010674; Mon, 10 Feb 2025 14:47:47 GMT (envelope-from git) Date: Mon, 10 Feb 2025 14:47:47 GMT Message-Id: <202502101447.51AEllgJ010674@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mateusz Guzik Subject: git: 0fd31cf69032 - main - mroute: fix a sysctl vs teardown race List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0fd31cf690328558b8a12ff65397438efc345932 Auto-Submitted: auto-generated The branch main has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=0fd31cf690328558b8a12ff65397438efc345932 commit 0fd31cf690328558b8a12ff65397438efc345932 Author: Mateusz Guzik AuthorDate: 2025-02-10 14:45:17 +0000 Commit: Mateusz Guzik CommitDate: 2025-02-10 14:45:36 +0000 mroute: fix a sysctl vs teardown race Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netinet/ip_mroute.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index 6e6ecd43e9fe..e224d2e6daf5 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -2739,6 +2739,9 @@ sysctl_mfctable(SYSCTL_HANDLER_ARGS) return (error); MRW_RLOCK(); + if (V_mfchashtbl == NULL) + goto out_locked; + for (i = 0; i < mfchashsize; i++) { LIST_FOREACH(rt, &V_mfchashtbl[i], mfc_hash) { error = SYSCTL_OUT(req, rt, sizeof(struct mfc)); From nobody Mon Feb 10 16:23: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 4Ys8yn3QFLz5mPHq; Mon, 10 Feb 2025 16:23:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ys8yn2lkGz3psJ; Mon, 10 Feb 2025 16:23:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739204625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RMOhIExFkOiZF/rnzLtuC0r5ayagDf5ue4rtCvPlepY=; b=ilAo0cMLS9RNAjONHAcfHpFIsBGa28lU8HyNtFkfi/9zvViK8j7XiCZbcfp3jLLaxUMSq7 ArwllNFcQh6Tj7AU/YiLUs4tSrSM04imLgnPjfss/yKK81T9qWO+fjSkary6kRmWFenlVJ HzdO+mOiHLr7+WkxAVsJjYePHKdCSvY/SXQELttXrrdshnN+WQyz3LjA1YM7rLVrJNFJMF iPAFsTZsy0XeWKc0lfQWbSyLAM1hjkQDSnqbimWbT5YTXn4LPOhBpG/NK6A6s3UAc/suhC 8TX5RN4SoL6aN4I9NmWT9K4ivwo7Ps6M+objLohn1z6acJOWqxMEPD/HTykFrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739204625; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RMOhIExFkOiZF/rnzLtuC0r5ayagDf5ue4rtCvPlepY=; b=pdenzOvfD5261GhPEthou7l0V5E4zib3MUq7gqssTdCL+5uYlvZ7h8RFR1pTCz7phG50/T CcqRiCUpGNDpFeIz8xij0w7Dp7k/xWrxDDiVGP4M9/2J6hDTnW0OIBWtiR5X3C86OhbPWD uWbKuNodGCzG1hBBny2u4pXep+UMciXBcwRbpiWbwltz/0cdYEckK7PVxP8/8nAou2uY+S cPqOn/nM/zeLqzzP/oBVQlF/aJxtPa7wRPE+WeAN2Ugs5cUNYNumBaypNDkJm1jaSaEgqL stvNVwpBCdXW/KEb/QA3xGxjtlKJs+VUardc01q0+RSgSCbvyIwBjXJVz35XCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739204625; a=rsa-sha256; cv=none; b=P7BJTncb0wUiWPSRaKTaAEZrAhvA5JzvIV7QSezRkqsGwKM7BJDgC7L+XzSk/FMBp/96FU zpXkYXXpPfjUMPvA1m3GXZA2BjHjbOJiDHbM+7EOybPADBf89azxwDN7E29UeIBc6+IzPv dnXaxeUvljBuZg/FYlpQYnYpjYCqGd1ammvCBzqWyX/xcSLsFAOFG4d57I3sCLCsuMiTtS 9y/sq9ZThu03zsu3HuC+oO87eZ2TjnjB5GqpNFGbAo6b7I7fvpWSDmVmdTyeHF+K+V1/de TlePdmkIol/fpc9CWiaXN/azvPgmkEq6BNhT/xO02LaIhm5VzLCtp7HRCWVAvQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ys8yn25XwzbNv; Mon, 10 Feb 2025 16:23:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51AGNjwn098857; Mon, 10 Feb 2025 16:23:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AGNjsZ098854; Mon, 10 Feb 2025 16:23:45 GMT (envelope-from git) Date: Mon, 10 Feb 2025 16:23:45 GMT Message-Id: <202502101623.51AGNjsZ098854@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: a63701848fe5 - main - ssh: Move XAUTH_PATH setting to ssh.mk List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a63701848fe5462c4e8bbff0131bb42979e603ec Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=a63701848fe5462c4e8bbff0131bb42979e603ec commit a63701848fe5462c4e8bbff0131bb42979e603ec Author: Ed Maste AuthorDate: 2025-02-09 20:37:24 +0000 Commit: Ed Maste CommitDate: 2025-02-10 16:22:42 +0000 ssh: Move XAUTH_PATH setting to ssh.mk XAUTH_PATH is normally set (in the upstream build infrastructure) in config.h. We previously set it in ssh and sshd's Makefiles if LOCALBASE is set, and over time have sometimes also defined it in config.h. Leave it unset in config.h and move the CFLAGS logic to to ssh.mk so that it will be set when building all ssh libraries and programs but still be set by LOCALBASE. Reviewed by: jlduran Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48907 --- crypto/openssh/config.h | 2 +- secure/ssh.mk | 2 ++ secure/usr.bin/ssh/Makefile | 4 ---- secure/usr.sbin/sshd/Makefile | 3 --- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/crypto/openssh/config.h b/crypto/openssh/config.h index 6462ff16d8d9..aedacd88df10 100644 --- a/crypto/openssh/config.h +++ b/crypto/openssh/config.h @@ -2015,7 +2015,7 @@ #endif /* Define if xauth is found in your path */ -#define XAUTH_PATH "/usr/local/bin/xauth" +/* #undef XAUTH_PATH */ /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ diff --git a/secure/ssh.mk b/secure/ssh.mk index 9ee533c10eca..c331e40c16f8 100644 --- a/secure/ssh.mk +++ b/secure/ssh.mk @@ -7,6 +7,8 @@ SSHDIR= ${SRCTOP}/crypto/openssh CFLAGS+= -I${SSHDIR} -include ssh_namespace.h SRCS+= ssh_namespace.h +CFLAGS+= -DXAUTH_PATH=\"${LOCALBASE:U/usr/local}/bin/xauth\" + .if ${MK_USB} != "no" # Built-in security key support CFLAGS+= -include sk_config.h diff --git a/secure/usr.bin/ssh/Makefile b/secure/usr.bin/ssh/Makefile index 7c3eb68ea083..9bff63f29395 100644 --- a/secure/usr.bin/ssh/Makefile +++ b/secure/usr.bin/ssh/Makefile @@ -29,10 +29,6 @@ LIBADD+= gssapi LIBADD+= crypto -.if defined(LOCALBASE) -CFLAGS+= -DXAUTH_PATH=\"${LOCALBASE}/bin/xauth\" -.endif - .include .PATH: ${SSHDIR} diff --git a/secure/usr.sbin/sshd/Makefile b/secure/usr.sbin/sshd/Makefile index 323fe4b8c99f..2762d4151009 100644 --- a/secure/usr.sbin/sshd/Makefile +++ b/secure/usr.sbin/sshd/Makefile @@ -62,9 +62,6 @@ LIBADD+= wrap LIBADD+= crypto -.if defined(LOCALBASE) -CFLAGS+= -DXAUTH_PATH=\"${LOCALBASE}/bin/xauth\" -.endif .include From nobody Mon Feb 10 18:44:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsD5h4lpTz5mZny; Mon, 10 Feb 2025 18:44:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsD5h3MfGz3sck; Mon, 10 Feb 2025 18:44:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739213096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZMHtn3JaSW71MQWMd6gH4G1sJ7rQIa3s+mQfdR1cSMg=; b=AmaC5kWxfHja++f2dXJqfTSm5n4VcsZJvePm75op2Rd9lHXVyZjuSu1Edj1K0/td+gkidi 1W3JZ5ZxuHqkVYKYGCWrggzG354uzY/9wCVe+Vvo/sjEgyk12IcGJmK8GX8ppPhuvD0QHI WpPbC9hPqpLDyRowj6VnQIZfBJnS5vC+IOYJzyGvT9x0mbfo2c8hLQZkjVXFRNm7RTx9Ko KbXBEcAOtceMPsEsKps40913aSoDqaCDsbEyEOxrnqzgfKQVmt6h1lYqrDAKMDUzjqMkef KXPw9sdXWHNrsH4MOkIEvplET6TBaot5x4p6UZydsdUmQat4OpaMauv98UBgeg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739213096; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZMHtn3JaSW71MQWMd6gH4G1sJ7rQIa3s+mQfdR1cSMg=; b=WNbl07eize9thSfcy0hX8cEU4lepy5D2NWhb+cdy2ZLA1cupoywBtuazDlmBQjo59I0dCI 0aPBigK/FMEkaRALyUwlFxZkG0M4P4IuZRCys0dQ6Dnb7m+LeExGuF4KzyWlR7NZLEbg+3 UzBfBbze2QC3q/sF8I+QO2+h+omzRk5dtWZpBF3ikX0pDyYvX7ZzvZyQrhBehgX7K8s+mv GGnx1OFyV7fBnQecqBAOdS+1bGj7boylyT1KHc5diPBr336/YuAuTzNgq53T2giWoyuHa9 T6C9HkZTTSI1T/bn88nLvqpjEUwzyJ577eu0r+H4BVi9Imc3QPa6Nq11TA6pnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739213096; a=rsa-sha256; cv=none; b=BvHiUQq6lPpypnZ/KXaTR2zrZY4lhWQwDtmgDP8p71o8iIqPVEkrzRtjhDgEyDOKoVv5s/ B4dD4pZxfX587E2KkFCEgu/kf1HsIna6P3OIJemI/xhDNJcOAUHAjUdDGQECbrqC1xw6sA TE39xhy6TyzZnn75G7ndA5Vr8C+vm2z0Eaqjzjl66Ch03YsmWvYucVsjKnUWFH8U3ETyOt 5l2dttqxMqncrZ1QpoClh1daawhSlbPGiC0+O08DIn2+QzNjLA1MrAX6zivdSy5mMma0Mg fQsWdOZcAiLrme/j0DXy2K6dLPqRqvX/dNNvpUMkXKDZHEuWiTnh0uZmNl9wrA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsD5h1P9jzfYn; Mon, 10 Feb 2025 18:44: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 51AIiuvi062287; Mon, 10 Feb 2025 18:44:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AIitlp062284; Mon, 10 Feb 2025 18:44:55 GMT (envelope-from git) Date: Mon, 10 Feb 2025 18:44:55 GMT Message-Id: <202502101844.51AIitlp062284@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dimitry Andric Subject: git: 09b435d3dc2a - main - Remove obsolete clang18 files for aarch64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 09b435d3dc2a591fba08be04d5659d03cce08285 Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=09b435d3dc2a591fba08be04d5659d03cce08285 commit 09b435d3dc2a591fba08be04d5659d03cce08285 Author: Ronald Klop AuthorDate: 2025-02-10 18:41:26 +0000 Commit: Dimitry Andric CommitDate: 2025-02-10 18:43:34 +0000 Remove obsolete clang18 files for aarch64 This fixes a warning from "make delete-old" about a non-empty directory on aarch64. Reviewed by: dim Fixes: 0fca6ea1d4ee MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48904 --- ObsoleteFiles.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index ad126cc5914d..70396c46ca46 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -579,6 +579,7 @@ OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64le.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-riscv64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-i386.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64le.a @@ -597,6 +598,7 @@ OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-x86_64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-x86_64.a +OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_interceptors-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a From nobody Mon Feb 10 19:34: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 4YsFC64PBTz5mfGl; Mon, 10 Feb 2025 19:34:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsFC612xPz3HxX; Mon, 10 Feb 2025 19:34:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739216082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j6A6MounLs5UYnKnF1fQeDAecDIdg3jBR1WfZTFqQSM=; b=qWOYGECCHw5gipwDBtwD7hXRLmiLaJfc9i0g++p8mHZ3Ln21qmOsRsuuO2FkzbDtmKHHvY vWIrS38kVw23CC1WAFoUlr8y8VdbXk+J/hAL+I5nUg31QclgcwRa5QGw93iMsSrfVR3b0X 6pkfSDXBP4ybUzSJyKKlu6o6VEr2Qa3kL+nrYtO8YThiwnB8KVTWjk2eI2HoZeyFWC2Fkv Lnc0RUPVPgTHG/HaNvsq33ZVoP/AX9dyWb+WJHSGNzLRNSvxqtQD+hoftLZfUMY5qhm1bE 3gAT/68NIdbAspLkllcTdIKyC8PVVV7xALUyqN1ZoG0uf9d4uedPYed8yEjZrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739216082; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j6A6MounLs5UYnKnF1fQeDAecDIdg3jBR1WfZTFqQSM=; b=paXJhje/OyVV6HkIIemBHlYOyp0/8myadI3xsvj2eBN1/jHlXipHvtoGjbtdVJ55JRqLBV x15fcZ4x0qfTy4YOjmoW4ORw4KuFlQ6dpim8yBy3W9Ccwxbisb4ypw8BBye1HrK4/pF3iX VO8x+Yx3Q4auJLsplkezOjr4+7TPu9XDLglO6GU1QObKsFiaepbKbBMqW0ZdoUkBCeN73P ek9F49AhyBu2Cy7H4zpxTAk0GNEP0Elavbqs7mgbK9v91XkwNZ3U+Vb520a3/lt0zteCW5 zinUk0UO4HjDFy0jDqT4FP2cc5pLJzfVVPtMSKf+UmqiuUFLUS9DindC8yqbEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739216082; a=rsa-sha256; cv=none; b=OC8HZEsqEQsQsCk7txn9nLDNFExz5VQSMKwWBp7U1WZ0nljoBUGnPI0mKv28F2/a5jZpaI begug9Ar4U/rBXsZaMPIk+6RHmWOhzl+KXcDadcH52dhLO9N/WfU2e1DDyJMs8MwbG3kVY xL0R/AAncKtQQj95kA4dnmvWmUlwskFxNsYS8bxvEuNi0PvwbEGU8jjX4pACDP3EddcnAe NLC15FpFp0E2Z5Syw9VQ4WqPZNn2Jbhip3LSuF6P0vjrL/Oql35Dx1jk+tFnDXNU5g/xzD wMSR2VpEyOeS1BYfPwMmetzxCNIN6uZmTLMdMh95ZiwuhPGgvM+SA4WF0rQ42A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsFC60NBwzgyc; Mon, 10 Feb 2025 19:34: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 51AJYf44056094; Mon, 10 Feb 2025 19:34:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AJYfJZ056091; Mon, 10 Feb 2025 19:34:41 GMT (envelope-from git) Date: Mon, 10 Feb 2025 19:34:41 GMT Message-Id: <202502101934.51AJYfJZ056091@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: 4a7f4f289c1a - main - sockets: make pr_aio_queue the default method List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 4a7f4f289c1a8239b2d8a2bc99ca68644a74130e Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=4a7f4f289c1a8239b2d8a2bc99ca68644a74130e commit 4a7f4f289c1a8239b2d8a2bc99ca68644a74130e Author: Gleb Smirnoff AuthorDate: 2025-02-10 19:30:45 +0000 Commit: Gleb Smirnoff CommitDate: 2025-02-10 19:30:45 +0000 sockets: make pr_aio_queue the default method Call it directly instead of each time calling pr_aio_queue_notsupp() and then doing the actual job. The only user of non default method was cxgbe(4). It calls now into the default method in case of own method failure. This preserves existing behavior. Reviewed by: markj, jhb Differential Revision: https://reviews.freebsd.org/D48863 --- sys/dev/cxgbe/tom/t4_tom.c | 11 ++++++++--- sys/kern/sys_socket.c | 15 ++++++++------- sys/kern/uipc_domain.c | 8 +------- sys/sys/socketvar.h | 1 + 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/sys/dev/cxgbe/tom/t4_tom.c b/sys/dev/cxgbe/tom/t4_tom.c index 97cb380d0e71..9b09facd05a7 100644 --- a/sys/dev/cxgbe/tom/t4_tom.c +++ b/sys/dev/cxgbe/tom/t4_tom.c @@ -2219,11 +2219,16 @@ t4_aio_queue_tom(struct socket *so, struct kaiocb *job) if (ulp_mode(toep) == ULP_MODE_TCPDDP || ulp_mode(toep) == ULP_MODE_NONE) { error = t4_aio_queue_ddp(so, job); - if (error != EOPNOTSUPP) - return (error); + if (error == 0) + return (0); + else if (error != EOPNOTSUPP) + return (soaio_queue_generic(so, job)); } - return (t4_aio_queue_aiotx(so, job)); + if (t4_aio_queue_aiotx(so, job) != 0) + return (soaio_queue_generic(so, job)); + else + return (0); } static int diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c index 33cfd1637b78..456d93ff0d68 100644 --- a/sys/kern/sys_socket.c +++ b/sys/kern/sys_socket.c @@ -802,15 +802,16 @@ soo_aio_cancel(struct kaiocb *job) static int soo_aio_queue(struct file *fp, struct kaiocb *job) { - struct socket *so; + struct socket *so = fp->f_data; + + return (so->so_proto->pr_aio_queue(so, job)); +} + +int +soaio_queue_generic(struct socket *so, struct kaiocb *job) +{ struct sockbuf *sb; sb_which which; - int error; - - so = fp->f_data; - error = so->so_proto->pr_aio_queue(so, job); - if (error == 0) - return (0); /* Lock through the socket, since this may be a listening socket. */ switch (job->uaiocb.aio_lio_opcode & (LIO_WRITE | LIO_READ)) { diff --git a/sys/kern/uipc_domain.c b/sys/kern/uipc_domain.c index 734d9ee91349..51e0f8cc7726 100644 --- a/sys/kern/uipc_domain.c +++ b/sys/kern/uipc_domain.c @@ -58,12 +58,6 @@ pr_accept_notsupp(struct socket *so, struct sockaddr *sa) return (EOPNOTSUPP); } -static int -pr_aio_queue_notsupp(struct socket *so, struct kaiocb *job) -{ - return (EOPNOTSUPP); -} - static int pr_bind_notsupp(struct socket *so, struct sockaddr *nam, struct thread *td) { @@ -190,10 +184,10 @@ pr_init(struct domain *dom, struct protosw *pr) DEFAULT(pr_soreceive, soreceive_generic); DEFAULT(pr_sopoll, sopoll_generic); DEFAULT(pr_setsbopt, sbsetopt); + DEFAULT(pr_aio_queue, soaio_queue_generic); #define NOTSUPP(foo) if (pr->foo == NULL) pr->foo = foo ## _notsupp NOTSUPP(pr_accept); - NOTSUPP(pr_aio_queue); NOTSUPP(pr_bind); NOTSUPP(pr_bindat); NOTSUPP(pr_connect); diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h index bfbb5cbd37fd..735ff49062de 100644 --- a/sys/sys/socketvar.h +++ b/sys/sys/socketvar.h @@ -526,6 +526,7 @@ struct socket * struct socket * sopeeloff(struct socket *); int sopoll_generic(struct socket *so, int events, struct thread *td); +int soaio_queue_generic(struct socket *so, struct kaiocb *job); int soreceive(struct socket *so, struct sockaddr **paddr, struct uio *uio, struct mbuf **mp0, struct mbuf **controlp, int *flagsp); int soreceive_stream(struct socket *so, struct sockaddr **paddr, From nobody Mon Feb 10 20:20: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 4YsGCW5Hdgz5mjTX; Mon, 10 Feb 2025 20:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsGCW1vLpz3fLg; Mon, 10 Feb 2025 20:20:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739218807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t3fZ9Nu232JoWrQLM4ReUf/lfyjcbKiUF6U1z7S+LcE=; b=fcEoy8Sk8LMRiCj3mvmYUUw+xaBvXUhl8kRzznec+epP20isradb0+RoYH3eHQcK51jWTi s2AnqbSFotNXr2jYkC2EgMz0ClUxl3lWD+/MSdrqzFILR2ehCIjF0Q7+0xDe+rqwuXGf8Y a0LGn6qHIY1bnDVMNur1uGvPsXJD6PNJuSPrAo9yl7Pos8Y2hzduSL+X+yYTrMHdVq1uwI 2W4WQ9g41htXPcSMur/5KS517SE26IvPCOopK5FaAHzslXEX1Nuk763Botx+hAMxruS5RB evbUSmcwVYE+2YLh5nHR14ltmuCqen3bauC0PeWkfeOKnGyk0be5f/42dt8umQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739218807; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t3fZ9Nu232JoWrQLM4ReUf/lfyjcbKiUF6U1z7S+LcE=; b=V42YV8ut+mya0qLzk+DLVAGSnim3pgCO4FyaHeuZ4RPE4eWeahGVMkzTrQfYkB+vUWfe4x LDM4HawpY4vLHJy/I1PfFLRNw9MabyCZD1iz5niqu1zqlYc/41WBRLEK3V3LRpE84BVYpT 0XeMHJ4A5M8sr6Tk1IIt8zLzAZzXrp4KRlwVX+W7qPgyCDYNuaUduoLfAzb0qouHb7XxFm nPU+MTVcWxMeIsRBz3eRijUWpK/Cf+Soq3jQdjd1sKhZZHLgcfCYXzjVGrER0V/dg6sLiy zz1jNi5ZaPuFyUqybAt22dW8cvb3w47jFFeD4euyd0wsxjLphFLKjZUWojwg3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739218807; a=rsa-sha256; cv=none; b=ollCKk2lZdZGlE68kZAPISm3INt3aSgBTGsu1UweoSIMgzvLAvdqWNBdBOfJTJCaOyZaVE jmLXkE8+7ImfEg7tHtuQpfFGCnAHCec5Le+RUT3JWx4KLaslgGqO+zmD7YXe79hCN9ye+j gR240cUmRdrq+bPUO2t+KWLGguxLyUCAwVcuqLOOGbKz1WHPub9Z7LbOpLCq5maKgnhToe lCAW0XMledt/KxGE9gMtilWdTqiCYmXUv/silCTOSZX2K9cvsiWJXqaWSk9bFoZY5JxEP4 ifb4TxPKQVy/r44KA3ZAuzXfBhdB2B+TSXhNqP3fdltIQdaIVeJJg6XW8tpqqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsGCW1FG9zjHd; Mon, 10 Feb 2025 20:20: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 51AKK7L6036658; Mon, 10 Feb 2025 20:20:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AKK7Ig036651; Mon, 10 Feb 2025 20:20:07 GMT (envelope-from git) Date: Mon, 10 Feb 2025 20:20:07 GMT Message-Id: <202502102020.51AKK7Ig036651@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: 90710f4a3473 - main - pctrie: add parent pointer to nodes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 90710f4a3473f7cf0dd1cfa17a7c3176cc471c71 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=90710f4a3473f7cf0dd1cfa17a7c3176cc471c71 commit 90710f4a3473f7cf0dd1cfa17a7c3176cc471c71 Author: Doug Moore AuthorDate: 2025-02-10 20:17:28 +0000 Commit: Doug Moore CommitDate: 2025-02-10 20:17:28 +0000 pctrie: add parent pointer to nodes Add a parent pointer field to the pctrie_node struct, and maintain it as part of inserting and removing pctrie items. Much code is written to maintain one, or an array, of trailing pointers; that maintenance can be dropped with parent pointers available. Code affected includes remove, reclaim, lookup_le, and lookup_ge. In places, functions written once for iterator-free searching and again for iterator-maintaining searching can be replaced with a single function that serves both purposes. Fix an overflow error in lower-bound testing for lookup_le. Reviewed by: markj Tested by: pho Differential Revision: https://reviews.freebsd.org/D48588 --- sys/kern/subr_pctrie.c | 656 ++++++++++++++++--------------------------------- sys/sys/pctrie.h | 162 +++++------- 2 files changed, 268 insertions(+), 550 deletions(-) diff --git a/sys/kern/subr_pctrie.c b/sys/kern/subr_pctrie.c index a078f0587f37..16690c3521bf 100644 --- a/sys/kern/subr_pctrie.c +++ b/sys/kern/subr_pctrie.c @@ -81,6 +81,7 @@ struct pctrie_node { uint64_t pn_owner; /* Owner of record. */ pn_popmap_t pn_popmap; /* Valid children. */ uint8_t pn_clev; /* Level * WIDTH. */ + smr_pctnode_t pn_parent; /* Parent node. */ smr_pctnode_t pn_child[PCTRIE_COUNT]; /* Child nodes. */ }; @@ -107,28 +108,6 @@ pctrie_keybarr(struct pctrie_node *node, uint64_t index, int *slot) return (false); } -/* - * Check radix node. - */ -static __inline void -pctrie_node_put(struct pctrie_node *node) -{ -#ifdef INVARIANTS - int slot; - - KASSERT(powerof2(node->pn_popmap), - ("pctrie_node_put: node %p has too many children %04x", node, - node->pn_popmap)); - for (slot = 0; slot < PCTRIE_COUNT; slot++) { - if ((node->pn_popmap & (1 << slot)) != 0) - continue; - KASSERT(smr_unserialized_load(&node->pn_child[slot], true) == - PCTRIE_NULL, - ("pctrie_node_put: node %p has a child", node)); - } -#endif -} - enum pctrie_access { PCTRIE_SMR, PCTRIE_LOCKED, PCTRIE_UNSERIALIZED }; /* @@ -185,6 +164,16 @@ pctrie_root_load(struct pctrie *ptree, smr_t smr, enum pctrie_access access) return (pctrie_node_load(pctrie_root(ptree), smr, access)); } +/* + * Get the child of a node. + */ +static __inline smr_pctnode_t * +pctrie_child(struct pctrie *ptree, struct pctrie_node *node, uint64_t index) +{ + return (node == NULL ? pctrie_root(ptree) : + &node->pn_child[pctrie_slot(node, index)]); +} + /* * Returns TRUE if the specified node is a leaf and FALSE otherwise. */ @@ -221,6 +210,24 @@ pctrie_toptr(struct pctrie_node *node, int keyoff) return ((void *)(((uintptr_t)node & ~PCTRIE_FLAGS) - keyoff)); } +/* + * Make 'parent' a parent of 'child'. + */ +static __inline void +pctrie_setparent(struct pctrie_node *child, struct pctrie_node *parent) +{ + pctrie_node_store(&child->pn_parent, parent, PCTRIE_UNSERIALIZED); +} + +/* + * Return the parent of 'node'. + */ +static __inline struct pctrie_node * +pctrie_parent(struct pctrie_node *node) +{ + return (pctrie_node_load(&node->pn_parent, NULL, PCTRIE_UNSERIALIZED)); +} + /* * Make 'child' a child of 'node'. */ @@ -260,12 +267,6 @@ pctrie_node_size(void) return (sizeof(struct pctrie_node)); } -enum pctrie_insert_neighbor_mode { - PCTRIE_INSERT_NEIGHBOR_NONE, - PCTRIE_INSERT_NEIGHBOR_LT, - PCTRIE_INSERT_NEIGHBOR_GT, -}; - /* * Look for where to insert the key-value pair into the trie. Complete the * insertion if it replaces a null leaf. Return the insertion location if the @@ -273,19 +274,10 @@ enum pctrie_insert_neighbor_mode { * * If the key is already present in the trie, populate *found_out as if by * pctrie_lookup(). - * - * With mode PCTRIE_INSERT_NEIGHBOR_GT or PCTRIE_INSERT_NEIGHBOR_LT, set - * *neighbor_out to the lowest level node we encounter during the insert lookup - * that is a parent of the next greater or lesser entry. The value is not - * defined if the key was already present in the trie. - * - * Note that mode is expected to be a compile-time constant, and this procedure - * is expected to be inlined into callers with extraneous code optimized out. */ static __always_inline void * pctrie_insert_lookup_compound(struct pctrie *ptree, uint64_t *val, - uint64_t **found_out, struct pctrie_node **neighbor_out, - enum pctrie_insert_neighbor_mode mode) + struct pctrie_node **parent_out, uint64_t **found_out) { uint64_t index; struct pctrie_node *node, *parent; @@ -308,51 +300,29 @@ pctrie_insert_lookup_compound(struct pctrie *ptree, uint64_t *val, else pctrie_addnode(parent, index, pctrie_toleaf(val), PCTRIE_LOCKED); + *parent_out = parent; return (NULL); } if (*pctrie_toval(node) == index) { *found_out = pctrie_toval(node); + *parent_out = parent; return (NULL); } break; } if (pctrie_keybarr(node, index, &slot)) break; - /* - * Descend. If we're tracking the next neighbor and this node - * contains a neighboring entry in the right direction, record - * it. - */ - if (mode == PCTRIE_INSERT_NEIGHBOR_LT) { - if ((node->pn_popmap & ((1 << slot) - 1)) != 0) - *neighbor_out = node; - } else if (mode == PCTRIE_INSERT_NEIGHBOR_GT) { - if ((node->pn_popmap >> slot) > 1) - *neighbor_out = node; - } parent = node; node = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } - /* - * The caller will split this node. If we're tracking the next - * neighbor, record the old node if the old entry is in the right - * direction. - */ - if (mode == PCTRIE_INSERT_NEIGHBOR_LT) { - if (*pctrie_toval(node) < index) - *neighbor_out = node; - } else if (mode == PCTRIE_INSERT_NEIGHBOR_GT) { - if (*pctrie_toval(node) > index) - *neighbor_out = node; - } - /* * 'node' must be replaced in the tree with a new branch node, with * children 'node' and 'val'. Return the place that points to 'node' * now, and will point to to the new branching node later. */ + *parent_out = parent; return ((parent == NULL) ? pctrie_root(ptree): &parent->pn_child[slot]); } @@ -361,14 +331,15 @@ pctrie_insert_lookup_compound(struct pctrie *ptree, uint64_t *val, * if the key already exists, and do not look for neighboring entries. */ void * -pctrie_insert_lookup_strict(struct pctrie *ptree, uint64_t *val) +pctrie_insert_lookup_strict(struct pctrie *ptree, uint64_t *val, + struct pctrie_node **parent_out) { void *parentp; uint64_t *found; found = NULL; - parentp = pctrie_insert_lookup_compound(ptree, val, &found, NULL, - PCTRIE_INSERT_NEIGHBOR_NONE); + parentp = pctrie_insert_lookup_compound(ptree, val, parent_out, + &found); if (__predict_false(found != NULL)) panic("%s: key %jx is already present", __func__, (uintmax_t)*val); @@ -381,71 +352,47 @@ pctrie_insert_lookup_strict(struct pctrie *ptree, uint64_t *val) */ void * pctrie_insert_lookup(struct pctrie *ptree, uint64_t *val, - uint64_t **found_out) -{ - *found_out = NULL; - return (pctrie_insert_lookup_compound(ptree, val, found_out, NULL, - PCTRIE_INSERT_NEIGHBOR_NONE)); -} - -/* - * Wrap pctrie_insert_lookup_compound to implement find or insert and find next - * greater entry. Find a subtree that contains the next entry greater than the - * newly-inserted or to-be-inserted entry. - */ -void * -pctrie_insert_lookup_gt(struct pctrie *ptree, uint64_t *val, - uint64_t **found_out, struct pctrie_node **neighbor_out) + struct pctrie_node **parent_out, uint64_t **found_out) { *found_out = NULL; - *neighbor_out = NULL; - return (pctrie_insert_lookup_compound(ptree, val, found_out, - neighbor_out, PCTRIE_INSERT_NEIGHBOR_GT)); + return (pctrie_insert_lookup_compound(ptree, val, parent_out, + found_out)); } /* - * Wrap pctrie_insert_lookup_compound to implement find or insert and find next - * lesser entry. Find a subtree that contains the next entry less than the - * newly-inserted or to-be-inserted entry. - */ -void * -pctrie_insert_lookup_lt(struct pctrie *ptree, uint64_t *val, - uint64_t **found_out, struct pctrie_node **neighbor_out) -{ - *found_out = NULL; - *neighbor_out = NULL; - return (pctrie_insert_lookup_compound(ptree, val, found_out, - neighbor_out, PCTRIE_INSERT_NEIGHBOR_LT)); -} - -/* - * Uses new node to insert key-value pair into the trie at given location. + * Inserts newly allocated node 'child' into trie at location 'parentp', with + * parent 'parent' and two children, 'val' and whatever non-NULL node or leaf + * was at 'parentp' to begin with. */ void -pctrie_insert_node(void *parentp, struct pctrie_node *parent, uint64_t *val) +pctrie_insert_node(uint64_t *val, struct pctrie_node *parent, void *parentp, + struct pctrie_node *child) { struct pctrie_node *node; uint64_t index, newind; /* - * Clear the last child pointer of the newly allocated parent. We want + * Clear the last child pointer of the newly allocated child. We want * to clear it after the final section has exited so lookup can not * return false negatives. It is done here because it will be * cache-cold in the dtor callback. */ - if (parent->pn_popmap != 0) { - pctrie_node_store(&parent->pn_child[ffs(parent->pn_popmap) - 1], + if (child->pn_popmap != 0) { + pctrie_node_store(&child->pn_child[ffs(child->pn_popmap) - 1], PCTRIE_NULL, PCTRIE_UNSERIALIZED); - parent->pn_popmap = 0; + child->pn_popmap = 0; } /* - * Recover the values of the two children of the new parent node. If + * Recover the values of the two children of the new child node. If * 'node' is not a leaf, this stores into 'newind' the 'owner' field, * which must be first in the node. */ index = *val; node = pctrie_node_load(parentp, NULL, PCTRIE_UNSERIALIZED); + pctrie_setparent(child, parent); + if (!pctrie_isleaf(node)) + pctrie_setparent(node, child); newind = *pctrie_toval(node); /* @@ -456,17 +403,17 @@ pctrie_insert_node(void *parentp, struct pctrie_node *parent, uint64_t *val) _Static_assert(sizeof(long long) >= sizeof(uint64_t), "uint64 too wide"); _Static_assert(sizeof(uint64_t) * NBBY <= - (1 << (sizeof(parent->pn_clev) * NBBY)), "pn_clev too narrow"); - parent->pn_clev = rounddown(ilog2(index ^ newind), PCTRIE_WIDTH); - parent->pn_owner = PCTRIE_COUNT; - parent->pn_owner = index & -(parent->pn_owner << parent->pn_clev); + (1 << (sizeof(child->pn_clev) * NBBY)), "pn_clev too narrow"); + child->pn_clev = rounddown(ilog2(index ^ newind), PCTRIE_WIDTH); + child->pn_owner = PCTRIE_COUNT; + child->pn_owner = index & -(child->pn_owner << child->pn_clev); /* These writes are not yet visible due to ordering. */ - pctrie_addnode(parent, index, pctrie_toleaf(val), PCTRIE_UNSERIALIZED); - pctrie_addnode(parent, newind, node, PCTRIE_UNSERIALIZED); + pctrie_addnode(child, index, pctrie_toleaf(val), PCTRIE_UNSERIALIZED); + pctrie_addnode(child, newind, node, PCTRIE_UNSERIALIZED); /* Synchronize to make the above visible. */ - pctrie_node_store(parentp, parent, PCTRIE_LOCKED); + pctrie_node_store(parentp, child, PCTRIE_LOCKED); } /* @@ -531,41 +478,44 @@ pctrie_lookup_unlocked(struct pctrie *ptree, uint64_t index, smr_t smr) } /* - * Returns the last node examined in the search for the index, and updates the - * search path to that node. + * Returns the last node examined in the search for the index, and sets the + * parent of that node. */ static __always_inline struct pctrie_node * -_pctrie_iter_lookup_node(struct pctrie_iter *it, uint64_t index, smr_t smr, - enum pctrie_access access) +_pctrie_lookup_node(struct pctrie *ptree, struct pctrie_node *node, + uint64_t index, struct pctrie_node **parent_out, + smr_t smr, enum pctrie_access access) { - struct pctrie_node *node; + struct pctrie_node *parent; int slot; /* * Climb the search path to find the lowest node from which to start the * search for a value matching 'index'. */ - while (it->top != 0) { - node = it->path[it->top - 1]; + while (node != NULL) { KASSERT(!powerof2(node->pn_popmap), ("%s: freed node in iter path", __func__)); - if (!pctrie_keybarr(node, index, &slot)) { - node = pctrie_node_load( - &node->pn_child[slot], smr, access); + if (!pctrie_keybarr(node, index, &slot)) break; - } - --it->top; + node = pctrie_parent(node); + } + + if (node == NULL) { + parent = NULL; + node = pctrie_root_load(ptree, smr, access); + } else { + parent = node; + node = pctrie_node_load(&node->pn_child[slot], smr, access); } - if (it->top == 0) - node = pctrie_root_load(it->ptree, smr, access); /* Seek a node that matches index. */ while (!pctrie_isleaf(node) && !pctrie_keybarr(node, index, &slot)) { - KASSERT(it->top < nitems(it->path), - ("%s: path overflow in trie %p", __func__, it->ptree)); - it->path[it->top++] = node; + parent = node; node = pctrie_node_load(&node->pn_child[slot], smr, access); } + if (parent_out != NULL) + *parent_out = parent; return (node); } @@ -579,7 +529,8 @@ _pctrie_iter_lookup(struct pctrie_iter *it, uint64_t index, smr_t smr, struct pctrie_node *node; it->index = index; - node = _pctrie_iter_lookup_node(it, index, smr, access); + node = _pctrie_lookup_node(it->ptree, it->node, index, &it->node, + smr, access); return (pctrie_match_value(node, index)); } @@ -603,13 +554,14 @@ pctrie_iter_insert_lookup(struct pctrie_iter *it, uint64_t *val) struct pctrie_node *node; it->index = *val; - node = _pctrie_iter_lookup_node(it, *val, NULL, PCTRIE_LOCKED); + node = _pctrie_lookup_node(it->ptree, it->node, *val, &it->node, + NULL, PCTRIE_LOCKED); if (node == PCTRIE_NULL) { - if (it->top == 0) + if (it->node == NULL) pctrie_node_store(pctrie_root(it->ptree), pctrie_toleaf(val), PCTRIE_LOCKED); else - pctrie_addnode(it->path[it->top - 1], it->index, + pctrie_addnode(it->node, it->index, pctrie_toleaf(val), PCTRIE_LOCKED); return (NULL); } @@ -622,10 +574,7 @@ pctrie_iter_insert_lookup(struct pctrie_iter *it, uint64_t *val) * children 'node' and 'val'. Return the place that points to 'node' * now, and will point to to the new branching node later. */ - if (it->top == 0) - return (pctrie_root(it->ptree)); - node = it->path[it->top - 1]; - return (&node->pn_child[pctrie_slot(node, it->index)]); + return (pctrie_child(it->ptree, it->node, it->index)); } /* @@ -678,122 +627,21 @@ pctrie_iter_prev(struct pctrie_iter *it) return (_pctrie_iter_stride(it, -1, NULL, PCTRIE_LOCKED)); } -/* - * Returns the value with the least index that is greater than or equal to the - * specified index, or NULL if there are no such values. - * - * Requires that access be externally synchronized by a lock. - */ -static __inline uint64_t * -pctrie_lookup_ge_node(struct pctrie_node *node, uint64_t index) -{ - struct pctrie_node *succ; - uint64_t *m; - int slot; - - /* - * Descend the trie as if performing an ordinary lookup for the - * specified value. However, unlike an ordinary lookup, as we descend - * the trie, we use "succ" to remember the last branching-off point, - * that is, the interior node under which the least value that is both - * outside our current path down the trie and greater than the specified - * index resides. (The node's popmap makes it fast and easy to - * recognize a branching-off point.) If our ordinary lookup fails to - * yield a value that is greater than or equal to the specified index, - * then we will exit this loop and perform a lookup starting from - * "succ". If "succ" is not NULL, then that lookup is guaranteed to - * succeed. - */ - succ = NULL; - for (;;) { - if (pctrie_isleaf(node)) { - if ((m = pctrie_toval(node)) != NULL && *m >= index) - return (m); - break; - } - if (pctrie_keybarr(node, index, &slot)) { - /* - * If all values in this subtree are > index, then the - * least value in this subtree is the answer. - */ - if (node->pn_owner > index) - succ = node; - break; - } - - /* - * Just in case the next search step leads to a subtree of all - * values < index, check popmap to see if a next bigger step, to - * a subtree of all pages with values > index, is available. If - * so, remember to restart the search here. - */ - if ((node->pn_popmap >> slot) > 1) - succ = node; - node = pctrie_node_load(&node->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - - /* - * Restart the search from the last place visited in the subtree that - * included some values > index, if there was such a place. - */ - if (succ == NULL) - return (NULL); - if (succ != node) { - /* - * Take a step to the next bigger sibling of the node chosen - * last time. In that subtree, all values > index. - */ - slot = pctrie_slot(succ, index) + 1; - KASSERT((succ->pn_popmap >> slot) != 0, - ("%s: no popmap siblings past slot %d in node %p", - __func__, slot, succ)); - slot += ffs(succ->pn_popmap >> slot) - 1; - succ = pctrie_node_load(&succ->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - - /* - * Find the value in the subtree rooted at "succ" with the least index. - */ - while (!pctrie_isleaf(succ)) { - KASSERT(succ->pn_popmap != 0, - ("%s: no popmap children in node %p", __func__, succ)); - slot = ffs(succ->pn_popmap) - 1; - succ = pctrie_node_load(&succ->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - return (pctrie_toval(succ)); -} - -uint64_t * -pctrie_lookup_ge(struct pctrie *ptree, uint64_t index) -{ - return (pctrie_lookup_ge_node( - pctrie_root_load(ptree, NULL, PCTRIE_LOCKED), index)); -} - -uint64_t * -pctrie_subtree_lookup_gt(struct pctrie_node *node, uint64_t index) -{ - if (node == NULL || index + 1 == 0) - return (NULL); - return (pctrie_lookup_ge_node(node, index + 1)); -} - /* * Find first leaf >= index, and fill iter with the path to the parent of that * leaf. Return NULL if there is no such leaf less than limit. */ -uint64_t * -pctrie_iter_lookup_ge(struct pctrie_iter *it, uint64_t index) +static __inline uint64_t * +_pctrie_lookup_ge(struct pctrie *ptree, struct pctrie_node *node, + uint64_t index, struct pctrie_node **parent_out, uint64_t limit) { - struct pctrie_node *node; + struct pctrie_node *parent; uint64_t *m; int slot; /* Seek a node that matches index. */ - node = _pctrie_iter_lookup_node(it, index, NULL, PCTRIE_LOCKED); + node = _pctrie_lookup_node(ptree, node, index, &parent, + NULL, PCTRIE_LOCKED); /* * If no such node was found, and instead this path leads only to nodes @@ -801,36 +649,58 @@ pctrie_iter_lookup_ge(struct pctrie_iter *it, uint64_t index) */ if (node == PCTRIE_NULL || *pctrie_toval(node) < index) { /* Climb the path to find a node with a descendant > index. */ - while (it->top != 0) { - node = it->path[it->top - 1]; + for (node = parent; node != NULL; node = pctrie_parent(node)) { slot = pctrie_slot(node, index) + 1; if ((node->pn_popmap >> slot) != 0) break; - --it->top; } - if (it->top == 0) + if (node == NULL) { + if (parent_out != NULL) + *parent_out = NULL; return (NULL); + } /* Step to the least child with a descendant > index. */ slot += ffs(node->pn_popmap >> slot) - 1; + parent = node; node = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } /* Descend to the least leaf of the subtrie. */ while (!pctrie_isleaf(node)) { - if (it->limit != 0 && node->pn_owner >= it->limit) + if (limit != 0 && node->pn_owner >= limit) return (NULL); slot = ffs(node->pn_popmap) - 1; - KASSERT(it->top < nitems(it->path), - ("%s: path overflow in trie %p", __func__, it->ptree)); - it->path[it->top++] = node; + parent = node; node = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } + if (parent_out != NULL) + *parent_out = parent; m = pctrie_toval(node); - if (it->limit != 0 && *m >= it->limit) + if (limit != 0 && *m >= limit) return (NULL); - it->index = *m; + return (m); +} + +uint64_t * +pctrie_lookup_ge(struct pctrie *ptree, uint64_t index) +{ + return (_pctrie_lookup_ge(ptree, NULL, index, NULL, 0)); +} + +/* + * Find first leaf >= index, and fill iter with the path to the parent of that + * leaf. Return NULL if there is no such leaf less than limit. + */ +uint64_t * +pctrie_iter_lookup_ge(struct pctrie_iter *it, uint64_t index) +{ + uint64_t *m; + + m = _pctrie_lookup_ge(it->ptree, it->node, index, &it->node, it->limit); + if (m != NULL) + it->index = *m; return (m); } @@ -851,91 +721,76 @@ pctrie_iter_jump_ge(struct pctrie_iter *it, int64_t jump) return (pctrie_iter_lookup_ge(it, index)); } -#ifdef INVARIANTS -void -pctrie_subtree_lookup_gt_assert(struct pctrie_node *node, uint64_t index, - struct pctrie *ptree, uint64_t *res) -{ - uint64_t *expected; - - if (index + 1 == 0) - expected = NULL; - else - expected = pctrie_lookup_ge(ptree, index + 1); - KASSERT(res == expected, - ("pctrie subtree lookup gt result different from root lookup: " - "ptree %p, index %ju, subtree %p, found %p, expected %p", ptree, - (uintmax_t)index, node, res, expected)); -} -#endif - /* - * Returns the value with the greatest index that is less than or equal to the - * specified index, or NULL if there are no such values. - * - * Requires that access be externally synchronized by a lock. + * Find first leaf <= index, and fill iter with the path to the parent of that + * leaf. Return NULL if there is no such leaf greater than limit. */ static __inline uint64_t * -pctrie_lookup_le_node(struct pctrie_node *node, uint64_t index) +_pctrie_lookup_le(struct pctrie *ptree, struct pctrie_node *node, + uint64_t index, struct pctrie_node **parent_out, uint64_t limit) { - struct pctrie_node *pred; + struct pctrie_node *parent; uint64_t *m; int slot; + /* Seek a node that matches index. */ + node = _pctrie_lookup_node(ptree, node, index, &parent, NULL, + PCTRIE_LOCKED); + /* - * Mirror the implementation of pctrie_lookup_ge_node, described above. + * If no such node was found, and instead this path leads only to nodes + * > index, back up to find a subtrie with the greatest value < index. */ - pred = NULL; - for (;;) { - if (pctrie_isleaf(node)) { - if ((m = pctrie_toval(node)) != NULL && *m <= index) - return (m); - break; + if (node == PCTRIE_NULL || *pctrie_toval(node) > index) { + /* Climb the path to find a node with a descendant < index. */ + for (node = parent; node != NULL; node = pctrie_parent(node)) { + slot = pctrie_slot(node, index); + if ((node->pn_popmap & ((1 << slot) - 1)) != 0) + break; } - if (pctrie_keybarr(node, index, &slot)) { - if (node->pn_owner < index) - pred = node; - break; + if (node == NULL) { + if (parent_out != NULL) + *parent_out = NULL; + return (NULL); } - if ((node->pn_popmap & ((1 << slot) - 1)) != 0) - pred = node; + + /* Step to the greatest child with a descendant < index. */ + slot = ilog2(node->pn_popmap & ((1 << slot) - 1)); + parent = node; node = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } - if (pred == NULL) - return (NULL); - if (pred != node) { - slot = pctrie_slot(pred, index); - KASSERT((pred->pn_popmap & ((1 << slot) - 1)) != 0, - ("%s: no popmap siblings before slot %d in node %p", - __func__, slot, pred)); - slot = ilog2(pred->pn_popmap & ((1 << slot) - 1)); - pred = pctrie_node_load(&pred->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - while (!pctrie_isleaf(pred)) { - KASSERT(pred->pn_popmap != 0, - ("%s: no popmap children in node %p", __func__, pred)); - slot = ilog2(pred->pn_popmap); - pred = pctrie_node_load(&pred->pn_child[slot], NULL, + /* Descend to the greatest leaf of the subtrie. */ + while (!pctrie_isleaf(node)) { + if (limit != 0 && limit >= node->pn_owner + + ((uint64_t)PCTRIE_COUNT << node->pn_clev) - 1) + return (NULL); + slot = ilog2(node->pn_popmap); + parent = node; + node = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } - return (pctrie_toval(pred)); + if (parent_out != NULL) + *parent_out = parent; + m = pctrie_toval(node); + if (limit != 0 && *m <= limit) + return (NULL); + return (m); } uint64_t * pctrie_lookup_le(struct pctrie *ptree, uint64_t index) { - return (pctrie_lookup_le_node( - pctrie_root_load(ptree, NULL, PCTRIE_LOCKED), index)); + return (_pctrie_lookup_le(ptree, NULL, index, NULL, 0)); } uint64_t * -pctrie_subtree_lookup_lt(struct pctrie_node *node, uint64_t index) +pctrie_subtree_lookup_lt(struct pctrie *ptree, struct pctrie_node *node, + uint64_t index) { - if (node == NULL || index == 0) + if (index == 0) return (NULL); - return (pctrie_lookup_le_node(node, index - 1)); + return (_pctrie_lookup_le(ptree, node, index - 1, NULL, 0)); } /* @@ -945,50 +800,11 @@ pctrie_subtree_lookup_lt(struct pctrie_node *node, uint64_t index) uint64_t * pctrie_iter_lookup_le(struct pctrie_iter *it, uint64_t index) { - struct pctrie_node *node; uint64_t *m; - int slot; - - /* Seek a node that matches index. */ - node = _pctrie_iter_lookup_node(it, index, NULL, PCTRIE_LOCKED); - /* - * If no such node was found, and instead this path leads only to nodes - * > index, back up to find a subtrie with the greatest value < index. - */ - if (node == PCTRIE_NULL || *pctrie_toval(node) > index) { - /* Climb the path to find a node with a descendant < index. */ - while (it->top != 0) { - node = it->path[it->top - 1]; - slot = pctrie_slot(node, index); - if ((node->pn_popmap & ((1 << slot) - 1)) != 0) - break; - --it->top; - } - if (it->top == 0) - return (NULL); - - /* Step to the greatest child with a descendant < index. */ - slot = ilog2(node->pn_popmap & ((1 << slot) - 1)); - node = pctrie_node_load(&node->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - /* Descend to the greatest leaf of the subtrie. */ - while (!pctrie_isleaf(node)) { - if (it->limit != 0 && it->limit >= - node->pn_owner + (PCTRIE_COUNT << node->pn_clev) - 1) - return (NULL); - slot = ilog2(node->pn_popmap); - KASSERT(it->top < nitems(it->path), - ("%s: path overflow in trie %p", __func__, it->ptree)); - it->path[it->top++] = node; - node = pctrie_node_load(&node->pn_child[slot], NULL, - PCTRIE_LOCKED); - } - m = pctrie_toval(node); - if (it->limit != 0 && *m <= it->limit) - return (NULL); - it->index = *m; + m = _pctrie_lookup_le(it->ptree, it->node, index, &it->node, it->limit); + if (m != NULL) + it->index = *m; return (m); } @@ -1009,35 +825,27 @@ pctrie_iter_jump_le(struct pctrie_iter *it, int64_t jump) return (pctrie_iter_lookup_le(it, index)); } -#ifdef INVARIANTS -void -pctrie_subtree_lookup_lt_assert(struct pctrie_node *node, uint64_t index, - struct pctrie *ptree, uint64_t *res) -{ - uint64_t *expected; - - if (index == 0) - expected = NULL; - else - expected = pctrie_lookup_le(ptree, index - 1); - KASSERT(res == expected, - ("pctrie subtree lookup lt result different from root lookup: " - "ptree %p, index %ju, subtree %p, found %p, expected %p", ptree, - (uintmax_t)index, node, res, expected)); -} -#endif - -static void -pctrie_remove(struct pctrie *ptree, uint64_t index, struct pctrie_node *parent, - struct pctrie_node *node, struct pctrie_node **freenode) +/* + * If 'child', a leaf and a child of 'parent', is not NULL and has key 'index', + * then remove it from the pctrie and return its value. If doing so produces an + * internal node with only one child, purge it from the pctrie and save it in + * *freenode for later disposal. + */ +static uint64_t * +pctrie_remove(struct pctrie *ptree, struct pctrie_node *node, uint64_t index, + struct pctrie_node *child, struct pctrie_node **freenode) { - struct pctrie_node *child; + uint64_t *m; int slot; + *freenode = NULL; + m = pctrie_match_value(child, index); + if (m == NULL) + return (m); if (node == NULL) { pctrie_node_store(pctrie_root(ptree), PCTRIE_NULL, PCTRIE_LOCKED); - return; + return (m); } slot = pctrie_slot(node, index); KASSERT((node->pn_popmap & (1 << slot)) != 0, @@ -1046,28 +854,19 @@ pctrie_remove(struct pctrie *ptree, uint64_t index, struct pctrie_node *parent, node->pn_popmap ^= 1 << slot; pctrie_node_store(&node->pn_child[slot], PCTRIE_NULL, PCTRIE_LOCKED); if (!powerof2(node->pn_popmap)) - return; + return (m); KASSERT(node->pn_popmap != 0, ("%s: bad popmap all zeroes", __func__)); slot = ffs(node->pn_popmap) - 1; child = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); KASSERT(child != PCTRIE_NULL, ("%s: bad popmap slot %d in node %p", __func__, slot, node)); - if (parent == NULL) - pctrie_node_store(pctrie_root(ptree), child, PCTRIE_LOCKED); - else { - slot = pctrie_slot(parent, index); - KASSERT(node == - pctrie_node_load(&parent->pn_child[slot], NULL, - PCTRIE_LOCKED), ("%s: invalid child value", __func__)); - pctrie_node_store(&parent->pn_child[slot], child, - PCTRIE_LOCKED); - } - /* - * The child is still valid and we can not zero the - * pointer until all SMR references are gone. - */ - pctrie_node_put(node); *freenode = node; + node = pctrie_parent(node); + if (!pctrie_isleaf(child)) + pctrie_setparent(child, node); + pctrie_node_store(pctrie_child(ptree, node, index), child, + PCTRIE_LOCKED); + return (m); } /* @@ -1078,24 +877,18 @@ uint64_t * pctrie_remove_lookup(struct pctrie *ptree, uint64_t index, struct pctrie_node **freenode) { - struct pctrie_node *child, *node, *parent; - uint64_t *m; + struct pctrie_node *child, *node; int slot; - DEBUG_POISON_POINTER(parent); - *freenode = node = NULL; + node = NULL; child = pctrie_root_load(ptree, NULL, PCTRIE_LOCKED); while (!pctrie_isleaf(child)) { - parent = node; node = child; slot = pctrie_slot(node, index); child = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } - m = pctrie_match_value(child, index); - if (m != NULL) - pctrie_remove(ptree, index, parent, node, freenode); - return (m); + return (pctrie_remove(ptree, node, index, child, freenode)); } /* @@ -1105,27 +898,14 @@ pctrie_remove_lookup(struct pctrie *ptree, uint64_t index, uint64_t * pctrie_iter_remove(struct pctrie_iter *it, struct pctrie_node **freenode) { - struct pctrie_node *child, *node, *parent; + struct pctrie_node *child; uint64_t *m; - int slot; - DEBUG_POISON_POINTER(parent); - *freenode = NULL; - if (it->top >= 1) { - parent = (it->top >= 2) ? it->path[it->top - 2] : NULL; - node = it->path[it->top - 1]; - slot = pctrie_slot(node, it->index); - child = pctrie_node_load(&node->pn_child[slot], NULL, - PCTRIE_LOCKED); - } else { - node = NULL; - child = pctrie_root_load(it->ptree, NULL, PCTRIE_LOCKED); - } - m = pctrie_match_value(child, it->index); - if (m != NULL) - pctrie_remove(it->ptree, it->index, parent, node, freenode); + child = pctrie_node_load(pctrie_child(it->ptree, it->node, it->index), + NULL, PCTRIE_LOCKED); + m = pctrie_remove(it->ptree, it->node, it->index, child, freenode); if (*freenode != NULL) - --it->top; + it->node = pctrie_parent(it->node); return (m); } @@ -1137,25 +917,16 @@ uint64_t * pctrie_iter_value(struct pctrie_iter *it) { struct pctrie_node *node; - int slot; - if (it->top == 0) - node = pctrie_root_load(it->ptree, NULL, - PCTRIE_LOCKED); - else { - node = it->path[it->top - 1]; - slot = pctrie_slot(node, it->index); *** 319 LINES SKIPPED *** From nobody Mon Feb 10 20:55: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 4YsGzy0XjKz5mmG5; Mon, 10 Feb 2025 20:55:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsGzx51GFz3xrW; Mon, 10 Feb 2025 20:55:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739220909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7G94i741Os5wJC13JfMWKY1/J8WEjyWgT/DA6+HppMg=; b=SGUOzzdGSzJ4Iz09wgPU1XgXkqxKjQYbuc2L1sSNYFnrcl/s2eM8DJfMmp7+9IHmTfWwoe Mi95dZwil5yS/qOu/tAuNuZPUnb4SdDZ5FMZoY9g77w917UEMALWOEv7t2cidGiVh/9+ED wfHFZcyRnl0mYrLqiRF9/8YQKJZbBQmM80NMGXix051kBGbWathODrgYEYSLvVR0WY5D3p urfIy5JGkJGbXvhzw0P3UyQbFVxHf1hVC96lVxEpcazEybsDq7keL5qw/aknLNxpI4kEMH agFPZjrCZ2F/sf5m70Li9hoEKhbXBQQH/H85DZh42oMc7XIhGvXbt+23MMWlCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739220909; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7G94i741Os5wJC13JfMWKY1/J8WEjyWgT/DA6+HppMg=; b=oLDG+ACTi9Nv4VZMfpjLYeOPrKqf6Vl4ZAV/pnQ8/HCjMjLWVopp2QMIZ/ZdddZTYRu3vZ UhOg1Fpa7nqnTHMIlVq9m3p9/wDwcjSpfKZIbNGy1y6Og/XqtBzFten6e/7v2Yw0YDwveL Fu4pvhdo/68ZNfaCGBDBktlOsRrgdQeqYsusE3+1ZywcnLnLJkEhLTeojtVL4BQ+hOPlP6 GwLQA31olokpeX6xcPczgy8SSbbSo+GZuVHumCiZ6xLd/6wC/5K+hi8R2yiLm89wtWX0/p Ae5gJffCT5SNhVv6JDcbSQeJmtyfH4u8FpT0v4rQjTsDPd4hDFgNDNf2I+2yDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739220909; a=rsa-sha256; cv=none; b=A5bcZart/GjC7dFnk3/JXNIb2VDaGGSkYK3Sop5fINWjDXi2JTLx3kZWXsRJvU4xpCCMFx /iNsgYwobxCNO2jE2PGWaiseCoJFu5/bLOleYLUQk9XeKTKwOPUjI+KDT9+ryvIJ6IYPpk MSiYCTlX3IzXY8e406uqXxe1W4OtgwhjIWXzcKowFyw7Z28yd9Xs77W86gucLYRiEWV3+K jVyEWjJCxpIiaBBI9MPj5DkG5jodPtnfIRnPofPnilMNBdRFdKngF2uje6Jbzhag+NmVgt iDCZceXPq2LlJsYlEfULy0AHVzzn0U5lKt9svZttl4qx4yZFUXx0QidKHp0AhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsGzx1rnWzk1d; Mon, 10 Feb 2025 20:55: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 51AKt91Z006566; Mon, 10 Feb 2025 20:55:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AKt9mK006563; Mon, 10 Feb 2025 20:55:09 GMT (envelope-from git) Date: Mon, 10 Feb 2025 20:55:09 GMT Message-Id: <202502102055.51AKt9mK006563@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: 0b707d5fe8b6 - main - ssh: Disable support for DSA keys List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 0b707d5fe8b6b1920eb29c6375a6be92b7e44758 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=0b707d5fe8b6b1920eb29c6375a6be92b7e44758 commit 0b707d5fe8b6b1920eb29c6375a6be92b7e44758 Author: Ed Maste AuthorDate: 2025-02-09 20:41:12 +0000 Commit: Ed Maste CommitDate: 2025-02-10 20:54:25 +0000 ssh: Disable support for DSA keys This is the upstream default -- from the 9.8p1 release notes: Future deprecation notice ========================= OpenSSH plans to remove support for the DSA signature algorithm in early 2025. This release disables DSA by default at compile time. DSA, as specified in the SSHv2 protocol, is inherently weak - being limited to a 160 bit private key and use of the SHA1 digest. Its estimated security level is only 80 bits symmetric equivalent. OpenSSH has disabled DSA keys by default since 2015 but has retained run-time optional support for them. DSA was the only mandatory-to- implement algorithm in the SSHv2 RFCs, mostly because alternative algorithms were encumbered by patents when the SSHv2 protocol was specified. This has not been the case for decades at this point and better algorithms are well supported by all actively-maintained SSH implementations. We do not consider the costs of maintaining DSA in OpenSSH to be justified and hope that removing it from OpenSSH can accelerate its wider deprecation in supporting cryptography libraries. This release, and its deactivation of DSA by default at compile-time, marks the second step in our timeline to finally deprecate DSA. The final step of removing DSA support entirely is planned for the first OpenSSH release of 2025. --- The config.h comment /* DSA keys explicitly enabled */ is somewhat confusing, but this is what upstream's ./configure generates. Reviewed by: jlduran Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48910 --- crypto/openssh/config.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crypto/openssh/config.h b/crypto/openssh/config.h index aedacd88df10..29f73831ad7b 100644 --- a/crypto/openssh/config.h +++ b/crypto/openssh/config.h @@ -1977,8 +1977,8 @@ /* Define if you want to enable AIX4's authenticate function */ /* #undef WITH_AIXAUTHENTICATE */ -/* Define if to enable DSA keys. */ -#define WITH_DSA 1 +/* DSA keys explicitly enabled */ +/* #undef WITH_DSA */ /* Define if you have/want arrays (cluster-wide session management, not C arrays) */ From nobody Mon Feb 10 21:21: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 4YsHZ06bnDz5mpJB; Mon, 10 Feb 2025 21:21:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsHZ05wsJz49bF; Mon, 10 Feb 2025 21:21:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739222472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8uctngXZZ8CoVkq/TNwvCtqRurmxmqO/pm4mNQJYIyI=; b=KYN97PUZCvjfTcvLV/SwDOm2WVxWTh5Vl3H+rkIMZ9ZzttcTaJlg6AH0G3hBMHU7Pxm51E AaT3RiOTLF7wgVsL4zOWnPK80cpCHyjnhFDyjsx0j9ouWZek91V0n0Q5Z76bEH/gB9Qqlz f16RLsW20tE4xL1GFqxhPXTn2QlRNS7iPK3V/1o4WN4ugFd597pmsBo9UVV1TdWLUGkkMp Rbew8JTbZjF01a0p/uYI+PQTKaSVWzn4KSvBrWQVFU7++3lfLnRVOKOth1cWg+uLG0Bwde pvZVS1POZ/D73RJ1Sk4AjT/jsQqRCQ8shUEcCwnTBK8JMHge0skDL4xmo1+pLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739222472; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8uctngXZZ8CoVkq/TNwvCtqRurmxmqO/pm4mNQJYIyI=; b=b49NL/bCPdVlx6+aF6M5bVnvF6HbkUAQKHU3b2yHsTOlgDi7ufZNrnFC8YHsFC637D+/AL +73yPa4r1jOrVDhDc+yv7gdtZj/GW0JR0rN656OIlZaiVCHLczYNM87K324mj5hIiGe95v Uy85GO9Cabw8N+lmXw3EmU//vFzgLTNEr7MLwaxe/6rf3Aep7aIV01jeZTfnOs7y+yrsUG 4Ftoe+FDlaxTxUriyCRGKBya+15ef3RzhX6xKvZWthlzKsuAEzWVDFHVBIpjUfRDl/iEdm jlZDOOaKPiXSjcBDJ+X7e9CEhP4VAnWX7xR5gg/eOm59cJeimZGgaHhg33axVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739222472; a=rsa-sha256; cv=none; b=hXE7db8XQottWndikgCybrqdEVQPKUgjXd5F55v3M/eeHtEvtpDzda+xb/XfDGste2cgBd lDmdDya8Snu8Olsq4ID35g+sO3INmABdHs5WXkSpA8jD6F9peed4VHNC207DdsEoWo+zuI CXBnVSpa25z5B058wPYvKVq2H/N0JaowmRYi5ZHYKR7VvBwNuSm+OYUbQ7a1Lugkr/ovPy 8kbas5/ycQ+3Soa0yaOldVjulKbu8Gi8Y9Nz4Vk+Uhf5WDfbuI6tfwcGUBwfNjDDi8AgtX Pt/MlzjR5GQ7udVgJEV35I/d9wjNZperpzoXb/7kLya0JKdHSHTrNwZdDV+BFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsHZ05XPvzkls; Mon, 10 Feb 2025 21:21: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 51ALLCgj056573; Mon, 10 Feb 2025 21:21:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ALLCuS056570; Mon, 10 Feb 2025 21:21:12 GMT (envelope-from git) Date: Mon, 10 Feb 2025 21:21:12 GMT Message-Id: <202502102121.51ALLCuS056570@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 923c223f27e7 - main - icmp: use per rate limit randomized jitter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 923c223f27e792e51ca13c476428adbbf6887551 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=923c223f27e792e51ca13c476428adbbf6887551 commit 923c223f27e792e51ca13c476428adbbf6887551 Author: Michael Tuexen AuthorDate: 2025-02-10 21:16:20 +0000 Commit: Michael Tuexen CommitDate: 2025-02-10 21:16:20 +0000 icmp: use per rate limit randomized jitter Using the same random jitter for multiple rate limits allows an attacker to use one rate limiter to figure out the current jitter and then use this knowledge to de-randomize the other rate limiters. This can be mitigated by using a separate randomized jitter for each rate limiter. This issue was reported as issue number 10 in Keyu Man et al.: SCAD: Towards a Universal and Automated Network Side-Channel Vulnerability Detection Reviewed by: rrs, Peter Lei, glebius MFC after: 3 days Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D48804 --- sys/netinet/ip_icmp.c | 20 ++++++++++++-------- sys/netinet6/icmp6.c | 50 +++++++++++++++++++++++++++----------------------- 2 files changed, 39 insertions(+), 31 deletions(-) diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 58484e532fef..2b61820cdaa8 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -88,7 +88,7 @@ SYSCTL_PROC(_net_inet_icmp, ICMPCTL_ICMPLIM, icmplim, CTLTYPE_UINT | &sysctl_icmplim_and_jitter, "IU", "Maximum number of ICMP responses per second"); -VNET_DEFINE_STATIC(int, icmplim_curr_jitter) = 0; +VNET_DEFINE_STATIC(int, icmplim_curr_jitter[BANDLIM_MAX]) = {0}; #define V_icmplim_curr_jitter VNET(icmplim_curr_jitter) VNET_DEFINE_STATIC(u_int, icmplim_jitter) = 16; #define V_icmplim_jitter VNET(icmplim_jitter) @@ -1108,14 +1108,16 @@ static const char *icmp_rate_descrs[BANDLIM_MAX] = { }; static void -icmplim_new_jitter(void) +icmplim_new_jitter(int which) { /* * Adjust limit +/- to jitter the measurement to deny a side-channel * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 */ + KASSERT(which >= 0 && which < BANDLIM_MAX, + ("%s: which %d", __func__, which)); if (V_icmplim_jitter > 0) - V_icmplim_curr_jitter = + V_icmplim_curr_jitter[which] = arc4random_uniform(V_icmplim_jitter * 2 + 1) - V_icmplim_jitter; } @@ -1144,7 +1146,9 @@ sysctl_icmplim_and_jitter(SYSCTL_HANDLER_ARGS) error = EINVAL; else { V_icmplim_jitter = new; - icmplim_new_jitter(); + for (int i = 0; i < BANDLIM_MAX; i++) { + icmplim_new_jitter(i); + } } } } @@ -1160,8 +1164,8 @@ icmp_bandlimit_init(void) for (int i = 0; i < BANDLIM_MAX; i++) { V_icmp_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp_rates[i].cr_ticks = ticks; + icmplim_new_jitter(i); } - icmplim_new_jitter(); } VNET_SYSINIT(icmp_bandlimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp_bandlimit_init, NULL); @@ -1190,14 +1194,14 @@ badport_bandlim(int which) ("%s: which %d", __func__, which)); pps = counter_ratecheck(&V_icmp_rates[which], V_icmplim + - V_icmplim_curr_jitter); + V_icmplim_curr_jitter[which]); if (pps > 0) { if (V_icmplim_output) log(LOG_NOTICE, "Limiting %s response from %jd to %d packets/sec\n", icmp_rate_descrs[which], (intmax_t )pps, - V_icmplim + V_icmplim_curr_jitter); - icmplim_new_jitter(); + V_icmplim + V_icmplim_curr_jitter[which]); + icmplim_new_jitter(which); } if (pps == -1) return (-1); diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index b962d39151e9..3740a3eaec0d 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -2750,22 +2750,6 @@ SYSCTL_PROC(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit, &sysctl_icmp6lim_and_jitter, "IU", "Maximum number of ICMPv6 error/reply messages per second"); -VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter) = 0; -#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) - -VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; -#define V_icmp6lim_jitter VNET(icmp6lim_jitter) -SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, - &sysctl_icmp6lim_and_jitter, "IU", - "Random errppslimit jitter adjustment limit"); - -VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; -#define V_icmp6lim_output VNET(icmp6lim_output) -SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, - CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, - "Enable logging of ICMPv6 response rate limiting"); - typedef enum { RATELIM_PARAM_PROB = 0, RATELIM_TOO_BIG, @@ -2787,15 +2771,33 @@ static const char *icmp6_rate_descrs[RATELIM_MAX] = { [RATELIM_OTHER] = "(other)", }; +VNET_DEFINE_STATIC(int, icmp6lim_curr_jitter[RATELIM_MAX]) = {0}; +#define V_icmp6lim_curr_jitter VNET(icmp6lim_curr_jitter) + +VNET_DEFINE_STATIC(u_int, icmp6lim_jitter) = 8; +#define V_icmp6lim_jitter VNET(icmp6lim_jitter) +SYSCTL_PROC(_net_inet6_icmp6, OID_AUTO, icmp6lim_jitter, CTLTYPE_UINT | + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_jitter), 0, + &sysctl_icmp6lim_and_jitter, "IU", + "Random errppslimit jitter adjustment limit"); + +VNET_DEFINE_STATIC(int, icmp6lim_output) = 1; +#define V_icmp6lim_output VNET(icmp6lim_output) +SYSCTL_INT(_net_inet6_icmp6, OID_AUTO, icmp6lim_output, + CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6lim_output), 0, + "Enable logging of ICMPv6 response rate limiting"); + static void -icmp6lim_new_jitter(void) +icmp6lim_new_jitter(int which) { /* * Adjust limit +/- to jitter the measurement to deny a side-channel * port scan as in https://dl.acm.org/doi/10.1145/3372297.3417280 */ + KASSERT(which >= 0 && which < RATELIM_MAX, + ("%s: which %d", __func__, which)); if (V_icmp6lim_jitter > 0) - V_icmp6lim_curr_jitter = + V_icmp6lim_curr_jitter[which] = arc4random_uniform(V_icmp6lim_jitter * 2 + 1) - V_icmp6lim_jitter; } @@ -2824,7 +2826,9 @@ sysctl_icmp6lim_and_jitter(SYSCTL_HANDLER_ARGS) error = EINVAL; else { V_icmp6lim_jitter = new; - icmp6lim_new_jitter(); + for (int i = 0; i < RATELIM_MAX; i++) { + icmp6lim_new_jitter(i); + } } } } @@ -2844,8 +2848,8 @@ icmp6_ratelimit_init(void) for (int i = 0; i < RATELIM_MAX; i++) { V_icmp6_rates[i].cr_rate = counter_u64_alloc(M_WAITOK); V_icmp6_rates[i].cr_ticks = ticks; + icmp6lim_new_jitter(i); } - icmp6lim_new_jitter(); } VNET_SYSINIT(icmp6_ratelimit, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, icmp6_ratelimit_init, NULL); @@ -2907,14 +2911,14 @@ icmp6_ratelimit(const struct in6_addr *dst, const int type, const int code) }; pps = counter_ratecheck(&V_icmp6_rates[which], V_icmp6errppslim + - V_icmp6lim_curr_jitter); + V_icmp6lim_curr_jitter[which]); if (pps > 0) { if (V_icmp6lim_output) log(LOG_NOTICE, "Limiting ICMPv6 %s output from %jd " "to %d packets/sec\n", icmp6_rate_descrs[which], (intmax_t )pps, V_icmp6errppslim + - V_icmp6lim_curr_jitter); - icmp6lim_new_jitter(); + V_icmp6lim_curr_jitter[which]); + icmp6lim_new_jitter(which); } if (pps == -1) { ICMP6STAT_INC(icp6s_toofreq); From nobody Mon Feb 10 22:08: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 4YsJcl1d7Lz5msKR; Mon, 10 Feb 2025 22:08:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsJck0cK7z3XXj; Mon, 10 Feb 2025 22:08:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739225318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1/lIlHOcCHHEZsG/FNCqxeSHJrmTlNghamS7hfYt7ws=; b=c9hrw8HnLhkurJdLFOZxRDiK9laNpSrcdQDRGhVRyqKpAO59/GDJVGIKOGb6zC5L3SjSq/ dXUBAnj2vdzfyCg/ErDftvCVMWPs2pST/LdfuMiGmEQY7wcAA3cuvijjjREYJzjBikEipC koTRDgtEI+r2svVvoMuL2ghAzn90NNpEntiOlxxKukJlLjmtmtqnla1hdEhZ8MnAfc/Gx2 kRAAx1VXrq278H8RoOMRyKjnaZ4QrBcAe+YolLWXRsWRjHKBOAd7uEa3NilNCauBxmHt+G GuwzO5WAXCiqZRhhpG4m6BErYhFrW2IaQIHKPlyqzzlU1ePr11iVmvxoiraNbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739225318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1/lIlHOcCHHEZsG/FNCqxeSHJrmTlNghamS7hfYt7ws=; b=VcXkvlq/3YcHgA/+PMXVzmaziJ5URzXEB9VG53rGJuO+uiI9JVLJtOpyj/axYjitU+urKU x0xZ3UphndhNpdF7Xi5z4hvrqDuEAbUzPkBoemwEP139PIw/7mL/Z8EzQz4cec42/7ZsnW lLbWh7NWLL7xG4wcC91KOSkVwjQ5aQ/nqbgSn4qsP1HVjvINaYQ+IpcmkrJBUdWcJs7YhU WKwX0juRNQqzWkW+wy89YRDeguQPgSk0x1IQrzns48WCjKsmHsx5jqWiSzz9xiFfcv9ge5 q/O08WGPcwF8+/r1swE1VCYOSXzg7/XwwhCeaM//KNEcjqNOf6C0BhQjwRDrvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739225318; a=rsa-sha256; cv=none; b=Rb98a7ENYqWH7hx01D5LVP6UhcaGkI9iSN3D/GzbfTrTNd1WVcIUc2LNwtZADn/FVPrk27 4Kg85ThJb/RPL7sgyJ2sKEZpaT1rCA07rJgAV0hf8YLW7lasSvvEyKmJWTyS2EY8KaD6fm Sc19storyxs3b+Gd9HrekwvAHblSwYpqizGDmYTGLXoNN6swxaKF6GuCEpNN0xs1HwpIfz 1YpKyI7vo1SBJx+QDt9Q/JUwnZn+ZGYCPgJ5M+SgdUL9RgD82cWoBUPwqDOPFuiPOAP+ij 36hZihV/KQ8JVq8dtntGE4+MvuEsa731StL2KnerAh+7q+pbCwJrzQC0qSSUDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsJck0DCFzldF; Mon, 10 Feb 2025 22:08:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51AM8bHv039637; Mon, 10 Feb 2025 22:08:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AM8b5h039634; Mon, 10 Feb 2025 22:08:37 GMT (envelope-from git) Date: Mon, 10 Feb 2025 22:08:37 GMT Message-Id: <202502102208.51AM8b5h039634@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: bc7ee0b52a8d - main - tests/unix_stream: add test that checks a full socket isn't writable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: bc7ee0b52a8dd613711c7225244aac954b41e534 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=bc7ee0b52a8dd613711c7225244aac954b41e534 commit bc7ee0b52a8dd613711c7225244aac954b41e534 Author: Gleb Smirnoff AuthorDate: 2025-02-10 21:53:41 +0000 Commit: Gleb Smirnoff CommitDate: 2025-02-10 22:01:16 +0000 tests/unix_stream: add test that checks a full socket isn't writable --- tests/sys/kern/unix_stream.c | 86 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 81 insertions(+), 5 deletions(-) diff --git a/tests/sys/kern/unix_stream.c b/tests/sys/kern/unix_stream.c index d57cfad020fa..49aabdaa0943 100644 --- a/tests/sys/kern/unix_stream.c +++ b/tests/sys/kern/unix_stream.c @@ -26,14 +26,15 @@ */ #include -#include -#include -#include -#include #include +#include +#include #include - +#include +#include #include +#include +#include #include @@ -49,6 +50,18 @@ do_socketpair(int *sv) ATF_REQUIRE(sv[0] != sv[1]); } +static u_long +getsendspace(void) +{ + u_long sendspace; + + ATF_REQUIRE_MSG(sysctlbyname("net.local.stream.sendspace", &sendspace, + &(size_t){sizeof(u_long)}, NULL, 0) != -1, + "sysctl net.local.stream.sendspace failed: %s", strerror(errno)); + + return (sendspace); +} + /* getpeereid(3) should work with stream sockets created via socketpair(2) */ ATF_TC_WITHOUT_HEAD(getpeereid); ATF_TC_BODY(getpeereid, tc) @@ -86,11 +99,74 @@ ATF_TC_BODY(send_0, tc) close(sv[1]); } +static void +check_writable(int fd, int expect) +{ + fd_set wrfds; + struct pollfd pfd[1]; + struct kevent kev; + int nfds, kq; + + FD_ZERO(&wrfds); + FD_SET(fd, &wrfds); + nfds = select(fd + 1, NULL, &wrfds, NULL, + &(struct timeval){.tv_usec = 1000}); + ATF_REQUIRE_MSG(nfds == expect, + "select() returns %d errno %d", nfds, errno); + + pfd[0] = (struct pollfd){ + .fd = fd, + .events = POLLOUT | POLLWRNORM, + }; + nfds = poll(pfd, 1, 1); + ATF_REQUIRE_MSG(nfds == expect, + "poll() returns %d errno %d", nfds, errno); + + ATF_REQUIRE(kq = kqueue()); + EV_SET(&kev, fd, EVFILT_WRITE, EV_ADD, 0, 0, NULL); + ATF_REQUIRE(kevent(kq, &kev, 1, NULL, 0, NULL) == 0); + nfds = kevent(kq, NULL, 0, &kev, 1, + &(struct timespec){.tv_nsec = 1000000}); + ATF_REQUIRE_MSG(nfds == expect, + "kevent() returns %d errno %d", nfds, errno); + close(kq); +} + +/* + * Make sure that a full socket is not reported as writable by event APIs. + */ +ATF_TC_WITHOUT_HEAD(full_not_writable); +ATF_TC_BODY(full_not_writable, tc) +{ + void *buf; + u_long sendspace; + int sv[2]; + + sendspace = getsendspace(); + ATF_REQUIRE((buf = malloc(sendspace)) != NULL); + do_socketpair(sv); + ATF_REQUIRE(fcntl(sv[0], F_SETFL, O_NONBLOCK) != -1); + do {} while (send(sv[0], buf, sendspace, 0) == (ssize_t)sendspace); + ATF_REQUIRE(errno == EAGAIN); + ATF_REQUIRE(fcntl(sv[0], F_SETFL, 0) != -1); + + check_writable(sv[0], 0); + + /* Read some data and re-check. */ + ATF_REQUIRE(read(sv[1], buf, sendspace / 2) == sendspace / 2); + + check_writable(sv[0], 1); + + free(buf); + close(sv[0]); + close(sv[1]); +} ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, getpeereid); ATF_TP_ADD_TC(tp, send_0); + ATF_TP_ADD_TC(tp, full_not_writable); return atf_no_error(); } From nobody Mon Feb 10 22:23: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 4YsJxq0Gn7z5mtVh; Mon, 10 Feb 2025 22:23:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsJxp6mXkz3gK8; Mon, 10 Feb 2025 22:23:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739226207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Ejd4UByDXXs26gV6IwQaqT0YAI1RWXG9tDNaDOtauc=; b=Ih43qFOetPqDLnSN0q/c41NPH3qILeCiY5IWptG0ZhNVCWOEhlfFOBrlwmi2j3zGa3+XAb 3vLzvVHkiUXuGYqm9QmKGE5K9DVsv+idLHWE1VxXRVq53DzGHanfukR7Zf1XTXP/1YgOOF u3cKtJgrID7At/teUkDKu2GbQgrKTkm63NA/siKYyOSFqsb69SE/U364JdZjXdViwWgysa 8LFWfv/BDLR8RJhBqKTIQuSKw4yvvbRXuupWqWzH2gC+eiYa5rLOJ2pol607XDTnOI6mX0 AOPUicMqqVCkRsyJ0rlBeOPRhroK4z5X6fwOvSUb7T9QpsrIx9ccLrDJTcGPOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739226207; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Ejd4UByDXXs26gV6IwQaqT0YAI1RWXG9tDNaDOtauc=; b=SH8bxL6npO9uVUzpJZSmGc1Lov3KUCCF2teQZ6hHjfkFLQvV5ENHe+waUY4NF3hHpch4dQ D1zfljtTOUB+JL6nbR7yRaewb1QBcn9QIJXAOqaEecrmLiLjWLOk+UEyiojSIgINmU8TKh XkzxepDlhTZnZTGtltb9knEBSvN4BzBzVwlymrIxyJr8v+B+d3l5QLQUH/t5ZlvyMPjcsL svKoA7JcySPO1s1V7CNE8Gop+Xl5vwkMQh/oVZldcXfIigV8VzYRlXnbeuTHubKB1YHYrT P3CThiWqfDZQ/2qSd1omIlmNFXk6+s5NQt5nq5tCKMR/mDopSxHMYqbls5G9UQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739226207; a=rsa-sha256; cv=none; b=eUSVwaIQxBQHEJF7UdANPLDK+nFR2BnAXr+WPk+gcFF6LvHFWodKX7S/Ylyn8S7os0kP0/ wezTWZ590IlTi8jRY7u3zsE+BEi4jqQdYb9sEWCEdDMyY8eJEKMb4LMl0m5IT5ZumljS28 2ywojBqa+SxxTl13N5TTfSRn8aZhaBui8EVJl93+bs4qfhKttY+OopgujPgifVel4dMULp DqPrSVa8LdxPh4XcC+LGdg6C1J2muTCjf+mv+yGYPyDu2llkSRk4G4pugX1AsSYPFP5mAb RIKxmJZRTug6iSkBxFRhfiWD+1visTrIDseRbPC/QXCkicBsoGdv5pE7mjAhPw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsJxp6DQjzm8N; Mon, 10 Feb 2025 22:23: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 51AMNQQ8075544; Mon, 10 Feb 2025 22:23:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AMNQkq075541; Mon, 10 Feb 2025 22:23:26 GMT (envelope-from git) Date: Mon, 10 Feb 2025 22:23:26 GMT Message-Id: <202502102223.51AMNQkq075541@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: c8245ceb4756 - main - Update dirdeps.mk et al List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c8245ceb47565e864a350e6aa33ba9a6461ebe02 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=c8245ceb47565e864a350e6aa33ba9a6461ebe02 commit c8245ceb47565e864a350e6aa33ba9a6461ebe02 Author: Simon J. Gerraty AuthorDate: 2025-02-10 22:20:06 +0000 Commit: Simon J. Gerraty CommitDate: 2025-02-10 22:20:06 +0000 Update dirdeps.mk et al Update dirdeps.mk and friends to match latest contrib/bmake/mk Reviewed by: stevek Differential Revision: https://reviews.freebsd.org/D48855 --- share/mk/auto.obj.mk | 14 ++++++++------ share/mk/dirdeps-targets.mk | 5 ++++- share/mk/dirdeps.mk | 13 +++++++------ share/mk/gendirdeps.mk | 4 ++-- share/mk/meta.sys.mk | 13 ++++++++++++- share/mk/meta2deps.py | 16 ++++++++++++---- share/mk/sys.dependfile.mk | 4 +++- 7 files changed, 48 insertions(+), 21 deletions(-) diff --git a/share/mk/auto.obj.mk b/share/mk/auto.obj.mk index 21aa8e4a40d0..cfe60ef9c4d6 100644 --- a/share/mk/auto.obj.mk +++ b/share/mk/auto.obj.mk @@ -1,14 +1,16 @@ -# $Id: auto.obj.mk,v 1.12 2015/12/16 01:57:06 sjg Exp $ +# SPDX-License-Identifier: BSD-2-Clause +# +# $Id: auto.obj.mk,v 1.17 2024/02/17 17:26:57 sjg Exp $ # # @(#) Copyright (c) 2004, Simon J. Gerraty # # This file is provided in the hope that it will # be of use. There is absolutely NO WARRANTY. # Permission to copy, redistribute or otherwise -# use this file is hereby granted provided that +# use this file is hereby granted provided that # the above copyright notice and this notice are -# left intact. -# +# left intact. +# # Please send copies of changes and bug-fixes to: # sjg@crufty.net # @@ -16,7 +18,7 @@ ECHO_TRACE ?= echo .ifndef Mkdirs -# A race condition in some versions of mkdir, means that it can bail +# A race condition in some versions of mkdir, means that it can bail # if another process made a dir that mkdir expected to. # We repeat the mkdir -p a number of times to try and work around this. # We stop looping as soon as the dir exists. @@ -53,7 +55,7 @@ __objdir:= ${__objdir} # We need to chdir, make the directory if needed .if !exists(${__objdir}/) && \ (${.TARGETS} == "" || ${.TARGETS:Nclean*:N*clean:Ndestroy*} != "") -# This will actually make it... +# This will actually make it... __objdir_made != echo ${__objdir}/; umask ${OBJDIR_UMASK:U002}; \ ${ECHO_TRACE} "[Creating objdir ${__objdir}...]" >&2; \ ${Mkdirs}; Mkdirs ${__objdir} diff --git a/share/mk/dirdeps-targets.mk b/share/mk/dirdeps-targets.mk index 9e3fb814fada..a8a547c0ce9b 100644 --- a/share/mk/dirdeps-targets.mk +++ b/share/mk/dirdeps-targets.mk @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-2-Clause # # RCSid: -# $Id: dirdeps-targets.mk,v 1.27 2024/02/25 19:12:13 sjg Exp $ +# $Id: dirdeps-targets.mk,v 1.28 2024/10/19 00:47:38 sjg Exp $ # # @(#) Copyright (c) 2019-2020 Simon J. Gerraty # @@ -160,6 +160,9 @@ MK_DIRDEPS_CACHE = yes .endfor .if defined(STATIC_DIRDEPS_CACHE) .export STATIC_DIRDEPS_CACHE +.if !empty(DEBUG_DIRDEPS_TARGETS) +.info STATIC_DIRDEPS_CACHE=${STATIC_DIRDEPS_CACHE:S,${SRCTOP}/,,} +.endif .endif .endif diff --git a/share/mk/dirdeps.mk b/share/mk/dirdeps.mk index 80720a7ca225..b281d15ec346 100644 --- a/share/mk/dirdeps.mk +++ b/share/mk/dirdeps.mk @@ -1,4 +1,4 @@ -# $Id: dirdeps.mk,v 1.171 2024/09/30 21:21:25 sjg Exp $ +# $Id: dirdeps.mk,v 1.175 2025/01/05 01:16:19 sjg Exp $ # SPDX-License-Identifier: BSD-2-Clause # @@ -152,7 +152,7 @@ # any other DIRDEP. # # This allows for adding TESTS to the build, such that the build -# if any test fails, but without the risk of introducing +# will fail if any test fails, but without the risk of introducing # circular dependencies. now_utc ?= ${%s:L:localtime} @@ -445,6 +445,7 @@ _DIRDEP_USE: .USE .MAKE TARGET_SPEC=${.TARGET:E} \ MACHINE=${.TARGET:E} \ ${DIRDEP_MAKE} -C ${DIRDEP_DIR} ${DIRDEP_TARGETS} || exit 1; \ + ${DIRDEP_USE_EPILOGUE} \ break; \ done @@ -568,7 +569,7 @@ BUILD_DIRDEPS = no dirdeps: dirdeps-cached dirdeps-cached: ${DIRDEPS_CACHE} .MAKE @echo "${TRACER}Using ${DIRDEPS_CACHE}" - @MAKELEVEL=${.MAKE.LEVEL} \ + @${DIRDEPS_CACHED_ENV} MAKELEVEL=${.MAKE.LEVEL} \ TARGET_SPEC=${TARGET_SPEC} \ ${TARGET_SPEC_VARS:@v@$v=${$v}@} \ ${.MAKE} -C ${_CURDIR} -f ${DIRDEPS_CACHE} \ @@ -606,10 +607,10 @@ ${DIRDEPS_CACHE}: .META .NOMETA_CMP BUILD_DIRDEPS_CACHE=yes \ .MAKE.DEPENDFILE=.none \ ${"${DEBUG_DIRDEPS:Nno}":?DEBUG_DIRDEPS='${DEBUG_DIRDEPS}':} \ - ${.MAKEFLAGS:tW:S,-D ,-D,g:tw:M*WITH*} \ - ${.MAKEFLAGS:tW:S,-d ,-d,g:tw:M-d*} \ + ${.MAKEFLAGS:S,-D ,-D,gW:M*WITH*} \ + ${.MAKEFLAGS:S,-d ,-d,gW:M-d*} \ 3>&1 1>&2 | sed 's,${SRCTOP},_{SRCTOP},g;s,_{SRCTOP}/_{SRCTOP},_{SRCTOP},g;s,_{,$${,g' >> ${.TARGET}.new && \ - mv ${.TARGET}.new ${.TARGET} + { ${BUILD_DIRDEPS_EPILOGUE} mv ${.TARGET}.new ${.TARGET}; } .endif .endif diff --git a/share/mk/gendirdeps.mk b/share/mk/gendirdeps.mk index 5d54aa232152..53e736da3391 100644 --- a/share/mk/gendirdeps.mk +++ b/share/mk/gendirdeps.mk @@ -1,4 +1,4 @@ -# $Id: gendirdeps.mk,v 1.50 2023/11/04 16:47:34 sjg Exp $ +# $Id: gendirdeps.mk,v 1.51 2025/01/05 01:16:19 sjg Exp $ # SPDX-License-Identifier: BSD-2-Clause # @@ -237,7 +237,7 @@ dir_list != cd ${_OBJDIR} && \ sed ${GENDIRDEPS_SEDCMDS} .if ${dir_list:M*ERROR\:*} != "" -.warning ${dir_list:tW:C,.*(ERROR),\1,} +.warning ${dir_list:C,.*(ERROR),\1,W} .warning Skipping ${_DEPENDFILE:S,${SRCTOP}/,,} # we are not going to update anything .else diff --git a/share/mk/meta.sys.mk b/share/mk/meta.sys.mk index 6e4216ab5383..1104204dc8c9 100644 --- a/share/mk/meta.sys.mk +++ b/share/mk/meta.sys.mk @@ -1,6 +1,6 @@ # SPDX-License-Identifier: BSD-2-Clause # -# $Id: meta.sys.mk,v 1.54 2024/03/10 15:53:51 sjg Exp $ +# $Id: meta.sys.mk,v 1.56 2024/11/22 23:51:48 sjg Exp $ # # @(#) Copyright (c) 2010-2023, Simon J. Gerraty @@ -40,6 +40,11 @@ META_MODE += nofilemon MKDEP_MK ?= auto.dep.mk .endif +# META_MODE_XTRAS makes it easier to add things like 'env' +# from the command line when debugging +# :U avoids problems from := below +META_MODE += ${META_MODE_XTRAS:U} + .MAKE.MODE ?= ${META_MODE} _filemon := ${.MAKE.PATH_FILEMON:U/dev/filemon} @@ -101,6 +106,12 @@ SB = ${SRCTOP:H} ERROR_LOGDIR ?= ${SB}/error meta_error_log = ${ERROR_LOGDIR}/meta-${.MAKE.PID}.log +.if ${.MAKE.LEVEL} == 0 && !empty(NEWLOG_SH) && exists(${ERROR_LOGDIR}) +.BEGIN: _rotateErrorLog +_rotateErrorLog: .NOMETA .NOTMAIN + @${NEWLOG_SH} -d -S -n ${ERROR_LOG_GENS:U4} ${ERROR_LOGDIR} +.endif + .ERROR: _metaError # We are interested here in the target(s) that caused the build to fail. # We want to ignore targets that were "aborted" due to failure diff --git a/share/mk/meta2deps.py b/share/mk/meta2deps.py index f188d0f01de8..44c752d0e7eb 100755 --- a/share/mk/meta2deps.py +++ b/share/mk/meta2deps.py @@ -39,7 +39,7 @@ We only pay attention to a subset of the information in the SPDX-License-Identifier: BSD-2-Clause RCSid: - $Id: meta2deps.py,v 1.47 2024/02/17 17:26:57 sjg Exp $ + $Id: meta2deps.py,v 1.50 2024/09/27 00:08:36 sjg Exp $ Copyright (c) 2011-2020, Simon J. Gerraty Copyright (c) 2011-2017, Juniper Networks, Inc. @@ -294,6 +294,7 @@ class MetaFile: if not _objroot in self.objroots: self.objroots.append(_objroot) + self.sb = conf.get('SB', '') # we want the longest match self.srctops.sort(reverse=True) self.objroots.sort(reverse=True) @@ -461,6 +462,10 @@ class MetaFile: if self.curdir: self.seenit(self.curdir) # we ignore this + if self.sb and self.name.startswith(self.sb): + error_name = self.name.replace(self.sb+'/','') + else: + error_name = self.name interesting = '#CEFLRVX' for line in f: self.line += 1 @@ -550,9 +555,9 @@ class MetaFile: self.parse_path(path, cwd, w[0], w) if version == 0: - raise AssertionError('missing filemon data') + raise AssertionError('missing filemon data: {}'.format(error_name)) if not eof_token: - raise AssertionError('truncated filemon data') + raise AssertionError('truncated filemon data: {}'.format(error_name)) setid_pids = [] # self.pids should be empty! @@ -570,7 +575,8 @@ class MetaFile: print("ERROR: missing eXit for {} pid {}".format(path, pid)) for pid in setid_pids: del self.pids[pid] - assert(len(self.pids) == 0) + if len(self.pids) > 0: + raise AssertionError('bad filemon data - missing eXits: {}'.format(error_name)) if not file: f.close() @@ -714,6 +720,8 @@ def main(argv, klass=MetaFile, xopts='', xoptf=None): 'EXCLUDES': [], } + conf['SB'] = os.getenv('SB', '') + try: machine = os.environ['MACHINE'] if machine: diff --git a/share/mk/sys.dependfile.mk b/share/mk/sys.dependfile.mk index 49232646d569..3c13b1c92bff 100644 --- a/share/mk/sys.dependfile.mk +++ b/share/mk/sys.dependfile.mk @@ -1,4 +1,6 @@ -# $Id: sys.dependfile.mk,v 1.10 2023/05/10 19:23:26 sjg Exp $ +# SPDX-License-Identifier: BSD-2-Clause +# +# $Id: sys.dependfile.mk,v 1.11 2024/02/17 17:26:57 sjg Exp $ # # @(#) Copyright (c) 2012-2023, Simon J. Gerraty # From nobody Mon Feb 10 22:26: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 4YsK1l6v0hz5mv1t; Mon, 10 Feb 2025 22:26:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsK1l6DK0z3hjl; Mon, 10 Feb 2025 22:26:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739226411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EDATpJvfqiRyMLEUTTV69szrRb6TNpbJMLullyc8PAI=; b=G0KjnlGV2HgMDocmDSHs/mQ0SEgGJlBEOgI7kg/PrW9UDefVBLMVzGkGW+HJ9auyLV3962 MVjZO9AnS+ZJ4JY8j3/0P5Q8omfuUMS0Zr6bk20bHEaLlW+F6jFNK+kMH6iJ0qbKlKRtT0 TEtqi37Vsu9HZ9brRhB/IPsSbeWTqAYPCq4SlREevxhs9yCNBknWF/odLg2L1dEFgFq2io 5DozL8YnZ1xykNoGhyzuV+Ku50uS/V2EigqSFkf5snIWCfzrK69ZtRd3IX31qLx/6fcDvr ZaWn72aXU9TFDYL1SupqhpMHQ9rzabNY0hRZ1XSbDJmwoTb3LxAJTmis7MjPsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739226411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EDATpJvfqiRyMLEUTTV69szrRb6TNpbJMLullyc8PAI=; b=l1VNquW266HK+qHvQBrhcxPkwliIIbw1L17jc628+GonkYFfXuO90oX5z6Q1EEu8ZyVjQo a6pnXw8sluO3rPyrT+nLljBBj/l42Cb8N3U80mRY/11EjFmQIAFBzudnPMGt5mMCUIETmu Pin1BLpUUIY4USoiJxzO/ErSgAk0n9z81+9H6s4+O91tqLXXv8/mYdNWwqhaRkIeESRqUw E8RaN1ncfydmj28BT+QlHlOHZgwWHIKma7GDgE76UkrJ4sA1E/Iw/spWxpUub5yCwtx365 VbAUmAfUhku6nKaGCqo6U8H0PxhzSotzNoKjs5rdxOsz84rJGSPUwTZx4niy6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739226411; a=rsa-sha256; cv=none; b=YncfkvB7Xb/3WUWz4ML/XvUe9u3CI1cqy+tONh8rjSqc7vCVfoIiMy/cFvcKig7C+09CWC pZevfcTmXLDetM8SKPvNgrRN3ULe6RF8346kXyETDzRFAD2nElgAfxZEnQcUiIS4BDsV75 dib79IxUXafGeYCNeOOgD9gLh27ojTH8HczRupUt2hPmtfKodVDZCR8kfNQiNt0BGRBCdF oxiYeBVEYRwiHYEbuqVJnN+JvJggeHUDRWk7vRQwh4GGYkGhnF6uw3pXOQsU2AXlHUASYd xBSQS/ECMIiYJX3BI7vgfcXomDfDThrx3jDDZ8kCyRfNH56+g1QYTwU+NFL1jA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsK1l5rBMzmMn; Mon, 10 Feb 2025 22:26: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 51AMQpOW076643; Mon, 10 Feb 2025 22:26:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51AMQp6T076640; Mon, 10 Feb 2025 22:26:51 GMT (envelope-from git) Date: Mon, 10 Feb 2025 22:26:51 GMT Message-Id: <202502102226.51AMQp6T076640@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: f8f5b658bc76 - main - rc.subr:rc_trace take advantage of sdot List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f8f5b658bc76cd539951fb8ac712d9acf71763ca Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=f8f5b658bc76cd539951fb8ac712d9acf71763ca commit f8f5b658bc76cd539951fb8ac712d9acf71763ca Author: Simon J. Gerraty AuthorDate: 2025-02-10 22:23:38 +0000 Commit: Simon J. Gerraty CommitDate: 2025-02-10 22:23:38 +0000 rc.subr:rc_trace take advantage of sdot Since we now have sdot, use it to get RC_LEVEL from rc.conf.d/rc_trace also avoid logging execution of ':' when RC_LEVEL > 0 Reviewed by: stevek Differential Revision: https://reviews.freebsd.org/D48856 --- libexec/rc/rc.subr | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index dc2cc06bb806..b7f8953012d7 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -207,15 +207,8 @@ rc_trace() if [ -z "$RC_LEVEL" ]; then [ -f $cf ] || return - if [ -s $cf ]; then - # don't try to set RC_LEVEL without sed - if [ -n "$SED" ]; then - RC_LEVEL=$($SED -n '/^RC_LEVEL=/ { s/.*=//p;q; }' $cf) - RC_LEVEL=${RC_LEVEL:-0} - fi - else - RC_LEVEL=0 - fi + RC_LEVEL=0 # existence is 0 at least + sdot $cf # allow override fi [ ${RC_LEVEL:-0} -ge ${level:-0} ] || return rc_log "$@" @@ -1310,7 +1303,9 @@ run_rc_command() _postcmd=\$${rc_arg}_postcmd if [ -n "$_cmd" ]; then - rc_trace 1 "$_cmd" + if [ "$_cmd" != : ]; then + rc_trace 1 "$_cmd" + fi if [ -n "$_env" ]; then eval "export -- $_env" fi From nobody Tue Feb 11 03:38: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 4YsRx369chz5nKLw; Tue, 11 Feb 2025 03:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsRx357Ksz43Dx; Tue, 11 Feb 2025 03:38:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739245095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PIxJcR9Xd5MlaPIrwQlbI6RMvy2yIDFCRbtAc709oMw=; b=kVBXus/BwF4Ze/cSrFhufalQOnn+6Fa5RgVpS4P710ygQHlZpDEc9dZCDPsbKZvoKlaoMj lOPm8lEzWBoH0PwWfWaRJw++zpZXgHtKKl5LtcvoGag1FtROlY50lrChdzfOgwgDgYYVNg N7bxHeSO9utuw81wdcBdSJXTL9/wNOL3TsPe26Y+wLSEyRgXXReislaiYMn/nCHPcTsX4Q rsuyWG2HgSglCDjb9anVXcrW4DeNFLPb/okaNQorSXDuTg7uCkhYeAb5E+NPLFY1I+V5ZY hh947tkYNTfMLfQRQo0SYd6qOOofOBbAArFG5rA16DpwhG+XkjH4i3R2dDzFfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739245095; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PIxJcR9Xd5MlaPIrwQlbI6RMvy2yIDFCRbtAc709oMw=; b=eRqH2kXBbuuefu3h2hBFqXH/czTwujrJhCCn0k9DQLd0j9O1PauxE87oliuAVL7hDTPasf fR6c4DC3rSDAkAVYx2Sq9F3ZKUsMxiF+ZeWUMUFxda5AFTVFynr/xXAX4g1DTTt1+l4YSd Rf2GqZaS87mho/hJqcteM5RAuRdWWgLZtw0LOp9SaYmOxtnABRLAWwiWCi2XF7JWJar5QK fZKZhiI9KcU+5y/fyzOmvdGNWCTMWa3GX8ShR8jqNZijhjSXQHbwOEIdE6JApBGO9pfXW3 RKwEZLw9P8Mv7NQIjEUzQ0UwEq9iYC9E2U3S84GEuNkPr8xgxSJQTDypLGEYLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739245095; a=rsa-sha256; cv=none; b=L5ohWU0qSHVenJYjiYN2pHOocnqdDZHTFObp7ZCZFh/3NP0wMRJcR/hUIUQ3xOOZwh7jdJ 3CQm/jwAm6IbnyWaVBxpHwTHZY4oJjpHgekFCEFmtMQqZFbLUSYoU2wkOtN6cYB68QHfyp hethSvGu35Ty2n7Dv59is28Q98rMm/6svtGPedsHveoqq442N3fYXobOMwEtkdqqkmsfdK FRu4sCPjMAw1TO0iw3nJuIL4A7ecJQaX+/US7dJkABcXWJSs3Bt/Vp3ktejshpawl8HhMR d/6p0AqDJwcPe8INr0tK7vCJpc6hQFub1rhhyh01AcS2PI85nrbc++Mc0nzJDQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsRx34gtTzw7J; Tue, 11 Feb 2025 03:38: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 51B3cF0B057312; Tue, 11 Feb 2025 03:38:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B3cFYJ057309; Tue, 11 Feb 2025 03:38:15 GMT (envelope-from git) Date: Tue, 11 Feb 2025 03:38:15 GMT Message-Id: <202502110338.51B3cFYJ057309@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 183621655613 - main - ixgbe: x550 support for 1000BASE-BX SFP modules List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 183621655613bcc97e4ec7d22adbc829347ed426 Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=183621655613bcc97e4ec7d22adbc829347ed426 commit 183621655613bcc97e4ec7d22adbc829347ed426 Author: Kevin Bowling AuthorDate: 2025-02-10 04:02:17 +0000 Commit: Kevin Bowling CommitDate: 2025-02-11 00:44:28 +0000 ixgbe: x550 support for 1000BASE-BX SFP modules Add support for 1Gbit BiDi modules to x550 derivatives MFC after: 1 week --- sys/dev/ixgbe/ixgbe_x550.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/dev/ixgbe/ixgbe_x550.c b/sys/dev/ixgbe/ixgbe_x550.c index ba72b5d1366e..7f07190f832c 100644 --- a/sys/dev/ixgbe/ixgbe_x550.c +++ b/sys/dev/ixgbe/ixgbe_x550.c @@ -1496,6 +1496,8 @@ static s32 ixgbe_supported_sfp_modules_X550em(struct ixgbe_hw *hw, bool *linear) case ixgbe_sfp_type_1g_sx_core1: case ixgbe_sfp_type_1g_lx_core0: case ixgbe_sfp_type_1g_lx_core1: + case ixgbe_sfp_type_1g_bx_core0: + case ixgbe_sfp_type_1g_bx_core1: *linear = false; break; case ixgbe_sfp_type_unknown: @@ -1829,9 +1831,11 @@ s32 ixgbe_get_link_capabilities_X550em(struct ixgbe_hw *hw, /* Check if 1G SFP module. */ if (hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 || - hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 - || hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 || - hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1) { + hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core0 || + hw->phy.sfp_type == ixgbe_sfp_type_1g_bx_core1) { *speed = IXGBE_LINK_SPEED_1GB_FULL; return IXGBE_SUCCESS; } From nobody Tue Feb 11 03:44: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 4YsS471BZnz5nKN6; Tue, 11 Feb 2025 03:44:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsS46749bz448y; Tue, 11 Feb 2025 03:44:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739245463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sVfM+090/pmZqC8m2aTWhXaRknhHOlmayAlBI5X2YoI=; b=P2fR8XpoLMD6FNk4irzYArpmxRUp57uZM33dpaqrcHkfWZ8l5Llh8xv175uWd3G4dd0aok 1E+uQ1COu4AqexbGt0zgRhCagetsRah5Nj8E2fpruMcrtlCrBBaugKlnj0pbiXwjfujiA5 xYJjqwSJlZ2o0ZnxlwSCbBOzaJmAcF+hige3qu4dKpwySokUcszn6bF0LadTzRplP+xst9 hmGuNHTvPktUpiGKXle6jwBGG3AZBlP1AwZ0LAp4AGJ45l/vw8ifevR2nmzWpGE+sMxXkh ps/siWHsZ7yntSLz2R4qvL6Ix/EHt9ucjo3RbHH6g27wssCg+rMtxeAsA2ENqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739245463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sVfM+090/pmZqC8m2aTWhXaRknhHOlmayAlBI5X2YoI=; b=ORoBTteMrPPJw/UJievznwQiabDn2g/rvFURUqIU9gn39RgkKR3oSdGH/Gk03gmOmHkFNM FCwi0lGxfZX01fu9Q+BSJlXqhHeRIIpa0d2veynMXQniQCo8sFaYyG00HqumS2PfcTrJMR DRcYaj+5XlRhQSt5URdCizfYb4WxB+RP8cyLTcR83RGISbFZKRbet9k9wm85gzsKACehEo yDf0/szapiXYhRxcc+dnv7uf1KbQ71KHVZIwlj2x1dMewIq3Ik9bii7hj378/vvmCyL1Rq S+tVXdVHuKhhcLtUzJgFe6U1a2eCPbzWD6D8UdDWbgpAvoFq+HS7LHOcNo56WA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739245463; a=rsa-sha256; cv=none; b=ScisK8TKCPQIO+xkuxeEx542xppFgFI8i64u2gVNLe8gS29HFA+xpFv48ogEcB8UuH04+H bfnRETft8XEqKGYOTLuEv2XnTqo0jIEc+OoJDJkR+EfT2I606vztkwry5GqBiis0eDnZdE U2Qo2cxeDiejSQQkHOrzzvCTMwvZE04vkObM5cliLGamG1H6kK34ZEl4QglaOwG8pr+h9z hm1l2xBy+S9hx9C+AS38xX+ry/EzspFHgcEJqMglYlmr6TdmUYhZ7n7Q0XLgokW6I6sYBH t6oUs+rmsdaGW3Md5iWyzV6s0k/LQwCo+Af8QrniUiNHqUk8pYb6J2eNFbqPww== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsS466bYnzw3t; Tue, 11 Feb 2025 03:44: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 51B3iMjw074913; Tue, 11 Feb 2025 03:44:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B3iM2v074910; Tue, 11 Feb 2025 03:44:22 GMT (envelope-from git) Date: Tue, 11 Feb 2025 03:44:22 GMT Message-Id: <202502110344.51B3iM2v074910@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: bf6f0db8a762 - main - ixgbe: Add ixgbe_dev_from_hw() back List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bf6f0db8a762966b08430692c92ae34e667948db Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=bf6f0db8a762966b08430692c92ae34e667948db commit bf6f0db8a762966b08430692c92ae34e667948db Author: Kevin Bowling AuthorDate: 2025-02-11 03:40:51 +0000 Commit: Kevin Bowling CommitDate: 2025-02-11 03:41:51 +0000 ixgbe: Add ixgbe_dev_from_hw() back This got lost many years ago in 8eb6488ebb0dcd92517625e4833ddf7d26e3b3a3 It is used by the driver's DBG printfs. MFC after: 3 days --- sys/dev/ixgbe/ixgbe_osdep.c | 6 ++++++ sys/dev/ixgbe/ixgbe_osdep.h | 1 + 2 files changed, 7 insertions(+) diff --git a/sys/dev/ixgbe/ixgbe_osdep.c b/sys/dev/ixgbe/ixgbe_osdep.c index 2fa651df8936..892924712c38 100644 --- a/sys/dev/ixgbe/ixgbe_osdep.c +++ b/sys/dev/ixgbe/ixgbe_osdep.c @@ -33,6 +33,12 @@ #include "ixgbe.h" +inline device_t +ixgbe_dev_from_hw(struct ixgbe_hw *hw) +{ + return ((struct ixgbe_softc *)hw->back)->dev; +} + inline u16 ixgbe_read_pci_cfg(struct ixgbe_hw *hw, u32 reg) { diff --git a/sys/dev/ixgbe/ixgbe_osdep.h b/sys/dev/ixgbe/ixgbe_osdep.h index eca15f0f3816..cf7c578fd684 100644 --- a/sys/dev/ixgbe/ixgbe_osdep.h +++ b/sys/dev/ixgbe/ixgbe_osdep.h @@ -197,6 +197,7 @@ struct ixgbe_osdep /* These routines need struct ixgbe_hw declared */ struct ixgbe_hw; +device_t ixgbe_dev_from_hw(struct ixgbe_hw *hw); /* These routines are needed by the shared code */ extern u16 ixgbe_read_pci_cfg(struct ixgbe_hw *, u32); From nobody Tue Feb 11 05:05: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 4YsTtD70pcz5mwd1; Tue, 11 Feb 2025 05:05:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsTtD6QXyz3Cwl; Tue, 11 Feb 2025 05:05:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739250356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e8xgnGO911Lr4SdP1TtrhMOAHQFcyj3NYd/FWgpkuWo=; b=kfxF/QXF4sBNYymAgmzTb9XMIqcQxa8PfdJayhsItGo+tmMocwF4XTidaFfUk5a4Xuk2Cv ZCqDft+VlexPq2EHUiNg/1BRPYlcaO1KwUl+wct5AacC55F1sMIIXg63oKuumXkrpH7m1/ QVXO7CMSM7uU5HQYTjwGQSAMi5ayKPo/cEFSx90qQ9gxJcNC1kIMDNMIiLzYeTJgHe0SOB zNMhBssfhKhubTd+Imwtqf2Q9fqXF462F2+YYnrEu+14fusp4W5/8tvovTMnJBPh1CB16I gtyTHIHXFEFae2obAw/GCV55sKa3Tp0Tw4/BM5TziXphwiL448VWgSuGTjnUvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739250356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e8xgnGO911Lr4SdP1TtrhMOAHQFcyj3NYd/FWgpkuWo=; b=Vqy4nPB5TErCCyx7RkR4pP765vPi/lgh2P68xV/EV2X3Z1om+3U2gAtYBfQftn1SPVVBdk I7XWRdBgwseFFdxiwnso/hf99neSld+y0LrcdgNjcLqS25DMEMvSfo2N0NHwzajT8GWY/Z q0LvwUNSsnfOTjNTvOuqVlx/s4qk//LU8a1AS21wNEPPslN2TdEo25CbV8qpMpv85d4xUV 7rMnMONp4O/DMAjOpgFdy/4BqHwo7uxgJ499fOA0yxOj/2lCutUsaHOY4f5wsKTrdwn8DN otTBJV8mHf94NVs9bkxlX5jB5gadTafLH2eTnbrYRScy6nA5HYsQYvfWNHasAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739250356; a=rsa-sha256; cv=none; b=RgptX1dgrdHjOZTEetHHaIOJ3tEILQbSQUAgOLIzjt2VtKok+JgruJc/Y8oL4YNmO7Ip77 c2BvUtoECP4vJWuzma2jwNLGZTzrpob001yQDJqiTMIMVesBhOPO6z0RND6PwhU7dbxrt4 s/LvMswt391DVbBhYSSJdy1XbvJCvYbVu9ZDYMexHHWPNnD6yeQABn70RjMoy5Mz323+1K j2N0jO/gTJGz/QKV5/9u7oOnjItj1yaN5l8cP6SpUpelchC0dTyivU/lAjDw+CTCs5onVg k+9jNQGatlMOAi66cPQysyX63L5QN50aZdVMQaEpXWtMpUwlZfroqsggvxw/jQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsTtD60gszy8c; Tue, 11 Feb 2025 05:05: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 51B55udE026013; Tue, 11 Feb 2025 05:05:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B55u4U026010; Tue, 11 Feb 2025 05:05:56 GMT (envelope-from git) Date: Tue, 11 Feb 2025 05:05:56 GMT Message-Id: <202502110505.51B55u4U026010@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bryan Drewery Subject: git: 2f17efa0d7b6 - main - config(5): Fix display of includeoptions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bdrewery X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2f17efa0d7b6102855a472d9fa001265290d5aee Auto-Submitted: auto-generated The branch main has been updated by bdrewery: URL: https://cgit.FreeBSD.org/src/commit/?id=2f17efa0d7b6102855a472d9fa001265290d5aee commit 2f17efa0d7b6102855a472d9fa001265290d5aee Author: Bryan Drewery AuthorDate: 2025-02-11 05:05:26 +0000 Commit: Bryan Drewery CommitDate: 2025-02-11 05:05:26 +0000 config(5): Fix display of includeoptions --- usr.sbin/config/config.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/config/config.5 b/usr.sbin/config/config.5 index 8c2c62b706bd..93d65819d1d8 100644 --- a/usr.sbin/config/config.5 +++ b/usr.sbin/config/config.5 @@ -21,7 +21,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 17, 2022 +.Dd February 10, 2025 .Dt CONFIG 5 .Os .Sh NAME @@ -241,7 +241,7 @@ and return to the current file after is successfully processed. .\" -------- INCLUDEOPTIONS -------- .Pp -.It .Ic includeoptions Ar filename +.It Ic includeoptions Ar filename Specifies a file containing a list of additional options specific to that kernel configuration file. This is useful for build environments that need to add From nobody Tue Feb 11 08:25:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsZJP68qNz5nCL4; Tue, 11 Feb 2025 08:25:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsZJP4j50z4B8H; Tue, 11 Feb 2025 08:25:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739262325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M+TGBaw1wJUBIqJtC8HUJnyvufJlHjpGeUOY5lQhlYA=; b=G1Dv+3/C3Tlwp0hc0XV8Wih5eAWNWcUJk8B4puajnZUGKNorqxy6jS0H7i9/4XnvaE0XCu yhmxHMpYq9XMEQzM7avukQbDeXmhAWGEOsl2tYGYB/l+BJ2OXXw0Qc8GnDseX0Ah03/qgU jMYmUlwHfohRn0PvkN13yUA9b8x1FUJhzbOHx6rTnZLhY4iaB/2N+1HDI5c/2+UvLphw2u 8l1zqNrqErALLUNcqXbofkr97DiqtC0bdxN35qfWBkppv7y0odGiB2mKhQP2MjHgO4vFC8 ntVRkvpoo/Lc0lqb+rtwULD2AYd8/MyHZeJwVoBcVDLFxBnjkjLrDJJLy9h8KA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739262325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=M+TGBaw1wJUBIqJtC8HUJnyvufJlHjpGeUOY5lQhlYA=; b=BkSLqGGdNwqytGLqKwJpZGtnbQ9nqL4EpPRxvHD0xOh9VmiWJMckooW8ogKh5DyLMHDz1o +BGP1mztWeF7ATRAwx1jhZyfYQ8sx45jDyUWoFPbGTKSciKuZkICVgaymKbmZw+fTECZTT inNrcbuB8QZlRoT+WzSM6rvcczkCH0qLb/d5mMrgg11EU1fY/SJVt9NuRXadGo94E3BEwv bPV+nTE0sbVPSKElW/VzcaN5XHZmUQVQloKFB8zRSpBQdW1EQT4A48IKp6V3SEejMmRlik vGCQcLozdFRiMy3JbOxhUedxSrA3S1f+J4vK3FTinTukG/K95ws1iCVJ1yPJqw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739262325; a=rsa-sha256; cv=none; b=TFE77HeN+MiOglIWqeIVfo90mQvV6OymFNEyJzwVYi7hEgJIqcHkz/uhuJrPN1pfduUhYq BgLWvTn/lfVi6mK/x2yB0J9OjoDRkdJSmYJmh4EglRcpGM7SoQu01r01gqN5pghIyJgCl0 fXva3mHmDndxRPDRvchf7cthsB8Qi8jxACwEyCfLJlNK7fOKwQmxPu7AGEIWib6j/Z0Jdq TAwigMH5o21HYaP86k0V2tIxWxyqF9LMsAMunjTUPy6X+1dZ5gBApVzcGiAWqM7y8rP3pc JpqxrTWUWVFTUez+w0Cha2rx0k3yrzkAVTx8GBmQEoZ1gMqPdl4NA/C/d/XXrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsZJP3sN0z14c2; Tue, 11 Feb 2025 08:25:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51B8PPnx099787; Tue, 11 Feb 2025 08:25:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B8PPDA099784; Tue, 11 Feb 2025 08:25:25 GMT (envelope-from git) Date: Tue, 11 Feb 2025 08:25:25 GMT Message-Id: <202502110825.51B8PPDA099784@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Emmanuel Vadot Subject: git: 03704b89e785 - main - linuxkpi: cc_platform: Add CC_ATTR_GUEST_MEM_ENCRYPT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: manu X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 03704b89e78560823cac4e447885412cb395a527 Auto-Submitted: auto-generated The branch main has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=03704b89e78560823cac4e447885412cb395a527 commit 03704b89e78560823cac4e447885412cb395a527 Author: Emmanuel Vadot AuthorDate: 2025-02-11 08:24:42 +0000 Commit: Emmanuel Vadot CommitDate: 2025-02-11 08:27:48 +0000 linuxkpi: cc_platform: Add CC_ATTR_GUEST_MEM_ENCRYPT Add this attribute which is a no-op for us but in linux represent that the guest memory encryption is active. drm ttm started to check this flag in > 6.1.92 Sponsored by: Beckhoff Automation GmbH & Co. KG --- sys/compat/linuxkpi/common/include/linux/cc_platform.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/compat/linuxkpi/common/include/linux/cc_platform.h b/sys/compat/linuxkpi/common/include/linux/cc_platform.h index 01c0de17f7d2..1544c141614b 100644 --- a/sys/compat/linuxkpi/common/include/linux/cc_platform.h +++ b/sys/compat/linuxkpi/common/include/linux/cc_platform.h @@ -8,6 +8,7 @@ enum cc_attr { CC_ATTR_MEM_ENCRYPT, + CC_ATTR_GUEST_MEM_ENCRYPT, }; static inline bool From nobody Tue Feb 11 09:55:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YscJq2g1Jz5nKBF; Tue, 11 Feb 2025 09:55:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YscJq27S3z3gwd; Tue, 11 Feb 2025 09:55:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739267755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nHRoEHt+wIvr69pxPB73HHMNlvKf4W+IwcZp1YFbKkw=; b=tW8fv+UVPh7V7bM0M+4kOZ1aNFZ+yjO/fMjR6wIdScm3gGZyyU+JN4QO1qck6vs0L7fF5J A/BTFAp1+sd5jON9nX+IQBdrAPK6Hteg1acKZhsHtpJtSOQZu+RR5rTUWD6XzkC81hDkFZ F5BmfSDy/528k+lU5ojWy+GDenTecps2nhNSHRh4Ram19VbOaiIOnpdYj7By4rMtC2Eo8w u9/o8JiUVry/0sVZGQGcqH8Zxiqzro1dOCSVijoGMKoMWXMn5jr+0/6wtHusYkTrfdYPa8 V1bJiSCV/aXf8igN3F7XWcmWx/rPqxTeq9gDBCG/pChGaV1FBeMwFjVNuruP+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739267755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nHRoEHt+wIvr69pxPB73HHMNlvKf4W+IwcZp1YFbKkw=; b=D5DSwX5sPPUDaScHyqgsbigU0KjKd8JlVd6jaU8qv1RmVD+qpTgshw1Ce2ru6Hc8OO6jdp NaWAGxO5Cpw1nTu2+cX0dvhQEzACsXjWuWwECJHcLLPUwg3VrchBdo4LRK2jCyXRTMmZYB KMXhMXQNmS+o5t3NAwXIc3yt66Bc8RuEq4lEcvM7sp74/Opj+Y26yhhhJs/vWSPkBoFhMs Klo48itdhedEer1JJSQXcWjENfOsj6leOKrNXb1S8lNgYnCnAjtJjKN9kWV5uGXo7TpGZz DgyKKTwoDFVflP2gCrDbag2+JL4bpRDMtr6TFZo6nvKmTwGFxMYVyOplznajbg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739267755; a=rsa-sha256; cv=none; b=RRixOcQzaWZL6Ux/CX6TDnl9okdLovPZqSTtSFmhrkW+nbpi4mzasw5aRJtqfVAuwiNTzr TzR0lrpRTqTergOgNekesMyFypwTT8tKVI8OSlEXV3kyzP6WiI0iYuugwGRmhNUtkPbsz8 XuvIYz98kz6bP65hl/PmnwL9VP8rvusYQRmU+lzbaRVkhaJuuo1p6TyG4K8YnBBtQGO+cC I+bfhiI8+pJrRLPe5PRIEnSeFZXIEoUkjo8yEsSQaX1Yy/DXQauCtnl7B8YiPLpwG4rQVF KJuRoMPoIq9JdqkB9bZjsxReheGZGuxowU7TRWbhZBP14AP0kFna6de6YgJgRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YscJq1l1pz16cn; Tue, 11 Feb 2025 09:55:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51B9ttDg068431; Tue, 11 Feb 2025 09:55:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51B9ttj8068428; Tue, 11 Feb 2025 09:55:55 GMT (envelope-from git) Date: Tue, 11 Feb 2025 09:55:55 GMT Message-Id: <202502110955.51B9ttj8068428@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Andrey V. Elsukov" Subject: git: 706a03f61bbb - main - ipfw: make 'ipfw show' output compatible with 'ipfw add' command List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ae X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 706a03f61bbb6e0cf10e6c3727966495b30d763e Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=706a03f61bbb6e0cf10e6c3727966495b30d763e commit 706a03f61bbb6e0cf10e6c3727966495b30d763e Author: Andrey V. Elsukov AuthorDate: 2025-02-11 09:48:17 +0000 Commit: Andrey V. Elsukov CommitDate: 2025-02-11 09:48:17 +0000 ipfw: make 'ipfw show' output compatible with 'ipfw add' command If rule was added in compact form and rule body is empty, print 'proto ip' opcode to be compatible with ipfw(8) syntax parser. Before: $ ipfw add allow proto ip 000700 allow After: $ ipfw add allow proto ip 000700 allow proto ip MFC after: 1 week --- sbin/ipfw/ipfw2.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sbin/ipfw/ipfw2.c b/sbin/ipfw/ipfw2.c index 51eae7e8e246..cc0970207749 100644 --- a/sbin/ipfw/ipfw2.c +++ b/sbin/ipfw/ipfw2.c @@ -2380,6 +2380,13 @@ show_static_rule(struct cmdline_opts *co, struct format_opts *fo, if (rule->flags & IPFW_RULE_JUSTOPTS) { state.flags |= HAVE_PROTO | HAVE_SRCIP | HAVE_DSTIP; + /* + * Print `proto ip` if all opcodes has been already printed. + */ + if (memchr(state.printed, 0, rule->act_ofs) == NULL) { + bprintf(bp, " proto ip"); + goto end; + } goto justopts; } From nobody Tue Feb 11 10:32: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 4Ysd7b4MCpz5nMXP; Tue, 11 Feb 2025 10:32:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysd7b3Dq9z3t2N; Tue, 11 Feb 2025 10:32:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4gTAjy+x5xCy0wMyivNvy5QaPslx4uZvjtf0zyEiB8I=; b=bNdC8R8lhbt3kEzL0X3kb7bPGw09WQS+TSDTM793Mj3ixaB820MYMsLA6YffmgctzpCVSC 2FGPFDEMXsR9MOcMoAjxbdtqWArF0fhq1JgcE3eK2wTutYEPNIqf84tfkAeytIFlEaS98R tjfAOgZgX60EivoLMKJJHSc23TI939VfQE6bZARl6KF4JVoxkhOjR/AYqdN95BBFFeSGrL kjWQ3OqjawE1JyyJPF6XutphsIOT5NsmFnP/VNoXfjAt5SGODU6Ofw7CLdn23MdN7n+AZG sqPFl4pyXAwRU40pkPkTuhP8CibbR66Uf1oUqN81YzQVfuQnHr+YhKf8ZWIsXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4gTAjy+x5xCy0wMyivNvy5QaPslx4uZvjtf0zyEiB8I=; b=WWYOLyq0WlpRMZOtrprFbzdo3U66cmzkCWTtd3pzX/JZSQv1rfg/QgvxrhndH0IgCKdmQM +Zy2aoXPscntAtT5VzYAbn5pb7R4OaWn+uUUodldOpLZArkRiSWRZDfOyyMW7LoZqJ56mv rDRcFL4JCF60SUyNLOuEgImDW4sxVQQQJgd/bdPofw1Jz2ZrfLY3+g6nM+5lSSpLpGYSe8 i57fYPGqBKCVWGrWMB2HWY1/PxsOqXsd6164VJVH7ekIn0vQJaacZ1WptVQzfK33s+eAjp x+EELaSB1ArTwNd6AgS6l0raHstwozaV9qyw42oQLDUHvUWuRc+YfgKlEe13Iw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739269979; a=rsa-sha256; cv=none; b=hkOAMkNj3AjcXqbng5Fmrlahl771NRF8RnHHB6GeP2l+SGWQq1/C0n5aPCHnHbZBazApVY TaL3/i6kqXzFAkJyKqHiBkSnFxRdXV+7RkdbCYvskWrw+zC7EPLf+dyhJvyG6j0wQk7jv4 8ypIjclnbZiE1XBq7sMu/cfw7ugaBJ2+CkQKljSE8ul6+zmPYDPg13WEzYYEQxpWh+NgJ8 8n0dAZiVu65TqgCX7s5PFoH+NxyCXHABYBgG+13WbTQn3gM5owp206uhWnP2kVWZf+Set4 gC16KDYzdo6uhbeToyid3pR6nLxhSesVvHVpxVCiGGSr0vWrxKkRGpzAO9VV8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysd7b2nz5z17XK; Tue, 11 Feb 2025 10:32: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 51BAWx6C043048; Tue, 11 Feb 2025 10:32:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BAWxbC043045; Tue, 11 Feb 2025 10:32:59 GMT (envelope-from git) Date: Tue, 11 Feb 2025 10:32:59 GMT Message-Id: <202502111032.51BAWxbC043045@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 8b2feafb535d - main - pf: fix fragment hole count List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b2feafb535d10a559b995c6fc2529715f927e2a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8b2feafb535d10a559b995c6fc2529715f927e2a commit 8b2feafb535d10a559b995c6fc2529715f927e2a Author: Kristof Provost AuthorDate: 2025-02-04 16:19:55 +0000 Commit: Kristof Provost CommitDate: 2025-02-11 10:32:21 +0000 pf: fix fragment hole count Fragment reassembly finishes when no holes are left in the fragment queue. In certain overlap conditions, the hole counter was wrong and pf(4) created an incomplete IP packet. Before adjusting the length, remove the overlapping fragment from the queue and insert it again afterwards. pf_frent_remove() and pf_frent_insert() adjust the hole counter automatically. bug reported and fix tested by Lucas Aubard with Johan Mazel, Gilles Guette and Pierre Chifflier; OK claudio@ MFC after: 1 week Obtained from: OpenBSD, bluhm , 9915416fe8 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf_norm.c | 33 ++++++++++----------------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index f096ea9e493f..7290ede8d393 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -534,7 +534,6 @@ pf_fillup_fragment(struct pf_fragment_cmp *key, struct pf_frent *frent, struct pf_frent *after, *next, *prev; struct pf_fragment *frag; uint16_t total; - int old_index, new_index; PF_FRAG_ASSERT(); @@ -648,32 +647,20 @@ pf_fillup_fragment(struct pf_fragment_cmp *key, struct pf_frent *frent, uint16_t aftercut; aftercut = frent->fe_off + frent->fe_len - after->fe_off; - DPFPRINTF(("adjust overlap %d\n", aftercut)); if (aftercut < after->fe_len) { + DPFPRINTF(("frag tail overlap %d", aftercut)); m_adj(after->fe_m, aftercut); - old_index = pf_frent_index(after); + /* Fragment may switch queue as fe_off changes */ + pf_frent_remove(frag, after); after->fe_off += aftercut; after->fe_len -= aftercut; - new_index = pf_frent_index(after); - if (old_index != new_index) { - DPFPRINTF(("frag index %d, new %d\n", - old_index, new_index)); - /* Fragment switched queue as fe_off changed */ - after->fe_off -= aftercut; - after->fe_len += aftercut; - /* Remove restored fragment from old queue */ - pf_frent_remove(frag, after); - after->fe_off += aftercut; - after->fe_len -= aftercut; - /* Insert into correct queue */ - if (pf_frent_insert(frag, after, prev)) { - DPFPRINTF( - ("fragment requeue limit exceeded\n")); - m_freem(after->fe_m); - uma_zfree(V_pf_frent_z, after); - /* There is not way to recover */ - goto bad_fragment; - } + /* Insert into correct queue */ + if (pf_frent_insert(frag, after, prev)) { + DPFPRINTF(("fragment requeue limit exceeded")); + m_freem(after->fe_m); + uma_zfree(V_pf_frent_z, after); + /* There is not way to recover */ + goto free_fragment; } break; } From nobody Tue Feb 11 10:33: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 4Ysd7c6vlLz5nN3H; Tue, 11 Feb 2025 10:33:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysd7c45qHz3t8m; Tue, 11 Feb 2025 10:33:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lD8eSk369hJqlohdvluWlW5k/apJnDbQSCbGHfGg564=; b=og9C24vwmijLhMmO6Q29/EnzJ0YlHwQR0fVqQSR+7C1GQxABhKTTQ0dYSbfarXGsQi77PT KU/o/xgNUBanHMvfR42sWViznPwdgn+/G2OpQv0cEZVZuErHuXQfUkp6LKiPM8j5UPLUvU DYgnebhctLI0Io1HDkunw5Qm5BKf+KHRr1zs0pI/J11PLpqxEMLm5EZk9IuBU4B7O9mzRl gCHCGO4HwxupJucvrHwU5fMc+fqTQ6zx4n8OlUsJOWZvyZ8rH3HasBMYaGnF8D5AFqIX45 RRFRfQU+4ZPer888eeuIM8fA1IKUPYznbh8E0eeSyQFvVGPaKiGBzQhAgavLaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lD8eSk369hJqlohdvluWlW5k/apJnDbQSCbGHfGg564=; b=SYB7YjSQzq0hwNLJR3dE8GEC+nvEE6DJ3gFiT7Q6zCvG8NdCi0Y4/ee9zC7HfSbyhahrJl c/gZRumomvxOCAccjSviApawdo2Q1s0y0MJXnEl7QVHR1PaYWqDfkIwAEcnwpO6DUOzfCH PuDC25IjmFsBIVb8DsJjrN7nz5p7P+Nv9ZhhtH0iCM7mQlPz9qAOJEU/Jw/SUR0awrVl3f /3xnV+2bWMNRmxuUzZFM2FXsKlp8WTloAXFYWrNDfKtMJfumbL+cXCTNDkZrOX84jplFXm pjggK2LC5lJl73+rHEAH89XGmiNGCFE3jly+4gzCwLIT8ofKxi0ExUPgDqRyUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739269980; a=rsa-sha256; cv=none; b=TxVvrGwX8mkP+PsBrqW17R+O4ML/k5n41Yx5mt+UhT6wDGPkAKbwIuUbUvsTWZM6qjnyQJ iEMqoRpsshGE7F/O3kLSbk1USUUqMjxTjo/XMpgwvUWXZ5kI+Pu7gDUzr+zW6lgOpTkJml QnQqsuqd8BllEt6hab6ESmjA6CDfKK/BAswXjGUfauRji0A3xgoCJ+lTpt5qoiSa25iWJX pWlwtUyrZ46RTJKYgosxKt35zOuQfZmmzOnm5WdiCkVsDzRJ5JKSxiAUDTT5gmpHuvVrbc GLu4cylWJftHI6VWljhcL8/bGYJ7PAUrygHCuF6mz4ImLgcpDzvtfrBX5EGT7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysd7c3Y3Rz17XL; Tue, 11 Feb 2025 10:33: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 51BAX0uB043107; Tue, 11 Feb 2025 10:33:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BAX0Dr043104; Tue, 11 Feb 2025 10:33:00 GMT (envelope-from git) Date: Tue, 11 Feb 2025 10:33:00 GMT Message-Id: <202502111033.51BAX0Dr043104@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: db100bd93036 - main - pf tests: add more fragmentation test 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: db100bd93036855c7688dc088b811dc7b660f51d Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=db100bd93036855c7688dc088b811dc7b660f51d commit db100bd93036855c7688dc088b811dc7b660f51d Author: Kristof Provost AuthorDate: 2025-02-04 13:06:33 +0000 Commit: Kristof Provost CommitDate: 2025-02-11 10:32:22 +0000 pf tests: add more fragmentation test cases Add more test cases for pf fragment hole counter. Also look into final fragment of echo reply and check total length of IP packet. MFC after: 1 week Obtained from: OpenBSD, bluhm , 640736615b Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/Makefile | 4 ++ tests/sys/netpfil/pf/frag-adjhole.py | 58 +++++++++++++++++++++ tests/sys/netpfil/pf/frag-overhole.py | 83 ++++++++++++++++++++++++++++++ tests/sys/netpfil/pf/fragmentation_pass.sh | 38 ++++++++++++++ 4 files changed, 183 insertions(+) diff --git a/tests/sys/netpfil/pf/Makefile b/tests/sys/netpfil/pf/Makefile index 2edd8e7d2026..8a24fae47dcb 100644 --- a/tests/sys/netpfil/pf/Makefile +++ b/tests/sys/netpfil/pf/Makefile @@ -71,6 +71,8 @@ ${PACKAGE}FILES+= CVE-2019-5597.py \ frag-overindex.py \ frag-overlimit.py \ frag-overreplace.py \ + frag-overhole.py \ + frag-adjhole.py \ pfsync_defer.py \ pft_ether.py \ pft_read_ipfix.py \ @@ -83,6 +85,8 @@ ${PACKAGE}FILESMODE_fragcommon.py= 0555 ${PACKAGE}FILESMODE_frag-overindex.py= 0555 ${PACKAGE}FILESMODE_frag-overlimit.py= 0555 ${PACKAGE}FILESMODE_frag-overreplace.py= 0555 +${PACKAGE}FILESMODE_frag-overhole.py= 0555 +${PACKAGE}FILESMODE_frag-adjhole.py= 0555 ${PACKAGE}FILESMODE_pfsync_defer.py= 0555 ${PACKAGE}FILESMODE_pft_ether.py= 0555 ${PACKAGE}FILESMODE_pft_read_ipfix.py= 0555 diff --git a/tests/sys/netpfil/pf/frag-adjhole.py b/tests/sys/netpfil/pf/frag-adjhole.py new file mode 100644 index 000000000000..99caf66617dd --- /dev/null +++ b/tests/sys/netpfil/pf/frag-adjhole.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2025 Alexander Bluhm + +from fragcommon import * + +# |--------| +# |--------| +# |-------| +# |----| + +def send(src, dst, send_if, recv_if): + pid = os.getpid() + eid = pid & 0xffff + payload = b"ABCDEFGHIJKLMNOP" * 2 + packet = sp.IP(src=src, dst=dst)/ \ + sp.ICMP(type='echo-request', id=eid) / payload + frag = [] + fid = pid & 0xffff + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + flags='MF') / bytes(packet)[20:36]) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=2, flags='MF') / bytes(packet)[36:52]) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=1, flags='MF') / bytes(packet)[28:44]) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=4) / bytes(packet)[52:60]) + eth=[] + for f in frag: + eth.append(sp.Ether()/f) + if os.fork() == 0: + time.sleep(1) + sp.sendp(eth, iface=send_if) + os._exit(0) + + ans = sp.sniff(iface=recv_if, timeout=3, filter= + "ip and src " + dst + " and dst " + src + " and icmp") + for a in ans: + if a and a.type == sp.ETH_P_IP and \ + a.payload.proto == 1 and \ + a.payload.frag == 0 and a.payload.flags == 0 and \ + sp.icmptypes[a.payload.payload.type] == 'echo-reply': + id = a.payload.payload.id + print("id=%#x" % (id)) + if id != eid: + print("WRONG ECHO REPLY ID") + exit(2) + data = a.payload.payload.payload.load + print("payload=%s" % (data)) + if data == payload: + exit(0) + print("PAYLOAD!=%s" % (payload)) + exit(1) + print("NO ECHO REPLY") + exit(2) + +if __name__ == '__main__': + main(send) diff --git a/tests/sys/netpfil/pf/frag-overhole.py b/tests/sys/netpfil/pf/frag-overhole.py new file mode 100644 index 000000000000..91697b6b83c6 --- /dev/null +++ b/tests/sys/netpfil/pf/frag-overhole.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python3 +# +# Copyright (c) 2025 Alexander Bluhm + +from fragcommon import * + +# index boundary 4096 | +# |--------------| +# .... +# |--------------| +# |----------| +# |XXXX----------| +# |XXXX----| +# |---| + +# this should trigger "frag tail overlap %d" and "frag head overlap %d" +def send(src, dst, send_if, recv_if): + pid = os.getpid() + eid = pid & 0xffff + payload = b"ABCDEFGHIJKLMNOP" + dummy = b"01234567" + fragsize = 1024 + boundary = 4096 + fragnum = int(boundary / fragsize) + packet = sp.IP(src=src, dst=dst)/ \ + sp.ICMP(type='echo-request', id=eid)/ \ + ((int((boundary + fragsize) / len(payload)) + 1) * payload) + packet_length = len(packet) + frag = [] + fid = pid & 0xffff + for i in range(fragnum-1): + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=(i * fragsize)>>3, flags='MF')/ + bytes(packet)[20 + i * fragsize:20 + (i + 1) * fragsize]) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=(boundary - fragsize) >> 3, flags='MF')/ + bytes(packet)[20 + boundary - fragsize:20 + boundary - len(dummy)]) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=(boundary - len(dummy)) >> 3, flags='MF')/ + (dummy+bytes(packet)[20 + boundary:20 + boundary + fragsize])) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=(boundary - 8 - len(dummy)) >> 3, flags='MF')/ + (dummy+bytes(packet)[20 + boundary - 8:20 + boundary])) + frag.append(sp.IP(src=src, dst=dst, proto=1, id=fid, + frag=(boundary + fragsize) >> 3)/bytes(packet)[20 + boundary + fragsize:]) + eth=[] + for f in frag: + eth.append(sp.Ether() / f) + + if os.fork() == 0: + time.sleep(1) + for e in eth: + sp.sendp(e, iface=send_if) + time.sleep(0.001) + os._exit(0) + + ans = sp.sniff(iface=recv_if, timeout=3, filter= + "ip and src " + dst + " and dst " + src + " and icmp") + for a in ans: + if a and a.type == sp.ETH_P_IP and \ + a.payload.proto == 1 and \ + a.payload.frag == 0 and \ + sp.icmptypes[a.payload.payload.type] == 'echo-reply': + id = a.payload.payload.id + print("id=%#x" % (id)) + if id != eid: + print("WRONG ECHO REPLY ID") + exit(2) + if a and a.type == sp.ETH_P_IP and \ + a.payload.proto == 1 and \ + a.payload.frag > 0 and \ + a.payload.flags == '': + length = (a.payload.frag << 3) + a.payload.len + print("len=%d" % (length)) + if length != packet_length: + print("WRONG ECHO REPLY LENGTH") + exit(1) + exit(0) + print("NO ECHO REPLY") + exit(1) + +if __name__ == '__main__': + main(send) diff --git a/tests/sys/netpfil/pf/fragmentation_pass.sh b/tests/sys/netpfil/pf/fragmentation_pass.sh index 68b078d42ddc..4e0665094ae6 100644 --- a/tests/sys/netpfil/pf/fragmentation_pass.sh +++ b/tests/sys/netpfil/pf/fragmentation_pass.sh @@ -354,6 +354,42 @@ overlimit_cleanup() pft_cleanup } +atf_test_case "overhole" "cleanup" +overhole_head() +{ + atf_set descr 'ping fragment at index boundary which modifies pf hole counter' + atf_set require.user root + atf_set require.progs scapy +} + +overhole_body() +{ + frag_common overhole +} + +overhole_cleanup() +{ + pft_cleanup +} + +atf_test_case "adjhole" "cleanup" +adjhole_head() +{ + atf_set descr 'overlapping ping fragments which modifies pf hole counter' + atf_set require.user root + atf_set require.progs scapy +} + +adjhole_body() +{ + frag_common adjhole +} + +adjhole_cleanup() +{ + pft_cleanup +} + atf_test_case "reassemble" "cleanup" reassemble_head() { @@ -618,6 +654,8 @@ atf_init_test_cases() atf_add_test_case "overreplace" atf_add_test_case "overindex" atf_add_test_case "overlimit" + atf_add_test_case "overhole" + atf_add_test_case "adjhole" atf_add_test_case "reassemble" atf_add_test_case "no_df" atf_add_test_case "reassemble_slowpath" From nobody Tue Feb 11 10:33:01 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysd7f2Qswz5nMb2; Tue, 11 Feb 2025 10:33:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysd7d4yvSz3t4N; Tue, 11 Feb 2025 10:33:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=16xFUqWh56B34vreI07a/XP/phRZa0uL/5BxPJ0LzGA=; b=HSXjU2HXsw5li6B0fjUCzh1Clge1dVvav3IUk0tgp1AdbeXecdP0GU4A3BCJwomcnA0gA/ Xfd5gtSvVhXJpgZC2Kw3mHcKG+Sf9BMMQsgge3QxU+/O5gT1Wpxm3leiIRTjY/il/yMCIw B74byyJKdCFpuniyWSRYSVD3j2Xd+wxV/hT1DobgCK18pDwjJHKXGNxWXmmr+RYFxA/oen VWBnF9HV1+9IJIuiOFgeDrd3lUFSyDoRJ0eKjfmmb6aol4Tl1S8F7JXw/pfitkyntYAdlI xzRSPkNS1mSqUgoA+8PhcP+VqgUUDj98dfi1dj/Wf1eTaxz4NDYNNNPh9B591Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=16xFUqWh56B34vreI07a/XP/phRZa0uL/5BxPJ0LzGA=; b=aJXp1mAXiWVXc+7YKwEhFV8vGPUXVCJigxQVCS1vbXy1ZhucvPSHRtlcUZuzBCe15IqONo //p9cTl1VqyslThI2D7Bd6Lh+8oteZTCqlYVuo+uuQBcnsUAJWhkKQalm8M8vTuOHZj5jH mVw/VcQaehL5mInWn97Wpvb1HHB7LaUrRZx1cxWxjwfe+hym97y+WczTXUHOFFKn+qV+XJ kKr6NOBSy4LLOm7NycPabWlf/cz0ElEb8x0HrGd9v/b4omjY1zHg2S3Sv/wLHk8poxfo1n dEMnsLgmy/vH61onQ3oGHxeEgBTvRzq6QHxaLWuxUZ3VRM4Yzk+zqHbEdC2qEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739269981; a=rsa-sha256; cv=none; b=UOcYKNxebDEvaO5Vs4KCxMtUekZBVAa0t+AOZ1UjDQwNJ/rg/knC9spMRBTQ+N7dWryNcC lo9tdOFBHDQzPlwmTiz9mY7SvUt0c49/ae+++tl3+irLYLxBLqTW7MCKXDfvSkfDHp0/k8 sfpeyLxNf2R8ZA6GUwSmxNY/pAHuhaCVhfpNVAfLeaMfOH9zEyGCIijUXrdazcaZxSyt75 tK9nGwR1ZvxOnZX3woYVsv1EBDqdTLl4L8EKYX5OufwxsNKc+CH6B1VlCzU7V68hNpDfkz 878vms7AIHvyJ5kNSHD6YdepmLKQsxmIjGM+5+dB9LIz3yiihEG2GAtaW/YZrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysd7d4Bp8z18BS; Tue, 11 Feb 2025 10:33:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51BAX1kN043150; Tue, 11 Feb 2025 10:33:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BAX1ma043147; Tue, 11 Feb 2025 10:33:01 GMT (envelope-from git) Date: Tue, 11 Feb 2025 10:33:01 GMT Message-Id: <202502111033.51BAX1ma043147@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 4c4a7a8da49c - main - pf.conf.5: fix range for assigned ports managed by the IANA (see RFC 1700). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4c4a7a8da49c8c9c99826c834bd3159c262f7ac7 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=4c4a7a8da49c8c9c99826c834bd3159c262f7ac7 commit 4c4a7a8da49c8c9c99826c834bd3159c262f7ac7 Author: Kristof Provost AuthorDate: 2025-02-05 12:59:09 +0000 Commit: Kristof Provost CommitDate: 2025-02-11 10:32:22 +0000 pf.conf.5: fix range for assigned ports managed by the IANA (see RFC 1700). ok sthen@ Obtained from: OpenBSD, sobrado , 908a1da340 Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index a517015b5ff8..c438cfc6894b 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -27,7 +27,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd January 10, 2025 +.Dd February 5, 2025 .Dt PF.CONF 5 .Os .Sh NAME @@ -1911,9 +1911,9 @@ The host, port and OS specifications are optional, as in the following examples: .Bd -literal -offset indent pass in all pass in from any to any -pass in proto tcp from any port \*(Le 1024 to any +pass in proto tcp from any port \*(Lt 1024 to any pass in proto tcp from any to any port 25 -pass in proto tcp from 10.0.0.0/8 port \*(Gt 1024 \e +pass in proto tcp from 10.0.0.0/8 port \*(Ge 1024 \e to ! 10.1.2.3 port != ssh pass in proto tcp from any os "OpenBSD" .Ed From nobody Tue Feb 11 10:33:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ysd7g2KJWz5nMmm; Tue, 11 Feb 2025 10:33:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysd7f5GX4z3t0R; Tue, 11 Feb 2025 10:33:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=41XmsI6C0ocic8Jwo/u4TxzhqsdltknYeI0Fp2hIFZo=; b=mCUpna2cTTTGMYG+7XnrrUrXh/Hlrv495jcecFV4fIUySQNh+SSDSOjDCmNOdkW+2b4uBW UOP3MTF3BlJ5SjMHwnazo9m0KeRWo8L6Oj0uF312+CRNLSfrGM6g4L3kOD6EIHLEDkmc3B Kt/pFR0lvAL6pg1WAhjL7cDyacW+WC8vvGPOIrE+ZeK6IQLc2fAFVoquXsw1cP1yPH2qlg yikD7YdiGCnAYjC5pP9uE+j2NhRu2YcjbhlILwFWXqwcNlFF8FqN/tQ9LblVEGbSsWEBvR n677Ulda5kqVnNKkMWz3fRRIlht1dxvU9QPTEEKkyj77vYgNN/2l1OmimzURGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739269982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=41XmsI6C0ocic8Jwo/u4TxzhqsdltknYeI0Fp2hIFZo=; b=vQKHHhJ46I40Qr8Bg9HDK8gl+gsm7VuLNnWfY8P8DgQE+TKb1TvpjuUH+fgjetwxeclPaH MBbSlrahgjcwu3F1sMpp8kLTbO8bZ3QuTrUKQu01jlGQ00EBCXgFrxa7POBRlsquqJvVy7 E3x6sTW4koCCZI4ZXcUdJZ2bLPEKEPmfX64yZtK5RDCOixVzx1u83OgSS8tU0B8lvxQ2Wj 2QnVmu3Aog4qbTdH9h3upL5jjSzZPlIuyNwxs8+AEDh39cERtGFDTFNpGQmxA4fI23973F EKd3be+6CXXLXgHX2EU232ttWpMP/20YL8TCNST8Cn9B9kMCMsRsAlOCnaqwzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739269982; a=rsa-sha256; cv=none; b=tVU2EcEg1RHFhFpBWjYdqliNVQ+FtjL46VGjIWz4bWbHzZ8rPiPQPsC7bpRn8MIr9eLMSp DFjXQEixrX6I5mckgabFgEV/47QW4v21kd3h1m+9K6AZikNR6/GXJgTudpvUiRMxTipw47 m4em0cjKB1VW6OavUtUbaf1g9+YuMLYtispSNlGfdpwuVXH9muh5HmD2aCNxcqAi7x5eu/ 0QmZ6ihUNLWDX4BdghtHv26yIa1N+7IAlzcgD287PfAMWX1OMYypuMVrCXO5KjmF9v1MNo 6TZf9hxV5TdSXsPy0P1S/QCCFyeo4/qKteVLBkz2+5E/Vz1j90e2gtIYZoPzqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysd7f4nlXz18BT; Tue, 11 Feb 2025 10:33:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51BAX2OB043188; Tue, 11 Feb 2025 10:33:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BAX2xe043185; Tue, 11 Feb 2025 10:33:02 GMT (envelope-from git) Date: Tue, 11 Feb 2025 10:33:02 GMT Message-Id: <202502111033.51BAX2xe043185@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 85c333a947e9 - main - =?utf-8?Q?pf.conf.5: fix =E2=89=A4?= List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 85c333a947e950d9267517afd1d9c30a655b7bfb Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=85c333a947e950d9267517afd1d9c30a655b7bfb commit 85c333a947e950d9267517afd1d9c30a655b7bfb Author: Kristof Provost AuthorDate: 2025-02-05 14:52:15 +0000 Commit: Kristof Provost CommitDate: 2025-02-11 10:32:22 +0000 pf.conf.5: fix ≤ pf.conf expects <=, not ≤ (and the same applies to ≥ and >=). Make sure the man page reflects this. MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index c438cfc6894b..4020243c521b 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -1870,9 +1870,9 @@ Ports and ranges of ports are specified by using these operators: = (equal) != (unequal) \*(Lt (less than) -\*(Le (less than or equal) +<= (less than or equal) \*(Gt (greater than) -\*(Ge (greater than or equal) +>= (greater than or equal) : (range including boundaries) \*(Gt\*(Lt (range excluding boundaries) \*(Lt\*(Gt (except range) @@ -1913,7 +1913,7 @@ pass in all pass in from any to any pass in proto tcp from any port \*(Lt 1024 to any pass in proto tcp from any to any port 25 -pass in proto tcp from 10.0.0.0/8 port \*(Ge 1024 \e +pass in proto tcp from 10.0.0.0/8 port >= 1024 \e to ! 10.1.2.3 port != ssh pass in proto tcp from any os "OpenBSD" .Ed @@ -3425,7 +3425,7 @@ os = "os" ( os-name | "{" os-list "}" ) user = "user" ( unary-op | binary-op | "{" op-list "}" ) group = "group" ( unary-op | binary-op | "{" op-list "}" ) -unary-op = [ "=" | "!=" | "\*(Lt" | "\*(Le" | "\*(Gt" | "\*(Ge" ] +unary-op = [ "=" | "!=" | "\*(Lt" | "<=" | "\*(Gt" | ">=" ] ( name | number ) binary-op = number ( "\*(Lt\*(Gt" | "\*(Gt\*(Lt" | ":" ) number op-list = ( unary-op | binary-op ) [ [ "," ] op-list ] From nobody Tue Feb 11 14:12: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 4Ysk0l3rQlz5ndZg; Tue, 11 Feb 2025 14:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysk0l1tsgz4KJ0; Tue, 11 Feb 2025 14:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jysj1QY3rytVMgcgClky78JtOdEK+8WChO8SlvPnpUQ=; b=pAqRpq2rPXoQQ5dnaribYx02yu9wj8R+/pNkgGVaWtpaxkR5PW8ZHk/W/eONLpXvJky0x7 Umg7UIG9tXwMPd0l20lHbVvNoH9nGfs/5E7y4JDGEGH8na4c9owNZPqK4TxQzCsjZG7P3P kFfUwkrNIgdfZsPgs3tx6pgrCq+NLyfmuEtLrjYyKMryERIhVCgcy1glh7iuyHpqqzc26+ XQShYpUaBVhw6OyuTdjSR02+oAsGGkh/iIH6bV+LfJodKIOEbcgZiShN8Z5oaFG+INpoi5 WmsaSdm46mr3YPL4pDvhy+dQxmMnAM50J1Brsxdg7UpSsDw9u5WAd+4hNEZEsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jysj1QY3rytVMgcgClky78JtOdEK+8WChO8SlvPnpUQ=; b=FSPTB5MClxDF13Rh2yxo17Bp5LGUjVh0iXCs4a5OLnWr7FEmSsqg5hO+Z/dkl+FHOxzIzv G1WxGh3GOgCT7InEEKgzwQW8heUbqK4DyGXaDbM+Dfhm3qBGbbffSQf27nSoQpxRSkKbF8 8wGfjLkw8LwXWYLPtGWoxPXch2uX+OtkDSlEZcNcG3wVNclNLt8u4ledLdHgA+d4z+oFE3 VAiJ9/75CXKeIs34Q1jjH1F8h0VwlUNc257kju4lsvIAtfxHE8UK5SKkC0J3+GSNI+STk0 tCbAQ8loBa8rdZjykSpTYHnMUaep6AB2OXN4ghJ/KD9++MDX57tZNhouowYJOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739283143; a=rsa-sha256; cv=none; b=FTWh1htEVNEyTrMlPqNrtZmUT4BlHBEb1P4E83QGP6Fm/07MIDYUKxQ/iZMocgmh76U8YU jTGNfCK9MbX/eMmIzVIup0l+m2Artho8FuQ7AINomQopMVvuDBhCpauUMK5K11DPfB+FeK +wwpYWl00zVkclmq++2LBlt/seacZbnJ543UhlSkYEJ8n6NLDjxMpUPwkyyzkn0gjrfzMu BZeeu7KcofnyYWinDnPdFaz9F0kId25BCgjS8LRm+zQGLVHT7FpSpEJr4oBknkLCLxdbmh xfjiJy9CJQao4tcGIaWzgJKOUTPJDs+ajcuDYFaKUB2t46YjciIAa6ke/D5cqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysk0l1RJRz1RX; Tue, 11 Feb 2025 14:12: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 51BECNVh058720; Tue, 11 Feb 2025 14:12:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BECNQw058717; Tue, 11 Feb 2025 14:12:23 GMT (envelope-from git) Date: Tue, 11 Feb 2025 14:12:23 GMT Message-Id: <202502111412.51BECNQw058717@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: a3835cceb088 - main - pci: Cosmetic cleanups to MSI/MSI-X routines List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: a3835cceb0882494628d5d075f99a86bd3464672 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a3835cceb0882494628d5d075f99a86bd3464672 commit a3835cceb0882494628d5d075f99a86bd3464672 Author: John Baldwin AuthorDate: 2025-02-11 14:11:10 +0000 Commit: John Baldwin CommitDate: 2025-02-11 14:11:10 +0000 pci: Cosmetic cleanups to MSI/MSI-X routines - Use unsigned integers for various variables. The count argument to the alloc method as well as the IRQ values used with the pcib_if.m methods should also be unsigned eventually. - Use mallocarray to allocate arrays - Use bool in a few places Reviewed by: Krzysztof Galazka Differential Revision: https://reviews.freebsd.org/D48889 --- sys/dev/pci/pci.c | 63 ++++++++++++++++++++++++++++------------------------ sys/dev/pci/pcivar.h | 4 ++-- 2 files changed, 36 insertions(+), 31 deletions(-) diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 84db16587bde..06bff2e96e89 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -1790,7 +1790,7 @@ pci_resume_msix(device_t dev) struct pcicfg_msix *msix = &dinfo->cfg.msix; struct msix_table_entry *mte; struct msix_vector *mv; - int i; + u_int i; if (msix->msix_alloc > 0) { /* First, mask all vectors. */ @@ -1823,10 +1823,11 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) struct pci_devinfo *dinfo = device_get_ivars(child); pcicfgregs *cfg = &dinfo->cfg; struct resource_list_entry *rle; - int actual, error, i, irq, max; + u_int actual, i, max; + int error, irq; /* Don't let count == 0 get us into trouble. */ - if (*count == 0) + if (*count < 1) return (EINVAL); /* If rid 0 is allocated, then fail. */ @@ -1886,7 +1887,7 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) device_printf(child, "using IRQ %ju for MSI-X\n", rle->start); else { - int run; + bool run; /* * Be fancy and try to print contiguous runs of @@ -1895,14 +1896,14 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) */ device_printf(child, "using IRQs %ju", rle->start); irq = rle->start; - run = 0; + run = false; for (i = 1; i < actual; i++) { rle = resource_list_find(&dinfo->resources, SYS_RES_IRQ, i + 1); /* Still in a run? */ if (rle->start == irq + 1) { - run = 1; + run = true; irq++; continue; } @@ -1910,7 +1911,7 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) /* Finish previous range. */ if (run) { printf("-%d", irq); - run = 0; + run = false; } /* Start new range. */ @@ -1930,10 +1931,10 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) pci_mask_msix(child, i); /* Allocate and initialize vector data and virtual table. */ - cfg->msix.msix_vectors = malloc(sizeof(struct msix_vector) * actual, - M_DEVBUF, M_WAITOK | M_ZERO); - cfg->msix.msix_table = malloc(sizeof(struct msix_table_entry) * actual, + cfg->msix.msix_vectors = mallocarray(actual, sizeof(struct msix_vector), M_DEVBUF, M_WAITOK | M_ZERO); + cfg->msix.msix_table = mallocarray(actual, + sizeof(struct msix_table_entry), M_DEVBUF, M_WAITOK | M_ZERO); for (i = 0; i < actual; i++) { rle = resource_list_find(&dinfo->resources, SYS_RES_IRQ, i + 1); cfg->msix.msix_vectors[i].mv_irq = rle->start; @@ -1998,14 +1999,15 @@ pci_remap_msix_method(device_t dev, device_t child, int count, struct pci_devinfo *dinfo = device_get_ivars(child); struct pcicfg_msix *msix = &dinfo->cfg.msix; struct resource_list_entry *rle; - int i, irq, j, *used; + u_int i, irq, j; + bool *used; /* * Have to have at least one message in the table but the * table can't be bigger than the actual MSI-X table in the * device. */ - if (count == 0 || count > msix->msix_msgnum) + if (count < 1 || count > msix->msix_msgnum) return (EINVAL); /* Sanity check the vectors. */ @@ -2018,17 +2020,17 @@ pci_remap_msix_method(device_t dev, device_t child, int count, * It's a big pain to support it, and it doesn't really make * sense anyway. Also, at least one vector must be used. */ - used = malloc(sizeof(int) * msix->msix_alloc, M_DEVBUF, M_WAITOK | + used = mallocarray(msix->msix_alloc, sizeof(*used), M_DEVBUF, M_WAITOK | M_ZERO); for (i = 0; i < count; i++) if (vectors[i] != 0) - used[vectors[i] - 1] = 1; + used[vectors[i] - 1] = true; for (i = 0; i < msix->msix_alloc - 1; i++) - if (used[i] == 0 && used[i + 1] == 1) { + if (!used[i] && used[i + 1]) { free(used, M_DEVBUF); return (EINVAL); } - if (used[0] != 1) { + if (!used[0]) { free(used, M_DEVBUF); return (EINVAL); } @@ -2061,7 +2063,7 @@ pci_remap_msix_method(device_t dev, device_t child, int count, * used. */ free(msix->msix_table, M_DEVBUF); - msix->msix_table = malloc(sizeof(struct msix_table_entry) * count, + msix->msix_table = mallocarray(count, sizeof(struct msix_table_entry), M_DEVBUF, M_WAITOK | M_ZERO); for (i = 0; i < count; i++) msix->msix_table[i].mte_vector = vectors[i]; @@ -2069,15 +2071,15 @@ pci_remap_msix_method(device_t dev, device_t child, int count, /* Free any unused IRQs and resize the vectors array if necessary. */ j = msix->msix_alloc - 1; - if (used[j] == 0) { + if (!used[j]) { struct msix_vector *vec; - while (used[j] == 0) { + while (!used[j]) { PCIB_RELEASE_MSIX(device_get_parent(dev), child, msix->msix_vectors[j].mv_irq); j--; } - vec = malloc(sizeof(struct msix_vector) * (j + 1), M_DEVBUF, + vec = mallocarray(j + 1, sizeof(struct msix_vector), M_DEVBUF, M_WAITOK); bcopy(msix->msix_vectors, vec, sizeof(struct msix_vector) * (j + 1)); @@ -2119,7 +2121,7 @@ pci_release_msix(device_t dev, device_t child) struct pci_devinfo *dinfo = device_get_ivars(child); struct pcicfg_msix *msix = &dinfo->cfg.msix; struct resource_list_entry *rle; - int i; + u_int i; /* Do we have any messages to release? */ if (msix->msix_alloc == 0) @@ -2440,7 +2442,8 @@ pci_remap_intr_method(device_t bus, device_t dev, u_int irq) struct msix_vector *mv; uint64_t addr; uint32_t data; - int error, i, j; + u_int i, j; + int error; /* * Handle MSI first. We try to find this IRQ among our list @@ -2605,11 +2608,12 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) struct pci_devinfo *dinfo = device_get_ivars(child); pcicfgregs *cfg = &dinfo->cfg; struct resource_list_entry *rle; - int actual, error, i, irqs[32]; + u_int actual, i; + int error, irqs[32]; uint16_t ctrl; /* Don't let count == 0 get us into trouble. */ - if (*count == 0) + if (*count < 1) return (EINVAL); /* If rid 0 is allocated, then fail. */ @@ -2670,7 +2674,7 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) if (actual == 1) device_printf(child, "using IRQ %d for MSI\n", irqs[0]); else { - int run; + bool run; /* * Be fancy and try to print contiguous runs @@ -2678,18 +2682,18 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) * we are in a range. */ device_printf(child, "using IRQs %d", irqs[0]); - run = 0; + run = false; for (i = 1; i < actual; i++) { /* Still in a run? */ if (irqs[i] == irqs[i - 1] + 1) { - run = 1; + run = true; continue; } /* Finish previous range. */ if (run) { printf("-%d", irqs[i - 1]); - run = 0; + run = false; } /* Start new range. */ @@ -2724,7 +2728,8 @@ pci_release_msi_method(device_t dev, device_t child) struct pci_devinfo *dinfo = device_get_ivars(child); struct pcicfg_msi *msi = &dinfo->cfg.msi; struct resource_list_entry *rle; - int error, i, irqs[32]; + u_int i, irqs[32]; + int error; /* Try MSI-X first. */ error = pci_release_msix(dev, child); diff --git a/sys/dev/pci/pcivar.h b/sys/dev/pci/pcivar.h index 1c7b772afea9..0041c5a22b49 100644 --- a/sys/dev/pci/pcivar.h +++ b/sys/dev/pci/pcivar.h @@ -117,8 +117,8 @@ struct pcicfg_msix { uint8_t msix_pba_bar; /* BAR containing PBA. */ uint32_t msix_table_offset; uint32_t msix_pba_offset; - int msix_alloc; /* Number of allocated vectors. */ - int msix_table_len; /* Length of virtual table. */ + u_int msix_alloc; /* Number of allocated vectors. */ + u_int msix_table_len; /* Length of virtual table. */ struct msix_table_entry *msix_table; /* Virtual table. */ struct msix_vector *msix_vectors; /* Array of allocated vectors. */ struct resource *msix_table_res; /* Resource containing vector table. */ From nobody Tue Feb 11 14:12: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 4Ysk0n2dFhz5ndwn; Tue, 11 Feb 2025 14:12:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysk0m357pz4KFm; Tue, 11 Feb 2025 14:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZIMTI9re4umcWLl4UjH5DaVumSEz3WFZ824igvH8kyo=; b=k3a6GVPwYvG2LeBdmw+qClWOSe8qn6chOtA3Q0E1LeijnAfgkmJkhGG7XAvbLpp+WqIxgn EMJ+l4cnjNOvQUF2gfh+poXPZi7BqE5+RDls/HNuyIjSyUUDSyMbJbRxFXoRen7J9/S8lk M+Z4YAMSPNqfEtXF9S+aVnMOG5byCIPkR0W/Q4vhgHKHMrseP7HFH6gtrynjICAUDSrU8H /pzeft6Ifi0r/4wI66WLJ73181McYE1V6p7hh8fpS4Tx5I0VMdOBN7SRZBXfbPB+5z4158 QXAuZbuu/dBEcbPE7jLZWqHwQLJfdcpjM0iKf+V74Udp7mc1y7C2bHGY2+srsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZIMTI9re4umcWLl4UjH5DaVumSEz3WFZ824igvH8kyo=; b=Zt5p2jlbrhCp8hy4XZNMReAQAzXp7Zs7VyVhbBlC3wqSfWn8TKbDPNFlR88YjSgoer2TVS lrMdGAoZfQxjw3jY0zTGzjMGe7akDPhUGsxJWh9F2joRYIq71PX1mBUy2NtneNHErIwr4m dRV4RNhHcaQZXgHNGN0N8rYU4jfb2wGW2bXZXZj9tGhRhboT82Vr9NU3YWPaNe40hOtnCm uB/qeroK3Z7hkpWeDkWTTHQrCCncjXxQiD7O5RcY+l8mJUShXiOd7g/aEfG5Hpfn7JMAuY a/inwv0+1OepFMmau/c8UCoGOK9E+hZgMrlItgvzzCff33UL9bQfDjSPTVuxqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739283144; a=rsa-sha256; cv=none; b=FNgdd7+KpeLFpoqaloy6d0HDuBc2AxhOZPa42HCNZOYSs6k8GsjacQxL4RQ+YxKH8YP25N 7E1AQCTSL7zkvccyVnJfA+oSykgpyDucA8yTSbOfs4Du3ejUaNkEX63AHWubkLX/wL73pc EOyO4TuKj/o3EieF5dY0sd7wdhGfmyjfFo6am/Js8HxeU+W6w0bqjwOGcpPrBe2OxKotfH tFVmKuvrV3znSBtU0D+Sxl35iU8n7/pHby5sbVXMWBogh3mEKMhkNWw9fVtozV+ZXVZmyC Z3b1F5Qz15eYD2ziUgeAHJ2zKH6ZzML3jeXF2m5+uqUY4X54occgQ87qtm1YUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysk0m2f2jzcG; Tue, 11 Feb 2025 14:12: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 51BECOG1058753; Tue, 11 Feb 2025 14:12:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BECOJK058750; Tue, 11 Feb 2025 14:12:24 GMT (envelope-from git) Date: Tue, 11 Feb 2025 14:12:24 GMT Message-Id: <202502111412.51BECOJK058750@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: 346020138a0f - main - pci: Don't cache the count of MSI/MSI-X messages before allocation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 346020138a0fd20085ebc285f090df38d7d18527 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=346020138a0fd20085ebc285f090df38d7d18527 commit 346020138a0fd20085ebc285f090df38d7d18527 Author: John Baldwin AuthorDate: 2025-02-11 14:11:48 +0000 Commit: John Baldwin CommitDate: 2025-02-11 14:11:48 +0000 pci: Don't cache the count of MSI/MSI-X messages before allocation A device can in theory change the read-only fields in the MSI/MSI-X control registers that indicate the maximum number of supported registers in response to changing other device registers. For example, certain Intel networking VFs change the number of messages as a result of changes in the PCI_IOV_ADD_VF callback. To support this, always read the current value of the relevant control register in the *_count and *_alloc methods. Once messages have been allocated, the control register value remains cached. Reported by: Krzysztof Galazka Reviewed by: Krzysztof Galazka , erj Differential Revision: https://reviews.freebsd.org/D48890 --- sys/dev/iavf/iavf_lib.c | 25 ---------------- sys/dev/iavf/iavf_lib.h | 1 - sys/dev/iavf/if_iavf_iflib.c | 3 -- sys/dev/pci/pci.c | 70 ++++++++++++++++++++++++++------------------ sys/dev/pci/pcireg.h | 3 ++ sys/dev/pci/pcivar.h | 2 -- 6 files changed, 45 insertions(+), 59 deletions(-) diff --git a/sys/dev/iavf/iavf_lib.c b/sys/dev/iavf/iavf_lib.c index 3116ce0501c2..433d31904ea4 100644 --- a/sys/dev/iavf/iavf_lib.c +++ b/sys/dev/iavf/iavf_lib.c @@ -1463,31 +1463,6 @@ iavf_mark_del_vlan_filter(struct iavf_sc *sc, u16 vtag) return (i); } -/** - * iavf_update_msix_devinfo - Fix MSIX values for pci_msix_count() - * @dev: pointer to kernel device - * - * Fix cached MSI-X control register information. This is a workaround - * for an issue where VFs spawned in non-passthrough mode on FreeBSD - * will have their PCI information cached before the PF driver - * finishes updating their PCI information. - * - * @pre Must be called before pci_msix_count() - */ -void -iavf_update_msix_devinfo(device_t dev) -{ - struct pci_devinfo *dinfo; - u32 msix_ctrl; - u8 msix_location; - - dinfo = (struct pci_devinfo *)device_get_ivars(dev); - msix_location = dinfo->cfg.msix.msix_location; - msix_ctrl = pci_read_config(dev, msix_location + PCIR_MSIX_CTRL, 2); - dinfo->cfg.msix.msix_ctrl = msix_ctrl; - dinfo->cfg.msix.msix_msgnum = (msix_ctrl & PCIM_MSIXCTRL_TABLE_SIZE) + 1; -} - /** * iavf_disable_queues_with_retries - Send PF multiple DISABLE_QUEUES messages * @sc: device softc diff --git a/sys/dev/iavf/iavf_lib.h b/sys/dev/iavf/iavf_lib.h index f3ccd9f0c52f..2f874b2e4410 100644 --- a/sys/dev/iavf/iavf_lib.h +++ b/sys/dev/iavf/iavf_lib.h @@ -474,7 +474,6 @@ struct iavf_mac_filter * u64 iavf_baudrate_from_link_speed(struct iavf_sc *sc); void iavf_add_vlan_filter(struct iavf_sc *sc, u16 vtag); int iavf_mark_del_vlan_filter(struct iavf_sc *sc, u16 vtag); -void iavf_update_msix_devinfo(device_t dev); void iavf_disable_queues_with_retries(struct iavf_sc *); int iavf_sysctl_current_speed(SYSCTL_HANDLER_ARGS); diff --git a/sys/dev/iavf/if_iavf_iflib.c b/sys/dev/iavf/if_iavf_iflib.c index d460df6e0d25..e4dd3b1e59a4 100644 --- a/sys/dev/iavf/if_iavf_iflib.c +++ b/sys/dev/iavf/if_iavf_iflib.c @@ -379,9 +379,6 @@ iavf_if_attach_pre(if_ctx_t ctx) scctx->isc_capabilities = scctx->isc_capenable = IAVF_CAPS; scctx->isc_tx_csum_flags = CSUM_OFFLOAD; - /* Update OS cache of MSIX control register values */ - iavf_update_msix_devinfo(dev); - return (0); err_vc_tq: diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 06bff2e96e89..ad13e7f9a3a4 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -952,14 +952,10 @@ pci_read_cap(device_t pcib, pcicfgregs *cfg) case PCIY_MSI: /* PCI MSI */ cfg->msi.msi_location = ptr; cfg->msi.msi_ctrl = REG(ptr + PCIR_MSI_CTRL, 2); - cfg->msi.msi_msgnum = 1 << ((cfg->msi.msi_ctrl & - PCIM_MSICTRL_MMC_MASK)>>1); break; case PCIY_MSIX: /* PCI MSI-X */ cfg->msix.msix_location = ptr; cfg->msix.msix_ctrl = REG(ptr + PCIR_MSIX_CTRL, 2); - cfg->msix.msix_msgnum = (cfg->msix.msix_ctrl & - PCIM_MSIXCTRL_TABLE_SIZE) + 1; val = REG(ptr + PCIR_MSIX_TABLE, 4); cfg->msix.msix_table_bar = PCIR_BAR(val & PCIM_MSIX_BIR_MASK); @@ -1734,7 +1730,7 @@ pci_mask_msix(device_t dev, u_int index) struct pcicfg_msix *msix = &dinfo->cfg.msix; uint32_t offset, val; - KASSERT(msix->msix_msgnum > index, ("bogus index")); + KASSERT(PCI_MSIX_MSGNUM(msix->msix_ctrl) > index, ("bogus index")); offset = msix->msix_table_offset + index * 16 + 12; val = bus_read_4(msix->msix_table_res, offset); val |= PCIM_MSIX_VCTRL_MASK; @@ -1753,7 +1749,7 @@ pci_unmask_msix(device_t dev, u_int index) struct pcicfg_msix *msix = &dinfo->cfg.msix; uint32_t offset, val; - KASSERT(msix->msix_table_len > index, ("bogus index")); + KASSERT(PCI_MSIX_MSGNUM(msix->msix_ctrl) > index, ("bogus index")); offset = msix->msix_table_offset + index * 16 + 12; val = bus_read_4(msix->msix_table_res, offset); val &= ~PCIM_MSIX_VCTRL_MASK; @@ -1790,11 +1786,13 @@ pci_resume_msix(device_t dev) struct pcicfg_msix *msix = &dinfo->cfg.msix; struct msix_table_entry *mte; struct msix_vector *mv; - u_int i; + u_int i, msgnum; if (msix->msix_alloc > 0) { + msgnum = PCI_MSIX_MSGNUM(msix->msix_ctrl); + /* First, mask all vectors. */ - for (i = 0; i < msix->msix_msgnum; i++) + for (i = 0; i < msgnum; i++) pci_mask_msix(dev, i); /* Second, program any messages with at least one handler. */ @@ -1825,6 +1823,7 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) struct resource_list_entry *rle; u_int actual, i, max; int error, irq; + uint16_t ctrl, msgnum; /* Don't let count == 0 get us into trouble. */ if (*count < 1) @@ -1863,11 +1862,14 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) } cfg->msix.msix_pba_res = rle->res; + ctrl = pci_read_config(child, cfg->msix.msix_location + PCIR_MSIX_CTRL, + 2); + msgnum = PCI_MSIX_MSGNUM(ctrl); if (bootverbose) device_printf(child, "attempting to allocate %d MSI-X vectors (%d supported)\n", - *count, cfg->msix.msix_msgnum); - max = min(*count, cfg->msix.msix_msgnum); + *count, msgnum); + max = min(*count, msgnum); for (i = 0; i < max; i++) { /* Allocate a message. */ error = PCIB_ALLOC_MSIX(device_get_parent(dev), child, &irq); @@ -1927,7 +1929,7 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) } /* Mask all vectors. */ - for (i = 0; i < cfg->msix.msix_msgnum; i++) + for (i = 0; i < msgnum; i++) pci_mask_msix(child, i); /* Allocate and initialize vector data and virtual table. */ @@ -1942,9 +1944,10 @@ pci_alloc_msix_method(device_t dev, device_t child, int *count) } /* Update control register to enable MSI-X. */ - cfg->msix.msix_ctrl |= PCIM_MSIXCTRL_MSIX_ENABLE; + ctrl |= PCIM_MSIXCTRL_MSIX_ENABLE; pci_write_config(child, cfg->msix.msix_location + PCIR_MSIX_CTRL, - cfg->msix.msix_ctrl, 2); + ctrl, 2); + cfg->msix.msix_ctrl = ctrl; /* Update counts of alloc'd messages. */ cfg->msix.msix_alloc = actual; @@ -2007,7 +2010,7 @@ pci_remap_msix_method(device_t dev, device_t child, int count, * table can't be bigger than the actual MSI-X table in the * device. */ - if (count < 1 || count > msix->msix_msgnum) + if (count < 1 || count > PCI_MSIX_MSGNUM(msix->msix_ctrl)) return (EINVAL); /* Sanity check the vectors. */ @@ -2173,9 +2176,13 @@ pci_msix_count_method(device_t dev, device_t child) { struct pci_devinfo *dinfo = device_get_ivars(child); struct pcicfg_msix *msix = &dinfo->cfg.msix; + uint16_t ctrl; - if (pci_do_msix && msix->msix_location != 0) - return (msix->msix_msgnum); + if (pci_do_msix && msix->msix_location != 0) { + ctrl = pci_read_config(child, msix->msix_location + + PCIR_MSI_CTRL, 2); + return (PCI_MSIX_MSGNUM(ctrl)); + } return (0); } @@ -2610,7 +2617,7 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) struct resource_list_entry *rle; u_int actual, i; int error, irqs[32]; - uint16_t ctrl; + uint16_t ctrl, msgnum; /* Don't let count == 0 get us into trouble. */ if (*count < 1) @@ -2633,13 +2640,15 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) if (cfg->msi.msi_location == 0 || !pci_do_msi) return (ENODEV); + ctrl = pci_read_config(child, cfg->msi.msi_location + PCIR_MSI_CTRL, 2); + msgnum = PCI_MSI_MSGNUM(ctrl); if (bootverbose) device_printf(child, - "attempting to allocate %d MSI vectors (%d supported)\n", - *count, cfg->msi.msi_msgnum); + "attempting to allocate %d MSI vectors (%u supported)\n", + *count, msgnum); /* Don't ask for more than the device supports. */ - actual = min(*count, cfg->msi.msi_msgnum); + actual = min(*count, msgnum); /* Don't ask for more than 32 messages. */ actual = min(actual, 32); @@ -2708,7 +2717,6 @@ pci_alloc_msi_method(device_t dev, device_t child, int *count) } /* Update control register with actual count. */ - ctrl = cfg->msi.msi_ctrl; ctrl &= ~PCIM_MSICTRL_MME_MASK; ctrl |= (ffs(actual) - 1) << 4; cfg->msi.msi_ctrl = ctrl; @@ -2782,9 +2790,13 @@ pci_msi_count_method(device_t dev, device_t child) { struct pci_devinfo *dinfo = device_get_ivars(child); struct pcicfg_msi *msi = &dinfo->cfg.msi; + uint16_t ctrl; - if (pci_do_msi && msi->msi_location != 0) - return (msi->msi_msgnum); + if (pci_do_msi && msi->msi_location != 0) { + ctrl = pci_read_config(child, msi->msi_location + PCIR_MSI_CTRL, + 2); + return (PCI_MSI_MSGNUM(ctrl)); + } return (0); } @@ -3038,19 +3050,21 @@ pci_print_verbose(struct pci_devinfo *dinfo) status & PCIM_PSTAT_DMASK); } if (cfg->msi.msi_location) { - int ctrl; + uint16_t ctrl, msgnum; ctrl = cfg->msi.msi_ctrl; + msgnum = PCI_MSI_MSGNUM(ctrl); printf("\tMSI supports %d message%s%s%s\n", - cfg->msi.msi_msgnum, - (cfg->msi.msi_msgnum == 1) ? "" : "s", + msgnum, (msgnum == 1) ? "" : "s", (ctrl & PCIM_MSICTRL_64BIT) ? ", 64 bit" : "", (ctrl & PCIM_MSICTRL_VECTOR) ? ", vector masks":""); } if (cfg->msix.msix_location) { + uint16_t msgnum; + + msgnum = PCI_MSIX_MSGNUM(cfg->msix.msix_ctrl); printf("\tMSI-X supports %d message%s ", - cfg->msix.msix_msgnum, - (cfg->msix.msix_msgnum == 1) ? "" : "s"); + msgnum, (msgnum == 1) ? "" : "s"); if (cfg->msix.msix_table_bar == cfg->msix.msix_pba_bar) printf("in map 0x%x\n", cfg->msix.msix_table_bar); diff --git a/sys/dev/pci/pcireg.h b/sys/dev/pci/pcireg.h index 623deb8b4505..f6aaf30611e4 100644 --- a/sys/dev/pci/pcireg.h +++ b/sys/dev/pci/pcireg.h @@ -616,6 +616,8 @@ #define PCIM_MSICTRL_MMC_16 0x0008 #define PCIM_MSICTRL_MMC_32 0x000A #define PCIM_MSICTRL_MSI_ENABLE 0x0001 +#define PCI_MSI_MSGNUM(ctrl) \ + (1 << (((ctrl) & PCIM_MSICTRL_MMC_MASK) >> 1)) #define PCIR_MSI_ADDR 0x4 #define PCIR_MSI_ADDR_HIGH 0x8 #define PCIR_MSI_DATA 0x8 @@ -965,6 +967,7 @@ #define PCIM_MSIXCTRL_MSIX_ENABLE 0x8000 #define PCIM_MSIXCTRL_FUNCTION_MASK 0x4000 #define PCIM_MSIXCTRL_TABLE_SIZE 0x07FF +#define PCI_MSIX_MSGNUM(ctrl) (((ctrl) & PCIM_MSIXCTRL_TABLE_SIZE) + 1) #define PCIR_MSIX_TABLE 0x4 #define PCIR_MSIX_PBA 0x8 #define PCIM_MSIX_BIR_MASK 0x7 diff --git a/sys/dev/pci/pcivar.h b/sys/dev/pci/pcivar.h index 0041c5a22b49..c0d54f8e58e0 100644 --- a/sys/dev/pci/pcivar.h +++ b/sys/dev/pci/pcivar.h @@ -90,7 +90,6 @@ struct pcicfg_vpd { struct pcicfg_msi { uint16_t msi_ctrl; /* Message Control */ uint8_t msi_location; /* Offset of MSI capability registers. */ - uint8_t msi_msgnum; /* Number of messages */ int msi_alloc; /* Number of allocated messages. */ uint64_t msi_addr; /* Contents of address register. */ uint16_t msi_data; /* Contents of data register. */ @@ -111,7 +110,6 @@ struct msix_table_entry { struct pcicfg_msix { uint16_t msix_ctrl; /* Message Control */ - uint16_t msix_msgnum; /* Number of messages */ uint8_t msix_location; /* Offset of MSI-X capability registers. */ uint8_t msix_table_bar; /* BAR containing vector table. */ uint8_t msix_pba_bar; /* BAR containing PBA. */ From nobody Tue Feb 11 14:13: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 4Ysk2C3n5Dz5ndkY; Tue, 11 Feb 2025 14:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysk2C3HWsz4L6L; Tue, 11 Feb 2025 14:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQKEQ8g2HO86ssIP6jbJIrJx9La8Kh5C+We1dRzC8b4=; b=TxlTAEbsSH6zCr1yuXuUqaZbLX7vgxNcMB+QvsPZg5fkJ2bLdHmir9YFQ3/qAKf+KSTKum VOYPImWOKKr3CnEULByongD+gsKy9l9LQxEZxft+2Ojio3Djc2Dh5byZKyFpYFPzrHE9Kf y0eLD+RFUziugG7bamur+fyQ/F0e7/adgdS472RJ5AYGqELTvLZVYcnmRH4hKQDvQpwqFv V1v1W2Mpco/QRU/2nMu4bOHHlQ/+VPrgsW/w7LiVpfqv8SVLSMTqVUoFA+GsIMH0qI7fIt sg3B6lgKxd5gMt1NAuaB0L228fjcKrvzClyD+GIeYwAtCs2RNz3OA8TB5u+Epg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQKEQ8g2HO86ssIP6jbJIrJx9La8Kh5C+We1dRzC8b4=; b=Y5FD1eut8X8w5BWpPNpQXKVlnJKQ8LIjX4vW7w9yJTgZumGCp4MO/2XEUPn4og+RbzJfsR UrIa5v5f/kOOBVKBeM+mTTVJYi7BhGxPuKLLhmDHIU8G8eTD4hi6gvF4uZ+8IIUK3yzVwX Bin/dKd01cugDMxhEwdXfs2z2FJE9uASEeTHXhUOML5Lflf+iZ8/MUMl1d2ngfrakzj0Yp fYLeRhVQIYjuA3/1QE9THRJekc5iQ0cC3uSdLOAUdIK6q5LDxCxgJCP39yHBB0ecKMhFZm wmxsV2OSq++WxV4YBsXpB2qmKGfpcw+noDg1RWgvCvhC6TMWD/rSF/9kKkOdIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739283219; a=rsa-sha256; cv=none; b=Tb6xJ0QqXTSCP0OMPxqhPE0L9awbTVLu114JJwjtnvSMfCnYJUkPdghWsUvchbf+3v2EHR Oul5KPgRuPbfpf1vMbawXnSn9bvABMIb4/+hjFzwtuGEVbYu0w93UmhnL4berLqCTk8e8w RCLvatWBHb2PVopyXaBtYn3iNuKCqpFaZvur5M8PmVOOhZpgwyHIe6uKcEuBPRywbT0z8r 9qTC/LJPzqzjHTn+mznCXti1YREC3GzKRL9vxPebtxH/EjfZdw0cgrS2QJDByJgaJ88DoS UpFu1z9GTytD8Jp7OLOcycX5XFFIiuxSdDAYlYgq0D6yzz5EgExFr9t3EywKyw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysk2C2lLgzcJ; Tue, 11 Feb 2025 14:13: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 51BEDdNG059283; Tue, 11 Feb 2025 14:13:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BEDdq7059280; Tue, 11 Feb 2025 14:13:39 GMT (envelope-from git) Date: Tue, 11 Feb 2025 14:13:39 GMT Message-Id: <202502111413.51BEDdq7059280@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: d35b039af944 - main - gpart: Stop documenting freebsd-vinum partition types List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d35b039af944f68fe99bb3ad2f0c6d5ec7917096 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d35b039af944f68fe99bb3ad2f0c6d5ec7917096 commit d35b039af944f68fe99bb3ad2f0c6d5ec7917096 Author: John Baldwin AuthorDate: 2025-02-11 14:13:05 +0000 Commit: John Baldwin CommitDate: 2025-02-11 14:13:32 +0000 gpart: Stop documenting freebsd-vinum partition types Support for the partition types is still retained so that tools can display existing partitions. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D48535 --- lib/geom/part/gpart.8 | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/lib/geom/part/gpart.8 b/lib/geom/part/gpart.8 index 121e6d6a5119..f76c1d9d5d6c 100644 --- a/lib/geom/part/gpart.8 +++ b/lib/geom/part/gpart.8 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 2, 2024 +.Dd February 11, 2025 .Dt GPART 8 .Os .Sh NAME @@ -681,15 +681,6 @@ The scheme-specific types are for APM, and .Qq Li "!516e7cb6-6ecf-11d6-8ff8-00022d09712b" for GPT. -.It Cm freebsd-vinum -A -.Fx -partition that contains a Vinum volume. -The scheme-specific types are -.Qq Li "!FreeBSD-Vinum" -for APM, and -.Qq Li "!516e7cb8-6ecf-11d6-8ff8-00022d09712b" -for GPT. .It Cm freebsd-zfs A .Fx From nobody Tue Feb 11 14:17: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 4Ysk7C1RVHz5ndm1; Tue, 11 Feb 2025 14:17:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysk7B4lBRz4MRL; Tue, 11 Feb 2025 14:17:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PJkSQ1pErnkTWlWgKWVPFyas2N21e+zuyvv3q/A0CAU=; b=HLqYHqQvPYUMxESPkS+2hmNBb6WSjXQPdU15W9+vU3HqQBmCop9qqAL5ijrHdeSnH/J6tX ugD9gdeueKc/KbBAEdGyeRYID1CNs5BIevhWh0BSYvfcJCwk9ZINlk9vKIAVCsiGkAF8CD fqkUTG5lPpNMnw7HZOoAo+T7fqsqD525IFiG7WGO6ivn5Wgb1yN2gLf0JIvXKUyf0a40Ew pot1+lEIlOTtTjL7oxaX812GME8fVm41NT4QLFdKaFzmkUiUo/obdbwzYdqSlwH9g0Zw6X fI01lbzWu7LB+JXJUEiVbwBacFcsnA77t0/v86BKJfAz9O+uWteuCU6ndsoteQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PJkSQ1pErnkTWlWgKWVPFyas2N21e+zuyvv3q/A0CAU=; b=YMgSDb4LCQkdFDTz+ULoun9+HNQMhTtcXX3PEBcmT4mL0fBpGRa8glG1G50jpbprio2xX3 B7jbfIp1wgJd5sVYHzUfWUHMaO7838g+YWuMFexqrTALgUtmoJJktM7KvV3WDDH++SU4pM JKmlAkLUx0HsuPJLF2Pt5pCNUrCS+e0TjvsxKhlFgHjYrhPZNhSX9Dkh2Xm7h8MCsOQzgF yMvPET/5I2ogt4LFpkyEpaZTAryKvr2o41SBxl3wYx1su1uwWGdyXtVSHxkSbttUTyLeGp AmOA+oE/lsK2V4i8K9T8udg09gb+rQdzH/oh0e6Gbfjaek+kLMieaG/jZY1/4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739283478; a=rsa-sha256; cv=none; b=GcdoQpj3CZMN+ZCbGR3R+PkEpkncfLQ3j+LqJfnP44r4ntnJVejOhAEzLgWB/00LLxp9IL EZ1kWwu/Xl62J+qsYPOFNKsZEl57z29Zbs9HTHKoSkILSTjASBbARN/0nTnCnYP6fiWAu2 kmLqxL6nWqsS5lfMW11qi+h8VjUbZKoBwnUUNFvIQWFz5cJeTW+wihWlhqjXTpZ2dNIySb ghD4FWyfVM6CowLiHcaLWdmn6MphV2pp0UUS8OENGVCnyHtobDt3aIsFi73KgvYO46yBsE 9EBhkszalvfRdPalpYrTqpRJW9oslGH1jrlN95PLGQlxIxsubgwW4jEneI3dwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysk7B4HGdz1fs; Tue, 11 Feb 2025 14:17: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 51BEHwhN060757; Tue, 11 Feb 2025 14:17:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BEHw86060754; Tue, 11 Feb 2025 14:17:58 GMT (envelope-from git) Date: Tue, 11 Feb 2025 14:17:58 GMT Message-Id: <202502111417.51BEHw86060754@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: 3a98d5701c7f - main - sys: Use gnu17 as the default C standard for 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3a98d5701c7f3b6e0933ddb0085ea8ec3fd30d25 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=3a98d5701c7f3b6e0933ddb0085ea8ec3fd30d25 commit 3a98d5701c7f3b6e0933ddb0085ea8ec3fd30d25 Author: Minsoo Choo AuthorDate: 2024-12-13 03:56:05 +0000 Commit: John Baldwin CommitDate: 2025-02-11 14:17:01 +0000 sys: Use gnu17 as the default C standard for the kernel Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D43239 --- 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 5d07a1d9ad3c..78a160e73cde 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -367,7 +367,7 @@ PHONY_NOTMAIN = afterdepend afterinstall all beforedepend beforeinstall \ .PHONY: ${PHONY_NOTMAIN} .NOTMAIN: ${PHONY_NOTMAIN} -CSTD?= gnu99 +CSTD?= gnu17 # c99/gnu99 is the minimum C standard version supported for kernel build .if ${CSTD} == "k&r" || ${CSTD} == "c89" || ${CSTD} == "c90" || \ From nobody Tue Feb 11 14:17: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 4Ysk795Zmqz5ndm0; Tue, 11 Feb 2025 14:17:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysk794sNQz4MBy; Tue, 11 Feb 2025 14:17:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9kkZlSFmtFpoeXzkTMUQQXs1aaiTbcEmAKVe0Okpi6s=; b=LyqtByNIIf4LTJbLbl2ICkpVSZKGy8W0k3EfWSZJ2mf1iwvag4YuNKBIPZewadRRhlWCUw BpnjhHdkRjCMPw2J+C4j+zLdtJ1CZYkLSiHAfFxS8HPZ54YBveq1ACLqQeuoz3jZmkfrmr 6jt8aQtYjPvCxy/WmPNpnx96N2EYT2kyhICNyAdfH2bSee2On5I9dID4hDDEJ0NNbYCKAM F2edKo1f7Y5yIidDN/lw1WWoAaX9OrrtXDaIv/VFI1K81S+2NnHsICBqpkv62s/Vs2lWzA DS0EgZAXj19UwBETbFf2DPXzOue/IHsKpK2u1qv3TY8DyQ7CX2JXINgYI461DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739283477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9kkZlSFmtFpoeXzkTMUQQXs1aaiTbcEmAKVe0Okpi6s=; b=toBE6riQ5kTEnz900NaXpluwp5eTwmqGNcCN5qhDn+6NE3YlufiW19/mZO7YsCDic4j1iw Q1c/E1VOwfk9pJF4aL1q2q7G3xCEoQYbOOu1zGubtwOs5f4wey5VbM42Apws55e9+ds4Ut 6xr7Xku3pTf93qHHkN69mMGdYOHYpkXXSOT9tsuiLe/K7hTJLt7L8u6dtStdKyJi5MZmQF LgNJnnAh4BaotKFGTs+eWHSRCJyh/EOivnO5dXrb6sKIgAAxqNfsFypynZJyuj+CvvazAT Imo2ISP5wQDfCUcrl2g1jaEGpfF+UiH6qp4dS4FdHb1TZleT0wKfq5lSsVborA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739283477; a=rsa-sha256; cv=none; b=FoI2O2yzqSh6Qp9rk3Uv66WsYLjRjb5n3Yq4ucM+fxkG2BWZDI/LnXZDfgEjTvZe9nmaC4 biVtNpWp4fEPx2uQLiCd5fWlL7+MsyQfwxXjvSL+HwCgOXIC7IApDrOU+EzP2LxtldJIYF Wdqh9HnBaQFlBwQcakzUYEb9CNZw4ZBzFLFbJJdi2d4zLWrBwYeu2sJkAUaeK7usWCX6vT hz2myhjZ3EcGKEKrq5vF575GucQQ0M4EXbyEKyRQhuZQbeaa0+8Ok5hL1Ui5a+9dfzku2A gvrXfeRbXvhip4d0HI6vjjigGfqfSJXjgl33Swq5IxacKzR8Cimg27xuYpmllA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysk7948L2z1rk; Tue, 11 Feb 2025 14:17: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 51BEHvXf060723; Tue, 11 Feb 2025 14:17:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BEHvPX060720; Tue, 11 Feb 2025 14:17:57 GMT (envelope-from git) Date: Tue, 11 Feb 2025 14:17:57 GMT Message-Id: <202502111417.51BEHvPX060720@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: ca4eddea97c5 - main - src: Use gnu17 as the default C standard for userland instead of gnu99 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ca4eddea97c54a567c25e0fcf4641a6885f33bdf Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ca4eddea97c54a567c25e0fcf4641a6885f33bdf commit ca4eddea97c54a567c25e0fcf4641a6885f33bdf Author: Minsoo Choo AuthorDate: 2025-01-09 16:13:06 +0000 Commit: John Baldwin CommitDate: 2025-02-11 14:16:25 +0000 src: Use gnu17 as the default C standard for userland instead of gnu99 Tracking newer versions of C (and C++) permits assuming newer language features in the base system. Some C11 extensions are already used in the base system but implemented on top of GNU C extensions such as _Alignas and _Static_assert. In some cases the fallback versions in cdefs.h are more limited than the native C11 extensions. Even though C11 is the next major version of C, C17 is chosen instead since C17 does not add new features to C but merely fixes defects in C11. It is also well supported by a wide range of clang (7.0.0+) and GCC (8.1+) versions. Along with changing the default, this change also removes explicit requests for c11 via the CSTD variable in various Makefiles. Libraries and binaries for ZFS continue to use c99. PR: 284039 (exp-run) Reviewed by: imp, arichardson, emaste Differential Revision: https://reviews.freebsd.org/D43237 --- libexec/tftpd/tests/Makefile | 1 - sbin/newfs_msdos/Makefile | 1 - share/mk/bsd.sys.mk | 3 +-- usr.bin/sort/Makefile | 1 - usr.bin/zstd/Makefile | 1 - usr.sbin/makefs/Makefile | 1 - 6 files changed, 1 insertion(+), 7 deletions(-) diff --git a/libexec/tftpd/tests/Makefile b/libexec/tftpd/tests/Makefile index 661120335ace..d1faca03331e 100644 --- a/libexec/tftpd/tests/Makefile +++ b/libexec/tftpd/tests/Makefile @@ -4,6 +4,5 @@ ATF_TESTS_C= functional TEST_METADATA.functional+= timeout=15 LIBADD= util -CSTD= c11 .include diff --git a/sbin/newfs_msdos/Makefile b/sbin/newfs_msdos/Makefile index a3ea6a6a6750..bd5b3486b6b6 100644 --- a/sbin/newfs_msdos/Makefile +++ b/sbin/newfs_msdos/Makefile @@ -9,7 +9,6 @@ SRCS= newfs_msdos.c mkfs_msdos.c .if ${MACHINE_CPUARCH} == "arm" WARNS?= 3 .endif -CSTD= c11 HAS_TESTS= SUBDIR.${MK_TESTS}+= tests diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index c136bf1e1aff..63496e9b8ccd 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -10,8 +10,7 @@ .include -# the default is gnu99 for now -CSTD?= gnu99 +CSTD?= gnu17 .if ${CSTD} == "c89" || ${CSTD} == "c90" CFLAGS+= -std=iso9899:1990 diff --git a/usr.bin/sort/Makefile b/usr.bin/sort/Makefile index 561af217af79..46cc431edd31 100644 --- a/usr.bin/sort/Makefile +++ b/usr.bin/sort/Makefile @@ -3,7 +3,6 @@ PACKAGE= runtime PROG= sort SRCS= bwstring.c coll.c file.c mem.c radixsort.c sort.c vsort.c -CSTD= c11 sort.1: sort.1.in sed ${MAN_SUB} ${.ALLSRC} >${.TARGET} diff --git a/usr.bin/zstd/Makefile b/usr.bin/zstd/Makefile index dd54acbf83cd..0e73e2eb0dd2 100644 --- a/usr.bin/zstd/Makefile +++ b/usr.bin/zstd/Makefile @@ -25,7 +25,6 @@ MLINKS= zstd.1 unzstd.1 \ zstd.1 zstdcat.1 \ zstd.1 zstdmt.1 -CSTD=c11 WARNS?= 2 LIBADD= zstd .PATH: ${SRCTOP}/sys/contrib/zstd/programs diff --git a/usr.sbin/makefs/Makefile b/usr.sbin/makefs/Makefile index 75733714fcc2..47a41cfac813 100644 --- a/usr.sbin/makefs/Makefile +++ b/usr.sbin/makefs/Makefile @@ -15,7 +15,6 @@ SRCS= cd9660.c \ MAN= makefs.8 NO_WCAST_ALIGN= -CSTD= c11 .if ${MK_ZFS} != "no" SRCS+= zfs.c From nobody Tue Feb 11 17:03: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 4YsnpJ0vQbz5nrp4; Tue, 11 Feb 2025 17:03:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsnpH4K8nz3F3c; Tue, 11 Feb 2025 17:03:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739293415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Aup3SZMlM06G7Mir10rIKDdftmiKHu2mHHlYjVIKjM=; b=mPSwNbjnsqNjNEV6xwCLiScX2pBvxEGlZ+mhMgBdpfOHEkDkaju6PSBt2KZwRkZOjQX4Ut cytNKdDTLCBVNrzGWshesfLOAw0A0OpoVsjw0Z4CACVFchVohLnwwBKFdq47h6WSmP4cmv 6Gx2eGZXT8gDA43W76n3WcHfK0ZIUzXgHNnF0yY19v4lalmm2FGMnW0/UfHOwiUVnkIccB nrF07oxnoecNdOyypyjz1dfG7JPbO+3i5c9MeY6Xrnz0HcWFDnbpkYe4iVxBCDpnnzgCTc r0w01kNW5ikG1LxoAITebg7+CaHorUTrtgvG1vTFT7XGMjs6v2ccgcrdzCLfgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739293415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Aup3SZMlM06G7Mir10rIKDdftmiKHu2mHHlYjVIKjM=; b=H/tVABkcDEjOijL9qXpqkhxFQWQ0D1dZlmFwIarE1cNLcWKGpqaTcvfHEE2NRtvNncopDn MLdM0x2G5iyqkXbx1Tf33yknZ6HThoWpfIJwsjYonBwjHQgJbVTllcD9Yjt8rbZPVX8qWD D9Wd37z2uoGdpr++Se0VF8+FSTZs/4pXGDsk8JdIMz3MJjEPe7+MD8IAKYhPmKNK6NwphM TYuL7CkbDldV+7Jk6yaYdgzqR+6W1qfWwXkVboKiFxPpNb+arxF/MLzL0n9M3Mqfzv64vV 8hWy/qI/7lqJqqGMjXUjJi5uG4xUIvmnxhvrKMldrBt/rvoF0gSROiv41MdLDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739293415; a=rsa-sha256; cv=none; b=DmSoXZyIT1H5RIIUphbWCHYJfZJHcNnBllT/y7pPnWJ9Li+z+/ZwNvu+KDvJ1qU0sweFYv NBF0+42D9QYZflHUJ5RNyqHtJxM11jI+YaQDBNcH/2JI30pXPz5WWGccpbVZ1HMN0tU5E2 HZ4zxe3nX4M1l6wlto9BgU6vJbecMm+6p1zldhhVkfm1R03mrqzuL6x6K7FpfNpsWfy9oN Ui+gbriLoj9PLdpIsvuOpRWdlUG6TsNclx7kmicohOH0aQrEJA+MxfGGvRinrDJxtRX7sH loMIMIGd3ZGEPTjwja1cGFxaZhEwgiOywsbCMMinfu6IgXOC5Am0HyEgO1L13Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsnpH3wZmz5mT; Tue, 11 Feb 2025 17:03: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 51BH3ZeY078078; Tue, 11 Feb 2025 17:03:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BH3Zsf078075; Tue, 11 Feb 2025 17:03:35 GMT (envelope-from git) Date: Tue, 11 Feb 2025 17:03:35 GMT Message-Id: <202502111703.51BH3Zsf078075@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: e295e0b8cfd3 - main - tests: Add scapy as a required program List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e295e0b8cfd34017dbaf5ccc908d3e9bbd505e62 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=e295e0b8cfd34017dbaf5ccc908d3e9bbd505e62 commit e295e0b8cfd34017dbaf5ccc908d3e9bbd505e62 Author: Jose Luis Duran AuthorDate: 2025-02-11 16:59:51 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-11 16:59:51 +0000 tests: Add scapy as a required program The utils.subr file includes a couple of subroutines (ping_dummy_check_request and ping_server_check_reply) that require scapy. Add this requirement in the header of each test that makes use of them. Reported by: Jenkins Reviewed by: kp, ngie Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D48917 --- tests/sys/netpfil/pf/fragmentation_pass.sh | 3 +++ tests/sys/netpfil/pf/max_states.sh | 1 + tests/sys/netpfil/pf/route_to.sh | 3 +++ tests/sys/netpfil/pf/src_track.sh | 2 ++ 4 files changed, 9 insertions(+) diff --git a/tests/sys/netpfil/pf/fragmentation_pass.sh b/tests/sys/netpfil/pf/fragmentation_pass.sh index 4e0665094ae6..e72b065b77bb 100644 --- a/tests/sys/netpfil/pf/fragmentation_pass.sh +++ b/tests/sys/netpfil/pf/fragmentation_pass.sh @@ -443,6 +443,7 @@ no_df_head() { atf_set descr 'Test removing of DF flag' atf_set require.user root + atf_set require.progs scapy } no_df_body() @@ -481,6 +482,7 @@ reassemble_slowpath_head() { atf_set descr 'Test reassembly on the slow path' atf_set require.user root + atf_set require.progs scapy } reassemble_slowpath_body() @@ -609,6 +611,7 @@ dummynet_fragmented_head() { atf_set descr 'Test dummynet on NATed fragmented traffic' atf_set require.user root + atf_set require.progs scapy } dummynet_fragmented_body() diff --git a/tests/sys/netpfil/pf/max_states.sh b/tests/sys/netpfil/pf/max_states.sh index 03142eeaffa6..3548d838e3a6 100755 --- a/tests/sys/netpfil/pf/max_states.sh +++ b/tests/sys/netpfil/pf/max_states.sh @@ -31,6 +31,7 @@ max_states_head() { atf_set descr 'Max states per rule' atf_set require.user root + atf_set require.progs scapy } max_states_body() diff --git a/tests/sys/netpfil/pf/route_to.sh b/tests/sys/netpfil/pf/route_to.sh index 305ca4c8eddd..06a320f5fac2 100644 --- a/tests/sys/netpfil/pf/route_to.sh +++ b/tests/sys/netpfil/pf/route_to.sh @@ -516,6 +516,7 @@ ifbound_reply_to_head() { atf_set descr 'Test that reply-to states bind to the expected interface' atf_set require.user root + atf_set require.progs scapy } ifbound_reply_to_body() @@ -571,6 +572,7 @@ ifbound_reply_to_v6_head() { atf_set descr 'Test that reply-to states bind to the expected interface for IPv6' atf_set require.user root + atf_set require.progs scapy } ifbound_reply_to_v6_body() @@ -630,6 +632,7 @@ ifbound_reply_to_rdr_dummynet_head() { atf_set descr 'Test that reply-to states bind to the expected non-default-route interface after rdr and dummynet' atf_set require.user root + atf_set require.progs scapy } ifbound_reply_to_rdr_dummynet_body() diff --git a/tests/sys/netpfil/pf/src_track.sh b/tests/sys/netpfil/pf/src_track.sh index 620f1353f9fe..e8873d1dc750 100755 --- a/tests/sys/netpfil/pf/src_track.sh +++ b/tests/sys/netpfil/pf/src_track.sh @@ -132,6 +132,7 @@ max_src_conn_rule_head() { atf_set descr 'Max connections per source per rule' atf_set require.user root + atf_set require.progs scapy } max_src_conn_rule_body() @@ -191,6 +192,7 @@ max_src_states_rule_head() { atf_set descr 'Max states per source per rule' atf_set require.user root + atf_set require.progs scapy } max_src_states_rule_body() From nobody Tue Feb 11 17:45: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 4Yspkw1Rprz5mQVm; Tue, 11 Feb 2025 17:45:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yspkw08fSz3Vj9; Tue, 11 Feb 2025 17:45:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739295944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2t+bG9vDTFLcpjCGv/WEGCDdUbp1UMLjOsD/aQMd5NM=; b=m0ZYgHlZNqM2gAYiVCqf9tT9b5GJTNxgMG/j2n5kM5h+dbEke1W3++iLr2Ytt1prl50Dpb D3w73Q4pmad92bTIrNmC5bjpolwLe1Xx/4np6psZuKH+HUGlS5mN4rvVUCrg62ajOP/r4E 05j/J04VDNN2YuTzsX7TiyCAH0sdokuRMqCG11rVeUERDaLzvxF2JFbY4wjCWG8575ndfs uBLdZMkGw57BENzRBGsCwfSv8GuqtGRPmLT3iti2XXHR/7X9+9p8+yACRq8QY1JoMcjXU0 o+qTM7fV2JG6HIFDzabmmwawrgswSvC6x9PPSzg7fzSNjHfz3lpTIbbgf1AeJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739295944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2t+bG9vDTFLcpjCGv/WEGCDdUbp1UMLjOsD/aQMd5NM=; b=cICiA7BW8hHy46ds94pUQF32B/WH75yQKiAjToxTBIaUJ2mEF76pnQ2Imjf/NMo2tdZrlu orGuyuwFIqkooO52h7cqIrltUdlZQgcCnaoo5H/IQhtQDZukNICFztx2hWhoNHq9V0jTF5 0mBNOYcPDD/cFnat1avdDRdH1S25HTO5XWIulmLf7K0cpFc4v6JlMvkg0WECTZEa/Apgfo rc6mFi0GDPgowWMkrBhjUNngKAr1HPoNi5csVIV2CX0owkbo2YYYpey9rhXZFqCjyNCTgy ywkC1u0SyNVVtTLd3Mho0k6NJIpgNVR0sip25Szu668biRt/sjiYT/Tcwmpsmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739295944; a=rsa-sha256; cv=none; b=JVK8QiXuZBvyE+Q267yTavjWbPOfFeJlHVtHqtfX9qOA7skyWv61Zy8qe7Q9v0Fs5gNLmx +Qtitz+XqGEcZnYj8ZqT8TZ4K/+0ij1NyBtc6uCACtAjxFKFY1fGKmGF2MLLAWEN6uuezK aa9O/HsmPkqEHtLeKng2MkQZXeGPc5JuQUARmJWRL5qaICsv9fgO0+TQq50qVigdji0+b9 7otjYtFBKrzd5/7haPROm8+EdBNwGZWJcKvBBfEZctDef2a+q9JVckCyLWJk3X1TmT2+i7 7zC9OiR3UWV8qYjOMVukH2Ir94sgSazs/p6Wx3ON0L5f0Fc+TX4yXd7GjiKCXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yspkv6Svqz62N; Tue, 11 Feb 2025 17:45: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 51BHjheG052936; Tue, 11 Feb 2025 17:45:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BHjhbV052933; Tue, 11 Feb 2025 17:45:43 GMT (envelope-from git) Date: Tue, 11 Feb 2025 17:45:43 GMT Message-Id: <202502111745.51BHjhbV052933@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Simon J. Gerraty" Subject: git: e9c2838d93ca - main - Add newlog.sh and setops.sh to share/mk List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sjg X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e9c2838d93cab8098e333a32990d75439dc84359 Auto-Submitted: auto-generated The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=e9c2838d93cab8098e333a32990d75439dc84359 commit e9c2838d93cab8098e333a32990d75439dc84359 Author: Simon J. Gerraty AuthorDate: 2025-02-11 17:42:17 +0000 Commit: Simon J. Gerraty CommitDate: 2025-02-11 17:42:17 +0000 Add newlog.sh and setops.sh to share/mk jobs.mk makes use of newlog.sh if found. Set NEWLOG_SH in local.sys.env.mk to save jobs.mk searching for it. PR: 284390 Reviewed by: stevek Differential Revision: https://reviews.freebsd.org/D48737 --- share/mk/Makefile | 7 +++++++ share/mk/local.sys.env.mk | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/share/mk/Makefile b/share/mk/Makefile index 737b11d5a0f2..ec9af16d24c3 100644 --- a/share/mk/Makefile +++ b/share/mk/Makefile @@ -69,8 +69,10 @@ FILES= \ meta.sys.mk \ meta2deps.py \ meta2deps.sh \ + ${SRCTOP}/contrib/bmake/mk/newlog.sh \ ${SRCTOP}/contrib/bmake/mk/posix.mk \ stage-install.sh \ + ${SRCTOP}/contrib/bmake/mk/setopts.sh \ sys.mk \ sys.dependfile.mk \ sys.dirdeps.mk \ @@ -78,6 +80,11 @@ FILES= \ FILESDIR= ${BINDIR}/mk +# make sure scripts are executable +.for file in ${FILES:M*.sh} ${FILES:M*.py} +FILESMODE_${file} = 555 +.endfor + .if ${MK_TESTS} != "no" FILES+= atf.test.mk FILES+= googletest.test.inc.mk diff --git a/share/mk/local.sys.env.mk b/share/mk/local.sys.env.mk index 71a46f122bf4..470c2d8559eb 100644 --- a/share/mk/local.sys.env.mk +++ b/share/mk/local.sys.env.mk @@ -43,6 +43,12 @@ TIME_STAMP_END?= ${TIME_STAMP_DATE} # error spam and show a proper error. Mkdirs= Mkdirs() { mkdir -p $$* || :; } +# jobs.mk wants this +.if empty(NEWLOG_SH) +NEWLOG_SH:= ${SRCTOP}/contrib/bmake/mk/newlog.sh +.export NEWLOG_SH +.endif + .if !empty(.MAKEFLAGS:M-s) ECHO_TRACE?= true .endif From nobody Tue Feb 11 18:23: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 4YsqZw5qYXz5mTqS; Tue, 11 Feb 2025 18:23:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsqZw3L61z3mJy; Tue, 11 Feb 2025 18:23:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739298232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4txCab7ID7ay/I28JkQF8TlVqqHnssVaAE16NgjTfMk=; b=BFn9Jl5ufEDaBQcr/akD6c9LnerSqEfMUC3OVwRs+GWP6BFkob9lvFyUJ4TsqnVxdtUU1b nBGt64uxZ01ONtUmZ6sDpX0fHTDRhuH3EGGWWVcuAO8ApJIHOvmeiFGqged0Nb9HfHLMSF yuEcCaIIQGioerqkHwkfvTMJI7uemG2lzZNJLfbS6x7Z6wzFbAr2K/QkzMpP7a5ef7HwH7 Gn552oNs2SnrJyhFnHeCnyrBs5DQ6NzNpPNjao6daGuQmy0wtcX20wCp0dV6QfuIFjmlRv ho+DFmJ8ybBl55c8unMqZQG09pPzGdZBkPjwYQdbOay0hc4xyEAGQsBetXfUDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739298232; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4txCab7ID7ay/I28JkQF8TlVqqHnssVaAE16NgjTfMk=; b=g+zljowqF70QLFhZiX42odfDR6i+F9r2m1tP+U4UdMaCEpj4ykv57A68YY88C1PmQTL3O8 I6DiovS3NVn29BDhOp2xhHf5RKPSmZH0wa+a0NbPYG4kpiT3qbQaXRxMf+AOJtXHVXu1dI okvHBnwfkpgH7gRYT/qWKipyy5oaVewlA/AIlDlSBjm06UCeQakmCaQ3Ga5/JPg97zuHjA 55b5FmpQCY5mHvC7TQ3E4EH/+HgQ01guDBDph0aMopp1l2x1+tXlhZPsJhKV+eIrwKe96p 7R0CQbMxXiPW/Vr/oR5G6+sUeTwIaZwKrtmHjf8t7ekNoB63oq7z/fZc2O2+Mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739298232; a=rsa-sha256; cv=none; b=mC/W/7ck4Ag0YA3/ylyJHlev9wTmJhSaDuM5XAiLDeQOrAzJTJqr4dRiq7xpzyr927fCWX zRDv1FBhpuvYpy8p5MOU7f2nJTDOFHotRnmsoclgg3T7pHS2zfaCthKPmVDOaLNGkHHYlf xIdbySrDmng164He7980ivxSb+FwCJ9BBjqeyJhcmvSbiJfe7fMhCmetp6/gRGjLs+B+pr dkkyoJ3CzD5hjmt3ZehKix8k6p5bFrhPS8uFQ2NlIpLstRGSbJv2iJMvbycU8XgQtcw+Ew AI8mb1jbRRQc054uHFXU1FsGTA+pYri9uwY0m28krnqh4/9pjSmaHxY3V+5gcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsqZw2jr9z7nf; Tue, 11 Feb 2025 18:23: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 51BINqLO027224; Tue, 11 Feb 2025 18:23:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BINqF6027221; Tue, 11 Feb 2025 18:23:52 GMT (envelope-from git) Date: Tue, 11 Feb 2025 18:23:52 GMT Message-Id: <202502111823.51BINqF6027221@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: 01a46c7dc002 - main - sockstat: use bool for flags List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 01a46c7dc002bb4d2a35bdcebf0ed194846bfe01 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=01a46c7dc002bb4d2a35bdcebf0ed194846bfe01 commit 01a46c7dc002bb4d2a35bdcebf0ed194846bfe01 Author: Gleb Smirnoff AuthorDate: 2025-02-11 18:23:15 +0000 Commit: Gleb Smirnoff CommitDate: 2025-02-11 18:23:15 +0000 sockstat: use bool for flags No functional change. --- usr.bin/sockstat/sockstat.c | 75 +++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/usr.bin/sockstat/sockstat.c b/usr.bin/sockstat/sockstat.c index 3347978c8b47..6283f600b322 100644 --- a/usr.bin/sockstat/sockstat.c +++ b/usr.bin/sockstat/sockstat.c @@ -62,6 +62,7 @@ #include #include #include +#include #include #include #include @@ -78,24 +79,24 @@ #define sstosun(ss) ((struct sockaddr_un *)(ss)) #define sstosa(ss) ((struct sockaddr *)(ss)) -static int opt_4; /* Show IPv4 sockets */ -static int opt_6; /* Show IPv6 sockets */ -static int opt_C; /* Show congestion control */ -static int opt_c; /* Show connected sockets */ -static int opt_f; /* Show FIB numbers */ -static int opt_I; /* Show spliced socket addresses */ -static int opt_i; /* Show inp_gencnt */ +static bool opt_4; /* Show IPv4 sockets */ +static bool opt_6; /* Show IPv6 sockets */ +static bool opt_C; /* Show congestion control */ +static bool opt_c; /* Show connected sockets */ +static bool opt_f; /* Show FIB numbers */ +static bool opt_I; /* Show spliced socket addresses */ +static bool opt_i; /* Show inp_gencnt */ static int opt_j; /* Show specified jail */ -static int opt_L; /* Don't show IPv4 or IPv6 loopback sockets */ -static int opt_l; /* Show listening sockets */ -static int opt_n; /* Don't resolve UIDs to user names */ -static int opt_q; /* Don't show header */ -static int opt_S; /* Show protocol stack if applicable */ -static int opt_s; /* Show protocol state if applicable */ -static int opt_U; /* Show remote UDP encapsulation port number */ -static int opt_u; /* Show Unix domain sockets */ -static int opt_v; /* Verbose mode */ -static int opt_w; /* Wide print area for addresses */ +static bool opt_L; /* Don't show IPv4 or IPv6 loopback sockets */ +static bool opt_l; /* Show listening sockets */ +static bool opt_n; /* Don't resolve UIDs to user names */ +static bool opt_q; /* Don't show header */ +static bool opt_S; /* Show protocol stack if applicable */ +static bool opt_s; /* Show protocol state if applicable */ +static bool opt_U; /* Show remote UDP encapsulation port number */ +static bool opt_u; /* Show Unix domain sockets */ +static u_int opt_v; /* Verbose mode */ +static bool opt_w; /* Wide print area for addresses */ /* * Default protocols to use if no -P was defined. @@ -1340,7 +1341,7 @@ display(void) struct sock *s; int n, pos; - if (opt_q != 1) { + if (!opt_q) { printf("%-8s %-10s %-5s %-3s %-6s %-*s %-*s", "USER", "COMMAND", "PID", "FD", "PROTO", opt_w ? 45 : 21, "LOCAL ADDRESS", @@ -1493,25 +1494,25 @@ main(int argc, char *argv[]) while ((o = getopt(argc, argv, "46CcfIij:Llnp:P:qSsUuvw")) != -1) switch (o) { case '4': - opt_4 = 1; + opt_4 = true; break; case '6': - opt_6 = 1; + opt_6 = true; break; case 'C': - opt_C = 1; + opt_C = true; break; case 'c': - opt_c = 1; + opt_c = true; break; case 'f': - opt_f = 1; + opt_f = true; break; case 'I': - opt_I = 1; + opt_I = true; break; case 'i': - opt_i = 1; + opt_i = true; break; case 'j': opt_j = jail_getid(optarg); @@ -1519,13 +1520,13 @@ main(int argc, char *argv[]) errx(1, "jail_getid: %s", jail_errmsg); break; case 'L': - opt_L = 1; + opt_L = true; break; case 'l': - opt_l = 1; + opt_l = true; break; case 'n': - opt_n = 1; + opt_n = true; break; case 'p': parse_ports(optarg); @@ -1534,25 +1535,25 @@ main(int argc, char *argv[]) protos_defined = parse_protos(optarg); break; case 'q': - opt_q = 1; + opt_q = true; break; case 'S': - opt_S = 1; + opt_S = true; break; case 's': - opt_s = 1; + opt_s = true; break; case 'U': - opt_U = 1; + opt_U = true; break; case 'u': - opt_u = 1; + opt_u = true; break; case 'v': ++opt_v; break; case 'w': - opt_w = 1; + opt_w = true; break; default: usage(); @@ -1608,13 +1609,13 @@ main(int argc, char *argv[]) err(1, "Unable to apply pwd commands limits"); if ((!opt_4 && !opt_6) && protos_defined != -1) - opt_4 = opt_6 = 1; + opt_4 = opt_6 = true; if (!opt_4 && !opt_6 && !opt_u) - opt_4 = opt_6 = opt_u = 1; + opt_4 = opt_6 = opt_u = true; if ((opt_4 || opt_6) && protos_defined == -1) protos_defined = set_default_protos(); if (!opt_c && !opt_l) - opt_c = opt_l = 1; + opt_c = opt_l = true; if (opt_4 || opt_6) { for (i = 0; i < protos_defined; i++) From nobody Tue Feb 11 18:23:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YsqZx5shgz5mTkP; Tue, 11 Feb 2025 18:23:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsqZx43Zdz3mVf; Tue, 11 Feb 2025 18:23:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739298233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjlWAX42yg0HTpwWErvUPHB4mkc/v+K27r0FuanJlRE=; b=QrvyMet5JSs67CjcJ8sJUBMQeMD5iA+4ZwLbIASRgOFwyMyprN5Bg/pPka1vNWHiCK1Ubm 0FyOdDbrJi7GPQTXC1YQvg3gWEquVeMppeZyzeLYIBkeZmM6X/w2caOnQafSbsA+lJVKa5 wD4yOXpeU+RXMYouED9tJ0NPFWxK35aqmsK7WfOUwAcZUHXKVuweFjuKdk1l9rDObj80vm TQo/f4IRbDfx0Sh/TNXwZ7IksVAfT46lSOnzZj3ZKpl/AP6etYvGKb5CE6G+UWPHsubL+M DNGyv6/O2U3+2RKZrco+xBb7KlRS1Lfz2L0uAuuw0hKZHvdK03Ca+EkX8F92UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739298233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KjlWAX42yg0HTpwWErvUPHB4mkc/v+K27r0FuanJlRE=; b=Dr67kQIHW0ke9p9sDb/HqBXoBISKR8RGuyEgqpbPnNpO5DrXKcHzEue9LFfgmUgGGiFwB0 3F/9VBgjrHnT4GxJb8h9IoftcjsF8IJF+pcdoLVQQ4x4EJfrm4Aome73gHlwVmtFxas8tB qZ/AYI4GMTRcQP8TNo59H6TUc4O7JOc86rk6x6xUvtmXDDSt31WkkxY77dL3bxmf6MLKRv JPrzr7qc2yFwLcdc3oMd4GFrlHxcEDplmqAjnzR6hAkuM/KH1aSfZ8q9UkOv/+HhE8tsWl OMl55DxCwRiF5++h+cZhbuI8HEKyxZxWXXmUN0jvfZVmeFUAzGfAVdCUOaxOqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739298233; a=rsa-sha256; cv=none; b=RHaDMc3NIY5ve8ZuhegxUHaiCUe71c5cIzX2uentpH2IzZx9ne9ViXZYGcX7JLKupz6Zlw Eff3vVS+TZ3iLrDQYYq0F0BJWF9cL7OuCXiLzqUUnLVJj0OTIGb9Hqz0NKNIwsFylgq/e0 +MeEcVw6H8idJsaCE51bV0QKoFhqhFqU9KpbsLJND08qda782S0rNbAkBfgi3DzHuKboJ9 z8fZgAWgz1vJQdMLz1x5nWJrfEmJLvEtZr810yImtyVko2NZNCV4qx+SHvPElDsP6zI0aX smL8Ze7HtNrbvC9FlpMfgdpz1N5Ew1FbU7/2QGMs0Jq8bgb3d80rCUjPF/iLKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsqZx3fknz8WT; Tue, 11 Feb 2025 18:23:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51BINr1F027271; Tue, 11 Feb 2025 18:23:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BINrMw027268; Tue, 11 Feb 2025 18:23:53 GMT (envelope-from git) Date: Tue, 11 Feb 2025 18:23:53 GMT Message-Id: <202502111823.51BINrMw027268@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: 9f55128fecb5 - main - sockstat: with -A print pcb addresses, just like netstat(1) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 9f55128fecb5b5eb8e8fffa5b65d38255762d176 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=9f55128fecb5b5eb8e8fffa5b65d38255762d176 commit 9f55128fecb5b5eb8e8fffa5b65d38255762d176 Author: Gleb Smirnoff AuthorDate: 2025-02-11 18:23:15 +0000 Commit: Gleb Smirnoff CommitDate: 2025-02-11 18:23:15 +0000 sockstat: with -A print pcb addresses, just like netstat(1) --- usr.bin/sockstat/sockstat.1 | 7 +++++-- usr.bin/sockstat/sockstat.c | 20 +++++++++++++++----- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/usr.bin/sockstat/sockstat.1 b/usr.bin/sockstat/sockstat.1 index ca486a088b13..b13c6afdd9c0 100644 --- a/usr.bin/sockstat/sockstat.1 +++ b/usr.bin/sockstat/sockstat.1 @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd October 15, 2024 +.Dd February 6, 2025 .Dt SOCKSTAT 1 .Os .Sh NAME @@ -33,7 +33,7 @@ .Nd list open sockets .Sh SYNOPSIS .Nm -.Op Fl 46CcfIiLlnqSsUuvw +.Op Fl 46ACcfIiLlnqSsUuvw .Op Fl j Ar jail .Op Fl p Ar ports .Op Fl P Ar protocols @@ -54,6 +54,9 @@ Show Show .Dv AF_INET6 (IPv6) sockets. +.It Fl A +Show the address of a protocol control block (PCB) associated with a socket; +used for debugging. .It Fl C Display the congestion control module, if applicable. This is currently only implemented for TCP. diff --git a/usr.bin/sockstat/sockstat.c b/usr.bin/sockstat/sockstat.c index 6283f600b322..e1a52c57b3d1 100644 --- a/usr.bin/sockstat/sockstat.c +++ b/usr.bin/sockstat/sockstat.c @@ -81,6 +81,7 @@ static bool opt_4; /* Show IPv4 sockets */ static bool opt_6; /* Show IPv6 sockets */ +static bool opt_A; /* Show kernel address of pcb */ static bool opt_C; /* Show congestion control */ static bool opt_c; /* Show connected sockets */ static bool opt_f; /* Show FIB numbers */ @@ -771,6 +772,7 @@ gather_inet(int proto) if ((faddr = calloc(1, sizeof *faddr)) == NULL) err(1, "malloc()"); sock->socket = so->xso_so; + sock->pcb = so->so_pcb; sock->splice_socket = so->so_splice_so; sock->proto = proto; sock->inp_gencnt = xip->inp_gencnt; @@ -1206,10 +1208,13 @@ displaysock(struct sock *s, int pos) default: abort(); } + while (pos < offset) + pos += xprintf(" "); + if (opt_A) { + pos += xprintf("0x%16lx", s->pcb); + offset += 18; + } if (opt_f) { - do - pos += xprintf(" "); - while (pos < offset); pos += xprintf("%d", s->fibnum); offset += 7; } @@ -1346,6 +1351,8 @@ display(void) "USER", "COMMAND", "PID", "FD", "PROTO", opt_w ? 45 : 21, "LOCAL ADDRESS", opt_w ? 45 : 21, "FOREIGN ADDRESS"); + if (opt_A) + printf(" %-18s", "PCB KVA"); if (opt_f) /* RT_MAXFIBS is 65535. */ printf(" %-6s", "FIB"); @@ -1477,7 +1484,7 @@ static void usage(void) { errx(1, - "usage: sockstat [-46CcfIiLlnqSsUuvw] [-j jid] [-p ports] [-P protocols]"); + "usage: sockstat [-46ACcfIiLlnqSsUuvw] [-j jid] [-p ports] [-P protocols]"); } int @@ -1491,7 +1498,7 @@ main(int argc, char *argv[]) int o, i; opt_j = -1; - while ((o = getopt(argc, argv, "46CcfIij:Llnp:P:qSsUuvw")) != -1) + while ((o = getopt(argc, argv, "46ACcfIij:Llnp:P:qSsUuvw")) != -1) switch (o) { case '4': opt_4 = true; @@ -1499,6 +1506,9 @@ main(int argc, char *argv[]) case '6': opt_6 = true; break; + case 'A': + opt_A = true; + break; case 'C': opt_C = true; break; From nobody Tue Feb 11 19:08: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 4YsrZ7143Cz5mY6H; Tue, 11 Feb 2025 19:08:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YsrZ62ZyNz47Nm; Tue, 11 Feb 2025 19:08:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739300894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MjPr4nxPXpUXOENxLdqyfEcMBQyKrvmg7yV2qd2JUCI=; b=TTR387nG9ocQjVvyJItZx6TltxG0x45V7vI/pW/W9z2IR1YWx2AjYx4hq3ysEftb9xVR1u DT6kzLnMDDVHSeSGzS0k3IFpStk12MUugZrddR0klpAPt1mN019EKGsx58vfLRjzAFfm2Z pJq9FusNDOsTJLHiIp9kHm5ORGSmDiIwqkSs1AR9//Gk3fdaZ4a0Irl6xnlG9uhUE5LVla uIJm6ONVolMv8yuhBP91NWEUmrYSzlypu7Y4/RQ5EopaaIRRzLI6FD3GkbHMyo893hzu1a b9/yb8syrl4mBDGLKRRgcoxTjhrSW4+CygMZ91PHE+1HmV/Ia4APPlhe7IC7ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739300894; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MjPr4nxPXpUXOENxLdqyfEcMBQyKrvmg7yV2qd2JUCI=; b=s6ktP7Tj9A2s/PifVVHxr2P3Q/UkEu5YqM46/S7/+XoISxUE65ap6elUvjZYQr1HcQCkHj iqtzaQvp6sCucB2vB9qbCMIVQy7Tj6/wbfVixltFNYDAzjpKhmWtUuIUYTyyKWbG66BvQj y/Jbz8iwjGcf0xNZFwwfJA1DcS89QUFWia+EnlSWL2j+ubbCmM2LGw5mb2cBvf0G1Pp6M7 ZSTrRxC0f+aVxuz4LGewBdzYhZhnGjcAXFT5KCgBco+W0BGT96JmsCspMBnL9A3/iYsAj0 7x7u10ieoVcgnquqxKHDS6f8Tnujc0EwdVy6Bb0lVqrVIuYz3wz7m7WJmVUQtQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739300894; a=rsa-sha256; cv=none; b=d/2O/Qct9hbp02yFLIVNK1r6k/dEyno5j0yH1FUIezXsXPWTXqW1mydP/rzkFGLiK25+hd +h9n2qARBNyb1V6BRzwqcvwjPXSHa8EPLCTcwZFiMcHf5J6JHFz86eBTRJaGFW+w677COY VCkrrKBO+IrPhL6awdi8ldrn7/ipI5MLKmQ7CQILAHDR2eq4Komqbh9SxcImYv1v4a0rQ6 oyif6w+F/tPZVdldfKSOrXDjyw2UZA20/yLXGggICvWsERbJZcly12rZgbLdZWSFsKR9ci zGZKjQuma84BkU/Z+FpzxKxvY8ZKJSDGkVUZzflVhuoviEvk9wmxebi+c0G0MA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YsrZ62BvTz9RZ; Tue, 11 Feb 2025 19:08:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51BJ8EdY004582; Tue, 11 Feb 2025 19:08:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BJ8E2c004579; Tue, 11 Feb 2025 19:08:14 GMT (envelope-from git) Date: Tue, 11 Feb 2025 19:08:14 GMT Message-Id: <202502111908.51BJ8E2c004579@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: 1b2636e535ed - main - tests/unix_stream: fix signedness error List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 1b2636e535edf10c4da0dda5a8b538be8e9358bd Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=1b2636e535edf10c4da0dda5a8b538be8e9358bd commit 1b2636e535edf10c4da0dda5a8b538be8e9358bd Author: Gleb Smirnoff AuthorDate: 2025-02-11 19:07:41 +0000 Commit: Gleb Smirnoff CommitDate: 2025-02-11 19:07:41 +0000 tests/unix_stream: fix signedness error Fixes: bc7ee0b52a8dd613711c7225244aac954b41e534 --- tests/sys/kern/unix_stream.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/kern/unix_stream.c b/tests/sys/kern/unix_stream.c index 49aabdaa0943..d93bbeff4e41 100644 --- a/tests/sys/kern/unix_stream.c +++ b/tests/sys/kern/unix_stream.c @@ -153,7 +153,7 @@ ATF_TC_BODY(full_not_writable, tc) check_writable(sv[0], 0); /* Read some data and re-check. */ - ATF_REQUIRE(read(sv[1], buf, sendspace / 2) == sendspace / 2); + ATF_REQUIRE(read(sv[1], buf, sendspace / 2) == (ssize_t)sendspace / 2); check_writable(sv[0], 1); From nobody Tue Feb 11 20:13:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yst1P1prfz5mfJY; Tue, 11 Feb 2025 20:13:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yst1P0xfpz3hMK; Tue, 11 Feb 2025 20:13:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739304809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g/OVY58lI6xrcQOq7QgiLA0kHxyPNiVta1076uwul0Y=; b=RCi7qIMKZtdrYnAXcTij1qx7Rb8vdnribGklch1FgZmgHOWIxaSF5dL5bQ+q2vfRp95kU9 T8XPUskvqh6J3Qb+ymEgDapXBG0e/cDRCemJaj80taYOAIYIRN+8gYGQCTA8woZwJzdu2P NdPonM5jlsLwb5FOvfY/mHz5Gse92UnpgYplzHoJDhdHyE/eidwCU0loLvONgnYwe/w6Pr dCsiIPtGv9AljQpaoBI+zVrCGxOYlkp2lG2f39TOWcbR/jlUvMjru8fwBskXhpEcsHz1j1 5lgy+SIat8QaJ157BMn7XCgdVaat+WHuTxLi+6yoDiEThXdzcvBhsdoAUWHt+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739304809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g/OVY58lI6xrcQOq7QgiLA0kHxyPNiVta1076uwul0Y=; b=jJy5sfBugsVU6edlfTynDV2KZ0DFYRcESfJM173m5tDcGHcgaO4E7/0BaLrPfTtd7dmCXM PJ/5whJJeZsBXrxbRkss5jgbpChYqXyMQRSWxVIUujZdemYp3U2kVjURQlHoslgTg+kbCl arbCkpTts2ZMYa3DxLsujJbdFnACCRaTMUiGsNqOZIgadue0q9WDT1ukndXqqcCAO70UaX 1q1BtxkoRPped8jButlMcdkUBar0L2XPBReI6ifEgfTehHjT7q69ucAhBOUpsMaa+IH7xY Y6Ihiv2VCfWW/X2ww7vl7b+fpg2RBqNWDGf+vQf52qcl+uFRzfO2iuwjg+eUUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739304809; a=rsa-sha256; cv=none; b=K335AndQbIIoZuATYiKliEKTi7TyTMLwb4ax7aGwaManObFWpHJyZMheaNT1Xd8/Dfw/Xe DDfvjnmnp1YX8Wa00bI1Zod203JJM7EdMKjjIP82f9wMh+fOWyobHkMyIgrPylhUFqcLoO C7B3XSRHKi0wgI0OjE2a6cn5QnBnRZ8VoOXTs5b8nyhCg04AxFhF0PwY3rc94zMJdgvpMC vPqcIK+Kw/DSmHOOhDS++cuCkD+vog56hQQXhiBkMRX2BjYVK0enB7yNGUMiITLocQh6Qj GufdNyayccQ+K0eJNu3s/XZ0sHun3Gs8eT2htoIWM44jGNCCYfzrcvqRlJ25oA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yst1P0HWmzCBQ; Tue, 11 Feb 2025 20:13:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51BKDSx6034782; Tue, 11 Feb 2025 20:13:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BKDSIG034779; Tue, 11 Feb 2025 20:13:28 GMT (envelope-from git) Date: Tue, 11 Feb 2025 20:13:28 GMT Message-Id: <202502112013.51BKDSIG034779@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: 975c6f333703 - main - ssh: Update config.h for OpenSSL ED25519 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 975c6f3337039d14ecf87d674af72ac5ab0fee02 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=975c6f3337039d14ecf87d674af72ac5ab0fee02 commit 975c6f3337039d14ecf87d674af72ac5ab0fee02 Author: Ed Maste AuthorDate: 2025-02-11 13:52:07 +0000 Commit: Ed Maste CommitDate: 2025-02-11 20:12:31 +0000 ssh: Update config.h for OpenSSL ED25519 OpenSSH-portable had a configure bug that prevented it from detecting OpenSSL ED25519 support, fixed in 8d0e46c1ddb5 ("Fix OpenSSL ED25519 support detection"). This will come in with the OpenSSH 9.8p1 update, but fix the error in config.h now. Reported by: jlduran Reviewed by: jlduran Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48942 --- crypto/openssh/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crypto/openssh/config.h b/crypto/openssh/config.h index 29f73831ad7b..851366b65dfc 100644 --- a/crypto/openssh/config.h +++ b/crypto/openssh/config.h @@ -1754,7 +1754,7 @@ #define OPENSSL_HAS_ECC 1 /* libcrypto has ed25519 support */ -/* #undef OPENSSL_HAS_ED25519 */ +#define OPENSSL_HAS_ED25519 1 /* libcrypto has NID_X9_62_prime256v1 */ #define OPENSSL_HAS_NISTP256 1 From nobody Tue Feb 11 20:48:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YstpG0R9cz5mhZ7; Tue, 11 Feb 2025 20:48:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YstpF685Pz40nK; Tue, 11 Feb 2025 20:48:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739306933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YHualwq368PHu0EfxdSq6IU/nLz+mVFW9qh/sMuSRzU=; b=pi5ekmrPwy4cq/Q3rLD/U9wu2b5JX+AZBcy86bXZr88X3/565fGYeDUnY7WGYgM2wcbXE/ a1Vi1xDdevETvJ0UgjFFJ2r06VkuOW6qSwEFbqb1Ucq7AyewnrQ6VqXUgHDGfcvu5yQ6Uv xntKIg/E+FzL77z3sCnT5TvvkjDsS9giT6tKri+RWzw1/adB5NKl1cWc1KE/A+jOzHo+vw dSLIo9txnGPWpBpSCWbeIct0aZmjjLDiMm7ftZ73rfai4VgutQzgt8ZHzHibWFwRsHHqz8 OI4Kamv+0gU58UWc15rdTWDWSXP0eZIHubP9GbMsklvNFTbYO7rLWcZmHb8Xng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739306933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YHualwq368PHu0EfxdSq6IU/nLz+mVFW9qh/sMuSRzU=; b=FKi8XCZg2MSJOgjdDGGCemh2wBUxTR+XvphW5GRep4XtJeKobIPH/k/9Y+R3KpakbKI/qp bzPpF/NaLeTvRVrt00NRFuKEKyynn0NWkWV3o0B2RBY8bkkaBk973WL6Go20FSiFKfSz7N kMu2wWrI9e0tcECCpk8evGt2Kxwcugu0O1XSDa+IHb9+fRD9ZHfaD7ic076tl3dSXtXfjW Hv6TIHIA6wV1chOJxlea17JCNVRUIdFEs+GvtjgsCDW0H0cAk4L2TcWkPBlxjHL/na5AjB JSuC7JyaLAv5BVmTUBwuDvKVlWNL2EEtzaCEoczuVhxYuD1KzQ0EgS/BQ/iz4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739306933; a=rsa-sha256; cv=none; b=wsfpz7jL1iPR5N7wB5y6xaUsEUZvf9YWaXFYZu3TUkIe+NC3x0OqRJrvpotb/U345S8KrT SUezqqfNkaByvi1BqIGI+2m0C0X28gI2tFjbCxA3v785pdgKkj1VodlKR4uqRMhYMnCU7x hzlpPQ2rxDzY6nVuBAmMt3XN5t6OxPecJqL8sV80MtOIAKhIJcaYJbAnNZN3jX+4FzXHpw Ladj+4noub++d7/8YCQzf02ov64ldAC05y8N/1uYP/PJKhSBGZgwnn+G9Ohk+YrHK3tVtF 60NXlWJPZFZgVcK7KjrYdLbFODzzqXggDOBX9ZjsLrxn/BzG99sRIP+vmuYIwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YstpF4S0YzDBR; Tue, 11 Feb 2025 20:48:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51BKmri7092028; Tue, 11 Feb 2025 20:48:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BKmrYW092025; Tue, 11 Feb 2025 20:48:53 GMT (envelope-from git) Date: Tue, 11 Feb 2025 20:48:53 GMT Message-Id: <202502112048.51BKmrYW092025@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: c48ca725a83c - main - make_dev.9: Fix mda_cr typo + polish List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c48ca725a83c0c8b27210d50977835c0b916bf07 Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=c48ca725a83c0c8b27210d50977835c0b916bf07 commit c48ca725a83c0c8b27210d50977835c0b916bf07 Author: Alexander Ziaee AuthorDate: 2025-02-11 20:42:27 +0000 Commit: Alexander Ziaee CommitDate: 2025-02-11 20:47:47 +0000 make_dev.9: Fix mda_cr typo + polish The make_dev_args_init structure example said mda_cred, however the correct form is mda_cr according to the reporter and my git grep. A new document description has been contributed by jhb. While here, fix grammar and trivial typos (spacing, colons before examples, trailing delimiter) and spdx. MFC after: 3 days Reported by: jhb (much polish and document description) Reported by: Evgenii Ivanov on Community Discord Reviewed by: carlavilla, mhorne, jhb, kib Approved by: carlavilla, mhorne (mentors) Differential Revision: https://reviews.freebsd.org/D48516 --- share/man/man9/make_dev.9 | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/share/man/man9/make_dev.9 b/share/man/man9/make_dev.9 index 5428b4c7a74e..de56f350faa5 100644 --- a/share/man/man9/make_dev.9 +++ b/share/man/man9/make_dev.9 @@ -1,3 +1,6 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause +.\" .\" Copyright (c) 1999 Chris Costello .\" All rights reserved. .\" @@ -22,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 2, 2016 +.Dd January 19, 2025 .Dt MAKE_DEV 9 .Os .Sh NAME @@ -38,9 +41,7 @@ .Nm destroy_dev_sched_cb , .Nm destroy_dev_drain , .Nm dev_depends -.Nd manage -.Vt cdev Ns 's -and DEVFS registration for devices +.Nd create and destroy character devices including devfs registration .Sh SYNOPSIS .In sys/param.h .In sys/conf.h @@ -105,6 +106,7 @@ struct make_dev_args { void *mda_si_drv2; }; .Ed +.Pp Before use and filling with the desired values, the structure must be initialized by the .Fn make_dev_args_init @@ -166,10 +168,10 @@ member of the initialized The .Va args.mda_flags argument alters the operation of -.Fn make_dev_s. +.Fn make_dev_s . The following values are currently accepted: .Pp -.Bl -tag -width "It Dv MAKEDEV_CHECKNAME" -compact -offset indent +.Bl -tag -width "MAKEDEV_CHECKNAME" -compact -offset indent .It Dv MAKEDEV_REF reference the created device .It Dv MAKEDEV_NOWAIT @@ -200,12 +202,13 @@ is specified. .Pp The .Xr dev_clone 9 -event handler shall specify +event handler shall specify the .Dv MAKEDEV_REF -flag when creating a device in response to lookup, to avoid race where -the device created is destroyed immediately after -.Xr devfs_lookup 9 -drops his reference to cdev. +flag when creating a device in response to lookup, to avoid a race where +the created device is immediately destroyed after +.Fn devfs_lookup +drops its reference to +.Fa cdev . .Pp The .Dv MAKEDEV_ETERNAL @@ -226,13 +229,14 @@ and the device name is invalid or already exists. .Pp The .Fn make_dev_p -use of the form +use of the form: .Bd -literal -offset indent struct cdev *dev; int res; res = make_dev_p(flags, &dev, cdevsw, cred, uid, gid, perms, name); .Ed -is equivalent to the code +.Pp +is equivalent to the code: .Bd -literal -offset indent struct cdev *dev; struct make_dev_args args; @@ -241,7 +245,7 @@ int res; make_dev_args_init(&args); args.mda_flags = flags; args.mda_devsw = cdevsw; -args.mda_cred = cred; +args.mda_cr = cred; args.mda_uid = uid; args.mda_gid = gid; args.mda_mode = perms; @@ -250,10 +254,11 @@ res = make_dev_s(&args, &dev, name); .Pp Similarly, the .Fn make_dev_credf -function call is equivalent to +function call is equivalent to: .Bd -literal -offset indent - (void) make_dev_s(&args, &dev, name); +(void) make_dev_s(&args, &dev, name); .Ed +.Pp In other words, .Fn make_dev_credf does not allow the caller to obtain the return value, and in @@ -263,14 +268,14 @@ options, the function asserts that the device creation succeeded. .Pp The .Fn make_dev_cred -function is equivalent to the call +function is equivalent to the call: .Bd -literal -offset indent make_dev_credf(0, cdevsw, unit, cr, uid, gid, perms, fmt, ...); .Ed .Pp The .Fn make_dev -function call is the same as +function call is the same as: .Bd -literal -offset indent make_dev_credf(0, cdevsw, unit, NULL, uid, gid, perms, fmt, ...); .Ed @@ -377,7 +382,7 @@ is called, with argument .Fa arg . The .Fn destroy_dev_sched -function is the same as +function is the same as: .Bd -literal -offset indent destroy_dev_sched_cb(cdev, NULL, NULL); .Ed From nobody Tue Feb 11 23:53: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 4Ysyts6Tmzz5n0T7; Tue, 11 Feb 2025 23:53:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ysyts5ttQz3QhL; Tue, 11 Feb 2025 23:53:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739317989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kpgtx8HIWNpgRniPml+CGFhAgN3PeV/0+h52C60Q994=; b=pjG+L+lafHJxhUFG5u7go0+svUnCBajVxwhdhWSSMWjM345QpuwsU1Mh/qeaS10jr4JqCs lAk4K81aL2entqyLSk12OMhHB/hm4J7fUSP74svEgZPbfqOWzX6GVLcXc6upxmLLZGrml0 r2nJZGEvtzbZnA7lAi+fWvlLaMVsL+DLkxw+aKMUAtMfoqSI4V6NCSZLIB3hNo1Eo5QLfT lvmzHcZuENLlp3ayQXh1kN6GkLSXYHV3vh+64Skxj59DYulAGOzEyIrKFwElOgLMRqNsqx 9NDRFmtTyZf9RFevysA5tc3+XboSMSwUTJyyecMM8U+NMujNqdsyJwOOv4tgNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739317989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kpgtx8HIWNpgRniPml+CGFhAgN3PeV/0+h52C60Q994=; b=ya7CzRYMmpxl4lYBsGJD7oF0J3TCJSjxsLle4hzhUiKyoMEO25jhChU37DVxSKQXyVkAak 4f5wM0LuSkbD611k6c2T50jbQEgk+hmrZwIinO6briTBviEo2BL0QbSCkW1AsTvRHK3zOn dgf9luolFx8EiPa0BLevqQYkUSy8Lsd6vGDggUurv4D3yGWulnPvPchrASORt11h7OWKew Fyph4KCm8+eeZMand4BeyRBdklpTbo+h9T5wjJ6E3rB11VtszwcvXqbSES9fL1EEUM1FWt YOZxfWbs12VTMbHAg+hGi/7eAAhg14RmwFORDI82LxeQ3BPlAu7hlmxvTlBiDg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739317989; a=rsa-sha256; cv=none; b=JlwtExxwTJne0xCTOskTO20rMhDshP1LiLgoe6qch8F2BohIOqa9vd5bOkEMcqOO84UZMo 0ZgQAjsUOnTAyJDc5xKER5PVzlNWw7Zki1Qvkkqa6hF68isYDiA3Lb2yrRdQhJHHf7dR9o yl9+oyOBRoyZf8/T6giJwyfexWP5Do2qR2kJAkRFc77dd4PFKLDj88x2ROxwy7ZhoI9kWV BBBG6AUZlNuN52Ya3H6NGERP4GsQN1HIGW2BoWmKdKWFbUW2ZkcWPeQuUkT4ZKBgNF6+iX cq/OYLtawcKWYmfQnCJD5g7wxHQMQf/CmYYihndycFxBcsukSAF0qyJDrONN/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ysyts5TL1zbvs; Tue, 11 Feb 2025 23:53:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51BNr9IX045923; Tue, 11 Feb 2025 23:53:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51BNr9dU045920; Tue, 11 Feb 2025 23:53:09 GMT (envelope-from git) Date: Tue, 11 Feb 2025 23:53:09 GMT Message-Id: <202502112353.51BNr9dU045920@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: b97a478896e9 - main - nfscl: Re-initialize session seq#s when server shrinks slot table List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: b97a478896e9523245c2041b064121ccb1f70426 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=b97a478896e9523245c2041b064121ccb1f70426 commit b97a478896e9523245c2041b064121ccb1f70426 Author: Rick Macklem AuthorDate: 2025-02-11 23:50:57 +0000 Commit: Rick Macklem CommitDate: 2025-02-11 23:50:57 +0000 nfscl: Re-initialize session seq#s when server shrinks slot table When a NFSv4.1/4.2 server reduces the size of the slot table for a session as indicated by a smaller value for sr_target_highest_slot in a Sequence reply, the sequence numbers for the slots no longer in use must be re-initialized. This is needed since the slot table may be grown again by the server later. The RFC did not make the need for the sequence numbers to be re-initialized when a shrink/grow of the slot table size happens, but this has now been confirmed as correct behaviour. The patch adds the code that does this re-initialization. I am not currently aware of a NFSv4.1/4.2 server where the session slots fail if this is not done, but there may be such a case. MFC after: 2 weeks --- sys/fs/nfs/nfs_commonkrpc.c | 42 ++++++++++++++++++++++++++++++++++-------- sys/fs/nfs/nfs_commonsubs.c | 2 ++ 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index e5c658ce76d2..e35172ee2b34 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -123,6 +123,7 @@ SYSCTL_INT(_vfs_nfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW, &nfs_skip_wcc_da SYSCTL_INT(_vfs_nfs, OID_AUTO, dsretries, CTLFLAG_RW, &nfs_dsretries, 0, "Number of retries for a DS RPC before failure"); +static void nfs_resetslots(struct nfsclsession *); static void nfs_down(struct nfsmount *, struct thread *, const char *, int, int); static void nfs_up(struct nfsmount *, struct thread *, const char *, @@ -670,7 +671,7 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, struct thread *td, struct ucred *cred, u_int32_t prog, u_int32_t vers, u_char *retsum, int toplevel, u_int64_t *xidp, struct nfsclsession *dssep) { - uint32_t retseq, retval, slotseq, *tl; + uint32_t retseq, retval, retval0, slotseq, *tl; int i = 0, j = 0, opcnt, set_sigset = 0, slot; int error = 0, usegssname = 0, secflavour = AUTH_SYS; int freeslot, maxslot, reterr, slotpos, timeo; @@ -1039,7 +1040,7 @@ tryagain: sep->nfsess_badslots |= (0x1ULL << nd->nd_slotid); mtx_unlock(&sep->nfsess_mtx); /* And free the slot. */ - nfsv4_freeslot(sep, nd->nd_slotid, false); + nfsv4_freeslot(sep, nd->nd_slotid, true); } if (stat == RPC_INTR) error = EINTR; @@ -1192,15 +1193,22 @@ tryagain: if (retseq != sep->nfsess_slotseq[slot]) printf("retseq diff 0x%x\n", retseq); - retval = fxdr_unsigned(uint32_t, *++tl); + retval0 = fxdr_unsigned(uint32_t,*tl++); + retval = fxdr_unsigned(uint32_t, *tl); if ((retval + 1) < sep->nfsess_foreslots - ) + ) { sep->nfsess_foreslots = (retval + 1); - else if ((retval + 1) > - sep->nfsess_foreslots) - sep->nfsess_foreslots = (retval - < 64) ? (retval + 1) : 64; + nfs_resetslots(sep); + } else if ((retval + 1) > + sep->nfsess_foreslots) { + if (retval0 > retval) + printf("Sess:highest > " + "target_highest\n"); + sep->nfsess_foreslots = + (retval < NFSV4_SLOTS) ? + (retval + 1) : NFSV4_SLOTS; + } } mtx_unlock(&sep->nfsess_mtx); @@ -1463,6 +1471,24 @@ nfsmout: return (error); } +/* + * Reset slots above nfsess_foreslots that are not busy. + */ +static void +nfs_resetslots(struct nfsclsession *sep) +{ + int i; + uint64_t bitval; + + bitval = (1 << sep->nfsess_foreslots); + for (i = sep->nfsess_foreslots; i < NFSV4_SLOTS; i++) { + if ((sep->nfsess_slots & bitval) == 0 && + (sep->nfsess_badslots & bitval) == 0) + sep->nfsess_slotseq[i] = 0; + bitval <<= 1; + } +} + /* * Mark all of an nfs mount's outstanding requests with R_SOFTTERM and * wait for all requests to complete. This is used by forced unmounts diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c index d4d97f4eb966..7bb2df82272c 100644 --- a/sys/fs/nfs/nfs_commonsubs.c +++ b/sys/fs/nfs/nfs_commonsubs.c @@ -5047,6 +5047,8 @@ nfsv4_freeslot(struct nfsclsession *sep, int slot, bool resetseq) mtx_lock(&sep->nfsess_mtx); if (resetseq) sep->nfsess_slotseq[slot]--; + else if (slot > sep->nfsess_foreslots) + sep->nfsess_slotseq[slot] = 0; if ((bitval & sep->nfsess_slots) == 0) printf("freeing free slot!!\n"); sep->nfsess_slots &= ~bitval; From nobody Wed Feb 12 09:38:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtCtW4cblz5mTHJ; Wed, 12 Feb 2025 09:38:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtCtW45d7z3TyY; Wed, 12 Feb 2025 09:38:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=leOTUnSRXh1KS8+nswch5BUD7fUDftxgtz5T8uOOIaI=; b=o/2AUn8C2kaDPjYtDv5psZSJxqAfRsI5o7SfMP1UCeIw07ej2Y7jRg5c5M0LN1ZrJri3N+ nwiQvIlYXc2gc5o3EL+0/BWfmux8xrqLJTmQIb5tK51ZzF5DGHg4r0W7rNMVGuogMO/jrR kjExId0WlN3ahFGGMtvUcmihPzFAngN/8vT05yx70f7l/mt+h8/EPRkxNNrRQUIghWXXH4 eMmvCMCOtkn5UPCUo4weFnt2pvt8CDi/1bI3iaJrdWXLJg3soGEW0+aPMj7u3PsvoHpJ40 VfJv5JW4O/pVAzK9xT94e8y7zh4RXCUJO2auyfLNinfo6ckXnilPM8O0jINY3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353123; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=leOTUnSRXh1KS8+nswch5BUD7fUDftxgtz5T8uOOIaI=; b=Rt0wjpVGc8Cp1murb0hq8fuSTw+0Fr0nuoH8KY7Bc0fFg507uyXe98OljFPks2n9kl9fk2 kD3v1W6X/8N+jlqBix3A9v6cJb3fa/vnx0sLI12PT56BnstC+B+/H04r3YVzTvkSJeTyAW +K4nVXfJvcCioNB3s4nprHz0e0aDjOaVHIQmcjtFI8RGnAaNZLZEOMTrPBDiYogqnRtUAO tHnR8OOP3/o7sx03hlxbdvRPGJK2y3MTWfX8HX5jKb8aZ9MISvZ9fBxbkiLeYsRtrQS475 CSlttJGLetyFmkRkaqgdoUvDkwPOXHAj45oNZc9rZgrC9TwWEk4qYn+0LkHThw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739353123; a=rsa-sha256; cv=none; b=AMAlE6AjuiXHjhUIFupVx+1t1Q8KaH0SmWh/AVE+1/gjFXRMZnbnNNq4HU5DIROzigV3og LtPy1wJ4K5P5Fjs5KiXxh0d/dMJ/VtqP91StvZZC7T2FiYKrZszLAVOD0xI4KGYlimAdsl doKABYTnmCgoQvoYBFEK5wr2M5HAltVzbzaUjdZRkJzem8tJpL9aT07AP5DhtWqxOTATOB jFGQbBb6iV3oBV7RI19/PFEFF7Ee7uwNH6HBsUcRif4nrigSOJxfB77/WkwUffypZZbaxU brP7FDMztTuM6t0ha1n5GLMRmzEJKHpVr/TAP7Br0s3uophOjNWeor+/2IXwBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtCtW39Qtzt2j; Wed, 12 Feb 2025 09:38:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51C9chKo037361; Wed, 12 Feb 2025 09:38:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C9chMs037358; Wed, 12 Feb 2025 09:38:43 GMT (envelope-from git) Date: Wed, 12 Feb 2025 09:38:43 GMT Message-Id: <202502120938.51C9chMs037358@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 9a538abd957c - main - pf: add 'translation' counter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a538abd957cd43bd09e3d72bc5fe6d0189ffaf8 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9a538abd957cd43bd09e3d72bc5fe6d0189ffaf8 commit 9a538abd957cd43bd09e3d72bc5fe6d0189ffaf8 Author: Kristof Provost AuthorDate: 2025-02-05 10:58:57 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 08:29:09 +0000 pf: add 'translation' counter Add a separate "translation" counter and use this rather than "memory" when address translation fails due to no free ports in the configured range. ok mikeb@ Obtained from: OpenBSD, sthen , 70ff79155f Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 4 ++-- sys/netpfil/pf/pf.h | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 4d8a0f2aba31..9963dc728302 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5823,7 +5823,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, pd->naf = r->naf; if (pd->af != pd->naf) { if (pf_get_transaddr_af(r, pd) == -1) { - REASON_SET(&reason, PFRES_MEMORY); + REASON_SET(&reason, PFRES_TRANSLATE); goto cleanup; } } @@ -5863,7 +5863,7 @@ nextrule: pd->naf = r->naf; if (pd->af != pd->naf) { if (pf_get_transaddr_af(r, pd) == -1) { - REASON_SET(&reason, PFRES_MEMORY); + REASON_SET(&reason, PFRES_TRANSLATE); goto cleanup; } } diff --git a/sys/netpfil/pf/pf.h b/sys/netpfil/pf/pf.h index 24249ead6ba2..01c1abc54602 100644 --- a/sys/netpfil/pf/pf.h +++ b/sys/netpfil/pf/pf.h @@ -156,7 +156,8 @@ enum { PF_ADDR_ADDRMASK, PF_ADDR_NOROUTE, PF_ADDR_DYNIFTL, #define PFRES_SRCLIMIT 13 /* Source node/conn limit */ #define PFRES_SYNPROXY 14 /* SYN proxy */ #define PFRES_MAPFAILED 15 /* pf_map_addr() failed */ -#define PFRES_MAX 16 /* total+1 */ +#define PFRES_TRANSLATE 16 /* No translation address available */ +#define PFRES_MAX 17 /* total+1 */ #define PFRES_NAMES { \ "match", \ @@ -175,6 +176,7 @@ enum { PF_ADDR_ADDRMASK, PF_ADDR_NOROUTE, PF_ADDR_DYNIFTL, "src-limit", \ "synproxy", \ "map-failed", \ + "translate", \ NULL \ } From nobody Wed Feb 12 09:38: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 4YtCtX5M4qz5mT8t; Wed, 12 Feb 2025 09:38:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtCtX3KvCz3TYV; Wed, 12 Feb 2025 09:38:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4i6ZZ7mX3319syX1z30fsH9ju4gZeFO//hAxOn1GgTU=; b=i+0X+jcytLtp6t/fJ14fGnX1cZTaE03dlM9FIg+1/Du4H+J89xnx33UHdP+W7twAKxO0TD FPo/Vp/d3Vj+ZyOMRIRU0gd6hFHg2XHEBXNSQfiYl3ua9sk1dw9yzN0D+ozVAJfzVmotls ULp76frSGPjn1tqX8E4z1O2+THduGiIGo3dovf3lj5aFYawaex9LA2n5RkqLRbrR7kEPSQ aDsc2N3Bg7Wq7C0JFBXr27K8vQkw7k4II86M5Ei/64HYuPcci/MA8iG9sD46wunBE30T/T /LB4rt6lzG4JJDW95mdQRet+tR9RuGkxIJkYeObR3CBH7/T5tW35+UFX3DJ5gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353124; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4i6ZZ7mX3319syX1z30fsH9ju4gZeFO//hAxOn1GgTU=; b=b23rFdGki0eUZ2FnmT8TRruaC5XppEr1tS8nFVb+SIBzL6/Mrfc1RKP+YDA/yvjRZ/Aj6P 6Ywic2iUbWYZWut8vKBPfjtbPrgMDrN6c+7hYEuGhttmNiBfTffJsffpcf59cXAE7qTVcr 2RWdvsfg5N8zk29ut2A2oHwraoBRDmgYWHGEYrbCK0vTZNwsvnnuZEqn/C9aBzpsckfgdq uNimszI/oeSrSvg1Qp87DRtsV41/0x61lRpkCTs/6MTj8T7lk4St33kl5u5xGPp/d/nXUS anlEYBHFUP7N78wK/nChKn14F9VfmXxFeMeZOAZAsOU7QS9QKgin2Mt8iwvhZw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739353124; a=rsa-sha256; cv=none; b=Bj1Ey4n3O9Rb6C29Z3dYs3zGc0egeXrirphdaHSvmTyOl47hGxqI2yQXo4hT7/tww0ItzB gavmw5bMDZwfp6vWIa8rLgPTtFcM9JVUzauHopSOE95cKC+dKKbXXMVzSYto9Dt7qLU6w2 K/vcqds30lPbK/lOn/c9PG3oacy5PMogByjqbEBD6HgCDVrDhwP6VJU4cSWbdd65A71bO2 yegWmI5CJK4Npc28uGukFOvxb0o/h5AYQNv5tPCP9uTnEQSauaQioWWAoWNzY6QCTyjIN0 iQWdIhqMXyBSo8vb11u410Bb9zz1nU6HVDf9PxVpJ1+iP9LcBGXal9qjwHHOGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtCtX2scWztbB; Wed, 12 Feb 2025 09:38: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 51C9ciQn037401; Wed, 12 Feb 2025 09:38:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C9ci39037398; Wed, 12 Feb 2025 09:38:44 GMT (envelope-from git) Date: Wed, 12 Feb 2025 09:38:44 GMT Message-Id: <202502120938.51C9ci39037398@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 0ce36b069850 - main - pfctl.8: describe the counters that "pfctl -s info" displays List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0ce36b0698509e834ee406552035040b0a20856c Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=0ce36b0698509e834ee406552035040b0a20856c commit 0ce36b0698509e834ee406552035040b0a20856c Author: Kristof Provost AuthorDate: 2025-02-05 12:31:51 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 08:29:09 +0000 pfctl.8: describe the counters that "pfctl -s info" displays Tweaks jmc@, ok deraadt@ Obtained from: OpenBSD, sthen , 83e508aa68 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.8 | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/sbin/pfctl/pfctl.8 b/sbin/pfctl/pfctl.8 index 00fbda042b7c..a5407999cdda 100644 --- a/sbin/pfctl/pfctl.8 +++ b/sbin/pfctl/pfctl.8 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd November 25, 2024 +.Dd February 5, 2025 .Dt PFCTL 8 .Os .Sh NAME @@ -476,6 +476,47 @@ can be used to select an interface or a group of interfaces. Show all of the above, except for the lists of interfaces and operating system fingerprints. .El +.Pp +Counters shown with +.Fl s Cm info +are: +.Pp +.Bl -tag -width xxxxxxxxxxxxxx -compact +.It match +explicit rule match +.It bad-offset +currently unused +.It fragment +invalid fragments dropped +.It short +short packets dropped +.It normalize +dropped by normalizer: illegal packets +.It memory +memory could not be allocated +.It bad-timestamp +bad TCP timestamp; RFC 1323 +.It congestion +network interface queue congested +.It ip-option +bad IP/IPv6 options +.It proto-cksum +invalid protocol checksum +.It state-mismatch +packet was associated with a state entry, but sequence numbers did not match +.It state-insert +state insertion failure +.It state-limit +configured state limit was reached +.It src-limit +source node/connection limit +.It synproxy +dropped by synproxy +.It map-failed +address mapping failed +.It translate +no free ports in translation port range +.El .It Fl T Ar command Op Ar address ... Specify the .Ar command From nobody Wed Feb 12 09:38: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 4YtCtZ0Ksdz5mTF2; Wed, 12 Feb 2025 09:38:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtCtY4Gh7z3Tqd; Wed, 12 Feb 2025 09:38:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2WeuzCZcdkfGgmM0hgokFU7QcL6u+rjevqmNvSdIW78=; b=jNYMHPtSxS4fx45bgWpobZb8i3BhmstvVZ7noZyzAVNjbhok5qD/VorVIy4KiqDNNFrCK7 vIX4LIC3Bu4f5MRQzAQ+v7MFTA9mEcxAPC737HDUuGMyRP+YYodX2w0/06nQZUDPDbyGt8 gWLXzLqC4s8smSI9431zkqL60LZ/bXMSg9pclvlyPH5W90LiA7Gh+jJnWAyH9nhBV1Uj4I 6m8sLw9fT0BeMOHd2wnD5bF50yeh4pZR1KylWUqQhTGa+qUe527IcZ8pPj/sNZBvdqjeFY GjSUWsLWq/IdgiITQYutxPLcCj3XkgVXuALtjsjKr5WEB3E7ZQor2jLOEVi+jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353125; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2WeuzCZcdkfGgmM0hgokFU7QcL6u+rjevqmNvSdIW78=; b=aKY4RsSevYhTk3vOdURF6oKYGW7xJM9uAwh9hu4wV0gSNEmLB1xXISKdPjHqYocPUgoe2k URDDqyGPboGbh7rpMfiUGPGnyxtOuK7ltwkGZl32RaZK343RMSmXkVatpj12eHN2ZiNnsP rpS4JGzqK/Jy9fePjrUxJsC1cQnXsgRN6OOp5ed4b/N2Rff+I6Or+zjOi+xtaUZ2N/N2fQ yHmgAp7I49u44i+145GGhzvEeiQY3VInvkq9cVl+cWD53LJfRWWq2un14ytl/ffBKuuN+I hmMRRfQGENoK1aBkHvvot6Uo4qMdZGQWitw5SURGrkZHayODSZx7wJ/Bc1HnlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739353125; a=rsa-sha256; cv=none; b=E8dRzVZ1wSiv+CWSxa2jp/wn1avfkMJhJQijfRu2W01exE/vuWCMFT14KXjADzF4O5BpvW 0xR9gyTNRwPKg8rfXRKROaFfMdtiOeKZwt8DddVemEfr8rlFN/fnTjTaYwPbT4Qt93M7OJ Gg1sutnCBV13ypNb4n7iPyL/yGowzTSxo1hS87bB1pMkr47Ss97pBNSWuAg2X1jha3xUWj tUq4onGtv818qwTvhj9HUQaf9ZdswCHqb87voHEy8IA787a8GS6R+EKO6rFabLFTHD4MTc MPP+Q4uCDtBSXxOc20oVBqvdIQRp78h4hhlwTQey63mo/w1wfgCbkuiVPNVQ/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtCtY3pgdzsyh; Wed, 12 Feb 2025 09:38: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 51C9cjXe037438; Wed, 12 Feb 2025 09:38:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C9cjII037435; Wed, 12 Feb 2025 09:38:45 GMT (envelope-from git) Date: Wed, 12 Feb 2025 09:38:45 GMT Message-Id: <202502120938.51C9cjII037435@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 21bc7eec2b70 - main - pfctl: avoid truncating a time_t division into days List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 21bc7eec2b7051025f100ce988bab79c2c172bc0 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=21bc7eec2b7051025f100ce988bab79c2c172bc0 commit 21bc7eec2b7051025f100ce988bab79c2c172bc0 Author: Kristof Provost AuthorDate: 2025-02-05 12:49:18 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 08:29:09 +0000 pfctl: avoid truncating a time_t division into days Obtained from: OpenBSD, deraadt , b14a9e0815 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl_parser.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index 7a1339ad273a..f567cc78dd23 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -513,7 +513,8 @@ print_status(struct pfctl_status *s, struct pfctl_syncookies *cookies, int opts) running = s->running ? "Enabled" : "Disabled"; if (s->since) { - unsigned int sec, min, hrs, day = runtime; + unsigned int sec, min, hrs; + time_t day = runtime; sec = day % 60; day /= 60; @@ -522,8 +523,8 @@ print_status(struct pfctl_status *s, struct pfctl_syncookies *cookies, int opts) hrs = day % 24; day /= 24; snprintf(statline, sizeof(statline), - "Status: %s for %u days %.2u:%.2u:%.2u", - running, day, hrs, min, sec); + "Status: %s for %lld days %.2u:%.2u:%.2u", + running, (long long)day, hrs, min, sec); } else snprintf(statline, sizeof(statline), "Status: %s", running); printf("%-44s", statline); From nobody Wed Feb 12 09:38: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 4YtCtb47Vxz5mTF7; Wed, 12 Feb 2025 09:38:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtCtb0W7Hz3TfF; Wed, 12 Feb 2025 09:38:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+93tenYkBnGNi85XxinJfjDjQ54VG2fnI3jDUxxJi5s=; b=ORwBcMgglEJicHvBSLlmcZDATlAKzc+a5t87RjSgjWdQ+X6I0a+JCY37H73SO/XK3qdaEt sSRlRs3cRRwpgdRg5HE2Zp/SyZFW9D8L7oSp+8cPBPEFCemnWxPQiBkfIB+mODxY+HOeuX 5Tt8gdDVhW2d2adt89SuFXGIjCfrBq+8bOVMjiCfKVfeJzoFGJtngV8nBVSRino5cYLB// dFTi/Hi5WbNTuXoEZnsCAfZ/TLEYVXiWxqa5IBGfcWuuoc0Xbw1OWdGIzV73weRGiYxYSy ACex/ScI1UTmh5rUx6TXrvCYrSihy9JQNnm2EvNCx45td1sDp80Pekf7jZj5tA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+93tenYkBnGNi85XxinJfjDjQ54VG2fnI3jDUxxJi5s=; b=vFpwCzmq32sYxJYkVFT+0j1JLREGILrLfhrjDi9y3Z3eP8oIky2W11KZQ3ZqDpviXfAGni 9rq1NQGhvcDQzAEpb9gun9ql+72NhkCvBSwY06Kp2jpk28GAHAGQ/UjFfGUQ6WP9wDIMZh IvHDrARW6uZ3Jf+Zs4PH0uabHtVkLekdzoQpTD+zBSYV0+ws/ceEliKb87KeJBhiBgGjQ5 fyQ7i3Qbu7MJI+lh563j4iAggiK/4cBM9k9i0Ev3ai/onnWO9aQJgllbAvZytHidGoVpAr XsKe4tjyQJ308Kfa3MwjCz5g3Uw9pd3vadXzq+GXd7sgGDVtUNYckrwCkFpZUg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739353127; a=rsa-sha256; cv=none; b=ggFIyOzIHOrswr0QEsHQgULF0lUdtttr/d8sc5b4gHCsKHau39pQGKIxEzALsbCFK7NJdc ER5MdB78MALOEPIFN502dj1PhWe3G+HH7Rvx/f3rdo/WL8Zlwx2KeRCYHdH01JD0I6VmNZ HFbcVqxO7286wl2c2vRXxEk3L95a7L3JfNoDLGSnBLWXI/XyoAez5/8okTGs/vAkJc3nmq BgDSlRxnJ5AyaamRfNVDs1VbdNPMLv8LJjoL1+DWMufxsC2yLzEZGYj7YrBmPvtrZf8nvO 84rNNGZLOYNetq6i7qG3i0InL33p2KFnWtzQHIsCSJ1/tRY6MFQCXahMyP3ccQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtCtZ589gztmd; Wed, 12 Feb 2025 09:38: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 51C9ckeh037471; Wed, 12 Feb 2025 09:38:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C9ck8Q037468; Wed, 12 Feb 2025 09:38:46 GMT (envelope-from git) Date: Wed, 12 Feb 2025 09:38:46 GMT Message-Id: <202502120938.51C9ck8Q037468@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 30ab6e823c59 - main - pf: fix anchor quick with nested anchors List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 30ab6e823c5914a0ecc296d766b8a92222724d09 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=30ab6e823c5914a0ecc296d766b8a92222724d09 commit 30ab6e823c5914a0ecc296d766b8a92222724d09 Author: Kristof Provost AuthorDate: 2025-02-05 15:41:41 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 08:29:09 +0000 pf: fix anchor quick with nested anchors We lost the quick flag as soon as we stepped into a child anchor. Simplify the logic, get rid of the match flag in the anchor stack, just use the match variable we already had (and used in a boolean style) to track the nest level we had a match at. When a child anchor had a match we also have a match in the current anchor, so update the match level accordingly, and thus correctly honour the quick flag. Reported by, along with the right idea on how to fix this, by Sean Gallagher \sean at teletech.com.au/, who also helped testing the fix. ok ryan & benno Obtained from: OpenBSD, henning , 32a028bff7 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 2 +- sys/netpfil/pf/pf.c | 30 ++++++++---------------------- sys/netpfil/pf/pf_lb.c | 2 +- 3 files changed, 10 insertions(+), 24 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 5ef7957f4fa0..65be1a0ce19b 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2646,7 +2646,7 @@ void pf_print_host(struct pf_addr *, u_int16_t, sa_family_t); void pf_step_into_anchor(struct pf_kanchor_stackframe *, int *, struct pf_kruleset **, int, struct pf_krule **, - struct pf_krule **, int *); + struct pf_krule **); int pf_step_out_of_anchor(struct pf_kanchor_stackframe *, int *, struct pf_kruleset **, int, struct pf_krule **, struct pf_krule **, int *); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 9963dc728302..79e50be6cd13 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -4569,15 +4569,12 @@ struct pf_kanchor_stackframe { void pf_step_into_anchor(struct pf_kanchor_stackframe *stack, int *depth, - struct pf_kruleset **rs, int n, struct pf_krule **r, struct pf_krule **a, - int *match) + struct pf_kruleset **rs, int n, struct pf_krule **r, struct pf_krule **a) { struct pf_kanchor_stackframe *f; PF_RULES_RASSERT(); - if (match) - *match = 0; if (*depth >= PF_ANCHOR_STACKSIZE) { printf("%s: anchor stack overflow on %s\n", __func__, (*r)->anchor->name); @@ -4620,19 +4617,6 @@ pf_step_out_of_anchor(struct pf_kanchor_stackframe *stack, int *depth, f = stack + *depth - 1; fr = PF_ANCHOR_RULE(f); if (f->child != NULL) { - /* - * This block traverses through - * a wildcard anchor. - */ - if (match != NULL && *match) { - /* - * If any of "*" matched, then - * "foo/ *" matched, mark frame - * appropriately. - */ - PF_ANCHOR_SET_MATCH(f); - *match = 0; - } f->child = RB_NEXT(pf_kanchor_node, &fr->anchor->children, f->child); if (f->child != NULL) { @@ -4648,8 +4632,11 @@ pf_step_out_of_anchor(struct pf_kanchor_stackframe *stack, int *depth, if (*depth == 0 && a != NULL) *a = NULL; *rs = f->rs; - if (PF_ANCHOR_MATCH(f) || (match != NULL && *match)) - quick = fr->quick; + if (match != NULL && *match > *depth) { + *match = *depth; + if (f->r->quick) + quick = 1; + } *r = TAILQ_NEXT(fr, entries); } while (*r == NULL); @@ -5831,7 +5818,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, PFLOG_PACKET(r->action, PFRES_MATCH, r, a, ruleset, pd, 1); } else { - match = 1; + match = asd; *rm = r; *am = a; *rsm = ruleset; @@ -5844,8 +5831,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, r = TAILQ_NEXT(r, entries); } else pf_step_into_anchor(anchor_stack, &asd, - &ruleset, PF_RULESET_FILTER, &r, &a, - &match); + &ruleset, PF_RULESET_FILTER, &r, &a); nextrule: if (r == NULL && pf_step_out_of_anchor(anchor_stack, &asd, &ruleset, PF_RULESET_FILTER, &r, &a, &match)) diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index 6251ddee7d19..23c7ad1c0a66 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -211,7 +211,7 @@ pf_match_translation(struct pf_pdesc *pd, break; } else pf_step_into_anchor(anchor_stack, &asd, - &ruleset, rs_num, &r, NULL, NULL); + &ruleset, rs_num, &r, NULL); } if (r == NULL) pf_step_out_of_anchor(anchor_stack, &asd, &ruleset, From nobody Wed Feb 12 09:38: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 4YtCtc4m5rz5mT92; Wed, 12 Feb 2025 09:38:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtCtb6Xnmz3TtT; Wed, 12 Feb 2025 09:38:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8NrDb8Xgwqw5IhiXbZjNh3wFZI8eVH6hSgaONulKg9Q=; b=lsr2wj3hGv6mpcbkbWxInmmO0JKi5nQSKRmfrexmy5pnZt9FQkrNPcNHXgg9rI7oOhmZWr E4MoP+C2/sPNlahfGbRPSXdPfhz8QhMrIeTE7VZ/vnE84jsJzk+Ra2KY0J+IiYlvZPHBrg E5NPAmVOzrheCgJypp+tuwMyrS2GAtBic6fT1nORzFsRffzgMa/wguX1TIzNrxhluqZqN0 Se9/G21VoW7E/53IcMxtwIVxSVYpAGqsFsMFH7rr3LaXuBVVoisHhDnilbvGXJxwAaMXgC vCTnDDdpO9LYEyqNUAd4oG74cPOGh6wJFJaGYRk4C8iJXZJ9gk9NwRlqChZ9xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739353127; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8NrDb8Xgwqw5IhiXbZjNh3wFZI8eVH6hSgaONulKg9Q=; b=BbvF0zfek4QYitjAvMmSkIO4AkxNUP3cV4jvPrH2eKBbdosJaxskZGLe0DNV1dhrwpUXib vEYNl6Yra8c6p4W8qEpjlwPImSyWNC78cQnfKAnnFKENe9tlMoGoz1j9L+gb5V6kXFVpp4 zdesK8w70d8sooqhr0Mk+8fxF3dUy0GcGE5e7Nq6xx1KVSfa9HyZLyK5B5q/KDgexjRK3U YPeCcl6Z4YouS7NAeEh3kuo/ksFToD/uq+uctVz3+/zGocXWehv073so/Vd4djkFQzfLWk V3zSWXcn0DH5ub6J4AQ0UuF50XW3FinLmUoWFi2w7cWzaiqbEJW9ead6kAmLCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739353127; a=rsa-sha256; cv=none; b=FjbQwH5nZH+x+MMtbO7Anpcp3xi9XFoRRVUkQGG8SaXQILibnxDU7sKX9s6PA3Jzjdq41N bbwJMrvgJVseMm7PqjlBtxde1lgFvq8c+QVcLxDtVjNJJofhQ5wSyBAt0bEnATgxa6GuAA d9VuNTdtiDZB66k/TDNf8gG+PahJ+ujQIeJMhQ/crW9iPEfQj3JaUZbWF2lcII0a8NYsOH 1bbndMTq3ZTsOKXH8uIB4FBygv1Ot/FZ5hFCl2MHeufrYPIRUDNXGsfIdUcmyr3XMgXzeB 5UdaoognZjIH7dKXLKyXSKqPF1IPzIqjSTq3JGLEv4rRjwSdsr4bB9OGB50vVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtCtb68gTztV8; Wed, 12 Feb 2025 09:38: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 51C9cljE037504; Wed, 12 Feb 2025 09:38:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51C9clg0037501; Wed, 12 Feb 2025 09:38:47 GMT (envelope-from git) Date: Wed, 12 Feb 2025 09:38:47 GMT Message-Id: <202502120938.51C9clg0037501@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 6c795ce1df47 - main - pf tests: verify that a nested anchor does not clear the quick flag List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6c795ce1df47e5fe9030c6c68abc38b48ff1769b Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=6c795ce1df47e5fe9030c6c68abc38b48ff1769b commit 6c795ce1df47e5fe9030c6c68abc38b48ff1769b Author: Kristof Provost AuthorDate: 2025-02-05 15:34:54 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 08:29:09 +0000 pf tests: verify that a nested anchor does not clear the quick flag Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/anchor.sh | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/tests/sys/netpfil/pf/anchor.sh b/tests/sys/netpfil/pf/anchor.sh index 847f8d4f6dab..40e8354a2343 100644 --- a/tests/sys/netpfil/pf/anchor.sh +++ b/tests/sys/netpfil/pf/anchor.sh @@ -233,6 +233,51 @@ quick_cleanup() pft_cleanup } +atf_test_case "quick_nested" "cleanup" +quick_nested_head() +{ + atf_set descr 'Verify that a nested anchor does not clear quick' + atf_set require.user root +} + +quick_nested_body() +{ + pft_init + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}a + + ifconfig ${epair}b 192.0.2.2/24 up + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "anchor quick {\n\ + pass\n\ + anchor {\n\ + block proto tcp\n\ + }\n\ + }" \ + "block" + ping -c 1 192.0.2.1 + + jexec alcatraz pfctl -sr -v + jexec alcatraz pfctl -ss -v + + # We can still ping because the anchor is 'quick' + atf_check -s exit:0 -o ignore ping -c 1 192.0.2.1 + jexec alcatraz pfctl -sr -v + jexec alcatraz pfctl -ss -v +} + +quick_nested_cleanup() +{ + pft_cleanup +} + atf_test_case "counter" "cleanup" counter_head() { @@ -279,5 +324,6 @@ atf_init_test_cases() atf_add_test_case "wildcard" atf_add_test_case "nested_label" atf_add_test_case "quick" + atf_add_test_case "quick_nested" atf_add_test_case "counter" } From nobody Wed Feb 12 14:44: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 4YtLgh1BLkz5mtNR; Wed, 12 Feb 2025 14:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtLgh0VJsz44tg; Wed, 12 Feb 2025 14:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nMCYgqPwNG4JNT2edkzmqqg99GDEMphXgRe1QxKcN8M=; b=Ka4p/UIwjpe2d8iASMk4khmHTYLKAum2LTjtPtOjFAGZ1MD0xgc9ymQLWKJe13+ZCCtoLE nTmjGzhL+Y7o9wF0tuR1K1ibCRDbIjCPXKh6uDD11OJRPj5Uk1egVgghLu7E1EnZfkbQyj wGNp9hAhTXgIT8UEn0IhcduY8md/OOL+IM2tPywgBKDWARi/8KmFga7cVR8mPP9eB+2PWW VYNjXEPRpCRcvLS8Jy5+D0/D8EC66VyhGa0PIfBXaxxsvgKtVp8mg+12z8idKRHQH7AInA t8D3f7AaYelsDCdE78VCB5q/UvC1rE79pgeckzY0T/tRUUq/Dp/KdiekwBMbaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371488; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nMCYgqPwNG4JNT2edkzmqqg99GDEMphXgRe1QxKcN8M=; b=qRVEF06qA+qdDTi0nKhdxLpn0QApWr0OKvi/HVJXVUxeB2aGh7XgYmwd1ZlKHOuhSSUYgs amOMeVPap9LdCqrn/QuBIwe/cxlK4ym18u6g62JXOmQ+kUVdAMSW7raE3YyKoNLpAhYz8i hWRTo83iHiyEEiv2JPRD2mkXmEY9qdTHkSBTvEWRDX0nxEpQ54Jf42fkH9L/L1ejF8bg0O NdolewW8IaYS9WRpYl4JMcbBMxdek7yvWhzhT6GMaFfFG8VJ6iT+4UFBV8a9FIbj+cVLV4 YL4Un4vGhvdwbRuudx0tMtDhGKj1DlCjjKwe0hWNZCyiAkmmovam+F11kVAtOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739371488; a=rsa-sha256; cv=none; b=IBB0n2NLl43sdqOiquXacBDIorizhPDlrPfLQizsgTyb0WmDoSOTw0z+O7SeKeOCCbRGQ/ yEkFIoau1wXR8QN73ncjpU8eeGpDUoySorKDmkqQz+Fj0cfm6/lZwd69g0zExVrF2krjVl Sem8+K2sd1TXI/u2KKNgLnYVYXoKjy4u4ZvBjzjc/UFMj1lw8c2VcKwavYN7kv/2jcsJ4l aKCrh3kINXMYf4vGvOAEpGk79iGkAVq7lj/dH3v18VuE9zifwvuQlWAWRR93GrGvsphAQF 1TcWW6ZZeXIRBVAiH7dXg2D1YP47mnsCXFh6PTOSE8i4rOkcUAM5OwB1hfu2dA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtLgg6rVmz13Fy; Wed, 12 Feb 2025 14:44: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 51CEilo8016909; Wed, 12 Feb 2025 14:44:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CEiljl016906; Wed, 12 Feb 2025 14:44:47 GMT (envelope-from git) Date: Wed, 12 Feb 2025 14:44:47 GMT Message-Id: <202502121444.51CEiljl016906@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 50f18a9b26c3 - main - netinet tests: Move 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: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 50f18a9b26c3431848de94bd1217786dd695f6dd Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=50f18a9b26c3431848de94bd1217786dd695f6dd commit 50f18a9b26c3431848de94bd1217786dd695f6dd Author: Jose Luis Duran AuthorDate: 2025-02-12 14:38:09 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 14:38:09 +0000 netinet tests: Move import Move the import of 'Sniffer', which depends on scapy into the test so we don't try (and fail) to import it unless scapy is installed. Reviewed by: kp, emaste Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D48945 --- tests/sys/netinet/igmp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sys/netinet/igmp.py b/tests/sys/netinet/igmp.py index b079c5d18664..4a4e67211bd7 100644 --- a/tests/sys/netinet/igmp.py +++ b/tests/sys/netinet/igmp.py @@ -36,7 +36,6 @@ logging.getLogger("scapy").setLevel(logging.CRITICAL) curdir = os.path.dirname(os.path.realpath(__file__)) netpfil_common = curdir + "/../netpfil/common" sys.path.append(netpfil_common) -from sniffer import Sniffer sc = None sp = None @@ -87,6 +86,7 @@ class TestIGMP(VnetTestTemplate): if1 = self.vnet.iface_alias_map["if1"] # Start a background sniff + from sniffer import Sniffer expected_pkt = { "type": "join", "group": "230.0.0.1" } sniffer = Sniffer(expected_pkt, check_igmpv3, if1.name, timeout=10) From nobody Wed Feb 12 14:44: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 4YtLgj1QRpz5mtyq; Wed, 12 Feb 2025 14:44:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtLgj0CtQz44Zf; Wed, 12 Feb 2025 14:44:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jGnmlOfY5LGPSaSPuOwCkDwQ4ps1fLicH+Yb3xnD3Zc=; b=mZjt81Jl61jMNNOk8EWW9vyeu+/bcOldgsGgPmTnH2jvbyqu1Bc3BY9Rpx5/hxpKd1e9vG c/sFqbbDoYT9t2RA8dGrqcGuv7ZBFYnYCF33q1jxACaSv58XOhoCc+E2Yhy7NTIVHtVu9X yyTm9fLoBqZqMkvQxdwu48PWeBh9X2Urnqoty3qifMuYKAguToL0/dm/1TTCSNbwtwiSy4 zcRcmAjAyY93TVjPEC/uaChO55I2rplZEvrja6frXnqyNEX2TcyFy20ecySbevucqOmYW7 XpnTYZ84aVu+/xUVaoLbE9WSw6C22uGicPIIBJyVJzVGeisG1aLIKbcGtE58UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jGnmlOfY5LGPSaSPuOwCkDwQ4ps1fLicH+Yb3xnD3Zc=; b=gzg5HoeFmdkYcnUU1zhnDwWO+l9PCy4fiRY2uu13XiZriGWLhXwa7C2lOJ2K991MRPXiwr +cUJYTTmPOGW76G/9KSUt6bfdVbLbTl30qW+dXbR/eRbCYdOKcW6eu4FqiLmk00YbDEVCn YrIYlQIrs8WFSGGuXwWjxFMDq7/mY57aVhHLzPAf2oXLIKDat5mu/yjyo9x2DMSoHwXQJ9 LEbJv7ztJUib/7AbcOI9G/RLRfgxee/oQN4xdK02dIsJ5rfI/eWfvFvKG1ZTyzCPsvDjji YXMwEQVbHMRWPJQllYp0fSC3zKLcgb4rgO4PJaC4YgcuKvpxDtiwZEGbxldliQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739371489; a=rsa-sha256; cv=none; b=q86Sz8Lr35iz7AtcnxFJIQGHA018KB7nsiLWG94NpcCVheqdeZcKe+23QyFheNce7P6zDi owqsLl56cCui4LffC/eL/66BLHHKwty9KbIvjZwPe1PbXRdr+0k1kipN6MzdbRNbKzM0Ds ZSD/975nhRG17douyZrjganQalEnzFsLdxk3ncdwKn7zfZAuR+YGZnTTaQYRDutj66YHFz JzC7IUeqmclFmDDtE4X0xThrbcow5r0v5b6YdWHldb5aFZxJppww2V9lN50LdStJiKMYrL DdmgVmPXPFogoHm1MJ3sH75MXp64kG3gHhHNASq1jF1V8xKmwCySOT9ldhPrSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtLgh6v23z12Ym; Wed, 12 Feb 2025 14:44:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51CEimkt016945; Wed, 12 Feb 2025 14:44:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CEim9L016942; Wed, 12 Feb 2025 14:44:48 GMT (envelope-from git) Date: Wed, 12 Feb 2025 14:44:48 GMT Message-Id: <202502121444.51CEim9L016942@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 65cc5af1cf88 - main - sys tests: Add scapy as a required program List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65cc5af1cf88ed124ab16091624e918faa61c7f2 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=65cc5af1cf88ed124ab16091624e918faa61c7f2 commit 65cc5af1cf88ed124ab16091624e918faa61c7f2 Author: Jose Luis Duran AuthorDate: 2025-02-12 14:38:44 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 14:40:43 +0000 sys tests: Add scapy as a required program These atf-python tests rely on scapy to run. Add it as a required program. Reported by: glebius, kp Reviewed by: kp Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48946 --- tests/sys/netinet/carp.py | 2 ++ tests/sys/netinet/igmp.py | 1 + tests/sys/netpfil/pf/frag6.py | 3 +++ tests/sys/netpfil/pf/icmp.py | 2 ++ tests/sys/netpfil/pf/nat64.py | 4 ++++ tests/sys/netpfil/pf/nat66.py | 2 ++ 6 files changed, 14 insertions(+) diff --git a/tests/sys/netinet/carp.py b/tests/sys/netinet/carp.py index 0db31e79ba84..e35c9470d035 100644 --- a/tests/sys/netinet/carp.py +++ b/tests/sys/netinet/carp.py @@ -39,6 +39,7 @@ class TestCarp(VnetTestTemplate): if p.src != "00:00:5e:00:01:01": raise + @pytest.mark.require_progs(["scapy"]) def test_source_mac(self): "Test carp packets source address" @@ -52,6 +53,7 @@ class TestCarp(VnetTestTemplate): self.check_carp_src_mac(carp_pkts) + @pytest.mark.require_progs(["scapy"]) def test_source_mac_vrrp(self): "Test VRRP packets source address" diff --git a/tests/sys/netinet/igmp.py b/tests/sys/netinet/igmp.py index 4a4e67211bd7..5d3b38cac38f 100644 --- a/tests/sys/netinet/igmp.py +++ b/tests/sys/netinet/igmp.py @@ -80,6 +80,7 @@ class TestIGMP(VnetTestTemplate): sp = _sp super().setup_method(method) + @pytest.mark.require_progs(["scapy"]) def test_igmp3_join_leave(self): "Test that we send the expected join/leave IGMPv2 messages" diff --git a/tests/sys/netpfil/pf/frag6.py b/tests/sys/netpfil/pf/frag6.py index f274fc28a3bf..108b53874d0b 100644 --- a/tests/sys/netpfil/pf/frag6.py +++ b/tests/sys/netpfil/pf/frag6.py @@ -43,6 +43,7 @@ class TestFrag6(VnetTestTemplate): return False @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_dup_frag_hdr(self): "Test packets with duplicate fragment headers" srv_vnet = self.vnet_map["vnet2"] @@ -64,6 +65,7 @@ class TestFrag6(VnetTestTemplate): assert not p.getlayer(sp.ICMPv6EchoReply) @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_overlong(self): "Test overly long fragmented packet" @@ -112,6 +114,7 @@ class TestFrag6_Overlap(VnetTestTemplate): ]) @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_overlap(self): "Ensure we discard packets with overlapping fragments" diff --git a/tests/sys/netpfil/pf/icmp.py b/tests/sys/netpfil/pf/icmp.py index e54f9f20a058..6ab649f62be7 100644 --- a/tests/sys/netpfil/pf/icmp.py +++ b/tests/sys/netpfil/pf/icmp.py @@ -86,6 +86,7 @@ class TestICMP(VnetTestTemplate): vnet.pipe.send("Got ICMP destination unreachable packet") @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_inner_match(self): vnet = self.vnet_map["vnet1"] dst_vnet = self.vnet_map["vnet3"] @@ -160,6 +161,7 @@ class TestICMP(VnetTestTemplate): return @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_fragmentation_needed(self): ToolsHelper.print_output("/sbin/route add default 192.0.2.1") diff --git a/tests/sys/netpfil/pf/nat64.py b/tests/sys/netpfil/pf/nat64.py index 64ec5ae15262..070b7a82e6d9 100644 --- a/tests/sys/netpfil/pf/nat64.py +++ b/tests/sys/netpfil/pf/nat64.py @@ -93,6 +93,7 @@ class TestNAT64(VnetTestTemplate): "pass in on %s inet6 af-to inet from 192.0.2.1" % ifname]) @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_tcp_rst(self): ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") @@ -126,6 +127,7 @@ class TestNAT64(VnetTestTemplate): assert "A" in tcp.flags @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_udp_port_closed(self): ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") @@ -147,6 +149,7 @@ class TestNAT64(VnetTestTemplate): assert udp.dport == 1222 @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_address_unreachable(self): ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") @@ -172,6 +175,7 @@ class TestNAT64(VnetTestTemplate): assert ip6.hlim == 62 @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_udp_checksum(self): ToolsHelper.print_output("/sbin/route -6 add default 2001:db8::1") diff --git a/tests/sys/netpfil/pf/nat66.py b/tests/sys/netpfil/pf/nat66.py index 3a037ac710fc..f93512b5b99c 100644 --- a/tests/sys/netpfil/pf/nat66.py +++ b/tests/sys/netpfil/pf/nat66.py @@ -140,6 +140,7 @@ class TestNAT66(VnetTestTemplate): assert found @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_npt_icmp(self): cl_vnet = self.vnet_map["vnet1"] ifname = cl_vnet.iface_alias_map["if1"].name @@ -168,6 +169,7 @@ class TestNAT66(VnetTestTemplate): self.check_icmp_too_big(sp, 12000, 5000) @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) def test_npt_route_to_icmp(self): cl_vnet = self.vnet_map["vnet1"] ifname = cl_vnet.iface_alias_map["if1"].name From nobody Wed Feb 12 14:44: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 4YtLgl04NNz5mtWP; Wed, 12 Feb 2025 14:44:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtLgk1RQjz44tl; Wed, 12 Feb 2025 14:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DIGhzcIY7WvRjnurcEIQSTEu5JAmhB53i1hb9MbybOA=; b=yzflqbuRQFM8tykYBpryVVtn9ZUod2Lt+ezLy68mp6gQAeMS3xFT9b6slIfN1yHgL/1AZu TnbzG4Xdy5L8JcvCHUueAcvvZnEbIlROZ2hU5uOrVznQ1UlBQc+6Hmh5ggm3a+00ETMvCb TXTIqgu5Ui4zX69ZPAvincCNWagxd7aRpoLasZ+x8gi4SoprVlbcGN8ZBY+JW1qZmiXjS9 rtXwv9E67O/Np0BYvh9V7A3dVED2lqLm0xBsMHFLiWw8/nlKdWgBaGx79CzdCyIMFkFdK4 igxABqe48tdiAehjOYGmuAHNkpDM5hH39etCiB1Bkn9q1WJ3OoF4txuCmimNAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739371490; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DIGhzcIY7WvRjnurcEIQSTEu5JAmhB53i1hb9MbybOA=; b=s/OzHple2/3ocBAHO/YqLYySa1VE2+YgfX7luMUBGtAY1MkHEh3q4i/OEhf4uOKaYqKng6 oTR9bVuC2CdGwFnkrxdkHexBBrTMt4LAHAudqWhwu38IMveiDaDvMv670rFl2DcOANKuB+ HV00Qb9Pq/95QHpRvxCaNGVifizT74PblB+1WjHerb2OvvyfaQhFH1N/C7SavlXVTttNUn 6MVmuuiKu8+ROgaTaoMJXxXM8sTZMYAMneVZyKpCUSDrrprHroOSzwcHF+PLR6xWALs7rH gzwAF7xceNg9Qxfzd086mpjQqmbMM7Zacpe4MGVbPI0aX2o+t8SUXEQbCKvGPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739371490; a=rsa-sha256; cv=none; b=yfrcGc3n5yCGY6GMeJSKAfebLBav+z3Yt8OWB+P06cSqlr96AcfPIHy2HtYRuk3kYm6NmZ dKMEY73NN4Qf0LEEHJfu14FQU1muwGPMKN2SW0Bm6aTaxu9v1kIZvBNpy2fOnduyZW/Evt qh7+Pt7xK0GqjZ9Z3TgZbM2U2g3Bv8EyeYnk/YCORr5QXhb5zdtuDjlvJ06XRjQuk3PvDw nt6K+FA6WYNyyx4CwzUAQ2hfh5SBLCClZ/rqmrTlSPNLXOHNazUbHXalfGfOFhONjDbarr SxbtcoflXIae60b5Jfy7dH1KV/bUmzsB6NDphPcov3iybpe15aQ0SeK7Z0MILg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtLgk0x4kz13YV; Wed, 12 Feb 2025 14:44:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51CEiob4016982; Wed, 12 Feb 2025 14:44:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CEioa0016979; Wed, 12 Feb 2025 14:44:50 GMT (envelope-from git) Date: Wed, 12 Feb 2025 14:44:50 GMT Message-Id: <202502121444.51CEioa0016979@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 8d9c25c4e171 - main - syslogd: Fix tests when if_epair is not loaded List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8d9c25c4e1715e54b523cfd03bfb4c788b34ff57 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=8d9c25c4e1715e54b523cfd03bfb4c788b34ff57 commit 8d9c25c4e1715e54b523cfd03bfb4c788b34ff57 Author: Jose Luis Duran AuthorDate: 2025-02-12 14:42:09 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 14:42:09 +0000 syslogd: Fix tests when if_epair is not loaded Take a cue from vnet.subr and abstract module loading, jail creation and cleanup. Note that the way jails are created differs slightly from vnet.subr, to maintain the current style of the tests. Reported by: Jenkins Reviewed by: markj Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48949 --- usr.sbin/syslogd/tests/syslogd_test.sh | 23 +++++++------- usr.sbin/syslogd/tests/syslogd_test_common.sh | 43 +++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 11 deletions(-) diff --git a/usr.sbin/syslogd/tests/syslogd_test.sh b/usr.sbin/syslogd/tests/syslogd_test.sh index fd3d0c49c080..2d093dd80c35 100644 --- a/usr.sbin/syslogd/tests/syslogd_test.sh +++ b/usr.sbin/syslogd/tests/syslogd_test.sh @@ -323,7 +323,7 @@ jail_noinet_body() { local logfile - atf_check jail -c name=syslogd_noinet persist + syslogd_mkjail syslogd_noinet logfile="${PWD}/jail_noinet.log" printf "user.debug\t${logfile}\n" > "${SYSLOGD_CONFIG}" @@ -335,7 +335,7 @@ jail_noinet_body() } jail_noinet_cleanup() { - jail -r syslogd_noinet + syslogd_cleanup } # Create a pair of jails, connected by an epair. The idea is to run syslogd in @@ -344,10 +344,12 @@ jail_noinet_cleanup() # 169.254.0.2 or 169.254.0.3. allowed_peer_test_setup() { + syslogd_check_req epair + local epair - atf_check jail -c name=syslogd_allowed_peer vnet persist - atf_check jail -c name=syslogd_client vnet persist + syslogd_mkjail syslogd_allowed_peer vnet + syslogd_mkjail syslogd_client vnet atf_check -o save:epair ifconfig epair create epair=$(cat epair) @@ -364,9 +366,7 @@ allowed_peer_test_setup() allowed_peer_test_cleanup() { - jail -r syslogd_allowed_peer - jail -r syslogd_client - ifconfig $(cat epair) destroy + syslogd_cleanup } atf_test_case allowed_peer "cleanup" @@ -499,19 +499,21 @@ forward_head() } forward_body() { + syslogd_check_req epair + local epair logfile atf_check -o save:epair ifconfig epair create epair=$(cat epair) epair=${epair%%a} - atf_check jail -c name=syslogd_server vnet persist + syslogd_mkjail syslogd_server vnet atf_check ifconfig ${epair}a vnet syslogd_server atf_check jexec syslogd_server ifconfig ${epair}a inet 169.254.0.1/16 atf_check jexec syslogd_server ifconfig ${epair}a alias 169.254.0.2/16 atf_check jexec syslogd_server ifconfig lo0 inet 127.0.0.1/8 - atf_check jail -c name=syslogd_client vnet persist + syslogd_mkjail syslogd_client vnet atf_check ifconfig ${epair}b vnet syslogd_client atf_check jexec syslogd_client ifconfig ${epair}b inet 169.254.0.3/16 atf_check jexec syslogd_client ifconfig lo0 inet 127.0.0.1/8 @@ -545,8 +547,7 @@ __EOF__ } forward_cleanup() { - jail -r syslogd_server - jail -r syslogd_client + syslogd_cleanup } atf_init_test_cases() diff --git a/usr.sbin/syslogd/tests/syslogd_test_common.sh b/usr.sbin/syslogd/tests/syslogd_test_common.sh index 34099684a1c2..f06eb417d423 100644 --- a/usr.sbin/syslogd/tests/syslogd_test_common.sh +++ b/usr.sbin/syslogd/tests/syslogd_test_common.sh @@ -115,3 +115,46 @@ syslogd_stop() rm -f "${pid_file}" "${socket_file}" "${privsocket_file}" fi } + +# Check required kernel module. +syslogd_check_req() +{ + type=$1 + + if kldstat -q -n if_${type}.ko; then + return + fi + + if ! kldload -n -q if_${type}; then + atf_skip "if_${type}.ko is required to run this test." + return + fi +} + +# Make a jail and save its name to the created_jails.lst file. +# Accepts a name and optional arguments. +syslogd_mkjail() +{ + jailname=$1 + shift + args=$* + + atf_check jail -c name=${jailname} ${args} persist + + echo $jailname >> created_jails.lst +} + +# Remove epair interfaces and jails. +syslogd_cleanup() +{ + if [ -f created_jails.lst ]; then + while read jailname; do + jail -r ${jailname} + done < created_jails.lst + rm created_jails.lst + fi + + if [ -f epair ]; then + ifconfig $(cat epair) destroy + fi +} From nobody Wed Feb 12 15:34: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 4YtMmt5sXqz5myDd; Wed, 12 Feb 2025 15:34:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtMmt3SHlz49wF; Wed, 12 Feb 2025 15:34:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739374462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3TBfAztdopyaWABupkTkTgXAWVsLje+mhmzEaWRo44k=; b=Agr7LXfKd7Rfj8kU77mDZqRQPDK8YxbSr9gpF25KjHHmDRW+PNyBftXuIRdacbu0xujFzT 4XZsLYQd+IahOis6O4ViJI3CqN5HJ9rMqBQDzjETdNHAxp1sPbWFWoC1wytDVApRLrFIOC JqHitDHmbhrht0qaa7JX1q13NVVkj8wG5ZtCjoOAK3e4a8cayrp1PF6/aS619qcq/Tru+/ +gHg8J7mhA6c6exjQ3pRNdBmm7rUgVrpzRcJ3iuCtN9la+YG7+B8axBu6HLHDO+4XXxEgK Ehz7DClTFDdDulFVvFA+chKd3n5tjQyN2nIN0kNrLZ+KSblU1k3Ir5r7lpbSzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739374462; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3TBfAztdopyaWABupkTkTgXAWVsLje+mhmzEaWRo44k=; b=gvQmcXyg8ujncMu5TX6UN6OCOqgOULr+osOmFtLIE7b+AjcRIfQ8WdeYNdq9BTW6xz6dYb EftWmNcXk8ZF9gyBoDt6JTkJyfjKAZGkIngMK22Hy6C5aS5oB2CR7yDnslAZYNA5gddfBd u18XN2y9JHZIDh7BfLh4uecxxaS8gtNLaK1lLA46fZVDm3G9FBz5YjGXg6Ko2zp/ihBUcD 77QAMDT2bL/g8qQpAN0JBZAsfWf3gGtVyz/q6yMjAhu7hWw45SMfHNh5qeqhT3PKijwv4M hVcWmSiX8pPmWjYJkFKL47jKrvN8vNB+ebATxVlyXxk0cCjMEuIQIQen+aLOyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739374462; a=rsa-sha256; cv=none; b=apAyT+fHra3c2adFWJQPa1Ec5CdSM6YeDj7/J1KrkDicanN4z3Pnp6DMheZvFM3FYKa96i CdOUgdlX9J3gIMe0DrMoxuzstP5v3GRoIsGqP+5PHUv+MhGqcTH1oVTOEFvxKnYsAIFMIG G0WL+EXAGbWnFPbx7g/b70VfOD4IQmG6YBnUyjB8KDCb88OnnZHp1djEj7zHAckpuD56MX S03TZX7u9VuPR4Yc3qBLuYXjNMsUeJXApmpSt56ltgaTOAOmfeIy7peIC1CuS6TsTstsx2 CQJdqeRbWtp0s3reqFJuZJoG4T7R3xJxy6o2dJLQdsI0ZX0/yb7vV8l8XmzQJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtMmt2rSQz14Zx; Wed, 12 Feb 2025 15:34: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 51CFYM4H010532; Wed, 12 Feb 2025 15:34:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CFYMaf010529; Wed, 12 Feb 2025 15:34:22 GMT (envelope-from git) Date: Wed, 12 Feb 2025 15:34:22 GMT Message-Id: <202502121534.51CFYMaf010529@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: 4b77a9a80cf8 - main - uath: Avoid a NULL dereference List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b77a9a80cf8a9cba5607d8d8fa0742334dcf0f4 Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=4b77a9a80cf8a9cba5607d8d8fa0742334dcf0f4 commit 4b77a9a80cf8a9cba5607d8d8fa0742334dcf0f4 Author: Jose Luis Duran AuthorDate: 2025-02-12 15:31:43 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-12 15:33:26 +0000 uath: Avoid a NULL dereference PR: 284643 Reviewed by: adrian Approved by: emaste (mentor) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48948 --- sys/dev/usb/wlan/if_uath.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sys/dev/usb/wlan/if_uath.c b/sys/dev/usb/wlan/if_uath.c index 32e3c0325c6e..10e3b50eaeb3 100644 --- a/sys/dev/usb/wlan/if_uath.c +++ b/sys/dev/usb/wlan/if_uath.c @@ -2308,10 +2308,12 @@ uath_cmdeof(struct uath_softc *sc, struct uath_cmd *cmd) __func__, dlen, sizeof(uint32_t)); return; } - /* XXX have submitter do this */ - /* copy answer into caller's supplied buffer */ - bcopy(hdr+1, cmd->odata, sizeof(uint32_t)); - cmd->olen = sizeof(uint32_t); + if (cmd->odata != NULL) { + /* XXX have submitter do this */ + /* copy answer into caller's supplied buffer */ + bcopy(hdr+1, cmd->odata, sizeof(uint32_t)); + cmd->olen = sizeof(uint32_t); + } wakeup_one(cmd); /* wake up caller */ break; From nobody Wed Feb 12 19:34: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 4YtT5v5sSFz5nGG7; Wed, 12 Feb 2025 19:34:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT5v5DTpz3Sws; Wed, 12 Feb 2025 19:34:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvtJrC9t5wW+sCeSxOwa8CiYisDUakYg1oI2mcsLvyQ=; b=pNMZlAr06o1tWWRwCuMqh+oTtIyWpGpgnGzRchlzubdebmN13fkWDoX7KpkpDftu2li6gu gWH284OYmPaqLMz1sj3muTq70sby13O1gl8zSRa3H2/p48iSGm0/l/C9kofbf3v0Ics7p0 t2r1LnpauyT8gUVYpCcQmSMjM+sL7PBu8AY730K4igywBN2BvQxeFbsDAj0A8TMaqPIpPE T+Opn/CRBxIlktuKKag/zUOKSqIUp93yeC20CwvoRekoXWhkf8du0jOvjpfXp6E1lVs97t 5TQCGS7pUoqeYjd6Mfd0ghgEJ4m0e8dtRdKTzaiHwh6dkOQykffOIULNPLEJOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvtJrC9t5wW+sCeSxOwa8CiYisDUakYg1oI2mcsLvyQ=; b=bf/mfgwRwHwfxw7+DrU/o774m+b/AcjeRdNIICtnnwxJdkGl2zuJfSxH8CslBiEA2z2fQO bI09wtB+nzObfL7nEflzrk4ukB8q9WaJrNRYaP3Zn8TwvGYtloWnS+feyN9O7/ehmG5cAP uis3vSOlu2Nxn+4YX8Eqbqvzpi1j+SF7etsR1uL97WyHVjHU1/FA9/x+0dFwDlHy4sCi8t 7dA9wldbbcgCxqH3CuvvP0RDTzUybqbqEEkSfx1J81CDo9WkHeQkDeoXIMTSXndzU+PUtm 9p1fj8gPeCigZFZKYSjOt0WCNW4g5b9euoGJyieT5Pmx7a8t+MAua02ySDvenQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388867; a=rsa-sha256; cv=none; b=PifttiHK5BHgZ2mXPBwYa5xtFNHZyKFU4K4W3CW2xQ6c9ogLtdLGqJh4dKNKUTuJhLpLRq dCTuVYRt6wtcKRHH69EZrr4GbD4SCUHRvXTbNcGkzLICWO1vT2Zb4sOOxqwCTD2gk2DqtE rfY8foS4FYh4xNB4NpZkhfxMG25iuJvmruOjUq5Zq3ezmuMljca1WCIozuVyRfZ27lbxqJ KkGdqCXRUDLPnbempp6mvWx11nyN778pkUaditniYGc41vHdoYW76ZE3Y9VNG31o6UMcWH F3yGyD3pZiWylh6qU7HuK9i9ukl0EnUBwdcz7mcTgjWZ6wuF2cw1/MdTuhYitg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT5v4pH9z1BFc; Wed, 12 Feb 2025 19:34: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 51CJYR4w059697; Wed, 12 Feb 2025 19:34:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYR0V059694; Wed, 12 Feb 2025 19:34:27 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:27 GMT Message-Id: <202502121934.51CJYR0V059694@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: ca8a23d6cb32 - main - ctld: Drop some #if 0'd debugging traces List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ca8a23d6cb32d8af18f3c249ed604c8db7c68d08 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=ca8a23d6cb32d8af18f3c249ed604c8db7c68d08 commit ca8a23d6cb32d8af18f3c249ed604c8db7c68d08 Author: John Baldwin AuthorDate: 2025-02-12 19:25:22 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:25:22 +0000 ctld: Drop some #if 0'd debugging traces Suggested by: asomers Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48927 --- usr.sbin/ctld/kernel.c | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/usr.sbin/ctld/kernel.c b/usr.sbin/ctld/kernel.c index 7e9ef8ec42c2..5544bb79aeb2 100644 --- a/usr.sbin/ctld/kernel.c +++ b/usr.sbin/ctld/kernel.c @@ -543,10 +543,6 @@ retry_port: port->port_id, name); pp = pport_find(kports, name); if (pp == NULL) { -#if 0 - log_debugx("found new kernel port %u \"%s\"", - port->port_id, name); -#endif pp = pport_new(kports, name, port->port_id); if (pp == NULL) { log_warnx("pport_new failed"); @@ -563,10 +559,6 @@ retry_port: targ = target_find(conf, port->cfiscsi_target); if (targ == NULL) { -#if 0 - log_debugx("found new kernel target %s for CTL port %ld", - port->cfiscsi_target, port->port_id); -#endif targ = target_new(conf, port->cfiscsi_target); if (targ == NULL) { log_warnx("target_new failed"); @@ -578,10 +570,6 @@ retry_port: continue; pg = portal_group_find(conf, port->ctld_portal_group_name); if (pg == NULL) { -#if 0 - log_debugx("found new kernel portal group %s for CTL port %ld", - port->ctld_portal_group_name, port->port_id); -#endif pg = portal_group_new(conf, port->ctld_portal_group_name); if (pg == NULL) { log_warnx("portal_group_new failed"); From nobody Wed Feb 12 19:34:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT5x3Bxrz5nFjh; Wed, 12 Feb 2025 19:34:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT5w6pP2z3T0K; Wed, 12 Feb 2025 19:34:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RsQgd3VEohiZZbfJJntip49MSEydvE4CprgVpzKFJpI=; b=p+vEsSjWe8yAfrl1bMIPCRSZ7oII6bi1iaEZnufF4OAgpoMR8TwChk+9qo9yOQSuOp3PEk gQO0j6heRVJU3GuVH8f2S5yUNBFYwLV0qaeNl3vhDIKgDogzM5ZldIdB6AvKBNVQNxKfRe P/KPIPG3WWY/42HwIgrVgX8BN/DK+u8N8Bl3mRkGKYKBwwp8afI3/rEDASTMQVdC3BC50y OV2mv7l5/Ty6U4l3TEXeI0M7I1Y3OXp6P438hRxU3xGfhYidXARyxVGdxXmOQdFJOArBH4 WtF/RQ2cK5/OHvX1s4d+yZII9xTqSR0fXguuZHCYDZJcMJaf0jFr93FK7CGODQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388868; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RsQgd3VEohiZZbfJJntip49MSEydvE4CprgVpzKFJpI=; b=EsTRS5ih5PqHkz9FrrkNRh0K8JC+cjaE88zIB9k/GMd7fy85js0saB4iyB8INf4Kp4EeJ7 3FzbgPImx4zCJJI6mAntg0o3oGC+vmxkewoPE8r1PNUifING8L4no+dpqlwviiI0vFpXMn 74uc79yYzh16SYad4znGEcwtKhtY786h7fyD9IZY5QQjvzPbYPCNEyiHCEjzkApkn2VPS0 J+5wF2Y1kI5Acr5Dl9zUhlpk39tXzkm8kI13c9Py3nGRnwMT1kbJvl+rkCmwZFr4/b5NxY txs7sMwLMP8OULecB6RH9DpS0GDNZXwDYTefBLau/3fLhncQbDdEEalhLhU9TA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388868; a=rsa-sha256; cv=none; b=F5DGWiIORIguwKOJxFXxEEkKlBQqTnm3bVdbvuaXW46qibLbzEiyA/cVESeo1aO38mHVkC Lrd7B8WLXWsFUXYUb0Hu8i1psQemWQoY5zKfApgsU+u8gci0GkeXzw5/FR6938chAjRdTv FwdeJaZXxzaFTlyUEaJJQVOyfvzOSM8EsJF9pQ5bQlPP9PYOUPBgNMw+G6bFbHyZrfOPpX UjTgzz/Pj22gc8tMw2EO6jYHWEYDXVot0u2zW4hC8uRPODfjfixLxQCm90+k2jNkx38C5f dwZSaifzho9UxUwRgF0T361njv5SOxWXI/5Cu2j5yAL/pxyScq5XKeRGKcnZdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT5w5pL8z1BV0; Wed, 12 Feb 2025 19:34: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 51CJYSja059730; Wed, 12 Feb 2025 19:34:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYSdK059727; Wed, 12 Feb 2025 19:34:28 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:28 GMT Message-Id: <202502121934.51CJYSdK059727@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: 450a84c292ae - main - ctld: Some bool-related cleanups List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 450a84c292ae5c4195d38bc7f7204d0e1e455f20 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=450a84c292ae5c4195d38bc7f7204d0e1e455f20 commit 450a84c292ae5c4195d38bc7f7204d0e1e455f20 Author: John Baldwin AuthorDate: 2025-02-12 19:25:52 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:25:52 +0000 ctld: Some bool-related cleanups - Convert a few variables from int to bool - Return bool instead of inverted 0/1 from configuration parsing functions and the auth check functions - Invert the existing dont_daemonize bool into a daemonize boolx Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48928 --- usr.sbin/ctld/ctld.c | 131 ++++++++++++++++++++++------------------------ usr.sbin/ctld/ctld.h | 30 +++++------ usr.sbin/ctld/discovery.c | 4 +- usr.sbin/ctld/login.c | 4 +- usr.sbin/ctld/parse.y | 62 +++++++++++----------- usr.sbin/ctld/uclparse.c | 52 ++++++++---------- 6 files changed, 136 insertions(+), 147 deletions(-) diff --git a/usr.sbin/ctld/ctld.c b/usr.sbin/ctld/ctld.c index d0ba0522f8e2..a76db10999e1 100644 --- a/usr.sbin/ctld/ctld.c +++ b/usr.sbin/ctld/ctld.c @@ -340,16 +340,16 @@ auth_name_find(const struct auth_group *ag, const char *name) return (NULL); } -int +bool auth_name_check(const struct auth_group *ag, const char *initiator_name) { if (!auth_name_defined(ag)) - return (0); + return (true); if (auth_name_find(ag, initiator_name) == NULL) - return (1); + return (false); - return (0); + return (true); } const struct auth_portal * @@ -466,17 +466,17 @@ next: return (NULL); } -int +bool auth_portal_check(const struct auth_group *ag, const struct sockaddr_storage *sa) { if (!auth_portal_defined(ag)) - return (0); + return (true); if (auth_portal_find(ag, sa) == NULL) - return (1); + return (false); - return (0); + return (true); } struct auth_group * @@ -540,7 +540,7 @@ auth_group_find(const struct conf *conf, const char *name) return (NULL); } -int +bool auth_group_set_type(struct auth_group *ag, const char *str) { int type; @@ -560,7 +560,7 @@ auth_group_set_type(struct auth_group *ag, const char *str) else log_warnx("invalid auth-type \"%s\" for target " "\"%s\"", str, ag->ag_target->t_name); - return (1); + return (false); } if (ag->ag_type != AG_TYPE_UNKNOWN && ag->ag_type != type) { @@ -573,12 +573,12 @@ auth_group_set_type(struct auth_group *ag, const char *str) "\"%s\"; already has a different type", str, ag->ag_target->t_name); } - return (1); + return (false); } ag->ag_type = type; - return (0); + return (true); } static struct portal * @@ -722,7 +722,7 @@ parse_addr_port(char *arg, const char *def_port, struct addrinfo **ai) return ((error != 0) ? 1 : 0); } -int +bool portal_group_add_listen(struct portal_group *pg, const char *value, bool iser) { struct portal *portal; @@ -734,7 +734,7 @@ portal_group_add_listen(struct portal_group *pg, const char *value, bool iser) if (parse_addr_port(portal->p_listen, "3260", &portal->p_ai)) { log_warnx("invalid listen address %s", portal->p_listen); portal_delete(portal); - return (1); + return (false); } /* @@ -742,10 +742,10 @@ portal_group_add_listen(struct portal_group *pg, const char *value, bool iser) * those into multiple portals. */ - return (0); + return (true); } -int +bool isns_new(struct conf *conf, const char *addr) { struct isns *isns; @@ -760,7 +760,7 @@ isns_new(struct conf *conf, const char *addr) if (parse_addr_port(isns->i_addr, "3205", &isns->i_ai)) { log_warnx("invalid iSNS address %s", isns->i_addr); isns_delete(isns); - return (1); + return (false); } /* @@ -768,7 +768,7 @@ isns_new(struct conf *conf, const char *addr) * those into multiple servers. */ - return (0); + return (true); } void @@ -1007,7 +1007,7 @@ isns_deregister(struct isns *isns) set_timeout(0, false); } -int +bool portal_group_set_filter(struct portal_group *pg, const char *str) { int filter; @@ -1025,7 +1025,7 @@ portal_group_set_filter(struct portal_group *pg, const char *str) "\"%s\"; valid values are \"none\", \"portal\", " "\"portal-name\", and \"portal-name-auth\"", str, pg->pg_name); - return (1); + return (false); } if (pg->pg_discovery_filter != PG_FILTER_UNKNOWN && @@ -1033,15 +1033,15 @@ portal_group_set_filter(struct portal_group *pg, const char *str) log_warnx("cannot set discovery-filter to \"%s\" for " "portal-group \"%s\"; already has a different " "value", str, pg->pg_name); - return (1); + return (false); } pg->pg_discovery_filter = filter; - return (0); + return (true); } -int +bool portal_group_set_offload(struct portal_group *pg, const char *offload) { @@ -1049,15 +1049,15 @@ portal_group_set_offload(struct portal_group *pg, const char *offload) log_warnx("cannot set offload to \"%s\" for " "portal-group \"%s\"; already defined", offload, pg->pg_name); - return (1); + return (false); } pg->pg_offload = checked_strdup(offload); - return (0); + return (true); } -int +bool portal_group_set_redirection(struct portal_group *pg, const char *addr) { @@ -1065,12 +1065,12 @@ portal_group_set_redirection(struct portal_group *pg, const char *addr) log_warnx("cannot set redirection to \"%s\" for " "portal-group \"%s\"; already defined", addr, pg->pg_name); - return (1); + return (false); } pg->pg_redirection = checked_strdup(addr); - return (0); + return (true); } struct pport * @@ -1142,7 +1142,6 @@ port_new(struct conf *conf, struct target *target, struct portal_group *pg) log_err(1, "calloc"); port->p_conf = conf; port->p_name = name; - port->p_ioctl_port = 0; TAILQ_INSERT_TAIL(&conf->conf_ports, port, p_next); TAILQ_INSERT_TAIL(&target->t_ports, port, p_ts); port->p_target = target; @@ -1188,7 +1187,7 @@ port_new_ioctl(struct conf *conf, struct kports *kports, struct target *target, log_err(1, "calloc"); port->p_conf = conf; port->p_name = name; - port->p_ioctl_port = 1; + port->p_ioctl_port = true; port->p_ioctl_pp = pp; port->p_ioctl_vp = vp; TAILQ_INSERT_TAIL(&conf->conf_ports, port, p_next); @@ -1266,17 +1265,17 @@ port_delete(struct port *port) free(port); } -int +bool port_is_dummy(struct port *port) { if (port->p_portal_group) { if (port->p_portal_group->pg_foreign) - return (1); + return (true); if (TAILQ_EMPTY(&port->p_portal_group->pg_portals)) - return (1); + return (true); } - return (0); + return (false); } struct target * @@ -1340,7 +1339,7 @@ target_find(struct conf *conf, const char *name) return (NULL); } -int +bool target_set_redirection(struct target *target, const char *addr) { @@ -1348,12 +1347,12 @@ target_set_redirection(struct target *target, const char *addr) log_warnx("cannot set redirection to \"%s\" for " "target \"%s\"; already defined", addr, target->t_name); - return (1); + return (false); } target->t_redirection = checked_strdup(addr); - return (0); + return (true); } struct lun * @@ -1617,7 +1616,7 @@ conf_print(struct conf *conf) } #endif -static int +static bool conf_verify_lun(struct lun *lun) { const struct lun *lun2; @@ -1628,19 +1627,19 @@ conf_verify_lun(struct lun *lun) if (lun->l_path == NULL) { log_warnx("missing path for lun \"%s\"", lun->l_name); - return (1); + return (false); } } else if (strcmp(lun->l_backend, "ramdisk") == 0) { if (lun->l_size == 0) { log_warnx("missing size for ramdisk-backed lun \"%s\"", lun->l_name); - return (1); + return (false); } if (lun->l_path != NULL) { log_warnx("path must not be specified " "for ramdisk-backed lun \"%s\"", lun->l_name); - return (1); + return (false); } } if (lun->l_blocksize == 0) { @@ -1651,12 +1650,12 @@ conf_verify_lun(struct lun *lun) } else if (lun->l_blocksize < 0) { log_warnx("invalid blocksize for lun \"%s\"; " "must be larger than 0", lun->l_name); - return (1); + return (false); } if (lun->l_size != 0 && lun->l_size % lun->l_blocksize != 0) { log_warnx("invalid size for lun \"%s\"; " "must be multiple of blocksize", lun->l_name); - return (1); + return (false); } TAILQ_FOREACH(lun2, &lun->l_conf->conf_luns, l_next) { if (lun == lun2) @@ -1670,10 +1669,10 @@ conf_verify_lun(struct lun *lun) } } - return (0); + return (true); } -int +bool conf_verify(struct conf *conf) { struct auth_group *ag; @@ -1682,15 +1681,14 @@ conf_verify(struct conf *conf) struct target *targ; struct lun *lun; bool found; - int error, i; + int i; if (conf->conf_pidfile_path == NULL) conf->conf_pidfile_path = checked_strdup(DEFAULT_PIDFILE); TAILQ_FOREACH(lun, &conf->conf_luns, l_next) { - error = conf_verify_lun(lun); - if (error != 0) - return (error); + if (!conf_verify_lun(lun)) + return (false); } TAILQ_FOREACH(targ, &conf->conf_targets, t_next) { if (targ->t_auth_group == NULL) { @@ -1780,7 +1778,7 @@ conf_verify(struct conf *conf) } } - return (0); + return (true); } static bool @@ -2547,7 +2545,7 @@ conf_new_from_file(const char *path, bool ucl) struct conf *conf; struct auth_group *ag; struct portal_group *pg; - int error; + bool valid; log_debugx("obtaining configuration from %s", path); @@ -2568,11 +2566,11 @@ conf_new_from_file(const char *path, bool ucl) assert(pg != NULL); if (ucl) - error = uclparse_conf(conf, path); + valid = uclparse_conf(conf, path); else - error = parse_conf(conf, path); + valid = parse_conf(conf, path); - if (error != 0) { + if (!valid) { conf_delete(conf); return (NULL); } @@ -2598,8 +2596,7 @@ conf_new_from_file(const char *path, bool ucl) conf->conf_kernel_port_on = true; - error = conf_verify(conf); - if (error != 0) { + if (!conf_verify(conf)) { conf_delete(conf); return (NULL); } @@ -2611,7 +2608,7 @@ conf_new_from_file(const char *path, bool ucl) * If the config file specifies physical ports for any target, associate them * with the config file. If necessary, create them. */ -static int +static bool new_pports_from_conf(struct conf *conf, struct kports *kports) { struct target *targ; @@ -2629,7 +2626,7 @@ new_pports_from_conf(struct conf *conf, struct kports *kports) if (tp == NULL) { log_warnx("can't create new ioctl port " "for target \"%s\"", targ->t_name); - return (1); + return (false); } continue; @@ -2639,22 +2636,22 @@ new_pports_from_conf(struct conf *conf, struct kports *kports) if (pp == NULL) { log_warnx("unknown port \"%s\" for target \"%s\"", targ->t_pport, targ->t_name); - return (1); + return (false); } if (!TAILQ_EMPTY(&pp->pp_ports)) { log_warnx("can't link port \"%s\" to target \"%s\", " "port already linked to some target", targ->t_pport, targ->t_name); - return (1); + return (false); } tp = port_new_pp(conf, targ, pp); if (tp == NULL) { log_warnx("can't link port \"%s\" to target \"%s\"", targ->t_pport, targ->t_name); - return (1); + return (false); } } - return (0); + return (true); } int @@ -2666,14 +2663,14 @@ main(int argc, char **argv) const char *config_path = DEFAULT_CONFIG_PATH; int debug = 0, ch, error; pid_t otherpid; - bool dont_daemonize = false; + bool daemonize = true; bool test_config = false; bool use_ucl = false; while ((ch = getopt(argc, argv, "dtuf:R")) != -1) { switch (ch) { case 'd': - dont_daemonize = true; + daemonize = false; debug++; break; case 't': @@ -2734,10 +2731,10 @@ main(int argc, char **argv) newconf->conf_debug = debug; } - if (new_pports_from_conf(newconf, &kports)) + if (!new_pports_from_conf(newconf, &kports)) log_errx(1, "Error associating physical ports; exiting"); - if (dont_daemonize == false) { + if (daemonize) { log_debugx("daemonizing"); if (daemon(0, 0) == -1) { log_warn("cannot daemonize"); @@ -2767,7 +2764,7 @@ main(int argc, char **argv) set_timeout((newconf->conf_isns_period + 2) / 3, false); for (;;) { - main_loop(dont_daemonize); + main_loop(!daemonize); if (sighup_received) { sighup_received = false; log_debugx("received SIGHUP, reloading configuration"); diff --git a/usr.sbin/ctld/ctld.h b/usr.sbin/ctld/ctld.h index 241785199cda..18f102f86691 100644 --- a/usr.sbin/ctld/ctld.h +++ b/usr.sbin/ctld/ctld.h @@ -116,7 +116,7 @@ struct portal_group { char *pg_name; struct auth_group *pg_discovery_auth_group; int pg_discovery_filter; - int pg_foreign; + bool pg_foreign; bool pg_unassigned; TAILQ_HEAD(, portal) pg_portals; TAILQ_HEAD(, port) pg_ports; @@ -150,7 +150,7 @@ struct port { struct pport *p_pport; struct target *p_target; - int p_ioctl_port; + bool p_ioctl_port; int p_ioctl_pp; int p_ioctl_vp; uint32_t p_ctl_port; @@ -247,19 +247,19 @@ struct ctld_connection { extern int ctl_fd; -int parse_conf(struct conf *newconf, const char *path); -int uclparse_conf(struct conf *conf, const char *path); +bool parse_conf(struct conf *newconf, const char *path); +bool uclparse_conf(struct conf *conf, const char *path); struct conf *conf_new(void); struct conf *conf_new_from_kernel(struct kports *kports); void conf_delete(struct conf *conf); -int conf_verify(struct conf *conf); +bool conf_verify(struct conf *conf); struct auth_group *auth_group_new(struct conf *conf, const char *name); void auth_group_delete(struct auth_group *ag); struct auth_group *auth_group_find(const struct conf *conf, const char *name); -int auth_group_set_type(struct auth_group *ag, +bool auth_group_set_type(struct auth_group *ag, const char *type); const struct auth *auth_new_chap(struct auth_group *ag, @@ -275,7 +275,7 @@ const struct auth_name *auth_name_new(struct auth_group *ag, bool auth_name_defined(const struct auth_group *ag); const struct auth_name *auth_name_find(const struct auth_group *ag, const char *initiator_name); -int auth_name_check(const struct auth_group *ag, +bool auth_name_check(const struct auth_group *ag, const char *initiator_name); const struct auth_portal *auth_portal_new(struct auth_group *ag, @@ -283,23 +283,23 @@ const struct auth_portal *auth_portal_new(struct auth_group *ag, bool auth_portal_defined(const struct auth_group *ag); const struct auth_portal *auth_portal_find(const struct auth_group *ag, const struct sockaddr_storage *sa); -int auth_portal_check(const struct auth_group *ag, +bool auth_portal_check(const struct auth_group *ag, const struct sockaddr_storage *sa); struct portal_group *portal_group_new(struct conf *conf, const char *name); void portal_group_delete(struct portal_group *pg); struct portal_group *portal_group_find(const struct conf *conf, const char *name); -int portal_group_add_listen(struct portal_group *pg, +bool portal_group_add_listen(struct portal_group *pg, const char *listen, bool iser); -int portal_group_set_filter(struct portal_group *pg, +bool portal_group_set_filter(struct portal_group *pg, const char *filter); -int portal_group_set_offload(struct portal_group *pg, +bool portal_group_set_offload(struct portal_group *pg, const char *offload); -int portal_group_set_redirection(struct portal_group *pg, +bool portal_group_set_redirection(struct portal_group *pg, const char *addr); -int isns_new(struct conf *conf, const char *addr); +bool isns_new(struct conf *conf, const char *addr); void isns_delete(struct isns *is); void isns_register(struct isns *isns, struct isns *oldisns); void isns_check(struct isns *isns); @@ -323,13 +323,13 @@ struct port *port_find(const struct conf *conf, const char *name); struct port *port_find_in_pg(const struct portal_group *pg, const char *target); void port_delete(struct port *port); -int port_is_dummy(struct port *port); +bool port_is_dummy(struct port *port); struct target *target_new(struct conf *conf, const char *name); void target_delete(struct target *target); struct target *target_find(struct conf *conf, const char *name); -int target_set_redirection(struct target *target, +bool target_set_redirection(struct target *target, const char *addr); struct lun *lun_new(struct conf *conf, const char *name); diff --git a/usr.sbin/ctld/discovery.c b/usr.sbin/ctld/discovery.c index 09613284f881..3ae18786f1c2 100644 --- a/usr.sbin/ctld/discovery.c +++ b/usr.sbin/ctld/discovery.c @@ -164,14 +164,14 @@ discovery_target_filtered_out(const struct ctld_connection *conn, assert(pg->pg_discovery_filter != PG_FILTER_UNKNOWN); if (pg->pg_discovery_filter >= PG_FILTER_PORTAL && - auth_portal_check(ag, &conn->conn_initiator_sa) != 0) { + !auth_portal_check(ag, &conn->conn_initiator_sa)) { log_debugx("initiator does not match initiator portals " "allowed for target \"%s\"; skipping", targ->t_name); return (true); } if (pg->pg_discovery_filter >= PG_FILTER_PORTAL_NAME && - auth_name_check(ag, conn->conn_initiator_name) != 0) { + !auth_name_check(ag, conn->conn_initiator_name)) { log_debugx("initiator does not match initiator names " "allowed for target \"%s\"; skipping", targ->t_name); return (true); diff --git a/usr.sbin/ctld/login.c b/usr.sbin/ctld/login.c index b763104a092e..8833779c825f 100644 --- a/usr.sbin/ctld/login.c +++ b/usr.sbin/ctld/login.c @@ -1027,12 +1027,12 @@ login(struct ctld_connection *conn) /* * Enforce initiator-name and initiator-portal. */ - if (auth_name_check(ag, initiator_name) != 0) { + if (!auth_name_check(ag, initiator_name)) { login_send_error(request, 0x02, 0x02); log_errx(1, "initiator does not match allowed initiator names"); } - if (auth_portal_check(ag, &conn->conn_initiator_sa) != 0) { + if (!auth_portal_check(ag, &conn->conn_initiator_sa)) { login_send_error(request, 0x02, 0x02); log_errx(1, "initiator does not match allowed " "initiator portals"); diff --git a/usr.sbin/ctld/parse.y b/usr.sbin/ctld/parse.y index 9f4759303e22..455411e31442 100644 --- a/usr.sbin/ctld/parse.y +++ b/usr.sbin/ctld/parse.y @@ -162,11 +162,11 @@ pidfile: PIDFILE STR isns_server: ISNS_SERVER STR { - int error; + bool ok; - error = isns_new(conf, $2); + ok = isns_new(conf, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -246,11 +246,11 @@ auth_group_entry: auth_group_auth_type: AUTH_TYPE STR { - int error; + bool ok; - error = auth_group_set_type(auth_group, $2); + ok = auth_group_set_type(auth_group, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -382,11 +382,11 @@ portal_group_discovery_auth_group: DISCOVERY_AUTH_GROUP STR portal_group_discovery_filter: DISCOVERY_FILTER STR { - int error; + bool ok; - error = portal_group_set_filter(portal_group, $2); + ok = portal_group_set_filter(portal_group, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -394,39 +394,39 @@ portal_group_discovery_filter: DISCOVERY_FILTER STR portal_group_foreign: FOREIGN { - portal_group->pg_foreign = 1; + portal_group->pg_foreign = true; } ; portal_group_listen: LISTEN STR { - int error; + bool ok; - error = portal_group_add_listen(portal_group, $2, false); + ok = portal_group_add_listen(portal_group, $2, false); free($2); - if (error != 0) + if (!ok) return (1); } ; portal_group_listen_iser: LISTEN_ISER STR { - int error; + bool ok; - error = portal_group_add_listen(portal_group, $2, true); + ok = portal_group_add_listen(portal_group, $2, true); free($2); - if (error != 0) + if (!ok) return (1); } ; portal_group_offload: OFFLOAD STR { - int error; + bool ok; - error = portal_group_set_offload(portal_group, $2); + ok = portal_group_set_offload(portal_group, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -445,11 +445,11 @@ portal_group_option: OPTION STR STR portal_group_redirect: REDIRECT STR { - int error; + bool ok; - error = portal_group_set_redirection(portal_group, $2); + ok = portal_group_set_redirection(portal_group, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -630,7 +630,7 @@ target_auth_group: AUTH_GROUP STR target_auth_type: AUTH_TYPE STR { - int error; + bool ok; if (target->t_auth_group != NULL) { if (target->t_auth_group->ag_name != NULL) { @@ -647,9 +647,9 @@ target_auth_type: AUTH_TYPE STR } target->t_auth_group->ag_target = target; } - error = auth_group_set_type(target->t_auth_group, $2); + ok = auth_group_set_type(target->t_auth_group, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -841,11 +841,11 @@ target_port: PORT STR target_redirect: REDIRECT STR { - int error; + bool ok; - error = target_set_redirection(target, $2); + ok = target_set_redirection(target, $2); free($2); - if (error != 0) + if (!ok) return (1); } ; @@ -1101,7 +1101,7 @@ yyerror(const char *str) lineno, yytext, str); } -int +bool parse_conf(struct conf *newconf, const char *path) { int error; @@ -1110,7 +1110,7 @@ parse_conf(struct conf *newconf, const char *path) yyin = fopen(path, "r"); if (yyin == NULL) { log_warn("unable to open configuration file %s", path); - return (1); + return (false); } lineno = 1; @@ -1122,5 +1122,5 @@ parse_conf(struct conf *newconf, const char *path) lun = NULL; fclose(yyin); - return (error); + return (error == 0); } diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index 6ddbb83b6a12..ab34096699c8 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -247,7 +247,6 @@ uclparse_toplevel(const ucl_object_t *top) { ucl_object_iter_t it = NULL, iter = NULL; const ucl_object_t *obj = NULL, *child = NULL; - int err = 0; /* Pass 1 - everything except targets */ while ((obj = ucl_iterate_object(top, &it, true))) { @@ -298,11 +297,9 @@ uclparse_toplevel(const ucl_object_t *top) if (child->type != UCL_STRING) return (false); - err = isns_new(conf, - ucl_object_tostring(child)); - if (err != 0) { + if (!isns_new(conf, + ucl_object_tostring(child))) return (false); - } } } else { log_warnx("\"isns-server\" property value is " @@ -398,7 +395,6 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) ucl_object_iter_t it = NULL, it2 = NULL; const ucl_object_t *obj = NULL, *tmp = NULL; const char *key; - int err; if (!strcmp(name, "default") && conf->conf_default_ag_defined == false) { @@ -417,8 +413,7 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) if (!strcmp(key, "auth-type")) { const char *value = ucl_object_tostring(obj); - err = auth_group_set_type(auth_group, value); - if (err) + if (!auth_group_set_type(auth_group, value)) return (false); } @@ -621,23 +616,23 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) return (false); } - if (portal_group_set_filter(portal_group, - ucl_object_tostring(obj)) != 0) + if (!portal_group_set_filter(portal_group, + ucl_object_tostring(obj))) return (false); } if (!strcmp(key, "listen")) { if (obj->type == UCL_STRING) { - if (portal_group_add_listen(portal_group, - ucl_object_tostring(obj), false) != 0) + if (!portal_group_add_listen(portal_group, + ucl_object_tostring(obj), false)) return (false); } else if (obj->type == UCL_ARRAY) { while ((tmp = ucl_iterate_object(obj, &it2, true))) { - if (portal_group_add_listen( + if (!portal_group_add_listen( portal_group, ucl_object_tostring(tmp), - false) != 0) + false)) return (false); } } else { @@ -650,16 +645,16 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) if (!strcmp(key, "listen-iser")) { if (obj->type == UCL_STRING) { - if (portal_group_add_listen(portal_group, - ucl_object_tostring(obj), true) != 0) + if (!portal_group_add_listen(portal_group, + ucl_object_tostring(obj), true)) return (false); } else if (obj->type == UCL_ARRAY) { while ((tmp = ucl_iterate_object(obj, &it2, true))) { - if (portal_group_add_listen( + if (!portal_group_add_listen( portal_group, ucl_object_tostring(tmp), - true) != 0) + true)) return (false); } } else { @@ -678,8 +673,8 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) return (false); } - if (portal_group_set_redirection(portal_group, - ucl_object_tostring(obj)) != 0) + if (!portal_group_set_redirection(portal_group, + ucl_object_tostring(obj))) return (false); } @@ -767,8 +762,6 @@ uclparse_target(const char *name, const ucl_object_t *top) } if (!strcmp(key, "auth-type")) { - int error; - if (target->t_auth_group != NULL) { if (target->t_auth_group->ag_name != NULL) { log_warnx("cannot use both auth-group and " @@ -783,9 +776,8 @@ uclparse_target(const char *name, const ucl_object_t *top) target->t_auth_group->ag_target = target; } - error = auth_group_set_type(target->t_auth_group, - ucl_object_tostring(obj)); - if (error != 0) + if (!auth_group_set_type(target->t_auth_group, + ucl_object_tostring(obj))) return (false); } @@ -889,8 +881,8 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (target_set_redirection(target, - ucl_object_tostring(obj)) != 0) + if (!target_set_redirection(target, + ucl_object_tostring(obj))) return (false); } @@ -1001,7 +993,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) return (true); } -int +bool uclparse_conf(struct conf *newconf, const char *path) { struct ucl_parser *parser; @@ -1015,7 +1007,7 @@ uclparse_conf(struct conf *newconf, const char *path) log_warn("unable to parse configuration file %s: %s", path, ucl_parser_get_error(parser)); ucl_parser_free(parser); - return (1); + return (false); } top = ucl_parser_get_object(parser); @@ -1023,5 +1015,5 @@ uclparse_conf(struct conf *newconf, const char *path) ucl_object_unref(top); ucl_parser_free(parser); - return (parsed ? 0 : 1); + return (parsed); } From nobody Wed Feb 12 19:34:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT5y2BR8z5nFjj; Wed, 12 Feb 2025 19:34:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT5x6lGZz3T0M; Wed, 12 Feb 2025 19:34:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GTtLNlVULXGxNyWjOgj9AxFFbcNg0QXvLCazfumSch0=; b=I0GLSf2/rR+cNX6iDRqLIEhNr+v07NqESw6Jm4X5aX+ke10B7PpHAWqfo4y1z+3cEXhuA2 3v5/7qqUcZFhcECmDvWZy42ReAMmrpZgY56JTe3ux0SfAqTrc/qCdur760owsKV+XHBA4Q iQHaU4Jwy63wA+NH3oUg4nx5FMAAKlEwikvM7RQfHpIMf+r3oCEAXT+/LJMKeuc9iGR1xD L9mauLzbMVpCxEL46Yp3nsb/CGWPoF0RB3RrrKzwKeSsr18JAAvWgJadPnDc/MEb5Ifu5m 5VvFuAyaIL5wGk+UBJ5gy6I8a+yAWxkIY4okneKYvl0UC5TkJU4fpp9ROzEM7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388870; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GTtLNlVULXGxNyWjOgj9AxFFbcNg0QXvLCazfumSch0=; b=A0myAQ56f1rPKcu0WkAeAnOd0qPxQaBVDh/xMKnPmroSvoehtpFNg31wCiygMMipJJr+tS 5d0oHAMsoFvG9+WAPv5UT6GZRskGh2qw63GgCwCiMkFQsinsTB/E/UqhjNf4b7JckKcvAd yHnHNtgojO3uNLyXMdIyqgyci4YNdAMRaHhYhe/qfdeypj6Fs/4Xu1Fmk7+iwagDRkmyht xETJm1bNZQtJ072mX1sx0KVdnW9KfBHIsUpPtUJrkBouZeFCyZXV++1Q4R80vUio0gBzIx Qafg9Td7NOwEsJiIWVPrQVTRSopFWeU3TeacJkuX4msa8yLgCzWj+LAGb78rig== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388870; a=rsa-sha256; cv=none; b=rje3o0qncAnr1Jq9er2GgC1QXRUSINROS03sOSAlE46l2sirRLvYpZlUVWGGJig5PkkGOn xB47RglaRR9QjuXjRLwRvKC6ZUOEeOG0Yy8kM3SnrpOOE0fj0zRBOVzhl7XOgiJ+R1fXFd sY4sf6M7pd9W1X08z3I+svYeUnaLeNJO80HujLih3McJG1p7sBKzvu88HQYpXR2mBKbDwL unfjcOCQCNOf2Hg+SsO5p+p0ESGfdCDKIj4om/JcgZISkPkjciMrAFwpLDWQ0hc219cbxM 4CGL/CiXZ2WSS+QfPf85Lc3eeWXzFhrBHmrFJrw431Wy9ku4c4LO5rTZrs3zHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT5x6K7wz1Bst; Wed, 12 Feb 2025 19:34:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51CJYT9E059763; Wed, 12 Feb 2025 19:34:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYTkb059760; Wed, 12 Feb 2025 19:34:29 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:29 GMT Message-Id: <202502121934.51CJYTkb059760@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: 6de7a0d6c476 - main - ctld: Consistently free temporary strings during yacc parsing List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 6de7a0d6c47615beecd8692e580aa3136c243303 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6de7a0d6c47615beecd8692e580aa3136c243303 commit 6de7a0d6c47615beecd8692e580aa3136c243303 Author: John Baldwin AuthorDate: 2025-02-12 19:26:16 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:26:16 +0000 ctld: Consistently free temporary strings during yacc parsing The lexer always allocates a duplicate string via strdup for STR tokens. The parse handlers did not always free these duplicated strings after consuming them. Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48929 --- usr.sbin/ctld/parse.y | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/usr.sbin/ctld/parse.y b/usr.sbin/ctld/parse.y index 455411e31442..8ec33ee9286b 100644 --- a/usr.sbin/ctld/parse.y +++ b/usr.sbin/ctld/parse.y @@ -116,6 +116,7 @@ debug: DEBUG STR free($2); return (1); } + free($2); conf->conf_debug = tmp; } @@ -130,6 +131,7 @@ timeout: TIMEOUT STR free($2); return (1); } + free($2); conf->conf_timeout = tmp; } @@ -144,6 +146,7 @@ maxproc: MAXPROC STR free($2); return (1); } + free($2); conf->conf_maxproc = tmp; } @@ -180,6 +183,7 @@ isns_period: ISNS_PERIOD STR free($2); return (1); } + free($2); conf->conf_isns_period = tmp; } @@ -194,6 +198,7 @@ isns_timeout: ISNS_TIMEOUT STR free($2); return (1); } + free($2); conf->conf_isns_timeout = tmp; } @@ -366,6 +371,7 @@ portal_group_discovery_auth_group: DISCOVERY_AUTH_GROUP STR log_warnx("discovery-auth-group for portal-group " "\"%s\" specified more than once", portal_group->pg_name); + free($2); return (1); } portal_group->pg_discovery_auth_group = @@ -374,6 +380,7 @@ portal_group_discovery_auth_group: DISCOVERY_AUTH_GROUP STR log_warnx("unknown discovery-auth-group \"%s\" " "for portal-group \"%s\"", $2, portal_group->pg_name); + free($2); return (1); } free($2); @@ -463,6 +470,7 @@ portal_group_tag: TAG STR free($2); return (1); } + free($2); portal_group->pg_tag = tmp; } @@ -480,6 +488,7 @@ portal_group_dscp free($2); return(1); } + free($2); if (tmp >= 0x40) { yyerror("invalid dscp value"); return(1); @@ -520,9 +529,9 @@ portal_group_pcp: PCP STR free($2); return (1); } + free($2); if (tmp > 7) { yyerror("invalid pcp value"); - free($2); return (1); } @@ -600,6 +609,7 @@ target_alias: ALIAS STR if (target->t_alias != NULL) { log_warnx("alias for target \"%s\" " "specified more than once", target->t_name); + free($2); return (1); } target->t_alias = $2; @@ -616,12 +626,14 @@ target_auth_group: AUTH_GROUP STR log_warnx("cannot use both auth-group and explicit " "authorisations for target \"%s\"", target->t_name); + free($2); return (1); } target->t_auth_group = auth_group_find(conf, $2); if (target->t_auth_group == NULL) { log_warnx("unknown auth-group \"%s\" for target " "\"%s\"", $2, target->t_name); + free($2); return (1); } free($2); @@ -637,6 +649,7 @@ target_auth_type: AUTH_TYPE STR log_warnx("cannot use both auth-group and " "auth-type for target \"%s\"", target->t_name); + free($2); return (1); } } else { @@ -789,24 +802,22 @@ target_portal_group: PORTAL_GROUP STR STR free($3); return (1); } + free($2); tag = auth_group_find(conf, $3); if (tag == NULL) { log_warnx("unknown auth-group \"%s\" for target " "\"%s\"", $3, target->t_name); - free($2); free($3); return (1); } + free($3); tp = port_new(conf, target, tpg); if (tp == NULL) { log_warnx("can't link portal-group \"%s\" to target " - "\"%s\"", $2, target->t_name); - free($2); + "\"%s\"", tpg->pg_name, target->t_name); return (1); } tp->p_auth_group = tag; - free($2); - free($3); } | PORTAL_GROUP STR { @@ -820,14 +831,13 @@ target_portal_group: PORTAL_GROUP STR STR free($2); return (1); } + free($2); tp = port_new(conf, target, tpg); if (tp == NULL) { log_warnx("can't link portal-group \"%s\" to target " - "\"%s\"", $2, target->t_name); - free($2); + "\"%s\"", tpg->pg_name, target->t_name); return (1); } - free($2); } ; @@ -868,9 +878,9 @@ lun_number: STR free($1); return (1); } + free($1); if (tmp >= MAX_LUNS) { yyerror("LU number is too big"); - free($1); return (1); } @@ -962,6 +972,7 @@ lun_blocksize: BLOCKSIZE STR free($2); return (1); } + free($2); if (lun->l_blocksize != 0) { log_warnx("blocksize for lun \"%s\" " @@ -1007,6 +1018,7 @@ lun_device_type: DEVICE_TYPE STR free($2); return (1); } + free($2); lun_set_device_type(lun, tmp); } @@ -1021,6 +1033,7 @@ lun_ctl_lun: CTL_LUN STR free($2); return (1); } + free($2); if (lun->l_ctl_lun >= 0) { log_warnx("ctl_lun for lun \"%s\" " @@ -1081,6 +1094,7 @@ lun_size: SIZE STR free($2); return (1); } + free($2); if (lun->l_size != 0) { log_warnx("size for lun \"%s\" " From nobody Wed Feb 12 19:34:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT5z2jK3z5nG7h; Wed, 12 Feb 2025 19:34:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT5z0pNLz3SqJ; Wed, 12 Feb 2025 19:34:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LCGDLmbdNPyi3FcYZGEmtU+B+DRRhz4OjA69hqIu3jI=; b=ImhudcWTzau5HqiVNotOeU+6botnm2sRRU1Ik5XdYarnEMNObMtCBP90S6LgWVtD283HGk 9ixzeiL2W+1mO5n2yT7/KHf4RXn1yM98eB0s+G/FrwOAtRcWNfdx5npwn6bm6qjCupFKqT mtiRKnbPdlBu4+j6sNRcm9WFZYw8I5Hsc/t2jszt/o112+c6tLsIrT2eelDgUl9IZYqOTJ KGX+QekGcFeMH/UODWrY+NK9N8C0BF7pXIxqFLM6L5vsvDSr0oiTNx0efMc21yKv/d8DCQ gIOb5u/AXktt7SZc3OAlstEP7afsA7zXJu2ZbIH2vJR25P+gKD7XpsHT5+ikPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388871; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LCGDLmbdNPyi3FcYZGEmtU+B+DRRhz4OjA69hqIu3jI=; b=yfvivFqlfva/DBgB9p1eDuANtf/J74CbQsdq2usJbMWt5VNEiJtPCie3JyWABrRXIaYLeR c5SvqRqahjnI8rprw5Cd4GAPIqPBxH8W9wdM0eHZAGjHQh67NdSgtQB3vNjFbJanWT1MCv DlAv/qD4/sIH8SM0OL0KzE4ARU3Kqs+/g4tOwko+jkmoSNPdyRFMbZdrE06il4jc7uMlBB hyArNbe+GUYdQrK2tptZLnaZe/g5n1uRnSIQcTv8oPDdvuWA+81kKJA3QWOsWNlzEa2Ilm +jhbBOxqSsK4qQG5OMbmQ/cM96OldVaaWGYFvq9A4NueTfsMjEHypr3cmXjS8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388871; a=rsa-sha256; cv=none; b=e1xM1csLD3Rymq1VL9EgauCjTLBOgJadmEv1N7BN7u/1p6SYgoaQaUVpark9UcaSEVzFPp XvE2XBWiWXhUz7xSySikocNXBY3btVvopwG6d7mO5Wy22/Lp6RYULV0LHkZSk/Ch97Kdfk fFaPwirnVVAdQVEA9PELzZ7OZfGZAaw0zLfL9ESXh6qD9rTZaQoXCRubwt3PFkdpgljaeB ZlOQ7k/bJoYyKrAm6ZVdpbq0auZznC0qJ2uRAF/Riw5uAxpP3g05kiQMRAQ2qwpJImn++V f7GQYivLG7BNKdGOLIBzxthphGNs39P3sGCCBmqK6OgKLR5SpwCrwBy10qxfVw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT5z0BXHz1BlB; Wed, 12 Feb 2025 19:34:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51CJYU4X059796; Wed, 12 Feb 2025 19:34:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYUw2059793; Wed, 12 Feb 2025 19:34:30 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:30 GMT Message-Id: <202502121934.51CJYUw2059793@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: 64905b38b1ae - main - ctld: Fix the isns-period and isns-timeout keywords in the UCL parser List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 64905b38b1aeeaa9faeb90192b762efc1c2216ee Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=64905b38b1aeeaa9faeb90192b762efc1c2216ee commit 64905b38b1aeeaa9faeb90192b762efc1c2216ee Author: John Baldwin AuthorDate: 2025-02-12 19:26:43 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:26:43 +0000 ctld: Fix the isns-period and isns-timeout keywords in the UCL parser These keywords were setting the wrong configuration value (connection timeout). Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48930 --- usr.sbin/ctld/uclparse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index ab34096699c8..bd3c90283f6d 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -310,7 +310,7 @@ uclparse_toplevel(const ucl_object_t *top) if (!strcmp(key, "isns-period")) { if (obj->type == UCL_INT) - conf->conf_timeout = ucl_object_toint(obj); + conf->conf_isns_period = ucl_object_toint(obj); else { log_warnx("\"isns-period\" property value is not integer"); return (false); @@ -319,7 +319,7 @@ uclparse_toplevel(const ucl_object_t *top) if (!strcmp(key, "isns-timeout")) { if (obj->type == UCL_INT) - conf->conf_timeout = ucl_object_toint(obj); + conf->conf_isns_timeout = ucl_object_toint(obj); else { log_warnx("\"isns-timeout\" property value is not integer"); return (false); From nobody Wed Feb 12 19:34:31 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT605Lf0z5nGcv; Wed, 12 Feb 2025 19:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT6026BNz3T2x; Wed, 12 Feb 2025 19:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pp0uEYwc+U44UO1qMF26P5977o8ayyJG/3Pel+EQCDc=; b=lLDEb3FuE/vhrP7hcg9n7Y2ea4LP3mBAwvtyVgZLy2LNbfKsu37bS3K9l5lSccmOlJsZjV cy50/60JEQdLJ+vtEM23yX/t7Lysfd3NspT1MJkneG10qsd4DDZ2TGDVoigciDaSM8HjcM ZRhqU15M3FZDf4rnLYKWL03lCfPQ+QJ+boFXNqwBE9MfFkuBQU79sZehsTjF/zsGEtrGVl BRvjWip7R23Y8bwt1/IhL5HhDgBv/yIls3Ec3VpFSf2c715wx1oH7teQKeU/7MBDnSPUL3 ElbBVoYvbLFQQR4P/Cu0mpeB3Rc8jqPtA0ypcm5h1JHrdoQVIso+O+GPLNfU/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388872; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pp0uEYwc+U44UO1qMF26P5977o8ayyJG/3Pel+EQCDc=; b=QUEr5GF0FDH2mwarSSo1eyHWR+d22jWRLKZxpsa4d/I3+lcAcfZyWo53XmccP1MdpApq+6 GACx9Sc8IjEMwgalQ+WHf/VW9oh0mbW7ZS0j4QOJ1NOjvciJi+Prw0qdavKLyTNIn/o67q 0EcdOQPl6bz2fs1WJZahxat04pR/5QnBHhwyqKEyPq3OJBi6s+gcfoukHT/YJiXe5JioPz HE8rhNDNagh0ArNrcsTWt3SH9HquPQ/3gxMQfof0S4u9XH+9QOU16OXzf4xwLgSed1pZio vMnpHC4uYxvijbfSMPf+k1FRv+Z1+goV8Y12B0Gzd/PolOVBdAjGagoWJhgtgw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388872; a=rsa-sha256; cv=none; b=HOMPQYnnZIxDGoaxdt22M4yQC6IOdPIBsgMd6bKK8SUIPI7AxzJ3++lgZgQ0annurgtV3O 2dWa4AnB/cZquI6dpPiQGaO60SA7mL70J3e92NAh1ANoekxbUVlqReHQ52mBTYthrz5rw5 6mdDGm+w9de5lJP99D6I6vfxH8KfKHRiM7nrTlF3MDLj+PcfIWYYwVDsRuSSDvq23bP8iW QYiUI7l7PK+WhB3GWUmM+zXkoBhMp1//kVsHS9sVCmdAGZsBnnP1OBozU65v7WS5PAG1UB sl9ZVuUHEj0+vFjX/eRVJYWvC30xRVilxINBWmZF0PrYa+zOjL1iEQvo44H+zw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT600mx8z1BV1; Wed, 12 Feb 2025 19:34:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51CJYVKc059837; Wed, 12 Feb 2025 19:34:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYV04059834; Wed, 12 Feb 2025 19:34:31 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:31 GMT Message-Id: <202502121934.51CJYV04059834@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: f42f7bedabb3 - main - ctld: Fail for missing or invalid CHAP secrets in UCL config List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: f42f7bedabb329b68c7c9aa0d9a2dc49637d385f Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f42f7bedabb329b68c7c9aa0d9a2dc49637d385f commit f42f7bedabb329b68c7c9aa0d9a2dc49637d385f Author: John Baldwin AuthorDate: 2025-02-12 19:27:06 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:27:06 +0000 ctld: Fail for missing or invalid CHAP secrets in UCL config Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48931 --- usr.sbin/ctld/uclparse.c | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index bd3c90283f6d..8654004d009e 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -73,6 +73,7 @@ uclparse_chap(struct auth_group *auth_group, const ucl_object_t *obj) if (!secret || secret->type != UCL_STRING) { log_warnx("chap section in auth-group \"%s\" is missing " "\"secret\" string key", auth_group->ag_name); + return (false); } ca = auth_new_chap(auth_group, From nobody Wed Feb 12 19:34: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 4YtT640RSBz5nGX7; Wed, 12 Feb 2025 19:34:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT623hmfz3T5h; Wed, 12 Feb 2025 19:34:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388874; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nI0ZSrGgtKuS9J92eaO2vf2akHoVI4UAUleNmEx9dlo=; b=ISH0ylJFK3JWQm9gfLZnvn8X7vz1vxhvk1BpO3WDQ3xwZeTblKG1pQnpsPKRDpzlx7nrO8 gVMe2VR0YwuJcvtgCMFD+kzGt5GiOmUm53aYK1Gl2IxZ8Gwd//SqMvX1fvzAHZl9RxTWOp KaIWj+CqT/c/6fY96JZhXGqkMLcN1F+H5HtVVfOzZczLAgE4BW6/kEBROs/7+JnToinrzL yq3G81cP8hitn0iv9eDAbKsl2H0ZBqxR0WcTwsQ3/UIR6i8n0bIdWec7DQd7k+8G5+/lxx 501fniLcGHVMSRWbW9DUrEY31AseOjYZfQTCuQ3hP6W+77BMoletc22KPCV7Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388874; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nI0ZSrGgtKuS9J92eaO2vf2akHoVI4UAUleNmEx9dlo=; b=iZ9/xtokcp1nHXnBjH37KjGsm4BNEgNVzV3Ig/WlOqflR5Lr3kOMmpNSUrkIlkxU8Zrdmq emWAYv9QDxZR8L02258b4NdYUwrf5gOqj5LVP9LCB/MDgZNzuBe02pO1Ya9EhMgr98UOZ5 0ig0A91meEJVH52vycXTM8WosTlMm6hlMMLsAoqSDgg69BWHxN1LN81ldOnAdam9cNPUw9 QosAERRVtdAHa1/WBVxPNzH8Jf9R9C5Mvuh6OvJqY/BHwDNydSJgXR1CkVg5lH8c4PwZex jRYUyasJSokwadUlcKYCYHzthvT/FtxUBM0rVN7CKgWJr4DBBzC40EdQTIdKRQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388874; a=rsa-sha256; cv=none; b=BOxJYAy+0de+PmDGajz9rGhj9+84EWx4HK8eyhvoPR2FZMOj/0OdrLhS8EIZ0SMYP56J3Y NviTnIHFC8mbGbv0TohwSRTqpBpTY8HmQUzvadbBfSSy0ortowMp41tGJTvQb938G7AmHV UXUcIQ+POe1UhPSpD2clIVsb1svCIqUVMr4ftTx0V9MG3NyE7EY0BMYSC1mITYJEfjVbRj GYBVM+c1pIDhrPgtvyqmiidNYLJJVj+3nPdhBByXRP8B4Z9Bae9wWipfi7QCkeEhhBX7yD ZO8L2R8OR23CVxnH5+4HMiUhQlrCfOiZHIRIJVM5cD9N2jSGeljz8sd0q9MWLA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT622kJjz1BgN; Wed, 12 Feb 2025 19:34: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 51CJYYHI059905; Wed, 12 Feb 2025 19:34:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYYR2059902; Wed, 12 Feb 2025 19:34:34 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:34 GMT Message-Id: <202502121934.51CJYYR2059902@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: 5e6a462277b1 - main - ctld: Fix parsing of text values for DSCP in UCL parser List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 5e6a462277b1e28ea5338a3031c509c829dcf588 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=5e6a462277b1e28ea5338a3031c509c829dcf588 commit 5e6a462277b1e28ea5338a3031c509c829dcf588 Author: John Baldwin AuthorDate: 2025-02-12 19:27:53 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:27:53 +0000 ctld: Fix parsing of text values for DSCP in UCL parser Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48933 --- usr.sbin/ctld/uclparse.c | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index b782779f4d0e..fb14a7fe618a 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -505,49 +505,49 @@ uclparse_dscp(const char *group_type, struct portal_group *portal_group, key = ucl_object_tostring(obj); if (strcmp(key, "0x") == 0) portal_group->pg_dscp = strtol(key + 2, NULL, 16); - else if (strcmp(key, "be") || strcmp(key, "cs0")) + else if (strcmp(key, "be") == 0 || strcmp(key, "cs0") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS0 >> 2; - else if (strcmp(key, "ef")) + else if (strcmp(key, "ef") == 0) portal_group->pg_dscp = IPTOS_DSCP_EF >> 2; - else if (strcmp(key, "cs0")) + else if (strcmp(key, "cs0") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS0 >> 2; - else if (strcmp(key, "cs1")) + else if (strcmp(key, "cs1") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS1 >> 2; - else if (strcmp(key, "cs2")) + else if (strcmp(key, "cs2") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS2 >> 2; - else if (strcmp(key, "cs3")) + else if (strcmp(key, "cs3") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS3 >> 2; - else if (strcmp(key, "cs4")) + else if (strcmp(key, "cs4") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS4 >> 2; - else if (strcmp(key, "cs5")) + else if (strcmp(key, "cs5") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS5 >> 2; - else if (strcmp(key, "cs6")) + else if (strcmp(key, "cs6") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS6 >> 2; - else if (strcmp(key, "cs7")) + else if (strcmp(key, "cs7") == 0) portal_group->pg_dscp = IPTOS_DSCP_CS7 >> 2; - else if (strcmp(key, "af11")) + else if (strcmp(key, "af11") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF11 >> 2; - else if (strcmp(key, "af12")) + else if (strcmp(key, "af12") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF12 >> 2; - else if (strcmp(key, "af13")) + else if (strcmp(key, "af13") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF13 >> 2; - else if (strcmp(key, "af21")) + else if (strcmp(key, "af21") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF21 >> 2; - else if (strcmp(key, "af22")) + else if (strcmp(key, "af22") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF22 >> 2; - else if (strcmp(key, "af23")) + else if (strcmp(key, "af23") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF23 >> 2; - else if (strcmp(key, "af31")) + else if (strcmp(key, "af31") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF31 >> 2; - else if (strcmp(key, "af32")) + else if (strcmp(key, "af32") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF32 >> 2; - else if (strcmp(key, "af33")) + else if (strcmp(key, "af33") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF33 >> 2; - else if (strcmp(key, "af41")) + else if (strcmp(key, "af41") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF41 >> 2; - else if (strcmp(key, "af42")) + else if (strcmp(key, "af42") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF42 >> 2; - else if (strcmp(key, "af43")) + else if (strcmp(key, "af43") == 0) portal_group->pg_dscp = IPTOS_DSCP_AF43 >> 2; else { log_warnx("\"dscp\" property value is not a supported textual value"); From nobody Wed Feb 12 19:34:33 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtT623rXWz5nGGM; Wed, 12 Feb 2025 19:34:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtT611zQBz3SxK; Wed, 12 Feb 2025 19:34:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388873; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z5xACSw0DkdRiIxhmGUygFH6v/7BxkGIspHb7E8BhKA=; b=DogKgFxnNaitHWJW+a8OSUYTFIBOj3moYSmNJRtR2eFbS4YugOp9mYIlXEqeyMn3FMW14h I35tMMXaU8+1VmCBD/rMrKhZZErePSUdoFhgHDJTSg2vvgLMbx4MmoadnA9zoz8q/h+7vK UIeY0ciR6Eo4CcTqN70Yt48huAfVZYw13e6f1C6I7gyDk8wtVAf6c154kKqNHBOrxldpx+ T0syiPR448YWVkpTavCTlUb4JbEQgrUIhYf3Nt81FxLP8sucXmY8UJfSMD9IOD3rtZmtU/ 8YSqebHEMQanRqMJXWGKB28K5gce0+MfhKrsXmSziz/dFMnPJweQnkOFfWAx5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739388873; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z5xACSw0DkdRiIxhmGUygFH6v/7BxkGIspHb7E8BhKA=; b=je6OAIfX4mS0CXciZ8p3umbVduDBgW9abYKdckRJwYEJMQExG50zW8l6swWgHBt/1eWAmz EJfrr0EW0fcNj0snWY1DTpbC0r8KTseznw3QRlPzp4zHKSD4PNvO5b8cj+v57Z5Bu6tAop d4MLftkTK4weq711WTfpbCrwTjoP4ADeEew2CammrXkW+RKll/8M4YsMFY+Nu+uax5NzjJ Qt99RbgKzKiF3C5aIOg/1MZChyULo6RjO5Xaa7nhwMuFpw9NJzw7Nd8K+a/GnbPtYtFnje 8UquJLI1gmlvxgD+aHuBaIXefPm9Yshis3ooB+T+h3x6eo5v3jiEHt/4JbSR5w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739388873; a=rsa-sha256; cv=none; b=eBCPnPsWfOwzIMdHvfFgHPi4iGl1BTE298JAgPgqiilBvfuoFycasZhgQJtQw3cfISvVmO +DDiprlW1VldANUZ/DF820hwvnLQqljDjM0DvrQ4LJzpUz9AFqqWQi5huW8HKxtt9PGMvs AoGvWL71W4ZNiX3MkDNgJeeg3IiVLd0CO4NNw2ftq383MOw3+Xee+bq3O9PJKPUHMECTGq bYxxw16E/G5cYXpu4AqYSmK8ofkVSylWfAYiW4qA/2TxMg4J5b+GJgXmQc+OfQvRTX1tD0 Dw18zzakjrGHEnC/xL2/8eCdryIvKmD6teDbRChPslc4QZcVnKJ1rhsB1F8nSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtT611Cqgz1BWm; Wed, 12 Feb 2025 19:34:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51CJYXka059871; Wed, 12 Feb 2025 19:34:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJYXPN059868; Wed, 12 Feb 2025 19:34:33 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:34:33 GMT Message-Id: <202502121934.51CJYXPN059868@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: 79a4240b1359 - main - ctld: Use preferred style for evaluating result of strcmp List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 79a4240b135952cb318adf216a9e5d3ccbd6e343 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=79a4240b135952cb318adf216a9e5d3ccbd6e343 commit 79a4240b135952cb318adf216a9e5d3ccbd6e343 Author: John Baldwin AuthorDate: 2025-02-12 19:27:30 +0000 Commit: John Baldwin CommitDate: 2025-02-12 19:27:30 +0000 ctld: Use preferred style for evaluating result of strcmp Reviewed by: asomers Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D48932 --- usr.sbin/ctld/uclparse.c | 86 ++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/usr.sbin/ctld/uclparse.c b/usr.sbin/ctld/uclparse.c index 8654004d009e..b782779f4d0e 100644 --- a/usr.sbin/ctld/uclparse.c +++ b/usr.sbin/ctld/uclparse.c @@ -253,7 +253,7 @@ uclparse_toplevel(const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { const char *key = ucl_object_key(obj); - if (!strcmp(key, "debug")) { + if (strcmp(key, "debug") == 0) { if (obj->type == UCL_INT) conf->conf_debug = ucl_object_toint(obj); else { @@ -262,7 +262,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "timeout")) { + if (strcmp(key, "timeout") == 0) { if (obj->type == UCL_INT) conf->conf_timeout = ucl_object_toint(obj); else { @@ -271,7 +271,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "maxproc")) { + if (strcmp(key, "maxproc") == 0) { if (obj->type == UCL_INT) conf->conf_maxproc = ucl_object_toint(obj); else { @@ -280,7 +280,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "pidfile")) { + if (strcmp(key, "pidfile") == 0) { if (obj->type == UCL_STRING) conf->conf_pidfile_path = strdup( ucl_object_tostring(obj)); @@ -290,7 +290,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "isns-server")) { + if (strcmp(key, "isns-server") == 0) { if (obj->type == UCL_ARRAY) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, @@ -309,7 +309,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "isns-period")) { + if (strcmp(key, "isns-period") == 0) { if (obj->type == UCL_INT) conf->conf_isns_period = ucl_object_toint(obj); else { @@ -318,7 +318,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "isns-timeout")) { + if (strcmp(key, "isns-timeout") == 0) { if (obj->type == UCL_INT) conf->conf_isns_timeout = ucl_object_toint(obj); else { @@ -327,7 +327,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "auth-group")) { + if (strcmp(key, "auth-group") == 0) { if (obj->type == UCL_OBJECT) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, true))) { @@ -339,7 +339,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "portal-group")) { + if (strcmp(key, "portal-group") == 0) { if (obj->type == UCL_OBJECT) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, true))) { @@ -351,7 +351,7 @@ uclparse_toplevel(const ucl_object_t *top) } } - if (!strcmp(key, "lun")) { + if (strcmp(key, "lun") == 0) { if (obj->type == UCL_OBJECT) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, true))) { @@ -369,7 +369,7 @@ uclparse_toplevel(const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { const char *key = ucl_object_key(obj); - if (!strcmp(key, "target")) { + if (strcmp(key, "target") == 0) { if (obj->type == UCL_OBJECT) { iter = NULL; while ((child = ucl_iterate_object(obj, &iter, @@ -397,7 +397,7 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) const ucl_object_t *obj = NULL, *tmp = NULL; const char *key; - if (!strcmp(name, "default") && + if (strcmp(name, "default") == 0 && conf->conf_default_ag_defined == false) { auth_group = auth_group_find(conf, name); conf->conf_default_ag_defined = true; @@ -411,14 +411,14 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { key = ucl_object_key(obj); - if (!strcmp(key, "auth-type")) { + if (strcmp(key, "auth-type") == 0) { const char *value = ucl_object_tostring(obj); if (!auth_group_set_type(auth_group, value)) return (false); } - if (!strcmp(key, "chap")) { + if (strcmp(key, "chap") == 0) { if (obj->type != UCL_ARRAY) { log_warnx("\"chap\" property of " "auth-group \"%s\" is not an array", @@ -433,7 +433,7 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "chap-mutual")) { + if (strcmp(key, "chap-mutual") == 0) { if (obj->type != UCL_ARRAY) { log_warnx("\"chap-mutual\" property of " "auth-group \"%s\" is not an array", @@ -448,7 +448,7 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "initiator-name")) { + if (strcmp(key, "initiator-name") == 0) { if (obj->type != UCL_ARRAY) { log_warnx("\"initiator-name\" property of " "auth-group \"%s\" is not an array", @@ -466,7 +466,7 @@ uclparse_auth_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "initiator-portal")) { + if (strcmp(key, "initiator-portal") == 0) { if (obj->type != UCL_ARRAY) { log_warnx("\"initiator-portal\" property of " "auth-group \"%s\" is not an array", @@ -597,7 +597,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { key = ucl_object_key(obj); - if (!strcmp(key, "discovery-auth-group")) { + if (strcmp(key, "discovery-auth-group") == 0) { portal_group->pg_discovery_auth_group = auth_group_find(conf, ucl_object_tostring(obj)); if (portal_group->pg_discovery_auth_group == NULL) { @@ -609,7 +609,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "discovery-filter")) { + if (strcmp(key, "discovery-filter") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"discovery-filter\" property of " "portal-group \"%s\" is not a string", @@ -622,7 +622,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "listen")) { + if (strcmp(key, "listen") == 0) { if (obj->type == UCL_STRING) { if (!portal_group_add_listen(portal_group, ucl_object_tostring(obj), false)) @@ -644,7 +644,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "listen-iser")) { + if (strcmp(key, "listen-iser") == 0) { if (obj->type == UCL_STRING) { if (!portal_group_add_listen(portal_group, ucl_object_tostring(obj), true)) @@ -666,7 +666,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "redirect")) { + if (strcmp(key, "redirect") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"listen\" property of " "portal-group \"%s\" is not a string", @@ -679,7 +679,7 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "options")) { + if (strcmp(key, "options") == 0) { if (obj->type != UCL_OBJECT) { log_warnx("\"options\" property of portal group " "\"%s\" is not an object", portal_group->pg_name); @@ -695,12 +695,12 @@ uclparse_portal_group(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "dscp")) { + if (strcmp(key, "dscp") == 0) { if (!uclparse_dscp("portal", portal_group, obj)) return (false); } - if (!strcmp(key, "pcp")) { + if (strcmp(key, "pcp") == 0) { if (!uclparse_pcp("portal", portal_group, obj)) return (false); } @@ -724,7 +724,7 @@ uclparse_target(const char *name, const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { key = ucl_object_key(obj); - if (!strcmp(key, "alias")) { + if (strcmp(key, "alias") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"alias\" property of target " "\"%s\" is not a string", target->t_name); @@ -734,7 +734,7 @@ uclparse_target(const char *name, const ucl_object_t *top) target->t_alias = strdup(ucl_object_tostring(obj)); } - if (!strcmp(key, "auth-group")) { + if (strcmp(key, "auth-group") == 0) { const char *ag; if (target->t_auth_group != NULL) { @@ -762,7 +762,7 @@ uclparse_target(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "auth-type")) { + if (strcmp(key, "auth-type") == 0) { if (target->t_auth_group != NULL) { if (target->t_auth_group->ag_name != NULL) { log_warnx("cannot use both auth-group and " @@ -782,7 +782,7 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "chap")) { + if (strcmp(key, "chap") == 0) { if (target->t_auth_group != NULL) { if (target->t_auth_group->ag_name != NULL) { log_warnx("cannot use both auth-group " @@ -801,12 +801,12 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "chap-mutual")) { + if (strcmp(key, "chap-mutual") == 0) { if (!uclparse_chap_mutual(target->t_auth_group, obj)) return (false); } - if (!strcmp(key, "initiator-name")) { + if (strcmp(key, "initiator-name") == 0) { const struct auth_name *an; if (target->t_auth_group != NULL) { @@ -829,7 +829,7 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "initiator-portal")) { + if (strcmp(key, "initiator-portal") == 0) { const struct auth_portal *ap; if (target->t_auth_group != NULL) { @@ -852,7 +852,7 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "portal-group")) { + if (strcmp(key, "portal-group") == 0) { if (obj->type == UCL_OBJECT) { if (!uclparse_target_portal_group(target, obj)) return (false); @@ -868,14 +868,14 @@ uclparse_target(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "port")) { + if (strcmp(key, "port") == 0) { const char *value; value = ucl_object_tostring(obj); target->t_pport = strdup(value); } - if (!strcmp(key, "redirect")) { + if (strcmp(key, "redirect") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"redirect\" property of target " "\"%s\" is not a string", target->t_name); @@ -887,7 +887,7 @@ uclparse_target(const char *name, const ucl_object_t *top) return (false); } - if (!strcmp(key, "lun")) { + if (strcmp(key, "lun") == 0) { while ((tmp = ucl_iterate_object(obj, &it2, true))) { if (!uclparse_target_lun(target, tmp)) return (false); @@ -913,7 +913,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) while ((obj = ucl_iterate_object(top, &it, true))) { key = ucl_object_key(obj); - if (!strcmp(key, "backend")) { + if (strcmp(key, "backend") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"backend\" property of lun " "\"%s\" is not a string", @@ -924,7 +924,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) lun_set_backend(lun, ucl_object_tostring(obj)); } - if (!strcmp(key, "blocksize")) { + if (strcmp(key, "blocksize") == 0) { if (obj->type != UCL_INT) { log_warnx("\"blocksize\" property of lun " "\"%s\" is not an integer", lun->l_name); @@ -934,7 +934,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) lun_set_blocksize(lun, ucl_object_toint(obj)); } - if (!strcmp(key, "device-id")) { + if (strcmp(key, "device-id") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"device-id\" property of lun " "\"%s\" is not an integer", lun->l_name); @@ -944,7 +944,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) lun_set_device_id(lun, ucl_object_tostring(obj)); } - if (!strcmp(key, "options")) { + if (strcmp(key, "options") == 0) { if (obj->type != UCL_OBJECT) { log_warnx("\"options\" property of lun " "\"%s\" is not an object", lun->l_name); @@ -960,7 +960,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) } } - if (!strcmp(key, "path")) { + if (strcmp(key, "path") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"path\" property of lun " "\"%s\" is not a string", lun->l_name); @@ -970,7 +970,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) lun_set_path(lun, ucl_object_tostring(obj)); } - if (!strcmp(key, "serial")) { + if (strcmp(key, "serial") == 0) { if (obj->type != UCL_STRING) { log_warnx("\"serial\" property of lun " "\"%s\" is not a string", lun->l_name); @@ -980,7 +980,7 @@ uclparse_lun(const char *name, const ucl_object_t *top) lun_set_serial(lun, ucl_object_tostring(obj)); } - if (!strcmp(key, "size")) { + if (strcmp(key, "size") == 0) { if (obj->type != UCL_INT) { log_warnx("\"size\" property of lun " "\"%s\" is not an integer", lun->l_name); From nobody Wed Feb 12 19:39: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 4YtTCC5tFlz5nGbd; Wed, 12 Feb 2025 19:39:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCC3ksRz3XkH; Wed, 12 Feb 2025 19:39:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MJkeZbuHBzvOkKLhYLtkz5I7OFE6qCvQ1yggBwggMdk=; b=H7jwFBygm6EtOHZjdWHew+sK4LRjxUBQN/4RZ9CFl3/ALbdrmktqZiBkoyI9klEE+ze07o +dtm+mP2DnFb5g41dXVu3Zq4u+DYs4gKZWbXYnIX+ZbwabDh+NwVz5wQZ3P/bpXEd6UJrV zjZhISh1eqQTrtxLZcyBNU5t/cBJ7D7OQxNfmGiEIV+drRiuM4pGO4BeqEzE/vF4xiPvZs SSHOaJyIP+fyEPQnrfed+zarSKfPA3sjCTBmHtcToIM5kt9DVG2fn0WqNuod7KxIsT60XQ jTgT+PEkqJiUk+ts+8kE3tX3stmOP0U5YP/zIKriEinN+8jF/TtBG9OpqrMz2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MJkeZbuHBzvOkKLhYLtkz5I7OFE6qCvQ1yggBwggMdk=; b=wvUsxejFRRGdD0lABglgDRVg8R1mF1dtxryE7VXQuRIRC2t0/EquoLj7uX1etEJ8CMHQAk OQcAcHYOjrbHAH/kjLs2MuSEV7g++9fyVxZjyDn6rAWbY+HJd51fzOAofXt/YtnfWsfoRW 13Cl5bcCEs1p33+iwyJ5Qmk3AiYFPHqPFb9tZKrB3VJffe5q+FO7lFXjnUKqV6pu26bpfE gCKNctBV6U+rCBVBDKIHhqI4mFvj7U3ziVx5YbGzWPZ7oeC/oIDAOV6kft3F0kOl7temRM g2oaoxp/mUaZn7krzcMPl6tzv6Pqxk8Zs65vx+Q0dL6mVNzOHy2D0fvDy+ICuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389143; a=rsa-sha256; cv=none; b=x8eo+kXo6TjXWt+P7ll8gDANuC/QLyKqcP46qlrhuDlJbT72tVtSWfXnBUY/nULfas7eRw Z3Y5ogp4Nd9UyU5hLpqQ0uXk66IWAhjkS3Q2J24x7K+B4kMJ1FWyQlJaAx23sHfyxSIJdX SvX2lUC4qZkyuEk9yYY7G0lLvv4a7YwXXVN5mS/4JfChkXKZPGyOG9RHVhO9HVxs4Oglac O8wLXqU/GsB0WAMYelgNN2cvOTjE4YUIfG2NGUHe3tqXj0IumlRnwAz+BinOoJWulEFuzQ AlU4iHzendj/eRUI6qtySDESAcNm/jM4OqV6x3opL8atTwhtr9dcBXfx3NDXUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCC3KR3z1Bsv; Wed, 12 Feb 2025 19:39: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 51CJd3KD061541; Wed, 12 Feb 2025 19:39:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd3Nf061538; Wed, 12 Feb 2025 19:39:03 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:03 GMT Message-Id: <202502121939.51CJd3Nf061538@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: afc32641e293 - main - pf: make pf_change_ap() usable without a port List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: afc32641e2932d2f7c47d2fbcfde9a063e72b85b Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=afc32641e2932d2f7c47d2fbcfde9a063e72b85b commit afc32641e2932d2f7c47d2fbcfde9a063e72b85b Author: Kristof Provost AuthorDate: 2025-02-05 16:26:13 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:37 +0000 pf: make pf_change_ap() usable without a port If the port pointer is NULL, just return after being done with the address. ok bluhm ryan mikeb Obtained from: OpenBSD, henning , 17f4816165 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 79e50be6cd13..17c23f6d4194 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -3217,7 +3217,7 @@ pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, sa_family_t af, sa_family_t naf) { struct pf_addr ao; - u_int16_t po = *p; + u_int16_t po; PF_ACPY(&ao, a, af); if (af == naf) @@ -3226,6 +3226,9 @@ pf_change_ap(struct mbuf *m, struct pf_addr *a, u_int16_t *p, u_int16_t *ic, if (m->m_pkthdr.csum_flags & (CSUM_DELAY_DATA | CSUM_DELAY_DATA_IPV6)) *pc = ~*pc; + if (p == NULL) /* no port -> done. no cksum to worry about. */ + return; + po = *p; *p = pn; switch (af) { From nobody Wed Feb 12 19:39: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 4YtTCD6Y1bz5nGmf; Wed, 12 Feb 2025 19:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCD57Q0z3XmP; Wed, 12 Feb 2025 19:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NWQFPfhnp76L2fbhI/1cNCJQIsSwaEazsfEFkA6bEJ8=; b=VvlqMw1bEMHOacJgPnnfmbSiRQRoe08KBRhUp3Sm9/NZ/QUBazTqs0p9Ws1tDuTBhCdigJ H7CyofN6WkMFHfY/e2aCOQpCJtPXa7EQ2Mf15PrKf+jxwZCIN/C8jjn+A+Kf/aHE9D6QTf qalXnTSsrCfUBcOi6KEXTHw0LotO/B2O/zhZPW9QdSfBZz2qdqgPeSx396FsuLrELIiCdB 8gjReTRhv/y9qwGgtfsgvfHBQDPAk118EWtohquiuXkW2nmso19auOiBJQdznPzD/Wu3FL Jg8y7HVfopl9JhKbMuBhz48ZBcMVZZmAKbNJvOgHMCGDqttdjn9tFt4BlZAiTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NWQFPfhnp76L2fbhI/1cNCJQIsSwaEazsfEFkA6bEJ8=; b=dlF+LvoOFKndlfhfLgsHzsgZeao5bTnSabWfI5FC3o9lySNWcgrsSGY0lugdc0YbRbt2YO lR/SyzcHFfJcGeoPJQ+Zs31SWpcDTcpMMQoJleJ3e36VQAAN8qdjr4/abz77zMTRaK0Ld9 r1pqGPrQsQpNAbtJEOu4B9iiUGuEvjMYIicjTAW8WZev8D/SWETSX2FLHmJgVtQ7yy8orj igRxu1uQ6/wc4Quk1KEfu8H4uw+We9LtiYFYPgQ7QqwyMQe9wE27TTHsjpHeNm2otdgyxN Qll2lKDB99x8APOu0MjFHnB+uFRLL/W4eClk80v8lz7b3MCtamwuA5Gs6GxeYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389144; a=rsa-sha256; cv=none; b=NBTZtjtnSLcHAxGrd6xn2gADmLJZItyqh7RGjjEi6EdyKYE5voEVKeH3/AWUDcFkK7NjcP GOsVTUcFHAP1L4wXXdspcDkPxfJKuFdsO8cTkyYuOy5DGvI61LcBhhWsAvPccHGDpI268E LbT6k6vh/buqi7XnudhazVBZNruJBR+aWRC9hovXmm83NEGnG8dLTZ9omSfVI9OWKZDfws CQTConXd+HS6SbVjKZfxvdLzCozu3vmxnSj02mPTsPc2WxztlmAyRX2f28WZS9a0Wy1XqN amfVq/OIDj5ffCki/5FlVjkiDT56JONV/zo5SLZ0NBRfU1z2GXqHIbVBYpA1Mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCD4ZDKz1BRb; Wed, 12 Feb 2025 19:39: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 51CJd4NG061574; Wed, 12 Feb 2025 19:39:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd4XS061571; Wed, 12 Feb 2025 19:39:04 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:04 GMT Message-Id: <202502121939.51CJd4XS061571@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 65832496f4e7 - main - pf: set osport and odport in pf_setup_pdesc() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65832496f4e75482cb988e524cbf5ef8e5c12c47 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=65832496f4e75482cb988e524cbf5ef8e5c12c47 commit 65832496f4e75482cb988e524cbf5ef8e5c12c47 Author: Kristof Provost AuthorDate: 2025-02-05 16:36:29 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: set osport and odport in pf_setup_pdesc() Set up osport and odport (original src/dst port) in pf_setup_pdesc already. Need that for upcoming changes. ok ryan Obtained from: OpenBSD, henning , f82a6f97e0 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 17c23f6d4194..874fd0678f7a 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -10180,6 +10180,12 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, } #endif } + + if (pd->sport) + pd->osport = pd->nsport = *pd->sport; + if (pd->dport) + pd->odport = pd->ndport = *pd->dport; + return (0); } From nobody Wed Feb 12 19:39: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 4YtTCG4HkSz5nGYY; Wed, 12 Feb 2025 19:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCF5yxCz3Xby; Wed, 12 Feb 2025 19:39:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGnstng+LF3gatKVXvYCavQeGuYy9+ZhWjXby41imx0=; b=jHREXoDCzRgZHmBsSS68sZ1E0XmwtmSnCykYegb+zONbWF/3vwVDLPYUHY34jlT3P7x1re TRpFTlmEgobGNpZCWMqwlNFeT0YRnLSFqvPJLnttRTJqXlqgfJEhALo79qCW+XRfLWWDfJ pDGxLa8emrCfb1nJzwa/7J+Fbll8Z+CywfYhmftRTG+DytKxO29dE6zSINFbVbb+pXxakJ kNql7pBe9g/A2BYLlrxxPGoJC95YazkBgyAxfjfznj+rdWn0H6lJjn0V2LY9p+lguSjkhB sGtmTybbjsz6L4aWYuDDVRYdgpN76MC4zk7/AF6a8cyka7HNQdcRpK+m31r3xg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UGnstng+LF3gatKVXvYCavQeGuYy9+ZhWjXby41imx0=; b=w4tGsHu2js0koeXaqPOGoGTwEqTDP/14o4If1N5xoETJ78lRnR/v/wEF0Ej9ZTJWLaYiH4 SyvRP1P4IyqGymOq5FF61RJoSbHihqy7vURzil0/mm8Hg+yxHED3H0Z9uD4Qlyv7fV5gz4 pXKuyciURmb9XroTRo02Qou+7r7r8kSrwmhJk3jrikc++x8TXZDUhwy1+ioZPcSW9Yes3J rMRbTPx+aYS82jAEQTZD6ElFdYgzNntImEPmnETh4LwyjBBhAx810kF2nYziKUXhgILntG HOCi1Aew18VKk8Q0Toe1O+RcAuiOsuRSjbAW3tzmAyvBF8Mk7IRTewGGb4rVcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389145; a=rsa-sha256; cv=none; b=IIjkUWiGsfMPv5A8+mSPensCCidDwyrzlrcIpZ/1qJX8MwMpDFt2CqrWiqQ/Fvy07OdzFI NEmVK0Xd5nhQK5ce83KZxMmVyxDQOofkDVzQor+XFdTdrNqYQxmFdv99Pwa6udMp89QmDp E3/Qbdq3ycxSzqURFDT9oQwi6qDYNJiPao7kVY37mvi79evd5KELogNrRuPnhrp9aw6seS 1mOca87xe5U9em4VyOAdhmIXnNccHkQUhm05XEk6xsA/jKK6PnSbgOjTZatk4lgT5uJFW3 ZjQwej2e+yU8EqOefOzAR+l3remcKElhwPml6Nl1zQGv14DWQHj+iexmpc6/4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCF5B3jz1BV4; Wed, 12 Feb 2025 19:39: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 51CJd5v6061607; Wed, 12 Feb 2025 19:39:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd5QR061604; Wed, 12 Feb 2025 19:39:05 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:05 GMT Message-Id: <202502121939.51CJd5QR061604@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: c56650fd791d - main - pf: add a pointer to the protocol checksum header field to pf_pdesc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c56650fd791dbaa4a5c677bdac6cff3d4027264a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c56650fd791dbaa4a5c677bdac6cff3d4027264a commit c56650fd791dbaa4a5c677bdac6cff3d4027264a Author: Kristof Provost AuthorDate: 2025-02-05 16:40:00 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: add a pointer to the protocol checksum header field to pf_pdesc Set it up in pf_setup_pdesc(). ok ryan benno mikeb bluhm Obtained from: OpenBSD, henning , 14255d4d87 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 65be1a0ce19b..d4c3831b49f8 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1614,6 +1614,7 @@ struct pf_pdesc { struct pf_addr *src; /* src address */ struct pf_addr *dst; /* dst address */ + u_int16_t *pcksum; /* proto cksum */ u_int16_t *sport; u_int16_t *dport; u_int16_t osport; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 874fd0678f7a..3957d39edc13 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -10090,6 +10090,7 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, pd->p_len = pd->tot_len - pd->off - (th->th_off << 2); pd->sport = &th->th_sport; pd->dport = &th->th_dport; + pd->pcksum = &th->th_sum; break; } case IPPROTO_UDP: { @@ -10111,6 +10112,7 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, } pd->sport = &uh->uh_sport; pd->dport = &uh->uh_dport; + pd->pcksum = &uh->uh_sum; break; } case IPPROTO_SCTP: { @@ -10176,6 +10178,7 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, return (-1); } pd->hdrlen = icmp_hlen; + pd->pcksum = &pd->hdr.icmp.icmp_cksum; break; } #endif From nobody Wed Feb 12 19:39: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 4YtTCG6mXwz5nGbh; Wed, 12 Feb 2025 19:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCG68DCz3XmT; Wed, 12 Feb 2025 19:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HImZjFAkgoofNDH1Pes4eEWssQFMG6I3zb6Ct/qZ0z4=; b=IXnevrUPOpJMUlGzJtJmwiiwiWexk3lAfLwYGv4FMZh74T6T/DMW1CYkbiZweyLsDqGDHl 2C/1M/HNxT6W+r30x7DjgAL43YrjzK3u5CQVUns1nLuZV8gUEnBVBedPBORFcByRP2XttY IFkObfKY38/vAN3qNAmB+3YHypKt2hovH4WDXkLWDBZZA7slrRgsdM9rDG3lFHBztZvlAv jlHuWZR9KMDxWTqhEBeYEq63fUfqk7r04iHDWKC6cmqEKDfaNz0ucQ+kN74234epWOWiXw C4aUmzbBJoO4vhLtpInhJQ3ZUhNIqTBtLd8cJIQ2jn1JGwL3b5GWQdD1wPiQtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HImZjFAkgoofNDH1Pes4eEWssQFMG6I3zb6Ct/qZ0z4=; b=VyVcZbNsco5Yee99uqU0a/P/vRKH1MrQglPWB5MCTkXttdiECqDbisQRHJ+HviYl2BsEi+ lpIxK8glHuG66EWQMQSvxk+3dc3su10B/Cg2tS2SWLWH8Z1iZ1VKI2qG03oNkWOE8wCqcZ fZGyxd5tPRPbNqQF4VbHtD5YYqyhOfRF1O9To5YKnKO8hCoLF0Da5lSnVXtJbzToXpxw4w xx91ylyo5PKRwG87JKxG2aZQ0lX+BM9aPyinF6XwK3231RVCCwHKDF9WBAtoOut7yTuebt OGsg3F+vknGbe2ic8UW/Gv5QoLq4m2z2Be5mxb2l44Wc2mhIl6/RCWGecubEHQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389146; a=rsa-sha256; cv=none; b=fSsyMSjjRN7kwXYzYRJRsRllAtS3d8JASYQyTKUJu0EfdFgU3WUzMcRsm27GSSPju/6Wvi piKXCrrAeUP+5zkVdh2yQn9wD+ev7qfiP+9pAjr6WKW9e3eJ3SCAVmqCIg/Jq1KcDmP3LS tVXYioTheTIA67uj0NPX5C6Lc1zy2quDQbdkS5XGStnrkDxHdEP9Ge8ndY3xd6WdBo35PH awtUk3270+BLZA39SeK9+8GyEvvpRTd68wNVPcL992R0x617Ntvvsn2Q/gyXDK5cjGPDI5 gkRCLb6XhBIeuANGGc1SFwVwUBcnsaTgryR+CkUwsNk9yjzoSE+q3/sewXHo+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCG5m2pz1BWp; Wed, 12 Feb 2025 19:39: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 51CJd62h061642; Wed, 12 Feb 2025 19:39:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd6xR061639; Wed, 12 Feb 2025 19:39:06 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:06 GMT Message-Id: <202502121939.51CJd6xR061639@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 5e9272401d80 - main - pf: fold pf_test_state_{tcp,udp,other} into one pf_test_state List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5e9272401d80381d95be84ab3b7755a207245268 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=5e9272401d80381d95be84ab3b7755a207245268 commit 5e9272401d80381d95be84ab3b7755a207245268 Author: Kristof Provost AuthorDate: 2025-02-06 14:36:11 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: fold pf_test_state_{tcp,udp,other} into one pf_test_state The _icmp variant stays because it is completely different. pf_setup_pdesc sets us up with access to ports, cksum etc in a protocol independent matter, so we don't need many protocol switches here. tcp and udp were almost identical, the _other case changes significantly - not too unlikely this fixes a subtle bug or two in that case. ok ryan benno bluhm mikeb Obtained from: OpenBSD, henning , f6cfeb8e09 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 325 ++++++++++++++-------------------------------------- 1 file changed, 87 insertions(+), 238 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 3957d39edc13..c92faf43d967 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -353,10 +353,8 @@ static int pf_tcp_track_full(struct pf_kstate **, struct pf_pdesc *, u_short *, int *); static int pf_tcp_track_sloppy(struct pf_kstate **, struct pf_pdesc *, u_short *); -static int pf_test_state_tcp(struct pf_kstate **, - struct pf_pdesc *, u_short *); -static int pf_test_state_udp(struct pf_kstate **, - struct pf_pdesc *); +static int pf_test_state(struct pf_kstate **, struct pf_pdesc *, + u_short *); int pf_icmp_state_lookup(struct pf_state_key_cmp *, struct pf_pdesc *, struct pf_kstate **, int, u_int16_t, u_int16_t, @@ -368,8 +366,6 @@ static void pf_sctp_multihome_delayed(struct pf_pdesc *, struct pfi_kkif *, struct pf_kstate *, int); static int pf_test_state_sctp(struct pf_kstate **, struct pf_pdesc *, u_short *); -static int pf_test_state_other(struct pf_kstate **, - struct pf_pdesc *); static u_int16_t pf_calc_mss(struct pf_addr *, sa_family_t, int, u_int16_t); static int pf_check_proto_cksum(struct mbuf *, int, int, @@ -6901,153 +6897,102 @@ pf_synproxy(struct pf_pdesc *pd, struct pf_kstate **state, u_short *reason) } static int -pf_test_state_tcp(struct pf_kstate **state, struct pf_pdesc *pd, - u_short *reason) +pf_test_state(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reason) { struct pf_state_key_cmp key; - struct tcphdr *th = &pd->hdr.tcp; int copyback = 0; - int action = PF_PASS; struct pf_state_peer *src, *dst; + uint8_t psrc, pdst; + int action = PF_PASS; bzero(&key, sizeof(key)); key.af = pd->af; - key.proto = IPPROTO_TCP; + key.proto = pd->virtual_proto; PF_ACPY(&key.addr[pd->sidx], pd->src, key.af); PF_ACPY(&key.addr[pd->didx], pd->dst, key.af); - key.port[pd->sidx] = th->th_sport; - key.port[pd->didx] = th->th_dport; + key.port[pd->sidx] = pd->osport; + key.port[pd->didx] = pd->odport; STATE_LOOKUP(&key, *state, pd); if (pd->dir == (*state)->direction) { src = &(*state)->src; dst = &(*state)->dst; + psrc = PF_PEER_SRC; + pdst = PF_PEER_DST; } else { src = &(*state)->dst; dst = &(*state)->src; + psrc = PF_PEER_DST; + pdst = PF_PEER_SRC; } - if ((action = pf_synproxy(pd, state, reason)) != PF_PASS) - return (action); - - if (dst->state >= TCPS_FIN_WAIT_2 && - src->state >= TCPS_FIN_WAIT_2 && - (((tcp_get_flags(th) & (TH_SYN|TH_ACK)) == TH_SYN) || - ((tcp_get_flags(th) & (TH_SYN|TH_ACK|TH_RST)) == TH_ACK && - pf_syncookie_check(pd) && pd->dir == PF_IN))) { - if (V_pf_status.debug >= PF_DEBUG_MISC) { - printf("pf: state reuse "); - pf_print_state(*state); - pf_print_flags(tcp_get_flags(th)); - printf("\n"); - } - /* XXX make sure it's the same direction ?? */ - pf_set_protostate(*state, PF_PEER_BOTH, TCPS_CLOSED); - pf_unlink_state(*state); - *state = NULL; - return (PF_DROP); - } - - if ((*state)->state_flags & PFSTATE_SLOPPY) { - if (pf_tcp_track_sloppy(state, pd, reason) == PF_DROP) - return (PF_DROP); - } else { - int ret; + switch (pd->virtual_proto) { + case IPPROTO_TCP: { + struct tcphdr *th = &pd->hdr.tcp; - ret = pf_tcp_track_full(state, pd, reason, - ©back); - if (ret == PF_DROP) + if ((action = pf_synproxy(pd, state, reason)) != PF_PASS) + return (action); + if ((*state)->src.state >= TCPS_FIN_WAIT_2 && + (*state)->dst.state >= TCPS_FIN_WAIT_2 && + (((tcp_get_flags(th) & (TH_SYN|TH_ACK)) == TH_SYN) || + ((tcp_get_flags(th) & (TH_SYN|TH_ACK|TH_RST)) == TH_ACK && + pf_syncookie_check(pd) && pd->dir == PF_IN))) { + if (V_pf_status.debug >= PF_DEBUG_MISC) { + printf("pf: state reuse "); + pf_print_state(*state); + pf_print_flags(tcp_get_flags(th)); + printf("\n"); + } + /* XXX make sure it's the same direction ?? */ + pf_set_protostate(*state, PF_PEER_BOTH, TCPS_CLOSED); + pf_unlink_state(*state); + *state = NULL; return (PF_DROP); - } - - /* translate source/destination address, if necessary */ - if ((*state)->key[PF_SK_WIRE] != (*state)->key[PF_SK_STACK]) { - struct pf_state_key *nk; - int afto, sidx, didx; - - if (PF_REVERSED_KEY((*state)->key, pd->af)) - nk = (*state)->key[pd->sidx]; - else - nk = (*state)->key[pd->didx]; - - afto = pd->af != nk->af; - sidx = afto ? pd->didx : pd->sidx; - didx = afto ? pd->sidx : pd->didx; - - if (afto || PF_ANEQ(pd->src, &nk->addr[sidx], pd->af) || - nk->port[sidx] != th->th_sport) - pf_change_ap(pd->m, pd->src, &th->th_sport, - pd->ip_sum, &th->th_sum, &nk->addr[sidx], - nk->port[sidx], 0, pd->af, nk->af); - - if (afto || PF_ANEQ(pd->dst, &nk->addr[didx], pd->af) || - nk->port[didx] != th->th_dport) - pf_change_ap(pd->m, pd->dst, &th->th_dport, - pd->ip_sum, &th->th_sum, &nk->addr[didx], - nk->port[didx], 0, pd->af, nk->af); - - if (afto) { - PF_ACPY(&pd->nsaddr, &nk->addr[sidx], nk->af); - PF_ACPY(&pd->ndaddr, &nk->addr[didx], nk->af); - pd->naf = nk->af; - action = PF_AFRT; } + if ((*state)->state_flags & PFSTATE_SLOPPY) { + if (pf_tcp_track_sloppy(state, pd, reason) == PF_DROP) + return (PF_DROP); + } else { + int ret; - copyback = 1; + ret = pf_tcp_track_full(state, pd, reason, + ©back); + if (ret == PF_DROP) + return (PF_DROP); + } + break; } + case IPPROTO_UDP: + /* update states */ + if (src->state < PFUDPS_SINGLE) + pf_set_protostate(*state, psrc, PFUDPS_SINGLE); + if (dst->state == PFUDPS_SINGLE) + pf_set_protostate(*state, pdst, PFUDPS_MULTIPLE); - /* Copyback sequence modulation or stateful scrub changes if needed */ - if (copyback) - m_copyback(pd->m, pd->off, sizeof(*th), (caddr_t)th); - - return (action); -} - -static int -pf_test_state_udp(struct pf_kstate **state, struct pf_pdesc *pd) -{ - struct pf_state_peer *src, *dst; - struct pf_state_key_cmp key; - struct udphdr *uh = &pd->hdr.udp; - uint8_t psrc, pdst; - int action = PF_PASS; - - bzero(&key, sizeof(key)); - key.af = pd->af; - key.proto = IPPROTO_UDP; - PF_ACPY(&key.addr[pd->sidx], pd->src, key.af); - PF_ACPY(&key.addr[pd->didx], pd->dst, key.af); - key.port[pd->sidx] = uh->uh_sport; - key.port[pd->didx] = uh->uh_dport; - - STATE_LOOKUP(&key, *state, pd); + /* update expire time */ + (*state)->expire = pf_get_uptime(); + if (src->state == PFUDPS_MULTIPLE && dst->state == PFUDPS_MULTIPLE) + (*state)->timeout = PFTM_UDP_MULTIPLE; + else + (*state)->timeout = PFTM_UDP_SINGLE; + break; + default: + /* update states */ + if (src->state < PFOTHERS_SINGLE) + pf_set_protostate(*state, psrc, PFOTHERS_SINGLE); + if (dst->state == PFOTHERS_SINGLE) + pf_set_protostate(*state, pdst, PFOTHERS_MULTIPLE); - if (pd->dir == (*state)->direction) { - src = &(*state)->src; - dst = &(*state)->dst; - psrc = PF_PEER_SRC; - pdst = PF_PEER_DST; - } else { - src = &(*state)->dst; - dst = &(*state)->src; - psrc = PF_PEER_DST; - pdst = PF_PEER_SRC; + /* update expire time */ + (*state)->expire = pf_get_uptime(); + if (src->state == PFOTHERS_MULTIPLE && dst->state == PFOTHERS_MULTIPLE) + (*state)->timeout = PFTM_OTHER_MULTIPLE; + else + (*state)->timeout = PFTM_OTHER_SINGLE; + break; } - /* update states */ - if (src->state < PFUDPS_SINGLE) - pf_set_protostate(*state, psrc, PFUDPS_SINGLE); - if (dst->state == PFUDPS_SINGLE) - pf_set_protostate(*state, pdst, PFUDPS_MULTIPLE); - - /* update expire time */ - (*state)->expire = pf_get_uptime(); - if (src->state == PFUDPS_MULTIPLE && dst->state == PFUDPS_MULTIPLE) - (*state)->timeout = PFTM_UDP_MULTIPLE; - else - (*state)->timeout = PFTM_UDP_SINGLE; - /* translate source/destination address, if necessary */ if ((*state)->key[PF_SK_WIRE] != (*state)->key[PF_SK_STACK]) { struct pf_state_key *nk; @@ -7063,16 +7008,18 @@ pf_test_state_udp(struct pf_kstate **state, struct pf_pdesc *pd) didx = afto ? pd->sidx : pd->didx; if (afto || PF_ANEQ(pd->src, &nk->addr[sidx], pd->af) || - nk->port[sidx] != uh->uh_sport) - pf_change_ap(pd->m, pd->src, &uh->uh_sport, pd->ip_sum, - &uh->uh_sum, &nk->addr[pd->sidx], - nk->port[sidx], 1, pd->af, nk->af); + nk->port[sidx] != pd->osport) + pf_change_ap(pd->m, pd->src, pd->sport, pd->ip_sum, + pd->pcksum, &nk->addr[pd->sidx], + nk->port[sidx], pd->virtual_proto == IPPROTO_UDP, + pd->af, nk->af); if (afto || PF_ANEQ(pd->dst, &nk->addr[didx], pd->af) || - nk->port[didx] != uh->uh_dport) - pf_change_ap(pd->m, pd->dst, &uh->uh_dport, pd->ip_sum, - &uh->uh_sum, &nk->addr[pd->didx], - nk->port[didx], 1, pd->af, nk->af); + nk->port[didx] != pd->odport) + pf_change_ap(pd->m, pd->dst, pd->dport, pd->ip_sum, + pd->pcksum, &nk->addr[pd->didx], + nk->port[didx], pd->virtual_proto == IPPROTO_UDP, + pd->af, nk->af); if (afto) { PF_ACPY(&pd->nsaddr, &nk->addr[sidx], nk->af); @@ -7081,9 +7028,12 @@ pf_test_state_udp(struct pf_kstate **state, struct pf_pdesc *pd) action = PF_AFRT; } - m_copyback(pd->m, pd->off, sizeof(*uh), (caddr_t)uh); + copyback = 1; } + if (copyback && pd->hdrlen > 0) + m_copyback(pd->m, pd->off, pd->hdrlen, pd->hdr.any); + return (action); } @@ -8672,107 +8622,6 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, } } -static int -pf_test_state_other(struct pf_kstate **state, struct pf_pdesc *pd) -{ - struct pf_state_peer *src, *dst; - struct pf_state_key_cmp key; - uint8_t psrc, pdst; - int action = PF_PASS; - - bzero(&key, sizeof(key)); - key.af = pd->af; - key.proto = pd->proto; - PF_ACPY(&key.addr[pd->sidx], pd->src, key.af); - PF_ACPY(&key.addr[pd->didx], pd->dst, key.af); - key.port[0] = key.port[1] = 0; - - STATE_LOOKUP(&key, *state, pd); - - if (pd->dir == (*state)->direction) { - src = &(*state)->src; - dst = &(*state)->dst; - psrc = PF_PEER_SRC; - pdst = PF_PEER_DST; - } else { - src = &(*state)->dst; - dst = &(*state)->src; - psrc = PF_PEER_DST; - pdst = PF_PEER_SRC; - } - - /* update states */ - if (src->state < PFOTHERS_SINGLE) - pf_set_protostate(*state, psrc, PFOTHERS_SINGLE); - if (dst->state == PFOTHERS_SINGLE) - pf_set_protostate(*state, pdst, PFOTHERS_MULTIPLE); - - /* update expire time */ - (*state)->expire = pf_get_uptime(); - if (src->state == PFOTHERS_MULTIPLE && dst->state == PFOTHERS_MULTIPLE) - (*state)->timeout = PFTM_OTHER_MULTIPLE; - else - (*state)->timeout = PFTM_OTHER_SINGLE; - - /* translate source/destination address, if necessary */ - if ((*state)->key[PF_SK_WIRE] != (*state)->key[PF_SK_STACK]) { - struct pf_state_key *nk; - int afto; - - if (PF_REVERSED_KEY((*state)->key, pd->af)) - nk = (*state)->key[pd->sidx]; - else - nk = (*state)->key[pd->didx]; - - KASSERT(nk, ("%s: nk is null", __func__)); - KASSERT(pd, ("%s: pd is null", __func__)); - KASSERT(pd->src, ("%s: pd->src is null", __func__)); - KASSERT(pd->dst, ("%s: pd->dst is null", __func__)); - - afto = pd->af != nk->af; - - switch (pd->af) { -#ifdef INET - case AF_INET: - if (!afto && - PF_ANEQ(pd->src, &nk->addr[pd->sidx], AF_INET)) - pf_change_a(&pd->src->v4.s_addr, - pd->ip_sum, - nk->addr[pd->sidx].v4.s_addr, - 0); - - if (!afto && - PF_ANEQ(pd->dst, &nk->addr[pd->didx], AF_INET)) - pf_change_a(&pd->dst->v4.s_addr, - pd->ip_sum, - nk->addr[pd->didx].v4.s_addr, - 0); - - break; -#endif /* INET */ -#ifdef INET6 - case AF_INET6: - if (!afto && - PF_ANEQ(pd->src, &nk->addr[pd->sidx], AF_INET6)) - PF_ACPY(pd->src, &nk->addr[pd->sidx], pd->af); - - if (!afto && - PF_ANEQ(pd->dst, &nk->addr[pd->didx], AF_INET6)) - PF_ACPY(pd->dst, &nk->addr[pd->didx], pd->af); -#endif /* INET6 */ - } - if (afto) { - PF_ACPY(&pd->nsaddr, - &nk->addr[afto ? pd->didx : pd->sidx], nk->af); - PF_ACPY(&pd->ndaddr, - &nk->addr[afto ? pd->sidx : pd->didx], nk->af); - pd->naf = nk->af; - action = PF_AFRT; - } - } - return (action); -} - /* * ipoff and off are measured from the start of the mbuf chain. * h must be at "ipoff" on the mbuf chain. @@ -10439,7 +10288,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 action = pf_normalize_tcp(&pd); if (action == PF_DROP) goto done; - action = pf_test_state_tcp(&s, &pd, &reason); + action = pf_test_state(&s, &pd, &reason); if (action == PF_PASS || action == PF_AFRT) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); @@ -10465,7 +10314,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 if (action != PF_PASS) break; - action = pf_test_state_tcp(&s, &pd, &reason); + action = pf_test_state(&s, &pd, &reason); if (action != PF_PASS || s == NULL) { action = PF_DROP; break; @@ -10485,7 +10334,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 } case IPPROTO_UDP: { - action = pf_test_state_udp(&s, &pd); + action = pf_test_state(&s, &pd, &reason); if (action == PF_PASS || action == PF_AFRT) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); @@ -10543,7 +10392,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 } default: - action = pf_test_state_other(&s, &pd); + action = pf_test_state(&s, &pd, &reason); if (action == PF_PASS || action == PF_AFRT) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); From nobody Wed Feb 12 19:39: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 4YtTCJ1scMz5nGsM; Wed, 12 Feb 2025 19:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCJ01F6z3Xc6; Wed, 12 Feb 2025 19:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6gwFGKWlhD2imUmWLr9p10sGN5V8Yh71CHsVev7CBwk=; b=R+6u5wXPsNJUFeVtg5gxh3avoEkGlJ2XTwSbGre43jwOBZyki7Dux5JvhfVVCSBAqwt9C8 n07ot1kIpwpkbmMPiW1R1kBX6RsJL3NgBOZOnoSdT9jnFgganb/1KWWOgmlHyM+4HX3Y2Y vxqxvPh9LkGSsTbEwSnCtIHWDjTLGupwVQhtkjRnPDOLw9JilNgIx3I4Zdd+GtHAnLMhQv yWjK4ClNQR0P87gSkcjgFgCwKIJCVSXQIQbysFquHJqyeHF6l4G1BWTX8i2LZ79tMBQmKy vau8IAc5VXVplMGbeGmf8s5Vlp8Q+RZHM1Qy5TG4sgAV/CJRS3lpa4qeuDVWjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6gwFGKWlhD2imUmWLr9p10sGN5V8Yh71CHsVev7CBwk=; b=jndaiSBEErqVC/r9svy8m9vIwyAVJ8zd8fYh6rrzmtfnq+vcNGU4ckYj49Li+2lWjpkCWP oF5+r62BuXnsw0vjiU1UQAEcs2NmR1lWpPAlsI15Ztm6e70/VEyUIRFPhUHce0vOt0v+QC cW1Acjy/xzn6Ws1+v7+dByvFH9wqKekpa7Z1sJk762mLjki9vLVsfGsn9sCBtZ5m9OUuCv 73O5kmvFaE2OfJNg/mt9g/2y1TmY5c5ZP3cc0yNct3gUIZvU73sE/h6bFrWKe6CGEGhyQZ lq6iiAbTIlQrbdajMWp+3j7+HUearJtkKUEnKrREscO7ZaHcaqCWZqNAGsczWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389148; a=rsa-sha256; cv=none; b=jyre6WqicA6As9KVi5w5//nL29NlrVWnoI+2gINWCpi65C3YFO0AnoqTASynCT16dy0SMR V77QxQp6tGgUJqDizNK0lhE7vG2RB9PFQLlcPPTZCkAakI30SRTgpULExlyfDhFtN5q2Bu F/MVbwbd8ECxkE9iKNsbQNCQ0vBn+l1fE6jTq722ZRBOFmiB/bjqHOjcjr8/dly8NTGO6Z wy2TwXrVLzqQ3RfMD5zEu0cOeAs/tSMFEFW5IagWqjAEY9WJRoYSYFLrjmJ4WhD6R5nE1o E6LODxLL0uLZdVg9NAElK99o7RztSs3TUEJ4gYlzOjLoQBhfN+bYXuuMwhNazA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCH6TVmz1BFf; Wed, 12 Feb 2025 19:39: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 51CJd7fH061682; Wed, 12 Feb 2025 19:39:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd70e061679; Wed, 12 Feb 2025 19:39:07 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:07 GMT Message-Id: <202502121939.51CJd70e061679@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: f3e8653badad - main - pf: fold pf_test_state_sctp into pf_test_state as well List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f3e8653badad6989a570f959faa44bb0166d8f09 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f3e8653badad6989a570f959faa44bb0166d8f09 commit f3e8653badad6989a570f959faa44bb0166d8f09 Author: Kristof Provost AuthorDate: 2025-02-06 14:52:56 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: fold pf_test_state_sctp into pf_test_state as well Just like TCP and UDP we can fold the SCTP code into pf_test_state(). This does require a dummy variable to hold the protocol checksum, because unlike TCP and UDP the SCTP checksum is 32-bits. We don't need to change the checksum though, so simply pointing the pcksum pointer to a safe dummy location suffices to re-use pf_test_state(). Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf.c | 190 ++++++++++++++++++---------------------------------- 2 files changed, 65 insertions(+), 126 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index d4c3831b49f8..88364aaa45ed 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1662,6 +1662,7 @@ struct pf_pdesc { #define PFDESC_SCTP_ADD_IP 0x1000 u_int16_t sctp_flags; u_int32_t sctp_initiate_tag; + u_int16_t sctp_dummy_sum; struct pf_krule *related_rule; struct pf_sctp_multihome_jobs sctp_multihome_jobs; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index c92faf43d967..3f9e5473deea 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -361,11 +361,11 @@ int pf_icmp_state_lookup(struct pf_state_key_cmp *, int, int *, int, int); static int pf_test_state_icmp(struct pf_kstate **, struct pf_pdesc *, u_short *); +static int pf_sctp_track(struct pf_kstate *, struct pf_pdesc *, + u_short *); static void pf_sctp_multihome_detach_addr(const struct pf_kstate *); static void pf_sctp_multihome_delayed(struct pf_pdesc *, struct pfi_kkif *, struct pf_kstate *, int); -static int pf_test_state_sctp(struct pf_kstate **, - struct pf_pdesc *, u_short *); static u_int16_t pf_calc_mss(struct pf_addr *, sa_family_t, int, u_int16_t); static int pf_check_proto_cksum(struct mbuf *, int, int, @@ -6977,6 +6977,61 @@ pf_test_state(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reason) else (*state)->timeout = PFTM_UDP_SINGLE; break; + case IPPROTO_SCTP: + if ((src->state >= SCTP_SHUTDOWN_SENT || src->state == SCTP_CLOSED) && + (dst->state >= SCTP_SHUTDOWN_SENT || dst->state == SCTP_CLOSED) && + pd->sctp_flags & PFDESC_SCTP_INIT) { + pf_set_protostate(*state, PF_PEER_BOTH, SCTP_CLOSED); + pf_unlink_state(*state); + *state = NULL; + return (PF_DROP); + } + + if (pf_sctp_track(*state, pd, reason) != PF_PASS) + return (PF_DROP); + + /* Track state. */ + if (pd->sctp_flags & PFDESC_SCTP_INIT) { + if (src->state < SCTP_COOKIE_WAIT) { + pf_set_protostate(*state, psrc, SCTP_COOKIE_WAIT); + (*state)->timeout = PFTM_SCTP_OPENING; + } + } + if (pd->sctp_flags & PFDESC_SCTP_INIT_ACK) { + MPASS(dst->scrub != NULL); + if (dst->scrub->pfss_v_tag == 0) + dst->scrub->pfss_v_tag = pd->sctp_initiate_tag; + } + + /* + * Bind to the correct interface if we're if-bound. For multihomed + * extra associations we don't know which interface that will be until + * here, so we've inserted the state on V_pf_all. Fix that now. + */ + if ((*state)->kif == V_pfi_all && + (*state)->rule->rule_flag & PFRULE_IFBOUND) + (*state)->kif = pd->kif; + + if (pd->sctp_flags & (PFDESC_SCTP_COOKIE | PFDESC_SCTP_HEARTBEAT_ACK)) { + if (src->state < SCTP_ESTABLISHED) { + pf_set_protostate(*state, psrc, SCTP_ESTABLISHED); + (*state)->timeout = PFTM_SCTP_ESTABLISHED; + } + } + if (pd->sctp_flags & (PFDESC_SCTP_SHUTDOWN | + PFDESC_SCTP_SHUTDOWN_COMPLETE)) { + if (src->state < SCTP_SHUTDOWN_PENDING) { + pf_set_protostate(*state, psrc, SCTP_SHUTDOWN_PENDING); + (*state)->timeout = PFTM_SCTP_CLOSING; + } + } + if (pd->sctp_flags & (PFDESC_SCTP_SHUTDOWN_COMPLETE | PFDESC_SCTP_ABORT)) { + pf_set_protostate(*state, psrc, SCTP_CLOSED); + (*state)->timeout = PFTM_SCTP_CLOSED; + } + + (*state)->expire = pf_get_uptime(); + break; default: /* update states */ if (src->state < PFOTHERS_SINGLE) @@ -7064,129 +7119,6 @@ pf_sctp_track(struct pf_kstate *state, struct pf_pdesc *pd, return (PF_PASS); } -static int -pf_test_state_sctp(struct pf_kstate **state, struct pf_pdesc *pd, - u_short *reason) -{ - struct pf_state_key_cmp key; - struct pf_state_peer *src, *dst; - struct sctphdr *sh = &pd->hdr.sctp; - u_int8_t psrc; //, pdst; - - bzero(&key, sizeof(key)); - key.af = pd->af; - key.proto = IPPROTO_SCTP; - PF_ACPY(&key.addr[pd->sidx], pd->src, key.af); - PF_ACPY(&key.addr[pd->didx], pd->dst, key.af); - key.port[pd->sidx] = sh->src_port; - key.port[pd->didx] = sh->dest_port; - - STATE_LOOKUP(&key, *state, pd); - - if (pd->dir == (*state)->direction) { - src = &(*state)->src; - dst = &(*state)->dst; - psrc = PF_PEER_SRC; - } else { - src = &(*state)->dst; - dst = &(*state)->src; - psrc = PF_PEER_DST; - } - - if ((src->state >= SCTP_SHUTDOWN_SENT || src->state == SCTP_CLOSED) && - (dst->state >= SCTP_SHUTDOWN_SENT || dst->state == SCTP_CLOSED) && - pd->sctp_flags & PFDESC_SCTP_INIT) { - pf_set_protostate(*state, PF_PEER_BOTH, SCTP_CLOSED); - pf_unlink_state(*state); - *state = NULL; - return (PF_DROP); - } - - if (pf_sctp_track(*state, pd, reason) != PF_PASS) - return (PF_DROP); - - /* Track state. */ - if (pd->sctp_flags & PFDESC_SCTP_INIT) { - if (src->state < SCTP_COOKIE_WAIT) { - pf_set_protostate(*state, psrc, SCTP_COOKIE_WAIT); - (*state)->timeout = PFTM_SCTP_OPENING; - } - } - if (pd->sctp_flags & PFDESC_SCTP_INIT_ACK) { - MPASS(dst->scrub != NULL); - if (dst->scrub->pfss_v_tag == 0) - dst->scrub->pfss_v_tag = pd->sctp_initiate_tag; - } - - /* - * Bind to the correct interface if we're if-bound. For multihomed - * extra associations we don't know which interface that will be until - * here, so we've inserted the state on V_pf_all. Fix that now. - */ - if ((*state)->kif == V_pfi_all && - (*state)->rule->rule_flag & PFRULE_IFBOUND) - (*state)->kif = pd->kif; - - if (pd->sctp_flags & (PFDESC_SCTP_COOKIE | PFDESC_SCTP_HEARTBEAT_ACK)) { - if (src->state < SCTP_ESTABLISHED) { - pf_set_protostate(*state, psrc, SCTP_ESTABLISHED); - (*state)->timeout = PFTM_SCTP_ESTABLISHED; - } - } - if (pd->sctp_flags & (PFDESC_SCTP_SHUTDOWN | - PFDESC_SCTP_SHUTDOWN_COMPLETE)) { - if (src->state < SCTP_SHUTDOWN_PENDING) { - pf_set_protostate(*state, psrc, SCTP_SHUTDOWN_PENDING); - (*state)->timeout = PFTM_SCTP_CLOSING; - } - } - if (pd->sctp_flags & (PFDESC_SCTP_SHUTDOWN_COMPLETE | PFDESC_SCTP_ABORT)) { - pf_set_protostate(*state, psrc, SCTP_CLOSED); - (*state)->timeout = PFTM_SCTP_CLOSED; - } - - (*state)->expire = pf_get_uptime(); - - /* translate source/destination address, if necessary */ - if ((*state)->key[PF_SK_WIRE] != (*state)->key[PF_SK_STACK]) { - uint16_t checksum = 0; - struct pf_state_key *nk; - int afto, sidx, didx; - - if (PF_REVERSED_KEY((*state)->key, pd->af)) - nk = (*state)->key[pd->sidx]; - else - nk = (*state)->key[pd->didx]; - - afto = pd->af != nk->af; - sidx = afto ? pd->didx : pd->sidx; - didx = afto ? pd->sidx : pd->didx; - - if (afto || PF_ANEQ(pd->src, &nk->addr[sidx], pd->af) || - nk->port[sidx] != pd->hdr.sctp.src_port) { - pf_change_ap(pd->m, pd->src, &pd->hdr.sctp.src_port, - pd->ip_sum, &checksum, &nk->addr[sidx], - nk->port[sidx], 1, pd->af, pd->naf); - } - - if (afto || PF_ANEQ(pd->dst, &nk->addr[didx], pd->af) || - nk->port[didx] != pd->hdr.sctp.dest_port) { - pf_change_ap(pd->m, pd->dst, &pd->hdr.sctp.dest_port, - pd->ip_sum, &checksum, &nk->addr[didx], - nk->port[didx], 1, pd->af, pd->naf); - } - - if (afto) { - PF_ACPY(&pd->nsaddr, &nk->addr[sidx], nk->af); - PF_ACPY(&pd->ndaddr, &nk->addr[didx], nk->af); - pd->naf = nk->af; - return (PF_AFRT); - } - } - - return (PF_PASS); -} - static void pf_sctp_multihome_detach_addr(const struct pf_kstate *s) { @@ -9986,6 +9918,12 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, REASON_SET(reason, PFRES_SHORT); return (-1); } + /* + * Placeholder. The SCTP checksum is 32-bits, but + * pf_test_state() expects to update a 16-bit checksum. + * Provide a dummy value which we'll subsequently ignore. + */ + pd->pcksum = &pd->sctp_dummy_sum; break; } case IPPROTO_ICMP: { @@ -10350,7 +10288,7 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 action = pf_normalize_sctp(&pd); if (action == PF_DROP) goto done; - action = pf_test_state_sctp(&s, &pd, &reason); + action = pf_test_state(&s, &pd, &reason); if (action == PF_PASS || action == PF_AFRT) { if (V_pfsync_update_state_ptr != NULL) V_pfsync_update_state_ptr(s); From nobody Wed Feb 12 19:39:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtTCL00zJz5nGj5; Wed, 12 Feb 2025 19:39:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCK1MVqz3Xhf; Wed, 12 Feb 2025 19:39:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wUYBEO3HRh8mk6zR5dX6FNXmcwGrQkXl2sI0J508nvs=; b=FY+iOy4nRLgEnV5557tBDXNlewESxMb6RzF4pDflbRpPpzqWYqLUzPRo/nEwrL/j7J/RxP 979C1wjP+xhnlmi8/3e3JCyNopK4zv+EknuVcaYV2I7UfuCzLsA7N/xZrD7jJzBr4EMPMK VjAhU68Y6yC1JrY7fEwVnVWD4fZo5qgugbOs1Dite0ArFNtvkX5/JorSnVlhqkxwnyemg9 8an1+lxfiVEv4S11AGA8zgC4O5O+l4naRZz9q1ib1TY4sjXS7q+LaJwuHTF9/XN/w9P9GW +En00wj3Te7cvw8ENAFc2udq/x3gdsuUZ3rEE7CaOyqe+8w1J0Z22OlWTwXD+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wUYBEO3HRh8mk6zR5dX6FNXmcwGrQkXl2sI0J508nvs=; b=Oz33hbeAmCL3gAteIqd1xyAWz7hknOZVSLQFuBAVIZDQjUGZzwebjvo9n6qhtAKAMThg84 sKqtCAQIXRgFgxUl9nSpUBpJcavXTvaPTE7IyI8L3SxnX1HzjblZ+YMclLSed44AZ6mTV6 ITAFZXbHnmN5p8JLemc1qF5iYVqSUgV5LEPAO7L4DegQrj1eMM2z+9KPfrsME43gtHYAj4 Jl35zX2lS4rxvUOEnCvVXLe0uc07Pj8Kfo/rkTfrFLufXW3OJVSukz2nEQvxN4qqeS5Cws Jd09rlxKaiw0/3UMdKuh7nSLbjswZ0iYX8FNhim1dzVTEfpwYxfTgc8t+uQD4w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389149; a=rsa-sha256; cv=none; b=J6suK2tgJCB5iPlTczm83ims9t6bsIg8zdDK+vZiZryExTt8uw24s3eVFWwYBRqbVPMsXI /XFqLUby9GkaAG78ssCcZExRyWs2n2BLr5gPUhO3HIi5rgLott6m69DRe5VAHnxWU+m7Kc mxUEelLfgvgTQewYqREyQA4E4mfYWJPIjb/PNxXQ7vwiKMXjv4nVSNnS3mrzd48PdrAJr7 f3ZlF0gC2mk9zHdbxrA9B6zw1fqsg6cf8A7IXdDsEnWwTKay0E87rxDYzOMdWLegwGmzPk e/xZTbbc6nCe0UI9QQxKR20oJ07RGEi8fx+KECm0l5eq6A5ot1O25QKhaIh28Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCK0drkz1BlC; Wed, 12 Feb 2025 19:39: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 51CJd8f1061714; Wed, 12 Feb 2025 19:39:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJd8ww061711; Wed, 12 Feb 2025 19:39:08 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:08 GMT Message-Id: <202502121939.51CJd8ww061711@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: b53a787d23e5 - main - pf: fold the UDP, SCTP and other case into one List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b53a787d23e5fbb9e6133ccaef33c917fbb7f83b Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=b53a787d23e5fbb9e6133ccaef33c917fbb7f83b commit b53a787d23e5fbb9e6133ccaef33c917fbb7f83b Author: Kristof Provost AuthorDate: 2025-02-06 15:26:53 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: fold the UDP, SCTP and other case into one After the pf_test_state folding we can collapse the UDP, SCTP and other cases in pf_test() as well. Inspired by: OpenBSD, henning , 644c98137c Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 3f9e5473deea..3a56e6855d6f 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -10271,23 +10271,13 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 break; } - case IPPROTO_UDP: { - action = pf_test_state(&s, &pd, &reason); - if (action == PF_PASS || action == PF_AFRT) { - if (V_pfsync_update_state_ptr != NULL) - V_pfsync_update_state_ptr(s); - r = s->rule; - a = s->anchor; - } else if (s == NULL) - action = pf_test_rule(&r, &s, &pd, - &a, &ruleset, inp); - break; - } - - case IPPROTO_SCTP: { + case IPPROTO_SCTP: action = pf_normalize_sctp(&pd); if (action == PF_DROP) goto done; + /* fallthrough */ + case IPPROTO_UDP: + default: action = pf_test_state(&s, &pd, &reason); if (action == PF_PASS || action == PF_AFRT) { if (V_pfsync_update_state_ptr != NULL) @@ -10299,7 +10289,6 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 &pd, &a, &ruleset, inp); } break; - } case IPPROTO_ICMP: case IPPROTO_ICMPV6: { @@ -10329,17 +10318,6 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 break; } - default: - action = pf_test_state(&s, &pd, &reason); - if (action == PF_PASS || action == PF_AFRT) { - if (V_pfsync_update_state_ptr != NULL) - V_pfsync_update_state_ptr(s); - r = s->rule; - a = s->anchor; - } else if (s == NULL) - action = pf_test_rule(&r, &s, &pd, - &a, &ruleset, inp); - break; } done: From nobody Wed Feb 12 19:39: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 4YtTCP30Ssz5nGWM; Wed, 12 Feb 2025 19:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCN3hZMz3Xqh; Wed, 12 Feb 2025 19:39:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hg6gh9GmlRtOvH08l92xtWc8qgcIXQS1ULbCOJgBhJk=; b=B9SdFOLsaDDbDd2WOoKudHlrz3X9hjqwJVNmy44VzblXZnp/bEsn6joBAv6eiFjVX+QLgo OIdFlAOwAcZdjO+sPqzZxn8anBR9TC0/vwqv6QwWw4yXvsqeWtDKOP/Z9W3P+1OXDIw17B 8rgfvcfCWoA7esWlzncIGd+MgZJupt41V46Mh/jqL6VoMjOC1Odb+smTBjpOT/gMF9ZC9t juiZWsh0OkkXeDu4sOC9tJbMWerRxsAr4LhfgDscFP7/lasytk8Znz26/3iGSSTSogRRoo alFbgbCXM54Y1AzUR1uXcrNEvGM1X3yIvFFwkrA7vwSVSM0PpeMBcwze1ifOQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389152; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Hg6gh9GmlRtOvH08l92xtWc8qgcIXQS1ULbCOJgBhJk=; b=yIdkcYmk5hK6A/2c/hyLTPUZNBDWDXkiaYbPfUwN618ZAce9fidjOZTxi5M6OHZIN7SqpK KMqEZ2SRqA6YpsWBSf3M8WgICoxa4TJ93i0U1yd1L9b2bztLOM0femKoVf105mJ7gzB+IQ Gd6fKVKsBSVgr8tEDBVN22ZSw7Il/oi1F6AVB59K+KpZKgG34PHtFS2XTdyEmXEhs+kW0Y djr6m5wBCc05ag5UWH3zXcFtoKJG7k7cfZzCwh+bj171YuNLicKJQPDrcu8Q1VrqA6/6Sv dbsCLAQnTi2oXu/DVJKz6gI3CIykx6aF/FThN+p/Q+sI6Ea8k+BtIKGvZkHDXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389152; a=rsa-sha256; cv=none; b=E4BzOG4gylQ3ol4RFEIDdo4s+9jO/2oZ8lXoqZVgTx4DqQ4oyyELrKrElQVhYh9toKqQh+ EqYspVPvhgHdl1G9S2yhYsSiOlYSpK/TcuTwjUWAAbFuSHN1unbyNrBHPUYmRILpNoRqmZ UxCEtsgGbauVLUNEBpeK0SDLwT3Z1H7HzWFZyyW+On4vO0lIa0zQ0VoHVARK4qG784Hklc t4Sjb9/ayj54tp7KgA/n5mtO1P//3kNZjWd3LZaqqEor1oo/v4f4O8IWysjv7uEaRl0VQ6 hdTICtPYsiMHdaZG+BrX4lsktRToDWqzTnN7bxnHpo1p02qoeYWFJXr1vOzQow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCN2zTmz1BRc; Wed, 12 Feb 2025 19:39: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 51CJdCCd061810; Wed, 12 Feb 2025 19:39:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJdCWW061807; Wed, 12 Feb 2025 19:39:12 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:12 GMT Message-Id: <202502121939.51CJdCWW061807@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: d11a19654aab - main - pf tests: verify that table counters work on match 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d11a19654aab578fad617fe8676146b2734b1679 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d11a19654aab578fad617fe8676146b2734b1679 commit d11a19654aab578fad617fe8676146b2734b1679 Author: Kristof Provost AuthorDate: 2025-02-06 18:27:19 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:39 +0000 pf tests: verify that table counters work on match rules Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/table.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/tests/sys/netpfil/pf/table.sh b/tests/sys/netpfil/pf/table.sh index f655463f3c03..3b7e116720f3 100644 --- a/tests/sys/netpfil/pf/table.sh +++ b/tests/sys/netpfil/pf/table.sh @@ -109,6 +109,46 @@ v6_counters_cleanup() pft_cleanup } +atf_test_case "match_counters" "cleanup" +match_counters_head() +{ + atf_set descr 'Test that counters for tables in match rules work' + atf_set require.user root +} + +match_counters_body() +{ + pft_init + + epair_send=$(vnet_mkepair) + ifconfig ${epair_send}a 192.0.2.1/24 up + + vnet_mkjail alcatraz ${epair_send}b + jexec alcatraz ifconfig ${epair_send}b 192.0.2.2/24 up + jexec alcatraz pfctl -e + + pft_set_rules alcatraz \ + "table counters { 192.0.2.1 }" \ + "pass all" \ + "match in from to any" \ + "match out from any to " \ + "set skip on lo" + + atf_check -s exit:0 -o ignore ping -c 3 192.0.2.2 + + atf_check -s exit:0 -e ignore \ + -o match:'In/Block:.*'"$TABLE_STATS_ZERO_REGEXP" \ + -o match:'In/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \ + -o match:'Out/Block:.*'"$TABLE_STATS_ZERO_REGEXP" \ + -o match:'Out/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \ + jexec alcatraz pfctl -t foo -T show -vv +} + +match_counters_cleanup() +{ + pft_cleanup +} + atf_test_case "zero_one" "cleanup" zero_one_head() { @@ -488,6 +528,7 @@ atf_init_test_cases() { atf_add_test_case "v4_counters" atf_add_test_case "v6_counters" + atf_add_test_case "match_counters" atf_add_test_case "zero_one" atf_add_test_case "reset_nonzero" atf_add_test_case "pr251414" From nobody Wed Feb 12 19:39: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 4YtTCP0rYWz5nGsR; Wed, 12 Feb 2025 19:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCL1q0nz3XfS; Wed, 12 Feb 2025 19:39:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vs9C6WaYfFQouQKnYC17m6OIng/wqkOKZth3HEFJwKI=; b=sPXUL2a28TXFStSBwdCKmGYox/TtJnrUqZNukJX+LpA/k1nKgJag4bCo1tfvkvazV7Zfr6 Xrltut7kEmX2RbfrofhFCEpxL3y+WNmiWPC2cXOMlD6WxP6PWdh4vH2dmyeya50viSJOVy RijdkkYBTnIrxuqDk/gEDU9hW0bAaMFAGy+PLt5hFsHizx7fyIcI7pSuCxGIG2Y62/gHyu DfYE9ZGqObCHbXq+xFERZm4DfCf/4rUorsFFklosQKk9BeFtKVFnYguKZCO8IDaoZOY9OD nMpI+wosLOK8/Y11nQxRJ+PNLyrgDQWb4aA4owcMnbPNJWsEbM0fJQfXaFut8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vs9C6WaYfFQouQKnYC17m6OIng/wqkOKZth3HEFJwKI=; b=KH/0DpiAyICBW/37Ma5PFSqKeTm2Qskj7MyZfcJX46yjKqd18SyV+uJ+MF1nWgKqs1/de3 SQl6dMoazDs22OQgLbraTbeG1DzIBPECIJJnAoIt26O8CdcEun3rgNcgJv+tqzJqNv9K4Y fqeXIYwOAVB6oRA4jZzXnXH1QyMVbXSvFGcTC14ANtPbxsbaZps7bB7JveWSSd+vhZ+PMi 8RaP4s8tDzoT8gnOz9s6CEgp33Kn0XRN46C6fj1qOQbmXK+OUJCHWizxDxfqr0V+qPTETs iv+gT89p1F60R9Dyhye2r/3zyd8vrr8uRrgzqlYn6Koaz/C5iiHV0gNVZihUMw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389150; a=rsa-sha256; cv=none; b=xG47swoj8DcgLe2bVUUWJMUNpl5htWG7CEwbWoAV8U2Vxy1WS7BhfA7C67RQsReBq/VCUV +lwQsVTvzq4pVzQ1xv+IVUXtzUgDTGql3YIyDvTrT+DNjkIuyTUqXzh6TgXw5g1cQXRJBo 5Cbcs9vPcocXCcRIUaoNPZGsnMOOoFpNebh3c6tk7yoJSUgvOChStp6sfr0U19N46RRtuV 2hIvyag1lYr35mD9M60Buopl3RDHWvO+7/Jadgv9ExHCID0Kvx0xZpdrY/Fe+svPv9d2pd 5aPQYq9/faE8fxD1ulZFZOXM4SQpONr1fx0JxvWRGBD1RoqXZgwa8YZbkTHZCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCL1D9Cz1BtR; Wed, 12 Feb 2025 19:39: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 51CJdATw061746; Wed, 12 Feb 2025 19:39:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJdAB0061743; Wed, 12 Feb 2025 19:39:10 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:10 GMT Message-Id: <202502121939.51CJdAB0061743@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: d62832e21a0e - main - pf: make length overlow protection more obvious List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d62832e21a0e396470bbe072ad33496e708db582 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d62832e21a0e396470bbe072ad33496e708db582 commit d62832e21a0e396470bbe072ad33496e708db582 Author: Kristof Provost AuthorDate: 2025-02-06 15:43:14 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:38 +0000 pf: make length overlow protection more obvious Before pulling the TCP options from the mbuf onto the stack, do an additional length check in pf_modulate_sack() and pf_normalize_mss(). Overflow cannot happen due to the restricted values in the length calculation. As this is not obvious, be better safe than sorry. OK henning@ Obtained from: OpenBSD, henning , a9e7ebb0d5 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 2 +- sys/netpfil/pf/pf_norm.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 3a56e6855d6f..6fdc0996324b 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -3867,7 +3867,7 @@ pf_modulate_sack(struct pf_pdesc *pd, struct tcphdr *th, struct sackblk sack; #define TCPOLEN_SACKLEN (TCPOLEN_SACK + 2) - if (hlen < TCPOLEN_SACKLEN || + if (hlen < TCPOLEN_SACKLEN || hlen > MAX_TCPOPTLEN || !pf_pull_hdr(pd->m, pd->off + sizeof(*th), opts, hlen, NULL, NULL, pd->af)) return 0; diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 7290ede8d393..6546f8684a68 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -1945,8 +1945,8 @@ pf_normalize_mss(struct pf_pdesc *pd) thoff = th->th_off << 2; cnt = thoff - sizeof(struct tcphdr); - if (cnt > 0 && !pf_pull_hdr(pd->m, pd->off + sizeof(*th), opts, cnt, - NULL, NULL, pd->af)) + if (cnt <= 0 || cnt > MAX_TCPOPTLEN || !pf_pull_hdr(pd->m, + pd->off + sizeof(*th), opts, cnt, NULL, NULL, pd->af)) return (0); for (; cnt > 0; cnt -= optlen, optp += optlen) { From nobody Wed Feb 12 19:39: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 4YtTCP29y3z5nGjB; Wed, 12 Feb 2025 19:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCM2sYnz3Xqd; Wed, 12 Feb 2025 19:39:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lSpGts7ktbLVUL30HsdTvH+QRIdevKJMW6l/nrfbBYg=; b=NOcQiyew4R2mccl+h+gFWEioF0VJDQU7sYfGlYNXy9hhRaecRn8OKx6qttRMd3Gff/aL9Z ekwUAFtNXhla42R1shRo+tNUC6F8pATgeL5TreGhmV98h4S8zdZLFTEwBsz0+1UGmVhTOC GkXSADrPKmWfffvoigoFhGPw3Kyl0++IgbSZm3qnP4Hv/vbXG/QSyk31xfw2/qs3+go36F GsQe1NFrT3GwXqT419zIjVnDNrN1gMCWKJfNXx588oAdwPvkWnrIelt8X3D239mpiDUR/c KASNee9ncQW5ZnFCJydARbGUq/jSzSto6JSKyB/3kTMtnSggOZ55OyxngoGN2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lSpGts7ktbLVUL30HsdTvH+QRIdevKJMW6l/nrfbBYg=; b=YerDCHrvQ6h16COdfpo+SwfdZLCGJMhTlfVX1WraVaF9uoOL85V0Jwf1hUrye6KMAA9Bah Y9ehMSzwq1a1oHdRGOqE0KBUzaKiXmTryWvoWsabzHQmSNBjor9H4/FzMqa2AzS9DGf19z un8hljGrRvPPrXeuktJkB779+b5/qDDv23Is2/eZpMc0pntiOJgKVkhjqjoz0wVCSx7tow 4j9gywKWW0oaJUj8YxtF1oRF2FHIv8lBcjxrgrbTbEhwssQDz99qL7wTwT6MLYOVW5iTHc 6lY62kA1fiI+T96LwkK906uzoPfcm1Q3mQ4ZL9hwjywJIJY00shDZiEmBIcRhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389151; a=rsa-sha256; cv=none; b=sFEnzXcdRk6cmKzIs1SaDA4Va9XyNLLK56CzVvvy6qX3JbA/oGuD3aegb0LHb6WhPa1kgB Bh804QgDXJ+epgIEOHSYZSXzaU5qA+oV+NivpGErMmAUVg3xezSWDeEsUwkMjXTB/7b/50 MmLXjd0by+Q6zDOrqD7fVq5HrjGWhol4ru34Z4IaODgB16+PmLrQ3U9rsbJ8bqNIaSKfwH b4BBGGxhNIEDSywhwqWCGlGQYniMXPJAk5DoOmSUP7qUXFXcuoTvmh0tDDIrK2vqKdy0Ny nhXxFPm5I37TL5dZfEg9Gb37jIg3bpHaiq8vS+DL4SeuvfqSK01VthrIBTHH2w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCM2HMtz1BWq; Wed, 12 Feb 2025 19:39: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 51CJdBbU061778; Wed, 12 Feb 2025 19:39:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJdBGu061775; Wed, 12 Feb 2025 19:39:11 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:11 GMT Message-Id: <202502121939.51CJdBGu061775@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 7ed8e4be2366 - main - pf: rudimentary counter fix for tables used in match 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7ed8e4be23664cb8b112a405114c9e4958d78fca Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=7ed8e4be23664cb8b112a405114c9e4958d78fca commit 7ed8e4be23664cb8b112a405114c9e4958d78fca Author: Kristof Provost AuthorDate: 2025-02-06 18:26:11 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:39 +0000 pf: rudimentary counter fix for tables used in match rules Fixes an issue seen by reyk@ ok henning@ reyk@ Obtained from: OpenBSD, blambert , 96fa270faa Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 6fdc0996324b..5c99cde4a9f4 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -10033,6 +10033,21 @@ pf_counters_inc(int action, struct pf_pdesc *pd, SLIST_FOREACH(ri, &s->match_rules, entry) { pf_counter_u64_add_protected(&ri->r->packets[dirndx], 1); pf_counter_u64_add_protected(&ri->r->bytes[dirndx], pd->tot_len); + + if (ri->r->src.addr.type == PF_ADDR_TABLE) + pfr_update_stats(ri->r->src.addr.p.tbl, + (s == NULL) ? pd->src : + &s->key[(s->direction == PF_IN)]-> + addr[(s->direction == PF_OUT)], + pd->af, pd->tot_len, dir == PF_OUT, + r->action == PF_PASS, ri->r->src.neg); + if (ri->r->dst.addr.type == PF_ADDR_TABLE) + pfr_update_stats(ri->r->dst.addr.p.tbl, + (s == NULL) ? pd->dst : + &s->key[(s->direction == PF_IN)]-> + addr[(s->direction == PF_IN)], + pd->af, pd->tot_len, dir == PF_OUT, + r->action == PF_PASS, ri->r->dst.neg); } } From nobody Wed Feb 12 19:39: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 4YtTCR6phzz5nGmr; Wed, 12 Feb 2025 19:39:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtTCP4WXBz3XyN; Wed, 12 Feb 2025 19:39:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gTgEyKUsj6JtThyyqY8karKjHoQ6M7zPmnEqz/QCrI8=; b=OLQ3aSFZcs1MlBScAXN9Nfzfi5Az2q+WVmZUqgAtOwRGF/d5hc1CfHBNnARk+AP/GqhBpI IpanC9QnObOUZ53mvekZEhZU7qwbRRmORHytp0CBW3KyrpVcvWouEAiDVAYrk4MzZi6MnX itokHKOb35h32jEgHyIPrXAqfDD4tk4rTi22VIZ0OnbiUZC080yMQeXEL+zaUpenDUoz2d U/tNMq4lVYuGX1oRL0U2Obj4WYyAM1FD+RrFHJJTNDfuBKLn5ADOFatTa6WTnnzKlzXZjv UD3/Np3A8CJSrtEk7c579hT3IxaXSJE2dGpfk5MQ8R8Xqwyaz+c0feSycxSPTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739389153; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gTgEyKUsj6JtThyyqY8karKjHoQ6M7zPmnEqz/QCrI8=; b=cQehRswzxU0cSaVB8WgNFpbWuuE207ljNS5Tte/UxcpqA6nEd2X7XJVjws5dBuUM9sZLyG iSYBxLCUjEPyrCWuMopHXF1q4i3Qk6hdRdumP7ue/XsTcUBYxyqBnnbwbB+7tUzhuYU7T4 pG25wwt6lJSkRrI3lpsRIGn7CoCmaOW8HEf0+bwvi620niSr39qUFXQBou3LWvA5/LRNi3 EbyZJcd6Hro9ZBiCIgf9mz3tIlLHaowqj9TJURiCTGoYJneIW+9Xb8J5L4/Bnlh2/Z4axq lxcSP1Qt4Zxh1wlsLG4JuGDzAcMl0J7osnn+N3f2CC0yyfzVSPrvEx37Utvpag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739389153; a=rsa-sha256; cv=none; b=Ig53nQ1tx1G4sz58kFEjERCpcVb3JT8Xus/ivefSl0RpppYbmwO33XPuWwmi7Kb9YOD/+a /THlkHfaJFv+nAbOTp0inkCxfC5Wx7T1RMx2m3ISYFDeMcb4WcZvea4KFtfzOxdihoG5MY DuVsijiO1SvWYzjmpf0Kd/gYnylyIVuva6k3DyAFnCOioZwNOPw7Uq/LwKWuUKuYRtc1SH bOspTY3jdXcXcFtbYNjfbH81FsFUpIKVbRrGDOx4cP4ohIpspGRl0RXPOP6AQWar2hBDwP yJlk1Rzu7/z1/s4gYvlKpHWPPMiE6Hb7HnuhZ/4LEZogU5F0qCMHGYkFAxdeSg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtTCP40fLz1BWr; Wed, 12 Feb 2025 19:39: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 51CJdDqi061848; Wed, 12 Feb 2025 19:39:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CJdDcD061845; Wed, 12 Feb 2025 19:39:13 GMT (envelope-from git) Date: Wed, 12 Feb 2025 19:39:13 GMT Message-Id: <202502121939.51CJdDcD061845@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: e736f6df1ec1 - main - pf tests: fix test skipping when pf is not loaded List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e736f6df1ec1d2f5a846a20cec8744cf843daf78 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=e736f6df1ec1d2f5a846a20cec8744cf843daf78 commit e736f6df1ec1d2f5a846a20cec8744cf843daf78 Author: Kristof Provost AuthorDate: 2025-02-12 17:38:30 +0000 Commit: Kristof Provost CommitDate: 2025-02-12 19:38:39 +0000 pf tests: fix test skipping when pf is not loaded Two test cases in table.sh didn't call pft_init and thus didn't skip if pf is not loaded. The fragmentation_pass:v6_route_to test had the test body in the cleanup function, so got run even when pf was not loaded. Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/fragmentation_pass.sh | 10 +++++----- tests/sys/netpfil/pf/table.sh | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/sys/netpfil/pf/fragmentation_pass.sh b/tests/sys/netpfil/pf/fragmentation_pass.sh index e72b065b77bb..9255e6f738cf 100644 --- a/tests/sys/netpfil/pf/fragmentation_pass.sh +++ b/tests/sys/netpfil/pf/fragmentation_pass.sh @@ -165,11 +165,6 @@ v6_route_to_head() v6_route_to_body() { pft_init -} - -v6_route_to_cleanup() -{ - pft_cleanup epair_send=$(vnet_mkepair) epair_link=$(vnet_mkepair) @@ -224,6 +219,11 @@ v6_route_to_cleanup() ping -6 -c 1 -b 70000 -s 65000 2001:db8:43::3 } +v6_route_to_cleanup() +{ + pft_cleanup +} + atf_test_case "mtu_diff" "cleanup" mtu_diff_head() { diff --git a/tests/sys/netpfil/pf/table.sh b/tests/sys/netpfil/pf/table.sh index 3b7e116720f3..a3d00f8cdb14 100644 --- a/tests/sys/netpfil/pf/table.sh +++ b/tests/sys/netpfil/pf/table.sh @@ -172,6 +172,8 @@ ctime_to_unixtime() zero_one_body() { + pft_init + epair_send=$(vnet_mkepair) ifconfig ${epair_send}a 192.0.2.1/24 up ifconfig ${epair_send}a inet alias 192.0.2.3/24 @@ -243,6 +245,8 @@ reset_nonzero_head() reset_nonzero_body() { + pft_init + epair_send=$(vnet_mkepair) ifconfig ${epair_send}a 192.0.2.1/24 up ifconfig ${epair_send}a inet alias 192.0.2.3/24 From nobody Wed Feb 12 22:17:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtXjn0Qrbz5nR6S; Wed, 12 Feb 2025 22:17:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtXjm4kjSz3fYb; Wed, 12 Feb 2025 22:17:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739398636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0PbP3DtnmZeTk9Fw4GY+7slosIcOjuqGfpSroSgrRQ=; b=B8Tzn+hrzri+o6oiOcpJVpI2JPlxbxHtbi06bn0Y6Uyf4eVjykjlCUWELcIFPH5iGWnnxr JyibMJ9jOT+m9lncAD+XOQLUANKtyzNDHcDexVVWKDoFuvBx/dICzqcRqy8l2wPSuj9fkU 4VuK64J6DzptWCNtHnir40j9On54ODK2q8IKsPDq4COyygRGMJAEKIBfDAIyGDmPsAVybU VfhIUri1/8/1aFnq0ROO0OFV0YGRbdJRXYwIScSYc7F3LxP57HX5szno8DZ71jp7jKMsW1 WSf8wjO8gKAhz4HC6RS9VyiUW+ZcYyNO7OTGANUV2IUM+34a8kgS5GT1F7vfvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739398636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0PbP3DtnmZeTk9Fw4GY+7slosIcOjuqGfpSroSgrRQ=; b=miHuwwNslzH941GnqMI1dwFbsfY+jRaD1cU14mkxiaDCpOq2lECmcpxtZE7Zc9PjLdRgaz taw7UFob3E8fdcn4RMKpvRx6kfIGDFNORj7mCOuIM0GGw9P74AIkI16UmxmcKF5fS/zzvL QMqk/ACYHPT8ikPe0QIHe8m+yQ4djPUcmRuxP9DCkWcXBLhYpGNeY29UEOM4rXwD7wdDtI j3roEgRtRmLEMoKD+R+7nTXBWpUMJT7Kb2+Vz86Zdh38a8NeSwZHbzMa+qw1ZmOf0OVR94 xbT1+S9gVpercvhtDO+w5A89jL+Yx8+1rZZ44/+ze7q5qVN1GAy0SfohmAgv8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739398636; a=rsa-sha256; cv=none; b=iuT7/Q+qbNnyhDyqcSQqy3AQtsLRFnbupYIZSS9icYWLTNub4W9NFIulRrJMXJ38ku+0xn q8IB4Bp8+6lZj3UnAedrFzGyoGIRTf/9Z2UJVd0g5RZGitw8yZ4fYg+SVjLARHvJ2ErdJK MJDJs8rX47kQ0smaIt4V0xdwtydfCn3JCk7wFMIAsgx/dvTDYifNNhwpIW6XAUFUWK39IU V31pn8j6y/UkXjsRweIzu4tnrY/858G2E8ct+eMhOAhkhWNfF8QPLgdHaH5Hm6QvVyFPY8 0qReLurfrt+E6hTmyK7tH17X5UgQcZDuUgRpvtlSxWmKC2XqxrZbpyAtrdnJFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtXjm3rbpz2fg; Wed, 12 Feb 2025 22:17: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 51CMHGfx060004; Wed, 12 Feb 2025 22:17:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CMHGO1060001; Wed, 12 Feb 2025 22:17:16 GMT (envelope-from git) Date: Wed, 12 Feb 2025 22:17:16 GMT Message-Id: <202502122217.51CMHGO1060001@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: d6cce475cb5f - main - mtw: Pass the right pointer to the constructed command in mtw_mcu_radio List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d6cce475cb5f5c449532984e9c661596950fa26e Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d6cce475cb5f5c449532984e9c661596950fa26e commit d6cce475cb5f5c449532984e9c661596950fa26e Author: John Baldwin AuthorDate: 2025-02-12 22:13:33 +0000 Commit: John Baldwin CommitDate: 2025-02-12 22:17:00 +0000 mtw: Pass the right pointer to the constructed command in mtw_mcu_radio This was just using random stack garbage before. Reported by: GCC -Wunused-but-set-variable --- sys/dev/usb/wlan/if_mtw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/wlan/if_mtw.c b/sys/dev/usb/wlan/if_mtw.c index ecd4693e2361..d7970af5d876 100644 --- a/sys/dev/usb/wlan/if_mtw.c +++ b/sys/dev/usb/wlan/if_mtw.c @@ -4384,7 +4384,7 @@ mtw_mcu_radio(struct mtw_softc *sc, int func, uint32_t val) cmd.r2 = htole32(val); cmd.r3 = 0; cmd.r4 = 0; - return (mtw_mcu_cmd(sc, 8, &val, sizeof(struct mtw_mcu_cmd_16))); + return (mtw_mcu_cmd(sc, 8, &cmd, sizeof(struct mtw_mcu_cmd_16))); } static void mtw_init_locked(struct mtw_softc *sc) From nobody Wed Feb 12 22:50: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 4YtYRc2DWQz5nTGj; Wed, 12 Feb 2025 22:50:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtYRc1mB1z3wYv; Wed, 12 Feb 2025 22:50:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739400604; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W32Z5+NWSYNmtEp6OtFx3jbxdqbYV7J2K4gtJgxkgzs=; b=cwirfNFhUwB4Z7XYPvy5gdi1n2HHvV5/mbJeTVABkeeiTQIe4wBdNOGBK+fEq+z5VmlwbU WFfqsE45sGTvg/k0xipkj9qw9DLpI/+TJlv9LQObhZKpMNPs7H0o8q0f3gfGFB7M8jxNep Sf2isbbSgZx3mBbvi/fe5ndQ/0yB6YtqaOe9MHBiFhbI4z33rDGrQ8g/P28Mu1T2gk/S1m e1ppYyOsJAzB5r62QJoyKi94csQKIT0NLpH2HKJRJ6HrmdSJ1DVGHLjsPHsfGdiQcn8X1p rUDQosrGEyDv2bxslgn0/gjnZ9+T8t/3mFYQ9ncu2UtX+Z8tlq7HVb84vgtXRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739400604; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W32Z5+NWSYNmtEp6OtFx3jbxdqbYV7J2K4gtJgxkgzs=; b=QhYmc8syHrhE6r+RjhumYQ+y5i46HAk1th2Y5w50oN2OdUP9nj8DstFMW3O59eKW1LGOk/ WMUiyj9fxIT/jZoDds2S9ETm8+1t3YlJ5oCy8nBmwBpJYlHPG3Rx+z5/uxvlpE12xYnwa2 QG3EAMyVWkmNNIH6Qs+f/4jd0rs3wj3GhzHZiBxy6iATKN9O/FnA2QJDZ3bGBtaOZRuzy+ WIcjtm3k57NOVYwhWHvK6XIyJ/7GGWaBrl4YGHfYaDZEolPK7ZQt0hGul5kzB72BgPOBOs chvg0hHfVH09oScOz0c05Hxch+B2rUdkEeYWZKhurDseOKbCeBkwxdnlxbIcPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739400604; a=rsa-sha256; cv=none; b=w4QF5YjRCFgeLjhYs8I8AJQahS5pu3A/8yqpiN9xyNuOH6LhiNizTyCf2MlUAdW5QjkHzT Cq7/xFysOaToTcOk5l7NBY9GSbtF9JYeiESp98Jm+tpjrgL0JiUsanxhfiibJg+r4Uty1e WLUsqW9zvupWMyqsFmVfdGAmefDTB6A/uUtoK4J6tHlHf7z86rNR7Qhb30/A+4vdOakuaM 3rk8QQyCBM/27Js99ZpRSf5r4AqFA845KiuPmfRywDh8BbyRqjUuIx4IqOWvM3TGMKPSm6 Ai6hb16wWCeu4qzIhoBy94I3KptqYTiPjEkfyXmXzdwRdkXb7XBw/UiFkEQYjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtYRc1Fd3z3RV; Wed, 12 Feb 2025 22:50: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 51CMo4oY019275; Wed, 12 Feb 2025 22:50:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51CMo4ps019270; Wed, 12 Feb 2025 22:50:04 GMT (envelope-from git) Date: Wed, 12 Feb 2025 22:50:04 GMT Message-Id: <202502122250.51CMo4ps019270@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Cheng Cui Subject: git: 6156da866e7d - main - cc_cubic: remove redundant calls of tcp_fixed_maxseg() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cc X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6156da866e7db8dab36b96ac4f4e38f75e41200d Auto-Submitted: auto-generated The branch main has been updated by cc: URL: https://cgit.FreeBSD.org/src/commit/?id=6156da866e7db8dab36b96ac4f4e38f75e41200d commit 6156da866e7db8dab36b96ac4f4e38f75e41200d Author: Cheng Cui AuthorDate: 2025-02-12 16:41:08 +0000 Commit: Cheng Cui CommitDate: 2025-02-12 22:49:21 +0000 cc_cubic: remove redundant calls of tcp_fixed_maxseg() Summary: No functional change intended. Reviewed by: rscheff, tuexen Subscribers: imp, melifaro, glebius Differential Revision: https://reviews.freebsd.org/D48967 --- sys/netinet/cc/cc_cubic.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/netinet/cc/cc_cubic.c b/sys/netinet/cc/cc_cubic.c index 3b134082a59b..ae1561ca54c3 100644 --- a/sys/netinet/cc/cc_cubic.c +++ b/sys/netinet/cc/cc_cubic.c @@ -298,7 +298,7 @@ cubic_ack_received(struct cc_var *ccv, ccsignal_t type) W_cubic = cubic_cwnd(usecs_since_epoch + cubic_data->mean_rtt_usecs, cubic_data->W_max, - tcp_fixed_maxseg(ccv->tp), + mss, cubic_data->K); if (W_cubic < W_est) { @@ -328,8 +328,7 @@ cubic_ack_received(struct cc_var *ccv, ccsignal_t type) if (((cubic_data->flags & CUBICFLAG_CONG_EVENT) == 0) && cubic_data->W_max < CCV(ccv, snd_cwnd)) { cubic_data->W_max = CCV(ccv, snd_cwnd); - cubic_data->K = cubic_k(cubic_data->W_max / - tcp_fixed_maxseg(ccv->tp)); + cubic_data->K = cubic_k(cubic_data->W_max / mss); } } } else if (type == CC_ACK && !IN_RECOVERY(CCV(ccv, t_flags)) && From nobody Thu Feb 13 03:57:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YthGK0NzFz5mr8m; Thu, 13 Feb 2025 03:57:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YthGJ3035z3jt2; Thu, 13 Feb 2025 03:57:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739419048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nYeMbOwF1Epu1Bqhx4EdjyuxDzTnc5lFsCP4eJ5cg6s=; b=bgUzjatC11FY8blTOxQ6o55I0g22gnal1STFsMz9swqMsmIBzlU89AcRIG7cbnhCo9TQnt 9JYJOp0W+ENpCp4724xmy7LiYSVN9moSlo5Z46SAiDJJ1VjGwMA5bA5HFkusA2mLjm94pE p8+qlseCF7UsyvqxD4YFIMiPpHpEDtU5zPnJyoPyhSP3wH1AyY2Crd72Y9ucNhDrmTMB66 +xK4j4SIK/4vCrSQPjR/cYD0EIlJ5sMW4KvrcEkdiAWTv4Zt4kIR+I8pQsQiR3CYxd1YW6 CAV5pxorghUQvEgq7NP6RK3HIY3symvsc2jPX9ciEvjn+f4p9CaAvshYshUItQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739419048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nYeMbOwF1Epu1Bqhx4EdjyuxDzTnc5lFsCP4eJ5cg6s=; b=Ysz1E3FciLJJW8JKFnc37VwpVZlzYyL2nwTEc5k+ei9NFpoH6TcCOv7eI1pZ6tAWsdCEtM ak5wrTHrsvbKWxLEo9qUfJJauUEAjoNIrxXFUoqapP5F5OIlmGmtSmAF2tTX1SjVOr7OCg dxSdNL4ruisNkYcX+OrZqe+F9/RCjFlMe3CA3ywsizQZFhyoHmsocXAKXdUIC+YrMAb3an tMdqdHDs2zsmNnG7DtuMzVgab72nm0pFfmidyxNhF3qsCk0iHLFgU9ZTMsxrBh8EQUJTrd gAKh1mLlmgLUqnXK0N2/3X2P/yQQCznHBNc+tJkO0xQtctbX7wv1Al/ZAwQFpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739419048; a=rsa-sha256; cv=none; b=YNTWBGrOE+5XaIb6zaSsnAgGmdH1vvXoS8XIyEtPgBpyQCtn/ZODL5qzWdWh9rdM0gAM+K ZacOApsdOnHVnGy9n4+qSorF3pdCdO1hUQCjBPtWnLTPjtwLNU89MnGwzznssTodydqyjC SSD5kzNRVMpkQAcC+VtALseoMl0cQ714Iymm4yC+ro3Dn5Z9dFPFezqZWpFNZPGiw57sjU VM+mhqSAlYsfWVeQXVPm4DfIzX2hHf3XaNgzPVMV1EzoemcTZttz9MGjMxdBszJwbhOb00 /PdO0QtMQVnhhXn7Hv5bxcHKkkzHERgqaBn79f6qKyUnSE7TWwT4xbmQP863eQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YthGJ2KzzzC7k; Thu, 13 Feb 2025 03:57: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 51D3vSde098752; Thu, 13 Feb 2025 03:57:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51D3vSD9098749; Thu, 13 Feb 2025 03:57:28 GMT (envelope-from git) Date: Thu, 13 Feb 2025 03:57:28 GMT Message-Id: <202502130357.51D3vSD9098749@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: 571df2c64a3c - main - recv.2: Explain how recv functions can return 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: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 571df2c64a3c1af1fe011303ec08e391e887ecbc Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=571df2c64a3c1af1fe011303ec08e391e887ecbc commit 571df2c64a3c1af1fe011303ec08e391e887ecbc Author: Felix Johnson AuthorDate: 2025-02-13 03:40:59 +0000 Commit: Alexander Ziaee CommitDate: 2025-02-13 03:54:14 +0000 recv.2: Explain how recv functions can return 0 Clarify the RETURN VALUES section with improved structure, the condition of the return value 0, and the setting of errno. PR: 174581 Reviewed by: jhb, ziaee Approved by: mhorne (mentor) Differential Revision: https://reviews.freebsd.org/D48955 --- lib/libsys/recv.2 | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/libsys/recv.2 b/lib/libsys/recv.2 index 08df62af3d1c..9dc1f3cc84ca 100644 --- a/lib/libsys/recv.2 +++ b/lib/libsys/recv.2 @@ -316,12 +316,19 @@ On data reception the .Fa msg_len field is updated to the length of the received message. .Sh RETURN VALUES -These calls except -.Fn recvmmsg +On successful completion, +.Fn recv , +.Fn recvfrom , +and +.Fn recvmsg return the number of bytes received. .Fn recvmmsg returns the number of messages received. -A value of -1 is returned if an error occurred. +If no messages are available to be received and the peer has +performed an orderly shutdown, 0 is returned. +Otherwise, -1 is returned and +.Va errno +is set to indicate the error. .Sh ERRORS The calls fail if: .Bl -tag -width Er From nobody Thu Feb 13 10:33: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 4Yts300Yfxz5nJWm; Thu, 13 Feb 2025 10:33:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yts2z6JNyz3fTp; Thu, 13 Feb 2025 10:33:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DV7iYdRG4V4kCAmQMbbj3HfmCpQl06eGCmTbag6YWU8=; b=r5cZjVV9181dA1qssuqMxPLMMq1Afaux3l07i7Y1sOXnx811yb37tnI1reEIZkKSj9LmgG RPzhREnGRqnxv2fHYDZvyFJrIcScEn4haDsbSnDrvEdrAmZKIcM8Bkj+nH1Hjdz15/syHn cL4bDHWJpdjB1TNxXMVFsgofVp359CWWFw7gdkUCnwGW5vGpkxeHFDmkSkBfGRm6mlXEBc DyTnkTiXeRGSckd4v35RmfqfEtWwVaq/onHyQi6aWCksbSfSam7BKAOlXm6AabPVgKRai+ uM+hU0CmeH89W1UKHfka+p2mgk91nd0luGVDih5t1W5pd5bvlGQ1PYgnRE00RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DV7iYdRG4V4kCAmQMbbj3HfmCpQl06eGCmTbag6YWU8=; b=eU+UgyUkP4oJATgmKxx9qZgn/fM60uvIp6CHiCxQ1sazy/MnSBTzbsg2/5odTeuUB3/clL ywmRfZOBlzJg400xW9JbEow/UpfohADOEb/lJn0/1RrlMG/6xBiPuPBWpAYJvykGGMNNl5 M1S6hEPdpf+vEAbWwVrZJSPwF/ICw6JM0K2HmGs61zfuZyK4gC6rrZlF1lCC+dhgEVgoC8 6NsWbGzJp6//o3q149Dz3ElpYb5hctp3IAGzpUkgNoH/VXsrOCo2THFL6d5fPRC0qENqiL 5N7bXeBjCezJcypcw6/x8Wwh1Bd4QCPxda8z5w7Wgxw5r6W6u/lxJNGRHmy9Eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739442795; a=rsa-sha256; cv=none; b=ltYS497GWhmnYmdvBt82/L/X1geVHKUnBE9PgLnqeTZ31e+DPCw+mxclTlKO+klc/EhX3f WuAqTEY4oDg7d4XPvPq+cYA385lpeM+jYywpAmHFcu+Huamymm06OtCCJK2UDH8e+SaM3q h87E0J2SkkkbOCU+OkUrRDGiWwsrfu8n+cE8qtrPbjQq11TSpG5nXphf/UjR16t2d7gLY7 OVw6vIfTj/7VXS088K97cga76ae7pC7BXorpBjQ01/+vHz+M9Jr8aL77IkLvkAzYtHHZ1G aFqTnJyezjKgW2jsyguRLmGe1mRU834/2zmqvAahbyv4SDRmvHYx2539fiEzdg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yts2z5vd8zhcX; Thu, 13 Feb 2025 10:33: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 51DAXF7a048728; Thu, 13 Feb 2025 10:33:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DAXFSW048725; Thu, 13 Feb 2025 10:33:15 GMT (envelope-from git) Date: Thu, 13 Feb 2025 10:33:15 GMT Message-Id: <202502131033.51DAXFSW048725@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: 2e794b773344 - main - mlx5: add synthetic error for MLX5_CMD_OP_QUERY_FLOW_COUNTER when device is down List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2e794b7733444bf3582486b0097d8162685af464 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2e794b7733444bf3582486b0097d8162685af464 commit 2e794b7733444bf3582486b0097d8162685af464 Author: Konstantin Belousov AuthorDate: 2025-02-09 00:09:28 +0000 Commit: Konstantin Belousov CommitDate: 2025-02-13 10:32:32 +0000 mlx5: add synthetic error for MLX5_CMD_OP_QUERY_FLOW_COUNTER when device is down Sponsored by: NVidia networking --- sys/dev/mlx5/mlx5_core/mlx5_cmd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/mlx5/mlx5_core/mlx5_cmd.c b/sys/dev/mlx5/mlx5_core/mlx5_cmd.c index 8ce30bc24e50..a961c9d7c3dd 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_cmd.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_cmd.c @@ -417,6 +417,7 @@ static int mlx5_internal_err_ret_value(struct mlx5_core_dev *dev, u16 op, case MLX5_CMD_OP_QUERY_VPORT_COUNTER: case MLX5_CMD_OP_ALLOC_Q_COUNTER: case MLX5_CMD_OP_QUERY_Q_COUNTER: + case MLX5_CMD_OP_QUERY_FLOW_COUNTER: case MLX5_CMD_OP_ALLOC_PD: case MLX5_CMD_OP_ALLOC_UAR: case MLX5_CMD_OP_CONFIG_INT_MODERATION: From nobody Thu Feb 13 10:33:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yts311XDCz5nJ9R; Thu, 13 Feb 2025 10:33:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yts3106v3z3fM3; Thu, 13 Feb 2025 10:33:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j8+JWUWHhd+3IcZ4cMMEPu+ZVMCH5MkerQ44IcT0YS4=; b=t4xHRotYhUQjItuh4CCvEFk1V/jV4Gv+LAlheOPtumVAXPXwjDC/ziNIS4D4eDLFM5bDzZ TLtw38h76eQTzSOVtShyelze606bz8nT/MHqiwtuja6aUyHPF6Bq2kqjYx30EEPfitc93V fsArlvE83S8Vlhbrxx5XFk/0xAwhZ1QpGMCeqAoKEJ+KUX/7lvC/oseYgU9jfwoT907OSi DwTGclBXHIJBwwE52pG7BuAN8qGQVoHxGvO/SfkJhPGfVEuzjCim8E4hA/657WVqqQEQea LjOYEZE29exBlhqoiJbX9moweK5dv8om78sezdWrXspk9+dGRXu9cv8XTZRLig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739442797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j8+JWUWHhd+3IcZ4cMMEPu+ZVMCH5MkerQ44IcT0YS4=; b=AnIEZ2f+2XehRojSCHvVGow2eyi3+3Rg4t4GtO2R+SAFrlNJWACc78fTsdr5Z4AH+y0jRN 3eNsGUqbFXJBkjoYx/sCJgzFXB41cGEUjWZ4z6s7w8Fo52nCK6FOcgGySh0yu5eKGQPx7I gUzT5+C0GXuQvCr3cwhB3us5KWghK9TAxiIhz6IFkkQbiUGuC5CMcx4kurABGJFOHTCGIF MvyefBA/GLwRNuNOIl0iyVj7rmgupzngYK65x9JL087H90lYGMddpaVTCARxDXEyCA8ot2 4vMv/Ckhx3R9hlLgfdtYBja93S9lTcfU0IsWdlGexvJBMymzg3FGicEPOozhEA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739442797; a=rsa-sha256; cv=none; b=UpbtZeA/XIqKOmyvfvnQzlvcH48LVp7AnIN4NiiySspM0L/VfgrxiQ+7p9dNA2xt3B4wvI SPXbeSlW1Px6xJEfQjjE1Qmik2vHocIdc8QhfQ/FpdKVT2wco4FkBD39i17O/DOPiDGdXE UMkTrcOs3Ts19pOP9tSjVBO5Pv8+VrCq2skJ9YyCP27uPy+WbWTL/ISsQDjHFSwQw0WqWj 3320XgK+3EzcAQoZoNxGH49E60Rg5TIeM3coLpHYdcXZV2L7DWWwuk0WMDskVBZfnWZ4Zl UJtcaOKr/c4tTcNlpJ7x4uIKrxqfrnCcj5OJR9p3l9FbuJA0tY79GrogVmilhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yts306rSPzhDr; Thu, 13 Feb 2025 10:33: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 51DAXGWG048762; Thu, 13 Feb 2025 10:33:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DAXGb7048759; Thu, 13 Feb 2025 10:33:16 GMT (envelope-from git) Date: Thu, 13 Feb 2025 10:33:16 GMT Message-Id: <202502131033.51DAXGb7048759@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: 1fbce7deef51 - main - mlx5 ipsec: return EOPNOTSUPP for unsupported SAs instead of EINVAL List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 1fbce7deef51bb7641335f13ddf2543e56f0dafd Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1fbce7deef51bb7641335f13ddf2543e56f0dafd commit 1fbce7deef51bb7641335f13ddf2543e56f0dafd Author: Konstantin Belousov AuthorDate: 2025-02-09 00:11:21 +0000 Commit: Konstantin Belousov CommitDate: 2025-02-13 10:32:32 +0000 mlx5 ipsec: return EOPNOTSUPP for unsupported SAs instead of EINVAL The ipsec offload infra requires the EOPNOTSUPP error from driver to understand that the SA is valid but offload cannot be performed. Sponsored by: NVidia networking --- sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c b/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c index b7e8eb88f625..3f3c575c9dad 100644 --- a/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c +++ b/sys/dev/mlx5/mlx5_accel/mlx5_ipsec.c @@ -256,69 +256,69 @@ static int mlx5e_xfrm_validate_state(struct mlx5_core_dev *mdev, if (!(mlx5_ipsec_device_caps(mdev) & MLX5_IPSEC_CAP_PACKET_OFFLOAD)) { mlx5_core_err(mdev, "FULL offload is not supported\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (savp->state == SADB_SASTATE_DEAD) - return (EINVAL); + return (EOPNOTSUPP); if (savp->alg_enc == SADB_EALG_NONE) { mlx5_core_err(mdev, "Cannot offload authenticated xfrm states\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (savp->alg_enc != SADB_X_EALG_AESGCM16) { mlx5_core_err(mdev, "Only IPSec aes-gcm-16 encryption protocol may be offloaded\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (savp->tdb_compalgxform) { mlx5_core_err(mdev, "Cannot offload compressed xfrm states\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (savp->alg_auth != SADB_X_AALG_AES128GMAC && savp->alg_auth != SADB_X_AALG_AES256GMAC) { mlx5_core_err(mdev, "Cannot offload xfrm states with AEAD key length other than 128/256 bits\n"); - return (EINVAL); + return (EOPNOTSUPP); } if ((saidx->dst.sa.sa_family != AF_INET && saidx->dst.sa.sa_family != AF_INET6) || (saidx->src.sa.sa_family != AF_INET && saidx->src.sa.sa_family != AF_INET6)) { mlx5_core_err(mdev, "Only IPv4/6 xfrm states may be offloaded\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (saidx->proto != IPPROTO_ESP) { mlx5_core_err(mdev, "Only ESP xfrm state may be offloaded\n"); - return (EINVAL); + return (EOPNOTSUPP); } /* subtract off the salt, RFC4106, 8.1 and RFC3686, 5.1 */ keylen = _KEYLEN(key_encp) - SAV_ISCTRORGCM(savp) * 4 - SAV_ISCHACHA(savp) * 4; if (keylen != 128/8 && keylen != 256 / 8) { mlx5_core_err(mdev, "Cannot offload xfrm states with AEAD key length other than 128/256 bit\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (saidx->mode != IPSEC_MODE_TRANSPORT) { mlx5_core_err(mdev, "Only transport xfrm states may be offloaded in full offload mode\n"); - return (EINVAL); + return (EOPNOTSUPP); } if (savp->natt) { if (!(mlx5_ipsec_device_caps(mdev) & MLX5_IPSEC_CAP_ESPINUDP)) { mlx5_core_err(mdev, "Encapsulation is not supported\n"); - return (EINVAL); + return (EOPNOTSUPP); } } if (savp->replay && savp->replay->wsize != 0 && savp->replay->wsize != 4 && savp->replay->wsize != 8 && savp->replay->wsize != 16 && savp->replay->wsize != 32) { mlx5_core_err(mdev, "Unsupported replay window size %d\n", savp->replay->wsize); - return (EINVAL); + return (EOPNOTSUPP); } if ((savp->flags & SADB_X_SAFLAGS_ESN) != 0) { if ((mlx5_ipsec_device_caps(mdev) & MLX5_IPSEC_CAP_ESN) == 0) { mlx5_core_err(mdev, "ESN is not supported\n"); - return (EINVAL); + return (EOPNOTSUPP); } } else if (savp->replay != NULL && savp->replay->wsize != 0) { mlx5_core_warn(mdev, "non-ESN but replay-protect SA offload is not supported\n"); - return (EINVAL); + return (EOPNOTSUPP); } return 0; } From nobody Thu Feb 13 12:38: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 4Ytvr15zdhz5nR7d; Thu, 13 Feb 2025 12:38:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr15NFyz3ft6; Thu, 13 Feb 2025 12:38:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oZIemDFlvQRf/QATFjTu5nCGRHISiY7lNa0o4v6G7xk=; b=koFKfxGU06mcXkaUk+3fhCMMCEIwo45eDCsue3GocQCke8H9ZEHBJq4QDv2htuJx13LJZS sojX+vaQ9JvgvFzaR26saz3zWHgo2M9FgOUHgOvS2aRTPRkjf/zqlkO8OI7XNBwpN9nBdq nit8+etXLlOdbp75csK0QbrcncZkiRicNIepLAvagwePFhYl0yoHHJQ35OeqoJj5lAGmcE oEz8NK58Z+K7Mx1YmvboPZy0enA23Tag/Pn7XlxBPjIjbSmK8bkxKlmfgOS3fQie+hogeJ p0kLkomYZHLlo2Y/33+ubvg5egIscmkhU2jxHXguGGwd+HP/2NHiQCmQ4TwOTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oZIemDFlvQRf/QATFjTu5nCGRHISiY7lNa0o4v6G7xk=; b=UCx6zCfr5NEKBsxLyntX2MjCk9vnmyCNaTeZxyg69kAhul1EDjfO3ND+7PRryjaMJ5yuDu /YW/kaji5JCkaNrpdNhSCSV2Enj96VOgRUIjvMAzZFOnhkTzV6IMPv0nIYFvw8XSezoPtw PqevAbjiBj6XdPeJJbsknsF9gKVib5w97+YbrvuaOMqYvC+AvdrK5yHbWGeU7glKDXic5O yiTkhYNhivKO54ThfVgKU3T/H49DVC3x9OrJzGz5xfcDCjnsPVpFxIZsfWha9gAKOZmO83 NMoR3Cgs9uvMyz+peaLoSIh4UgMAhVypM0xWt2kdGxaqKvmEhk+JOX6b7g/ZEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450337; a=rsa-sha256; cv=none; b=XnPHy48StMwKD7PUI1VX3dFK/ujg1yb49I2kmpVn0vgVDKVPOVLWGo6XOsQ+gcoCHmv8ob sW8uj3+xbRNf6kHkY0xRqS6lhl8zEJvaKpWracA35BEwo3n6Yob47NN2pzD1YKQ3vA0crk wBw/4Ea0eOMDtg2iohIuNaF4XNIptTO3DwVTQBdmth5ThQvBrUr74gxwiYSPQhrKqS4wIm ofWKb8Esw4NRzDQt8cWKMtuWy66RHEZN72zlN1JXq7QlhLeRvhfHPtXvWixP12y1b4Z4UJ EfFuoZ0MLNzdiDat7v8ei/nUgveGt1IS1ZNhinTOahXudc/sPUCepksSv4yXPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr14rSNzm3F; Thu, 13 Feb 2025 12:38: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 51DCcvRn075330; Thu, 13 Feb 2025 12:38:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCcvuM075327; Thu, 13 Feb 2025 12:38:57 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:38:57 GMT Message-Id: <202502131238.51DCcvuM075327@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: cdf415ecfd75 - main - pf.conf.5: make it clear that the default implicit 'pass' rule does not create state List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cdf415ecfd756b61ed0fad687ee97a12ec29cb5a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=cdf415ecfd756b61ed0fad687ee97a12ec29cb5a commit cdf415ecfd756b61ed0fad687ee97a12ec29cb5a Author: Kristof Provost AuthorDate: 2025-02-03 17:11:55 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:42 +0000 pf.conf.5: make it clear that the default implicit 'pass' rule does not create state make sense to deraadt@, ok/wording tweak from mikeb. Obtained from: OpenBSD, sthen , 610eb54470 Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index 4020243c521b..5ee660bd0202 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -707,7 +707,7 @@ For each packet processed by the packet filter, the filter rules are evaluated in sequential order, from first to last. The last matching rule decides what action is taken. If no rule matches the packet, the default action is to pass -the packet. +the packet without creating a state. .Pp The following actions can be used in the filter: .Bl -tag -width xxxx From nobody Thu Feb 13 12:38: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 4Ytvr32fzPz5nRXZ; Thu, 13 Feb 2025 12:38:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr26NRXz3fwc; Thu, 13 Feb 2025 12:38:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=49AKl6qs5A3T9DjvetXNmn3f/G+h/DtW1wc0RIr8NvE=; b=Z+DqPZ8OjIMS8EUfhGsUacwf63FPWEIQocSZl1ja5Ih5tcL0bjltSlvJSqpHqEOweUAd/M KFu7IgRtPSMxRaEfALSV1iOmDSDqMoPcR2baz/aY0s+TzsCiReXFJfUckRxefv0XqWc4oI iKE4lOusrAYvAL71evB/0lyUzs2ZMKU2t1nr5p44WpIBgkM+OpnjbH+waCVNJsoy+v8CYT moQ8SUC2ALGBSCmHEJr9JjUM+ybry2DoNRtuPbdDhHELMhVYqGH0pK0HaEJ/aDkKw1L1QD sOjr9gTGaJAdA+0OTvqiFkuPAjmvq2NQwDj7YXustiQ0CQQEsaVmyUXmgShYUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450338; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=49AKl6qs5A3T9DjvetXNmn3f/G+h/DtW1wc0RIr8NvE=; b=jVeIPz/eA1ABdzsQ8tFKMcR29fDIaxXa0A3nwmQyZH2QewHal/KjYNrtcXrQvSN/+0cgYj yZLdzZgeHwXbA3jHt6+I9vi7LfeQrggnYH1lS3BfFFByotPe96+jmDPP+XL+g5mkSvIY2/ VqtIQKJc5g8eZFKG8V2Cje3uoa8bsmabztTZ2GsyaC9hTjJKSKpjdN4qFwsz56P/i0R4wV rf0xIzQt+3YGs4NN3jF6CLZOurDQUejvYtvDXNhoCqmIEMDPsL1K3kh9Q6Ztc45NCuizd1 kf47dL6pMUkgNb9hdnH1Wko/kXoPE0CF6/wHzAzs4KQyVB5Cb9lQh/jBjuOF0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450338; a=rsa-sha256; cv=none; b=SjGwv5IlXBPY6sl49hVrelrvPxtH8BXVJDXc3xsm8A+FgaZV/+adUxNd43T8nyfJhUMeDP 2abRSMe8DBfB1SOc2BAFT5Erq1XdVRus4JbHyTUOJaHJjK9Ad8IA8vFKVFRCs/TQHEHA3n IJs/cf/+6u7aLG9C1q2EHG5xY74CryAWc56iJKjcEz9dbnA4L4w0pRg9C4n9r2LJp3zjkN tFBbvWBAtg6m/3LlQiQGfx5NUgm7UPzPKPZLwKMEXUiVvPkhaKZ+uMjZdjI9JLV0wk/5U1 6K6Y4PffN2VxeNRuraT0kO0JdrE0w2kv+flEvfLT8wJZMF4NG0RbujM1VmVN/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr25mYBzlNN; Thu, 13 Feb 2025 12:38: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 51DCcwTb075370; Thu, 13 Feb 2025 12:38:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCcwUZ075367; Thu, 13 Feb 2025 12:38:58 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:38:58 GMT Message-Id: <202502131238.51DCcwUZ075367@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: ddafb584b8ae - main - pfctl.8: explicitly mention that at least one option is required List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ddafb584b8aea1e648ddcba2d69d55da41c792de Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ddafb584b8aea1e648ddcba2d69d55da41c792de commit ddafb584b8aea1e648ddcba2d69d55da41c792de Author: Kristof Provost AuthorDate: 2025-02-10 09:27:01 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:43 +0000 pfctl.8: explicitly mention that at least one option is required zap one redundant line, replacing it with a note that although SYNOPSIS suggests no options are neccessary, in fact a minimum of one is required; ok henning Obtained from: OpenBSD, jmc , 123a76b4bf Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl.8 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sbin/pfctl/pfctl.8 b/sbin/pfctl/pfctl.8 index a5407999cdda..565cd8f7fd64 100644 --- a/sbin/pfctl/pfctl.8 +++ b/sbin/pfctl/pfctl.8 @@ -24,7 +24,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 5, 2025 +.Dd February 10, 2025 .Dt PFCTL 8 .Os .Sh NAME @@ -104,9 +104,7 @@ to 1. Set them permanently in .Xr sysctl.conf 5 . .Pp -The -.Nm -utility provides several commands. +At least one option must be specified. The options are as follows: .Bl -tag -width Ds .It Fl A From nobody Thu Feb 13 12:38: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 4Ytvr44V2Zz5nRDr; Thu, 13 Feb 2025 12:39:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr40RPJz3fqg; Thu, 13 Feb 2025 12:39:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/hsB2S+t0yFRZtXiia0qqqlqSmZaiD6GxKPOa9izRHc=; b=uSJyOj81SUD8BTd2DEyDuhtXx8U+xkzS8fsk2VESaJcab+vKsXAJewEg08y0af53bAVd0e dP4AGmz+GzAlqFAOlWBNK6ra8K45osfv8m7hwrg8FKje9LVnAG17sHWMW4rvTufzgIv+yu H5vDOpW6aisA0tpK46Q38rlo56xDaAoG2X69/RnbURpa/F14j8jQ6q4tOF46UYuUyi6tUO MocQ0HxGklhCAWy8VQZxNQU/Q4KUdXVMroplbdkuyjsuQ4juvyEv1eLs1BP/WFnhNp//Hw haY9zrJ8SbCPRbsXAvzrwR/qbkT6y+It1VZrsne63U8hatze1SxOTLMgDJtp/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/hsB2S+t0yFRZtXiia0qqqlqSmZaiD6GxKPOa9izRHc=; b=e9lFxrxIRDVc19u8GSma5gnugrSu8Z/lTeW1pB3APHH35XK6L6CU1mP+ElRBhh3kOGm/iW Ya4H51LwPXaTJSVkWhtfZr/O1mkI9WJDRpVzPLcDogC+ZVm0bj+XbnSvgkGyddPAoIA8Wv AKmnWGUPECwvWV44JHi9ti9/v3TJldpmc8at9TOU6BGMcJ8rNBmohHkxAATcfkfqMm6w7Y VHOEzPBQrb82eaY0gQDpqgSSVddWH+OMDI86W593QoHs6q8yU71Lk7E+m/z+gZCmqz5VHe S8yDu9YAkP2QTOP2Vs/RxXoVAHj6Ky+5slnmFyHjSL3OxydHgHOBZE3kF+QuvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450340; a=rsa-sha256; cv=none; b=gCMezrYoqcsmYh+iYP+QuE5RgNUbKjLqfVnkvv70Quavv5/wGr0GSFgZwhsbPjPWr+hVyr QY03s714ZDLnaLesXWhV2er6C2W2bPnFyzQNR2ltrz+lXWF9QG16EVF8b3kLXoe5BTjOyK uml0vK1n0DUjZseta//cYsZDrdVHHH9USJ/Oocj8SMfHUNXjMGMCSE0upDqr7zpslC0eiS RhmOZ4vJ/+aldyO4LPJbsoFEQpLZJhjL89MpQWQJ4urOoF9ASifpaoLWrH0NecxeBbj8P7 oXUpIc9nlvqBWLpC5+ITsWqom7Qp7fA0b1mwMwkhmjaktDEW/O0c4fzdXr0rcQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr36jy6zl5V; Thu, 13 Feb 2025 12:38: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 51DCcxe7075406; Thu, 13 Feb 2025 12:38:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCcx6a075403; Thu, 13 Feb 2025 12:38:59 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:38:59 GMT Message-Id: <202502131238.51DCcx6a075403@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: c11d317a8bd6 - main - pf: do not reset the fragment timeout each time a fragment arrives List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c11d317a8bd60d93d3c3ced765071f468adacd69 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c11d317a8bd60d93d3c3ced765071f468adacd69 commit c11d317a8bd60d93d3c3ced765071f468adacd69 Author: Kristof Provost AuthorDate: 2025-02-10 09:31:32 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:43 +0000 pf: do not reset the fragment timeout each time a fragment arrives Start the expire counter when the queue is created by the first fragment and drop it if the packet could not be reassembled within 60 seconds. Reported by Antonios Atlasis; OK henning@ deraadt@ Obtained from: OpenBSD, bluhm , 4697a20621 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.h | 2 +- sys/netpfil/pf/pf_norm.c | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/netpfil/pf/pf.h b/sys/netpfil/pf/pf.h index 01c1abc54602..45652f174884 100644 --- a/sys/netpfil/pf/pf.h +++ b/sys/netpfil/pf/pf.h @@ -113,7 +113,7 @@ enum { #define PFTM_OTHER_FIRST_PACKET_VAL 60 /* First packet */ #define PFTM_OTHER_SINGLE_VAL 30 /* Unidirectional */ #define PFTM_OTHER_MULTIPLE_VAL 60 /* Bidirectional */ -#define PFTM_FRAG_VAL 30 /* Fragment expire */ +#define PFTM_FRAG_VAL 60 /* Fragment expire */ #define PFTM_INTERVAL_VAL 10 /* Expire interval */ #define PFTM_SRC_NODE_VAL 0 /* Source tracking */ #define PFTM_TS_DIFF_VAL 30 /* Allowed TS diff */ diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 6546f8684a68..57b9549df5e0 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -306,8 +306,6 @@ pf_find_fragment(struct pf_fragment_cmp *key, struct pf_frag_tree *tree) frag = RB_FIND(pf_frag_tree, tree, (struct pf_fragment *)key); if (frag != NULL) { - /* XXX Are we sure we want to update the timeout? */ - frag->fr_timeout = time_uptime; TAILQ_REMOVE(&V_pf_fragqueue, frag, frag_next); TAILQ_INSERT_HEAD(&V_pf_fragqueue, frag, frag_next); } From nobody Thu Feb 13 12:39:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Ytvr66l37z5nRZd; Thu, 13 Feb 2025 12:39:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr61pQkz3fhx; Thu, 13 Feb 2025 12:39:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CX2lJK5AApslDCoMZGlzM9WDm0urPdGXt12y264BIDI=; b=XWhfpRsKB5TDtzrG3ZD3i/ZB37QpUDShpsFP5ZCUlmm5Bwiv0V5yAmWQW5xZqRKuD3HfYd Uy8IFSFXrZtQZsnS7iUJo8HDKzQQFmOJDYwf8qkeZoy7qyt2HoMcvKrftO9+LscMRcPHVK K0iql8dEXA2tzIMjrsDQ4+agq3JEQQkfo0C/wMFIoR2t+puRVDMOGijcSWpndYnqYz20KA b/iXeGM6RT6Cj7Pfs2gPyv/WyyK1UAalk4qRKKGUFW4EvJA/fVN0mMYnmGYxv6oR2pqkaH LdnvCYJjNlDNpkfgFxDemRcif0p5g99wEWHKTfbdG1byXQJgom24vC37yQ+vqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450342; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CX2lJK5AApslDCoMZGlzM9WDm0urPdGXt12y264BIDI=; b=agcFzCNJj5Z+VAGlIg7t02bnmnGa0eDPM7Nk1zre+YGyGh77CnUWzBn4csLglm5NqAM7xK MbwN4x1cWQEH3GbnoLhFHiZeD53UKxPsZaa/Xhn/VnpUJ+b8GpTMj80gdwHa2GWGUkyK6u GoSldMM3yPFVdawjaeDNlWIelt6z0P3NksLk8o/uD75spjgnoaBJteUstOwohscru1gJSm Xeays7lmM6ulU+iF9RGjL/+VN/541KTAfMSCjGGVl5ztl7jBVfYG8Ia3639GHG98WGev86 /akcNKwyK0BeXs2SKivCmDEmw5E39iNIAGM3OzgsrK14bNir/Ii1yCchrKwjkw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450342; a=rsa-sha256; cv=none; b=trgkyBToan19wtqm5DH0Q4N/f2/rM/QPo1wxH7osu5UAzRsUfOvsVh0B0Y3y2Q8rLNSNdM WzZt0355fK5kVVWqiAoTxp3t4mhHS5x73xPkJF6q7SCUsOZCh3fSQlXi1s1Adp9MOOR4df zwhejgiSn5zq25b+dsJwdd3whY+ej1qmKCdFVd/XsXrtyK19M2g7Y4XCErjOcnpp0rsc7v Qpp7U/Zpv5K/z/2zmgGif6vbr9Js9oh8aCc3k7sAhMgwO5T5ZIjUaV6UxKCcp7HVNdq8gj SEPYq/A5DiFi0TZSHkYse+4zCb8XuBohyFA2ruW8Jv4P7Ql1NU1X9MElPMp4zA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr618tlzlNP; Thu, 13 Feb 2025 12:39:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51DCd2bE075480; Thu, 13 Feb 2025 12:39:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd2re075477; Thu, 13 Feb 2025 12:39:02 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:02 GMT Message-Id: <202502131239.51DCd2re075477@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 9565df4e7fa9 - main - pf: fix 'quick' for match 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9565df4e7fa9348d4200e2607e84f1a4bea54f8d Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9565df4e7fa9348d4200e2607e84f1a4bea54f8d commit 9565df4e7fa9348d4200e2607e84f1a4bea54f8d Author: Kristof Provost AuthorDate: 2025-02-10 13:32:27 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:43 +0000 pf: fix 'quick' for match rules In pf_test_rule, when dealing with a match rule, obey the match rule's quick flag to decide wether to abort ruleset eval instead of the last matching rule's one. Makes "match quick" abort ruleset evaluation with the current block/pass state. From Maxim Khitrov , ok bluhm mikeb Obtained from: OpenBSD, henning , c5611d5b70 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 5c99cde4a9f4..76f508b43750 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5825,7 +5825,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, PFLOG_PACKET(r->action, PFRES_MATCH, r, a, ruleset, pd, 1); } - if ((*rm)->quick) + if (r->quick) break; r = TAILQ_NEXT(r, entries); } else From nobody Thu Feb 13 12:39: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 4Ytvr91Wjpz5nRVn; Thu, 13 Feb 2025 12:39:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr83d9fz3g0b; Thu, 13 Feb 2025 12:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yPGRAWhf1CBAkkDQweoe44N/qoY32QKsim/acy/jILw=; b=Sh0dWQFSsBjBR5nO5J8SQS0h22UsKwV/wJUvOhGR+dkCa/qSOOI6eIl7mpVuledjzXpu7f 2UitjdlXkvwoWoEogZsl5OKSf6h91in7f/JtlskGpdpwJMOWG9PxNUymDTgi6PijC7d1/l uLEFgSXyjkmm+wFWvyQfZbUeyoVBgZL5psPJ8Xk6KxPH3gi1QPu70tMNCD61WSLPP3nGiz meE8OjozH77+xQ5varLNpyAy+6AvUC/0D3tS00MIvpNzu3ffBDPv4CrWfe9hCZNAG0OMPn 2wpUBGmlXK7nW9XPBcYIsKGcPQU59kkPXHJFCi8Hir2YJ1l+oxVJO7xR30kBdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yPGRAWhf1CBAkkDQweoe44N/qoY32QKsim/acy/jILw=; b=Frbu5BnwwGFCeOFp+I1sGn3LNBsQH0VxrNur6OPtjEg2/WNe7x8yLJwNTefGGSb2mSM2GN lMeSauljULQOJdcgEqIcAI1903nxRHuWQ/UZeLkI8D0YgUv0CJKv22k5mD1qn3SbZhw0iG 7lqhUWQpzIph40c+ZIdCzGNXgUK4kzHQNR73iK028Pt5ll714B6OXARwQ26W+gE6a84lVN ZQZSABUtFZPSYDaDA3827z3H/p+zt3AMp75HGunhzRUN9ecwpEDaybN5HwQp9W+Ud88Iul MRZt2QFtANksXfPp7fHalXs/LqSXuYnQ2gyj/JVaQdh3GnHd9RyEtCoZaCmR8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450344; a=rsa-sha256; cv=none; b=wH5rGEo9ff8pZRHvcR5K1kcGAow6/rOEgFmymMW3OKTsL7qw9vyzQX5J1EwtSuihlaIF5X GwHMwVo/T51/GKy/yEIVPZ2XIGYRurKmvqJnHvyxzw4Pr9Lz7fk+GtX2uILF7z3vRp1IIv Aqfp1mbWC3XCEbP1kDjXQbbNxV02OU37Tdn8D/6sBYhcBnBZ7YKKS21dUrzGQ+PwHDiqkl VaUcskx92GyFobodeXuNNYc1uY4RdbR+l70r64zxkzmqpy+T4wsyWeqyLJQH5+bbhAWQ7V UAJzpRjJKA+TKkiZY1SLNEoPNJDwFpNWodxHRlFlOb3pAHDS1xuNGdHQiDU+UA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr83BVfzm5c; Thu, 13 Feb 2025 12:39: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 51DCd48x075551; Thu, 13 Feb 2025 12:39:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd4fC075547; Thu, 13 Feb 2025 12:39:04 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:04 GMT Message-Id: <202502131239.51DCd4fC075547@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 06c4372a2f1b - main - pf: do not reassemble atomic IPv6 fragments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 06c4372a2f1b4b4d5998b27a72df1b38a0238300 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=06c4372a2f1b4b4d5998b27a72df1b38a0238300 commit 06c4372a2f1b4b4d5998b27a72df1b38a0238300 Author: Kristof Provost AuthorDate: 2025-02-10 14:10:57 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:44 +0000 pf: do not reassemble atomic IPv6 fragments IPv6 atomic fragments must not go the reassembly queue, but be processed immediately. Let pf step over an atomic fragment header and handle the packet like an unfragmented. OK mikeb@ Obtained from: OpenBSD, bluhm , fd6d9d2982 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 76f508b43750..65eb5736d43d 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -9580,7 +9580,7 @@ pf_walk_header6(struct pf_pdesc *pd, struct ip6_hdr *h, u_short *reason) struct ip6_ext ext; struct ip6_rthdr rthdr; uint32_t end; - int rthdr_cnt = 0; + int fraghdr_cnt = 0, rthdr_cnt = 0; pd->off += sizeof(struct ip6_hdr); end = pd->off + ntohs(h->ip6_plen); @@ -9589,7 +9589,7 @@ pf_walk_header6(struct pf_pdesc *pd, struct ip6_hdr *h, u_short *reason) for (;;) { switch (pd->proto) { case IPPROTO_FRAGMENT: - if (pd->fragoff != 0) { + if (fraghdr_cnt++) { DPFPRINTF(PF_DEBUG_MISC, ("IPv6 multiple fragment")); REASON_SET(reason, PFRES_FRAG); return (PF_DROP); @@ -9605,10 +9605,14 @@ pf_walk_header6(struct pf_pdesc *pd, struct ip6_hdr *h, u_short *reason) DPFPRINTF(PF_DEBUG_MISC, ("IPv6 short fragment")); return (PF_DROP); } - pd->fragoff = pd->off; /* stop walking over non initial fragments */ - if (htons((frag.ip6f_offlg & IP6F_OFF_MASK)) != 0) + if (ntohs((frag.ip6f_offlg & IP6F_OFF_MASK)) != 0) { + pd->fragoff = pd->off; return (PF_PASS); + } + /* RFC6946: reassemble only non atomic fragments */ + if (frag.ip6f_offlg & IP6F_MORE_FRAG) + pd->fragoff = pd->off; pd->off += sizeof(frag); pd->proto = frag.ip6f_nxt; break; From nobody Thu Feb 13 12:39: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 4Ytvr82nm2z5nRDv; Thu, 13 Feb 2025 12:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr72lyHz3fj5; Thu, 13 Feb 2025 12:39:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=USYoEHaHyFjoPn0Dct68tyix4jV1aE0qR0H4Oiai0ds=; b=QHj82ARneh1LYLq35w7eYKtH1CQz/jf1N48RccBY3kNSFbZ9ijG/5R7NqDagw1InUTH2+q 8lyZCfezqXFqJueuaN12X5Hk8rXY98xd/wEM1ajeTd6V6aXOqOveqGQxaQjpZk54/stto4 vFiIKkmyaUTlqj/DpIRih6+5kb4kGoKi8a+JClXQOWH4LOQdGZd7XNXaXqII/V8mL3fLAU 5IkNrZGDY+vyBoM2CBJE4KrhxoumgLy9B19qf41VeRsX8g0/WnL9H/afREmfsrt329wmOH XeZ2I44nNBk3pTMq6GFzZoR76k3cyMw+MuVTGrq8Ra0DAe1VyCKCFrcRBkB41Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=USYoEHaHyFjoPn0Dct68tyix4jV1aE0qR0H4Oiai0ds=; b=swnAfEvcTLAwkL/A8EMsvaG74pukQzTdqB9kche8HK5qDn8TuFndUTStN5VLDwE6RkRSkW tJQ7ct4TUUIy3TsD3Lob7TNiCdzZ7GAq+AuC7ViMUdTr7mbjo1xM159ZP+57EvsVwk9JG4 CfWN6TzPFKfnzSn+XTMYO2mTpsX+unQS8l+IUdTEV+PjyFnWN+jTiGmD0acTwOmZ/KsDBs Zy9sPFbE/zO4iAFZE4FTXHCewe5r9RUa5JwIJYc89elN+74UVmoTzljFgzUUGgfq8g/gpO S5NCUquf8KH9QKAPGXXsX6HDTho+oqR6xhrP0W8rLbuzgxRkorUY9IvM9NkeNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450343; a=rsa-sha256; cv=none; b=cuf63LUK/glnAj+6fEFpGvf+ulxT1js7vw2okZ1UqsVfVygTlJ4U+iRHq87L5OI5N9uzLZ WotQWWpPIVYadwv+3a9R9+DowTsJ/xu4cmS8qPsrhTz0p17yylywQLripF/uAxuQyc+BUl b+m2rS1HaVS1lPKLKOgDVtGZIQFlghAeYi+lhVOKDn09jsbDe2DJvvhoSt0XeUxSm3tuOf tmJWrOQ5a5jRoUsT6mqEpfVMkygvtZzKKOVGrc9myzdIaP69DOBCyH9Rhu5x0dyrjn1LpU kIMDZc/nSpDEVYZb6xhZ0CvNyAoYNFyBabXYzcRTewsL8VkpqIEkxmMfJfJPVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr728dBzlyb; Thu, 13 Feb 2025 12:39: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 51DCd3CO075514; Thu, 13 Feb 2025 12:39:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd3om075511; Thu, 13 Feb 2025 12:39:03 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:03 GMT Message-Id: <202502131239.51DCd3om075511@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 90ef7a0b232e - main - pf tests: test 'quick' for match 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 90ef7a0b232ef36b67b9b1eadde50cad9192c07f Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=90ef7a0b232ef36b67b9b1eadde50cad9192c07f commit 90ef7a0b232ef36b67b9b1eadde50cad9192c07f Author: Kristof Provost AuthorDate: 2025-02-10 13:33:31 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:43 +0000 pf tests: test 'quick' for match rules Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/match.sh | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/tests/sys/netpfil/pf/match.sh b/tests/sys/netpfil/pf/match.sh index bb088c5bf47c..93b908e62f2d 100644 --- a/tests/sys/netpfil/pf/match.sh +++ b/tests/sys/netpfil/pf/match.sh @@ -67,7 +67,53 @@ dummynet_cleanup() pft_cleanup } +atf_test_case "quick" "cleanup" +quick_head() +{ + atf_set descr 'Test quick on match rules' + atf_set require.user root +} + +quick_body() +{ + pft_init + + epair=$(vnet_mkepair) + vnet_mkjail alcatraz ${epair}b + + ifconfig ${epair}a 192.0.2.1/24 up + jexec alcatraz ifconfig ${epair}b 192.0.2.2/24 up + + # Sanity check + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.2 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "pass" \ + "match in quick proto icmp" \ + "block" + + # 'match quick' should retain the previous pass/block state + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.2 + + pft_set_rules alcatraz \ + "block" \ + "match in quick proto icmp" \ + "pass" + + atf_check -s exit:2 -o ignore \ + ping -c 1 192.0.2.2 +} + +quick_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "dummynet" + atf_add_test_case "quick" } From nobody Thu Feb 13 12:39: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 4YtvrD2B7Tz5nRF1; Thu, 13 Feb 2025 12:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtvrB5T1Pz3flW; Thu, 13 Feb 2025 12:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LB603FvKPIuJALwjxe3Uxp8dzthduBiWyMOI0G3kBPA=; b=yTXV74sCQSrtscFFk6oJ1Kc6c6fEk8zOx1j/c3z30EMT2bwThN78+RUognzKamG7klQYQB X4x8LdTN99tehVjBFDYs/jhN8oUgjWD271azUza74hBmjxszYSYOi5WRkB78DYEhnwLI9j lsXoDHl1BWOGwy93nQRAXZJ8fxJcG1dkv5OBAZaTnvbmn1BkhrWMu0kg9iU2gsTyomQlKm u5+kfku2CPdG+LclCIzYvOOwp1L07XFWNVOPatO5vZBRB+y0CP2fMJ2tFAzqacbwYSyGm1 IrMn0w0SAZR82GpoTP6zGEJL7WyI4Lq1bEzGWxoO2v6kTHeCku0NQjnX3fvb2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LB603FvKPIuJALwjxe3Uxp8dzthduBiWyMOI0G3kBPA=; b=c/72Qubz2J6l9jPRoijNze5IEZzETg8mR6+ikFfUm3PCHwHxm315yv7Bxnn+0MvY9iQssm 2RvB3iT7+zV439AgtfixGyc2lpfzbXUj8HFifv6UfI//BB20r4jYzE+3bnmKBvV0Ozuaqd DRQF4AwV6Qd/FmXsDLLvBnj+I3mS0PyTorTp9aiPLVlhvniPpRmVcTDBcroy3ul4PVxwwg P2pHm4AfGN1+Bncu+4M5c8fq4jx1LYAH3U6Buk6A688hOGfh2JTvMEYs1r4havR1Y93Cbh 2Ab2qh4C4dt6eVS+nLSiInVI1Koth7nbYxWw9F1v7arXIME9JL3aiXL20RgVvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450346; a=rsa-sha256; cv=none; b=a5Tbo3G6Sykvaqz2yv5hWxNv8tDhit2oYkVl0OLtHQV8pa7+hHdNGEHP0sVyJf6F9aJweV AqMs6XVu/2vHd0fRK0eVJmKCBGE4vwoUiHS1ve2Z2KTvq+uGmutPtBBlb3p1smq7fNRIZs eRE75om7ea0qVWxUvQ5c3/c0EaRp4tWGicdETJChKmTQ6dPh/6VSiXt1X4MGMvD0oWF0ip J4WL2nNAEWI4p2DF7Juqix3a1TTT7yfbVFLFelPy1j/DyfN434LQtBPW+RUXoxuN4fPaRV ETE+OzeqFcyxvuqPMZGgLcyrNrK14Ilc90YWMqaY0OuYWdloyUt6sAhAn0K0mg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtvrB4nJCzlyd; Thu, 13 Feb 2025 12:39: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 51DCd6hF075624; Thu, 13 Feb 2025 12:39:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd6R6075621; Thu, 13 Feb 2025 12:39:06 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:06 GMT Message-Id: <202502131239.51DCd6R6075621@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 67c19da08f57 - main - pf: support negated matches on the rcvif List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 67c19da08f5788da53cec2764618b9a0dd97460f Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=67c19da08f5788da53cec2764618b9a0dd97460f commit 67c19da08f5788da53cec2764618b9a0dd97460f Author: Kristof Provost AuthorDate: 2025-02-10 16:30:50 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:44 +0000 pf: support negated matches on the rcvif ok dlg benno Obtained from: OpenBSD, henning , 08c03b768d Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf.c | 3 ++- sys/netpfil/pf/pf_ioctl.c | 1 + sys/netpfil/pf/pf_nl.c | 2 ++ sys/netpfil/pf/pf_nl.h | 1 + 5 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 88364aaa45ed..d973fe15a5c4 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -865,6 +865,7 @@ struct pf_krule { u_int8_t prio; u_int8_t set_prio[2]; sa_family_t naf; + u_int8_t rcvifnot; struct { struct pf_addr addr; diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 1b0eb6d6dd80..378be1e72d9a 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5778,7 +5778,8 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, PF_TEST_ATTRIB(r->match_tag && !pf_match_tag(pd->m, r, &tag, pd->pf_mtag ? pd->pf_mtag->tag : 0), TAILQ_NEXT(r, entries)); - PF_TEST_ATTRIB(r->rcv_kif && !pf_match_rcvif(pd->m, r), + PF_TEST_ATTRIB((r->rcv_kif && pf_match_rcvif(pd->m, r) == + r->rcvifnot), TAILQ_NEXT(r, entries)); PF_TEST_ATTRIB((r->rule_flag & PFRULE_FRAGMENT && pd->virtual_proto != PF_VPROTO_FRAGMENT), diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index b8e9a078baf2..bea2cf1a5331 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1316,6 +1316,7 @@ pf_hash_rule_rolling(MD5_CTX *ctx, struct pf_krule *rule) PF_MD5_UPD(rule, af); PF_MD5_UPD(rule, quick); PF_MD5_UPD(rule, ifnot); + PF_MD5_UPD(rule, rcvifnot); PF_MD5_UPD(rule, match_tag_not); PF_MD5_UPD(rule, natpass); PF_MD5_UPD(rule, keep_state); diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 97552880b9e3..4cdb16d1fbba 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -737,6 +737,7 @@ static const struct nlattr_parser nla_p_rule[] = { { .type = PF_RT_RPOOL_NAT, .off = _OUT(nat), .arg = &pool_parser, .cb = nlattr_get_nested }, { .type = PF_RT_NAF, .off = _OUT(naf), .cb = nlattr_get_uint8 }, { .type = PF_RT_RPOOL_RT, .off = _OUT(route), .arg = &pool_parser, .cb = nlattr_get_nested }, + { .type = PF_RT_RCV_IFNOT, .off = _OUT(rcvifnot), .cb = nlattr_get_bool }, }; NL_DECLARE_ATTR_PARSER(rule_parser, nla_p_rule); #undef _OUT @@ -940,6 +941,7 @@ pf_handle_getrule(struct nlmsghdr *hdr, struct nl_pstate *npt) nlattr_add_rule_uid(nw, PF_RT_GID, (const struct pf_rule_uid *)&rule->gid); nlattr_add_string(nw, PF_RT_RCV_IFNAME, rule->rcv_ifname); + nlattr_add_bool(nw, PF_RT_RCV_IFNOT, rule->rcvifnot); nlattr_add_u32(nw, PF_RT_RULE_FLAG, rule->rule_flag); nlattr_add_u8(nw, PF_RT_ACTION, rule->action); diff --git a/sys/netpfil/pf/pf_nl.h b/sys/netpfil/pf/pf_nl.h index a66ff5bc3f1e..4d9db08c8be2 100644 --- a/sys/netpfil/pf/pf_nl.h +++ b/sys/netpfil/pf/pf_nl.h @@ -270,6 +270,7 @@ enum pf_rule_type_t { PF_RT_RPOOL_NAT = 75, /* nested, pf_rpool_type_t */ PF_RT_NAF = 76, /* u8 */ PF_RT_RPOOL_RT = 77, /* nested, pf_rpool_type_t */ + PF_RT_RCV_IFNOT = 78, /* bool */ }; enum pf_addrule_type_t { From nobody Thu Feb 13 12:39: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 4YtvrB5g6fz5nRXq; Thu, 13 Feb 2025 12:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytvr94Y0Vz3fnW; Thu, 13 Feb 2025 12:39:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jlnv6/dmcM6R6RYkDTiWXkyIHw+5u38VirWNnP53i3c=; b=eGTSXICgk9pEi2eK3EyQlzvDoAm4M4g0FWHAyU95D7NGLGhLrPh+EgHblKaM7TLnEIHK9E VjIU9Qe9c6JsnA9lXNRmSio2up/pmBVEAYvE8iH5K9wKYt4ZtA/MajzGN4ekVRWw3sjTij FWlnjnid8I0Hw2zTTVCdgQ509NlrXW7khjkxlqK5x7Bnr0xmJwXnW26TMgHIplzCAnRHxA xQt+9UoOYZjVYeK/XR+p1AQT7SW9SlRgllFnKlQW3PDWkouLjhAHv1VpQ9JhYe+PhBKAej 67zEfbTBwPqHCAme+hAzBCtufEAeh2Tmwv9OMBqet0pZ5KEx98tmap+oGlnEYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450345; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jlnv6/dmcM6R6RYkDTiWXkyIHw+5u38VirWNnP53i3c=; b=OM+A+nHF2P93FB9ikskF8JF+taYDp6zDkd6URe8jiC46bVjnhjFGj58qrZL3rvTVIw0mu2 bNC/kp+wLFrbBaujROGf5STRqtlu5bRo4lZpO+QZ7hB8SJNUPrqtl/SA3ZPz8qEJrEJatk QBWJnKDvyt36ezdePh3scqjZ7z8R2MWoCxvI0R12Kb820+fHH3w/yB5GMYmLIzdx+9oKJn NsXCrWzo3V8uwHxiM7S98xFwsNS5TIoJtlx+nG0hKD7yZtCHt3u3mEE3ZAmLRRME5rbvQo IpIms9xMnYkD6DPtmnrspFCP8nDuZchgJIJj7T3p+c61oSbDv6CfxT/7VzsfqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450345; a=rsa-sha256; cv=none; b=U2iVQUBEUhGzbT0AAxjCmeVHCHJW75zgJqdFrXBqNRfRAnL0U5ZW874GAhMDs0YLBwyleJ 6SLxa2YQ0czhEsfEzX6YaLNCRVtQuK2dBYPWbzXsLPfEn3hLkba/qt6coljBgG/ERk/clQ jlQ079ZjyXIS+uxNvL51yd1I7kaWlJT40jeXZ7B6QbKL6aI81ATKANvDrFHi3g33qtzkAW /jpIWistEgAWqfSImjp15Sxv903kpSee8PrOmRyaaq9wUY3f3GvW7b3Z0RYl/DnbZwaGKi +vLE83h3y1G6wBRaV8j3PBN1QzkPxmQrPmfn9YfmeeUi91Keh2Hr3antWP3sDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytvr94812zlyc; Thu, 13 Feb 2025 12:39: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 51DCd5sx075588; Thu, 13 Feb 2025 12:39:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd5bT075585; Thu, 13 Feb 2025 12:39:05 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:05 GMT Message-Id: <202502131239.51DCd5bT075585@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 25dbba4fc6e1 - main - pf: improve UDP-in-ICMP 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 25dbba4fc6e152a05e091180b2e031ab495ba337 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=25dbba4fc6e152a05e091180b2e031ab495ba337 commit 25dbba4fc6e152a05e091180b2e031ab495ba337 Author: Kristof Provost AuthorDate: 2025-02-10 15:33:18 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:44 +0000 pf: improve UDP-in-ICMP handling Translate port numbers for inner udp packets when they're returned as a payload of icmp error messages. Makes traceroute6 operate across a nat64 gateway. prompted by sthen, ok henning Previous udp port number rewrite fix turned out to be a work around the incorrect pf_change_ap call. While here make the tcp case use pf_change_ap since it shares the same properties. ok henning Obtained from: OpenBSD, mikeb , 7a304f30d6 Obtained from: OpenBSD, mikeb , 5d4200d304 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 65eb5736d43d..1b0eb6d6dd80 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -7972,8 +7972,12 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, pd->proto = IPPROTO_ICMP; else pd->proto = IPPROTO_ICMPV6; - th.th_sport = nk->port[sidx]; - th.th_dport = nk->port[didx]; + pf_change_ap(pd->m, pd2.src, &th.th_sport, + pd->ip_sum, &th.th_sum, &nk->addr[pd2.sidx], + nk->port[sidx], 1, pd->af, nk->af); + pf_change_ap(pd->m, pd2.dst, &th.th_dport, + pd->ip_sum, &th.th_sum, &nk->addr[pd2.didx], + nk->port[didx], 1, pd->af, nk->af); m_copyback(pd2.m, pd2.off, 8, (c_caddr_t)&th); PF_ACPY(pd->src, &nk->addr[pd2.sidx], nk->af); From nobody Thu Feb 13 12:39: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 4YtvrD4mzrz5nR9K; Thu, 13 Feb 2025 12:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtvrC6zh7z3g4j; Thu, 13 Feb 2025 12:39:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IFNQ3mi/UfGJ+gZJqVJOLzN1fiHnc5DouFcbr5CQkx4=; b=kw+EeJ/sNxpCS3AZEnyLHCL2pokiMNI7BjSqLubBbuGTmc4DsWyjrByiSNLmn+mH7Vr0Ya Qyk9DgOWWv/9hVxetS1lRpBakLgoqpHNrIahzc4QKv9rKeN45McqtcMEwWC5i0iNya2nbn Nw/zJ/iVo0OKtV4V85JOzkfT9Lrs4wXTUkeHEdbkHP5RhfS8nutl8d587z6PPU1qZpiD7c MY2DzXVO5OyN/wkp5gXMRuSeNdQZugxj6okwqjS7kgJ9zHcWz1GCTlZPZXlbZ7BvL9+gfh 98jwe3Zf1Bycw0Ti0fX3xmGAlq8wACn9x4fOwJy1LpMw+MNgtSFK8Hpr1I/Udw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IFNQ3mi/UfGJ+gZJqVJOLzN1fiHnc5DouFcbr5CQkx4=; b=ctPnk6QdghUSp6ZzlFrVOOdk/HilsvDrXK854fQLHpHqi6yvFblWumh3GzAhi/d5JUh3Da OzQg9ctyhbIN+XS+e7aj2Gemi6yVqBQYl/soYlUAjjwEhfnnJFZoTVwruBttckq5eocsOD atyGisquMxhEDelbLPRiGNO7YR2d3pgNM4ncI5ejaOnoN72cNDzztTKXXY5l5h98x0sBqn Lj/6QkjqtxIoRgVeMSDOkkleQTReD2iPUapZFe0tScKY8KUKH1oe4SeMJkV6Ue/vyjQ1HL Uj7+YGRNA2Z8wvKDHRxj0aunuxJULhIekosbYbqWIhVs5CNnaVF+DakGNIT58A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450348; a=rsa-sha256; cv=none; b=qTBxr82I/gZLVXdra6m5AQTo7GJ1x+JC1FIXNCt7WChcsJr3V+kx4gAHrRClJ+5zgojf5r BYXCyNF7JTlriqOudezXYANwEMKy0Mnec9ErNnOH0OdTLd4s36fJ0OIQUExmqScRv97YJM guybB0J7iE9+rAwQyHZJob7Z6iMTEO+n+yLfj/ZoQceo3vaFpsHZ05+O+DMtCLZSEKJLzv lBYzRiqCZkVDmZtWZQqy1Y9gDd8ZUuv/xefqk2LhtrsZMJp589B76SVdtK9wseQTYK5/BN Sd26qTsZ7o/xxYPdkAZS310VhimjpRoTs4y7orgh5edozswe9txUblb0bmWT8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtvrC5GQfzlyf; Thu, 13 Feb 2025 12:39: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 51DCd7jx075657; Thu, 13 Feb 2025 12:39:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd7Iv075654; Thu, 13 Feb 2025 12:39:07 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:07 GMT Message-Id: <202502131239.51DCd7Iv075654@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 71594e3235f2 - main - pf: support "!received-on " List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 71594e3235f21746fbc6c0b12ad70409db18a46b Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=71594e3235f21746fbc6c0b12ad70409db18a46b commit 71594e3235f21746fbc6c0b12ad70409db18a46b Author: Kristof Provost AuthorDate: 2025-02-10 16:33:57 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:44 +0000 pf: support "!received-on " ok dlg benno Obtained from: OpenBSD, henning , 7d0482a910 Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 2 ++ lib/libpfctl/libpfctl.h | 1 + sbin/pfctl/parse.y | 6 ++++-- sbin/pfctl/pfctl_parser.c | 3 ++- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 8569d691773c..fe63c91c1174 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -1255,6 +1255,7 @@ snl_add_msg_attr_pf_rule(struct snl_writer *nw, uint32_t type, const struct pfct snl_add_msg_attr_uid(nw, PF_RT_UID, &r->uid); snl_add_msg_attr_uid(nw, PF_RT_GID, (const struct pf_rule_uid *)&r->gid); snl_add_msg_attr_string(nw, PF_RT_RCV_IFNAME, r->rcv_ifname); + snl_add_msg_attr_bool(nw, PF_RT_RCV_IFNOT, r->rcvifnot); snl_add_msg_attr_u32(nw, PF_RT_RULE_FLAG, r->rule_flag); snl_add_msg_attr_u8(nw, PF_RT_ACTION, r->action); @@ -1663,6 +1664,7 @@ static struct snl_attr_parser ap_getrule[] = { { .type = PF_RT_RPOOL_NAT, .off = _OUT(r.nat), .arg = &pool_parser, .cb = snl_attr_get_nested }, { .type = PF_RT_NAF, .off = _OUT(r.naf), .cb = snl_attr_get_uint8 }, { .type = PF_RT_RPOOL_RT, .off = _OUT(r.route), .arg = &pool_parser, .cb = snl_attr_get_nested }, + { .type = PF_RT_RCV_IFNOT, .off = _OUT(r.rcvifnot),.cb = snl_attr_get_bool }, }; #undef _OUT SNL_DECLARE_PARSER(getrule_parser, struct genlmsghdr, snl_f_p_empty, ap_getrule); diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index d5d0a43f90a3..e1af4b5e97ff 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -227,6 +227,7 @@ struct pfctl_rule { struct pf_rule_uid uid; struct pf_rule_gid gid; char rcv_ifname[IFNAMSIZ]; + bool rcvifnot; uint32_t rule_flag; uint8_t action; diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 40d116fe1a50..981039f4124c 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -2974,12 +2974,13 @@ filter_opt : USER uids { filter_opts.match_tag = $3; filter_opts.match_tag_not = $1; } - | RECEIVEDON if_item { + | not RECEIVEDON if_item { if (filter_opts.rcv) { yyerror("cannot respecify received-on"); YYERROR; } - filter_opts.rcv = $2; + filter_opts.rcv = $3; + filter_opts.rcv->not = $1; } | PROBABILITY probability { double p; @@ -6279,6 +6280,7 @@ expand_rule(struct pfctl_rule *r, if (rcv) { strlcpy(r->rcv_ifname, rcv->ifname, sizeof(r->rcv_ifname)); + r->rcvifnot = rcv->not; } r->type = icmp_type->type; r->code = icmp_type->code; diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index d1e0b4e99940..7a6d2fc8eed5 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -961,7 +961,8 @@ print_rule(struct pfctl_rule *r, const char *anchor_call, int verbose, int numer print_fromto(&r->src, r->os_fingerprint, &r->dst, r->af, r->proto, verbose, numeric); if (r->rcv_ifname[0]) - printf(" received-on %s", r->rcv_ifname); + printf(" %sreceived-on %s", r->rcvifnot ? "!" : "", + r->rcv_ifname); if (r->uid.op) print_ugid(r->uid.op, r->uid.uid[0], r->uid.uid[1], "user", UID_MAX); From nobody Thu Feb 13 12:39:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtvrF4bMVz5nRQ1; Thu, 13 Feb 2025 12:39:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtvrD6pyfz3fp1; Thu, 13 Feb 2025 12:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V6ggOeQsVMWqTutioahRdKDV2M+g18eI3vFZKstHdTQ=; b=v/CJaQD6l7SVDuHSSHInOX44XDuuh/lixX8/mq7ZnLqjHkOQdy8/MUsNwN+Xx73nLqZsTu K5ACzmoxvPFmeMwrvpZBh3SK3zu2ONOe1IiOKdl4IVjoWBKyBw6xmR8StDGWNcthEAJNNG EF5ZpQxabCBzve3UPolkbmupBwAw4diyEg6NxU90vRgF6iahwVqHZ3HHYn7oJCAk37JkCM z9vekGhVUQHJ6l/+1GTEift3UrhfeZDqiehqwWfIqIkeMtl7N8ANsQRLcP2TR2I7O5JsKb 2/ezEIMorRw0qZu0gbNL+XDUxq3wcNHK2MExThBxkTFquBB4bPhfHOgAZD/K2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450349; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V6ggOeQsVMWqTutioahRdKDV2M+g18eI3vFZKstHdTQ=; b=J6epnUerglyb4zQJ6cwdvYvFsAGrhj7UGhM65wgtCpscUrre3ZEO9x+znJcfJOiw5WzEIk MJIm6sfnl/5m57ez+PlTJqdPpRMO1UldOfDvjkmO10XnI70dv/B5cSEI2P94CJNP4tv/7w LJt7OoKIKsgMMj5mRvSRuAXov3roztmwMqw+Mv5IMZh4507Ltkg0IxvY2OkJYn814IBJ4b mEz5mZhrwSkVTQ/W68Qu+x8zusqQE23FbKqQXtIjb2SNnanhE2weOxUt2afDXbRhohvJGo 8BqF0gmGeJtZavWJEkzaP6GBnY3IdQZQbBdwdstBNumnEvERvZuFuoJGXui91Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450349; a=rsa-sha256; cv=none; b=GbIAZPID/4pBMw+rnMa100/+Epy6+XKuw27Aomi4yKFtzewHaWm8axoMIym53mJcPzO7ZH xSrzqK43IaYzHllhT1VSE3BekAdq+MBiQOVWJB3LRVS8R2s64Bbu8VqDJYv41UwzLjhdb4 AdLOtdRYuMyQam0nPMN61jGZF8ynFZNI+Qaq56pEVP6BvUMB5NGAlYQk59Je6ZTHgRa/z9 oZYNMsi6D4I3t/nQ4jjM6BBkcnWWzOtYXsmKKOyH8z09CR3rfeMzxp6R/tYZFjR54uq04H 9zLYuZ+FqjY+2xE5tfdBBAX9xygMKEP5z8lUwDXKrEhNFR2aub11qriIpur5Fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtvrD6LjSzlHd; Thu, 13 Feb 2025 12:39: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 51DCd8hk075689; Thu, 13 Feb 2025 12:39:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd8iA075686; Thu, 13 Feb 2025 12:39:08 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:08 GMT Message-Id: <202502131239.51DCd8iA075686@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 8b5cee40274a - main - pf.conf.8: document !received-on List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b5cee40274aedb893048bd1b828c17278a7bb27 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8b5cee40274aedb893048bd1b828c17278a7bb27 commit 8b5cee40274aedb893048bd1b828c17278a7bb27 Author: Kristof Provost AuthorDate: 2025-02-10 16:38:22 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:45 +0000 pf.conf.8: document !received-on ok dlg benno Obtained from: OpenBSD, henning , 6dcdbd32ff Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index 5ee660bd0202..f798d1d0acf8 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -27,7 +27,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 5, 2025 +.Dd February 10, 2025 .Dt PF.CONF 5 .Os .Sh NAME @@ -3319,7 +3319,7 @@ filteropt = user | group | flags | icmp-type | icmp6-type | "tos" tos | "dnpipe" ( number | "(" number "," number ")" ) | "dnqueue" ( number | "(" number "," number ")" ) | "ridentifier" number | - "received-on" ( interface-name | interface-group ) + [ ! ] "received-on" ( interface-name | interface-group ) nat-rule = [ "no" ] "nat" [ "pass" [ "log" [ "(" logopts ")" ] ] ] [ "on" ifspec ] [ af ] From nobody Thu Feb 13 12:39: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 4YtvrG53Vwz5nRd8; Thu, 13 Feb 2025 12:39:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtvrG0dHnz3g7S; Thu, 13 Feb 2025 12:39:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=luNcKInG4KhWLHSunEUOWPauXG7TnJB4SozoF+pzMcI=; b=PORbfe0U4H5ielXiF1fpSqPfi+sQ5ZRY/tLVW49IBVO0Z27agCXUPj8SgESdqWT7BXcsqE 4IuDl+9iVelEXOKnY1ZIcUPvNItKNqW58QPnX+YRqdMoYggKgJbkHbXz4QO5Ms1L/M0MHb f3XIwdlQt+KDaFLtlEoIIEWKAWIIH3CHVgGgqwCB6fBs8iw5VbUe5R5QBcNl2M/MC10OU2 d6CV4neyT+oe4m3g0V+87AstArkChLf3rjADgYcOVrJcYXElIYeP3ln+MERtcqsUcVj+pp 39MlrKObpuzIjUk8gl6ldSoimGximm5KwbcP0yEusS6QbViPVkxGAlDqn7BJ0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739450350; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=luNcKInG4KhWLHSunEUOWPauXG7TnJB4SozoF+pzMcI=; b=Im8Or7AneWJx1gqmYpg3v+OhYKtCrVy+yk+GeUeMhGQ5fdojLLQ2JQg6OWPNtcM0aI+a/2 k+pJ4cLVIxUWCM7T8a/CwXLZa7vMXxzoJlptOpwjry1KnvYco0/Gm30AoTULaypxyZkvtp IlCZiqiNiQm6K1xU5BEWQZ6U/2JzcMB32gBS5H8n5dBGUkaLl9Tg95Q4iYSn9a730yMIRD zkN/E9TkJcsgXugsNuVS0ZUPYptzeyK9Q/NWauSAvG7EuRRgj6KC8ZherAcNzkoEFia1N4 dwoyYl8g0bXz3FvW92lbiZt4TAnzcKVmPwfzbO/58v8wDzZd9OLznfQizvG/5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739450350; a=rsa-sha256; cv=none; b=L7UtbqfR4JPmX4Z/VS8+I0Il9Fv4fOdZKlzpRKLlhLU9ufy5qS4TmdlEnidKpYD5D613YP X3x87+J228baBRNJN9s7nCM6BNrJD5Bxzt8RtiP38+dtqVDhPT1tkLUYazN5m0nqdYZUkd tQKHebbMRgjxjFlhxMTXSOlOrL7bxyS0tWga1axMVghUivrNCt/3BhvQCYKpS8fQAumQx2 srdZX/nTNEnL+vJA30SGhFX0bKxqtQspn4uHOoCeOlyAdk0yvK8TYsB2h8jszqN6dDHTMd xct0r7pFBxeV1Pz0kG9xKni2nYe53Ladt/vDgPASAQEjAn47w34rzws99YlWrw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YtvrG0DW9zlHf; Thu, 13 Feb 2025 12:39: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 51DCd9jm075721; Thu, 13 Feb 2025 12:39:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DCd9rY075718; Thu, 13 Feb 2025 12:39:09 GMT (envelope-from git) Date: Thu, 13 Feb 2025 12:39:09 GMT Message-Id: <202502131239.51DCd9rY075718@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 26fb3871b725 - main - pf tests: add basic ! received-on test 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26fb3871b725aba60005c69d634b7179cd605b82 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=26fb3871b725aba60005c69d634b7179cd605b82 commit 26fb3871b725aba60005c69d634b7179cd605b82 Author: Kristof Provost AuthorDate: 2025-02-10 16:42:48 +0000 Commit: Kristof Provost CommitDate: 2025-02-13 12:38:45 +0000 pf tests: add basic ! received-on test case Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/pass_block.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index abd303bae6e6..d5ff37b6c167 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -366,6 +366,16 @@ received_on_body() ping -c 1 203.0.113.2 atf_check -s exit:2 -o ignore \ ping -c 1 203.0.113.3 + + # Test '! received-on' + pft_set_rules alcatraz \ + "pass in" \ + "block ! received-on ${epair_one}b" + + atf_check -s exit:0 -o ignore \ + ping -c 1 192.0.2.1 + atf_check -s exit:2 -o ignore \ + ping -c 1 198.51.100.1 } received_on_cleanup() From nobody Thu Feb 13 14:44: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 4Ytyd404zzz5nZ0r; Thu, 13 Feb 2025 14:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytyd35xDwz3Lfs; Thu, 13 Feb 2025 14:44:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739457879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4MNRCHjxkOeA89213/dR1Fq9VQnED2pUiZ+P2BHcqKA=; b=OWpqrkbCUETGQkTeoFZLy+p8Bv++UoBZqR2vMgokY6bB17h7t3YkijdM+e0XBtobC0ZbuS vIPBg6pv1uKrPSNS+80I7DVW9rfComwsSp6T7yaaDEF5lmQrmqUjxw9fZiLogc+gl23gNl rrvbAKsylFyPGaYylgdtzZYg6C//5ApqisYOR02kJRQUdbmhK3/wR7sapRKc4au2AJCimK +AWn4OCTvOT6jiDlgiX4oBrxBhW2P9EoDutt6iOvUxCdXt8+6hv4j4tPeJuelEbZkPJA1A LJ67aiIoWofFEkZnpp6OgXyUvZ/BVp/Wpj1Zcm2Vo/5URvYS1yws6g5K1bDXVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739457879; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4MNRCHjxkOeA89213/dR1Fq9VQnED2pUiZ+P2BHcqKA=; b=AaSjRIiBsBd6D+l2s73VHFstlxLzBdf/k0FUTrvhOFDsGKxznWSwiWQ8UJgrrqCj9uxvtz 6sjdxjP7Pz3yO9EbbkLoEq6fvEmQhtdxFSDNwZbjXvRIuIlamCzDvY6bp3ycLZWDkWg9t4 DMdT0HehWL4f5WI5Z/bpeDuDCFYHv6yceqvvDCMk53cHSgNzSeMpNYY0DbSpdOrgf8prX5 pzZ3o4C6/7J2QLHXNHARFxAZJsdkurXhM9qYZzQbVINPf/jrFXIIZyx3Rz3psgx8ef11WR 2JstV7FOvLhyDw8jhpvXhDMsvYqDRxVYxc9crxJ44dhf8NIl92SWLY6XwFOg1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739457879; a=rsa-sha256; cv=none; b=U3mlSp/rOFkIdfOalZbqTNTv4zQC+D89OmD77p2hD9VfZLxGyTO5BIyGPZy2+80DUBpDP/ 83aTsnhjM+a67X50YrUsQHY/tIS3h2klj5w4KpSb1DU52Wayxxf4rh22mg0dWAKvwAZOQ2 fTOsvzvGo4Jo/QUsyMP5rFK7+jJG0ID7R/ezvDODUzpR1r0Iv7bbi0f+JNKBF9zimT/gnI 0slcJtrcCapaKcgKXdnDghHsXO3oH8rlfqasvCzH3xLgeJi+7/z6dxg+TZwsjyBx0J5EsS zgiwbiHZnes1AZK5YMqIwSyJr2PUYZt6bfoJMMOgVpZ5FM28CFgLGrmrVv59TQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytyd35S0ZzqKl; Thu, 13 Feb 2025 14:44: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 51DEidrD016068; Thu, 13 Feb 2025 14:44:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DEidvR016065; Thu, 13 Feb 2025 14:44:39 GMT (envelope-from git) Date: Thu, 13 Feb 2025 14:44:39 GMT Message-Id: <202502131444.51DEidvR016065@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: b61fbbed73ea - main - powerpc: Remove flag CTLFLAG_TUN from sysctl knob hw.platform List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b61fbbed73ea3bf0c84589b56cca160c46a3739d Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=b61fbbed73ea3bf0c84589b56cca160c46a3739d commit b61fbbed73ea3bf0c84589b56cca160c46a3739d Author: Zhenlei Huang AuthorDate: 2025-02-13 14:42:45 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-13 14:42:45 +0000 powerpc: Remove flag CTLFLAG_TUN from sysctl knob hw.platform Prior to change [1] this flag is useless but harmless. After the change plat_name[] will be fetched from kernel environment after invoking the platform probe function `platform_probe_and_attach()`. The probe function runs at early boot stage prior to `mi_startup()` thus it is too late and pointless to set plat_name[] after the probe. Nathan mentioned that the logic to specify the platform pre-dates the powerpc64 work, and is from the original pre-FDT Book-E bringup from like 2008, so it's irrelevant these days. Instead of fixing setting the sysctl knob hw.platform, let's clean it up now. [1] 3da1cf1e88f8 Extend the meaning of the CTLFLAG_TUN flag to ... Discussed with: nwhitehorn Reviewed by: olce (previous version), jhibbits, #powerpc MFC after: 5 days Differential Revision: https://reviews.freebsd.org/D48897 --- sys/powerpc/powerpc/platform.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/sys/powerpc/powerpc/platform.c b/sys/powerpc/powerpc/platform.c index fc840063e766..6453e47a58f9 100644 --- a/sys/powerpc/powerpc/platform.c +++ b/sys/powerpc/powerpc/platform.c @@ -65,9 +65,9 @@ static platform_t plat_obj; static struct kobj_ops plat_kernel_kops; static struct platform_kobj plat_kernel_obj; -static char plat_name[64] = ""; -SYSCTL_STRING(_hw, OID_AUTO, platform, CTLFLAG_RDTUN, - plat_name, 0, "Platform currently in use"); +static char plat_name[64]; +SYSCTL_CONST_STRING(_hw, OID_AUTO, platform, CTLFLAG_RD, plat_name, + "Platform currently in use"); static struct mem_affinity mem_info[VM_PHYSSEG_MAX + 1]; static int vm_locality_table[MAXMEMDOM * MAXMEMDOM]; @@ -364,16 +364,7 @@ platform_probe_and_attach(void) if (prio > 0) continue; - /* - * Check if this module was specifically requested through - * the loader tunable we provide. - */ - if (strcmp(platp->name,plat_name) == 0) { - plat_def_impl = platp; - break; - } - - /* Otherwise, see if it is better than our current best */ + /* See if it is better than our current best */ if (plat_def_impl == NULL || prio > best_prio) { best_prio = prio; plat_def_impl = platp; From nobody Thu Feb 13 15:00: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 4Ytyzk22RWz5nb9D; Thu, 13 Feb 2025 15:00:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ytyzj3T8Gz3TCJ; Thu, 13 Feb 2025 15:00:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739458849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VThysOljRqk/iqyc/i8RANvndgHfjn77ogB/8lB1CLo=; b=nndjVjssPr9EKAMj+pVnsT9qs92B2GRayabPmUJIjRlCfxoDRmtlZZilBWQ/oJwiTzolaG HzhfGX+HBlAVfOKVU3o7bAs9OQ9Nc0a6ZL7jsxa6YaHa3RCbWcSCxwICWHuqfZ8TK7d8Er 7m4UFWrPCIn8ZDTTXP7iizZosA8vLYFRep2P4BNPQIwz41oRc6xVSiOoVJPDX+Ai8MCizz 4vVBhNRWPdcS1yVHikTGX+JHL34iAOygvv5hOzkR5Sxs6BkDxKTKlyEiZpqLgMy4MpZpOH 6CdX3E+WVgt+MajBabwHoC93MaD/i9DNMV8Xr0oHFS7Hd2Dn38dyPGibDcyvLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739458849; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VThysOljRqk/iqyc/i8RANvndgHfjn77ogB/8lB1CLo=; b=ta2l9jiHmZfG9cvntoZC6ipO9kFkaFKk8q17Bdj2jRCFMt3N0ixTKR6Hnq4ZqG+OMtLdui N4zC2Yx8W1lFPTH1CuXvSknmf4f7BHmKeDES14aqM7HG4h6OkWLmAwlwtqRSdPGoVMrh7o LfatI4CdnzAgkKBoxTQUn88z8KBv9GZ1psxaLVtDkuYCHeFCop5FnuhCBlHewVF1B8BJWY scuRFeo71HjkkoB60bn7g0MwgJ63l8lD+Y00wxink6w7aGxuBvoh0t2uf0cALR8wE53J0K N4QlNkwy7VbjkmTvXeBoMDaGMl0+fN4En99TGSw2Qq+nXsQJcBnh4U/ILxJrNQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739458849; a=rsa-sha256; cv=none; b=pf2rT2bzxGukLi7uyCSpVW0I+qI+61pcFUoJFa3sdF4Iku4jfkZ1J9UwXPCojK9jAP2kmI 8iL/CYyQ5w+qAUIayjSkOCuKAcaeYYi+uXtrwxVjv2YqgCzcpat3IU/W4QUYbONqM2wlOB 3ze9iWPwswURbdek0WFz5GYM6l20txZ5dnXE9RHveVFEHrM9E/P6XWtNKmzrqSj72N+EYe sNTQ0dYgSFAqe6sufKovlBkgCDlVYsj+miYuqznDQcY45xTQs+c85WOiidDEG4ATKFMhKA AvlI0YlZpK8aZYptDj72sJ/mfPJSPhrlC//3c7LGyoLx/dLDcUtZnKDE3J7CWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ytyzj2tgVzqPT; Thu, 13 Feb 2025 15:00: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 51DF0n2C046088; Thu, 13 Feb 2025 15:00:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DF0nbT046085; Thu, 13 Feb 2025 15:00:49 GMT (envelope-from git) Date: Thu, 13 Feb 2025 15:00:49 GMT Message-Id: <202502131500.51DF0nbT046085@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kajetan Staszkiewicz Subject: git: 07e070ef0869 - main - pf: Add support for multiple source node types List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 07e070ef086997590cd6d9d47908885c12947bd2 Auto-Submitted: auto-generated The branch main has been updated by ks: URL: https://cgit.FreeBSD.org/src/commit/?id=07e070ef086997590cd6d9d47908885c12947bd2 commit 07e070ef086997590cd6d9d47908885c12947bd2 Author: Kajetan Staszkiewicz AuthorDate: 2025-02-07 11:40:09 +0000 Commit: Kajetan Staszkiewicz CommitDate: 2025-02-13 14:59:12 +0000 pf: Add support for multiple source node types For every state pf creates up to two source nodes: a limiting one struct pf_kstate -> src_node and a NAT one struct pf_kstate -> nat_src_node. The limiting source node is tracking information needed for limits using max-src-states and max-src-nodes and the NAT source node is tracking NAT rules only. On closer inspection some issues emerge: - For route-to rules the redirection decision is stored in the limiting source node. Thus sticky-address and source limiting can't be used separately. - Global source tracking, as promised in the man page, is totally absent from the code. Pfctl is capable of setting flags PFRULE_SRCTRACK (enable source tracking) and PFRULE_RULESRCTRACK (make source tracking per rule). The kernel code checks PFRULE_SRCTRACK but ignores PFRULE_RULESRCTRACK. That makes source tracking work per-rule only. This patch is based on OpenBSD approach where source nodes have a type and each state has an array of source node pointers indexed by source node type instead of just two pointers. The conditions for limiting are applied only to source nodes of PF_SN_LIMIT type. For global limit tracking source nodes are attached to the default rule. Reviewed by: kp Approved by: kp (mentor) Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D39880 --- lib/libpfctl/libpfctl.c | 5 + lib/libpfctl/libpfctl.h | 3 + sbin/pfctl/pf_print_state.c | 13 ++- sbin/pfctl/pfctl.c | 9 ++ sbin/pfctl/pfctl_parser.c | 2 + sys/net/pfvar.h | 30 ++++-- sys/netpfil/pf/pf.c | 216 +++++++++++++++++++++----------------- sys/netpfil/pf/pf.h | 6 ++ sys/netpfil/pf/pf_ioctl.c | 40 ++++--- sys/netpfil/pf/pf_lb.c | 35 +++--- sys/netpfil/pf/pf_nl.c | 25 ++++- sys/netpfil/pf/pf_nl.h | 5 + sys/netpfil/pf/pf_nv.c | 10 +- tests/sys/netpfil/pf/src_track.sh | 155 ++++++++++++++++++++++++++- 14 files changed, 405 insertions(+), 149 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index fe63c91c1174..e93c79758428 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -1665,6 +1665,9 @@ static struct snl_attr_parser ap_getrule[] = { { .type = PF_RT_NAF, .off = _OUT(r.naf), .cb = snl_attr_get_uint8 }, { .type = PF_RT_RPOOL_RT, .off = _OUT(r.route), .arg = &pool_parser, .cb = snl_attr_get_nested }, { .type = PF_RT_RCV_IFNOT, .off = _OUT(r.rcvifnot),.cb = snl_attr_get_bool }, + { .type = PF_RT_SRC_NODES_LIMIT, .off = _OUT(r.src_nodes_type[PF_SN_LIMIT]), .cb = snl_attr_get_uint64 }, + { .type = PF_RT_SRC_NODES_NAT, .off = _OUT(r.src_nodes_type[PF_SN_NAT]), .cb = snl_attr_get_uint64 }, + { .type = PF_RT_SRC_NODES_ROUTE, .off = _OUT(r.src_nodes_type[PF_SN_ROUTE]), .cb = snl_attr_get_uint64 }, }; #undef _OUT SNL_DECLARE_PARSER(getrule_parser, struct genlmsghdr, snl_f_p_empty, ap_getrule); @@ -1910,6 +1913,7 @@ static struct snl_attr_parser ap_state[] = { { .type = PF_ST_DNRPIPE, .off = _OUT(dnrpipe), .cb = snl_attr_get_uint16 }, { .type = PF_ST_RT, .off = _OUT(rt), .cb = snl_attr_get_uint8 }, { .type = PF_ST_RT_IFNAME, .off = _OUT(rt_ifname), .cb = snl_attr_store_ifname }, + { .type = PF_ST_SRC_NODE_FLAGS, .off = _OUT(src_node_flags), .cb = snl_attr_get_uint8 }, }; #undef _IN #undef _OUT @@ -3018,6 +3022,7 @@ static struct snl_attr_parser ap_srcnode[] = { { .type = PF_SN_EXPIRE, .off = _OUT(expire), .cb = snl_attr_get_uint64 }, { .type = PF_SN_CONNECTION_RATE, .off = _OUT(conn_rate), .arg = &pfctl_threshold_parser, .cb = snl_attr_get_nested }, { .type = PF_SN_NAF, .off = _OUT(naf), .cb = snl_attr_get_uint8 }, + { .type = PF_SN_NODE_TYPE, .off = _OUT(type), .cb = snl_attr_get_uint8 }, }; #undef _OUT SNL_DECLARE_PARSER(srcnode_parser, struct genlmsghdr, snl_f_p_empty, ap_srcnode); diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index e1af4b5e97ff..1108b0ffc693 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -216,6 +216,7 @@ struct pfctl_rule { uint64_t states_cur; uint64_t states_tot; uint64_t src_nodes; + uint64_t src_nodes_type[PF_SN_MAX]; uint16_t return_icmp; uint16_t return_icmp6; @@ -373,6 +374,7 @@ struct pfctl_state { uint8_t set_prio[2]; uint8_t rt; char rt_ifname[IFNAMSIZ]; + uint8_t src_node_flags; }; TAILQ_HEAD(pfctl_statelist, pfctl_state); @@ -415,6 +417,7 @@ struct pfctl_src_node { uint64_t creation; uint64_t expire; struct pfctl_threshold conn_rate; + pf_sn_types_t type; }; #define PF_DEVICE "/dev/pf" diff --git a/sbin/pfctl/pf_print_state.c b/sbin/pfctl/pf_print_state.c index e6495dfa4ca6..1d2fa45cd9d7 100644 --- a/sbin/pfctl/pf_print_state.c +++ b/sbin/pfctl/pf_print_state.c @@ -245,6 +245,7 @@ print_state(struct pfctl_state *s, int opts) uint8_t proto; int afto = (s->key[PF_SK_STACK].af != s->key[PF_SK_WIRE].af); int idx; + const char *sn_type_names[] = PF_SN_TYPE_NAMES; #ifndef __NO_STRICT_ALIGNMENT struct pfctl_state_key aligned_key[2]; @@ -405,10 +406,14 @@ print_state(struct pfctl_state *s, int opts) printf(", dummynet queue (%d %d)", s->dnpipe, s->dnrpipe); } - if (s->sync_flags & PFSYNC_FLAG_SRCNODE) - printf(", source-track"); - if (s->sync_flags & PFSYNC_FLAG_NATSRCNODE) - printf(", sticky-address"); + if (s->src_node_flags & PFSTATE_SRC_NODE_LIMIT) + printf(", %s", sn_type_names[PF_SN_LIMIT]); + if (s->src_node_flags & PFSTATE_SRC_NODE_LIMIT_GLOBAL) + printf(" global"); + if (s->src_node_flags & PFSTATE_SRC_NODE_NAT) + printf(", %s", sn_type_names[PF_SN_NAT]); + if (s->src_node_flags & PFSTATE_SRC_NODE_ROUTE) + printf(", %s", sn_type_names[PF_SN_ROUTE]); if (s->log) printf(", log"); if (s->log & PF_LOG_ALL) diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index 48e1d0b833c5..e05c96a252fc 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -1064,6 +1064,15 @@ pfctl_print_rule_counters(struct pfctl_rule *rule, int opts) rule->packets[1]), (unsigned long long)(rule->bytes[0] + rule->bytes[1]), (uintmax_t)rule->states_cur); + printf(" [ Source Nodes: %-6ju " + "Limit: %-6ju " + "NAT/RDR: %-6ju " + "Route: %-6ju " + "]\n", + (uintmax_t)rule->src_nodes, + (uintmax_t)rule->src_nodes_type[PF_SN_LIMIT], + (uintmax_t)rule->src_nodes_type[PF_SN_NAT], + (uintmax_t)rule->src_nodes_type[PF_SN_ROUTE]); if (!(opts & PF_OPT_DEBUG)) printf(" [ Inserted: uid %u pid %u " "State Creations: %-6ju]\n", diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index 7a6d2fc8eed5..bb458bce24fb 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -651,6 +651,7 @@ print_src_node(struct pfctl_src_node *sn, int opts) { struct pf_addr_wrap aw; uint64_t min, sec; + const char *sn_type_names[] = PF_SN_TYPE_NAMES; memset(&aw, 0, sizeof(aw)); if (sn->af == AF_INET) @@ -699,6 +700,7 @@ print_src_node(struct pfctl_src_node *sn, int opts) printf(", filter rule %u", sn->rule); break; } + printf(", %s", sn_type_names[sn->type]); printf("\n"); } } diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index d973fe15a5c4..076027e436dc 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -624,6 +624,21 @@ extern struct sx pf_end_lock; #define PF_ALGNMNT(off) (((off) % 2) == 0) +/* + * At the moment there are no rules which have both NAT and RDR actions, + * apart from af-to rules, but those don't to source tracking for address + * translation. And the r->rdr pool is used for both NAT and RDR. + * So there is no PF_SN_RDR. + */ +enum pf_sn_types { PF_SN_LIMIT, PF_SN_NAT, PF_SN_ROUTE, PF_SN_MAX }; +typedef enum pf_sn_types pf_sn_types_t; +#define PF_SN_TYPE_NAMES { \ + "limit source-track", \ + "NAT/RDR sticky-address", \ + "route sticky-address", \ + NULL \ +} + #ifdef _KERNEL struct pf_kpooladdr { @@ -822,7 +837,7 @@ struct pf_krule { counter_u64_t states_cur; counter_u64_t states_tot; - counter_u64_t src_nodes; + counter_u64_t src_nodes[PF_SN_MAX]; u_int16_t return_icmp; u_int16_t return_icmp6; @@ -904,6 +919,7 @@ struct pf_ksrc_node { sa_family_t af; sa_family_t naf; u_int8_t ruletype; + pf_sn_types_t type; struct mtx *lock; }; #endif @@ -1104,8 +1120,7 @@ struct pf_kstate { struct pf_udp_mapping *udp_mapping; struct pfi_kkif *kif; struct pfi_kkif *orig_kif; /* The real kif, even if we're a floating state (i.e. if == V_pfi_all). */ - struct pf_ksrc_node *src_node; - struct pf_ksrc_node *nat_src_node; + struct pf_ksrc_node *sns[PF_SN_MAX];/* source nodes */ u_int64_t packets[2]; u_int64_t bytes[2]; u_int64_t creation; @@ -1118,9 +1133,10 @@ struct pf_kstate { }; /* - * Size <= fits 11 objects per page on LP64. Try to not grow the struct beyond that. + * 6 cache lines per struct, 10 structs per page. + * Try to not grow the struct beyond that. */ -_Static_assert(sizeof(struct pf_kstate) <= 372, "pf_kstate size crosses 372 bytes"); +_Static_assert(sizeof(struct pf_kstate) <= 384, "pf_kstate size crosses 384 bytes"); #endif /* @@ -2367,7 +2383,7 @@ extern bool pf_src_node_exists(struct pf_ksrc_node **, struct pf_srchash *); extern struct pf_ksrc_node *pf_find_src_node(struct pf_addr *, struct pf_krule *, sa_family_t, - struct pf_srchash **, bool); + struct pf_srchash **, pf_sn_types_t, bool); extern void pf_unlink_src_node(struct pf_ksrc_node *); extern u_int pf_free_src_nodes(struct pf_ksrc_node_list *); extern void pf_print_state(struct pf_kstate *); @@ -2670,7 +2686,7 @@ u_short pf_map_addr_sn(u_int8_t, struct pf_krule *, struct pf_addr *, struct pf_addr *, struct pfi_kkif **nkif, struct pf_addr *, struct pf_ksrc_node **, struct pf_srchash **, - struct pf_kpool *); + struct pf_kpool *, pf_sn_types_t); int pf_get_transaddr_af(struct pf_krule *, struct pf_pdesc *); u_short pf_get_translation(struct pf_pdesc *, diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 378be1e72d9a..c5042a7685c2 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -389,7 +389,7 @@ static void pf_overload_task(void *v, int pending); static u_short pf_insert_src_node(struct pf_ksrc_node **, struct pf_srchash **, struct pf_krule *, struct pf_addr *, sa_family_t, struct pf_addr *, - struct pfi_kkif *); + struct pfi_kkif *, pf_sn_types_t); static u_int pf_purge_expired_states(u_int, int); static void pf_purge_unlinked_rules(void); static int pf_mtag_uminit(void *, int, int); @@ -835,25 +835,26 @@ pf_check_threshold(struct pf_threshold *threshold) static bool pf_src_connlimit(struct pf_kstate *state) { - struct pf_overload_entry *pfoe; - bool limited = false; + struct pf_overload_entry *pfoe; + struct pf_ksrc_node *src_node = state->sns[PF_SN_LIMIT]; + bool limited = false; PF_STATE_LOCK_ASSERT(state); - PF_SRC_NODE_LOCK(state->src_node); + PF_SRC_NODE_LOCK(src_node); - state->src_node->conn++; + src_node->conn++; state->src.tcp_est = 1; - pf_add_threshold(&state->src_node->conn_rate); + pf_add_threshold(&src_node->conn_rate); if (state->rule->max_src_conn && state->rule->max_src_conn < - state->src_node->conn) { + src_node->conn) { counter_u64_add(V_pf_status.lcounters[LCNT_SRCCONN], 1); limited = true; } if (state->rule->max_src_conn_rate.limit && - pf_check_threshold(&state->src_node->conn_rate)) { + pf_check_threshold(&src_node->conn_rate)) { counter_u64_add(V_pf_status.lcounters[LCNT_SRCCONNRATE], 1); limited = true; } @@ -873,7 +874,7 @@ pf_src_connlimit(struct pf_kstate *state) if (pfoe == NULL) goto done; /* too bad :( */ - bcopy(&state->src_node->addr, &pfoe->addr, sizeof(pfoe->addr)); + bcopy(&src_node->addr, &pfoe->addr, sizeof(pfoe->addr)); pfoe->af = state->key[PF_SK_WIRE]->af; pfoe->rule = state->rule; pfoe->dir = state->direction; @@ -883,7 +884,7 @@ pf_src_connlimit(struct pf_kstate *state) taskqueue_enqueue(taskqueue_swi, &V_pf_overloadtask); done: - PF_SRC_NODE_UNLOCK(state->src_node); + PF_SRC_NODE_UNLOCK(src_node); return (limited); } @@ -985,7 +986,7 @@ pf_overload_task(void *v, int pending) */ struct pf_ksrc_node * pf_find_src_node(struct pf_addr *src, struct pf_krule *rule, sa_family_t af, - struct pf_srchash **sh, bool returnlocked) + struct pf_srchash **sh, pf_sn_types_t sn_type, bool returnlocked) { struct pf_ksrc_node *n; @@ -994,7 +995,7 @@ pf_find_src_node(struct pf_addr *src, struct pf_krule *rule, sa_family_t af, *sh = &V_pf_srchash[pf_hashsrc(src, af)]; PF_HASHROW_LOCK(*sh); LIST_FOREACH(n, &(*sh)->nodes, entry) - if (n->rule == rule && n->af == af && + if (n->rule == rule && n->af == af && n->type == sn_type && ((af == AF_INET && n->addr.v4.s_addr == src->v4.s_addr) || (af == AF_INET6 && bcmp(&n->addr, src, sizeof(*src)) == 0))) break; @@ -1039,27 +1040,43 @@ pf_free_src_node(struct pf_ksrc_node *sn) } static u_short -pf_insert_src_node(struct pf_ksrc_node **sn, struct pf_srchash **sh, - struct pf_krule *rule, struct pf_addr *src, sa_family_t af, - struct pf_addr *raddr, struct pfi_kkif *rkif) +pf_insert_src_node(struct pf_ksrc_node *sns[PF_SN_MAX], + struct pf_srchash *snhs[PF_SN_MAX], struct pf_krule *rule, + struct pf_addr *src, sa_family_t af, struct pf_addr *raddr, + struct pfi_kkif *rkif, pf_sn_types_t sn_type) { u_short reason = 0; + struct pf_krule *r_track = rule; + struct pf_ksrc_node **sn = &(sns[sn_type]); + struct pf_srchash **sh = &(snhs[sn_type]); - KASSERT((rule->rule_flag & PFRULE_SRCTRACK || - rule->rdr.opts & PF_POOL_STICKYADDR), - ("%s for non-tracking rule %p", __func__, rule)); + KASSERT(sn_type != PF_SN_LIMIT || (raddr == NULL && rkif == NULL), + ("%s: raddr and rkif must be NULL for PF_SN_LIMIT", __func__)); + + KASSERT(sn_type != PF_SN_LIMIT || (rule->rule_flag & PFRULE_SRCTRACK), + ("%s: PF_SN_LIMIT only valid for rules with PFRULE_SRCTRACK", __func__)); + + /* + * XXX: There could be a KASSERT for + * sn_type == PF_SN_LIMIT || (pool->opts & PF_POOL_STICKYADDR) + * but we'd need to pass pool *only* for this KASSERT. + */ + + if ( (rule->rule_flag & PFRULE_SRCTRACK) && + !(rule->rule_flag & PFRULE_RULESRCTRACK)) + r_track = &V_pf_default_rule; /* * Request the sh to always be locked, as we might insert a new sn. */ if (*sn == NULL) - *sn = pf_find_src_node(src, rule, af, sh, true); + *sn = pf_find_src_node(src, r_track, af, sh, sn_type, true); if (*sn == NULL) { PF_HASHROW_ASSERT(*sh); - if (rule->max_src_nodes && - counter_u64_fetch(rule->src_nodes) >= rule->max_src_nodes) { + if (sn_type == PF_SN_LIMIT && rule->max_src_nodes && + counter_u64_fetch(r_track->src_nodes[sn_type]) >= rule->max_src_nodes) { counter_u64_add(V_pf_status.lcounters[LCNT_SRCNODES], 1); reason = PFRES_SRCLIMIT; goto done; @@ -1082,26 +1099,28 @@ pf_insert_src_node(struct pf_ksrc_node **sn, struct pf_srchash **sh, } } - pf_init_threshold(&(*sn)->conn_rate, - rule->max_src_conn_rate.limit, - rule->max_src_conn_rate.seconds); + if (sn_type == PF_SN_LIMIT) + pf_init_threshold(&(*sn)->conn_rate, + rule->max_src_conn_rate.limit, + rule->max_src_conn_rate.seconds); MPASS((*sn)->lock == NULL); (*sn)->lock = &(*sh)->lock; (*sn)->af = af; - (*sn)->rule = rule; + (*sn)->rule = r_track; PF_ACPY(&(*sn)->addr, src, af); - PF_ACPY(&(*sn)->raddr, raddr, af); + if (raddr != NULL) + PF_ACPY(&(*sn)->raddr, raddr, af); (*sn)->rkif = rkif; LIST_INSERT_HEAD(&(*sh)->nodes, *sn, entry); (*sn)->creation = time_uptime; (*sn)->ruletype = rule->action; - if ((*sn)->rule != NULL) - counter_u64_add((*sn)->rule->src_nodes, 1); + (*sn)->type = sn_type; + counter_u64_add(r_track->src_nodes[sn_type], 1); counter_u64_add(V_pf_status.scounters[SCNT_SRC_NODE_INSERT], 1); } else { - if (rule->max_src_states && + if (sn_type == PF_SN_LIMIT && rule->max_src_states && (*sn)->states >= rule->max_src_states) { counter_u64_add(V_pf_status.lcounters[LCNT_SRCSTATES], 1); @@ -1126,7 +1145,7 @@ pf_unlink_src_node(struct pf_ksrc_node *src) LIST_REMOVE(src, entry); if (src->rule) - counter_u64_add(src->rule->src_nodes, -1); + counter_u64_add(src->rule->src_nodes[src->type], -1); } u_int @@ -2647,30 +2666,24 @@ pf_purge_expired_src_nodes(void) static void pf_src_tree_remove_state(struct pf_kstate *s) { - struct pf_ksrc_node *sn; uint32_t timeout; timeout = s->rule->timeout[PFTM_SRC_NODE] ? s->rule->timeout[PFTM_SRC_NODE] : V_pf_default_rule.timeout[PFTM_SRC_NODE]; - if (s->src_node != NULL) { - sn = s->src_node; - PF_SRC_NODE_LOCK(sn); - if (s->src.tcp_est) - --sn->conn; - if (--sn->states == 0) - sn->expire = time_uptime + timeout; - PF_SRC_NODE_UNLOCK(sn); - } - if (s->nat_src_node != s->src_node && s->nat_src_node != NULL) { - sn = s->nat_src_node; - PF_SRC_NODE_LOCK(sn); - if (--sn->states == 0) - sn->expire = time_uptime + timeout; - PF_SRC_NODE_UNLOCK(sn); + for (pf_sn_types_t sn_type=0; sn_typesns[sn_type] == NULL) + continue; + PF_SRC_NODE_LOCK(s->sns[sn_type]); + if (sn_type == PF_SN_LIMIT && s->src.tcp_est) + --(s->sns[sn_type]->conn); + if (--(s->sns[sn_type]->states) == 0) + s->sns[sn_type]->expire = time_uptime + timeout; + PF_SRC_NODE_UNLOCK(s->sns[sn_type]); + s->sns[sn_type] = NULL; } - s->src_node = s->nat_src_node = NULL; + } /* @@ -5895,7 +5908,7 @@ nextrule: pd->act.rt = r->rt; /* Don't use REASON_SET, pf_map_addr increases the reason counters */ reason = pf_map_addr_sn(pd->af, r, pd->src, &pd->act.rt_addr, - &pd->act.rt_kif, NULL, &sn, &snh, pool); + &pd->act.rt_kif, NULL, &sn, &snh, pool, PF_SN_ROUTE); if (reason != 0) goto cleanup; } @@ -5997,14 +6010,18 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, struct pf_udp_mapping *udp_mapping) { struct pf_kstate *s = NULL; - struct pf_ksrc_node *sn = NULL; - struct pf_srchash *snh = NULL; - struct pf_ksrc_node *nsn = NULL; - struct pf_srchash *nsnh = NULL; + struct pf_ksrc_node *sns[PF_SN_MAX] = { NULL }; + /* + * XXXKS: The hash for PF_SN_LIMIT and PF_SN_ROUTE should be the same + * but for PF_SN_NAT it is different. Don't try optimizing it, + * just store all 3 hashes. + */ + struct pf_srchash *snhs[PF_SN_MAX] = { NULL }; struct tcphdr *th = &pd->hdr.tcp; u_int16_t mss = V_tcp_mssdflt; u_short reason, sn_reason; struct pf_krule_item *ri; + struct pf_kpool *pool_route = &r->route; /* check maximums */ if (r->max_states && @@ -6013,18 +6030,26 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, REASON_SET(&reason, PFRES_MAXSTATES); goto csfailed; } - /* src node for filter rule */ - if ((r->rule_flag & PFRULE_SRCTRACK || - r->rdr.opts & PF_POOL_STICKYADDR) && - (sn_reason = pf_insert_src_node(&sn, &snh, r, pd->src, pd->af, - &pd->act.rt_addr, pd->act.rt_kif)) != 0) { + /* src node for limits */ + if ((r->rule_flag & PFRULE_SRCTRACK) && + (sn_reason = pf_insert_src_node(sns, snhs, r, pd->src, pd->af, + NULL, NULL, PF_SN_LIMIT)) != 0) { + REASON_SET(&reason, sn_reason); + goto csfailed; + } + /* src node for route-to rule */ + if (TAILQ_EMPTY(&pool_route->list)) /* Backwards compatibility. */ + pool_route = &r->rdr; + if ((pool_route->opts & PF_POOL_STICKYADDR) && + (sn_reason = pf_insert_src_node(sns, snhs, r, pd->src, pd->af, + &pd->act.rt_addr, pd->act.rt_kif, PF_SN_ROUTE)) != 0) { REASON_SET(&reason, sn_reason); goto csfailed; } /* src node for translation rule */ if (nr != NULL && (nr->rdr.opts & PF_POOL_STICKYADDR) && - (sn_reason = pf_insert_src_node(&nsn, &nsnh, nr, &sk->addr[pd->sidx], - pd->af, &nk->addr[1], NULL)) != 0 ) { + (sn_reason = pf_insert_src_node(sns, snhs, nr, &sk->addr[pd->sidx], + pd->af, &nk->addr[1], NULL, PF_SN_NAT)) != 0 ) { REASON_SET(&reason, sn_reason); goto csfailed; } @@ -6166,13 +6191,11 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, /* * Lock order is important: first state, then source node. */ - if (pf_src_node_exists(&sn, snh)) { - s->src_node = sn; - PF_HASHROW_UNLOCK(snh); - } - if (pf_src_node_exists(&nsn, nsnh)) { - s->nat_src_node = nsn; - PF_HASHROW_UNLOCK(nsnh); + for (pf_sn_types_t sn_type=0; sn_typesns[sn_type] = sns[sn_type]; + PF_HASHROW_UNLOCK(snhs[sn_type]); + } } if (tag > 0) @@ -6223,24 +6246,17 @@ csfailed: uma_zfree(V_pf_state_key_z, sk); uma_zfree(V_pf_state_key_z, nk); - if (pf_src_node_exists(&sn, snh)) { - if (--sn->states == 0 && sn->expire == 0) { - pf_unlink_src_node(sn); - pf_free_src_node(sn); - counter_u64_add( - V_pf_status.scounters[SCNT_SRC_NODE_REMOVALS], 1); - } - PF_HASHROW_UNLOCK(snh); - } - - if (sn != nsn && pf_src_node_exists(&nsn, nsnh)) { - if (--nsn->states == 0 && nsn->expire == 0) { - pf_unlink_src_node(nsn); - pf_free_src_node(nsn); - counter_u64_add( - V_pf_status.scounters[SCNT_SRC_NODE_REMOVALS], 1); + for (pf_sn_types_t sn_type=0; sn_typestates == 0 && + sns[sn_type]->expire == 0) { + pf_unlink_src_node(sns[sn_type]); + pf_free_src_node(sns[sn_type]); + counter_u64_add( + V_pf_status.scounters[SCNT_SRC_NODE_REMOVALS], 1); + } + PF_HASHROW_UNLOCK(snhs[sn_type]); } - PF_HASHROW_UNLOCK(nsnh); } drop: @@ -6575,7 +6591,7 @@ pf_tcp_track_full(struct pf_kstate **state, struct pf_pdesc *pd, pf_set_protostate(*state, pdst, TCPS_ESTABLISHED); if (src->state == TCPS_ESTABLISHED && - (*state)->src_node != NULL && + (*state)->sns[PF_SN_LIMIT] != NULL && pf_src_connlimit(*state)) { REASON_SET(reason, PFRES_SRCLIMIT); return (PF_DROP); @@ -6746,7 +6762,7 @@ pf_tcp_track_sloppy(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reas if (dst->state == TCPS_SYN_SENT) { pf_set_protostate(*state, pdst, TCPS_ESTABLISHED); if (src->state == TCPS_ESTABLISHED && - (*state)->src_node != NULL && + (*state)->sns[PF_SN_LIMIT] != NULL && pf_src_connlimit(*state)) { REASON_SET(reason, PFRES_SRCLIMIT); return (PF_DROP); @@ -6764,7 +6780,7 @@ pf_tcp_track_sloppy(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reas pf_set_protostate(*state, PF_PEER_BOTH, TCPS_ESTABLISHED); dst->state = src->state = TCPS_ESTABLISHED; - if ((*state)->src_node != NULL && + if ((*state)->sns[PF_SN_LIMIT] != NULL && pf_src_connlimit(*state)) { REASON_SET(reason, PFRES_SRCLIMIT); return (PF_DROP); @@ -6831,7 +6847,7 @@ pf_synproxy(struct pf_pdesc *pd, struct pf_kstate **state, u_short *reason) (ntohl(th->th_seq) != (*state)->src.seqlo + 1)) { REASON_SET(reason, PFRES_SYNPROXY); return (PF_DROP); - } else if ((*state)->src_node != NULL && + } else if ((*state)->sns[PF_SN_LIMIT] != NULL && pf_src_connlimit(*state)) { REASON_SET(reason, PFRES_SRCLIMIT); return (PF_DROP); @@ -10023,17 +10039,21 @@ pf_counters_inc(int action, struct pf_pdesc *pd, pf_counter_u64_add_protected(&s->nat_rule->bytes[dirndx], pd->tot_len); } - if (s->src_node != NULL) { - counter_u64_add(s->src_node->packets[dirndx], - 1); - counter_u64_add(s->src_node->bytes[dirndx], - pd->tot_len); - } - if (s->nat_src_node != NULL) { - counter_u64_add(s->nat_src_node->packets[dirndx], - 1); - counter_u64_add(s->nat_src_node->bytes[dirndx], - pd->tot_len); + /* + * Source nodes are accessed unlocked here. + * But since we are operating with stateful tracking + * and the state is locked, those SNs could not have + * been freed. + */ + for (pf_sn_types_t sn_type=0; sn_typesns[sn_type] != NULL) { + counter_u64_add( + s->sns[sn_type]->packets[dirndx], + 1); + counter_u64_add( + s->sns[sn_type]->bytes[dirndx], + pd->tot_len); + } } dirndx = (dir == s->direction) ? 0 : 1; s->packets[dirndx]++; diff --git a/sys/netpfil/pf/pf.h b/sys/netpfil/pf/pf.h index 45652f174884..dfa86e7f1d6d 100644 --- a/sys/netpfil/pf/pf.h +++ b/sys/netpfil/pf/pf.h @@ -649,6 +649,12 @@ struct pf_rule { #define PFSTATE_SCRUBMASK (PFSTATE_NODF|PFSTATE_RANDOMID|PFSTATE_SCRUB_TCP) #define PFSTATE_SETMASK (PFSTATE_SETTOS|PFSTATE_SETPRIO) +/* pfctl_state->src_node_flags */ +#define PFSTATE_SRC_NODE_LIMIT 0x01 +#define PFSTATE_SRC_NODE_NAT 0x02 +#define PFSTATE_SRC_NODE_ROUTE 0x04 +#define PFSTATE_SRC_NODE_LIMIT_GLOBAL 0x10 + #define PFSTATE_HIWAT 100000 /* default state table size */ #define PFSTATE_ADAPT_START 60000 /* default adaptive timeout start */ #define PFSTATE_ADAPT_END 120000 /* default adaptive timeout end */ diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index bea2cf1a5331..6553981a1059 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -352,7 +352,8 @@ pfattach_vnet(void) } V_pf_default_rule.states_cur = counter_u64_alloc(M_WAITOK); V_pf_default_rule.states_tot = counter_u64_alloc(M_WAITOK); - V_pf_default_rule.src_nodes = counter_u64_alloc(M_WAITOK); + for (pf_sn_types_t sn_type = 0; sn_typestates_cur); counter_u64_free(rule->states_tot); - counter_u64_free(rule->src_nodes); + for (pf_sn_types_t sn_type=0; sn_typesrc_nodes[sn_type]); uma_zfree_pcpu(pf_timestamp_pcpu_zone, rule->timestamp); mtx_destroy(&rule->nat.mtx); @@ -2090,7 +2092,8 @@ pf_ioctl_addrule(struct pf_krule *rule, uint32_t ticket, } rule->states_cur = counter_u64_alloc(M_WAITOK); rule->states_tot = counter_u64_alloc(M_WAITOK); - rule->src_nodes = counter_u64_alloc(M_WAITOK); + for (pf_sn_types_t sn_type=0; sn_typesrc_nodes[sn_type] = counter_u64_alloc(M_WAITOK); rule->cuid = uid; rule->cpid = pid; TAILQ_INIT(&rule->rdr.list); @@ -3651,7 +3654,8 @@ DIOCGETRULENV_error: } newrule->states_cur = counter_u64_alloc(M_WAITOK); newrule->states_tot = counter_u64_alloc(M_WAITOK); - newrule->src_nodes = counter_u64_alloc(M_WAITOK); + for (pf_sn_types_t sn_type=0; sn_typesrc_nodes[sn_type] = counter_u64_alloc(M_WAITOK); newrule->cuid = td->td_ucred->cr_ruid; newrule->cpid = td->td_proc ? td->td_proc->p_pid : 0; TAILQ_INIT(&newrule->nat.list); @@ -5672,9 +5676,14 @@ pfsync_state_export(union pfsync_state_union *sp, struct pf_kstate *st, int msg_ __func__, msg_version); } - if (st->src_node) + /* + * XXX Why do we bother pfsyncing source node information if source + * nodes are not synced? Showing users that there is source tracking + * when there is none seems useless. + */ + if (st->sns[PF_SN_LIMIT] != NULL) sp->pfs_1301.sync_flags |= PFSYNC_FLAG_SRCNODE; - if (st->nat_src_node) + if (st->sns[PF_SN_NAT] != NULL || st->sns[PF_SN_ROUTE]) sp->pfs_1301.sync_flags |= PFSYNC_FLAG_NATSRCNODE; sp->pfs_1301.id = st->id; @@ -5738,11 +5747,10 @@ pf_state_export(struct pf_state_export *sp, struct pf_kstate *st) /* 8 bits for the old libpfctl, 16 bits for the new libpfctl */ sp->state_flags_compat = st->state_flags; sp->state_flags = htons(st->state_flags); - if (st->src_node) + if (st->sns[PF_SN_LIMIT] != NULL) sp->sync_flags |= PFSYNC_FLAG_SRCNODE; - if (st->nat_src_node) + if (st->sns[PF_SN_NAT] != NULL || st->sns[PF_SN_ROUTE] != NULL) sp->sync_flags |= PFSYNC_FLAG_NATSRCNODE; - sp->id = st->id; sp->creatorid = st->creatorid; pf_state_peer_hton(&st->src, &sp->src); @@ -6007,10 +6015,13 @@ pf_kill_srcnodes(struct pfioc_src_node_kill *psnk) PF_HASHROW_LOCK(ih); LIST_FOREACH(s, &ih->states, entry) { - if (s->src_node && s->src_node->expire == 1) - s->src_node = NULL; - if (s->nat_src_node && s->nat_src_node->expire == 1) - s->nat_src_node = NULL; + for(pf_sn_types_t sn_type=0; sn_typesns[sn_type] && + s->sns[sn_type]->expire == 1) { + s->sns[sn_type] = NULL; + } + } } PF_HASHROW_UNLOCK(ih); } @@ -6834,7 +6845,8 @@ pf_unload_vnet(void) } counter_u64_free(V_pf_default_rule.states_cur); counter_u64_free(V_pf_default_rule.states_tot); - counter_u64_free(V_pf_default_rule.src_nodes); + for (pf_sn_types_t sn_type=0; sn_typeopts & PF_POOL_STICKYADDR && (rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) - *sn = pf_find_src_node(&pd->nsaddr, r, pd->af, sh, false); + *sn = pf_find_src_node(&pd->nsaddr, r, + pd->af, sh, sn_type, false); if (*sn != NULL) PF_SRC_NODE_UNLOCK(*sn); return (0); @@ -276,7 +279,7 @@ pf_get_sport(struct pf_pdesc *pd, struct pf_krule *r, } if (pf_map_addr_sn(pd->naf, r, &pd->nsaddr, naddr, NULL, &init_addr, - sn, sh, rpool)) + sn, sh, rpool, sn_type)) goto failed; if (pd->proto == IPPROTO_ICMP) { @@ -400,7 +403,7 @@ pf_get_sport(struct pf_pdesc *pd, struct pf_krule *r, */ (*sn) = NULL; if (pf_map_addr_sn(pd->naf, r, &pd->nsaddr, naddr, NULL, - &init_addr, sn, sh, rpool)) + &init_addr, sn, sh, rpool, sn_type)) return (1); break; case PF_POOL_NONE: @@ -453,14 +456,14 @@ pf_get_mape_sport(struct pf_pdesc *pd, struct pf_krule *r, low = (i << ashift) | psmask; if (!pf_get_sport(pd, r, naddr, nport, low, low | highmask, sn, sh, &r->rdr, - udp_mapping)) + udp_mapping, PF_SN_NAT)) return (0); } for (i = cut - 1; i > 0; i--) { low = (i << ashift) | psmask; if (!pf_get_sport(pd, r, naddr, nport, low, low | highmask, sn, sh, &r->rdr, - udp_mapping)) + udp_mapping, PF_SN_NAT)) return (0); } return (1); @@ -642,7 +645,8 @@ done_pool_mtx: u_short pf_map_addr_sn(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, struct pf_addr *naddr, struct pfi_kkif **nkif, struct pf_addr *init_addr, - struct pf_ksrc_node **sn, struct pf_srchash **sh, struct pf_kpool *rpool) + struct pf_ksrc_node **sn, struct pf_srchash **sh, struct pf_kpool *rpool, + pf_sn_types_t sn_type) { u_short reason = 0; @@ -655,7 +659,7 @@ pf_map_addr_sn(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, */ if (rpool->opts & PF_POOL_STICKYADDR && (rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) - *sn = pf_find_src_node(saddr, r, af, sh, false); + *sn = pf_find_src_node(saddr, r, af, sh, sn_type, false); if (*sn != NULL) { PF_SRC_NODE_LOCK_ASSERT(*sn); @@ -780,7 +784,7 @@ pf_get_translation(struct pf_pdesc *pd, int off, goto notrans; } } else if (pf_get_sport(pd, r, naddr, nportp, low, high, &sn, - &sh, &r->rdr, udp_mapping)) { + &sh, &r->rdr, udp_mapping, PF_SN_NAT)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: NAT proxy port allocation (%u-%u) failed\n", r->rdr.proxy_port[0], r->rdr.proxy_port[1])); @@ -868,7 +872,7 @@ pf_get_translation(struct pf_pdesc *pd, int off, uint16_t cut, low, high, nport; reason = pf_map_addr_sn(pd->af, r, &pd->nsaddr, naddr, NULL, - NULL, &sn, &sh, &r->rdr); + NULL, &sn, &sh, &r->rdr, PF_SN_NAT); if (reason != 0) goto notrans; if ((r->rdr.opts & PF_POOL_TYPEMASK) == PF_POOL_BITMASK) @@ -1007,7 +1011,8 @@ pf_get_transaddr_af(struct pf_krule *r, struct pf_pdesc *pd) /* get source address and port */ if (pf_get_sport(pd, r, &nsaddr, &nport, - r->nat.proxy_port[0], r->nat.proxy_port[1], &sns, &sh, &r->nat, NULL)) { + r->nat.proxy_port[0], r->nat.proxy_port[1], &sns, &sh, &r->nat, + NULL, PF_SN_NAT)) { DPFPRINTF(PF_DEBUG_MISC, ("pf: af-to NAT proxy port allocation (%u-%u) failed", r->nat.proxy_port[0], r->nat.proxy_port[1])); @@ -1051,7 +1056,7 @@ pf_get_transaddr_af(struct pf_krule *r, struct pf_pdesc *pd) /* get the destination address and port */ if (! TAILQ_EMPTY(&r->rdr.list)) { if (pf_map_addr_sn(pd->naf, r, &nsaddr, &naddr, NULL, NULL, - &sns, NULL, &r->rdr)) + &sns, NULL, &r->rdr, PF_SN_NAT)) return (-1); if (r->rdr.proxy_port[0]) pd->ndport = htons(r->rdr.proxy_port[0]); diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 4cdb16d1fbba..73c39e1f7471 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -186,9 +186,9 @@ dump_state(struct nlpcb *nlp, const struct nlmsghdr *hdr, struct pf_kstate *s, nlattr_add_u8(nw, PF_ST_TIMEOUT, s->timeout); nlattr_add_u16(nw, PF_ST_STATE_FLAGS, s->state_flags); uint8_t sync_flags = 0; - if (s->src_node) + if (s->sns[PF_SN_LIMIT] != NULL) sync_flags |= PFSYNC_FLAG_SRCNODE; - if (s->nat_src_node) + if (s->sns[PF_SN_NAT] != NULL || s->sns[PF_SN_ROUTE]) sync_flags |= PFSYNC_FLAG_NATSRCNODE; nlattr_add_u8(nw, PF_ST_SYNC_FLAGS, sync_flags); nlattr_add_u64(nw, PF_ST_ID, s->id); @@ -210,6 +210,17 @@ dump_state(struct nlpcb *nlp, const struct nlmsghdr *hdr, struct pf_kstate *s, nlattr_add_u8(nw, PF_ST_RT, s->act.rt); if (s->act.rt_kif != NULL) nlattr_add_string(nw, PF_ST_RT_IFNAME, s->act.rt_kif->pfik_name); + uint8_t src_node_flags = 0; + if (s->sns[PF_SN_LIMIT] != NULL) { + src_node_flags |= PFSTATE_SRC_NODE_LIMIT; + if (s->sns[PF_SN_LIMIT]->rule == &V_pf_default_rule) + src_node_flags |= PFSTATE_SRC_NODE_LIMIT_GLOBAL; + } + if (s->sns[PF_SN_NAT] != NULL) + src_node_flags |= PFSTATE_SRC_NODE_NAT; + if (s->sns[PF_SN_ROUTE] != NULL) + src_node_flags |= PFSTATE_SRC_NODE_ROUTE; + nlattr_add_u8(nw, PF_ST_SRC_NODE_FLAGS, src_node_flags); if (!dump_state_peer(nw, PF_ST_PEER_SRC, &s->src)) goto enomem; @@ -854,6 +865,7 @@ pf_handle_getrule(struct nlmsghdr *hdr, struct nl_pstate *npt) struct genlmsghdr *ghdr_new; struct pf_kruleset *ruleset; struct pf_krule *rule; + u_int64_t src_nodes_total = 0; int rs_num; int error; @@ -985,7 +997,12 @@ pf_handle_getrule(struct nlmsghdr *hdr, struct nl_pstate *npt) nlattr_add_u64(nw, PF_RT_TIMESTAMP, pf_get_timestamp(rule)); nlattr_add_u64(nw, PF_RT_STATES_CUR, counter_u64_fetch(rule->states_cur)); nlattr_add_u64(nw, PF_RT_STATES_TOTAL, counter_u64_fetch(rule->states_tot)); - nlattr_add_u64(nw, PF_RT_SRC_NODES, counter_u64_fetch(rule->src_nodes)); + for (pf_sn_types_t sn_type=0; sn_typesrc_nodes[sn_type]); + nlattr_add_u64(nw, PF_RT_SRC_NODES, src_nodes_total); + nlattr_add_u64(nw, PF_RT_SRC_NODES_LIMIT, counter_u64_fetch(rule->src_nodes[PF_SN_LIMIT])); + nlattr_add_u64(nw, PF_RT_SRC_NODES_NAT, counter_u64_fetch(rule->src_nodes[PF_SN_NAT])); + nlattr_add_u64(nw, PF_RT_SRC_NODES_ROUTE, counter_u64_fetch(rule->src_nodes[PF_SN_ROUTE])); error = pf_kanchor_copyout(ruleset, rule, anchor_call, sizeof(anchor_call)); MPASS(error == 0); @@ -1785,6 +1802,8 @@ pf_handle_get_srcnodes(struct nlmsghdr *hdr, struct nl_pstate *npt) *** 252 LINES SKIPPED *** From nobody Thu Feb 13 15:18:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YtzNb26GJz5nbnN; Thu, 13 Feb 2025 15:18:55 +0000 (UTC) (envelope-from des@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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YtzNb1X11z3fPF; Thu, 13 Feb 2025 15:18:55 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739459935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=j+87gYt1bRJ9UgMHOy6PUqvhA2jItDboqzaJucaSE5o=; b=VR9oRutcOKnUILDEvOe+UmBq1PomPaYjBqso+N/peRZh+rL15ozwlj8n8gSC4A9L+Z3Idb oIAJ4xylKiYlobYO8lj789rcaDOdPNeY7+71JcPHtWZ3XxOzj0lcRUIsyi/rx17V8KUk+c aQUUy9/4k2LYo1jkNyRs/FFZ1rTQLx7vSv9m5A/o0/lAT9ROTbkdaTjhyKNJoAIXmEV1hJ 3MpMpG3GbIfCPGmuLQZZx3ZofDTZAlGdMDeDyMAj181tBlHa//XHFCS74pTgBMc79HxHvT zdpIuoc7KViSjicIlNznHm6msnrriYEtgNDn1BZKbaAqesRa7SRduXxRsVqFww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739459935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=j+87gYt1bRJ9UgMHOy6PUqvhA2jItDboqzaJucaSE5o=; b=K/QUW1w/NPLiRDJOjqVVc+/Gpjyrc1TvcL1ri6Qfy5iEDAgKs+eUnkZiods40pXOU+neIC luFdocgt0Yl6a0/j9rMiCXYrt4ugEDrsxvqNTJHTxtgD1EzAv5EfEDS77t010jQiOICYay lCeDbirjPRy8Z5HYaHF0UsNfvKCa3ezYkE8XiAyA8MwV3iJOhlKHye+Iznp+JiVAbA0lrX BU+xj4tkyB3c73zjRjW4PH1elIgFM2Ut1varQuhtQbbzHK3bZDz/CzLHqNw5JlgB+kB0cE zVR6SbIZpaRdsDMWpdV1gvxFyXAuDPYzfbErj7ZqbAQ0RjWFk3O/UY/6Fie2mw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739459935; a=rsa-sha256; cv=none; b=YGrKOEfyGoPWovXW6r3nuq5pv0gM42UyaJKF19WlEOMuH7BQdy7X85h5oPa5ouXZH4x8Mv Nh7QNeDMUpMvT6iAZHXuOW3S9V24uY1PA5E2XeBXnSdXGOZJqGf/8ZFqgDHsouDlNhFb1L aI5ZAztZJF2J85vWmbK14LB5eitEX2PZUlTlpgWlu3wRuoXsCkNg7O1EbDy9IBwT9ftXg6 8dudS5Yg6AyXv7Rt7zjvvvd0nTgpH3qLgmlM5+yh/gxtPXAsFYPDNMMBU3CZsCZpSrZvFO vp4Xes+yjzdoFVurnkUHnBcatHbc8w9nudiMnp31X0PSy+TNUye/+EQgeojRkA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from ltc.des.dev (unknown [IPv6:2a01:e0a:c54:bed0:922e:16ff:fef1:acef]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: des) by smtp.freebsd.org (Postfix) with ESMTPSA id 4YtzNb06r8z1NxY; Thu, 13 Feb 2025 15:18:54 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id 8C34459B04; Thu, 13 Feb 2025 16:18:53 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Jose Luis Duran Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 88d448ec815c - main - mk: Move vm stack test debug symbols In-Reply-To: <202502041448.514EmPpS004525@gitrepo.freebsd.org> (Jose Luis Duran's message of "Tue, 4 Feb 2025 14:48:25 GMT") References: <202502041448.514EmPpS004525@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Thu, 13 Feb 2025 16:18:53 +0100 Message-ID: <86y0y9g9eq.fsf@ltc.des.dev> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@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 Jose Luis Duran writes: > diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc > index e17ca9608cca..aff94af72c17 100644 > --- a/ObsoleteFiles.inc > +++ b/ObsoleteFiles.inc > @@ -51,6 +51,9 @@ > # xargs -n1 | sort | uniq -d; > # done >=20=20 > +# 20250204: sys/vm/stack test symbols moved to /usr/lib/debug > +OLD_DIRS+=3Dusr/tests/sys/vm/stack/.debug This directory is not empty, you need to delete the file it contains (libsoxstack.so.debug) as well. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Thu Feb 13 15:42: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 4Ytzvv0L3Vz5ndNs; Thu, 13 Feb 2025 15:42:35 +0000 (UTC) (envelope-from jlduran@gmail.com) Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com [209.85.128.170]) (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 4Ytzvt5FHNz3rgP; Thu, 13 Feb 2025 15:42:34 +0000 (UTC) (envelope-from jlduran@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yw1-f170.google.com with SMTP id 00721157ae682-6f7d5f131d4so1048227b3.0; Thu, 13 Feb 2025 07:42:34 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739461353; x=1740066153; h=content-transfer-encoding:cc:to:subject:message-id:date:from :reply-to:in-reply-to:references:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=qz7lrZeIxdzI5milf0mp4Mj6J7Mw7ATSkXwD4wDHPUw=; b=cnHaTH+DPzdY5zN98VPJbJR7Fz/91h8s7mKtHZqE0DzFSkMurF7AQnXU8cBPsbH94w 93N6OzltbVXgXCXfc3gy/OddI7UKbFJQCKFf4IBha8wwsl2BnrZaNH8VeQOnKjAJMZjr 1fGYrzwMhd2CMOmwGdt/QSTubRWPf9McX235nrTJHiJJg08Us7fJU7UJNlaXI9HWGbBX wZQ2d6axS+35iWxnYC9y6H0w/RGIr6TlR5TSaaKoFvMFUrFc3Sc+bK1tuFl0jSMnP45x xzlfJHJmAQIS/H42nvTOyeAshRPAA829w+UilmOafllp87et0j9pLhvxJj4W4W+rNGAq kzEA== X-Forwarded-Encrypted: i=1; AJvYcCVeqlLof4lGAPKO5s22WMASG15cNRvQNgp8CczuyMWcaugW/SGQ2WjJvlliEEs5hgnkGPlibL3nz1OwkHAWZpJmvKc0Fwk=@freebsd.org, AJvYcCW/Gn0HDzO413zyWl49Bb8/FCE1Hp5xnMzoLpsFYiyDnbCUwcgzYf3GUyLGOF2if6EpetG9Ga/Zp4DVtYUNiva8WMHZ@freebsd.org X-Gm-Message-State: AOJu0Yz1BTF71wQqXcv61p7wjCK85m86PKQqrXG9JdHHFnQ4aUnGSLVJ eLhguP+3ccZC6K+JtkXp8CDgkG8B5vP0X/o9DT9fZ8eGHVEIz+VONUdlYQ== X-Gm-Gg: ASbGncs0IwPqmrxQW+gQnIPXX6OblOjMUlOm37YuMXFCaX9HTjx7gtNeXHnCjjfYV/e kc9vomXOq1FCrVAkEDTQTi3w5Cut4XFa/Q5+9RwKRWtbmsJyTmQvQTe0oiOn08R5JEDQq0tfD+z 7ocb+ES9tXGagMkiI2gKiMBFe+zEwPWVlLR7Vs/O7y2VyqXMQFV+0hm4/CTRUU90a88uJoiZg6e JssQlbiLf5Smt/82NdjfnLUogXxHHA53mthhReNLV5pxy83+pMtHsElBqoA/+QUxoWbXoCVTLNa bN6wPZPYEZci1OVuuyYuYmkVGbY8TS+Te0hUs5SSzNQU5Z67ZoHSSGWk X-Google-Smtp-Source: AGHT+IFHXWRPpBuiFMopM/XmtXRwDnWxklr9bscttvhg3KYeIqsUMjvCiga8s9n+qtLV/9W58BV72Q== X-Received: by 2002:a05:690c:6383:b0:6f9:7732:f3b5 with SMTP id 00721157ae682-6fb1f2ba126mr36330467b3.6.1739461353131; Thu, 13 Feb 2025 07:42:33 -0800 (PST) Received: from mail-yb1-f175.google.com (mail-yb1-f175.google.com. [209.85.219.175]) by smtp.gmail.com with ESMTPSA id 00721157ae682-6fb361db9e8sm3422367b3.125.2025.02.13.07.42.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 13 Feb 2025 07:42:32 -0800 (PST) Received: by mail-yb1-f175.google.com with SMTP id 3f1490d57ef6-e5da511652bso141817276.3; Thu, 13 Feb 2025 07:42:32 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUFQIJ99V1T79zTbBqikVowFbo2DaWZtQeAt0xxAywA6iSsxycopuN48YUouCh4wQseo995bnp9B43s08z9YdqP0b9q@freebsd.org, AJvYcCXw+5BNV+5uURzrHj6DT6du9SJ2Z1KixlPfSK7y8i6Av6/3A9HFTPLhng0KMjU9yb66/iuoWlKSN1S0jSzp2HPyvZ0Mm7Y=@freebsd.org X-Received: by 2002:a05:690c:39a:b0:6f9:bec7:d1df with SMTP id 00721157ae682-6fb1f2cdb82mr37525097b3.7.1739461352586; Thu, 13 Feb 2025 07:42:32 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: 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: <202502041448.514EmPpS004525@gitrepo.freebsd.org> <86y0y9g9eq.fsf@ltc.des.dev> In-Reply-To: <86y0y9g9eq.fsf@ltc.des.dev> Reply-To: jlduran@freebsd.org From: Jose Luis Duran Date: Thu, 13 Feb 2025 12:42:21 -0300 X-Gmail-Original-Message-ID: X-Gm-Features: AWEUYZnymPHrByvjn9MfRmQzrSec_vZ5uHnnzumPtXuEU5ztcvQJQZEykKOEMCc Message-ID: Subject: Re: git: 88d448ec815c - main - mk: Move vm stack test debug symbols To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4Ytzvt5FHNz3rgP X-Spamd-Bar: ---- 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] On Thu, Feb 13, 2025 at 12:18=E2=80=AFPM Dag-Erling Sm=C3=B8rgrav wrote: > > Jose Luis Duran writes: > > diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc > > index e17ca9608cca..aff94af72c17 100644 > > --- a/ObsoleteFiles.inc > > +++ b/ObsoleteFiles.inc > > @@ -51,6 +51,9 @@ > > # xargs -n1 | sort | uniq -d; > > # done > > > > +# 20250204: sys/vm/stack test symbols moved to /usr/lib/debug > > +OLD_DIRS+=3Dusr/tests/sys/vm/stack/.debug > > This directory is not empty, you need to delete the file it contains > (libsoxstack.so.debug) as well. Thank you! https://reviews.freebsd.org/D48991 > > DES > -- > Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org --=20 Jose Luis Duran From nobody Thu Feb 13 17:06: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 4Yv1mV0ByXz5n19D; Thu, 13 Feb 2025 17:06:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv1mT6ghVz3b6V; Thu, 13 Feb 2025 17:06:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739466378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=47flT/eNxJy+lso6uaoBZQNq2ziZyXGgkif4XIVf5xg=; b=KLIwN8E8gUCx2slzW3Tw5LB69s+Dg38buzaY1cr8Ym8QLTBD7aJp8VmER4s4EnEmRzjAxN e7GfraKyzld6AFvc6eEP2PXzgSjPktNG3U8z9wgTu4qG8oss/U7cnk5kgh/w8GlZWUFOKU B9zohk7pmrvxUue76PCaDLJwQ61QRymQsSb28jKIoBmnjF34F19IUer1lYdBbZgn/JORE/ p2bBfE7m8aEBQdobE7cgDTFLoGpnZJZtsBeaIZhyuBs6OdlZB6D7+65XoVekONyStchkHA PDGuJfIPgh3E69dQmCBNX8XF67BMZ2/5rHpWmshJOygtO1IVm5dyIwkJQtpjvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739466378; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=47flT/eNxJy+lso6uaoBZQNq2ziZyXGgkif4XIVf5xg=; b=BmDCUQ/H5Vzy+Rot3bDFJPq2Lk0o1epUkrjtLLCFe6xXQtAZZcLNLI9j89b7Q5l1U6VkFN 8BzndQ0yaWqHFvXymd8GTv06pbd1SjTA9uIKRztYWIVMPihTVcKhPbmtRbcCzuo37bwV4A mIUt3WEWqPj8acZxPOqNwhr2FB/tUjU6zv7f3rsTWP2Cti5xkZH0JyZ/uUot4OnvtN+C6B tcxOv8Jv8pzfHo9R2qmfZibxU7wv1fAusJUYGh0sI2MYEIyWj29gq7Ehvc/qcewD7kK27I Fuux6Uz5bIwEbJ1OKZRTHO2zJfoXce6KRmfgoVQt4poFNWPouGPvj0E30RCA5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739466378; a=rsa-sha256; cv=none; b=Rj9fRo8FV2o6qA3WBwbRUmgEVi4G/zRU22n2VYutnn4goamBCAFbouWcHk6TXKew42JsPR iKy5ratShbM18a2beVbUend+0mIPz8490nxlP+6sZyE8r2kra2qRZafrjT2hWmST9JOQwF M2JdoKNxAfW5BnZRfCaU8vlogfL+g9d5w6Qq33oh/iXqSOs3880xrCy/zl9aX9AMBvxPkW 3eMgn2xoy8YgCxSPv8zVDUWUiBD7ERJV2nySYYA7iegrSG6vjKA1Wu1rwMHVjwewG0DVBH Ez8sswlAlsH8KElobR3TBSgBWWrmZffe9FpUnVYqlehIc60Qfnd9bHPUsYnVzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv1mT5nG6ztWL; Thu, 13 Feb 2025 17:06: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 51DH6Htx079399; Thu, 13 Feb 2025 17:06:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DH6H6H079397; Thu, 13 Feb 2025 17:06:17 GMT (envelope-from git) Date: Thu, 13 Feb 2025 17:06:17 GMT Message-Id: <202502131706.51DH6H6H079397@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jose Luis Duran Subject: git: e159dcc37e6f - main - ObsoleteFiles.inc: Remove test debug file from wrong dir List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jlduran X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e159dcc37e6f538d3d61ea3b2d08b052cf0e0ced Auto-Submitted: auto-generated The branch main has been updated by jlduran: URL: https://cgit.FreeBSD.org/src/commit/?id=e159dcc37e6f538d3d61ea3b2d08b052cf0e0ced commit e159dcc37e6f538d3d61ea3b2d08b052cf0e0ced Author: Jose Luis Duran AuthorDate: 2025-02-13 17:05:33 +0000 Commit: Jose Luis Duran CommitDate: 2025-02-13 17:05:33 +0000 ObsoleteFiles.inc: Remove test debug file from wrong dir Reported by: des Reviewed by: des, emaste Approved by: emaste (mentor) Fixes: 88d448ec815c ("mk: Move vm stack test debug symbols") MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D48991 --- ObsoleteFiles.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 70396c46ca46..70f134960b69 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -55,6 +55,7 @@ OLD_FILES+=usr/share/man/man9/bus_generic_attach.9.gz # 20250204: sys/vm/stack test symbols moved to /usr/lib/debug +OLD_FILES+=usr/tests/sys/vm/stack/.debug/libsoxstack.so.debug OLD_DIRS+=usr/tests/sys/vm/stack/.debug # 20250129: libdevinfo bumped to version 7 From nobody Thu Feb 13 18:22: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 4Yv3Sb0WDyz5n5n2; Thu, 13 Feb 2025 18:22:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv3SZ2Nmnz3Ffp; Thu, 13 Feb 2025 18:22:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739470958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2GOBvzDFLxGSGnGXIqau53K2Nc7jTDXtmx5Fxh5WpaE=; b=KXnArxCrBaZ9o7u5JOD1XpSnXlbX1Mv6WT62oXagTbDJXsOfZcymxt008Gcx/r9LBMUP+S OEsX0FUcsNeKQ9Ve8Vw1858xMi5vRSJstyQ6nY9QswAhvjLaM/WR7NJEf/fefw74gFf0SW PZZfFARMslCzyPeVCe6JZ3gGlUSH8BJdBCjukzySNEcie582OVeQ7TqR6y2N8JWWxtgR5p bLgBJH3Z25t4lQGyMz5QkbAaVHNA8oLcD3TjspRmrQLb9gs9nANbmwJz67jgzwdVNP2LFY bJnqxlc/LLz8WmFp2T+udhhQz0DpuzrelfOSdlT/g6YOvKAkmOLLV6NaCoXSNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739470958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2GOBvzDFLxGSGnGXIqau53K2Nc7jTDXtmx5Fxh5WpaE=; b=lYsfDbJVFV/1VGLlNxnHy5kvBkCVbhsnn2+29rJ2+8Wrmc1UpyYyYWw5hd3QXOKTTUwhd8 E9vsAU5ioGY/nt3Xn8s+/RCH/6/qrfQKZL25IXw9l09nHrU/r+razbrZ8S+1r9I4dfmHHu 95dbYzDPPO/HglPCSLk72I6Lyon2OSbFkHmlmmQCYtb0V4yKcvR7L+/wEd1cYu5kMPbfbz tqbGn+JmERgvMw59bMYKzQNiyguiGVM4dH1QPYlLYA32as3wXKOWXGpYrX/3dMRstjShHo DGmRe3v2U66gAqejNqLDchCbiVuUyAViIQwJ3X5GGi39uF1Pns81RwSIniqljg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739470958; a=rsa-sha256; cv=none; b=DjQEJbUI3ewGbE17nx5ahpl1EjSpwAVFV0AvqkIWc7wjRTkofFTaDCmk5XOlX15fj8RVNn 3VwjH9Cw8OPjRENy77nD3JN1qWG4MXfzJLLFqr3jraSsG/rTejkbjmo674nhKwRB9KJIyc xT2Xso5TnsWgNytydAXecu4yx+1Fyop/Wdi+MRTUF4xIpQ4tztk39HBWeoWOy2cDwpTfK7 i3xkalvwAoQDrgqr+Cny2y870DDkxdT0jk4mZ3j1lFi/kESpUuW1sjk+x7EcG2ZI9zkfc3 bb9R8auL5fPuMMPzXYYjuRn5QFdif9M/i46cJSl0HEwXjlJvHgzensBQbKUo5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv3SZ1c0yzwPW; Thu, 13 Feb 2025 18:22: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 51DIMcmO028319; Thu, 13 Feb 2025 18:22:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DIMc21028316; Thu, 13 Feb 2025 18:22:38 GMT (envelope-from git) Date: Thu, 13 Feb 2025 18:22:38 GMT Message-Id: <202502131822.51DIMc21028316@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 4b29599fbbe3 - main - e1000: Fix vlan PCP/DEI on lem(4) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b29599fbbe33b75b7b58cfc5deea7a881e9a10e Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=4b29599fbbe33b75b7b58cfc5deea7a881e9a10e commit 4b29599fbbe33b75b7b58cfc5deea7a881e9a10e Author: Aurelien Cazuc AuthorDate: 2025-02-13 18:08:42 +0000 Commit: Kevin Bowling CommitDate: 2025-02-13 18:20:26 +0000 e1000: Fix vlan PCP/DEI on lem(4) The vlan PCP and CFI/DEI were discarded when receiving vlan tagged packets on lem(4) interfaces with vlanhwtag. According to the 82540 SDM[1] (pg. 24), vlan tag is in the standard format, so there's no reason to discard PCP/DEI. [1]: http://iommu.com/datasheets/ethernet/controllers-nics/intel/e1000/pci-pci-x-family-gbe-controllers-software-dev-manual.pdf MFC after: 3 days Sponsored by: Stormshield (author) Differential Revision: https://reviews.freebsd.org/D48987 --- sys/dev/e1000/e1000_defines.h | 1 - sys/dev/e1000/em_txrx.c | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/sys/dev/e1000/e1000_defines.h b/sys/dev/e1000/e1000_defines.h index 92f676932636..f1b1008764a1 100644 --- a/sys/dev/e1000/e1000_defines.h +++ b/sys/dev/e1000/e1000_defines.h @@ -130,7 +130,6 @@ #define E1000_RXD_ERR_TCPE 0x20 /* TCP/UDP Checksum Error */ #define E1000_RXD_ERR_IPE 0x40 /* IP Checksum Error */ #define E1000_RXD_ERR_RXE 0x80 /* Rx Data Error */ -#define E1000_RXD_SPC_VLAN_MASK 0x0FFF /* VLAN ID is in lower 12 bits */ #define E1000_RXDEXT_STATERR_TST 0x00000100 /* Time Stamp taken */ #define E1000_RXDEXT_STATERR_LB 0x00040000 diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c index edbe0f8ab546..ced8d0f41d14 100644 --- a/sys/dev/e1000/em_txrx.c +++ b/sys/dev/e1000/em_txrx.c @@ -710,8 +710,7 @@ lem_isc_rxd_pkt_get(void *arg, if_rxd_info_t ri) if (scctx->isc_capenable & IFCAP_VLAN_HWTAGGING && status & E1000_RXD_STAT_VP) { - ri->iri_vtag = - le16toh(rxd->special & E1000_RXD_SPC_VLAN_MASK); + ri->iri_vtag = le16toh(rxd->special); ri->iri_flags |= M_VLANTAG; } From nobody Thu Feb 13 18:26: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 4Yv3YQ1jnKz5n61b; Thu, 13 Feb 2025 18:26:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yv3YQ1Cqqz3JWJ; Thu, 13 Feb 2025 18:26:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739471210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ue9VoGtjiaYbduPA0typjRryTsjGC+s6puAOEK506cA=; b=CJXlKJC4h0Evgq0tVCvMKC1sV019mF7tDpDZ2sDHsv6M8rZrMZonVXFoV9ff3pyw2byJjs kqLJZPsLRBf6v/GLJ0tZqMnS+QIwR/fCbyQmuhAIxLm9GIZEPrMhqMUhXVvqcGC+yvf/BA HS2mvYGBXJMaAFg9Vu4CdA55w6t0WxzoTqfvmeQQwaVVE2nSo0TJGuyPUDMTIceJGsuxu1 QAQdktL8Tsigp5i0UEBByW6I1hPA4r22dFNUq7Tzp5dallziAFDqKp8Yg8wMuTHz+u0IzF 6J2BYvoKJAzn2dy3MnDpRBe8c/G62c47rmkfT+uf2f02VfpTPfOuXHLp/cqsbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739471210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ue9VoGtjiaYbduPA0typjRryTsjGC+s6puAOEK506cA=; b=eQCSNQpaiVEyTzL5qHt6B23ASpCZ/DKgzySJslf8OynUOpPBrQZCIsvRC1r9rIaWLvkBc/ T3fM1JiBtd3WKFj8zfvwG4It+gPH8NraD/wyeWurdO2EptLOWnbw3RhbCcVc1lWQg5g+iC i+p+WgPG6a3eDcKOvtdGbZ/hqx8qrUePIIpsewui/NqAE2g/hdzzKZnimMOTe90HSg36pE iHHniwmLHLd0Zd1Evn6BcO/9T4OEzY19hL+DWMVd0i+yYFLAaLBDh4PqBvYwdIOn94+K7k 2fTBZMuFYhTo9DcG7Yir8lMUavcd2FTqwOazHboRfA39eH1S/QUevGnvZXj98A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739471210; a=rsa-sha256; cv=none; b=afdTtEu6uPdgR/ZxtkcV5x2YiRgANUjydKlSEp1OUiFT/sBP7dqvmAP0vJJuFpcplzcl1o Nm7GvES54UWAHmMnjLqCNi/7xcXxyictTh+5YNBzvXSjEOxv9wCvwsRJEg+1W5z2AcpwMo rRe6eao+COwglvm14a0RaYQxoEc93q10KQSs0OqMAZvSGHMcRzgVG80tRAM4aoeScozgy4 67unjYEHvdD7SiYTY3OJcsuHdPMKPY4SUUXf2IOe2Bdo/UKDW9ryDruczs+Y6ZW6uSpwPv wS236hucJ1ys2W6XZ6N8m2fy2S7iEq6rV/wyffQRIPtEtDiSB/tGR78z0yhzng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yv3YQ0RQJzwrh; Thu, 13 Feb 2025 18:26: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 51DIQnW1029657; Thu, 13 Feb 2025 18:26:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DIQncL029654; Thu, 13 Feb 2025 18:26:49 GMT (envelope-from git) Date: Thu, 13 Feb 2025 18:26:49 GMT Message-Id: <202502131826.51DIQncL029654@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 124b7722aad7 - main - igc: Remove unused register IGC_RXD_SPC_VLAN_MASK List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 124b7722aad7d4cf12d96c030659aef78175aa9c Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=124b7722aad7d4cf12d96c030659aef78175aa9c commit 124b7722aad7d4cf12d96c030659aef78175aa9c Author: Kevin Bowling AuthorDate: 2025-02-13 18:22:50 +0000 Commit: Kevin Bowling CommitDate: 2025-02-13 18:26:35 +0000 igc: Remove unused register IGC_RXD_SPC_VLAN_MASK We don't use legacy receive descriptors and masking out the vlan ID isn't necessary since the tag is in the standard format, so remove it. MFC after: 3 days --- sys/dev/igc/igc_defines.h | 1 - 1 file changed, 1 deletion(-) diff --git a/sys/dev/igc/igc_defines.h b/sys/dev/igc/igc_defines.h index e9ebd23c41c3..09f75fe2787e 100644 --- a/sys/dev/igc/igc_defines.h +++ b/sys/dev/igc/igc_defines.h @@ -96,7 +96,6 @@ #define IGC_RXD_ERR_TCPE 0x20 /* TCP/UDP Checksum Error */ #define IGC_RXD_ERR_IPE 0x40 /* IP Checksum Error */ #define IGC_RXD_ERR_RXE 0x80 /* Rx Data Error */ -#define IGC_RXD_SPC_VLAN_MASK 0x0FFF /* VLAN ID is in lower 12 bits */ #define IGC_RXDEXT_STATERR_TST 0x00000100 /* Time Stamp taken */ #define IGC_RXDEXT_STATERR_LB 0x00040000 From nobody Thu Feb 13 23:49: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 4YvBjF3CwKz5nSK7; Thu, 13 Feb 2025 23:49:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvBjF0TYGz46xq; Thu, 13 Feb 2025 23:49:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739490545; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xgPLTt1vqwb4j9ltQqdoK8RnQBCZnGCMN5ad8N9VChE=; b=vBiCMZSg71p7zWVdaP6NkERx3z5f2LDQ+TsHxfWHB3Lad5tsw394yp4VpZHENKCs8Vvp3c 6g90/kWHzjFAsvSWwgmt4QVKMkultKRtEf0BkoEg0dkS+Me0+RZWrNfX2gzmalPyKEov1S ga9vy/lSw/c+VnwJYYil369D1Fx1CXJmH5zFLQSvuERemociIApMIQVgQX+CsXlvjEY7nD yTjKB1dySx4jbtqyRHJt7UWaU55yBDvpy5Obu3Lx67/Lvi5SM2PxLC2NZaww0hFHaSYlIW u07bQA5zcXADlskBGLLv/aVxpMzgY/ACoUDguTKmAq2ZmEUyP92mw01n+JFVCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739490545; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xgPLTt1vqwb4j9ltQqdoK8RnQBCZnGCMN5ad8N9VChE=; b=Z0l3MX/sE3/hR5CSq8kaaYLOr+OARPKyc7rBTKy5rxZtA8JESKa8ymK8lvrIqGuaB4H8bR NJUxzGdnkwVaGc99CdSdp5eWpU2HLLPbu45RFNDqhded1pGJjFcn9A+kiCMqw8csFFW9vN CYuDqXSoBcOA3NvhNLbKuWbz+ORKQre2SWUzJgXkh2K9Ldo1N+PERWZaJVhQanvxitAl0i wNGt6dpfJpqkOQ/ztERUZMgkfRJjk0J+LZihRI+jRLiwW2cBc1cMgthHqa+HD7dZXHBaND 5knq/xRoPIOnzMCqqVCZCVpi1scpkF/PQRKsI6E7lkcuX/wpQorUNta8QSNBDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739490545; a=rsa-sha256; cv=none; b=MOzwas8tApNfa+Ku18RfkQjgLkB2M9yQjnV+r6CnGGdmsXhsrrUNtsMospuoGjJNTAOl0u 5OWO4kHVB5Q6nhSWNpTOVzni8O8+FlKFm4E+0zHfkl7Dw3Cx4R2bfZgYSDEJtyO9wkQG9i VzbbkWy3oAR9MTJxdyDO5e8L1w/ArZNS80keDaImNWOMK13VveaKydtQXa4IjqiBbOYv1P WUGXFX2BnEMkSovPyenmkTuJ85UbZzxfMVD1Qjs7XVyOUe6bb+FpHDnmXq3fFfaq99y0TN TzIZFHK612Twru6578TtygrZ2qOCsWN+dNe9UPez9ExZHeeLm4Tq5iQ7lmpdKQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvBjD6vxxz15Mg; Thu, 13 Feb 2025 23:49: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 51DNn4gf028520; Thu, 13 Feb 2025 23:49:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DNn4jN028517; Thu, 13 Feb 2025 23:49:04 GMT (envelope-from git) Date: Thu, 13 Feb 2025 23:49:04 GMT Message-Id: <202502132349.51DNn4jN028517@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jamie Gritton Subject: git: 3d11af1e595b - main - jls: fix the -q option to put quotes around all whitespace PR: 283414 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jamie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3d11af1e595b5a3646be370e33c4aa850dc62bb0 Auto-Submitted: auto-generated The branch main has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=3d11af1e595b5a3646be370e33c4aa850dc62bb0 commit 3d11af1e595b5a3646be370e33c4aa850dc62bb0 Author: Jamie Gritton AuthorDate: 2025-02-13 15:48:18 +0000 Commit: Jamie Gritton CommitDate: 2025-02-13 15:48:18 +0000 jls: fix the -q option to put quotes around all whitespace PR: 283414 --- usr.sbin/jls/jls.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/usr.sbin/jls/jls.c b/usr.sbin/jls/jls.c index e172c4698f57..2d173a29ac40 100644 --- a/usr.sbin/jls/jls.c +++ b/usr.sbin/jls/jls.c @@ -37,6 +37,7 @@ #include #include +#include #include #include #include @@ -515,13 +516,21 @@ quoted_print(int pflags, char *name, char *value) } /* - * The value will be surrounded by quotes if it contains spaces - * or quotes. + * The value will be surrounded by quotes if it contains + * whitespace or quotes. */ - qc = strchr(p, '\'') ? '"' - : strchr(p, '"') ? '\'' - : strchr(p, ' ') || strchr(p, '\t') ? '"' - : 0; + if (strchr(p, '\'')) + qc = '"'; + else if (strchr(p, '"')) + qc = '\''; + else { + qc = 0; + for (; *p; ++p) + if (isspace(*p)) { + qc = '"'; + break; + } + } if (qc && pflags & PRINT_QUOTED) xo_emit("{P:/%c}", qc); From nobody Thu Feb 13 23:49: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 4YvBjD5Qqyz5nSnM; Thu, 13 Feb 2025 23:49:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvBjC6fg2z46tJ; Thu, 13 Feb 2025 23:49:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739490544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0RnKdfYi4JU5CTWvBetGlA2dadPfruJHSZLQPZMk2os=; b=rH/gIHVR/f1PAlAL6aviFQD+18jGSQ4xsyBLdz4nRY34puIjPgbq54Yd/yqBKStga54cfy 7m2g3zL/flpsp51qmZT0JuE2alCsVZn0+dALOKcOVIClhGkrQ3p4CpjjgE8QIROi+ZTsCu 6mYoivQkOYs1jYYzBbbV7J4Nei9p+83NQ4cmzjE7A5Md2pOcIomc192uFxRZ0Qa3rwgCmJ 7FoG6bfVbcWOsFvSXEe0cChDTizPy/D76L8ibKwiG7A7aNGn/rNkwUoZD+Xeco39VcVaQ+ 9Jd8/P8o+Dd7LS5n+HJQosvOMUSqoKugsZZhOIzx5O7jvRvHeUmwxf4kJRiQow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739490544; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0RnKdfYi4JU5CTWvBetGlA2dadPfruJHSZLQPZMk2os=; b=E/G9LvT7Ba/o+9ivt4fyeWpKzGvPD/TI402yfk0s67T+BwCfwdG5zIHpOQw1IxDjKiDPSz p494Bby9If2mARSfxLQrA0/LAX1ZBF9cOuM2aYJhaanLwm3lP2pqxoDkqLpsMH0/pGn+uo Hd+p7k/RbkrOoWeSzW2wD9rgMHiAVC5qz7c6BDbFk7PnjsJ+UivdsXiRlEWAggAeTgaxWp Z9HGvTffovU+WTMN477z5hqgkfGWgJz9Sobwlcq7Slgwc/GTiLyb3dFjNqT7jqeBsB9swp zt/WdBL7r4K2aYLAVzztSNNNm1kCHWAiTI8bODDFA3tgJ5IcojyRpv+vZg36Gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739490544; a=rsa-sha256; cv=none; b=p8rCODP8sUUMEK4UuOrNeN3hTkPFNu+DyGLyHR5S78dfPJZ+MmtYe78uuJFMnzCE51HFca C9GLKd67OIFH/KowuYN8i99aB/3aaNoto7FuUxRqIiGRx/VCVH1pM2Xs43p9vcnLahZ4vO XKXkdY3XTvpA907GFbhuQKNHpKynr+y247uH2DKZjhifI72rNl/fHtVKMqxr/haS5CVP4v w2FL5xcAUGBuKjJMq1N4Z2uJ0ADUBU0IU/w1UsO6cxGy2VcEEaTNatYJvQd0S8lw/soQZ6 V+MbZHIx07ikWJJNr6n98FA8dEhV6ax9YB7JwdbwNSwkfkTsv9IpMSEUSOMwTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvBjC63YTz160f; Thu, 13 Feb 2025 23:49: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 51DNn3k8028487; Thu, 13 Feb 2025 23:49:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51DNn3cE028484; Thu, 13 Feb 2025 23:49:03 GMT (envelope-from git) Date: Thu, 13 Feb 2025 23:49:03 GMT Message-Id: <202502132349.51DNn3cE028484@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jamie Gritton Subject: git: b144e883cac8 - main - jls: admit that jail parameters with newlines print multiple lines PR: 283414 Reported by: dch List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jamie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b144e883cac8c60175c89508f14fc6804869181a Auto-Submitted: auto-generated The branch main has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=b144e883cac8c60175c89508f14fc6804869181a commit b144e883cac8c60175c89508f14fc6804869181a Author: Jamie Gritton AuthorDate: 2025-02-13 15:47:12 +0000 Commit: Jamie Gritton CommitDate: 2025-02-13 15:47:12 +0000 jls: admit that jail parameters with newlines print multiple lines PR: 283414 Reported by: dch --- usr.sbin/jls/jls.8 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/jls/jls.8 b/usr.sbin/jls/jls.8 index ce148da0d138..f7a5eeb321ef 100644 --- a/usr.sbin/jls/jls.8 +++ b/usr.sbin/jls/jls.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 20, 2025 +.Dd February 13, 2025 .Dt JLS 8 .Os .Sh NAME @@ -39,12 +39,12 @@ The .Nm utility lists all active jails, or the specified jail. -Each jail is represented by one row which contains space-separated values of -the listed +Each jail is represented by space-separated values of the listed .Ar parameters , -including the pseudo-parameter +one jail per line (unless the parameters themselves contain newlines). +The pseudo-parameter .Va all -which will show all available jail parameters. +will show all available jail parameters. A list of available parameters can be retrieved via .Dq Nm sysctl Fl d Va security.jail.param . See From nobody Fri Feb 14 06:39: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 4YvMpJ5y4rz5ntMy; Fri, 14 Feb 2025 06:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvMpJ2t6dz3dCP; Fri, 14 Feb 2025 06:39:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvHSMo6xw0KJpWfYJ6aqGEjEvgwN4ZucoDzol+h5dzc=; b=sCY5pxgGbDQdZGXb8QzioGaJ+IuChTpsMnsfpZCUDltlidCFOPNQR89gfZZu4tifQZayR4 AD701OjmwFq10tFQ68Edwsl+Ot+AK4E/skG+XpcziDSehzd39nkWXxryrMJssYeCRyTcFw 5ku6hdO6xAgfo6UDUEohe9Xy5OoUWPIN9YaQWx4+BloATJ2n/cn57koBWHDX5EcwZ4+xx/ SHrrbHCgWrqP5qgb0A4OkkRmKTxNvroKoOZd6qkdAEwKADhBySM/r8vq2xSO/op8r/Mas+ 1FnAsCgd+CvEI1fA7wx5Lg+rXCgZm0txzgqvrRpiO6fnujDkFEnRpV1h2LiwAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nvHSMo6xw0KJpWfYJ6aqGEjEvgwN4ZucoDzol+h5dzc=; b=bZPy+MTRpNjPQzveZPzK9mS2qScNV/oXna3Ct/BZ9/NEYxx8/XkQYhoxeIed/FZh+UuIkT I/ZFFWO8L7XyqJ8FMwF7ImfC58kswA9E51dnPxdaBRw7E+jpgcGtflhcR1XXPGDKoFybEX 3WI35oY64J5aFo6exItaO8KqfJuKovuFpFuU2X+X0dBuRb5vg6wKzH4khOlDXTkHubF2y4 q6Jg2kbzb0fbF+DmXM16NmCErQf5lgw7l08ChL4y3xtEmqhaBZtpwcsvRuu+4pK4YrXf2V 5lkdpNWdKSK+BiRemASx6Iiih0wRgBUCZxUyrsfBH9wQr0wlKNDRg5YmZM2C0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739515144; a=rsa-sha256; cv=none; b=NTyV+l1eHF0arV9ydkgsE2FCNUMKSo9ZoN4oyWDBlOAnbDYWVi2rpqG/yp3kH0YaL1zMX9 +zKrbbtXSmjVTdvEPd+TvyxvKSAwF0ERvlrchWuSYXW6uIZBLG95BzXv0RiYJqrAynu87l 4y527QCsEitBRebUvsG9bGesK7s9Ee9ZvBxQIpLwQZQGLO1JzPa13/NRX1YE07LEfLAq+T LA/2QVcgdjOiV10IwikUIYG+2LK7t//UNkuuXD/AORmBG0xGuPUpDBozyPY6ATmA5nAfWZ 5zBGLs2oP++KHZk8fmwbBSG/RiKAljOZJ62fAVTWGAgBt2ygoZyFL1iztzlbkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvMpJ2LpNz4NJ; Fri, 14 Feb 2025 06:39: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 51E6d4tC097759; Fri, 14 Feb 2025 06:39:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E6d4LH097756; Fri, 14 Feb 2025 06:39:04 GMT (envelope-from git) Date: Fri, 14 Feb 2025 06:39:04 GMT Message-Id: <202502140639.51E6d4LH097756@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: f4ab14044c1d - main - cxgbe(4): Make sure suspend/resume works in recovery mode. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f4ab14044c1de35b1aefad5449bddc5a1272f8d9 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=f4ab14044c1de35b1aefad5449bddc5a1272f8d9 commit f4ab14044c1de35b1aefad5449bddc5a1272f8d9 Author: Navdeep Parhar AuthorDate: 2025-02-14 00:17:54 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 00:41:50 +0000 cxgbe(4): Make sure suspend/resume works in recovery mode. The driver does minimal initialization in this mode and suspend/resume should ignore resources that aren't setup. This is for debug only. kenv hw.cxgbe.sos="1" kldload if_cxgbe devctl suspend t6nex0 devctl resume t6nex0 MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_l2t.c | 4 ++++ sys/dev/cxgbe/t4_main.c | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/sys/dev/cxgbe/t4_l2t.c b/sys/dev/cxgbe/t4_l2t.c index b210003cfac0..b1307bf2ace5 100644 --- a/sys/dev/cxgbe/t4_l2t.c +++ b/sys/dev/cxgbe/t4_l2t.c @@ -376,6 +376,8 @@ t4_stop_l2t(struct adapter *sc) { struct l2t_data *d = sc->l2t; + if (d == NULL) + return (0); rw_wlock(&d->lock); d->l2t_stopped = true; rw_wunlock(&d->lock); @@ -388,6 +390,8 @@ t4_restart_l2t(struct adapter *sc) { struct l2t_data *d = sc->l2t; + if (d == NULL) + return (0); rw_wlock(&d->lock); d->l2t_stopped = false; rw_wunlock(&d->lock); diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index e4120e76000c..435e6fd19c9a 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -1924,6 +1924,8 @@ stop_adapter(struct adapter *sc) t4_shutdown_adapter(sc); for_each_port(sc, i) { pi = sc->port[i]; + if (pi == NULL) + continue; PORT_LOCK(pi); if (pi->up_vis > 0 && pi->link_cfg.link_ok) { /* @@ -2035,6 +2037,8 @@ stop_lld(struct adapter *sc) /* Quiesce all activity. */ for_each_port(sc, i) { pi = sc->port[i]; + if (pi == NULL) + continue; pi->vxlan_tcam_entry = false; for_each_vi(pi, j, vi) { vi->xact_addr_filt = -1; @@ -4013,6 +4017,8 @@ stop_atid_allocator(struct adapter *sc) { struct tid_info *t = &sc->tids; + if (t->natids == 0) + return; mtx_lock(&t->atid_lock); t->atid_alloc_stopped = true; mtx_unlock(&t->atid_lock); @@ -4023,6 +4029,8 @@ restart_atid_allocator(struct adapter *sc) { struct tid_info *t = &sc->tids; + if (t->natids == 0) + return; mtx_lock(&t->atid_lock); KASSERT(t->atids_in_use == 0, ("%s: %d atids still in use.", __func__, t->atids_in_use)); From nobody Fri Feb 14 06:39: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 4YvMpL0528z5nt3V; Fri, 14 Feb 2025 06:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvMpK3h4hz3d6s; Fri, 14 Feb 2025 06:39:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAGq1V+P2vNjkq8+m/J16dvtuU9ge0KmaTKWwYvF6MM=; b=ER4PLwctlBZlR05w3/77fuiyA7KZlBJ+xSsCitMJqdsx7q6ppxOE8cnWNAl1jtsRu2q0Ol ZsLx8lI16XyG0eXtIsXz5e9SSGJpqn7AfWzUbagTBrN8YaU0kIxG7JDxk8gzKTvBDRqjEm XnihVr5qb9914WwQUCJ4cl17Ympr+xVhDG43LanfTGQB9QUFSLcn7zIiECUxyNoyi+5yLx Kp11IAQuuZXYCUObae6Bp7lORJ0xgCXu36hjTAIjfE6ZC9hhpeUo329Lmvc1sEL2GGu1X6 z2qbM69XGdo007UXFpxUILXwpOnJaTPtwTprk5/HZ3CH6mmMg/0fxl/2l1QVhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAGq1V+P2vNjkq8+m/J16dvtuU9ge0KmaTKWwYvF6MM=; b=fEdwYgDrD6diZN0AIsB7/YKkFSwn3MllYyQxsaxzrkVnhGeh2ZIniphbBrcO+AFb9CBzFO t2ho70QEvoZmfvi/UNwcxJw7ZaaRzw9O/l0ugTv6HyU/HTKDwsNvX1f9FDWLHZayzzwrKV eRyecF4sM31yhQkmtl7ooaCw27eXh31bjzaT5It/RR48DhgYSngH9stftEicKIeEYj+GRt 2W1/4Uss/0rn2gzEJ3RHD5RaHh5j97u653cZfA/gjyy4THbzvs8pfT8b/3bOwR4mmHZbGH zwjKCEW03kXa+Pw/XNMuGTAXquzMVUz4eOcvUIJbj5uxeBG604h++FAUp8IlYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739515145; a=rsa-sha256; cv=none; b=EhLaoQar3gOfYqY1eTHXYWuyZwA+VkjMUixBoMpTeYNA7230IENDKpVX9udpO4CCH2dKp5 9Tuk2ZpMqs4aag+HsxXaj6uBn2wEf7fl0Y3FsCkdGpoE5haEtVI8SFUXlc68WNTT+2plMP E68d6nA8WBAGXWo+f1+3FV7PfrvO6jrf0ClWwK1qhxlgt57BvJcxCSUipL2GllGFwV+rI9 1wBuOPlN/3lUSl9nN49LUz+gGp8wRzTtCmjNsamb7pd/jAZ71md+EnF8qeMDKUYTr24iWy nPHDL0hrgULZ/3EHHkOPdP7McnlOIkOuaSVTgG8EgINvrOwss2zyt3oui03w7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvMpK3Hfhz4DN; Fri, 14 Feb 2025 06:39: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 51E6d5fH097798; Fri, 14 Feb 2025 06:39:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E6d56S097795; Fri, 14 Feb 2025 06:39:05 GMT (envelope-from git) Date: Fri, 14 Feb 2025 06:39:05 GMT Message-Id: <202502140639.51E6d56S097795@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: 762d32354a18 - main - cxgb(4): Use routines from pci(9) instead of hand rolled equivalents. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 762d32354a18517c28933ddc29f9d3d855e450b1 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=762d32354a18517c28933ddc29f9d3d855e450b1 commit 762d32354a18517c28933ddc29f9d3d855e450b1 Author: Navdeep Parhar AuthorDate: 2024-12-09 00:05:33 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 04:44:23 +0000 cxgb(4): Use routines from pci(9) instead of hand rolled equivalents. There is no need to include private PCI headers in the driver. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgb/cxgb_main.c | 55 +++++------------------------------------------- 1 file changed, 5 insertions(+), 50 deletions(-) diff --git a/sys/dev/cxgb/cxgb_main.c b/sys/dev/cxgb/cxgb_main.c index a19483c7cbbf..882d1c6cc4a4 100644 --- a/sys/dev/cxgb/cxgb_main.c +++ b/sys/dev/cxgb/cxgb_main.c @@ -36,7 +36,6 @@ POSSIBILITY OF SUCH DAMAGE. #include #include #include -#include #include #include #include @@ -76,7 +75,6 @@ POSSIBILITY OF SUCH DAMAGE. #include #include -#include #include @@ -1137,66 +1135,23 @@ t3_fatal_err(struct adapter *sc) int t3_os_find_pci_capability(adapter_t *sc, int cap) { - device_t dev; - struct pci_devinfo *dinfo; - pcicfgregs *cfg; - uint32_t status; - uint8_t ptr; + int rc, reg = 0; - dev = sc->dev; - dinfo = device_get_ivars(dev); - cfg = &dinfo->cfg; - - status = pci_read_config(dev, PCIR_STATUS, 2); - if (!(status & PCIM_STATUS_CAPPRESENT)) - return (0); - - switch (cfg->hdrtype & PCIM_HDRTYPE) { - case 0: - case 1: - ptr = PCIR_CAP_PTR; - break; - case 2: - ptr = PCIR_CAP_PTR_2; - break; - default: - return (0); - break; - } - ptr = pci_read_config(dev, ptr, 1); - - while (ptr != 0) { - if (pci_read_config(dev, ptr + PCICAP_ID, 1) == cap) - return (ptr); - ptr = pci_read_config(dev, ptr + PCICAP_NEXTPTR, 1); - } - - return (0); + rc = pci_find_cap(sc->dev, cap, ®); + return (rc == 0 ? reg : 0); } int t3_os_pci_save_state(struct adapter *sc) { - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_save(dev, dinfo, 0); + pci_save_state(sc->dev); return (0); } int t3_os_pci_restore_state(struct adapter *sc) { - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_restore(dev, dinfo); + pci_restore_state(sc->dev); return (0); } From nobody Fri Feb 14 06:39: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 4YvMpL6Spsz5ntSg; Fri, 14 Feb 2025 06:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvMpL4gkmz3d2g; Fri, 14 Feb 2025 06:39:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=61GPAWyJF8gPTvHl1BZ7pHduquoZGr4YOLEty3XCsnk=; b=oyXliGrA8UzNdFHA2iQvigYPkR99XUop+vGbUTg/NffdQKXlFK9O4O6OnI5+Gh5zVEnbe+ 9Mv0yyxPdbllEQ+gQ17Ta/70MJGHwJ0V9eEko3sB8w9dfa2geAD4dhqX18jqPMa4mZL19R X07NNWWiesxJJExpIdNJw1hSQ7SB+3adywuXDhYq3DWgZYhTyXv6SnW0kis51S8zfNC2dO bShwmsZeqGMMZ3ZcEw0G410bj4qnBAi8go4O577baVPVA6ZWd+8sontOnEe0xCK93exNhQ W8XLLZ0OxLfepA8FqcVv+LGkRBfZzRgpHFjlACqBAd2Z37skDV3dc3VYsvByqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=61GPAWyJF8gPTvHl1BZ7pHduquoZGr4YOLEty3XCsnk=; b=WWa76YYbNZB01cBXU8cnMOD2kexUfjc9H1f55OxYTosB2qMjPnIjUe3H3FU/SiJUJuFb9l OO4xBlQmOX9ctrqvzqeLql1V98UdVkJFG5gcoXMayjAiXgH23ElopPY7VW35CZ/4V/lXcL TNX6U3Kywj0kRE1pB8ETWACo8F7jSl1lBRTBoWefeZG4zsW0KAU4H9wo1LIxhMCp/QjSrX Rk93oeLVhQvspDCMe5/Fi37VKpVyWa1xzGjPRIpIogg8xQeQT9wF73/6l9fyWgEfdrJpXf q0Acg8Kg2SeW5ebiX9tgaSbwLy7U+acR86TAknYca3g3l/eaMmZy4mezqkdVTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739515146; a=rsa-sha256; cv=none; b=llZR6xdbnxAH02xETPyrQrHyK4RYUH12SlDe+KdvYcu26fwAD8K3ncvX/oCMl+vg2A2AHY uz5WMGVWHtdXDuJn63uh9QQKoVzkb29azYG1/B/knf9e5wih3u6BLa130p9ekJCB4eoX2v GmoZK3Ul9AXqrpl15ynBcFRARFXtCScD68qu+vG44PY+EGlUofiVf3P8A6t7ukRj22+Mpm CbUb5J+ZRiOem4AyvaI+DSWnVdBn5dJh102K+FgpTQWoL4Ddm33ERSszqBcHl02E/y05YE yLboZn4ieVSOuQ/XZz3/MTgo5W7OTV8FkIGow8fiQITugt6jaz3bo2QH9tQQnA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvMpL40K9z4DP; Fri, 14 Feb 2025 06:39: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 51E6d64Q097831; Fri, 14 Feb 2025 06:39:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E6d6vw097828; Fri, 14 Feb 2025 06:39:06 GMT (envelope-from git) Date: Fri, 14 Feb 2025 06:39:06 GMT Message-Id: <202502140639.51E6d6vw097828@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: 9d76f6d042fe - main - cxgbe(4): Remove some unused PCI routines and associated headers. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 9d76f6d042feecf16775a200ee79c4e50fc533ba Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=9d76f6d042feecf16775a200ee79c4e50fc533ba commit 9d76f6d042feecf16775a200ee79c4e50fc533ba Author: Navdeep Parhar AuthorDate: 2025-02-14 04:52:25 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 04:52:25 +0000 cxgbe(4): Remove some unused PCI routines and associated headers. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/adapter.h | 2 -- sys/dev/cxgbe/t4_main.c | 28 ---------------------------- 2 files changed, 30 deletions(-) diff --git a/sys/dev/cxgbe/adapter.h b/sys/dev/cxgbe/adapter.h index 862a90e8a441..8d10a07e0933 100644 --- a/sys/dev/cxgbe/adapter.h +++ b/sys/dev/cxgbe/adapter.h @@ -1363,8 +1363,6 @@ extern unsigned int t4_ddp_rcvbuf_cache; extern device_method_t cxgbe_methods[]; int t4_os_find_pci_capability(struct adapter *, int); -int t4_os_pci_save_state(struct adapter *); -int t4_os_pci_restore_state(struct adapter *); void t4_os_portmod_changed(struct port_info *); void t4_os_link_changed(struct port_info *); void t4_iterate(void (*)(struct adapter *, void *), void *); diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 435e6fd19c9a..5542481e03d8 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -45,10 +45,8 @@ #include #include #include -#include #include #include -#include #include #include #include @@ -12112,32 +12110,6 @@ t4_os_find_pci_capability(struct adapter *sc, int cap) return (pci_find_cap(sc->dev, cap, &i) == 0 ? i : 0); } -int -t4_os_pci_save_state(struct adapter *sc) -{ - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_save(dev, dinfo, 0); - return (0); -} - -int -t4_os_pci_restore_state(struct adapter *sc) -{ - device_t dev; - struct pci_devinfo *dinfo; - - dev = sc->dev; - dinfo = device_get_ivars(dev); - - pci_cfg_restore(dev, dinfo); - return (0); -} - void t4_os_portmod_changed(struct port_info *pi) { From nobody Fri Feb 14 06:39: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 4YvMpN0X4Kz5ntN0; Fri, 14 Feb 2025 06:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvMpM5pXJz3d05; Fri, 14 Feb 2025 06:39:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=77LNMaN671Y6mk9Mi49Mv2lEiVbOG4zb0bWt3I3n/rw=; b=MaDa9NUicGgUfJAGRHbxFqUPB+l3wTgEeEe1nkBRRYiqNkfnZzJpyZlohv3LgBVwV2h7J9 cSNCxY28Qu9Y9oo3DJ65C7b6w1A63wNBCuspR1ZoGUumYn8QeESEUfpLTFaiRZKpVZ+Gia wNnIoheiKuFDgQqdM1t2cWcqht/xhu+Qi0ofBm/Wpl/giKYpwOEYhlQ7EDJxHVgKIL0N+J BVL5+kN7h8ia/ro76S1PnAFuwvwIn2GKt5ZUZwGaCyilcbXtIBBUXDbw97SXKI3B2bYW1m EFSKawzd4UBayVvhUr0FTjfC5xpEy9TUMWBDC4oSZvc+cgq2AqCSZ3e4amVUKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515147; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=77LNMaN671Y6mk9Mi49Mv2lEiVbOG4zb0bWt3I3n/rw=; b=U6A3r6oZMMdK0cvYTjQaFKtdEM4vnpmxqSC54s5VTtITmUivh0Fdskx0PojbK+rcop2WV8 AyCxkMV9xwyriFLcuWfAEkk1dsBHK0vIQiHdxZWy6rJCsHLqzE5fx1F4N8A5NVwJJyeKp5 NIBnS0IXR4/DVG5p0eF5l6IlRsOt0Lz2O7Pg+5MA7Wyx/kXUg35Ic6NgQRWsbEw7iphQmE LUWZdCnse0oj4v+0e/yhMeoTJwkc7YPVDI1HA0lKrFaO0mO4NGnTXJzC79PG29JX41YpUL 4I9IEYucHIwT7xlWH3C/0IM6o9kazkdR9Yix7ybKHRg0+Pyd3KVSdIlBavgfdA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739515147; a=rsa-sha256; cv=none; b=i9TC3lE87NDmh5dm0rXetf1bMKVEhJ5MEpyFKDqLYvUdJ+XVCpxouWq/J8o7tNyJiRlcQL Ds1bCCmrtX4YR8D0/T2aJfoxhW7Brfcc3KQIW4qYo/dV+u2Odmoj5xPshaSOhau7SABX/v RfRF6Huv51OTHTHgpePzAuappucczESeFZ6TwfESs+5fQls5xTvyNe6bdNQ7r9/X/2yqaW sJfMmuvMIHbuC5030F+4Bz/mk6DZbOWMfLuWReBzQPnAhZVqpqrUkZpXHe/W98Owrq16ya gK0TufZUvjsv0t0sl7E4Z/EeSxBnsYWjLvsnkOzgAgTrDq0DR+EMULz0RMmNDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvMpM5Dwsz4JP; Fri, 14 Feb 2025 06:39: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 51E6d7H5097865; Fri, 14 Feb 2025 06:39:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E6d7O9097862; Fri, 14 Feb 2025 06:39:07 GMT (envelope-from git) Date: Fri, 14 Feb 2025 06:39:07 GMT Message-Id: <202502140639.51E6d7O9097862@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: f79fba05a016 - main - cxgbe(4): Remove smt_idx from the L2 table entry 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: np X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f79fba05a016d53e054d6f587213889c3e31b4db Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=f79fba05a016d53e054d6f587213889c3e31b4db commit f79fba05a016d53e054d6f587213889c3e31b4db Author: Navdeep Parhar AuthorDate: 2024-09-17 02:55:09 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 05:54:59 +0000 cxgbe(4): Remove smt_idx from the L2 table entry structure. An L2 table entry isn't associated with a particular SMT (Source MAC Table) entry. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_l2t.h | 1 - sys/dev/cxgbe/tom/t4_tom_l2t.c | 6 ++---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/sys/dev/cxgbe/t4_l2t.h b/sys/dev/cxgbe/t4_l2t.h index f8681a4ab556..13e085bb7467 100644 --- a/sys/dev/cxgbe/t4_l2t.h +++ b/sys/dev/cxgbe/t4_l2t.h @@ -63,7 +63,6 @@ struct l2t_entry { uint32_t iqid; /* iqid for reply to write_l2e */ struct sge_wrq *wrq; /* queue to use for write_l2e */ if_t ifp; /* outgoing interface */ - uint16_t smt_idx; /* SMT index */ uint16_t vlan; /* VLAN TCI (id: 0-11, prio: 13-15) */ struct l2t_entry *first; /* start of hash chain */ struct l2t_entry *next; /* next l2t_entry on chain */ diff --git a/sys/dev/cxgbe/tom/t4_tom_l2t.c b/sys/dev/cxgbe/tom/t4_tom_l2t.c index 8cc3e633444a..909abe793835 100644 --- a/sys/dev/cxgbe/tom/t4_tom_l2t.c +++ b/sys/dev/cxgbe/tom/t4_tom_l2t.c @@ -361,7 +361,7 @@ t4_l2t_get(struct port_info *pi, if_t ifp, struct sockaddr *sa) struct l2t_entry *e; struct adapter *sc = pi->adapter; struct l2t_data *d = sc->l2t; - u_int hash, smt_idx = pi->port_id; + u_int hash; uint16_t vid, pcp, vtag; KASSERT(sa->sa_family == AF_INET || sa->sa_family == AF_INET6, @@ -386,8 +386,7 @@ t4_l2t_get(struct port_info *pi, if_t ifp, struct sockaddr *sa) goto done; } for (e = d->l2tab[hash].first; e; e = e->next) { - if (l2_cmp(sa, e) == 0 && e->ifp == ifp && e->vlan == vtag && - e->smt_idx == smt_idx) { + if (l2_cmp(sa, e) == 0 && e->ifp == ifp && e->vlan == vtag) { l2t_hold(d, e); goto done; } @@ -403,7 +402,6 @@ t4_l2t_get(struct port_info *pi, if_t ifp, struct sockaddr *sa) e->state = L2T_STATE_RESOLVING; l2_store(sa, e); e->ifp = ifp; - e->smt_idx = smt_idx; e->hash = hash; e->lport = pi->lport; e->wrq = &sc->sge.ctrlq[pi->port_id]; From nobody Fri Feb 14 06:39:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvMpP4Shwz5ntSq; Fri, 14 Feb 2025 06:39:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvMpN6FwJz3cwK; Fri, 14 Feb 2025 06:39:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uXAg06GATVtukIjZagzZR/RuTVa9+JNCzDmD+zTEDTE=; b=n4SZtV1c/RBakH8KhTq1ysmF1ip5zIhyODc+7kEOonJLRv4hRzkKIabw89G66FgShBeaWw JFs1/EWQRF9dFXQDEfxDFBZ+WUo504iQ26vwk50VqITuoxzJ9XH4Y4QKaC0qzEDwvYl5AZ AVWXe1vfEEOTF1aT2xJruzsNjTge4+WQgh4ZcAVt1VPjIzLrLLPaM6hZ/aZVfrUArYBbXL Ld30jbjf6r6T/bXDXLlYwolHAqXgrrSJ08locvKvGD6Jn3VvE2OGQcemyqgMzzDeofJ6WP 7JGkRhsYXdio82kKwpdNfXWKYgfcSitmWnhqaNuBZS3Vfahfuy6heYOCOPpetg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739515148; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uXAg06GATVtukIjZagzZR/RuTVa9+JNCzDmD+zTEDTE=; b=utH54w+KVxnrz/1lNk1yzNTwiRm/VqG0rXZSOPoilAsqo3oLVtsczVL6tK6JBaJcX5/Xv9 FEN7Yky6wKOgyONwzlXOeE7GTIu6dequhaOU8Yv+Mgo2gwBqBl/6rHPzBT94GPIItjTbxI zP+/eqtV1F0yN7MBfzMTBfmzniAWfeY5J3zUkf4k3q4jklh/E/9yub1wAL9PzBj8Lw2rse n0XmoMGabegDUlHYZd3NpvzqxaVWO8AMtCKOctOPmwBYdecgkvFTwE5VYieQquM6Q5OZwh UJuurxB5MdCyOfuJMxHnUiTouriTwHxNxct09C3MEKPgF8Ybe0YMCLBvL91z7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739515148; a=rsa-sha256; cv=none; b=mYBHZom2oov5Vo1l18RtUNXycraBux+phWH7e7mlJDVdKYdK8Kbczu3XXdenb5yfMkVt9X k7VC1epPCsZYTmvvaje7qdtvWtcyp8jt29aST/MLr577hamRNprirTu7AZ1h0Y2dYFRUPi lJ+2a1ngdwonKHwbAJe12PF8JVkC7wdQpcx1O22ISp5YRTo6cjP4SDYJUmJ4+SoM4xSLuX pFnQXEeNp/y/lkOvrDJ8riiosOrZ8HegSiIOzCaiQwKZgBV6EGgoICjj8nnzCJfOMkiSrb VTN8fUqjGMAWgCSvlaTPQU6SwIKuJ6eY8Rzt61gFmLoCf/bU2GGLJxNINw4MMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvMpN5rgsz3g7; Fri, 14 Feb 2025 06:39: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 51E6d8Yu097897; Fri, 14 Feb 2025 06:39:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51E6d8CM097894; Fri, 14 Feb 2025 06:39:08 GMT (envelope-from git) Date: Fri, 14 Feb 2025 06:39:08 GMT Message-Id: <202502140639.51E6d8CM097894@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: 04bf43505bae - main - cxgbe(4): Use correct priority in begin_synchronized_op. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 04bf43505bae1bb20d315a44e977d97aed3e5733 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=04bf43505bae1bb20d315a44e977d97aed3e5733 commit 04bf43505bae1bb20d315a44e977d97aed3e5733 Author: Navdeep Parhar AuthorDate: 2024-10-04 18:14:33 +0000 Commit: Navdeep Parhar CommitDate: 2025-02-14 06:15:18 +0000 cxgbe(4): Use correct priority in begin_synchronized_op. It was always set to PCATCH because the driver tested (INTR_OK) instead of (flags & INTR_OK). Fit a WITNESS_WARN in a single line while here. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/t4_main.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index 5542481e03d8..51ba6d94b5fa 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -6324,20 +6324,13 @@ int begin_synchronized_op(struct adapter *sc, struct vi_info *vi, int flags, char *wmesg) { - int rc, pri; + int rc; #ifdef WITNESS /* the caller thinks it's ok to sleep, but is it really? */ if (flags & SLEEP_OK) - WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, - "begin_synchronized_op"); + WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, __func__); #endif - - if (INTR_OK) - pri = PCATCH; - else - pri = 0; - ADAPTER_LOCK(sc); for (;;) { @@ -6356,7 +6349,8 @@ begin_synchronized_op(struct adapter *sc, struct vi_info *vi, int flags, goto done; } - if (mtx_sleep(&sc->flags, &sc->sc_lock, pri, wmesg, 0)) { + if (mtx_sleep(&sc->flags, &sc->sc_lock, + flags & INTR_OK ? PCATCH : 0, wmesg, 0)) { rc = EINTR; goto done; } From nobody Fri Feb 14 10:40: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 4YvT9Q6NLNz5p7qt; Fri, 14 Feb 2025 10:40:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvT9Q1nFsz451g; Fri, 14 Feb 2025 10:40:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9m0svpoMpevInnHJjPTOowjFplyKDtfNOgWjFNl0ZnM=; b=YdwnPJGG48p11CGaf+Ur/oHSwtHB/T9JiFQjLKO83dGqspIMuYGgvGPMM8qhAVZFz5VPTG IMptFOC4dHc2UE8TWtyRzJmS7B+SINjaVvYhYuqsiCoqCCGqfp7RPiZjtkrTKyIMhjGwXN 3Sh8CFtU5ASg9UVzoTXxf9N+byo6+cqTX548aS/SoJef3GR+tdD+nCwXGKE0L0ur/AuNQy zxrhDf79oWsm/4ZrgK/JcBBLKm+syD8Zgi7+Zf8uHF8iIyVKQ/l9scu5nUsxwH9WnrmJas mKNV6LsSgZx2CcipfA2l7uykNolFchVhSx4lew410s4bevMoWH0QGEBkxH+jwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529658; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9m0svpoMpevInnHJjPTOowjFplyKDtfNOgWjFNl0ZnM=; b=tpMmn5FCUmsAr0fM3XuZ/Qj0qrwu7PvsO8guC9nYA8n7rZ7VBxtEb3UsBwfKxS55fCv/SK AH6Lrkq+Ak8mblsV7Ss+yGpoB1+kjiKYw87/xd9K50YHOzBYNRYyuKPeyt9Q3YeLR4dcnI P6mQj23bLWnVHB7YLPVXwTQY48DjXvmdX8AeiDfQIAiYR+fQCPm87MYqU+FKWtfwTTHI0A 0jOy60ZbSKYWaSygOaq1Be/N6NdLk2gwckHNID3/5lvcc08ARVgQkUBlePVqsUjmTXrgp5 35W2XaeDfmowWQwFCMs32OnfcaaSaiegzSO8IeW23il2pESWXihfBKTolPgd8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739529658; a=rsa-sha256; cv=none; b=MuvLREBjhdBhuA+3Z2xzwz4d5qMCQCiCXWIu69F+CE6fM/b2tTMMj/7kqy6bw05SFvfN0i j00sBl2SNphJfLFHXXYRXLWNE7vJC8SolDs7ceK+4exWHOFEK+5AL+tRiM9R6oOBwjqP7L V/Ie9+cZsD2tbCnkwogFi2HnsMtTRpckyZ3lqIQVG7+v+BQlaLohkr4Qndx2Cz6KyOnyKu jvB4eSUOe/297F3V5hahcMm895BTES1UrtxBi+PRK0AHG059Bb1ZEyUKQoKArt+pnj4ula WIeXQamw7pXIJTdSLgGtvPIqWQVoL2l1y4qzj0Hq1Y1bn34OajRwqqhkj7L7QA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvT9Q1MgrzBdL; Fri, 14 Feb 2025 10:40: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 51EAewi6061100; Fri, 14 Feb 2025 10:40:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EAew8r061097; Fri, 14 Feb 2025 10:40:58 GMT (envelope-from git) Date: Fri, 14 Feb 2025 10:40:58 GMT Message-Id: <202502141040.51EAew8r061097@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 3de231b4d956 - main - bnxt_en: Retrieve maximum of 128 APP TLVs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3de231b4d956f7b9c22e31f75805030a417f7bf3 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=3de231b4d956f7b9c22e31f75805030a417f7bf3 commit 3de231b4d956f7b9c22e31f75805030a417f7bf3 Author: Zhenlei Huang AuthorDate: 2025-02-14 10:38:29 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-14 10:38:29 +0000 bnxt_en: Retrieve maximum of 128 APP TLVs It appears that the maximum number of APP TLVs supported by the hardware is 128 according to D45005. Well Daniel Porsch reported an issue PR284073 which shows that the number can exceed the limit, causing out of bound write to on-stack allocated variable app[128] and the kernel panics. Limit to 128 while retrieving APP TLVs. PR: 284073 Reviewed by: markj Tested by: Daniel Porsch Fixes: 35b53f8c989f bnxt_en: Add PFC, ETS & App TLVs protocols support MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48589 --- sys/dev/bnxt/bnxt_en/bnxt.h | 3 ++- sys/dev/bnxt/bnxt_en/bnxt_dcb.c | 17 ++++++++++------- sys/dev/bnxt/bnxt_en/bnxt_mgmt.c | 1 + sys/dev/bnxt/bnxt_en/bnxt_sysctl.c | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt.h b/sys/dev/bnxt/bnxt_en/bnxt.h index e4f866807070..b0c3a8913622 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt.h +++ b/sys/dev/bnxt/bnxt_en/bnxt.h @@ -1310,6 +1310,7 @@ int bnxt_dcb_ieee_getpfc(struct bnxt_softc *softc, struct bnxt_ieee_pfc *pfc); int bnxt_dcb_ieee_setpfc(struct bnxt_softc *softc, struct bnxt_ieee_pfc *pfc); int bnxt_dcb_ieee_setapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app); int bnxt_dcb_ieee_delapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app); -int bnxt_dcb_ieee_listapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app, int *num_inputs); +int bnxt_dcb_ieee_listapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app, + size_t nitems, int *num_inputs); #endif /* _BNXT_H */ diff --git a/sys/dev/bnxt/bnxt_en/bnxt_dcb.c b/sys/dev/bnxt/bnxt_en/bnxt_dcb.c index e1e0581d3c24..e0643f200021 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_dcb.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_dcb.c @@ -313,7 +313,8 @@ bnxt_hwrm_queue_pfc_qcfg(struct bnxt_softc *softc, struct bnxt_ieee_pfc *pfc) } static int -bnxt_hwrm_get_dcbx_app(struct bnxt_softc *softc, struct bnxt_dcb_app *app, int *num_inputs) +bnxt_hwrm_get_dcbx_app(struct bnxt_softc *softc, struct bnxt_dcb_app *app, + size_t nitems, int *num_inputs) { struct hwrm_fw_get_structured_data_input get = {0}; struct hwrm_struct_data_dcbx_app *fw_app; @@ -350,7 +351,7 @@ bnxt_hwrm_get_dcbx_app(struct bnxt_softc *softc, struct bnxt_dcb_app *app, int * } n = data->count; - for (i = 0; i < n; i++, fw_app++) { + for (i = 0; i < n && *num_inputs < nitems; i++, fw_app++) { app[*num_inputs].priority = fw_app->priority; app[*num_inputs].protocol = htobe16(fw_app->protocol_id); app[*num_inputs].selector = fw_app->protocol_selector; @@ -472,7 +473,8 @@ bnxt_hwrm_queue_dscp_qcaps(struct bnxt_softc *softc) } static int -bnxt_hwrm_queue_dscp2pri_qcfg(struct bnxt_softc *softc, struct bnxt_dcb_app *app, int *num_inputs) +bnxt_hwrm_queue_dscp2pri_qcfg(struct bnxt_softc *softc, struct bnxt_dcb_app *app, + size_t nitems, int *num_inputs) { struct hwrm_queue_dscp2pri_qcfg_input req = {0}; struct hwrm_queue_dscp2pri_qcfg_output *resp = @@ -503,7 +505,7 @@ bnxt_hwrm_queue_dscp2pri_qcfg(struct bnxt_softc *softc, struct bnxt_dcb_app *app goto end; entry_cnt = le16toh(resp->entry_cnt); - for (i = 0; i < entry_cnt; i++) { + for (i = 0; i < entry_cnt && *num_inputs < nitems; i++) { app[*num_inputs].priority = dscp2pri[i].pri; app[*num_inputs].protocol = dscp2pri[i].dscp; app[*num_inputs].selector = BNXT_IEEE_8021QAZ_APP_SEL_DSCP; @@ -774,10 +776,11 @@ bnxt_dcb_ieee_delapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app) } int -bnxt_dcb_ieee_listapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app, int *num_inputs) +bnxt_dcb_ieee_listapp(struct bnxt_softc *softc, struct bnxt_dcb_app *app, + size_t nitems, int *num_inputs) { - bnxt_hwrm_get_dcbx_app(softc, app, num_inputs); - bnxt_hwrm_queue_dscp2pri_qcfg(softc, app, num_inputs); + bnxt_hwrm_get_dcbx_app(softc, app, nitems, num_inputs); + bnxt_hwrm_queue_dscp2pri_qcfg(softc, app, nitems, num_inputs); return 0; } diff --git a/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c b/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c index 72704c3db452..bbc12b96d8c6 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_mgmt.c @@ -139,6 +139,7 @@ bnxt_mgmt_process_dcb(struct cdev *dev, u_long cmd, caddr_t data, break; case BNXT_MGMT_DCB_LIST_APP: bnxt_dcb_ieee_listapp(softc, &mgmt_dcb.req.app_tlv.app[0], + nitems(mgmt_dcb.req.app_tlv.app), &mgmt_dcb.req.app_tlv.num_app); break; default: diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c index 012903ce21b3..45524aa1d076 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c @@ -1952,7 +1952,7 @@ bnxt_dcb_list_app(SYSCTL_HANDLER_ARGS) if (!buf) return ENOMEM; - bnxt_dcb_ieee_listapp(softc, app, &num_inputs); + bnxt_dcb_ieee_listapp(softc, app, nitems(app), &num_inputs); bnxt_app_tlv_get_string(softc, buf, app, num_inputs); rc = sysctl_handle_string(oidp, buf, BNXT_APP_TLV_STR_LEN, req); From nobody Fri Feb 14 10:41: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 4YvT9S5jNtz5p7nS; Fri, 14 Feb 2025 10:41:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvT9S3F7Yz455x; Fri, 14 Feb 2025 10:41:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pNjUOAF+gawMlPV/zAzwD21p/AHhDNLCnY9ecyQAmko=; b=Okrmi6NNFLTII34NqSkqfksZPQzYOojbxsPtQ3mK+FWn8J3oLi+KzQNYOQ9LANFX7S3RNp xoCidENv1uQn6ByvLA2+UiGoFlpXRDGSu6GKpl0D16ImyXKUMGuhNGFmGaZM4OWzVGLf7l BxlynMcx0ElaSkkfSAoMasVkBRU6koHtUTMHfQPIOFOhB3xaHF48OCFyh8F9SPpdLLRfCw a9+nFqvVlniu6fqdpfiw9i/jYPeQX5jMUoVjbobo0zM1b8Q3FsJchFOIN5t/rDD4vHu3qb yJrlVqwoV6TSlA13rpSvqbN/20HDLFVwbtDjydn5KC+DjtqDBKIZO6WvEnmygA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pNjUOAF+gawMlPV/zAzwD21p/AHhDNLCnY9ecyQAmko=; b=pFsqQRKbx9syyjIqw9q9Uq0TXa/L6uTh5us0U95W/OY5UaOv0V/M7uGidAK4foO9eDJ0Dg 9hXyv60EjVs+3FkBb11BrcWurrNx1uPa3VQ1J5sdSmjO55foBst+XFG/8VkipxSSRvIJJ4 BzyUuFHJljfzI2yFiHgvVtxG/X9HP/Di/bw88SGG25GzQybxZwtKqITWeNflqk207tltHc 4SFibLGWrUA9IG2DUgHiiCO8O9W5Yp3NTBNE97v1BZ/5FzzfQDB5VYcYz+xVxfoP73ov72 x9BN2bUoRTxK/ehs1l54SpLePUyFdictgPxKjqpRBl+revVUgJgG7ieff6HHcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739529660; a=rsa-sha256; cv=none; b=BsxQcX1TIyzwYXCoVEtekcoEi59aJfvh7Q/2Dc3ORuPhrXaZLJoCU6gdHt5jNb0hHpUGB4 eQRUuUBrJ6xJfdwqFuyqij3Mjc46QJuGJnyCAYCydBjMdUlO3GE230HqfLRQw39Ec6C44e bI33zS3nDlcZ1XnIZXCm4dVAg+LZylRythSsMudMCQdM2WQ580S6aoVowSOFCiI6MdyFEO OA45p6JHinEfCw8KT3EhG7pTMk6YgEXX5rkJJwLMn7+t/xI4Q++sXMrkWDyysmED5GzNW1 vmP3q7dAgivt+l8MH1NjzDHOABO8asKo+Sdxla47MoQItL51arEEqYCrOQ7ALg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvT9S2VmXzBJk; Fri, 14 Feb 2025 10:41: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 51EAf0Oq061177; Fri, 14 Feb 2025 10:41:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EAf0uf061174; Fri, 14 Feb 2025 10:41:00 GMT (envelope-from git) Date: Fri, 14 Feb 2025 10:41:00 GMT Message-Id: <202502141041.51EAf0uf061174@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 747fd2db538a - main - bnxt_en: Remove pointless NULL check for sysctl arg1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 747fd2db538a85df84ae6ac1e58494295b4a65ee Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=747fd2db538a85df84ae6ac1e58494295b4a65ee commit 747fd2db538a85df84ae6ac1e58494295b4a65ee Author: Zhenlei Huang AuthorDate: 2025-02-14 10:38:30 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-14 10:38:30 +0000 bnxt_en: Remove pointless NULL check for sysctl arg1 Those sysctl handlers have been guaranteed to have non-null softc. No need for NULL check within sysctl handlers. No functional change intended. Reviewed by: markj Tested by: Daniel Porsch MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48495 --- sys/dev/bnxt/bnxt_en/bnxt_sysctl.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c index a8ae1d41d501..9c2d5bebbce7 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c @@ -1792,9 +1792,6 @@ bnxt_dcb_dcbx_cap(SYSCTL_HANDLER_ARGS) int val; int rc; - if (softc == NULL) - return EBUSY; - val = bnxt_dcb_getdcbx(softc); rc = sysctl_handle_int(oidp, &val, 0, req); if (rc || !req->newptr) @@ -1944,9 +1941,6 @@ bnxt_dcb_list_app(SYSCTL_HANDLER_ARGS) int rc, num_inputs = 0; char *buf; - if (softc == NULL) - return EBUSY; - #define BNXT_APP_TLV_STR_LEN 4096 buf = malloc(BNXT_APP_TLV_STR_LEN, M_DEVBUF, M_NOWAIT | M_ZERO); if (!buf) @@ -1972,9 +1966,6 @@ bnxt_dcb_del_app(SYSCTL_HANDLER_ARGS) char buf[256] = {0}; int rc, num_inputs; - if (softc == NULL) - return EBUSY; - rc = sysctl_handle_string(oidp, buf, sizeof(buf), req); if (rc || req->newptr == NULL) return rc; @@ -1999,9 +1990,6 @@ bnxt_dcb_set_app(SYSCTL_HANDLER_ARGS) char buf[256] = {0}; int rc, num_inputs; - if (softc == NULL) - return EBUSY; - rc = sysctl_handle_string(oidp, buf, sizeof(buf), req); if (rc || req->newptr == NULL) return rc; @@ -2029,9 +2017,6 @@ bnxt_dcb_pfc(SYSCTL_HANDLER_ARGS) int pri_mask = 0; char pri[8]; - if (softc == NULL) - return EBUSY; - rc = bnxt_dcb_ieee_getpfc(softc, &pfc); if (!rc) bnxt_pfc_get_string(softc, buf, &pfc); @@ -2087,9 +2072,6 @@ bnxt_dcb_ets(SYSCTL_HANDLER_ARGS) char buf[256] = {0}; char tsa[8]; - if (softc == NULL) - return EBUSY; - rc = bnxt_dcb_ieee_getets(softc, &ets); if (!rc) bnxt_ets_get_string(softc, buf); From nobody Fri Feb 14 10:40: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 4YvT9S3Fkmz5p7Sr; Fri, 14 Feb 2025 10:41:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvT9R2GrHz453s; Fri, 14 Feb 2025 10:40:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aw8eyCyswHSEEh7oQaKVjAbFqw8WfESrumDJoLPJnm8=; b=i5UNQkKI/Scx6H6TvU9luCMr2ZiqQ1QAJOXzxInERCVV4NwF9p9VyFDAZjqryyYO4qm4nD mOj7+0YBNp7qRCWeHiWG3qPAgnLuaLxh+CfU7BCaYxhfIisT8oVMoy2BT3xY1cj3owCvFV 3hLkqs2xQy4t903YZcCEXukDQS1/fwM30GCa/nSFnUVkzGXYxDH2tTrOfbFvLcY2AcXpyH e4ylWgG6GofKdJ+Z9ozDv3HjYHvzXKDqNOTGtvifQZajP00unFf4SKehrE9/FQMrnsnkyG FDIRRJmEz5jEHXnK2wJw5SbV0ZjOWymIYmLNlve0akjpW92oBs2DNyptZ78qSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529659; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aw8eyCyswHSEEh7oQaKVjAbFqw8WfESrumDJoLPJnm8=; b=cCgorwLIGSEgmvg64ejSmTKz76pxtY5s44RQCGmyLlTwr36K3TyL58511JRy+2yWq2cjyO cem1IGpIAw43uAuWCOF/vOSCEEtJt8dFi7hv8AIXwhGutyE6HC96KHfnzA05dg6Xo3NYwI 3XSX0y3onhZc78yIQ0mIIyXi1EE4wDzd8kMRsa49gR1brQpqQdKxB1IzSa5RDCjQREWS2B rWOnSveA8kspRfJbmIrUOSSKehUF/ttMC2qZwVzLCXXWIi5CnisWiyNluNzn/6x9hAJFpx Lv0rbYGMTZLs0Zln3beT++2HTXv4nVkiGeMZZCTV4HzPCMrzrBuH/f/PxiB2UA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739529659; a=rsa-sha256; cv=none; b=f3Cp7EFK9OWlWDGhf4VoVisHm7uC63QyV1C/St7sotygo1Nh1PcU+KIJ/OEllBUE9zv6D5 6JaJ/elK9X7oLC+sUNg0jn8pKejvBVVkNaz9Z7e7bnhW00ukFlafw122zHCa1ThUhWSIer k+LLHoZLffLGXrwHmbq7xFj5EwXAajVYyCtibcdLbd0uW8ztOP57AlMcf52H20JBAuwG6q 4GBe07LcJw+qdPySzP354ktL2APhk/XunVUAH0c7hyYaBfnArz/2/t0OadUtqujaJu57rY fvMS+xGqCTKLkQM/7U4K58Bdw9hKD0Gl5zuzyQD1Vlm7Ow6aSZ10htWewV07/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvT9R1qndzB70; Fri, 14 Feb 2025 10:40: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 51EAexYn061134; Fri, 14 Feb 2025 10:40:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EAex5h061131; Fri, 14 Feb 2025 10:40:59 GMT (envelope-from git) Date: Fri, 14 Feb 2025 10:40:59 GMT Message-Id: <202502141040.51EAex5h061131@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 0bc672b38f1b - main - bnxt_en: Fix the description of sysctl knob dev.bnxt.X.dcb.dcbx_cap List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0bc672b38f1b224d5eaed35533cb6f6bfb3a5fa3 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=0bc672b38f1b224d5eaed35533cb6f6bfb3a5fa3 commit 0bc672b38f1b224d5eaed35533cb6f6bfb3a5fa3 Author: Zhenlei Huang AuthorDate: 2025-02-14 10:38:30 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-14 10:38:30 +0000 bnxt_en: Fix the description of sysctl knob dev.bnxt.X.dcb.dcbx_cap While here, update the description of dev.bnxt.X.dcb to more informative words "Data Center Bridging". Reviewed by: markj Fixes: 35b53f8c989f bnxt_en: Add PFC, ETS & App TLVs protocols support MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48993 --- sys/dev/bnxt/bnxt_en/bnxt_sysctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c index 45524aa1d076..a8ae1d41d501 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c @@ -115,7 +115,7 @@ bnxt_init_sysctl_ctx(struct bnxt_softc *softc) ctx = device_get_sysctl_ctx(softc->dev); softc->dcb_oid = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(device_get_sysctl_tree(softc->dev)), OID_AUTO, - "dcb", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "dcb"); + "dcb", CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "Data Center Bridging"); if (!softc->dcb_oid) { sysctl_ctx_free(&softc->dcb_ctx); return ENOMEM; @@ -2131,7 +2131,7 @@ bnxt_create_dcb_sysctls(struct bnxt_softc *softc) SYSCTL_ADD_PROC(&softc->dcb_ctx, SYSCTL_CHILDREN(oid), OID_AUTO, "dcbx_cap", CTLTYPE_INT | CTLFLAG_RWTUN, softc, 0, bnxt_dcb_dcbx_cap, "A", - "Enable or Disable LRO: 0 / 1"); + "Enable DCB Capability Exchange Protocol (DCBX) capabilities"); SYSCTL_ADD_PROC(&softc->dcb_ctx, SYSCTL_CHILDREN(oid), OID_AUTO, "ets", CTLTYPE_STRING | CTLFLAG_RWTUN, softc, 0, From nobody Fri Feb 14 10:41:01 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvT9T5gR5z5p7w6; Fri, 14 Feb 2025 10:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvT9T3s9bz453v; Fri, 14 Feb 2025 10:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TeYT9k3IO87DMmb5XkOWLzOKYw4jD8dOYHv+Xbxy88E=; b=GlA4rwOskdALpJt8LhTogTA0VS8CHl1wi8NqOBMO48InZMXScsdYAXEMpE+2YdsvCqFesT LqSud/mUOC3qH4YpkHF2PbxDNnWQWv4VE1wnaNgjXZdrce7iDQem6xvkI3baw//3hdLH1H JPXjP0D1QahpCK6AVSpM90ddJKPHgVe/1GAhouEFGFwHJ0/PloIN+kcrW5g0oGu6a2ZbNi bsBW7X1lc9p11YINA/aFF0OgSbmYB4lNnpIYv3OMiAoNKsXNdCa18Bnlgoe18ZKA2co3ca flzacnxJTmFRdHqERf01JM08QIu8qmir2ni70F6KFKSnAkDDBPybZ32vI4+7rw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739529661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TeYT9k3IO87DMmb5XkOWLzOKYw4jD8dOYHv+Xbxy88E=; b=W7MMYcTb6lWpJoChUgLLzLq8cLyMovsSVpCnM6pB0Mi92eAkxadG/Shrl5C+5wtGNW9juk R17q5peapUS7G3loOLie9zb7ENlr6DZF/uf8BT3Tx4Gh41WLg9y/ufNHyO1f3JTMQaMMI3 FtM+5b6z3encsfbm2GVVTkUwVIhqEH2/G6FcyT4J0C3qMIaEHj6h5HS4nPiy77ktui+RP8 wkwojWhl8Q0hAVuxhr3iyqhIBECyve5TYyI6yJboknnJc6a9WpJQWc//s1IB4OPOeV5/Cm pgoBlM2huDTPcIOXN3Sq+DxKBuW4rLiBieyScDahO8lLM5/gr2K5ttq0H2OOrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739529661; a=rsa-sha256; cv=none; b=qrdF27QeJ/+bQCY7r98YiI6wk7JdkM9ydD6braYIgjqYhNdwKZUopWAPKIPlI8LLfreaZ6 z3Wa88oiSeWmW2OkI+t0quqxcOgydxHRqONStEF0tOB8JZzmZwpmSGDaShvzERzQ5maKSl K1Oj5qhigPIOIJKyHh/TbcKHqOvDradqFxskhyEnXKPkTdlxlkSKqqbwTqqV0V5/NLs2LQ aor8iIXEBLJ+CDnbxqaiWXLQfltAAkMs8rwRcxhkGVOFpxI7c2R3YJUiF90xIbJQmHTtYJ v5JPalY46nWHzOuusvKvgFgnqWCIwSNUmWgAlbDRvfRrGbVet3iEjJQERcj5Dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvT9T35gTzBJl; Fri, 14 Feb 2025 10:41:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51EAf1gO061215; Fri, 14 Feb 2025 10:41:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EAf1vr061212; Fri, 14 Feb 2025 10:41:01 GMT (envelope-from git) Date: Fri, 14 Feb 2025 10:41:01 GMT Message-Id: <202502141041.51EAf1vr061212@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 91bae242bc54 - main - bnxt_en: Improve sysctl handler bnxt_dcb_list_app() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 91bae242bc54856c560557b5ba245df94d570e95 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=91bae242bc54856c560557b5ba245df94d570e95 commit 91bae242bc54856c560557b5ba245df94d570e95 Author: Zhenlei Huang AuthorDate: 2025-02-14 10:38:30 +0000 Commit: Zhenlei Huang CommitDate: 2025-02-14 10:38:30 +0000 bnxt_en: Improve sysctl handler bnxt_dcb_list_app() Prefer sbuf_new_for_sysctl() over error-prone manually managed buffer. No functional change intended. Reviewed by: markj Tested by: Daniel Porsch MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D48496 --- sys/dev/bnxt/bnxt_en/bnxt_sysctl.c | 44 +++++++++++++++----------------------- 1 file changed, 17 insertions(+), 27 deletions(-) diff --git a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c index 9c2d5bebbce7..6ed7c5e8f42f 100644 --- a/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c +++ b/sys/dev/bnxt/bnxt_en/bnxt_sysctl.c @@ -1871,7 +1871,7 @@ bnxt_pfc_get_string(struct bnxt_softc *softc, char *buf, struct bnxt_ieee_pfc *p buf += sprintf(buf, "none"); } -static char *bnxt_get_tlv_selector_str(uint8_t selector) +static const char *bnxt_get_tlv_selector_str(uint8_t selector) { switch (selector) { case BNXT_IEEE_8021QAZ_APP_SEL_ETHERTYPE: @@ -1886,24 +1886,23 @@ static char *bnxt_get_tlv_selector_str(uint8_t selector) } static void -bnxt_app_tlv_get_string(struct bnxt_softc *softc, char *buf, - struct bnxt_dcb_app *app, int num) +bnxt_app_tlv_get_string(struct sbuf *sb, struct bnxt_dcb_app *app, int num) { - uint32_t i; + int i; - if (!num) { - buf += sprintf(buf, " None"); + if (num == 0) { + sbuf_printf(sb, " None"); return; } - buf += sprintf(buf, "\n"); + sbuf_putc(sb, '\n'); for (i = 0; i < num; i++) { - buf += sprintf(buf, "\tAPP#%0d:\tpri: %d,\tSel: %d,\t%s: %d\n", - i, - app[i].priority, - app[i].selector, - bnxt_get_tlv_selector_str(app[i].selector), - app[i].protocol); + sbuf_printf(sb, "\tAPP#%0d:\tpri: %d,\tSel: %d,\t%s: %d\n", + i, + app[i].priority, + app[i].selector, + bnxt_get_tlv_selector_str(app[i].selector), + app[i].protocol); } } @@ -1936,25 +1935,16 @@ bnxt_ets_get_string(struct bnxt_softc *softc, char *buf) static int bnxt_dcb_list_app(SYSCTL_HANDLER_ARGS) { + struct sbuf sb; struct bnxt_dcb_app app[128] = {0}; struct bnxt_softc *softc = arg1; int rc, num_inputs = 0; - char *buf; - -#define BNXT_APP_TLV_STR_LEN 4096 - buf = malloc(BNXT_APP_TLV_STR_LEN, M_DEVBUF, M_NOWAIT | M_ZERO); - if (!buf) - return ENOMEM; + sbuf_new_for_sysctl(&sb, NULL, 128, req); bnxt_dcb_ieee_listapp(softc, app, nitems(app), &num_inputs); - bnxt_app_tlv_get_string(softc, buf, app, num_inputs); - - rc = sysctl_handle_string(oidp, buf, BNXT_APP_TLV_STR_LEN, req); - if (rc || req->newptr == NULL) - goto end; - -end: - free(buf, M_DEVBUF); + bnxt_app_tlv_get_string(&sb, app, num_inputs); + rc = sbuf_finish(&sb); + sbuf_delete(&sb); return rc; } From nobody Fri Feb 14 15:10: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 4Yvb8x2mr9z5nDwR; Fri, 14 Feb 2025 15:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvb8x1Bb0z4K5W; Fri, 14 Feb 2025 15:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9DRlNbOjKWql2TTaM06po1PHyImIysqCujJrgUQjfo=; b=tZPixJBb20DPrVBc4gbLtvzcM1q/qQcxiqXZp49tjLeVEFXqxV/TDWkxV6fIYqzfLPws6c KNoSf9ZSbnJSxDX+VVFI/lI4hjQqZQLFkghN0u9MJk9J6ZzrPog9b7QUJB8FSkGZcQ20xh nKvhkk3b5WUSIas2l0VWA6ahuLrfQUK2U6v8Ea7MV3UALUCx/Etu/4sSHQUavVffDr4HJ2 knk9h0pzry/1z9OQwsV2JOLjLfvD6C9+EqjzyckaHlUlxpVLXnWNeew5ve42x22Jr4ajoK vQdLng4w8zfzZUJDB2a6XDj+7yvDOWsU1A56RcLyIcxQPr0sIO043bfEou7lug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545857; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Z9DRlNbOjKWql2TTaM06po1PHyImIysqCujJrgUQjfo=; b=yTH+I9zhVaydFGnsQOcp/oHJfJo9MVjWe/SfA9jKNk7RjlgH9Z71IyoTEAoLgwuc4+SQ83 PDPU68Dfd0WVYaxPaL6s0YmlFYw7MTWVtGV48G+e81hFmbbhLlAH5BRMkUrObZjOLfMOSg MGFZh0IY6sP9h6KIzf25nNrY5vSMkKcHZLv2Z30ujS6SYm3/6Bg4DWYQ5lVlZfbIvzHFP+ 1KoBjxow+pIX9qvxlbKsU/iRRlbla9iZDbYXrvwJg9XLUIrFsdtMbfxSnIOuuCZuJBlcWU AqspERw9VtE0j/XE2ZiV4bL/ZUTPVetAXqQWiMj4Fv/qNeIiDZjm7vvk1nEBxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739545857; a=rsa-sha256; cv=none; b=l0av8I9iCtZD8pO6DNIDTOgsYK+LbA4Fg2qhujZsvjUH2T0ciA/DY3arruCTJMX4aULt4X 65W1g+lbESXYXeBGcfd8wKkm7BrvLTkB3aFjEXIIx1X0III01P/2uqQnFC7kO2EzmoTcwN 1HYQdNPJtOzKLBcOJQbopNcdRktVdsVne6T0zeEptwA2XgIzmckRdk9OmnTb2o6F2CQ+gh SgDVKrE/OV4Mglvs2dJpHW0RNLtRRADsyilLdqT619Uu9i59WNgHRLQM8QDitc56JtiUn4 tVILT1Nra1sPyBalKaBZJZWzYskUhRWtbcb3dsfulRKroPpPOPg5Yg8n/sL6Og== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvb8x0VNlzcYV; Fri, 14 Feb 2025 15:10: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 51EFAud0063291; Fri, 14 Feb 2025 15:10:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFAua5063288; Fri, 14 Feb 2025 15:10:56 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:10:56 GMT Message-Id: <202502141510.51EFAua5063288@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: 909e2d7b691f - main - gve: Disallow MTUs within a problematic range List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 909e2d7b691f7418a78b1289a51d3b6c46860a9b Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=909e2d7b691f7418a78b1289a51d3b6c46860a9b commit 909e2d7b691f7418a78b1289a51d3b6c46860a9b Author: Jasper Tran O'Leary AuthorDate: 2025-02-14 14:57:06 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 14:57:06 +0000 gve: Disallow MTUs within a problematic range If hardware LRO is enabled with GVE, then setting the driver's MTU to a range of values around 8000 will cause dropped packets and drastically degraded performance. While this issue is being investigated, we need to prohibit the driver's MTU being set to a value within this range. Signed-off-by: Jasper Tran O'Leary Reviewed by: delphij, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D48971 --- sys/dev/gve/gve_main.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c index 0e40656ca928..c726177c199c 100644 --- a/sys/dev/gve/gve_main.c +++ b/sys/dev/gve/gve_main.c @@ -196,6 +196,8 @@ static int gve_set_mtu(if_t ifp, uint32_t new_mtu) { struct gve_priv *priv = if_getsoftc(ifp); + const uint32_t max_problem_range = 8227; + const uint32_t min_problem_range = 7822; int err; if ((new_mtu > priv->max_mtu) || (new_mtu < ETHERMIN)) { @@ -204,6 +206,19 @@ gve_set_mtu(if_t ifp, uint32_t new_mtu) return (EINVAL); } + /* + * When hardware LRO is enabled in DQ mode, MTUs within the range + * [7822, 8227] trigger hardware issues which cause a drastic drop + * in throughput. + */ + if (!gve_is_gqi(priv) && !gve_disable_hw_lro && + new_mtu >= min_problem_range && new_mtu <= max_problem_range) { + device_printf(priv->dev, + "Cannot set to MTU to %d within the range [%d, %d] while hardware LRO is enabled\n", + new_mtu, min_problem_range, max_problem_range); + return (EINVAL); + } + err = gve_adminq_set_mtu(priv, new_mtu); if (err == 0) { if (bootverbose) From nobody Fri Feb 14 15:10: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 4Yvb8y3L9jz5nDRh; Fri, 14 Feb 2025 15:10:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvb8y1Ytgz4KHP; Fri, 14 Feb 2025 15:10:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s82OCEcgyT9gVRqkMGXyeXklHRR/K16260r7nNSaHzg=; b=FvHUAG0PiRr0KyGcUMmTFIambVP0PF1NQCxfVxW1rbmdNOyUqDuCryCubHmSdOtgSW1dOC jf53HqrZimXfXx0V/RrmnkcwQUmmsIh7MEp5h7aRNSYw+eXwM0orOHWIyOx69FNIqzkakH fhZAFjT+e702+NxbGYKkwT1TZZ3LyVJWdjWA254gxQnihDfC0zjJcAR3LQ1hzyCEfi9bB0 mDdw0oBRBSx4FCgUVZQrPRvy6BrTC+hgeMeiTxmGmtdSbDuw15oiCJD0LshgLIAygO/nfY DHwGQneTdBWMh2FrXDmLClPHY1UJ3b/90FWAj2wsbmiIkgWNMQ+fyd4rj+rGUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545858; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=s82OCEcgyT9gVRqkMGXyeXklHRR/K16260r7nNSaHzg=; b=Hrhs3D21x0NNZacx4kHE4J3PXdrL9hZXKzcwERJUl/64Ihg1AsVfJNfc0XmH66yxDVR5AE RHUqzgUuYCIZdEzklGJywOssyFj4PuiVxthCroO0KeDqb4Vil0S4F3SL3etS1yAGOUOkxp z2V0fRjvCVLMYTI9b4yqzLILWWI5s9Jloi2g/xCFXIijO6KsrPwzJZU6X+hJWNqwqYYPjW EBVkx/IhPJhhcCvUn3sFcESh0yvLWsPfkmxorTFhi4Uq9OFsurlYpKmhaWNZC1vRD+AAZf vaA5MRcvH2SdYJe9pSJ1peKUm/hCoAixgp3kb0Tvcx5LTyvEkTuv3GpDziLp6A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739545858; a=rsa-sha256; cv=none; b=ZaUbiRpeN1I80FluoFvkfj408QywS4a70O1CRmBOo9R+WM6dtMQSdbeubAeSZzLkAOSe+K uE/XdBoNY2Z3++seop3iXshzxwBZfw6JM2qXAM+BXO0bSnyrn7xY3ZwgK57q8+m7kE2YZd o1m8jSN+fJrj6h2uUYA7eGCTH2cU6HXIV62s0cZlTN0irS7owtIGkEJGX/v2qevEDh7H4J JCp0F2JL94Grl/H3ninycPJbqRSdt/ZXYZGSvq9JYUrlrHmsqvtE9LZTF/RGM/DTZh4Agv psF5DMyQfzeWnHj7O+lMPXltXoR/Vl1yRI66pDkmJsIZHt++UBr2z6UYaMwNAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvb8y18CdzcKn; Fri, 14 Feb 2025 15:10: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 51EFAwJh063325; Fri, 14 Feb 2025 15:10:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFAwUO063322; Fri, 14 Feb 2025 15:10:58 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:10:58 GMT Message-Id: <202502141510.51EFAwUO063322@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: 62b2d0c3f4ad - main - gve: Fix memory leak during reset List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 62b2d0c3f4add3bb87081a96412056e17eed31ea Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=62b2d0c3f4add3bb87081a96412056e17eed31ea commit 62b2d0c3f4add3bb87081a96412056e17eed31ea Author: Jasper Tran O'Leary AuthorDate: 2025-02-14 15:02:41 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:08:18 +0000 gve: Fix memory leak during reset Before this change, during reset we were allocating new memory for priv->ptype_lut_dqo, irq_db_array and the counter_array over the old memory. This change ensures we do not allocate new memory during reset and avoid memory leaks. Signed-off-by: Vee Agarwal Signed-off-by: Jasper Tran O'Leary Reviewed by: delphij, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D48970 --- sys/dev/gve/gve_main.c | 49 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c index c726177c199c..aa0866c5984b 100644 --- a/sys/dev/gve/gve_main.c +++ b/sys/dev/gve/gve_main.c @@ -517,7 +517,7 @@ abort: } static void -gve_deconfigure_resources(struct gve_priv *priv) +gve_deconfigure_and_free_device_resources(struct gve_priv *priv) { int err; @@ -543,7 +543,7 @@ gve_deconfigure_resources(struct gve_priv *priv) } static int -gve_configure_resources(struct gve_priv *priv) +gve_alloc_and_configure_device_resources(struct gve_priv *priv) { int err; @@ -584,7 +584,7 @@ gve_configure_resources(struct gve_priv *priv) return (0); abort: - gve_deconfigure_resources(priv); + gve_deconfigure_and_free_device_resources(priv); return (err); } @@ -649,7 +649,7 @@ static void gve_destroy(struct gve_priv *priv) { gve_down(priv); - gve_deconfigure_resources(priv); + gve_deconfigure_and_free_device_resources(priv); gve_release_adminq(priv); } @@ -662,9 +662,21 @@ gve_restore(struct gve_priv *priv) if (err != 0) goto abort; - err = gve_configure_resources(priv); - if (err != 0) + err = gve_adminq_configure_device_resources(priv); + if (err != 0) { + device_printf(priv->dev, "Failed to configure device resources: err=%d\n", + err); + err = (ENXIO); goto abort; + } + if (!gve_is_gqi(priv)) { + err = gve_adminq_get_ptype_map_dqo(priv, priv->ptype_lut_dqo); + if (err != 0) { + device_printf(priv->dev, "Failed to configure ptype lut: err=%d\n", + err); + goto abort; + } + } err = gve_up(priv); if (err != 0) @@ -677,6 +689,25 @@ abort: return; } +static void +gve_clear_device_resources(struct gve_priv *priv) +{ + int i; + + for (i = 0; i < priv->num_event_counters; i++) + priv->counters[i] = 0; + bus_dmamap_sync(priv->counter_array_mem.tag, priv->counter_array_mem.map, + BUS_DMASYNC_PREWRITE); + + for (i = 0; i < priv->num_queues; i++) + priv->irq_db_indices[i] = (struct gve_irq_db){}; + bus_dmamap_sync(priv->irqs_db_mem.tag, priv->irqs_db_mem.map, + BUS_DMASYNC_PREWRITE); + + if (priv->ptype_lut_dqo) + *priv->ptype_lut_dqo = (struct gve_ptype_lut){0}; +} + static void gve_handle_reset(struct gve_priv *priv) { @@ -708,6 +739,8 @@ gve_handle_reset(struct gve_priv *priv) gve_clear_state_flag(priv, GVE_STATE_FLAG_TX_RINGS_OK); gve_down(priv); + gve_clear_device_resources(priv); + gve_restore(priv); GVE_IFACE_LOCK_UNLOCK(priv->gve_iface_lock); @@ -835,7 +868,7 @@ gve_attach(device_t dev) if (err != 0) goto abort; - err = gve_configure_resources(priv); + err = gve_alloc_and_configure_device_resources(priv); if (err != 0) goto abort; @@ -864,7 +897,7 @@ gve_attach(device_t dev) abort: gve_free_rings(priv); - gve_deconfigure_resources(priv); + gve_deconfigure_and_free_device_resources(priv); gve_release_adminq(priv); gve_free_sys_res_mem(priv); GVE_IFACE_LOCK_DESTROY(priv->gve_iface_lock); From nobody Fri Feb 14 15:10: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 4Yvb8z5MXSz5nDy1; Fri, 14 Feb 2025 15:10:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvb8z3L12z4KLv; Fri, 14 Feb 2025 15:10:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uG8NEUfPNmeilGoigJq6PgQ0QtBgxH+eETsdW7qEzGw=; b=XAn/al3NWqgry5bY3t90OyPmEqbXhPcA+93NVllL6aqOJp8wQEuyjrDzr5gNLqn3F0Ft/9 iEOLwQceD+FvxM54YEd3leQ1ELYWeY82TKdQlF8ZELZTjdWTxgrFDukVl76TqnVs3cVR/B xo5awjEh1WceUPLQ2B/37VgqnPnnCyVO4fjmc11UcQI1eLedRzlp9gs4ael8HLnpqyHQ7U r0b5vIiTrOia1Q78p3vQgB9N5AedPyKbkld1uqBGnnBsKhgsen9FRXlFsIdCeWwlSDo08Y 4M+x1KgOZpBZAgYiVkeFSWWNjlg8gWhrqjAPYSCnJ9+PG9Pw1YdJD6nFFLVnPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uG8NEUfPNmeilGoigJq6PgQ0QtBgxH+eETsdW7qEzGw=; b=aOnfAJeV+QxqrNYRiB6JkVLhGCVk/TZ3Q6HSCdDR5XPpTktfObuu9v7f230hxHQW2GlPV9 A1idE1h4SU/mLciFnD4h+NWdooyC6vi52J2BEcbBx+RuJTpjdiUtr8cSUvIGuxI7vfu0qw NhGqLsPvrLw1sm4HbJsSBUHMr2FeQuVkh/Kxzzlkq26l/mMc3ey9IAqxucOAkZsMA44+RX jYlgd8reNE/ipaL63nvOf+/SHUe4mLCegv4Iqe/XC9wnuST8GdqkfCmBSaw2262ydvjmLh AycjWqln0QIGA0Hf5E+mbPJdNOwYtlEvBEbJ+raTEc1aKO3P5+/Q/ihZ44H7+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739545859; a=rsa-sha256; cv=none; b=jJUu9+Y/AdPNvg4NgeDTueuPVp6B2Zv3B4f3OB2aQyM4c6OWPi/LgDicT5RDK3VQ3fNyYw rjvWtidC0cAwcAiU8rcQU4PPRmKeANzGaE6oveIrk1WKApA0qyuJ9+1/1INJ5NB3jL/obN MEtjfZczWWm3wN2EHlwcGfyW40myOYIr54hEH9xJ0ofSM0ryDiQIkUhZW5WfwJPT1xLSFq XpG+DwrZAFDCSM64v4FQeok7cRxM2ZCnKFyD9jz4eVhOjBUrvfQKbwCfV7tBGhmrLRMB0m GvThrW/bv4kVUSuqr3Lml+NA3OV3oH/0coIiS48uNQPwyorf+kcxGe4OmhZ8Hw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvb8z2gYPzcYW; Fri, 14 Feb 2025 15:10: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 51EFAxZB063359; Fri, 14 Feb 2025 15:10:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFAxE0063356; Fri, 14 Feb 2025 15:10:59 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:10:59 GMT Message-Id: <202502141510.51EFAxE0063356@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: 031800c78682 - main - gve: Do minor cleanup and bump version List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 031800c786823a9ad4c4d2f79f217d42dad3f5d1 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=031800c786823a9ad4c4d2f79f217d42dad3f5d1 commit 031800c786823a9ad4c4d2f79f217d42dad3f5d1 Author: Jasper Tran O'Leary AuthorDate: 2025-02-14 15:04:16 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:08:23 +0000 gve: Do minor cleanup and bump version This commit fixes several minor issues: - Removes an unnecessary function pointer parameter on gve_start_tx_ring - Adds a presubmit check against style(9) - Replaces mb() and rmb() macros with native atomic_thread_fence_seq_cst() and atomic_thread_fence_acq() respectively - Fixes various typos throughout - Increments the version number to 1.3.2 Co-authored-by: Vee Agarwal Signed-off-by: Vee Agarwal Signed-off-by: Jasper Tran O'Leary Reviewed by: delphij, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D48969 --- sys/dev/gve/gve.h | 6 +++--- sys/dev/gve/gve_desc.h | 4 ++-- sys/dev/gve/gve_main.c | 6 +++--- sys/dev/gve/gve_rx.c | 2 +- sys/dev/gve/gve_rx_dqo.c | 2 +- sys/dev/gve/gve_sysctl.c | 4 ++-- sys/dev/gve/gve_tx.c | 16 +++++++--------- sys/dev/gve/gve_tx_dqo.c | 2 +- 8 files changed, 20 insertions(+), 22 deletions(-) diff --git a/sys/dev/gve/gve.h b/sys/dev/gve/gve.h index 92ab6838d5bb..39965c8669cf 100644 --- a/sys/dev/gve/gve.h +++ b/sys/dev/gve/gve.h @@ -303,7 +303,7 @@ struct gve_rx_ring { SLIST_HEAD(, gve_rx_buf_dqo) free_bufs; /* - * Only used in QPL mode. Pages refered to by if_input-ed mbufs + * Only used in QPL mode. Pages referred to by if_input-ed mbufs * stay parked here till their wire count comes back to 1. * Pages are moved here after there aren't any pending completions. */ @@ -450,7 +450,7 @@ struct gve_tx_ring { /* * The completion taskqueue moves pending-packet objects to this * list after freeing the mbuf. The "_prd" denotes that this is - * a producer list. The trasnmit taskqueue steals this list once + * a producer list. The transmit taskqueue steals this list once * its consumer list, with the "_csm" suffix, is depleted. */ int32_t free_pending_pkts_prd; @@ -458,7 +458,7 @@ struct gve_tx_ring { /* * The completion taskqueue moves the QPL pages corresponding to a * completed packet into this list. It is only used in QPL mode. - * The "_prd" denotes that this is a producer list. The trasnmit + * The "_prd" denotes that this is a producer list. The transmit * taskqueue steals this list once its consumer list, with the "_csm" * suffix, is depleted. * diff --git a/sys/dev/gve/gve_desc.h b/sys/dev/gve/gve_desc.h index 5f09cc8b77b8..48c4ac27596b 100644 --- a/sys/dev/gve/gve_desc.h +++ b/sys/dev/gve/gve_desc.h @@ -130,10 +130,10 @@ union gve_rx_data_slot { __be64 addr; }; -/* GVE Recive Packet Descriptor Seq No */ +/* GVE Receive Packet Descriptor Seq No */ #define GVE_SEQNO(x) (be16toh(x) & 0x7) -/* GVE Recive Packet Descriptor Flags */ +/* GVE Receive Packet Descriptor Flags */ #define GVE_RXFLG(x) htobe16(1 << (3 + (x))) #define GVE_RXF_FRAG GVE_RXFLG(3) /* IP Fragment */ #define GVE_RXF_IPV4 GVE_RXFLG(4) /* IPv4 */ diff --git a/sys/dev/gve/gve_main.c b/sys/dev/gve/gve_main.c index aa0866c5984b..8e764f9660d7 100644 --- a/sys/dev/gve/gve_main.c +++ b/sys/dev/gve/gve_main.c @@ -32,10 +32,10 @@ #include "gve_adminq.h" #include "gve_dqo.h" -#define GVE_DRIVER_VERSION "GVE-FBSD-1.3.1\n" +#define GVE_DRIVER_VERSION "GVE-FBSD-1.3.2\n" #define GVE_VERSION_MAJOR 1 #define GVE_VERSION_MINOR 3 -#define GVE_VERSION_SUB 1 +#define GVE_VERSION_SUB 2 #define GVE_DEFAULT_RX_COPYBREAK 256 @@ -391,7 +391,7 @@ gve_setup_ifnet(device_t dev, struct gve_priv *priv) /* * Set TSO limits, must match the arguments to bus_dma_tag_create * when creating tx->dqo.buf_dmatag. Only applies to the RDA mode - * because in QPL we copy the entire pakcet into the bounce buffer + * because in QPL we copy the entire packet into the bounce buffer * and thus it does not matter how fragmented the mbuf is. */ if (!gve_is_gqi(priv) && !gve_is_qpl(priv)) { diff --git a/sys/dev/gve/gve_rx.c b/sys/dev/gve/gve_rx.c index 35f22f2308f0..e540ad6f4c11 100644 --- a/sys/dev/gve/gve_rx.c +++ b/sys/dev/gve/gve_rx.c @@ -706,7 +706,7 @@ gve_rx_cleanup_tq(void *arg, int pending) * interrupt but they will still be handled by the enqueue below. * Fragments received after the barrier WILL trigger an interrupt. */ - mb(); + atomic_thread_fence_seq_cst(); if (gve_rx_work_pending(rx)) { gve_db_bar_write_4(priv, rx->com.irq_db_offset, GVE_IRQ_MASK); diff --git a/sys/dev/gve/gve_rx_dqo.c b/sys/dev/gve/gve_rx_dqo.c index 6c5d656aaa04..6ce9ddd887d0 100644 --- a/sys/dev/gve/gve_rx_dqo.c +++ b/sys/dev/gve/gve_rx_dqo.c @@ -972,7 +972,7 @@ gve_rx_cleanup_dqo(struct gve_priv *priv, struct gve_rx_ring *rx, int budget) * Prevent generation bit from being read after the rest of the * descriptor. */ - rmb(); + atomic_thread_fence_acq(); rx->cnt++; rx->dqo.tail = (rx->dqo.tail + 1) & rx->dqo.mask; diff --git a/sys/dev/gve/gve_sysctl.c b/sys/dev/gve/gve_sysctl.c index 7a091d9caa43..c96d082837a4 100644 --- a/sys/dev/gve/gve_sysctl.c +++ b/sys/dev/gve/gve_sysctl.c @@ -94,7 +94,7 @@ gve_setup_rxq_sysctl(struct sysctl_ctx_list *ctx, SYSCTL_ADD_COUNTER_U64(ctx, list, OID_AUTO, "rx_mbuf_dmamap_err", CTLFLAG_RD, &stats->rx_mbuf_dmamap_err, - "Number of rx mbufs which couldnt be dma mapped"); + "Number of rx mbufs which could not be dma mapped"); SYSCTL_ADD_COUNTER_U64(ctx, list, OID_AUTO, "rx_mbuf_mclget_null", CTLFLAG_RD, &stats->rx_mbuf_mclget_null, @@ -170,7 +170,7 @@ gve_setup_txq_sysctl(struct sysctl_ctx_list *ctx, SYSCTL_ADD_COUNTER_U64(ctx, tx_list, OID_AUTO, "tx_mbuf_collpase", CTLFLAG_RD, &stats->tx_mbuf_collapse, - "tx mbufs that had to be collpased"); + "tx mbufs that had to be collapsed"); SYSCTL_ADD_COUNTER_U64(ctx, tx_list, OID_AUTO, "tx_mbuf_defrag", CTLFLAG_RD, &stats->tx_mbuf_defrag, diff --git a/sys/dev/gve/gve_tx.c b/sys/dev/gve/gve_tx.c index e7e10e526cb9..04dde4f1a79b 100644 --- a/sys/dev/gve/gve_tx.c +++ b/sys/dev/gve/gve_tx.c @@ -240,15 +240,16 @@ gve_clear_tx_ring(struct gve_priv *priv, int i) } static void -gve_start_tx_ring(struct gve_priv *priv, int i, - void (cleanup) (void *arg, int pending)) +gve_start_tx_ring(struct gve_priv *priv, int i) { struct gve_tx_ring *tx = &priv->tx[i]; struct gve_ring_com *com = &tx->com; atomic_store_bool(&tx->stopped, false); - - NET_TASK_INIT(&com->cleanup_task, 0, cleanup, tx); + if (gve_is_gqi(priv)) + NET_TASK_INIT(&com->cleanup_task, 0, gve_tx_cleanup_tq, tx); + else + NET_TASK_INIT(&com->cleanup_task, 0, gve_tx_cleanup_tq_dqo, tx); com->cleanup_tq = taskqueue_create_fast("gve tx", M_WAITOK, taskqueue_thread_enqueue, &com->cleanup_tq); taskqueue_start_threads(&com->cleanup_tq, 1, PI_NET, "%s txq %d", @@ -297,10 +298,7 @@ gve_create_tx_rings(struct gve_priv *priv) com->db_offset = 4 * be32toh(com->q_resources->db_index); com->counter_idx = be32toh(com->q_resources->counter_index); - if (gve_is_gqi(priv)) - gve_start_tx_ring(priv, i, gve_tx_cleanup_tq); - else - gve_start_tx_ring(priv, i, gve_tx_cleanup_tq_dqo); + gve_start_tx_ring(priv, i); } gve_set_state_flag(priv, GVE_STATE_FLAG_TX_RINGS_OK); @@ -421,7 +419,7 @@ gve_tx_cleanup_tq(void *arg, int pending) * interrupt but they will still be handled by the enqueue below. * Completions born after the barrier WILL trigger an interrupt. */ - mb(); + atomic_thread_fence_seq_cst(); nic_done = gve_tx_load_event_counter(priv, tx); todo = nic_done - tx->done; diff --git a/sys/dev/gve/gve_tx_dqo.c b/sys/dev/gve/gve_tx_dqo.c index fab2d6d0f613..b4bcb1fd01c5 100644 --- a/sys/dev/gve/gve_tx_dqo.c +++ b/sys/dev/gve/gve_tx_dqo.c @@ -1031,7 +1031,7 @@ gve_tx_cleanup_dqo(struct gve_priv *priv, struct gve_tx_ring *tx, int budget) * Prevent generation bit from being read after the rest of the * descriptor. */ - rmb(); + atomic_thread_fence_acq(); type = compl_desc->type; if (type == GVE_COMPL_TYPE_DQO_DESC) { From nobody Fri Feb 14 15:11: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 4Yvb905wJKz5nF1q; Fri, 14 Feb 2025 15:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvb9042gzz4KJl; Fri, 14 Feb 2025 15:11:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GG5+5WKzeYcboSIgFaJ0CMTrTj+xBBGOVC8Q50vhkHs=; b=IXSEUWRZKb5AavEx/CKE2x6HDsF+NxFWzSQGshq+sozscb4wiui70oJ4xh2pPHLDJ5Auyi O9rt+qy4/tLjQmq9j/+F909LZWe12vTZ5OT5zGPSBBDskg4VaN5q9df17smyPS1x87veOt 9G7FHtV5fDuNpZvWuugNYKhZy88aSy4b2z7KMENBy9TsEVQfozi6w0m66eoKKdh/AJxiH1 0u1Ig0j4EX+7ZD9HH+qkWtvhTRPozQzHXTzO0jsn2NVLszAdSYHGA5GY/TFmLQU9c/aVd8 fmkiUa/asPm/fd5z5ap1zbPXkO8giMj0m8BeMFcUrrXeaAUVCnlLgfbCHCauTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739545860; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GG5+5WKzeYcboSIgFaJ0CMTrTj+xBBGOVC8Q50vhkHs=; b=G8khp17G+HkdG8H7A5j71xPzS7pF+ldueYw5EvIVLMUxijpgjAE/IYemTRrLOdx7W80LDL hIr3BzFXLf/RGNrHDbQjrarkHqT+mOFuvusi2185JqRnsqQIy9787S7lYCOkLR8cJwS754 hfDUFEPsllUiLMkdh9hnYyqp4JpQ2/UuD3kvORM58/v5y7ZwknI7HhYemidKV+cLFtTatP CnwDw/T9ZEZD8jbmW5s1IVxLXs2NUAmcVhpQ7MGxV6tMeMlVk9bX8yDfx97zpMdvRqCSRr dI3o5S0jo63aoe4JekCD7XYO4NIM6XpLBYE+aISzJ3oDfcHjy2AqNhNLfgWiiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739545860; a=rsa-sha256; cv=none; b=T18vXHxwvkmuhh0vlkxYaOriCDXF1jSspabhFjR+UR+3iRBjel7QrQKeBNP88EneoT8xZN Y+N04AapkdlQl3R8jetU7wuPB/MWZfCNYek4xXKXs/qjhzGZPF4rv4u5u552ydfxhrARpP gf5b96EONr6CpxxE3b074kMXNbyqLBOicM2qOAGtQumTJrHKL/VLtHIVXdoAEakpn2pBcN npSYe1MmfNGTjqqqiS+Wv14DO7KU3zsTza+HTZNj+/lOLsiiZMlopoLrz4yUmmxQbCafn7 b1Y54BtMSAY8jtZPshscArGWxupL9Ggw1SiXygvVD+Ob5Jlgnlpy8jrwYeeREQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvb9030fgzcYG; Fri, 14 Feb 2025 15:11: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 51EFB0Di063416; Fri, 14 Feb 2025 15:11:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFB0tZ063413; Fri, 14 Feb 2025 15:11:00 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:11:00 GMT Message-Id: <202502141511.51EFB0tZ063413@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: 73c3fe4db3eb - main - gve: Fix qpl_buf_head being initialized improperly List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 73c3fe4db3ebc2bd6cb732aae77ea017fd376d22 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=73c3fe4db3ebc2bd6cb732aae77ea017fd376d22 commit 73c3fe4db3ebc2bd6cb732aae77ea017fd376d22 Author: Jasper Tran O'Leary AuthorDate: 2025-02-14 15:05:46 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:08:23 +0000 gve: Fix qpl_buf_head being initialized improperly Currently, for DQO QPL our MPASS assertion on qpl_buf_head for available pending_pkts (i.e. not holding a packet) fails due to incorrect initialization. The MPASS fails on the first run of packets through the ring when INVARIANTS is on, and when INVARIANTS is off, things work without a bug. The MPASS guards against improper reaping of "pending_pkt" objects, and thus was failing for the first run through the ring. By correctly initializing the objects in this patch we make the MPASS not fail on the first run too. Signed-off-by: Vee Agarwal Signed-off-by: Jasper Tran O'Leary Reviewed by: delphij, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D48968 --- sys/dev/gve/gve_tx_dqo.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/sys/dev/gve/gve_tx_dqo.c b/sys/dev/gve/gve_tx_dqo.c index b4bcb1fd01c5..bf314ef95173 100644 --- a/sys/dev/gve/gve_tx_dqo.c +++ b/sys/dev/gve/gve_tx_dqo.c @@ -43,6 +43,13 @@ gve_unmap_packet(struct gve_tx_ring *tx, bus_dmamap_unload(tx->dqo.buf_dmatag, pending_pkt->dmamap); } +static void +gve_clear_qpl_pending_pkt(struct gve_tx_pending_pkt_dqo *pending_pkt) +{ + pending_pkt->qpl_buf_head = -1; + pending_pkt->num_qpl_bufs = 0; +} + static void gve_free_tx_mbufs_dqo(struct gve_tx_ring *tx) { @@ -54,10 +61,9 @@ gve_free_tx_mbufs_dqo(struct gve_tx_ring *tx) if (!pending_pkt->mbuf) continue; - if (gve_is_qpl(tx->com.priv)) { - pending_pkt->qpl_buf_head = -1; - pending_pkt->num_qpl_bufs = 0; - } else + if (gve_is_qpl(tx->com.priv)) + gve_clear_qpl_pending_pkt(pending_pkt); + else gve_unmap_packet(tx, pending_pkt); m_freem(pending_pkt->mbuf); @@ -880,8 +886,7 @@ gve_reap_qpl_bufs_dqo(struct gve_tx_ring *tx, */ atomic_add_rel_32(&tx->dqo.qpl_bufs_produced, pkt->num_qpl_bufs); - pkt->qpl_buf_head = -1; - pkt->num_qpl_bufs = 0; + gve_clear_qpl_pending_pkt(pkt); } static uint64_t @@ -981,11 +986,13 @@ gve_clear_tx_ring_dqo(struct gve_priv *priv, int i) gve_free_tx_mbufs_dqo(tx); - for (j = 0; j < tx->dqo.num_pending_pkts - 1; j++) { - tx->dqo.pending_pkts[j].next = j + 1; + for (j = 0; j < tx->dqo.num_pending_pkts; j++) { + if (gve_is_qpl(tx->com.priv)) + gve_clear_qpl_pending_pkt(&tx->dqo.pending_pkts[j]); + tx->dqo.pending_pkts[j].next = + (j == tx->dqo.num_pending_pkts - 1) ? -1 : j + 1; tx->dqo.pending_pkts[j].state = GVE_PACKET_STATE_FREE; } - tx->dqo.pending_pkts[tx->dqo.num_pending_pkts - 1].next = -1; tx->dqo.free_pending_pkts_csm = 0; atomic_store_rel_32(&tx->dqo.free_pending_pkts_prd, -1); From nobody Fri Feb 14 15:22:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YvbQl6dC4z5nFf2; Fri, 14 Feb 2025 15:22:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvbQl67qVz3CVr; Fri, 14 Feb 2025 15:22:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QazRi4cPHELZcpryWW4KtfqVwMBpVDTD+YcyP/oUf/c=; b=VG3QLVkkgpC4YO/Fw2eYCdW/h4k6UwccTHGgqrHChhKmVHgp/aHjxNjRyLHwUZHfHR0nQz /bZZg5ti+x1+PDk04CrjX0HMVn1EW3f5qSFV+ge71228vJbl4JGaFREk2aOIBT7kWKZL0b cBVyx6+bmN+fBmY8SbEGQcSUIGfLx5WM/3qtZYx1RqjhQ/8MLvnpCABXEgSDCuYS2M66Gj 4UwWrajJqOHcgYa9fyablZErTOZeXx/3zVxXDzmHOi1Sk55WQq94M9K/OZhf59o8Zx2Lni C5Uo5/IDlqcs45UCq0y/KiYgPSi1S4NVwgHM3fVz7RhuCHeY1wBDhZRKoyY7Gw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QazRi4cPHELZcpryWW4KtfqVwMBpVDTD+YcyP/oUf/c=; b=SZ+vArDEB9It20jtWEc5jQJBGDO677DAECg2eCqyMtpZfpcSP8WGUd3crUnVr2CYa37Ibf 10LmbCnqqCpQ3pCQwTJbYlF1IKVSBFRrB1bEMatrNlm/gevYHAMciHG1EE4INOPVZiC/m4 YO9075Sj27lB0KhAB+yR8hyYAoXO3IjmGHnP8Ta1LMzsUeNfFaBXWutbFNGUOO55iAv/UK tTfuHpkfMa3BREGIjGcylkC+PNTYn8B7xGzPLJ82UC0KbRLO8aROKGLI7yc4GoSeWNLlJ8 id3B3E+7nopz/9sgwjqOORQfb4c5sgstrG/NRAAUAAKfX9EXvyPTEuF/KZfRow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739546575; a=rsa-sha256; cv=none; b=R1ror2X49sPtbHqdEpvwEoIZ2/9bd/Wnf/h7V8wTZvs+RN1B7Lxv/x3ag9nhrNkrbMx2lu v0UU3l5x0DveGZcEqObJn9xagMXlijskOBTBkaqnEbWoBEagmitUh8VkGXcGLQrR+OY2gJ NA4SmtGJIA1mYduhxLK+4v4YQQ3m1JHw9agIKdLR0Dz6AwZIqKSOhqBj+nXZKv9ZRO5Uei Uyob0OqKN/7VydSNScLM+BitHB8Hpd/x4VDDH0SzoPNNFl38VZUUti9QHdOYTsRySiwV7M Prha13icTFw31+gaj3S1qrN9s196fU9OJbVzhZ/YHuQ62p9pTWSsMhM+WPMV2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvbQl4q13zcdf; Fri, 14 Feb 2025 15:22:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51EFMtq6088646; Fri, 14 Feb 2025 15:22:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFMts5088643; Fri, 14 Feb 2025 15:22:55 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:22:55 GMT Message-Id: <202502141522.51EFMts5088643@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jesper Schmitz Mouridsen Subject: git: b96864412700 - main - mtw: Use correct cmd for radio List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jsm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b96864412700a2a5b5e9aaf5d6513ec062cfc96f Auto-Submitted: auto-generated The branch main has been updated by jsm: URL: https://cgit.FreeBSD.org/src/commit/?id=b96864412700a2a5b5e9aaf5d6513ec062cfc96f commit b96864412700a2a5b5e9aaf5d6513ec062cfc96f Author: Jesper Schmitz Mouridsen AuthorDate: 2025-02-14 15:17:45 +0000 Commit: Jesper Schmitz Mouridsen CommitDate: 2025-02-14 15:20:40 +0000 mtw: Use correct cmd for radio Approved by: adrian, wireless Differential Revision: https://reviews.freebsd.org/D49003 --- sys/dev/usb/wlan/if_mtw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/wlan/if_mtw.c b/sys/dev/usb/wlan/if_mtw.c index d7970af5d876..51398134ff9d 100644 --- a/sys/dev/usb/wlan/if_mtw.c +++ b/sys/dev/usb/wlan/if_mtw.c @@ -4384,7 +4384,7 @@ mtw_mcu_radio(struct mtw_softc *sc, int func, uint32_t val) cmd.r2 = htole32(val); cmd.r3 = 0; cmd.r4 = 0; - return (mtw_mcu_cmd(sc, 8, &cmd, sizeof(struct mtw_mcu_cmd_16))); + return (mtw_mcu_cmd(sc, 20, &cmd, sizeof(struct mtw_mcu_cmd_16))); } static void mtw_init_locked(struct mtw_softc *sc) From nobody Fri Feb 14 15:24: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 4YvbSP4vQ6z5nFjw; Fri, 14 Feb 2025 15:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvbSP4LdWz3DMT; Fri, 14 Feb 2025 15:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RCTpEGt7C4aU1d4dpBY4+07+udy8OA2c211gOSni1Rw=; b=S5E+TbCKUfn/n6XrfWxCHyaBWoeAynHyUa+d1gJdHQsjpV7tCzoHmqRley4Kh+bGJdman0 AtvXOFMxnVOlONpA7XsRKdxoCfXf0eQIFe61gI322uvA0Ty/sxfUOwHVIWB9zLOwdwa51p ZGgRdQPDNGUZ28gyxMJCKyFOJUjPWCHtJzeLh6EgcEqMLVUWp+cVY9/aXOz9vwEwUydDnb bc57M6FdNZzScMO45BIA2Y0YJ7yo/T7H0gbhurST5JkHkNN/YXVvvoIeDJFkxOJJJZoejV 5WsYbo2hjssEkfiTgCg7N7rnkhSvb+QyRtdE3kawrE4ql0Jj3nGxs2JHsuTwcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546661; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RCTpEGt7C4aU1d4dpBY4+07+udy8OA2c211gOSni1Rw=; b=lxMVe+YXYhqCbarMN9hTjEo8bKApCx0D4iyTjSDj2q35cH8LlT0tSN0XtGW4f/eoOoiSiF KaUUG3gfxOcAMMYSE6GTst9KzCiTQvkBZ4b0wu6GIoW0sEVycOSXVYLdfznuxigYC36RWp 1O7C6NQcqS81Inh5ezVOIFNmVT3I5Q9KQ8lX7oY7Wq+LKaypWjaOSHi0jRJouglhPSFfrX YRBpCvAQQjChivmVp4Gw4P3lkau7DJgf100uN16nY8DDlr233rTyLUjBYW5qYgZ2K7gFei f16Kil69sCIavqpxcLWIaZTAmp3e90m14eDPyEfIFkYhifLxnPKCWFcIdevEIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739546661; a=rsa-sha256; cv=none; b=umfIQ+iEi+k1dqNL2XNfhHebf8XqQ8eSBs4NSBgAITj+W3QLmXVXPr85MEV6No6itczsjt bO4rnFMf+bybFJmclxgVJCxBE0D0HFc8dVlLYB4G8boRQACVI2sP5RJnfl79Z90ITS0ZJo 385LLlWztw0r4Xew7tswzkIngdAUpddYHYxJbd6tQr5noztqK1Tz6NKNk/iXJQeSpue79S tFSN16fMGyAdZJVVKSSht39U0q0eGOsIBs2FP9eWTUN7j86Ifp7OpeUdzHllfhEObyKiG4 eD85+JhLUcX1wPGOH2PDgMTJNs6z1Aauu1jbHBLQcnur6R5DuLyBU4u2ezauNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvbSP3hgDzcdh; Fri, 14 Feb 2025 15:24: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 51EFOL4Z089167; Fri, 14 Feb 2025 15:24:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFOLCU089164; Fri, 14 Feb 2025 15:24:21 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:24:21 GMT Message-Id: <202502141524.51EFOLCU089164@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: 685fb4253819 - main - pf: Log the intended action when a NAT rule matches a 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 685fb42538199fb03a4cf0f3763c69f146366794 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=685fb42538199fb03a4cf0f3763c69f146366794 commit 685fb42538199fb03a4cf0f3763c69f146366794 Author: Franco Fichtner AuthorDate: 2025-02-14 15:14:27 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:24:15 +0000 pf: Log the intended action when a NAT rule matches a packet When a packet matches a binat/nat/rdr rule, pf logs the match. The log metadata includes the rule's action on the packet, e.g., PF_PASS. NAT rules have their own actions: PF_BINAT, PF_NAT, PF_RDR. Before commit 948e8413aba0 ("pflog: pass the action to pflog directly"), pflog_packet() would obtain the action from the rule definition, whereas after that commit the action is passed as a parameter. When a NAT rule matches, we want to log the rule action, but after that commit, PF_PASS is hard-coded. Restore the previous behaviour. Add a regression test which installs a redirect, logs packets matching the redirect rule, and verifies that the corresponding pflog entry includes the correct action. Reviewed by: kp Fixes: 948e8413aba0 ("pflog: pass the action to pflog directly") MFC after: 2 weeks Sponsored by: Klara, Inc. Sponsored by: OPNsense Differential Revision: https://reviews.freebsd.org/D48911 --- sys/netpfil/pf/pf.c | 2 +- tests/sys/netpfil/pf/pflog.sh | 59 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index c5042a7685c2..236e68457e81 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -5535,7 +5535,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, KASSERT(nk != NULL, ("%s: null nk", __func__)); if (nr->log) { - PFLOG_PACKET(PF_PASS, PFRES_MATCH, nr, a, + PFLOG_PACKET(nr->action, PFRES_MATCH, nr, a, ruleset, pd, 1); } diff --git a/tests/sys/netpfil/pf/pflog.sh b/tests/sys/netpfil/pf/pflog.sh index 8288d1d263e8..d885364e0df7 100644 --- a/tests/sys/netpfil/pf/pflog.sh +++ b/tests/sys/netpfil/pf/pflog.sh @@ -264,10 +264,69 @@ unspecified_v6_cleanup() pft_cleanup } +atf_test_case "rdr_action" "cleanup" +rdr_head() +{ + atf_set descr 'Ensure that NAT rule actions are logged correctly' + atf_set require.user root +} + +rdr_action_body() +{ + j="pflog:rdr_action" + epair_c=$(vnet_mkepair) + epair_srv=$(vnet_mkepair) + + vnet_mkjail ${j}srv ${epair_srv}a + vnet_mkjail ${j}gw ${epair_srv}b ${epair_c}a + vnet_mkjail ${j}c ${epair_c}b + + jexec ${j}srv ifconfig ${epair_srv}a 198.51.100.1/24 up + # No default route in srv jail, to ensure we're NAT-ing + jexec ${j}gw ifconfig ${epair_srv}b 198.51.100.2/24 up + jexec ${j}gw ifconfig ${epair_c}a 192.0.2.1/24 up + jexec ${j}gw sysctl net.inet.ip.forwarding=1 + jexec ${j}c ifconfig ${epair_c}b 192.0.2.2/24 up + jexec ${j}c route add default 192.0.2.1 + + jexec ${j}gw pfctl -e + jexec ${j}gw ifconfig pflog0 up + pft_set_rules ${j}gw \ + "rdr log on ${epair_srv}b proto tcp from 198.51.100.0/24 to any port 1234 -> 192.0.2.2 port 1234" \ + "block quick inet6" \ + "pass in log" + + jexec ${j}gw tcpdump -n -e -ttt --immediate-mode -l -U -i pflog0 >> ${PWD}/pflog.txt & + sleep 1 # Wait for tcpdump to start + + # send a SYN to catch in the log + jexec ${j}srv nc -N -w 0 198.51.100.2 1234 + + echo "Log" + cat ${PWD}/pflog.txt + + # log line generated for rdr hit (pre-NAT) + atf_check -o match:".*.*rule 0/0\(match\): rdr in on ${epair_srv}b: 198.51.100.1.[0-9]* > 198.51.100.2.1234: Flags \[S\].*" \ + cat pflog.txt + + # log line generated for pass hit (post-NAT) + atf_check -o match:".*.*rule 1/0\(match\): pass in on ${epair_srv}b: 198.51.100.1.[0-9]* > 192.0.2.2.1234: Flags \[S\].*" \ + cat pflog.txt + + # only two log lines shall be written + atf_check -o match:2 grep -c . pflog.txt +} + +rdr_action_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "malformed" atf_add_test_case "matches" + atf_add_test_case "rdr_action" atf_add_test_case "state_max" atf_add_test_case "unspecified_v4" atf_add_test_case "unspecified_v6" From nobody Fri Feb 14 15:24: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 4YvbSR4BZsz5nG3G; Fri, 14 Feb 2025 15:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvbSQ5Jc4z3DP2; Fri, 14 Feb 2025 15:24:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LxS7MoCsXs6gxrfooWsTxUKTzgy/ce+vTiR16rjPu6Y=; b=ebtgsuUaPT82vWF0fkVQf8xIcA3GTDMWZgHuNkQPwuunSr9ptECv7lhyIbaTicogoFhFZ3 p5FI4ajt6iU92mVu8mwRd4RoUYkkUo0FWJ5VlsTsV3mRQUYHk1h6OU+Izui1iMNxZ4Qwxl dlp6mj9iRGB/49VWvDfISLg9BPldYTBpWQk4QlK0jGt+4uwDW/LIpsGsbm6/bq1+MAq0Nw 4csXHolmEJ7EJTIE6i/xgkeLMjWKzMJ+bk+Va7X6lkhsXBKfHIgLom+vZcuCRqIjFczVhx W+hDXQBOHH5DzeXTK48HasYtHDdOyD6Xv+qtcmX8KkkjVgmc7/USArn6eLcN7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739546662; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LxS7MoCsXs6gxrfooWsTxUKTzgy/ce+vTiR16rjPu6Y=; b=WRXH8TtZQ2pTqSDf87gaPpKaClMLXJ+kwRk+vI0VkIiVGqveGND+2kO/0wnI7a+zqafBPL BrniNBe+qW7I0Ef4CNBQwRnnkHRQL5kWw2tyP8EH1L41AkXwg0wUACivGi9LLCCID0i0x4 he+i/ZRskkPUTCcc04IxYKZR5oDPWFGoGLOdecYtm3JO9BYC4fdb3zVArC9lcDyuwlubFM Dm1SEH7+89fBPxX7DoOfLTb4AkqimQvFuN3OcMQKG1Frimup39aMSvkvPvWcPCgZXSiWuA QG/b1kE8w2Mx9AQU4ZT4NhYAhMejDf2fizGUNWkLOzRwVQgjA6xbbJlfHhjhUw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739546662; a=rsa-sha256; cv=none; b=bloU/2CA1j6gmGAokv2RZezPYwkOXmcFXy3HLwBxGyQIVXg/hSDzq4dXSyjBKcxihz71yY S6SpfZEaCfChq/igBRR9eKWCEq/YM/SqB//Tt1LTMZgJmioFJlQRy+XA8ldmK0VWwtczU8 3nAts6ONUQ6b4JNotzHpMLeEgzVxE8V3YPoNlnHGauij62ziOCo0ZOcULqlAvIozdyp9eW iwwXtMWMpLscAbJeaXHnDvRvPNP3T9Guj4eOBgccRuABCkTLaYmv0rFt+nEuqb/q0GDHVN 6RktBJRnjTNpZ6deduGrZXcckJ++pbzSXKSKZBT3BVidAwgV8KQ3ovDMx4z/Ng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvbSQ4rrZzcgf; Fri, 14 Feb 2025 15:24: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 51EFOMSp089200; Fri, 14 Feb 2025 15:24:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFOMJm089197; Fri, 14 Feb 2025 15:24:22 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:24:22 GMT Message-Id: <202502141524.51EFOMJm089197@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: d46d45bf4b19 - main - tools/fib_multibind: Remove a redundant calculation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d46d45bf4b196cd2daba42d5413f8e4d7ffedeed Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d46d45bf4b196cd2daba42d5413f8e4d7ffedeed commit d46d45bf4b196cd2daba42d5413f8e4d7ffedeed Author: Mark Johnston AuthorDate: 2025-02-14 15:16:52 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:24:15 +0000 tools/fib_multibind: Remove a redundant calculation No functional change intended. Reported by: kevans Fixes: 3fa552149885 ("tools: Add a small program to demonstrate FIB handling in bind(2)") Sponsored by: Klara, Inc. Sponsored by: Stormshield --- tools/tools/fib_multibind/sink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tools/fib_multibind/sink.c b/tools/tools/fib_multibind/sink.c index fe93a66fe266..8f8c31f0c8ea 100644 --- a/tools/tools/fib_multibind/sink.c +++ b/tools/tools/fib_multibind/sink.c @@ -158,7 +158,7 @@ main(int argc, char **argv) sc.nfibs = 1; } - sc.fds = calloc(all ? sc.nfibs : 1, sizeof(int)); + sc.fds = calloc(sc.nfibs, sizeof(int)); if (sc.fds == NULL) err(1, "calloc"); for (int i = 0; i < sc.nfibs; i++) { From nobody Fri Feb 14 15:33: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 4YvbgD3JTnz5nGBJ; Fri, 14 Feb 2025 15:33:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvbgD2Vbrz3Hnt; Fri, 14 Feb 2025 15:33:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739547224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KHMsJEfYob+5gJoBuqqkUp8S/WavlIyWspwmuh4jtZc=; b=nSbDeH5yu33QSRgloAo/YbDGPmvZ2QyBb0mSSuulfX48teO75Z3vsRqauwm2bkla79SpjM GtfTuPv/3B8LaZx1moa0aoJ74dBJFandG1kNNOSPz56zNGua9GB1qCEgZ1OxpiBT3yI9NR FpoJsvTKaR8POSJkHk3zmQFq4qWdyNVnkqCggTeEkB1OBkbKlgxYUEOhQVowSQfoWwdXrn ASn469AafGq4FwhTB+MEBEdKsjtKv2azpWhJZ0yOU2caVogMpUYgZX7xXo4qBiZ77WOpUH YZiNfy9UUGsy+fJN1usXUVpyF5nfV9JFfmZVMGDw8MmDh/HLRdz/zPF5t2fbRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739547224; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KHMsJEfYob+5gJoBuqqkUp8S/WavlIyWspwmuh4jtZc=; b=r3cZxB3cVetpxrq9FLVIozKgPYSWEIBHtdtQGXhxaQLurfeyzc5p5HyuhmBItEtpljO2RL Y2rjCdfaWopV2oFo6jUFrryn6e6ogQ+CwhqLQ/ZPKgkNv4Qd5zKbiPCZribDNSgfis3ahP 7jkwjmtX4RDtv//3hpJIYRw1GmGJRzWd/5ZwftvrOY0ZoMM53OMULKPRCEdNk5WcLvQjda RJYeibiLAlsh4fBeVEz0NNVyyXXVtbvTbk23/CtBJQNqNwEN8uAaPFC6qJWL6VOgK+AXIu cbTD0uaWHQCiUHRMruP78stsQpvwUqwV/R13bvPTi79L8X5pFMRPWjeLJl7Oaw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739547224; a=rsa-sha256; cv=none; b=SzCYUhX83IxGck6MpCYL3M5gyBI6BWlac14OMxFVdMP+bFlGnCdaNm3kY2qe2Xgl/g2RFn +ZvU5TQGEZaNVeeKLZbgHtQ8yyWWKzpLobJxKcRcUNamPnF5m+fmrMc3/Lmv+A1C8KIYwt TduzRsceTY7zfzZImIWeoy1A52RzA4Ad3NCIwQdMhynRXTLar0/OYvXYT5iKQGH9HucS7E EXIL7U7pJDysDoOxKCKKDb6phUWTp9fQNjcC2PmziIovJXaZQZXoInTtnocIu/mxaqs19l FqZyfjQ09GKq/UJ10ROmtO4S9LrZVqowmqNOEzXP5vCPYkIiZ6pLsoLbscesCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvbgD1mf0zchN; Fri, 14 Feb 2025 15:33:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51EFXipX007898; Fri, 14 Feb 2025 15:33:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFXinw007896; Fri, 14 Feb 2025 15:33:44 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:33:44 GMT Message-Id: <202502141533.51EFXinw007896@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: 649a910e34b0 - main - bhyve: Avoid holding /dev/pci open unnecessarily List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 649a910e34b0314647d16a94f8af6de0f4cfd4b5 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=649a910e34b0314647d16a94f8af6de0f4cfd4b5 commit 649a910e34b0314647d16a94f8af6de0f4cfd4b5 Author: Mark Johnston AuthorDate: 2025-02-14 15:25:08 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:25:08 +0000 bhyve: Avoid holding /dev/pci open unnecessarily Some device models, LPC in particular, will call pci_host_read_config() when probing for devices. Currently this results in pcifd_init() opening /dev/pci, and thus bhyve holds the fd open even when it's not needed. Modify pci_host_{read,write}_config() to open /dev/pci independent of the global pcifd. This means that these routines can only be used during VM initialization, as capsicum will prevent further opens afterward. Introduce internal wrappers which use the global pcifd, intended for the passthru code. Reviewed by: jhb MFC after: 3 weeks Fixes: 563fd2240e13 ("bhyve: export funcs for read/write pci config") Differential Revision: https://reviews.freebsd.org/D48908 --- usr.sbin/bhyve/pci_passthru.c | 119 +++++++++++++++++++++++++++++------------- 1 file changed, 83 insertions(+), 36 deletions(-) diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index b8ac782bd7be..61983010192a 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -120,13 +120,24 @@ msi_caplen(int msgctrl) } static int -pcifd_init(void) +pcifd_open(void) { - pcifd = open(_PATH_DEVPCI, O_RDWR, 0); - if (pcifd < 0) { + int fd; + + fd = open(_PATH_DEVPCI, O_RDWR, 0); + if (fd < 0) { warn("failed to open %s", _PATH_DEVPCI); - return (1); + return (-1); } + return (fd); +} + +static int +pcifd_init(void) +{ + pcifd = pcifd_open(); + if (pcifd < 0) + return (1); #ifndef WITHOUT_CAPSICUM cap_rights_t pcifd_rights; @@ -143,43 +154,75 @@ pcifd_init(void) return (0); } -uint32_t -pci_host_read_config(const struct pcisel *sel, long reg, int width) +static uint32_t +host_read_config(int fd, const struct pcisel *sel, long reg, int width) { struct pci_io pi; - if (pcifd < 0 && pcifd_init()) { - return (0); - } - bzero(&pi, sizeof(pi)); pi.pi_sel = *sel; pi.pi_reg = reg; pi.pi_width = width; - if (ioctl(pcifd, PCIOCREAD, &pi) < 0) - return (0); /* XXX */ + if (ioctl(fd, PCIOCREAD, &pi) < 0) + return (0); /* XXX */ else return (pi.pi_data); } -void -pci_host_write_config(const struct pcisel *sel, long reg, int width, +static uint32_t +passthru_read_config(const struct pcisel *sel, long reg, int width) +{ + return (host_read_config(pcifd, sel, reg, width)); +} + +uint32_t +pci_host_read_config(const struct pcisel *sel, long reg, int width) +{ + uint32_t ret; + int fd; + + fd = pcifd_open(); + if (fd < 0) + return (0); + ret = host_read_config(fd, sel, reg, width); + (void)close(fd); + return (ret); +} + +static void +host_write_config(int fd, const struct pcisel *sel, long reg, int width, uint32_t data) { struct pci_io pi; - if (pcifd < 0 && pcifd_init()) { - return; - } - bzero(&pi, sizeof(pi)); pi.pi_sel = *sel; pi.pi_reg = reg; pi.pi_width = width; pi.pi_data = data; - (void)ioctl(pcifd, PCIOCWRITE, &pi); /* XXX */ + (void)ioctl(fd, PCIOCWRITE, &pi); /* XXX */ +} + +static void +passthru_write_config(const struct pcisel *sel, long reg, int width, + uint32_t data) +{ + host_write_config(pcifd, sel, reg, width, data); +} + +void +pci_host_write_config(const struct pcisel *sel, long reg, int width, + uint32_t data) +{ + int fd; + + fd = pcifd_open(); + if (fd < 0) + return; + host_write_config(fd, sel, reg, width, data); + (void)close(fd); } #ifdef LEGACY_SUPPORT @@ -224,24 +267,24 @@ cfginitmsi(struct passthru_softc *sc) * Parse the capabilities and cache the location of the MSI * and MSI-X capabilities. */ - sts = pci_host_read_config(&sel, PCIR_STATUS, 2); + sts = passthru_read_config(&sel, PCIR_STATUS, 2); if (sts & PCIM_STATUS_CAPPRESENT) { - ptr = pci_host_read_config(&sel, PCIR_CAP_PTR, 1); + ptr = passthru_read_config(&sel, PCIR_CAP_PTR, 1); while (ptr != 0 && ptr != 0xff) { - cap = pci_host_read_config(&sel, ptr + PCICAP_ID, 1); + cap = passthru_read_config(&sel, ptr + PCICAP_ID, 1); if (cap == PCIY_MSI) { /* * Copy the MSI capability into the config * space of the emulated pci device */ sc->psc_msi.capoff = ptr; - sc->psc_msi.msgctrl = pci_host_read_config(&sel, - ptr + 2, 2); + sc->psc_msi.msgctrl = + passthru_read_config(&sel, ptr + 2, 2); sc->psc_msi.emulated = 0; caplen = msi_caplen(sc->psc_msi.msgctrl); capptr = ptr; while (caplen > 0) { - u32 = pci_host_read_config(&sel, capptr, + u32 = passthru_read_config(&sel, capptr, 4); pci_set_cfgdata32(pi, capptr, u32); caplen -= 4; @@ -256,7 +299,7 @@ cfginitmsi(struct passthru_softc *sc) msixcap_ptr = (char *)&msixcap; capptr = ptr; while (caplen > 0) { - u32 = pci_host_read_config(&sel, capptr, + u32 = passthru_read_config(&sel, capptr, 4); memcpy(msixcap_ptr, &u32, 4); pci_set_cfgdata32(pi, capptr, u32); @@ -265,7 +308,7 @@ cfginitmsi(struct passthru_softc *sc) msixcap_ptr += 4; } } - ptr = pci_host_read_config(&sel, ptr + PCICAP_NEXTPTR, + ptr = passthru_read_config(&sel, ptr + PCICAP_NEXTPTR, 1); } } @@ -301,7 +344,7 @@ cfginitmsi(struct passthru_softc *sc) */ if ((sts & PCIM_STATUS_CAPPRESENT) != 0 && sc->psc_msi.capoff == 0) { int origptr, msiptr; - origptr = pci_host_read_config(&sel, PCIR_CAP_PTR, 1); + origptr = passthru_read_config(&sel, PCIR_CAP_PTR, 1); msiptr = passthru_add_msicap(pi, 1, origptr); sc->psc_msi.capoff = msiptr; sc->psc_msi.msgctrl = pci_get_cfgdata16(pi, msiptr + 2); @@ -535,6 +578,8 @@ cfginitbar(struct passthru_softc *sc) * Initialize BAR registers */ for (i = 0; i <= PCI_BARMAX; i++) { + uint8_t lobits; + bzero(&bar, sizeof(bar)); bar.pbi_sel = sc->psc_sel; bar.pbi_reg = PCIR_BAR(i); @@ -580,8 +625,8 @@ cfginitbar(struct passthru_softc *sc) return (-1); /* Use same lobits as physical bar */ - uint8_t lobits = pci_host_read_config(&sc->psc_sel, PCIR_BAR(i), - 0x01); + lobits = (uint8_t)passthru_read_config(&sc->psc_sel, + PCIR_BAR(i), 0x01); if (bartype == PCIBAR_MEM32 || bartype == PCIBAR_MEM64) { lobits &= ~PCIM_BAR_MEM_BASE; } else { @@ -628,7 +673,7 @@ cfginit(struct pci_devinst *pi, int bus, int slot, int func) intpin = pci_get_cfgdata8(pi, PCIR_INTPIN); for (int i = 0; i <= PCIR_MAXLAT; i += 4) { pci_set_cfgdata32(pi, i, - pci_host_read_config(&sc->psc_sel, i, 4)); + passthru_read_config(&sc->psc_sel, i, 4)); } pci_set_cfgdata16(pi, PCIR_COMMAND, cmd); pci_set_cfgdata8(pi, PCIR_INTLINE, intline); @@ -987,15 +1032,17 @@ passthru_cfgread_default(struct passthru_softc *sc, * device's config space. */ if (coff == PCIR_COMMAND) { + uint32_t st; + if (bytes <= 2) return (-1); - *rv = pci_host_read_config(&sc->psc_sel, PCIR_STATUS, 2) << 16 | - pci_get_cfgdata16(pi, PCIR_COMMAND); + st = passthru_read_config(&sc->psc_sel, PCIR_STATUS, 2); + *rv = (st << 16) | pci_get_cfgdata16(pi, PCIR_COMMAND); return (0); } /* Everything else just read from the device's config space */ - *rv = pci_host_read_config(&sc->psc_sel, coff, bytes); + *rv = passthru_read_config(&sc->psc_sel, coff, bytes); return (0); } @@ -1078,7 +1125,7 @@ passthru_cfgwrite_default(struct passthru_softc *sc, struct pci_devinst *pi, return (-1); /* Update the physical status register. */ - pci_host_write_config(&sc->psc_sel, PCIR_STATUS, val >> 16, 2); + passthru_write_config(&sc->psc_sel, PCIR_STATUS, val >> 16, 2); /* Update the virtual command register. */ cmd_old = pci_get_cfgdata16(pi, PCIR_COMMAND); @@ -1087,7 +1134,7 @@ passthru_cfgwrite_default(struct passthru_softc *sc, struct pci_devinst *pi, return (0); } - pci_host_write_config(&sc->psc_sel, coff, bytes, val); + passthru_write_config(&sc->psc_sel, coff, bytes, val); return (0); } From nobody Fri Feb 14 15:33: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 4YvbgF56VXz5nGS8; Fri, 14 Feb 2025 15:33:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvbgF34nvz3Hg5; Fri, 14 Feb 2025 15:33:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739547225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KJ5d7thZv0ZEVgrhSTv/unK/GQwEdX+FrAxOYez+L7Y=; b=cqngB10Ly8BY+UmKflUB3QBRoHOELZ2UGej7bOvXa39bc21KjZ9LtJBbppxAlx7aFeWiaH TkrtbLdoiy9jkAZ8dJl3r2uYMtcYxXgIHPNkED4vt2A6J0GVqQYfjiOBGthktdjfXeJKHY 7EBiiT4AKBOAUxNyG7mriUgrMpNEKfzh0GbwilZ5ATuD2ItiCbQ6qcLkFIdeHn5pL8/dTU i+rMch5PXuW0K1aCcHzG+AIMJo4ZO4ydaqY74d+WftWjOxQKvHgsjRoFNv88ShNk5b6E1d FJV/nZcW6mDGk84aqwLV1EKVTYECfAGLGOKEXMFUXwob/1IAHRhAEhXsQj1d3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739547225; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KJ5d7thZv0ZEVgrhSTv/unK/GQwEdX+FrAxOYez+L7Y=; b=yJt2cgJg8eln1dyiuQY9GadBz5HsnDM33KoZl/G+FiiAqDQrlxMQe79x4EH5T6O6MGcPqS agHudC38tu3tf0TLNZ/1HZPbotGYkSsrb/iJqyhf00kZwRf20USFBejH89Imj841imY39l dBoqnaQX8tHhnOHWof/EQg3HYnjh6wc463Fc2lcW4X0L+K05hTAWCI2EwsKUVPNKNTfMLh SVTOZjV6n4XlfSKDv2nIuWpoX0kHXEFPc4is//77EnmSpuDR+rqGJwahySm+gUqnUHRIeW a530NxES06fC6Xig1lmvvMrWAh0leThqmdyJcBXQqmqY7v7uGzCrZ6GkM08cbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739547225; a=rsa-sha256; cv=none; b=rOs4jRsxzX6Nsos7Mmd4nufEk/9Uix+AP9K9xhTUuvmKY3oReH4Bg1bFoXSCWurZ2eq1wt VFfVD8BuDVfzjkWqWr9FMFy1oAWXy+QrxUSIynE72Orwge6tCGqJY0gBnCxlBL8Ova+zXM 7wPu6bI+QjJPZYledFLW54pAOPA+g0/JWU9mjO7eqJ9SWWbrjU632/Vii/FYrM5awN0iOg P5deeWDid0bsDjsGpEIclzZlohpCr6sqjhSCdqb3RNHQZiQKowvypOfvDfIoVaAkHxM63X Mlhrmc+I07xM98k7oHbgwZElcQ5qmmpqfUuRqYwT+oM1jChfS7irmVKV8633VA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvbgF2gR4zdFy; Fri, 14 Feb 2025 15:33:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51EFXjPE007931; Fri, 14 Feb 2025 15:33:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFXjjW007928; Fri, 14 Feb 2025 15:33:45 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:33:45 GMT Message-Id: <202502141533.51EFXjjW007928@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: fbacadf103dc - main - vmm: Add vmm_fence.c to SRCS for vmm.ko on riscv List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: fbacadf103dc81cea0f233f11adb73ef43ee4a75 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fbacadf103dc81cea0f233f11adb73ef43ee4a75 commit fbacadf103dc81cea0f233f11adb73ef43ee4a75 Author: Mark Johnston AuthorDate: 2025-02-14 15:26:49 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:26:49 +0000 vmm: Add vmm_fence.c to SRCS for vmm.ko on riscv Fixes: 8f6b66a9d3f2 ("riscv vmm: implement SBI RFNC extension.") --- sys/modules/vmm/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/modules/vmm/Makefile b/sys/modules/vmm/Makefile index c990852ae441..a6ea90567bb8 100644 --- a/sys/modules/vmm/Makefile +++ b/sys/modules/vmm/Makefile @@ -152,6 +152,7 @@ svm_genassym.o: offset.inc .elif ${MACHINE_CPUARCH} == "riscv" SRCS+= vmm_aplic.c \ + vmm_fence.c \ vmm_riscv.c \ vmm_sbi.c \ vmm_switch.S \ From nobody Fri Feb 14 15:56: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 4Yvc9p5jCvz5nHpZ; Fri, 14 Feb 2025 15:56:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvc9n6Krjz3SX4; Fri, 14 Feb 2025 15:56:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739548605; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/I/2mTQcZ/DBT9Yb9UEJibVuljWrURfwUGYlUb8JH4=; b=tNgTMy3ISAbH2sa07WX11DUn47CyxY7mDI1roR0NF+QBL87B42pXq7fQUp6op1vADNMuNv jBbJrnswArRLHVzLF6fompcvrBfYoSQy7h8UreaASSIaDjYiPOQVsvHmqeMyChHNEf6uRF /PFn7vSuP41HiWkApOgb96XV6jasGwK/IiivUTO7dpNOpEyKVGPXtinATPzFJdTdjxTkbc 0lVRINfgTyUmJh8/LoBIxTnRoB/qRWr+gjbdygYANsRMvKzAsiCRnKCQGnHd1eAoazUFsp 2imzMxifCreIIH9aHYDnI9UDrf/nqOGauon4y/QIHtvzBGfOAo2Ne5xpfYJODw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739548605; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=q/I/2mTQcZ/DBT9Yb9UEJibVuljWrURfwUGYlUb8JH4=; b=U+2XKl++HnwYtF1/3qJ4KFyY8f5UPCfaYC6gGckegGp5tu3l3awdt0fUNOUHvfofCt4pKo t2JpisbAhif9UqnV241sJwfk9Nwwv546lGo5aloAp8WmxF8Cw01D3w1OzG2uTyJ+dfi52G e6/YDcqk6IJUeBfGr5Mi38ZqGiSPorG2T4T6rO5VJvhOZHGGiS3znO0nXxq63x9yp7jvtm WT5r3S/T5qRFT6lw4zTJQRTv+Icj8g5aChWZh6XX/O7i1imfNg39uUxHueEO3P5EtIECFe jZKurUSbajXYPHdk1Osv0+nd8bz+bu2RjK796a5Tu8xT0dF22BSPHCEIjgzHNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739548605; a=rsa-sha256; cv=none; b=Ps+/z4vmP6tb+iDA94IGT+3Xs7Qy7L21OBY0A+taDn8aUSVCZzRsHiv2/77eYGE484ItYz dbOqlLlm/mwcPDPqHhhcCKjv2BOpAVFk+c1zxzEQSzrvqkYbopBSlbwuzF7l6U2BKPLnnk L2kJHGmWATfwsFQWnjoS2GAzPRUAqVrqo/RssxwHWh/Tk/t8wmqbVXOcfefmM2Z9hPps5S oWxM80UtGYUezIfV8hhYz2ht0mNfnxv650syDbJsil2G1Y4hY8eJUE135vQTp6UWNthOuV reFwYIyEysSt+sEF6/cqZFh3jKC+FsIjtB6JACCA953bEjuFTMdSVwhV4Lspwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvc9n5rcxzdYg; Fri, 14 Feb 2025 15:56: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 51EFujCs046155; Fri, 14 Feb 2025 15:56:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFujI8046152; Fri, 14 Feb 2025 15:56:45 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:56:45 GMT Message-Id: <202502141556.51EFujI8046152@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: d2870b8666f2 - main - queue: Add atomic variants for *_EMPTY List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d2870b8666f2438af400269c0f6a1a48031bb71e Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d2870b8666f2438af400269c0f6a1a48031bb71e commit d2870b8666f2438af400269c0f6a1a48031bb71e Author: Mark Johnston AuthorDate: 2025-02-14 15:45:11 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:45:11 +0000 queue: Add atomic variants for *_EMPTY In some places, these macros are used without a lock, under the assumption that they are naturally atomic. After commit 34740937f7a4 ("queue: New debug macros for STAILQ"), this assumption is false. Provide *_EMPTY_ATOMIC for such cases. This lets us include extra debug checks for the non-atomic case, and gives us a way to explicitly annotate unlocked checks, which generally deserve extra scrutiny and might otherwise raise reports from KCSAN. Reviewed by: kib, olce (previous version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D48899 --- share/man/man3/queue.3 | 26 +++++++++++++++++++++++++- sys/sys/queue.h | 12 ++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/share/man/man3/queue.3 b/share/man/man3/queue.3 index be890fd2cc88..e55c7cfb7513 100644 --- a/share/man/man3/queue.3 +++ b/share/man/man3/queue.3 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 8, 2024 +.Dd February 10, 2025 .Dt QUEUE 3 .Os .Sh NAME @@ -33,6 +33,7 @@ .Nm SLIST_CLASS_HEAD , .Nm SLIST_CONCAT , .Nm SLIST_EMPTY , +.Nm SLIST_EMPTY_ATOMIC , .Nm SLIST_ENTRY , .Nm SLIST_FIRST , .Nm SLIST_FOREACH , @@ -53,6 +54,7 @@ .Nm STAILQ_CLASS_HEAD , .Nm STAILQ_CONCAT , .Nm STAILQ_EMPTY , +.Nm STAILQ_EMPTY_ATOMIC , .Nm STAILQ_ENTRY , .Nm STAILQ_FIRST , .Nm STAILQ_FOREACH , @@ -75,6 +77,7 @@ .Nm LIST_CLASS_HEAD , .Nm LIST_CONCAT , .Nm LIST_EMPTY , +.Nm LIST_EMPTY_ATOMIC , .Nm LIST_ENTRY , .Nm LIST_FIRST , .Nm LIST_FOREACH , @@ -96,6 +99,7 @@ .Nm TAILQ_CLASS_HEAD , .Nm TAILQ_CONCAT , .Nm TAILQ_EMPTY , +.Nm TAILQ_EMPTY_ATOMIC , .Nm TAILQ_ENTRY , .Nm TAILQ_FIRST , .Nm TAILQ_FOREACH , @@ -128,6 +132,7 @@ lists and tail queues .Fn SLIST_CLASS_HEAD "HEADNAME" "CLASSTYPE" .Fn SLIST_CONCAT "SLIST_HEAD *head1" "SLIST_HEAD *head2" "TYPE" "SLIST_ENTRY NAME" .Fn SLIST_EMPTY "SLIST_HEAD *head" +.Fn SLIST_EMPTY_ATOMIC "SLIST_HEAD *head" .Fn SLIST_ENTRY "TYPE" .Fn SLIST_FIRST "SLIST_HEAD *head" .Fn SLIST_FOREACH "TYPE *var" "SLIST_HEAD *head" "SLIST_ENTRY NAME" @@ -149,6 +154,7 @@ lists and tail queues .Fn STAILQ_CLASS_HEAD "HEADNAME" "CLASSTYPE" .Fn STAILQ_CONCAT "STAILQ_HEAD *head1" "STAILQ_HEAD *head2" .Fn STAILQ_EMPTY "STAILQ_HEAD *head" +.Fn STAILQ_EMPTY_ATOMIC "STAILQ_HEAD *head" .Fn STAILQ_ENTRY "TYPE" .Fn STAILQ_FIRST "STAILQ_HEAD *head" .Fn STAILQ_FOREACH "TYPE *var" "STAILQ_HEAD *head" "STAILQ_ENTRY NAME" @@ -172,6 +178,7 @@ lists and tail queues .Fn LIST_CLASS_HEAD "HEADNAME" "CLASSTYPE" .Fn LIST_CONCAT "LIST_HEAD *head1" "LIST_HEAD *head2" "TYPE" "LIST_ENTRY NAME" .Fn LIST_EMPTY "LIST_HEAD *head" +.Fn LIST_EMPTY_ATOMIC "LIST_HEAD *head" .Fn LIST_ENTRY "TYPE" .Fn LIST_FIRST "LIST_HEAD *head" .Fn LIST_FOREACH "TYPE *var" "LIST_HEAD *head" "LIST_ENTRY NAME" @@ -194,6 +201,7 @@ lists and tail queues .Fn TAILQ_CLASS_HEAD "HEADNAME" "CLASSTYPE" .Fn TAILQ_CONCAT "TAILQ_HEAD *head1" "TAILQ_HEAD *head2" "TAILQ_ENTRY NAME" .Fn TAILQ_EMPTY "TAILQ_HEAD *head" +.Fn TAILQ_EMPTY_ATOMIC "TAILQ_HEAD *head" .Fn TAILQ_ENTRY "TYPE" .Fn TAILQ_FIRST "TAILQ_HEAD *head" .Fn TAILQ_FOREACH "TYPE *var" "TAILQ_HEAD *head" "TAILQ_ENTRY NAME" @@ -425,6 +433,10 @@ high-usage code paths or to operate on long lists. The macro .Nm SLIST_EMPTY evaluates to true if there are no elements in the list. +The +.Nm SLIST_EMPTY_ATOMIC +variant has the same behavior, but can be safely used in contexts where it is +possible that a different thread is concurrently updating the list. .Pp The macro .Nm SLIST_ENTRY @@ -633,6 +645,10 @@ removing all entries from the former. The macro .Nm STAILQ_EMPTY evaluates to true if there are no items on the tail queue. +The +.Nm STAILQ_EMPTY_ATOMIC +variant has the same behavior, but can be safely used in contexts where it is +possible that a different thread is concurrently updating the queue. .Pp The macro .Nm STAILQ_ENTRY @@ -866,6 +882,10 @@ high-usage code paths or to operate on long lists. The macro .Nm LIST_EMPTY evaluates to true if there are no elements in the list. +The +.Nm LIST_EMPTY_ATOMIC +variant has the same behavior, but can be safely used in contexts where it is +possible that a different thread is concurrently updating the list. .Pp The macro .Nm LIST_ENTRY @@ -1084,6 +1104,10 @@ removing all entries from the former. The macro .Nm TAILQ_EMPTY evaluates to true if there are no items on the tail queue. +The +.Nm TAILQ_EMPTY_ATOMIC +variant has the same behavior, but can be safely used in contexts where it is +possible that a different thread is concurrently updating the queue. .Pp The macro .Nm TAILQ_ENTRY diff --git a/sys/sys/queue.h b/sys/sys/queue.h index c1fa8cd812cf..6e4da0fa0bec 100644 --- a/sys/sys/queue.h +++ b/sys/sys/queue.h @@ -226,6 +226,9 @@ struct { \ #define SLIST_EMPTY(head) ((head)->slh_first == NULL) +#define SLIST_EMPTY_ATOMIC(head) \ + (atomic_load_ptr(&(head)->slh_first) == NULL) + #define SLIST_FIRST(head) ((head)->slh_first) #define SLIST_FOREACH(var, head, field) \ @@ -387,6 +390,9 @@ struct { \ STAILQ_FIRST(head) == NULL; \ }) +#define STAILQ_EMPTY_ATOMIC(head) \ + (atomic_load_ptr(&(head)->stqh_first) == NULL) + #define STAILQ_FIRST(head) ((head)->stqh_first) #define STAILQ_FOREACH(var, head, field) \ @@ -575,6 +581,9 @@ struct { \ #define LIST_EMPTY(head) ((head)->lh_first == NULL) +#define LIST_EMPTY_ATOMIC(head) \ + (atomic_load_ptr(&(head)->lh_first) == NULL) + #define LIST_FIRST(head) ((head)->lh_first) #define LIST_FOREACH(var, head, field) \ @@ -779,6 +788,9 @@ struct { \ #define TAILQ_EMPTY(head) ((head)->tqh_first == NULL) +#define TAILQ_EMPTY_ATOMIC(head) \ + (atomic_load_ptr(&(head)->tqh_first) == NULL) + #define TAILQ_FIRST(head) ((head)->tqh_first) #define TAILQ_FOREACH(var, head, field) \ From nobody Fri Feb 14 15:56: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 4Yvc9q0f01z5nHvd; Fri, 14 Feb 2025 15:56:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvc9q02Rmz3SZd; Fri, 14 Feb 2025 15:56:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739548607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=piJ5Ja2MjEx1WsIKbHRI9PfbEN40UP8crNvRBv22dW8=; b=eYqGy9g4E2MOUv0ZDAYi+/MizNL0LVLzPEbyj/e6qYYpBwFfVWK1zBSVHEy5LJF3q+Ca4c IHXcwwSuKFQip3ACC9zj54wMsr5Mdp9vuMp69OCLwoGwtC++kzxUDDkc6m7/xG1ci6607b uvPnMSyIKUG/neP5vj8aO7ger1fTUY6CpZ54CH4pWSfDXshLrjYNd1D7uT/wVDFDNm9xH6 IlZY/1K9iEnOQJhnU1bLc8zlihWGnhlV3NyOzK8dm0E/GAmlyPR78SpK6yuKY+bCMWSLB6 /L9X/9DATmH5o5yzZCU4S8UHaV15OwFO4JahNkktdTsl8oobej826iGnrgMlXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739548607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=piJ5Ja2MjEx1WsIKbHRI9PfbEN40UP8crNvRBv22dW8=; b=WVoySkWbghJF8lgh5f+RiGU+mWKE/NsVuQtVQm057DYO5BSkMwEZwc0J+Em7GEb+fZ8Vt9 yNHKXXoUjGMWhZ+QJNCNIf7vFGko2ZlE/H9MVOeQJI17gL84Z6E3P12YxjrwkNLlIjJa99 E5SeP1jCxFXrX0U85yplcSu5S7WLiDb4Ctu8rikr4xi3kH/SI8ls9hxLRGtWNs8S+toMb8 w7kouJkZv3Byv/bkDuQyRkmsv+lOK92uM8ad6DJA4tXy/Hs+fmtleZKiEPXNL4q4BYVDrM GB3IPQKADNlA+/UNpQJ1v6Hc6cJqBQsGGE1OXqHX5g7Nt4Zk37zbDBSq4Eh7BQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739548607; a=rsa-sha256; cv=none; b=IxQbu7hhoavW66wY1kv+JfJzBkHi7mDQZtddNhuKiXe/gm+Jytmtgp/v+RualETP6X48x/ dGMZ15db9RCCvHFXA0lGG7MUYDknD3HAayJcIIGX1vRaCtFdQJPtzZn0I6anIfP7N12bBB rtP4sGuR4XIxMIikPeR6E/2bkcDK2J5lr1CMUoFd6kdsvUBetGLfot5Ad1Vh1kZm7K+OOn Okj2wnS5VDjVdDsBO7bWpQmhOjucUWv3Wz4jDOUsANDxNii1tcZLV8hcbs3uhJ19IO1oy3 EjCp2YCju4MHXZy3SvBckSvepJqixuxAoztCjWu7OqwRDnw5wYVhxT+HyCTrcw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvc9p6ldwzdc0; Fri, 14 Feb 2025 15:56: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 51EFukfM046188; Fri, 14 Feb 2025 15:56:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EFukh4046185; Fri, 14 Feb 2025 15:56:46 GMT (envelope-from git) Date: Fri, 14 Feb 2025 15:56:46 GMT Message-Id: <202502141556.51EFukh4046185@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: 36631977d8c9 - main - ktr: Use STAILQ_EMPTY_ATOMIC when checking for records in ktr_drain() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 36631977d8c9264b7a54f039289918adea4d2a03 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=36631977d8c9264b7a54f039289918adea4d2a03 commit 36631977d8c9264b7a54f039289918adea4d2a03 Author: Mark Johnston AuthorDate: 2025-02-14 15:49:27 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 15:52:29 +0000 ktr: Use STAILQ_EMPTY_ATOMIC when checking for records in ktr_drain() This is an unlocked check, and after commit 34740937f7a4 the debug checks in STAILQ_EMPTY may spuriously fail here. In particular, the per process queue is updated under the global ktrace mutex, not held in ktr_drain(). If a record is enqueued concurrently, the recording thread will schedule an AST to drain the queue again, so it should not be possible for a race to leave records in the queue indefinitely. Reviewed by: kib, olce Reported by: syzbot+d67eddd8c4923ee28bb7@syzkaller.appspotmail.com MFC after: 2 weeks Fixes: 34740937f7a4 ("queue: New debug macros for STAILQ") Differential Revision: https://reviews.freebsd.org/D48899 --- sys/kern/kern_ktrace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c index a67b773a154c..7a5846de9f6a 100644 --- a/sys/kern/kern_ktrace.c +++ b/sys/kern/kern_ktrace.c @@ -396,7 +396,7 @@ ktr_drain(struct thread *td) STAILQ_INIT(&local_queue); - if (!STAILQ_EMPTY(&td->td_proc->p_ktr)) { + if (!STAILQ_EMPTY_ATOMIC(&td->td_proc->p_ktr)) { mtx_lock(&ktrace_mtx); STAILQ_CONCAT(&local_queue, &td->td_proc->p_ktr); mtx_unlock(&ktrace_mtx); From nobody Fri Feb 14 16: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 4Yvd2H0tqrz5nKxD; Fri, 14 Feb 2025 16:35:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvd2H0Mnvz3hd4; Fri, 14 Feb 2025 16:35:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739550919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ifXoR6UyqWUJFkzNiiaCS4r8EIS2gdD1OB0e8mKS2k4=; b=lV3czwIxKhaDt16E6BBy869vXJEXHxc4RhXscp44a+Z51ux2zFi4qnpW6Hu63boeOAoGnu kq/rdagBRH4duwTPJ4GGPjmcfW4v5if2aaKtp3swqltd2GUx2YxOshseK8BI3g8jEkcLVG sht0MnCIuU5VRxOpptWWbhpv5/1PcKr2u9/z154tzPq1AtjKqzpO/rw1nBBq2khSYjM8aC +ivOXMywdYKzLibosSJMD4boQ/EyffiElq3FyksuyUaEX18uspWzvQ7D9jsZ8auvdU0euL 8s1c43tpRqeVNsnNG8mE3kifX/d9zAkp5xSHj95wnn39lak8FXxR35rscfSaDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739550919; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ifXoR6UyqWUJFkzNiiaCS4r8EIS2gdD1OB0e8mKS2k4=; b=Qp7Ahh/XkIrTrkQf3QpVr5fM4FMWFBNHPn61fgxxphm+DMhHn2U2Ulz9Tjep+4IxJP/WN4 Ve2+k4Ph/QjHYLh6e3dZuFkCatsR4kqRgql4mHMkYhDYVQjJyUGq4fD6R21dCJqlsBq/2W H0gyDwJM93n2zuPL2e1qkyLwkqfXMVSGdEwl1l3TeleVeZH3uYURhRcmFvKyWNZVwSjaTX 1XJsl13vN36QWeGbg/wpYUbo1xXUp/MG5207o+9+ECCD/J7C0S+IWQTbUBQ5a2ekcM+3T0 OqL0npo4dTsNOSZpvW2lR/oFUT3dKV+tBxNf1Io43clam0px5lpHZEoeagEgnQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739550919; a=rsa-sha256; cv=none; b=QLHSh93Q63keGpEiI7ERWyPEQuqG2N/1Ztqthy72QmwVhRI/sELmbdHJq2K0QiKzL+Mh3H 9YSueskvIt6LInvIeLpS29bCvvoh8EZs2qDome7HLXZFhVHMLhlDPKlaSmAxA4SxVWWqOg WJYzGFubFieybYzdq/ap/Fa2Jx//wy+sWz9ddpPffeUx928qDXrgJGRKrYo4EviTAjhFmo eI9KxBspHw84EVAGxm2u8qSgP11GBtXCJCQKoOkJQIjWEBFNtrdi2QcuhrebqymmXaXgiq 9H9ZNCIbQS1jMYvOPkqqTslTbE1L4eCjQpTFLePrfQgkKyZmZXDZYx/rMk09VA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvd2G71l4zfgX; Fri, 14 Feb 2025 16: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 51EGZIqr021049; Fri, 14 Feb 2025 16: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 51EGZIOZ021045; Fri, 14 Feb 2025 16:35:18 GMT (envelope-from git) Date: Fri, 14 Feb 2025 16:35:18 GMT Message-Id: <202502141635.51EGZIOZ021045@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: 0f63c4af5e47 - main - limits tests: Try to fix spurious cputime test failures List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 0f63c4af5e4761680550b0aa08cc96f52076c08c Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0f63c4af5e4761680550b0aa08cc96f52076c08c commit 0f63c4af5e4761680550b0aa08cc96f52076c08c Author: Mark Johnston AuthorDate: 2025-02-14 16:26:19 +0000 Commit: Mark Johnston CommitDate: 2025-02-14 16:26:19 +0000 limits tests: Try to fix spurious cputime test failures I very occasionally see test failures caused by the total CPU time being several milliseconds under 3s. The test runs "limits -t 3 time " and verifies that the reported time elapsed is at least 3s (and not too much more). In particular, any time spent executing time(1) itself is counted against the limit but not recorded in the output. I think it makes more sense to reverse the order, so that the CPU time limit is not applied to time(1) itself. This also resolves the test failures I was seeing, which were reproducible only under load (i.e., running many tests in parallel). MFC after: 2 weeks Sponsored by: Klara, Inc. --- usr.bin/limits/tests/limits_test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.bin/limits/tests/limits_test.sh b/usr.bin/limits/tests/limits_test.sh index 701886066ff1..fd7b50b0945a 100755 --- a/usr.bin/limits/tests/limits_test.sh +++ b/usr.bin/limits/tests/limits_test.sh @@ -57,7 +57,7 @@ cputime_hard_flag_body() atf_check -o match:'cputime[[:space:]]+3 secs' \ limits -H -t 3 limits -S atf_check -e save:time_output -s signal:sigkill \ - limits -H -t 3 $TIME -p sh -c 'while : ; do : ; done' + $TIME -p limits -H -t 3 sh -c 'while : ; do : ; done' validate_time_output time_output } cputime_hard_flag_cleanup() @@ -76,7 +76,7 @@ cputime_soft_flag_body() atf_check -o match:'cputime-cur[[:space:]]+3 secs' \ limits -S -t 3 limits -S atf_check -e save:time_output -s signal:$SIGXCPU \ - limits -S -t 3 $TIME -p sh -c 'while : ; do : ; done' + $TIME -p limits -S -t 3 sh -c 'while : ; do : ; done' validate_time_output time_output } cputime_soft_flag_cleanup() From nobody Fri Feb 14 17:50: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 4Yvfhw6h5xz5nQtk; Fri, 14 Feb 2025 17:50:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfhw5wQTz3KKG; Fri, 14 Feb 2025 17:50:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CvYmho+h/iQ3SJLlJmD+CktYSrBvZyF0XAtaMDW/yho=; b=VuO4n9+JaOLRR3kO1gSf+kAlSLasVqzt69CKUOFK8DUV77Ho12Q9aqDoB/3jHnc++sWr94 +smaujh9vAyHsNSuAM81URovlC5v4e/YiRBQrcJqyfRIuVKNiuwCZ1WrfldGcelTDKwoVK d8l6wa+YBAZfb6mT8o46W2CexD4uWxMmXPx+uZbAzCEVzj2Ag7PYMi0rpIgIjcmVxMst55 tBxrFGj0os0m6pL701icEFE7PoRT7mCYxCZjzkj4brr20n9K0ykf3uq4n8K/fKxmrEU7ld 6Jla6rAO4cS4DbRZ9fuq7nKjs1sjpZDfvjsm0ubtqSetOR4+DpZKgxqUuAMZeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555424; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CvYmho+h/iQ3SJLlJmD+CktYSrBvZyF0XAtaMDW/yho=; b=QTwGkEsX6PO9OfxDK7l23AQHmSkBh1qVUL9mRCvcxpLMmL5HjL2RQOEkqFT/XvU45m4xt7 S+Npk6bfpml6CuZGPebDX3Pt5R1lHG4ivhp0FIZMhZ6m0rWw52uyb26k4wjmn1xju/8Ncb FPFQVK8fwEvS9Abv9QIGTYwJYcVtT6x7S/LjXCLUV7zsWYknJlJeOw23voSY8DlzowoFbL l3dmeC6BrC+ptjp+bYGLdlb83YsSkr4lDZ2w+cusshB1hix6d7lgpmQI2wPO2PIfb04Gmk soPpu69n0PNf4jvEY9rKc4DHxY/lZcr4jUGYSVk6qXs+R+nPyqk5hKpF733ReA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555424; a=rsa-sha256; cv=none; b=yCrYiCFCwSLd2YikFDoGPTK6xHrrGof8AJHHDI6K5s2tJGJ/7U5i6gajr1w9yIMGUqhVV7 cR90DElPWJWSEQAC6WjiZtz+lanqZqFlQEhaMa3ZnP9WenkCPa0ZegHeKWXoGLBQ1qMbSi v9qbj7jFv+ZzQTi4Kam8Cz0MDC2OW0kU+hmThk5KdmBVBMDsCjlz7P4jOcR99tZMwkv3U/ 9Kn/njpXm+bTrOYhh/Lz7WZnlwGIqSWmweNcLyJMmhJ1nNhK+ja6Ck/rxh1YRNzY0LOV7R TDQ/YzCpnZAz/bi0KAY9YXv4vQt1Tk3mTeL8yDlKFMYhoEdOydhWTg4cG9Zs5Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfhw5V6SzgxR; Fri, 14 Feb 2025 17:50: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 51EHoOpg061345; Fri, 14 Feb 2025 17:50:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoOFm061342; Fri, 14 Feb 2025 17:50:24 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:24 GMT Message-Id: <202502141750.51EHoOFm061342@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 7e7f88001d7d - main - pf: use time_t for storing time_t values List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7e7f88001d7dfec83cd7568369be6a587d4a51ff Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=7e7f88001d7dfec83cd7568369be6a587d4a51ff commit 7e7f88001d7dfec83cd7568369be6a587d4a51ff Author: Kristof Provost AuthorDate: 2025-02-07 10:29:26 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:52 +0000 pf: use time_t for storing time_t values No change to the underlying type, so no ABI change. We define __time_t as uint64_t if __LP64__, otherwise uint32_t, and only define __LP64__ if long is 64 bits. In other words: __time_t == long. ok henning@ deraadt@ Obtained from: OpenBSD, guenther , 6c1b69a0ff Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D48963 --- share/man/man4/pf.4 | 4 ++-- sys/net/pfvar.h | 12 ++++++------ sys/netpfil/pf/pf_table.c | 40 ++++++++++++++++++++-------------------- 3 files changed, 28 insertions(+), 28 deletions(-) diff --git a/share/man/man4/pf.4 b/share/man/man4/pf.4 index 92e1a6fdf87b..9ab46558a2d6 100644 --- a/share/man/man4/pf.4 +++ b/share/man/man4/pf.4 @@ -682,7 +682,7 @@ struct pfr_tstats { [PFR_DIR_MAX][PFR_OP_TABLE_MAX]; u_int64_t pfrts_match; u_int64_t pfrts_nomatch; - long pfrts_tzero; + time_t pfrts_tzero; int pfrts_cnt; int pfrts_refcnt[PFR_REFCNT_MAX]; }; @@ -822,7 +822,7 @@ struct pfr_astats { [PFR_DIR_MAX][PFR_OP_ADDR_MAX]; u_int64_t pfras_bytes [PFR_DIR_MAX][PFR_OP_ADDR_MAX]; - long pfras_tzero; + time_t pfras_tzero; }; .Ed .It Dv DIOCRCLRASTATS Fa "struct pfioc_table *io" diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 076027e436dc..964a1d41f353 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1434,7 +1434,7 @@ struct pfr_astats { struct pfr_addr pfras_a; u_int64_t pfras_packets[PFR_DIR_MAX][PFR_OP_ADDR_MAX]; u_int64_t pfras_bytes[PFR_DIR_MAX][PFR_OP_ADDR_MAX]; - long pfras_tzero; + time_t pfras_tzero; }; enum { PFR_REFCNT_RULE, PFR_REFCNT_ANCHOR, PFR_REFCNT_MAX }; @@ -1445,7 +1445,7 @@ struct pfr_tstats { u_int64_t pfrts_bytes[PFR_DIR_MAX][PFR_OP_TABLE_MAX]; u_int64_t pfrts_match; u_int64_t pfrts_nomatch; - long pfrts_tzero; + time_t pfrts_tzero; int pfrts_cnt; int pfrts_refcnt[PFR_REFCNT_MAX]; }; @@ -1507,7 +1507,7 @@ struct pfr_ktstats { struct pfr_kstate_counter pfrkts_bytes[PFR_DIR_MAX][PFR_OP_TABLE_MAX]; struct pfr_kstate_counter pfrkts_match; struct pfr_kstate_counter pfrkts_nomatch; - long pfrkts_tzero; + time_t pfrkts_tzero; int pfrkts_cnt; int pfrkts_refcnt[PFR_REFCNT_MAX]; }; @@ -1528,7 +1528,7 @@ union sockaddr_union { struct pfr_kcounters { counter_u64_t pfrkc_counters; - long pfrkc_tzero; + time_t pfrkc_tzero; }; #define pfr_kentry_counter(kc, dir, op, t) \ ((kc)->pfrkc_counters + \ @@ -1586,7 +1586,7 @@ struct pfi_kkif { #define pfik_list _pfik_glue._pfik_list struct pf_counter_u64 pfik_packets[2][2][2]; struct pf_counter_u64 pfik_bytes[2][2][2]; - u_int32_t pfik_tzero; + time_t pfik_tzero; u_int pfik_flags; struct ifnet *pfik_ifp; struct ifg_group *pfik_group; @@ -2489,7 +2489,7 @@ int pfr_get_tstats(struct pfr_table *, struct pfr_tstats *, int *, int); int pfr_clr_tstats(struct pfr_table *, int, int *, int); int pfr_set_tflags(struct pfr_table *, int, int, int, int *, int *, int); int pfr_clr_addrs(struct pfr_table *, int *, int); -int pfr_insert_kentry(struct pfr_ktable *, struct pfr_addr *, long); +int pfr_insert_kentry(struct pfr_ktable *, struct pfr_addr *, time_t); int pfr_add_addrs(struct pfr_table *, struct pfr_addr *, int, int *, int); int pfr_del_addrs(struct pfr_table *, struct pfr_addr *, int, int *, diff --git a/sys/netpfil/pf/pf_table.c b/sys/netpfil/pf/pf_table.c index 03efa0b738da..666ec18ec377 100644 --- a/sys/netpfil/pf/pf_table.c +++ b/sys/netpfil/pf/pf_table.c @@ -139,11 +139,11 @@ static struct pfr_kentry *pfr_create_kentry(struct pfr_addr *, bool); static void pfr_destroy_kentries(struct pfr_kentryworkq *); static void pfr_destroy_kentry(struct pfr_kentry *); static void pfr_insert_kentries(struct pfr_ktable *, - struct pfr_kentryworkq *, long); + struct pfr_kentryworkq *, time_t); static void pfr_remove_kentries(struct pfr_ktable *, struct pfr_kentryworkq *); static void pfr_clstats_kentries(struct pfr_ktable *, - struct pfr_kentryworkq *, long, int); + struct pfr_kentryworkq *, time_t, int); static void pfr_reset_feedback(struct pfr_addr *, int); static void pfr_prepare_network(union sockaddr_union *, int, int); static int pfr_route_kentry(struct pfr_ktable *, @@ -153,16 +153,16 @@ static int pfr_unroute_kentry(struct pfr_ktable *, static int pfr_walktree(struct radix_node *, void *); static int pfr_validate_table(struct pfr_table *, int, int); static int pfr_fix_anchor(char *); -static void pfr_commit_ktable(struct pfr_ktable *, long); +static void pfr_commit_ktable(struct pfr_ktable *, time_t); static void pfr_insert_ktables(struct pfr_ktableworkq *); static void pfr_insert_ktable(struct pfr_ktable *); static void pfr_setflags_ktables(struct pfr_ktableworkq *); static void pfr_setflags_ktable(struct pfr_ktable *, int); -static void pfr_clstats_ktables(struct pfr_ktableworkq *, long, +static void pfr_clstats_ktables(struct pfr_ktableworkq *, time_t, int); -static void pfr_clstats_ktable(struct pfr_ktable *, long, int); +static void pfr_clstats_ktable(struct pfr_ktable *, time_t, int); static struct pfr_ktable - *pfr_create_ktable(struct pfr_table *, long, int); + *pfr_create_ktable(struct pfr_table *, time_t, int); static void pfr_destroy_ktables(struct pfr_ktableworkq *, int); static void pfr_destroy_ktable(struct pfr_ktable *, int); static int pfr_ktable_compare(struct pfr_ktable *, @@ -245,7 +245,7 @@ pfr_add_addrs(struct pfr_table *tbl, struct pfr_addr *addr, int size, struct pfr_kentry *p, *q; struct pfr_addr *ad; int i, rv, xadd = 0; - long tzero = time_second; + time_t tzero = time_second; PF_RULES_WASSERT(); @@ -397,7 +397,7 @@ pfr_set_addrs(struct pfr_table *tbl, struct pfr_addr *addr, int size, struct pfr_kentry *p, *q; struct pfr_addr ad; int i, rv, xadd = 0, xdel = 0, xchange = 0; - long tzero = time_second; + time_t tzero = time_second; PF_RULES_WASSERT(); @@ -584,7 +584,7 @@ pfr_get_astats(struct pfr_table *tbl, struct pfr_astats *addr, int *size, struct pfr_walktree w; struct pfr_kentryworkq workq; int rv; - long tzero = time_second; + time_t tzero = time_second; PF_RULES_RASSERT(); @@ -828,7 +828,7 @@ pfr_destroy_kentry(struct pfr_kentry *ke) static void pfr_insert_kentries(struct pfr_ktable *kt, - struct pfr_kentryworkq *workq, long tzero) + struct pfr_kentryworkq *workq, time_t tzero) { struct pfr_kentry *p; int rv, n = 0; @@ -847,7 +847,7 @@ pfr_insert_kentries(struct pfr_ktable *kt, } int -pfr_insert_kentry(struct pfr_ktable *kt, struct pfr_addr *ad, long tzero) +pfr_insert_kentry(struct pfr_ktable *kt, struct pfr_addr *ad, time_t tzero) { struct pfr_kentry *p; int rv; @@ -896,7 +896,7 @@ pfr_clean_node_mask(struct pfr_ktable *kt, static void pfr_clstats_kentries(struct pfr_ktable *kt, struct pfr_kentryworkq *workq, - long tzero, int negchange) + time_t tzero, int negchange) { struct pfr_kentry *p; int i; @@ -1173,7 +1173,7 @@ pfr_add_tables(struct pfr_table *tbl, int size, int *nadd, int flags) struct pfr_ktableworkq addq, changeq; struct pfr_ktable *p, *q, *r, key; int i, rv, xadd = 0; - long tzero = time_second; + time_t tzero = time_second; ACCEPT_FLAGS(flags, PFR_FLAG_DUMMY); SLIST_INIT(&addq); @@ -1318,7 +1318,7 @@ pfr_get_tstats(struct pfr_table *filter, struct pfr_tstats *tbl, int *size, struct pfr_ktable *p; struct pfr_ktableworkq workq; int n, nn; - long tzero = time_second; + time_t tzero = time_second; int pfr_dir, pfr_op; /* XXX PFR_FLAG_CLSTATS disabled */ @@ -1375,7 +1375,7 @@ pfr_clr_tstats(struct pfr_table *tbl, int size, int *nzero, int flags) struct pfr_ktableworkq workq; struct pfr_ktable *p, key; int i, xzero = 0; - long tzero = time_second; + time_t tzero = time_second; ACCEPT_FLAGS(flags, PFR_FLAG_DUMMY | PFR_FLAG_ADDRSTOO); SLIST_INIT(&workq); @@ -1619,7 +1619,7 @@ pfr_ina_commit(struct pfr_table *trs, u_int32_t ticket, int *nadd, struct pfr_ktableworkq workq; struct pf_kruleset *rs; int xadd = 0, xchange = 0; - long tzero = time_second; + time_t tzero = time_second; PF_RULES_WASSERT(); @@ -1657,7 +1657,7 @@ pfr_ina_commit(struct pfr_table *trs, u_int32_t ticket, int *nadd, } static void -pfr_commit_ktable(struct pfr_ktable *kt, long tzero) +pfr_commit_ktable(struct pfr_ktable *kt, time_t tzero) { counter_u64_t *pkc, *qkc; struct pfr_ktable *shadow = kt->pfrkt_shadow; @@ -1882,7 +1882,7 @@ pfr_setflags_ktable(struct pfr_ktable *kt, int newf) } static void -pfr_clstats_ktables(struct pfr_ktableworkq *workq, long tzero, int recurse) +pfr_clstats_ktables(struct pfr_ktableworkq *workq, time_t tzero, int recurse) { struct pfr_ktable *p; @@ -1891,7 +1891,7 @@ pfr_clstats_ktables(struct pfr_ktableworkq *workq, long tzero, int recurse) } static void -pfr_clstats_ktable(struct pfr_ktable *kt, long tzero, int recurse) +pfr_clstats_ktable(struct pfr_ktable *kt, time_t tzero, int recurse) { struct pfr_kentryworkq addrq; int pfr_dir, pfr_op; @@ -1914,7 +1914,7 @@ pfr_clstats_ktable(struct pfr_ktable *kt, long tzero, int recurse) } static struct pfr_ktable * -pfr_create_ktable(struct pfr_table *tbl, long tzero, int attachruleset) +pfr_create_ktable(struct pfr_table *tbl, time_t tzero, int attachruleset) { struct pfr_ktable *kt; struct pf_kruleset *rs; From nobody Fri Feb 14 17:50:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvfhy3LlYz5nQtl; Fri, 14 Feb 2025 17:50:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfhx6sHRz3KF5; Fri, 14 Feb 2025 17:50:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vRP77Ozg6eLpj61Yq/VYT1x+hYjhU0WzVM+75Nt7N9E=; b=MqZ+bv7G8irjBmi6BIuGJ/fK7GOXnPZqgWCCWOEhvQpTG4JBNVJBKNGrf6fYaw5cr156Ke jl5j6DH4hk0d3Fbz/6eVc8KGHOsVKge+gxyA6um5Wq6XjkiRmfrlYnNrmRdgXiEXGJqUT7 kplH+hqzGbCK25GgBA3eFE+cbCMSuj8troLRAF1UHf0L+yrAtnF0Zalx9emH6QsEvk2FwC c9V+srxcvrHC6MlidOAvcNk+x4hQ7m2qlemuDdjT9n6rmyP3tab3fB/AgbLNEVE/Wjkbm7 mhHx/TFGrijogDhbWyV469oB/5sB8X7KSlbLnQ3jdtvQvCSsLNuCsL7mYtwyOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555426; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vRP77Ozg6eLpj61Yq/VYT1x+hYjhU0WzVM+75Nt7N9E=; b=Str+E9XTWiIzxk9IfbHjCQLHDybk/+HccAIVZWqhtcSLw0ShThWHcHfkrQCH9w7VyUAXDM IvyFt2EC7KiW9AmXQ9GVrsmkJkFS2/Bt8QcCnlEqFaLFO8n4zGvkwn2yzfUXp5TaWjMtme JuJuLg1kCdAUjGm56y2wTojxYja7UQEn2dG3JsLiltuMydDARJqon8RdZF5KDYHj9ravNL EcBkMlsOJu6G6TWuR8NtlXWFadep5h9No85epHOpE6gZh4+T8HT+z23Vlk2+is13Auz/w9 Vsfn3DHP/e0127dboANdUSv74LE7QbPRYB4mtFqj/3IAS2bwX1A14Y5stw1qzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555426; a=rsa-sha256; cv=none; b=D4ChqbNAcjpUYac4UY4n0Abz3gZDTNQJN/vR0eJgkhfb52khmEPchRVPbnizFd7Vcwm2Ct PLUjp2c/m6CyWNGZAatZgR0RpNpZRkZmh4MVsotRleqfjOwR2L/PsiG3v/MYZEfKOptJH2 xPyuxSyBM/yYIk1fFXkneub512VYC4QL9RUWoicZ6b6KsNUgjZGPz5uIK8DYLDMCPZi3lY m3SPJKNDVCZ3WOpWapIUAzXcGkRm38a3e5yK5SChw4qt+sbs798zI3CZxi9bBRobs+b2hQ m2XszwkbclqRWUJhwwLuKsbxV61iXzvhI112sxn3lIwfVhxT+gFeyojHeGpTCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfhx6SFZzhcw; Fri, 14 Feb 2025 17:50: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 51EHoP2K061378; Fri, 14 Feb 2025 17:50:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoPEf061375; Fri, 14 Feb 2025 17:50:25 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:25 GMT Message-Id: <202502141750.51EHoPEf061375@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: d2bb19883f78 - main - pf: introduce a way to match "any" interface, excluding loopback ones List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2bb19883f780ea17a794787d6b67e75059b085e Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d2bb19883f780ea17a794787d6b67e75059b085e commit d2bb19883f780ea17a794787d6b67e75059b085e Author: Kristof Provost AuthorDate: 2025-02-11 09:59:12 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:52 +0000 pf: introduce a way to match "any" interface, excluding loopback ones pfi_kkif_attach() annotates the kif with a flag indicating it is the "any" match. pfi_kif_match obeys() that flag. ok benno Obtained from: OpenBSD, henning , 4be478ce5d Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf_if.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 964a1d41f353..0295bcc125f8 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1600,6 +1600,7 @@ struct pfi_kkif { #define PFI_IFLAG_REFS 0x0001 /* has state references */ #define PFI_IFLAG_SKIP 0x0100 /* skip filtering on interface */ +#define PFI_IFLAG_ANY 0x0200 /* match any non-loopback interface */ #ifdef _KERNEL struct pf_sctp_multihome_job; diff --git a/sys/netpfil/pf/pf_if.c b/sys/netpfil/pf/pf_if.c index d2b1b6a781f4..31fc8b152719 100644 --- a/sys/netpfil/pf/pf_if.c +++ b/sys/netpfil/pf/pf_if.c @@ -357,6 +357,11 @@ pfi_kkif_attach(struct pfi_kkif *kif, const char *kif_name) kif->pfik_tzero = time_second > 1 ? time_second : 0; TAILQ_INIT(&kif->pfik_dynaddrs); + if (!strcmp(kif->pfik_name, "any")) { + /* both so it works in the ioctl and the regular case */ + kif->pfik_flags |= PFI_IFLAG_ANY; + } + RB_INSERT(pfi_ifhead, &V_pfi_ifs, kif); return (kif); @@ -474,6 +479,10 @@ pfi_kkif_match(struct pfi_kkif *rule_kif, struct pfi_kkif *packet_kif) return (1); } + if (rule_kif->pfik_flags & PFI_IFLAG_ANY && packet_kif->pfik_ifp && + !(packet_kif->pfik_ifp->if_flags & IFF_LOOPBACK)) + return (1); + return (0); } From nobody Fri Feb 14 17:50: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 4Yvfhz4QyKz5nQlR; Fri, 14 Feb 2025 17:50:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfhz0Yv2z3KPc; Fri, 14 Feb 2025 17:50:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dZtYdpg1PepMjQinVJSiJMSmwH1kaeCuTp3Tvh4g2s=; b=X0gNiDzAfbL5DsKd1I9TgcK3L43xMwMm6qJYeDaRStZLBwyna83RzwMGPbWYjGYprc8yAa +NPEswmxAsiANQ1yCOg3WT9frBLSL+fRfWFatMtvWN0Rn8w0PMUXj7noAbs2FBxc6zQKSu oBZhl+A/s9jobiCsUuQ/Tip8FuxEMbdoGiqv4kON+G2lN9YnLXNPAIDyHfk3QT6ywMRhDy 6/Mp2rn3/a2Xm1zwSaUa3K8zwb/7vJNrEP+s9KGxo7CmF/EYvtyLVaLB981n+lzGPGmJQZ MclAZAcwlVhjDFStdiViKK+D8dr3SOCSL8Rnaz6KCE8+emgVIyxRQmn5laVrIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555427; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0dZtYdpg1PepMjQinVJSiJMSmwH1kaeCuTp3Tvh4g2s=; b=n6D3G2KT90/4xZ+uKfE//9dLVVGH7chpmqq1wtVxTUdjeq+xVniq7f1+RHk84/j/AP2Wdn CAry234N/g853aK/4o5H7OG5D//6s9z5o5IqpcCCSkb8KRIv3J7i6uCHCL6FhjLi6Q+MZb d/IAh7UulVeeGbd0QWu2m1RQiMOtefVdXJxM0CDC9RUFu/3vgviPJQh/XH7y3Kn+sbKDEo LqwJfIbMr46GwXhLTGCCZ5ZTzBHrzaEORZvXbNoLB+0KRXzkSu0VDohLDBOGlh+HbNZQZe fFZJVKP4arTthcVKzL8SA4dUVyrPX6qsPPCNGipZgxnpO7NTJCpUkjJtLgQnlw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555427; a=rsa-sha256; cv=none; b=HaNoJpqrUp6VOY3hj6EOEwT5yu7HZweLi7rnt3PtrzkRWz2xSzQovNgoCOcehTY02kZ7GE jX+0NOpjxG1a8BfpWqSQxeBnpj6XytFQ9E9Tf/mFT7vgDXAKO87reF1P5/titVO2oTnqfz 2YsBg6r4jtbFtDzwN0IiuCar+4TRkJUcpF5uLXYMImK7Ycoge2V0sDyxbikySspJbxzGhs cI+kjzw9j3QCi5JiMv7eyMJCXEMCY15AEs/07LrSJhMz6UmNLBpZIc1HyJD2a5ecz6/P4C sQQYhEX5PMA1gm2T/YAJwdm3OCDhFDWSxAB895ObpMhxQ7aPXY47shyjmwiqzQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfhz09SVzgxS; Fri, 14 Feb 2025 17:50: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 51EHoQQf061414; Fri, 14 Feb 2025 17:50:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoQEk061411; Fri, 14 Feb 2025 17:50:26 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:26 GMT Message-Id: <202502141750.51EHoQEk061411@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: a2614574f245 - main - pfctl: if_item can be "any" now List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a2614574f2459ef56013061a185880f90e035ce4 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=a2614574f2459ef56013061a185880f90e035ce4 commit a2614574f2459ef56013061a185880f90e035ce4 Author: Kristof Provost AuthorDate: 2025-02-11 10:06:53 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:52 +0000 pfctl: if_item can be "any" now Allows things like: block out on $someif received-on any to prevent packets to get forwarded to $someif. Obtained from: OpenBSD, henning , 5984d04852 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/parse.y | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 981039f4124c..b370cbc463ae 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -3379,6 +3379,15 @@ if_item : STRING { $$->next = NULL; $$->tail = $$; } + | ANY { + $$ = calloc(1, sizeof(struct node_if)); + if ($$ == NULL) + err(1, "if_item: calloc"); + strlcpy($$->ifname, "any", sizeof($$->ifname)); + $$->not = 0; + $$->next = NULL; + $$->tail = $$; + } ; af : /* empty */ { $$ = 0; } From nobody Fri Feb 14 17:50:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvfj03rqKz5nQtm; Fri, 14 Feb 2025 17:50:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfj01bTbz3KKL; Fri, 14 Feb 2025 17:50:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/bu9E9hCGmI9aV7ZhGARmRA1CE61plMnboXVNkMW87w=; b=sW2sGgzuoax0tKyxW7mWejDcJSCcJmEvxfIDtlNLKydhTtP/c/+PrUSzr8MVqLg+ELY3o5 jIII8l/7Ap4/FA+cFbL7G4aJo+zOlvsToTIhShGeb2p6pychFv93cFNS7IMSe5Zyv5weEt icFnP5qIrHbl2dZDIueE7QG7Ov/eItiu1T1GUscL4RbvowgefTvEoadoCFm1tJxZRQVmXr 14VyqfllrFs1uz+XY2QQbo7WQGRT1fRI4qtYmRl+ffN+f5Nkg+7K+lF/eM9bCjzwvA+k/n 0R9mpwZcHW5WNuaFp40uybctmSd1ajOjfiJrg6UNO1FUZ/cfoz1ceMOyzJnmsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555428; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/bu9E9hCGmI9aV7ZhGARmRA1CE61plMnboXVNkMW87w=; b=tw6WwjLV1gvyABUDVFyAFeYzlGO80ch8rOURR1hPVa5qZBYTjiqP0Uax8EFznui6m2Z6hl K+IsnVpdjuc+Uq92VHqXU7vSW7jTNqwBJjDT7dzXo8XtWh8FhN/2XtK/vFVkfI9wB6Jqv/ QenKYoEffwdqQK3+tSmt1DfWrbk+qzUheNfFdNMIg4RQUpX3fBe9YEkaYBhTG75KyRv/ih BdUdlkRCSBLK7g+M9jkPC/ETONGBzV956n3dK7eLJbA0FHD8dO9udxjc0wYyrb7RKcIrPW GcJAgMtS6eJ1QlohW0jLbVaOfKr6+P8BmoRe31JACO2mcvZshIJI1yq0s9wTdg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555428; a=rsa-sha256; cv=none; b=AsiLh9b9OvmgmeVtc6jBQkGMygHdp8fFNRS2xLje6DXmZnui25iWBfRGF3u0kFhiBkAl4n wIXlKcoQPwCqBJ3vX9ecj4nrjxRAzZUX+5twFaxRCnbhOHj/lTtvnBuKY7k+ifVliiziF9 /BQqsMncrZjdMFds0QIIRuwK6FPJTDXqaVjNjmDleL9mWfEDr+lv9b8lGxGcbNbl9e5CDj TvvaG7SVzFLKZXBfQioU27tOVlMuphCMbU5tKgRcqpnXICHWzPvFPmTAxyzdXd5zHVWhoO qgdPUZACqRNpij2nDxuco4NVHKycGINy8LyWp2J3TeUL1DnWgAOUI3DAk6xvAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfj0165CzgfB; Fri, 14 Feb 2025 17:50: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 51EHoSE4061454; Fri, 14 Feb 2025 17:50:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoSUI061451; Fri, 14 Feb 2025 17:50:28 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:28 GMT Message-Id: <202502141750.51EHoSUI061451@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 618a8766b28b - main - pf.conf.5: document how any matches any non-loopback interface List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 618a8766b28bd0862fbc1614d93c3ee50a773575 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=618a8766b28bd0862fbc1614d93c3ee50a773575 commit 618a8766b28bd0862fbc1614d93c3ee50a773575 Author: Kristof Provost AuthorDate: 2025-02-11 10:10:25 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:53 +0000 pf.conf.5: document how any matches any non-loopback interface ok benno Obtained from: OpenBSD, henning , 527559b86a Sponsored by: Rubicon Communications, LLC ("Netgate") --- share/man/man5/pf.conf.5 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index f798d1d0acf8..75cb0b39272f 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -27,7 +27,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd February 10, 2025 +.Dd February 11, 2025 .Dt PF.CONF 5 .Os .Sh NAME @@ -749,6 +749,8 @@ see the .Ic group keyword in .Xr ifconfig 8 . +.Ar any +will match any existing interface except loopback ones. .It Ar bridge-to Aq interface Packets matching this rule will be sent out of the specified interface without further processing. @@ -1768,6 +1770,8 @@ see the .Ic group keyword in .Xr ifconfig 8 . +.Ar any +will match any existing interface except loopback ones. .It Aq Ar af This rule applies only to packets of this address family. Supported values are @@ -2182,6 +2186,8 @@ pass in proto tcp to port 22 set prio (2, 5) Only match packets which were received on the specified .Ar interface (or interface group). +.Ar any +will match any existing interface except loopback ones. .It Ar tag Aq Ar string Packets matching this rule will be tagged with the specified string. From nobody Fri Feb 14 17:50:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvfj14jH1z5nQx3; Fri, 14 Feb 2025 17:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfj12RrWz3KMg; Fri, 14 Feb 2025 17:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1RvQhJhb+Ympa1ckWG2mNNBJiAHCjnqP+DgKX62l6dQ=; b=og55PC3f7cYdInzFPJcDl5WGT2KKRoqqXq+S/QXXvQYU/QN2mMe0nSzCIgZ/8KAJWySptl nMToKdO7f7dJUA/ZaEJOSUqDMYhg4va3e2I/RZr1wT8u4e+prkqXUQuY5N/vBZVnQn420T milYa2KGO9BBeujV3NQuv3DjpaMg9p9BlyX758JMOkK6zdwgjwknTgTxATCxWMByYgzYc9 fcX2+a8cBrwf3gvgIHJEMMweQo+tD5kWVjDWgz75vnh/3eTkCgpcQjmeKts+QLsHoK8SRi 9aYp29kdC0wHAbjf8owE0NFXmn2dXvu/+sgInsvNaWt71M56V+QemkE9SbQdlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1RvQhJhb+Ympa1ckWG2mNNBJiAHCjnqP+DgKX62l6dQ=; b=KrOEF27DM/Vb0mRSd1pTNNm5GWAvhMXLJKg+XnyWZBUxhhryEdklpUY1iLyY+QMBsGBXDZ zxctbqOFsQSXmyB40AI/KYb8n3QfRIijdqg3M8qQuiOLhorYqrr3FtNgE/ABRd3JCrmA0u 21fBK5yL8/VhqvjNXj85UGxx8lV+I2P1Gkg+goSK9MkeX3ncl13YXFxmOtBIQ6Shmja+L6 GoG2t4oDskH1FGg2nZOL8ZU5cEQHZRQ+rObS581kMnUFDqM5SlWDyLrspXjezf4Puxrwj/ NpkbM86U1R1H2G7yP7McGQmcyjufoz/8r0wsxxvzu1ZfUsiWXw927VMrjJixKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555429; a=rsa-sha256; cv=none; b=DOeXDBqfgwc06KoE2oZvU2DuvYswLN/wJgRF54bCkFwAyprvlYRtFZthZuJKpMba+3lem9 WUbtKHjy8I7bGlqwUUSHhryG4+3BUgqnCZ8+3Cz/edswEs7R0CYN+nV16onYsydL0Vn8yp 9ArFALOhhQ+HOEPfS+eF6Tod6WvQ4VjyqJN/L97JnzDeYmUYRyLp8PQqz4qnXGh5jGYHsS aqrIqFFNrEnRA3AnvQi+LH6nopv4kjU1nn9xFkdT1dlY/a3yNDlT0HP84QaE+aZmJtzpoo iH8ZF23bxpCzF0iFw+D9/MtsFmqbAg6rvpf407CcqY2YJi1A/9beyJP8el78dw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfj1231zzh4p; Fri, 14 Feb 2025 17:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51EHoTV1061487; Fri, 14 Feb 2025 17:50:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoTE2061484; Fri, 14 Feb 2025 17:50:29 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:29 GMT Message-Id: <202502141750.51EHoTE2061484@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 26a7be91ad69 - main - pf tests: basic 'any' interface test 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26a7be91ad693cacaa28ead4b655d88d0ee2ae1a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=26a7be91ad693cacaa28ead4b655d88d0ee2ae1a commit 26a7be91ad693cacaa28ead4b655d88d0ee2ae1a Author: Kristof Provost AuthorDate: 2025-02-11 10:25:24 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:53 +0000 pf tests: basic 'any' interface test case Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/pass_block.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/sys/netpfil/pf/pass_block.sh b/tests/sys/netpfil/pf/pass_block.sh index d5ff37b6c167..b8ad5a86b102 100644 --- a/tests/sys/netpfil/pf/pass_block.sh +++ b/tests/sys/netpfil/pf/pass_block.sh @@ -418,6 +418,39 @@ optimize_any_cleanup() pft_cleanup } +atf_test_case "any_if" "cleanup" +any_if_head() +{ + atf_set descr 'Test the any interface keyword' + atf_set require.user root +} + +any_if_body() +{ + pft_init + + epair=$(vnet_mkepair) + ifconfig ${epair}b 192.0.2.2/24 up + + vnet_mkjail alcatraz ${epair}a + jexec alcatraz ifconfig ${epair}a 192.0.2.1/24 up + + # Sanity check + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 + + jexec alcatraz pfctl -e + pft_set_rules alcatraz \ + "block" \ + "pass in on any" + + atf_check -s exit:0 -o ignore ping -c 1 -t 1 192.0.2.1 +} + +any_if_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "enable_disable" @@ -428,4 +461,5 @@ atf_init_test_cases() atf_add_test_case "urpf" atf_add_test_case "received_on" atf_add_test_case "optimize_any" + atf_add_test_case "any_if" } From nobody Fri Feb 14 17:50:31 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yvfj46rrlz5nQx8; Fri, 14 Feb 2025 17:50:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvfj34NMQz3K67; Fri, 14 Feb 2025 17:50:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ufWYRS/xbJNC/3/1t4Rj9X7pp2BUj3RGrVlkfx2iZlY=; b=pcob1ucxLnuwD3p1CG7ErEEny17s+mI8KjqI6A8dkUbW4dbCR6nPUN2Yrmur7+Q0+fOMVn Jp6wYRA8qF4fU2fOWlFsCPc6faVGS3YYvsSZGInhiLowBGbigdkcuLJSAgtED3tgy56BGK 8y1dCFFA8vlhIVEeRnNf5uutvy1sTdKxNH+M9OqQ7k1iDt7WD98Jv/ZbCje6s6e7YC6jXP MY+lIB/mjpTjY8VK5rdVnrkDOBD1f4JzO9o/aIMpfhYsgBeEnMlFwdWdM05DiyxTxdvDMh SeMpHy+v4dB2tmmQzKmV4UZ/bfBWqJLk6rhDkPKI5XuOr2evNhSYKOcmJAVNWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739555431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ufWYRS/xbJNC/3/1t4Rj9X7pp2BUj3RGrVlkfx2iZlY=; b=jY5+ZqfTxIgyGFdtMYylvDu5p2mAYJ4/6Ks/g/A0I7Sxyr1Ms1HRhEzM2CnftypA8ZRqpl /ahUzsXHgREGhYE1njLes9v6dqu4cOfgPXbqZV09dMl9R/MDeL91Ajtid3YEMTDDc5klQy seYM/i+Imb8fKMQoZ/9N4sUDCS4ie7zZsBOjT89Awdpu8Xqn69IngHYwW2RRJV70uOCBem /lfvgdvczwRpLXsbFZhT/56p5PPoMgzSrVgQ/OLRfaoN6xovmkVlbsTOrP12AVYLWWa2a7 AVUQnw8aLOLeGNF15FtbPXeFqHA5VX3Y4iU/Bb9OQqh73SDWI9QsBv31owYZ4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739555431; a=rsa-sha256; cv=none; b=DCrG3gN/dPPJgVpJGZ+zlsI1B6VNUEtaHik01oKjsNnCn9tIdLNEe/0dH4rPzdCMWuR9EH LValbL2etrkIot28auyfyeDFwvDGJ5YqiwxhbizIUe39pdnVHw7svuam58lbH03SLnXB8Z s8nDhxNNzwjMBUniag7yStd2UKtoJw++/18cJxyBRqVq9Tl/fr65bnebWtINjXvkhLNs2L 59WTXyqRADzZD+JTmyZqBebwZ/KwoRjMS6+yWzZCd5g5uImUWsI0s8e5mB0oVfrtZVpyZm hoxg0bjO+HZGMowtgsCaHzJr6tgEsDDEL6hNiljE13vmIQipvRd83a+NjOpaOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvfj33zGBzh0j; Fri, 14 Feb 2025 17:50:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51EHoV8u061557; Fri, 14 Feb 2025 17:50:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EHoVVQ061554; Fri, 14 Feb 2025 17:50:31 GMT (envelope-from git) Date: Fri, 14 Feb 2025 17:50:31 GMT Message-Id: <202502141750.51EHoVVQ061554@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 8e8a77c56e15 - main - pf: allow multiple pflog interfaces to be created List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8e8a77c56e15c07f27ed7ead0d272ede29eb8ec4 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8e8a77c56e15c07f27ed7ead0d272ede29eb8ec4 commit 8e8a77c56e15c07f27ed7ead0d272ede29eb8ec4 Author: Kristof Provost AuthorDate: 2025-02-14 12:41:22 +0000 Commit: Kristof Provost CommitDate: 2025-02-14 17:47:53 +0000 pf: allow multiple pflog interfaces to be created Fixes: 3bf6554017b78f03bb779a5a3115034243e5c6c7 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/if_pflog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/pf/if_pflog.c b/sys/netpfil/pf/if_pflog.c index f325d0001799..7c9baaeaba76 100644 --- a/sys/netpfil/pf/if_pflog.c +++ b/sys/netpfil/pf/if_pflog.c @@ -111,7 +111,7 @@ pflogattach(int npflog __unused) struct if_clone_addreq req = { .create_f = pflog_clone_create, .destroy_f = pflog_clone_destroy, - .flags = IFC_F_AUTOUNIT | IFC_F_LIMITUNIT, + .flags = IFC_F_AUTOUNIT, }; V_pflog_cloner = ifc_attach_cloner(pflogname, &req); struct ifc_data ifd = { .unit = 0 }; From nobody Fri Feb 14 20:58: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 4Yvksk6DcJz5nfQb; Fri, 14 Feb 2025 20:58:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvksk5JDDz49sP; Fri, 14 Feb 2025 20:58:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739566698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1c32Mwtt6gsb9g0xzq7tfZOYqF22YbbgaDBgJl8Hd/4=; b=JTteF5VR46wNM5MpF10PBFVfAeF9GyH4lRBwEgV/Ig6hNNt+7oynwU1M/w2GZEve1vFxDT db7gFN2zY+fGF1YCQS3scKhWfiFG/VTJiSweps9p5ygdRx9rB8DQCIMeaosozffFSVCSvf k9LCvkJfVnK+58k1lH8ZDRZJlZpE5UVegNEbnd8igpdaOdQ1B+OeDUdYq94rLZ6IZjl57S D7KlyQM8aAQrnSQAvLFgxlDZ1t5x+S0JcKO74WEPmhF4RHjoZosXHT5kvOLhkR94AJi+cA 5Ixpqy7DUGtNydOYoW2cWULTer8neBsXRwbcxGu2bgRZQIZgkmMqeMUnOfnQPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739566698; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1c32Mwtt6gsb9g0xzq7tfZOYqF22YbbgaDBgJl8Hd/4=; b=VIUP99ySXlQ4zxJgiep05kuO7fEqUO6FQLuMm7zAuLtw33WZLM7Kp7sxFdvoUqZqEpUllN 4EltkK9UpBLdpyOtPzxHyM/DGgtBFpQQ1kf65ambrkyry2zMILUIVmimGSg664FeXvXTCa JCsAN56YoiDmZOxAQO+7tNyJHdwRsfYJ/PqiYQ2Av+8K/kCpr6FjTsD5rsbUcEIm4kJQKx 8wvmygZ5DtqjQmD0iHQx+rYPtHOjIVem96L3NvK5VzAzi/eObBiA4Qq1ZPCG2HTL33PpEm CwFCmQhj+W6Q5SJ29TbFQu0FUs7J+1GwbmtvESGk5/eN9MM7ZZHqgsBK/Pf98A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739566698; a=rsa-sha256; cv=none; b=P59cHcV3f15ej7dBsXmUuJu5XgIXsH6P0MUbMsstgNvftD8LODN5EJUVJIyAJyS99ifuY/ zSegUd6WFm6TyzlpJwFqbhfj1wxHTfQnPF8yOen/pArDBY8iLLSHW2PSWlbq0F7Fsja8Kp HmQGNXUGqUiSD3+XJpicb4xV668onlnHTd6tZnponQ3UKk+4FoZBMKV8sLHfTbkEdjkZ4B ChfjWtYVNqyfsluIkRG8uMvD3YOg2MmvDufRjZIH56bcdfNBAqmoqPuOEzfACVMX7J/7ES eLw7xxKEG3i1AXOq4Lf2yU+Z0sRtwIIvvkG6nHeekw0CROsSaj13Lqage0mM0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvksk4MBRzmrF; Fri, 14 Feb 2025 20:58: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 51EKwI60008375; Fri, 14 Feb 2025 20:58:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EKwI3S008372; Fri, 14 Feb 2025 20:58:18 GMT (envelope-from git) Date: Fri, 14 Feb 2025 20:58:18 GMT Message-Id: <202502142058.51EKwI3S008372@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: 4517fbfd4251 - main - nfscl: Add support for CB_RECALL_SLOT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 4517fbfd4251180147082f94253c4347fa44f570 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=4517fbfd4251180147082f94253c4347fa44f570 commit 4517fbfd4251180147082f94253c4347fa44f570 Author: Rick Macklem AuthorDate: 2025-02-14 20:56:52 +0000 Commit: Rick Macklem CommitDate: 2025-02-14 20:56:52 +0000 nfscl: Add support for CB_RECALL_SLOT The callback CB_RECALL_SLOT is required for NFSv4.1/4.2. Fortunately, there does not appear to be any extant NFSv4.1/4.2 servers that use it. Since commit b97a478896e9 fixed handling of session slot shrinking, this patch adds support for CB_RECALL_SLOT, which shrinks the number of session slots as well. MFC after: 2 weeks --- sys/fs/nfs/nfs_commonkrpc.c | 4 ++-- sys/fs/nfs/nfs_var.h | 1 + sys/fs/nfsclient/nfs_clstate.c | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c index e35172ee2b34..0ae3b94bef89 100644 --- a/sys/fs/nfs/nfs_commonkrpc.c +++ b/sys/fs/nfs/nfs_commonkrpc.c @@ -123,7 +123,6 @@ SYSCTL_INT(_vfs_nfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW, &nfs_skip_wcc_da SYSCTL_INT(_vfs_nfs, OID_AUTO, dsretries, CTLFLAG_RW, &nfs_dsretries, 0, "Number of retries for a DS RPC before failure"); -static void nfs_resetslots(struct nfsclsession *); static void nfs_down(struct nfsmount *, struct thread *, const char *, int, int); static void nfs_up(struct nfsmount *, struct thread *, const char *, @@ -1474,12 +1473,13 @@ nfsmout: /* * Reset slots above nfsess_foreslots that are not busy. */ -static void +void nfs_resetslots(struct nfsclsession *sep) { int i; uint64_t bitval; + mtx_assert(&sep->nfsess_mtx, MA_OWNED); bitval = (1 << sep->nfsess_foreslots); for (i = sep->nfsess_foreslots; i < NFSV4_SLOTS; i++) { if ((sep->nfsess_slots & bitval) == 0 && diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h index 00d5b914f4af..b48d853b285e 100644 --- a/sys/fs/nfs/nfs_var.h +++ b/sys/fs/nfs/nfs_var.h @@ -780,6 +780,7 @@ int newnfs_request(struct nfsrv_descript *, struct nfsmount *, struct nfsclient *, struct nfssockreq *, vnode_t, NFSPROC_T *, struct ucred *, u_int32_t, u_int32_t, u_char *, int, u_int64_t *, struct nfsclsession *); +void nfs_resetslots(struct nfsclsession *); int newnfs_connect(struct nfsmount *, struct nfssockreq *, struct ucred *, NFSPROC_T *, int, bool, struct __rpc_client **); void newnfs_disconnect(struct nfsmount *, struct nfssockreq *); diff --git a/sys/fs/nfsclient/nfs_clstate.c b/sys/fs/nfsclient/nfs_clstate.c index 8a82fe77690e..f5621fd0a758 100644 --- a/sys/fs/nfsclient/nfs_clstate.c +++ b/sys/fs/nfsclient/nfs_clstate.c @@ -3934,6 +3934,24 @@ nfscl_docb(struct nfsrv_descript *nd, NFSPROC_T *p) *tl = txdr_unsigned(NFSV4_CBSLOTS - 1); } break; + case NFSV4OP_CBRECALLSLOT: + NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); + highslot = fxdr_unsigned(uint32_t, *tl); + NFSLOCKCLSTATE(); + clp = nfscl_getclntsess(sessionid); + if (clp == NULL) + error = NFSERR_SERVERFAULT; + if (error == 0) { + tsep = nfsmnt_mdssession(clp->nfsc_nmp); + mtx_lock(&tsep->nfsess_mtx); + if ((highslot + 1) < tsep->nfsess_foreslots) { + tsep->nfsess_foreslots = (highslot + 1); + nfs_resetslots(tsep); + } + mtx_unlock(&tsep->nfsess_mtx); + } + NFSUNLOCKCLSTATE(); + break; default: if (i == 0 && minorvers != NFSV4_MINORVERSION) error = NFSERR_OPNOTINSESS; From nobody Fri Feb 14 21:05: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 4Yvl1g1kNdz5nfbG; Fri, 14 Feb 2025 21:05:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvl1g0x5Lz3FJl; Fri, 14 Feb 2025 21:05:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739567111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OnN3P4Y3TmL1dtJBtDrLvePkOCSF0wxgHr2MwBBa8pg=; b=o5QRzafJ+A/BVyKeFJJJ8VKP/Z640X0Leu4LGK950XDqvvYPYLugeMiZjG+zKZOlBtuOfx 59SZLBIDDAkvLHd1ePxTfWWhixMJiRhQ0XNA1bfYIyPtZvJuy7QF2Ew11qbk3SwZnq6ZUb asRfIhaEAOLxAqVCixie1yFcahSL1rNjQ/h3w0XpP5cwFkuR47GKIWG+qIl1R12Nk0Cncm ufBFdcvJkXG5sA7cuoJ/jAZeemabisstlZTMxb95FcT5ml6XrDaiqwK9J0lP/+saiL9FQm m51HoVIwCJ6FZwXIF96RbfbPRmfr1Loev0Q/Tk4+cn9gPy1pPhXVBOWiWGTOHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739567111; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OnN3P4Y3TmL1dtJBtDrLvePkOCSF0wxgHr2MwBBa8pg=; b=Oxjc/LopQWzRfdoU0NBrbedkYGSsDg+gDrCelnDLcWzPuoFduqYPud5c1mB99fnTUjyOLk cRxLEKfQtEcJbOlbqDLeU4hjAA3Wl0qzwZmed/tGtjgLKFTbLK/O8YTnyGMAS30FgUsCx4 PX8DucECbrB6bO3IcZF5oYnvGffJ2hdNGEF+p43IbONBRwH9ebyvIn8NZITNtPl8mP6i8C MQYaYOXq0CKvyZjVcckMPoGUEjwQFIbWJFoLMq2vsrkqJIDzcygKpXRtQbkMNiYciPOzkJ 0O53mpxlBUIV1uwMRmeoR7ffpaEVkm7APGousFpyRVJHze6Ee2oqZY7QRWxL7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739567111; a=rsa-sha256; cv=none; b=qfegJOCgyi08l3PtuBjOY6pqtXKCQol+QhyZTgxrpDPHtn2UQGjO0BBDPpz3WAIA/aVXzg lB3+x3DSu9UxkgeKTwwG7Xgt4UwaOfKH5uUGUqdFgIJCX56xVVBRB90fW1SKSl+o1zwgaG ZQQhzBu5VxoJmyKferLtdiC+6o8UGybwn3cjGEK25h0tdss2hi8KwZCX/p4rfFEMAtPLdV iLCCvdbf/mHvP9H5dRqrUgDIvGl38KS8PhfIY0EFy5IAlXly8C0gznF2QoLe8iow+PF71x Nws5DtfgAoua92y/MjYkOICT3tmZA0Udt936c16EvttujW3s9zHyeXEc+0PLZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvl1f6jVPznZR; Fri, 14 Feb 2025 21:05: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 51EL5Amd027193; Fri, 14 Feb 2025 21:05:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51EL5Al9027190; Fri, 14 Feb 2025 21:05:10 GMT (envelope-from git) Date: Fri, 14 Feb 2025 21:05:10 GMT Message-Id: <202502142105.51EL5Al9027190@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: 464372940b36 - main - param.h: Bump FreeBSD_version for commit 4517fbfd4251 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 464372940b365b6109866440f5ce96f41b084f86 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=464372940b365b6109866440f5ce96f41b084f86 commit 464372940b365b6109866440f5ce96f41b084f86 Author: Rick Macklem AuthorDate: 2025-02-14 21:04:15 +0000 Commit: Rick Macklem CommitDate: 2025-02-14 21:04:15 +0000 param.h: Bump FreeBSD_version for commit 4517fbfd4251 Commit 4517fbfd4251 changed the internal API between the nfscommon and nfscl modules. As such, both need to be rebuilt from sources. --- sys/sys/param.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/sys/param.h b/sys/sys/param.h index 32af2c462540..d3344c41562a 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -73,7 +73,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1500031 +#define __FreeBSD_version 1500032 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Fri Feb 14 21:10: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 4Yvl7c1H47z5ngFY; Fri, 14 Feb 2025 21:10:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvl7c0cyGz3Gt0; Fri, 14 Feb 2025 21:10:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739567420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFVwKpzVeVnEVkjiKapC42t7hLEK6gURhiTdXkrbDas=; b=fKDYNPXESgpShqzZhnMypNjkxShjGq9S3je9R7CX9S71e+MzuuWt9OY8EAiQDGNOeGsCY6 5xqwgQsDBzegGZ8ktDMF/Pg/TJjio5egjJHaPH0WDXucRbyLXseP4r2zoG453KlIZVwMqS wFefIQT7qPoEnx2/kGwF3Eo069nf1Z3mZLdYs9TlajNNRtrTJTVaE//+YJW13TnH2yzPV7 2DFLFT0hycuQ1hAfCSCR7rU9/Gx2cxVed9bm/465CpYRHnx/UE7BMSr677V7ogNSFWPJCf k/ioRo+AOmvIfJojk60dpy3SUx6P0gqcix40OzRPZ7dsSqU/ytnLJ+rw0q38TA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739567420; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFVwKpzVeVnEVkjiKapC42t7hLEK6gURhiTdXkrbDas=; b=g7YFM5WVBo/s/S8RGN4xr54cJ7435baPVjxjRqHrbDePe0K0Qo4Awj8ScMIkQBTHLMZ5FS Yz8CdY9AWZQFQcdLs7rYC6/f6DfJbmukSZK1cOtLgboh5gkx/T32nx+xEAABERrYB70Wp4 A7fQdJnd4WW3TUUMLO9xzfv4256d16dtI90eHmDcnJr3Yoxrhoa9oWl7hxGo6BMz4XoOqz kQh8Wul1NJWRejMm4Fa6KGeiwAnuoFDtW0AkJgP/FLZ/mqdD2ThHmG1PtgJYmUTUW1ZOBL CHeHe5hC4sjN26Pu3+YehZioiWa4sOIXMu4n3YDxaJj6/xNSCm5s61D9NESlvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739567420; a=rsa-sha256; cv=none; b=oM6gNiFO8yE6r2QBqOvl+B2WCIpr8CMwfhcYjWHpW3rt9b8kD8gJznd/6ovBJ86NrCZq1A P7GoFKhyRKiJEmHvIJ/jVjNLw1mtXwBYjTxz8V+iJpaWJSXkmPI7odk6zyQJlYpFUR7dHj qsocjBLiuEtrgOxNa6+fmiwVuLgPh8R+uZLvDkPZFDzEaB6A9pTPsnT/TOxdV66XEG/15d Wsdx8jnFP3ry3kElrx5/By4cVBZABzf4VDh4N74YhGtNshIMxSBNpWsgOxkNsxzYzOmwcJ aUCet08lwkETTxv5Z6jddkhG5LMz3dreJaKg6sL/syx3vyJ6YzLW98SujZ+rTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvl7b6mKVzncy; Fri, 14 Feb 2025 21:10: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 51ELAJoP037385; Fri, 14 Feb 2025 21:10:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ELAJmg037382; Fri, 14 Feb 2025 21:10:19 GMT (envelope-from git) Date: Fri, 14 Feb 2025 21:10:19 GMT Message-Id: <202502142110.51ELAJmg037382@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: 091f30a9d14f - main - UPDATING: Add entry for commit 4517fbfd4251 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 091f30a9d14f9042a4c4a45f591a59d7e0244af6 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=091f30a9d14f9042a4c4a45f591a59d7e0244af6 commit 091f30a9d14f9042a4c4a45f591a59d7e0244af6 Author: Rick Macklem AuthorDate: 2025-02-14 21:08:58 +0000 Commit: Rick Macklem CommitDate: 2025-02-14 21:08:58 +0000 UPDATING: Add entry for commit 4517fbfd4251 --- UPDATING | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/UPDATING b/UPDATING index 8b6aaa6eec00..4740237f6b0b 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".) +20250214: + Commit 4517fbfd4251 modified the internal API between the + nfscommon and nfscl modules. As such, both of these modules + need to be rebuilt from sources. + 20250201: The NFS related daemons, that provide RPC services to the kernel: gssd(8), rpcbind(8), rpc.tlsservd(8) and rpc.tlsclntd(8), now use a From nobody Fri Feb 14 23:29: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 4YvpDN1Jwmz5nqQg; Fri, 14 Feb 2025 23:29:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YvpDN0f1Qz3TX9; Fri, 14 Feb 2025 23:29:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739575780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iQ5YS93E9oqstWQxKIONDkIyfi/8CDQbTViBSdTr0jY=; b=abrNRYZUk72JV64RVkSYBn+uVEQxhyzi3Wc/hxaGp2NlNRwhP+iNQHW1h9YUsBFfLqzof4 PCYdFEJC4KBQ3AuJbzz/ytHXER3M79Unzq5JGcRHKFyk9xrTS4MvAk6L5adK8Jez2cpJTT jGAjmmpQCBGJdUkECuH6ujbphkGx0UdTEHWFoVb3zyUE5vpuuV694dYaeu+NvBXh+fmCwP MxE//3VEHC6lq6uRsqRfpwAaC40g3vUxnyt6V9A4xziAGba3ONbTUoaWi/HmOpkS7Pu09d fvkbClRbVip4IgtSU0mqkgYoNCIUa6QTZlLQud1yWj3OFFuAwDdpiGN0oBrH1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739575780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iQ5YS93E9oqstWQxKIONDkIyfi/8CDQbTViBSdTr0jY=; b=oz1VHmEBjGuLxRV2aiO+Y8TpXRnUT4YBWAFGKps8cj+ik3Hf0PEXHlw1uMmtuGMw6J+mJ7 Cv6THTCCsWGF5s4aS/DiRQDENY+sZGkc6KbSGFzZ3SMfk5TddFycxPhG64MXIEN68k6dTf ggrK0IfQnVoqW1AFy54zb3OSs9FDnIRmliPTo0wqY9fLDkD92tBi1D5ehm4lEifyyDf2k8 9Eai8Sp+zygMUEG7cNqc7PfqdsccIhbKO3E1GEnJLxB8X8y8cxsIfQ3Fclo461RfkaocLm 2ykJ7K/7UXrWdYaf0NUpNdvoV5PQ8vmDpHwys0cK/R+iczRVvK+2hYnnO/+inQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739575780; a=rsa-sha256; cv=none; b=xiTGVX6M940RsNX2ltMET7SFwESgFTu7gnNmoQp+LIolIQ8rgh3tsJIzXGzg5jQRJ+8Kxs Tfwb1Y5+MvXQ8liKpQJblOS345doCyHCJy/tG2yIdmlD8vgIrojR0qGiYhihWg6JDz8oZL 6inYnSNsQyE62skAvHfG3VpVDtL1VzA2Rjc5wt7OzpknTi+RQXWmoZXk5Gek6IAzYKpfQq +e8CR559Zml+b0nSU3dNHC5hxrg1wlFF3x/0ci8+Dj+adDlIwlI0bCDiSXdVLQ4FfALGCu orEwS0BcUgiL/cnDL81q5x9xWyBxJEOCKi4Wj+dpI4rTUPMXHPYug8K3kvVXgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YvpDN068mzs5L; Fri, 14 Feb 2025 23:29: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 51ENTdOD091397; Fri, 14 Feb 2025 23:29:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51ENTdVx091394; Fri, 14 Feb 2025 23:29:39 GMT (envelope-from git) Date: Fri, 14 Feb 2025 23:29:39 GMT Message-Id: <202502142329.51ENTdVx091394@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: 4152ed2b999a - main - style.mdoc: fix list width alignment instructions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 4152ed2b999a0a8ccabfc085120e1c848d4f934a Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=4152ed2b999a0a8ccabfc085120e1c848d4f934a commit 4152ed2b999a0a8ccabfc085120e1c848d4f934a Author: Alexander Ziaee AuthorDate: 2024-11-15 18:57:49 +0000 Commit: Alexander Ziaee CommitDate: 2025-02-14 23:27:26 +0000 style.mdoc: fix list width alignment instructions MFC after: 3 days Reported by: imp Reviewed by: mhorne, imp Approved by: mhorne (mentor) Pull Request: https://github.com/freebsd/freebsd-src/pull/1530 --- share/man/man5/style.mdoc.5 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/share/man/man5/style.mdoc.5 b/share/man/man5/style.mdoc.5 index 42dbc940074c..dd4d8a1f5fdf 100644 --- a/share/man/man5/style.mdoc.5 +++ b/share/man/man5/style.mdoc.5 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 12, 2024 +.Dd December 12, 2024 .Dt STYLE.MDOC 5 .Os .Sh NAME @@ -124,7 +124,8 @@ The .Fl width argument to the .Sy \&.Bl -macro should match the length of the longest item in the list, e.g.: +macro should match the length of the longest rendered item in the list, +e.g.: .Bd -literal -offset indent \&.Bl -tag -width "-a address" \&.It Fl a Ar address From nobody Sat Feb 15 03:05: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 4Yvv152vDxz5p3pq; Sat, 15 Feb 2025 03:05:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yvv1453p6z3dC4; Sat, 15 Feb 2025 03:05:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739588712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I+diMPQYmxXyoC1qQndVvi7HrXqU8yUNecb9lvzSQDE=; b=POiWqE5+JKj7C7gmvfj2WLF8dHZxZYX7tzUkTm+T6oKU8tpmBqNum4aiEIXIMVNlVwiRH9 NFHmDNfkWOZ5rUMn/C/9ydTMihXypJHh4x6A/JsosrhnqTug/JsnJk4TC85sUa3YdMuOpe vCOHgonETm44PeA2Mtxk2obiU0UjwdAd7xT1hZuXjtpjRTWRZYYHeGAe9JGxtqTjA+pfid X1FNZ0Tpl9seVom1Kp9ad6K5ZP0t2KnNr+dSe2twdEn/BLjXHxUS90uG0RH39uMTP2ROhu WiNqhp0K7djQXpR66CA0EfCRj54F92ifBOeneWrBpg1cO6nC6WZLfJ/TgoENJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739588712; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I+diMPQYmxXyoC1qQndVvi7HrXqU8yUNecb9lvzSQDE=; b=sv506aWe8shLLG01th37AMXUi2pC1jHACHKXmQycWgpJXv+YQsq4gdFQ34Ja4C9odWD8XF mP55G8z12ZVTL5/2shytXdDWzQo1rYpGyjwBXziQab4Jdop/sVWQxZx1q51QmA4dGVi2lE n1+AblI9VH7W9pyIHznxjsP6Jhuj4cO4fDFRR1xLUxCPLe3+kUf/rOLcqwgZo6Nif8S6F+ WuDu8JNEcTyREOQlab3RSqUxCYVRHvTzwxTAAZUT4IThn+0lf0uzsG2zRj7NxS/QGFsjad iCymjtlMUqqhKvTvmA3w4WtR9S2aZxX8K6jlwWjzSaIGyNq4n8LCoQz+geFtxQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739588712; a=rsa-sha256; cv=none; b=FtSta7YtTHJfZ2ezMSE0yFsqjCM1cgcVQ667+VGOg0+PrXUxJVcx1aqT71P+d32CqUO7Pn CPFaqfNt6qJdqEL4NYXkPAcEbnXC0gQ7VvafQQVE5Hi4PG57YQZNEDjfVJkKBVk2r2nhdk fLAA4+918Naw3FlW1xMsZhL2FqWLBr9YQGbiHDfcnure3vyM1SpOCm7WX8GEXYCohX+WGv KxseqHZ/cl0vUQncypN22fayXUag5NszBCqt2aU6HM/3U1ohbvlnglSUTgmehzzudnR4Eh JaI3TAa5K/OKXtmLsRp7PI2FYSAbVV3Wug91x/TPsOWfKrKh7y3IsYBNudnLrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yvv144Qgjzyn2; Sat, 15 Feb 2025 03:05: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 51F35Crl005113; Sat, 15 Feb 2025 03:05:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51F35CDB005110; Sat, 15 Feb 2025 03:05:12 GMT (envelope-from git) Date: Sat, 15 Feb 2025 03:05:12 GMT Message-Id: <202502150305.51F35CDB005110@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: 89e3c2d27ab4 - main - flash: add w25n (nand flash) 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: 89e3c2d27ab426e1edf326d470318d75d8be5e37 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=89e3c2d27ab426e1edf326d470318d75d8be5e37 commit 89e3c2d27ab426e1edf326d470318d75d8be5e37 Author: Adrian Chadd AuthorDate: 2025-02-13 00:40:22 +0000 Commit: Adrian Chadd CommitDate: 2025-02-15 03:03:55 +0000 flash: add w25n (nand flash) support This adds read only support for the W25N series of flash parts. Specifically starting with the W25N01GV, a 128MiB SPI NAND flash. This doesn't currently support writing or erasing, as this requires a NAND flash layer that we don't currently have. There are also plenty of other commands that aren't currently supported - notably maintaining the on-chip flash translation layer, flash wear statistics, etc. But read support is fine enough for now; it at least allows for reading the boot / config / calibration flash on my ASUS IPQ4018 based router. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D48979 --- sys/conf/files | 1 + sys/dev/flash/w25n.c | 603 ++++++++++++++++++++++++++++++++++++++++++++++++ sys/dev/flash/w25nreg.h | 85 +++++++ 3 files changed, 689 insertions(+) diff --git a/sys/conf/files b/sys/conf/files index 230d5229210e..e6987c8f1fc9 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1710,6 +1710,7 @@ dev/flash/at45d.c optional at45d dev/flash/cqspi.c optional cqspi fdt xdma dev/flash/mx25l.c optional mx25l dev/flash/n25q.c optional n25q fdt +dev/flash/w25n.c optional w25n fdt dev/flash/qspi_if.m optional cqspi fdt | n25q fdt dev/fxp/if_fxp.c optional fxp dev/fxp/inphy.c optional fxp diff --git a/sys/dev/flash/w25n.c b/sys/dev/flash/w25n.c new file mode 100644 index 000000000000..c106b99434ca --- /dev/null +++ b/sys/dev/flash/w25n.c @@ -0,0 +1,603 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2022 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. + */ + +#include + +#include "opt_platform.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef FDT +#include +#include +#include +#endif + +#include +#include "spibus_if.h" + +#include + +#define W25N_SECTORSIZE 512 + +struct w25n_flash_ident +{ + const char *name; + uint8_t manufacturer_id; + uint16_t device_id; + unsigned int sectorsize; + unsigned int sectorcount; + unsigned int erasesize; + unsigned int flags; +}; + +struct w25n_softc +{ + device_t sc_dev; + device_t sc_parent; + uint8_t sc_manufacturer_id; + uint16_t sc_device_id; + unsigned int sc_erasesize; + struct mtx sc_mtx; + struct disk *sc_disk; + struct proc *sc_p; + struct bio_queue_head sc_bio_queue; + unsigned int sc_flags; + unsigned int sc_taskstate; +}; + +#define TSTATE_STOPPED 0 +#define TSTATE_STOPPING 1 +#define TSTATE_RUNNING 2 + +#define W25N_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx) +#define W25N_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx) +#define W25N_LOCK_INIT(_sc) \ + mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->sc_dev), \ + "w25n", MTX_DEF) +#define W25N_LOCK_DESTROY(_sc) mtx_destroy(&_sc->sc_mtx); +#define W25N_ASSERT_LOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_OWNED); +#define W25N_ASSERT_UNLOCKED(_sc) mtx_assert(&_sc->sc_mtx, MA_NOTOWNED); + +/* disk routines */ +static int w25n_open(struct disk *dp); +static int w25n_close(struct disk *dp); +static int w25n_ioctl(struct disk *, u_long, void *, int, struct thread *); +static void w25n_strategy(struct bio *bp); +static int w25n_getattr(struct bio *bp); +static void w25n_task(void *arg); + +#define FL_NONE 0x00000000 + +static struct w25n_flash_ident flash_devices[] = { + + { "w25n01gv", 0xef, 0xaa21, 2048, 64 * 1024, 128 * 1024, FL_NONE }, +}; + +static int +w25n_read_status_register(struct w25n_softc *sc, uint8_t reg, + uint8_t *retval) +{ + uint8_t txBuf[3], rxBuf[3]; + struct spi_command cmd; + int err; + + memset(&cmd, 0, sizeof(cmd)); + + txBuf[0] = CMD_READ_STATUS; + txBuf[1] = reg; + cmd.tx_cmd = txBuf; + cmd.rx_cmd = rxBuf; + cmd.rx_cmd_sz = 3; + cmd.tx_cmd_sz = 3; + err = SPIBUS_TRANSFER(sc->sc_parent, sc->sc_dev, &cmd); + if (err != 0) + return (err); + *retval = rxBuf[2]; + return (0); +} + +static int +w25n_wait_for_device_ready(struct w25n_softc *sc) +{ + int err; + uint8_t val; + + do { + err = w25n_read_status_register(sc, STATUS_REG_3, &val); + } while (err == 0 && (val & STATUS_REG_3_BUSY)); + + return (err); +} + +static int +w25n_set_page_address(struct w25n_softc *sc, uint16_t page_idx) +{ + uint8_t txBuf[4], rxBuf[4]; + struct spi_command cmd; + int err; + + txBuf[0] = CMD_PAGE_DATA_READ; + txBuf[1] = 0; /* dummy */ + txBuf[2] = (page_idx >> 8) & 0xff; + txBuf[3] = (page_idx >> 0) & 0xff; + cmd.tx_cmd = txBuf; + cmd.rx_cmd = rxBuf; + cmd.rx_cmd_sz = 4; + cmd.tx_cmd_sz = 4; + err = SPIBUS_TRANSFER(sc->sc_parent, sc->sc_dev, &cmd); + if (err != 0) + return (err); + return (0); +} + +static struct w25n_flash_ident* +w25n_get_device_ident(struct w25n_softc *sc) +{ + uint8_t txBuf[8], rxBuf[8]; + struct spi_command cmd; + uint8_t manufacturer_id; + uint16_t dev_id; + int err, i; + + memset(&cmd, 0, sizeof(cmd)); + memset(txBuf, 0, sizeof(txBuf)); + memset(rxBuf, 0, sizeof(rxBuf)); + + txBuf[0] = CMD_READ_IDENT; + cmd.tx_cmd = &txBuf; + cmd.rx_cmd = &rxBuf; + + cmd.tx_cmd_sz = 5; + cmd.rx_cmd_sz = 5; + err = SPIBUS_TRANSFER(sc->sc_parent, sc->sc_dev, &cmd); + if (err) + return (NULL); + + manufacturer_id = rxBuf[2]; + dev_id = (rxBuf[3] << 8) | (rxBuf[4]); + + for (i = 0; i < nitems(flash_devices); i++) { + if ((flash_devices[i].manufacturer_id == manufacturer_id) && + (flash_devices[i].device_id == dev_id)) + return &flash_devices[i]; + } + + device_printf(sc->sc_dev, + "Unknown SPI NAND flash device. Vendor: %02x, device id: %04x\n", + manufacturer_id, dev_id); + return (NULL); +} + +static int +w25n_write(struct w25n_softc *sc, off_t offset, caddr_t data, off_t count) +{ + + return (ENXIO); + +} + +static int +w25n_read(struct w25n_softc *sc, off_t offset, caddr_t data, off_t count) +{ + uint8_t txBuf[4], rxBuf[4]; + struct spi_command cmd; + int err; + int read_size; + uint16_t page_idx; + uint8_t st3, ecc_status; + + /* + * We only support reading things at multiples of the page size. + */ + if (count % sc->sc_disk->d_sectorsize != 0) { + device_printf(sc->sc_dev, "%s: invalid count\n", __func__); + return (EIO); + } + if (offset % sc->sc_disk->d_sectorsize != 0) { + device_printf(sc->sc_dev, "%s: invalid offset\n", __func__); + return (EIO); + } + + page_idx = offset / sc->sc_disk->d_sectorsize; + + while (count > 0) { + /* Wait until we're ready */ + err = w25n_wait_for_device_ready(sc); + if (err != 0) { + device_printf(sc->sc_dev, "%s: failed to wait\n", + __func__); + return (err); + } + + /* Issue the page change */ + err = w25n_set_page_address(sc, page_idx); + if (err != 0) { + device_printf(sc->sc_dev, "%s: page change failed\n", + __func__); + return (err); + } + + /* Wait until the page change has read in data */ + err = w25n_wait_for_device_ready(sc); + if (err != 0) { + device_printf(sc->sc_dev, + "%s: failed to wait again\n", + __func__); + return (err); + } + + /* + * Now we can issue a read command for the data + * in the buffer. We'll read into the data buffer + * until we run out of data in this page. + * + * To simplify things we're not starting at an + * arbitrary offset; so the column address here + * inside the page is 0. If we later want to support + * that kind of operation then we could do the math + * here. + */ + read_size = MIN(count, sc->sc_disk->d_sectorsize); + + memset(data, 0xef, read_size); + + txBuf[0] = CMD_FAST_READ; + txBuf[1] = 0; /* column address 15:8 */ + txBuf[2] = 0; /* column address 7:0 */ + txBuf[3] = 0; /* dummy byte */ + cmd.tx_cmd_sz = 4; + cmd.rx_cmd_sz = 4; + cmd.tx_cmd = txBuf; + cmd.rx_cmd = rxBuf; + + cmd.tx_data = data; + cmd.rx_data = data; + cmd.tx_data_sz = read_size; + cmd.rx_data_sz = read_size; + + err = SPIBUS_TRANSFER(sc->sc_parent, sc->sc_dev, &cmd); + if (err != 0) { + device_printf(sc->sc_dev, + "ERROR: failed to do FAST_READ (%u)\n", + err); + return (err); + } + + /* + * Now, check ECC status bits, see if we had an ECC + * error. + */ + err = w25n_read_status_register(sc, STATUS_REG_3, &st3); + if (err != 0) { + device_printf(sc->sc_dev, + "%s: failed to wait again\n", __func__); + return (err); + } + ecc_status = (st3 >> STATUS_REG_3_ECC_STATUS_SHIFT) + & STATUS_REG_3_ECC_STATUS_MASK; + if ((ecc_status != STATUS_ECC_OK) + && (ecc_status != STATUS_ECC_1BIT_OK)) { + device_printf(sc->sc_dev, + "%s: ECC status failed\n", __func__); + return (EIO); + } + + count -= read_size; + data += read_size; + page_idx += 1; + } + + return (0); +} + +#ifdef FDT +static struct ofw_compat_data compat_data[] = { + { "spi-nand", 1 }, + { NULL, 0 }, +}; +#endif + +static int +w25n_probe(device_t dev) +{ +#ifdef FDT + int i; + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + /* First try to match the compatible property to the compat_data */ + if (ofw_bus_search_compatible(dev, compat_data)->ocd_data == 1) + goto found; + + /* + * Next, try to find a compatible device using the names in the + * flash_devices structure + */ + for (i = 0; i < nitems(flash_devices); i++) + if (ofw_bus_is_compatible(dev, flash_devices[i].name)) + goto found; + + return (ENXIO); +found: +#endif + device_set_desc(dev, "W25N NAND Flash Family"); + + return (0); +} + +static int +w25n_attach(device_t dev) +{ + struct w25n_softc *sc; + struct w25n_flash_ident *ident; + int err; + uint8_t st1, st2, st3; + + sc = device_get_softc(dev); + sc->sc_dev = dev; + sc->sc_parent = device_get_parent(sc->sc_dev); + + W25N_LOCK_INIT(sc); + + ident = w25n_get_device_ident(sc); + if (ident == NULL) + return (ENXIO); + + if ((err = w25n_wait_for_device_ready(sc)) != 0) + return (err); + + /* + * Read the configuration, protection and status registers. + * Print them out here so the initial configuration can be checked. + */ + err = w25n_read_status_register(sc, STATUS_REG_1, &st1); + if (err != 0) + return (err); + err = w25n_read_status_register(sc, STATUS_REG_2, &st2); + if (err != 0) + return (err); + err = w25n_read_status_register(sc, STATUS_REG_3, &st3); + if (err != 0) + return (err); + + device_printf(sc->sc_dev, + "device type %s, size %dK in %d sectors of %dK, erase size %dK\n", + ident->name, + ident->sectorcount * ident->sectorsize / 1024, + ident->sectorcount, ident->sectorsize / 1024, + ident->erasesize / 1024); + + if (bootverbose) + device_printf(sc->sc_dev, + "status1=0x%08x, status2=0x%08x, status3=0x%08x\n", + st1, st2, st3); + + /* + * For now we're only going to support parts that have + * device ECC enabled. Later on it may be interesting + * to do software driven ECC and figure out how we + * expose it over GEOM, but that day isn't today. + */ + if ((st2 & STATUS_REG_2_ECC_EN) == 0) { + device_printf(sc->sc_dev, + "ERROR: only ECC in HW is supported\n"); + return (err); + } + if ((st2 & STATUS_REG_2_BUF_EN) == 0) { + device_printf(sc->sc_dev, + "ERROR: only BUF mode is supported\n"); + return (err); + } + + sc->sc_flags = ident->flags; + sc->sc_erasesize = ident->erasesize; + + sc->sc_disk = disk_alloc(); + sc->sc_disk->d_open = w25n_open; + sc->sc_disk->d_close = w25n_close; + sc->sc_disk->d_strategy = w25n_strategy; + sc->sc_disk->d_getattr = w25n_getattr; + sc->sc_disk->d_ioctl = w25n_ioctl; + sc->sc_disk->d_name = "nand_flash/spi"; + sc->sc_disk->d_drv1 = sc; + sc->sc_disk->d_maxsize = DFLTPHYS; + sc->sc_disk->d_sectorsize = ident->sectorsize; + sc->sc_disk->d_mediasize = ident->sectorsize * ident->sectorcount; + sc->sc_disk->d_stripesize = sc->sc_erasesize; + sc->sc_disk->d_unit = device_get_unit(sc->sc_dev); + sc->sc_disk->d_dump = NULL; /* NB: no dumps */ + strlcpy(sc->sc_disk->d_descr, ident->name, + sizeof(sc->sc_disk->d_descr)); + + disk_create(sc->sc_disk, DISK_VERSION); + bioq_init(&sc->sc_bio_queue); + kproc_create(&w25n_task, sc, &sc->sc_p, 0, 0, "task: w25n flash"); + sc->sc_taskstate = TSTATE_RUNNING; + + return (0); +} + +static int +w25n_detach(device_t dev) +{ + struct w25n_softc *sc; + int err; + + sc = device_get_softc(dev); + err = 0; + + W25N_LOCK(sc); + if (sc->sc_taskstate == TSTATE_RUNNING) { + sc->sc_taskstate = TSTATE_STOPPING; + wakeup(sc); + while (err == 0 && sc->sc_taskstate != TSTATE_STOPPED) { + err = msleep(sc, &sc->sc_mtx, 0, "w25nd", hz * 3); + if (err != 0) { + sc->sc_taskstate = TSTATE_RUNNING; + device_printf(sc->sc_dev, + "Failed to stop queue task\n"); + } + } + } + W25N_UNLOCK(sc); + + if (err == 0 && sc->sc_taskstate == TSTATE_STOPPED) { + disk_destroy(sc->sc_disk); + bioq_flush(&sc->sc_bio_queue, NULL, ENXIO); + W25N_LOCK_DESTROY(sc); + } + return (err); +} + +static int +w25n_open(struct disk *dp) +{ + return (0); +} + +static int +w25n_close(struct disk *dp) +{ + + return (0); +} + +static int +w25n_ioctl(struct disk *dp, u_long cmd, void *data, int fflag, + struct thread *td) +{ + + return (EINVAL); +} + +static void +w25n_strategy(struct bio *bp) +{ + struct w25n_softc *sc; + + sc = (struct w25n_softc *)bp->bio_disk->d_drv1; + W25N_LOCK(sc); + bioq_disksort(&sc->sc_bio_queue, bp); + wakeup(sc); + W25N_UNLOCK(sc); +} + +static int +w25n_getattr(struct bio *bp) +{ + struct w25n_softc *sc; + device_t dev; + + if (bp->bio_disk == NULL || bp->bio_disk->d_drv1 == NULL) + return (ENXIO); + + sc = bp->bio_disk->d_drv1; + dev = sc->sc_dev; + + if (strcmp(bp->bio_attribute, "SPI::device") == 0) { + if (bp->bio_length != sizeof(dev)) + return (EFAULT); + bcopy(&dev, bp->bio_data, sizeof(dev)); + } else + return (-1); + return (0); +} + +static void +w25n_task(void *arg) +{ + struct w25n_softc *sc = (struct w25n_softc*)arg; + struct bio *bp; + + for (;;) { + W25N_LOCK(sc); + do { + if (sc->sc_taskstate == TSTATE_STOPPING) { + sc->sc_taskstate = TSTATE_STOPPED; + W25N_UNLOCK(sc); + wakeup(sc); + kproc_exit(0); + } + bp = bioq_first(&sc->sc_bio_queue); + if (bp == NULL) + msleep(sc, &sc->sc_mtx, PRIBIO, "w25nq", 0); + } while (bp == NULL); + bioq_remove(&sc->sc_bio_queue, bp); + W25N_UNLOCK(sc); + + switch (bp->bio_cmd) { + case BIO_READ: + bp->bio_error = w25n_read(sc, bp->bio_offset, + bp->bio_data, bp->bio_bcount); + break; + case BIO_WRITE: + bp->bio_error = w25n_write(sc, bp->bio_offset, + bp->bio_data, bp->bio_bcount); + break; + default: + bp->bio_error = EOPNOTSUPP; + } + + + biodone(bp); + } +} + +static device_method_t w25n_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, w25n_probe), + DEVMETHOD(device_attach, w25n_attach), + DEVMETHOD(device_detach, w25n_detach), + + { 0, 0 } +}; + +static driver_t w25n_driver = { + "w25n", + w25n_methods, + sizeof(struct w25n_softc), +}; + +DRIVER_MODULE(w25n, spibus, w25n_driver, 0, 0); +MODULE_DEPEND(w25n, spibus, 1, 1, 1); +#ifdef FDT +MODULE_DEPEND(w25n, fdt_slicer, 1, 1, 1); +SPIBUS_FDT_PNP_INFO(compat_data); +#endif diff --git a/sys/dev/flash/w25nreg.h b/sys/dev/flash/w25nreg.h new file mode 100644 index 000000000000..0fa880e54b91 --- /dev/null +++ b/sys/dev/flash/w25nreg.h @@ -0,0 +1,85 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2022 Adrian Chadd . + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice unmodified, this list of conditions, and the following + * disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef __W25NREG_H__ +#define __W25NREG_H__ + +/* + * Commands + */ +#define CMD_READ_STATUS 0x05 +#define CMD_FAST_READ 0x0B +#define CMD_PAGE_DATA_READ 0x13 +#define CMD_READ_IDENT 0x9F +#define CMD_LAST_ECC_FAILURE 0xA9 +#define CMD_BLOCK_ERAS 0xD8 + +/* + * Three status registers - 0xAx, 0xBx, 0xCx. + * + * status register 1 (0xA0) is for protection config/status + * status register 2 (0xB0) is for configuration config/status + * status register 3 (0xC0) is for general status + */ + +#define STATUS_REG_1 0xA0 +#define STATUS_REG_1_SRP1 0x10 +#define STATUS_REG_1_WP_EN 0x20 +#define STATUS_REG_1_TOP_BOTTOM_PROT 0x40 +#define STATUS_REG_1_BP0 0x80 +#define STATUS_REG_1_BP1 0x10 +#define STATUS_REG_1_BP2 0x20 +#define STATUS_REG_1_BP3 0x40 +#define STATUS_REG_1_SRP0 0x80 + +#define STATUS_REG_2 0xB0 +#define STATUS_REG_2_BUF_EN 0x08 +#define STATUS_REG_2_ECC_EN 0x10 +#define STATUS_REG_2_SR1_LOCK 0x20 +#define STATUS_REG_2_OTP_EN 0x40 +#define STATUS_REG_2_OTP_L 0x80 + +#define STATUS_REG_3 0xC0 +#define STATUS_REG_3_BUSY 0x01 +#define STATUS_REG_3_WRITE_EN_LATCH 0x02 +#define STATUS_REG_3_ERASE_FAIL 0x04 +#define STATUS_REG_3_PROGRAM_FAIL 0x08 +#define STATUS_REG_3_ECC_STATUS_0 0x10 +#define STATUS_REG_3_ECC_STATUS_1 0x20 +#define STATUS_REG_3_ECC_STATUS_SHIFT 4 +#define STATUS_REG_3_ECC_STATUS_MASK 0x03 +#define STATUS_REG_3_BBM_LUT_FULL 0x40 + +/* ECC status */ +#define STATUS_ECC_OK 0 +#define STATUS_ECC_1BIT_OK 1 +#define STATUS_ECC_2BIT_ERR 2 +#define STATUS_ECC_2BIT_ERR_MULTIPAGE 3 + +#endif /* __W25NREG_H__ */ From nobody Sat Feb 15 15:51: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 4YwD100vDnz5njxj; Sat, 15 Feb 2025 15:51:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwD100B6lz3H41; Sat, 15 Feb 2025 15:51:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cKXkpbdxNuAE7YZHS9tfPNvyR4j6Qp963ygXAvsvviA=; b=fnieGhOLEXywOZPXPDPbGQ0/0trY9NUYwDphDNLZnnpxPCUo7Cvs6+syWCeSKpcjC0gnT9 njqYZjyCuju2ECuLvrs0s7lEUy8MlNJXTkJ5mJR6wbDszy6WfjzhkGPvDr9p3aMuOBAhF8 g5tlHwPQWw1GxLI0mFFGf5HYqUoWHOaa4wNKrMQ8W+mmtm7UJah7BS8RL4xQce44SBY8CX 2KfWI6MGPraDH3Yk5dt2loacNwi+DdR/lNxlGjvfpraX+Vr/Bk+0sosEnCpveMLhKdCeEa xNLur43h6yJSHqjWxRXdqYLUIArIbrXSqL5jXKaqZwxSco/swyveT+NruzEK5A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739634676; a=rsa-sha256; cv=none; b=EJWQdQ68wY/SBzW/PeL//lQdX2u2AihVtjmbi7DDU1XRNt2MBBtDrMiNcRHrewKus2eBt3 xs2Rs+p17hJOJKXOiXjd+z5zaxb9Zpk5bafRiI1LLsD7hok3WeqDu2cg/iY8BPuL7SbcwE 9pjqHlkfW+Xo1eGqzx8kOoCxQ5bc9QkTiJwVWjWxoCB1N6+B6KBbzCXkr74VuA6IxDwGBY N17mNgu9/3tebQ77wuhyZQNahLd3gBDk3U8j9mU8QA+5KdUVO+jPGaFpoZlB/nXx2hT12J h2QFMGBCspM+bqy/vf1f5hG+SnthtNyH5xh9ZDG9Cc4CF6oNabCUF5IpJ82Kkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cKXkpbdxNuAE7YZHS9tfPNvyR4j6Qp963ygXAvsvviA=; b=sxC41xY3JYa4Hc76aFDHYxX5rsz/Ddn32/I6ofsjC4NWKPTy+zlsDOFunt9o8SsUoR9V+g epqndh9XEIw+Q2e8Up3Z/4wMjcZ8fD4XZ19gqyqCg8vOt9Lpazi7IVsxAGha1CIBmfVkDj cRHy18MxJKLuxENCwbBzllcwtHyauQ/YOAZ9CKDDVeNbHrvR8mIHbHU7P9nZf/qgZYjj2f xBjU7bbQt7UpQFGRD3GC5ReYuUUwqUj+4XjQFhjvD76iiAGa8T4uSWDSF38lah8b1rz6fQ jZuaN+BnAf11ifJPMtVoQuc1tH7eEOSLVVUuPpTMXq1sE7svhoKgfkX/Cy2+VQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwD0z64KMz1MHC; Sat, 15 Feb 2025 15:51: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 51FFpFIr050279; Sat, 15 Feb 2025 15:51:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FFpFRv050276; Sat, 15 Feb 2025 15:51:15 GMT (envelope-from git) Date: Sat, 15 Feb 2025 15:51:15 GMT Message-Id: <202502151551.51FFpFRv050276@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: 75fb66d8241d - main - net80211 / LinuxKPI 802.11: add 802.11-2016 VHT Extended NSS BW defines List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 75fb66d8241d0487baf482c975c1de3b55d9a315 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=75fb66d8241d0487baf482c975c1de3b55d9a315 commit 75fb66d8241d0487baf482c975c1de3b55d9a315 Author: Bjoern A. Zeeb AuthorDate: 2025-02-15 12:40:04 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 15:48:36 +0000 net80211 / LinuxKPI 802.11: add 802.11-2016 VHT Extended NSS BW defines Add the mask and shift for the VHT Extended NSS BW Support field. Document them in net80211 and further related bitmasks in LinuxKPI. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48975 --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 3 ++- sys/compat/linuxkpi/common/include/net/cfg80211.h | 3 ++- sys/net80211/ieee80211.h | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 58ebbcfe0097..0169e12b1804 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -115,7 +115,8 @@ enum ieee80211_rate_control_changed_flags { #define IEEE80211_TKIP_ICV_LEN 4 #define IEEE80211_TKIP_IV_LEN 8 /* WEP + KID + EXT */ -#define IEEE80211_VHT_EXT_NSS_BW_CAPABLE (1 << 13) /* assigned to tx_highest */ +/* 802.11-2016, 9.4.2.158.3 Supported VHT-MCS and NSS Set field. */ +#define IEEE80211_VHT_EXT_NSS_BW_CAPABLE (1 << 13) /* part of tx_highest */ #define IEEE80211_VHT_MAX_AMPDU_1024K 7 /* 9.4.2.56.3 A-MPDU Parameters field, Table 9-163 */ diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 0b6a66033536..ee16449ecd1c 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -236,7 +236,8 @@ struct ieee80211_sta_ht_cap { #define IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK \ (7 << IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT) /* IEEE80211_VHTCAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK */ -#define IEEE80211_VHT_CAP_EXT_NSS_BW_MASK 0xc0000000 +#define IEEE80211_VHT_CAP_EXT_NSS_BW_MASK IEEE80211_VHTCAP_EXT_NSS_BW +#define IEEE80211_VHT_CAP_EXT_NSS_BW_SHIFT IEEE80211_VHTCAP_EXT_NSS_BW_S struct ieee80211_sta_vht_cap { /* TODO FIXME */ diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index b0bb02450190..6003a1ae0e99 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -1045,6 +1045,10 @@ struct ieee80211_vht_operation { #define IEEE80211_VHTCAP_TX_ANTENNA_PATTERN 0x20000000 #define IEEE80211_VHTCAP_TX_ANTENNA_PATTERN_S 29 +/* 802.11-2016, 9.4.2.158.2 VHT Capabilities Information field. */ +#define IEEE80211_VHTCAP_EXT_NSS_BW 0xc0000000 +#define IEEE80211_VHTCAP_EXT_NSS_BW_S 30 + /* * XXX TODO: add the rest of the bits */ From nobody Sat Feb 15 15:51:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwD113Pdcz5njhL; Sat, 15 Feb 2025 15:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwD11100Mz3Gsx; Sat, 15 Feb 2025 15:51:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GDThDCaSgjWONlRcqyHDlirG1yGjk6GF9zBUbFfzQgI=; b=S8TGk98rh5s5c+neF0/+M8qVFt/m0Ve+eKgGbBo72BXWzCikSq07OK+Kd+e/Jz3w6NYxCd JcnaBnhw8ahG7eRQiJwcBzHYCPDawK2Mt7UjtwvEZMh/v6sPLyWZckFdVo++HO072n0RB3 scGF6SPuBE8lak8YXUEN/MUdSHF8XmfZ7/7qji9OTE5ydQS0MF+1LF3mTRIRsAOyAjVISs NSXX2RwC5wvLBJs6sNQRO6BEudVCh4Yuetx+/+lKDqOj6YNLN2pAtCYt4KREoVT41FyRnZ bb+IDaHNpxIqMt8E8hBCtnJpFxPhIJ76in68eWLQQMPlAsNsbHR8cNLzdiwH7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739634677; a=rsa-sha256; cv=none; b=oTRLztqB+x2plpAinb2npVWKTDeS2ZqS+g6okoQ/3ajBGfZbJb1VkNeyN9G63fGTu9vKWo 8p66e24ZZtmyYqYb/DjYN8Sm8p9Jc+0aIA0x7XnuUA7A9/PV330ibbdZy+RgvQrLDeK6RG Y6KA62kyVaFdiB+lmjNFW4wcT8cqMZVuKkrEHJJer2yPieSYFFhOELIyYKmQstfIX8X/Gh 9ilwdJlLICXRnmU0Nw55iGak4maEQBSvG7lJ81/rbeMKOF8BpPPMjliT1+DJ0Jxo4y12Lg rQiAwbUiVLbMqGg2I30oSjfoAW63wwDi03vuhC3lMBX5yq1dCBXCqU2kURg2+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GDThDCaSgjWONlRcqyHDlirG1yGjk6GF9zBUbFfzQgI=; b=uYxw60bO6RJ2nEu+tNpJgE+xaIeTWnt5BaiENPTs0tC0kQeq9Dzwd9EI3R2HxgU8ZfdbEp bYpu+jKZZQ3nhsXRfFU0e4Dab8XrwZh/x4EdkrR9vDJ/Ee+Ymj3FiGyDxcmeZ0AfzvOFJm zHsOQo3G/R3Ml87uMQBrMiFkgQHf0CJa9f52w3nkO0h7y3wFMHbvabCqzGhie5yMqRkhQf kAeontF745+AZZjL/YvEIZ2Qqb8p84KUAHyjWJ9DQRMqdSAuK3WSkcWZpC8I5K5uyqlwMI CsFnmCuw7POfzGuAi0bwVnJrsAdh1OUwtxWuDvZciJdotmMcq2UaZGBzf1sT1w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwD1073P4z1MDp; Sat, 15 Feb 2025 15:51: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 51FFpGf1050316; Sat, 15 Feb 2025 15:51:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FFpGGI050313; Sat, 15 Feb 2025 15:51:16 GMT (envelope-from git) Date: Sat, 15 Feb 2025 15:51:16 GMT Message-Id: <202502151551.51FFpGGI050313@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: 8f2e5b6ef323 - main - net80211/ifconfig: swap IEEE80211_FVHT_USEVHT160 and 80P80 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8f2e5b6ef32304ce340b91057b1eb4b191dbeac1 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8f2e5b6ef32304ce340b91057b1eb4b191dbeac1 commit 8f2e5b6ef32304ce340b91057b1eb4b191dbeac1 Author: Bjoern A. Zeeb AuthorDate: 2025-02-15 12:40:16 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 15:49:02 +0000 net80211/ifconfig: swap IEEE80211_FVHT_USEVHT160 and 80P80 ieee80211_setupcurchan() compares the flags in a greater than manner. In this case VHT160 should be > VHT80P80 as it is preferable. Swap the two flags and add a comment to note this. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48976 --- sbin/ifconfig/ifieee80211.c | 4 ++-- sys/net80211/ieee80211_var.h | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sbin/ifconfig/ifieee80211.c b/sbin/ifconfig/ifieee80211.c index d4dcfdf63254..9f66281931c0 100644 --- a/sbin/ifconfig/ifieee80211.c +++ b/sbin/ifconfig/ifieee80211.c @@ -133,8 +133,8 @@ #define IEEE80211_FVHT_VHT 0x000000001 /* CONF: VHT supported */ #define IEEE80211_FVHT_USEVHT40 0x000000002 /* CONF: Use VHT40 */ #define IEEE80211_FVHT_USEVHT80 0x000000004 /* CONF: Use VHT80 */ -#define IEEE80211_FVHT_USEVHT160 0x000000008 /* CONF: Use VHT160 */ -#define IEEE80211_FVHT_USEVHT80P80 0x000000010 /* CONF: Use VHT 80+80 */ +#define IEEE80211_FVHT_USEVHT80P80 0x000000008 /* CONF: Use VHT 80+80 */ +#define IEEE80211_FVHT_USEVHT160 0x000000010 /* CONF: Use VHT160 */ #define IEEE80211_FVHT_STBC_TX 0x00000020 /* CONF: STBC tx enabled */ #define IEEE80211_FVHT_STBC_RX 0x00000040 /* CONF: STBC rx enabled */ #endif diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h index 94e8a05846e7..5a0d017bd590 100644 --- a/sys/net80211/ieee80211_var.h +++ b/sys/net80211/ieee80211_var.h @@ -732,11 +732,15 @@ MALLOC_DECLARE(M_80211_VAP); #define IEEE80211_FVEN_BITS "\20" +/* + * These flags are compared in ieee80211_setupcurchan(). + * Thus 160 should be > 80P80. + */ #define IEEE80211_FVHT_VHT 0x000000001 /* CONF: VHT supported */ #define IEEE80211_FVHT_USEVHT40 0x000000002 /* CONF: Use VHT40 */ #define IEEE80211_FVHT_USEVHT80 0x000000004 /* CONF: Use VHT80 */ -#define IEEE80211_FVHT_USEVHT160 0x000000008 /* CONF: Use VHT160 */ -#define IEEE80211_FVHT_USEVHT80P80 0x000000010 /* CONF: Use VHT 80+80 */ +#define IEEE80211_FVHT_USEVHT80P80 0x000000008 /* CONF: Use VHT 80+80 */ +#define IEEE80211_FVHT_USEVHT160 0x000000010 /* CONF: Use VHT160 */ #define IEEE80211_FVHT_STBC_TX 0x00000020 /* CONF: STBC tx enabled */ #define IEEE80211_FVHT_STBC_RX 0x00000040 /* CONF: STBC rx enabled */ From nobody Sat Feb 15 15:51: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 4YwD1245KNz5njnX; Sat, 15 Feb 2025 15:51:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwD121YYnz3HFb; Sat, 15 Feb 2025 15:51:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dmvTjX2gn3xDgkWcfn0wZPrIDd5dRD8n+7pjSqEfX08=; b=J7e/mu/o0kXPHhxwv7bm1aASf/qOJF43SoVkw5CCv0bKoXTtwGhOfUxOMp3cQnRbSMDMvi kr8nLn01+I5EPnOja3/V01F0leeN6YfVJr8iovwixcHKolN9UB/OBvlD1zkZ1LMzCE/at8 NdFEDi5kPjlPNHSgvaHkYKLhORpaDfOz/4ljpoZ8YHCl6iTZ+nKw8lmd0xheOxYE1FIUPi h/f93a8CnXSZQ2DWa5yKi6oNzCh5MxITyKBxw5pZW+bUt80w7FboIC85u33NVSFeaFC2S/ kspfJCGq7/3y6th+nXxKLwwl8KcRqQ6V/h4O5X91VDhCbqXzalqeAiUGum9XMQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739634678; a=rsa-sha256; cv=none; b=XdMto4pNpIZLJazr64dlNEnkq2o7byvqZtzhsC8Oo39RPkWEvmxP88NhQhGWKkljqi+sLt 1wzmX/OK7GlM+1ex9/sr4AOA/gzaJbB9wu5sc6oiApcX9aKQP3sD9kO9igOnoV1Ymn0TQ/ JU7vTRwARkPor4pWvUk0xRmQVoG6puwPfkjkBbcgNYjP12ThawL8sp3iqWn+dygjbJ4VTK Plw1Ll8q9C1XMsXyXjKyOIzWj9U0VMPtubyG+R14CXU0xMShweQ2n9dRl5r5Mw2xgfIz7Y 9KofX/IvmAYpxZCbFm5z43RYS4QhpwxF4te6uzDqSUNIy/hB2XkS7Ne80/J93Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634678; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dmvTjX2gn3xDgkWcfn0wZPrIDd5dRD8n+7pjSqEfX08=; b=qibrk5veuNDhFxbVWKQqNjnjkogy/+4VXa2qr4OSKGofz9DTcaRN18y9p6RGztviQWIJ8h ODCpPFfrVEP1LaVjTexmMSZ81NKu1OeiWVzcKY+YGbNz9Ibe1/wR6q4ZIb4N8GFhkPlnW8 HVtdUaCp+4JrC8UMroLpoQJofPx9vXt3Py8eAiYwiXNdMijf7qsbXgz3jiJUnM4OcHBwtj H9S93w7wChUGDq8L4CpoiEDU83I+CaPTbM3OOVea4QGHELfrJXOla8fxjiTCcGCxGRHXK4 pFDV9WZdqZqWCaWrvRGCqehMt3kYQznDXUHCEIM0xeVL1Rx3JICDoBr87zDDZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwD120tlTz1M0g; Sat, 15 Feb 2025 15:51: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 51FFpITh050358; Sat, 15 Feb 2025 15:51:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FFpIoo050355; Sat, 15 Feb 2025 15:51:18 GMT (envelope-from git) Date: Sat, 15 Feb 2025 15:51:18 GMT Message-Id: <202502151551.51FFpIoo050355@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: 7f31d95c98e6 - main - net80211: rename \4 in IEEE80211_VHTCAP_BITS for clarity List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 7f31d95c98e64eff7b269e457789ed9cfc7b2779 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7f31d95c98e64eff7b269e457789ed9cfc7b2779 commit 7f31d95c98e64eff7b269e457789ed9cfc7b2779 Author: Bjoern A. Zeeb AuthorDate: 2025-02-15 12:40:30 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 15:49:27 +0000 net80211: rename \4 in IEEE80211_VHTCAP_BITS for clarity Bits 2 and 3 (\3 and \4 of the %b flag mask) are the 'Supported Channel Width Set' indicating VHT160 (B2) or VHT160 and VHT80P80 (B3) support. Though longer rename \4 from CHAN80P80 to CHAN160+80P80 to not confuse the reader that VHT160 might not be supported. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48977 --- sys/net80211/ieee80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index 6003a1ae0e99..1e685eb094f9 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -1053,7 +1053,7 @@ struct ieee80211_vht_operation { * XXX TODO: add the rest of the bits */ #define IEEE80211_VHTCAP_BITS \ - "\20\1MPDU7991\2MPDU11454\3CHAN160\4CHAN8080\5RXLDPC\6SHORTGI80" \ + "\20\1MPDU7991\2MPDU11454\3CHAN160\4CHAN160+80P80\5RXLDPC\6SHORTGI80" \ "\7SHORTGI160\10RXSTBC1\11RXSTBC2\12RXSTBC3\13RXSTBC4\14BFERCAP" \ "\15BFEECAP\27VHT\37RXANTPTN\40TXANTPTN" From nobody Sat Feb 15 15:51: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 4YwD13736Yz5njhM; Sat, 15 Feb 2025 15:51:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwD132G3pz3HLG; Sat, 15 Feb 2025 15:51:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/o5yUZECAGQ3duTlLztLoWKSecd6bqlmwez4gb4ApYA=; b=lWYi02V9LFeWqiu5U31Y1AOu5gIKAjh3Q34hkNgT7+jXhwtoO2s8eaQr7HZFaAhqqq8hR7 MlhtGBKoZrMlTiAeFV6JG7tyi+e7vy5Z/zoFsNzULSbrB6gqPUlUh7XzLvib5R1OCiVMj/ 4K1nqBD2VJdWczh6TqYE+jNQM7/L3S8EOgXkF06ZkPGuOcTHhomg32hZQluUE5TIsv6jJ5 7Z7XJBuPyP3x5IL9/MSEUtejX1EZ6Igh4L0RawL+vPUkRgQr5m/I7JlVVwajrNwx/zEtPd bbCE5ErRgMrOB/a0OGllPib3OnK2cFWLlYTPqXZJ+1vFdsGsR5sVXklIKqpR8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739634679; a=rsa-sha256; cv=none; b=S6WLCdn6sezECYy+R8rYOUTjzBmOr8JP543K9EFVVi52Y92ttqPtw8pQ8QoMMDDqGXQ2bc 4ku9N/4DJB/Ug0hfThv8YcScTsF6LbbYaqp5ioRREnGyXjz9OfGIzlQLUuNQZToLmj/FL+ iymX2ueThhDLJ8X2yq0ugQdx689uA9rb3scUCMx4O+4/N8lBrG3/WAssOCC8s5waqaUmXH p24zwsIcLG/6yPCd8s/M66Ol2obhEsV2p5/d3O1v6jA/ya0LI8mvKt3+KCi5G3sdt4BiLA jJsUZhVknib/KtuUAcykNUDGBxmtByvHK+3i8xRPP9lVqc7x4XH4Gad3V11mqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/o5yUZECAGQ3duTlLztLoWKSecd6bqlmwez4gb4ApYA=; b=KOTE1gnvaDrFlIGmgH+Z111b4QNVf8hxLetkUgivUpIqbKH5xDiRXi5NrJFRghuxijDi1Y WDr6VHvhQf2tNhDdAfzlulVfuIqYs06dShDdUwuFZu9Tm1j1BH8U+9OTN9yMRx5R26C6hu K8o5Yk8PhPdjjOp/C60vRotH+E4Fx9W/x7NNPbfeNGz2moAC4sL7Tj63qa641Q8gLJn4DM IXKhJ+YC6Ku5slE+5Hl3iGZ+r2nqB5b12SaLN4oIALw/JsewjyI9hKZbSTP9bWdbhBVkrA 8JINQ13zTF8GRVgVO8RmpykhsSvDEk+RM/QRhY9znTZMR9F4KLEf4Hb95LEtXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwD131rzsz1M0j; Sat, 15 Feb 2025 15:51: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 51FFpJRa050393; Sat, 15 Feb 2025 15:51:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FFpJOa050390; Sat, 15 Feb 2025 15:51:19 GMT (envelope-from git) Date: Sat, 15 Feb 2025 15:51:19 GMT Message-Id: <202502151551.51FFpJOa050390@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: d688c20395a9 - main - net80211: crypto: enhance comment about IEEE80211_RX_F_MMIC_STRIP List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d688c20395a9f46d89edab4c57b863b6d752b061 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d688c20395a9f46d89edab4c57b863b6d752b061 commit d688c20395a9f46d89edab4c57b863b6d752b061 Author: Bjoern A. Zeeb AuthorDate: 2025-02-15 12:40:40 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 15:49:53 +0000 net80211: crypto: enhance comment about IEEE80211_RX_F_MMIC_STRIP net80211 crypto currently re-uses the M[ichael]MIC flag for MIC as well at least in CCMP. This is a bit confusing so at least try to improve the comment that it becomes more obvious. In the long-term we may want to just add a MIC flag as well? Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48978 --- sys/net80211/_ieee80211.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/_ieee80211.h b/sys/net80211/_ieee80211.h index 5c7e6110026d..8ae7eb0f1c45 100644 --- a/sys/net80211/_ieee80211.h +++ b/sys/net80211/_ieee80211.h @@ -588,7 +588,7 @@ struct ieee80211_mimo_info { #define IEEE80211_RX_F_FAIL_MIC 0x00000080 /* Failed MIC check */ #define IEEE80211_RX_F_DECRYPTED 0x00000100 /* Hardware decrypted */ #define IEEE80211_RX_F_IV_STRIP 0x00000200 /* Decrypted; IV stripped */ -#define IEEE80211_RX_F_MMIC_STRIP 0x00000400 /* Decrypted; MMIC stripped */ +#define IEEE80211_RX_F_MMIC_STRIP 0x00000400 /* Decrypted; [Micheal] MIC ([M]MIC) stripped */ #define IEEE80211_RX_F_SHORTGI 0x00000800 /* This is a short-GI frame */ #define IEEE80211_RX_F_CCK 0x00001000 #define IEEE80211_RX_F_OFDM 0x00002000 From nobody Sat Feb 15 15:51: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 4YwD150mpNz5njnf; Sat, 15 Feb 2025 15:51:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwD143HHfz3HP0; Sat, 15 Feb 2025 15:51:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+JRhyX/Bn7difiza5J9RBUmq2lT5oReq98UJ4k835U=; b=DmVWu+6d7kgGr+Q60GuIrKDywgYR+sZVVSOj07XHBzoNGFy+1wnJYCGeK2WaUUvTuiywp9 n2HVd85PVHKDxfyMJoUQHsEQhXDBz0TQ/0E3nOI2FXEvOywn+XaNc1L5kzvKiAG65JZl2D LiWxvd7qodrOZCWT0gLItYnoehMpoHHSdzQSxFnJsHica6PVPX7ZnJNQOEd69hADFWrQ8L hhe3ivUeVHgAD1Pf4kFXWNaLp2lQJFa5/1CI8nrdXQx1VIS6n9WOxp59WAc9i5wI/DoxHL 8uOGOxu4GBBRP5wGurKi0tHttc81gYUUIL5LF+eVp46tO6Ai8+Xz3G1GtUbcbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739634680; a=rsa-sha256; cv=none; b=t2TW4BAyXFzt/lTEHAnemeFMUhQhBzC7Sh5bJQkHU5dpc6fYwMqMoQx0Znt77Bt5Y4I7eZ 938Y722GHZZKMUdCJJz7W571fdVpJPwBCkW1B/tRZUEFRrh0YNQf/3DQAefqfzSCkJWe+M ZaVlM34IbWNDG90mxgG2Lml8GYRdmD8E8ymLcOJtHHEbF/n1kB+QwqCS2lww/dzUWhlPFa spOmys8CixTnskVCFXrj4Vvlz4otpxYALaiNaxbZ3ASnnRya7he2rDRKadKvUIrbDx+ibH O17H+yZ3ySAifYX/u53jQ0qmCS+qbGX0ExETdYGl53PbdV7SB/5d1CP/NXX9gA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739634680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1+JRhyX/Bn7difiza5J9RBUmq2lT5oReq98UJ4k835U=; b=Ih49cEugNSS2+RXTryPqhiKhPXhVBB+gpJjtaJXXOhxD23XQxc44ix6hSFykrefjZfL/U2 /Wrk+Qq5z1iUrarzKjhkplzupsVw9+wDOVbwlK3TWROkmfnR63+JiOaDaZBPX7G66O2hDf zaibep/oMp8E+1C4alQeqcHZ7Y8wBO/nm9n3c6lA5no/MxtWIcj2sPNMADOGngFKNcjvTB ThgXB2b0jPWguIV/ik5KBBCv3fS9WOiiFPOgtkB4UQLVvWBaqQ516q+U7xzDkX0k3DT7xY 5FDOxJQkQi/rgYJ44w6ZpoAlHNGUzlbiLilmC+RNzoP+QHD5e6v6jNSKSh8MQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwD142f4nz1Mf9; Sat, 15 Feb 2025 15:51: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 51FFpKEr050429; Sat, 15 Feb 2025 15:51:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FFpK4F050426; Sat, 15 Feb 2025 15:51:20 GMT (envelope-from git) Date: Sat, 15 Feb 2025 15:51:20 GMT Message-Id: <202502151551.51FFpK4F050426@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: 9763fec11b83 - main - net80211: use IEEE80211_KEY_UNDEFINED() insetad of checking they keyix List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 9763fec11b83a7bfc2d2ba0681830d186a3f6a6e Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9763fec11b83a7bfc2d2ba0681830d186a3f6a6e commit 9763fec11b83a7bfc2d2ba0681830d186a3f6a6e Author: Bjoern A. Zeeb AuthorDate: 2025-02-15 12:40:46 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 15:50:23 +0000 net80211: use IEEE80211_KEY_UNDEFINED() insetad of checking they keyix For ieee80211_node_delucastkey() rather than checking the keyix to be IEEE80211_KEYIX_NONE use the IEEE80211_KEY_UNDEFINED() macro (which chekes the wk_cipher to be 'none'). Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D48980 --- sys/net80211/ieee80211_node.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 17ddc8533e41..f2fc3d21a361 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -2209,7 +2209,7 @@ ieee80211_node_delucastkey(struct ieee80211_node *ni) IEEE80211_NODE_LOCK(nt); nikey = NULL; status = 1; /* NB: success */ - if (ni->ni_ucastkey.wk_keyix != IEEE80211_KEYIX_NONE) { + if (IEEE80211_KEY_UNDEFINED(&ni->ni_ucastkey)) { keyix = ni->ni_ucastkey.wk_rxkeyix; status = ieee80211_crypto_delkey(ni->ni_vap, &ni->ni_ucastkey); if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) { From nobody Sat Feb 15 18:11:31 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwH6r1qYDz5ntJ2; Sat, 15 Feb 2025 18:11:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwH6q4snXz3lT5; Sat, 15 Feb 2025 18:11:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739643091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LdVUuwvTDo0ztwiQ8GVcv9RT5btq5LGhM76aKFzR6GQ=; b=oV15fVG24o2LpmOxhLWfhvOhhMYl7A1WUkLQZ3ceO1uxGAipuUHkB0rtaspCgJqTk4+zxw QuYgGf+hU/ggK9VeMo5/v3ssNWzBizlUjpY4EylALrpXjwg0mk0zARxlXCUhXV8mx6qIlo 6OAb2vvYFX7Eak+OL111a79QbGa6lgyLlsPYAhJfzV+u6wAb0gjKIL61EIxHPylbSjMf4I QMp0+x2y6mMcTyNCmWzwRJZT1c9+K/tzFCad6XGaWVlJLhYynqpOl4oqqxepwNJMi/AfYJ 3ty5xYfkQgw6HY20h477j25UOX2YviB7yghjuqpF89GmTDliy0MaT91B4df+Yg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739643091; a=rsa-sha256; cv=none; b=H9g0IlFPOzSxXATnaJ1mcpFEHdO6/GYggo8CBkG68h6DdYb7NQTgumxazVe9iw30iJlffv Y52F4FgaFpb7eSqJ8H5QTlcub4mRNkTs+V253rb9+XpuBZiFpZeTO/jE/sCuX4Vcix85jr 7IkgfC7UkYXN7gZjcuDkNokcn1RSL113pCVocR9tVUIM+VOnySrCMIdyu9bbzBh5lravVM iA374wtroKaj7Xclacf8egc3B7LaP/OxGusWZD2D3SciKPLvy5OE5eg+rEttF9zwZfC/6O 9FOJhpUFhyRjhDpCzPkypZ7AcBS9X9DH9hnFxu5i+AvszwANV8nX0xUa/invKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739643091; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LdVUuwvTDo0ztwiQ8GVcv9RT5btq5LGhM76aKFzR6GQ=; b=P2VVEiJ/cKqW6oDbcJKmpoZzgGJiWlHia/vA2Cs3Qwm4fuN14rW6R5/2BjxvSkBMecPCDI 3XAhNbB6bAGo8J5OBFQwDhCYVvwyaJmTpUB5E9NZqfE/rU0+84SjF6J8WvLiu2ku580jqz vW35qg6Uf8CorikbX21Yff/dmXQ6vR4XkTfyPNmr6hL+BxzDHd7IkQbkReN08H0svueAsq Cq6M+tVNU89C6VTNwswdqwy6x7FvJGBqhHwU7sYg3DBSfB7BGLv+HPQZSWUF2F6ESSsE+W BwvvTVQpyNnWVGior9PKxZfa/NPF65JI/8V9G8kow49lgClIhmjyHYYDrWz26Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwH6q4CVsz1Qpj; Sat, 15 Feb 2025 18:11:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51FIBVNI013409; Sat, 15 Feb 2025 18:11:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FIBVok013406; Sat, 15 Feb 2025 18:11:31 GMT (envelope-from git) Date: Sat, 15 Feb 2025 18:11:31 GMT Message-Id: <202502151811.51FIBVok013406@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: fa462b8b8ebc - main - vm_object: drop pointless assignment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: fa462b8b8ebc5db0be95c478b21ae8cc1288cdd2 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=fa462b8b8ebc5db0be95c478b21ae8cc1288cdd2 commit fa462b8b8ebc5db0be95c478b21ae8cc1288cdd2 Author: Doug Moore AuthorDate: 2025-02-15 18:09:26 +0000 Commit: Doug Moore CommitDate: 2025-02-15 18:09:26 +0000 vm_object: drop pointless assignment An assignment in collapse_scan() has become useless because, on every path, another assignment to that variable overrides it before that variable is read. Another assignment can be avoided sometimes, so move it down in the loop to where it's really necessary. Reviewed by: alc, markj Differential Revision: https://reviews.freebsd.org/D49017 --- sys/vm/vm_object.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index a3cfb4d036be..0f0f8cc6f5bf 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1703,9 +1703,6 @@ vm_object_collapse_scan(vm_object_t object) */ vm_page_iter_init(&pages, backing_object); for (p = vm_page_iter_lookup_ge(&pages, 0); p != NULL; p = next) { - next = TAILQ_NEXT(p, listq); - new_pindex = p->pindex - backing_offset_index; - /* * Check for busy page */ @@ -1721,8 +1718,8 @@ vm_object_collapse_scan(vm_object_t object) ("vm_object_collapse_scan: object mismatch %p != %p", p->object, backing_object)); - if (p->pindex < backing_offset_index || - new_pindex >= object->size) { + if (p->pindex < backing_offset_index || object->size <= + (new_pindex = p->pindex - backing_offset_index)) { vm_pager_freespace(backing_object, p->pindex, 1); KASSERT(!pmap_page_is_mapped(p), From nobody Sat Feb 15 20:44: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 4YwLVt6213z5nKlJ; Sat, 15 Feb 2025 20:44:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwLVt1JZDz4Njg; Sat, 15 Feb 2025 20:44:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739652246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MwMVJ5IyuR7byCc/mHxkb0oafAGcSrZ/YY2ZjTypGu0=; b=mdeRqlUMzaSdVW/Fsn4t8wXMLmoFt+f/lC1uSylHA86BLvOdG7kTu8Me8JEMHq82G2xLBT TuLMVc8ctYpexYPX2WYEp5SJh8iKdAOq/SXVyU8mEVdPr7OZI90tuCv83hs1oSjvxF2jYg 0zZLj5XARtwqgF1lm9YWRljuHRrkgXJqN0HFl1BKZuMfeTPsFo080dbx4Sc0X5Cl32+ePW hJXmzlVCSwcW7DtvSOBVeNqEubdmLk3lRnuexipklOEVNHihW/uTiV8Wi43Db6vDevBxi3 JNqEOv0f+baZZfIgjrHT8b02HC31rsfKbsJ+hEovefL8ZY2Kv6qQeDIfPCsAMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739652246; a=rsa-sha256; cv=none; b=CpQa0tjfMmBX7F6XA2fFvLo2hT19A5WxyU8PhpWZfLWf2RgHWuBMUzlcY4jpLEpIXaLPxY y88y/DQxgacqT6z+llKWqBxfcvSrypiVZmi+5jQg7eo5saX4ud9icvB8hXXZ2DVaHu17JT GVxb1ruMygvfSlTCDv58FPUYHtjw2eEPB1IowZtzsd+JiiKlzQSUOt1dQcZvdtm3E7sMNx 2CzSbRAKOuXOWvwYes82/Y82tGT3gjJ7T41iD64woqkjmXLdfW1fK/ZK8QlscH3YS4I4Dj 4hubQ0137R3rzjDP0sozGuLZLC8IHKshibxrL8lLNQ/QdXprHfypCzck1ALs1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739652246; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MwMVJ5IyuR7byCc/mHxkb0oafAGcSrZ/YY2ZjTypGu0=; b=mJS9xG0P8afiS4VyoQ+iIh9E5VusWGMX95cGBJDcErN/uCNKyqtWvz8og6YgiAp6eHQyLL x/Ras+AO7eRBo6UX56gvDi1uJqbKAo8U98dNIxxITv8tUYLyeY2r6MkY+2g0dDKm2zPthj Z6BrN12j5qKDAJOkU420iNgQk975U0IGwzSgqQmuJT2xTmkYzpmgeXyZ9yIyONDzAQtOyf jE4mkbes7HwEm1JK/Q3FlAeuTROr3E9zqOTTjfIbiD1W4+f5Jwsb0RW8Xi9SSJZDJtmZta Jn1ywkrgHTAEXjyfIx8nCh1kA18Pkmx5SkfM3AxSeZO111xURm0Xlf5prDgDfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwLVt0nWXz2Ch; Sat, 15 Feb 2025 20:44: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 51FKi68a001000; Sat, 15 Feb 2025 20:44:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FKi66c000997; Sat, 15 Feb 2025 20:44:06 GMT (envelope-from git) Date: Sat, 15 Feb 2025 20:44:06 GMT Message-Id: <202502152044.51FKi66c000997@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: 0f10a33fc1b3 - main - ar40xx: fix to compile/run under the new ifnet 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: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f10a33fc1b30b2eefd7f0278380875b2982e9a9 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=0f10a33fc1b30b2eefd7f0278380875b2982e9a9 commit 0f10a33fc1b30b2eefd7f0278380875b2982e9a9 Author: Adrian Chadd AuthorDate: 2025-02-02 22:17:03 +0000 Commit: Adrian Chadd CommitDate: 2025-02-15 20:43:42 +0000 ar40xx: fix to compile/run under the new ifnet rules Locally tested: * IPQ4018, Asus router, w/ ethernet driver Differential Revision: https://reviews.freebsd.org/D49025 Reviewed by: imp, zlei --- sys/dev/etherswitch/ar40xx/ar40xx_phy.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/etherswitch/ar40xx/ar40xx_phy.c b/sys/dev/etherswitch/ar40xx/ar40xx_phy.c index f27e7503eb28..aa02ef25ac7b 100644 --- a/sys/dev/etherswitch/ar40xx/ar40xx_phy.c +++ b/sys/dev/etherswitch/ar40xx/ar40xx_phy.c @@ -200,9 +200,9 @@ ar40xx_attach_phys(struct ar40xx_softc *sc) snprintf(name, IFNAMSIZ, "%sport", device_get_nameunit(sc->sc_dev)); for (phy = 0; phy < AR40XX_NUM_PHYS; phy++) { sc->sc_phys.ifp[phy] = if_alloc(IFT_ETHER); - sc->sc_phys.ifp[phy]->if_softc = sc; - sc->sc_phys.ifp[phy]->if_flags |= IFF_UP | IFF_BROADCAST | - IFF_DRV_RUNNING | IFF_SIMPLEX; + if_setsoftc(sc->sc_phys.ifp[phy], sc); + if_setflagbits(sc->sc_phys.ifp[phy], IFF_UP | IFF_BROADCAST | + IFF_DRV_RUNNING | IFF_SIMPLEX, 0); sc->sc_phys.ifname[phy] = malloc(strlen(name)+1, M_DEVBUF, M_WAITOK); bcopy(name, sc->sc_phys.ifname[phy], strlen(name)+1); @@ -215,7 +215,7 @@ ar40xx_attach_phys(struct ar40xx_softc *sc) device_printf(sc->sc_dev, "%s attached to pseudo interface %s\n", device_get_nameunit(sc->sc_phys.miibus[phy]), - sc->sc_phys.ifp[phy]->if_xname); + if_name(sc->sc_phys.ifp[phy])); if (err != 0) { device_printf(sc->sc_dev, "attaching PHY %d failed\n", From nobody Sat Feb 15 23:48:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwQbP6yhcz5nXKs; Sat, 15 Feb 2025 23:48:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwQbP0CMjz3Cyp; Sat, 15 Feb 2025 23:48:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739663297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mq7DtvkOZxkWJ+EkozKPfQl4nC0YzTdGWnMOK+H3ueo=; b=A45Yw4I3rYSHEimgRoDWUwGqVOJz02wJx0BLgZ9gg/6/Efmhvw+UVkNHk/iRnHEsRkRrOE yyaou3yTcOAf7y0UafNYo5dVUjPXwnKwNVi0xt8HmNvZJ2JtvjVk6fT6DoEc0PmWGIX/B1 pi1ayqwb/h75NCJpfRtbmrrw/jdgPviA/gh1WAlMnCsOET5CgVlkXbwRI5a5sQooa4Yr4z 2pd9ZGjLdtKnAfRHZqae9LiGBuCjuCXk/DwVvyEWygF/VYaPth+H2vBrD7D4tdUZ6eo5LP pkn+AZwq167MsH+e7N2te2djNHyhEptuMx2qUDqVryZp96e0vAMNayd+jlHyKA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739663297; a=rsa-sha256; cv=none; b=qSPBVfQBJ6vaEfZeopMODeJFsQceY21JviNaOQHQkQnzOhaT23ooCXM7AQHWdGqitGmCiH TRkr4POz/V0buBVPSj3rNQiobLRjbsByAj3S2mNH5WCM2PHndFBpka5dLqIPYMiOedPUV9 hMy7jESL9FySj7gI5LQ6/jm9aeO952g8qOaxshwAmovT8dbfESD2ukyC8vtBN7penjJr0R rwCJSQ+KUNFY3fqYGGKnhkl7y5w1aQdsxee5vgVPQPu6Dht4SIFi00uCndIeTu+qaOrajh Twa4s5ARzAxT5pR7zUzP01XLtTae6Z0OVuDxF/KKlNSbJW3Sa+ErajEnLydTAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739663297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mq7DtvkOZxkWJ+EkozKPfQl4nC0YzTdGWnMOK+H3ueo=; b=czJwjsj1fysnwqorBRnZDFdwArpYKp7kGoWuEw9pcmzYvf4pWbxw4cjUAncVUK4s8TYFoH XPpIxGbYNHKL55sjRPhWY2t8JQE1JHNKDDsB+WYGpZKoxN5/WSwUv73ZukC9/bhDEFOUY5 t3pgHBqfIcAJ75VVpkBabcKhjgTwOTG3RXaKVh+Q9A+hewFrwVyVEjsFgdbmnTGg8GvRGG qsoynwRhdYo+XL+4PaitF1ZSxU0L3lOJxOx+GvrAKKpxWXhE/tvuoArK6HK1v4c+cNYEC0 6qq7IUjUakbrb5O00q50P2Qb+UM3an9VWELMumOEl7yo6E+8vCn0Rjchk6D4xw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwQbN6YbKz71P; Sat, 15 Feb 2025 23:48:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51FNmGhg040555; Sat, 15 Feb 2025 23:48:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51FNmG5h040552; Sat, 15 Feb 2025 23:48:16 GMT (envelope-from git) Date: Sat, 15 Feb 2025 23:48:16 GMT Message-Id: <202502152348.51FNmG5h040552@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: c272abc5c6a7 - main - LinuxKPI: 802.11: adjust the hw_scan channel list List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c272abc5c6a72881f1252f069d79990201559d1a Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c272abc5c6a72881f1252f069d79990201559d1a commit c272abc5c6a72881f1252f069d79990201559d1a Author: Bjoern A. Zeeb AuthorDate: 2025-02-12 23:26:24 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 23:22:39 +0000 LinuxKPI: 802.11: adjust the hw_scan channel list Until net80211 will grow proper scan offload with the various options needed and will allow switching the scan engine try to improve the situation if we are doing a hw_scan and the device supports SINGLE_SCAN_ON_ALL_BANDS. In that case create the channel list from our device information of supported channels rather than from the net80211 scan list. Filter out currently unsupported bands. While the general "scan EBUSY" problem remains at least in my local testing I am seeing a lot more 2 and 5 GHz band results rather than being stuck on a single band (as was also often the case with iwm for me in the past). Tested by: rene (previous version) MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 61 +++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 9d601050ba69..8c1b9d73ab56 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1,6 +1,6 @@ /*- * Copyright (c) 2020-2024 The FreeBSD Foundation - * Copyright (c) 2020-2024 Bjoern A. Zeeb + * Copyright (c) 2020-2025 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -3267,7 +3267,6 @@ sw_scan: /* XXX want to adjust ss end time/ maxdwell? */ } else { - struct ieee80211_channel *c; struct ieee80211_scan_request *hw_req; struct linuxkpi_ieee80211_channel *lc, **cpp; struct cfg80211_ssid *ssids; @@ -3284,14 +3283,31 @@ sw_scan: band_mask = 0; nchan = 0; - for (i = ss->ss_next; i < ss->ss_last; i++) { - nchan++; - band = lkpi_net80211_chan_to_nl80211_band( - ss->ss_chans[ss->ss_next + i]); - band_mask |= (1 << band); - } - - if (!ieee80211_hw_check(hw, SINGLE_SCAN_ON_ALL_BANDS)) { + if (ieee80211_hw_check(hw, SINGLE_SCAN_ON_ALL_BANDS)) { +#if 0 /* Avoid net80211 scan lists until it has proper scan offload support. */ + for (i = ss->ss_next; i < ss->ss_last; i++) { + nchan++; + band = lkpi_net80211_chan_to_nl80211_band( + ss->ss_chans[ss->ss_next + i]); + band_mask |= (1 << band); + } +#else + /* Instead we scan for all channels all the time. */ + for (band = 0; band < NUM_NL80211_BANDS; band++) { + switch (band) { + case NL80211_BAND_2GHZ: + case NL80211_BAND_5GHZ: + break; + default: + continue; + } + if (hw->wiphy->bands[band] != NULL) { + nchan += hw->wiphy->bands[band]->n_channels; + band_mask |= (1 << band); + } + } +#endif + } else { IMPROVE("individual band scans not yet supported, only scanning first band"); /* In theory net80211 should drive this. */ /* Probably we need to add local logic for now; @@ -3345,9 +3361,11 @@ sw_scan: *(cpp + i) = (struct linuxkpi_ieee80211_channel *)(lc + i); } +#if 0 /* Avoid net80211 scan lists until it has proper scan offload support. */ for (i = 0; i < nchan; i++) { - c = ss->ss_chans[ss->ss_next + i]; + struct ieee80211_channel *c; + c = ss->ss_chans[ss->ss_next + i]; lc->hw_value = c->ic_ieee; lc->center_freq = c->ic_freq; /* XXX */ /* lc->flags */ @@ -3356,6 +3374,27 @@ sw_scan: /* lc-> ... */ lc++; } +#else + for (band = 0; band < NUM_NL80211_BANDS; band++) { + struct ieee80211_supported_band *supband; + struct linuxkpi_ieee80211_channel *channels; + + /* Band disabled for scanning? */ + if ((band_mask & (1 << band)) == 0) + continue; + + /* Nothing to scan in band? */ + supband = hw->wiphy->bands[band]; + if (supband == NULL || supband->n_channels == 0) + continue; + + channels = supband->channels; + for (i = 0; i < supband->n_channels; i++) { + *lc = channels[i]; + lc++; + } + } +#endif hw_req->req.n_ssids = ssid_count; if (hw_req->req.n_ssids > 0) { From nobody Sun Feb 16 00:01: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 4YwQvB4Qv4z5nXvw; Sun, 16 Feb 2025 00:01:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwQvB0YlVz3MQY; Sun, 16 Feb 2025 00:01:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739664118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aP4+PqpD0yXGP7SAYj1tY1uhFjix4KBsuJiyFXK3yIU=; b=dlk4esUZhD12JFAv89NlvMOPIPVd1Y7cBETBQMUdGPRopvBxOzja1XceLIOYgFwFbpbCVL KHBhbj+Bqv5Jqc7ATfeB4L6iAnc+mXLVp1ZurHQaqQKawcmAtaIqshwHuUDZ+jVpqsSiqV auUF9D+zaN9IQQRiMLs+Pwua3j+W/7vWd2/5cu9i/XDjDmLCDxR04ZHWdYLR5sXFz90stk UBi8GSDVXdtMyFkY4fjxwBUu6y30D5su/XHiWB2zrTC3k3WhzIINt8DY8Uw3T1AIrf63lH pPI5e29p23sB+3uARhxMcSYpbkqtVUdlBAOfbW7o6mRCqkaXJe5xMERMIFOM/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739664118; a=rsa-sha256; cv=none; b=mGgiycvAm9Dmd9AbywuYHHBkKdG95oCtfEnVa99C3IrGumDH2TDYkKLRxyyB/qhHCPcLWi xAw6aBLEDQVQMm+JcL/ZGUiphy+t4qqIipXS1J3t/ddYCZOXACEcvbaJExDBbKwRy0EJlz Jv/8XTcWNUifqGf7UxgZcuKs+Rg5ela0KPbTlLi93aT51HKZWXJgzgzs5PqrTNAg1UEG2T vPx5o2GRiYVrzFO+VF7tQ7kkHQdm5ACFJcZNEXB2vGOJnYuyuTVUSsBRDTBn3gi3FObi4o xxX54S4817D26sjAiKTGArGMPZ+x85kQXFTJNU8gRSWn2cmV3Ir+BsvLaB6Ltg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739664118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aP4+PqpD0yXGP7SAYj1tY1uhFjix4KBsuJiyFXK3yIU=; b=O1lEeDyPaC6cY1cKa16781h5/AmKGnCxSeSsCHXal1QObPbj5bDiRDAyvKXv5PgDLj2cb1 4AqOyr7CJi8zxtsBC/saWE4gXc6JtEAGmGcYelIwV7UTgv10Dx19mJ6WOR2aXo4BCWn5/6 eQWlmLtcjnT/7T+UnbYJkIocSKGJPLNKFVkIjkd9n8CC1IRDkJKr+Y27vViCZyYAKQbvzl JYjoRGuLpur99JtNFmLpfZUyd0pwlGzr4RWFMPsoewn53AsS4wCvW5DnvxQdxPMWB6Lweb 7/KLeD7n+kAm6euM+6nopXdra1i2EX0W9JrOzXBwmq0Vtp3CCJkKMmf6XfYmyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwQvB06TCz7H5; Sun, 16 Feb 2025 00:01: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 51G01vkP075840; Sun, 16 Feb 2025 00:01:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51G01v61075837; Sun, 16 Feb 2025 00:01:57 GMT (envelope-from git) Date: Sun, 16 Feb 2025 00:01:57 GMT Message-Id: <202502160001.51G01v61075837@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: 5778cbdae761 - main - LinuxKPI: 802.11: implement various VHT helper functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5778cbdae7616c09efa6ccdd8c611d82cbc75f00 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5778cbdae7616c09efa6ccdd8c611d82cbc75f00 commit 5778cbdae7616c09efa6ccdd8c611d82cbc75f00 Author: Bjoern A. Zeeb AuthorDate: 2025-02-12 11:05:33 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-15 23:53:19 +0000 LinuxKPI: 802.11: implement various VHT helper functions Implement ieee80211_rate_set_vht(), ieee80211_rate_get_vht_{mcs,nss}(), and ieee80211_get_vht_max_nss(). Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 136 +++++++++++++++++++--- 1 file changed, 118 insertions(+), 18 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 8872be569e44..f5d3e1036edc 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2020-2024 The FreeBSD Foundation + * Copyright (c) 2020-2025 The FreeBSD Foundation * Copyright (c) 2020-2022 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from @@ -34,6 +34,7 @@ #include #include +#include #include #include #include @@ -1876,26 +1877,133 @@ ieee80211_stop_rx_ba_session_offl(struct ieee80211_vif *vif, uint8_t *addr, /* -------------------------------------------------------------------------- */ -static __inline void -ieee80211_rate_set_vht(struct ieee80211_tx_rate *r, uint32_t f1, uint32_t f2) +static inline void +ieee80211_rate_set_vht(struct ieee80211_tx_rate *r, uint8_t mcs, uint8_t nss) { - TODO(); + + /* XXX-BZ make it KASSERTS? */ + if (((mcs & 0xF0) != 0) || (((nss - 1) & 0xf8) != 0)) { + printf("%s:%d: mcs %#04x nss %#04x invalid\n", + __func__, __LINE__, mcs, nss); + return; + } + + r->idx = mcs; + r->idx |= ((nss - 1) << 4); } -static __inline uint8_t +static inline uint8_t ieee80211_rate_get_vht_nss(struct ieee80211_tx_rate *r) { - TODO(); - return (0); + return (((r->idx >> 4) & 0x07) + 1); } -static __inline uint8_t +static inline uint8_t ieee80211_rate_get_vht_mcs(struct ieee80211_tx_rate *r) { - TODO(); - return (0); + return (r->idx & 0x0f); } +static inline int +ieee80211_get_vht_max_nss(struct ieee80211_vht_cap *vht_cap, + enum ieee80211_vht_chanwidth chanwidth, /* defined in net80211. */ + int mcs /* always 0 */, bool ext_nss_bw_cap /* always true */, int max_nss) +{ + enum ieee80211_vht_mcs_support mcs_s; + uint32_t supp_cw, ext_nss_bw; + + switch (mcs) { + case 0 ... 7: + mcs_s = IEEE80211_VHT_MCS_SUPPORT_0_7; + break; + case 8: + mcs_s = IEEE80211_VHT_MCS_SUPPORT_0_8; + break; + case 9: + mcs_s = IEEE80211_VHT_MCS_SUPPORT_0_9; + break; + default: + printf("%s: unsupported mcs value %d\n", __func__, mcs); + return (0); + } + + if (max_nss == 0) { + uint16_t map; + + map = le16toh(vht_cap->supp_mcs.rx_mcs_map); + for (int i = 7; i >= 0; i--) { + uint8_t val; + + val = (map >> (2 * i)) & 0x03; + if (val == IEEE80211_VHT_MCS_NOT_SUPPORTED) + continue; + if (val >= mcs_s) { + max_nss = i + 1; + break; + } + } + } + + if (max_nss == 0) + return (0); + + if ((le16toh(vht_cap->supp_mcs.tx_mcs_map) & + IEEE80211_VHT_EXT_NSS_BW_CAPABLE) == 0) + return (max_nss); + + supp_cw = le32_get_bits(vht_cap->vht_cap_info, + IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK); + ext_nss_bw = le32_get_bits(vht_cap->vht_cap_info, + IEEE80211_VHT_CAP_EXT_NSS_BW_MASK); + + /* If requested as ext nss not supported assume ext_nss_bw 0. */ + if (!ext_nss_bw_cap) + ext_nss_bw = 0; + + /* + * Cover 802.11-2016, Table 9-250. + */ + + /* Unsupported settings. */ + if (supp_cw == 3) + return (0); + if (supp_cw == 2 && (ext_nss_bw == 1 || ext_nss_bw == 2)) + return (0); + + /* Settings with factor != 1 or unsupported. */ + switch (chanwidth) { + case IEEE80211_VHT_CHANWIDTH_80P80MHZ: + if (supp_cw == 0 && (ext_nss_bw == 0 || ext_nss_bw == 1)) + return (0); + if (supp_cw == 1 && ext_nss_bw == 0) + return (0); + if ((supp_cw == 0 || supp_cw == 1) && ext_nss_bw == 2) + return (max_nss / 2); + if ((supp_cw == 0 || supp_cw == 1) && ext_nss_bw == 3) + return (3 * max_nss / 4); + break; + case IEEE80211_VHT_CHANWIDTH_160MHZ: + if (supp_cw == 0 && ext_nss_bw == 0) + return (0); + if (supp_cw == 0 && (ext_nss_bw == 1 || ext_nss_bw == 2)) + return (max_nss / 2); + if (supp_cw == 0 && ext_nss_bw == 3) + return (3 * max_nss / 4); + if (supp_cw == 1 && ext_nss_bw == 3) + return (2 * max_nss); + break; + case IEEE80211_VHT_CHANWIDTH_80MHZ: + case IEEE80211_VHT_CHANWIDTH_USE_HT: + if ((supp_cw == 1 || supp_cw == 2) && ext_nss_bw == 3) + return (2 * max_nss); + break; + } + + /* Everything else has a factor of 1. */ + return (max_nss); +} + + static __inline void ieee80211_reserve_tid(struct ieee80211_sta *sta, uint8_t tid) { @@ -2239,14 +2347,6 @@ ieee80211_beacon_update_cntdwn(struct ieee80211_vif *vif, uint32_t link_id) return (-1); } -static __inline int -ieee80211_get_vht_max_nss(struct ieee80211_vht_cap *vht_cap, uint32_t chanwidth, - int x, bool t, int nss) -{ - TODO(); - return (-1); -} - static __inline bool ieee80211_beacon_cntdwn_is_complete(struct ieee80211_vif *vif, uint32_t link_id) { From nobody Sun Feb 16 10:59:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YwjTL4prFz5nH8T; Sun, 16 Feb 2025 10:59:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwjTL3zD3z3S86; Sun, 16 Feb 2025 10:59:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739703542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SNluiqYEwlDqUVq6e7LW8Z7Hvj9UvCH+3AV5FP1IhF8=; b=gLU3E9SOMenQzRTLNgaXPy8DZ2vgxOExKl3obUXmyB0hWsCzb8xM4ThoWMqIQPjLrq5yTP hM08z82TvusjnZFsANxxtFePPp89J8liWQIvV/RW3IjrB/QOe1i6pXCy60pAm6opM+hmj/ Kx0XgffHwOBooBFWTuLlEwElC4fcmhIHQNPyREAWDb26ZxLpUOHjJVtEtxU1UJ7jf/pylw TcCVZc62VpkkjimxTxqIlej8CGFd3lXi56xF3xnvXVbiz37+yQkfzgr/KuvOWiVjoivtzZ AXBkIu44ZzNewfBZowa9EOd+SGhqwGgP0eWNLIwS3qvPusAuDmkDGv5LGDegDw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739703542; a=rsa-sha256; cv=none; b=JQ3W5msKiPqAuhYbnFiFevlmTR78Gu5arORpzX5vSngie9zNNnw8XGXv1lo6MprauWGCIQ xXRt8CnU3xBTp0isxt0tCDlUCeBcUbytHGy7y7dOgqYwmwI9yTejrRvQ244CizIoYSzFO9 0a4QRKS3yF6MSFpNb3hsgOAnegxpW03FzX6iGXGNlxQxDHt6cT5hyZstJsmW51bYQuFDks N6vSv/Gzjf2LL7NcBX5kw/Ro22FMb+i+e9FQ6Q0zCYycxOfzDtq8F2UlpqF343e1x1hK9V MPmMHQSeVoW/f2X4Tyhr5nE4XB8zaJdo91rJCxbN9TWr+SwxJzMH8dK7r07Ecw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739703542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SNluiqYEwlDqUVq6e7LW8Z7Hvj9UvCH+3AV5FP1IhF8=; b=rpHdW4mZk80s5KAeVWLJIHUjm1uNJ4JUWeqaZ4TVbCJ9juO4YnfUjGRhvN1fotyf69Pbuo mO+h00lqf4+ojHB7QR3B4D/BGBRDmO1/h7UvDEjMil7ZIpwBmMMsf+JAW56dK9uhQ5bdIL eaTOQPcrWgYHImPfx1PlP2twCW+ZOvjpHduX4Tc7qesVji2Szi/23pHOfRB36UmjYVFxAi FjptWzrt3hGIZ210xnO1TaBZ0dTVC7I/XzuAVnYlD2YwTr1Dalk8Fv3qS2ROVY9jlkvrWE OxcDALopvORaRJvFhzmp5L2xXm/W0iHyx73GjFdzeSV90fOTTyATqhSwPKEXmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwjTL28KdzlGJ; Sun, 16 Feb 2025 10:59:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51GAx2ki002494; Sun, 16 Feb 2025 10:59:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GAx226002491; Sun, 16 Feb 2025 10:59:02 GMT (envelope-from git) Date: Sun, 16 Feb 2025 10:59:02 GMT Message-Id: <202502161059.51GAx226002491@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bojan =?utf-8?Q?Novkovi=C4=87?= Subject: git: 19f202f859b1 - main - sdhci: Fixes for sdhci_fdt_rockchip.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: bnovkov X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 19f202f859b101507e26fe181aaf9f0b99f4d59c Auto-Submitted: auto-generated The branch main has been updated by bnovkov: URL: https://cgit.FreeBSD.org/src/commit/?id=19f202f859b101507e26fe181aaf9f0b99f4d59c commit 19f202f859b101507e26fe181aaf9f0b99f4d59c Author: Bojan Novković AuthorDate: 2025-02-16 10:41:43 +0000 Commit: Bojan Novković CommitDate: 2025-02-16 10:41:43 +0000 sdhci: Fixes for sdhci_fdt_rockchip.c This change fixes a couple of issues in the Rockchip SDHCI driver: - Fix a panic caused by sdhci_fdt_rockchip_attach not populating the softc's dev variable before initializing clocks - Fix a bug where sdhci_fdt_rockchip_set_clock fails to call sdhci_fdt_set_clock Fixes: e17e33f997d6 Reported by: Alonso Cárdenas Márquez (acardenas@bsd-peru.org) --- sys/dev/sdhci/sdhci_fdt_rockchip.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/sys/dev/sdhci/sdhci_fdt_rockchip.c b/sys/dev/sdhci/sdhci_fdt_rockchip.c index b3311d3e8a48..44a5e2ffe271 100644 --- a/sys/dev/sdhci/sdhci_fdt_rockchip.c +++ b/sys/dev/sdhci/sdhci_fdt_rockchip.c @@ -217,7 +217,7 @@ sdhci_fdt_rockchip_set_clock(device_t dev, struct sdhci_slot *slot, int clock) DLL_STRBIN_TAPNUM_FROM_SW); } } - return (sdhci_fdt_rockchip_set_clock(dev, slot, clock)); + return (sdhci_fdt_set_clock(dev, slot, clock)); } static int @@ -226,6 +226,7 @@ sdhci_fdt_rockchip_attach(device_t dev) struct sdhci_fdt_softc *sc = device_get_softc(dev); int err, compat; + sc->dev = dev; compat = ofw_bus_search_compatible(dev, compat_data)->ocd_data; switch (compat) { case SDHCI_FDT_RK3399: @@ -243,12 +244,10 @@ sdhci_fdt_rockchip_attach(device_t dev) device_printf(dev, "Cannot get syscon handle\n"); return (err); } - if (compat == SDHCI_FDT_RK3399) { - err = sdhci_init_rk3399(dev); - if (err != 0) { - device_printf(dev, "Cannot init RK3399 SDHCI\n"); - return (err); - } + err = sdhci_init_rk3399(dev); + if (err != 0) { + device_printf(dev, "Cannot init RK3399 SDHCI\n"); + return (err); } break; case SDHCI_FDT_RK3568: From nobody Sun Feb 16 19:08: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 4YwwKY4ZKnz5npZQ; Sun, 16 Feb 2025 19:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwwKY0DPDz3DWn; Sun, 16 Feb 2025 19:08:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739732881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HP0RTIp7ry1YF2xNU9/4syWuaWNBHWzompIFCY3oxrE=; b=VMOiJJvVTycOTjVl5NJsK2WMKawiDTBLMO8gruE1Y+byC1y2WodIFUQWXUcpOSLRTmPC3K gKF46qsosdkqeNo6j4ohcYDMgkUCOk/+GsD04VvRJerv1FN/WbX4bX3qXVeXX1Kd5h3Xgp Xb53mQxIUhVfYS4dHXiR9EiD/+42aWkC9OfWoZfANB3XOY38wIeCO09smv5AbSobq0xoMc 58SroM6xdn4B7MamQkjl+WlTJbnbhvW9WRWEDLn+ubtqfoA34QI7107R71rKZ9uERFZCzR NMKtDt++diksQKBbRKrGfvcpD3mNPSsmwdEIMVtV3EQU2jVI+p5j9J9qzwp5/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739732881; a=rsa-sha256; cv=none; b=rgR0i2+CakyV1ekXXMgZpDWheq1ydNK3BIo3TQJRVotUcvmQy51OXGYmSFKt+3e2Sz9oi9 /UQjem2UWOsJBuURj9cybz+MRtiFHuzWCwKkiOuK5U+dgIN4VKEXFh3jFwyZ9oRE1tBn5n 0Xac77u7y7z/oTQh+d5atPP2VZd5BMtzdmlxlVR2igN/BONizs3W4+U2j+aO1UJiaNhxKi V0qjbI4/Di2iZvNMALf5g6vEbMCm4vdVZiND/L+18Jx1VWeAP/thVu03vqvwcD7nlrqWGA 8pBtrZG7LzE7jKDZz3V6iyIDt+1Lp0xQkZdYTUKsUbvHhQr07icumUwnI2KaNw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739732881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HP0RTIp7ry1YF2xNU9/4syWuaWNBHWzompIFCY3oxrE=; b=F23h4WJ1OWLAo7n04bPSIFrc61pJVed0dPJv9R/11LUXd2Lu9I0StWHmwF1sF9TmjxZr64 aeB1zH74iu5Tc5Y0PTieQlxsRov/5HxqAf9FFsKUbcMBktTjDmwSPrBd9mMqC6nCoCXaiO kuMTCWTKXs+tQVk4VL/uQcpkCU5zHy76nUG1ubZzyQa7JJto+ZggwAbi9zSwzVqwDPYCJt 3c1eesyGoeF0TBWNmI4MWlpJvEJN6iM6aD3Yy63u0Z+qwBH8YfTbZ8Q4QiBd8VfME00lcz YU+NZS1E72q9Wjef2hBlAhGH6432N/6e89fkaU3Has/3v6pepPtgoKRURiHTJg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwwKX6wk6z108P; Sun, 16 Feb 2025 19:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51GJ80HB033114; Sun, 16 Feb 2025 19:08:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GJ806X033111; Sun, 16 Feb 2025 19:08:00 GMT (envelope-from git) Date: Sun, 16 Feb 2025 19:08:00 GMT Message-Id: <202502161908.51GJ806X033111@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: bba883df5e88 - main - pctrie: iter_remove check from panic to KASSERT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: bba883df5e88d0fb1133b23c05db5501dd321ad8 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=bba883df5e88d0fb1133b23c05db5501dd321ad8 commit bba883df5e88d0fb1133b23c05db5501dd321ad8 Author: Doug Moore AuthorDate: 2025-02-16 19:05:18 +0000 Commit: Doug Moore CommitDate: 2025-02-16 19:05:18 +0000 pctrie: iter_remove check from panic to KASSERT pctrie_iter_remove checks to see if the thing the iterator points to is actually there, and panics if it is not. This panic would likely indicate the same iterator had been used for removal twice, without advancing the iterator in-between. This test takes a bit of time, and as it indicates a programmer error rather than some external condition, it is better handled as a KASSERT. This means with KASSERTs disabled, a wee bit of time is saved. Reviewed by: alc, markj Differential Revision: https://reviews.freebsd.org/D49015 --- sys/kern/subr_pctrie.c | 41 +++++++++++++++++++---------------------- sys/sys/pctrie.h | 7 ++----- 2 files changed, 21 insertions(+), 27 deletions(-) diff --git a/sys/kern/subr_pctrie.c b/sys/kern/subr_pctrie.c index 16690c3521bf..51be005cccd7 100644 --- a/sys/kern/subr_pctrie.c +++ b/sys/kern/subr_pctrie.c @@ -826,26 +826,22 @@ pctrie_iter_jump_le(struct pctrie_iter *it, int64_t jump) } /* - * If 'child', a leaf and a child of 'parent', is not NULL and has key 'index', - * then remove it from the pctrie and return its value. If doing so produces an - * internal node with only one child, purge it from the pctrie and save it in - * *freenode for later disposal. + * Remove the non-NULL child identified by 'index' from the set of children of + * 'node'. If doing so causes 'node' to have only one child, purge it from the + * pctrie and save it in *freenode for later disposal. */ -static uint64_t * +static void pctrie_remove(struct pctrie *ptree, struct pctrie_node *node, uint64_t index, - struct pctrie_node *child, struct pctrie_node **freenode) + struct pctrie_node **freenode) { - uint64_t *m; + struct pctrie_node *child; int slot; *freenode = NULL; - m = pctrie_match_value(child, index); - if (m == NULL) - return (m); if (node == NULL) { pctrie_node_store(pctrie_root(ptree), PCTRIE_NULL, PCTRIE_LOCKED); - return (m); + return; } slot = pctrie_slot(node, index); KASSERT((node->pn_popmap & (1 << slot)) != 0, @@ -854,7 +850,7 @@ pctrie_remove(struct pctrie *ptree, struct pctrie_node *node, uint64_t index, node->pn_popmap ^= 1 << slot; pctrie_node_store(&node->pn_child[slot], PCTRIE_NULL, PCTRIE_LOCKED); if (!powerof2(node->pn_popmap)) - return (m); + return; KASSERT(node->pn_popmap != 0, ("%s: bad popmap all zeroes", __func__)); slot = ffs(node->pn_popmap) - 1; child = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); @@ -866,7 +862,6 @@ pctrie_remove(struct pctrie *ptree, struct pctrie_node *node, uint64_t index, pctrie_setparent(child, node); pctrie_node_store(pctrie_child(ptree, node, index), child, PCTRIE_LOCKED); - return (m); } /* @@ -878,6 +873,7 @@ pctrie_remove_lookup(struct pctrie *ptree, uint64_t index, struct pctrie_node **freenode) { struct pctrie_node *child, *node; + uint64_t *m; int slot; node = NULL; @@ -888,25 +884,26 @@ pctrie_remove_lookup(struct pctrie *ptree, uint64_t index, child = pctrie_node_load(&node->pn_child[slot], NULL, PCTRIE_LOCKED); } - return (pctrie_remove(ptree, node, index, child, freenode)); + if ((m = pctrie_match_value(child, index)) != NULL) + pctrie_remove(ptree, node, index, freenode); + else + *freenode = NULL; + return (m); } /* * Remove from the trie the leaf last chosen by the iterator, and * adjust the path if it's last member is to be freed. */ -uint64_t * +void pctrie_iter_remove(struct pctrie_iter *it, struct pctrie_node **freenode) { - struct pctrie_node *child; - uint64_t *m; - - child = pctrie_node_load(pctrie_child(it->ptree, it->node, it->index), - NULL, PCTRIE_LOCKED); - m = pctrie_remove(it->ptree, it->node, it->index, child, freenode); + KASSERT(NULL != pctrie_match_value(pctrie_node_load(pctrie_child( + it->ptree, it->node, it->index), NULL, PCTRIE_LOCKED), it->index), + ("%s: removing value %lx not at iter", __func__, it->index)); + pctrie_remove(it->ptree, it->node, it->index, freenode); if (*freenode != NULL) it->node = pctrie_parent(it->node); - return (m); } /* diff --git a/sys/sys/pctrie.h b/sys/sys/pctrie.h index 196449e663d3..42473dc8e632 100644 --- a/sys/sys/pctrie.h +++ b/sys/sys/pctrie.h @@ -312,12 +312,9 @@ name##_PCTRIE_REMOVE_BASE(struct pctrie *ptree, \ static __inline __unused void \ name##_PCTRIE_ITER_REMOVE(struct pctrie_iter *it) \ { \ - uint64_t *val; \ struct pctrie_node *freenode; \ \ - val = pctrie_iter_remove(it, &freenode); \ - if (val == NULL) \ - panic("%s: key not found", __func__); \ + pctrie_iter_remove(it, &freenode); \ name##_PCTRIE_REMOVE_BASE(it->ptree, freenode); \ } \ \ @@ -386,7 +383,7 @@ struct pctrie_node *pctrie_reclaim_resume_cb(struct pctrie_node **pnode, pctrie_cb_t callback, int keyoff, void *arg); uint64_t *pctrie_remove_lookup(struct pctrie *ptree, uint64_t index, struct pctrie_node **killnode); -uint64_t *pctrie_iter_remove(struct pctrie_iter *it, +void pctrie_iter_remove(struct pctrie_iter *it, struct pctrie_node **freenode); uint64_t *pctrie_iter_value(struct pctrie_iter *it); uint64_t *pctrie_replace(struct pctrie *ptree, uint64_t *newval); From nobody Sun Feb 16 20:22: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 4Ywxz06KF5z5ntKK; Sun, 16 Feb 2025 20:22:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ywxz00YbXz3rhg; Sun, 16 Feb 2025 20:22:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739737324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5gukZQTHzP/jTXfFM06ouP8ZPZb+KYVmbgyMUhOHtVQ=; b=cBjTKiiBEJje39/6/Jt23mNunwAnRkabnPYkZ+tScn6pgzMsbkn+vgIPvlQFvl/RDBEQ+3 gNcEaNMFJJYFG4fQqjryuVBI8lb5bWuaazeMgTCXSO8ALSngkPlLwQN/GsOwiX/XmrnXPV YFd5FTVOf31Pm0FPp+EvoYS2AtWl0Pnx/RhgD4b6VbbbOSIX99NgZKj3pi0jKpZnkIz7HL v3Xsgshgyt24Tyoh5t4dmsuhzcKdTfS7cy8OH5Vuo88whSrNLGeE9ihr3XTINX5WNBiPbx jNao0rlf6n1ALWB+yxBHi1FDGAQ/zGn3WQD0BzlMradHvZAE6xJjPZ7ksM2wdQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739737324; a=rsa-sha256; cv=none; b=OYR2wSsX/zinxQWtNW47bpn8ZlGlu6L7m5QQ3IA6bbJVc4oD6dGrGjqOwbs7XvPUINbmB8 KiE5FqmvsvEHrVHui8ZvP+YuVv4oWKbtN+cgp9ZigiCe8OklDwqAFXnbgcpZdNk71AUdK4 KlhjFqvkgeI2qnyJnwUrpaHWuouAyqzk9m6THr2BPX/XcQ1xiuNj1134OvzmnStRNSzipx F6vdObPdqaKS3sa1QJdGNZROgUYFpNE/Sfx1xEgTpDruVOsBlObowqK+sE2komUiuOQ1O0 z9x9algOrLZNvBkl/5wvuWivS8RbHYy+DQf8Z/1ItKo/wlieOm0duqYbFBexDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739737324; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5gukZQTHzP/jTXfFM06ouP8ZPZb+KYVmbgyMUhOHtVQ=; b=NdkT56/nornpAa49fBXzVwYd5NeFpk4OvgeLRbok8YMIwzWlhyJ1KJvRUF9gf6GT4Pq6xl 1MP4ZnbZ6LlZtWjh6vHxLXuNhfdPU8i16BDAZiPRragP9EkcH+Oocy3HIpRfnuaBhpB2hV V12phfw6Bq7s6nBlRzP04WUHutx0SlvShSNsWHjEwB2CiY/WK1FUBGaQuFSDml5d7BLZQf /Y7viTf+2aSarIXtSDGms4kS5gfa7YQjEbxhbnvqXVTvLw31jBtX+5wjokbfyinrnYrmWU r+SecrUOj57PqCwbbCleHX7OzdAiaSbRbsF1UPih07x/JFmYIg9si/6JIYpe5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ywxyz6rxPz12sF; Sun, 16 Feb 2025 20:22: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 51GKM3LP077712; Sun, 16 Feb 2025 20:22:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GKM3uo077709; Sun, 16 Feb 2025 20:22:03 GMT (envelope-from git) Date: Sun, 16 Feb 2025 20:22:03 GMT Message-Id: <202502162022.51GKM3uo077709@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: ec6185c52661 - main - net80211/crypto: LinuxKPI/802.11: introduce IEEE80211_RX_F_PN_VALIDATED List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ec6185c52661d3af0dac6dcc8701fc49fae3e1d9 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ec6185c52661d3af0dac6dcc8701fc49fae3e1d9 commit ec6185c52661d3af0dac6dcc8701fc49fae3e1d9 Author: Bjoern A. Zeeb AuthorDate: 2025-01-07 12:02:54 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 20:20:50 +0000 net80211/crypto: LinuxKPI/802.11: introduce IEEE80211_RX_F_PN_VALIDATED There are cases when we see "rx seq# violation (CCMP)". Historically these were AHDEMO/IBBS cases (IEEE80211_KEY_NOREPLAY, see 5d766a09daab2). With iwlwifi(4) doing RSS for newer chipsets and us not having any idea about multiple rx-queues (passed all the way through) leads to the same problem. An easy way to trigger this is doing an IPv6 all-nodes echo request. With a sufficient amount of nodes answering the answers will be hashed to different queues and re-ordering will likely take place as queues get released individually. However crypto validation is already done in fw/driver for these cases and we need to carry the state forward. Add IEEE80211_RX_F_PN_VALIDATED to indicate that the checks were done passing the information from driver through LinuxKPI to net80211. LinuxKPI enforces that a frame was indeed decrypted; otherwise the flag would be invalid. This also avoids returning an error and no key from ieee80211_crypto_decap() and thus avoids dropping the frame. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D49029 --- sys/compat/linuxkpi/common/src/linux_80211.c | 16 +++++++++++++++- sys/net80211/_ieee80211.h | 1 + sys/net80211/ieee80211_crypto_ccmp.c | 16 +++++++++++++--- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 8c1b9d73ab56..07b79fed2c2b 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2020-2024 The FreeBSD Foundation + * Copyright (c) 2020-2025 The FreeBSD Foundation * Copyright (c) 2020-2025 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from @@ -5424,6 +5424,20 @@ no_trace_beacons: rx_stats.c_freq = rx_status->freq; rx_stats.c_ieee = ieee80211_mhz2ieee(rx_stats.c_freq, rx_stats.c_band); + /* + * We only need these for LKPI_80211_HW_CRYPTO in theory but in + * case the hardware does something we do not expect always leave + * these enabled. Leaving this commant as documentation for the || 1. + */ +#if defined(LKPI_80211_HW_CRYPTO) || 1 + if (rx_status->flag & RX_FLAG_DECRYPTED) { + rx_stats.c_pktflags |= IEEE80211_RX_F_DECRYPTED; + /* Only valid if decrypted is set. */ + if (rx_status->flag & RX_FLAG_PN_VALIDATED) + rx_stats.c_pktflags |= IEEE80211_RX_F_PN_VALIDATED; + } +#endif + /* XXX (*sta_statistics)() to get to some of that? */ /* XXX-BZ dump the FreeBSD version of rx_stats as well! */ diff --git a/sys/net80211/_ieee80211.h b/sys/net80211/_ieee80211.h index 8ae7eb0f1c45..8d5583a826e5 100644 --- a/sys/net80211/_ieee80211.h +++ b/sys/net80211/_ieee80211.h @@ -594,6 +594,7 @@ struct ieee80211_mimo_info { #define IEEE80211_RX_F_OFDM 0x00002000 #define IEEE80211_RX_F_HT 0x00004000 #define IEEE80211_RX_F_VHT 0x00008000 +#define IEEE80211_RX_F_PN_VALIDATED 0x00010000 /* Decrypted; PN validated */ /* Channel width */ #define IEEE80211_RX_FW_20MHZ 1 diff --git a/sys/net80211/ieee80211_crypto_ccmp.c b/sys/net80211/ieee80211_crypto_ccmp.c index 45e795a8799b..8f7d5eed593c 100644 --- a/sys/net80211/ieee80211_crypto_ccmp.c +++ b/sys/net80211/ieee80211_crypto_ccmp.c @@ -238,6 +238,7 @@ ccmp_decap(struct ieee80211_key *k, struct mbuf *m, int hdrlen) struct ieee80211_frame *wh; uint8_t *ivp, tid; uint64_t pn; + bool noreplaycheck; rxs = ieee80211_get_rx_params_ptr(m); @@ -261,8 +262,10 @@ ccmp_decap(struct ieee80211_key *k, struct mbuf *m, int hdrlen) } tid = ieee80211_gettid(wh); pn = READ_6(ivp[0], ivp[1], ivp[4], ivp[5], ivp[6], ivp[7]); - if (pn <= k->wk_keyrsc[tid] && - (k->wk_flags & IEEE80211_KEY_NOREPLAY) == 0) { + + 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. */ @@ -302,7 +305,14 @@ finish: * Ok to update rsc now. */ if (! ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_IV_STRIP))) { - k->wk_keyrsc[tid] = pn; + /* + * 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; From nobody Sun Feb 16 20:24: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 4Ywy1Z0cg7z5ntXc; Sun, 16 Feb 2025 20:24:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ywy1Y6Fnwz3t2l; Sun, 16 Feb 2025 20:24:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739737457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAHTy9di53vIRMK2N6EspVksOn2EQmrY0NLHgk0x/Ns=; b=usgE/eunHKTuDPNf+hnOWq8uhAqYYC+djjex3E0+OKLSppJOSECmmtBEoSadqtSk8ypRRz KPPOiuSu2vUut79kEh4IpbtyQAE/GcRnfLwol8PsjRrmXEVMYjL06BiQPehDrhroShhKKJ Yjfx/jvA5fMyNQd8hhctKaAGxHiFshz1D4Vg5bQyWfsD7wctlyqTuTA7WCLZo1efGT/QgO 91Q34AN4Ej5xrMaQLa1Zo+RiFVR2znVUQGDD5aQ24ScVxAg+Kv3CmwZM4UnvGM8k3jQP8s re4NOQDnRQcEn/8aX21j8i2ksMhrPexwpIHUcyyDY73N181+axX/D/Jg0eKK3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739737457; a=rsa-sha256; cv=none; b=mPmzXhaRS83rZAXgs/T0jfaKSfiU98Vj/h5QhbSrpHdyPokBHygeub1kv2qqnGkzQnOj77 ttqwbh7ZcBLd1xATwD1rhZqnS5KDibAPJzSz/gWr87UFmmACWofNusaDt2wTKeunZGjcb2 LjWtKoaeLdbTKXlj+sJQ54VoLe+UwScjXQV4Xc3Ch0tcjK9YJeaxcB8v9pVo0QYIIoOK41 r8aIwYkVhtQYoQXr6K6/J4tTi16SORISQynTWeddtBWnVvvYdPDlr46UM60/BDNjvxKhZ1 ZEN88LPtz0kg3ZmXNNCAcYHZcQEPdbdkjPp+dbrnWtxpa8mKbe6UEtpbTwIutw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739737457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UAHTy9di53vIRMK2N6EspVksOn2EQmrY0NLHgk0x/Ns=; b=QAqlgTIxJ5nZOHKhEVeBuHqi1wB5OZlO1Qk8UxG2RWsATWk57E/Mvrns3LmZGb8CRf+nwq ycxyEdIMDl/cSZvILc7pD2d5WRhnL7rCQ6JVq0V5Ps8CHlGKArBVIRaFctIWh4SKWwNcND BUycPJlC92/nM35EiONU2KgbWFodQJIVikxJenR1CaQH2SWHxDODULqluriaZO4HJus5Pn cqThddpRWeQdvaTfcxguVldFkMMcSN246THX21nreujaerOzCgdVMhzjDZj8M9Ycazwm0f yhMYEn0D42fThGDORMXo0Nun3zJ9yb2wQdLGDM9/2Y+4fb3odyM/CAMMy48dxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Ywy1Y5pTRz12JT; Sun, 16 Feb 2025 20:24: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 51GKOHPA082377; Sun, 16 Feb 2025 20:24:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GKOHU4082374; Sun, 16 Feb 2025 20:24:17 GMT (envelope-from git) Date: Sun, 16 Feb 2025 20:24:17 GMT Message-Id: <202502162024.51GKOHU4082374@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: 3afc0bfecb1a - main - net80211: crypto: ccmp: fix more hardware offload bits List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3afc0bfecb1a927c37672dc245688c575e4d9ec4 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3afc0bfecb1a927c37672dc245688c575e4d9ec4 commit 3afc0bfecb1a927c37672dc245688c575e4d9ec4 Author: Bjoern A. Zeeb AuthorDate: 2025-01-27 13:54:02 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 20:23:01 +0000 net80211: crypto: ccmp: fix more hardware offload bits Add the missing IEEE80211_RX_F_DECRYPTED and IEEE80211_RX_F_MMIC_STRIP (really just MIC_STRIP) checks to make hwaccel offload work. This makes rtw8x drivers pass RX packets again at least with LinuxKPI if HW_CRYPTO support is enabled. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D49030 --- sys/net80211/ieee80211_crypto_ccmp.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sys/net80211/ieee80211_crypto_ccmp.c b/sys/net80211/ieee80211_crypto_ccmp.c index 8f7d5eed593c..06028cf2a37c 100644 --- a/sys/net80211/ieee80211_crypto_ccmp.c +++ b/sys/net80211/ieee80211_crypto_ccmp.c @@ -602,6 +602,7 @@ done: static int ccmp_decrypt(struct ieee80211_key *key, u_int64_t pn, struct mbuf *m, int hdrlen) { + const struct ieee80211_rx_stats *rxs; struct ccmp_ctx *ctx = key->wk_private; struct ieee80211vap *vap = ctx->cc_vap; struct ieee80211_frame *wh; @@ -613,6 +614,10 @@ ccmp_decrypt(struct ieee80211_key *key, u_int64_t pn, struct mbuf *m, int hdrlen uint8_t *pos; u_int space; + rxs = ieee80211_get_rx_params_ptr(m); + if ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_DECRYPTED) != 0) + return (1); + ctx->cc_vap->iv_stats.is_crypto_ccmp++; wh = mtod(m, struct ieee80211_frame *); @@ -675,6 +680,14 @@ ccmp_decrypt(struct ieee80211_key *key, u_int64_t pn, struct mbuf *m, int hdrlen space = m->m_len; } } + + /* + * If the MIC (we use MMIC despite not being Micheal) was stripped + * by HW/driver we are done. + */ + if ((rxs != NULL) && (rxs->c_pktflags & IEEE80211_RX_F_MMIC_STRIP) != 0) + return (1); + if (memcmp(mic, a, ccmp.ic_trailer) != 0) { IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2, "%s", "AES-CCM decrypt failed; MIC mismatch"); From nobody Sun Feb 16 21:27: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 4YwzQZ43tsz5nxy1; Sun, 16 Feb 2025 21:27:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YwzQZ3Gfvz3Vf6; Sun, 16 Feb 2025 21:27:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739741254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Upgrx8uAIc0HEMB/JtH81gj4gpQ1uERJ+w8aRQiDxe8=; b=pZtcv59Fwigf02G9J4KiMFMyXnoTA6KGTW/1JtE+m7tk0BbOeoJWXAJA7lEhtGo4kHvONc YSdnJjIikbA8NiIyNhClKSbnaoxShrOrP8GAl6KwcALVedCnWcsXqx3aJVriFaBJ4JpUhR hrcpjs6fcU5J+CCFfPP8mUjrvSmzydZ6c/ydtPjCGVWAIN3KNiyYLNCg6bpZTrY/MGTMkU Rv0kWLQm+qvPRrDPO3nl6rGywg2eu7ssTRjPGkytl3/3OqrZ4JhRxolGGwQDCMja8hHuc4 /5e9ArNH65pfQez4cs5aQJQl1t4RgnNxGy3d277Ahl4SqemcJW4WI9t7czN8gA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739741254; a=rsa-sha256; cv=none; b=fbZxM7XUNYpbSjq1h1npeywgO0tSu/gMg3/yYNxykMbFTBKEm0sQpR5wzmg+eufgZYZD8t ggcUDEbgGPWme18z+HivxGBV3t2nHLov/IRZ3vZf595utnWXRWOjWfT9r1sNxh/vF4KzhU hskDEpqjzUYrTTlTsKGb7qosyszX1hzyJuBLaDIECTb9+iMDti+VoGEsaDBjB3JJA9VLDZ Xl/eFVMV1M9v9YCRLmtIslJrB6X6piCy1t4Muir1O0vA7z5RMzZLUhGblAZL6szg89f4LP pC16xPfBVeNjZTjofE4Z6eGteqe8k+CwS7eF0Xkao834ccnAuijTgJYpu0MeeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739741254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Upgrx8uAIc0HEMB/JtH81gj4gpQ1uERJ+w8aRQiDxe8=; b=GVxNa45APIjZchlkLqQsvBF14HohxcY2gyrODkR3RSVHQf30WHvIJ/u/c+13JDfsKbjGhq YH19gj5voOLNAm+opB4u2AihvBcn5Em4+AKm8iNhRY2akjvq1cwJlmm05Vc00v4Gb8WRUZ ONFf+v8DCl4ZDlGdmUiN9AQzSfiXKbOOLbjOeP5NYitBbLLosDpqzEGA2pfb3Tc3cU0+o0 k7yyA9EbQ3sWdILcuq9/RWse/lFGB1daMNAOO0QayBa0iqni6Jjq+vt6gpJBofaramxFQP zRN0hD0PRq4mQOwRq9hOA2aKrDryTQGCzUwaUzjRgnZimYBk/xgUxY3l8zHoLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YwzQZ2XwHz14G1; Sun, 16 Feb 2025 21:27: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 51GLRYdn096574; Sun, 16 Feb 2025 21:27:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GLRYQM096571; Sun, 16 Feb 2025 21:27:34 GMT (envelope-from git) Date: Sun, 16 Feb 2025 21:27:34 GMT Message-Id: <202502162127.51GLRYQM096571@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: 3f850550d606 - main - pctrie: Fix size of printed value in KASSERT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 3f850550d6067bd0f549602d3b372939bd214e31 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=3f850550d6067bd0f549602d3b372939bd214e31 commit 3f850550d6067bd0f549602d3b372939bd214e31 Author: Doug Moore AuthorDate: 2025-02-16 21:24:13 +0000 Commit: Doug Moore CommitDate: 2025-02-16 21:27:21 +0000 pctrie: Fix size of printed value in KASSERT The value 'index' in a pctrie iterator cannot be written with "%lx" on a 32-bit machine. Use '%jx' after a uintmax_t cast instead. Reported by: bz Fixes: bba883df5e88d0fb1133b23c05db5501dd321ad8 --- sys/kern/subr_pctrie.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/kern/subr_pctrie.c b/sys/kern/subr_pctrie.c index 51be005cccd7..a17c386a6e24 100644 --- a/sys/kern/subr_pctrie.c +++ b/sys/kern/subr_pctrie.c @@ -900,7 +900,8 @@ pctrie_iter_remove(struct pctrie_iter *it, struct pctrie_node **freenode) { KASSERT(NULL != pctrie_match_value(pctrie_node_load(pctrie_child( it->ptree, it->node, it->index), NULL, PCTRIE_LOCKED), it->index), - ("%s: removing value %lx not at iter", __func__, it->index)); + ("%s: removing value %jx not at iter", __func__, + (uintmax_t)it->index)); pctrie_remove(it->ptree, it->node, it->index, freenode); if (*freenode != NULL) it->node = pctrie_parent(it->node); From nobody Sun Feb 16 22:09:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Yx0MD1spZz5p1DM; Sun, 16 Feb 2025 22:09:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yx0MD0z63z3wC9; Sun, 16 Feb 2025 22:09:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739743784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uI/n2L0mn+Ts/5m4uzFN6PIXtUAKR7UgPkYqkgxQe/k=; b=pMU4ssUVc1Trzddbys9nMBg5t32265N94DLVHMuzY44wtITMAU4YwaDvN8EZ9EcbBYNl42 eBg6W5lifgKhck01I0B/N6wjIbpvrT4ZKM/7iyGyDAwvXNhLs9FumwGnnDc1rwq2bFHHW0 au+pBDi+UeZvIhxlSaHkBlzwvd4Ts6XOVQ8m4tE+V/91FyZcgBDkmZBryRsdxVylHDGamB LHWezpA0ZLGixUdRcEA33I19v7bsLj4zM29ZDOvPjDEc5DMFkWo95vltjVxvMJByDqdufe sop3kTDJGUP0eX3+5uIQLFnpO5T+ZNECuF40cLbx0vK+DiFfEfXvgshn1oDD8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739743784; a=rsa-sha256; cv=none; b=kZqeVmiqrFBAr6Bbh88HJl+DPPhjJ8ICBcq6vFgAcBw555RqfqmR+dQ/b3ed8KGYE/6WxB ySHb9E5modcMlQqcNgj9N7EMK4XMQwAy5Yldhilc+QHXINSAvRFH/sxN+IIxGYWfsqV5uU CKTA+lWW5xrcuGnVy7allyYzC0KTL/AKrJ/gGLl2Vclgl5HzXIHtNbSbtT9utQ9fMyGWdp d+biGbZEennF/xPpu5YMCgOKI6/Cp/fs5pGrS8KaThtDJzX1k14FVrDcRXJ9rxXil2s3TA Nti11eMVLE2HRNpZJo4wX7JCdcmEP/28SAGE6JebSnt+xJMdh3mL8ukyS+FoYg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739743784; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uI/n2L0mn+Ts/5m4uzFN6PIXtUAKR7UgPkYqkgxQe/k=; b=d8R0tbHe+44MIVrS90MQ/Oq0sil7cpkuh8k3/7AhMdJRj8hRPQthDoZS+BQdb2qCwCmJMG +HcUO8ggr4Y7U4qu1yUlt4914h050zjkxPnDKg5jgRpeC9ItYGv69M/IDBr/PLIQ4e0W/l Cxj2bjUPMN/kqPjqS5nQGLhkdANHK98Gcbkvkd3VY7QspubUVHgX8qZs7T6//an58CQnlN rDzbKBFHcQGXP4/yYK3Ec2PV710xQwGmaK+GrKgCCgWrxdYXeHQeWuT/hl/hqmRRllE+4E eMO0c2GD4OqPUCundl24kAKpR16X5LvoJ/rWrG4CAqRxxJdpCXR9uaQKLwusNw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yx0MD06xHz14Zb; Sun, 16 Feb 2025 22:09: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 51GM9h0j072806; Sun, 16 Feb 2025 22:09:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GM9h6p072803; Sun, 16 Feb 2025 22:09:43 GMT (envelope-from git) Date: Sun, 16 Feb 2025 22:09:43 GMT Message-Id: <202502162209.51GM9h6p072803@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: 49010ba706d3 - main - LinuxKPI: 802.11: fill in a lot more RX status fields List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 49010ba706d39fba0d8bc128d96e6122e65eb8ad Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=49010ba706d39fba0d8bc128d96e6122e65eb8ad commit 49010ba706d39fba0d8bc128d96e6122e65eb8ad Author: Bjoern A. Zeeb AuthorDate: 2025-01-28 00:20:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 22:09:00 +0000 LinuxKPI: 802.11: fill in a lot more RX status fields Convert a lot more LinuxKPI rx_status fields to net80211 rx_stats bits for as much as we can see fit. Factor the entire logic out into its own function as it got quite long. Now only net80211 needs to start using more of these values and report them. Also fix some related fields and struct definitions in LinuxKPI. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- .../linuxkpi/common/include/linux/ieee80211.h | 4 +- sys/compat/linuxkpi/common/include/net/cfg80211.h | 9 +- sys/compat/linuxkpi/common/include/net/mac80211.h | 10 +- sys/compat/linuxkpi/common/src/linux_80211.c | 196 +++++++++++++++++---- 4 files changed, 170 insertions(+), 49 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 0169e12b1804..20527a8174f5 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -100,7 +100,9 @@ struct ieee80211_mmie_16 { #define IEEE80211_QOS_CTL_ACK_POLICY_NOACK 0x0020 #define IEEE80211_QOS_CTL_MESH_CONTROL_PRESENT 0x0100 -#define IEEE80211_RATE_SHORT_PREAMBLE BIT(0) +enum ieee80211_rate_flags { + IEEE80211_RATE_SHORT_PREAMBLE = BIT(0), +}; enum ieee80211_rate_control_changed_flags { IEEE80211_RC_BW_CHANGED = BIT(0), diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index ee16449ecd1c..bcbf629abb2f 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -175,11 +175,10 @@ struct rate_info { }; struct ieee80211_rate { - /* TODO FIXME */ - uint32_t bitrate; - uint32_t hw_value; - uint32_t hw_value_short; - uint32_t flags; + uint32_t flags; /* enum ieee80211_rate_flags */ + uint16_t bitrate; + uint16_t hw_value; + uint16_t hw_value_short; }; struct ieee80211_sta_ht_cap { diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index f5d3e1036edc..43df740b0bd0 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -600,8 +600,10 @@ enum ieee80211_rx_status_flags { RX_FLAG_DUP_VALIDATED = BIT(5), RX_FLAG_FAILED_FCS_CRC = BIT(6), RX_FLAG_ICV_STRIPPED = BIT(7), - RX_FLAG_MACTIME_PLCP_START = BIT(8), - RX_FLAG_MACTIME_START = BIT(9), + RX_FLAG_MACTIME = BIT(8) | BIT(9), + RX_FLAG_MACTIME_PLCP_START = 1 << 8, + RX_FLAG_MACTIME_START = 2 << 8, + RX_FLAG_MACTIME_END = 3 << 8, RX_FLAG_MIC_STRIPPED = BIT(10), RX_FLAG_MMIC_ERROR = BIT(11), RX_FLAG_MMIC_STRIPPED = BIT(12), @@ -616,12 +618,12 @@ enum ieee80211_rx_status_flags { RX_FLAG_AMPDU_IS_LAST = BIT(21), RX_FLAG_AMPDU_LAST_KNOWN = BIT(22), RX_FLAG_AMSDU_MORE = BIT(23), - RX_FLAG_MACTIME_END = BIT(24), + /* = BIT(24), */ RX_FLAG_ONLY_MONITOR = BIT(25), RX_FLAG_SKIP_MONITOR = BIT(26), RX_FLAG_8023 = BIT(27), RX_FLAG_RADIOTAP_TLV_AT_END = BIT(28), - RX_FLAG_MACTIME = BIT(29), + /* = BIT(29), */ RX_FLAG_MACTIME_IS_RTAP_TS64 = BIT(30), RX_FLAG_FAILED_PLCP_CRC = BIT(31), }; diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 07b79fed2c2b..f1738a30993c 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5308,6 +5308,160 @@ lkpi_80211_lhw_rxq_task(void *ctx, int pending) } } +static void +lkpi_convert_rx_status(struct ieee80211_hw *hw, + struct ieee80211_rx_status *rx_status, + struct ieee80211_rx_stats *rx_stats, + uint8_t *rssip) +{ + struct ieee80211_supported_band *supband; + int i; + uint8_t rssi; + + memset(rx_stats, 0, sizeof(*rx_stats)); + rx_stats->r_flags = IEEE80211_R_NF | IEEE80211_R_RSSI; + /* XXX-BZ correct hardcoded noise floor, survey data? */ + rx_stats->c_nf = -96; + if (ieee80211_hw_check(hw, SIGNAL_DBM) && + !(rx_status->flag & RX_FLAG_NO_SIGNAL_VAL)) + rssi = rx_status->signal; + else + rssi = rx_stats->c_nf; + /* + * net80211 signal strength data are in .5 dBm units relative to + * the current noise floor (see comment in ieee80211_node.h). + */ + rssi -= rx_stats->c_nf; + if (rssip != NULL) + *rssip = rssi; + rx_stats->c_rssi = rssi * 2; + rx_stats->r_flags |= IEEE80211_R_BAND; + rx_stats->c_band = + lkpi_nl80211_band_to_net80211_band(rx_status->band); + rx_stats->r_flags |= IEEE80211_R_FREQ | IEEE80211_R_IEEE; + rx_stats->c_freq = rx_status->freq; + rx_stats->c_ieee = ieee80211_mhz2ieee(rx_stats->c_freq, rx_stats->c_band); + + rx_stats->c_rx_tsf = rx_status->mactime; + + /* XXX RX_FLAG_MACTIME_IS_RTAP_TS64 ? */ + if ((rx_status->flag & RX_FLAG_MACTIME) == + (RX_FLAG_MACTIME_START|RX_FLAG_MACTIME_END)) { + rx_stats->r_flags |= IEEE80211_R_TSF64; + /* XXX RX_FLAG_MACTIME_PLCP_START ? */ + if ((rx_status->flag & RX_FLAG_MACTIME) == RX_FLAG_MACTIME_START) + rx_stats->r_flags |= IEEE80211_R_TSF_START; + if ((rx_status->flag & RX_FLAG_MACTIME) == RX_FLAG_MACTIME_END) + rx_stats->r_flags |= IEEE80211_R_TSF_END; + /* XXX-BZ if TSF_END will net80211 do the unwind of time? */ + } + + if (rx_status->chains != 0) { + int cc; + int8_t crssi; + + rx_stats->c_chain = rx_status->chains; + rx_stats->r_flags |= IEEE80211_R_C_CHAIN; + + cc = 0; + for (i = 0; i < nitems(rx_status->chain_signal); i++) { + if (!(rx_status->chains & BIT(i))) + continue; + crssi = rx_status->chain_signal[i]; + crssi -= rx_stats->c_nf; + rx_stats->c_rssi_ctl[i] = crssi * 2; + rx_stats->c_rssi_ext[i] = crssi * 2; /* XXX _ext ??? ATH thing? */ + /* We currently only have the global noise floor value. */ + rx_stats->c_nf_ctl[i] = rx_stats->c_nf; + rx_stats->c_nf_ext[i] = rx_stats->c_nf; + cc++; + } + if (cc > 0) + rx_stats->r_flags |= (IEEE80211_R_C_NF | IEEE80211_R_C_RSSI); + } + + /* XXX-NET80211 We are not going to populate c_phytype! */ + + switch (rx_status->encoding) { + case RX_ENC_LEGACY: + supband = hw->wiphy->bands[rx_status->band]; + if (supband != NULL) + rx_stats->c_rate = supband->bitrates[rx_status->rate_idx].bitrate; + /* Is there a LinuxKPI way of reporting IEEE80211_RX_F_CCK / _OFDM? */ + break; + case RX_ENC_HT: + rx_stats->c_pktflags |= IEEE80211_RX_F_HT; + if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) + rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; + rx_stats->c_rate = rx_status->rate_idx; /* mcs */ + break; + case RX_ENC_VHT: + rx_stats->c_pktflags |= IEEE80211_RX_F_VHT; + if ((rx_status->enc_flags & RX_ENC_FLAG_SHORT_GI) != 0) + rx_stats->c_pktflags |= IEEE80211_RX_F_SHORTGI; + rx_stats->c_rate = rx_status->rate_idx; /* mcs */ + rx_stats->c_vhtnss = rx_status->nss; + break; + case RX_ENC_HE: + case RX_ENC_EHT: + TODO("net80211 has not matching encoding for %u", rx_status->encoding); + break; + } + + switch (rx_status->bw) { + case RATE_INFO_BW_20: + rx_stats->c_width = IEEE80211_RX_FW_20MHZ; + break; + case RATE_INFO_BW_40: + rx_stats->c_width = IEEE80211_RX_FW_40MHZ; + break; + case RATE_INFO_BW_80: + rx_stats->c_width = IEEE80211_RX_FW_80MHZ; + break; + case RATE_INFO_BW_160: + rx_stats->c_width = IEEE80211_RX_FW_160MHZ; + break; + case RATE_INFO_BW_320: + case RATE_INFO_BW_HE_RU: + case RATE_INFO_BW_EHT_RU: + case RATE_INFO_BW_5: + case RATE_INFO_BW_10: + TODO("net80211 has not matching bandwidth for %u", rx_status->bw); + break; + } + + if ((rx_status->enc_flags & RX_ENC_FLAG_LDPC) != 0) + rx_stats->c_pktflags |= IEEE80211_RX_F_LDPC; + if ((rx_status->enc_flags & RX_ENC_FLAG_STBC_MASK) != 0) + rx_stats->c_pktflags |= IEEE80211_RX_F_STBC; + + /* + * We only need these for LKPI_80211_HW_CRYPTO in theory but in + * case the hardware does something we do not expect always leave + * these enabled. Leaving this commant as documentation for the || 1. + */ +#if defined(LKPI_80211_HW_CRYPTO) || 1 + if (rx_status->flag & RX_FLAG_DECRYPTED) { + rx_stats->c_pktflags |= IEEE80211_RX_F_DECRYPTED; + /* Only valid if decrypted is set. */ + if (rx_status->flag & RX_FLAG_PN_VALIDATED) + rx_stats->c_pktflags |= IEEE80211_RX_F_PN_VALIDATED; + } + if (rx_status->flag & RX_FLAG_MMIC_STRIPPED) + rx_stats->c_pktflags |= IEEE80211_RX_F_MMIC_STRIP; + if (rx_status->flag & RX_FLAG_MIC_STRIPPED) { + /* net80211 re-uses M[ichael]MIC for MIC too. Confusing. */ + rx_stats->c_pktflags |= IEEE80211_RX_F_MMIC_STRIP; + } + if (rx_status->flag & RX_FLAG_IV_STRIPPED) + rx_stats->c_pktflags |= IEEE80211_RX_F_IV_STRIP; + if (rx_status->flag & RX_FLAG_MMIC_ERROR) + rx_stats->c_pktflags |= IEEE80211_RX_F_FAIL_MIC; + if (rx_status->flag & RX_FLAG_FAILED_FCS_CRC) + rx_stats->c_pktflags |= IEEE80211_RX_F_FAIL_FCSCRC; +#endif +} + /* For %list see comment towards the end of the function. */ void linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, @@ -5325,7 +5479,7 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, struct ieee80211_hdr *hdr; struct lkpi_sta *lsta; int i, offset, ok; - int8_t rssi; + uint8_t rssi; bool is_beacon; if (skb->len < 2) { @@ -5402,44 +5556,8 @@ linuxkpi_ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb, no_trace_beacons: #endif - memset(&rx_stats, 0, sizeof(rx_stats)); - rx_stats.r_flags = IEEE80211_R_NF | IEEE80211_R_RSSI; - /* XXX-BZ correct hardcoded rssi and noise floor, how? survey? */ - rx_stats.c_nf = -96; - if (ieee80211_hw_check(hw, SIGNAL_DBM) && - !(rx_status->flag & RX_FLAG_NO_SIGNAL_VAL)) - rssi = rx_status->signal; - else - rssi = rx_stats.c_nf; - /* - * net80211 signal strength data are in .5 dBm units relative to - * the current noise floor (see comment in ieee80211_node.h). - */ - rssi -= rx_stats.c_nf; - rx_stats.c_rssi = rssi * 2; - rx_stats.r_flags |= IEEE80211_R_BAND; - rx_stats.c_band = - lkpi_nl80211_band_to_net80211_band(rx_status->band); - rx_stats.r_flags |= IEEE80211_R_FREQ | IEEE80211_R_IEEE; - rx_stats.c_freq = rx_status->freq; - rx_stats.c_ieee = ieee80211_mhz2ieee(rx_stats.c_freq, rx_stats.c_band); - - /* - * We only need these for LKPI_80211_HW_CRYPTO in theory but in - * case the hardware does something we do not expect always leave - * these enabled. Leaving this commant as documentation for the || 1. - */ -#if defined(LKPI_80211_HW_CRYPTO) || 1 - if (rx_status->flag & RX_FLAG_DECRYPTED) { - rx_stats.c_pktflags |= IEEE80211_RX_F_DECRYPTED; - /* Only valid if decrypted is set. */ - if (rx_status->flag & RX_FLAG_PN_VALIDATED) - rx_stats.c_pktflags |= IEEE80211_RX_F_PN_VALIDATED; - } -#endif - - /* XXX (*sta_statistics)() to get to some of that? */ - /* XXX-BZ dump the FreeBSD version of rx_stats as well! */ + rssi = 0; + lkpi_convert_rx_status(hw, rx_status, &rx_stats, &rssi); lhw = HW_TO_LHW(hw); ic = lhw->ic; From nobody Sun Feb 16 22:40: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 4Yx1303PDKz5p3CT; Sun, 16 Feb 2025 22:40:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yx1300p1bz4JCF; Sun, 16 Feb 2025 22:40:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739745644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JdLt0YWIT85HyjOhKKXa6/rMBZ0ww2EmD1PA/hMHPZg=; b=uqgVhtqTwIgZOaDxIY0/ncX3drhsGm6Tspkx5BEhK4enk+9c70a7uZ+egg0FLsp/cy8a14 6/mJRarj35SvDK5Z2uT19TV+C8KsqHX9hdvOPiFq1hujZFwnI2GfWdZL5ierVG2tPX67Jt eCDIaU86pbTnhKHaHWkDMqoaYjGoMjblKEtX76FM/Zux59FPgq5aDCmB3/9TBEii6HBhDR t+w1IJSyNhIMCm5WE257hfv9F8Igt2kmFC7HmEpvXeQQrXRNI1iiDlK7jYRUecfrkPMlps Vxv43iOIoUzoRu5oU2o3Mx3q7RRz4iLvUCjihxpUZywqphlKsEtikD2mxM3D+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739745644; a=rsa-sha256; cv=none; b=sbeezRulMo9k+OxG9L2Yun98f7LRvRDFwSDnrO3p4zpM5zmySMFf36CFZxSCGFOWL360kQ E9dA8wWtCu1ZQtV2+1l4JF5r1uSOlqG5iO2FkqEqnDDSaHQTPiS2o0PcCWLczFa/Fmu0Qa 3UC+8aqiMtXWzwFBTy51SxuzMzKO+81GEjzTjUeFM6QiStKDmI8h0Buz1YMjzKjM4WqTlN yjJ/jZJE7kdhVHHKXv+RU43ZHeIxU1AS8D/4QJYUR/eFyrm7e9JRpADjQSUO3AI2oBviz5 MIzVuZpVM8bRuZWHXnZ2hYRP9Yavl+VdsaxmbfviDMY3mQEThsKUHFSi3FSP4w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739745644; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JdLt0YWIT85HyjOhKKXa6/rMBZ0ww2EmD1PA/hMHPZg=; b=vK2vYrD4FfNBcknRt6HDY3N2wNWpcTF8iGsDMvywpllW4o5MAmK/cg0j/UOoY0+bISEx7E Idm2SpumI4J+oVbO1S+GEYzfvR7CyPDGES1Pt/7S2Z9SF/Ixy/mccMLX1szv4oRL/RHIr0 0rlICiWlSNf5PFQjNomVoy5f3m1WuflR0MxJnGTmRYD9GRJiL5xfNyHi0hYH2LT3E8lL23 qFrpSyOzU+QU4JE4ThiFRnhvDlsVDhzXI/3hDcvsXNZCWCaOviDuAGcYtErZDCqMUtLIJb TDhRbrz0hzTz++/91Esui8qSylHz6rbx/oikUxwjxeNyL82P2gU2/71W7Jur8Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yx13003z4z15sy; Sun, 16 Feb 2025 22:40: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 51GMeh7x038413; Sun, 16 Feb 2025 22:40:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GMehTH038409; Sun, 16 Feb 2025 22:40:43 GMT (envelope-from git) Date: Sun, 16 Feb 2025 22:40:43 GMT Message-Id: <202502162240.51GMehTH038409@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: 470aaf42c3c0 - main - LinuxKPI: 802.11: make struct ieee80211_tx_info a bit more packed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 470aaf42c3c0661821a8744ae7c29b096adb4aa3 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=470aaf42c3c0661821a8744ae7c29b096adb4aa3 commit 470aaf42c3c0661821a8744ae7c29b096adb4aa3 Author: Bjoern A. Zeeb AuthorDate: 2025-01-26 19:37:54 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 22:24:53 +0000 LinuxKPI: 802.11: make struct ieee80211_tx_info a bit more packed Given I was looking at the struct make it more packed at the beginning at least. In fact it did not shrink but the tx_time_est got expanded. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 2 +- sys/compat/linuxkpi/common/include/linux/nl80211.h | 2 +- sys/compat/linuxkpi/common/include/net/mac80211.h | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 20527a8174f5..ca1493e666c6 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -413,7 +413,7 @@ enum ieee80211_tx_info_flags { IEEE80211_TX_CTL_RATE_CTRL_PROBE = BIT(18), IEEE80211_TX_CTL_LDPC = BIT(19), IEEE80211_TX_CTL_STBC = BIT(20), -}; +} __packed; enum ieee80211_tx_status_flags { IEEE80211_TX_STATUS_ACK_SIGNAL_VALID = BIT(0), diff --git a/sys/compat/linuxkpi/common/include/linux/nl80211.h b/sys/compat/linuxkpi/common/include/linux/nl80211.h index 254ed6e13f5c..1babd23d65fe 100644 --- a/sys/compat/linuxkpi/common/include/linux/nl80211.h +++ b/sys/compat/linuxkpi/common/include/linux/nl80211.h @@ -133,7 +133,7 @@ enum nl80211_band { /* Keep this last. */ NUM_NL80211_BANDS -}; +} __packed; enum nl80211_chan_flags { /* XXX TODO */ diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 43df740b0bd0..f1b1ec97cbbc 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -879,11 +879,11 @@ struct ieee80211_prep_tx_info { /* XXX-BZ too big, over-reduce size to u8, and array sizes to minuimum to fit in skb->cb. */ /* Also warning: some sizes change by pointer size! This is 64bit only. */ struct ieee80211_tx_info { - enum ieee80211_tx_info_flags flags; + enum ieee80211_tx_info_flags flags; /* 32 bits */ /* TODO FIXME */ - u8 band; - u8 hw_queue; - bool tx_time_est; + enum nl80211_band band; /* 3 bits */ + uint16_t hw_queue:4, /* 4 bits */ + tx_time_est:10; /* 10 bits */ union { struct { struct ieee80211_tx_rate rates[4]; From nobody Sun Feb 16 22:40: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 4Yx131668Sz5p39l; Sun, 16 Feb 2025 22:40:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yx1311jq7z4JFN; Sun, 16 Feb 2025 22:40:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739745645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cA4JxnNjVr/782YCtvpQXWBRMOmWLJN+uth7Wf2+74E=; b=bYEsgJZUDlW97osXbdS6cQBPyCce9ajGbZnhp4kTFMpFpUIaYnQgfSSa8ci/JKjUNidtQx W2WAPF2gXtZHcxC7GSFACKuqQ1G9ohwh2RjNptSQwfG3kjoNc3RUqg26+w8QqbxHhGw+cB V1To8dWr2jYseqNPq+jZrDcVwyLV31SKrUIAC5DOXBZN5FYlJYL7tugqdlZ2iroWJa+NqH KWhkLQ5bHtBAz7/lrm8pWtbWLQh6fSSqAmiF6D1KQSd/riF/PEEKOnUcgd9iS3jvoB/fOt AlZYiN7t4/WJZ971x1+953SGSy3IMSlID6icNkVMpWvfTF2WRCLQfAlFAFOONA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739745645; a=rsa-sha256; cv=none; b=eUzru2DN5vAIMtUsoB9EGCW4wpLmTZblRtHz7QNTQfA7rNgdWqDEBjKE8VYzZJGkRqgI6T IrhYUkRJLxQFNVWK4l28uVD10GRIxnr25Xp+CGyBSwaEurIbx6DFtaLZg4kWmX5M+Zk+0c YkpnWRk0qZzgHU3BkduBY5BG216iyNq+qKSFO6mpdeEE/YR1VxXpiKXOwt7lov65UHYk5+ 16uZWwJAQn3KjG3Po1oiyD36jyt8b4aROHchrYUSYsPbZ7TCXchai5aiEe3/KqALx/tzjS gCYhkYeTZY+rbLy28R5GxfcN2UyprznGG005IiPjgBCG2V1JMFE8TiQhj6MSBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739745645; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cA4JxnNjVr/782YCtvpQXWBRMOmWLJN+uth7Wf2+74E=; b=CuS3iTcAUIFKWc0O0VIj725+eHmx1jZ8s/PssHFU6cClBNgTcfVKf5Jra6kFHovd4RscUU jAIHUu1J22x1xdWIoRKAT3qouF8Zg3/iifPCdN2uPrtBU0mC/ar4u/eD2xoFWUL40X1N67 0TM9CQ0zcoiU2A2SiSuaqk+MrdeJideGvyh3VB1gvGsMbAyLgb0qKAUhREgIGinazRDdB9 2n7xRxglcrJBOaq8x37TT+ZfCTNWEiT2RBzRRrc645qCJ2jE013J2M2eFT1xweE9gHO92a LL4XJtaEiqmY4bdsDsv7Hhh6+4ezkV8eSTRR62xmkfrlsCVJ2fJc6sqn4w5Zew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yx1310mygz15dk; Sun, 16 Feb 2025 22:40: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 51GMejHB038449; Sun, 16 Feb 2025 22:40:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GMejvv038446; Sun, 16 Feb 2025 22:40:45 GMT (envelope-from git) Date: Sun, 16 Feb 2025 22:40:45 GMT Message-Id: <202502162240.51GMejvv038446@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: a7c19b8a99a6 - main - LinuxKPI; 802.11: start implementing cfg80211_calculate_bitrate() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: a7c19b8a99a604e8940c7475220df5de7e295ffa Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a7c19b8a99a604e8940c7475220df5de7e295ffa commit a7c19b8a99a604e8940c7475220df5de7e295ffa Author: Bjoern A. Zeeb AuthorDate: 2024-12-28 10:10:56 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 22:33:03 +0000 LinuxKPI; 802.11: start implementing cfg80211_calculate_bitrate() For now we only return the legacy rate and have two TODOs for HT and VHT which still need to be implemented as needed. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 6 ++--- sys/compat/linuxkpi/common/src/linux_80211.c | 30 +++++++++++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index bcbf629abb2f..cf1e05dde7ea 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -1304,6 +1304,7 @@ void linuxkpi_wiphy_delayed_work_cancel(struct wiphy *, int linuxkpi_regulatory_set_wiphy_regd_sync(struct wiphy *wiphy, struct linuxkpi_ieee80211_regdomain *regd); +uint32_t linuxkpi_cfg80211_calculate_bitrate(struct rate_info *); uint32_t linuxkpi_ieee80211_channel_to_frequency(uint32_t, enum nl80211_band); uint32_t linuxkpi_ieee80211_frequency_to_channel(uint32_t, uint32_t); struct linuxkpi_ieee80211_channel * @@ -1574,11 +1575,10 @@ cfg80211_find_vendor_ie(unsigned int oui, int oui_type, return (__DECONST(uint8_t *, elem)); } -static __inline uint32_t +static inline uint32_t cfg80211_calculate_bitrate(struct rate_info *rate) { - TODO(); - return (-1); + return (linuxkpi_cfg80211_calculate_bitrate(rate)); } static __inline uint32_t diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index f1738a30993c..1d834673fa74 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -5890,6 +5890,36 @@ linuxkpi_wiphy_free(struct wiphy *wiphy) kfree(lwiphy); } +static uint32_t +lkpi_cfg80211_calculate_bitrate_ht(struct rate_info *rate) +{ + TODO("cfg80211_calculate_bitrate_ht"); + return (rate->legacy); +} + +static uint32_t +lkpi_cfg80211_calculate_bitrate_vht(struct rate_info *rate) +{ + TODO("cfg80211_calculate_bitrate_vht"); + return (rate->legacy); +} + +uint32_t +linuxkpi_cfg80211_calculate_bitrate(struct rate_info *rate) +{ + + /* Beware: order! */ + if (rate->flags & RATE_INFO_FLAGS_MCS) + return (lkpi_cfg80211_calculate_bitrate_ht(rate)); + + if (rate->flags & RATE_INFO_FLAGS_VHT_MCS) + return (lkpi_cfg80211_calculate_bitrate_vht(rate)); + + IMPROVE("HE/EHT/..."); + + return (rate->legacy); +} + uint32_t linuxkpi_ieee80211_channel_to_frequency(uint32_t channel, enum nl80211_band band) From nobody Sun Feb 16 23:27: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 4Yx24b4KdYz5p5Wx; Sun, 16 Feb 2025 23:27:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yx24b0Mynz3Yw8; Sun, 16 Feb 2025 23:27:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739748431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2c14LIWr+hnm/BOVG0y053Lz7kSgdvVnXfiXRZX4rMo=; b=NXIEmhdcqcP1ohAQEnqjc7GKj9mR1WRg5Qa9wxYbGC4SUl4Zf9CXmswsHNK6UwZuqTPJen o+u1xFbtWUjtxCfMwwt3+aFkh94uqzwySTcnAYxt/YhQ6vNzBYu8ri8YLPkTe5LgDm0jMi nsQzA0NVFJe/JU6eiD6MELvkXk+QonLpDF4VAdeVoIukUkJ54pNqSjZjWgGixP2fU1ALal 0P/CS1/0xDoQCGIK7t0X/ghd1rVqqDf7DBotlr3XaEIlZrJ3MY5NXSpoBEcyVf60U342Cx 0eq2B41TUb75i6xTBw1kBietM56TSvqMRhkYkE+ez1kwsxdYqqnD2RISVDhI8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739748431; a=rsa-sha256; cv=none; b=UjWeMAm+mOK578JtiFimlvCnFqCY9FNhUEnS4KffdoRcPpWep6EVTpwivz65Cwz8gAGvp0 wJDtNBqS4wCcoSknGIon5Y6t3NLG6b1qnz3UzW9KatVS4BBDnyC5LLoQ0K+iGcrISFtMPF PWLktiZvkRGb4DypbO4ZvWMYIWaFxp0p77lBZYa7OjmY3uM8wRjN0Lbdx5SZJCkSOXj72C OGUNmRnYNCeE4xMtbSZFrDNG+iplVPl/aYkFBcerdQR8Wv69MrF6tug9Dz2YS8tfk1/SnF pyFJnwQ4BlO73zOnH8L0+XvqlQUpspBlWDOy0hY7evgVPb0nQcjLbk3Sd8VZ5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739748431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2c14LIWr+hnm/BOVG0y053Lz7kSgdvVnXfiXRZX4rMo=; b=lwM2hsrBpg0/60RQ9Jd4P095Bs+hA0cRhKK7BDfH5ezGh9Dipb5V3mV4zGd9MGHZmDDZ0J uHKl0ZyniH2r+PlMBj9J8bdyo6BY0tQQH3pjBCq5culm99JyxyedFRdhf52rJJdzpSXoCk RbGt42Ptq2/YhdJF44yhm1ZK+ACq1pyNM6kZh47pHcuwxSDaHHB2YTLgTGEdbHUHWB8kmK zh8fRhqWmbefdpzsSR91j/kFxpdwkzOOaw0oZzrqWdCueWDr4XHhVWjGCM40pFaj97lqeZ BG2/wsZeIhjxHOpUQ+YrvCTiT4U0H2cRSIfxy42kKKaZp/+Qzny6KhKb9Bm1oA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yx24Z6bp3z16d6; Sun, 16 Feb 2025 23:27:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51GNRAj4022735; Sun, 16 Feb 2025 23:27:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GNRAp7022732; Sun, 16 Feb 2025 23:27:10 GMT (envelope-from git) Date: Sun, 16 Feb 2025 23:27:10 GMT Message-Id: <202502162327.51GNRAp7022732@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: d2407a21bd03 - main - LinuxKPI: 802.11: ieee80211_vif_usable_links() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d2407a21bd032587194dff46779862ffcd5c33d8 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=d2407a21bd032587194dff46779862ffcd5c33d8 commit d2407a21bd032587194dff46779862ffcd5c33d8 Author: Bjoern A. Zeeb AuthorDate: 2025-01-25 11:59:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 22:45:33 +0000 LinuxKPI: 802.11: ieee80211_vif_usable_links() ieee80211_vif_usable_links() shows up in TODO() tracking. Turns out the return (1) is likely wrong and should be 0 given we do not support MLD yet. For now return the valid_links bitmap and leave an IMPROVE as likely not all of the valid ones will be useable. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/net/mac80211.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index f1b1ec97cbbc..8d6d690b2f57 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -2539,8 +2539,8 @@ ieee80211_get_eht_iftype_cap_vif(const struct ieee80211_supported_band *band, static inline uint32_t ieee80211_vif_usable_links(const struct ieee80211_vif *vif) { - TODO(); - return (1); + IMPROVE("MLO usable links likely are not just valid"); + return (vif->valid_links); } static inline bool From nobody Sun Feb 16 23:27: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 4Yx24c3NBBz5p5g1; Sun, 16 Feb 2025 23:27:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Yx24c0mbQz3Z1P; Sun, 16 Feb 2025 23:27:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739748432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9AeE58/mN3DmYTMmOym0Mc+nItloGhZ/q8hkE2Q7M8w=; b=vWZJkd3KqjWhVxeaaipjNXjZyJsALnxKbBkRuigziYOdtnvIFIKzzhYBqrf+B3hKX5tPih O39lD+V9WQmydQtODaU8VXqvwKmdI/q0R2Z7APSSIYgoQ3juY1Vm/ph9SnNK8FyUFmFCeR i16AYOZxjpgVyzM51PSczKw4xrpIYkUZhs1AWgw6p53Zxug0WrQK+drSRCOP776EVauEVP tSiNJqginSRVcw6MrAIIfH3uT18rlor0hED3i0bA9iFG7mDszh7OmSIYA+O+3NvFYvq0gy 4wkPllgrcQ78L4JNjH9nueB61lT0r2oClivfDFOdh/P4O/NC+B98MEIq4tGClQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739748432; a=rsa-sha256; cv=none; b=l0YdearNg6y6qG/DBzadLl0nEUX1Wiz1RScOwzvzh/UgFohBAupe2Nd6Wui7icCiuzPcHM bDHEbT9UTN3n9voXiqxIM9kwrKncJW8JLUMrid+V6j6m1NaTvqwou6OSgB3LGzmznGlSU3 Lz6gucl8KlDLKg8kGxkjp9qlvrCnmQZis3TIfZ9fOjM+i1OtX6S8c/wdr1yd0i0zjp++qk T5DlziZ6IjstWemxQoPEzrsQ9rsB935HQkgryh8PFcop9I5mzAVR8m5/1PkFtrUDZ8As8k rm5PDat/nAW5wXP0KtXno8zErpAnv1wNrlpLHYSlp7T8nxu7NYFdWT5VEwg53A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739748432; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9AeE58/mN3DmYTMmOym0Mc+nItloGhZ/q8hkE2Q7M8w=; b=tn3Yca+iS2F6p7ODNgg8GC8ibY+FuFAa9tNKh4uuk3ZBM/MinH07zZqNyzbU6bvZpPqKs3 9rWH3Dyyuz7iozE/yKQ8XHY/pYaiG+v5SA/cvU2hBzX6kzwPYu5OD3RCkYeX0YPNgplT63 FIJSByj6/s7AtGNLwH7Vb+zix+D4XgasPdv+x2CPUnVR4QkrzCpZJHKE1ufQvErPtKFYd2 OWxPCNjchx5imK0UEKuYIlDCCyjMsK0lUZa/qVpN7w22fzlJFLyyCkDTCvnRolVDGdK+y0 xNJ/eHABs4+NBggMxw7313PTZwNsU12xxR8OlqP4q9cP4XWxXr0yG/58/i/2vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Yx24b6rFpz16vt; Sun, 16 Feb 2025 23:27:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51GNRBQZ022772; Sun, 16 Feb 2025 23:27:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51GNRBo3022769; Sun, 16 Feb 2025 23:27:11 GMT (envelope-from git) Date: Sun, 16 Feb 2025 23:27:11 GMT Message-Id: <202502162327.51GNRBo3022769@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: bcf1d8ee3552 - main - LinuxKPI: 802.11/skb: add extra information for skb alloc failures List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: bcf1d8ee355213eef4a125c0b8518f1cb4f35df4 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bcf1d8ee355213eef4a125c0b8518f1cb4f35df4 commit bcf1d8ee355213eef4a125c0b8518f1cb4f35df4 Author: Bjoern A. Zeeb AuthorDate: 2024-12-27 21:26:52 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-16 23:04:24 +0000 LinuxKPI: 802.11/skb: add extra information for skb alloc failures rtw88 seems to have an skb leak still. Add a WARN_ONCE to __skb_queue_purge() just to make sure there is no glitch due to missing locking. Also add a rolling error reporting for skb allocation failures in LinuxKPI to gather some more information if possible about queue states. This is a corrected version of what was initially part of D48474. Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 2 ++ sys/compat/linuxkpi/common/src/linux_80211.c | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index 341ed33ddfcd..43f35d8f065f 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -706,6 +706,8 @@ __skb_queue_purge(struct sk_buff_head *q) SKB_TRACE(q); while ((skb = __skb_dequeue(q)) != NULL) kfree_skb(skb); + WARN_ONCE(skb_queue_len(q) != 0, "%s: queue %p not empty: %u", + __func__, q, skb_queue_len(q)); } static inline void diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 1d834673fa74..f695aa4cfc7d 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -3854,7 +3854,22 @@ lkpi_80211_txq_tx_one(struct lkpi_sta *lsta, struct mbuf *m) */ skb = dev_alloc_skb(hw->extra_tx_headroom + m->m_pkthdr.len); if (skb == NULL) { - ic_printf(ic, "ERROR %s: skb alloc failed\n", __func__); + static uint8_t skb_alloc_failures = 0; + + if (skb_alloc_failures++ == 0) { + int tid; + + sta = LSTA_TO_STA(lsta); + ic_printf(ic, "ERROR %s: skb alloc failed %d + %d, lsta %p sta %p ni %p\n", + __func__, hw->extra_tx_headroom, m->m_pkthdr.len, lsta, sta, ni); + for (tid = 0; tid < nitems(sta->txq); tid++) { + if (sta->txq[tid] == NULL) + continue; + ltxq = TXQ_TO_LTXQ(sta->txq[tid]); + ic_printf(ic, " tid %d ltxq %p seen_dequeue %d stopped %d skb_queue_len %u\n", + tid, ltxq, ltxq->seen_dequeue, ltxq-> stopped, skb_queue_len(<xq->skbq)); + } + } ieee80211_free_node(ni); m_freem(m); return;