From nobody Mon Dec 2 01:56:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y1n2R6FtJz5fLrk; Mon, 02 Dec 2024 01:56:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y1n2R5kbmz4kg7; Mon, 2 Dec 2024 01:56:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733104591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=INesOiZE9YhZx4kzRm57x7pN1USHevHdz+faS5IOuuQ=; b=v7C43rlFEBJDLfj+yiAGTIybVux7t6oB8by9EEOvjvcaoXjre+QFxzn2JBGIbTOWC2Gaq3 G/NxXSpL+Q8WSEQ0thhjFIpYPv38Z3IoD8zia+vn+5tT0h2TiWLpme0MNokwUcplkv047k DOOEj0cko8v2IaPRTbR+J6UI52VzhYbvaN8bXfxVcTfylQwZ//AOrqxdL6Plas5Iv/svhO rxY0NDqU61WoCGRtxdl/a6uix/TpbFsGmLtzVOFLW2nPMhYCYPuRT9SgvxnvjplRyVqVyT Mholwg17xADiOnCH9xWG6R0+I+IjIeRc6WR5Ug9S3JbPEfIQip5kCsndZDW6uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733104591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=INesOiZE9YhZx4kzRm57x7pN1USHevHdz+faS5IOuuQ=; b=PRSnaVQorImr5fwd0ZLJpDW/jNmbDS0ZI1wAXCRoOKi7k0StuaWydhbquZkxcSompNUbAx 7934dy5oVGz4cV2PY1QEGNNxPlZfOrjhmsML0UP55ERwm2TMYuLZAGKkZgpRSyRn/i9vhK RXpISbFd9oA6cxzfO7qUXYkTD8ow64iwCMkiRUuR0qcL5Z3r62ZzvVY3RY54KDahQBAG1t Hn58+uQklR0ldhRWkc8+cP6NanD69webM1hWi8V3IOd/XVlEXRat/ZzWJiG+72VQZpfz59 62mYoJlfqGt/kI3Uki4sA1k1t6ZxYfpJP6eoaL3u7EeVRVuaRPfAYGfKpUhi0A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733104591; a=rsa-sha256; cv=none; b=JobU+nLvI1UL1OmuCan0MZ12hNLrWfQuCRmN0/P2iKod3gif/lN8BZlfY/L+JCFGCtgnaT 2k8cqdiBAyRKqtgQ/2oOwg00smGASXY8nd0p72WI34thj6ZExQWENKjEExS7qpItsgus2B cPpgYkAWdfh1aJ2od5MmJwRY+8y2Fyg5s4ryShwOcjYtUoqgNSwWUJjdjtgeXsIgRLTMpO 5H2er60kCyj0dstj8Zui0Yjs+6607W4DLJTMBtqdQ5hck1uhG8GzpCa3CFaL9bbdyxDm9C y0B+JHC37jpSaFR4h+/gdIGNc0gEcFMNHQuzYZfrfqM5xwqOv9Dkn6jKRJP2ew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y1n2R4vBfzJGy; Mon, 2 Dec 2024 01:56: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 4B21uV0U045793; Mon, 2 Dec 2024 01:56:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B21uVn1045790; Mon, 2 Dec 2024 01:56:31 GMT (envelope-from git) Date: Mon, 2 Dec 2024 01:56:31 GMT Message-Id: <202412020156.4B21uVn1045790@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: a0e45db6f6eb - main - contrib/wpa: pass IFM_IEEE80211_VHT5G if vht_enabled on the channel List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: a0e45db6f6eb6660e78921bbd5307fa7fc13d0a9 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=a0e45db6f6eb6660e78921bbd5307fa7fc13d0a9 commit a0e45db6f6eb6660e78921bbd5307fa7fc13d0a9 Author: Bjoern A. Zeeb AuthorDate: 2022-11-09 16:41:56 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-12-02 01:54:05 +0000 contrib/wpa: pass IFM_IEEE80211_VHT5G if vht_enabled on the channel Set media mode correctly to IFM_IEEE80211_VHT5G if vht_enabled is set on the channel. Otherwise we'll end up setting 11NA. Not a problem on first sight given net80211 does the upgrade to VHT for us. But we would not set iv_des_mode ("desired mode") on the vap. Setting this will put a contraint on/help scanning for our desired (VHT) channels to my understanding of the code. Sponsored by: The FreeBSD Foundation MFC after: 6 weeks Reviewed by: cy, adrian Differential Revision: https://reviews.freebsd.org/D35978 --- contrib/wpa/src/drivers/driver_bsd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/contrib/wpa/src/drivers/driver_bsd.c b/contrib/wpa/src/drivers/driver_bsd.c index 712446a62fe4..fc9a44743d7d 100644 --- a/contrib/wpa/src/drivers/driver_bsd.c +++ b/contrib/wpa/src/drivers/driver_bsd.c @@ -631,6 +631,7 @@ bsd_set_freq(void *priv, struct hostapd_freq_params *freq) mode = IFM_IEEE80211_11B; } else { mode = + freq->vht_enabled ? IFM_IEEE80211_VHT5G : freq->ht_enabled ? IFM_IEEE80211_11NA : IFM_IEEE80211_11A; } From nobody Mon Dec 2 04:42:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y1rjj2GhQz5fYwh; Mon, 02 Dec 2024 04:42:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y1rjj1hv7z4vNw; Mon, 2 Dec 2024 04:42:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733114537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nelYh2PPgSPe5qIY5d5HBDJ5qGCfgQeWZJ15923mBj4=; b=G5xtyqOY0KtYSDYfHj8HNfr6sWsXv4myLrmyQ/jTvcfZXeCenD8ohRZtdFo32YDNcdJPnT iCSdzRocjl5C54mXOPCDEsOC5ONJniirsyL0QeZv3cOuR3oTV/VkysmCSQ7m+kB9WHuFPW 27uCmY7EqpfHj/5U77C2E1nlakFn8r4q1BcutDiRCBFgk+u7ExKpIlnotXRgfr56vutW+q AltnjBwmTaIgM0jszOgoryljllSfA8YC3jPBXDfMSxlne3qRYxzkqRWY58+fhIqcSYAkDd zFBTMOJXpmg3fW8FF/yF0F68HFED/Larzw//b/i7gfctb0cf4uIaOzwJACF41w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733114537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nelYh2PPgSPe5qIY5d5HBDJ5qGCfgQeWZJ15923mBj4=; b=MSsgIBE1xaOgCuCZBl3CD8J0znVDCgLXi15rlxHWe/4LSJDzZ0GbVy++q+snoN/PiVQ+/X MB/wKY6ilHjdSOGhei/ThlH8AcscGYWi2K4oA06N7XdX3HGCQhaXhe5JRqbgv9P0XPpoT2 BG3FjPQdxScLVMMKdjBarjFfaKs0c2rOD+hL82lWsR3CVXDUkUQ99po/ONJ2CzVr/Go6c8 EwXUtH2d09I+I5pVBa4GdnVYahzudmlREH0sd2li2/LHP022dfJO+BsrD/uozVXhY1uVLk 4PniBRcB1k3KXZI1if8SBP2I23IPewiLORMGph2uErI3fcYES3XPtO+YZyhQAQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733114537; a=rsa-sha256; cv=none; b=DjjtumL9LUrnsbrIrh9dwqkYuELBql+C3CFwWB6A4zW1riTItSO2hwTyj1PlqRjw5L10zK 8v+KkczOumCuZ+DAknl34gyYMcq9KZ4fBS9C1wPa/iishtUqwgpwjf9JrUeA2rvT4d/WWd 11TEHxK9V9dzq7NtVMVrkiIWS4RMyMsKcfYswS+V9gmM/vsbqRLAff8DRdPyehXEpVDM3V 0td++wv6RTEkG/i/nit3NwCbarNoaDLmtw4ca5Hd+0BNlcU4SskEJy8UwseIXzgPUpP+Vl X3tr84mmHn+vvpkitHoGUqTo+uxLmevXOtEfTSem2tbb7+UlchG1Fqon7dBAqw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y1rjj1JSjzNWZ; Mon, 2 Dec 2024 04:42: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 4B24gHtG060204; Mon, 2 Dec 2024 04:42:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B24gHFi060189; Mon, 2 Dec 2024 04:42:17 GMT (envelope-from git) Date: Mon, 2 Dec 2024 04:42:17 GMT Message-Id: <202412020442.4B24gHFi060189@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Enji Cooper Subject: git: 991bd461625a - main - lib/libsbuf/tests: reformat with `clang-format` List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ngie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 991bd461625a2c521d5be4fd6938deed57f60972 Auto-Submitted: auto-generated The branch main has been updated by ngie: URL: https://cgit.FreeBSD.org/src/commit/?id=991bd461625a2c521d5be4fd6938deed57f60972 commit 991bd461625a2c521d5be4fd6938deed57f60972 Author: Enji Cooper AuthorDate: 2024-12-02 04:39:52 +0000 Commit: Enji Cooper CommitDate: 2024-12-02 04:39:52 +0000 lib/libsbuf/tests: reformat with `clang-format` This change is being done first so any functional changes from the tests will be clearer to reviewers. No functional change intended. MFC after: 2 weeks Ref: https://reviews.freebsd.org/D47826 --- lib/libsbuf/tests/sbuf_core_test.c | 32 +++++++++---------- lib/libsbuf/tests/sbuf_stdio_test.c | 21 ++++++------- lib/libsbuf/tests/sbuf_string_test.c | 60 +++++++++++++++++++----------------- 3 files changed, 58 insertions(+), 55 deletions(-) diff --git a/lib/libsbuf/tests/sbuf_core_test.c b/lib/libsbuf/tests/sbuf_core_test.c index 117f178968ff..14bbc475043a 100644 --- a/lib/libsbuf/tests/sbuf_core_test.c +++ b/lib/libsbuf/tests/sbuf_core_test.c @@ -25,6 +25,8 @@ #include #include + +#include #include #include #include @@ -32,12 +34,10 @@ #include #include -#include - #include "sbuf_test_common.h" -static char test_string[] = "this is a test string"; -#define TEST_STRING_CHOP_COUNT 5 +static char test_string[] = "this is a test string"; +#define TEST_STRING_CHOP_COUNT 5 _Static_assert(nitems(test_string) > TEST_STRING_CHOP_COUNT, "test_string is too short"); @@ -75,8 +75,8 @@ ATF_TC_BODY(sbuf_clear_test, tc) buf_len = sbuf_len(sb); ATF_REQUIRE_MSG(buf_len == 0, "sbuf_len (%zd) != 0", buf_len); - ATF_REQUIRE_STREQ_MSG(sbuf_data(sb), "", - "sbuf (\"%s\") was not empty", sbuf_data(sb)); + ATF_REQUIRE_STREQ_MSG(sbuf_data(sb), "", "sbuf (\"%s\") was not empty", + sbuf_data(sb)); sbuf_delete(sb); } @@ -103,7 +103,6 @@ ATF_TC_BODY(sbuf_done_and_sbuf_finish_test, tc) static int drain_ret0(void *arg, const char *data, int len) { - (void)arg; (void)data; (void)len; @@ -144,10 +143,11 @@ ATF_TC_BODY(sbuf_len_test, tc) buf_len = sbuf_len(sb); ATF_REQUIRE_MSG(buf_len == (ssize_t)(i * test_string_len), "sbuf_len (%zd) != %zu", buf_len, i * test_string_len); - ATF_REQUIRE_MSG(sbuf_cat(sb, test_string) == 0, "sbuf_cat failed"); + ATF_REQUIRE_MSG(sbuf_cat(sb, test_string) == 0, + "sbuf_cat failed"); } -#ifdef HAVE_SBUF_SET_FLAGS +#ifdef HAVE_SBUF_SET_FLAGS sbuf_set_flags(sb, SBUF_INCLUDENUL); ATF_REQUIRE_MSG((ssize_t)(i * test_string_len + 1) == sbuf_len(sb), "sbuf_len(..) didn't report the NUL char"); @@ -172,8 +172,8 @@ ATF_TC_BODY(sbuf_new_fixedlen, tc) child_proc = atf_utils_fork(); if (child_proc == 0) { - ATF_REQUIRE_EQ_MSG(0, sbuf_finish(&sb), "sbuf_finish failed: %s", - strerror(errno)); + ATF_REQUIRE_EQ_MSG(0, sbuf_finish(&sb), + "sbuf_finish failed: %s", strerror(errno)); sbuf_putbuf(&sb); exit(0); @@ -182,7 +182,8 @@ ATF_TC_BODY(sbuf_new_fixedlen, tc) sbuf_putc(&sb, ' '); - ATF_CHECK_EQ_MSG(-1, sbuf_finish(&sb), "failed to return error on overflow"); + ATF_CHECK_EQ_MSG(-1, sbuf_finish(&sb), + "failed to return error on overflow"); sbuf_delete(&sb); } @@ -243,7 +244,6 @@ ATF_TC_BODY(sbuf_setpos_test, tc) ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, sbuf_clear_test); ATF_TP_ADD_TC(tp, sbuf_done_and_sbuf_finish_test); ATF_TP_ADD_TC(tp, sbuf_drain_ret0_test); @@ -251,15 +251,15 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, sbuf_new_fixedlen); #if 0 /* TODO */ -#ifdef HAVE_SBUF_CLEAR_FLAGS +#ifdef HAVE_SBUF_CLEAR_FLAGS ATF_TP_ADD_TC(tp, sbuf_clear_flags_test); #endif -#ifdef HAVE_SBUF_GET_FLAGS +#ifdef HAVE_SBUF_GET_FLAGS ATF_TP_ADD_TC(tp, sbuf_get_flags_test); #endif ATF_TP_ADD_TC(tp, sbuf_new_positive_test); ATF_TP_ADD_TC(tp, sbuf_new_negative_test); -#ifdef HAVE_SBUF_SET_FLAGS +#ifdef HAVE_SBUF_SET_FLAGS ATF_TP_ADD_TC(tp, sbuf_set_flags_test); #endif #endif diff --git a/lib/libsbuf/tests/sbuf_stdio_test.c b/lib/libsbuf/tests/sbuf_stdio_test.c index ee68c6c5a51d..8d8e01a962b9 100644 --- a/lib/libsbuf/tests/sbuf_stdio_test.c +++ b/lib/libsbuf/tests/sbuf_stdio_test.c @@ -25,6 +25,8 @@ #include #include + +#include #include #include #include @@ -32,17 +34,15 @@ #include #include -#include - #include "sbuf_test_common.h" -static char test_string[] = "this is a test string"; +static char test_string[] = "this is a test string"; -#define MESSAGE_FORMAT "message: %s\n" -#define MESSAGE_SEPARATOR ';' +#define MESSAGE_FORMAT "message: %s\n" +#define MESSAGE_SEPARATOR ';' static int -sbuf_vprintf_helper(struct sbuf *sb, const char * restrict format, ...) +sbuf_vprintf_helper(struct sbuf *sb, const char *restrict format, ...) { va_list ap; int rc; @@ -116,8 +116,8 @@ ATF_TC_BODY(sbuf_printf_test, tc) struct sbuf *sb; char *test_string_tmp; - asprintf(&test_string_tmp, "%s%c" MESSAGE_FORMAT, - test_string, MESSAGE_SEPARATOR, test_string); + asprintf(&test_string_tmp, "%s%c" MESSAGE_FORMAT, test_string, + MESSAGE_SEPARATOR, test_string); ATF_REQUIRE_MSG(test_string_tmp != NULL, "asprintf failed"); sb = sbuf_new_auto(); @@ -176,8 +176,8 @@ ATF_TC_BODY(sbuf_vprintf_test, tc) char *test_string_tmp; int rc; - asprintf(&test_string_tmp, "%s%c" MESSAGE_FORMAT, - test_string, MESSAGE_SEPARATOR, test_string); + asprintf(&test_string_tmp, "%s%c" MESSAGE_FORMAT, test_string, + MESSAGE_SEPARATOR, test_string); ATF_REQUIRE_MSG(test_string_tmp != NULL, "asprintf failed"); sb = sbuf_new_auto(); @@ -203,7 +203,6 @@ ATF_TC_BODY(sbuf_vprintf_test, tc) ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, sbuf_printf_drain_null_test); ATF_TP_ADD_TC(tp, sbuf_printf_drain_test); ATF_TP_ADD_TC(tp, sbuf_printf_test); diff --git a/lib/libsbuf/tests/sbuf_string_test.c b/lib/libsbuf/tests/sbuf_string_test.c index 37c1c1805b7b..fddaaac9886a 100644 --- a/lib/libsbuf/tests/sbuf_string_test.c +++ b/lib/libsbuf/tests/sbuf_string_test.c @@ -25,28 +25,33 @@ #include #include + +#include #include #include #include #include #include -#include - #include "sbuf_test_common.h" -static char test_string[] = "this is a test string"; -static char test_whitespace_string[] = " \f\n\r\t\v "; -static int test_buffer[] = { 0, 1, 2, 3, 4, 5, }; +static char test_string[] = "this is a test string"; +static char test_whitespace_string[] = " \f\n\r\t\v "; +static int test_buffer[] = { + 0, + 1, + 2, + 3, + 4, + 5, +}; static void check_buffers_equal(const void *sb_buf, const void *test_buf, size_t len) { - if (memcmp(sb_buf, test_buf, len) != 0) { printf("sbuf:\n"); - hexdump(sb_buf, len, NULL, 0), - printf("test_buf:\n"); + hexdump(sb_buf, len, NULL, 0), printf("test_buf:\n"); hexdump(test_buf, len, NULL, 0); atf_tc_fail("contents of sbuf didn't match test_buf contents"); } @@ -75,16 +80,16 @@ ATF_TC_BODY(sbuf_bcat_test, tc) test_sbuf_len = sbuf_len(sb); ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)sizeof(test_buffer), - "sbuf_len(..) => %zd (actual) != %zu (expected)", - test_sbuf_len, sizeof(test_buffer)); + "sbuf_len(..) => %zd (actual) != %zu (expected)", test_sbuf_len, + sizeof(test_buffer)); ATF_CHECK_MSG(sbuf_bcat(sb, test_buffer, sizeof(test_buffer)) == 0, "sbuf_bcat failed"); test_sbuf_len = sbuf_len(sb); ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)(2 * sizeof(test_buffer)), - "sbuf_len(..) => %zd (actual) != %zu (expected)", - test_sbuf_len, 2 * sizeof(test_buffer)); + "sbuf_len(..) => %zd (actual) != %zu (expected)", test_sbuf_len, + 2 * sizeof(test_buffer)); ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", strerror(errno)); @@ -112,16 +117,16 @@ ATF_TC_BODY(sbuf_bcpy_test, tc) test_sbuf_len = sbuf_len(sb); ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)sizeof(test_buffer), - "sbuf_len(..) => %zd (actual) != %zu (expected)", - test_sbuf_len, sizeof(test_buffer)); + "sbuf_len(..) => %zd (actual) != %zu (expected)", test_sbuf_len, + sizeof(test_buffer)); ATF_CHECK_MSG(sbuf_bcpy(sb, test_buffer, sizeof(test_buffer)) == 0, "sbuf_bcpy failed"); test_sbuf_len = sbuf_len(sb); ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)sizeof(test_buffer), - "sbuf_len(..) => %zd (actual) != %zu (expected)", - test_sbuf_len, sizeof(test_buffer)); + "sbuf_len(..) => %zd (actual) != %zu (expected)", test_sbuf_len, + sizeof(test_buffer)); ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", strerror(errno)); @@ -149,15 +154,15 @@ ATF_TC_BODY(sbuf_cat_test, tc) test_sbuf_len = sbuf_len(sb); ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)strlen(test_string), - "sbuf_len(..) => %zd (actual) != %zu (expected)", - test_sbuf_len, sizeof(test_string)); + "sbuf_len(..) => %zd (actual) != %zu (expected)", test_sbuf_len, + sizeof(test_string)); ATF_CHECK_MSG(sbuf_cat(sb, test_string) == 0, "sbuf_cat failed"); test_sbuf_len = sbuf_len(sb); ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)strlen(test_string_tmp), - "sbuf_len(..) => %zd (actual) != %zu (expected)", - test_sbuf_len, strlen(test_string_tmp)); + "sbuf_len(..) => %zd (actual) != %zu (expected)", test_sbuf_len, + strlen(test_string_tmp)); ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", strerror(errno)); @@ -185,15 +190,15 @@ ATF_TC_BODY(sbuf_cpy_test, tc) test_sbuf_len = sbuf_len(sb); ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)strlen(test_string), - "sbuf_len(..) => %zd (actual) != %zu (expected)", - test_sbuf_len, strlen(test_string)); + "sbuf_len(..) => %zd (actual) != %zu (expected)", test_sbuf_len, + strlen(test_string)); ATF_CHECK_MSG(sbuf_cpy(sb, test_string) == 0, "sbuf_cpy failed"); test_sbuf_len = sbuf_len(sb); ATF_REQUIRE_MSG(test_sbuf_len == (ssize_t)strlen(test_string), - "sbuf_len(..) => %zd (actual) != %zu (expected)", - test_sbuf_len, strlen(test_string)); + "sbuf_len(..) => %zd (actual) != %zu (expected)", test_sbuf_len, + strlen(test_string)); ATF_REQUIRE_MSG(sbuf_finish(sb) == 0, "sbuf_finish failed: %s", strerror(errno)); @@ -216,7 +221,7 @@ ATF_TC_BODY(sbuf_putc_test, tc) ATF_REQUIRE_MSG(sb != NULL, "sbuf_new_auto failed: %s", strerror(errno)); - for (i = 0; i <= strlen(test_string); i++) { /* Include the NUL */ + for (i = 0; i <= strlen(test_string); i++) { /* Include the NUL */ ATF_REQUIRE_MSG(sbuf_putc(sb, test_string[i]) == 0, "sbuf_putc failed"); @@ -256,8 +261,8 @@ ATF_TC_BODY(sbuf_trim_test, tc) strlen(test_whitespace_string)); test_sbuf_len = sbuf_len(sb); ATF_REQUIRE_MSG(exp_sbuf_len == test_sbuf_len, - "sbuf_len(..) => %zd (actual) != %zu (expected)", - test_sbuf_len, exp_sbuf_len); + "sbuf_len(..) => %zd (actual) != %zu (expected)", test_sbuf_len, + exp_sbuf_len); ATF_REQUIRE_MSG(sbuf_trim(sb) == 0, "sbuf_trim failed"); @@ -273,7 +278,6 @@ ATF_TC_BODY(sbuf_trim_test, tc) ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, sbuf_bcat_test); ATF_TP_ADD_TC(tp, sbuf_bcpy_test); ATF_TP_ADD_TC(tp, sbuf_cat_test); From nobody Mon Dec 2 09:11:10 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y1ygy4srvz5fvQ8; Mon, 02 Dec 2024 09:11:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y1ygy4QKvz4GfC; Mon, 2 Dec 2024 09:11:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733130670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=acOMu0gb+eoyDqgUayL4KQqJ2UVmyNK8FDY+KEoEK8s=; b=tlDYGQYdVZ4DC0SbuXWHmNO2C+Ia8bLbFFRM3LsH7AWK1+m+BRwgfKYHVapk9U784rWDhM F1e7TU0w8CUtUs+95IpTX8u9AKX6ybTXHtCDxKEft9FLLf9mdB5aJTtme71h9hjk9kJBkO +ziwlSJGzp5KGoMCCl58jnF9WTipc9dGuNyzSOpF1aLoxGCssYuDgw7SqenUB+YTEo3FrQ yW8HRoR+nSVQickQ9X7VsNSZwxEm9XqwvKDld1+95QrodbpNwOeUQT2B7tpBi5D2E/+nVI uBcMvwMQc19ioRLeNv6RaAfSSddQ14DuA63rvaF2DjU8VHXRHuS85VIDRI1BAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733130670; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=acOMu0gb+eoyDqgUayL4KQqJ2UVmyNK8FDY+KEoEK8s=; b=onVqvAgt+UAouwniivT5wDnxtVSUDG56et6uHyrH9SHpQjmFRGrhyVAxS/D20Q7OyVd9Nl MByUI3vZc7MY/dgKWvw6Mijs+dPX5eHtP0GiKZJ89LePBVmkzcjCAYXb73QtCoxtOm3Xf3 eWzJKr/rzLjlR9QxrqmQ90iNm5H7Sv8csXAr9lY+KefTTO8Qxf1zmF99hW0UpNQoS0eu3O 4a72haEMOyZRgScthKULbh77zp+2YYmQLLn0/poY2cbcrY18qcsfxnwsreg9PGohUZhOi2 Tk+gGuy9oey1FdoE+aUmGnTk0SINeuVVFG1fVRW8dMRDKR1MiZicYcoq7lko0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733130670; a=rsa-sha256; cv=none; b=FyvuaabWYz8Vp3bNAXkX0ZQgu01PPNob89/4J0mzyg4MFZl1yAnq9Dt3dkFEUISyu5lb3j fiePUz7TPk173tZYq3UkijpdeVGcqTg8R4tp3yMfuQq/xKMtEs7WLNDdr9RIOecScDmSiB 1rH1DgIPoGaRMFaCJr5YLGWWu1Ea+IZvtUDfUpteFq6teYteZxP42ZyjwnyFMPbwHTkVer 1CP7mUaSdlQTGgXmOzNoaLLWhvFHoFIg58kug1nlNEmyq0GpPakYKLDz50GI8gLH8Cr/rK SitkqUyfNRNLB4MMmbF8xmTPtwTQ/8tITmIYYCqCrgdxXBh6llBM9WBxQ1D9Jg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y1ygy3xMDzXP2; Mon, 2 Dec 2024 09:11: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 4B29BA0R059522; Mon, 2 Dec 2024 09:11:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B29BADA059519; Mon, 2 Dec 2024 09:11:10 GMT (envelope-from git) Date: Mon, 2 Dec 2024 09:11:10 GMT Message-Id: <202412020911.4B29BADA059519@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: 0482974b2c02 - main - sfxge: defer ether_ifattach to when ifmedia_init is done List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 0482974b2c021a8abbc044d3e2b1240250f791e7 Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=0482974b2c021a8abbc044d3e2b1240250f791e7 commit 0482974b2c021a8abbc044d3e2b1240250f791e7 Author: Franco Fichtner AuthorDate: 2024-11-29 20:36:43 +0000 Commit: Kevin Bowling CommitDate: 2024-12-02 09:09:24 +0000 sfxge: defer ether_ifattach to when ifmedia_init is done Otherwise the ifmedia subsystem may call unguarded NULL function pointers. Same issue that was fixed for cxgb(4) in f2daf8995. Also see: https://github.com/opnsense/src/issues/228 MFC after: 1 week --- sys/dev/sfxge/sfxge.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sys/dev/sfxge/sfxge.c b/sys/dev/sfxge/sfxge.c index 5fb3a3e74c2e..7d3217fb50de 100644 --- a/sys/dev/sfxge/sfxge.c +++ b/sys/dev/sfxge/sfxge.c @@ -611,8 +611,6 @@ sfxge_ifnet_init(if_t ifp, struct sfxge_softc *sc) if_sethwassistbits(ifp, CSUM_TCP | CSUM_UDP | CSUM_IP | CSUM_TSO | CSUM_TCP_IPV6 | CSUM_UDP_IPV6, 0); - ether_ifattach(ifp, encp->enc_mac_addr); - if_settransmitfn(ifp, sfxge_if_transmit); if_setqflushfn(ifp, sfxge_if_qflush); @@ -620,13 +618,11 @@ sfxge_ifnet_init(if_t ifp, struct sfxge_softc *sc) DBGPRINT(sc->dev, "ifmedia_init"); if ((rc = sfxge_port_ifmedia_init(sc)) != 0) - goto fail; + return (rc); - return (0); + ether_ifattach(ifp, encp->enc_mac_addr); -fail: - ether_ifdetach(sc->ifnet); - return (rc); + return (0); } void From nobody Mon Dec 2 09:44:02 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y1zPv3tbYz5fxvc; Mon, 02 Dec 2024 09:44:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y1zPv3KX7z4LWx; Mon, 2 Dec 2024 09:44:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733132643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IYBnFhFtn/1ZjRczYqdPCI+SrRTluqhwbBi70xPaPq4=; b=iCn98bDfOYjCjnulscRRtY7YTtPEaiahzgniOjtehOm/lksf2V3kmK59K5K/hThXYNjI/f BAK5zVz2/5WlQRNXO+rtNGgMDwLNxe02TtLfc5Uxo36AOaXi/6BUzvWSiW4dBUY0JrdsmX w6UdD2quNcBfsbL6jbAxwuRSYG7ZY6q/tLFRCWphnkaN9YkDKoP8yZn3toyEtqEw2Q1K4R 8aR1RtS1fbJWONqPLiYHw0nphT7+ablCRK0oEqJoBNBdkiueRfbPnStNclpHmy8DEv5m/l p8YNDBrSyLluIE/RCp8U6ZaspuYBtcxpvxGa3NAW1pUx8RkL8OnLEP+tiM6E/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733132643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IYBnFhFtn/1ZjRczYqdPCI+SrRTluqhwbBi70xPaPq4=; b=SlRQVHdsLqMcehbpAFJBk+NE7Oo6uEfZc+FFqs6tblmy62HaByr2LUbUZDI2NYirdJJlxW 3M6nfUF9Dvj12KX6ePAvGaTbXCxAzr77EhhSWYbQeZ292XbQdP3+nNumrRkl1eFfy8PcLx JvkOPkhv9wJj05JQfkElZhvycEw8IYyenB1SKLV4nJjTPgsIeSZCTFNSZdWsZi+9xHBur9 wKWXf6nLTXUnuWAh8Ixz9qJq5tT0mziVPFlIQw/3jcUKIdrWevCRmJES2h9NVMi7OrrkQe uKJbR/rMSMLk5bvrR4WtNNg/xebwuDCjFhXhN0Bg4aFfNUMzYXqpPAeXpxeKvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733132643; a=rsa-sha256; cv=none; b=HsGvSduqbGlPmKSDtvusIE+l14Anj23PPQKvYUycRl/YukRA7p1uc0lq6niUqBOl1LMPOi xgvVfxO76wg5y1leoxQvFq3FQz1VtL7Cl+bNdMpT9fmOu0FNE/1BqIZ58NEgvqUz+7ohk8 emAbRa/vczB3z/Rdro8mY1FhMq0oduqTe13ld5h2xsOebbQ6Pb+JVyrJDc3Uc7hWNldUIj oYkRoSgUrDaONuGxTNJKr15D5q0kONbnxBaM1hcad5VlfbwpC0d+rnJgeRwZwj+uvBOD/X ZHshytvVd9bMwC5S8xhkvNBPpRBuIvlpLziBpucBKvpGJlEDdN4D4FYuqzYLhQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y1zPv2mTpzXYC; Mon, 2 Dec 2024 09:44: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 4B29i2Ti021574; Mon, 2 Dec 2024 09:44:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B29i2Um021571; Mon, 2 Dec 2024 09:44:02 GMT (envelope-from git) Date: Mon, 2 Dec 2024 09:44:02 GMT Message-Id: <202412020944.4B29i2Um021571@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: ff1aec7ccb54 - main - ipfw: do not reset fwmark when one_pass is disabled. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ff1aec7ccb547b778c7fb2263ecb50ceeea971f5 Auto-Submitted: auto-generated The branch main has been updated by ae: URL: https://cgit.FreeBSD.org/src/commit/?id=ff1aec7ccb547b778c7fb2263ecb50ceeea971f5 commit ff1aec7ccb547b778c7fb2263ecb50ceeea971f5 Author: Andrey V. Elsukov AuthorDate: 2024-12-02 09:41:11 +0000 Commit: Andrey V. Elsukov CommitDate: 2024-12-02 09:41:11 +0000 ipfw: do not reset fwmark when one_pass is disabled. Fixes: fc727ad63d3f8 MFC after: 1 week --- sys/netpfil/ipfw/ip_fw_pfil.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netpfil/ipfw/ip_fw_pfil.c b/sys/netpfil/ipfw/ip_fw_pfil.c index 4dae28aa0544..ddd8e00316b8 100644 --- a/sys/netpfil/ipfw/ip_fw_pfil.c +++ b/sys/netpfil/ipfw/ip_fw_pfil.c @@ -127,6 +127,7 @@ ipfw_check_packet(struct mbuf **m0, struct ifnet *ifp, int flags, int ipfw; args.flags = (flags & PFIL_IN) ? IPFW_ARGS_IN : IPFW_ARGS_OUT; + args.rule.pkt_mark = 0; again: /* * extract and remove the tag if present. If we are left @@ -144,7 +145,6 @@ again: args.m = *m0; args.ifp = ifp; args.inp = inp; - args.rule.pkt_mark = 0; ipfw = ipfw_chk(&args); *m0 = args.m; From nobody Mon Dec 2 10:51:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y20vF3Fg1z5fYCH; Mon, 02 Dec 2024 10:51:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y20vF2mgTz4Sd4; Mon, 2 Dec 2024 10:51:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733136665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Po8x40QJXSCxcDvhkdAewT7LgsEglIIfIok/cncaoVE=; b=Lmpq7gDV37uqQePBAtq4y17iuMO6Aqtvx9jpsb9I61Ep+YqhoRP4GvpfmCEddXOwbtLwhM 8XLRbFU99jFsR51heP3V0Gb932ocBhSd2z41YegDqVRNC2Ux+N4N2la780xJxk4nM78f+Z E1yoRRbhHnc+HA1whEVBaMIaFWKig3GiC70GHwtPV+QslpKGIukTtkMeqlDQqiv+p1LWwF lBlePZybnb0tSOm0zj9FGD6htWXc//yShJOct69js27EelYADUsuIuzKxqOfq7e+DpboAX BorDLi3f1zZccnJFs+khBzWcstDQrbswhZabZHx89g2SC98dhjnHupHy5mT/Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733136665; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Po8x40QJXSCxcDvhkdAewT7LgsEglIIfIok/cncaoVE=; b=GnEBD6guWcdFGxKIF7qXhgOlgrOwmGQfOrg7OP6v1vc93xos0fmFF/QQbbeSU5apU64P9m puaUGgKkq5xW4deE6kMJczmufUffK2msRYwgq1wI7TiZ0d56x/EDn0Y/3CC0Rfs9fIBJwn s0uDqSPHvr6JE7rX6DoEWiwj452YjAQThLmi6cG1CU7Jzq8OTab19H+VkaP0TGBjb7s9rc aBtbOLtfMlKSV1c1Edv5y3YasYDfG2aRjzdmgl7GA+qKf4qzSn7eceyZUyIDE15v/IwjhA R4HZE24Bjpm2/NPmIqYmjdtMalglpcO+igPac/WmhFI5+RQWHxBIVIhLt1KCMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733136665; a=rsa-sha256; cv=none; b=drRQFCaT+TDIvc9hD8+e8LR6xNRTHgeXMOfJY2wskb15ZWauUcHmgg6F1Fn2sSp4srJzad aUEDcf74QnhqXRFVdNAb4cTi/zJ9AuxwzW4y0xaWD+DAT1DdGptkQtij+lvgcsQ4QqVlEk 4DTZKp386hEh7A1uNWCdHzUoPXPazDZmRctHtPW9Wi+TuVV8NlKHPtbf25NZ3jMRvlV0Ij 3zYJKL+ld6I5Gvf4O1C7eho327HiPoJyhz7evGbbo5cu9gwuJL8tQFBaKxA3BTjFD8Bdh1 tMJIxIje4kq5mgZ3ylVFfodFP/3WPn7T1bq9J5My/UBy88X5F0MIX4b6RdOGUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y20vF2DlrzZR4; Mon, 2 Dec 2024 10:51: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 4B2Ap5uL043955; Mon, 2 Dec 2024 10:51:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2Ap5N6043952; Mon, 2 Dec 2024 10:51:05 GMT (envelope-from git) Date: Mon, 2 Dec 2024 10:51:05 GMT Message-Id: <202412021051.4B2Ap5N6043952@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 127709d30a2b - main - lib/libc/gen: use Lemire's algorithm for arc4random_uniform(). List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 127709d30a2b8a38be995dc5053390947895a723 Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=127709d30a2b8a38be995dc5053390947895a723 commit 127709d30a2b8a38be995dc5053390947895a723 Author: Robert Clausecker AuthorDate: 2024-11-18 12:30:55 +0000 Commit: Robert Clausecker CommitDate: 2024-12-02 10:41:11 +0000 lib/libc/gen: use Lemire's algorithm for arc4random_uniform(). Daniel Lemire has published a more efficient range reduction algorithm for finding a random number in a given range without bias, reducing the number of divisions to none in the common case and 1 in case the initial sample is rejected. This speeds up performance by 22% on amd64, 15% on i386, and 70% on armv7. os: FreeBSD arch: amd64 cpu: Intel(R) Core(TM) i7-4910MQ CPU @ 2.90GHz │ benchmark.out │ │ sec/op │ Arc4random_uniform 56.53n ± 0% Fast_uniform 44.00n ± 0% geomean 49.87n Reviewed by: cem Approved by: emaste Differential Revision: https://reviews.freebsd.org/D47659 --- lib/libc/gen/arc4random.3 | 13 ++++++- lib/libc/gen/arc4random_uniform.c | 71 +++++++++++++++++---------------------- 2 files changed, 43 insertions(+), 41 deletions(-) diff --git a/lib/libc/gen/arc4random.3 b/lib/libc/gen/arc4random.3 index 1d5b3b9f43cb..1b042f15f000 100644 --- a/lib/libc/gen/arc4random.3 +++ b/lib/libc/gen/arc4random.3 @@ -30,7 +30,7 @@ .\" .\" Manual page, using -mandoc macros .\" -.Dd April 13, 2020 +.Dd November 18, 2024 .Dt ARC4RANDOM 3 .Os .Sh NAME @@ -129,6 +129,17 @@ functions using .%O Document ID: 4027b5256e17b9796842e6d0f68b0b5e .%U http://cr.yp.to/papers.html#chacha .Re +.Rs +.%A Daniel Lemire +.%T Fast Random Integer Generation in an Interval +.%D January 2019 +.%J ACM Trans. Model. Comput. Simul. +.%I Association for Computing Machinery +.%C New York, NY, USA +.%V vol. 29 +.%N no. 1 +.%P pp. 1\(en12 +.Re .Sh HISTORY These functions first appeared in .Ox 2.1 . diff --git a/lib/libc/gen/arc4random_uniform.c b/lib/libc/gen/arc4random_uniform.c index 06cd29c6dbe4..23455e545899 100644 --- a/lib/libc/gen/arc4random_uniform.c +++ b/lib/libc/gen/arc4random_uniform.c @@ -1,56 +1,47 @@ -/* $OpenBSD: arc4random_uniform.c,v 1.3 2019/01/20 02:59:07 bcook Exp $ */ - -/* - * Copyright (c) 2008, Damien Miller +/*- + * SPDX-License-Identifier: 0BSD * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. + * Copyright (c) Robert Clausecker + * Based on a publication by Daniel Lemire. + * Public domain where applicable. * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * Daniel Lemire, "Fast Random Integer Generation in an Interval", + * Association for Computing Machinery, ACM Trans. Model. Comput. Simul., + * no. 1, vol. 29, pp. 1--12, New York, NY, USA, January 2019. */ #include #include -/* - * Calculate a uniformly distributed random number less than upper_bound - * avoiding "modulo bias". - * - * Uniformity is achieved by generating new random numbers until the one - * returned is outside the range [0, 2**32 % upper_bound). This - * guarantees the selected random number will be inside - * [2**32 % upper_bound, 2**32) which maps back to [0, upper_bound) - * after reduction modulo upper_bound. - */ uint32_t arc4random_uniform(uint32_t upper_bound) { - uint32_t r, min; - - if (upper_bound < 2) - return 0; - - /* 2**32 % x == (2**32 - x) % x */ - min = -upper_bound % upper_bound; + uint64_t product; /* - * This could theoretically loop forever but each retry has - * p > 0.5 (worst case, usually far better) of selecting a - * number inside the range we need, so it should rarely need - * to re-roll. + * The paper uses these variable names: + * + * L -- log2(UINT32_MAX+1) + * s -- upper_bound + * x -- arc4random() return value + * m -- product + * l -- (uint32_t)product + * t -- threshold */ - for (;;) { - r = arc4random(); - if (r >= min) - break; + + if (upper_bound <= 1) + return (0); + + product = upper_bound * (uint64_t)arc4random(); + + if ((uint32_t)product < upper_bound) { + uint32_t threshold; + + /* threshold = (2**32 - upper_bound) % upper_bound */ + threshold = -upper_bound % upper_bound; + while ((uint32_t)product < threshold) + product = upper_bound * (uint64_t)arc4random(); } - return r % upper_bound; + return (product >> 32); } From nobody Mon Dec 2 10:51:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y20vG5bw0z5fYdV; Mon, 02 Dec 2024 10:51:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y20vG43Fgz4SQP; Mon, 2 Dec 2024 10:51:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733136666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NjgGl713Pp/23lwV1h2ZRjyBL7q7qrtF+E8FrSXKyHo=; b=ntLb9nHSuV1tDZndgHJMmJnI+TYXmxD7FqkIV6fGg1RPWXA3o2H6Hh0rnlW7B9I5DXV4NQ UrkAVHZAWPGi4X8AEmkNwSbT6ZG3hXSrOZEFvd/e3D7bhbNL0SOkA5xaj9g+83ydYEBlFN eWyE6wU71I2B3WT4LDq0XZlrR6lPksUM6MSvkP8ijvOLOortz8zW6yvwT72Ignid8Jw8X0 RuGrXfDZsJcxU1iBi4Xz4JEfAGZYH6hL5iyGaNrv/aMVj1pfHNCbl8WVQGHG40MhUya9cQ 0ZUI61s3j/4IOJD/c3o8AR3WRg+I1r5fxMDMTBigqKcHHVofgRW47yw7ti2YPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733136666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NjgGl713Pp/23lwV1h2ZRjyBL7q7qrtF+E8FrSXKyHo=; b=IZJQK+uQtDX8/FuU/uE4x75aecpXQ9dVNjmnr79w4BvxfSqrrr+R0REYN6LX49j2wA8iCC vHrVYhhCm0ZWRbBlgJ1q/ZZRBFc9Oa8OkIX+dDG3a3nBis/r/WyF0vB2G0tmxdXiBkcZcs nsHsOW+7BnSft+6EcjxDRgvs5AlmKu4v/ypJxbDAecPp4AGb7nlzAGOb6841Apg3PpNfoo 4Ee+ty1elKh3muyottUKhSMoeYmVNZP9C7TUZKVdk6nH98Csw26yAzsrdsVVNUoBYTBlsD YiksKHszNjBJdfWXLnxzrHLuA1pySiRvXVfdvw30SmkL8bVJ2XphmvjWAqtTrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733136666; a=rsa-sha256; cv=none; b=c62IizAj7r1agQ2Dg8Dc5+kPT5dO1wQp3TJ0a/LxuOzJJCrYDPNaO/36/0xg7yqanewsqu EIWygUjmmnobUmMeyMuAh+FaTz3b70HRm3feZz0/tY9ifws+/RbZLTZ3jNb+4u35RQwQM0 FUEc12SG3UHtx7HflI3uVLRLHhb71ycLzQNXpkjQzN2eGi8RT6Xh8XoIaoyoJF8tbYuF3D st8mw3DdQei0DUfQqq5X7F/iD2gpx/SkZCbXGKI+uef86HJ0jTWJ3VllPetNqtpQw3WTH5 O3Zu5UIAdtYHuZc8qN6UVRXeso8E0TIaUAFbIxCWAJAKn/w6WatDGsKdGungYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y20vG3DW4zZTy; Mon, 2 Dec 2024 10:51: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 4B2Ap6iQ044007; Mon, 2 Dec 2024 10:51:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2Ap6rn044004; Mon, 2 Dec 2024 10:51:06 GMT (envelope-from git) Date: Mon, 2 Dec 2024 10:51:06 GMT Message-Id: <202412021051.4B2Ap6rn044004@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 1730b5c7916e - main - lib/libc/tests: add unit test for arc4random_uniform() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1730b5c7916ed249ddc97ebe51117899f9323fbc Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=1730b5c7916ed249ddc97ebe51117899f9323fbc commit 1730b5c7916ed249ddc97ebe51117899f9323fbc Author: Robert Clausecker AuthorDate: 2024-11-18 12:46:16 +0000 Commit: Robert Clausecker CommitDate: 2024-12-02 10:41:11 +0000 lib/libc/tests: add unit test for arc4random_uniform() The new unit test validates that the range reduction works correctly. We do not currently validate that there is no bias as that would take too much time and memory for a unit test. Reviewed by: cem Approved by: emaste Differential Revision: https://reviews.freebsd.org/D47659 --- lib/libc/tests/gen/arc4random_test.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/libc/tests/gen/arc4random_test.c b/lib/libc/tests/gen/arc4random_test.c index e96ebdc6c6ca..79139f29f8fa 100644 --- a/lib/libc/tests/gen/arc4random_test.c +++ b/lib/libc/tests/gen/arc4random_test.c @@ -1,5 +1,6 @@ /*- * Copyright (c) 2011 David Schultz + * Copyright (c) 2024 Robert Clausecker * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -29,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -77,10 +79,34 @@ ATF_TC_BODY(test_arc4random, tc) "sequences are the same"); } +/* + * Test whether arc4random_uniform() returns a number below the given threshold. + * Test with various thresholds. + */ +ATF_TC_WITHOUT_HEAD(test_arc4random_uniform); +ATF_TC_BODY(test_arc4random_uniform, tc) +{ + size_t i, j; + static const uint32_t thresholds[] = { + 1, 2, 3, 4, 5, 10, 100, 1000, + INT32_MAX, (uint32_t)INT32_MAX + 1, + UINT32_MAX - 1000000000, UINT32_MAX - 1000000, UINT32_MAX - 1, 0 + }; + + for (i = 0; thresholds[i] != 0; i++) + for (j = 0; j < 10000; j++) + ATF_CHECK(arc4random_uniform(thresholds[i]) < thresholds[i]); + + /* for a threshold of zero, just check that we get zero every time */ + for (j = 0; j < 1000; j++) + ATF_CHECK_EQ(0, arc4random_uniform(0)); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, test_arc4random); + ATF_TP_ADD_TC(tp, test_arc4random_uniform); return (atf_no_error()); } From nobody Mon Dec 2 10:51:07 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y20vH5zzTz5fYdX; Mon, 02 Dec 2024 10:51:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y20vH4c8zz4Sb0; Mon, 2 Dec 2024 10:51:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733136667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A2otp5rdooh9czx+Ey39CZQ5RqWlDg9RrT0EMCHlmXE=; b=XgH8KgCDy4YtM0dF+RMuy0JzggX8QtDSjlahF7pg0bic1yIiZfsqtXgoUci3KvUbAZQw0I wDbSTYuj6b9fZtndBvFXptiJzibe458PGLXt9qMCa4+XvJCP03hrdgfLec0ZkbJqlisLd6 Kpde79Xz00+EzouhMfDyxbCP+vl49sJTWMljryGEMAEZmINvddG3W9pRay4PXGNFWIJKdD puaozDmWmODN7CAwI5Bn/SU3sDgRWlG9QVNJL5U5La0OHW50kAQikM5ONtsSwxT2NEtYK8 7IbHKzyJJp7Xgvaw979jlI0Js07W9zFw1KC7ycPalqJV2wbwZ5uxnw74rpDb1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733136667; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A2otp5rdooh9czx+Ey39CZQ5RqWlDg9RrT0EMCHlmXE=; b=IjD7r3N4fv65G3iWtIQ1xxpsDvymFY2m+r5/ip9X08mmRNCjIwJQE6X7hm0dd1nAXiTJXl 669F8l/kUmw6OqKyl1F3ZZq3D5/ou9eTmCpQwrVGMmz8E79/m8w/QZVZUG19CinDeyQK7x bvGr/KR4LlSoQfhM9nN3qcj6C1OLKqLH8zaB5MbbG7MFml5otODSX2DIBzuUTZF21nH9E1 DkVAKLDUNK+0Em03tTcaz9z7OaAI4sKfNR9y+sTS4itF5kLklPYjeJCoRAPqhc/0U2YS+Q bM0xLARisaUbuEON9+jNGADs6cRa3qduOJQYZPtE7jhqFSzE16s+QEgZdnaHpw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733136667; a=rsa-sha256; cv=none; b=HtFHph8LiOSoZUPD0kVHv934UNfMEz7eA/pXzF2RfZB+PoyxgC4i8bV+nHpe6QgGkXNQQ5 cg1z6Ikt6DI9e6HGAOS1HK6ARJdi3LRx+nxX+NH/pK+btOCwTJPxaf77xKnthlpoiR/ijh i6NUV+ir+J4gpv+p6y6dYplQMH0lRTXHu95GX+q8UYqXJQMklnpVpcSXEVtvV6EXv/dRwr Y8IV0bEoghOy5FqzgRKkUxxjszSlb1jtTtF7mKNcst4xaaVg8jYPG1gjbBowCSTmtsZrLD wXSCm6XDLcVPIAbDrRy9DCRJ0QfNUmG5fkEBE74rIETobvxtrmQtOIWw31ZfcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y20vH4CyxzZwl; Mon, 2 Dec 2024 10:51: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 4B2Ap7EX044062; Mon, 2 Dec 2024 10:51:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2Ap7Ml044059; Mon, 2 Dec 2024 10:51:07 GMT (envelope-from git) Date: Mon, 2 Dec 2024 10:51:07 GMT Message-Id: <202412021051.4B2Ap7Ml044059@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Clausecker Subject: git: 4a0fc138e5eb - main - tools: add arc4random_uniform() bias test List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4a0fc138e5eb343e45388e66698a4765b308a622 Auto-Submitted: auto-generated The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/src/commit/?id=4a0fc138e5eb343e45388e66698a4765b308a622 commit 4a0fc138e5eb343e45388e66698a4765b308a622 Author: Robert Clausecker AuthorDate: 2024-11-27 17:37:58 +0000 Commit: Robert Clausecker CommitDate: 2024-12-02 10:41:11 +0000 tools: add arc4random_uniform() bias test This test program executed arc4random_uniform() repeatedly and analyzes the distribution of return values, showing how similar the parameters of the observed outcome are to the expected parameters of an equidistribution. This cannot be a unit test as it takes quite a while to run and lots of memory (~3 GB) to execute. Reviewed by: cem Approved by: emaste Differential Revision: https://reviews.freebsd.org/D47659 --- tools/test/README | 2 +- tools/test/arc4random/biastest.c | 216 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 217 insertions(+), 1 deletion(-) diff --git a/tools/test/README b/tools/test/README index a54964621cd8..894aa051c6c1 100644 --- a/tools/test/README +++ b/tools/test/README @@ -1,4 +1,3 @@ - This directory is for standalone test programs. For the FreeBSD Test Suite, which uses Kyua, please see /usr/src/tests/ @@ -7,6 +6,7 @@ and either tries to break it or measures its performance. Please make a subdir per program, and add a brief description to this file. +arc4random Bias test for arc4random_uniform() auxinfo Return information on page sizes, CPUs, and OS release date. devrandom Programs to test /dev/*random. gpioevents Test delivery of gpio pin-change events to userland. diff --git a/tools/test/arc4random/biastest.c b/tools/test/arc4random/biastest.c new file mode 100644 index 000000000000..2fd4363b7869 --- /dev/null +++ b/tools/test/arc4random/biastest.c @@ -0,0 +1,216 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause + * + * Copyright (c) 2024 Robert Clausecker + * + * biastest.c -- bias test for arc4random_uniform(). + * + * The default configuration of this test has an upper bound of + * (3/4) * UINT32_MAX, which should give a high amount of bias in + * an incorrect implementation. If the range reduction is + * implemented correctly, the parameters of the statistic should + * closely match the expected values. If not, they'll differ. + * + * For memory usage reasons, we use an uchar to track the number of + * observations per bucket. If the number of tries is much larger + * than upper_bound, the buckets likely overflow. This is detected + * by the test, but will lead to incorrect results. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static void collect_sample(unsigned char *, long long, uint32_t); +static void analyze_sample(const unsigned char *, long long, uint32_t); + +static atomic_bool complete = false; +static long long tries = 5ULL << 32; +static atomic_llong tries_done = 0; + +static void +usage(const char *argv0) +{ + fprintf(stderr, "usage: %s [-n tries] [-t upper_bound]\n", argv0); + exit(EXIT_FAILURE); +} + +int +main(int argc, char *argv[]) +{ + uint32_t threshold = 3UL << 30; + int ch; + unsigned char *sample; + + while (ch = getopt(argc, argv, "n:t:"), ch != EOF) + switch (ch) { + case 'n': + tries = atoll(optarg); + break; + + case 't': + threshold = (uint32_t)atoll(optarg); + break; + + default: + usage(argv[0]); + } + + if (optind != argc) + usage(argv[0]); + + if (threshold == 0) { + fprintf(stderr, "threshold must be between 1 and %lu\n", (unsigned long)UINT32_MAX); + exit(EXIT_FAILURE); + } + + sample = calloc(threshold, 1); + if (sample == NULL) { + perror("calloc(threshold, 1)"); + return (EXIT_FAILURE); + } + + collect_sample(sample, tries, threshold); + analyze_sample(sample, tries, threshold); +} + +static void +progress(int signo) +{ + (void)signo; + + if (!complete) { + fprintf(stderr, "\r%10lld of %10lld samples taken (%5.2f%% done)", + tries_done, tries, (tries_done * 100.0) / tries); + + signal(SIGALRM, progress); + alarm(1); + } +} + +static void +collect_sample(unsigned char *sample, long long tries, uint32_t threshold) +{ + long long i; + uint32_t x; + bool overflowed = false; + + progress(SIGALRM); + + for (i = 0; i < tries; i++) { + x = arc4random_uniform(threshold); + tries_done++; + assert(x < threshold); + + if (sample[x] == UCHAR_MAX) { + if (!overflowed) { + printf("sample table overflow, results will be incorrect\n"); + overflowed = true; + } + } else + sample[x]++; + } + + progress(SIGALRM); + complete = true; + fputc('\n', stderr); +} + +static void +analyze_sample(const unsigned char *sample, long long tries, uint32_t threshold) +{ + double discrepancy, average, variance, total; + long long histogram[UCHAR_MAX + 1] = { 0 }, sum, n, median; + uint32_t i, i_min, i_max; + int min, max; + + printf("distribution properties:\n"); + + /* find median, average, deviation, smallest, and largest bucket */ + total = 0.0; + for (i = 0; i < threshold; i++) { + histogram[sample[i]]++; + total += (double)i * sample[i]; + } + + average = total / tries; + + variance = 0.0; + median = threshold; + n = 0; + i_min = 0; + i_max = 0; + min = sample[i_min]; + max = sample[i_max]; + + for (i = 0; i < threshold; i++) { + discrepancy = i - average; + variance += sample[i] * discrepancy * discrepancy; + + n += sample[i]; + if (median == threshold && n > tries / 2) + median = i; + + if (sample[i] < min) { + i_min = i; + min = sample[i_min]; + } else if (sample[i] > max) { + i_max = i; + max = sample[i_max]; + } + } + + variance /= tries; + assert(median < threshold); + + printf("\tthreshold: %lu\n", (unsigned long)threshold); + printf("\tobservations: %lld\n", tries); + printf("\tleast common: %lu (%d observations)\n", (unsigned long)i_min, min); + printf("\tmost common: %lu (%d observations)\n", (unsigned long)i_max, max); + printf("\tmedian: %lld (expected %lu)\n", median, (unsigned long)threshold / 2); + printf("\taverage: %f (expected %f)\n", average, 0.5 * (threshold - 1)); + printf("\tdeviation: %f (expected %f)\n\n", sqrt(variance), + sqrt(((double)threshold * threshold - 1.0) / 12)); + + /* build histogram and analyze it */ + printf("sample properties:\n"); + + /* find median, average, and deviation */ + average = (double)tries / threshold; + + variance = 0.0; + for (i = 0; i < UCHAR_MAX; i++) { + discrepancy = i - average; + variance += histogram[i] * discrepancy * discrepancy; + } + + variance /= threshold; + + n = 0; + median = UCHAR_MAX + 1; + for (i = 0; i <= UCHAR_MAX; i++) { + n += histogram[i]; + if (n >= threshold / 2) { + median = i; + break; + } + } + + assert(median <= UCHAR_MAX); /* unreachable */ + + printf("\tmedian: %lld\n", median); + printf("\taverage: %f\n", average); + printf("\tdeviation: %f (expected %f)\n\n", sqrt(variance), sqrt(average * (1.0 - 1.0 / threshold))); + + printf("histogram:\n"); + for (i = 0; i < 256; i++) + if (histogram[i] != 0) + printf("\t%3d:\t%lld\n", (int)i, histogram[i]); +} From nobody Mon Dec 2 14:20:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y25XN6BH7z5ft7G; Mon, 02 Dec 2024 14:20:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y25XN5dNVz4FF2; Mon, 2 Dec 2024 14:20:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733149204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QYEe78+pzNUb1yn1yqaoSY5HYTovTT0mF/K4UhKTMHc=; b=qwS1zLrynIKndpCVLyvFfVGyelqoP9tw5uLAXtmc8QXH4cz33jvjMX/6syYuGQ0puyuqYl RU204JwLFctG1tbkTGZeABnEzVHEzVihjCtlD8j7Kfea6DBU4IHkLNyPODZyYmY1KpP9VF xBsKAAEjsLiWJnQK2RWZfdQe9xtJdICUj4KoekGoywhLvW7CQWHeTewaj7DDBsCowUD7im SfNgS6pE3i6Jo036PTIVhB9JzmW1XuWO/WZEyyQW39BbjZBQCkW5/+FUPXGrqBoM0H8cvr fk2bwv7m4wwDEgAtZ/RbI2nQJDSFhFUknbZxJ77f9huG81x00qUhpK5o22PYYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733149204; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=QYEe78+pzNUb1yn1yqaoSY5HYTovTT0mF/K4UhKTMHc=; b=pTPzG8PxylKjHIjaS5qpXpvzly3D0hKUIz4i149a2RBGlA/T7i3pK0jlLeQCl06XfjBul2 t16t4Qu16v1INOcmCFwN3SoyL/j9UJaiFBPx6R8XB17XVcCu/C/z6jVVttDi1iRjDZvyNq IxGCJDCiS1zprfxYPpAV6uYfrReF+qQd99j+g+rWwsJuwYi9UDre4X28qVIzAEzJt+ij6X zUvySxKzF/t1hP04OADboXe7VOd4mmC281cjwMjnLm6rqVJfhk5g0M8uB6aNfpxcyVe48X PO2j2YxWbgm5rZbJ/YwyGNGRz8b1U9gYSyDep7KOCcXro8tCgreEbd+MjFQxRQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733149204; a=rsa-sha256; cv=none; b=NB6umPVK5B3DGj8lSqINklAOZERcrz93Pn4thqtE71PIxpe3ObuT3x2MiyoULMRys5+VbR Eq5eJ02CeLAuoy87I5EIeZrSue5isEM1BgQEE5QpgunjHGVCnEh6bPl05Z0NiD0js5xJZj X6iT9j47aE1LEfsqO9RorI+Y0PWseEYbxytd6kDnRCKDXwdsDixSJKpSwCJ9sS/L0KZoiz OPFLXTlf1SWZda3zT9qAlZYcVuHNSK/r82uVsJwFfT/Dr1LHXumJTKQGF0u+R1SblR5D7/ zpAqNYpGDoqvh6yOqPKJXdzeb6aT3n7Ivq6FHH4DLB0LAHyyPYrHdK3hKiWriw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y25XN5DJlzgj1; Mon, 2 Dec 2024 14:20: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 4B2EK4fj030802; Mon, 2 Dec 2024 14:20:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2EK4Tj030797; Mon, 2 Dec 2024 14:20:04 GMT (envelope-from git) Date: Mon, 2 Dec 2024 14:20:04 GMT Message-Id: <202412021420.4B2EK4Tj030797@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: 2bb61497ca76 - main - elf_common.h: Add definitions for LoongArch ELF files List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2bb61497ca76646c92f25127b8d4d64281123400 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2bb61497ca76646c92f25127b8d4d64281123400 commit 2bb61497ca76646c92f25127b8d4d64281123400 Author: Haowu Ge AuthorDate: 2024-12-02 11:36:28 +0000 Commit: Ed Maste CommitDate: 2024-12-02 14:19:33 +0000 elf_common.h: Add definitions for LoongArch ELF files Including e_machine, e_flags and relocation types. References: Loongson documentation: https://github.com/loongson/la-abi-specs/blob/release/laelf.adoc LLVM reviews / commits: https://reviews.llvm.org/D134601 https://reviews.llvm.org/D115859 https://reviews.llvm.org/D131467 https://reviews.llvm.org/D152184 https://github.com/llvm/llvm-project/pull/73345 https://github.com/llvm/llvm-project/pull/77039 Binutils commits: 6d13722a97cee3fd397e116bde3bcedbb1e220be 9801120721c3a702ce3bd50433ef920f92a83502 57a930e3bfe4b2c7fd6463ed39311e1938513138 Reviewed by: markj, emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/1532 --- sys/sys/elf_common.h | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/sys/sys/elf_common.h b/sys/sys/elf_common.h index ec5bbbf9f0e6..766ff6ede51b 100644 --- a/sys/sys/elf_common.h +++ b/sys/sys/elf_common.h @@ -306,6 +306,7 @@ typedef struct { and MPRC of Peking University */ #define EM_AARCH64 183 /* AArch64 (64-bit ARM) */ #define EM_RISCV 243 /* RISC-V */ +#define EM_LOONGARCH 258 /* Loongson LoongArch */ /* Non-standard or deprecated. */ #define EM_486 6 /* Intel i486. */ @@ -382,6 +383,25 @@ typedef struct { #define EF_RISCV_RVE 0x00000008 #define EF_RISCV_TSO 0x00000010 +/* + * Loongson LoongArch Specific e_flags + * + * Definitions from LoongArch ELF psABI v2.01. + * Reference: https://github.com/loongson/LoongArch-Documentation + * (commit hash 296de4def055c871809068e0816325a4ac04eb12) + */ + +/* LoongArch Base ABI Modifiers */ +#define EF_LOONGARCH_ABI_SOFT_FLOAT 0x00000001 +#define EF_LOONGARCH_ABI_SINGLE_FLOAT 0x00000002 +#define EF_LOONGARCH_ABI_DOUBLE_FLOAT 0x00000003 +#define EF_LOONGARCH_ABI_MODIFIER_MASK 0x00000007 + +/* LoongArch Object file ABI versions */ +#define EF_LOONGARCH_OBJABI_V0 0x00000000 +#define EF_LOONGARCH_OBJABI_V1 0x00000040 +#define EF_LOONGARCH_OBJABI_MASK 0x000000C0 + #define EF_SPARC_EXT_MASK 0x00ffff00 #define EF_SPARC_32PLUS 0x00000100 #define EF_SPARC_SUN_US1 0x00000200 @@ -1380,6 +1400,162 @@ typedef struct { #define R_RISCV_32_PCREL 57 #define R_RISCV_IRELATIVE 58 +/* + * Loongson LoongArch relocation types. + * + * LoongArch ELF psABI: https://github.com/loongson/LoongArch-Documentation + * (commit hash 9b3bd9f4a497115913c22f1a2a47863798fbc02a) + */ + +/* Relocation types used by the dynamic linker */ +#define R_LARCH_NONE 0 +#define R_LARCH_32 1 +#define R_LARCH_64 2 +#define R_LARCH_RELATIVE 3 +#define R_LARCH_COPY 4 +#define R_LARCH_JUMP_SLOT 5 +#define R_LARCH_TLS_DTPMOD32 6 +#define R_LARCH_TLS_DTPMOD64 7 +#define R_LARCH_TLS_DTPREL32 8 +#define R_LARCH_TLS_DTPREL64 9 +#define R_LARCH_TLS_TPREL32 10 +#define R_LARCH_TLS_TPREL64 11 +#define R_LARCH_IRELATIVE 12 +#define R_LARCH_MARK_LA 20 +#define R_LARCH_MARK_PCREL 21 +#define R_LARCH_SOP_PUSH_PCREL 22 +#define R_LARCH_SOP_PUSH_ABSOLUTE 23 +#define R_LARCH_SOP_PUSH_DUP 24 +#define R_LARCH_SOP_PUSH_GPREL 25 +#define R_LARCH_SOP_PUSH_TLS_TPREL 26 +#define R_LARCH_SOP_PUSH_TLS_GOT 27 +#define R_LARCH_SOP_PUSH_TLS_GD 28 +#define R_LARCH_SOP_PUSH_PLT_PCREL 29 +#define R_LARCH_SOP_ASSERT 30 +#define R_LARCH_SOP_NOT 31 +#define R_LARCH_SOP_SUB 32 +#define R_LARCH_SOP_SL 33 +#define R_LARCH_SOP_SR 34 +#define R_LARCH_SOP_ADD 35 +#define R_LARCH_SOP_AND 36 +#define R_LARCH_SOP_IF_ELSE 37 +#define R_LARCH_SOP_POP_32_S_10_5 38 +#define R_LARCH_SOP_POP_32_U_10_12 39 +#define R_LARCH_SOP_POP_32_S_10_12 40 +#define R_LARCH_SOP_POP_32_S_10_16 41 +#define R_LARCH_SOP_POP_32_S_10_16_S2 42 +#define R_LARCH_SOP_POP_32_S_5_20 43 +#define R_LARCH_SOP_POP_32_S_0_5_10_16_S2 44 +#define R_LARCH_SOP_POP_32_S_0_10_10_16_S2 45 +#define R_LARCH_SOP_POP_32_U 46 +#define R_LARCH_ADD8 47 +#define R_LARCH_ADD16 48 +#define R_LARCH_ADD24 49 +#define R_LARCH_ADD32 50 +#define R_LARCH_ADD64 51 +#define R_LARCH_SUB8 52 +#define R_LARCH_SUB16 53 +#define R_LARCH_SUB24 54 +#define R_LARCH_SUB32 55 +#define R_LARCH_SUB64 56 +#define R_LARCH_GNU_VTINHERIT 57 +#define R_LARCH_GNU_VTENTRY 58 + +/* + * Relocs whose processing do not require a stack machine. + * + * Spec addition: https://github.com/loongson/LoongArch-Documentation/pull/57 + */ +#define R_LARCH_B16 64 +#define R_LARCH_B21 65 +#define R_LARCH_B26 66 +#define R_LARCH_ABS_HI20 67 +#define R_LARCH_ABS_LO12 68 +#define R_LARCH_ABS64_LO20 69 +#define R_LARCH_ABS64_HI12 70 +#define R_LARCH_PCALA_HI20 71 +#define R_LARCH_PCALA_LO12 72 +#define R_LARCH_PCALA64_LO20 73 +#define R_LARCH_PCALA64_HI12 74 +#define R_LARCH_GOT_PC_HI20 75 +#define R_LARCH_GOT_PC_LO12 76 +#define R_LARCH_GOT64_PC_LO20 77 +#define R_LARCH_GOT64_PC_HI12 78 +#define R_LARCH_GOT_HI20 79 +#define R_LARCH_GOT_LO12 80 +#define R_LARCH_GOT64_LO20 81 +#define R_LARCH_GOT64_HI12 82 +#define R_LARCH_TLS_LE_HI20 83 +#define R_LARCH_TLS_LE_LO12 84 +#define R_LARCH_TLS_LE64_LO20 85 +#define R_LARCH_TLS_LE64_HI12 86 +#define R_LARCH_TLS_IE_PC_HI20 87 +#define R_LARCH_TLS_IE_PC_LO12 88 +#define R_LARCH_TLS_IE64_PC_LO20 89 +#define R_LARCH_TLS_IE64_PC_HI12 90 +#define R_LARCH_TLS_IE_HI20 91 +#define R_LARCH_TLS_IE_LO12 92 +#define R_LARCH_TLS_IE64_LO20 93 +#define R_LARCH_TLS_IE64_HI12 94 +#define R_LARCH_TLS_LD_PC_HI20 95 +#define R_LARCH_TLS_LD_HI20 96 +#define R_LARCH_TLS_GD_PC_HI20 97 +#define R_LARCH_TLS_GD_HI20 98 +#define R_LARCH_32_PCREL 99 +#define R_LARCH_RELAX 100 + +/* + * Relocs added in ELF for the LoongArch™ Architecture v20230519, part of the + * v2.10 LoongArch ABI specs. + * + * Spec addition: https://github.com/loongson/la-abi-specs/pull/1 + * + * Note that the 101 and 104 relocation numbers are defined as R_LARCH_DELETE + * and R_LARCH_CFA respectively in psABI 2.10. But they are marked as reserved + * in psABI v2.20 because they were proved not necessary to be exposed outside + * of the linker. + */ +#define R_LARCH_ALIGN 102 +#define R_LARCH_PCREL20_S2 103 +#define R_LARCH_ADD6 105 +#define R_LARCH_SUB6 106 +#define R_LARCH_ADD_ULEB128 107 +#define R_LARCH_SUB_ULEB128 108 +#define R_LARCH_64_PCREL 109 + +/* + * Relocs added in ELF for the LoongArch™ Architecture v20231102, part of the + * v2.20 LoongArch ABI specs. + * + * Spec addition: https://github.com/loongson/la-abi-specs/pull/4 + */ +#define R_LARCH_CALL36 110 + +/* + * Relocs added in ELF for the LoongArch™ Architecture v20231219, part of the + * v2.30 LoongArch ABI specs. + * + * Spec addition: https://github.com/loongson/la-abi-specs/pull/5 + */ +#define R_LARCH_TLS_DESC32 13 +#define R_LARCH_TLS_DESC64 14 +#define R_LARCH_TLS_DESC_PC_HI20 111 +#define R_LARCH_TLS_DESC_PC_LO12 112 +#define R_LARCH_TLS_DESC64_PC_LO20 113 +#define R_LARCH_TLS_DESC64_PC_HI12 114 +#define R_LARCH_TLS_DESC_HI20 115 +#define R_LARCH_TLS_DESC_LO12 116 +#define R_LARCH_TLS_DESC64_LO20 117 +#define R_LARCH_TLS_DESC64_HI12 118 +#define R_LARCH_TLS_DESC_LD 119 +#define R_LARCH_TLS_DESC_CALL 120 +#define R_LARCH_TLS_LE_HI20_R 121 +#define R_LARCH_TLS_LE_ADD_R 122 +#define R_LARCH_TLS_LE_LO12_R 123 +#define R_LARCH_TLS_LD_PCREL20_S2 124 +#define R_LARCH_TLS_GD_PCREL20_S2 125 +#define R_LARCH_TLS_DESC_PCREL20_S2 126 + #define R_SPARC_NONE 0 #define R_SPARC_8 1 #define R_SPARC_16 2 From nobody Mon Dec 2 16:27:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y28MD2dfTz5g534; Mon, 02 Dec 2024 16:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y28MD1qQ2z4Tch; Mon, 2 Dec 2024 16:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xJbpZ1RHlrxW2ca1Bryeqjv6OSnHURFw/JHjNIh8h+k=; b=sTiztGF6RZT89k2I9oCx0hCVyYbXJktw+IhQQxON/f4adw/Fgz1/MdtA4Vd5Fafc6zbErP 3YrNfsza4QgqkJuYXBAikwJN/h38deX2uP2Ed/a31cC8SFKjDsslKs1y/+PKSTAF33fRfw udCX8/gVFlaP+HIkgeUhFraslh2GNcbM5E2bYcMAT4u7dfIFy9pTCryJpRRqiBO/X0BbA+ HK1qcXzhKtn3WBpKONbQuLEpYQ1IPvg6eJOsS4Vc/86TPJxJedi5m0PqJRzg7BQkMFyHgy CAgCdRcvn6RJz3iTl+4ZPfq9vnqFPHUydMrz/S7dpzLMyIGaww0wjifwZa4epg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xJbpZ1RHlrxW2ca1Bryeqjv6OSnHURFw/JHjNIh8h+k=; b=Q4M17v5TqTn95O3iT/A8/XlqVS/ZWYMtJH5Nl6O2hbLaGTraAhxU/C0hqTMTm7LMl2E4ZB kC5Sd5hk+qPErQTD8Fzm7apOUvPwc4nDT4vxrSXMR5KyLlvDtXyusuJWmqUvGeWMJc3/WW DiyRs9sNFGWo1ROAs24F9QCjF/mpstMNH+TZZbmY49C9vidBrqAa+q61WQ+6T4uhjLiTA+ 0n1yUZV4K97aWWdPgtAqRoR0NxGVX+eRif4Gq93ikENzgjh3vwHHUmn8PNu4eL9aDZVwEU 4dHvqgH+Yf8VtzGNfgNaUcamQyiM281fpPw+3zU7Idm1SVlmFVR5GyC9zhnD9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733156840; a=rsa-sha256; cv=none; b=SvnxWU056jUDzJEiJOnXtCnNlHBKK6Unpd4T2mNSpHWzGNiLx7lFEtS97G02l0hBeuwg84 918VA+lJhvA/082o+hQuqsCsp6/sR0IPHVPIV/yVfY8fr6yH0YVItNbq9raRKxnBSXxC/Y M1vH06JzrWgfXmIttVBMjopGAD+x5i7E4PMkh4oiZE7zzNfslEfIbWoHhng44oQOMt6zzA ZyHK9LuyaaBQ7NFd8J1ryTCVotJE/dzNyotxgO/HSj2HaH5hyK7QZaqe4gJvEHJZDK2YAL h7Ww7IqaKn94A9yN9riLvxpaWXNjHk+qCC5kpHWLwLtjwi892xIrV0jyEzNYEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y28MD1J4PzlMy; Mon, 2 Dec 2024 16:27:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B2GRKC7070685; Mon, 2 Dec 2024 16:27:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2GRK6E070682; Mon, 2 Dec 2024 16:27:20 GMT (envelope-from git) Date: Mon, 2 Dec 2024 16:27:20 GMT Message-Id: <202412021627.4B2GRK6E070682@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 0b4e32912566 - main - sound: Merge ac97 and ac97_patch List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0b4e32912566d802c7a6501d9ce8119f04dbc2fb Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=0b4e32912566d802c7a6501d9ce8119f04dbc2fb commit 0b4e32912566d802c7a6501d9ce8119f04dbc2fb Author: Christos Margiolis AuthorDate: 2024-12-02 16:26:20 +0000 Commit: Christos Margiolis CommitDate: 2024-12-02 16:26:20 +0000 sound: Merge ac97 and ac97_patch No functional change intended. Sponsored by: The FreeBSD Foundation MFC after: 2 days Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D47732 --- sys/conf/files | 1 - sys/dev/sound/pcm/ac97.c | 96 +++++++++++++++++++++++++++++++- sys/dev/sound/pcm/ac97_patch.c | 117 --------------------------------------- sys/dev/sound/pcm/ac97_patch.h | 35 ------------ sys/modules/sound/sound/Makefile | 2 +- 5 files changed, 96 insertions(+), 155 deletions(-) diff --git a/sys/conf/files b/sys/conf/files index 9b50c4e08274..5b05caddde08 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3132,7 +3132,6 @@ dev/sound/pci/hdspe.c optional snd_hdspe pci dev/sound/pci/hdspe-pcm.c optional snd_hdspe pci dev/sound/pcm/ac97.c optional sound dev/sound/pcm/ac97_if.m optional sound -dev/sound/pcm/ac97_patch.c optional sound dev/sound/pcm/buffer.c optional sound \ dependency "snd_fxdiv_gen.h" dev/sound/pcm/channel.c optional sound diff --git a/sys/dev/sound/pcm/ac97.c b/sys/dev/sound/pcm/ac97.c index d04ec2d8271c..71eb387afa1b 100644 --- a/sys/dev/sound/pcm/ac97.c +++ b/sys/dev/sound/pcm/ac97.c @@ -32,7 +32,6 @@ #include #include -#include #include @@ -40,6 +39,8 @@ static MALLOC_DEFINE(M_AC97, "ac97", "ac97 codec"); +typedef void (*ac97_patch)(struct ac97_info *); + struct ac97mixtable_entry { int reg; /* register index */ /* reg < 0 if inverted polarity */ @@ -133,6 +134,12 @@ static const struct ac97_vendorid ac97vendorid[] = { { 0x00000000, NULL } }; +static void ad1886_patch(struct ac97_info *); +static void ad198x_patch(struct ac97_info *); +static void ad1981b_patch(struct ac97_info *); +static void cmi9739_patch(struct ac97_info *); +static void alc655_patch(struct ac97_info *); + static struct ac97_codecid ac97codecid[] = { { 0x41445303, 0x00, 0, "AD1819", 0 }, { 0x41445340, 0x00, 0, "AD1881", 0 }, @@ -872,6 +879,93 @@ ac97_getflags(struct ac97_info *codec) return codec->flags; } +static void +ad1886_patch(struct ac97_info *codec) +{ +#define AC97_AD_JACK_SPDIF 0x72 + /* + * Presario700 workaround + * for Jack Sense/SPDIF Register misetting causing + * no audible output + * by Santiago Nullo 04/05/2002 + */ + ac97_wrcd(codec, AC97_AD_JACK_SPDIF, 0x0010); +} + +static void +ad198x_patch(struct ac97_info *codec) +{ + switch (ac97_getsubvendor(codec)) { + case 0x11931043: /* Not for ASUS A9T (probably else too). */ + break; + default: + ac97_wrcd(codec, 0x76, ac97_rdcd(codec, 0x76) | 0x0420); + break; + } +} + +static void +ad1981b_patch(struct ac97_info *codec) +{ + /* + * Enable headphone jack sensing. + */ + switch (ac97_getsubvendor(codec)) { + case 0x02d91014: /* IBM Thinkcentre */ + case 0x099c103c: /* HP nx6110 */ + ac97_wrcd(codec, AC97_AD_JACK_SPDIF, + ac97_rdcd(codec, AC97_AD_JACK_SPDIF) | 0x0800); + break; + default: + break; + } +} + +static void +cmi9739_patch(struct ac97_info *codec) +{ + /* + * Few laptops need extra register initialization + * to power up the internal speakers. + */ + switch (ac97_getsubvendor(codec)) { + case 0x18431043: /* ASUS W1000N */ + ac97_wrcd(codec, AC97_REG_POWER, 0x000f); + ac97_wrcd(codec, AC97_MIXEXT_CLFE, 0x0000); + ac97_wrcd(codec, 0x64, 0x7110); + break; + default: + break; + } +} + +static void +alc655_patch(struct ac97_info *codec) +{ + /* + * MSI (Micro-Star International) specific EAPD quirk. + */ + switch (ac97_getsubvendor(codec)) { + case 0x00611462: /* MSI S250 */ + case 0x01311462: /* MSI S270 */ + case 0x01611462: /* LG K1 Express */ + case 0x03511462: /* MSI L725 */ + ac97_wrcd(codec, 0x7a, ac97_rdcd(codec, 0x7a) & 0xfffd); + break; + case 0x10ca1734: + /* + * Amilo Pro V2055 with ALC655 has phone out by default + * disabled (surround on), leaving us only with internal + * speakers. This should really go to mixer. We write the + * Data Flow Control reg. + */ + ac97_wrcd(codec, 0x6a, ac97_rdcd(codec, 0x6a) | 0x0001); + break; + default: + break; + } +} + /* -------------------------------------------------------------------- */ static int diff --git a/sys/dev/sound/pcm/ac97_patch.c b/sys/dev/sound/pcm/ac97_patch.c deleted file mode 100644 index 671b6598f51a..000000000000 --- a/sys/dev/sound/pcm/ac97_patch.c +++ /dev/null @@ -1,117 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2002 Orion Hodson - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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. - */ - -#ifdef HAVE_KERNEL_OPTION_HEADERS -#include "opt_snd.h" -#endif - -#include -#include -#include - -void ad1886_patch(struct ac97_info* codec) -{ -#define AC97_AD_JACK_SPDIF 0x72 - /* - * Presario700 workaround - * for Jack Sense/SPDIF Register misetting causing - * no audible output - * by Santiago Nullo 04/05/2002 - */ - ac97_wrcd(codec, AC97_AD_JACK_SPDIF, 0x0010); -} - -void ad198x_patch(struct ac97_info* codec) -{ - switch (ac97_getsubvendor(codec)) { - case 0x11931043: /* Not for ASUS A9T (probably else too). */ - break; - default: - ac97_wrcd(codec, 0x76, ac97_rdcd(codec, 0x76) | 0x0420); - break; - } -} - -void ad1981b_patch(struct ac97_info* codec) -{ - /* - * Enable headphone jack sensing. - */ - switch (ac97_getsubvendor(codec)) { - case 0x02d91014: /* IBM Thinkcentre */ - case 0x099c103c: /* HP nx6110 */ - ac97_wrcd(codec, AC97_AD_JACK_SPDIF, - ac97_rdcd(codec, AC97_AD_JACK_SPDIF) | 0x0800); - break; - default: - break; - } -} - -void cmi9739_patch(struct ac97_info* codec) -{ - /* - * Few laptops need extra register initialization - * to power up the internal speakers. - */ - switch (ac97_getsubvendor(codec)) { - case 0x18431043: /* ASUS W1000N */ - ac97_wrcd(codec, AC97_REG_POWER, 0x000f); - ac97_wrcd(codec, AC97_MIXEXT_CLFE, 0x0000); - ac97_wrcd(codec, 0x64, 0x7110); - break; - default: - break; - } -} - -void alc655_patch(struct ac97_info* codec) -{ - /* - * MSI (Micro-Star International) specific EAPD quirk. - */ - switch (ac97_getsubvendor(codec)) { - case 0x00611462: /* MSI S250 */ - case 0x01311462: /* MSI S270 */ - case 0x01611462: /* LG K1 Express */ - case 0x03511462: /* MSI L725 */ - ac97_wrcd(codec, 0x7a, ac97_rdcd(codec, 0x7a) & 0xfffd); - break; - case 0x10ca1734: - /* - * Amilo Pro V2055 with ALC655 has phone out by default - * disabled (surround on), leaving us only with internal - * speakers. This should really go to mixer. We write the - * Data Flow Control reg. - */ - ac97_wrcd(codec, 0x6a, ac97_rdcd(codec, 0x6a) | 0x0001); - break; - default: - break; - } -} diff --git a/sys/dev/sound/pcm/ac97_patch.h b/sys/dev/sound/pcm/ac97_patch.h deleted file mode 100644 index 997b10dbd02c..000000000000 --- a/sys/dev/sound/pcm/ac97_patch.h +++ /dev/null @@ -1,35 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2003 Orion Hodson - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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. - */ - -typedef void (*ac97_patch)(struct ac97_info*); - -void ad1886_patch(struct ac97_info*); -void ad198x_patch(struct ac97_info*); -void ad1981b_patch(struct ac97_info*); -void cmi9739_patch(struct ac97_info*); -void alc655_patch(struct ac97_info*); diff --git a/sys/modules/sound/sound/Makefile b/sys/modules/sound/sound/Makefile index f31a751b3f29..d2cfed2f4b6a 100644 --- a/sys/modules/sound/sound/Makefile +++ b/sys/modules/sound/sound/Makefile @@ -15,7 +15,7 @@ SRCS+= feeder_matrix.c feeder_mixer.c SRCS+= feeder_eq_gen.h feeder_rate_gen.h snd_fxdiv_gen.h SRCS+= mpu_if.h mpufoi_if.h synth_if.h SRCS+= mpu_if.c mpufoi_if.c synth_if.c -SRCS+= ac97.c ac97_patch.c buffer.c channel.c dsp.c +SRCS+= ac97.c buffer.c channel.c dsp.c SRCS+= mixer.c sndstat.c sound.c vchan.c SRCS+= midi.c mpu401.c sequencer.c From nobody Mon Dec 2 16:27:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y28MF309Gz5g4vP; Mon, 02 Dec 2024 16:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y28MF2Rcnz4THk; Mon, 2 Dec 2024 16:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IZkciBZ9ydHkWv5ESbBoJoN2n10HlKQUZp3RShYAV+8=; b=tKm1IBeCBDYUIHd1ViC3+eeSZ8o13J/eUbB91qvYX9x7EPUvnObFJ8yQyONWpgTPbgegch TIhOHpEdp/igmkOO/KNxbTzTyP4Gth4Y/IYlQDmdc5Qgoveee7pk8cpqFyIfxn4pQvo8gq 6GbG8FPBYVMmgIKJ1gVweOzZ5CGlB5oLEpqhCfA1mVlRVITg+FZc1mGdRv7MmgxeORtxFX /wCX5hMs0PrfuYoOVG/fs/MiFLEgL6dv3EK2xFQWdyLkhRJVGDlI26KkIKyJ1GvTW1c289 I3zMRIdsF3vDHz6s4a8u70Z6ETp+/Bqu1UhjALEvq3o1eXVEz8ecJhxsQ7GyLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IZkciBZ9ydHkWv5ESbBoJoN2n10HlKQUZp3RShYAV+8=; b=NogTbgZdwOua4NazNZo6UPWaj6n2jky7xfdGtmgl4DWlteBH8seUy2Czmk6V4TInmoPET0 fk5c0wWJ3ulps0JJg6QlMCUqAX0RyUizqVZnGdrm5xoyxaKjlhPAxpRLYaBQvxy67Qu90e 1mR5PRaDU6ONa+GFhG4xllaYtLjVgvMAFJK4DlGOc9rNeT/db3irbbwmOZXzXkHQYJkhhU 0sAAzqpNfsIyE8qGTzDxVBFOXkRRYtJOo61rzpndzvYroQMwEr0l94RdIv2ILqQeGqNPXw wth1mhGJIZZSZbU2jpllkOWyoX+3e0eA2dytThyHZD1SQw1Tlml2m0MPGOzotA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733156841; a=rsa-sha256; cv=none; b=R482fVfqShvi0wVt/EsMY4E5RHKQwnIkl74W6W/xW+nvnnpQdd9FAgWavgY6ud+yG9Fi3R WgmK7NfkqlWbIkz3lDVtEJh3z8dHXZytvvU6+ieD0EpCgtfCu/yA2B3cTUkctOPUI2MO+D P/ibt7e1iPyOz3kYj/uMGe85I6SNrlYcixxZUzOcvWD+0L0op/hEdmmfIJ0ddcReoPMOhD yVSQFmUh52RNkymANQh47BJYb0uNCikh4IeryhV/VdlOP5e7i3N3l8VMN9AjCpk4YmTcxk mTjDFra0PAtEboHnBDMA963kDpP3PrPwgpdWJYoKD6X9L8Vwv28rodhAfPKTdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y28MF22WLzlLc; Mon, 2 Dec 2024 16:27:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B2GRLnZ070732; Mon, 2 Dec 2024 16:27:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2GRLsu070729; Mon, 2 Dec 2024 16:27:21 GMT (envelope-from git) Date: Mon, 2 Dec 2024 16:27:21 GMT Message-Id: <202412021627.4B2GRLsu070729@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 00731aaaed76 - main - sound: Remove dead code from pcm/ List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 00731aaaed76785af8befe13e9a4e85b3554b3f5 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=00731aaaed76785af8befe13e9a4e85b3554b3f5 commit 00731aaaed76785af8befe13e9a4e85b3554b3f5 Author: Christos Margiolis AuthorDate: 2024-12-02 16:26:27 +0000 Commit: Christos Margiolis CommitDate: 2024-12-02 16:26:27 +0000 sound: Remove dead code from pcm/ No functional change intended. Sponsored by: The FreeBSD Foundation MFC after: 2 days Reviewed by: dev_submerge.ch, markj Differential Revision: https://reviews.freebsd.org/D47733 --- sys/dev/sound/pcm/ac97.c | 23 ------------------ sys/dev/sound/pcm/buffer.c | 9 ------- sys/dev/sound/pcm/channel.c | 53 ----------------------------------------- sys/dev/sound/pcm/dsp.c | 22 ----------------- sys/dev/sound/pcm/feeder.h | 26 -------------------- sys/dev/sound/pcm/feeder_rate.c | 21 ---------------- 6 files changed, 154 deletions(-) diff --git a/sys/dev/sound/pcm/ac97.c b/sys/dev/sound/pcm/ac97.c index 71eb387afa1b..f5ca06cd3942 100644 --- a/sys/dev/sound/pcm/ac97.c +++ b/sys/dev/sound/pcm/ac97.c @@ -322,12 +322,6 @@ ac97_rdcd(struct ac97_info *codec, int reg) i[1] = AC97_READ(codec->methods, codec->devinfo, reg); while (i[0] != i[1] && j) i[j-- & 1] = AC97_READ(codec->methods, codec->devinfo, reg); -#if 0 - if (j < 100) { - device_printf(codec->dev, "%s(): Inconsistent register value at" - " 0x%08x (retry: %d)\n", __func__, reg, 100 - j); - } -#endif return i[!(j & 1)]; } return AC97_READ(codec->methods, codec->devinfo, reg); @@ -512,9 +506,6 @@ ac97_setmixer(struct ac97_info *codec, unsigned channel, unsigned left, unsigned snd_mtxunlock(codec->lock); return left | (right << 8); } else { -#if 0 - printf("ac97_setmixer: reg=%d, bits=%d, enable=%d\n", e->reg, e->bits, e->enable); -#endif return -1; } } @@ -737,10 +728,6 @@ ac97_initmixer(struct ac97_info *codec) for (j = 0; k >> j; j++) ; if (j != 0) { -#if 0 - device_printf(codec->dev, "%2d: [ac97_rdcd() = %d] [Testbit = %d] %d -> %d\n", - i, k, bit, codec->mix[i].bits, j); -#endif codec->mix[i].enable = 1; codec->mix[i].bits = j; } else if (reg == AC97_MIX_BEEP) { @@ -756,9 +743,6 @@ ac97_initmixer(struct ac97_info *codec) codec->mix[i].enable = 0; ac97_wrcd(codec, reg, old); } -#if 0 - printf("mixch %d, en=%d, b=%d\n", i, codec->mix[i].enable, codec->mix[i].bits); -#endif } device_printf(codec->dev, "<%s>\n", @@ -1097,13 +1081,6 @@ ac97mix_init(struct snd_mixer *m) if (pcm_getflags(codec->dev) & SD_F_SOFTPCMVOL) ac97_wrcd(codec, AC97_MIX_PCM, 0); -#if 0 - /* XXX For the sake of debugging purposes */ - mix_setparentchild(m, SOUND_MIXER_VOLUME, - SOUND_MASK_PCM | SOUND_MASK_CD); - mix_setrealdev(m, SOUND_MIXER_VOLUME, SOUND_MIXER_NONE); - ac97_wrcd(codec, AC97_MIX_MASTER, 0); -#endif mask = 0; for (i = 0; i < AC97_MIXER_SIZE; i++) diff --git a/sys/dev/sound/pcm/buffer.c b/sys/dev/sound/pcm/buffer.c index afb4b95e357a..8bf3631afb7a 100644 --- a/sys/dev/sound/pcm/buffer.c +++ b/sys/dev/sound/pcm/buffer.c @@ -356,15 +356,6 @@ sndbuf_setfmt(struct snd_dbuf *b, u_int32_t fmt) b->fmt = fmt; b->bps = AFMT_BPS(b->fmt); b->align = AFMT_ALIGN(b->fmt); -#if 0 - b->bps = AFMT_CHANNEL(b->fmt); - if (b->fmt & AFMT_16BIT) - b->bps <<= 1; - else if (b->fmt & AFMT_24BIT) - b->bps *= 3; - else if (b->fmt & AFMT_32BIT) - b->bps <<= 2; -#endif return 0; } diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index f619ddd4bc35..728284b055e5 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -405,23 +405,6 @@ chn_wrfeed(struct pcm_channel *c) chn_wakeup(c); } -#if 0 -static void -chn_wrupdate(struct pcm_channel *c) -{ - - CHN_LOCKASSERT(c); - KASSERT(c->direction == PCMDIR_PLAY, ("%s(): bad channel", __func__)); - - if ((c->flags & (CHN_F_MMAP | CHN_F_VIRTUAL)) || CHN_STOPPED(c)) - return; - chn_dmaupdate(c); - chn_wrfeed(c); - /* tell the driver we've updated the primary buffer */ - chn_trigger(c, PCMTRIG_EMLDMAWR); -} -#endif - static void chn_wrintr(struct pcm_channel *c) { @@ -535,22 +518,6 @@ chn_rdfeed(struct pcm_channel *c) chn_wakeup(c); } -#if 0 -static void -chn_rdupdate(struct pcm_channel *c) -{ - - CHN_LOCKASSERT(c); - KASSERT(c->direction == PCMDIR_REC, ("chn_rdupdate on bad channel")); - - if ((c->flags & (CHN_F_MMAP | CHN_F_VIRTUAL)) || CHN_STOPPED(c)) - return; - chn_trigger(c, PCMTRIG_EMLDMARD); - chn_dmaupdate(c); - chn_rdfeed(c); -} -#endif - /* read interrupt routine. Must be called with interrupts blocked. */ static void chn_rdintr(struct pcm_channel *c) @@ -1980,12 +1947,6 @@ chn_resizebuf(struct pcm_channel *c, int latency, hblksz -= hblksz % sndbuf_getalign(b); -#if 0 - hblksz = sndbuf_getmaxsize(b) >> 1; - hblksz -= hblksz % sndbuf_getalign(b); - hblkcnt = 2; -#endif - CHN_UNLOCK(c); if (chn_usefrags == 0 || CHANNEL_SETFRAGMENTS(c->methods, c->devinfo, @@ -2016,14 +1977,6 @@ chn_resizebuf(struct pcm_channel *c, int latency, if (limit > CHN_2NDBUFMAXSIZE) limit = CHN_2NDBUFMAXSIZE; -#if 0 - while (limit > 0 && (sblksz * sblkcnt) > limit) { - if (sblkcnt < 4) - break; - sblkcnt >>= 1; - } -#endif - while ((sblksz * sblkcnt) < limit) sblkcnt <<= 1; @@ -2140,12 +2093,6 @@ chn_setspeed(struct pcm_channel *c, uint32_t speed) uint32_t oldformat, oldspeed, format; int ret; -#if 0 - /* XXX force 48k */ - if (c->format & AFMT_PASSTHROUGH) - speed = AFMT_PASSTHROUGH_RATE; -#endif - oldformat = c->format; oldspeed = c->speed; format = oldformat; diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c index ccf240681a25..dcbdd581c82a 100644 --- a/sys/dev/sound/pcm/dsp.c +++ b/sys/dev/sound/pcm/dsp.c @@ -1257,7 +1257,6 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, struct snd_dbuf *bs = wrch->bufsoft; CHN_LOCK(wrch); - /* XXX abusive DMA update: chn_wrupdate(wrch); */ a->bytes = sndbuf_getfree(bs); a->fragments = a->bytes / sndbuf_getblksz(bs); a->fragstotal = sndbuf_getblkcnt(bs); @@ -1275,7 +1274,6 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, struct snd_dbuf *bs = rdch->bufsoft; CHN_LOCK(rdch); - /* XXX abusive DMA update: chn_rdupdate(rdch); */ a->bytes = sndbuf_gettotal(bs); a->blocks = sndbuf_getblocks(bs) - rdch->blocks; a->ptr = sndbuf_getfreeptr(bs); @@ -1293,7 +1291,6 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, struct snd_dbuf *bs = wrch->bufsoft; CHN_LOCK(wrch); - /* XXX abusive DMA update: chn_wrupdate(wrch); */ a->bytes = sndbuf_gettotal(bs); a->blocks = sndbuf_getblocks(bs) - wrch->blocks; a->ptr = sndbuf_getreadyptr(bs); @@ -1385,7 +1382,6 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, struct snd_dbuf *bs = wrch->bufsoft; CHN_LOCK(wrch); - /* XXX abusive DMA update: chn_wrupdate(wrch); */ *arg_i = sndbuf_getready(bs); CHN_UNLOCK(wrch); } else @@ -1582,14 +1578,8 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, CHN_LOCK(chn); bs = chn->bufsoft; -#if 0 - tmp = (sndbuf_getsize(b) + chn_getptr(chn) - sndbuf_gethwptr(b)) % sndbuf_getsize(b); - oc->samples = (sndbuf_gettotal(b) + tmp) / sndbuf_getalign(b); - oc->fifo_samples = (sndbuf_getready(b) - tmp) / sndbuf_getalign(b); -#else oc->samples = sndbuf_gettotal(bs) / sndbuf_getalign(bs); oc->fifo_samples = sndbuf_getready(bs) / sndbuf_getalign(bs); -#endif CHN_UNLOCK(chn); } break; @@ -1738,18 +1728,6 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg, int mode, case SNDCTL_SETNAME: ret = dsp_oss_setname(wrch, rdch, (oss_longname_t *)arg); break; -#if 0 - /** - * @note The S/PDIF interface ioctls, @c SNDCTL_DSP_READCTL and - * @c SNDCTL_DSP_WRITECTL have been omitted at the suggestion of - * 4Front Technologies. - */ - case SNDCTL_DSP_READCTL: - case SNDCTL_DSP_WRITECTL: - ret = EINVAL; - break; -#endif /* !0 (explicitly omitted ioctls) */ - #endif /* !OSSV4_EXPERIMENT */ case SNDCTL_DSP_MAPINBUF: case SNDCTL_DSP_MAPOUTBUF: diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index 1e240d934e94..60b8280e59ef 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -167,32 +167,6 @@ int feeder_matrix_oss_get_channel_order(struct pcmchan_matrix *, int feeder_matrix_oss_set_channel_order(struct pcmchan_matrix *, unsigned long long *); -#if 0 -/* feeder_matrix */ -enum { - FEEDMATRIX_TYPE, - FEEDMATRIX_RESET, - FEEDMATRIX_CHANNELS_IN, - FEEDMATRIX_CHANNELS_OUT, - FEEDMATRIX_SET_MAP -}; - -enum { - FEEDMATRIX_TYPE_NONE, - FEEDMATRIX_TYPE_AUTO, - FEEDMATRIX_TYPE_2X1, - FEEDMATRIX_TYPE_1X2, - FEEDMATRIX_TYPE_2X2 -}; - -#define FEEDMATRIX_TYPE_STEREO_TO_MONO FEEDMATRIX_TYPE_2X1 -#define FEEDMATRIX_TYPE_MONO_TO_STEREO FEEDMATRIX_TYPE_1X2 -#define FEEDMATRIX_TYPE_SWAP_STEREO FEEDMATRIX_TYPE_2X2 -#define FEEDMATRIX_MAP(x, y) ((((x) & 0x3f) << 6) | ((y) & 0x3f)) -#define FEEDMATRIX_MAP_SRC(x) ((x) & 0x3f) -#define FEEDMATRIX_MAP_DST(x) (((x) >> 6) & 0x3f) -#endif - /* * By default, various feeders only deal with sign 16/32 bit native-endian * since it should provide the fastest processing path. Processing 8bit samples diff --git a/sys/dev/sound/pcm/feeder_rate.c b/sys/dev/sound/pcm/feeder_rate.c index 77de21e7a31a..40e5d3018ab4 100644 --- a/sys/dev/sound/pcm/feeder_rate.c +++ b/sys/dev/sound/pcm/feeder_rate.c @@ -431,11 +431,6 @@ z_roundpow2(int32_t v) static void z_feed_zoh(struct z_info *info, uint8_t *dst) { -#if 0 - z_copy(info->z_delay + - (info->z_start * info->channels * info->bps), dst, - info->channels * info->bps); -#else uint32_t cnt; uint8_t *src; @@ -449,7 +444,6 @@ z_feed_zoh(struct z_info *info, uint8_t *dst) do { *dst++ = *src++; } while (--cnt != 0); -#endif } /* @@ -1171,14 +1165,6 @@ z_setup_adaptive_sinc: info->z_scale = Z_ONE; } -#if 0 -#define Z_SCALE_DIV 10000 -#define Z_SCALE_LIMIT(s, v) \ - ((((uint64_t)(s) * (v)) + (Z_SCALE_DIV >> 1)) / Z_SCALE_DIV) - - info->z_scale = Z_SCALE_LIMIT(info->z_scale, 9780); -#endif - /* Smallest drift increment. */ info->z_dx = info->z_dy / info->z_gy; @@ -1672,12 +1658,6 @@ z_resampler_feed_internal(struct pcm_feeder *f, struct pcm_channel *c, */ do { info->z_resample(info, dst); -#if 0 - startdrift = z_gy2gx(info, 1); - alphadrift = z_drift(info, startdrift, 1); - info->z_start += startdrift; - info->z_alpha += alphadrift; -#else info->z_alpha += alphadrift; if (info->z_alpha < info->z_gy) info->z_start += startdrift; @@ -1685,7 +1665,6 @@ z_resampler_feed_internal(struct pcm_feeder *f, struct pcm_channel *c, info->z_start += startdrift - 1; info->z_alpha -= info->z_gy; } -#endif dst += align; #ifdef Z_DIAGNOSTIC info->z_cycle++; From nobody Mon Dec 2 16:27:22 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y28MG55Bbz5g4xg; Mon, 02 Dec 2024 16:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y28MG3Tnsz4TX0; Mon, 2 Dec 2024 16:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MSQ9AyblEAbUgc9i+qalwtNMkScHkFvIR4ZnJwvVSmk=; b=YAPY8X4ARHQCXzr0edeJyM24gAJROITpkxhxpX3GC4L9nWJmg19WlcDYVds7gIt38ARsuE KFmNWgxLrLqT8ieIUZInmxYbaK0Npc/mbRo232je5nQHPTb/r8B3x340ATnfW0YIZA3sgU R0MjxS1yxH2nPN4hDxL7AmtELLafRl7nTGt2NP89grPsEhnv9XBH3v9E5UxqVtur0egV40 P+H7jjGBeiW9ALgchzDhxVch+XRzZbPrQyBiAzexmbNGAeu73LXp4DgNZspCw4EfNglMEv QfmennDmwnm8gJz1iwofMGY8Jdg3brrDcphLbbL1jWIcYgn2rDNGL79ljN+JKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MSQ9AyblEAbUgc9i+qalwtNMkScHkFvIR4ZnJwvVSmk=; b=a4ibkjnF9KgLluTZ/V/lFdKsQP6xxtIcYJ+0XPvhJ9ezP444uDMGOzvShjDB77Vh9uUzcv qUBcrJwas0DPixtLZv9tgau4lFLIAUzcyaaPcIEoS9I0p6A/RqbctnqLjTEssIh2ijGrc6 6fvAoAKX3VMwS2OVKSbCPnIGL8gNPLjOmsNdIf5KFYXhJcgEWMhaxmusu3DLZ+c06+nEPs og78AuQPazYhPg0f7CRTWWTqZ/RWenwVBKJpK+UmCvSbklrO4XSK2QS20B7/uHxSHzIJda 45clsqosqYr86wiVL4cJrG0j2ALKpzQBiLGtcFO2Np4wkGbsvFwFeTIdtnkT3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733156842; a=rsa-sha256; cv=none; b=PJxDfDn/hsQ5R1wNfF0b1OwJwzNI82WWW8626MeuSfIPVdpfzXBJNH2Si0kLpw4K90KIjZ gIVokJiD85HkB7B0zXeofKgxyER5gSvqzP1LrfokpDOqbyMToA2gyMsIAAuNPXVA4S1b0j ueH2hODdxmz+FQO8D9H8CSrDa4UvvdePfjA1FsLUJiEbZZiVtCSKBsXoeoponTKPiAygC4 Up6ndILHD/E53pkEhOtt9daFIrnvEkfMK0klrdm/m3JKX1ZUwV+G+WLEMXNvElp5alK1N/ YxPz+ms490SIWMI6j8MhM2ISeK5q9Xpfju0rBivP5EbvMDF7dDRdrjYy5TfZRw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y28MG32JSzlN0; Mon, 2 Dec 2024 16:27:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B2GRMh2070786; Mon, 2 Dec 2024 16:27:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2GRMZJ070783; Mon, 2 Dec 2024 16:27:22 GMT (envelope-from git) Date: Mon, 2 Dec 2024 16:27:22 GMT Message-Id: <202412021627.4B2GRMZJ070783@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: b88225120412 - main - sound: Remove unused code from pcm/g711.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b882251204128388eb2f8e4f74e83ff1ca7863c4 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=b882251204128388eb2f8e4f74e83ff1ca7863c4 commit b882251204128388eb2f8e4f74e83ff1ca7863c4 Author: Christos Margiolis AuthorDate: 2024-12-02 16:26:32 +0000 Commit: Christos Margiolis CommitDate: 2024-12-02 16:26:32 +0000 sound: Remove unused code from pcm/g711.h These routines are already implemented in pcm/intpcm.h. No functional change intended. Sponsored by: The FreeBSD Foundation MFC after: 2 days Reviewed by: dev_submerge.ch, markj Differential Revision: https://reviews.freebsd.org/D47734 --- sys/dev/sound/pcm/g711.h | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/sys/dev/sound/pcm/g711.h b/sys/dev/sound/pcm/g711.h index fe9ddb651c8b..b7a57dd17a6b 100644 --- a/sys/dev/sound/pcm/g711.h +++ b/sys/dev/sound/pcm/g711.h @@ -187,37 +187,4 @@ static const struct { \ U8_TO_ULAW, U8_TO_ALAW \ } -#define G711_DECLARE_OP(t) \ -static __inline intpcm_t \ -pcm_read_ulaw(uint8_t v) \ -{ \ - \ - return (_G711_TO_INTPCM((t).ulaw_to_u8, v)); \ -} \ - \ -static __inline intpcm_t \ -pcm_read_alaw(uint8_t v) \ -{ \ - \ - return (_G711_TO_INTPCM((t).alaw_to_u8, v)); \ -} \ - \ -static __inline void \ -pcm_write_ulaw(uint8_t *dst, intpcm_t v) \ -{ \ - \ - *dst = _INTPCM_TO_G711((t).u8_to_ulaw, v); \ -} \ - \ -static __inline void \ -pcm_write_alaw(uint8_t *dst, intpcm_t v) \ -{ \ - \ - *dst = _INTPCM_TO_G711((t).u8_to_alaw, v); \ -} - -#define G711_DECLARE(t) \ - G711_DECLARE_TABLE(t); \ - G711_DECLARE_OP(t) - #endif /* !_SND_G711_H_ */ From nobody Mon Dec 2 16:27:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y28MH69vJz5g57S; Mon, 02 Dec 2024 16:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y28MH44dSz4TJ3; Mon, 2 Dec 2024 16:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5W26RDxotGSKY6WACUXlBVoweyZLKH4EkdFx/vJGyj8=; b=dZPQrFvV/Bz7K3XNtX1x9oVqARKeK122zeSiV4jtWTsL9klO9b4mvum4MbRvApT2sI3m1A ixYnYboK5AxNAgfP+9DqKhK9VpjA3KxP1Tp41wDXAJBZvpeqtMzCLLmXFRkYfD+N6JzUvQ EDaOMLPLvHo6//XgJ0rndde8reoSJAJMdU3ZUrf/UwOCFXBDCeYSXnZ0xQuhRKLuE2R0/f ZrUuRCl9Nehgi0Jyi8cCXmMu1LHaLSVer1PQ4hL0R/ZpyZ6p/Ge5bvQOpO3SnM7do+Xd4h WLZWMiaF31bCJbmCWjIRr5Ye1gv3jlfeLBtwMeK4HJQbOYtTyMIDQu7UVuQ/Yw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5W26RDxotGSKY6WACUXlBVoweyZLKH4EkdFx/vJGyj8=; b=Hq7HAgkG2FwCxGQdrfViyV+OZKh2uRCzmsi4lUrHeQhUXStK9dAl7/M0mtL78hNzZ/9pPq XC5LIwVhIn4eorA0d/qe+zE6mKYxHwqeCptnS7c4Wy/EwXQZwFp0u5VrWgk4TxXkv5QqRj VSI9mA34YblkgooxkyqW9ZBSEk85dNpvQ9pXs63d4R/PltWRyaFIAnPSdlGJIROtZgr8yc j91hH+amtCTBw9Tk9ydqrvhQzOTMaMelt4z6rRoKrZWQD0q9J0LFoQW67Ulv1S7vqRAWKF mZKyyKxugBtry72+ToJOmqab/7TU/GIEOrO29Hwhb/Uh2DK5Z5UHqhFOj/hcbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733156843; a=rsa-sha256; cv=none; b=FMJ9SQ+q/lIn0BrjKt5G+oe2/ryYh+RT9I8lY/3n47qsEp8vnDKe/Q/I4BJM7bgJbiH5xh MQCSNbnd8eMQ8p6Dgt87c47IWh1rHkMR0LIJRhSRCWJnCltjXDPCtdYZVxpx3y7i78+zAs a0/upTR+iMqBow5XLmn4UtlmaLjoD5Z4h+BMgLfA+06sc4p/XQLh7btS+ZVUVR3uvDAPlD dIu/wjSFYTrasBWoZqSLeMJ0af6TSe8pQ4kbKC4yULiIriT5yyIfIHFcV/C7W7CTZMXaOl TqLZ20ZYnEJcqoUAWjXdDlbeFgqV2mqaE0o2Ejt/djMfb8WvTkPik3AQlug4Gw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y28MH3gl5zlrY; Mon, 2 Dec 2024 16:27:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B2GRNjU070828; Mon, 2 Dec 2024 16:27:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2GRNiM070825; Mon, 2 Dec 2024 16:27:23 GMT (envelope-from git) Date: Mon, 2 Dec 2024 16:27:23 GMT Message-Id: <202412021627.4B2GRNiM070825@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 88eaa1504d12 - main - sound: Dissolve pcm/intpcm.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 88eaa1504d12c82a36d83c16e9fd6c41175d2e0a Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=88eaa1504d12c82a36d83c16e9fd6c41175d2e0a commit 88eaa1504d12c82a36d83c16e9fd6c41175d2e0a Author: Christos Margiolis AuthorDate: 2024-12-02 16:26:38 +0000 Commit: Christos Margiolis CommitDate: 2024-12-02 16:26:38 +0000 sound: Dissolve pcm/intpcm.h Part of a series of patches to cleanup/simplify pcm/. Sponsored by: The FreeBSD Foundation MFC after: 2 days Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D47736 --- sys/dev/sound/pcm/feeder.h | 7 ++ sys/dev/sound/pcm/feeder_format.c | 106 ++++++++++++++++++++++++++++-- sys/dev/sound/pcm/g711.h | 11 ---- sys/dev/sound/pcm/intpcm.h | 135 -------------------------------------- sys/dev/sound/pcm/sound.h | 1 + 5 files changed, 109 insertions(+), 151 deletions(-) diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h index 60b8280e59ef..bd0d9dcb8f9c 100644 --- a/sys/dev/sound/pcm/feeder.h +++ b/sys/dev/sound/pcm/feeder.h @@ -161,6 +161,13 @@ int feeder_matrix_setup(struct pcm_feeder *, struct pcmchan_matrix *, struct pcmchan_matrix *); int feeder_matrix_compare(struct pcmchan_matrix *, struct pcmchan_matrix *); +/* feeder_format */ +typedef intpcm_t intpcm_read_t(uint8_t *); +typedef void intpcm_write_t(uint8_t *, intpcm_t); + +intpcm_read_t *feeder_format_read_op(uint32_t); +intpcm_write_t *feeder_format_write_op(uint32_t); + /* 4Front OSS stuffs */ int feeder_matrix_oss_get_channel_order(struct pcmchan_matrix *, unsigned long long *); diff --git a/sys/dev/sound/pcm/feeder_format.c b/sys/dev/sound/pcm/feeder_format.c index 3bdd808df0ee..53c7d3768a32 100644 --- a/sys/dev/sound/pcm/feeder_format.c +++ b/sys/dev/sound/pcm/feeder_format.c @@ -36,9 +36,7 @@ #include "opt_snd.h" #endif #include -#include #include -#include #include "feeder_if.h" #define SND_USE_FXDIV @@ -47,8 +45,6 @@ #define FEEDFORMAT_RESERVOIR (SND_CHN_MAX * PCM_32_BPS) -INTPCM_DECLARE(intpcm_conv_tables) - struct feed_format_info { uint32_t ibps, obps; uint32_t ialign, oalign, channels; @@ -57,6 +53,107 @@ struct feed_format_info { uint8_t reservoir[FEEDFORMAT_RESERVOIR]; }; +#define INTPCM_DECLARE_OP_WRITE(SIGN, BIT, ENDIAN, SHIFT) \ +static __inline void \ +intpcm_write_##SIGN##BIT##ENDIAN(uint8_t *dst, intpcm_t v) \ +{ \ + \ + _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, v >> SHIFT); \ +} + +#define INTPCM_DECLARE_OP_8(SIGN, ENDIAN) \ +static __inline intpcm_t \ +intpcm_read_##SIGN##8##ENDIAN(uint8_t *src) \ +{ \ + \ + return (_PCM_READ_##SIGN##8##_##ENDIAN(src) << 24); \ +} \ +INTPCM_DECLARE_OP_WRITE(SIGN, 8, ENDIAN, 24) + +#define INTPCM_DECLARE_OP_16(SIGN, ENDIAN) \ +static __inline intpcm_t \ +intpcm_read_##SIGN##16##ENDIAN(uint8_t *src) \ +{ \ + \ + return (_PCM_READ_##SIGN##16##_##ENDIAN(src) << 16); \ +} \ +INTPCM_DECLARE_OP_WRITE(SIGN, 16, ENDIAN, 16) + +#define INTPCM_DECLARE_OP_24(SIGN, ENDIAN) \ +static __inline intpcm_t \ +intpcm_read_##SIGN##24##ENDIAN(uint8_t *src) \ +{ \ + \ + return (_PCM_READ_##SIGN##24##_##ENDIAN(src) << 8); \ +} \ +INTPCM_DECLARE_OP_WRITE(SIGN, 24, ENDIAN, 8) + +#define INTPCM_DECLARE_OP_32(SIGN, ENDIAN) \ +static __inline intpcm_t \ +intpcm_read_##SIGN##32##ENDIAN(uint8_t *src) \ +{ \ + \ + return (_PCM_READ_##SIGN##32##_##ENDIAN(src)); \ +} \ + \ +static __inline void \ +intpcm_write_##SIGN##32##ENDIAN(uint8_t *dst, intpcm_t v) \ +{ \ + \ + _PCM_WRITE_##SIGN##32##_##ENDIAN(dst, v); \ +} + +INTPCM_DECLARE_OP_8(S, NE) +INTPCM_DECLARE_OP_16(S, LE) +INTPCM_DECLARE_OP_16(S, BE) +INTPCM_DECLARE_OP_24(S, LE) +INTPCM_DECLARE_OP_24(S, BE) +INTPCM_DECLARE_OP_32(S, LE) +INTPCM_DECLARE_OP_32(S, BE) +INTPCM_DECLARE_OP_8(U, NE) +INTPCM_DECLARE_OP_16(U, LE) +INTPCM_DECLARE_OP_16(U, BE) +INTPCM_DECLARE_OP_24(U, LE) +INTPCM_DECLARE_OP_24(U, BE) +INTPCM_DECLARE_OP_32(U, LE) +INTPCM_DECLARE_OP_32(U, BE) + +static const struct { + const uint8_t ulaw_to_u8[G711_TABLE_SIZE]; + const uint8_t alaw_to_u8[G711_TABLE_SIZE]; + const uint8_t u8_to_ulaw[G711_TABLE_SIZE]; + const uint8_t u8_to_alaw[G711_TABLE_SIZE]; +} xlaw_conv_tables = { + ULAW_TO_U8, + ALAW_TO_U8, + U8_TO_ULAW, + U8_TO_ALAW +}; + +static __inline intpcm_t +intpcm_read_ulaw(uint8_t *src) +{ + return (_G711_TO_INTPCM(xlaw_conv_tables.ulaw_to_u8, *src) << 24); +} + +static __inline intpcm_t +intpcm_read_alaw(uint8_t *src) +{ + return (_G711_TO_INTPCM(xlaw_conv_tables.alaw_to_u8, *src) << 24); +} + +static __inline void +intpcm_write_ulaw(uint8_t *dst, intpcm_t v) +{ + *dst = _INTPCM_TO_G711(xlaw_conv_tables.u8_to_ulaw, v >> 24); +} + +static __inline void +intpcm_write_alaw(uint8_t *dst, intpcm_t v) +{ + *dst = _INTPCM_TO_G711(xlaw_conv_tables.u8_to_alaw, v >> 24); +} + /* * dummy ac3/dts passthrough, etc. * XXX assume as s16le. @@ -269,7 +366,6 @@ static kobj_method_t feeder_format_methods[] = { FEEDER_DECLARE(feeder_format, NULL); -/* Extern */ intpcm_read_t * feeder_format_read_op(uint32_t format) { diff --git a/sys/dev/sound/pcm/g711.h b/sys/dev/sound/pcm/g711.h index b7a57dd17a6b..481ef368e144 100644 --- a/sys/dev/sound/pcm/g711.h +++ b/sys/dev/sound/pcm/g711.h @@ -176,15 +176,4 @@ #define _INTPCM_TO_G711(t, v) ((t)[(uint8_t)((v) ^ 0x80)]) -#define G711_DECLARE_TABLE(t) \ -static const struct { \ - const uint8_t ulaw_to_u8[G711_TABLE_SIZE]; \ - const uint8_t alaw_to_u8[G711_TABLE_SIZE]; \ - const uint8_t u8_to_ulaw[G711_TABLE_SIZE]; \ - const uint8_t u8_to_alaw[G711_TABLE_SIZE]; \ -} t = { \ - ULAW_TO_U8, ALAW_TO_U8, \ - U8_TO_ULAW, U8_TO_ALAW \ -} - #endif /* !_SND_G711_H_ */ diff --git a/sys/dev/sound/pcm/intpcm.h b/sys/dev/sound/pcm/intpcm.h deleted file mode 100644 index 1e85535feec1..000000000000 --- a/sys/dev/sound/pcm/intpcm.h +++ /dev/null @@ -1,135 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2008-2009 Ariff Abdullah - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 _SND_INTPCM_H_ -#define _SND_INTPCM_H_ - -typedef intpcm_t intpcm_read_t(uint8_t *); -typedef void intpcm_write_t(uint8_t *, intpcm_t); - -extern intpcm_read_t *feeder_format_read_op(uint32_t); -extern intpcm_write_t *feeder_format_write_op(uint32_t); - -#define INTPCM_DECLARE_OP_WRITE(SIGN, BIT, ENDIAN, SHIFT) \ -static __inline void \ -intpcm_write_##SIGN##BIT##ENDIAN(uint8_t *dst, intpcm_t v) \ -{ \ - \ - _PCM_WRITE_##SIGN##BIT##_##ENDIAN(dst, v >> SHIFT); \ -} - -#define INTPCM_DECLARE_OP_8(SIGN, ENDIAN) \ -static __inline intpcm_t \ -intpcm_read_##SIGN##8##ENDIAN(uint8_t *src) \ -{ \ - \ - return (_PCM_READ_##SIGN##8##_##ENDIAN(src) << 24); \ -} \ -INTPCM_DECLARE_OP_WRITE(SIGN, 8, ENDIAN, 24) - -#define INTPCM_DECLARE_OP_16(SIGN, ENDIAN) \ -static __inline intpcm_t \ -intpcm_read_##SIGN##16##ENDIAN(uint8_t *src) \ -{ \ - \ - return (_PCM_READ_##SIGN##16##_##ENDIAN(src) << 16); \ -} \ -INTPCM_DECLARE_OP_WRITE(SIGN, 16, ENDIAN, 16) - -#define INTPCM_DECLARE_OP_24(SIGN, ENDIAN) \ -static __inline intpcm_t \ -intpcm_read_##SIGN##24##ENDIAN(uint8_t *src) \ -{ \ - \ - return (_PCM_READ_##SIGN##24##_##ENDIAN(src) << 8); \ -} \ -INTPCM_DECLARE_OP_WRITE(SIGN, 24, ENDIAN, 8) - -#define INTPCM_DECLARE_OP_32(SIGN, ENDIAN) \ -static __inline intpcm_t \ -intpcm_read_##SIGN##32##ENDIAN(uint8_t *src) \ -{ \ - \ - return (_PCM_READ_##SIGN##32##_##ENDIAN(src)); \ -} \ - \ -static __inline void \ -intpcm_write_##SIGN##32##ENDIAN(uint8_t *dst, intpcm_t v) \ -{ \ - \ - _PCM_WRITE_##SIGN##32##_##ENDIAN(dst, v); \ -} - -#define INTPCM_DECLARE(t) \ - \ -G711_DECLARE_TABLE(t); \ - \ -static __inline intpcm_t \ -intpcm_read_ulaw(uint8_t *src) \ -{ \ - \ - return (_G711_TO_INTPCM((t).ulaw_to_u8, *src) << 24); \ -} \ - \ -static __inline intpcm_t \ -intpcm_read_alaw(uint8_t *src) \ -{ \ - \ - return (_G711_TO_INTPCM((t).alaw_to_u8, *src) << 24); \ -} \ - \ -static __inline void \ -intpcm_write_ulaw(uint8_t *dst, intpcm_t v) \ -{ \ - \ - *dst = _INTPCM_TO_G711((t).u8_to_ulaw, v >> 24); \ -} \ - \ -static __inline void \ -intpcm_write_alaw(uint8_t *dst, intpcm_t v) \ -{ \ - \ - *dst = _INTPCM_TO_G711((t).u8_to_alaw, v >> 24); \ -} \ - \ -INTPCM_DECLARE_OP_8(S, NE) \ -INTPCM_DECLARE_OP_16(S, LE) \ -INTPCM_DECLARE_OP_16(S, BE) \ -INTPCM_DECLARE_OP_24(S, LE) \ -INTPCM_DECLARE_OP_24(S, BE) \ -INTPCM_DECLARE_OP_32(S, LE) \ -INTPCM_DECLARE_OP_32(S, BE) \ -INTPCM_DECLARE_OP_8(U, NE) \ -INTPCM_DECLARE_OP_16(U, LE) \ -INTPCM_DECLARE_OP_16(U, BE) \ -INTPCM_DECLARE_OP_24(U, LE) \ -INTPCM_DECLARE_OP_24(U, BE) \ -INTPCM_DECLARE_OP_32(U, LE) \ -INTPCM_DECLARE_OP_32(U, BE) - -#endif /* !_SND_INTPCM_H_ */ diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index f1d435369d36..ff2b618adff8 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -85,6 +85,7 @@ struct snd_mixer; #include #include #include +#include #include #include #include From nobody Mon Dec 2 16:27:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y28MK2TxKz5g4vR; Mon, 02 Dec 2024 16:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y28MJ4ly0z4Tgc; Mon, 2 Dec 2024 16:27:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z/Fs1M28xJ9Ebje168k7+izJj8oXOaDodRng340a0+I=; b=jTvsRy3eSUW7qKMNyGUgfl9TzkSEUZ8VtLga5vVjD04HLGg2mi9c+t2V7JH7YoN2qvB5vb q3bSM4+6tr4aZHtWlB6kWAzkNpyEFFnAA2nvsH+TvK8eIfZOlYMCikoNdA4qCwGheRA3Wh BZDVTNo6E7t6CR50vGbPlSBGwxD0uw2SjN2p5BwJnokPfxxrcTm21RVTODUZrJnmnfvf7G +3kU4yDEvc9H/W976HW9KGF9lkge1YyHz63meo6k2uy3+HPkDittFulysB3/oa3V0moYR9 fHv6RABOdcZgcFwVyNSGsQO9pwA9v22rA3l/6NmEaFapu2Qza4PR7JzgJOqh7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156844; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z/Fs1M28xJ9Ebje168k7+izJj8oXOaDodRng340a0+I=; b=gK09iYArbUwqps7+sVKH+RVA2XMUqiVDWOiqd6CuaxohMW3L5cSWZiGwlLZJfEsaBAxzoz spZZ/VlvhnAedRp7SHkBHlgS/0qj5nw7SqYjsoKwksYWZcl4sP1+ev5H7J+WOdEqf0/HEf nmVVV8fpZ74tcUeG4XuufNuZ/MUvb9QZK2KzzAVsyDEsBmVr+3mba0fDHPjtttt2al2/wF ymqzK6xyi2eNWlRS8EyoeVe11J3QRFD1Mg554LUxFJVUIxM3Ygob7GcLz996cKYkzc8XBA 7+nYVIv4IfXWbCX7UjndJ9vvUHjIimGdWxpwDK0S/XeGEM5lUoPVSYaBj3x/pQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733156844; a=rsa-sha256; cv=none; b=ecEhmb7E02Z9lyt2pgVrET+ccKmSomWeXOLQtuyyV1KaRW2m6VSCWnhs55aPABfhQFfTcr F5fc1wZ2R2NULDNi53DsqsQJi72B7H1+mIcM191iAwEafJ9a4Xohbmcn8muvlpcClCrc2q 7Hwe4QMnqjNMra6VvYhjnWxyDpp5nGfeex8/eJRof30tOj9Ll2FPcB5QbHg5u/DezEf546 uMg1mEtkSSk9BkjGqKDQIoC4ttdYSWngKbLxswSp91VTacWnpu5XfBdq2JQje2krQj22JP RL5bCynKZLiJdgGl3NEXNbr0QajL8bG2Yxlc7+qQAmA5kZn85ZiMfCxTVAvEEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y28MJ41zXzllN; Mon, 2 Dec 2024 16:27:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B2GROIp070870; Mon, 2 Dec 2024 16:27:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2GROM4070867; Mon, 2 Dec 2024 16:27:24 GMT (envelope-from git) Date: Mon, 2 Dec 2024 16:27:24 GMT Message-Id: <202412021627.4B2GROM4070867@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 5a217a8d7d2a - main - sound: Merge pcm/matrix_map.h with pcm/matrix.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a217a8d7d2a0dc19eb5d7bb1bd0f21116fbcf69 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=5a217a8d7d2a0dc19eb5d7bb1bd0f21116fbcf69 commit 5a217a8d7d2a0dc19eb5d7bb1bd0f21116fbcf69 Author: Christos Margiolis AuthorDate: 2024-12-02 16:26:43 +0000 Commit: Christos Margiolis CommitDate: 2024-12-02 16:26:43 +0000 sound: Merge pcm/matrix_map.h with pcm/matrix.h No functional change intended. Sponsored by: The FreeBSD Foundation MFC after: 2 days Reviewed by: dev_submerge.ch, markj Differential Revision: https://reviews.freebsd.org/D47737 --- sys/dev/sound/pcm/matrix.h | 640 +++++++++++++++++++++++++++++++++++++++ sys/dev/sound/pcm/matrix_map.h | 672 ----------------------------------------- sys/dev/sound/pcm/sound.h | 1 - 3 files changed, 640 insertions(+), 673 deletions(-) diff --git a/sys/dev/sound/pcm/matrix.h b/sys/dev/sound/pcm/matrix.h index 14f3a3410a70..e2798c651536 100644 --- a/sys/dev/sound/pcm/matrix.h +++ b/sys/dev/sound/pcm/matrix.h @@ -217,4 +217,644 @@ (x)[SND_VOL_C_MASTER][z]) / \ (x)[SND_VOL_C_MASTER][SND_CHN_T_VOL_0DB]) \ +/* + * Standard matrix maps: + * + * struct pcmchan_matrix { + * .id = Matrix identity (see matrix.h). Custom defined should use + * one of SND_CHN_MATRIX_MISC (for whatever purposes) or + * SND_CHN_MATRIX_DRV (hardware driver). + * .channels = Total number of channels, including whatever 'extended' + * (the X.ext notions, mostly LFE). + * .ext = Total number of extended channels (LFE). + * .map = { + * Sequences of channel type and interleave structure. + * [interleave offset] = { + * .type = channel type (see matrix.h). + * .members = Masks of channels that is acceptable as a + * member of this channel type. + * }, + * [total channels] = { + * .type = Maximum channels marker (SND_CHN_T_MAX). + * .members = 0 (no channels allowed here). + * }, + * }, + * .mask = Mask of channels that exist in this map. + * .offset = { + * channel offset that directly translate to the above interleave + * offset according to SND_CHN_T_* definitions. + * } + * }; + * + * Rule of thumb: Avoid using SND_CHN_T_* that is marked with XXX (matrix.h), + * or be prepared for the horror to come. + * + */ + +#define SND_CHN_MATRIX_MAP_1_0 { \ + .id = SND_CHN_MATRIX_1_0, \ + .channels = 1, \ + .ext = 0, \ + .map = { \ + /* Mono, center, etc. */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_FC | SND_CHN_T_MASK_LF | \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SL | \ + SND_CHN_T_MASK_SR \ + }, \ + [1] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_FC, \ + .offset = { 0, 0, 0, 0, 0, 0, -1, -1, 0, \ + 0, 0, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_2_0 { \ + .id = SND_CHN_MATRIX_2_0, \ + .channels = 2, \ + .ext = 0, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BL | \ + SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SL \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = \ + SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SR \ + }, \ + [2] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR, \ + .offset = { 0, 1, -1, -1, -1, -1, -1, -1, -1, \ + -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_2_1 { \ + .id = SND_CHN_MATRIX_2_1, \ + .channels = 3, \ + .ext = 1, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BC | \ + SND_CHN_T_MASK_SL \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = \ + SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_BR | SND_CHN_T_MASK_BC | \ + SND_CHN_T_MASK_SR \ + }, \ + /* LFE */ \ + [2] = { \ + .type = SND_CHN_T_LF, \ + .members = SND_CHN_T_MASK_LF \ + }, \ + [3] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_LF, \ + .offset = { 0, 1, -1, 2, -1, -1, -1, -1, -1, \ + -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_3_0 { /* 3 channels default */ \ + .id = SND_CHN_MATRIX_3_0, \ + .channels = 3, \ + .ext = 0, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_SL \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = \ + SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_SR \ + }, \ + /* Rear Center */ \ + [2] = { \ + .type = SND_CHN_T_BC, \ + .members = \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BL | \ + SND_CHN_T_MASK_BR | SND_CHN_T_MASK_BC | \ + SND_CHN_T_MASK_SL | SND_CHN_T_MASK_SR \ + }, \ + [3] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_BC, \ + .offset = { 0, 1, -1, -1, -1, -1, -1, -1, 2, \ + -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_3_1 { \ + .id = SND_CHN_MATRIX_3_1, \ + .channels = 4, \ + .ext = 1, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_SL \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = \ + SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_SR \ + }, \ + /* LFE */ \ + [2] = { \ + .type = SND_CHN_T_LF, \ + .members = SND_CHN_T_MASK_LF \ + }, \ + /* Rear Center */ \ + [3] = { \ + .type = SND_CHN_T_BC, \ + .members = \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_BC | \ + SND_CHN_T_MASK_SL | SND_CHN_T_MASK_SR \ + }, \ + [4] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BC, \ + .offset = { 0, 1, -1, 2, -1, -1, -1, -1, 3, \ + -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_4_0 { \ + .id = SND_CHN_MATRIX_4_0, \ + .channels = 4, \ + .ext = 0, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_SL \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = \ + SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_SR \ + }, \ + /* Rear Left */ \ + [2] = { \ + .type = SND_CHN_T_BL, \ + .members = \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BL | \ + SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SL \ + }, \ + /* Rear Right */ \ + [3] = { \ + .type = SND_CHN_T_BR, \ + .members = \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SR \ + }, \ + [4] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR, \ + .offset = { 0, 1, -1, -1, 2, 3, -1, -1, -1, \ + -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_4_1 { \ + .id = SND_CHN_MATRIX_4_1, \ + .channels = 5, \ + .ext = 1, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_SL \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = \ + SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_SR \ + }, \ + /* Rear Left */ \ + [2] = { \ + .type = SND_CHN_T_BL, \ + .members = \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BC | \ + SND_CHN_T_MASK_SL \ + }, \ + /* Rear Right */ \ + [3] = { \ + .type = SND_CHN_T_BR, \ + .members = \ + SND_CHN_T_MASK_BR | SND_CHN_T_MASK_BC | \ + SND_CHN_T_MASK_SR \ + }, \ + /* LFE */ \ + [4] = { \ + .type = SND_CHN_T_LF, \ + .members = SND_CHN_T_MASK_LF \ + }, \ + [5] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_LF, \ + .offset = { 0, 1, -1, 4, 2, 3, -1, -1, -1, \ + -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_5_0 { /* 5 channels default */ \ + .id = SND_CHN_MATRIX_5_0, \ + .channels = 5, \ + .ext = 0, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_LF | \ + SND_CHN_T_MASK_SL \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = \ + SND_CHN_T_MASK_FR | SND_CHN_T_MASK_LF | \ + SND_CHN_T_MASK_SR \ + }, \ + /* Rear Left */ \ + [2] = { \ + .type = SND_CHN_T_BL, \ + .members = \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BL | \ + SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SL \ + }, \ + /* Rear Right */ \ + [3] = { \ + .type = SND_CHN_T_BR, \ + .members = \ + SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SR \ + }, \ + /* Center */ \ + [4] = { \ + .type = SND_CHN_T_FC, \ + .members = SND_CHN_T_MASK_FC \ + }, \ + [5] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_FC, \ + .offset = { 0, 1, 4, -1, 2, 3, -1, -1, -1, \ + -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_5_1 { /* 6 channels default */ \ + .id = SND_CHN_MATRIX_5_1, \ + .channels = 6, \ + .ext = 1, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_SL \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = \ + SND_CHN_T_MASK_FR | SND_CHN_T_MASK_SR \ + }, \ + /* Rear Left */ \ + [2] = { \ + .type = SND_CHN_T_BL, \ + .members = \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BC | \ + SND_CHN_T_MASK_SL \ + }, \ + /* Rear Right */ \ + [3] = { \ + .type = SND_CHN_T_BR, \ + .members = \ + SND_CHN_T_MASK_BR | SND_CHN_T_MASK_BC | \ + SND_CHN_T_MASK_SR \ + }, \ + /* Center */ \ + [4] = { \ + .type = SND_CHN_T_FC, \ + .members = SND_CHN_T_MASK_FC \ + }, \ + /* LFE */ \ + [5] = { \ + .type = SND_CHN_T_LF, \ + .members = SND_CHN_T_MASK_LF \ + }, \ + [6] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_FC | SND_CHN_T_MASK_LF, \ + .offset = { 0, 1, 4, 5, 2, 3, -1, -1, -1, \ + -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_6_0 { \ + .id = SND_CHN_MATRIX_6_0, \ + .channels = 6, \ + .ext = 0, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_LF | \ + SND_CHN_T_MASK_SL \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = \ + SND_CHN_T_MASK_FR | SND_CHN_T_MASK_LF | \ + SND_CHN_T_MASK_SR \ + }, \ + /* Rear Left */ \ + [2] = { \ + .type = SND_CHN_T_BL, \ + .members = \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_LF | \ + SND_CHN_T_MASK_SL \ + }, \ + /* Rear Right */ \ + [3] = { \ + .type = SND_CHN_T_BR, \ + .members = \ + SND_CHN_T_MASK_BR | SND_CHN_T_MASK_LF | \ + SND_CHN_T_MASK_SR \ + }, \ + /* Center */ \ + [4] = { \ + .type = SND_CHN_T_FC, \ + .members = SND_CHN_T_MASK_FC \ + }, \ + /* Rear Center */ \ + [5] = { \ + .type = SND_CHN_T_BC, \ + .members = SND_CHN_T_MASK_BC \ + }, \ + [6] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_FC | SND_CHN_T_MASK_BC, \ + .offset = { 0, 1, 4, -1, 2, 3, -1, -1, 5, \ + -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_6_1 { \ + .id = SND_CHN_MATRIX_6_1, \ + .channels = 7, \ + .ext = 1, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_SL \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = \ + SND_CHN_T_MASK_FR | SND_CHN_T_MASK_SR \ + }, \ + /* Rear Left */ \ + [2] = { \ + .type = SND_CHN_T_BL, \ + .members = \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_SL \ + }, \ + /* Rear Right */ \ + [3] = { \ + .type = SND_CHN_T_BR, \ + .members = \ + SND_CHN_T_MASK_BR | SND_CHN_T_MASK_SR \ + }, \ + /* Center */ \ + [4] = { \ + .type = SND_CHN_T_FC, \ + .members = SND_CHN_T_MASK_FC \ + }, \ + /* LFE */ \ + [5] = { \ + .type = SND_CHN_T_LF, \ + .members = SND_CHN_T_MASK_LF \ + }, \ + /* Rear Center */ \ + [6] = { \ + .type = SND_CHN_T_BC, \ + .members = SND_CHN_T_MASK_BC \ + }, \ + [7] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_FC | SND_CHN_T_MASK_LF | \ + SND_CHN_T_MASK_BC, \ + .offset = { 0, 1, 4, 5, 2, 3, -1, -1, 6, \ + -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_7_0 { \ + .id = SND_CHN_MATRIX_7_0, \ + .channels = 7, \ + .ext = 0, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = \ + SND_CHN_T_MASK_FL | SND_CHN_T_MASK_LF \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = \ + SND_CHN_T_MASK_FR | SND_CHN_T_MASK_LF \ + }, \ + /* Rear Left */ \ + [2] = { \ + .type = SND_CHN_T_BL, \ + .members = \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BC | \ + SND_CHN_T_MASK_LF \ + }, \ + /* Rear Right */ \ + [3] = { \ + .type = SND_CHN_T_BR, \ + .members = \ + SND_CHN_T_MASK_BR | SND_CHN_T_MASK_BC | \ + SND_CHN_T_MASK_LF \ + }, \ + /* Center */ \ + [4] = { \ + .type = SND_CHN_T_FC, \ + .members = \ + SND_CHN_T_MASK_FC | SND_CHN_T_MASK_LF \ + }, \ + /* Side Left */ \ + [5] = { \ + .type = SND_CHN_T_SL, \ + .members = \ + SND_CHN_T_MASK_SL | SND_CHN_T_MASK_LF \ + }, \ + /* Side Right */ \ + [6] = { \ + .type = SND_CHN_T_SR, \ + .members = \ + SND_CHN_T_MASK_SR | SND_CHN_T_MASK_LF \ + }, \ + [7] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_FC | \ + SND_CHN_T_MASK_SL | SND_CHN_T_MASK_SR, \ + .offset = { 0, 1, 4, -1, 2, 3, -1, -1, -1, \ + 5, 6, -1, -1, -1, -1, -1, -1, -1 } \ +} + +#define SND_CHN_MATRIX_MAP_7_1 { \ + .id = SND_CHN_MATRIX_7_1, \ + .channels = 8, \ + .ext = 1, \ + .map = { \ + /* Left */ \ + [0] = { \ + .type = SND_CHN_T_FL, \ + .members = SND_CHN_T_MASK_FL \ + }, \ + /* Right */ \ + [1] = { \ + .type = SND_CHN_T_FR, \ + .members = SND_CHN_T_MASK_FR \ + }, \ + /* Rear Left */ \ + [2] = { \ + .type = SND_CHN_T_BL, \ + .members = \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BC \ + }, \ + /* Rear Right */ \ + [3] = { \ + .type = SND_CHN_T_BR, \ + .members = \ + SND_CHN_T_MASK_BR | SND_CHN_T_MASK_BC \ + }, \ + /* Center */ \ + [4] = { \ + .type = SND_CHN_T_FC, \ + .members = SND_CHN_T_MASK_FC \ + }, \ + /* LFE */ \ + [5] = { \ + .type = SND_CHN_T_LF, \ + .members = SND_CHN_T_MASK_LF \ + }, \ + /* Side Left */ \ + [6] = { \ + .type = SND_CHN_T_SL, \ + .members = SND_CHN_T_MASK_SL \ + }, \ + /* Side Right */ \ + [7] = { \ + .type = SND_CHN_T_SR, \ + .members = SND_CHN_T_MASK_SR \ + }, \ + [8] = { \ + .type = SND_CHN_T_MAX, \ + .members = 0 \ + } \ + }, \ + .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ + SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR | \ + SND_CHN_T_MASK_FC | SND_CHN_T_MASK_LF | \ + SND_CHN_T_MASK_SL | SND_CHN_T_MASK_SR, \ + .offset = { 0, 1, 4, 5, 2, 3, -1, -1, -1, \ + 6, 7, -1, -1, -1, -1, -1, -1, -1 } \ +} + #endif /* !_SND_MATRIX_H_ */ diff --git a/sys/dev/sound/pcm/matrix_map.h b/sys/dev/sound/pcm/matrix_map.h deleted file mode 100644 index ec0619614273..000000000000 --- a/sys/dev/sound/pcm/matrix_map.h +++ /dev/null @@ -1,672 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2009 Ariff Abdullah - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 _SND_MATRIX_MAP_H_ -#define _SND_MATRIX_MAP_H_ - -/* - * Standard matrix maps: - * - * struct pcmchan_matrix { - * .id = Matrix identity (see matrix.h). Custom defined should use - * one of SND_CHN_MATRIX_MISC (for whatever purposes) or - * SND_CHN_MATRIX_DRV (hardware driver). - * .channels = Total number of channels, including whatever 'extended' - * (the X.ext notions, mostly LFE). - * .ext = Total number of extended channels (LFE). - * .map = { - * Sequences of channel type and interleave structure. - * [interleave offset] = { - * .type = channel type (see matrix.h). - * .members = Masks of channels that is acceptable as a - * member of this channel type. - * }, - * [total channels] = { - * .type = Maximum channels marker (SND_CHN_T_MAX). - * .members = 0 (no channels allowed here). - * }, - * }, - * .mask = Mask of channels that exist in this map. - * .offset = { - * channel offset that directly translate to the above interleave - * offset according to SND_CHN_T_* definitions. - * } - * }; - * - * Rule of thumb: Avoid using SND_CHN_T_* that is marked with XXX (matrix.h), - * or be prepared for the horror to come. - * - */ - -#define SND_CHN_MATRIX_MAP_1_0 { \ - .id = SND_CHN_MATRIX_1_0, \ - .channels = 1, \ - .ext = 0, \ - .map = { \ - /* Mono, center, etc. */ \ - [0] = { \ - .type = SND_CHN_T_FL, \ - .members = \ - SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ - SND_CHN_T_MASK_FC | SND_CHN_T_MASK_LF | \ - SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR | \ - SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SL | \ - SND_CHN_T_MASK_SR \ - }, \ - [1] = { \ - .type = SND_CHN_T_MAX, \ - .members = 0 \ - } \ - }, \ - .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ - SND_CHN_T_MASK_FC, \ - .offset = { 0, 0, 0, 0, 0, 0, -1, -1, 0, \ - 0, 0, -1, -1, -1, -1, -1, -1, -1 } \ -} - -#define SND_CHN_MATRIX_MAP_2_0 { \ - .id = SND_CHN_MATRIX_2_0, \ - .channels = 2, \ - .ext = 0, \ - .map = { \ - /* Left */ \ - [0] = { \ - .type = SND_CHN_T_FL, \ - .members = \ - SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BL | \ - SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SL \ - }, \ - /* Right */ \ - [1] = { \ - .type = SND_CHN_T_FR, \ - .members = \ - SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BR | \ - SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SR \ - }, \ - [2] = { \ - .type = SND_CHN_T_MAX, \ - .members = 0 \ - } \ - }, \ - .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR, \ - .offset = { 0, 1, -1, -1, -1, -1, -1, -1, -1, \ - -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ -} - -#define SND_CHN_MATRIX_MAP_2_1 { \ - .id = SND_CHN_MATRIX_2_1, \ - .channels = 3, \ - .ext = 1, \ - .map = { \ - /* Left */ \ - [0] = { \ - .type = SND_CHN_T_FL, \ - .members = \ - SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BC | \ - SND_CHN_T_MASK_SL \ - }, \ - /* Right */ \ - [1] = { \ - .type = SND_CHN_T_FR, \ - .members = \ - SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_BR | SND_CHN_T_MASK_BC | \ - SND_CHN_T_MASK_SR \ - }, \ - /* LFE */ \ - [2] = { \ - .type = SND_CHN_T_LF, \ - .members = SND_CHN_T_MASK_LF \ - }, \ - [3] = { \ - .type = SND_CHN_T_MAX, \ - .members = 0 \ - } \ - }, \ - .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ - SND_CHN_T_MASK_LF, \ - .offset = { 0, 1, -1, 2, -1, -1, -1, -1, -1, \ - -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ -} - -#define SND_CHN_MATRIX_MAP_3_0 { /* 3 channels default */ \ - .id = SND_CHN_MATRIX_3_0, \ - .channels = 3, \ - .ext = 0, \ - .map = { \ - /* Left */ \ - [0] = { \ - .type = SND_CHN_T_FL, \ - .members = \ - SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_LF | SND_CHN_T_MASK_SL \ - }, \ - /* Right */ \ - [1] = { \ - .type = SND_CHN_T_FR, \ - .members = \ - SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_LF | SND_CHN_T_MASK_SR \ - }, \ - /* Rear Center */ \ - [2] = { \ - .type = SND_CHN_T_BC, \ - .members = \ - SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BL | \ - SND_CHN_T_MASK_BR | SND_CHN_T_MASK_BC | \ - SND_CHN_T_MASK_SL | SND_CHN_T_MASK_SR \ - }, \ - [3] = { \ - .type = SND_CHN_T_MAX, \ - .members = 0 \ - } \ - }, \ - .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ - SND_CHN_T_MASK_BC, \ - .offset = { 0, 1, -1, -1, -1, -1, -1, -1, 2, \ - -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ -} - -#define SND_CHN_MATRIX_MAP_3_1 { \ - .id = SND_CHN_MATRIX_3_1, \ - .channels = 4, \ - .ext = 1, \ - .map = { \ - /* Left */ \ - [0] = { \ - .type = SND_CHN_T_FL, \ - .members = \ - SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_SL \ - }, \ - /* Right */ \ - [1] = { \ - .type = SND_CHN_T_FR, \ - .members = \ - SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_SR \ - }, \ - /* LFE */ \ - [2] = { \ - .type = SND_CHN_T_LF, \ - .members = SND_CHN_T_MASK_LF \ - }, \ - /* Rear Center */ \ - [3] = { \ - .type = SND_CHN_T_BC, \ - .members = \ - SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR | \ - SND_CHN_T_MASK_BC | \ - SND_CHN_T_MASK_SL | SND_CHN_T_MASK_SR \ - }, \ - [4] = { \ - .type = SND_CHN_T_MAX, \ - .members = 0 \ - } \ - }, \ - .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ - SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BC, \ - .offset = { 0, 1, -1, 2, -1, -1, -1, -1, 3, \ - -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ -} - -#define SND_CHN_MATRIX_MAP_4_0 { \ - .id = SND_CHN_MATRIX_4_0, \ - .channels = 4, \ - .ext = 0, \ - .map = { \ - /* Left */ \ - [0] = { \ - .type = SND_CHN_T_FL, \ - .members = \ - SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_LF | SND_CHN_T_MASK_SL \ - }, \ - /* Right */ \ - [1] = { \ - .type = SND_CHN_T_FR, \ - .members = \ - SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_LF | SND_CHN_T_MASK_SR \ - }, \ - /* Rear Left */ \ - [2] = { \ - .type = SND_CHN_T_BL, \ - .members = \ - SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BL | \ - SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SL \ - }, \ - /* Rear Right */ \ - [3] = { \ - .type = SND_CHN_T_BR, \ - .members = \ - SND_CHN_T_MASK_LF | SND_CHN_T_MASK_BR | \ - SND_CHN_T_MASK_BC | SND_CHN_T_MASK_SR \ - }, \ - [4] = { \ - .type = SND_CHN_T_MAX, \ - .members = 0 \ - } \ - }, \ - .mask = SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FR | \ - SND_CHN_T_MASK_BL | SND_CHN_T_MASK_BR, \ - .offset = { 0, 1, -1, -1, 2, 3, -1, -1, -1, \ - -1, -1, -1, -1, -1, -1, -1, -1, -1 } \ -} - -#define SND_CHN_MATRIX_MAP_4_1 { \ - .id = SND_CHN_MATRIX_4_1, \ - .channels = 5, \ - .ext = 1, \ - .map = { \ - /* Left */ \ - [0] = { \ - .type = SND_CHN_T_FL, \ - .members = \ - SND_CHN_T_MASK_FL | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_SL \ - }, \ - /* Right */ \ - [1] = { \ - .type = SND_CHN_T_FR, \ - .members = \ - SND_CHN_T_MASK_FR | SND_CHN_T_MASK_FC | \ - SND_CHN_T_MASK_SR \ - }, \ - /* Rear Left */ \ - [2] = { \ - .type = SND_CHN_T_BL, \ - .members = \ *** 377 LINES SKIPPED *** From nobody Mon Dec 2 16:27:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y28ML0GrCz5g53C; Mon, 02 Dec 2024 16:27:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y28MK5PQyz4TdX; Mon, 2 Dec 2024 16:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iFmTDsq2KixURaqe8fPR7tkSv8EPdfiPEYiTWz1SFAU=; b=SOiyGWBHzaQIq0qGOKmvdZNPyEys1cQxdl+PcaK2fhzF0IrunPK9lb9XpBH/F/UpNv173M wTEA00IJ/MVD7HaDK8nHmGKI6C0yI7Qm8/c7Ck6w9U0msL4rB4wj27n8UwKaMgdaZgWIi2 hSLKHzhtofRIyMY7VT1kYaXCq9YtIEpVhjUpl9bUh8hk2tsNTBguloqsURo6vig2uz7bWX w+HGPT8T0TYBH7HrAhhdREx6RiNfpn9RH9AQFszuGEvBcR7mkPxf7ahQLyXKAueTrU++yK IP6nBAc+pS0hvb/WqoLz1XiAjCYM8XxdVBZsJeMF2JZUV/TZXJoSKBT7MHVtEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156845; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iFmTDsq2KixURaqe8fPR7tkSv8EPdfiPEYiTWz1SFAU=; b=kTXrPdxLRgjT6D5W4PAVX/i0swcT5qF5KO/vcrmcb28tQje9f1iMhS0Kwz19Gq9dzp15G3 FwudaE9/X0CcIx+SC75fS1nEmS8WwKxqvpuhHfnW0TjvqH2tIupEEZ2VENoF9LCePQL5OA 5CzYYKW1skk437rQvdW6NzScXooaDnZ7HHz1U8GWNbgXT5U2CXN8j/kl/M0y0vPPaYfl/Y Mk+wIoBjGj7rbQjkGrsscX9zUbSYR8pdT0cIQ/8igQPLShX2ckVMZCgtoZHXyeCAgDLfgA rWkSXHfNsirqXRK98n6YnGztwrrjTz6xiedwsqekSd16ugDSBpqsB9BQn0QsEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733156845; a=rsa-sha256; cv=none; b=QHGHaz7Vqg53zGOTzliAU9B166Lgw2u0raqlR5Ae6Fkh0hw+ISeW3UAJEmrelb8CAmY1ti OT6I8mFWUWtlWVCm/PiT2WeNfQJjGWKqcFDW212a0uQCVzJR3d8foWjDAGyBYJaY+OT/0A 1GZz3kkrxMVEd+buOwzdY3UFis9z2zpO0ky5wLALPBVuSI40kPvdIe3iN8I84gQefbLl7Q ZGQ90bQSmvSjVEgxGbcDr89iWhkDERM1zFFnyhZpV3k1LUYA3+N+evMhf97edV9wI3hQmb uoMTQ9syOEUJNaKZ/yoycmQMZkwRskpx2FUo4qiiNK+ek4NVR8dbrvT91HgYYA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y28MK51YWzlp0; Mon, 2 Dec 2024 16:27:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B2GRPEb070912; Mon, 2 Dec 2024 16:27:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2GRPU6070909; Mon, 2 Dec 2024 16:27:25 GMT (envelope-from git) Date: Mon, 2 Dec 2024 16:27:25 GMT Message-Id: <202412021627.4B2GRPU6070909@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 29ba0cc4d919 - main - sound: Fix mis-sorted CHN_F_BITS line List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 29ba0cc4d919243436f1bf73a22a554fa5073a44 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=29ba0cc4d919243436f1bf73a22a554fa5073a44 commit 29ba0cc4d919243436f1bf73a22a554fa5073a44 Author: Christos Margiolis AuthorDate: 2024-12-02 16:26:50 +0000 Commit: Christos Margiolis CommitDate: 2024-12-02 16:26:50 +0000 sound: Fix mis-sorted CHN_F_BITS line Fixes: 5317480967bf ("sound: Remove CHN_F_SLEEPING") Reported by: jhb Sponsored by: The FreeBSD Foundation MFC after: 2 days Reviewed by: jhb, emaste Differential Revision: https://reviews.freebsd.org/D47781 --- sys/dev/sound/pcm/channel.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/sound/pcm/channel.h b/sys/dev/sound/pcm/channel.h index cef8aa4e86e5..47089aca0745 100644 --- a/sys/dev/sound/pcm/channel.h +++ b/sys/dev/sound/pcm/channel.h @@ -381,8 +381,8 @@ enum { "\002ABORTING" \ "\003RUNNING" \ "\004TRIGGERED" \ - /* \006 */ \ "\005NOTRIGGER" \ + /* \006 */ \ "\007NBIO" \ "\010MMAP" \ "\011BUSY" \ From nobody Mon Dec 2 16:27:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y28MM1DRzz5g53F; Mon, 02 Dec 2024 16:27:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y28ML6NZgz4Tds; Mon, 2 Dec 2024 16:27:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eYr0q8A3Y8zIpyhc0/mKxsC3GlM1EjPvfsT1fNsKHnA=; b=GF2BsmRxIxLW9VpjNM88f2+vEqATf+bIRnA/LMGr1A99bNVw38zwGw4m9rE3TWbgV2aPNS hy9VOpohEBPIq0BKP2g1dSaLOv39ZW7BKP2YjqVXdZfhVuL9YA/yLHlK+BQJ9rdpWSsBhl 0G8GdSDg70QjVEcZA9H0RzllkveTdMSo0+zz35vwmWq6pftoRQcrlzVEcZZ8fGcpT7yfna 2BS1dI+ez0+O2YMOzBEYmGeA3h6a/mAEEkMEP3MaA8B0DWPCWwXr+m/ofcCWC8bIsWqSpH jc5NE9UnIxvlkh7SNOogepzagwD9kwGjQenufmQqxT/y6IgWofhdEyQfKv4gSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733156846; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eYr0q8A3Y8zIpyhc0/mKxsC3GlM1EjPvfsT1fNsKHnA=; b=fuLo1+l1HP1p566kKLHiSg5I99690L+fvwNTAeIvB8eNCbxNSZZ/SK7EptMTFZT1q1NpNg 2mfQGcDopfH1DfEuMvatMlyaustKBLOr1VtLz5WTn24lu8eYP9DxPBiqz+ebsZFIn912iD JkxMAt7/mmU0VWK9TVjAaVj/QJcbT5iCWFC0LpFUoSJcQ9HpdIidj/tkPr44runX2HO1l7 IKtqFMr3g68F3Ndn/9dwRb4Lpz3HtQeEU5S5q99dOy2FaNveRaWiPojLeIIn04FBlzDCMs pj5TSVNzqGuD++RX+HWfZL/MINp6LLclQsd6b7PC3rO2jd2kR6GspzBwg4GlIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733156846; a=rsa-sha256; cv=none; b=LupKkA4INqFqfd05n+7J28D9+RR09NOqfCEEpLt77eoaz6kcLwp7Pya+qZDL+WGClIcM4G dev5UMrogB8d+7HxSe6/PDCJflIwq+xkr1xPd47pqDn8mUj9uFLch3Fw4lTEPeR3mGpHHu Bs7EgF7DAc9dlTeyfaygp7erVcOrcHEr2djwnYRKxavhEWFwxSFED5QP+2pwI8G6Q61YHE hdSBKNiE9Igk3TuIY825SOGHTLe0kC9YDmpmfUeTewQfDyrBkyI9tRZwxsrKKVtC6Du+JO A5DMLxAuoAGAv5VovN8NSoSWZVjMXzx5Rm6zC6ke0TJHJ+wuKX9o+7Dr1D54RQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y28ML60sdzlR0; Mon, 2 Dec 2024 16:27:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B2GRQHS070954; Mon, 2 Dec 2024 16:27:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2GRQhd070951; Mon, 2 Dec 2024 16:27:26 GMT (envelope-from git) Date: Mon, 2 Dec 2024 16:27:26 GMT Message-Id: <202412021627.4B2GRQhd070951@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: 46a97b9cd6fd - main - sound: Do not access cv_waiters List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 46a97b9cd6fd4415270afe4070082ae69ee21035 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=46a97b9cd6fd4415270afe4070082ae69ee21035 commit 46a97b9cd6fd4415270afe4070082ae69ee21035 Author: Christos Margiolis AuthorDate: 2024-12-02 16:26:58 +0000 Commit: Christos Margiolis CommitDate: 2024-12-02 16:26:58 +0000 sound: Do not access cv_waiters Remove uses of cv_waiters in PCM_RELEASE and CHN_BROADCAST, and also use a counter around cv_timedwait_sig() in chn_sleep(), which is checked in pcm_killchans(), as opposed to reading cv_waiters directly, which is a layering violation. While here, move CHN_BROADCAST below the channel lock operations. Reported by: avg, jhb, markj Sponsored by: The FreeBSD Foundation MFC after: 2 days Reviewed by: dev_submerge.ch, avg Differential Revision: https://reviews.freebsd.org/D47780 --- sys/dev/sound/pcm/channel.c | 2 ++ sys/dev/sound/pcm/channel.h | 9 ++++----- sys/dev/sound/pcm/sound.c | 4 ++-- sys/dev/sound/pcm/sound.h | 13 ++----------- 4 files changed, 10 insertions(+), 18 deletions(-) diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c index 728284b055e5..925a82bb170f 100644 --- a/sys/dev/sound/pcm/channel.c +++ b/sys/dev/sound/pcm/channel.c @@ -329,7 +329,9 @@ chn_sleep(struct pcm_channel *c, int timeout) if (c->flags & CHN_F_DEAD) return (EINVAL); + c->sleeping++; ret = cv_timedwait_sig(&c->intr_cv, c->lock, timeout); + c->sleeping--; return ((c->flags & CHN_F_DEAD) ? EINVAL : ret); } diff --git a/sys/dev/sound/pcm/channel.h b/sys/dev/sound/pcm/channel.h index 47089aca0745..67f5019f4727 100644 --- a/sys/dev/sound/pcm/channel.h +++ b/sys/dev/sound/pcm/channel.h @@ -117,6 +117,8 @@ struct pcm_channel { * lock. */ unsigned int inprog; + /* Incrememnt/decrement around cv_timedwait_sig() in chn_sleep(). */ + unsigned int sleeping; /** * Special channel operations should examine @c inprog after acquiring * lock. If zero, operations may continue. Else, thread should @@ -242,11 +244,6 @@ struct pcm_channel { (x)->parentchannel->bufhard != NULL) ? \ (x)->parentchannel->bufhard : (y)) -#define CHN_BROADCAST(x) do { \ - if ((x)->cv_waiters != 0) \ - cv_broadcastpri(x, PRIBIO); \ -} while (0) - #include "channel_if.h" int chn_reinit(struct pcm_channel *c); @@ -320,6 +317,8 @@ int chn_getpeaks(struct pcm_channel *c, int *lpeak, int *rpeak); #define CHN_LOCKASSERT(c) mtx_assert((c)->lock, MA_OWNED) #define CHN_UNLOCKASSERT(c) mtx_assert((c)->lock, MA_NOTOWNED) +#define CHN_BROADCAST(x) cv_broadcastpri(x, PRIBIO) + int snd_fmtvalid(uint32_t fmt, uint32_t *fmtlist); uint32_t snd_str2afmt(const char *); diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c index 218147b73db0..2d57852e036d 100644 --- a/sys/dev/sound/pcm/sound.c +++ b/sys/dev/sound/pcm/sound.c @@ -221,8 +221,8 @@ pcm_killchans(struct snddev_info *d) /* Make sure all channels are stopped. */ CHN_FOREACH(ch, d, channels.pcm) { CHN_LOCK(ch); - if (ch->intr_cv.cv_waiters == 0 && CHN_STOPPED(ch) && - ch->inprog == 0) { + if (ch->inprog == 0 && ch->sleeping == 0 && + CHN_STOPPED(ch)) { CHN_UNLOCK(ch); continue; } diff --git a/sys/dev/sound/pcm/sound.h b/sys/dev/sound/pcm/sound.h index abbfc1111805..fe04898c17a5 100644 --- a/sys/dev/sound/pcm/sound.h +++ b/sys/dev/sound/pcm/sound.h @@ -359,15 +359,7 @@ int sound_oss_card_info(oss_card_info *); __func__, __LINE__); \ if ((x)->flags & SD_F_BUSY) { \ (x)->flags &= ~SD_F_BUSY; \ - if ((x)->cv.cv_waiters != 0) { \ - if ((x)->cv.cv_waiters > 1 && snd_verbose > 3) \ - device_printf((x)->dev, \ - "%s(%d): [PCM RELEASE] " \ - "cv_waiters=%d > 1!\n", \ - __func__, __LINE__, \ - (x)->cv.cv_waiters); \ - cv_broadcast(&(x)->cv); \ - } \ + cv_broadcast(&(x)->cv); \ } else \ panic("%s(%d): [PCM RELEASE] Releasing non-BUSY cv!", \ __func__, __LINE__); \ @@ -459,8 +451,7 @@ int sound_oss_card_info(oss_card_info *); ("%s(%d): [PCM RELEASE] Releasing non-BUSY cv!", \ __func__, __LINE__)); \ (x)->flags &= ~SD_F_BUSY; \ - if ((x)->cv.cv_waiters != 0) \ - cv_broadcast(&(x)->cv); \ + cv_broadcast(&(x)->cv); \ } while (0) /* Quick version, for shorter path. */ From nobody Mon Dec 2 19:39:04 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2DcS61tyz5gKKX; Mon, 02 Dec 2024 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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2DcS5Rpjz4p7h; Mon, 2 Dec 2024 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=1733168344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=08m2JzxIlAZyJMNgFGE6GRw8E3mTe+RFywcQ5ain2Ao=; b=d+LwjpwTI21IiRVIGE4HoPLmb4IsSYO7k+MwfU5OVy7eUUpZQb5TLSr7kim/LQagto+xwd +HDdSZ6KjbLx+Yf1zb/OS/Zf771kxkJp7Nz3wwZ3gVZvGzBLJdNPatlMuYWOlK5DLZQkEB jDnCdcPQ9jToCs7nwgZmB6lyCHFnUTF39A2nhRZMCKxtOZ5lQMEPh/r4cXi5p/uS6vCiUI 2KscAB47wQUslv/uHJVywbzb08/gWrywjotlw5U8rWRgJDudciRYcVlSlitp44QQ+j00AU oc7FrbWJbRyJaGVLqBNYGyejl4CmXiZycIr2VQuiSSWVRYddfXfE2uF2bhdBSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733168344; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=08m2JzxIlAZyJMNgFGE6GRw8E3mTe+RFywcQ5ain2Ao=; b=DR0pNf5WvJ8W+6SYpDKT51ohp3MnnHZQdUi9lsBPBv2xnlILsvBIg4Gv7eQzJJMz5DFQh0 Wkwwjgd45Y0bJ4oulQeXcjIV6hAZqZgNiYcmxmS/29hkBtS+VtIPJqjO6TiV0yNg/ESn2q ot07uDHl3gz5dut2IaNRygbaDYcCsyg8Vo5nAkNGVtUGWzLTFiEruokbPRQm0UxHbEjjqN MW+QLXdG1UKv/ON8RiolAvYyDKnX3ALbmkhzUrrcO3IzmWy+LCIWFRMMLZEpNrXSFu9Zeq x4dG3yKnb8s06ssY0RO5N5SpipcIh81JPA/Bv3oNgQKF1LgSc4PqSt7S0BP15Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733168344; a=rsa-sha256; cv=none; b=yKN+3T+v5tPzQ4SVdHtcu2q3LfvSksQti9AHGRr/Ac1Vfv+cZjpEQ5IcgB5V5lYEzwECUw a5QL+gRPxNZP48bVwyAcuOMdv7SdKBXqvUX1msLCMeP6mH+Mv8dHFGmZUY6ILA2yo95RhT uLxDhhXhMDIjDvLXp/3KoMUjdrcwu3hsmQUWB20C257qVsh9yxKjKYgb54Poc8PvKo6Eam qPGAxtZ8uMcuivah/YeGlZJGWfT15KIuJplYQn/48IlFjr+LVZPZbiJaMw44eUlvamql1U 4vKTEJa4LdIEQUsa3ct/ll5AZEmeW5Yf29RdYI/tXdblDcAHNkEKTmrhwXxQew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2DcS4tfCzr4D; Mon, 2 Dec 2024 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 4B2Jd4Uf025023; Mon, 2 Dec 2024 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 4B2Jd4r7025020; Mon, 2 Dec 2024 19:39:04 GMT (envelope-from git) Date: Mon, 2 Dec 2024 19:39:04 GMT Message-Id: <202412021939.4B2Jd4r7025020@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: 928864a93594 - main - fix build with LOCK_PROFILING but without KDTRACE_HOOKS List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 928864a93594eddbf5bf67310bb0f5c684350dc6 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=928864a93594eddbf5bf67310bb0f5c684350dc6 commit 928864a93594eddbf5bf67310bb0f5c684350dc6 Author: Kristof Provost AuthorDate: 2024-11-27 17:06:41 +0000 Commit: Kristof Provost CommitDate: 2024-12-02 19:36:35 +0000 fix build with LOCK_PROFILING but without KDTRACE_HOOKS Reviewed by: kib, markj Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D47822 --- sys/kern/kern_rwlock.c | 10 ++++------ sys/kern/kern_sx.c | 10 +++------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/sys/kern/kern_rwlock.c b/sys/kern/kern_rwlock.c index 3286fce76d96..03d59d613e74 100644 --- a/sys/kern/kern_rwlock.c +++ b/sys/kern/kern_rwlock.c @@ -461,9 +461,9 @@ __rw_rlock_hard(struct rwlock *rw, struct thread *td, uintptr_t v u_int sleep_cnt = 0; int64_t sleep_time = 0; int64_t all_time = 0; + uintptr_t state = 0; #endif #if defined(KDTRACE_HOOKS) || defined(LOCK_PROFILING) - uintptr_t state = 0; int doing_lockprof = 0; #endif @@ -473,12 +473,11 @@ __rw_rlock_hard(struct rwlock *rw, struct thread *td, uintptr_t v goto out_lockstat; doing_lockprof = 1; all_time -= lockstat_nsecs(&rw->lock_object); - state = v; } + state = v; #endif #ifdef LOCK_PROFILING doing_lockprof = 1; - state = v; #endif if (SCHEDULER_STOPPED()) @@ -936,9 +935,9 @@ __rw_wlock_hard(volatile uintptr_t *c, uintptr_t v LOCK_FILE_LINE_ARG_DEF) u_int sleep_cnt = 0; int64_t sleep_time = 0; int64_t all_time = 0; + uintptr_t state = 0; #endif #if defined(KDTRACE_HOOKS) || defined(LOCK_PROFILING) - uintptr_t state = 0; int doing_lockprof = 0; #endif int extra_work = 0; @@ -955,13 +954,12 @@ __rw_wlock_hard(volatile uintptr_t *c, uintptr_t v LOCK_FILE_LINE_ARG_DEF) extra_work = 1; doing_lockprof = 1; all_time -= lockstat_nsecs(&rw->lock_object); - state = v; } + state = v; #endif #ifdef LOCK_PROFILING extra_work = 1; doing_lockprof = 1; - state = v; #endif if (SCHEDULER_STOPPED()) diff --git a/sys/kern/kern_sx.c b/sys/kern/kern_sx.c index 4cc8ac8ce106..952cfae7c977 100644 --- a/sys/kern/kern_sx.c +++ b/sys/kern/kern_sx.c @@ -582,9 +582,9 @@ _sx_xlock_hard(struct sx *sx, uintptr_t x, int opts LOCK_FILE_LINE_ARG_DEF) u_int sleep_cnt = 0; int64_t sleep_time = 0; int64_t all_time = 0; + uintptr_t state = 0; #endif #if defined(KDTRACE_HOOKS) || defined(LOCK_PROFILING) - uintptr_t state = 0; int doing_lockprof = 0; #endif int extra_work = 0; @@ -600,13 +600,12 @@ _sx_xlock_hard(struct sx *sx, uintptr_t x, int opts LOCK_FILE_LINE_ARG_DEF) extra_work = 1; doing_lockprof = 1; all_time -= lockstat_nsecs(&sx->lock_object); - state = x; } + state = x; #endif #ifdef LOCK_PROFILING extra_work = 1; doing_lockprof = 1; - state = x; #endif if (SCHEDULER_STOPPED()) @@ -1034,8 +1033,6 @@ _sx_slock_hard(struct sx *sx, int opts, uintptr_t x LOCK_FILE_LINE_ARG_DEF) u_int sleep_cnt = 0; int64_t sleep_time = 0; int64_t all_time = 0; -#endif -#if defined(KDTRACE_HOOKS) || defined(LOCK_PROFILING) uintptr_t state = 0; #endif int extra_work __sdt_used = 0; @@ -1048,12 +1045,11 @@ _sx_slock_hard(struct sx *sx, int opts, uintptr_t x LOCK_FILE_LINE_ARG_DEF) goto out_lockstat; extra_work = 1; all_time -= lockstat_nsecs(&sx->lock_object); - state = x; } + state = x; #endif #ifdef LOCK_PROFILING extra_work = 1; - state = x; #endif if (SCHEDULER_STOPPED()) From nobody Mon Dec 2 19:39:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2DcV0H3Hz5gKND; Mon, 02 Dec 2024 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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2DcT6smPz4pR5; Mon, 2 Dec 2024 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=1733168346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k7BWCkghn1ZiSdvhBbFi9YjdyQKvKKAnNqwg75mGvzc=; b=mtM94BsmBPj7r0gtH/KpF4wy6RDP7LNAd5uk+SL80eQjmYuMtKT7F+Q42CiwcB8o9R/DgM OrrVP1asdhxMA2MOMWw0UEw9IfMIZCRijqJ7wwQQsNaeqyJOtKTMEov8k8UqkGG0qq4Bk9 LdtOuHlO8Q1YjB88bU39GVVCk6OqOL1C1Mhk09XoEsjnaaGuM8zJlzUWGh0Eyr/bBtA2xp d9Up6k0GpZvl32y/OaDIpEU8ufnT4gv1EgZZ7Hoi+sZs/CToMOCmyfxbpKyszcdKRyztne NImDXQl9vUQm59gVKR8dxuD08HhJgPPHevnU3tFK1/T2hDvLBaV5FfW62qyXmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733168346; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k7BWCkghn1ZiSdvhBbFi9YjdyQKvKKAnNqwg75mGvzc=; b=D2c7CoW7hYdjWF3vVSUnHKMfbVv0dH2vzF2CN3qkjb+p1wlcBhJgjUaXIknIgDWJaatPzw uIDEoEblQXJJS157gg5YhfHB9TJJ2lacupA16w0gJ0YwFsokyu/tCEhaFnHWoZJ42vhPwe yvqSwXSykE7pZAZWuFkUdAeSkPuVmm2w8cHFCLwpTD1sM6sCxSziI8itiDS95kEKwcNBk8 CkENQgdD0KArWuntYhjxX94Cb6R3GHKGvHp4eT0ozgLLH2MeI2uE50aFSGgBM6gBOcXaPJ xrjcG9djIOBxcOr8fx2DO4TGHdRB5AmvYatMzVOvx/T6Ka4nKXc5sO92bm5KcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733168346; a=rsa-sha256; cv=none; b=LTCDekH63JtlEsu94ApFZiNCA57JSGO/8O+JfqpB8OHYxQNW07qpaks3XpeS6kVGRfpp7R VsqYgeFdwXlQ0JKVl79BsTYQGVwBjaEfpHRcPfSMuJe8etROArvsueceTXUbeQVWp1xee4 vwefkUfMmYQpUKM1Rn3tIkWwCcsLyQwmL2th41bo4d1JaYGGdgyBdj4RaTeCG2AxXap/XS DdRrIM01JTBciJXAherFaBVTZd3bdGGttrCMS5GpLF4E/050fISDIIHQ5Ugj7NUC4SjDXN 8LZmrpRfsDdJzD2LH+rACeMhBGRtKF6DTjqxRw8h5lShcJNg0bafM6ueSIdUog== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2DcT69vXzr4F; Mon, 2 Dec 2024 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 4B2Jd5nx025069; Mon, 2 Dec 2024 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 4B2Jd5Oh025066; Mon, 2 Dec 2024 19:39:05 GMT (envelope-from git) Date: Mon, 2 Dec 2024 19:39:05 GMT Message-Id: <202412021939.4B2Jd5Oh025066@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: 2f915345634e - main - LINT: Remove DTrace 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2f915345634e9e0f809f79581359190268908ba9 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=2f915345634e9e0f809f79581359190268908ba9 commit 2f915345634e9e0f809f79581359190268908ba9 Author: Kristof Provost AuthorDate: 2024-11-27 16:57:08 +0000 Commit: Kristof Provost CommitDate: 2024-12-02 19:36:35 +0000 LINT: Remove DTrace support Ensure we have at least one commonly built kernel config that does not include DTrace. This is intended to help detect issues such as 45d108ee14 where a variable is only used for static probe point, resulting in build failures when DTrace is disabled. Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D47821 --- sys/x86/conf/NOTES | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sys/x86/conf/NOTES b/sys/x86/conf/NOTES index ffd90c06b516..bb45d4ecbf92 100644 --- a/sys/x86/conf/NOTES +++ b/sys/x86/conf/NOTES @@ -2,12 +2,6 @@ # Common NOTES between i386 and amd64 -# -# Enable the kernel DTrace hooks which are required to load the DTrace -# kernel modules. -# -options KDTRACE_HOOKS - # DTrace core # NOTE: introduces CDDL-licensed components into the kernel #device dtrace From nobody Mon Dec 2 19:57:26 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2F1f71xrz5gLvd; Mon, 02 Dec 2024 19:57:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2F1f6SXBz4rQx; Mon, 2 Dec 2024 19:57:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733169446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kdxPvf76/+9cRuzaIQgBthe0c4jPRyzirjW8J/iBs0M=; b=aif25XKv7QKsf6NJTzhcpHg8dT0fpp5I/cEGjYIoNASssr/jK8aWmynFaGYYow9Ss1Ux9F MXow/xSs+Pj/jKRAb34q3iVqeehgOQ0y+D4RkWwIuXMK9ZuEHjdhuVJXpOSYsBAxtOle1/ pImqp2uLqkqt1ahP7ZyBP5lFb0opMP9rdJx/hGaXDBJNYGvD8gc7sZXPjV/OqXcdPEtXIs glIEemWjxE5CmW3skQkytfJerRdIS01azTE1Mi5b6O6/Q34weh5BjhlWJTfdAh9E9zUENf hVco05t5kOHsqFGfwz9CBnOhIsYNtbLDPG2ZY7cPPNGRcUdPoCj1SLTH5L3E/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733169446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kdxPvf76/+9cRuzaIQgBthe0c4jPRyzirjW8J/iBs0M=; b=ZZrsTVJGbXebVJ3vfrOMDb3uB6io4TEvrEmkJHCxkpmZgaBW86/wK4O/QSJ3d5arh0P0G5 fcsd3byZkwulcHP7Rj8fJeA1CcmDzNE7t6uHvCmVzqXw8GJujNQ0tteLIOJ7wpVo2BX27x PrwCeTXi9d0bYinqmtIw5cqkENVfjShxDyT2Fr87auLCNFRHN15ZLk83T2TyHPogOwQm9N oTYRovUN2gwqyLncwB0bPEKOfXoXhpkZHFhyMKfklmQN/9MVlkg/rAF+1cwziH3v+P+hxj LwL2yXbsejc735787x6LtOCnt6zhLswDcB1+jOx30qacknWybbhybhDD3TSvTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733169446; a=rsa-sha256; cv=none; b=QxUlbkps3Ym3uiItoNXsf+zpVbWCi8KxaPpTBBcLECs+jiZVzkhJwHYzJnoQfkOdVEBThB j0VCO6aUocrie/WSBVpOAH7y95OWplVN/sAHNva/yCyaHohs9T14PjgetUfzuZQIUeTkaI xz+lBB1WI/Ldn/u5ZbXyl6yzXtXYHXFd5vYKr36A7KvRrX8nN38NhdtUWTbgd2IXAa5aIM 9BjEdjXmqD+pQ7vyPOWW75sVc+2k856IGM2wgEd3xPLuUM1yDMXw+n4P7wOpS2BCyqcIB1 RqEKEHswehme1nv9YCBzkOE4lX7I+NX468nr2QI9DFjiLB+9df7yFVTLOLluQg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2F1f5lktzrQ7; Mon, 2 Dec 2024 19:57: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 4B2JvQ86061229; Mon, 2 Dec 2024 19:57:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2JvQ4D061226; Mon, 2 Dec 2024 19:57:26 GMT (envelope-from git) Date: Mon, 2 Dec 2024 19:57:26 GMT Message-Id: <202412021957.4B2JvQ4D061226@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: 91629228e3df - main - comsat: move uid/gid setting earlier List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 91629228e3df14997df12ffc6e7be6b9964e5463 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=91629228e3df14997df12ffc6e7be6b9964e5463 commit 91629228e3df14997df12ffc6e7be6b9964e5463 Author: Ed Maste AuthorDate: 2024-12-01 20:43:10 +0000 Commit: Ed Maste CommitDate: 2024-12-02 19:57:13 +0000 comsat: move uid/gid setting earlier It's good to reduce privilege as early as possible. Suggested by: jlduran Reviewed by: jlduran Obtained from: NetBSD Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47869 --- libexec/comsat/comsat.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/libexec/comsat/comsat.c b/libexec/comsat/comsat.c index e2aea1b709b6..d5d1eedeb5f3 100644 --- a/libexec/comsat/comsat.c +++ b/libexec/comsat/comsat.c @@ -59,7 +59,7 @@ static int debug = 0; static char hostname[MAXHOSTNAMELEN]; -static void jkfprintf(FILE *, char[], char[], off_t); +static void jkfprintf(FILE *, char[], off_t); static void mailfor(char *); static void notify(struct utmpx *, char[], off_t, int); static void reapchildren(int); @@ -147,6 +147,7 @@ notify(struct utmpx *utp, char file[], off_t offset, int folder) FILE *tp; struct stat stb; struct termios tio; + struct passwd *p; char tty[20]; const char *s = utp->ut_line; @@ -180,6 +181,14 @@ notify(struct utmpx *utp, char file[], off_t offset, int folder) } (void)tcgetattr(fileno(tp), &tio); cr = ((tio.c_oflag & (OPOST|ONLCR)) == (OPOST|ONLCR)) ? "\n" : "\n\r"; + + /* Set uid/gid/groups to user's in case mail drop is on nfs */ + if ((p = getpwnam(utp->ut_user)) == NULL || + initgroups(p->pw_name, p->pw_gid) == -1 || + setgid(p->pw_gid) == -1 || + setuid(p->pw_uid) == -1) + return; + switch (stb.st_mode & (S_IXUSR | S_IXGRP)) { case S_IXUSR: case (S_IXUSR | S_IXGRP): @@ -188,7 +197,7 @@ notify(struct utmpx *utp, char file[], off_t offset, int folder) cr, utp->ut_user, (int)sizeof(hostname), hostname, folder ? cr : "", folder ? "to " : "", folder ? file : "", cr, cr); - jkfprintf(tp, utp->ut_user, file, offset); + jkfprintf(tp, file, offset); break; case S_IXGRP: (void)fprintf(tp, "\007"); @@ -204,21 +213,13 @@ notify(struct utmpx *utp, char file[], off_t offset, int folder) } static void -jkfprintf(FILE *tp, char user[], char file[], off_t offset) +jkfprintf(FILE *tp, char file[], off_t offset) { unsigned char *cp, ch; FILE *fi; int linecnt, charcnt, inheader; - struct passwd *p; unsigned char line[BUFSIZ]; - /* Set uid/gid/groups to user's in case mail drop is on nfs */ - if ((p = getpwnam(user)) == NULL || - initgroups(p->pw_name, p->pw_gid) == -1 || - setgid(p->pw_gid) == -1 || - setuid(p->pw_uid) == -1) - return; - if ((fi = fopen(file, "r")) == NULL) return; From nobody Mon Dec 2 20:37:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2FwP1Srzz5gPRY; Mon, 02 Dec 2024 20:37:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2FwP10mMz3wvV; Mon, 2 Dec 2024 20:37:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733171877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ftysO0ev+gRr5qKhQkpxTHkGo3kErpkNKCCj5vwfvPs=; b=gUi9FMoyTEKc1APw/ZV9zPy8TimRy+yHVGKdfITJXNpYa1yX+dIXJ9cjx9Bvg+gfaE97V2 XX0cnK17bAgqRYUHFZT2KMl3TQHlh/BdhAyKdCc30U5rJ/aUD7OO5tab6YXLppAxp62/z2 Gt7PAPtjBoPsvlR0481fYvOb+moXwve4G/gIFbECynxXt5glr0HYIELkQVoww54YiE9sMo tYL0MhTC+P33vA2UumneHoAJ2VuB58J83T4Z+Hz2ffTwIkk8QAKhrs2mzLG73Y8LXEe05d qugfGJNZORrr8xy1KRMr5VknAe1HX2a7YWvcg6L2THeHDY/i+bk1+ydyzeLuqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733171877; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ftysO0ev+gRr5qKhQkpxTHkGo3kErpkNKCCj5vwfvPs=; b=Et6jnu84FcPZRrXAajIQ2IE6j4wTW8XJO80q0OLsoasp+kjenBCCnEvrayV1rk9qxP1jBd qRHf5w9VDkvSgryG0Dhttt5Xq0AWBwBEVIJN9uS6a7LTFGhWbzMAZpsQQm9aPbM2JV5fdN m6h42PotLOLMYP72CQlWYGoT+fWzeUg7F3XYms/b2KI7rB+iythqwXw/7QWcgwSMLeazoE Ii4l/Bb3Ca77yekLwvqq73u8on7BV3ztiFD0KZ5yJWtEDdquaEWaOJ12+0LbtK9axXGTwH u2uOWOEZiQWAV6V61ZFR0n6EiUfA3khNrwhxNEVYnMOCTEUrr7BOw+FQjw2jeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733171877; a=rsa-sha256; cv=none; b=qtbk246oEhs9DUVg3JsxezCIM93wRAfXF4YXM73qyev2Knvh6++hFCn31JVh5X0yKhcFv5 6x7wdT4rpWPirHNETNYWkaaF/v1M7xXeqlaHf7hG4FhTdwjXdf/93Z9c5IOgSIJtRrpfy6 b6OfZ1ueNC418bkDH+Jx3LI6pRGglFClEFHrweFjzbHuUaSZMpxS6uYvFqMpC8HHPKVxJR vUkEurt+QMxsruv7D93aJaTRUYdYdF0/RW4er3Q99zM2tHw3Kgrjl+JWokIUmwNcupLuci mpwK1bPTYVecubQ/ckJp6lt0kkUbWTb/+pLqfbWLzuC/K82FbA2RoV0qxl0wfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2FwP0cZxzsgN; Mon, 2 Dec 2024 20:37: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 4B2Kbvoe036948; Mon, 2 Dec 2024 20:37:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2KbvJ4036945; Mon, 2 Dec 2024 20:37:57 GMT (envelope-from git) Date: Mon, 2 Dec 2024 20:37:57 GMT Message-Id: <202412022037.4B2KbvJ4036945@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: 3505e0d6675b - main - cap_rights_is_empty: add MLINK List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 3505e0d6675b332c154e01110456d767e222c5d6 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3505e0d6675b332c154e01110456d767e222c5d6 commit 3505e0d6675b332c154e01110456d767e222c5d6 Author: Ed Maste AuthorDate: 2024-12-02 20:35:10 +0000 Commit: Ed Maste CommitDate: 2024-12-02 20:35:40 +0000 cap_rights_is_empty: add MLINK Fixes: a7100ae23aca ("capsicum: introduce cap_rights_is_empty Function") Sponsored by: The FreeBSD Foundation --- lib/libc/capability/Makefile.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libc/capability/Makefile.inc b/lib/libc/capability/Makefile.inc index e4c2350a7318..845f8f172bb8 100644 --- a/lib/libc/capability/Makefile.inc +++ b/lib/libc/capability/Makefile.inc @@ -9,6 +9,7 @@ MAN+= cap_rights_init.3 MLINKS+=cap_rights_init.3 cap_rights_set.3 MLINKS+=cap_rights_init.3 cap_rights_clear.3 +MLINKS+=cap_rights_init.3 cap_rights_is_empty.3 MLINKS+=cap_rights_init.3 cap_rights_is_set.3 MLINKS+=cap_rights_init.3 cap_rights_is_valid.3 MLINKS+=cap_rights_init.3 cap_rights_merge.3 From nobody Mon Dec 2 21:13:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2Ghr5Wp6z5gRnw; Mon, 02 Dec 2024 21:13:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2Ghr518Nz43W2; Mon, 2 Dec 2024 21:13:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733173980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lcbrwYL7tf3br+W0QeMojHkyZkVdIljHG6tiz8ZEvLg=; b=Bl2It8nvUYwqxZk+fJ7PxLi+O+7EU0bVR1n6efrbrdHkaVgnrETZCMNPJNZ2xTrMc5SSCH o6fdfv6+sfT/T424q6hn+N+MSw0XSTWpxLCW1OzKvx0NVSNd9BGamDf17yKE/hH2EP544n J/odM9LTW8eBfTZemgV0bNPmXEAjMhCN8E21rYqZEMZwt/CZn/RjbjoernpEG+LzRElXP8 B0akwmXf9mbDkiZp4pR0QLq55eT8l9JisrVb+kiDZECurIRCDrp5FCKpmaFJdJXDaBLJsW rKO1YOxeseIH7ny94AppU+oCeohqJnIsHpb9Y5+jDySbNcQr3ZVE1x1GgeJ1Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733173980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lcbrwYL7tf3br+W0QeMojHkyZkVdIljHG6tiz8ZEvLg=; b=Qm1sp13ZTj7pHhHYx1lilZyycWB5Fq422lGN+NxVT0x5BzhLDntrzykcZNMPbL9h0CHldj HPxyGW5l0BOjV/s8SOfi91ponxtaVsxuXFWJQXhKAm4KS2L7ZC3rguaLeDRpLLqoIt9ZOc TkNVZzGnJO1gznG61Yd2ibucE1DLrTlU2baubh/A+9Tf2PgZTtEHRF5jtDZ+HAOcTSBT7a pOSIAtid6oiVQbKcTDHzHgGDURhK0m6oC6/YXfedPUWy1Oy/3syFXUO9N6L7APE/m7N2Qe egQKjNhg5Uk4cqwRHcm3Sml+FhdJ3gx0WvRnCZej5NEOZzgFaQ2TfIHXJ5aU6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733173980; a=rsa-sha256; cv=none; b=m8IWgxDdadKcxv9VF94wDYkqoxfHIx/yqjzTmcppK9kC7SG3jC9xK1ypKMqCQVpzd5G+BI 5atnE/jKk7L3SKXaYTfVlmzrpzu1T+1fj0uIOHDTlLtr/26aoaHB0IKwaB1LL00DM1omq5 DsPHg8uB/FYkYdrRLjf9hxm3eMQhypvQUI5/B8nhzi6nICwYPboKvhjkyZ1qHj1AxOteCy NzjJZgcma3R9Jnyvj7o9qxoEfzYQHmb0e2JpnlQyrh+ngY0MPCKsd60qbNsuR8nG6dSAsv 5BENkDyo2ouSvrDm7q2piaF4U77ku5L/kxw4mBxfNjvwcEfApU3Y1SFM1wYLcQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2Ghr4cRRztrG; Mon, 2 Dec 2024 21:13: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 4B2LD0hc010929; Mon, 2 Dec 2024 21:13:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B2LD0mt010926; Mon, 2 Dec 2024 21:13:00 GMT (envelope-from git) Date: Mon, 2 Dec 2024 21:13:00 GMT Message-Id: <202412022113.4B2LD0mt010926@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Poul-Henning Kamp Subject: git: b5a8abe9502e - main - How to show interface traffic in bits per second List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: phk X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b5a8abe9502e781598dc052698fe7fa5830f59ee Auto-Submitted: auto-generated The branch main has been updated by phk: URL: https://cgit.FreeBSD.org/src/commit/?id=b5a8abe9502e781598dc052698fe7fa5830f59ee commit b5a8abe9502e781598dc052698fe7fa5830f59ee Author: Poul-Henning Kamp AuthorDate: 2024-12-02 21:12:27 +0000 Commit: Poul-Henning Kamp CommitDate: 2024-12-02 21:12:27 +0000 How to show interface traffic in bits per second --- usr.bin/fortune/datfiles/freebsd-tips | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.bin/fortune/datfiles/freebsd-tips b/usr.bin/fortune/datfiles/freebsd-tips index c0807405005e..1e9501e3a6fb 100644 --- a/usr.bin/fortune/datfiles/freebsd-tips +++ b/usr.bin/fortune/datfiles/freebsd-tips @@ -856,3 +856,7 @@ $ fc-list ':charset=0x1F4A1' $ pkg which /usr/local/share/fonts/noto/NotoColorEmoji.ttf /usr/local/share/fonts/noto/NotoColorEmoji.ttf was installed by package noto-emoji-2.042 % +When netstat reports every 8 seconds, it tells traffic in bits per second: + +$ netstat -I bge0 8 +% From nobody Tue Dec 3 00:45:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2MQM2ct7z5fGVP; Tue, 03 Dec 2024 00:45:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2MQM1svyz4ScQ; Tue, 3 Dec 2024 00:45:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733186747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R5Wi2Yxl3e66km8wq3ATkHk6CoDzHGVc6v3mfn94D6Y=; b=YHgy/vy1LN19to4omMbbfIpYofWd77UqSD349TlHU7fTfjofJ6mZ0HuDotyXb621VFKlC3 BVJ43L+D4+UKHrsfe/4u1U7qjNPNc++mAjoJPFpuMLbt6EJUq8NZAAFIo0JLtiIzVJEd5V UPj57+EDw4JYUF0fQQ1uusmMGJx6wtQmyd1qs4Cj4fWIP2x8NWNZoQba/VdmnJmXIDfbOv DnYLLoTxPYNRTsaIvVIXoDpi9I7KZxdTw0h4yyH2rTm3uR5qdW8BcwJe5+1XSFYA8/yj2l wgLei3zgjvYOKayaqcoL1lh6sR6yVx8qZPMtRaEOse9qcMMy8nAQfcq3DRuVVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733186747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=R5Wi2Yxl3e66km8wq3ATkHk6CoDzHGVc6v3mfn94D6Y=; b=uNh/SyH+H3MMTq8XHGeZHtBtqIoeOLAU8XNcSyEmkuRvALnNnlbD/iESGNezC7GZ7VkukM kSpPKerJ/zzDK/wGygmkQEt7UE6+ItiE7EkWXWLvxXhRYamNmJ/2JVWgI4rZyLv78WNwvV wWYQw/FygSf6ZS76+ans64DtTCmqldrvWHUIALJT+pHaLtEPp4zrzQTRrpCaUKpaGd95O0 Pwp1VeczP4xRYPxDAmOrLNkkmIbibrNWo9or3JsHlPtezJ3YuE9n7G+9MQZHQr8kg4kDSy xGkAEymZsrl8wVQgr9BuG/9no4VJtv0xOZLHAXoufeOQTsDVoAQ/Z+ZS/yx87w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733186747; a=rsa-sha256; cv=none; b=t2hgUO9mHMX3RNisc8w0XzHGt70BVzENcm/PZ8gXqfxKs7FmJKLQTg5jA/CQBPDUtAQEUi /UkOZbOI7wQoN67h6OdgqaUNLAuDpZyuHkuvUOVQwkrcwGfLbJ8Y/DkFiUc4dbq+sryafM m4PQM41Tbo5iNyHtCeQ766h69euc5uyC/ahPG17nYWv9P2GeCL6FT/BUTGB256NoAYwbx8 u6SNSeFuDsPPUsnLSGc13uDQ2OgR2o6hVmgijU2dk4X3as6vtp2c/tkUL3CzeNXM/XtNAw IBkD3wJZPIUKa9SH3Hnw13rThGNzpXGCIbpv1MXoDedLj7NeAF9bTNDoeFyQ9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2MQM1LZ0z11RT; Tue, 3 Dec 2024 00:45: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 4B30jlTB000462; Tue, 3 Dec 2024 00:45:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B30jlkE000459; Tue, 3 Dec 2024 00:45:47 GMT (envelope-from git) Date: Tue, 3 Dec 2024 00:45:47 GMT Message-Id: <202412030045.4B30jlkE000459@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: 850f78d5a191 - main - igc.4: Add I226 and other additions to supported 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: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 850f78d5a191d0058fcd20beb8b1309b795ecdbd Auto-Submitted: auto-generated The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=850f78d5a191d0058fcd20beb8b1309b795ecdbd commit 850f78d5a191d0058fcd20beb8b1309b795ecdbd Author: Kevin Bowling AuthorDate: 2024-12-03 00:43:17 +0000 Commit: Kevin Bowling CommitDate: 2024-12-03 00:43:17 +0000 igc.4: Add I226 and other additions to supported list MFC after: 3 days --- share/man/man4/igc.4 | 20 ++++++++++++++++++-- sys/dev/igc/if_igc.c | 2 +- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/share/man/man4/igc.4 b/share/man/man4/igc.4 index f9bca716f7fe..a67ed1c15ee8 100644 --- a/share/man/man4/igc.4 +++ b/share/man/man4/igc.4 @@ -81,13 +81,29 @@ driver supports the following models: .Pp .Bl -bullet -compact .It +I220-V +.It +I221-V +.It I225-LM .It +I225-LMvP(2) +.It I225-V .It -I225-IT +I225-IT, I225-IT(2) +.It +I225-K, I225-K(2) +.It +I226-LM +.It +I226-LMvP +.It +I226-V +.It +I226-IT .It -I225-K +I226-K .El .Sh LOADER TUNABLES Tunables can be set at the diff --git a/sys/dev/igc/if_igc.c b/sys/dev/igc/if_igc.c index 154c25a5a624..7402f89d56ff 100644 --- a/sys/dev/igc/if_igc.c +++ b/sys/dev/igc/if_igc.c @@ -56,7 +56,7 @@ static const pci_vendor_info_t igc_vendor_info_array[] = PVID(0x8086, IGC_DEV_ID_I225_K, "Intel(R) Ethernet Controller I225-K"), PVID(0x8086, IGC_DEV_ID_I225_I, - "Intel(R) Ethernet Controller I225-I"), + "Intel(R) Ethernet Controller I225-IT"), PVID(0x8086, IGC_DEV_ID_I220_V, "Intel(R) Ethernet Controller I220-V"), PVID(0x8086, IGC_DEV_ID_I225_K2, From nobody Tue Dec 3 03:52:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2RZD5gbqz5fcDK; Tue, 03 Dec 2024 03:52:52 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2RZD3Rhmz4sj2; Tue, 3 Dec 2024 03:52:52 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733197972; 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=XmnlCWM6eHzWyilPMwASIgPnso3ljnjkhRvHxoy7Wcg=; b=Hwn8/ntSOPyKx6qpQEplp6cbYGzixaLive9rvQzholnE5pcmqMeV+Y8sQufY9NDttMk5Hy vmopcMW9MMfq76Jo0JdQIjQYQQoX7YfpFLCEVoqu4ucPa3KvSiEkyt7bBfm8XSwfueQvVr +bvEJAwzK2S2DRSbRWtgMoE+8eKKRykWr0YYs03HiBxRkp1+HzbU3nDV2YGmJnqBpQR2WU 2foz1oNGDZdIM9W8LiNLi2Ym245BRdAsT2FtRIIZyzOADGF+ff1Z059+Th1zqGAwlGb1u8 0JDnv7PL9qQMjd53XnQ1doe+6S0bQnw/xXs9b0ngflpF+Q8tpVl7PGjsXyGlow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733197972; 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=XmnlCWM6eHzWyilPMwASIgPnso3ljnjkhRvHxoy7Wcg=; b=MOLu4WkS7aOAfry5PJWvHOl5m9cneYjey2iE+ammeaxTaDBYz2rhSxCskoQvlyyoKaQ5Qw ODcFec7Yeb8HP6f567lbLvXUa4l0+TZ/sNuCkdUzehhpAnHQ+0IwPaWxJ+dgAlrcT4DIEx hpu8hDoHtBiUHE7CxmJOeH7v68fgTHh3AWsLKq7rxGKiS4JLsicE3pUVbK8BjBfXGnaW5P +S7dlimke67v0X5NR8BhMTutCcz6P8Qru7JU9DSTSxx1s0ZVN/zOkJWMUD5LyAzal2RC0e qFrdZOoLrCxkOPU0K+CB2aGGKRhmw5E3GWqp7a1RdSIrfeUh+zmiGbJFzpZQbg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733197972; a=rsa-sha256; cv=none; b=Ovn5DMb9TZtr0uKaaDMPsbWszLT6SdBcr/15U0AtlGCcWhwiZuMKcQqdLZZjxiCovN6SK9 Wq5RjKfWFoi0ui84215RJP9qDQihWAHTBkVW/GO83cotH6JPy/jAyyM2SmX4LiEREjKFhr vMHCsPBL1nIeFv3DPrbtrI+oeUU3uUiRiKeDWszXtQlSMJjvHuXufi7EsHOphnxRJV/ACt IcVu2HN8TOEgZQQeTiuxnRcuw4wStzT7irq238+1ElfZNoa234+fbJa6jF46+pER+2E1N/ azRj05pfEzrk3EVZkF0fsi2ZWcokuWgKb6RmiN2t2Q6D5RJpcKh5Tk9R4eK98g== Received: from smtpclient.apple (ns1.oxydns.net [45.32.91.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: zlei/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y2RZC03NCz1Nl7; Tue, 3 Dec 2024 03:52:50 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.10\)) Subject: Re: git: b5a8abe9502e - main - How to show interface traffic in bits per second From: Zhenlei Huang In-Reply-To: <202412022113.4B2LD0mt010926@gitrepo.freebsd.org> Date: Tue, 3 Dec 2024 11:52:44 +0800 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <043A2EA2-647F-4B04-B6AA-A3E6B001B741@FreeBSD.org> References: <202412022113.4B2LD0mt010926@gitrepo.freebsd.org> To: Poul-Henning Kamp X-Mailer: Apple Mail (2.3696.120.41.1.10) > On Dec 3, 2024, at 5:13 AM, Poul-Henning Kamp wrote: >=20 > The branch main has been updated by phk: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Db5a8abe9502e781598dc052698fe7fa5= 830f59ee >=20 > commit b5a8abe9502e781598dc052698fe7fa5830f59ee > Author: Poul-Henning Kamp > AuthorDate: 2024-12-02 21:12:27 +0000 > Commit: Poul-Henning Kamp > CommitDate: 2024-12-02 21:12:27 +0000 >=20 > How to show interface traffic in bits per second > --- > usr.bin/fortune/datfiles/freebsd-tips | 4 ++++ > 1 file changed, 4 insertions(+) >=20 > diff --git a/usr.bin/fortune/datfiles/freebsd-tips = b/usr.bin/fortune/datfiles/freebsd-tips > index c0807405005e..1e9501e3a6fb 100644 > --- a/usr.bin/fortune/datfiles/freebsd-tips > +++ b/usr.bin/fortune/datfiles/freebsd-tips > @@ -856,3 +856,7 @@ $ fc-list ':charset=3D0x1F4A1' > $ pkg which /usr/local/share/fonts/noto/NotoColorEmoji.ttf > /usr/local/share/fonts/noto/NotoColorEmoji.ttf was installed by = package noto-emoji-2.042 > % > +When netstat reports every 8 seconds, it tells traffic in bits per = second: > + > +$ netstat -I bge0 8 Ahh, too stupid to be smart ! Best regards, Zhenlei > +% From nobody Tue Dec 3 04:41:12 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2Sf93l6bz5fhRD; Tue, 03 Dec 2024 04:41:21 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2Sf93Fj0z41Nc; Tue, 3 Dec 2024 04:41:21 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733200881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=n3l/2ItwqM4YrqaJZHF7r1FiF+iSl0P4LLgrWdtod1M=; b=JDvmD/G7sEm+EdozfoxJGg5SdJZNFbqWCpBXsV7Dy3lg3K/yxMXLhNLUjjZozjUh/K2HdU eXEM3CmUJlE7u2ALFETA1O3Jdvv5dsYv/BzhbjVYizsRCMGYdZliImGV0DDxU4ZXmbDVxB fZZJLeGt/T1I2o0lIPNVwN+Jn5MxRLmY2woXWLsR2wF6i1CRce2BIheZf6njU/9oicXc1s h6X5lXiV6fqyFp34iboLTmGBpO39IsJQdbSimj0hTMXebmuoZSkUvCWCLzx7dWijyGmt63 J0a9c1fXEmPvZ1JwvftVVHFKxYSkweBBU/ea8miLHOqHn3iiYz4f9EWC7x//JA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733200881; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=n3l/2ItwqM4YrqaJZHF7r1FiF+iSl0P4LLgrWdtod1M=; b=XpKk/mOpYb+SkfrgnhIzOQMY0zKy5wKG/yVldrtEUVO+sgDPvEaBmrfujTU2JhSIZqk6QY Udl8bHwyG9ng/Zf+rGvivVdOvd9DkqJyOCvndfQK2l1yA03MtEMszr65oPzsCN3GPIHvTa Z27vQcBPWt1YE1CfKrw4TiCudcJfOsS6ypftsTLSgNhCp8PzCEEHpBWAW8aMoWSRzfhSbd EJ1sIDZUde7NHWzqOlbVEFyY9Df2q8arzTFNcpS2c44inqOHNsZxPPgKB/Ul2jVPcF9qs6 e9In3B0RD4g0a8TUPQPQIoPBI7DHAqk6B4j2NfGpHQfxJYsHLR1ilIQlY1tpEg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733200881; a=rsa-sha256; cv=none; b=f9B9k5kj0ocn8d86wm8SGCPWQ/qPB4p5STZQvXwbQsiUUd2l9nXQf8fESefh03OSYaQ57V d0v5Rvuji+hG/3iCJvrJrUmMaBmh7h68Nb0/IY7K4Hijvl9UhyuUTdHpCLMJweSHmJCtnb jYK3H4Tl0dd7g0vtI6LnbQmGHSl3gciIWJe28/dvz0OcI7Dqrq520w7baiFts6PqvkQ2cq 5cfIBkLgHZOOp28+47TjzxeKVjgd3kFGRBdN50wRnbGFt56drJgMHq4y2aZNkLzxo7CkDM QyYdvgRbM3NdSPbxCByTiW/CPcQz8EaISTahP5UC7uMz/aJTLeFm31b565Q8Uw== Received: from smtpclient.apple (ns1.oxydns.net [45.32.91.63]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: zlei/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y2Sf73qHCz1NmV; Tue, 3 Dec 2024 04:41:19 +0000 (UTC) (envelope-from zlei@FreeBSD.org) From: Zhenlei Huang Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_4503F562-A192-44F2-BE83-30F8C9B1D736" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.10\)) Subject: Re: git: b5a8abe9502e - main - How to show interface traffic in bits per second Date: Tue, 3 Dec 2024 12:41:12 +0800 In-Reply-To: <043A2EA2-647F-4B04-B6AA-A3E6B001B741@FreeBSD.org> Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" To: Poul-Henning Kamp References: <202412022113.4B2LD0mt010926@gitrepo.freebsd.org> <043A2EA2-647F-4B04-B6AA-A3E6B001B741@FreeBSD.org> X-Mailer: Apple Mail (2.3696.120.41.1.10) --Apple-Mail=_4503F562-A192-44F2-BE83-30F8C9B1D736 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Dec 3, 2024, at 11:52 AM, Zhenlei Huang wrote: >=20 >=20 >=20 >> On Dec 3, 2024, at 5:13 AM, Poul-Henning Kamp = wrote: >>=20 >> The branch main has been updated by phk: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Db5a8abe9502e781598dc052698fe7fa5= 830f59ee >>=20 >> commit b5a8abe9502e781598dc052698fe7fa5830f59ee >> Author: Poul-Henning Kamp >> AuthorDate: 2024-12-02 21:12:27 +0000 >> Commit: Poul-Henning Kamp >> CommitDate: 2024-12-02 21:12:27 +0000 >>=20 >> How to show interface traffic in bits per second >> --- >> usr.bin/fortune/datfiles/freebsd-tips | 4 ++++ >> 1 file changed, 4 insertions(+) >>=20 >> diff --git a/usr.bin/fortune/datfiles/freebsd-tips = b/usr.bin/fortune/datfiles/freebsd-tips >> index c0807405005e..1e9501e3a6fb 100644 >> --- a/usr.bin/fortune/datfiles/freebsd-tips >> +++ b/usr.bin/fortune/datfiles/freebsd-tips >> @@ -856,3 +856,7 @@ $ fc-list ':charset=3D0x1F4A1' >> $ pkg which /usr/local/share/fonts/noto/NotoColorEmoji.ttf >> /usr/local/share/fonts/noto/NotoColorEmoji.ttf was installed by = package noto-emoji-2.042 >> % >> +When netstat reports every 8 seconds, it tells traffic in bits per = second: >> + >> +$ netstat -I bge0 8 >=20 > Ahh, too stupid to be smart ! Emm, I was wrong. When netstat reports every 8 seconds, you're gonna get `8 * bytes per 8 = seconds`, so you still get `bytes per second` but not `bits per second` = ... >=20 > Best regards, > Zhenlei >=20 >> +% --Apple-Mail=_4503F562-A192-44F2-BE83-30F8C9B1D736 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii

On Dec 3, 2024, at 11:52 AM, Zhenlei Huang <zlei@FreeBSD.org> = wrote:



On Dec 3, 2024, at 5:13 AM, = Poul-Henning Kamp <phk@FreeBSD.org> wrote:

The= branch main has been updated by phk:

URL: = https://cgit.FreeBSD.org/src/commit/?id=3Db5a8abe9502e781598dc0= 52698fe7fa5830f59ee

commit = b5a8abe9502e781598dc052698fe7fa5830f59ee
Author: =     Poul-Henning Kamp <phk@FreeBSD.org>
AuthorDate: 2024-12-02 21:12:27 +0000
Commit: =     Poul-Henning Kamp <phk@FreeBSD.org>
CommitDate: 2024-12-02 21:12:27 +0000

  How to show interface traffic in bits per = second
---
usr.bin/fortune/datfiles/freebsd-tips | 4 ++++
1 = file changed, 4 insertions(+)

diff --git = a/usr.bin/fortune/datfiles/freebsd-tips = b/usr.bin/fortune/datfiles/freebsd-tips
index = c0807405005e..1e9501e3a6fb 100644
--- = a/usr.bin/fortune/datfiles/freebsd-tips
+++ = b/usr.bin/fortune/datfiles/freebsd-tips
@@ -856,3 +856,7 = @@ $ fc-list ':charset=3D0x1F4A1'
$ pkg which = /usr/local/share/fonts/noto/NotoColorEmoji.ttf
/usr/local/share/fonts/noto/NotoColorEmoji.ttf was installed = by package noto-emoji-2.042
%
+When netstat = reports every 8 seconds, it tells traffic in bits per second:
+
+$ netstat -I bge0 8

Ahh, too stupid to be smart !

Emm, I was wrong.

When netstat reports every 8 seconds, you're gonna = get `8 * bytes per 8 seconds`, so you still get `bytes per second` but = not `bits per second` ...


Best regards,
Zhenlei

+%



= --Apple-Mail=_4503F562-A192-44F2-BE83-30F8C9B1D736-- From nobody Tue Dec 3 05:32:34 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2TnG6Z40z5fnPH; Tue, 03 Dec 2024 05:32:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2TnG66n3z468P; Tue, 3 Dec 2024 05:32:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733203954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=35rAvdL+jMnXufQWILsas7IILAvBMsonK1OR51Wh4xQ=; b=tLpNfzB5CbKNS9/B55ifas+cK9Rh3Wx7GJ8oy+R1ot54icv/0gg6aK/2MLA0TwIeCuMfyH qi1IQ2hK+pthtbFonrLnDqgp7HgbAIQb53Y1aCGLIcOomgrFdPBh4b01ItXtEHlP+bMTzk IvFjfY7nU2HfRO8TqqBeOLRQQXvsvHiPu4ArFF+kBd2v7N+67J9WRn0QwvuknD44OnpYY/ euXK4LEvj1MvJZGpLA7WGvsuftHevkfgFP2RKz02XfOkM6qzSxvFsh3s99rCJhwwNTnaOu TRc+wQ/bXQhly4wG9vUju/xRLmeA++VMWj5WlFTv5LpGcfDyHwSToL/XZTGl2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733203954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=35rAvdL+jMnXufQWILsas7IILAvBMsonK1OR51Wh4xQ=; b=ERtE+owLL8uy8ePatkKH0GJaKhZWqztnbQ8/r5eiSlzu3NlrNT2V0P3D0ga+YDq48jqs+Y sUzncdo8o6Vb3pOjbQeQm7KDS57jFNdgjADuAI24StuIBFnnBBqpbpKiYaoRqots83jQP9 Gck6+7gfk88guuXRG6+kadVxlAJsNiN/kSrvi46sz4DMDMbU0roV601VjSAXCd4nIa0qvD xjRCVdXFTqBrqSri6/4HpHb26XPbaEOtOQyJh9eig8apDFTsoAJlRwy+AlXvVSaLx8mmwq tzCVHUuzC76Ci+xOMwpYA+cTkiPFTSRm2R8NAVoHIpsJ3b1eC5qR5I7+p01Svw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733203954; a=rsa-sha256; cv=none; b=ksDvd1/fQwbamAthXBfH/RJ1fEHS86UfHvQY0k1suqWSuXs1HDVujAwuReVQCqxvhbpFwZ 2sb4gEkOCxdK98JOwtRnNisvlDlbtSO2H/d3DQPiHgOZZtsheNpCif/UF7C5VuTy7SKYiV mLUEgc3GH3o+iErQuOHW2YprhiOLoxl08aVABG5/AbQeVbiVhLTHrALn7RrNy2uFdEkwNJ H5zIR7tGJiXFGL934K/ZSfQYKuJ1prky0GS/zMaa3U8y0gRqGJ/ysNBLczKucjiDWoAFV3 0TZXuFGixduStpdTu+xEiGC9KNeqkuU1l/2LWUipFeflePtovkBxtevp6PDZlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2TnG5k1tz18gF; Tue, 3 Dec 2024 05:32: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 4B35WYRY041954; Tue, 3 Dec 2024 05:32:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B35WYLH041951; Tue, 3 Dec 2024 05:32:34 GMT (envelope-from git) Date: Tue, 3 Dec 2024 05:32:34 GMT Message-Id: <202412030532.4B35WYLH041951@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: c6b44f64c330 - main - net80211: add helper functions for determining HT transmit parameters List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c6b44f64c33010501aee2fd99016aeca54a09a1e Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=c6b44f64c33010501aee2fd99016aeca54a09a1e commit c6b44f64c33010501aee2fd99016aeca54a09a1e Author: Adrian Chadd AuthorDate: 2024-11-25 23:00:24 +0000 Commit: Adrian Chadd CommitDate: 2024-12-03 05:30:45 +0000 net80211: add helper functions for determining HT transmit parameters This adds helper functions to determine a variety of HT related transmit parameters: * AMPDU density and size; * short-GI for 20 and 40MHz; * Whether 40MHz transmit is allowed; * Whether HT rates have been negotiated for transmit. It should be done here rather than drivers having to re-invent the wheel each time. This is doubly important for AP modes where each node will hvae different supported features and this needs to be used when assembling transmit frames / configuring transmit parameters. Differential Revision: https://reviews.freebsd.org/D47747 Reviewed by: bz --- sys/net80211/ieee80211_ht.c | 140 ++++++++++++++++++++++++++++++++++++++++++++ sys/net80211/ieee80211_ht.h | 6 ++ 2 files changed, 146 insertions(+) diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c index 28c329ce3d32..1f97b7b9927a 100644 --- a/sys/net80211/ieee80211_ht.c +++ b/sys/net80211/ieee80211_ht.c @@ -3604,3 +3604,143 @@ ieee80211_add_htinfo_vendor(uint8_t *frm, struct ieee80211_node *ni) frm[5] = BCM_OUI_HTINFO; return ieee80211_add_htinfo_body(frm + 6, ni); } + +/* + * Get the HT density for the given 802.11n node. + * + * Take into account the density advertised from the peer. + * Larger values are longer A-MPDU density spacing values, and + * we want to obey them per station if we get them. + */ +int +ieee80211_ht_get_node_ampdu_density(const struct ieee80211_node *ni) +{ + struct ieee80211vap *vap; + int peer_mpdudensity; + + vap = ni->ni_vap; + peer_mpdudensity = + _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MPDUDENSITY); + if (vap->iv_ampdu_density > peer_mpdudensity) + peer_mpdudensity = vap->iv_ampdu_density; + return (peer_mpdudensity); +} + +/* + * Get the transmit A-MPDU limit for the given 802.11n node. + * + * Take into account the limit advertised from the peer. + * Smaller values indicate smaller maximum A-MPDU sizes, and + * should be used when forming an A-MPDU to the given peer. + */ +int +ieee80211_ht_get_node_ampdu_limit(const struct ieee80211_node *ni) +{ + struct ieee80211vap *vap; + int peer_mpdulimit; + + vap = ni->ni_vap; + peer_mpdulimit = + _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MAXRXAMPDU); + + return (MIN(vap->iv_ampdu_limit, peer_mpdulimit)); +} + +/* + * Return true if short-GI is available when transmitting to + * the given node at 20MHz. + * + * Ensure it's configured and available in the VAP / driver as + * well as the node. + */ +bool +ieee80211_ht_check_tx_shortgi_20(const struct ieee80211_node *ni) +{ + const struct ieee80211vap *vap; + const struct ieee80211com *ic; + + if (! ieee80211_ht_check_tx_ht(ni)) + return (false); + + vap = ni->ni_vap; + ic = ni->ni_ic; + + return ((ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI20) && + (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20) && + (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20)); +} + +/* + * Return true if short-GI is available when transmitting to + * the given node at 40MHz. + * + * Ensure it's configured and available in the VAP / driver as + * well as the node and BSS. + */ +bool +ieee80211_ht_check_tx_shortgi_40(const struct ieee80211_node *ni) +{ + const struct ieee80211vap *vap; + const struct ieee80211com *ic; + + if (! ieee80211_ht_check_tx_ht40(ni)) + return (false); + + vap = ni->ni_vap; + ic = ni->ni_ic; + + return ((ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI40) && + (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40) && + (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40)); +} + +/* + * Return true if HT rates can be used for the given node. + * + * There are some situations seen in the wild, wild past where + * HT APs would announce HT but no HT rates. + */ +bool +ieee80211_ht_check_tx_ht(const struct ieee80211_node *ni) +{ + const struct ieee80211vap *vap; + const struct ieee80211_channel *bss_chan; + + if (ni == NULL || ni->ni_chan == IEEE80211_CHAN_ANYC || + ni->ni_vap == NULL || ni->ni_vap->iv_bss == NULL) + return (false); + + vap = ni->ni_vap; + bss_chan = vap->iv_bss->ni_chan; + + if (bss_chan == IEEE80211_CHAN_ANYC) + return (false); + + if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && + ni->ni_htrates.rs_nrates == 0) + return (false); + return (IEEE80211_IS_CHAN_HT(ni->ni_chan)); +} + +/* + * Return true if HT40 rates can be transmitted to the given node. + * + * This verifies that the BSS is HT40 capable and the current + * node channel width is 40MHz. + */ +bool +ieee80211_ht_check_tx_ht40(const struct ieee80211_node *ni) +{ + struct ieee80211vap *vap; + struct ieee80211_channel *bss_chan; + + if (! ieee80211_ht_check_tx_ht(ni)) + return (false); + + vap = ni->ni_vap; + bss_chan = vap->iv_bss->ni_chan; + + return (IEEE80211_IS_CHAN_HT40(bss_chan) && + IEEE80211_IS_CHAN_HT40(ni->ni_chan) && + (ni->ni_chw == 40)); +} diff --git a/sys/net80211/ieee80211_ht.h b/sys/net80211/ieee80211_ht.h index 6ba791065d15..0f4c1025695e 100644 --- a/sys/net80211/ieee80211_ht.h +++ b/sys/net80211/ieee80211_ht.h @@ -240,5 +240,11 @@ int ieee80211_ampdu_tx_request_ext(struct ieee80211_node *ni, int tid); int ieee80211_ampdu_tx_request_active_ext(struct ieee80211_node *ni, int tid, int status); void ieee80211_htinfo_notify(struct ieee80211vap *vap); +int ieee80211_ht_get_node_ampdu_density(const struct ieee80211_node *ni); +int ieee80211_ht_get_node_ampdu_limit(const struct ieee80211_node *ni); +bool ieee80211_ht_check_tx_shortgi_20(const struct ieee80211_node *ni); +bool ieee80211_ht_check_tx_shortgi_40(const struct ieee80211_node *ni); +bool ieee80211_ht_check_tx_ht40(const struct ieee80211_node *ni); +bool ieee80211_ht_check_tx_ht(const struct ieee80211_node *ht); #endif /* _NET80211_IEEE80211_HT_H_ */ From nobody Tue Dec 3 05:32:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2TnJ1hx3z5fnDg; Tue, 03 Dec 2024 05:32:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2TnJ03wqz46Qs; Tue, 3 Dec 2024 05:32:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733203956; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BkMZ7cbGScA3+TGq9qx0Tw3aYaAjYDgCZ1xC3DwLUH0=; b=C/QM3cr1Asj/b7L6V/Qo/SXzmgIDzfpq1oTmEZ25TDSxuF4sN2SHI89eZ9aKslYkpmqa7K +KEgOQ198oc3FyqCgkbyVaEYwXvKuOX+o7Es3XLPSrPh4I4I1pExcRJYL366nbI+Z9lgCp wKUkRlDVAFzAN2II79UcChuFiEzaWd/kyasJUS/BWMV9/x+zbyuITM9lUiWn+1i5EIFrS6 mcGqmEoLb6kbMkYaZEjVf3gwiM30oc6jujiu6gXps+f480tZHyy+NnHdc+T4K881zZ25YZ 8+ujXKkbRN1YGwIsq649flv5XPJdqyQCiTaV+FbHc8lsJoPYsy7JQ7qzgUYAvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733203956; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BkMZ7cbGScA3+TGq9qx0Tw3aYaAjYDgCZ1xC3DwLUH0=; b=AHjyjTooND5g6GYQxns0cq1B+Zsh84CHWoIeSZgvkYNFDXbKGQaz4n8MbxFguboaqKanSu ZcRYoieRobb+KUu/mwxstStlCToG3dsgjgcjik6twE3b+46hd6dKRG6XilB2DeoS3zcsfy RPIpI/LKVWt/ihP39vI4G0gk5AvbkuWgp0knL4s+1vg4vIOCogFcnQc4W6GyrEbIIY5z+X lVL2/sG5YWmX3P9oERCNVDTRF1hzPl2Kaf8+MZ/QxDUs1sWWb8zLSBjn1rPkNjc3kWeguD xrUq/xvBjLevBPLnrOJt0CmHD3XkxM7+cXykSPXvtrMGX7Jh9gHNqV5MwtvHQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733203956; a=rsa-sha256; cv=none; b=Ehanbo2ypM1ty3SJfAbzeEGFmYktKZGcupmhzA1F40sijDJ4m8v+kyK4SJlJaM340BBNVT HcOZl9ZABxWiAhF0VsI+HIfry0pLJGFLkHMzrzkBqiIWLpmpYSyeH0sJYIVWVXQ+oW4Hr/ OqoEhOd/GyKYpevOIZiOYaj7TXbrK6k+cYfNaJuFMVyBwzWc6i5Wm7tV0jyBEmBFNqZLlo 4N/a5OMU/bwzFXvMxE6f3KkNtIWVngD+BhBcwzim3MKEeVu9JCmXM1xcuBkNhzRz0nLrrh R32w0kUZU77Vu8OIqDUuaEO0U2xJRCl7RXA9XhUGAKKmstsUnssDySqN8mNoPw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2TnH6VPBz18Sk; Tue, 3 Dec 2024 05:32: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 4B35WZlY042014; Tue, 3 Dec 2024 05:32:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B35WZTw042011; Tue, 3 Dec 2024 05:32:35 GMT (envelope-from git) Date: Tue, 3 Dec 2024 05:32:35 GMT Message-Id: <202412030532.4B35WZTw042011@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: 3d54d9e364f8 - main - ath: use the new net80211 methods for AMPDU density/limit, short-GI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 3d54d9e364f88117fa9f7126ef0184c6da5069fc Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=3d54d9e364f88117fa9f7126ef0184c6da5069fc commit 3d54d9e364f88117fa9f7126ef0184c6da5069fc Author: Adrian Chadd AuthorDate: 2024-11-25 23:02:26 +0000 Commit: Adrian Chadd CommitDate: 2024-12-03 05:31:05 +0000 ath: use the new net80211 methods for AMPDU density/limit, short-GI Now that net80211 has this code, just leverage it instead of rolling our own. Differential Revision: https://reviews.freebsd.org/D47748 Reviewed by: bz --- sys/dev/ath/if_ath_tx_ht.c | 38 +++++++------------------------------- 1 file changed, 7 insertions(+), 31 deletions(-) diff --git a/sys/dev/ath/if_ath_tx_ht.c b/sys/dev/ath/if_ath_tx_ht.c index ca69d4558d76..9558b7c9e696 100644 --- a/sys/dev/ath/if_ath_tx_ht.c +++ b/sys/dev/ath/if_ath_tx_ht.c @@ -222,7 +222,6 @@ void ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf) { struct ieee80211_node *ni = bf->bf_node; - struct ieee80211vap *vap = ni->ni_vap; struct ieee80211com *ic = ni->ni_ic; const HAL_RATE_TABLE *rt = sc->sc_currates; struct ath_rc_series *rc = bf->bf_state.bfs_rc; @@ -297,17 +296,13 @@ ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf) * we are always "out" by some amount. */ if (ni->ni_chw == 40 && - ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI40 && - ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40 && - vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40 && + ieee80211_ht_check_tx_shortgi_40(ni) && (bf->bf_flags & ATH_BUF_TOA_PROBE) == 0) { rc[i].flags |= ATH_RC_SGI_FLAG; } if (ni->ni_chw == 20 && - ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI20 && - ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20 && - vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20 && + ieee80211_ht_check_tx_shortgi_20(ni) && (bf->bf_flags & ATH_BUF_TOA_PROBE) == 0) { rc[i].flags |= ATH_RC_SGI_FLAG; } @@ -406,7 +401,6 @@ ath_compute_num_delims(struct ath_softc *sc, struct ath_buf *first_bf, { const HAL_RATE_TABLE *rt = sc->sc_currates; struct ieee80211_node *ni = first_bf->bf_node; - struct ieee80211vap *vap = ni->ni_vap; int ndelim, mindelim = 0; int mpdudensity; /* in 1/100'th of a microsecond */ int peer_mpdudensity; /* net80211 value */ @@ -418,17 +412,7 @@ ath_compute_num_delims(struct ath_softc *sc, struct ath_buf *first_bf, /* * Get the advertised density from the node. */ - peer_mpdudensity = - _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MPDUDENSITY); - - /* - * vap->iv_ampdu_density is a net80211 value, rather than the actual - * density. Larger values are longer A-MPDU density spacing values, - * and we want to obey larger configured / negotiated density values - * per station if we get it. - */ - if (vap->iv_ampdu_density > peer_mpdudensity) - peer_mpdudensity = vap->iv_ampdu_density; + peer_mpdudensity = ieee80211_ht_get_node_ampdu_density(ni); /* * Convert the A-MPDU density net80211 value to a 1/100 microsecond @@ -563,8 +547,6 @@ static int ath_get_aggr_limit(struct ath_softc *sc, struct ieee80211_node *ni, struct ath_buf *bf) { - struct ieee80211vap *vap = ni->ni_vap; - int amin = ATH_AGGR_MAXSIZE; int i; @@ -572,15 +554,9 @@ ath_get_aggr_limit(struct ath_softc *sc, struct ieee80211_node *ni, if (sc->sc_aggr_limit > 0 && sc->sc_aggr_limit < ATH_AGGR_MAXSIZE) amin = sc->sc_aggr_limit; - /* Check the vap configured transmit limit */ - amin = MIN(amin, ath_rx_ampdu_to_byte(vap->iv_ampdu_limit)); - - /* - * Check the HTCAP field for the maximum size the node has - * negotiated. If it's smaller than what we have, cap it there. - */ - amin = MIN(amin, ath_rx_ampdu_to_byte( - _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MAXRXAMPDU))); + /* Check the vap and node configured transmit limit */ + amin = MIN(amin, + ath_rx_ampdu_to_byte(ieee80211_ht_get_node_ampdu_limit(ni))); for (i = 0; i < ATH_RC_NUM; i++) { if (bf->bf_state.bfs_rc[i].tries == 0) @@ -593,7 +569,7 @@ ath_get_aggr_limit(struct ath_softc *sc, struct ieee80211_node *ni, "peer maxrxampdu=%d, max frame len=%d\n", __func__, sc->sc_aggr_limit, - vap->iv_ampdu_limit, + ni->ni_vap->iv_ampdu_limit, _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MAXRXAMPDU), amin); From nobody Tue Dec 3 05:32:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2TnK49Ljz5fnDk; Tue, 03 Dec 2024 05:32:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2TnK2qy1z46T1; Tue, 3 Dec 2024 05:32:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733203957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xzywvnNkdj/pMzjF30SekkUBVOq7mZo4BV416FkMZsg=; b=aEfNry364oyEv4w+/FapF3M9Bri+g2XGbV/tctGXDbCQbNHzEXTQHxeBYKs432MPvf6XE8 8pxIDxsmPn6MFvQcsa9GJrbbAg1p1MTatMEGJadJnAeuInBt5fos2vTqCK3/jQpqeg0wM6 k+DERT6XKzbFIiyCdoGekHyael8Mhrz8md0xqkS6xSjs4nSObBGuERXVXyqRgD/cpEwfFC 6izgmhHigbAvAp/VdQ9hHDSmU9YQ5qQN5NfHtERW72LeBpQ6XHopTmM22okuexn8ngPpGK dmibrHk9nChNsy3YzwjpEt9P4+Jxv0//AVl0fBhMHRZiDKgLFgUxwmBvnhKNFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733203957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xzywvnNkdj/pMzjF30SekkUBVOq7mZo4BV416FkMZsg=; b=jqyMuTYr/7A8Slhc/PCBOcTCmtp58eVjtsPUalO8dggKQrCZGK5qUjabUpA2CjDAIw6xBp mtEBrJk4oHRCgKuoJbkWZb1yYRANrlgvDHXezeLOvjtyo0Lqu/UB5KTLnQ65IsaNkJ0H8T nSuloiA2Z1EmvOvPCLOkhvf38cagACVZqqCzTNTLK5D6222ORzmSoCfMn2ro5pKIxkzKIU R5WltjOnR9l162OzdRUNK2vL0IdxI66z5W1O7X0JqyXR+uU71IzE0DYSalb1SoYxLOFB2T r1f8/dWEzRLEtEDe1iFPTJCToxTTUOORnQD4aysgA3NoYoPO+r5XJbxYD7R23g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733203957; a=rsa-sha256; cv=none; b=tsRUx0RdKHzEsP9qPVzdAEJ8MoDTcQhIRr1Y3ykYIwELKVv96oFU1PhstieELe6VlFzDyz xBgFMyCCL49Smk00em9jrLbN2DC4dPEKpwNeaPRqbY61FfDdB5HRYuLC/2pAuhgsQqslMY 0dHMh3HaJyR0yeQ1+fIm2PtrfkSo2dXB5lzjLXEzJnxr0LK6U6gCmtY9+ulGWfarHKFhEJ yufWRvGi23N2FCrfXnDHSsnhCJPzQMIxFE9qxdAJUQjkAHDt93TD22jYPzhA87bWYYJp3J vUf88iHcpcwyqGFHdGAekfEuN0odoHO7cVnyTyuPKyB20VuuW65hb4M6AS21tg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2TnK0QnZz18gG; Tue, 3 Dec 2024 05:32:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B35WaOO042056; Tue, 3 Dec 2024 05:32:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B35WaaS042053; Tue, 3 Dec 2024 05:32:36 GMT (envelope-from git) Date: Tue, 3 Dec 2024 05:32:36 GMT Message-Id: <202412030532.4B35WaaS042053@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: 3f62f8ef5e40 - main - iwn: use ieee80211_ht_check_tx_shortgi_20() and ieee80211_ht_check_tx_shortgi_40() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 3f62f8ef5e4001ba7a2a9324e10a508eea15b68c Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=3f62f8ef5e4001ba7a2a9324e10a508eea15b68c commit 3f62f8ef5e4001ba7a2a9324e10a508eea15b68c Author: Adrian Chadd AuthorDate: 2024-11-25 23:13:32 +0000 Commit: Adrian Chadd CommitDate: 2024-12-03 05:31:39 +0000 iwn: use ieee80211_ht_check_tx_shortgi_20() and ieee80211_ht_check_tx_shortgi_40() Use the new net80211 routines to check the node width and the local / node flags. This should be "more" correct than the previous code. Differential Revision: https://reviews.freebsd.org/D47750 Reviewed by: bz --- sys/dev/iwn/if_iwn.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c index 50d50fdc473c..db3eb37ced9e 100644 --- a/sys/dev/iwn/if_iwn.c +++ b/sys/dev/iwn/if_iwn.c @@ -2812,23 +2812,18 @@ iwn_rate_to_plcp(struct iwn_softc *sc, struct ieee80211_node *ni, */ plcp = IEEE80211_RV(rate) | IWN_RFLAG_MCS; - /* - * XXX the following should only occur if both - * the local configuration _and_ the remote node - * advertise these capabilities. Thus this code - * may need fixing! - */ - /* * Set the channel width and guard interval. + * + * Take into account the local configuration and + * the node/peer advertised abilities. */ if (IEEE80211_IS_CHAN_HT40(ni->ni_chan)) { plcp |= IWN_RFLAG_HT40; - if (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40) + if (ieee80211_ht_check_tx_shortgi_40(ni)) plcp |= IWN_RFLAG_SGI; - } else if (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20) { + } else if (ieee80211_ht_check_tx_shortgi_20(ni)) plcp |= IWN_RFLAG_SGI; - } /* * Ensure the selected rate matches the link quality From nobody Tue Dec 3 05:32:38 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2TnM0fCRz5fnPL; Tue, 03 Dec 2024 05:32:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2TnL2zgFz46CK; Tue, 3 Dec 2024 05:32:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733203958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tgv8AC8xF8nvQQpc5me+NNhNl+SP1v4+on8IwPSEHKs=; b=VFoVUnsbTdKh5Dr1jY75WQenRYcTX0AmpPKTf44gyJCsdAI/2utIgCBPYPM7St3eIdxUpo rxweOJqLOdXG+ojDrKCejbOVah6ckSZgRwaKm8IXT15O/6mnDrpA9QGNyxCcmhCw+VuC1b UeODsDGY8JdjqE08QWRZZt8i8NB6Bxt3YsiHAtfgZJLQi1uuBOdWt9NbgTLbJ2fpUFnuWL U9BFMo5fNRrBWhtqqW2gz9xx2KD5BEl0sDfmQl/eUkLbPzEVemw0Eo0rg6iPuXYZ4urCzP KQNaztdzr4D0hPz7In35is+2zvClbaDBDmJxTRSuGOzBwYatkE2LBcdY+9FNMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733203958; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tgv8AC8xF8nvQQpc5me+NNhNl+SP1v4+on8IwPSEHKs=; b=SjDrrmVx+39sFJIXG+CgE3/lLgseiPSV0E+PdX6xKlq7iQ7LMn8y61LnDqL7fAiAieNC9a EwFc7x2zwYfwdH5HaApQPjqVHjAYVw35lZAPD6KT2YBkTAZIWThjKJI41fQuqzSNLsMmnT kEaWiUW1g+RG2jT/3XO1lcSuLWJqSq3/pIi1/uOvWnkxJQv/wFSaha11lgrOP20SHvr7AW GuwzjBKGIsSQ+Lv8zKBWS2mTKqcsetFqr3YV4Cahn8rnA3Taxk5u4wkHs7OAEr+Kz//CtG eMzmR6MmVJJbFlaR/F4FdOKnWrzRmlzT/0p3chO/Cv4BEOJH0cEiJMcp/Yj4og== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733203958; a=rsa-sha256; cv=none; b=HWH9O2GmGv+mTbmrAC1Y9UQ8v5QxqwaOSCVlPo8+mvGbgM97I1Mjuyl4u00ZHId51KG+vZ PYb7ny29oVSMWqpaQr0n7XaJTkCp/DMHFQMHL4aAIXLAVkfR4WCAm3bwsO3JNHVLIlEYft ToJt2oVXE6STIA9WxJSMOW2iT1vkYDzPd30ETo22FhAr3B8OvDRjeFXESN2LX02B5fJEAg ouED5srxZ06shykX91hdwY4IZbnG4wzd6WH3fWKaR8wPKctXKHEdykD1TtIfcobNFAqO7O t7mdO8Q8IgO75bJLDbMigwVPGmVMWQcNIWzml9hOj9KPWlYrNfq+Ba0UlmyRIA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2TnL1RGhz193k; Tue, 3 Dec 2024 05:32: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 4B35Wcpf042103; Tue, 3 Dec 2024 05:32:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B35WchN042100; Tue, 3 Dec 2024 05:32:38 GMT (envelope-from git) Date: Tue, 3 Dec 2024 05:32:38 GMT Message-Id: <202412030532.4B35WchN042100@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: 2014462da5b3 - main - amrr: remove duplicate logic, use ieee80211_ht_check_tx_ht() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2014462da5b3e630cdbf687d918bbfc0c3a344a4 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=2014462da5b3e630cdbf687d918bbfc0c3a344a4 commit 2014462da5b3e630cdbf687d918bbfc0c3a344a4 Author: Adrian Chadd AuthorDate: 2024-11-26 01:40:12 +0000 Commit: Adrian Chadd CommitDate: 2024-12-03 05:32:08 +0000 amrr: remove duplicate logic, use ieee80211_ht_check_tx_ht() This uses the new net80211 helper function to indicate that nodes can actually receive transmitted HT rates. Differential Revision: https://reviews.freebsd.org/D47754 Reviewed by: bz --- sys/net80211/ieee80211_amrr.c | 37 +++++++++---------------------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/sys/net80211/ieee80211_amrr.c b/sys/net80211/ieee80211_amrr.c index 461554d75ea1..386a3de92a74 100644 --- a/sys/net80211/ieee80211_amrr.c +++ b/sys/net80211/ieee80211_amrr.c @@ -138,25 +138,6 @@ amrr_deinit(struct ieee80211vap *vap) nrefs--; /* XXX locking */ } -/* - * Return whether 11n rates are possible. - * - * Some 11n devices may return HT information but no HT rates. - * Thus, we shouldn't treat them as an 11n node. - */ -static int -amrr_node_is_11n(struct ieee80211_node *ni) -{ - - if (ni->ni_chan == NULL) - return (0); - if (ni->ni_chan == IEEE80211_CHAN_ANYC) - return (0); - if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && ni->ni_htrates.rs_nrates == 0) - return (0); - return (IEEE80211_IS_CHAN_HT(ni->ni_chan)); -} - static void amrr_node_init(struct ieee80211_node *ni) { @@ -189,7 +170,7 @@ amrr_node_init(struct ieee80211_node *ni) amn->amn_success_threshold = amrr->amrr_min_success_threshold; /* 11n or not? Pick the right rateset */ - if (amrr_node_is_11n(ni)) { + if (ieee80211_ht_check_tx_ht(ni)) { /* XXX ew */ IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, "%s: 11n node", __func__); @@ -204,7 +185,7 @@ amrr_node_init(struct ieee80211_node *ni) rate = rs->rs_rates[0]; /* XXX clear the basic rate flag if it's not 11n */ - if (! amrr_node_is_11n(ni)) + if (! ieee80211_ht_check_tx_ht(ni)) rate &= IEEE80211_RATE_VAL; /* pick initial rate from the rateset - HT or otherwise */ @@ -213,7 +194,7 @@ amrr_node_init(struct ieee80211_node *ni) amn->amn_rix--) { /* legacy - anything < 36mbit, stop searching */ /* 11n - stop at MCS4 */ - if (amrr_node_is_11n(ni)) { + if (ieee80211_ht_check_tx_ht(ni)) { if ((rs->rs_rates[amn->amn_rix] & 0x1f) < 4) break; } else if ((rs->rs_rates[amn->amn_rix] & IEEE80211_RATE_VAL) <= 72) @@ -222,7 +203,7 @@ amrr_node_init(struct ieee80211_node *ni) rate = rs->rs_rates[amn->amn_rix] & IEEE80211_RATE_VAL; /* if the rate is an 11n rate, ensure the MCS bit is set */ - if (amrr_node_is_11n(ni)) + if (ieee80211_ht_check_tx_ht(ni)) rate |= IEEE80211_RATE_MCS; /* Assign initial rate from the rateset */ @@ -234,7 +215,7 @@ amrr_node_init(struct ieee80211_node *ni) IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, "AMRR: nrates=%d, initial rate %s%d", rs->rs_nrates, - amrr_node_is_11n(ni) ? "MCS " : "", + ieee80211_ht_check_tx_ht(ni) ? "MCS " : "", rate & IEEE80211_RATE_VAL); } @@ -254,7 +235,7 @@ amrr_update(struct ieee80211_amrr *amrr, struct ieee80211_amrr_node *amn, KASSERT(is_enough(amn), ("txcnt %d", amn->amn_txcnt)); /* 11n or not? Pick the right rateset */ - if (amrr_node_is_11n(ni)) { + if (ieee80211_ht_check_tx_ht(ni)) { /* XXX ew */ rs = (struct ieee80211_rateset *) &ni->ni_htrates; } else { @@ -347,7 +328,7 @@ amrr_rate(struct ieee80211_node *ni, void *arg __unused, uint32_t iarg __unused) amrr = amn->amn_amrr; /* 11n or not? Pick the right rateset */ - if (amrr_node_is_11n(ni)) { + if (ieee80211_ht_check_tx_ht(ni)) { /* XXX ew */ rs = (struct ieee80211_rateset *) &ni->ni_htrates; } else { @@ -360,7 +341,7 @@ amrr_rate(struct ieee80211_node *ni, void *arg __unused, uint32_t iarg __unused) /* update public rate */ ni->ni_txrate = rs->rs_rates[rix]; /* XXX strip basic rate flag from txrate, if non-11n */ - if (amrr_node_is_11n(ni)) + if (ieee80211_ht_check_tx_ht(ni)) ni->ni_txrate |= IEEE80211_RATE_MCS; else ni->ni_txrate &= IEEE80211_RATE_VAL; @@ -482,7 +463,7 @@ amrr_print_node_rate(struct ieee80211_amrr_node *amn, int rate; struct ieee80211_rateset *rs; - if (amrr_node_is_11n(ni)) { + if (ieee80211_ht_check_tx_ht(ni)) { rs = (struct ieee80211_rateset *) &ni->ni_htrates; rate = rs->rs_rates[amn->amn_rix] & IEEE80211_RATE_VAL; sbuf_printf(s, "rate: MCS %d\n", rate); From nobody Tue Dec 3 05:32:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2TnM4kc0z5fn1d; Tue, 03 Dec 2024 05:32:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2TnM2ys0z46CT; Tue, 3 Dec 2024 05:32:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733203959; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=77QqagvbLojaCYZjISuZjhuNy0McKcNd+qJVuCvDj6s=; b=OJAqLjj4eN342fsAOl+Lr9XDrQQ7jtbMIb0okk0S9wtQxJExzvoUpZk1WH6+Ry5k2BGKSh lORVEdfVEp5rDxWtK+mCNN2L0U8VoTxWpPGrKW+CU+eh7b7r29PsPI17Cra4p0UlwIXvA6 dtTgqDrI/24fR1lrW+AwGUpe93FqBy1/snnT2qJ+SkNljmucH10lf1jCTGyonEqhR/Y57U 7G9ElFbVB0rxAiYlnOpmRUVQ4S1FcT7t/PuBK2m7AaGuaiOnaSS1HliLkFe/cNOmy5YPFl tB1x0fnGmUBKUoW2Zs9pN790avjXtgwGGgGD3xTmUPwX/gM9JMqshtq9cvn88Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733203959; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=77QqagvbLojaCYZjISuZjhuNy0McKcNd+qJVuCvDj6s=; b=N88af5wfNr/F2OFHq5GCCgNdG0wVRnD8a9VAyQnu3oXl6X48r7DDxDhDnrF3TF3CjglLDF wzSc+u0p7z2w2L/MBCA4lpctgAxboCK1pY9ZKV05uE/z1V7CQfg6r/bUdksv1K0NQWTOB2 +2OWwcC+MxTNwbgFB2Jr49nWDauWLs/6nxQe1ZMOF8FrfoTNHqQ1UGnMkhaTm3kkzu+6Qx A1UkJ3X4SwooVNlc4v16zVQpduWZzlkWwN0b+pzBiQy3e21xZS9JgtAxHuwypGtzQ+JO8Y Uuwx2XZbYumKlqKhjzackwSmG8w5M0Blr5Bff2Baq4MoF2PeWP204zdClV3Cig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733203959; a=rsa-sha256; cv=none; b=oxS9ecQoAcfcfVQ1uMVqNVssfckQuQgrIW9sL3/d1WHArpOmNdN3xA9CbdpFZGm31uv93U 2xVMezAblUbimOZlV4Y0t5L5dE0wV26HKKKJ61ZoA+yijoaseqO2LRLl3P2XTWCSKw46Re BGgUW+wPoCguXtpv+DAWrnapc1SBc2gzIjU8SPd90F2i6uXXY3y+E5l5b1IPTHaSxgZFLQ mwN0xn7FfKZJKyL7Va7NuQ9b6seJZ5jebO8QKp68qZ5WqxnPIkmOdRObEygPYR+7rAEllW 14iJQ01wgc/o1tZRaShql1xF/7UD4EomQDG+oFgVpi6HSMXQ+Wi1pF/GnduLsg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2TnM2BFNz18W7; Tue, 3 Dec 2024 05:32: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 4B35WdRE042144; Tue, 3 Dec 2024 05:32:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B35WdUZ042141; Tue, 3 Dec 2024 05:32:39 GMT (envelope-from git) Date: Tue, 3 Dec 2024 05:32:39 GMT Message-Id: <202412030532.4B35WdUZ042141@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: 057db5b227d0 - main - iwn: use ieee80211_ht_check_tx_ht() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 057db5b227d0e1c1d14c7dbc67c6613e328d1735 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=057db5b227d0e1c1d14c7dbc67c6613e328d1735 commit 057db5b227d0e1c1d14c7dbc67c6613e328d1735 Author: Adrian Chadd AuthorDate: 2024-11-26 01:50:50 +0000 Commit: Adrian Chadd CommitDate: 2024-12-03 05:32:26 +0000 iwn: use ieee80211_ht_check_tx_ht() ieee80211_ht_check_tx_ht() now implements the "is this a HT node with actual HT rates I can transmit to." Differential Revision: https://reviews.freebsd.org/D47755 Reviewed by: bz --- sys/dev/iwn/if_iwn.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c index db3eb37ced9e..b887ebf842e1 100644 --- a/sys/dev/iwn/if_iwn.c +++ b/sys/dev/iwn/if_iwn.c @@ -4480,7 +4480,7 @@ iwn_tx_rate_to_linkq_offset(struct iwn_softc *sc, struct ieee80211_node *ni, /* * Figure out if we're using 11n or not here. */ - if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && ni->ni_htrates.rs_nrates > 0) + if (ieee80211_ht_check_tx_ht(ni)) is_11n = 1; else is_11n = 0; @@ -5358,7 +5358,7 @@ iwn_set_link_quality(struct iwn_softc *sc, struct ieee80211_node *ni) * 11n _and_ we have some 11n rates, or don't * try. */ - if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && ni->ni_htrates.rs_nrates > 0) { + if (ieee80211_ht_check_tx_ht(ni)) { rs = (struct ieee80211_rateset *) &ni->ni_htrates; is_11n = 1; } else { From nobody Tue Dec 3 07:55:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2XyF4H6Vz5g23B; Tue, 03 Dec 2024 07:55:33 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2XyF14z6z4QWf; Tue, 3 Dec 2024 07:55:32 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Authentication-Results: mx1.freebsd.org; none Received: from critter.freebsd.dk (unknown [192.168.55.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by phk.freebsd.dk (Postfix) with ESMTPS id 8FC788928B; Tue, 03 Dec 2024 07:55:24 +0000 (UTC) Received: (from phk@localhost) by critter.freebsd.dk (8.18.1/8.16.1/Submit) id 4B37tO1k018962; Tue, 3 Dec 2024 07:55:24 GMT (envelope-from phk) Message-Id: <202412030755.4B37tO1k018962@critter.freebsd.dk> To: Zhenlei Huang cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: b5a8abe9502e - main - How to show interface traffic in bits per second In-reply-to: From: "Poul-Henning Kamp" References: <202412022113.4B2LD0mt010926@gitrepo.freebsd.org> <043A2EA2-647F-4B04-B6AA-A3E6B001B741@FreeBSD.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <18960.1733212524.1@critter.freebsd.dk> Date: Tue, 03 Dec 2024 07:55:24 +0000 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:1835, ipnet:130.225.0.0/16, country:EU] X-Rspamd-Queue-Id: 4Y2XyF14z6z4QWf X-Spamd-Bar: ---- -------- Zhenlei Huang writes: > When netstat reports every 8 seconds, you're gonna get `8 * bytes per 8 > seconds`, so you still get `bytes per second` but not `bits per second` Netstat -I reports bytes since last update, not bytes per second. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. From nobody Tue Dec 3 10:00:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2bkZ6Lw4z5gCMf; Tue, 03 Dec 2024 10:00:38 +0000 (UTC) (envelope-from zlei@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 4Y2bkZ5wLVz4ckM; Tue, 3 Dec 2024 10:00:38 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733220038; 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=kM+sSv9nh2w7DNzyygnQ/vtigK19hK1+jdqrrJ6tr7Q=; b=VlQDcKrAGhTbtQphdrkS2WXqHSqWisBUbac0Pp/IvexejLEcPR8ThgZhat1UTbCqGoPtlw UQRMqSh4YWOTsj9MgeIIN2Of27XXvx0s8oXm58x8vaeSe5vmueoxFJAIXcZL0F1y1yyeLI ex48KfjFvnqrkIz/YPtcwMvYtbNrA+YbKfhtFxJf6eZTG6zan9Vxbl6QKCXycbbVyNbbEt 6CViRLFMwf1vNaKLuhHILBnHbbNkTXgjT7QJHrkMuwuWbMCK8QM0Bl5X9DsHTD6BP/ZByV tO9pnRCjkSktr/2KHBWEeOpUX4rEU0MeGlP1Cwec8BJ574iw9zGYy7FwB4Uovw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733220038; 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=kM+sSv9nh2w7DNzyygnQ/vtigK19hK1+jdqrrJ6tr7Q=; b=X19/GOqITldEff0oDuUGuMRd5KtiDwUAIqUCwY/0q3Xivc4QSqW3cM/pgqewYuhGeJUXRy FRtz9TXK4VdDkP/U3DJ6XLYtJhW/lM5zUs6Gu8QSPwJAb334sKv4QupK1evAIdjfjHHtyG CHycn+D0THW5EgfDnqyfZcyBYKRAVhnnmL9a+/wfQYIaUC3hJNnI6G0qFhFtU02WBuOIG2 AOsJ+mkmuu5s3Rxg6YABezeloJrSGoc8rcPxb2FDcHYZU/QeaBBZokT65su/q8IMfQrV1i yt51Q6M8yAsHlu6He02k+22I9uHYkxy90v7Xea3I+3NG1FSItuHis+eOUDwO/A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733220038; a=rsa-sha256; cv=none; b=O0UGsjofeT5mXOt583fmC/303sfQNJceS+mKpZA0GfJAJSkFPLd4PbkuFHpBKJzBdI6P7w E7vSI4H2oduoHAx3fXuDKd2lbBs8wICrDXU84Z2cYzXamm4Z+rGdW0FE5BAJedRy9juZX8 HZj9KDSfHgBaIdNhVS5cDtwSmVyWM1x/CCNyFIY45OdLL6Giu5eEdNu4u5l5Hi08Y+fDuo MN5Q9IevBb0BSet1EAZ9Mv2GV4SbiVUyEk11PFrp/mC8JQEE/XaIhgqWeae95nfDRhn8pO a65/ZWxRYAEC0K5wf3LO724UwHHl7K7NrCz3vl0DUh+ztKVkSLD6Nlpvw1t8wg== Received: from smtpclient.apple (unknown [IPv6:2001:19f0:6001:9db:98f0:9fe0:3545:10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: zlei/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y2bkV5clqzHdr; Tue, 3 Dec 2024 10:00:34 +0000 (UTC) (envelope-from zlei@FreeBSD.org) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.10\)) Subject: Re: git: b5a8abe9502e - main - How to show interface traffic in bits per second From: Zhenlei Huang In-Reply-To: <202412030755.4B37tO1k018962@critter.freebsd.dk> Date: Tue, 3 Dec 2024 18:00:25 +0800 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202412022113.4B2LD0mt010926@gitrepo.freebsd.org> <043A2EA2-647F-4B04-B6AA-A3E6B001B741@FreeBSD.org> <202412030755.4B37tO1k018962@critter.freebsd.dk> To: Poul-Henning Kamp X-Mailer: Apple Mail (2.3696.120.41.1.10) > On Dec 3, 2024, at 3:55 PM, Poul-Henning Kamp = wrote: >=20 > -------- > Zhenlei Huang writes: >=20 >> When netstat reports every 8 seconds, you're gonna get `8 * bytes per = 8=20 >> seconds`, so you still get `bytes per second` but not `bits per = second`=20 >=20 > Netstat -I reports bytes since last update, not bytes per second. Yeah, you're right. I think I over thought this and got confused by `per = second` :-) >=20 > --=20 > Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > phk@FreeBSD.ORG | TCP/IP since RFC 956 > FreeBSD committer | BSD since 4.3-tahoe =20 > Never attribute to malice what can adequately be explained by = incompetence. From nobody Tue Dec 3 10:49:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2cpQ1hwXz5fnY1; Tue, 03 Dec 2024 10:49:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2cpQ19PYz4lPr; Tue, 3 Dec 2024 10:49:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733222942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UHZN4LBWz627YHzbXVxnGHJAgxkoUdjA2UMPwUKhmH4=; b=Lj4Ym0QD8yrKKnspkWUzUBrUOzPAMT1q3PRZ4K63jfYhGWSZSsmrurLfUCfGOgRbWlLGbV m8iN2maJ/BBEd5gNYPiF3ViHO2vt6Ggk3g2KoOi7Q3QRWS8xcLb20NoiRBT79kcQtXLpyo 8XD5unPy00hyJ1OKjRskBKQlpUCyvvKzjAAQzRifWB1MFGKwwf37jvJc9hhOYR8wljXS0k AtOQ4ASn4o9CkWcbC1flquvAv25L/vfDXIIOQjL1JwpwBcmff+utI2XhNMHptHXPC7WVGf +l/IzhryA+PZ9F82y6ij6S/9cy44PnvUlWO9yG14y8CPfzRwpBhY2RpcWa0vyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733222942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UHZN4LBWz627YHzbXVxnGHJAgxkoUdjA2UMPwUKhmH4=; b=eePf77IEmMCTxa7E/tX2gHk6+QhzxThWo5LNyWG/jaMuL9og/7Rr7U/dV4sN+Alh1Hg31n rXwSBuKw/6RR218OKUlHLShlWePD1IWQBbIqH/rIOMIvxdMPxUI8ugoReuvJrOw77dYLwp FZfVgxLiJhKRpGSUVB3c9l1FRGREQ4ltQ1WvqvD9YG+hOK7GZfrOhrGxayStF37QBGqvBC 82pfqbpES1Cf/7siz841KOMlo3nZKy0VAxOzz+K05whhtDreswNsEoCztn8VoD7NqSsTU9 6FxYHm/58+KGTgmDwL/smAvJdo/VJ+Vs2GTBxxUFfOdKjKT2zBFiKOGbjwZ2+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733222942; a=rsa-sha256; cv=none; b=Z8Zu+qUEPkYHNP1JQNDdpt7OeENUBFFCkmuPy6LJRJEBccWOgEzumXz14XKMk1pESfZU0V rX8OHMqeEEyQVTlRZvWz/IiYZJPby+tCxsuWY5w7tl9DpRX3Jdvc1S1w5ZpZCB5QEmWcFA vti/TqZlIOGRSYx22CWlMWxiqzUc5L6Pz6/YgpsAnuZIzi/kdJFz06l7L1vmG6qx3KnMAR /uDCJvBO7p8DCyzktMSOh0KT3qu5HJXJUyu6ZzvStf+cUQ14Otmu2/Pn3RpC7gMiW43GGu 3m/xFKgOj/akzlHfseXIrwEo6Kb7kZqJV6UuX8skS2WVJVLI+SdQM+1R/JPA/w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2cpQ0hpMzKTS; Tue, 3 Dec 2024 10:49: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 4B3An1Hg020501; Tue, 3 Dec 2024 10:49:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3An1cm020498; Tue, 3 Dec 2024 10:49:01 GMT (envelope-from git) Date: Tue, 3 Dec 2024 10:49:01 GMT Message-Id: <202412031049.4B3An1cm020498@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tijl Coosemans Subject: git: 6b17d944a1d4 - main - rc.d/sendmail: Fix error with some configurations List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tijl X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6b17d944a1d448dbb797c5fa5b0778242ba02e52 Auto-Submitted: auto-generated The branch main has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=6b17d944a1d448dbb797c5fa5b0778242ba02e52 commit 6b17d944a1d448dbb797c5fa5b0778242ba02e52 Author: Tijl Coosemans AuthorDate: 2024-12-03 10:45:10 +0000 Commit: Tijl Coosemans CommitDate: 2024-12-03 10:46:39 +0000 rc.d/sendmail: Fix error with some configurations The sendmail startup script can run 4 daemons: sendmail, sendmail_submit, sendmail_outbound, and sendmail_msp_queue. Of the first 3 at most one can be enabled. There's a run_rc_command call for each and the ones for sendmail and sendmail_msp_queue run unconditionally. For some rc commands this triggers warnings or errors when sendmail_enable="NO" or sendmail_msp_queue_enable="NO". Since d2e7bb630b83 these errors are propagated and the whole script fails. Fix this by first determining which daemons are enabled, setting ${name} and ${rcvar} accordingly, and then always calling run_rc_command conditionally. Also replace ${name}.cf with sendmail.cf because ${name} isn't always sendmail. PR: 282585 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D47757 --- libexec/rc/rc.d/sendmail | 49 +++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/libexec/rc/rc.d/sendmail b/libexec/rc/rc.d/sendmail index 5a780e5b15a1..fa82d44ecc35 100755 --- a/libexec/rc/rc.d/sendmail +++ b/libexec/rc/rc.d/sendmail @@ -42,11 +42,28 @@ esac if checkyesno sendmail_enable; then sendmail_submit_enable="NO" sendmail_outbound_enable="NO" + _sendmail_run=true fi # If sendmail_submit_enable=yes, don't need outbound daemon if checkyesno sendmail_submit_enable; then + name="sendmail_submit" + rcvar="sendmail_submit_enable" sendmail_outbound_enable="NO" + _sendmail_run=true +fi + +if checkyesno sendmail_outbound_enable; then + name="sendmail_outbound" + rcvar="sendmail_outbound_enable" + _sendmail_run=true +fi + +if checkyesno sendmail_msp_queue_enable; then + _sendmail_msp_queue_run=true +else + # Make sure run_rc_command is called at least once. + _sendmail_run=true fi sendmail_cert_create() @@ -166,8 +183,8 @@ sendmail_precmd() # Die if there's pre-8.10 custom configuration file. This check is # mandatory for smooth upgrade. See NetBSD PR 10100 for details. # - if checkyesno ${rcvar} && [ -f "/etc/${name}.cf" ]; then - if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then + if checkyesno ${rcvar} && [ -f "/etc/sendmail.cf" ]; then + if ! cmp -s "/etc/mail/sendmail.cf" "/etc/sendmail.cf"; then warn \ "${name} was not started; you have multiple copies of sendmail.cf." return 1 @@ -205,33 +222,19 @@ sendmail_precmd() fi } -run_rc_command "$1" -_ret=$? - -required_files= - -if checkyesno sendmail_submit_enable; then - name="sendmail_submit" - rcvar="sendmail_submit_enable" - _rc_restart_done=false +if ${_sendmail_run:-false}; then run_rc_command "$1" - _ret=$(( _ret > $? ? _ret : $? )) fi +_ret=$? -if checkyesno sendmail_outbound_enable; then - name="sendmail_outbound" - rcvar="sendmail_outbound_enable" +if ${_sendmail_msp_queue_run:-false}; then + name="sendmail_msp_queue" + rcvar="sendmail_msp_queue_enable" + pidfile="${sendmail_msp_queue_pidfile:-/var/spool/clientmqueue/sm-client.pid}" + required_files="/etc/mail/submit.cf" _rc_restart_done=false run_rc_command "$1" _ret=$(( _ret > $? ? _ret : $? )) fi -name="sendmail_msp_queue" -rcvar="sendmail_msp_queue_enable" -pidfile="${sendmail_msp_queue_pidfile:-/var/spool/clientmqueue/sm-client.pid}" -required_files="/etc/mail/submit.cf" -_rc_restart_done=false -run_rc_command "$1" -_ret=$(( _ret > $? ? _ret : $? )) - (exit "$_ret") From nobody Tue Dec 3 13:10:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2gxQ1jdzz5g2pp; Tue, 03 Dec 2024 13:10:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2gxQ158dz3y2d; Tue, 3 Dec 2024 13:10:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733231418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bcf9kPTceuxE0jvXn0fioJ9ftUXfrdZ8MFTYefcyWn0=; b=QIQU5MdW4y+mVzfzRTZWYwsPeFS+SIk16xUCScgDxPonynWA6alx9sx2sKyggI72lt51/y diVnMARd9rV4tjMCdjQnV85dFe7ynjZXEDW8oPamUtfINJaMj84CPKtNxIhIvy7HDkTxb+ MIWJ1uWcFVZ6XDguB0niUcMrqwjR43lnp7kc7me0RKT3ePFffyF9+dpqcAZdDmGIK3ljZj svWkXdyy/WWcuoUNd4xnXj7DLOznS9fiOdiuhwK9QZ0aSaVDhFTiaTqgk8IHXczqjqgpUB jfkGkFs7/NV78BQlWOXnkO5iPzcpGOg3avJyBAkxx8zypBKAh2QLqTLZCGSAgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733231418; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bcf9kPTceuxE0jvXn0fioJ9ftUXfrdZ8MFTYefcyWn0=; b=we/Gonf3x0+oGMgQ9pW5c8ewRKZIwKj3easWbPUN9COAh432EAhq5z6BZ4Sv0k7jpuGMKp 4pDV35I/ESOolHPJarp+dNqDw/1CxIgWhfrxzTzLXmV4FDLitUh24d2jhii683NwFqUL0W u7UKkeOy2asOw8EIvN/743nslapOmK2cPe2pIOjaoavcEl4c0h++5171X9tJ1oLDd4Ec1z uEbTrmG1hsVzaPDmV9TNGA2JCTQgQOSEWWQT533jPXl8+/qTNwX28QFqsgWNPUiYUuiDg3 TOrJ/cHywiaKcq8hn9v4+GRp1pPlZ+8O9RufNi9p4QxrqLsruKtp3nOpfYOT3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733231418; a=rsa-sha256; cv=none; b=tfanhkr/RXpRlRY8CjGzgzBo7ALJmYVKnqegzWYSbpaevB1TtSEEA8dLfFaPnI73yqB/wl r295FNyKs39SE5oJUzLTp4TFRVxNHHHo1rTLD4trXJIQ8ITz2QA4jbzYbc1JL5LNku3b9b hN1cNhxxQyDa9+qHNSW1jXFYOQnzLQHkFFOuHkzE8niBCrxM/yjT5itFln2NU8hnNZfhx2 /cKHWi3aa2raRQNwy9ErxYLxlmwyIZVVpYkhS7CFGlhELlemvyUmW5ZPNaNsA/XURaxyUi d/nuo1BRGEoy8D7WNmJNUkET2kTLOzGKoT1YIQeMP/Gl7bBB3S6TytHhwUnHJA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2gxQ0R2FzNn1; Tue, 3 Dec 2024 13:10: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 4B3DAHn2091202; Tue, 3 Dec 2024 13:10:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3DAHT0091183; Tue, 3 Dec 2024 13:10:17 GMT (envelope-from git) Date: Tue, 3 Dec 2024 13:10:17 GMT Message-Id: <202412031310.4B3DAHT0091183@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: c49c9da239ca - main - pf: Move route-to information to rule actions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c49c9da239ca59722f104a64d9128e4b6052885a Auto-Submitted: auto-generated The branch main has been updated by ks: URL: https://cgit.FreeBSD.org/src/commit/?id=c49c9da239ca59722f104a64d9128e4b6052885a commit c49c9da239ca59722f104a64d9128e4b6052885a Author: Kajetan Staszkiewicz AuthorDate: 2024-11-28 13:08:15 +0000 Commit: Kajetan Staszkiewicz CommitDate: 2024-12-03 12:46:34 +0000 pf: Move route-to information to rule actions Route-to redirection information (rt, rt_kif, rt_addr) can be considered an action of a rule. This information is duplicated in struct pf_kstate which means that the pf_route() function must always figure out where to get this information from: state for stateful forwarding, or rule for stateless. Create the necessary members in struct pf_rule_action. Fill them in right after parsing the ruleset, similar for how NAT redirection is applied right after parsing the NAT ruleset. Remove the logic for finding the right source for route-to redirection from pf_route(). As a bonus simplify pf_map_addr_sn() and source node handling. Both for the NAT and the filter ruleset there is now only one path: 1. parse the rules 2. apply redirection either from an existing source node or by load balancing for the last matching rule 3. create the source node using the redirection if the node does not yet exist Reviewed by: kp Approved by: kp (mentor) Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D47827 --- sys/net/pfvar.h | 12 ++-- sys/netpfil/pf/if_pfsync.c | 6 +- sys/netpfil/pf/pf.c | 153 +++++++++++++++++---------------------------- sys/netpfil/pf/pf_ioctl.c | 18 +++--- sys/netpfil/pf/pf_lb.c | 32 +++------- sys/netpfil/pf/pf_nl.c | 8 +-- sys/netpfil/pf/pf_nv.c | 2 +- 7 files changed, 91 insertions(+), 140 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 0a0a17d2c754..30229cca2e74 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -648,17 +648,20 @@ struct pf_kpool { }; struct pf_rule_actions { + struct pf_addr rt_addr; + struct pfi_kkif *rt_kif; int32_t rtableid; + uint32_t flags; uint16_t qid; uint16_t pqid; uint16_t max_mss; + uint16_t dnpipe; + uint16_t dnrpipe; /* Reverse direction pipe */ uint8_t log; uint8_t set_tos; uint8_t min_ttl; - uint16_t dnpipe; - uint16_t dnrpipe; /* Reverse direction pipe */ - uint32_t flags; uint8_t set_prio[2]; + uint8_t rt; }; union pf_keth_rule_ptr { @@ -1089,12 +1092,10 @@ struct pf_kstate { struct pf_krule *rule; struct pf_krule *anchor; struct pf_krule *nat_rule; - struct pf_addr rt_addr; struct pf_state_key *key[2]; /* addresses stack and wire */ 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 pfi_kkif *rt_kif; struct pf_ksrc_node *src_node; struct pf_ksrc_node *nat_src_node; u_int64_t packets[2]; @@ -1104,7 +1105,6 @@ struct pf_kstate { u_int32_t pfsync_time; struct pf_rule_actions act; u_int16_t tag; - u_int8_t rt; u_int16_t if_index_in; u_int16_t if_index_out; }; diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c index 0dd1b480b313..8dd3d875dc0b 100644 --- a/sys/netpfil/pf/if_pfsync.c +++ b/sys/netpfil/pf/if_pfsync.c @@ -611,7 +611,7 @@ pfsync_state_import(union pfsync_state_union *sp, int flags, int msg_version) } /* copy to state */ - bcopy(&sp->pfs_1301.rt_addr, &st->rt_addr, sizeof(st->rt_addr)); + bcopy(&sp->pfs_1301.rt_addr, &st->act.rt_addr, sizeof(st->act.rt_addr)); st->creation = (time_uptime - ntohl(sp->pfs_1301.creation)) * 1000; st->expire = pf_get_uptime(); if (sp->pfs_1301.expire) { @@ -680,8 +680,8 @@ pfsync_state_import(union pfsync_state_union *sp, int flags, int msg_version) st->act.max_mss = ntohs(sp->pfs_1400.max_mss); st->act.set_prio[0] = sp->pfs_1400.set_prio[0]; st->act.set_prio[1] = sp->pfs_1400.set_prio[1]; - st->rt = sp->pfs_1400.rt; - if (st->rt && (st->rt_kif = pfi_kkif_find(sp->pfs_1400.rt_ifname)) == NULL) { + st->act.rt = sp->pfs_1400.rt; + if (st->act.rt && (st->act.rt_kif = pfi_kkif_find(sp->pfs_1400.rt_ifname)) == NULL) { if (V_pf_status.debug >= PF_DEBUG_MISC) printf("%s: unknown route interface: %s\n", __func__, sp->pfs_1400.rt_ifname); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index db23559774d0..fa656f92f79b 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -379,7 +379,8 @@ static void pf_counters_inc(int, struct pf_pdesc *, 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 *, sa_family_t, struct pf_addr *, + struct pfi_kkif *); 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); @@ -453,11 +454,11 @@ BOUND_IFACE(struct pf_kstate *st, struct pfi_kkif *k) return (k); /* No route-to, so don't overrule. */ - if (st->rt != PF_ROUTETO) + if (st->act.rt != PF_ROUTETO) return (k); /* Bind to the route-to interface. */ - return (st->rt_kif); + return (st->act.rt_kif); } #define STATE_INC_COUNTERS(s) \ @@ -1020,7 +1021,8 @@ 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_krule *rule, struct pf_addr *src, sa_family_t af, + struct pf_addr *raddr, struct pfi_kkif *rkif) { u_short reason = 0; @@ -1071,6 +1073,8 @@ pf_insert_src_node(struct pf_ksrc_node **sn, struct pf_srchash **sh, (*sn)->af = af; (*sn)->rule = rule; PF_ACPY(&(*sn)->addr, src, af); + PF_ACPY(&(*sn)->raddr, raddr, af); + (*sn)->rkif = rkif; LIST_INSERT_HEAD(&(*sh)->nodes, *sn, entry); (*sn)->creation = time_uptime; (*sn)->ruletype = rule->action; @@ -2709,8 +2713,8 @@ relock: s->kif->pfik_flags |= PFI_IFLAG_REFS; SLIST_FOREACH(mrm, &s->match_rules, entry) mrm->r->rule_ref |= PFRULE_REFS; - if (s->rt_kif) - s->rt_kif->pfik_flags |= PFI_IFLAG_REFS; + if (s->act.rt_kif) + s->act.rt_kif->pfik_flags |= PFI_IFLAG_REFS; count++; } PF_HASHROW_UNLOCK(ih); @@ -5307,6 +5311,21 @@ nextrule: if (pd->act.rtableid >= 0) M_SETFIB(pd->m, pd->act.rtableid); + if (r->rt) { + struct pf_ksrc_node *sn = NULL; + struct pf_srchash *snh = NULL; + /* + * Set act.rt here instead of in pf_rule_to_actions() because + * it is applied only from the last pass rule. + */ + 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); + if (reason != 0) + goto cleanup; + } + if (pd->virtual_proto != PF_VPROTO_FRAGMENT && (!state_icmp && (r->keep_state || nr != NULL || (pd->flags & PFDESC_TCP_NORM)))) { @@ -5391,14 +5410,15 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, /* src node for filter rule */ if ((r->rule_flag & PFRULE_SRCTRACK || r->rpool.opts & PF_POOL_STICKYADDR) && - (sn_reason = pf_insert_src_node(&sn, &snh, r, pd->src, pd->af)) != 0) { + (sn_reason = pf_insert_src_node(&sn, &snh, r, pd->src, pd->af, + &pd->act.rt_addr, pd->act.rt_kif)) != 0) { REASON_SET(&reason, sn_reason); goto csfailed; } /* src node for translation rule */ if (nr != NULL && (nr->rpool.opts & PF_POOL_STICKYADDR) && (sn_reason = pf_insert_src_node(&nsn, &nsnh, nr, &sk->addr[pd->sidx], - pd->af)) != 0 ) { + pd->af, &nk->addr[1], NULL)) != 0 ) { REASON_SET(&reason, sn_reason); goto csfailed; } @@ -5488,14 +5508,6 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, s->timeout = PFTM_OTHER_FIRST_PACKET; } - if (r->rt) { - /* pf_map_addr increases the reason counters */ - if ((reason = pf_map_addr_sn(pd->af, r, pd->src, &s->rt_addr, - &s->rt_kif, NULL, &sn, &snh)) != 0) - goto csfailed; - s->rt = r->rt; - } - s->creation = s->expire = pf_get_uptime(); if (pd->proto == IPPROTO_TCP) { @@ -5552,8 +5564,6 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, PF_HASHROW_UNLOCK(snh); } if (pf_src_node_exists(&nsn, nsnh)) { - /* XXX We only modify one side for now. */ - PF_ACPY(&nsn->raddr, &nk->addr[1], pd->af); s->nat_src_node = nsn; PF_HASHROW_UNLOCK(nsnh); } @@ -7686,23 +7696,20 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, struct mbuf *m0, *m1, *md; struct sockaddr_in dst; struct ip *ip; - struct pfi_kkif *nkif = NULL; struct ifnet *ifp = NULL; struct pf_addr naddr; int error = 0; uint16_t ip_len, ip_off; uint16_t tmp; - int r_rt, r_dir; + int r_dir; KASSERT(m && *m && r && oifp, ("%s: invalid parameters", __func__)); SDT_PROBE4(pf, ip, route_to, entry, *m, pd, s, oifp); if (s) { - r_rt = s->rt; r_dir = s->direction; } else { - r_rt = r->rt; r_dir = r->direction; } @@ -7719,17 +7726,14 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, goto bad_locked; } - if (r_rt == PF_DUPTO) { + if (pd->act.rt == PF_DUPTO) { if ((pd->pf_mtag->flags & PF_MTAG_FLAG_DUPLICATED)) { - if (s == NULL) { + ifp = pd->act.rt_kif ? pd->act.rt_kif->pfik_ifp : NULL; + /* If pfsync'd from FreeBSD < 14 */ + if (ifp == NULL && r->rpool.cur != NULL) ifp = r->rpool.cur->kif ? r->rpool.cur->kif->pfik_ifp : NULL; - } else { - ifp = s->rt_kif ? s->rt_kif->pfik_ifp : NULL; - /* If pfsync'd */ - if (ifp == NULL && r->rpool.cur != NULL) - ifp = r->rpool.cur->kif ? - r->rpool.cur->kif->pfik_ifp : NULL; + if (s != NULL) { PF_STATE_UNLOCK(s); } if (ifp == oifp) { @@ -7750,7 +7754,7 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, } } } else { - if ((r_rt == PF_REPLYTO) == (r_dir == pd->dir)) { + if ((pd->act.rt == PF_REPLYTO) == (r_dir == pd->dir)) { pf_dummynet(pd, s, r, m); if (s) PF_STATE_UNLOCK(s); @@ -7765,30 +7769,16 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, dst.sin_family = AF_INET; dst.sin_len = sizeof(dst); dst.sin_addr = ip->ip_dst; + dst.sin_addr.s_addr = pd->act.rt_addr.v4.s_addr; + ifp = pd->act.rt_kif ? pd->act.rt_kif->pfik_ifp : NULL; bzero(&naddr, sizeof(naddr)); - if (s == NULL) { - if (TAILQ_EMPTY(&r->rpool.list)) { - DPFPRINTF(PF_DEBUG_URGENT, - ("%s: TAILQ_EMPTY(&r->rpool.list)\n", __func__)); - SDT_PROBE1(pf, ip, route_to, drop, __LINE__); - goto bad_locked; - } - pf_map_addr(AF_INET, r, (struct pf_addr *)&ip->ip_src, - &naddr, &nkif, NULL); - if (!PF_AZERO(&naddr, AF_INET)) - dst.sin_addr.s_addr = naddr.v4.s_addr; - ifp = nkif ? nkif->pfik_ifp : NULL; - } else { + if (s != NULL){ struct pfi_kkif *kif; - if (!PF_AZERO(&s->rt_addr, AF_INET)) - dst.sin_addr.s_addr = - s->rt_addr.v4.s_addr; - ifp = s->rt_kif ? s->rt_kif->pfik_ifp : NULL; - kif = s->rt_kif; - /* If pfsync'd */ + kif = pd->act.rt_kif; + /* If pfsync'd from FreeBSD < 14 */ if (ifp == NULL && r->rpool.cur != NULL) { ifp = r->rpool.cur->kif ? r->rpool.cur->kif->pfik_ifp : NULL; @@ -7796,7 +7786,7 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, } if (ifp != NULL && kif != NULL && r->rule_flag & PFRULE_IFBOUND && - r->rt == PF_REPLYTO && + pd->act.rt == PF_REPLYTO && s->kif == V_pfi_all) { s->kif = kif; s->orig_kif = oifp->if_pf_kif; @@ -7892,7 +7882,7 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, if ((ip_off & IP_DF) || (m0->m_pkthdr.csum_flags & CSUM_TSO)) { error = EMSGSIZE; KMOD_IPSTAT_INC(ips_cantfrag); - if (r_rt != PF_DUPTO) { + if (pd->act.rt != PF_DUPTO) { if (s && s->nat_rule != NULL) PACKET_UNDO_NAT(m0, pd, (ip->ip_hl << 2) + (ip_off & IP_OFFMASK), @@ -7936,7 +7926,7 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, KMOD_IPSTAT_INC(ips_fragmented); done: - if (r_rt != PF_DUPTO) + if (pd->act.rt != PF_DUPTO) *m = NULL; return; @@ -7958,20 +7948,17 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, struct m_tag *mtag; struct sockaddr_in6 dst; struct ip6_hdr *ip6; - struct pfi_kkif *nkif = NULL; struct ifnet *ifp = NULL; struct pf_addr naddr; - int r_rt, r_dir; + int r_dir; KASSERT(m && *m && r && oifp, ("%s: invalid parameters", __func__)); SDT_PROBE4(pf, ip6, route_to, entry, *m, pd, s, oifp); if (s) { - r_rt = s->rt; r_dir = s->direction; } else { - r_rt = r->rt; r_dir = r->direction; } @@ -7988,17 +7975,14 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, goto bad_locked; } - if (r_rt == PF_DUPTO) { + if (pd->act.rt == PF_DUPTO) { if ((pd->pf_mtag->flags & PF_MTAG_FLAG_DUPLICATED)) { - if (s == NULL) { + ifp = pd->act.rt_kif ? pd->act.rt_kif->pfik_ifp : NULL; + /* If pfsync'd from FreeBSD < 14 */ + if (ifp == NULL && r->rpool.cur != NULL) ifp = r->rpool.cur->kif ? r->rpool.cur->kif->pfik_ifp : NULL; - } else { - ifp = s->rt_kif ? s->rt_kif->pfik_ifp : NULL; - /* If pfsync'd */ - if (ifp == NULL && r->rpool.cur != NULL) - ifp = r->rpool.cur->kif ? - r->rpool.cur->kif->pfik_ifp : NULL; + if (s != NULL) { PF_STATE_UNLOCK(s); } if (ifp == oifp) { @@ -8019,7 +8003,7 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, } } } else { - if ((r_rt == PF_REPLYTO) == (r_dir == pd->dir)) { + if ((pd->act.rt == PF_REPLYTO) == (r_dir == pd->dir)) { pf_dummynet(pd, s, r, m); if (s) PF_STATE_UNLOCK(s); @@ -8034,31 +8018,15 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, dst.sin6_family = AF_INET6; dst.sin6_len = sizeof(dst); dst.sin6_addr = ip6->ip6_dst; - + PF_ACPY((struct pf_addr *)&dst.sin6_addr, &pd->act.rt_addr, AF_INET6); bzero(&naddr, sizeof(naddr)); + ifp = pd->act.rt_kif ? pd->act.rt_kif->pfik_ifp : NULL; - if (s == NULL) { - if (TAILQ_EMPTY(&r->rpool.list)) { - DPFPRINTF(PF_DEBUG_URGENT, - ("%s: TAILQ_EMPTY(&r->rpool.list)\n", __func__)); - SDT_PROBE1(pf, ip6, route_to, drop, __LINE__); - goto bad_locked; - } - pf_map_addr(AF_INET6, r, (struct pf_addr *)&ip6->ip6_src, - &naddr, &nkif, NULL); - if (!PF_AZERO(&naddr, AF_INET6)) - PF_ACPY((struct pf_addr *)&dst.sin6_addr, - &naddr, AF_INET6); - ifp = nkif ? nkif->pfik_ifp : NULL; - } else { + if (s != NULL) { struct pfi_kkif *kif; - if (!PF_AZERO(&s->rt_addr, AF_INET6)) - PF_ACPY((struct pf_addr *)&dst.sin6_addr, - &s->rt_addr, AF_INET6); - ifp = s->rt_kif ? s->rt_kif->pfik_ifp : NULL; - kif = s->rt_kif; - /* If pfsync'd */ + kif = pd->act.rt_kif; + /* If pfsync'd from FreeBSD < 14 */ if (ifp == NULL && r->rpool.cur != NULL) { ifp = r->rpool.cur->kif ? r->rpool.cur->kif->pfik_ifp : NULL; @@ -8066,7 +8034,7 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, } if (ifp != NULL && kif != NULL && r->rule_flag & PFRULE_IFBOUND && - r->rt == PF_REPLYTO && + pd->act.rt == PF_REPLYTO && s->kif == V_pfi_all) { s->kif = kif; s->orig_kif = oifp->if_pf_kif; @@ -8135,7 +8103,7 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, } else { in6_ifstat_inc(ifp, ifs6_in_toobig); - if (r_rt != PF_DUPTO) { + if (pd->act.rt != PF_DUPTO) { if (s && s->nat_rule != NULL) PACKET_UNDO_NAT(m0, pd, ((caddr_t)ip6 - m0->m_data) + @@ -8150,7 +8118,7 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, } done: - if (r_rt != PF_DUPTO) + if (pd->act.rt != PF_DUPTO) *m = NULL; return; @@ -9036,7 +9004,6 @@ pf_test(sa_family_t af, int dir, int pflags, struct ifnet *ifp, struct mbuf **m0 struct pf_pdesc pd; int use_2nd_queue = 0; uint16_t tag; - uint8_t rt; PF_RULES_RLOCK_TRACKER; KASSERT(dir == PF_IN || dir == PF_OUT, ("%s: bad direction %d\n", __func__, dir)); @@ -9328,10 +9295,8 @@ done: memcpy(&pd.act, &s->act, sizeof(struct pf_rule_actions)); pd.act.log |= log; tag = s->tag; - rt = s->rt; } else { tag = r->tag; - rt = r->rt; } if (tag > 0 && pf_tag_packet(&pd, tag)) { @@ -9474,7 +9439,7 @@ done: *m0 = NULL; break; default: - if (rt) { + if (pd.act.rt) { switch (af) { #ifdef INET case AF_INET: diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 59c442698b95..0fdf41a9811f 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -2341,7 +2341,7 @@ relock_DIOCKILLSTATES: if (! PF_MATCHA(psk->psk_rt_addr.neg, &psk->psk_rt_addr.addr.v.a.addr, &psk->psk_rt_addr.addr.v.a.mask, - &s->rt_addr, sk->af)) + &s->act.rt_addr, sk->af)) continue; if (psk->psk_src.port_op != 0 && @@ -5587,7 +5587,7 @@ pfsync_state_export(union pfsync_state_union *sp, struct pf_kstate *st, int msg_ /* copy from state */ strlcpy(sp->pfs_1301.ifname, st->kif->pfik_name, sizeof(sp->pfs_1301.ifname)); - bcopy(&st->rt_addr, &sp->pfs_1301.rt_addr, sizeof(sp->pfs_1301.rt_addr)); + bcopy(&st->act.rt_addr, &sp->pfs_1301.rt_addr, sizeof(sp->pfs_1301.rt_addr)); sp->pfs_1301.creation = htonl(time_uptime - (st->creation / 1000)); sp->pfs_1301.expire = pf_state_expires(st); if (sp->pfs_1301.expire <= time_uptime) @@ -5615,10 +5615,10 @@ pfsync_state_export(union pfsync_state_union *sp, struct pf_kstate *st, int msg_ sp->pfs_1400.max_mss = htons(st->act.max_mss); sp->pfs_1400.set_prio[0] = st->act.set_prio[0]; sp->pfs_1400.set_prio[1] = st->act.set_prio[1]; - sp->pfs_1400.rt = st->rt; - if (st->rt_kif) + sp->pfs_1400.rt = st->act.rt; + if (st->act.rt_kif) strlcpy(sp->pfs_1400.rt_ifname, - st->rt_kif->pfik_name, + st->act.rt_kif->pfik_name, sizeof(sp->pfs_1400.rt_ifname)); break; default: @@ -5678,7 +5678,7 @@ pf_state_export(struct pf_state_export *sp, struct pf_kstate *st) strlcpy(sp->ifname, st->kif->pfik_name, sizeof(sp->ifname)); strlcpy(sp->orig_ifname, st->orig_kif->pfik_name, sizeof(sp->orig_ifname)); - bcopy(&st->rt_addr, &sp->rt_addr, sizeof(sp->rt_addr)); + bcopy(&st->act.rt_addr, &sp->rt_addr, sizeof(sp->rt_addr)); sp->creation = htonl(time_uptime - (st->creation / 1000)); sp->expire = pf_state_expires(st); if (sp->expire <= time_uptime) @@ -5728,9 +5728,9 @@ pf_state_export(struct pf_state_export *sp, struct pf_kstate *st) sp->min_ttl = st->act.min_ttl; sp->set_tos = st->act.set_tos; sp->max_mss = htons(st->act.max_mss); - sp->rt = st->rt; - if (st->rt_kif) - strlcpy(sp->rt_ifname, st->rt_kif->pfik_name, + sp->rt = st->act.rt; + if (st->act.rt_kif) + strlcpy(sp->rt_ifname, st->act.rt_kif->pfik_name, sizeof(sp->rt_ifname)); sp->set_prio[0] = st->act.set_prio[0]; sp->set_prio[1] = st->act.set_prio[1]; diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index e180f87d2998..8087546683af 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -631,24 +631,18 @@ pf_map_addr_sn(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, u_short reason = 0; struct pf_kpool *rpool = &r->rpool; + KASSERT(*sn == NULL, ("*sn not NULL")); + /* - * Try to find a src_node if none was given and this is - * a sticky-address rule. Request the sh to be unlocked if - * sn was not found, as here we never insert a new sn. + * If this is a sticky-address rule, try to find an existing src_node. + * Request the sh to be unlocked if sn was not found, as we never + * insert a new sn when parsing the ruleset. */ - if (*sn == NULL) { - if (r->rpool.opts & PF_POOL_STICKYADDR && - (r->rpool.opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) - *sn = pf_find_src_node(saddr, r, af, sh, false); - } else { - pf_src_node_exists(sn, *sh); - } + if (r->rpool.opts & PF_POOL_STICKYADDR && + (r->rpool.opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) + *sn = pf_find_src_node(saddr, r, af, sh, false); - /* If a src_node was found or explicitly given and it has a non-zero - route address, use this address. A zeroed address is found if the - src node was created just a moment ago in pf_create_state and it - needs to be filled in with routing decision calculated here. */ - if (*sn != NULL && !PF_AZERO(&(*sn)->raddr, af)) { + if (*sn != NULL) { PF_SRC_NODE_LOCK_ASSERT(*sn); /* If the supplied address is the same as the current one we've @@ -683,14 +677,6 @@ pf_map_addr_sn(sa_family_t af, struct pf_krule *r, struct pf_addr *saddr, goto done; } - if (*sn != NULL) { - PF_SRC_NODE_LOCK_ASSERT(*sn); - - PF_ACPY(&(*sn)->raddr, naddr, af); - if (nkif) - (*sn)->rkif = *nkif; - } - if (V_pf_status.debug >= PF_DEBUG_NOISY && (rpool->opts & PF_POOL_TYPEMASK) != PF_POOL_NONE) { printf("pf_map_addr: selected address "); diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index bdfa9a60faa4..68b3659b0ed2 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -173,7 +173,7 @@ dump_state(struct nlpcb *nlp, const struct nlmsghdr *hdr, struct pf_kstate *s, nlattr_add_string(nw, PF_ST_IFNAME, s->kif->pfik_name); nlattr_add_string(nw, PF_ST_ORIG_IFNAME, s->orig_kif->pfik_name); - dump_addr(nw, PF_ST_RT_ADDR, &s->rt_addr, af); + dump_addr(nw, PF_ST_RT_ADDR, &s->act.rt_addr, af); nlattr_add_u32(nw, PF_ST_CREATION, time_uptime - (s->creation / 1000)); uint32_t expire = pf_state_expires(s); if (expire > time_uptime) @@ -205,9 +205,9 @@ dump_state(struct nlpcb *nlp, const struct nlmsghdr *hdr, struct pf_kstate *s, nlattr_add_u16(nw, PF_ST_MAX_MSS, s->act.max_mss); nlattr_add_u16(nw, PF_ST_DNPIPE, s->act.dnpipe); nlattr_add_u16(nw, PF_ST_DNRPIPE, s->act.dnrpipe); - nlattr_add_u8(nw, PF_ST_RT, s->rt); - if (s->rt_kif != NULL) - nlattr_add_string(nw, PF_ST_RT_IFNAME, s->rt_kif->pfik_name); + 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); if (!dump_state_peer(nw, PF_ST_PEER_SRC, &s->src)) goto enomem; diff --git a/sys/netpfil/pf/pf_nv.c b/sys/netpfil/pf/pf_nv.c index 87c2211a84e0..b24d274db85d 100644 --- a/sys/netpfil/pf/pf_nv.c +++ b/sys/netpfil/pf/pf_nv.c @@ -963,7 +963,7 @@ pf_state_to_nvstate(const struct pf_kstate *s) nvlist_add_nvlist(nvl, "dst", tmp); nvlist_destroy(tmp); - tmp = pf_addr_to_nvaddr(&s->rt_addr); + tmp = pf_addr_to_nvaddr(&s->act.rt_addr); if (tmp == NULL) goto errout; nvlist_add_nvlist(nvl, "rt_addr", tmp); From nobody Tue Dec 3 15:22:42 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2ktC3L1vz5gGdG; Tue, 03 Dec 2024 15:22:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2ktC2fNhz4FSj; Tue, 3 Dec 2024 15:22:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733239363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=G+mUzn90uGgT7WqXbchKIe5VLpOx5Np2qmmCAYJcZaI=; b=XkC63r9naF5EGXZs32gcwxu8oTZdGhrn6Z+dQjXbQHkmmnMwsegzsoUSyWdNddSscupAVV y2KuBQzXcIzQBwfSZFG0etxKlEsLazFKGOIZIlYPM3wzx4DlPmX8huEfY9cgeEKZJzBYM4 DP9byAvzd+SGQs8/9GswKVqCdxaJAYlQUGfn6wl81ZSGl9Tf2G5+HYv5mJL6pwolNyca4+ 2K/HJPu12zGbjZO7o3RlsZMoLZi7vltRwOmEWSrlNM3clziQenxg0dVo64keNpky1m6xNk LIdJzydeh82Dn6hFx4gYnJHNYLV1HKBEFPAa5yvrP27qGHo5Uix31GDkg5F3Fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733239363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=G+mUzn90uGgT7WqXbchKIe5VLpOx5Np2qmmCAYJcZaI=; b=KP1893T7qt9YjpwI+axmxi1UBBT5BfmQ4VAyZuY7ZlonH6miDjVcHqDte5kLneVKN+BUVH QpBrmjL3GeP4MGcGH36mBYjU5ug2DoF8BA04wyjJ6VNFFTkbH+/bn327IrjDGguLAB091Z UauqPtqebtVgidbzcTqYBUrHijjC8st6hwae/doQKEax36Ic9Z8RC5kej5KTAhOqrGbq40 oZ4YQ19wRHRYpS4s9JuXcZLTV8EFtLUfDgcgMqdXMBbgkrvNdWdjgHv9QSNFsb9Wd/feBt 3N1DXMC78PKEoIzWge3ZEIFHFH9u10/OUkcrzznT4ImoLjk6xarO5swYy/F/XQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733239363; a=rsa-sha256; cv=none; b=LshyNtajE73HpwjZtaGH8a5OJvsGU63ICfdEIKubYAy1Svr20OEHnbs80OYTnWQtFuBLSU 1C8Yai6Sabk1U0WlmNVE82MxHuxZAZzF9+jVxUKzEi2tQdqaTS8i0l/8Ruo9NIoFYawjJa ucQoBzfU+hyD3qKjmTr80uNF7Fx9DcS6/hQzWo3HkBoCNhT53kqxvUnsPtsHu4uk3qsvxq 7ciLJlp9ZdOj/wb0mpfegaN/1i70pUC8SCqOZuyXqJTDgwIuMd3ifm2g0j3Jd7dNCEvw6Z O18oddGfivAj7L1aZ2PeBUzQp4/C3+cMaHik7TQa55oIqrN5BPEOqpP3Rg/8ag== Received: from [IPV6:2601:5c0:4200:b830:814a:cbb2:d950:d5f7] (unknown [IPv6:2601:5c0:4200:b830:814a:cbb2:d950:d5f7]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y2ktC11SfzPqK; Tue, 3 Dec 2024 15:22:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Tue, 3 Dec 2024 10:22:42 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 2f915345634e - main - LINT: Remove DTrace support Content-Language: en-US To: Kristof Provost , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202412021939.4B2Jd5Oh025066@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202412021939.4B2Jd5Oh025066@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/2/24 11:39, Kristof Provost wrote: > The branch main has been updated by kp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=2f915345634e9e0f809f79581359190268908ba9 > > commit 2f915345634e9e0f809f79581359190268908ba9 > Author: Kristof Provost > AuthorDate: 2024-11-27 16:57:08 +0000 > Commit: Kristof Provost > CommitDate: 2024-12-02 19:36:35 +0000 > > LINT: Remove DTrace support > > Ensure we have at least one commonly built kernel config that does not include > DTrace. > This is intended to help detect issues such as 45d108ee14 where a variable is > only used for static probe point, resulting in build failures when DTrace is > disabled. > > Sponsored by: Rubicon Communications, LLC ("Netgate") > Differential Revision: https://reviews.freebsd.org/D47821 > --- > sys/x86/conf/NOTES | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/sys/x86/conf/NOTES b/sys/x86/conf/NOTES > index ffd90c06b516..bb45d4ecbf92 100644 > --- a/sys/x86/conf/NOTES > +++ b/sys/x86/conf/NOTES > @@ -2,12 +2,6 @@ > > # Common NOTES between i386 and amd64 > > -# > -# Enable the kernel DTrace hooks which are required to load the DTrace > -# kernel modules. > -# > -options KDTRACE_HOOKS > - For cases like this we generally leave the option in but comment it out so that NOTES is still documenting the option and the syntax for enabling it. > # DTrace core > # NOTE: introduces CDDL-licensed components into the kernel > #device dtrace ^^^ Like this -- John Baldwin From nobody Tue Dec 3 15:41:28 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2lHs6GFHz5gJ72; Tue, 03 Dec 2024 15:41:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2lHs5f7kz4GVg; Tue, 3 Dec 2024 15:41:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733240489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tPXG1wBi0AL4+JAg8lVxbN2Jb2U5p3ABdqzyar9bXjQ=; b=uIIKZmWA4sMTqhMJeC7NBp8Ufkkf4FhgeaGPbc+fBp1sI3bLiWEj8nPAWFsckeDvDGpUUq +1bzejGiakzUZcpVJRfUp0hTi0xvrIhZvIbB6uAj+uEPZ3VH48t/phY4DHo8940PYM5+y1 efj/O+RlzZK0ERWAYTTUjsTq7BD5NSQ6yhNvxEkAYwdPjFaXajGyF7pKi8Kv7/w96a0y33 zEFcb59hs5IwH74p3V2QJfPt7ews9LMVDNPlFvgvbVq6fPUqIgzamHu2A5COzBb7JhxwTp tS2ecPeZ9zPbXKTFvp/To/3Dctwl+eENfzdLwdK4Z4L0HANZev3NqgLbxckSOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733240489; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tPXG1wBi0AL4+JAg8lVxbN2Jb2U5p3ABdqzyar9bXjQ=; b=ZV9ZkPaicNMUDU8dN3FvbQ6Oc6BA5tnDqedtei5hI6Y7/L6U003OUhdGSBkP2OJK+dXzdO YjMGfNc3UYpbzYuM8D/46c2BY/7X+HEqLkkXxQbbaYhS4SPdhJnsHWzz0KD5JhCpk0WVcM RJg/TqtyDoLtSVVndyiyf4/5FJxV9N3nKtY/iKXGAphbqHuAmM3LYYK+MMqLBkC4PKJ4kJ X0bI27I0AJYmNlm1CQ606EnMaDHJA3kqTQkWTpqGSGVXOnNssGCjuHAgfdDznYgLY2ZNdo OWooiXzFyTPZyNSYykSBw/8Y+PeDRj6BoFb+jcIj3BXfhSZY/ln3qtpDUWQwTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733240489; a=rsa-sha256; cv=none; b=xcfa4QAwB8ZvyG5Qi+Bbx3XESAlStahSdluOcVlS4gsjDOd+cHGgIOk4/tV3b8d1JBi3m4 l7H3N/weboMvM8SJiBdBK21s7mMdoud5x/QWbODu/kC2BXcw0bCkS/89bJe9cxUFFGf4VA gFa825LABFbrnBNV66I9QPomH3xqrRYoV/xnC+TpDHlskuqW6VeplYk8S5wwmLJK6Y4u57 7VGazXXuwcZcyyyFvQUjbpxnLvvxLCtnXRsmldd/kkJ++IUYcMd0jYy4DdMSYKFtTa0vrS qOuAXQ3O55Z190Ri45PpYzsuFaNdCFdGwPl8Gk+eIhSq9GK49rm2/d+5tN4RHg== Received: from [IPV6:2601:5c0:4200:b830:814a:cbb2:d950:d5f7] (unknown [IPv6:2601:5c0:4200:b830:814a:cbb2:d950:d5f7]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y2lHs3zPkzPN5; Tue, 3 Dec 2024 15:41:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Tue, 3 Dec 2024 10:41:28 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: b5a8abe9502e - main - How to show interface traffic in bits per second Content-Language: en-US To: Poul-Henning Kamp , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202412022113.4B2LD0mt010926@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202412022113.4B2LD0mt010926@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/2/24 13:13, Poul-Henning Kamp wrote: > The branch main has been updated by phk: > > URL: https://cgit.FreeBSD.org/src/commit/?id=b5a8abe9502e781598dc052698fe7fa5830f59ee > > commit b5a8abe9502e781598dc052698fe7fa5830f59ee > Author: Poul-Henning Kamp > AuthorDate: 2024-12-02 21:12:27 +0000 > Commit: Poul-Henning Kamp > CommitDate: 2024-12-02 21:12:27 +0000 > > How to show interface traffic in bits per second > --- > usr.bin/fortune/datfiles/freebsd-tips | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/usr.bin/fortune/datfiles/freebsd-tips b/usr.bin/fortune/datfiles/freebsd-tips > index c0807405005e..1e9501e3a6fb 100644 > --- a/usr.bin/fortune/datfiles/freebsd-tips > +++ b/usr.bin/fortune/datfiles/freebsd-tips > @@ -856,3 +856,7 @@ $ fc-list ':charset=0x1F4A1' > $ pkg which /usr/local/share/fonts/noto/NotoColorEmoji.ttf > /usr/local/share/fonts/noto/NotoColorEmoji.ttf was installed by package noto-emoji-2.042 > % > +When netstat reports every 8 seconds, it tells traffic in bits per second: > + > +$ netstat -I bge0 8 > +% Hmm, I'm pretty sure it's in bytes, and checking the code, it seems like show_stat() in netstat/if.c just shows the raw delta in values without scaling it by 'interval', so I think the counts are the number of bytes sent/received in 8 seconds: > netstat -I igc0 8 input igc0 output packets errs idrops bytes packets errs bytes colls 61 0 0 14418 6 0 420 0 42 0 0 8926 5 0 346 0 43 0 0 7631 7 0 540 0 31 0 0 4269 6 0 420 0 20 0 0 2173 6 0 420 0 26 0 0 3574 5 0 346 0 32 0 0 4407 9 0 678 0 22 0 0 2374 5 0 346 0 I do think having a tip about 'netstat -I foo ' is useful btw. I'm not sure if you are trying to do just highlight the interval feature, or if you are highlighting that the stat is scaled by the interval rather than the raw delta (which isn't true for netstat, but is true for some tools (e.g. vmstat uses per-second rates in interval mode). -- John Baldwin From nobody Tue Dec 3 16:03:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2lmr5njGz5gL0L; Tue, 03 Dec 2024 16:03:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2lmr27Pyz4J84; Tue, 3 Dec 2024 16:03:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733241788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P2kash+kWwmpD84Pze7qXRmzzGksMqH8GY4+vGIJC78=; b=vU4WFC4Y4U6wikzDSTYUi4YVDQjRd7Ky7B/QPEBezDuQntp7Ueu7bMY9dWREEzC3G5t8PZ V8PhVgGCniScf+3yqR/9EWekpxAcXK4M9GkTKOpoXz8PMVsH/oL7sCjaNGCwy8/aSqTGEW +p1soE/JqK+3Bb2rRuyfx7obqwJtZdpR27eh7bTqjE9ktqcUJVcm5ofCTjQNkh+95a2KNR 3U2O6Z5Oi5MW8y+VCyKIKX6FH1778YjN31R2uBhEZ5W88vfpho04rt3nvsl0nVxMLLQ6B9 SNDkTIoCTpB4tKHQbgWiwFqK3t+UU2SzHPKNRfR29OODaCvKWncuF+/hQjHp7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733241788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P2kash+kWwmpD84Pze7qXRmzzGksMqH8GY4+vGIJC78=; b=i6NBinPBr3SiaBC9pojoEdWkQTL/ZAL6mol4WCke3mICD2P2D8AT9VbWcY41ox64Ck9ebX UYbW7rZgZAnxiBjA0X4V59u+WgyBYsx6zD40Chu4x0mIOnGZ8IyJ6juXkAInNMBLSQLK+l 69LNfGNvSVUKH5ZM3xRleNJXfMhjS8Faa577DszZ8HgxlClkTOkMacdS5d+UpQQ4qveW3b 0ttbtANhIJ/Rg+4Rk7kubco+aG/W6RI8kjHuoz+K/2nU6Vb+P58qA/w+05jD2kQf3L8+P7 I8lusuahu+zEZ1CeUYjT4vm0fHmBSVHLY8LQQFREoZVX084EfW4mpqKvHxNguQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733241788; a=rsa-sha256; cv=none; b=NcRNxuhm/6CoF3xyatBWxzOkx+mmEh7xhkACX9vYmKZZ+YARqd7j8t08nZXFwz/TnYs4nS P2Q8fSXgPmBR6ZRnCzdGAviQembcjzb7LBLVGkM9VLp0eojofshOUUnW4Qx7XOLbbolv6E M/5qOq7HEh1y5qpf0D6hkshYOB3dT1niSGV7UbEwRb1ga3CC0yFOYa4mw3HjkNRBo0wHCS yDkhMYg/xOCSqegvB9+VA/EMHtKkT1TRf99ISbRxji5Dehn4oPuF2j+Ewatz0SQCXm1jVM bclyLivwAwxdjpqISAZGLUFZ7LbDPJrBY+7y0pdafeqjZsp+ypvlDjR6rQ6X5w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2lmr1XzYzTs3; Tue, 3 Dec 2024 16:03: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 4B3G38Y6014699; Tue, 3 Dec 2024 16:03:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3G38DI014696; Tue, 3 Dec 2024 16:03:08 GMT (envelope-from git) Date: Tue, 3 Dec 2024 16:03:08 GMT Message-Id: <202412031603.4B3G38DI014696@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: daad0b650135 - main - LINT: Remove DTrace support, but leave the commented out option List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: daad0b6501359fefa0ee6065646508187e9dfbb0 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=daad0b6501359fefa0ee6065646508187e9dfbb0 commit daad0b6501359fefa0ee6065646508187e9dfbb0 Author: Kristof Provost AuthorDate: 2024-12-03 15:58:26 +0000 Commit: Kristof Provost CommitDate: 2024-12-03 15:59:50 +0000 LINT: Remove DTrace support, but leave the commented out option Fixes: 2f915345634e9e0f809f79581359190268908ba9 Reported by: John Baldwin Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/x86/conf/NOTES | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/x86/conf/NOTES b/sys/x86/conf/NOTES index bb45d4ecbf92..3b3439b519d7 100644 --- a/sys/x86/conf/NOTES +++ b/sys/x86/conf/NOTES @@ -2,6 +2,12 @@ # Common NOTES between i386 and amd64 +# +# Enable the kernel DTrace hooks which are required to load the DTrace +# kernel modules. +# +#options KDTRACE_HOOKS + # DTrace core # NOTE: introduces CDDL-licensed components into the kernel #device dtrace From nobody Tue Dec 3 16:09:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2lw00N78z5gLBb; Tue, 03 Dec 2024 16:09:20 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2lvz5HBGz4Jpq; Tue, 3 Dec 2024 16:09:19 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Authentication-Results: mx1.freebsd.org; none Received: from critter.freebsd.dk (unknown [192.168.55.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by phk.freebsd.dk (Postfix) with ESMTPS id C947A89286; Tue, 03 Dec 2024 16:09:17 +0000 (UTC) Received: (from phk@localhost) by critter.freebsd.dk (8.18.1/8.16.1/Submit) id 4B3G9HAf023627; Tue, 3 Dec 2024 16:09:17 GMT (envelope-from phk) Message-Id: <202412031609.4B3G9HAf023627@critter.freebsd.dk> To: John Baldwin cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: b5a8abe9502e - main - How to show interface traffic in bits per second In-reply-to: From: "Poul-Henning Kamp" References: <202412022113.4B2LD0mt010926@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <23625.1733242157.1@critter.freebsd.dk> Content-Transfer-Encoding: quoted-printable Date: Tue, 03 Dec 2024 16:09:17 +0000 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:1835, ipnet:130.225.0.0/16, country:EU] X-Rspamd-Queue-Id: 4Y2lvz5HBGz4Jpq X-Spamd-Bar: ---- -------- John Baldwin writes: > > +When netstat reports every 8 seconds, it tells traffic in bits per se= cond: > > + > > +$ netstat -I bge0 8 > > +% > > Hmm, I'm pretty sure it's in bytes, and checking the code, it seems like= show_stat() > in netstat/if.c just shows the raw delta in values without scaling it by= 'interval', > so I think the counts are the number of bytes sent/received in 8 seconds= : And since bytes/8 seconds =3D=3D bits/second Q.E.D > I do think having a tip about 'netstat -I foo ' is useful btw. I'm n= ot sure if > you are trying to do [...] I have personally used this trick for 35+ years from V.22bis modems til 10Gbit/s ethernet, to figure out how saturated a particular transmission facility is. Transmission media are always in nominal bits per second, and counters are almost invariably in bytes, so using 8 second integration eliminates the need for math. The 8 second integration time also averages most of the burstiness of the traffic quite nicely. As the author of the bikeshed email, I should have known better than to commit something this trivial :-) Poul-Henning -- = Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe = Never attribute to malice what can adequately be explained by incompetence= . From nobody Tue Dec 3 17:21:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2nWS4TXbz5gRk3; Tue, 03 Dec 2024 17:21:40 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2nWS3slfz4R2P; Tue, 3 Dec 2024 17:21:40 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733246500; 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=5/ZMjZn/h0BOhR5+jBTwTiQSfM/+gu0KOUKHImj+IVI=; b=H+ir+GoZKAC4B2JqKeWGeWYU/SwFGvcBaI4ia0NMGrJBpb+7fTizArlBExLOFu5WBPIn3i ROsjhUQ48+OxsPE1j2sVhh274JONCNfVREJubF9AFWPh9IfRRaREfvOZS/F+pNjshdq6pv EB9piOa2q7sCsclJezIy37ct7jicp/WQfF6/OMkO1T3mARhziE/8rsW2JA6sPpymSRTZ21 UfX7YWQPQ7GAuAZlZALKM/F/ktxogJiH9GJstgYdRASxOe+f6vxhEXQgJ/5iMAfp/X3r+k YDajrpK36mvi8bDlVWuRJUD5XUUGegOLcsI+nF3AXo8bdhkWPZLlwGWXrBPjGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733246500; 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=5/ZMjZn/h0BOhR5+jBTwTiQSfM/+gu0KOUKHImj+IVI=; b=c5rrJ3u0UnMl4dcG+HwM9CkF/3QrE2jn1hsgvpryS27PtmbcA878/AGz1ll20iilVZi7AT zhUn5lA9KW3ARh/9T5sWVz9CZaDNc/vPRfnne5SzdWaH73Cp48VPpw6MREq6e+Qt9fFX98 tmD8nj6eg766o1q7OYFESh007TybdbOadyKvaF98W9dWE80JP4Fk1CXObrthaXByhLPsNo hFWy23um0V/5/9DchgsvPROoidkpG2/ZK+89L2//83ROuMcr4xpdZNKBXFqwy1a/eOzFZj ag3VleaATOuE2tE4/0wG9xuYwyJENvdqZUegm4pfmiDnGNjmLRXsgbdTfVH7Rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733246500; a=rsa-sha256; cv=none; b=jaj1Af218nGePcPIGwBPf42yluQTKjNzvsxNy8bCC8MarCVDL6PkSpGp6mTMLTSAGONeu0 S7iUBrHs1Yz+0c7SDJSAiZGghwhXT6AHu7Exu8HlPPd9yNhjefiYXjKIkOaf9WvTFgQEQO c+JM5xHETGJb0fQkZore+0MbG86BloQ3lPUwkAq8Ijyol1er37pjL7ttvsxfa12blPOzpF c+EbT+pMwx6rAZw0gz9LDS4fcxuGxp2AmVRu/3xZIPDPYbqlC9QLjBLcVbf/CglPQpBdaY OKWhYMEXSn1pdwxxMayDDc0HVgz4lBUeYD23Gw0NveSS0Z9zssmBejLXXP4FPg== Received: from [IPV6:2601:5c0:4200:b830:814a:cbb2:d950:d5f7] (unknown [IPv6:2601:5c0:4200:b830:814a:cbb2:d950:d5f7]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y2nWS2DkYzR8K; Tue, 3 Dec 2024 17:21:40 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <665823ac-7f80-4872-b224-ae2bfa7059ac@FreeBSD.org> Date: Tue, 3 Dec 2024 12:21:39 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: b5a8abe9502e - main - How to show interface traffic in bits per second Content-Language: en-US To: Poul-Henning Kamp Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202412022113.4B2LD0mt010926@gitrepo.freebsd.org> <202412031609.4B3G9HAf023627@critter.freebsd.dk> From: John Baldwin In-Reply-To: <202412031609.4B3G9HAf023627@critter.freebsd.dk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/3/24 08:09, Poul-Henning Kamp wrote: > -------- > John Baldwin writes: > >>> +When netstat reports every 8 seconds, it tells traffic in bits per second: >>> + >>> +$ netstat -I bge0 8 >>> +% >> >> Hmm, I'm pretty sure it's in bytes, and checking the code, it seems like show_stat() >> in netstat/if.c just shows the raw delta in values without scaling it by 'interval', >> so I think the counts are the number of bytes sent/received in 8 seconds: > > And since > > bytes/8 seconds == bits/second > > Q.E.D Ah, fair enough. Clearly too subtle for my thick head. ;-) -- John Baldwin From nobody Tue Dec 3 19:28:25 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2rKj5Y7Fz5gdCJ; Tue, 03 Dec 2024 19:28: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2rKj53g7z4fbQ; Tue, 3 Dec 2024 19:28:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733254105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aJKiBVs0EOU0SoI4l10SvkWlOoMevmU7vqCi65I6vSI=; b=if+Qcn9wWwQFm9bgxcfqA4A90hwOmZy7DvLjTTEfCh0dNzpIYYajuYknp54kay3O9PdN1q bpb0GneJud1jNhqCx3TTRAzvhsldGykKbx3ZcJg7hUlV0DwYENN4ko2eiUIu5ccXxVhvbJ YiQimXgjXHk+Q5raEqaw1TQs0S/OK+U0dkeLvueiVeWcqUmcDjTQwQpTBije6pSqeVLeb3 r5k1Z7ESytrDrnSqjeNnPyTiiRSNmWa+LVFPU6VWcOoLvX0oggW7Z0KeDvOXv4WtSnQNMQ VjRMtfk3aOq+T808MF/nFeQipslzO0JzGAURXMPyAMU2p/LgoHSgjzDipf7fFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733254105; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aJKiBVs0EOU0SoI4l10SvkWlOoMevmU7vqCi65I6vSI=; b=bzpqNwHT+pxt/zt4crocbxM7MBW71GMsV9uVzx91ByT/bOy1b/hhlM+vTv/v9ONTqrSoOL I+LrhBgqL7R8VFNovAjoolA97n5LDUboEKw6XNAhWwca/i5FCDQoMF5lKRo7uu216S+gNZ 6bIu5ZVZ+JuhiAMRuIzd/fbNvARMk2xmO75HdjHT9e3U1+EqPaSy519af4iR3LhBxmVnXs n4xs406hq26BGBzrssMmKiUUTGAyMn0LDtALrzET/VRO97uDz5bcyWCrxuwpaPXBnx+62W EErHqRlWYzBoYjZMHKj4qc6mI9D9HfITMk9JUenmrwX73ihiUYb9nDG24QwP4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733254105; a=rsa-sha256; cv=none; b=V8YE+9CHibPF4t2o4kYdtQ0dqEGcLLfH+Mx1Nr58TLVD2/NtMGlkHxFNMOBT3AqxBIeglY X7T0mb6hB2BvTvtBak1y3esJQo6b3LNb+I7HQ2YaUhBICHhxbIHG+QfCCu/0MMui0CQ/dT YA81p7NDEsO6KeIldH+0YUmakUWcY8WKPyUW8kqDNWE3/PyaqiJOvi0ZrgcAO0LmZVWq+i 8pSZjVQl2g5yKTOVll7gJFT1nhZlJuChNArDUUw4DBlYKw7Lhh3cIpPyrD6u026hhhYFWj aHcyU5F5z4oz9iAUmY4OlDXky7OYjazG7dqol6q7lXmLkvMAwJBCEEHkfM80vg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2rKj4Swlzc2Q; Tue, 3 Dec 2024 19:28: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 4B3JSPlS087375; Tue, 3 Dec 2024 19:28:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3JSPpp087372; Tue, 3 Dec 2024 19:28:25 GMT (envelope-from git) Date: Tue, 3 Dec 2024 19:28:25 GMT Message-Id: <202412031928.4B3JSPpp087372@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: c22c98798456 - main - pf: fix potential NULL dereference in SCTP multihome 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: c22c9879845653abb365e468daaa621e3f8f767a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c22c9879845653abb365e468daaa621e3f8f767a commit c22c9879845653abb365e468daaa621e3f8f767a Author: Kristof Provost AuthorDate: 2024-12-03 18:27:49 +0000 Commit: Kristof Provost CommitDate: 2024-12-03 18:27:49 +0000 pf: fix potential NULL dereference in SCTP multihome handling When processing an SCTP ASCONF we re-run the rules processing to check if the new state should be allowed as well. We used to do so against the 'all' interface, to allow new connections to use any interface. This is problematic for two reasons, the first being it may unexpectedly bypass interface restrictions. The more important one is that it can trigger panics. If the ruleset contains a rule which filters on interface group we'd attempt to process the group list for the 'all' interface. As this isn't a real interface it doesn't have an associated struct ifnet, and we end up dereferencing a NULL pointer. Solve this by not overriding the interface, instead leaving the physical interface the SCTP ASCONF arrived on. This implies that we may end up binding to that interface (if if-bound), and thus denying traffic on other interfaces. Users can allow this anyway by setting 'state-policy floating' on the relevant SCTP rules. This arguably better reflects user intent as well. That is, we'll consider SCTP multihomed states to be floating if we're in floating mode, and if-bound if we're if-bound. Update the test cases to account for this, while adding a "pass on lo" (i.e. pass on an interface group") rule to provoke this issue. Add separate test cases for the floating and if-bound scenarios. Reported by: Franco Fichtner MFC after: 3 weeks Sponsored by: Orange Business Services --- sys/netpfil/pf/pf.c | 6 ---- sys/netpfil/pf/pf_if.c | 3 ++ tests/sys/netpfil/pf/sctp.py | 77 +++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 76 insertions(+), 10 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index fa656f92f79b..f587fa3fb196 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6592,12 +6592,6 @@ again: j->pd.sctp_flags |= PFDESC_SCTP_ADD_IP; PF_RULES_RLOCK(); sm = NULL; - /* - * New connections need to be floating, because - * we cannot know what interfaces it will use. - * That's why we pass V_pfi_all rather than kif. - */ - j->pd.kif = V_pfi_all; ret = pf_test_rule(&r, &sm, &j->pd, &ra, &rs, NULL); PF_RULES_RUNLOCK(); diff --git a/sys/netpfil/pf/pf_if.c b/sys/netpfil/pf/pf_if.c index 95f63ed663ca..650a7e4db799 100644 --- a/sys/netpfil/pf/pf_if.c +++ b/sys/netpfil/pf/pf_if.c @@ -426,6 +426,9 @@ pfi_kkif_match(struct pfi_kkif *rule_kif, struct pfi_kkif *packet_kif) NET_EPOCH_ASSERT(); + MPASS(packet_kif != NULL); + MPASS(packet_kif->pfik_ifp != NULL); + if (rule_kif == NULL || rule_kif == packet_kif) return (1); diff --git a/tests/sys/netpfil/pf/sctp.py b/tests/sys/netpfil/pf/sctp.py index 6042badffb64..38bb9f2dff74 100644 --- a/tests/sys/netpfil/pf/sctp.py +++ b/tests/sys/netpfil/pf/sctp.py @@ -268,7 +268,8 @@ class TestSCTP(VnetTestTemplate): ToolsHelper.print_output("/sbin/pfctl -e") ToolsHelper.pf_rules([ "block proto sctp", - "pass inet proto sctp to 192.0.2.0/24"]) + "pass inet proto sctp to 192.0.2.0/24", + "pass on lo"]) # Sanity check, we can communicate with the primary address. client = SCTPClient("192.0.2.3", 1234) @@ -305,6 +306,7 @@ class TestSCTP(VnetTestTemplate): ToolsHelper.print_output("/sbin/pfctl -e") ToolsHelper.pf_rules([ "block proto sctp", + "pass on lo", "pass inet proto sctp from 192.0.2.0/24"]) # Sanity check, we can communicate with the primary address. @@ -362,7 +364,7 @@ class TestSCTP(VnetTestTemplate): @pytest.mark.require_user("root") - def test_permutation(self): + def test_permutation_if_bound(self): # Test that we generate all permutations of src/dst addresses. # Assign two addresses to each end, and check for the expected states srv_vnet = self.vnet_map["vnet2"] @@ -374,6 +376,38 @@ class TestSCTP(VnetTestTemplate): ToolsHelper.pf_rules([ "set state-policy if-bound", "block proto sctp", + "pass on lo", + "pass inet proto sctp to 192.0.2.0/24"]) + + # Sanity check, we can communicate with the primary address. + client = SCTPClient("192.0.2.3", 1234) + client.send(b"hello", 0) + rcvd = self.wait_object(srv_vnet.pipe) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "hello" + + # Check that we have a state for 192.0.2.3 and 192.0.2.2 to 192.0.2.1, but also to 192.0.2.4 + states = ToolsHelper.get_output("/sbin/pfctl -ss") + print(states) + assert re.search(r"epair.*sctp 192.0.2.1:.*192.0.2.3:1234", states) + assert re.search(r"epair.*sctp 192.0.2.1:.*192.0.2.2:1234", states) + assert re.search(r"epair.*sctp 192.0.2.4:.*192.0.2.3:1234", states) + assert re.search(r"epair.*sctp 192.0.2.4:.*192.0.2.2:1234", states) + + @pytest.mark.require_user("root") + def test_permutation_floating(self): + # Test that we generate all permutations of src/dst addresses. + # Assign two addresses to each end, and check for the expected states + srv_vnet = self.vnet_map["vnet2"] + + ifname = self.vnet_map["vnet1"].iface_alias_map["if1"].name + ToolsHelper.print_output("/sbin/ifconfig %s inet alias 192.0.2.4/24" % ifname) + + ToolsHelper.print_output("/sbin/pfctl -e") + ToolsHelper.pf_rules([ + "block proto sctp", + "pass on lo", "pass inet proto sctp to 192.0.2.0/24"]) # Sanity check, we can communicate with the primary address. @@ -387,9 +421,9 @@ class TestSCTP(VnetTestTemplate): # Check that we have a state for 192.0.2.3 and 192.0.2.2 to 192.0.2.1, but also to 192.0.2.4 states = ToolsHelper.get_output("/sbin/pfctl -ss") print(states) - assert re.search(r".*sctp 192.0.2.1:.*192.0.2.3:1234", states) + assert re.search(r"all sctp 192.0.2.1:.*192.0.2.3:1234", states) assert re.search(r"all sctp 192.0.2.1:.*192.0.2.2:1234", states) - assert re.search(r".*sctp 192.0.2.4:.*192.0.2.3:1234", states) + assert re.search(r"all sctp 192.0.2.4:.*192.0.2.3:1234", states) assert re.search(r"all sctp 192.0.2.4:.*192.0.2.2:1234", states) class TestSCTPv6(VnetTestTemplate): @@ -417,6 +451,7 @@ class TestSCTPv6(VnetTestTemplate): ToolsHelper.print_output("/sbin/pfctl -e") ToolsHelper.pf_rules([ "block proto sctp", + "pass on lo", "pass inet6 proto sctp to 2001:db8::0/64"]) # Sanity check, we can communicate with the primary address. @@ -454,6 +489,7 @@ class TestSCTPv6(VnetTestTemplate): ToolsHelper.print_output("/sbin/pfctl -e") ToolsHelper.pf_rules([ "block proto sctp", + "pass on lo", "pass inet6 proto sctp from 2001:db8::/64"]) # Sanity check, we can communicate with the primary address. @@ -518,9 +554,42 @@ class TestSCTPv6(VnetTestTemplate): ifname = self.vnet_map["vnet1"].iface_alias_map["if1"].name ToolsHelper.print_output("/sbin/ifconfig %s inet6 alias 2001:db8::4/64" % ifname) + ToolsHelper.print_output("/sbin/pfctl -e") + ToolsHelper.pf_rules([ + "set state-policy if-bound", + "block proto sctp", + "pass on lo", + "pass inet6 proto sctp to 2001:db8::0/64"]) + + # Sanity check, we can communicate with the primary address. + client = SCTPClient("2001:db8::3", 1234) + client.send(b"hello", 0) + rcvd = self.wait_object(srv_vnet.pipe) + print(rcvd) + assert rcvd['ppid'] == 0 + assert rcvd['data'] == "hello" + + # Check that we have a state for 2001:db8::3 and 2001:db8::2 to 2001:db8::1, but also to 2001:db8::4 + states = ToolsHelper.get_output("/sbin/pfctl -ss") + print(states) + assert re.search(r"epair.*sctp 2001:db8::1\[.*2001:db8::2\[1234\]", states) + assert re.search(r"epair.*sctp 2001:db8::1\[.*2001:db8::3\[1234\]", states) + assert re.search(r"epair.*sctp 2001:db8::4\[.*2001:db8::2\[1234\]", states) + assert re.search(r"epair.*sctp 2001:db8::4\[.*2001:db8::3\[1234\]", states) + + @pytest.mark.require_user("root") + def test_permutation_floating(self): + # Test that we generate all permutations of src/dst addresses. + # Assign two addresses to each end, and check for the expected states + srv_vnet = self.vnet_map["vnet2"] + + ifname = self.vnet_map["vnet1"].iface_alias_map["if1"].name + ToolsHelper.print_output("/sbin/ifconfig %s inet6 alias 2001:db8::4/64" % ifname) + ToolsHelper.print_output("/sbin/pfctl -e") ToolsHelper.pf_rules([ "block proto sctp", + "pass on lo", "pass inet6 proto sctp to 2001:db8::0/64"]) # Sanity check, we can communicate with the primary address. From nobody Tue Dec 3 20:04:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2s7q23ZCz5ggWq; Tue, 03 Dec 2024 20:04:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2s7q00sbz4lCj; Tue, 3 Dec 2024 20:04:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I4Vi4IS1ZI4Re0hNUZwfF9oiDfMfo8b6FEhpFtv1hN0=; b=Kw/U1LHD8LpynjkS76aBBxA5zOdFOYdsW8kHAlGzQnh8OkHBkugA+N1J8o84GPxYa++WjP xcpuMGnsp6aJ777CINNriMDky3mG4Xy6fVhPMLMa6R19BgURUb+QvlvcgZdSJXffOfzF86 XzgQR0LYFU7iVPpozLQoGobq/wJVsTbKnAF3kAG3P+56mLvrJpFxFJWvHS2Cs1yIRpSweG 2fV06jE41zGGmNCTOC7IQcIoLlRnHJwKs+xY17WSuqvz9GrH3RsSMAGbzTeRhhFWyf68ak xCZsA8xTy1fPtaYxgQ6AfIOS5KefOqr9wplX7AY3m0Pwf7d7Cju2Z0M2mmDJZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I4Vi4IS1ZI4Re0hNUZwfF9oiDfMfo8b6FEhpFtv1hN0=; b=cwpy4ZudiJ7Bl/Hb1lDFrvrutVc1y7SMKC1ImHMBVFCeS0mF1bA+T1GjQrXdDHiJJwnHyb Jti/ep+HIns3tqq1yLKG7zJMauJG5HGF3YhxFMf0dB9zc9SPeHj679bNGWkYC7k+FQJYSt Uje/cmxnHik16PBh7m/LdZn/l5X3+PqGJkPNpOZ8AjyX4ueje6dPgcW0Y0cG0PTq0zK3JI WNFkiTyYD5lyzECOy5dtZ/fBlqywZGr4Q/3ZjZczHIKxuEMKI2ULIDhMtlUUX89R+2s0OI iV901jo/olF8+0FqWEZc7qv3mW4KQxQywxFY/eKlhuRs5l7X/SMxJWA9WDg6YQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733256295; a=rsa-sha256; cv=none; b=Sc35yssJ/F+VdDcWhWDb9Jizg+LdGSiiMrhyjFPvMbQKO/wP1CJ0ry5kEXkpoHagIII6KF 1Z1TNhvxBv1hehfjePzegy6QF+s/iRl+jJ5eTbNIzvuXo7g21qOG0+g8hJb0aN/euWSeLY 9b1AqWEKQseTImg4RyOz9EeZKgv0w/JrBgj/jEFZEZxQ7d8qQudSdmxYo73oT9AxW6xgNy ERN/t42hoxQYhMpWqB2xgtd7Jcx5jOYLHaN5eIxgKBPFlFZcVnQLbvtqUTIAkDKlhsfH8T Lk62/u5abg1SuWqUokRvf29yPLR4HDxX1i0qWBJ+h+FXWA+tB82RAS+wwLEsfg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2s7p6cJtzd1G; Tue, 3 Dec 2024 20:04:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B3K4s7J061545; Tue, 3 Dec 2024 20:04:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3K4sh1061542; Tue, 3 Dec 2024 20:04:54 GMT (envelope-from git) Date: Tue, 3 Dec 2024 20:04:54 GMT Message-Id: <202412032004.4B3K4sh1061542@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: ac84ce05c121 - main - netlink: consistently use uint16_t for family id List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ac84ce05c121b1f6ff47f0f3302ac26020231d08 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=ac84ce05c121b1f6ff47f0f3302ac26020231d08 commit ac84ce05c121b1f6ff47f0f3302ac26020231d08 Author: Gleb Smirnoff AuthorDate: 2024-12-03 20:04:09 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-03 20:04:09 +0000 netlink: consistently use uint16_t for family id Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D47547 --- sys/netlink/netlink_ctl.h | 4 ++-- sys/netlink/netlink_domain.c | 2 +- sys/netlink/netlink_generic_kpi.c | 4 ++-- sys/netlink/netlink_var.h | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sys/netlink/netlink_ctl.h b/sys/netlink/netlink_ctl.h index 90a6cb663810..2d4737b61c40 100644 --- a/sys/netlink/netlink_ctl.h +++ b/sys/netlink/netlink_ctl.h @@ -79,7 +79,7 @@ bool netlink_register_proto(int proto, const char *proto_name, nl_handler_f hand bool netlink_unregister_proto(int proto); /* Common helpers */ -bool nl_has_listeners(int netlink_family, uint32_t groups_mask); +bool nl_has_listeners(uint16_t netlink_family, uint32_t groups_mask); bool nlp_has_priv(struct nlpcb *nlp, int priv); struct ucred *nlp_get_cred(struct nlpcb *nlp); uint32_t nlp_get_pid(const struct nlpcb *nlp); @@ -103,7 +103,7 @@ uint32_t genl_register_group(const char *family_name, const char *group_name); struct genl_family; const char *genl_get_family_name(const struct genl_family *gf); -uint32_t genl_get_family_id(const struct genl_family *gf); +uint16_t genl_get_family_id(const struct genl_family *gf); typedef void (*genl_family_event_handler_t)(void *arg, const struct genl_family *gf, int action); EVENTHANDLER_DECLARE(genl_family_event, genl_family_event_handler_t); diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 777aff43000a..7bd58e63b65a 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -256,7 +256,7 @@ nl_send_group(struct nl_writer *nw) } bool -nl_has_listeners(int netlink_family, uint32_t groups_mask) +nl_has_listeners(uint16_t netlink_family, uint32_t groups_mask) { return (V_nl_ctl != NULL); } diff --git a/sys/netlink/netlink_generic_kpi.c b/sys/netlink/netlink_generic_kpi.c index b5cf03dd8fc8..4e40bb7dfc49 100644 --- a/sys/netlink/netlink_generic_kpi.c +++ b/sys/netlink/netlink_generic_kpi.c @@ -252,7 +252,7 @@ genl_register_group(const char *family_name, const char *group_name) /* accessors */ struct genl_family * -genl_get_family(uint32_t family_id) +genl_get_family(uint16_t family_id) { return ((family_id < MAX_FAMILIES) ? &families[family_id] : NULL); } @@ -263,7 +263,7 @@ genl_get_family_name(const struct genl_family *gf) return (gf->family_name); } -uint32_t +uint16_t genl_get_family_id(const struct genl_family *gf) { return (gf->family_id); diff --git a/sys/netlink/netlink_var.h b/sys/netlink/netlink_var.h index ddf30b373446..51b0045b1430 100644 --- a/sys/netlink/netlink_var.h +++ b/sys/netlink/netlink_var.h @@ -159,7 +159,7 @@ struct genl_group { const char *group_name; }; -struct genl_family *genl_get_family(uint32_t family_id); +struct genl_family *genl_get_family(uint16_t family_id); struct genl_group *genl_get_group(uint32_t group_id); #define MAX_FAMILIES 20 From nobody Tue Dec 3 20:04:55 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2s7r29v9z5ggKs; Tue, 03 Dec 2024 20:04:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2s7r0YSBz4lGD; Tue, 3 Dec 2024 20:04:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uyu3njc1NtAhoGVSBfXJ+r4wylAAd3aTcRECoiOBE7E=; b=liua/fFFXpI0g8354OMI+kyyJOVKg+UJDlrYy6uufeiA40f+Z320GM6rw6J3lQpLI3TRYG nQBFoCF4+DXmWJqu3C1Syx+CIxLz958U6MthOFhmhyT9HgSnu+mIIhG+oCWQpcpdVTcBWL wU3oSguRuoLcPVf6/PESsjPEvnHQU3OTXnmXp1dE+ee8b6/HqaKPKq+53NW/nbIPh/JVZw KawM31x42d3RgrUdh+uplWd3VHZIOz9JthwgR4HT8ScLf5r7/+jkYZg1U0EmgtNf75NB1C r4ODgKrbgtNonYpy6joEb67iInk1WTQ/QvEOpV4aNoCoMul/AUcf03ExW54sJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256296; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Uyu3njc1NtAhoGVSBfXJ+r4wylAAd3aTcRECoiOBE7E=; b=etGMTTq3kJkpFFw5MSe+Cwwt767FOuBMX3zNiwWNzG4VZFZKaAVQuTt/lBioRt2ug7XVp9 oc/Be7jvyf95fupkL2DJli3tKgriA6rnok3Zv3bKzYcpGOysJCOmLi7BIpcDOwsIWG2xF+ 8a676rrEjHw4xsw7ezwQ+5C+SU++Nh0FuCN2niQPqwTb16liNOjVAr5jyFGERo/AkxDhQe n5VQSipJFe2jZpye4bW2UNpImXW8L5evubqF8bsa16gOpr4+8y0DGs9+8BOAEocZwexrgT gRlJcZXUtMODWkY6VnjCAoCol4/vktyNQ28y6JQeIdZx1rmlxRgGtdyw28NNkg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733256296; a=rsa-sha256; cv=none; b=yUq7wgC2Q+7UHnaBY9UrgFUob1PQMMfruHDxMIk9C+JpCEjCpd1wp9ZMJ7Ej/aj5GfC1bu XZQzGWXSIdgQ/eqrrdppz9v227YgrKuTMV3kj5AZH/cLKcklebw7ooy/SHmRMekKD1TSn7 ji9oGLK5RiyaYx4rnMoohNTMzaWB5NFO1r//Oe5kc5wUIHVTTV0wqmUcRcH/v3TnOAMZFr +gkeflGcVGM9V+otTdLSN0ZrUocY7Od10fQ8xN2md6PcjzpwuMVbJDdQzar4REOh/uPmtI BkueFkPBejBZB/s7UXYRr2gtOydAnh2aLOrfOLzytkvendaekhWarDtNitk6Bw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2s7q6zqGzcl0; Tue, 3 Dec 2024 20:04: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 4B3K4tbw061583; Tue, 3 Dec 2024 20:04:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3K4tTJ061580; Tue, 3 Dec 2024 20:04:55 GMT (envelope-from git) Date: Tue, 3 Dec 2024 20:04:55 GMT Message-Id: <202412032004.4B3K4tTJ061580@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: edf5608bfef3 - main - netlink: use bitset(9) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: edf5608bfef3840718bf31b453efb714ef290f31 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=edf5608bfef3840718bf31b453efb714ef290f31 commit edf5608bfef3840718bf31b453efb714ef290f31 Author: Gleb Smirnoff AuthorDate: 2024-12-03 20:04:14 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-03 20:04:14 +0000 netlink: use bitset(9) Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D47548 --- sys/netlink/netlink_domain.c | 6 +++--- sys/netlink/netlink_var.h | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 7bd58e63b65a..67ca16d59009 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -145,7 +145,7 @@ nl_add_group_locked(struct nlpcb *nlp, unsigned int group_id) if (!nlp_unconstrained_vnet(nlp)) return; - nlp->nl_groups[group_id / 64] |= (uint64_t)1 << (group_id % 64); + BIT_SET(NLP_MAX_GROUPS, group_id, &nlp->nl_groups); } static void @@ -154,7 +154,7 @@ nl_del_group_locked(struct nlpcb *nlp, unsigned int group_id) MPASS(group_id <= NLP_MAX_GROUPS); --group_id; - nlp->nl_groups[group_id / 64] &= ~((uint64_t)1 << (group_id % 64)); + BIT_CLR(NLP_MAX_GROUPS, group_id, &nlp->nl_groups); } static bool @@ -163,7 +163,7 @@ nl_isset_group_locked(struct nlpcb *nlp, unsigned int group_id) MPASS(group_id <= NLP_MAX_GROUPS); --group_id; - return (nlp->nl_groups[group_id / 64] & ((uint64_t)1 << (group_id % 64))); + return (BIT_ISSET(NLP_MAX_GROUPS, group_id, &nlp->nl_groups)); } static uint32_t diff --git a/sys/netlink/netlink_var.h b/sys/netlink/netlink_var.h index 51b0045b1430..7557bd2c06a5 100644 --- a/sys/netlink/netlink_var.h +++ b/sys/netlink/netlink_var.h @@ -53,9 +53,10 @@ struct nl_buf { #define NLP_MAX_GROUPS 128 +BITSET_DEFINE(nl_groups, NLP_MAX_GROUPS); struct nlpcb { struct socket *nl_socket; - uint64_t nl_groups[NLP_MAX_GROUPS / 64]; + struct nl_groups nl_groups; uint32_t nl_port; uint32_t nl_flags; uint32_t nl_process_id; From nobody Tue Dec 3 20:04:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2s7s3tfNz5ggbW; Tue, 03 Dec 2024 20:04:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2s7s1Lv1z4lMW; Tue, 3 Dec 2024 20:04:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TqkCl3G5O7NPKUv410VmW9/yLl2S2eqxiFT8Ph3ARu8=; b=DW5groZjlCylef80LgB1LJ3K9yyq5c3xfVP98DnNPWY6kcA5HNX+kKFWzdl1hi2cUslg0n ihZtrJ/X+JM7qjfweGw4oMzncaqRx/gJUjtDPKuTb1fpVbYIpYZOhEXJJFDmlq6OIZyZbD KTL+qys6kShtdZc2vfDmih+2BTf9zqer2fVcroMQyAdZZrgOxTn7mAJ2jKbsew6C9jis8e ZIegYbO5BTv4q/ZLqDtQ8+WbGkNU0fH/Xwmiz8LlylyCyRtX/TyTpaSA3NiCxf7lVY8nth tU0sg4nxNkgdCBgp6FJsW4InPdUqU5uEkH+BhRvpRPdNe2f4cyN7yr55NItlDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256297; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TqkCl3G5O7NPKUv410VmW9/yLl2S2eqxiFT8Ph3ARu8=; b=pFebaRnMkeMJyHSvTUZV8VadSMc/DBwyhZ02ITCktNO0beSjHACyg4IlXOXliArFmj8aYB kcakpxBGgo9QvEr8GsM+c/z3bA7cL/mggXZgKjS7EY8F/EVtvfS4l38yz7ZtIL10At+x7N EZ1KE8g9/AuhWTtM2gTGCngHRXLbzO7VJLoNnPYyLUb2zCCtJrJ+69wr70VSGPfsRvipZY l4qRQ0e5pvLd0HfMxzQDMOeN2nirzZ+ZhdEFxKDqeYBwuX5RBK7vht0Amc2XMALA+6v/hC tTsc5PqVFIN7fQf1DbGbMbWDnkoB1AgDTOmAyxU7diPjALcbt8HwbJRSzCnWCg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733256297; a=rsa-sha256; cv=none; b=P+5nBSm2ALt6K+KyN/ux1PQLhy6FXk7KSJe7/mryDAhLYNfOS7Kw0aJFGLQho9QFvfwfDI eb/Vetuk5eknT8Q8Llts4kFYTmEGe9gQRO2ZDC1jk/4F2PSyPycJ637F+bFud0HPnHMqqy N+wFvX7psS6NVnIU7ylEoDqHvaJ214VkeH9SrJ0mVMPmdBaBH7JsN29AM0rVcYRmX9ZawV FmACwYd8jIlGGtJFr4SIiDjj37JOU5zcpIJAR7e6BA6z15VXo6vZffrvKm3Vz8xV8WF3AZ Ao6DxJwlCC/LHXqEt2PV0Ai2OEYIWou+Svanxaz7mNFMm6ONKd4BhTzX3xIlbQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2s7s0yGJzcLl; Tue, 3 Dec 2024 20:04: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 4B3K4v1m061625; Tue, 3 Dec 2024 20:04:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3K4vbc061622; Tue, 3 Dec 2024 20:04:57 GMT (envelope-from git) Date: Tue, 3 Dec 2024 20:04:57 GMT Message-Id: <202412032004.4B3K4vbc061622@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: a034c0aeccd8 - main - netlink: refactor writer initialization KPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: a034c0aeccd899a5872333625771df278e0a8ba7 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=a034c0aeccd899a5872333625771df278e0a8ba7 commit a034c0aeccd899a5872333625771df278e0a8ba7 Author: Gleb Smirnoff AuthorDate: 2024-12-03 20:04:18 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-03 20:04:18 +0000 netlink: refactor writer initialization KPI o Allow callers to initialize a writer that will malloc(9) with M_WAITOK. o Use size_t for expected malloc size. o Use correct types to initialize a group writer. o Rename functions into nl_writer_ namespace instead of nlmsg_, cause they are working on nl_writer, not on nlmsg. o Make the KPI responsible to sparsely initialize the writer structure. o Garbage collect chain writer. Fixes 17083b94a915. All current consumers are left as is, however some may benefit from M_WAITOK allocation as well as supplying a correct expected size. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D47549 --- sys/modules/netlink/Makefile | 1 - sys/netlink/netlink_generic.c | 12 ++++++----- sys/netlink/netlink_glue.c | 42 +++++++++++------------------------- sys/netlink/netlink_io.c | 4 ++-- sys/netlink/netlink_message_writer.c | 24 +++++++++++++-------- sys/netlink/netlink_message_writer.h | 20 +++++++++-------- sys/netlink/netlink_module.c | 4 ++-- sys/netlink/netlink_sysevent.c | 5 +++-- sys/netlink/netlink_var.h | 7 +++--- sys/netlink/route/iface.c | 11 +++++----- sys/netlink/route/neigh.c | 5 +++-- sys/netlink/route/nexthop.c | 11 +++++----- sys/netlink/route/rt.c | 9 ++++---- 13 files changed, 76 insertions(+), 79 deletions(-) diff --git a/sys/modules/netlink/Makefile b/sys/modules/netlink/Makefile index 6835be6e7bd7..4abef5106899 100644 --- a/sys/modules/netlink/Makefile +++ b/sys/modules/netlink/Makefile @@ -10,7 +10,6 @@ SRCS+= opt_inet.h opt_inet6.h opt_route.h CFLAGS+= -DNETLINK_MODULE EXPORT_SYMS= -EXPORT_SYMS+= nlmsg_get_chain_writer EXPORT_SYMS+= nlmsg_refill_buffer EXPORT_SYMS+= nlmsg_end EXPORT_SYMS+= nlmsg_flush diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index 28f9fe108ef4..4a3c83da57e1 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -256,14 +256,16 @@ nlctrl_notify(void *arg __unused, const struct genl_family *gf, int cmd) { struct nlmsghdr hdr = {.nlmsg_type = NETLINK_GENERIC }; struct genlmsghdr ghdr = { .cmd = cmd }; - struct nl_writer nw = {}; + struct nl_writer nw; - if (nlmsg_get_group_writer(&nw, NLMSG_SMALL, NETLINK_GENERIC, ctrl_group_id)) { - dump_family(&hdr, &ghdr, gf, &nw); - nlmsg_flush(&nw); + if (!nl_writer_group(&nw, NLMSG_SMALL, NETLINK_GENERIC, ctrl_group_id, + false)) { + NL_LOG(LOG_DEBUG, "error allocating group writer"); return; } - NL_LOG(LOG_DEBUG, "error allocating group writer"); + + dump_family(&hdr, &ghdr, gf, &nw); + nlmsg_flush(&nw); } static const struct genl_cmd nlctrl_cmds[] = { diff --git a/sys/netlink/netlink_glue.c b/sys/netlink/netlink_glue.c index 164bea1aba61..efb99a717b89 100644 --- a/sys/netlink/netlink_glue.c +++ b/sys/netlink/netlink_glue.c @@ -110,28 +110,15 @@ nlp_unconstrained_vnet(const struct nlpcb *nlp) /* Stub implementations for the loadable functions */ static bool -get_stub_writer(struct nl_writer *nw) -{ - bzero(nw, sizeof(*nw)); - nw->enomem = true; - - return (false); -} - -static bool -nlmsg_get_unicast_writer_stub(struct nl_writer *nw, int size, struct nlpcb *nlp) +nl_writer_unicast_stub(struct nl_writer *nw, size_t size, struct nlpcb *nlp, + bool waitok) { return (get_stub_writer(nw)); } static bool -nlmsg_get_group_writer_stub(struct nl_writer *nw, int size, int protocol, int group_id) -{ - return (get_stub_writer(nw)); -} - -static bool -nlmsg_get_chain_writer_stub(struct nl_writer *nw, int size, struct mbuf **pm) +nl_writer_group_stub(struct nl_writer *nw, size_t size, uint16_t protocol, + uint16_t group_id, bool waitok) { return (get_stub_writer(nw)); } @@ -203,9 +190,8 @@ const static struct nl_function_wrapper nl_stub = { .nlmsg_end = nlmsg_end_stub, .nlmsg_abort = nlmsg_abort_stub, .nlmsg_ignore_limit = nlmsg_ignore_limit_stub, - .nlmsg_get_unicast_writer = nlmsg_get_unicast_writer_stub, - .nlmsg_get_group_writer = nlmsg_get_group_writer_stub, - .nlmsg_get_chain_writer = nlmsg_get_chain_writer_stub, + .nl_writer_unicast = nl_writer_unicast_stub, + .nl_writer_group = nl_writer_group_stub, .nlmsg_end_dump = nlmsg_end_dump_stub, .nl_modify_ifp_generic = nl_modify_ifp_generic_stub, .nl_store_ifp_cookie = nl_store_ifp_cookie_stub, @@ -226,21 +212,17 @@ nl_set_functions(const struct nl_function_wrapper *nl) /* Function wrappers */ bool -nlmsg_get_unicast_writer(struct nl_writer *nw, int size, struct nlpcb *nlp) -{ - return (_nl->nlmsg_get_unicast_writer(nw, size, nlp)); -} - -bool -nlmsg_get_group_writer(struct nl_writer *nw, int size, int protocol, int group_id) +nl_writer_unicast(struct nl_writer *nw, size_t size, struct nlpcb *nlp, + bool waitok) { - return (_nl->nlmsg_get_group_writer(nw, size, protocol, group_id)); + return (_nl->nl_writer_unicast(nw, size, nlp, waitok)); } bool -nlmsg_get_chain_writer(struct nl_writer *nw, int size, struct mbuf **pm) +nl_writer_group(struct nl_writer *nw, size_t size, uint16_t protocol, + uint16_t group_id, bool waitok) { - return (_nl->nlmsg_get_chain_writer(nw, size, pm)); + return (_nl->nl_writer_group(nw, size, protocol, group_id, waitok)); } bool diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c index 2dd49d5e8eb5..bc8d2f9fcc3f 100644 --- a/sys/netlink/netlink_io.c +++ b/sys/netlink/netlink_io.c @@ -317,13 +317,13 @@ npt_clear(struct nl_pstate *npt) static bool nl_process_nbuf(struct nl_buf *nb, struct nlpcb *nlp) { + struct nl_writer nw; struct nlmsghdr *hdr; int error; NL_LOG(LOG_DEBUG3, "RX netlink buf %p on %p", nb, nlp->nl_socket); - struct nl_writer nw = {}; - if (!nlmsg_get_unicast_writer(&nw, NLMSG_SMALL, nlp)) { + if (!nl_writer_unicast(&nw, NLMSG_SMALL, nlp, false)) { NL_LOG(LOG_DEBUG, "error allocating socket writer"); return (true); } diff --git a/sys/netlink/netlink_message_writer.c b/sys/netlink/netlink_message_writer.c index 59bc6aabaa3f..ee1dab42da74 100644 --- a/sys/netlink/netlink_message_writer.c +++ b/sys/netlink/netlink_message_writer.c @@ -73,22 +73,28 @@ nl_send_one(struct nl_writer *nw) } bool -_nlmsg_get_unicast_writer(struct nl_writer *nw, int size, struct nlpcb *nlp) +_nl_writer_unicast(struct nl_writer *nw, size_t size, struct nlpcb *nlp, + bool waitok) { - nw->nlp = nlp; - nw->cb = nl_send_one; + *nw = (struct nl_writer){ + .nlp = nlp, + .cb = nl_send_one, + }; - return (nlmsg_get_buf(nw, size, false)); + return (nlmsg_get_buf(nw, size, waitok)); } bool -_nlmsg_get_group_writer(struct nl_writer *nw, int size, int protocol, int group_id) +_nl_writer_group(struct nl_writer *nw, size_t size, uint16_t protocol, + uint16_t group_id, bool waitok) { - nw->group.proto = protocol; - nw->group.id = group_id; - nw->cb = nl_send_group; + *nw = (struct nl_writer){ + .group.proto = protocol, + .group.id = group_id, + .cb = nl_send_group, + }; - return (nlmsg_get_buf(nw, size, false)); + return (nlmsg_get_buf(nw, size, waitok)); } void diff --git a/sys/netlink/netlink_message_writer.h b/sys/netlink/netlink_message_writer.h index cb771cf93e53..8cf6951df40c 100644 --- a/sys/netlink/netlink_message_writer.h +++ b/sys/netlink/netlink_message_writer.h @@ -66,8 +66,8 @@ struct nl_writer { #if defined(NETLINK) || defined(NETLINK_MODULE) /* Provide optimized calls to the functions inside the same linking unit */ -bool _nlmsg_get_unicast_writer(struct nl_writer *nw, int expected_size, struct nlpcb *nlp); -bool _nlmsg_get_group_writer(struct nl_writer *nw, int expected_size, int proto, int group_id); +bool _nl_writer_unicast(struct nl_writer *, size_t, struct nlpcb *nlp, bool); +bool _nl_writer_group(struct nl_writer *, size_t, uint16_t, uint16_t, bool); bool _nlmsg_flush(struct nl_writer *nw); void _nlmsg_ignore_limit(struct nl_writer *nw); @@ -81,15 +81,17 @@ bool _nlmsg_end_dump(struct nl_writer *nw, int error, struct nlmsghdr *hdr); static inline bool -nlmsg_get_unicast_writer(struct nl_writer *nw, int expected_size, struct nlpcb *nlp) +nl_writer_unicast(struct nl_writer *nw, size_t size, struct nlpcb *nlp, + bool waitok) { - return (_nlmsg_get_unicast_writer(nw, expected_size, nlp)); + return (_nl_writer_unicast(nw, size, nlp, waitok)); } static inline bool -nlmsg_get_group_writer(struct nl_writer *nw, int expected_size, int proto, int group_id) +nl_writer_group(struct nl_writer *nw, size_t size, uint16_t proto, + uint16_t group_id, bool waitok) { - return (_nlmsg_get_group_writer(nw, expected_size, proto, group_id)); + return (_nl_writer_group(nw, size, proto, group_id, waitok)); } static inline bool @@ -138,9 +140,9 @@ nlmsg_end_dump(struct nl_writer *nw, int error, struct nlmsghdr *hdr) #else /* Provide access to the functions via netlink_glue.c */ -bool nlmsg_get_unicast_writer(struct nl_writer *nw, int expected_size, struct nlpcb *nlp); -bool nlmsg_get_group_writer(struct nl_writer *nw, int expected_size, int proto, int group_id); -bool nlmsg_get_chain_writer(struct nl_writer *nw, int expected_size, struct mbuf **pm); +bool nl_writer_unicast(struct nl_writer *, size_t, struct nlpcb *, bool waitok); +bool nl_writer_group(struct nl_writer *, size_t, uint16_t, uint16_t, + bool waitok); bool nlmsg_flush(struct nl_writer *nw); void nlmsg_ignore_limit(struct nl_writer *nw); diff --git a/sys/netlink/netlink_module.c b/sys/netlink/netlink_module.c index ddae4488987b..cf119a74cfb7 100644 --- a/sys/netlink/netlink_module.c +++ b/sys/netlink/netlink_module.c @@ -179,8 +179,8 @@ const static struct nl_function_wrapper nl_module = { .nlmsg_flush = _nlmsg_flush, .nlmsg_end = _nlmsg_end, .nlmsg_abort = _nlmsg_abort, - .nlmsg_get_unicast_writer = _nlmsg_get_unicast_writer, - .nlmsg_get_group_writer = _nlmsg_get_group_writer, + .nl_writer_unicast = _nl_writer_unicast, + .nl_writer_group = _nl_writer_group, .nlmsg_end_dump = _nlmsg_end_dump, .nl_modify_ifp_generic = _nl_modify_ifp_generic, .nl_store_ifp_cookie = _nl_store_ifp_cookie, diff --git a/sys/netlink/netlink_sysevent.c b/sys/netlink/netlink_sysevent.c index 01d0837b14d2..3359c77fa303 100644 --- a/sys/netlink/netlink_sysevent.c +++ b/sys/netlink/netlink_sysevent.c @@ -80,9 +80,10 @@ static void sysevent_write(struct sysevent_group *se, const char *subsystem, const char *type, const char *data) { - struct nl_writer nw = {}; + struct nl_writer nw; - if (!nlmsg_get_group_writer(&nw, NLMSG_LARGE, NETLINK_GENERIC, se->id)) { + if (!nl_writer_group(&nw, NLMSG_LARGE, NETLINK_GENERIC, se->id, + false)) { NL_LOG(LOG_DEBUG, "error allocating group writer"); return; } diff --git a/sys/netlink/netlink_var.h b/sys/netlink/netlink_var.h index 7557bd2c06a5..c09e279205f0 100644 --- a/sys/netlink/netlink_var.h +++ b/sys/netlink/netlink_var.h @@ -184,9 +184,10 @@ struct nl_function_wrapper { bool (*nlmsg_end)(struct nl_writer *nw); void (*nlmsg_abort)(struct nl_writer *nw); void (*nlmsg_ignore_limit)(struct nl_writer *nw); - bool (*nlmsg_get_unicast_writer)(struct nl_writer *nw, int size, struct nlpcb *nlp); - bool (*nlmsg_get_group_writer)(struct nl_writer *nw, int size, int protocol, int group_id); - bool (*nlmsg_get_chain_writer)(struct nl_writer *nw, int size, struct mbuf **pm); + bool (*nl_writer_unicast)(struct nl_writer *nw, size_t size, + struct nlpcb *nlp, bool waitok); + bool (*nl_writer_group)(struct nl_writer *nw, size_t size, + uint16_t protocol, uint16_t group_id, bool waitok); bool (*nlmsg_end_dump)(struct nl_writer *nw, int error, struct nlmsghdr *hdr); int (*nl_modify_ifp_generic)(struct ifnet *ifp, struct nl_parsed_link *lattrs, const struct nlattr_bmask *bm, struct nl_pstate *npt); diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index e6a3d7d00a8f..c19161f5bbb7 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -1363,7 +1363,7 @@ static void rtnl_handle_ifaddr(void *arg __unused, struct ifaddr *ifa, int cmd) { struct nlmsghdr hdr = {}; - struct nl_writer nw = {}; + struct nl_writer nw; uint32_t group = 0; switch (ifa->ifa_addr->sa_family) { @@ -1386,7 +1386,7 @@ rtnl_handle_ifaddr(void *arg __unused, struct ifaddr *ifa, int cmd) if (!nl_has_listeners(NETLINK_ROUTE, group)) return; - if (!nlmsg_get_group_writer(&nw, NLMSG_LARGE, NETLINK_ROUTE, group)) { + if (!nl_writer_group(&nw, NLMSG_LARGE, NETLINK_ROUTE, group, false)) { NL_LOG(LOG_DEBUG, "error allocating group writer"); return; } @@ -1401,13 +1401,14 @@ static void rtnl_handle_ifevent(if_t ifp, int nlmsg_type, int if_flags_mask) { struct nlmsghdr hdr = { .nlmsg_type = nlmsg_type }; - struct nl_writer nw = {}; + struct nl_writer nw; if (!nl_has_listeners(NETLINK_ROUTE, RTNLGRP_LINK)) return; - if (!nlmsg_get_group_writer(&nw, NLMSG_LARGE, NETLINK_ROUTE, RTNLGRP_LINK)) { - NL_LOG(LOG_DEBUG, "error allocating mbuf"); + if (!nl_writer_group(&nw, NLMSG_LARGE, NETLINK_ROUTE, RTNLGRP_LINK, + false)) { + NL_LOG(LOG_DEBUG, "error allocating group writer"); return; } dump_iface(&nw, ifp, &hdr, if_flags_mask); diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index 5be0c1f9d91f..c5003eddaba1 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -552,6 +552,7 @@ static const struct rtnl_cmd_handler cmd_handlers[] = { static void rtnl_lle_event(void *arg __unused, struct llentry *lle, int evt) { + struct nl_writer nw; if_t ifp; int family; @@ -565,8 +566,8 @@ rtnl_lle_event(void *arg __unused, struct llentry *lle, int evt) int nlmsgs_type = evt == LLENTRY_RESOLVED ? NL_RTM_NEWNEIGH : NL_RTM_DELNEIGH; - struct nl_writer nw = {}; - if (!nlmsg_get_group_writer(&nw, NLMSG_SMALL, NETLINK_ROUTE, RTNLGRP_NEIGH)) { + if (!nl_writer_group(&nw, NLMSG_SMALL, NETLINK_ROUTE, RTNLGRP_NEIGH, + false)) { NL_LOG(LOG_DEBUG, "error allocating group writer"); return; } diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 0d6bb5c9ec84..90ed3497047e 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -506,7 +506,7 @@ static int delete_unhop(struct unhop_ctl *ctl, struct nlmsghdr *hdr, uint32_t uidx) { struct user_nhop *unhop_ret, *unhop_base, *unhop_chain; - + struct nl_writer nw; struct user_nhop key = { .un_idx = uidx }; UN_WLOCK(ctl); @@ -553,8 +553,8 @@ delete_unhop(struct unhop_ctl *ctl, struct nlmsghdr *hdr, uint32_t uidx) .hdr.nlmsg_type = NL_RTM_DELNEXTHOP, }; - struct nl_writer nw = {}; - if (!nlmsg_get_group_writer(&nw, NLMSG_SMALL, NETLINK_ROUTE, RTNLGRP_NEXTHOP)) { + if (!nl_writer_group(&nw, NLMSG_SMALL, NETLINK_ROUTE, RTNLGRP_NEXTHOP, + false)) { NL_LOG(LOG_DEBUG, "error allocating message writer"); return (ENOMEM); } @@ -881,6 +881,7 @@ static int rtnl_handle_newnhop(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate *npt) { + struct nl_writer nw; struct user_nhop *unhop; int error; @@ -947,8 +948,8 @@ rtnl_handle_newnhop(struct nlmsghdr *hdr, struct nlpcb *nlp, .hdr.nlmsg_type = NL_RTM_NEWNEXTHOP, }; - struct nl_writer nw = {}; - if (!nlmsg_get_group_writer(&nw, NLMSG_SMALL, NETLINK_ROUTE, RTNLGRP_NEXTHOP)) { + if (!nl_writer_group(&nw, NLMSG_SMALL, NETLINK_ROUTE, RTNLGRP_NEXTHOP, + false)) { NL_LOG(LOG_DEBUG, "error allocating message writer"); return (ENOMEM); } diff --git a/sys/netlink/route/rt.c b/sys/netlink/route/rt.c index 00315afbcb02..c9b0f56498ec 100644 --- a/sys/netlink/route/rt.c +++ b/sys/netlink/route/rt.c @@ -350,10 +350,10 @@ static void report_operation(uint32_t fibnum, struct rib_cmd_info *rc, struct nlpcb *nlp, struct nlmsghdr *hdr) { - struct nl_writer nw = {}; + struct nl_writer nw; uint32_t group_id = family_to_group(rt_get_family(rc->rc_rt)); - if (nlmsg_get_group_writer(&nw, NLMSG_SMALL, NETLINK_ROUTE, group_id)) { + if (nl_writer_group(&nw, NLMSG_SMALL, NETLINK_ROUTE, group_id, false)) { struct route_nhop_data rnd = { .rnd_nhop = rc_get_nhop(rc), .rnd_weight = rc->rc_nh_weight, @@ -1043,7 +1043,7 @@ rtnl_handle_getroute(struct nlmsghdr *hdr, struct nlpcb *nlp, struct nl_pstate * void rtnl_handle_route_event(uint32_t fibnum, const struct rib_cmd_info *rc) { - struct nl_writer nw = {}; + struct nl_writer nw; int family, nlm_flags = 0; family = rt_get_family(rc->rc_rt); @@ -1082,7 +1082,8 @@ rtnl_handle_route_event(uint32_t fibnum, const struct rib_cmd_info *rc) }; uint32_t group_id = family_to_group(family); - if (!nlmsg_get_group_writer(&nw, NLMSG_SMALL, NETLINK_ROUTE, group_id)) { + if (!nl_writer_group(&nw, NLMSG_SMALL, NETLINK_ROUTE, group_id, + false)) { NL_LOG(LOG_DEBUG, "error allocating event buffer"); return; } From nobody Tue Dec 3 20:04:58 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2s7t3mlMz5ggWy; Tue, 03 Dec 2024 20:04:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2s7t2QqGz4l9q; Tue, 3 Dec 2024 20:04:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qzp5SMGpbjLBaUw5nXkRpLLFEYs17+BWu1UHVyCdZaQ=; b=fi2Yk4+L7iTFFvmNYTrhTQiVn8j9XsdJRHHHB/sjO15U0uKe+hGfaZPBivflYCElGq3Zmc joe/61ry32DbrPgvA2ymrdVQgLfVoBbcJoWYDL6qQtP4oiukgrSn2Db0qt6HY5oW8dvrrd f9QKGl3o0c445XX8YVLdXjF7xxhCdVusWtrsHSttb0OkJ2NiApsiqYaZhbL0EyI7V/1Ekc nDKOtFr55lT8swBwR19D2+jnHUt7RAIYd2GdrV+EYgrCzODkQrIxF47fHxeOUwWESY2vRx J+EHfGktgrsO9McpQrZvFaHAP9kfy+dYI32T9CgEfdgLy2tjRg0FW3hYvM2jaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Qzp5SMGpbjLBaUw5nXkRpLLFEYs17+BWu1UHVyCdZaQ=; b=ss+PYcexTXKntcaqsqXgwdu9X/TKg7JGmPSqRAVk/r7sV5/gyH/emG+OZY4U9hWx42zOTG rpbB874aVXe7UHpQ4wZBPGItPvGgXZBABbbqvnN+ZXXXq2lJ0PI1y7ghvxSY1yma/wYkcR zklIKVX0fZuwsCddpF4NpMDyGpBFqMAfsc8CVe8seYslo/Z2LAxTwcoPIYUFww1ZoWiyOr +Tvh2Q5wjoz5EdVGRWRWBUYPVxh9g0++xfJ5dE8LYCpmptV/wRguKeVGvFhFceWM9LDs6N AsezYQQHoybh06QbNmZ4WJx9S5AWGUQwn9leIgq+r45F3rt7BOFowz5G6Dcmxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733256298; a=rsa-sha256; cv=none; b=mx2r/5EptrBAeOgUpcdRhkKLDFv55REdMkZ1pLGN9IYxIylM10flCh3ufsjaCJdLoRb2Hk CmhR/Vl1x2PgrkY9XF94c7WWir9DkERrBHFMdFtd4OF6EtGb9FB4FRsAj3zOzngdW55kxm +rzIpWFRZhGdkIdpbGq6tpkyuW9LXaOFvONwwfrWFhHquBsRj/t8P0YLwA+xiGCh1/FDeO VbWBWoLrhPz3T5xUdQj3twwhYkVgOMp33niMnm8k9IpUvlQ9sbFwTmEm1a9qPIxWALCA8S Adrl6LUB2QUz3us6lAIohvTUY/IjP7oNDgb99f/AQn/ZUPUZWBI9uzKqL/jTkw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2s7t1zqSzcl1; Tue, 3 Dec 2024 20:04: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 4B3K4wKW061673; Tue, 3 Dec 2024 20:04:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3K4w5Z061670; Tue, 3 Dec 2024 20:04:58 GMT (envelope-from git) Date: Tue, 3 Dec 2024 20:04:58 GMT Message-Id: <202412032004.4B3K4w5Z061670@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: 0601c0f989f2 - main - netlink: check buffer length fits into u_int List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 0601c0f989f21a935d49818d67e732766ddc3f77 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=0601c0f989f21a935d49818d67e732766ddc3f77 commit 0601c0f989f21a935d49818d67e732766ddc3f77 Author: Gleb Smirnoff AuthorDate: 2024-12-03 20:04:22 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-03 20:04:22 +0000 netlink: check buffer length fits into u_int We may increase it to size_t later, KPI allows that already, but doesn't seem to be needed today. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D47550 --- sys/netlink/netlink_io.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netlink/netlink_io.c b/sys/netlink/netlink_io.c index bc8d2f9fcc3f..d2022a6a2b0d 100644 --- a/sys/netlink/netlink_io.c +++ b/sys/netlink/netlink_io.c @@ -58,6 +58,9 @@ nl_buf_alloc(size_t len, int mflag) { struct nl_buf *nb; + KASSERT(len > 0 && len <= UINT_MAX, ("%s: invalid length %zu", + __func__, len)); + nb = malloc(sizeof(struct nl_buf) + len, M_NETLINK, mflag); if (__predict_true(nb != NULL)) { nb->buflen = len; From nobody Tue Dec 3 20:04:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2s7v44XNz5ggZH; Tue, 03 Dec 2024 20:04: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2s7v38Pbz4lMw; Tue, 3 Dec 2024 20:04:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256299; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iszp/pnXpDL4oUFHNyNeflGX32NNgG9nvmLWqpg4rJM=; b=MJkigEkTbi+O8FmciXKVBRLdi/riUR8lgYHkWp1GtSA9WAEtjjaX2xz9fp07PO0NbH3UWQ fA3D7C9ABRpggFMvChmfyb3uiwAhvwwDeqSP7x67ie81usy8HGHdmeobEjnehdO/P/AVpS NFoulrr67Sq46WdZLa7j+E064QtSjSiJLjMASoGGhtaFx/jK7yUErNXKm92zUGgJq8DJX7 B0uwsbfeWTzNYMb8Crb7quUZ357VcZIvfngfnfYFpsQLFTWQUD2beAFKybQ7nW3ioZSJdv 3Ti36wGiHlA8DlSQ6yInNGBMKfZPObbPbOUQ6ZeWjlqJ4VSlbE/avdAqejy7fg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256299; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iszp/pnXpDL4oUFHNyNeflGX32NNgG9nvmLWqpg4rJM=; b=r/BKKJ1oQdw/ptfK2v9qTP084SVqMH9XFF8tqvYdz4sIjMIAMHt+Hhdb6PB5k3nHC9WPdK gAwbFyLMkUUQRcmh5Xfiitf/5bs80dPx64GBZInun2obCmgnXH19sZYcQ3EA3/fFfWr9nk mRvdkmd86+Z64BQ4Uh2XDNJUQwdmUvIfUANGEZzcg7GcaCQJ/sYvgWCkb+jytwpWC9MqdQ +tV6dcHKGdpIJogjZnbkTAO35kJJ/tzsQMAHg3vdtfEJo1km9iYCVy1s3+jto84hzmNxmv OYviiKe30Q7IrSH9XKFX5+tq+7OGQSMZ8TjYiKsoZ5PW0JccnFfebdF1Ql1UuA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733256299; a=rsa-sha256; cv=none; b=C5Ez4EfMahyxa1pHuuCzLWIEqS0qn5TIo8MXSiWp3KO1wJ6s/vwpn5gghNl/7+HDfqQs9Q S8rDr7iqtHlMCtcaW5E5ymbHFbxXgFqlnvd2SRQ2OuQqox/SELcoJ96H8YltvBvH5HKr68 4fe29d+9gGeh3aWJ++63NxX059xBy3W053vAYsqX1SN5LO9vgCq7UMm8BCMF28Oic9AzAl REvDfZRHkq7imqd/+84dvgf9rfZs60G+r49v1Kk/wUKpkmnzCNpNBo6Liua/qW/CsGWRvi CZeJo0yLzDY8UbpIetciRNpmMx3qJgoArlbMxUvsg4p/WSfvU4CBtWCLo45iRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2s7v2mHyzcLm; Tue, 3 Dec 2024 20:04: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 4B3K4xDf061726; Tue, 3 Dec 2024 20:04:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3K4xH8061723; Tue, 3 Dec 2024 20:04:59 GMT (envelope-from git) Date: Tue, 3 Dec 2024 20:04:59 GMT Message-Id: <202412032004.4B3K4xH8061723@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: f1c6edba885f - main - netlink: use size_t through the allocation KPI List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: f1c6edba885fa53cc87f7252ab09d36ec1984697 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=f1c6edba885fa53cc87f7252ab09d36ec1984697 commit f1c6edba885fa53cc87f7252ab09d36ec1984697 Author: Gleb Smirnoff AuthorDate: 2024-12-03 20:04:27 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-03 20:04:27 +0000 netlink: use size_t through the allocation KPI This fixes some signedness bugs and potential underflows. The length of nl_buf is still limited by UINT_MAX and this is asserted now. Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D47551 --- sys/netlink/ktest_netlink_message_writer.h | 4 ++-- sys/netlink/netlink_domain.c | 2 +- sys/netlink/netlink_glue.c | 5 +++-- sys/netlink/netlink_message_writer.c | 14 +++++++------- sys/netlink/netlink_message_writer.h | 14 +++++++------- sys/netlink/netlink_var.h | 2 +- 6 files changed, 21 insertions(+), 20 deletions(-) diff --git a/sys/netlink/ktest_netlink_message_writer.h b/sys/netlink/ktest_netlink_message_writer.h index 39d2c5e597d6..447593e0e700 100644 --- a/sys/netlink/ktest_netlink_message_writer.h +++ b/sys/netlink/ktest_netlink_message_writer.h @@ -30,12 +30,12 @@ #if defined(_KERNEL) && defined(INVARIANTS) -bool nlmsg_get_buf_wrapper(struct nl_writer *nw, u_int size, bool waitok); +bool nlmsg_get_buf_wrapper(struct nl_writer *nw, size_t size, bool waitok); #ifndef KTEST_CALLER bool -nlmsg_get_buf_wrapper(struct nl_writer *nw, u_int size, bool waitok) +nlmsg_get_buf_wrapper(struct nl_writer *nw, size_t size, bool waitok) { return (nlmsg_get_buf(nw, size, waitok)); } diff --git a/sys/netlink/netlink_domain.c b/sys/netlink/netlink_domain.c index 67ca16d59009..922da32bfb6d 100644 --- a/sys/netlink/netlink_domain.c +++ b/sys/netlink/netlink_domain.c @@ -566,7 +566,7 @@ nl_sosend(struct socket *so, struct sockaddr *addr, struct uio *uio, struct nlpcb *nlp = sotonlpcb(so); struct sockbuf *sb = &so->so_snd; struct nl_buf *nb; - u_int len; + size_t len; int error; MPASS(m == NULL && uio != NULL); diff --git a/sys/netlink/netlink_glue.c b/sys/netlink/netlink_glue.c index efb99a717b89..e550a6013654 100644 --- a/sys/netlink/netlink_glue.c +++ b/sys/netlink/netlink_glue.c @@ -135,7 +135,8 @@ nlmsg_ignore_limit_stub(struct nl_writer *nw __unused) } static bool -nlmsg_refill_buffer_stub(struct nl_writer *nw __unused, int required_len __unused) +nlmsg_refill_buffer_stub(struct nl_writer *nw __unused, + size_t required_len __unused) { return (false); } @@ -237,7 +238,7 @@ void nlmsg_ignore_limit(struct nl_writer *nw) } bool -nlmsg_refill_buffer(struct nl_writer *nw, int required_len) +nlmsg_refill_buffer(struct nl_writer *nw, size_t required_len) { return (_nl->nlmsg_refill_buffer(nw, required_len)); } diff --git a/sys/netlink/netlink_message_writer.c b/sys/netlink/netlink_message_writer.c index ee1dab42da74..092e3798f8e7 100644 --- a/sys/netlink/netlink_message_writer.c +++ b/sys/netlink/netlink_message_writer.c @@ -45,13 +45,13 @@ _DECLARE_DEBUG(LOG_INFO); static bool -nlmsg_get_buf(struct nl_writer *nw, u_int len, bool waitok) +nlmsg_get_buf(struct nl_writer *nw, size_t len, bool waitok) { const int mflag = waitok ? M_WAITOK : M_NOWAIT; MPASS(nw->buf == NULL); - NL_LOG(LOG_DEBUG3, "Setting up nw %p len %u %s", nw, len, + NL_LOG(LOG_DEBUG3, "Setting up nw %p len %zu %s", nw, len, waitok ? "wait" : "nowait"); nw->buf = nl_buf_alloc(len, mflag); @@ -139,17 +139,17 @@ _nlmsg_flush(struct nl_writer *nw) * Return true on success. */ bool -_nlmsg_refill_buffer(struct nl_writer *nw, u_int required_len) +_nlmsg_refill_buffer(struct nl_writer *nw, size_t required_len) { struct nl_buf *new; - u_int completed_len, new_len, last_len; + size_t completed_len, new_len, last_len; MPASS(nw->buf != NULL); if (nw->enomem) return (false); - NL_LOG(LOG_DEBUG3, "no space at offset %u/%u (want %u), trying to " + NL_LOG(LOG_DEBUG3, "no space at offset %u/%u (want %zu), trying to " "reclaim", nw->buf->datalen, nw->buf->buflen, required_len); /* Calculate new buffer size and allocate it. */ @@ -182,7 +182,7 @@ _nlmsg_refill_buffer(struct nl_writer *nw, u_int required_len) new->datalen = last_len; } - NL_LOG(LOG_DEBUG2, "completed: %u bytes, copied: %u bytes", + NL_LOG(LOG_DEBUG2, "completed: %zu bytes, copied: %zu bytes", completed_len, last_len); if (completed_len > 0) { @@ -204,7 +204,7 @@ _nlmsg_add(struct nl_writer *nw, uint32_t portid, uint32_t seq, uint16_t type, { struct nl_buf *nb = nw->buf; struct nlmsghdr *hdr; - u_int required_len; + size_t required_len; MPASS(nw->hdr == NULL); diff --git a/sys/netlink/netlink_message_writer.h b/sys/netlink/netlink_message_writer.h index 8cf6951df40c..9469883feaa7 100644 --- a/sys/netlink/netlink_message_writer.h +++ b/sys/netlink/netlink_message_writer.h @@ -71,9 +71,9 @@ bool _nl_writer_group(struct nl_writer *, size_t, uint16_t, uint16_t, bool); bool _nlmsg_flush(struct nl_writer *nw); void _nlmsg_ignore_limit(struct nl_writer *nw); -bool _nlmsg_refill_buffer(struct nl_writer *nw, u_int required_len); -bool _nlmsg_add(struct nl_writer *nw, uint32_t portid, uint32_t seq, uint16_t type, - uint16_t flags, uint32_t len); +bool _nlmsg_refill_buffer(struct nl_writer *nw, size_t required_len); +bool _nlmsg_add(struct nl_writer *nw, uint32_t portid, uint32_t seq, + uint16_t type, uint16_t flags, uint32_t len); bool _nlmsg_end(struct nl_writer *nw); void _nlmsg_abort(struct nl_writer *nw); @@ -107,7 +107,7 @@ nlmsg_ignore_limit(struct nl_writer *nw) } static inline bool -nlmsg_refill_buffer(struct nl_writer *nw, int required_size) +nlmsg_refill_buffer(struct nl_writer *nw, size_t required_size) { return (_nlmsg_refill_buffer(nw, required_size)); } @@ -146,9 +146,9 @@ bool nl_writer_group(struct nl_writer *, size_t, uint16_t, uint16_t, bool nlmsg_flush(struct nl_writer *nw); void nlmsg_ignore_limit(struct nl_writer *nw); -bool nlmsg_refill_buffer(struct nl_writer *nw, int required_size); -bool nlmsg_add(struct nl_writer *nw, uint32_t portid, uint32_t seq, uint16_t type, - uint16_t flags, uint32_t len); +bool nlmsg_refill_buffer(struct nl_writer *nw, size_t required_size); +bool nlmsg_add(struct nl_writer *nw, uint32_t portid, uint32_t seq, + uint16_t type, uint16_t flags, uint32_t len); bool nlmsg_end(struct nl_writer *nw); void nlmsg_abort(struct nl_writer *nw); diff --git a/sys/netlink/netlink_var.h b/sys/netlink/netlink_var.h index c09e279205f0..8efe84e935c3 100644 --- a/sys/netlink/netlink_var.h +++ b/sys/netlink/netlink_var.h @@ -179,7 +179,7 @@ struct nl_pstate; struct nl_function_wrapper { bool (*nlmsg_add)(struct nl_writer *nw, uint32_t portid, uint32_t seq, uint16_t type, uint16_t flags, uint32_t len); - bool (*nlmsg_refill_buffer)(struct nl_writer *nw, int required_len); + bool (*nlmsg_refill_buffer)(struct nl_writer *nw, size_t required_len); bool (*nlmsg_flush)(struct nl_writer *nw); bool (*nlmsg_end)(struct nl_writer *nw); void (*nlmsg_abort)(struct nl_writer *nw); From nobody Tue Dec 3 20:05:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2s7x09sKz5ggFF; Tue, 03 Dec 2024 20:05:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2s7w4kqfz4lS1; Tue, 3 Dec 2024 20:05:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256300; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lPXSjX3eiVn2DNedCbC4qzZ4wJki68AEs7urQagww3c=; b=kLlcOqEjijt/UKd/dfHrd2t1BNL1j+GcFzr1AjKt2ROSdK/6WofE68ZlXzeY+vxge9+w1/ AsapCYeLTqaxQ3xElNt7LdSBMt71+HvuW0hrUgOYxsqYxoWtD9VMxxb+cDgIV4OQ/bVtPl lLIZi0JRG5aUsgconVFuR7PyuOzf9doKOapRnVptxoX3tH8zwcSC9/5jC7rW1EazHMtmUf 8D7r1nWXFUK/3NSyXZCviw7vnFgMr+PXUL7MUGC2S9rGelW7MW23Ge/jESDCwsORZrjftj i462KA43izbnt43seku+yz+L5DmrGTHg5oX06mRKkCDs/2bANzF5xmw/i2rGsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256300; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lPXSjX3eiVn2DNedCbC4qzZ4wJki68AEs7urQagww3c=; b=tR28JP70JOblY1ui9ObugfJWbI1jjB1HbJaKrX3m0ACb2Idy37LCpZTnD55reoXVCKcNya dLi3zaasNWgzx+AsNVPyjIQoU0/ln8rdxx6/UDfxsbQMwwjXTI5c+f4hlAyq1IsFVRgqPa qhC7h4yeXn0csYeSkS+8jwmkSfmdvySnm2JQG8/wHH6HKFT27aIFV9k6aT6/Dsh0noQ3gQ 9VbzeP03ODriD/OhGEomYqEUuiUN+6naexE3gvqIHztYlzJ7jn/l6pft+y8S3pAALz8WaV BBxoK68ih9KaEjYT+7XkEtGCtyy4/WzyNfAxpEPyEPeq46iyBgqLumAJ/0Zl0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733256300; a=rsa-sha256; cv=none; b=QbmeZVrjf6SAnQS/IYUXENgveUPFfTQjDNwdgvqAGZu2Vt1sslZYx7Ti0l3zdvvk1fOfxk yDC/UCarF76nDFW2iRzFDDbkFKMW+5KMz7Z7cvbMUEbcbqbuwVQKD9olZp6lX0nLljjXVV uylrxOD/Vdh1LwVFHenf3Psp/09SeYP2VgMJip+TjBoXA0aOiXaB2rFWJF3QAXYPsVcvqb 2GfgP2jv4uH5SN4ueqlUKBEMLagSL5WAktKKCGFL94g7kcQb7lsN8tE7qyhhRPD+RWuSJ1 GdvXyNlThOA0MAsq3KzvpX2domJqaTHXggI/kkz4pCFHrntAKtI5Q7vV7J/3Lg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2s7w42Lfzd1H; Tue, 3 Dec 2024 20:05: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 4B3K50B4061804; Tue, 3 Dec 2024 20:05:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3K50t3061801; Tue, 3 Dec 2024 20:05:00 GMT (envelope-from git) Date: Tue, 3 Dec 2024 20:05:00 GMT Message-Id: <202412032005.4B3K50t3061801@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: 6380058fe5b5 - main - netlink: use correct uint16_t type for attribute type & length List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 6380058fe5b5573ce2eb1a077d95ac9328e19334 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=6380058fe5b5573ce2eb1a077d95ac9328e19334 commit 6380058fe5b5573ce2eb1a077d95ac9328e19334 Author: Gleb Smirnoff AuthorDate: 2024-12-03 20:04:30 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-03 20:04:30 +0000 netlink: use correct uint16_t type for attribute type & length Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D47552 --- sys/netlink/netlink_message_writer.c | 8 ++++++-- sys/netlink/netlink_message_writer.h | 38 +++++++++++++++++++----------------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/sys/netlink/netlink_message_writer.c b/sys/netlink/netlink_message_writer.c index 092e3798f8e7..1aebc4690c2d 100644 --- a/sys/netlink/netlink_message_writer.c +++ b/sys/netlink/netlink_message_writer.c @@ -363,11 +363,15 @@ nlmsg_reserve_data_raw(struct nl_writer *nw, size_t sz) } bool -nlattr_add(struct nl_writer *nw, int attr_type, int attr_len, const void *data) +nlattr_add(struct nl_writer *nw, uint16_t attr_type, uint16_t attr_len, + const void *data) { struct nl_buf *nb = nw->buf; struct nlattr *nla; - u_int required_len; + size_t required_len; + + KASSERT(attr_len <= UINT16_MAX - sizeof(struct nlattr), + ("%s: invalid attribute length %u", __func__, attr_len)); required_len = NLA_ALIGN(attr_len + sizeof(struct nlattr)); if (__predict_false(nb->datalen + required_len > nb->buflen)) { diff --git a/sys/netlink/netlink_message_writer.h b/sys/netlink/netlink_message_writer.h index 9469883feaa7..1655acb53fef 100644 --- a/sys/netlink/netlink_message_writer.h +++ b/sys/netlink/netlink_message_writer.h @@ -214,93 +214,95 @@ _nlmsg_reserve_attr(struct nl_writer *nw, uint16_t nla_type, uint16_t sz) } #define nlmsg_reserve_attr(_ns, _at, _t) ((_t *)_nlmsg_reserve_attr(_ns, _at, NLA_ALIGN(sizeof(_t)))) -bool nlattr_add(struct nl_writer *nw, int attr_type, int attr_len, +bool nlattr_add(struct nl_writer *nw, uint16_t attr_type, uint16_t attr_len, const void *data); static inline bool nlattr_add_raw(struct nl_writer *nw, const struct nlattr *nla_src) { - int attr_len = nla_src->nla_len - sizeof(struct nlattr); + MPASS(nla_src->nla_len >= sizeof(struct nlattr)); - MPASS(attr_len >= 0); - - return (nlattr_add(nw, nla_src->nla_type, attr_len, (const void *)(nla_src + 1))); + return (nlattr_add(nw, nla_src->nla_type, + nla_src->nla_len - sizeof(struct nlattr), + (const void *)(nla_src + 1))); } static inline bool -nlattr_add_bool(struct nl_writer *nw, int attrtype, bool value) +nlattr_add_bool(struct nl_writer *nw, uint16_t attrtype, bool value) { return (nlattr_add(nw, attrtype, sizeof(bool), &value)); } static inline bool -nlattr_add_u8(struct nl_writer *nw, int attrtype, uint8_t value) +nlattr_add_u8(struct nl_writer *nw, uint16_t attrtype, uint8_t value) { return (nlattr_add(nw, attrtype, sizeof(uint8_t), &value)); } static inline bool -nlattr_add_u16(struct nl_writer *nw, int attrtype, uint16_t value) +nlattr_add_u16(struct nl_writer *nw, uint16_t attrtype, uint16_t value) { return (nlattr_add(nw, attrtype, sizeof(uint16_t), &value)); } static inline bool -nlattr_add_u32(struct nl_writer *nw, int attrtype, uint32_t value) +nlattr_add_u32(struct nl_writer *nw, uint16_t attrtype, uint32_t value) { return (nlattr_add(nw, attrtype, sizeof(uint32_t), &value)); } static inline bool -nlattr_add_u64(struct nl_writer *nw, int attrtype, uint64_t value) +nlattr_add_u64(struct nl_writer *nw, uint16_t attrtype, uint64_t value) { return (nlattr_add(nw, attrtype, sizeof(uint64_t), &value)); } static inline bool -nlattr_add_s8(struct nl_writer *nw, int attrtype, int8_t value) +nlattr_add_s8(struct nl_writer *nw, uint16_t attrtype, int8_t value) { return (nlattr_add(nw, attrtype, sizeof(int8_t), &value)); } static inline bool -nlattr_add_s16(struct nl_writer *nw, int attrtype, int16_t value) +nlattr_add_s16(struct nl_writer *nw, uint16_t attrtype, int16_t value) { return (nlattr_add(nw, attrtype, sizeof(int16_t), &value)); } static inline bool -nlattr_add_s32(struct nl_writer *nw, int attrtype, int32_t value) +nlattr_add_s32(struct nl_writer *nw, uint16_t attrtype, int32_t value) { return (nlattr_add(nw, attrtype, sizeof(int32_t), &value)); } static inline bool -nlattr_add_s64(struct nl_writer *nw, int attrtype, int64_t value) +nlattr_add_s64(struct nl_writer *nw, uint16_t attrtype, int64_t value) { return (nlattr_add(nw, attrtype, sizeof(int64_t), &value)); } static inline bool -nlattr_add_flag(struct nl_writer *nw, int attrtype) +nlattr_add_flag(struct nl_writer *nw, uint16_t attrtype) { return (nlattr_add(nw, attrtype, 0, NULL)); } static inline bool -nlattr_add_string(struct nl_writer *nw, int attrtype, const char *str) +nlattr_add_string(struct nl_writer *nw, uint16_t attrtype, const char *str) { return (nlattr_add(nw, attrtype, strlen(str) + 1, str)); } static inline bool -nlattr_add_in_addr(struct nl_writer *nw, int attrtype, const struct in_addr *in) +nlattr_add_in_addr(struct nl_writer *nw, uint16_t attrtype, + const struct in_addr *in) { return (nlattr_add(nw, attrtype, sizeof(*in), in)); } static inline bool -nlattr_add_in6_addr(struct nl_writer *nw, int attrtype, const struct in6_addr *in6) +nlattr_add_in6_addr(struct nl_writer *nw, uint16_t attrtype, + const struct in6_addr *in6) { return (nlattr_add(nw, attrtype, sizeof(*in6), in6)); } From nobody Tue Dec 3 20:05:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2s7y0vVxz5ggL4; Tue, 03 Dec 2024 20:05:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2s7x5dwLz4lX8; Tue, 3 Dec 2024 20:05:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wfnBgBAcnxa7OeCGNk/8b8JjtIeO6L1YZIjA/mSyVX4=; b=A8HMq63aNaHF6J3Hh16sn1jTBPfNiVdOVUDyTo14+1fVT4cY4TFPPIf5mXM3Bfi/+CFSH1 fGnJBQIVbDrplvVS2L3YtQEph5yMhjt1HbBeiY4K99e2uoCmU1kegerDXda+/nk3aac9PB CAGm2zpnNC+ch4wbSOwZg75qCJ5iU2q9yIp9cfR6QPU985qnihL6ki7S5vKyTKda9JLIOy hIp8359exAnQ5hhKwAXX0P4+O0gty53k2uyTtYgQh2EDWgtcuE7cW/lW/nzc7VPNbh03kl QJ3erU+OwWpB/56f97f8KZ08siVWc92VcegucFZ7g8VeNWytrTCEc59L/TC0Kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256301; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wfnBgBAcnxa7OeCGNk/8b8JjtIeO6L1YZIjA/mSyVX4=; b=sPI7hxlybJpxrUnb7csFR/QDuBfZyWFA5k2XjaLZGzUhFcebz1BgEXYaDAd0XAWYKXWnWW k5qc9bArZedftQCNKnW/rMEUbJV8e93TNGEXaA8NioI0qZuz6QEE14Tyz68AtcZn1+i4V6 8YQ3bL20pdH9XoUqjV+wYSJEtoRWLXS2J4xz9mwYg0joxcgevGkLMCpY8qLZO3/sp4ToCM 5rypHOfKZf76Yp1h4wQSvR4sepgbdcoWCv1bcBEYWegkM5XBzmyKIgpjD9xxwpx9OgxRk5 7vXgF3JWnqdBDAOsu39L85b6ol2pIAzVS5IDxoyXkPemngNmAjNfj4nyatqPIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733256301; a=rsa-sha256; cv=none; b=B2bq5CRUiEcGYu/KElHj8XwoflY9Pcn+kbds1NfJ2WK73NMHokCAQvmh6YxBjNG5ln57cr uPlNMv9ABAJnayXaaG9Yw1FMz71pkQAsOxcIgElXIgG1OiKYl+68dyqOAalMjXIOBQRScL hlGq0TRuSy2RPazEQF1XhZ+7Kz31YmPoQoVJYa279LFSgG8hKJl7mVnelUjfgrGeT/LbSO CIUfUDZLiztphBb77+FrxtBzZMv4O6skHkWAcCbUfSSYJ9HzrLH4nZeyLyK5tqe2FnP7Ca aF++uQGnhQrYdDQ+QFzV9MxQqNNX05tHPiaZQOoOZMm8tk6Cy0fJFwnfx0bwiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2s7x53yTzcLn; Tue, 3 Dec 2024 20:05: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 4B3K51N5061852; Tue, 3 Dec 2024 20:05:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3K51pM061849; Tue, 3 Dec 2024 20:05:01 GMT (envelope-from git) Date: Tue, 3 Dec 2024 20:05:01 GMT Message-Id: <202412032005.4B3K51pM061849@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: fe048349c63c - main - netlink: use proper argument types in genl_register_family() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: fe048349c63cf183b633936b373222c861d433ea Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=fe048349c63cf183b633936b373222c861d433ea commit fe048349c63cf183b633936b373222c861d433ea Author: Gleb Smirnoff AuthorDate: 2024-12-03 20:04:35 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-03 20:04:35 +0000 netlink: use proper argument types in genl_register_family() Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D47553 --- sys/netlink/netlink_ctl.h | 2 +- sys/netlink/netlink_generic_kpi.c | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/sys/netlink/netlink_ctl.h b/sys/netlink/netlink_ctl.h index 2d4737b61c40..c2ac3e99421e 100644 --- a/sys/netlink/netlink_ctl.h +++ b/sys/netlink/netlink_ctl.h @@ -95,7 +95,7 @@ struct genl_cmd { }; uint32_t genl_register_family(const char *family_name, size_t hdrsize, - int family_version, int max_attr_idx); + uint16_t family_version, uint16_t max_attr_idx); bool genl_unregister_family(const char *family_name); bool genl_register_cmds(const char *family_name, const struct genl_cmd *cmds, int count); diff --git a/sys/netlink/netlink_generic_kpi.c b/sys/netlink/netlink_generic_kpi.c index 4e40bb7dfc49..e6125ab893d8 100644 --- a/sys/netlink/netlink_generic_kpi.c +++ b/sys/netlink/netlink_generic_kpi.c @@ -93,10 +93,9 @@ find_empty_family_id(const char *family_name) } uint32_t -genl_register_family(const char *family_name, size_t hdrsize, int family_version, - int max_attr_idx) +genl_register_family(const char *family_name, size_t hdrsize, + uint16_t family_version, uint16_t max_attr_idx) { - uint32_t family_id = 0; MPASS(family_name != NULL); if (find_family(family_name) != NULL) @@ -111,13 +110,13 @@ genl_register_family(const char *family_name, size_t hdrsize, int family_version gf->family_version = family_version; gf->family_hdrsize = hdrsize; gf->family_attr_max = max_attr_idx; - NL_LOG(LOG_DEBUG2, "Registered family %s id %d", gf->family_name, gf->family_id); - family_id = gf->family_id; + NL_LOG(LOG_DEBUG2, "Registered family %s id %d", gf->family_name, + gf->family_id); EVENTHANDLER_INVOKE(genl_family_event, gf, CTRL_CMD_NEWFAMILY); GENL_UNLOCK(); - return (family_id); + return (gf->family_id); } static void From nobody Tue Dec 3 20:05:02 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2s7z1c2Zz5ggbc; Tue, 03 Dec 2024 20:05:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2s7y6tKzz4lZv; Tue, 3 Dec 2024 20:05:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qtPGLVe8MBAC33Lu/I6JDU1GnaBSRIU7joQmleGT7+c=; b=rbvO2syaCEcBQqhR+19cJcg4GQPeUG0r0S+iFqc9bJEMF8Jzq4b+uW5Xu1XMkxRDymlwno mCVbdAQtxqhD+Rs/SPak49/iGnClCRvtgXFVDredCD5GEOMmT+xztTGh1oYGm65FvDbxM5 Z+OS/mbSB6sm/lEoGoyeof6a427DhOauyMyYYsRSD1pyfADdm8oKmbEuLt9lOzYpv1cNxM etwcKwrj1hI1D9I8GWw/ZtXFO1CyZsHs76BuCsyvh9kp1GsMoZWAeND+bW9tzKlYFAzhT6 HtSHC1TNE1OiyGppNkL41Y6icEQ9OXSKz5nTS7+wmeVWErL4Q9VUuQsTS1iGng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733256303; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qtPGLVe8MBAC33Lu/I6JDU1GnaBSRIU7joQmleGT7+c=; b=p1KfARS/NKIoiKodqoNGLm+mMzTpIpsAKoeYb0MvIwss0EwPHVqhhd9yxHoipS3DfrFbdM wLeuhbOI9NJwwk81X8ycYV0g+JaR2Zkg4ntWXzIYCpnqU88eT8qyDxlt4dlKbvJyPde82n pZRt7LCAHU9Pogj/beZPx8DIlpy9hxpgqyd273PiXfcMKYIdgHNM/vtngrkUZ1zVBc9DhY QYXOBLOgrsVsycVhbsbz61+WpyZyy6DBm9OArgtbnvBOhHDnGSJIaJxibWKkr8HztxKu4u b0xmDrYr+9Sc0tOIbRE5T7fzvdJz9Bnr284ezGDLzvXoeuJw/76hPhzmR5kVEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733256303; a=rsa-sha256; cv=none; b=MHxP4c/VWDpzOZ/05M3wmEFBmxl1CWIVPvZ95FuXBqMBfpITMp/BX6Mio8rulm5WuJDpgz cw7fCj8yL0fLkjG7t9eOE6600UCcw/SDdgB23Mr+SthSArgX0ZPDeP/FtFWaxkrKipx1NM KIjs+75Dvdx+cG24Zn6dBDcgeBCSIUIbFWvP7Agb7wGM+FvLo+9DTGNPtkGfTEH5Jj8uta /9v/5/DhuqsfxvF8yxxDW/2nzltHI1rYvZgdMEp8xI93LELdeo6cf/CRQX0wkUaBfG/D+6 ecVT05aRDDGNkrScISiAowsgRrLyqOC3dbL9oe4PtZkQein88jJ4Si/f0FrUAw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2s7y6Gqkzd3k; Tue, 3 Dec 2024 20:05: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 4B3K529M061900; Tue, 3 Dec 2024 20:05:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3K52lX061897; Tue, 3 Dec 2024 20:05:02 GMT (envelope-from git) Date: Tue, 3 Dec 2024 20:05:02 GMT Message-Id: <202412032005.4B3K52lX061897@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: 29f6150256c2 - main - netlink: use nitems() and roundup(2) from param.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 29f6150256c204a53c6f72a03d3df35ec52ccbf6 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=29f6150256c204a53c6f72a03d3df35ec52ccbf6 commit 29f6150256c204a53c6f72a03d3df35ec52ccbf6 Author: Gleb Smirnoff AuthorDate: 2024-12-03 20:04:39 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-03 20:04:39 +0000 netlink: use nitems() and roundup(2) from param.h While here style nested includes (kernel ones go first). Reviewed by: melifaro Differential Revision: https://reviews.freebsd.org/D47557 --- sbin/route/route_netlink.c | 6 +++--- sys/netinet/ip_carp.c | 2 +- sys/netlink/netlink.h | 5 +---- sys/netlink/netlink_ctl.h | 2 -- sys/netlink/netlink_generic.c | 2 +- sys/netlink/netlink_message_parser.h | 12 ++++++------ sys/netlink/netlink_snl.h | 23 +++++++++++------------ sys/netlink/route/iface.c | 2 +- sys/netlink/route/neigh.c | 2 +- sys/netlink/route/nexthop.c | 2 +- sys/netlink/route/rt.c | 2 +- sys/netpfil/pf/pf_nl.c | 2 +- sys/netpfil/pf/pflow.c | 3 ++- sys/tests/ktest.c | 3 ++- 14 files changed, 32 insertions(+), 36 deletions(-) diff --git a/sbin/route/route_netlink.c b/sbin/route/route_netlink.c index 040b97568f20..631c2860b547 100644 --- a/sbin/route/route_netlink.c +++ b/sbin/route/route_netlink.c @@ -589,7 +589,7 @@ print_nlmsg_link(struct nl_helper *h, struct nlmsghdr *hdr, printf("iface#%u %s ", l.ifi_index, l.ifla_ifname); printf("admin %s ", (l.ifi_flags & IFF_UP) ? "UP" : "DOWN"); - if (l.ifla_operstate < NL_ARRAY_LEN(operstate)) + if (l.ifla_operstate < nitems(operstate)) printf("oper %s ", operstate[l.ifla_operstate]); if (l.ifla_mtu > 0) printf("mtu %u ", l.ifla_mtu); @@ -668,7 +668,7 @@ print_nlmsg_neigh(struct nl_helper *h, struct nlmsghdr *hdr, struct snl_parsed_link_simple link = {}; get_ifdata(h, attrs.nda_ifindex, &link); - for (unsigned int i = 0; i < NL_ARRAY_LEN(nudstate); i++) { + for (unsigned int i = 0; i < nitems(nudstate); i++) { if ((1 << i) & attrs.ndm_state) { printf("state %s ", nudstate[i]); break; @@ -768,7 +768,7 @@ monitor_nl(int fib) socklen_t optlen = sizeof(optval); setsockopt(ss_event.fd, SOL_NETLINK, NETLINK_MSG_INFO, &optval, optlen); - for (unsigned int i = 0; i < NL_ARRAY_LEN(groups); i++) { + for (unsigned int i = 0; i < nitems(groups); i++) { int error; int optval = groups[i]; socklen_t optlen = sizeof(optval); diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index ab001d346313..133dba45cf36 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -2986,7 +2986,7 @@ carp_nl_register(void) MPASS(family_id != 0); ret = genl_register_cmds(CARP_NL_FAMILY_NAME, carp_cmds, - NL_ARRAY_LEN(carp_cmds)); + nitems(carp_cmds)); MPASS(ret); } diff --git a/sys/netlink/netlink.h b/sys/netlink/netlink.h index 2cffa7299ef4..5724385271fc 100644 --- a/sys/netlink/netlink.h +++ b/sys/netlink/netlink.h @@ -61,7 +61,7 @@ #ifndef _NETLINK_NETLINK_H_ #define _NETLINK_NETLINK_H_ -#include +#include #include struct sockaddr_nl { @@ -194,9 +194,6 @@ enum nlmsginfo_attrs { }; -#ifndef roundup2 -#define roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */ -#endif #define NL_ITEM_ALIGN_SIZE sizeof(uint32_t) #define NL_ITEM_ALIGN(_len) roundup2(_len, NL_ITEM_ALIGN_SIZE) #define NL_ITEM_DATA(_ptr, _off) ((void *)((char *)(_ptr) + _off)) diff --git a/sys/netlink/netlink_ctl.h b/sys/netlink/netlink_ctl.h index c2ac3e99421e..95b79c763ccd 100644 --- a/sys/netlink/netlink_ctl.h +++ b/sys/netlink/netlink_ctl.h @@ -65,8 +65,6 @@ MALLOC_DECLARE(M_NETLINK); ((char *)NLA_NEXT(_attr) <= (char *)_end); \ _attr = (_len -= NLA_ALIGN(_attr->nla_len), NLA_NEXT(_attr))) -#define NL_ARRAY_LEN(_a) (sizeof(_a) / sizeof((_a)[0])) - #include #include diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index 4a3c83da57e1..0f960d79f477 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -284,7 +284,7 @@ genl_load_all(void *u __unused) { NL_VERIFY_PARSERS(all_parsers); ctrl_family_id = genl_register_family(CTRL_FAMILY_NAME, 0, 2, CTRL_ATTR_MAX); - genl_register_cmds(CTRL_FAMILY_NAME, nlctrl_cmds, NL_ARRAY_LEN(nlctrl_cmds)); + genl_register_cmds(CTRL_FAMILY_NAME, nlctrl_cmds, nitems(nlctrl_cmds)); ctrl_group_id = genl_register_group(CTRL_FAMILY_NAME, "notify"); family_event_tag = EVENTHANDLER_REGISTER(genl_family_event, nlctrl_notify, NULL, EVENTHANDLER_PRI_ANY); diff --git a/sys/netlink/netlink_message_parser.h b/sys/netlink/netlink_message_parser.h index 49bec646b29e..42a59f45b22a 100644 --- a/sys/netlink/netlink_message_parser.h +++ b/sys/netlink/netlink_message_parser.h @@ -128,8 +128,8 @@ static const struct nlhdr_parser _name = { \ .nl_hdr_off = sizeof(_t), \ .fp = &((_fp)[0]), \ .np = &((_np)[0]), \ - .fp_size = NL_ARRAY_LEN(_fp), \ - .np_size = NL_ARRAY_LEN(_np), \ + .fp_size = nitems(_fp), \ + .np_size = nitems(_np), \ .sp = _sp, \ .post_parse = _pp, \ } @@ -146,14 +146,14 @@ static const struct nlhdr_parser _name = { \ .out_hdr_off = sizeof(_o), \ .fp = &((_fp)[0]), \ .np = &((_np)[0]), \ - .fp_size = NL_ARRAY_LEN(_fp), \ - .np_size = NL_ARRAY_LEN(_np), \ + .fp_size = nitems(_fp), \ + .np_size = nitems(_np), \ } #define NL_DECLARE_ATTR_PARSER_EXT(_name, _np, _pp) \ static const struct nlhdr_parser _name = { \ .np = &((_np)[0]), \ - .np_size = NL_ARRAY_LEN(_np), \ + .np_size = nitems(_np), \ .post_parse = (_pp) \ } @@ -308,7 +308,7 @@ nl_verify_parsers(const struct nlhdr_parser **parser, int count) #endif } void nl_verify_parsers(const struct nlhdr_parser **parser, int count); -#define NL_VERIFY_PARSERS(_p) nl_verify_parsers((_p), NL_ARRAY_LEN(_p)) +#define NL_VERIFY_PARSERS(_p) nl_verify_parsers((_p), nitems(_p)) static inline int nl_parse_nlmsg(struct nlmsghdr *hdr, const struct nlhdr_parser *parser, diff --git a/sys/netlink/netlink_snl.h b/sys/netlink/netlink_snl.h index 7151f6221fca..2861ea93bafb 100644 --- a/sys/netlink/netlink_snl.h +++ b/sys/netlink/netlink_snl.h @@ -31,6 +31,12 @@ * Simple Netlink Library */ +#include +#include + +#include +#include + #include #include #include @@ -41,11 +47,6 @@ #include #include -#include -#include -#include -#include - #define _roundup2(x, y) (((x)+((y)-1))&(~((y)-1))) #define NETLINK_ALIGN_SIZE sizeof(uint32_t) @@ -68,8 +69,6 @@ ((char *)NLA_NEXT(_attr) <= _NLA_END(_start, _len)); \ _attr = NLA_NEXT(_attr)) -#define NL_ARRAY_LEN(_a) (sizeof(_a) / sizeof((_a)[0])) - struct linear_buffer { char *base; /* Base allocated memory pointer */ uint32_t offset; /* Currently used offset */ @@ -166,8 +165,8 @@ static const struct snl_hdr_parser _name = { \ .out_size = _sz_out, \ .fp = &((_fp)[0]), \ .np = &((_np)[0]), \ - .fp_size = NL_ARRAY_LEN(_fp), \ - .np_size = NL_ARRAY_LEN(_np), \ + .fp_size = nitems(_fp), \ + .np_size = nitems(_np), \ .cb_post = _cb, \ } @@ -179,7 +178,7 @@ static const struct snl_hdr_parser _name = { \ .in_hdr_size = _sz_h_in, \ .out_size = _sz_out, \ .fp = &((_fp)[0]), \ - .fp_size = NL_ARRAY_LEN(_fp), \ + .fp_size = nitems(_fp), \ .cb_post = _cb, \ } @@ -190,7 +189,7 @@ static const struct snl_hdr_parser _name = { \ static const struct snl_hdr_parser _name = { \ .out_size = _sz_out, \ .np = &((_np)[0]), \ - .np_size = NL_ARRAY_LEN(_np), \ + .np_size = nitems(_np), \ .cb_post = _cb, \ } @@ -418,7 +417,7 @@ snl_verify_parsers(const struct snl_hdr_parser **parser, int count) } } } -#define SNL_VERIFY_PARSERS(_p) snl_verify_parsers((_p), NL_ARRAY_LEN(_p)) +#define SNL_VERIFY_PARSERS(_p) snl_verify_parsers((_p), nitems(_p)) static const struct snl_attr_parser * find_parser(const struct snl_attr_parser *ps, int pslen, int key) diff --git a/sys/netlink/route/iface.c b/sys/netlink/route/iface.c index c19161f5bbb7..86b1f8f1b1bc 100644 --- a/sys/netlink/route/iface.c +++ b/sys/netlink/route/iface.c @@ -1522,7 +1522,7 @@ rtnl_ifaces_init(void) ifnet_link_event, rtnl_handle_iflink, NULL, EVENTHANDLER_PRI_ANY); NL_VERIFY_PARSERS(all_parsers); - rtnl_register_messages(cmd_handlers, NL_ARRAY_LEN(cmd_handlers)); + rtnl_register_messages(cmd_handlers, nitems(cmd_handlers)); } void diff --git a/sys/netlink/route/neigh.c b/sys/netlink/route/neigh.c index c5003eddaba1..ec58c6140db8 100644 --- a/sys/netlink/route/neigh.c +++ b/sys/netlink/route/neigh.c @@ -589,7 +589,7 @@ void rtnl_neighs_init(void) { NL_VERIFY_PARSERS(all_parsers); - rtnl_register_messages(cmd_handlers, NL_ARRAY_LEN(cmd_handlers)); + rtnl_register_messages(cmd_handlers, nitems(cmd_handlers)); lle_event_p = EVENTHANDLER_REGISTER(lle_event, rtnl_lle_event, NULL, EVENTHANDLER_PRI_ANY); } diff --git a/sys/netlink/route/nexthop.c b/sys/netlink/route/nexthop.c index 90ed3497047e..03f1a57fd1e4 100644 --- a/sys/netlink/route/nexthop.c +++ b/sys/netlink/route/nexthop.c @@ -1119,5 +1119,5 @@ void rtnl_nexthops_init(void) { NL_VERIFY_PARSERS(all_parsers); - rtnl_register_messages(cmd_handlers, NL_ARRAY_LEN(cmd_handlers)); + rtnl_register_messages(cmd_handlers, nitems(cmd_handlers)); } diff --git a/sys/netlink/route/rt.c b/sys/netlink/route/rt.c index c9b0f56498ec..14bd73d33411 100644 --- a/sys/netlink/route/rt.c +++ b/sys/netlink/route/rt.c @@ -1119,5 +1119,5 @@ void rtnl_routes_init(void) { NL_VERIFY_PARSERS(all_parsers); - rtnl_register_messages(cmd_handlers, NL_ARRAY_LEN(cmd_handlers)); + rtnl_register_messages(cmd_handlers, nitems(cmd_handlers)); } diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 68b3659b0ed2..ad7dc97cbc1a 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -2004,7 +2004,7 @@ pf_nl_register(void) NL_VERIFY_PARSERS(all_parsers); family_id = genl_register_family(PFNL_FAMILY_NAME, 0, 2, PFNL_CMD_MAX); - genl_register_cmds(PFNL_FAMILY_NAME, pf_cmds, NL_ARRAY_LEN(pf_cmds)); + genl_register_cmds(PFNL_FAMILY_NAME, pf_cmds, nitems(pf_cmds)); } void diff --git a/sys/netpfil/pf/pflow.c b/sys/netpfil/pf/pflow.c index 36b528290306..397d720215b2 100644 --- a/sys/netpfil/pf/pflow.c +++ b/sys/netpfil/pf/pflow.c @@ -1807,7 +1807,8 @@ pflow_init(void) family_id = genl_register_family(PFLOWNL_FAMILY_NAME, 0, 2, PFLOWNL_CMD_MAX); MPASS(family_id != 0); - ret = genl_register_cmds(PFLOWNL_FAMILY_NAME, pflow_cmds, NL_ARRAY_LEN(pflow_cmds)); + ret = genl_register_cmds(PFLOWNL_FAMILY_NAME, pflow_cmds, + nitems(pflow_cmds)); return (ret ? 0 : ENODEV); } diff --git a/sys/tests/ktest.c b/sys/tests/ktest.c index cd83a6aaaa3f..694e1f4229b5 100644 --- a/sys/tests/ktest.c +++ b/sys/tests/ktest.c @@ -370,7 +370,8 @@ ktest_nl_register(void) family_id = genl_register_family(KTEST_FAMILY_NAME, 0, 1, KTEST_CMD_MAX); MPASS(family_id != 0); - ret = genl_register_cmds(KTEST_FAMILY_NAME, ktest_cmds, NL_ARRAY_LEN(ktest_cmds)); + ret = genl_register_cmds(KTEST_FAMILY_NAME, ktest_cmds, + nitems(ktest_cmds)); MPASS(ret); } From nobody Tue Dec 3 21:40:09 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2vFk0r0tz5gp0S; Tue, 03 Dec 2024 21:40:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2vFk07Q5z4wZS; Tue, 3 Dec 2024 21:40:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733262010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mscKWQd12sjFjiuSRXN9Hk1vdeeSqhX+iYqG4LXfRoM=; b=G9+260CR3QGdQ/FHB1SyhrOT7mQszFwpJ4R51s71l92ZXJSp1so6UNOtrdDQrtr9ecnDtQ UkJBU4IaGBt6vIywmPoHX0WyTD3lJiWlU7dDvFo8gSvQ3U0Hu5/e6GXxvYJMxqGRYFWH9T q8IveZ5IcNPRWFsyJQpO2DCVJsdezc0fAcaORglGLOW3C9/bUa/Do5q0STpKTlb/WcK+B9 h/xeAhHxlSDmRW7/Q6VM9P3h3UReROb3GVBZRRSIoWODs2bwXdrQSjdEIDl/dwbLxGYUsA 6LjQqQRn8zwIUla+e78pxs7ISySE9eMTlK39OmNZBz3NjARIU08ijdC+7Uidqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733262010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mscKWQd12sjFjiuSRXN9Hk1vdeeSqhX+iYqG4LXfRoM=; b=kcSE/1ZRv/DfP4Whu3n5SUbNYm/9SBSUsvt8wahdnKs2IJMsvScpCmHdKwnlS3fCREkHPO UofwpHtYTZryLGZGHkV0p/M/jskdXb76r7tZOS3cHtRIfhhQK2V59jLXTp0KGK2A0pz1UI 7hjITzTNDapExG9R2E39805DS9X/FvTnbQiDNbQx9CBLYJSNX18RXyg3TiksMDKjk1XazZ wUHCBN8+vzWFiUjr5x/7EVPWGRdIFLsr0abuOLWK3zK4i9t0YA6tkD7TxY3p3Wh3j8J9vq 2iq8P1TuU50Hp1YglfyUghTG7DOXVX0dldQe5oH2xVKzr+4KP23DpUeNMzRHtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733262010; a=rsa-sha256; cv=none; b=sD4RsJmb9xcWmj2hNNgTQgSru6n7c1tVHBMWinCO+XOObjpnDBlD+sdiF8HBtiyJFbXzeS jIShI+8ULyaCharllnqRgEsmPtdZZ1avebB/MwzBW0nXDxlkDh0cqbDckx7K78kTU2gpLK D7BHOsGOJHaJN+srPl3psEEX29HRyirt2gBTLXQON5LRhZcT97DKdGSTDZVlE530wrFNCz Um0bgnkDd4GmOSORHf9NlT/vAWuUWgYEtMuhbsUrnM4qtkowKVFSyb0KSuxrIJXCTB0Z1m QWf3JoTaPf1BZyDPYfmakBB+NMHPfVOuiDWL18FZpYsxlsJQ8e8BSFOoUKUOyw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2vFj6Zt8zfnl; Tue, 3 Dec 2024 21:40: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 4B3Le9Pk033770; Tue, 3 Dec 2024 21:40:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3Le91a033765; Tue, 3 Dec 2024 21:40:09 GMT (envelope-from git) Date: Tue, 3 Dec 2024 21:40:09 GMT Message-Id: <202412032140.4B3Le91a033765@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: 931d6a8f7bd6 - main - amd64/vmm: Add svm_modsuspend to the vmm_ops_amd 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 931d6a8f7bd6cfdb0edcc582dfbf6f9a7c45a812 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=931d6a8f7bd6cfdb0edcc582dfbf6f9a7c45a812 commit 931d6a8f7bd6cfdb0edcc582dfbf6f9a7c45a812 Author: Mark Johnston AuthorDate: 2024-12-03 21:36:13 +0000 Commit: Mark Johnston CommitDate: 2024-12-03 21:39:47 +0000 amd64/vmm: Add svm_modsuspend to the vmm_ops_amd table Fixes: 0b32ef71f9f1 ("vmm: Correctly suspend and resume the vmm driver.") Sponsored by: Klara, Inc. --- sys/amd64/vmm/amd/svm.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/amd64/vmm/amd/svm.c b/sys/amd64/vmm/amd/svm.c index 2d40d3756f4a..ed37dd0c810e 100644 --- a/sys/amd64/vmm/amd/svm.c +++ b/sys/amd64/vmm/amd/svm.c @@ -280,8 +280,6 @@ svm_modinit(int ipinum) static void svm_modsuspend(void) { - - return; } static void @@ -2814,6 +2812,7 @@ const struct vmm_ops vmm_ops_amd = { .modinit = svm_modinit, .modcleanup = svm_modcleanup, .modresume = svm_modresume, + .modsuspend = svm_modsuspend, .init = svm_init, .run = svm_run, .cleanup = svm_cleanup, From nobody Tue Dec 3 22:11:28 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2vxr2XDDz5gqh9; Tue, 03 Dec 2024 22:11:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2vxr21jNz4yrW; Tue, 3 Dec 2024 22:11:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733263888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K49hXXepRkpZeqScsZW8xI3sb4eNLn/p/x1kzOY/RD8=; b=YMjAVTRqB06HDkaUxM3FMVRHl7+LXcVpTuJdYcp18drFbGuOvnTmezCvk1n8jTQdSdt+/8 5NsIIW/aWS8EYf4v5HOhVjN2Wzofh7rpABQZ7OtJ74aZLb55JoZ/qwt1ABU5Kk2MroCY5/ rdjmzHBoCaeEkZoD4sYF6Pn4SKECC7OfCXaPqCn2hcGH/oNIsVVC7C2g1axodqeNWhfPdo vERm4R7Kr/MXuGS+qexFEfSgl45xnKRPaDN+kyxLzjFunKozhyreb5PSDk5c4jR+VfXFE8 2pEjiCccf+33CjOkd5ZvKtVaphgZBFRTwl8trrnUf3uTgrSUiX4UGwH65pg9Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733263888; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K49hXXepRkpZeqScsZW8xI3sb4eNLn/p/x1kzOY/RD8=; b=aZMgmUCdGT/4dKQLMk0m8kPDhxjQVieOkcsynLyraghqsuZRtb3n4BN84RZbyFtqvF4Yam n4CW6K39kpU9d3feBLAswyab6+foy13qdoM3jkbpxQr/fjgMuQ+nKqMLeXQ8U0U/Tzfeng DK8tltTubAQuebCKIhQhPJ/tUox1OkpU4oh5iIM1HV/Zpp9+JwGazqZviTNSYyDbm4Th22 76wKX1WIh2VCvGvplbqQvPTwscDgNmPvG76CugnJ68oFtMj1Ro5+RjS5SrJuee/BvdARhn +LqQ3ZlmpLOIQ8jY9wIQFj13DrZHBqTiJJuQpcFSmPgk3737nEUjGoYISY48Gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733263888; a=rsa-sha256; cv=none; b=oYYLuxICsdA7w57G2TYxTcA70ihedZfhEo7/LYk1UgCCe6A8HmobcwC9NYZHjuw2Vnz9WF +fBcjF/TEFcA6cJ23PLkI4kq1HeT8yryQZjzv04jR5fTlJnxsMVCPg90ThOASC2OY0UPP+ pHht2Jki6arYJvI9bFFXIz2W7cUEdeoBc9vBWKhssSQzfzOJkH+Mgo0gbKQPcUwnBQGmJl ktp3Ir1t37OhYJpgmyiaK8wChZvMJo/vQrvrxOhtZNi2QI2+QmsZsI+scN1RGmhHEEJTX6 ovYKjGHzYfDJL1cAXos3/6fwr8EEch+q5Nsu5MPTxWSpVI0ZfzyulLPgAg5MSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2vxr1LFtzgsV; Tue, 3 Dec 2024 22:11: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 4B3MBSTi098915; Tue, 3 Dec 2024 22:11:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3MBSaR098912; Tue, 3 Dec 2024 22:11:28 GMT (envelope-from git) Date: Tue, 3 Dec 2024 22:11:28 GMT Message-Id: <202412032211.4B3MBSaR098912@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: e1eff81ea99c - main - rtwn: use ieee80211_ht_check_tx_shortgi_20() and ieee80211_ht_check_tx_shortgi_40() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e1eff81ea99c1000ad74436a54c54ec9e777282a Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=e1eff81ea99c1000ad74436a54c54ec9e777282a commit e1eff81ea99c1000ad74436a54c54ec9e777282a Author: Adrian Chadd AuthorDate: 2024-11-25 23:20:42 +0000 Commit: Adrian Chadd CommitDate: 2024-12-03 22:10:49 +0000 rtwn: use ieee80211_ht_check_tx_shortgi_20() and ieee80211_ht_check_tx_shortgi_40() Use the new net80211 routines rather than rolling our own. Differential Revision: https://reviews.freebsd.org/D47751 Reviewed by: bz --- sys/dev/rtwn/rtl8192c/r92c_tx.c | 11 ++++------- sys/dev/rtwn/rtl8812a/r12a_tx.c | 13 ++++++------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/sys/dev/rtwn/rtl8192c/r92c_tx.c b/sys/dev/rtwn/rtl8192c/r92c_tx.c index 15beca776b61..5c8b2e114727 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_tx.c +++ b/sys/dev/rtwn/rtl8192c/r92c_tx.c @@ -171,15 +171,12 @@ static void r92c_tx_set_sgi(struct rtwn_softc *sc, void *buf, struct ieee80211_node *ni) { struct r92c_tx_desc *txd = (struct r92c_tx_desc *)buf; - struct ieee80211vap *vap = ni->ni_vap; - if ((vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20) && /* HT20 */ - (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20)) + if (IEEE80211_IS_CHAN_HT40(ni->ni_chan) + && ieee80211_ht_check_tx_shortgi_40(ni)) txd->txdw5 |= htole32(R92C_TXDW5_SGI); - else if (ni->ni_chan != IEEE80211_CHAN_ANYC && /* HT40 */ - IEEE80211_IS_CHAN_HT40(ni->ni_chan) && - (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40) && - (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40)) + else if (IEEE80211_IS_CHAN_HT20(ni->ni_chan) + && ieee80211_ht_check_tx_shortgi_20(ni)) txd->txdw5 |= htole32(R92C_TXDW5_SGI); } diff --git a/sys/dev/rtwn/rtl8812a/r12a_tx.c b/sys/dev/rtwn/rtl8812a/r12a_tx.c index 9e0d8e85c0cf..7a8a7d3679b1 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_tx.c +++ b/sys/dev/rtwn/rtl8812a/r12a_tx.c @@ -199,15 +199,14 @@ static void r12a_tx_set_sgi(struct rtwn_softc *sc, void *buf, struct ieee80211_node *ni) { struct r12a_tx_desc *txd = (struct r12a_tx_desc *)buf; - struct ieee80211vap *vap = ni->ni_vap; - if ((vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20) && /* HT20 */ - (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20)) + /* TODO: VHT 20/40/80 checks */ + + if (IEEE80211_IS_CHAN_HT40(ni->ni_chan) + && ieee80211_ht_check_tx_shortgi_40(ni)) txd->txdw5 |= htole32(R12A_TXDW5_DATA_SHORT); - else if (ni->ni_chan != IEEE80211_CHAN_ANYC && /* HT40 */ - IEEE80211_IS_CHAN_HT40(ni->ni_chan) && - (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40) && - (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40)) + else if (IEEE80211_IS_CHAN_HT20(ni->ni_chan) + && ieee80211_ht_check_tx_shortgi_20(ni)) txd->txdw5 |= htole32(R12A_TXDW5_DATA_SHORT); } From nobody Tue Dec 3 22:32:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2wQ10Kvzz5gryr; Tue, 03 Dec 2024 22:32: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2wQ05rDtz51vC; Tue, 3 Dec 2024 22:32:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733265144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d6TTDpju/OHC/HNVeEiiKdpSOYlesfCyl3uPbw6zsSE=; b=u2s9hJDVGYT9MRswijMxtEy/3kZAxVx6AW+aktONTdNZzn3K78vPHFXYfud5Kzn1bIgPtq nGNfCkydyiVDxGvnwrEGrlkUbO48GmBDxPGlm1Jep34N8QLxdjj4uePmE5QDH0frOPTFEL yYHO+lMATzr1MSEA+9fdLRGCQG1rPETo5B0mOoOKqyzuAMRnm8cvOKCp7X3GoHYj4nJRNi OUwEeflFTd+FSvb72+TmKgPjcHf3C582fjQmYCMfuSUM7vtxRz6jBofi10lplN/ccKHbmd QVwocJw0pJm4NzSbm7udlM+6Pnbbqud6anw/TuSwwEY6u/Q5bXyYHD6bZgAG5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733265144; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d6TTDpju/OHC/HNVeEiiKdpSOYlesfCyl3uPbw6zsSE=; b=X2YzEhXxmLF8r9qPZCUa82Z8vPkXfEyQ0x4uviM0QYrDLnvOYE5K9xE/EPmZw7k+oF6Oiv O1xo47223eVazYlAIkKP4AyMaaaDwQz2U0Yd0vMYFvFmXGnt0ALysoPD7HjPq0e/Xd6jXu GEJVr4r/yUGww5Z+pMJ30b+gfRCrDtaNXexNBSaWQP4vBdr48pfD4UXy7TCA2Xdq5v0RnV SnIbqfnrDOo8cjBFNz1XMojnFLmK73PKGOP9u2z68DGFH0KKd0aJjdESE4GSoIocqT7PIz lFZl1iN+IdhwxVQj+PuLy6N7sZcZ5N/3Oy17y7k813Xq8z46CG3Vcwof+hcxoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733265144; a=rsa-sha256; cv=none; b=pzS/Q3mX1e9EuP0CZ0m7Q0sJ1xjwRYDrLULr7t1vyN5lhP/WjwZzBI9ctdn1OGTFk6kn9U 5TcGTrTqOkz9WePjuzSkz9k1orRoRXRlOr1jA3tZvKLoPAE4jUW5reichTWUdkT4RBZU7Q wXNFXtUsZMZkjteiU1GGn4TPoCK/nNnzOVYRLo/T/FiU3YM5Bc+fM9VfnTuFeAF1ld+jhb FWX+gMYpwFfpyVDxTR6IFq952isdqlqFzc8DRxaBjrURMUm2jgLxWeT+x9J8+WkMHj2iK6 5Kmxfz49LIdRXr/sujz6LONfvTEXTO/aB0rQKkEHKS7HKYFgTu0qdDukfcW4WQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2wQ056lszhNV; Tue, 3 Dec 2024 22:32: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 4B3MWOnY038456; Tue, 3 Dec 2024 22:32:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3MWOHX038453; Tue, 3 Dec 2024 22:32:24 GMT (envelope-from git) Date: Tue, 3 Dec 2024 22:32:24 GMT Message-Id: <202412032232.4B3MWOHX038453@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ruslan Bukin Subject: git: 49a7f2b31329 - main - snd_hdspe(4): Add sysctls to select analog signal levels. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: br X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 49a7f2b31329b7bf9d986f1ae1f8a2c5397c6563 Auto-Submitted: auto-generated The branch main has been updated by br: URL: https://cgit.FreeBSD.org/src/commit/?id=49a7f2b31329b7bf9d986f1ae1f8a2c5397c6563 commit 49a7f2b31329b7bf9d986f1ae1f8a2c5397c6563 Author: Florian Walpen AuthorDate: 2024-12-03 22:27:47 +0000 Commit: Ruslan Bukin CommitDate: 2024-12-03 22:31:50 +0000 snd_hdspe(4): Add sysctls to select analog signal levels. RME HDSPE AIO sound cards support different sensitivity levels at the analog input, and different gain levels for the analog line and phones outputs. Expose these settings as sysctl tunables. Test Plan: The following tests on hardware should be performed if possible: - Phones output volume changes according to sysctl setting (caution, still extremely loud). - Create loop to feedback the line output to line input, recording the sound played. - Iterate through input signal levels and observe volume changes in recorded audio. - Iterate through output signal levels and observe volume changes in recorded audio. Reviewed by: br, christos Differential Revision: https://reviews.freebsd.org/D47412 --- share/man/man4/snd_hdspe.4 | 28 +++++- sys/dev/sound/pci/hdspe.c | 222 +++++++++++++++++++++++++++++++++++++++++++++ sys/dev/sound/pci/hdspe.h | 56 +++++++----- 3 files changed, 281 insertions(+), 25 deletions(-) diff --git a/share/man/man4/snd_hdspe.4 b/share/man/man4/snd_hdspe.4 index ac81356fb783..35dea518da64 100644 --- a/share/man/man4/snd_hdspe.4 +++ b/share/man/man4/snd_hdspe.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 28, 2024 +.Dd November 2, 2024 .Dt SND_HDSPE 4 .Os .Sh NAME @@ -132,6 +132,32 @@ for accurately synchronized signals (required for recording digital audio). .El .Pp +The following tunables are applicable to HDSPe AIO devices only: +.Bl -tag -width indent +.It Va dev.hdspe.0.input_level +Select the sensitivity of the analog line input. +Available reference levels for the input signal are +.Ql LowGain , +.Ql +4dBu +and +.Ql -10dBV . +.It Va dev.hdspe.0.output_level +Select the gain level of the analog line output. +Available reference levels for the output signal are +.Ql HighGain , +.Ql +4dBu +and +.Ql -10dBV . +.It Va dev.hdspe.0.phones_level +Adjust the gain level of the phones output, separately from the analog line +output. +Available reference levels for the output signal are +.Ql HighGain , +.Ql +4dBu +and +.Ql -10dBV . +.El +.Pp Where appropriate these sysctl values are modeled after official RME software on other platforms, and adopt their terminology. Consult the RME user manuals for additional information. diff --git a/sys/dev/sound/pci/hdspe.c b/sys/dev/sound/pci/hdspe.c index 2561fcdebb1c..f983f0be2275 100644 --- a/sys/dev/sound/pci/hdspe.c +++ b/sys/dev/sound/pci/hdspe.c @@ -246,6 +246,198 @@ hdspe_map_dmabuf(struct sc_info *sc) } } +static const char * +hdspe_settings_input_level(uint32_t settings) +{ + switch (settings & HDSPE_INPUT_LEVEL_MASK) { + case HDSPE_INPUT_LEVEL_LOWGAIN: + return ("LowGain"); + case HDSPE_INPUT_LEVEL_PLUS4DBU: + return ("+4dBu"); + case HDSPE_INPUT_LEVEL_MINUS10DBV: + return ("-10dBV"); + default: + return (NULL); + } +} + +static int +hdspe_sysctl_input_level(SYSCTL_HANDLER_ARGS) +{ + struct sc_info *sc; + const char *label; + char buf[16] = "invalid"; + int error; + uint32_t settings; + + sc = oidp->oid_arg1; + + /* Only available on HDSPE AIO. */ + if (sc->type != HDSPE_AIO) + return (ENXIO); + + /* Extract current input level from settings register. */ + settings = sc->settings_register & HDSPE_INPUT_LEVEL_MASK; + label = hdspe_settings_input_level(settings); + if (label != NULL) + strlcpy(buf, label, sizeof(buf)); + + /* Process sysctl string request. */ + error = sysctl_handle_string(oidp, buf, sizeof(buf), req); + if (error != 0 || req->newptr == NULL) + return (error); + + /* Find input level matching the sysctl string. */ + label = hdspe_settings_input_level(HDSPE_INPUT_LEVEL_LOWGAIN); + if (strncasecmp(buf, label, sizeof(buf)) == 0) + settings = HDSPE_INPUT_LEVEL_LOWGAIN; + label = hdspe_settings_input_level(HDSPE_INPUT_LEVEL_PLUS4DBU); + if (strncasecmp(buf, label, sizeof(buf)) == 0) + settings = HDSPE_INPUT_LEVEL_PLUS4DBU; + label = hdspe_settings_input_level(HDSPE_INPUT_LEVEL_MINUS10DBV); + if (strncasecmp(buf, label, sizeof(buf)) == 0) + settings = HDSPE_INPUT_LEVEL_MINUS10DBV; + + /* Set input level in settings register. */ + settings &= HDSPE_INPUT_LEVEL_MASK; + if (settings != (sc->settings_register & HDSPE_INPUT_LEVEL_MASK)) { + snd_mtxlock(sc->lock); + sc->settings_register &= ~HDSPE_INPUT_LEVEL_MASK; + sc->settings_register |= settings; + hdspe_write_4(sc, HDSPE_SETTINGS_REG, sc->settings_register); + snd_mtxunlock(sc->lock); + } + return (0); +} + +static const char * +hdspe_settings_output_level(uint32_t settings) +{ + switch (settings & HDSPE_OUTPUT_LEVEL_MASK) { + case HDSPE_OUTPUT_LEVEL_HIGHGAIN: + return ("HighGain"); + case HDSPE_OUTPUT_LEVEL_PLUS4DBU: + return ("+4dBu"); + case HDSPE_OUTPUT_LEVEL_MINUS10DBV: + return ("-10dBV"); + default: + return (NULL); + } +} + +static int +hdspe_sysctl_output_level(SYSCTL_HANDLER_ARGS) +{ + struct sc_info *sc; + const char *label; + char buf[16] = "invalid"; + int error; + uint32_t settings; + + sc = oidp->oid_arg1; + + /* Only available on HDSPE AIO. */ + if (sc->type != HDSPE_AIO) + return (ENXIO); + + /* Extract current output level from settings register. */ + settings = sc->settings_register & HDSPE_OUTPUT_LEVEL_MASK; + label = hdspe_settings_output_level(settings); + if (label != NULL) + strlcpy(buf, label, sizeof(buf)); + + /* Process sysctl string request. */ + error = sysctl_handle_string(oidp, buf, sizeof(buf), req); + if (error != 0 || req->newptr == NULL) + return (error); + + /* Find output level matching the sysctl string. */ + label = hdspe_settings_output_level(HDSPE_OUTPUT_LEVEL_HIGHGAIN); + if (strncasecmp(buf, label, sizeof(buf)) == 0) + settings = HDSPE_OUTPUT_LEVEL_HIGHGAIN; + label = hdspe_settings_output_level(HDSPE_OUTPUT_LEVEL_PLUS4DBU); + if (strncasecmp(buf, label, sizeof(buf)) == 0) + settings = HDSPE_OUTPUT_LEVEL_PLUS4DBU; + label = hdspe_settings_output_level(HDSPE_OUTPUT_LEVEL_MINUS10DBV); + if (strncasecmp(buf, label, sizeof(buf)) == 0) + settings = HDSPE_OUTPUT_LEVEL_MINUS10DBV; + + /* Set output level in settings register. */ + settings &= HDSPE_OUTPUT_LEVEL_MASK; + if (settings != (sc->settings_register & HDSPE_OUTPUT_LEVEL_MASK)) { + snd_mtxlock(sc->lock); + sc->settings_register &= ~HDSPE_OUTPUT_LEVEL_MASK; + sc->settings_register |= settings; + hdspe_write_4(sc, HDSPE_SETTINGS_REG, sc->settings_register); + snd_mtxunlock(sc->lock); + } + return (0); +} + +static const char * +hdspe_settings_phones_level(uint32_t settings) +{ + switch (settings & HDSPE_PHONES_LEVEL_MASK) { + case HDSPE_PHONES_LEVEL_HIGHGAIN: + return ("HighGain"); + case HDSPE_PHONES_LEVEL_PLUS4DBU: + return ("+4dBu"); + case HDSPE_PHONES_LEVEL_MINUS10DBV: + return ("-10dBV"); + default: + return (NULL); + } +} + +static int +hdspe_sysctl_phones_level(SYSCTL_HANDLER_ARGS) +{ + struct sc_info *sc; + const char *label; + char buf[16] = "invalid"; + int error; + uint32_t settings; + + sc = oidp->oid_arg1; + + /* Only available on HDSPE AIO. */ + if (sc->type != HDSPE_AIO) + return (ENXIO); + + /* Extract current phones level from settings register. */ + settings = sc->settings_register & HDSPE_PHONES_LEVEL_MASK; + label = hdspe_settings_phones_level(settings); + if (label != NULL) + strlcpy(buf, label, sizeof(buf)); + + /* Process sysctl string request. */ + error = sysctl_handle_string(oidp, buf, sizeof(buf), req); + if (error != 0 || req->newptr == NULL) + return (error); + + /* Find phones level matching the sysctl string. */ + label = hdspe_settings_phones_level(HDSPE_PHONES_LEVEL_HIGHGAIN); + if (strncasecmp(buf, label, sizeof(buf)) == 0) + settings = HDSPE_PHONES_LEVEL_HIGHGAIN; + label = hdspe_settings_phones_level(HDSPE_PHONES_LEVEL_PLUS4DBU); + if (strncasecmp(buf, label, sizeof(buf)) == 0) + settings = HDSPE_PHONES_LEVEL_PLUS4DBU; + label = hdspe_settings_phones_level(HDSPE_PHONES_LEVEL_MINUS10DBV); + if (strncasecmp(buf, label, sizeof(buf)) == 0) + settings = HDSPE_PHONES_LEVEL_MINUS10DBV; + + /* Set phones level in settings register. */ + settings &= HDSPE_PHONES_LEVEL_MASK; + if (settings != (sc->settings_register & HDSPE_PHONES_LEVEL_MASK)) { + snd_mtxlock(sc->lock); + sc->settings_register &= ~HDSPE_PHONES_LEVEL_MASK; + sc->settings_register |= settings; + hdspe_write_4(sc, HDSPE_SETTINGS_REG, sc->settings_register); + snd_mtxunlock(sc->lock); + } + return (0); +} + static int hdspe_sysctl_sample_rate(SYSCTL_HANDLER_ARGS) { @@ -529,6 +721,15 @@ hdspe_init(struct sc_info *sc) /* Other settings. */ sc->settings_register = 0; + + /* Default gain levels. */ + sc->settings_register &= ~HDSPE_INPUT_LEVEL_MASK; + sc->settings_register |= HDSPE_INPUT_LEVEL_LOWGAIN; + sc->settings_register &= ~HDSPE_OUTPUT_LEVEL_MASK; + sc->settings_register |= HDSPE_OUTPUT_LEVEL_MINUS10DBV; + sc->settings_register &= ~HDSPE_PHONES_LEVEL_MASK; + sc->settings_register |= HDSPE_PHONES_LEVEL_MINUS10DBV; + hdspe_write_4(sc, HDSPE_SETTINGS_REG, sc->settings_register); return (0); @@ -623,6 +824,27 @@ hdspe_attach(device_t dev) sc, 0, hdspe_sysctl_sample_rate, "A", "Force sample rate (32000, 44100, 48000, ... 192000)"); + if (sc->type == HDSPE_AIO) { + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "phones_level", CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE, + sc, 0, hdspe_sysctl_phones_level, "A", + "Phones output level ('HighGain', '+4dBU', '-10dBV')"); + + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "output_level", CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE, + sc, 0, hdspe_sysctl_output_level, "A", + "Analog output level ('HighGain', '+4dBU', '-10dBV')"); + + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "input_level", CTLTYPE_STRING | CTLFLAG_RW | CTLFLAG_MPSAFE, + sc, 0, hdspe_sysctl_input_level, "A", + "Analog input level ('LowGain', '+4dBU', '-10dBV')"); + } + + return (bus_generic_attach(dev)); } diff --git a/sys/dev/sound/pci/hdspe.h b/sys/dev/sound/pci/hdspe.h index 2f0bdddd930f..bced78758068 100644 --- a/sys/dev/sound/pci/hdspe.h +++ b/sys/dev/sound/pci/hdspe.h @@ -74,35 +74,43 @@ #define HDSPE_LAT_BYTES_MIN (32 * 4) #define hdspe_encode_latency(x) (((x)<<1) & HDSPE_LAT_MASK) -/* Gain */ -#define HDSP_ADGain0 (1 << 25) -#define HDSP_ADGain1 (1 << 26) -#define HDSP_DAGain0 (1 << 27) -#define HDSP_DAGain1 (1 << 28) -#define HDSP_PhoneGain0 (1 << 29) -#define HDSP_PhoneGain1 (1 << 30) - -#define HDSP_ADGainMask (HDSP_ADGain0 | HDSP_ADGain1) -#define HDSP_ADGainMinus10dBV (HDSP_ADGainMask) -#define HDSP_ADGainPlus4dBu (HDSP_ADGain0) -#define HDSP_ADGainLowGain 0 - -#define HDSP_DAGainMask (HDSP_DAGain0 | HDSP_DAGain1) -#define HDSP_DAGainHighGain (HDSP_DAGainMask) -#define HDSP_DAGainPlus4dBu (HDSP_DAGain0) -#define HDSP_DAGainMinus10dBV 0 - -#define HDSP_PhoneGainMask (HDSP_PhoneGain0|HDSP_PhoneGain1) -#define HDSP_PhoneGain0dB HDSP_PhoneGainMask -#define HDSP_PhoneGainMinus6dB (HDSP_PhoneGain0) -#define HDSP_PhoneGainMinus12dB 0 - -/* Settings */ +/* Register addresses */ #define HDSPE_SETTINGS_REG 0 #define HDSPE_CONTROL_REG 64 #define HDSPE_STATUS_REG 0 #define HDSPE_STATUS1_REG 64 #define HDSPE_STATUS2_REG 192 + +/* Settings register flags */ +#define HDSPE_SETTINGS_INPUT_GAIN0 (1 << 20) +#define HDSPE_SETTINGS_INPUT_GAIN1 (1 << 21) +#define HDSPE_SETTINGS_OUTPUT_GAIN0 (1 << 22) +#define HDSPE_SETTINGS_OUTPUT_GAIN1 (1 << 23) +#define HDSPE_SETTINGS_PHONES_GAIN0 (1 << 24) +#define HDSPE_SETTINGS_PHONES_GAIN1 (1 << 25) + +/* Analog input gain level */ +#define HDSPE_INPUT_LEVEL_MASK (HDSPE_SETTINGS_INPUT_GAIN0 | \ + HDSPE_SETTINGS_INPUT_GAIN1) +#define HDSPE_INPUT_LEVEL_LOWGAIN 0 +#define HDSPE_INPUT_LEVEL_PLUS4DBU (HDSPE_SETTINGS_INPUT_GAIN0) +#define HDSPE_INPUT_LEVEL_MINUS10DBV (HDSPE_SETTINGS_INPUT_GAIN1) + +/* Analog output gain level */ +#define HDSPE_OUTPUT_LEVEL_MASK (HDSPE_SETTINGS_OUTPUT_GAIN0 | \ + HDSPE_SETTINGS_OUTPUT_GAIN1) +#define HDSPE_OUTPUT_LEVEL_HIGHGAIN 0 +#define HDSPE_OUTPUT_LEVEL_PLUS4DBU (HDSPE_SETTINGS_OUTPUT_GAIN0) +#define HDSPE_OUTPUT_LEVEL_MINUS10DBV (HDSPE_SETTINGS_OUTPUT_GAIN1) + +/* Phones output gain level */ +#define HDSPE_PHONES_LEVEL_MASK (HDSPE_SETTINGS_PHONES_GAIN0 | \ + HDSPE_SETTINGS_PHONES_GAIN1) +#define HDSPE_PHONES_LEVEL_HIGHGAIN 0 +#define HDSPE_PHONES_LEVEL_PLUS4DBU (HDSPE_SETTINGS_PHONES_GAIN0) +#define HDSPE_PHONES_LEVEL_MINUS10DBV (HDSPE_SETTINGS_PHONES_GAIN1) + +/* Control register flags */ #define HDSPE_ENABLE (1 << 0) /* Interrupts */ From nobody Tue Dec 3 22:48:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y2wmQ0Jcnz5gtKD; Tue, 03 Dec 2024 22:48:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y2wmP6jyRz53TC; Tue, 3 Dec 2024 22:48:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733266101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nt7TVL0N9vucWhih5SzaQQ/ma98pcBvU5/Gu/6ZefGg=; b=V1vLJpABzEaQoUmm6muhF8i4THIsBoLJrI+MD6i2jH6VnrRw2sgsC4oHtbNLeiPXdOpENp AT9AD4lu42VqQhs0rexDGe4AtaEXH04KN3V+xS7LvJyzNYoJFRGqnfdu33vueY82uuIM+K xGg+GFS/g6n77+gy3EcnlBYH+mYJhujta0fQ5ppXQcWs8F72BrUydhOZS8EZehoJhbW64U yv9Fn02liyyueubI8JXzAzWHkedrOfvWjJMrudOetGT9pghnR5dYEFGf9aBzSZNg5Qq59Y u5Capjz/26vsHMlBMR5OGF0/cZ+mIP3LJKgQSAS651Xj+oBRhU8f3mkHDUsB7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733266101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nt7TVL0N9vucWhih5SzaQQ/ma98pcBvU5/Gu/6ZefGg=; b=FsAnGH5T7fm+/Ku2D3Pj0MbWdMSzYsSioTpQSR/T+Dw1fag49qJSfINKq5vCuv2WVcY/65 JqDBZI/g1pwHPpzrHuaSg2ht4T+wq4InfE5DyqGhLc/QYTZ8mI7NUaQivkIJQih3r7qx4R hySz95nD7RANSHWxY0MXVxwJ6wktoKIfN8v0merQZiWkVAOMawYO1skTlVsVvcYl7QgwCw U2/ddJYBV2lb1HaS5ZFgRT6TyCV0zKpYy0Us/cxc+cLGSZZViqyR660mrooe+4HYEw9U/L fweHwO/34VwMKe4w8HGavJZUA4UYUqEfQGdDzVZn3JTjlx8G64iEeKnwZZIT6g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733266101; a=rsa-sha256; cv=none; b=Fqku3E7iMXqXexHjlLUBWcqzcBSeEPQKo39gnZh2Fc7oq3ojaZbKOW2ix3MXdJ8/6dzNAg aEa8NgDnZ18KsZX6t82Wc1Jw0GPlHOLuNcE/ggfJPWUX2bW1/ZVEj9FKYT/3+wcwt3gy5W vCmhJvKlZMvhvzOrDnbCPzZWdpHnSZDDcHwL9vL5tyDShXhu28Kin8swOnKPh47ZSQIBdd KKeUoet5mLT3HlznV1aJG1pK3kMdJJnHSuamLzFSnPHOrSBdui5QBfNALNCp2HNN5PIVAz PmqsMMdmrlaVlzOr9AGPzB2Dgkn7eaia2s+CZDHcdqeccPoMdXWPyzEJGCRqRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y2wmP5kSrzhg1; Tue, 3 Dec 2024 22:48: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 4B3MmLFD059888; Tue, 3 Dec 2024 22:48:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B3MmLLv059885; Tue, 3 Dec 2024 22:48:21 GMT (envelope-from git) Date: Tue, 3 Dec 2024 22:48:21 GMT Message-Id: <202412032248.4B3MmLLv059885@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: 6749f059a586 - main - rtwn: use ieee80211_ht_check_tx_shortgi_20() and ieee80211_ht_check_tx_shortgi_40() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 6749f059a586ff62f2909134c4f4599c82fabc5e Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=6749f059a586ff62f2909134c4f4599c82fabc5e commit 6749f059a586ff62f2909134c4f4599c82fabc5e Author: Adrian Chadd AuthorDate: 2024-11-25 23:20:42 +0000 Commit: Adrian Chadd CommitDate: 2024-12-03 22:46:46 +0000 rtwn: use ieee80211_ht_check_tx_shortgi_20() and ieee80211_ht_check_tx_shortgi_40() Use the new net80211 routines rather than rolling our own. (The first version of this diff landed a previous version of what was reviewed, so this brings it up to what was finally accepted in the review.) Differential Revision: https://reviews.freebsd.org/D47751 Reviewed by: bz --- sys/dev/rtwn/rtl8192c/r92c_tx.c | 20 ++++++++++++++------ sys/dev/rtwn/rtl8812a/r12a_tx.c | 20 ++++++++++++++------ 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/sys/dev/rtwn/rtl8192c/r92c_tx.c b/sys/dev/rtwn/rtl8192c/r92c_tx.c index 5c8b2e114727..b8c26d861a14 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_tx.c +++ b/sys/dev/rtwn/rtl8192c/r92c_tx.c @@ -172,12 +172,20 @@ r92c_tx_set_sgi(struct rtwn_softc *sc, void *buf, struct ieee80211_node *ni) { struct r92c_tx_desc *txd = (struct r92c_tx_desc *)buf; - if (IEEE80211_IS_CHAN_HT40(ni->ni_chan) - && ieee80211_ht_check_tx_shortgi_40(ni)) - txd->txdw5 |= htole32(R92C_TXDW5_SGI); - else if (IEEE80211_IS_CHAN_HT20(ni->ni_chan) - && ieee80211_ht_check_tx_shortgi_20(ni)) - txd->txdw5 |= htole32(R92C_TXDW5_SGI); + /* + * Only enable short-GI if we're transmitting in that + * width to that node. + * + * Specifically, do not enable shortgi for 20MHz if + * we're attempting to transmit at 40MHz. + */ + if (ieee80211_ht_check_tx_ht40(ni)) { + if (ieee80211_ht_check_tx_shortgi_40(ni)) + txd->txdw5 |= htole32(R92C_TXDW5_SGI); + } else if (ieee80211_ht_check_tx_ht(ni)) { + if (ieee80211_ht_check_tx_shortgi_20(ni)) + txd->txdw5 |= htole32(R92C_TXDW5_SGI); + } } void diff --git a/sys/dev/rtwn/rtl8812a/r12a_tx.c b/sys/dev/rtwn/rtl8812a/r12a_tx.c index 7a8a7d3679b1..8cee2a16fbd5 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_tx.c +++ b/sys/dev/rtwn/rtl8812a/r12a_tx.c @@ -202,12 +202,20 @@ r12a_tx_set_sgi(struct rtwn_softc *sc, void *buf, struct ieee80211_node *ni) /* TODO: VHT 20/40/80 checks */ - if (IEEE80211_IS_CHAN_HT40(ni->ni_chan) - && ieee80211_ht_check_tx_shortgi_40(ni)) - txd->txdw5 |= htole32(R12A_TXDW5_DATA_SHORT); - else if (IEEE80211_IS_CHAN_HT20(ni->ni_chan) - && ieee80211_ht_check_tx_shortgi_20(ni)) - txd->txdw5 |= htole32(R12A_TXDW5_DATA_SHORT); + /* + * Only enable short-GI if we're transmitting in that + * width to that node. + * + * Specifically, do not enable shortgi for 20MHz if + * we're attempting to transmit at 40MHz. + */ + if (ieee80211_ht_check_tx_ht40(ni)) { + if (ieee80211_ht_check_tx_shortgi_40(ni)) + txd->txdw5 |= htole32(R12A_TXDW5_DATA_SHORT); + } else if (ieee80211_ht_check_tx_ht(ni)) { + if (ieee80211_ht_check_tx_shortgi_20(ni)) + txd->txdw5 |= htole32(R12A_TXDW5_DATA_SHORT); + } } static void From nobody Wed Dec 4 02:39:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y31vD48r4z5fkJw; Wed, 04 Dec 2024 02:39:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y31vD3d3pz4FFJ; Wed, 4 Dec 2024 02:39:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733279976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zVgYN8HPx6saojKLVtxa6UYkX50UegMP2Ctdr7ouyaw=; b=m8YwY0/l5x9Fm7OskRVmbKd7UorUgLlLF0JlbebQ1VeSbvhpRy3lBOEPGnyKPc79fX/AO9 h8f4nu4aoQNxa4nY0F/5GBvNDYJw1Scv0ABvQJmnJt0TuAxkvCYSLzjZf9wM84eoF2Q1Mg TojNQXDZXoZSnqDa62a51/KGPzZ+8Di10iP6fsENnbFMqFdXLxAd3zPhdqesQcte4UqHUO UvQSC9UN5F/iuwEb9PshPUJlrPdzJkZ/JfzPZ0h0ZD/Z2I/J1Th6JXO7nfkKUk/VKHnjLN 00ExZ9RZcPGN0spspko7zjTNhezYBskwr+fLWXQPxpzIEVO+7VFyWbTP0sFQLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733279976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zVgYN8HPx6saojKLVtxa6UYkX50UegMP2Ctdr7ouyaw=; b=l7GXlPa8HKSuh4GysMiGxHGwnCXZ4c/REugg2NPb2ej7ncWvZITri1t+lLOLHW+vdiLZQY XBj8ojM3JhnMKMUtGVCjzKt1NyORGqZBZE4m1xjvO6BVjyJg8QXnW8Dtrvpn5PV4obu/Wx yxN/JzruL1/kctDTGBRy6vXAnoQ9V4KyjD2mmE+nux/BTpZiEjdfIbIctTZnRwjXxcyyV4 /hS/DFHX++AbnakLyTw2IXAjD6foDjxS6wpEeKwzj9RtxtfUroGqbe0zq2DL15c+LmBWuO oOIKFZCdmvBPUGIedQyDVgNvAJ5NeNwUSq+cZk2nYos8CYxTSZHa61jVgTU0SQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733279976; a=rsa-sha256; cv=none; b=tvgj4eLmq+pYf6R3adVIn8takALvsQKby4nI92fqzF6zAWyoYYwi/eEvnkBlOYyWpShMRU cdtKbqZpAaBwgbn7epffNbz4SuAruW5dR/se42mL1st2Jr+j4IW13lpELsKdtaiRASMIrT V07m6pzb41r2dVCzHMKPbd2c+jvCYb408/CVBgNqQPn6hZOjusm2hK3qEVlocDxNLL0qKN 2VxSPYazJOwwllCV0/WjkwYcB+/I6hCa+A7jlM7PbMMX3hA0nPQ0Y1O/0AcoGxoudTGRKH 1QzX+AoUGoPHiEk6cMSKi+GP8BT7dnqFoyIO/JYxM0aKI3AkKfWGOapokeSdAQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y31vD35dHzpsG; Wed, 4 Dec 2024 02:39:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B42datJ087675; Wed, 4 Dec 2024 02:39:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B42dan8087672; Wed, 4 Dec 2024 02:39:36 GMT (envelope-from git) Date: Wed, 4 Dec 2024 02:39:36 GMT Message-Id: <202412040239.4B42dan8087672@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: d6ed5ff4ac7d - main - git-arc: fix diff2reviewers() with multiple reviewers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d6ed5ff4ac7d9610385b35f77539ccf5bae8cc65 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=d6ed5ff4ac7d9610385b35f77539ccf5bae8cc65 commit d6ed5ff4ac7d9610385b35f77539ccf5bae8cc65 Author: Gleb Smirnoff AuthorDate: 2024-12-04 02:38:41 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-04 02:38:41 +0000 git-arc: fix diff2reviewers() with multiple reviewers The select command of jq provides us with a multiline output. Thus, the ${userids} is a newline separated list. The recent change 9e84289f2c7e explicitly said that we aren't going to translate newline to comma when constructing JSON for the next command. It also forces the ${userids} to be printed as is, with shell's field splitting disabled. So we end up with invalid JSON, that is missing commas. Fix this by enabling shell's field splitting by printing ${userids} outside of double quotes. Reviewed by: jlduran, imp, emaste Differential Revision: https://reviews.freebsd.org/D47889 Fixes: 9e84289f2c7e6b632047a75b653fcd587287a8b9 --- tools/tools/git/git-arc.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tools/git/git-arc.sh b/tools/tools/git/git-arc.sh index 6ef1abf4e0c6..b49721159799 100644 --- a/tools/tools/git/git-arc.sh +++ b/tools/tools/git/git-arc.sh @@ -341,7 +341,7 @@ diff2reviewers() jq '.response.data[0].attachments.reviewers.reviewers[] | select(.status == "accepted").reviewerPHID') if [ -n "$userids" ]; then echo '{ - "constraints": {"phids": ['"$(echo "$userids" | tr '[:blank:]' ',')"']} + "constraints": {"phids": ['"$(echo $userids | tr '[:blank:]' ',')"']} }' | arc_call_conduit -- user.search | jq -r '.response.data[].fields.username' From nobody Wed Dec 4 08:51:22 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3B8C15fQz5gDQY; Wed, 04 Dec 2024 08:51:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3B8C0Ykwz4qRd; Wed, 4 Dec 2024 08:51:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733302283; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=au01VJ8r7Gh23Oz8nbd4Cfd9WdpW+O28xR2Z09suwN8=; b=CbdH505px+DTfDCXpc389dImmsmRwFszay4hVnJ8tQCRD+F78oTqdyOZeKVw0BholzFXVz YBy611y1PJJp1PeG7Dq38lIWsuueD/P6+ash6jC+L5N9lKI1wqvEgfoqj/1vLytjeRvSJ7 RulCMrbo0HeArCPDuyOCFMJwkr62gX7V8BoVfwaRhcbFuBpcSl86DhA5NSEOC5KD9mKI0o x/iiJ0BeT3xkPpQAzxlqXB+nLsaOOsRRu7PajoFmsY1GSBJ2YQWJNFDV2p97kT4Oxf62G0 LE/NhAlwxwqMy/XDHIh+SYa61fJVohOnq/YwO7YfCHcTfu8UYst7ga2B2ULTIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733302283; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=au01VJ8r7Gh23Oz8nbd4Cfd9WdpW+O28xR2Z09suwN8=; b=HZ8wBUe8SVRFol3VdGpyxVbtLgm1L3I0JGVXs0JOWK9kdlguHI87cx+0Ta5gTSAl0f98Ys zcUfUHHNr72tvLCyaNCoNZ3pr5TGjEcCj62fmCu3YBbHOAG+ao24wFXfpsBLArdkD2Uz1k estPa8kmUctk3zqLq9FYYVfdxPz68UxWDJeanepd4BoZEns92ub1TK2Ri0/zU4HfLXCrx2 4zhewyXXxU0bK5xAXSdgUVwE/Z6JTtkh5aD3FSbqlTXkr/0tAlpuUB6vslLIWj2Fj8FHdK wwPBFcx7eYRw6vGJGnlXWpjKt4f94Zy5jHXFLuD6hE8SKq0nl0A2Hzz6bwfWBA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733302283; a=rsa-sha256; cv=none; b=QdAoRpSCUnzKqmbQrk9PE9SCp4NQEyztNkKCfqvq5mq5s7BV5v0Lvjh2XaeZ3s/kgBW6az tOLMuN473n5pjPnRTsB050QqE2Pm18wcmQFwDO4+d0THH8L3q9yl2Qh2oee0KZh5d2vYSG 25Fx0Mag5mr5M0Yxb2+BRCq/nwxMd82/m2I9FLtggre2aboOabR/qRRvsu24VoDuLkpFvg dG1i4qoERIfKjVzE/VZWbu9UNgucjpFuHKH5jg/vfE8kqJCSyFy96lDESVcAlrq/9KzPYa JS46OWf65eIvM0XLbuvdi07SVGjGgdKXX/AUGtz0KEl1zz3ES3x+M6i75QxTbg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3B8C09L5z11Bp; Wed, 4 Dec 2024 08:51: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 4B48pMcf090055; Wed, 4 Dec 2024 08:51:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B48pMMm090052; Wed, 4 Dec 2024 08:51:22 GMT (envelope-from git) Date: Wed, 4 Dec 2024 08:51:22 GMT Message-Id: <202412040851.4B48pMMm090052@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Robert Wing Subject: git: 6830340cfad6 - main - fstyp: search for file system headers with the largest offset first List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6830340cfad6a69715d03f5062f76b65e988e6e9 Auto-Submitted: auto-generated The branch main has been updated by rew: URL: https://cgit.FreeBSD.org/src/commit/?id=6830340cfad6a69715d03f5062f76b65e988e6e9 commit 6830340cfad6a69715d03f5062f76b65e988e6e9 Author: Robert Wing AuthorDate: 2024-12-04 07:19:23 +0000 Commit: Robert Wing CommitDate: 2024-12-04 08:45:09 +0000 fstyp: search for file system headers with the largest offset first fstyp can misidentify a UFS file system as MS-DOS if the device was repurposed from MS-DOS to UFS via newfs. This happens for the following reasons: - the header for MS-DOS begins at offset 0 - the superblock for UFS begins at offset 64k, 8k, 0k, or 256k - newfs does not clear the area in front of UFS's superblock, leaving the MS-DOS header intact. - fstyp searches for file system headers alphabetically To avoid this misidentification, have fstyp search for file system headers with the largest offset first instead of alphabetically. The implemented fix was suggested by reporter, Richard M. Kreuter. PR: 252787 Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D47855 --- usr.sbin/fstyp/fstyp.c | 42 ++++++++++++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/usr.sbin/fstyp/fstyp.c b/usr.sbin/fstyp/fstyp.c index 578210116ae5..dd06df33bbe2 100644 --- a/usr.sbin/fstyp/fstyp.c +++ b/usr.sbin/fstyp/fstyp.c @@ -54,25 +54,55 @@ bool show_label = false; typedef int (*fstyp_function)(FILE *, char *, size_t); +/* + * The ordering of fstypes[] is not arbitrary. + * + * fstyp checks the existence of a file system header to determine the + * type of file system on a given device. For different file systems, + * these headers reside at different offsets within the device. + * + * For example, the header for an MS-DOS file system begins at offset 0, + * whereas a header for UFS *normally* begins at offset 64k. If a device + * was constructed as MS-DOS and then repurposed as UFS (via newfs), it + * is possible the MS-DOS header will still be intact. To prevent + * misidentifying the file system, it is desirable to check the header + * with the largest offset first (i.e., UFS before MS-DOS). + */ static struct { const char *name; fstyp_function function; bool unmountable; const char *precache_encoding; } fstypes[] = { - { "apfs", &fstyp_apfs, true, NULL }, - { "befs", &fstyp_befs, false, NULL }, + /* last sector of geli device */ + { "geli", &fstyp_geli, true, NULL }, + /* + * ufs headers have four different areas, searched in this order: + * offsets: 64k, 8k, 0k, 256k + 8192 bytes + */ + { "ufs", &fstyp_ufs, false, NULL }, + /* offset 32768 + 512 bytes */ { "cd9660", &fstyp_cd9660, false, NULL }, - { "exfat", &fstyp_exfat, false, EXFAT_ENC }, + /* offset 1024 + 512 bytes */ + { "hfs+", &fstyp_hfsp, false, NULL }, + /* offset 1024 + 512 bytes */ { "ext2fs", &fstyp_ext2fs, false, NULL }, - { "geli", &fstyp_geli, true, NULL }, + /* offset 512 + 36 bytes */ + { "befs", &fstyp_befs, false, NULL }, + /* offset 0 + 40 bytes */ + { "apfs", &fstyp_apfs, true, NULL }, + /* offset 0 + 512 bytes (for initial signature check) */ + { "exfat", &fstyp_exfat, false, EXFAT_ENC }, + /* offset 0 + 1928 bytes */ { "hammer", &fstyp_hammer, true, NULL }, + /* offset 0 + 65536 bytes (for initial signature check) */ { "hammer2", &fstyp_hammer2, true, NULL }, - { "hfs+", &fstyp_hfsp, false, NULL }, + /* offset 0 + 512 bytes (for initial signature check) */ { "msdosfs", &fstyp_msdosfs, false, NULL }, + /* offset 0 + 512 bytes (for initial signature check) */ { "ntfs", &fstyp_ntfs, false, NTFS_ENC }, - { "ufs", &fstyp_ufs, false, NULL }, #ifdef HAVE_ZFS + /* offset 0 + 256k */ { "zfs", &fstyp_zfs, true, NULL }, #endif { NULL, NULL, NULL, NULL } From nobody Wed Dec 4 13:13:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3Hym1k7cz5fYLR; Wed, 04 Dec 2024 13:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3Hym1CNSz4HMB; Wed, 4 Dec 2024 13:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733318016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2nS8BdKufrQtX0oWZMK6VU6aRls2aCU4Is8iGfEIAWs=; b=ffKWNTqs5mA/ONCCeBPnQzuti1qK5ci4/qvfUpk/VFvIFlILzQxemqnTzOX7CsWo1rLaVE 2lBDErvxfsLROdjXhZ4nakLflTq5dKpe7tFdVDfvnTq0jrDn15KQ29WvunT8rslBj+uE3b hIWC14FuBcKwJoj05dMQAun7thNpEkokZNKjlBMC65GC7Gj47rstMLLbUVp9tNdfKk6iXE pjHIE2CXqy9PMpn+LIqSavS0QW1Ww3k76qL1UhQG1TA/zMlIu91YzQDNG6ANMZ/UPKr58j BzaYi98pcT0Bri8e1Gf51/M0OrsWPs7lRd2d7PhqOoB9by2g77YDqM0f1Q8TxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733318016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2nS8BdKufrQtX0oWZMK6VU6aRls2aCU4Is8iGfEIAWs=; b=Le8Pvc4nPubuYV15WTv/0zvuLvWQ86frrlLK0R0iWsT7Hp9OlxlFW8JHEgunKsBsOY1Fuv jb/lKGzB+I0xtVWiogIYkDV7q70jKSXa6k/zopK9mENqCVWldqu+zEquGn49vnuHjY35zv ie2CIB08hLGz71H6T2mNvyHBCt7IZc0NRwYKZPPIK0ukpXVu4+u2REbMu77f8weqUm3+eL MjN2oJeCnxGh1D2TbCpa3vGnmhIqmpcG/sbjihWf6kilIRpbCb4w+GZ6YMydFIywoxTV5n MYuqTuqeXHISE0BaMXm/J7wOJufJYa9oCLeK+eUSOEqczr/Et1YXXKjZ5FhSxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733318016; a=rsa-sha256; cv=none; b=BJYHOaT/XUyU8AgCwnJLMUbyOtXYn4V9PKKpKF56LNpXfGRDfFUvFG77Hgph6kHYCqVhOH 9GFhqD9TU3AYFHY68xp+KN2SxXOIivTsAkCNw/emggSMEPz9sd6umg6vgDbDV/WkspE699 ZI8Su8/dDtfbq7EWnIZnMo1cCuXdM6k992dAcEXhpPM8bPHC9KNuWdbBj/JY6Y2MhCfe+X yLXtreHwFqDFVERUN0LWoxKapdDGVnH9K21GExwg344EX30KEMi89nUPu3pDN7fpYa9haN ySKDyH5Jh2gqUxhk6OG9wM6e+5g2upng+gi9Hey161NJ/veST/YXa6Xo7JHo9g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3Hym0pZhz17pP; Wed, 4 Dec 2024 13:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B4DDap5079950; Wed, 4 Dec 2024 13:13:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4DDapW079947; Wed, 4 Dec 2024 13:13:36 GMT (envelope-from git) Date: Wed, 4 Dec 2024 13:13:36 GMT Message-Id: <202412041313.4B4DDapW079947@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 3ee87f8a4d7a - main - stress2: Use tests as the default test user. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3ee87f8a4d7a56c846d356d028e77bd72a0e1fbb Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=3ee87f8a4d7a56c846d356d028e77bd72a0e1fbb commit 3ee87f8a4d7a56c846d356d028e77bd72a0e1fbb Author: Dag-Erling Smørgrav AuthorDate: 2024-12-04 13:07:05 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-12-04 13:12:43 +0000 stress2: Use tests as the default test user. This allows some tests to run without prior configuration; others will have to be modified to use `su -m` since the tests account is locked. Reviewed by: allanjude Differential Revision: https://reviews.freebsd.org/D47875 --- tools/test/stress2/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/test/stress2/default.cfg b/tools/test/stress2/default.cfg index bff7f3f168a9..dbd1ca0bbc43 100644 --- a/tools/test/stress2/default.cfg +++ b/tools/test/stress2/default.cfg @@ -56,7 +56,7 @@ testcases/tcp/tcp export diskimage=${diskimage:-/tmp/diskimage} # Location of 1G disk image export mntpoint=${mntpoint:-/mnt} # Disk image mount point -export testuser=${testuser:-TBD} # Name of non root test user +export testuser=${testuser:-tests} # Name of non root test user export mdstart=${mdstart:-10} # Start of free md units export newfs_flags=${newfs_flags:-"-U"} # Default file system flags export stress2origin=${stress2origin:-`pwd`} From nobody Wed Dec 4 13:13:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3Hyn2cppz5fYlF; Wed, 04 Dec 2024 13:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3Hyn2138z4HZM; Wed, 4 Dec 2024 13:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733318017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fwo+BYhJe8ELrWjl0/JxCspJC0EN0ORYcgF5CZFlDPI=; b=eRVYo7hTAg67P8LXqn05DkCLALTkFayg281qN6DOfgFTfONlrs6L8clZGbj1UgT8o7ADDd f1IBEOKCxkOHcGr9kHSFC8TltFfswbFg5KVOimQr5wbMZcKzBAWDVzRWoRy+Xc2F245lYC JfOoLylUoRJ/JU/koIBdVX+sK8zkv6kldHinVC8vwUVbiJzS1tRibPmsQFyLyXzjIcA2Ah YThkqcrnX0dUmu6bcYCpdytnRrD6DBr8nCh5ajOlje7DXVWu5ntF2iBpg87QTAVmk7gIUm Jd1RMVJGmGZL6/6Y3bR93VFyMddKE0Q5D4OUBtgx8N/UyRWE1/5b7ZfNkpY5+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733318017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fwo+BYhJe8ELrWjl0/JxCspJC0EN0ORYcgF5CZFlDPI=; b=FX2npAOtyqzcXtun0cKdU12M67iD/7jcpg52eVRlAi6DGfD6j0HZcbZaFWMZ1UvI600p5W +PAAWOlUdPPAqmau8kxGTfhShMn/I5DOaAcZDfOrFjoidA64vG7xxGsuGWP8qis7FjrGCM XFuHE5nVwLx++eL7k8u1mjBSgd17TaT1EAB6J8R5TnmmVlrEM02QwonE5QL087pzyfyLRp sb4rYvkJYAbOOcR/Et04F0xXW0gflNYWzNYN0sHTHvNMy61/nIAfIlzX0qNIg5dcflo/zr 3ma/2OTghvCs/jWinvykraml5OXvus4VRP5gPULC+rbxCvfzHLyc1kLXaUv1BQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733318017; a=rsa-sha256; cv=none; b=oVfR6c2qAneQKDVW9b1bLTzhAHMLiv25/Wtg9f5th2F/ebaXzw+sLoWarVbCJpqOrCLB5J D4FDUKjGxRd8osJpRjP+DhmE1OY6rCbkR+rZ5p7fuIXQexpzgoBbAGtPNLBk5THc5oVoLH nVU5g0EJCKC9Uz1byMWX3odGZni+Epk4981lHqoI+FMW8X1A5uP4ElS7NUwDFBNCoxPUnE +1lX+5q3D8jYNHw3T6jVy1iV2i064XDe6eQrENzndBJdH7/j2oJ3jubM7VFgeXYlXUX6hS sOiJmZ5jojndB9sRUiFVwy4WebYO1xJYgX/5Fa9xeOE5CKhMbVtlwTFLxCzdyQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3Hyn1VGKz18Bf; Wed, 4 Dec 2024 13:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B4DDbaM079998; Wed, 4 Dec 2024 13:13:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4DDbl4079995; Wed, 4 Dec 2024 13:13:37 GMT (envelope-from git) Date: Wed, 4 Dec 2024 13:13:37 GMT Message-Id: <202412041313.4B4DDbl4079995@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 65d5e55e2413 - main - stress2: Fix expected output for tmpfs24. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65d5e55e24134c50704c31e87120e8878bbe3e3c Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=65d5e55e24134c50704c31e87120e8878bbe3e3c commit 65d5e55e24134c50704c31e87120e8878bbe3e3c Author: Dag-Erling Smørgrav AuthorDate: 2024-12-04 13:07:26 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-12-04 13:13:08 +0000 stress2: Fix expected output for tmpfs24. MFC after: 1 week Reviewed by: pho Differential Revision: https://reviews.freebsd.org/D47876 --- tools/test/stress2/misc/tmpfs24.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/test/stress2/misc/tmpfs24.sh b/tools/test/stress2/misc/tmpfs24.sh index 5e086269cd25..eb366cddc127 100755 --- a/tools/test/stress2/misc/tmpfs24.sh +++ b/tools/test/stress2/misc/tmpfs24.sh @@ -47,7 +47,6 @@ data #3 @ 8192, size=4096) hole #4 @ 12288, size=4096 data #5 @ 16384, size=4096) hole #6 @ 20480, size=524267520 -<> EXP set -eu From nobody Wed Dec 4 13:22:30 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3J954LTJz5fZ48; Wed, 04 Dec 2024 13:22:33 +0000 (UTC) (envelope-from pho@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 4Y3J953sT2z4JRM; Wed, 4 Dec 2024 13:22:33 +0000 (UTC) (envelope-from pho@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733318553; 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=fFjlWNhPvfsDeZrVSNTa74yl+BHJDQgNWvXIMB9QXLo=; b=FUMGEC8V8MGNHspy8zAsApRRtcBu5laMlbLkhi5FiSUXjjKkGxvyXerPlf2+AzlklmBJyq 38LuPfexDFTfvXyXKCkZVfZB9s3HZp+rwzTdmjNN9rPvKfUaFSOFfTh/jekKdDuzvwIFJb rYZ2xQaVOl2i7Yms1j4yzUnNO6iGw6/VjBUxX5tBR4LbD76qYnolCAVJnxX19fm20PvThZ ocUVzfjt7tgXksty7n/1Kughr5ZaJT2QqzpSLdTipkThWsFtJgmwyM6FX8AdvE1kZW/EZH zeKADi/6kXNXaVHhKp/QH/Iwf/bDTLVyj187/5WOJFw6e88nBD+otrvjoh4xOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733318553; 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=fFjlWNhPvfsDeZrVSNTa74yl+BHJDQgNWvXIMB9QXLo=; b=mfkYo9q5cWM0z9xF+J46PiriXb0GEZOc4ntiGeuUMVqgLTCbWRmzcXEA6uN2h1azZKX/m8 H494jx7vi2LvAsGH7RDjVN7onRY3h9mvHwxqrFDdIhf7TyxFc08oAVnrwkpwpyaApxPZeg OeBTD9T60Nfq/UXc4SVycvoIgCEebqPgcOwbVxUB0iAyoJrelJH9ratuSYiXyuEx8lj6yR Q22trR4TvH4snTCA1KdoYJHr5YKyV+b/O9mhsdFNGiAFjWC9e2c25nXq1V8vuyTAghKRcW iJ2rSQQT2KJzkWGYdDgcLxZbeifWF4JBCg5q3ViO2umnRI0tbXByedqJfip/lA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733318553; a=rsa-sha256; cv=none; b=rNsWOsmRwab+LSAr1/BWWlOx1O5FQ/SpVQspow/wbJ1B6gL6VUH687fIfwK4mAjOtaCh2k 9hiDLU6XBCba0qzwuQQAxlb1ZrP5H8P37Xq6tfi4N/QtuEfh7To3StQ9gK5EwaGp+jTUY2 wfxZEsCNs9wRI/qwl+a53TsINVRco8WPsnQ6A/4BlbjvJHSm+rViRDTCSjOHXsZ0p5723J GDIKzv1UNyErfy+GYCWG9AE3VKYcd7aRu1W5gtlAmyBNBLE3V5bIHXmdsj7QUmdZe/JG6N +B6/fQT6BA1Bhi6T8bAIP1kGAh0ECaDeXSiYFNrenDw1dWvy/5gwyGDLhV5zng== Received: from Peters-MacBook-Air.local (x5996a645.customers.hiper-net.dk [89.150.166.69]) (using TLSv1.3 with cipher TLS_AES_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: pho) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y3J946CKTz17dM; Wed, 4 Dec 2024 13:22:32 +0000 (UTC) (envelope-from pho@FreeBSD.org) Date: Wed, 4 Dec 2024 14:22:30 +0100 From: Peter Holm To: Dag-Erling Sm?rgrav Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 3ee87f8a4d7a - main - stress2: Use tests as the default test user. Message-ID: References: <202412041313.4B4DDapW079947@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <202412041313.4B4DDapW079947@gitrepo.freebsd.org> On Wed, Dec 04, 2024 at 01:13:36PM +0000, Dag-Erling Sm?rgrav wrote: > The branch main has been updated by des: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3ee87f8a4d7a56c846d356d028e77bd72a0e1fbb > > commit 3ee87f8a4d7a56c846d356d028e77bd72a0e1fbb > Author: Dag-Erling Smørgrav > AuthorDate: 2024-12-04 13:07:05 +0000 > Commit: Dag-Erling Smørgrav > CommitDate: 2024-12-04 13:12:43 +0000 > > stress2: Use tests as the default test user. > > This allows some tests to run without prior configuration; others will > have to be modified to use `su -m` since the tests account is locked. > > Reviewed by: allanjude > Differential Revision: https://reviews.freebsd.org/D47875 > --- > tools/test/stress2/default.cfg | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/test/stress2/default.cfg b/tools/test/stress2/default.cfg > index bff7f3f168a9..dbd1ca0bbc43 100644 > --- a/tools/test/stress2/default.cfg > +++ b/tools/test/stress2/default.cfg > @@ -56,7 +56,7 @@ testcases/tcp/tcp > > export diskimage=${diskimage:-/tmp/diskimage} # Location of 1G disk image > export mntpoint=${mntpoint:-/mnt} # Disk image mount point > -export testuser=${testuser:-TBD} # Name of non root test user > +export testuser=${testuser:-tests} # Name of non root test user > export mdstart=${mdstart:-10} # Start of free md units > export newfs_flags=${newfs_flags:-"-U"} # Default file system flags > export stress2origin=${stress2origin:-`pwd`} Please back this out. -Peter From nobody Wed Dec 4 13:22:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3J9762dQz5fZ2G; Wed, 04 Dec 2024 13:22:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3J975DqQz4JjD; Wed, 4 Dec 2024 13:22:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733318555; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3hw1fyKKP4tWorBQnWCMjsJ/wJpWSMyQKRgSfTeYMFU=; b=xiWL4rh+d8ctSJw/mG0X34BnAKl/7Y+AanZ9cwMd5bTGtfBuPrRen5YDRkEOH/RYGTRz2K /+iPoM1vWFfZbDP+fbklpikWm1sCRN61I1dp4fTAmD6LTEK8+aJJCKIPGIfe9zf56CoyFh w08UloRt1NvQFOfefybyofSZ2rgaIdbT9lAwUBNLU8+O1pSX9nRhbd9jilrqk9xS6zoS3I NymP3mwf0NfCEVIcTc6cDaIm3Vy5p6eVEt175Yv1Z8zWBjqQEUCXzS0Js/JeecsYZdgkRz CWFqsZl+lQgVtTEt0SqK9ExUk0eHIQ7t41Ln2jFyoz5rMezlajtjFVXcQI9VFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733318555; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3hw1fyKKP4tWorBQnWCMjsJ/wJpWSMyQKRgSfTeYMFU=; b=YlgvEKyiNbCkk0haK4BkuW85J96uFMHh8qwY8Isq4BIR3/AUryRqi4SlT3u5AKF2e2vGtH 37/bwhOgceBiQBt69WFMvSz5NCVhSGDp2AT1zNHlvoRfEBNz7LdRqRn00UwuEuik2Gdkdh opF2L407x5GM7bi9BX7ViStAfxVo9xuwxlCOeWDgKej/nVx1iq3ho4SIlKAx5SLaxEQYkz pm1jyT7oZPpXmAoqcC+W1xgaphIuK2ifoJtApNentO9374NFTERqsLzIT87a3k0j60kq7F MnsFvcKt3RHaDziPVdO/CvCDbiTZJdwCl3FZTaTNYiyPQCIH5JxL/ARXCevEIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733318555; a=rsa-sha256; cv=none; b=cBfUoWntN4pJrYWIbuBu3lqu/TK4Eu70UciNvcvZWt21ueOqVQhK9GruPLgZ8gXdEtAfEI Rf8g07CvVJd3WybT6gW3j/Pup0+Yi3tvYfvsITYopy/zdNE4s8u85BtCg8g5DxbiXkRLsv b6WSpFpvjBUiP3TuH0r4TVAWc8kMYIEkTX9zgVITo4+v4K+arT+qPF/CPXAG3Ol1MS6f7g JcSaATdSpXsTYCVJ1EpKLehcyZTGLJ/0m1ebM1kr/jr6L4ItCrCxhvzJA9cRi3Xjr/tBAe AJBmZHgtonY5zS/+YHCVQbHXX2ZD/4dS8V/aXh9wx/Tr1vgJl52USa6w3KuP0Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3J974kVlz18Tr; Wed, 4 Dec 2024 13:22: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 4B4DMZJX098312; Wed, 4 Dec 2024 13:22:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4DMZFI098309; Wed, 4 Dec 2024 13:22:35 GMT (envelope-from git) Date: Wed, 4 Dec 2024 13:22:35 GMT Message-Id: <202412041322.4B4DMZFI098309@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: f966ef3a6770 - main - pf: fold if (s != NULL) and if (s) into one block List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: f966ef3a677014bacec024ef3f75e185ff60c93a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f966ef3a677014bacec024ef3f75e185ff60c93a commit f966ef3a677014bacec024ef3f75e185ff60c93a Author: Kristof Provost AuthorDate: 2024-12-04 09:37:27 +0000 Commit: Kristof Provost CommitDate: 2024-12-04 13:22:21 +0000 pf: fold if (s != NULL) and if (s) into one block Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index f587fa3fb196..8d9d595dc1ec 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8033,10 +8033,9 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, s->kif = kif; s->orig_kif = oifp->if_pf_kif; } - } - if (s) PF_STATE_UNLOCK(s); + } if (ifp == NULL) { SDT_PROBE1(pf, ip6, route_to, drop, __LINE__); From nobody Wed Dec 4 14:12:03 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3KGC4nMkz5fdj4; Wed, 04 Dec 2024 14:12:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3KGC4Tbxz4NjM; Wed, 4 Dec 2024 14:12:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733321523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GKBLonmcWy/9xzADzR7u7G3h1aWbFkkN+ftFA+bicy8=; b=aM7TjAmitxSToFk9qJHPCA47VGYLBxVMax3/u5waCDJbi80UkWCmqK7iMT9G3KWMkAtRrY 9ffgN7TvFq+JwicAGXZulhpM5EJyh48dk0ixHIadx28JpL/ZtpCw0/AkM0J3X7gZ3iok8H ALEwsPSap/Q3uMU+wjO8KN34l1ZfdR65AchaCGFFaSEWLMVKq2Z7A8c1yYuo6UGPM1UU3W I/r7Zhryqdj47Yq3NT5lkJhnowfd6y3Pz5fVPMOzcybOgfs/cIA3aRKdpGMMgdqNILoElP Q7NLeN0Uo8pqbuJSXT9j0X9jKdGPfkHNmzZZqlXk2qcc6Pe6+Q8Qc7VsMtcjzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733321523; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GKBLonmcWy/9xzADzR7u7G3h1aWbFkkN+ftFA+bicy8=; b=kCxXOagr6PJDDU+bqrI4SUxYX41l/wD9dT3/NJFzX+4RASBsn5TF9HjTe01+igpcndTy2q FZNB0NKnfP2t5eyHgeobxTrm7BCcUepSud6ggiJ6GyfYlQ7uJXvWBJ2oDHumvMuUD8qU/v kT7v7wh3xLL1XvTRFOjR49tVpXwfeKPgP4GlfNGwgt41keLCL+qRIXLWKnC4q6d/kphcEU Rt+vc6UrEnVu8brURvp3cW/B4eiGjo9kg5pHNuKpaKJ7wagw/I3/aSkxK57xEnbbXfBn41 SVQoDaxPdGu1Q4j9j/MbsQ/k8Fxdw6tayk8B4qES6knHoB5p2Q2SkoEThKLv9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733321523; a=rsa-sha256; cv=none; b=RafvTmv0h35mszDB285ZT8q/Vig+BzwEI1siQygYMhfZze9db1pJ8pAfkdwoe5KF087GSI 6hznAK4S+eDC3BewjHXNbFEu/nY2aVIDQ04CWAl33mb6fjDVyQ3wxIZ8J4ZKlstKjoA6L+ xJzmSptNiOJKcKSXHJVlNTV0sWzy+CjpDHtLNiSllB4JcMYaQrOboIAgCJWYkVYlzqxEI0 kmf86phniZeemtm+TxGdHtxi4+LMKT22es0LEXFijhLQ8/NPgdMKt7nDFP3jSaMi1WqaHN BHXLEbp1/kAYrwXYsHwuEsy226UNNRHpPAkpATLZHYwtbKoPmkZP1zFaA9OdAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3KGC40bkz196q; Wed, 4 Dec 2024 14:12: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 4B4EC3Ig090128; Wed, 4 Dec 2024 14:12:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4EC33C090125; Wed, 4 Dec 2024 14:12:03 GMT (envelope-from git) Date: Wed, 4 Dec 2024 14:12:03 GMT Message-Id: <202412041412.4B4EC33C090125@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: 8277c7901793 - main - procctl.2: Editing pass List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8277c790179304159c2e4dcb1d99552518d5be8e Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8277c790179304159c2e4dcb1d99552518d5be8e commit 8277c790179304159c2e4dcb1d99552518d5be8e Author: John Baldwin AuthorDate: 2024-12-04 14:11:19 +0000 Commit: John Baldwin CommitDate: 2024-12-04 14:11:56 +0000 procctl.2: Editing pass - Add some missing .Pp macros after the end of literal blocks and some lists to ensure there is a blank line before the following text. - Use an indent of Ds for nested lists to reduce excessive indentation and make the bodies of the nested list items easier to read. - Various and sundry rewordings and clarifications. Reviewed by: kib, emaste Differential Revision: https://reviews.freebsd.org/D47782 --- lib/libsys/procctl.2 | 412 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 244 insertions(+), 168 deletions(-) diff --git a/lib/libsys/procctl.2 b/lib/libsys/procctl.2 index efb1812b284c..2d443a1ae4bd 100644 --- a/lib/libsys/procctl.2 +++ b/lib/libsys/procctl.2 @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd October 26, 2023 +.Dd December 4, 2024 .Dt PROCCTL 2 .Os .Sh NAME @@ -72,16 +72,16 @@ The control request to perform is specified by the argument. .Pp All status changing requests -.Dv *_CTL +.Pq Dv *_CTL require the caller to have the right to debug the target. All status query requests -.Dv *_STATUS +.Pq Dv *_STATUS require the caller to have the right to observe the target. .Pp The following commands are supported: .Bl -tag -width PROC_TRAPCAP_STATUS .It Dv PROC_ASLR_CTL -Controls the Address Space Layout Randomization (ASLR) in the program +Controls Address Space Layout Randomization (ASLR) in program images created by .Xr execve 2 @@ -89,28 +89,35 @@ in the specified process or its descendants that do not either change the control or modify it by other means. The .Fa data -parameter must point to the integer variable holding one of the following +parameter must point to an integer variable holding one of the following values: -.Bl -tag -width PROC_ASLR_FORCE_DISABLE +.Bl -tag -width Ds .It Dv PROC_ASLR_FORCE_ENABLE Request that ASLR is enabled after execution, even if it is disabled system-wide. -The image flag and set-uid might prevent ASLR enablement still. .It Dv PROC_ASLR_FORCE_DISABLE -Request that ASLR is disabled after execution. -Same notes as for -.Dv PROC_ASLR_FORCE_ENABLE -apply. +Request that ASLR is disabled after execution, even if it is enabled +system-wide. .It Dv PROC_ASLR_NOFORCE Use the system-wide configured policy for ASLR. .El +.Pp +Note that the +.Xr elfctl 1 +.Dq noaslr +flag takes precedence over this control. +Executing a binary with this flag set will never use ASLR. +Similarly, executing a set-user-ID or set-group-ID binary ignores this +control and only honors the +.Xr elfctl 1 +flag and system-wide policy. .It Dv PROC_ASLR_STATUS Returns the current status of ASLR enablement for the target process. The .Fa data -parameter must point to the integer variable, where one of the +parameter must point to an integer variable, where one of the following values is written: -.Bl -tag -width PROC_ASLR_FORCE_DISABLE +.Bl -tag -width Ds .It Dv PROC_ASLR_FORCE_ENABLE .It Dv PROC_ASLR_FORCE_DISABLE .It Dv PROC_ASLR_NOFORCE @@ -121,56 +128,79 @@ the .Dv PROC_ASLR_ACTIVE flag is or-ed with the value listed above. .It Dv PROC_PROTMAX_CTL -Controls implicit application of PROT_MAX protection equal to the -.Fa prot -argument of the +Controls the maximum protection used for .Xr mmap 2 -syscall, in the target process. +requests in the target process that do not specify +an explicit maximum protection in the +.Fa prot +argument via +.Dv PROT_MAX . +The maximum protection limits the permissions a mapping can be assigned by +.Xr mprotect 2 . +If an explicit maximum protection is not provided, +the maximum protection for a new mapping is set to either +.Dv PROT_READ | PROT_WRITE | PROT_EXEC +.Pq RWX +or the protection specified in +.Fa prot . +Mappings created with +.Fa prot +set to +.Dv PROT_NONE +always use RWX maximum protection. +.Pp The .Fa data -parameter must point to the integer variable holding one of the following +parameter must point to an integer variable holding one of the following values: -.Bl -tag -width PROC_PROTMAX_FORCE_DISABLE +.Bl -tag -width Ds .It Dv PROC_PROTMAX_FORCE_ENABLE -Enables implicit PROT_MAX application, -even if it is disabled system-wide by the sysctl +Use the permissions in +.Fa prot +as the implicit maximum protection, +even if RWX permissions are requested by the sysctl .Va vm.imply_prot_max . -The image flag might still prevent the enablement. .It Dv PROC_PROTMAX_FORCE_DISABLE -Request that implicit application of PROT_MAX be disabled. -Same notes as for -.Dv PROC_PROTMAX_FORCE_ENABLE -apply. +Use RWX as the implicit maximum protection, +even if constrained permissions are requested by the sysctl +.Va vm.imply_prot_max . .It Dv PROC_PROTMAX_NOFORCE -Use the system-wide configured policy for PROT_MAX. +Use the system-wide configured policy for the implicit PROT_MAX control. .El +.Pp +Note that the +.Xr elfctl 1 +.Dq noprotmax +flag takes precedence over this control. +Executing a binary with this flag set will always use RWX as the implicit +maximum protection. .It Dv PROC_PROTMAX_STATUS -Returns the current status of implicit PROT_MAX enablement for the +Returns the current status of the implicit PROT_MAX control for the target process. The .Fa data -parameter must point to the integer variable, where one of the +parameter must point to an integer variable, where one of the following values is written: -.Bl -tag -width PROC_PROTMAX_FORCE_DISABLE +.Bl -tag -width Ds .It Dv PROC_PROTMAX_FORCE_ENABLE .It Dv PROC_PROTMAX_FORCE_DISABLE .It Dv PROC_PROTMAX_NOFORCE .El .Pp -If the currently executed image in the process itself has implicit PROT_MAX -application enabled, the +If the currently executed image in the process itself has the implicit PROT_MAX +control enabled, the .Dv PROC_PROTMAX_ACTIVE flag is or-ed with the value listed above. .It Dv PROC_SPROTECT Set process protection state. This is used to mark a process as protected from being killed if the system -exhausts the available memory and swap. +exhausts available memory and swap. The .Fa data parameter must point to an integer containing an operation and zero or more optional flags. The following operations are supported: -.Bl -tag -width PPROT_CLEAR +.Bl -tag -width Ds .It Dv PPROT_SET Mark the selected processes as protected. .It Dv PPROT_CLEAR @@ -178,7 +208,7 @@ Clear the protected state of selected processes. .El .Pp The following optional flags are supported: -.Bl -tag -width PPROT_DESCEND +.Bl -tag -width Ds .It Dv PPROT_DESCEND Apply the requested operation to all child processes of each selected process in addition to each selected process. @@ -189,25 +219,41 @@ mark all future child processes of each selected process as protected. Future child processes will also mark all of their future child processes. .El .It Dv PROC_REAP_ACQUIRE -Acquires the reaper status for the current process. -Reaper status means that children orphaned by the reaper's descendants -that were forked after the acquisition of reaper status are reparented to the -reaper process. +Enable orphaned process reaping for future children of the current process. +.Pp +If a parent process exits before one or more of its children processes, +the remaining children processes are orphaned. +When an orphaned process exits, +it is reparented to a reaper process that is responsible for harvesting +the terminated process via +.Xr wait 2 . +When this control is enabled, +the current process becomes the reaper process for future children and their +descendants. +Existing child processes continue to use the reaper assigned when the child +was created via +.Xr fork 2 . +If a reaper process exits, +all of the processes for whom it was the reaper are reassigned to the reaper +process's reaper. +.Pp After system initialization, .Xr init 8 is the default reaper. .It Dv PROC_REAP_RELEASE -Release the reaper state for the current process. -The reaper of the current process becomes the new reaper of the -current process's descendants. +Disable orphaned process reaping for the current process. +.Pp +Any processes for whom the current process was the reaper are reassigned to +the current process's reaper. .It Dv PROC_REAP_STATUS -Provides information about the reaper of the specified process, -or the process itself when it is a reaper. +Provides a consistent snapshot of information about the reaper +of the specified process, +or the process itself if it is a reaper. The .Fa data argument must point to a .Vt procctl_reaper_status -structure which is filled in by the syscall on successful return. +structure which is filled in by the system call on successful return. .Bd -literal struct procctl_reaper_status { u_int rs_flags; @@ -217,16 +263,16 @@ struct procctl_reaper_status { pid_t rs_pid; }; .Ed +.Pp The .Fa rs_flags may have the following flags returned: -.Bl -tag -width REAPER_STATUS_REALINIT +.Bl -tag -width Ds .It Dv REAPER_STATUS_OWNED -The specified process has acquired reaper status and has not -released it. -When the flag is returned, the specified process +The specified process is a reaper. +When this flag is returned, the specified process .Fa id , -pid, identifies the reaper, otherwise the +pid, identifies a reaper, otherwise the .Fa rs_reaper field of the structure is set to the pid of the reaper for the specified process id. @@ -237,23 +283,25 @@ The specified process is the root of the reaper tree, i.e., .Pp The .Fa rs_children -field returns the number of children of the reaper among the descendants. +field returns the number of processes that can be reaped by the reaper that +are also children of the reaper. It is possible to have a child whose reaper is not the specified process, -since the reaper for any existing children is not reset on the -.Dv PROC_REAP_ACQUIRE -operation. +since the reaper for existing children is not changed by +.Dv PROC_REAP_ACQUIRE . The .Fa rs_descendants -field returns the total number of descendants of the reaper(s), -not counting descendants of the reaper in the subtree. +field returns the total number of processes that can be reaped by the reaper. The .Fa rs_reaper -field returns the reaper pid. +field returns the reaper's pid. The .Fa rs_pid -returns the pid of one reaper child if there are any descendants. +returns the pid of one reaper child if there are any processes that can be +reapead; +otherwise, it is set to \-1. .It Dv PROC_REAP_GETPIDS -Queries the list of descendants of the reaper of the specified process. +Queries the list of processes that can be reaped +by the reaper of the specified process. The request takes a pointer to a .Vt procctl_reaper_pids structure in the @@ -265,17 +313,15 @@ struct procctl_reaper_pids { struct procctl_reaper_pidinfo *rp_pids; }; .Ed +.Pp When called, the .Fa rp_pids field must point to an array of -.Vt procctl_reaper_pidinfo -structures, to be filled in on return, -and the .Fa rp_count -field must specify the size of the array, -into which no more than -.Fa rp_count -elements will be filled in by the kernel. +.Vt procctl_reaper_pidinfo +structures. +The kernel will populate these structures with information about the +reaper's descendants. .Pp The .Vt "struct procctl_reaper_pidinfo" @@ -290,17 +336,18 @@ struct procctl_reaper_pidinfo { u_int pi_flags; }; .Ed +.Pp The .Fa pi_pid field is the process id of the descendant. The .Fa pi_subtree -field provides the pid of the child of the reaper, which is the (grand-)parent -of the process. +field provides the pid of the direct child of the reaper which is +the (grand-)parent of the descendant process. The .Fa pi_flags field returns the following flags, further describing the descendant: -.Bl -tag -width REAPER_PIDINFO_EXITING +.Bl -tag -width Ds .It Dv REAPER_PIDINFO_VALID Set to indicate that the .Vt procctl_reaper_pidinfo @@ -314,7 +361,7 @@ of the returned array. .It Dv REAPER_PIDINFO_CHILD The .Fa pi_pid -field identifies the direct child of the reaper. +field identifies a direct child of the reaper. .It Dv REAPER_PIDINFO_REAPER The reported process is itself a reaper. The descendants of the subordinate reaper are not reported. @@ -341,6 +388,7 @@ struct procctl_reaper_kill { pid_t rk_fpid; }; .Ed +.Pp The .Fa rk_sig field specifies the signal to be delivered. @@ -350,7 +398,7 @@ The .Fa rk_flags field further directs the operation. It is or-ed from the following flags: -.Bl -tag -width REAPER_KILL_CHILDREN +.Bl -tag -width Ds .It Dv REAPER_KILL_CHILDREN Deliver the specified signal only to direct children of the reaper. .It Dv REAPER_KILL_SUBTREE @@ -359,6 +407,7 @@ the direct child with pid specified in the .Fa rk_subtree field. .El +.Pp If neither the .Dv REAPER_KILL_CHILDREN nor the @@ -376,22 +425,22 @@ field is set to the pid of the first process for which signal delivery failed, e.g., due to permission problems. If no such process exists, the .Fa rk_fpid -field is set to -1. +field is set to \-1. .It Dv PROC_TRACE_CTL Enable or disable tracing of the specified process(es), according to the value of the integer argument. -Tracing includes attachment to the process using the -.Xr ptrace 2 -and +Tracing includes inspecting the process via +.Xr ptrace 2 , .Xr ktrace 2 , debugging sysctls, .Xr hwpmc 4 , -.Xr dtrace 1 , -and core dumping. +or +.Xr dtrace 1 +as well as dumping core. Possible values for the .Fa data argument are: -.Bl -tag -width PROC_TRACE_CTL_DISABLE_EXEC +.Bl -tag -width Ds .It Dv PROC_TRACE_CTL_ENABLE Enable tracing, after it was disabled by .Dv PROC_TRACE_CTL_DISABLE . @@ -401,7 +450,7 @@ Disable tracing for the specified process. Tracing is re-enabled when the process changes the executing program with the .Xr execve 2 -syscall. +system call. A child inherits the trace settings from the parent on .Xr fork 2 . .It Dv PROC_TRACE_CTL_DISABLE_EXEC @@ -416,10 +465,10 @@ the integer variable pointed to by .Fa data . If tracing is disabled, .Fa data -is set to -1. +is set to \-1. If tracing is enabled, but no debugger is attached by the .Xr ptrace 2 -syscall, +system call, .Fa data is set to 0. If a debugger is attached, @@ -427,23 +476,24 @@ If a debugger is attached, is set to the pid of the debugger process. .It Dv PROC_TRAPCAP_CTL Controls the capability mode sandbox actions for the specified -sandboxed processes, -on a return from any syscall which gives either a +sandboxed processes +on a return from any system call which fails with either an .Er ENOTCAPABLE or .Er ECAPMODE error. -If the control is enabled, such errors from the syscalls cause -delivery of the synchronous +If this control is enabled and a system call fails with one of these errors, +a synchronous .Dv SIGTRAP -signal to the thread immediately before returning from the syscalls. +signal is delivered to the thread immediately before returning from the +system call. .Pp Possible values for the .Fa data argument are: -.Bl -tag -width PROC_TRAPCAP_CTL_DISABLE +.Bl -tag -width Ds .It Dv PROC_TRAPCAP_CTL_ENABLE -Enable the +Enable .Dv SIGTRAP signal delivery on capability mode access violations. The enabled mode is inherited by the children of the process, @@ -451,7 +501,9 @@ and is kept after .Xr fexecve 2 calls. .It Dv PROC_TRAPCAP_CTL_DISABLE -Disable the signal delivery on capability mode access violations. +Disable +.Dv SIGTRAP +signal delivery on capability mode access violations. Note that the global sysctl .Dv kern.trap_enotcap might still cause the signal to be delivered. @@ -463,7 +515,7 @@ On signal delivery, the .Va si_errno member of the .Fa siginfo -signal handler parameter is set to the syscall error value, +signal handler parameter is set to the system call error value, and the .Va si_code member is set to @@ -481,15 +533,18 @@ signal handler. .Pp See .Xr capsicum 4 -for more information about the capability mode. +for more information about capability mode. .It Dv PROC_TRAPCAP_STATUS -Return the current status of signalling capability mode access -violations for the specified process. +Return the current status of raising +.Dv SIGTRAP +for capability mode access violations by the specified process. The integer value pointed to by the .Fa data argument is set to the .Dv PROC_TRAPCAP_CTL_ENABLE -value if the process control enables signal delivery, and to +value if +.Dv SIGTRAP +delivery is enabled, and to .Dv PROC_TRAPCAP_CTL_DISABLE otherwise. .Pp @@ -528,39 +583,42 @@ must point to a memory location that can hold a value of type If signal delivery has not been requested, it will contain zero on return. .It Dv PROC_STACKGAP_CTL -Controls the stack gaps in the specified process. -A stack gap is the part of the growth area for a +Controls stack gaps in the specified process. +A stack gap is one or more virtual memory pages at the end of the +growth area for a .Dv MAP_STACK -mapped region that is reserved and never filled by memory. -Instead, the process is guaranteed to receive a +mapping that is reserved and never backed by memory. +Instead, the process is guaranteed to receive a synchronous .Dv SIGSEGV -signal on accessing pages in the gap. -Gaps protect against stack overflow corrupting memory adjacent -to the stack. +signal for each access to pages in the gap. +The number of pages reserved for each stack is set by the sysctl +.Va security.bsd.stack_guard_page . +.Pp +Gaps protect against stack overflows by preventing them from corrupting memory +adjacent to the stack. .Pp The .Fa data argument must point to an integer variable containing flags. The following flags are allowed: -.Bl -tag -width PROC_STACKGAP_DISABLE_EXEC +.Bl -tag -width Ds .It Dv PROC_STACKGAP_ENABLE This flag is only accepted for consistency with .Dv PROC_STACKGAP_STATUS . If stack gaps are enabled, the flag is ignored. -If disabled, the flag causes an -.Ev EINVAL -error to be returned. +If stack gaps are disabled, the request fails with +.Ev EINVAL . After gaps are disabled in a process, they can only be re-enabled when an .Xr execve 2 is performed. .It Dv PROC_STACKGAP_DISABLE Disable stack gaps for the process. -For existing stacks, the gap is no longer a reserved part of the growth -area and can be filled by memory on access. +For existing stacks, the gap is no longer reserved +and can be filled by memory on access. .It Dv PROC_STACKGAP_ENABLE_EXEC -Enable stack gaps for programs started after an +Enable stack gaps for the new address space constructed by any future .Xr execve 2 -by the specified process. +in the specified process. .It Dv PROC_STACKGAP_DISABLE_EXEC Inherit disabled stack gaps state after .Xr execve 2 . @@ -576,7 +634,7 @@ Returns the current stack gap state for the specified process. .Fa data must point to an integer variable, which is used to return a bitmask consisting of the following flags: -.Bl -tag -width PROC_STACKGAP_DISABLE_EXEC +.Bl -tag -width Ds .It Dv PROC_STACKGAP_ENABLE Stack gaps are enabled. .It Dv PROC_STACKGAP_DISABLE @@ -588,82 +646,99 @@ Stack gaps are enabled in the process after Stack gaps are disabled in the process after .Xr execve 2 . .El +.Pp +Note that the +.Xr elfctl 1 +.Dq nostackgap +flag takes precedence over this setting for individual process address spaces. +Executing a binary with this flag set will never use stack gaps in the address +space constructed by +.Xr execve 2 . +However, the controls value can still be inherited by child processes, and +executing a binary without this flag set will revert to the behavior specified +by the control. .It Dv PROC_NO_NEW_PRIVS_CTL -Allows one to ignore the SUID and SGID bits on the program +Allows one to ignore the set-user-ID and set-group-ID bits on the program images activated by .Xr execve 2 in the specified process and its future descendants. The .Fa data -parameter must point to the integer variable holding the following +parameter must point to an integer variable holding the following value: -.Bl -tag -width PROC_NO_NEW_PRIVS_ENABLE +.Bl -tag -width Ds .It Dv PROC_NO_NEW_PRIVS_ENABLE -Request SUID and SGID bits to be ignored. +Request set-user-ID and set-group-ID bits to be ignored. .El .Pp -It is not possible to disable it once it has been enabled. +It is not possible to disable this control once it has been enabled. .It Dv PROC_NO_NEW_PRIVS_STATUS -Returns the current status of SUID/SGID enablement for the target process. +Returns the current status of set-ID bits enablement for the target process. The .Fa data -parameter must point to the integer variable, where one of the +parameter must point to an integer variable, where one of the following values is written: -.Bl -tag -width PROC_NO_NEW_PRIVS_DISABLE +.Bl -tag -width Ds .It Dv PROC_NO_NEW_PRIVS_ENABLE .It Dv PROC_NO_NEW_PRIVS_DISABLE .El .It Dv PROC_WXMAP_CTL -Controls the 'write exclusive against execution' permissions for the -mappings in the process address space. -It overrides the global settings established by the -.Dv kern.elf{32/64}.allow_wx -sysctl, -and the corresponding bit in the ELF control note, see -.Xr elfctl 1 . -.Pp +Controls the creation of mappings with both write and execute permissions +in a process's address space. The .Fa data -parameter must point to the integer variable holding one of the +parameter must point to an integer variable holding one of the following values: -.Bl -tag -width PROC_WX_MAPPINGS_DISALLOW_EXEC +.Bl -tag -width Ds .It Dv PROC_WX_MAPPINGS_PERMIT Enable creation of mappings that have both write and execute -protection attributes, in the specified process' address space. +permissions in the specified process' current and future address spaces. .It Dv PROC_WX_MAPPINGS_DISALLOW_EXEC -In the new address space created by +In a new address space created by a future call to .Xr execve 2 , disallow creation of mappings that have both write and execute permissions. .El .Pp -Once creation of writeable and executable mappings is allowed, -it is impossible (and pointless) to disallow it. +If both flags are set, +.Dv PROC_WX_MAPPINGS_DISALLOW_EXEC +takes precedence during +.Xr execve 2 . +If neither flag is set, +mappings with write and execute permissions are only permitted if the +.Dv kern.elf{32/64}.allow_wx +sysctl is non-zero or the +.Xr elfctl 1 +.Dq wxneeded +flag is set in the ELF control note. +.Pp +Once creation of writeable and executable mappings is enabled for a process, +it is impossible (and pointless) to disable it. The only way to ensure the absence of such mappings after they -were enabled in a given process, is to set the +were enabled in a given process is to set the .Dv PROC_WX_MAPPINGS_DISALLOW_EXEC flag and .Xr execve 2 an image. .It Dv PROC_WXMAP_STATUS -Returns the current status of the 'write exclusive against execution' -enforcement for the specified process. +Returns the current status of the controls over creation of mappings with +both write and execute permissions for the specified process. The .Dv data -parameter must point to the integer variable, where one of the +parameter must point to an integer variable, where one of the following values is written: -.Bl -tag -width PROC_WX_MAPPINGS_DISALLOW_EXEC +.Bl -tag -width Ds .It Dv PROC_WX_MAPPINGS_PERMIT -Creation of simultaneously writable and executable mapping is permitted, -otherwise the process cannot create such mappings. +Creation of simultaneously writable and executable mappings are permitted; +otherwise, the process cannot create such mappings. .It Dv PROC_WX_MAPPINGS_DISALLOW_EXEC After .Xr execve 2 , -the new address space should disallow creation of simultaneously +the new address space will not permit creation of simultaneously writable and executable mappings. .El .Pp -Additionally, if the address space of the process disallows +Additionally, if the address space of the process does not permit creation of simultaneously writable and executable mappings and it is guaranteed that no such mapping was created since address space creation, the @@ -676,19 +751,18 @@ flag is set in the returned value. AMD64 only. Controls the Kernel Page Table Isolation (KPTI) option for the children of the specified process. -For the command to work, the +This control is only meaningful if KPTI has been enabled globally by the .Va vm.pmap.kpti -tunable must be enabled on boot. +tunable. It is not possible to change the KPTI setting for a running process, -except at the -.Xr execve 2 , -where the address space is reinitialized. +only for new address spaces constructed by a future +.Xr execve 2 . .Pp The .Fa data parameter must point to an integer variable containing one of the following commands: -.Bl -tag -width PROC_KPTI_CTL_DISABLE_ON_EXEC +.Bl -tag -width Ds .It Dv PROC_KPTI_CTL_ENABLE_ON_EXEC Enable KPTI after .Xr execve 2 . @@ -697,36 +771,36 @@ Disable KPTI after .Xr execve 2 . Only root or a process having the .Va PRIV_IO -privilege might use this option. +privilege can use this option. .El .It Dv PROC_KPTI_STATUS Returns the current KPTI status for the specified process. .Fa data -must point to the integer variable, which returns the -following statuses: -.Bl -tag -width PROC_KPTI_CTL_DISABLE_ON_EXEC +must point to an integer variable, where one of the +following values is written: +.Bl -tag -width Ds .It Dv PROC_KPTI_CTL_ENABLE_ON_EXEC .It Dv PROC_KPTI_CTL_DISABLE_ON_EXEC .El .Pp -The status is or-ed with the +The status is or-ed with .Va PROC_KPTI_STATUS_ACTIVE -in case KPTI is active for the current address space of the process. +if KPTI is active for the current address space of the process. .El .Sh NOTES Disabling tracing on a process should not be considered a security -feature, as it is bypassable both by the kernel and privileged processes, +feature, as it is bypassable both by the kernel and privileged processes and via other system mechanisms. As such, it should not be utilized to reliably protect cryptographic keying material or other confidential data. .Pp Note that processes can trivially bypass the 'no simultaneously writable and executable mappings' policy by first marking some mapping -as writeable and write code to it, then removing write and adding +as writeable, writing code to it, then removing write and adding execute permission. -This may be legitimately required by some programs, such as JIT compilers. +This may be legitimately required by some programs such as JIT compilers. .Sh RETURN VALUES -If an error occurs, a value of -1 is returned and +If an error occurs, a value of \-1 is returned and .Va errno is set to indicate the error. .Sh ERRORS @@ -786,22 +860,21 @@ An invalid or zero signal number was requested for a .Dv PROC_REAP_KILL request. .It Bq Er EINVAL -The +A .Dv PROC_REAP_RELEASE request was issued by the .Xr init 8 process. .It Bq Er EBUSY -The +A .Dv PROC_REAP_ACQUIRE -request was issued by a process that had already acquired reaper status -and has not yet released it. +request was issued by a process that is already a reaper process. .It Bq Er EBUSY -The +A .Dv PROC_TRACE_CTL -request was issued for a process already being traced. +request was issued for a process being traced. .It Bq Er EPERM -The +A .Dv PROC_TRACE_CTL request to re-enable tracing of the process .Po Dv PROC_TRACE_CTL_ENABLE Pc , @@ -809,7 +882,7 @@ or to disable persistence of .Dv PROC_TRACE_CTL_DISABLE on .Xr execve 2 -was issued for a non-current process. +specified a target process other than the calling process. .It Bq Er EINVAL The value of the integer .Fa data @@ -830,6 +903,7 @@ or invalid signal number. .El .Sh SEE ALSO .Xr dtrace 1 , +.Xr elfctl 1 , .Xr proccontrol 1 , .Xr protect 1 , .Xr cap_enter 2 , @@ -848,15 +922,17 @@ The function appeared in .Fx 9.3 . .Pp -The reaper facility is based on a similar feature of Linux and +The reaper facility is based on a similar feature in Linux and DragonflyBSD, and first appeared in .Fx 10.2 . .Pp The .Dv PROC_PDEATHSIG_CTL -facility is based on the prctl(PR_SET_PDEATHSIG, ...) feature of Linux, +facility is based on the +.Ql prctl(PR_SET_PDEATHSIG, ...) +feature in Linux, and first appeared in .Fx 11.2 . .Pp -The ASLR support was added to system for the checklists compliance in +ASLR support was added for checklist compliance in .Fx 13.0 . From nobody Wed Dec 4 15:32:52 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3M3V5170z5flMD; Wed, 04 Dec 2024 15:32:54 +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 4Y3M3V4T0mz4WWf; Wed, 4 Dec 2024 15:32:54 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733326374; 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=wSD+LmYI3ecsR/qWIA4zmkHGcyIbEJg9x9qMGMx5Hro=; b=hWUN+TCwBHQcgGJTc1wUs63W3dCpSMgC+qLfLXYs8scENj6EkJ9oHmiL80okoXq8z4bJS2 us2qbvRhhc1CkxKmU5QpMbRlwx5aS0t9tHJYkQ+E+L8EAxMa/z315Tu08BZG4fkOLM/6L4 4nbPc1BwhDDIlwVbwFlv4C6qKRTr8N3cV9G7fQ5ZFN1ILnMCEMWTwy/7S1czTD+MoZoy2s Iw+fmpUcV0W115HufNGEkPSvzVz43PTqVXcljZGZbBC5JFnOb3S7I/JaQoWmbVDk7Svo6D 6XI3wE15fhIcjz9qRC3XEZaRK0EGXn32EIqhJcE0HPa/ah1nSvon7ZbDlKdN+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733326374; 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=wSD+LmYI3ecsR/qWIA4zmkHGcyIbEJg9x9qMGMx5Hro=; b=FmgaowevuZ+uxhDxE8xTWcQbNxJlcBH+827CCkMg0LARE3Bb2AI4Xq0d7G6ETwR8LLLH0q cDnAqSMthPy5YsNFoS44jVwm0cjb0F2GgJx6a17BgVYC1tLWB287HzSFzyJpvB4mWSK9cN Xek+Pu/PWRLdyqigEQXhKVrhDVreQoItu6CUHudcj0Xl1218zUNcn82IFC653XjihBthuY rCCyfdSOnsbV3h999kCc/MQkGcojTJd9e2/5280iNmCGA3n111L1E37J0i9NM3QPekwNzb 28SHhAp1UcNAHG6xRRSmS5R1oJjU0b/zXJ9v8uj3DtGObTgjLZJQoA5oUEEY9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733326374; a=rsa-sha256; cv=none; b=WqCr+NRwEw7X7ayQlrG6US0eBAj58C+kOIm+jA5SVcsdj9mI/tgPk9m3fWTo0w9VGGY7Pd VFGayCMshSlHNLRLwWRNDcE3sAkkSM1319+WPCF8gpfeGMvcJN1kFqmR8MmDpCEiTd0PrJ VDwd3khTnHSjMshtyPIrtPfquQTHx7tJ6VwqfQd8+Mk20RO67DQy+k/mWuewsyTfsaBGDg p2Sp5JImHs5QKzYOxDtSufTWVAo0bWxr+OaaE4hl7UerxarjmOkTVjKpSKVY15tIP21E0e dH8xUnyyLUpaPzhj5uoKDTuyvyw9wBUFoFCMTS5mMsQnjWvrAAI0xTthkM1/pQ== Received: from ltc.des.dev (88-177-82-251.subs.proxad.net [88.177.82.251]) (using TLSv1.3 with cipher TLS_AES_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 4Y3M3V3RM1z19xf; Wed, 4 Dec 2024 15:32:54 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id 348D96052D; Wed, 04 Dec 2024 16:32:52 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Peter Holm Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 3ee87f8a4d7a - main - stress2: Use tests as the default test user. In-Reply-To: (Peter Holm's message of "Wed, 4 Dec 2024 14:22:30 +0100") References: <202412041313.4B4DDapW079947@gitrepo.freebsd.org> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Wed, 04 Dec 2024 16:32:52 +0100 Message-ID: <86ed2nea57.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 Peter Holm writes: > Dag-Erling Sm=C3=B8rgrav writes: >> The branch main has been updated by des: >>=20 >> URL: https://cgit.FreeBSD.org/src/commit/?id=3D3ee87f8a4d7a56c846d356d02= 8e77bd72a0e1fbb >>=20 >> commit 3ee87f8a4d7a56c846d356d028e77bd72a0e1fbb >> Author: Dag-Erling Sm=C3=B8rgrav >> AuthorDate: 2024-12-04 13:07:05 +0000 >> Commit: Dag-Erling Sm=C3=B8rgrav >> CommitDate: 2024-12-04 13:12:43 +0000 >>=20 >> stress2: Use tests as the default test user. >>=20=20=20=20=20 >> This allows some tests to run without prior configuration; others wi= ll >> have to be modified to use `su -m` since the tests account is locked. >>=20=20=20=20=20 >> Reviewed by: allanjude >> Differential Revision: https://reviews.freebsd.org/D47875 > Please back this out. No. You had your chance to object in Phabricator and didn't take it. This may not fully solve the problem but it's still an improvement over the current situation. Feel free to submit a review that fixes the remaining issues. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Wed Dec 4 15:57:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3Mbs0V6gz5fnPm; Wed, 04 Dec 2024 15:57:29 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com [IPv6:2607:f8b0:4864:20::82f]) (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 4Y3Mbr5n8mz4bjl; Wed, 4 Dec 2024 15:57:28 +0000 (UTC) (envelope-from markjdb@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qt1-x82f.google.com with SMTP id d75a77b69052e-466a079bc5eso55865641cf.3; Wed, 04 Dec 2024 07:57:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733327848; x=1733932648; darn=freebsd.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :from:to:cc:subject:date:message-id:reply-to; bh=dueKR+S7BL97whsNA3rzoBmnH6Xd4YGB0jkFpvo6ZPM=; b=XZ70WucImB5kDqX7Uf6csoKaMQgDpIeADoi7SMf2t5pz0qDlSOMIsG61VhoOImGvcZ AVCN+nfj//OxgUo3QwV3aW9RrmFQyi/clnJi4lDV4q7N35X1qUqq1GP+od2Exx/5AkTx aj1jiGU+GTIQG0kFZ/KDA+PB92+4Ct5/LFxUoHazQjz6GsDaSgB5K9xFstU+p+g/pjI8 Ft7pfHogRqcQSsHyBibvBwYUiKJCq1Fgj6+bCkyo2/7zFOYIAeUouF+NMXboR6AHXE+k 4MS0bAL9jvdnRcFMvyS9ECpM604tBQPienjLbxopeELkdNeSZ5nWKq2Qe6Q0qlSaNgyK 4qXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733327848; x=1733932648; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dueKR+S7BL97whsNA3rzoBmnH6Xd4YGB0jkFpvo6ZPM=; b=eJFLq7M6r5oLNlro6Jekx86Hj57TUvbWlIws2hHAfxSorjVK4xEKqLYmhZnZzGBFxh TsU34YtkGkoRUS5xT7v1me+2ueFTUgzmhYJ9pFt8EYC3ZPwwVqMGKYqavz1GSxLx7I2F Rueg4YM7FXfC3UKapQ/J+FoAhh4y8A94Gphvgj7A9PvTpAGeYtPh+kbLJXDkC7BFA7Md IHwJFAqBRlGm4OwYUk+57lEkxf93k2tF5yWVfcaZymd1QK+NDbOo+1qVq96+gckeVdym RYC1ieOkGv9WXnhLwxJRy/O2ajxyB2CCvt80q6W5cqxL2jAd2omNOVMxZjBeChK3/6+r ax5Q== X-Forwarded-Encrypted: i=1; AJvYcCUZdEZ+onFuRUxEsraG/aURXIUzswVGyE01vY4NBAAQBpluPZ+HmohulrnCQHKlJs9vUtZATXyLyW/X53heEP5dyGDM@freebsd.org, AJvYcCV9X4BwXaCRiCu8CNRCL4d+TSsc8gsceI7Pf3XUflvL9xp78do+lmd1W+N466osRVZtx5FJz4pLLB4xE60Vt+E=@freebsd.org, AJvYcCXkmP9oYs4bCPRvqTpwaIBlJlZMaS2/RzoyUom8y6lj1BVJiePAbeGzAJsckZUDQfhPQ/kk2NzEXFDLenq5SWkawOzKnAM=@freebsd.org X-Gm-Message-State: AOJu0YxCazReXdg4baohVCJ2c2uCmIr3qoZ6Kr1+OVswDU01jyS3EgAj DNHrcjS2LxoUmLOsl1tIdJQnOhvNSXm9yzHzy2YvM4k8kIIO1CiGPeL3bFjz X-Gm-Gg: ASbGncufUyDRGnR5NmXtYqksQZ3FSOcOVqYp0w2cRyHx8oOIGjeDFtdJTLxx3WXLkj9 EbaxuzC/2+NTPY03bUErDT5JIejrZcF/MTBwd/7aNJHCgOdNejip39d4d93uvfhUaKPZXKIBCzI lGoK/WK8Njrd8tWJjHIUCcHdfxGrNW+59Eo2RBn6c4DTFVe+zi9ysNaWp+2a2uHB8nJcyS3WjIQ E0sR7gM5Ksgi11exb1YGP+pTELiT/xnknpHe96ZU8m+5K6sfze5pH8Gc8ODKYPw X-Google-Smtp-Source: AGHT+IGUCuXDmqWE0D07yyptDnSnm+o5FD2KyjiM+NRWiN+rvV6kUVjLP0pqTouonJfOaWSvfWe4IA== X-Received: by 2002:a05:622a:11cb:b0:466:8a95:d1c9 with SMTP id d75a77b69052e-4670c3dbdfcmr105276551cf.47.1733327847766; Wed, 04 Dec 2024 07:57:27 -0800 (PST) Received: from nuc (192-0-220-237.cpe.teksavvy.com. [192.0.220.237]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4671dadb384sm7608281cf.59.2024.12.04.07.57.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Dec 2024 07:57:27 -0800 (PST) Date: Wed, 4 Dec 2024 10:57:24 -0500 From: Mark Johnston To: Dag-Erling =?iso-8859-1?Q?Sm=F8rgrav?= Cc: Peter Holm , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 3ee87f8a4d7a - main - stress2: Use tests as the default test user. Message-ID: References: <202412041313.4B4DDapW079947@gitrepo.freebsd.org> <86ed2nea57.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=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <86ed2nea57.fsf@ltc.des.dev> X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4Y3Mbr5n8mz4bjl X-Spamd-Bar: ---- On Wed, Dec 04, 2024 at 04:32:52PM +0100, Dag-Erling Smørgrav wrote: > Peter Holm writes: > > Dag-Erling Smørgrav writes: > >> The branch main has been updated by des: > >> > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3ee87f8a4d7a56c846d356d028e77bd72a0e1fbb > >> > >> commit 3ee87f8a4d7a56c846d356d028e77bd72a0e1fbb > >> Author: Dag-Erling Smørgrav > >> AuthorDate: 2024-12-04 13:07:05 +0000 > >> Commit: Dag-Erling Smørgrav > >> CommitDate: 2024-12-04 13:12:43 +0000 > >> > >> stress2: Use tests as the default test user. > >> > >> This allows some tests to run without prior configuration; others will > >> have to be modified to use `su -m` since the tests account is locked. > >> > >> Reviewed by: allanjude > >> Differential Revision: https://reviews.freebsd.org/D47875 > > Please back this out. > > No. Please revert shortly, or I will. > You had your chance to object in Phabricator and didn't take it. He said in the review that the change doesn't work for him. Peter is effectively the sole author of stress2 and has been running it continuously for many years. Look for "Reported by.*pho" in the commit logs. If he says it doesn't work, then that's an objection. > This may not fully solve the problem but it's still an improvement over > the current situation. Feel free to submit a review that fixes the > remaining issues. From nobody Wed Dec 4 16:00:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3MgT4kL2z5fnhX; Wed, 04 Dec 2024 16:00:37 +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 4Y3MgT46pLz4btL; Wed, 4 Dec 2024 16:00:37 +0000 (UTC) (envelope-from des@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733328037; 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=li9nrzaNtpZ7EFOfW5DmawZ8MptoBbEQDZargiCrQWE=; b=YiSMVZ9oCW/mh5DhClng2oVEXa2WA49LsuLtFk1UWSSteH7JqhuZBgCPyJRcXnt4E7GOd2 sAGWIjQGSnPBCxbnz4yTVK8LLNSQqchCnFh4Gg/PbATFR2C901Sw3sQpLPuGexCdOM7ru+ b6hMEyWdur+uTyMpi4UkdVfTFsTSfvzIz/v6AdKHPH7h7yh8HvN8324QaeCE+35TVOJcaV gqTanLBrlXmou4our/iersWmt++Ri/kFaSGilM0YaE+n6H81d5/VQwUZ/BbXIYPIMO3uCC c2CfciLiHRgsgzpb9LTWDFcy6StBvBoj+rBuyuSISju23M4T+qh/6wjFpqRy7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733328037; 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=li9nrzaNtpZ7EFOfW5DmawZ8MptoBbEQDZargiCrQWE=; b=G5WHe+z0U7KHSAWm5mkQHLiPE9iZBKnYf/QOQRpHciNgg44WR4l8wKUtEpm8Hzbn1scY6j C1+8mEtdR/GJLNhz117VnVVez/cFt3dgk+8TQGLlvnUga57RNLU56yB0yPGVKN+kfN3vi8 NyREU6Ew47ZuRu4WC015BxDF65dWqDmTD5pEIYNmoaC2pxabBjqy7YhitRLHgVECf72Xsl K/VFea/wDrYximThrNHrptcvHq+qbXCmV0QgEM2ERzpO2PjvNxT9h4+AA/KZekQM++St68 YbCjOS5CijTj0yRt7d0Sls7JuIyC+IjHxeclWHw9mzEYzCbWIkC7f8rKug7ynA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733328037; a=rsa-sha256; cv=none; b=DTMz4nlOBaGIpx5ahzvuYVGfED8EuTk71/zysFdXJUBZlZZH1xgknI6uKFn7kBdjhzOxQM 5iVYWdazZve/QEzIknMaWDoqqsBipFpEDCm+jaEwzMLBQUA5sPKQWpxuRcRJVoqdPq7WMc W3DEHjkTlCOkz2BWV8yIQZt/9JTIphbs7hd5ZhmDcQKp5qVJz8d4FtcammQW91aCpyLsSM +L12lTbRLF8DxKVse48v9q9CsnjSsz+QS9Vd7sGhoAUNsi21iT275RIXIiP9SkZRbWnUCe yYu0l0myhRdmnSeiOsoElNYeCagAooRCAi+4/sWEJ7oerKYZenZfURfIS4Hklw== Received: from ltc.des.dev (88-177-82-251.subs.proxad.net [88.177.82.251]) (using TLSv1.3 with cipher TLS_AES_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 4Y3MgT2lflz1BHc; Wed, 4 Dec 2024 16:00:37 +0000 (UTC) (envelope-from des@freebsd.org) Received: by ltc.des.dev (Postfix, from userid 1001) id C0351601AF; Wed, 04 Dec 2024 17:00:35 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Mark Johnston Cc: Peter Holm , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 3ee87f8a4d7a - main - stress2: Use tests as the default test user. In-Reply-To: (Mark Johnston's message of "Wed, 4 Dec 2024 10:57:24 -0500") References: <202412041313.4B4DDapW079947@gitrepo.freebsd.org> <86ed2nea57.fsf@ltc.des.dev> User-Agent: Gnus/5.13 (Gnus v5.13) Date: Wed, 04 Dec 2024 17:00:35 +0100 Message-ID: <861pyne8v0.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 Mark Johnston writes: > He said in the review that the change doesn't work for him. He said it was insufficient. That's not an argument for reverting it, that's an argument for completing the work. In the meantime, at least some cases that previously required manual intervention no longer do. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@FreeBSD.org From nobody Wed Dec 4 16:13:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3My51X6sz5fpSY; Wed, 04 Dec 2024 16:13:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3My50sGlz4dL5; Wed, 4 Dec 2024 16:13:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733328797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k71E/GptoQyItE69XnWRRj7QrhWc6Z0C39mJyNjoiz0=; b=JE1iU93136HL5Re7RACEDDLkAvdRZ2bqzepOnKrNBLqPEnapKm+wC9wfuAz7D8vi4aiXOa xfiGLiTadbbYKcox2hiCE/Jgir27PF81zMGNEgc8jt6HGNgSlWZywP1eoVblCS9ZGbNnq8 1BmTdxp0JNSUeRetzrg8vOZ/Dp++x1QYeaz7pS4wIufvMc/ZPOKSOpIB6D2CqOGxy81G0E gmLTkbxdiAXnkDchUdHhNGOMq7/3LvVtvBXD88ohn8cpg0kDn7Hsj4NL8W8uKm64Z4Go4/ aBybwcO82Yzv3auv8JztkRr6BctEOT4C2tgfUIZiPyPhM8orJNCgGZL2GDtqaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733328797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k71E/GptoQyItE69XnWRRj7QrhWc6Z0C39mJyNjoiz0=; b=R6RXyM3lxZpkucoTFF2ZLnfCQAicj+LOhHfPdCIIjKF7ny7Z3DaoSQa3gVZGHXQ8TilgHF +8+/2au6v0DXA3oXC7SDeN01xeYedq06tMW7JNY5b2YxnrsWJNNHHra4uCh7VA7LKBzpew K9Yn/q9j7hPuY5Zm4SVsIzjhd5VSUG+kAZbG9Mddqpb8e8PNNtwv/zCUoMj1k4vYX5YMV+ lgWlODR7fhwS17wK0Dp5oZmC6MkFtJrwTtsVcxazTwgYI2IiZa8T6QFV+Z6k7vo85pfFo5 /YZiBB9o0ypEfbVVCsovolOJz3/xSlmBpmizXcJD/wfwGQjRrU1GVydFq1sCDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733328797; a=rsa-sha256; cv=none; b=qxNGfMjLCjNfwAFFwKQI7cGfVZYPT6zk6tgIuqPHXSH8JX3L+bp0P0qH+/l4k6aDseeIJA OupMcdJ0CB62OxfUFSv+J8+jyhQCe1y7Xj4kNAkOWUGaxHWLHZkTrZmxfNg8DsY7zKsxIs A+D9zb3TzEljU5XrStAhob6Qc5nFlkYCSOzB1iOztrhCY4Ha7KRRX5niCLIhPRZrNhTP6r M8ZEpLAJzSWHjavd1hQo6IP3TXJ2ua/rQoKquv5eCsinaa0dlJI7ru4sjuiczJcSEZK1lM 7au7VWQ7jrxYwbqiJlK/vyRQZUca15ioV2acmL29gmzMHHewYKfsLSVG/Q1Udw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3My50SZVzFT0; Wed, 4 Dec 2024 16:13: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 4B4GDGKl016028; Wed, 4 Dec 2024 16:13:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4GDGq7016024; Wed, 4 Dec 2024 16:13:16 GMT (envelope-from git) Date: Wed, 4 Dec 2024 16:13:16 GMT Message-Id: <202412041613.4B4GDGq7016024@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling =?utf-8?Q?Sm=C3=B8rgrav?= Subject: git: 00fce6284aaa - main - Revert "stress2: Use tests as the default test user." List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 00fce6284aaa78c4fe69177b1924d227b7c563e9 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=00fce6284aaa78c4fe69177b1924d227b7c563e9 commit 00fce6284aaa78c4fe69177b1924d227b7c563e9 Author: Dag-Erling Smørgrav AuthorDate: 2024-12-04 16:13:05 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2024-12-04 16:13:05 +0000 Revert "stress2: Use tests as the default test user." This reverts commit 3ee87f8a4d7a56c846d356d028e77bd72a0e1fbb. --- tools/test/stress2/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/test/stress2/default.cfg b/tools/test/stress2/default.cfg index dbd1ca0bbc43..bff7f3f168a9 100644 --- a/tools/test/stress2/default.cfg +++ b/tools/test/stress2/default.cfg @@ -56,7 +56,7 @@ testcases/tcp/tcp export diskimage=${diskimage:-/tmp/diskimage} # Location of 1G disk image export mntpoint=${mntpoint:-/mnt} # Disk image mount point -export testuser=${testuser:-tests} # Name of non root test user +export testuser=${testuser:-TBD} # Name of non root test user export mdstart=${mdstart:-10} # Start of free md units export newfs_flags=${newfs_flags:-"-U"} # Default file system flags export stress2origin=${stress2origin:-`pwd`} From nobody Wed Dec 4 18:35:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3R5x1lFLz5g1M2; Wed, 04 Dec 2024 18:35:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3R5x1GXhz4vHt; Wed, 4 Dec 2024 18:35:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733337317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vWJKbNm5n5KDlgK6wPohhCp8F6hN0R3SsP+oZifwhn0=; b=dxPFjIvfvktkGAl6GaL5A+kBQ65YxXvsQB2TxGgagni1VesSnqsQG/qAyDGq9umEv9l09N SuDv9WYKx6lw3pqMeOuNTrBFFXM6s6CBaM3tB+diCGl/kPu3DSwWvOopM2zSWavfFwIoU3 D1hbGZNcfNKknovRcHNTtIIhq9+aTnnIdDhsBhwczeK0rYFaIyc5n2CvWSgzApiXHBshEJ UxRVFUo++BdKylgDncS0b1Cc5H5EsWcOZ6yeTBoffpZZIdjXTWg1s+NfzB0l9VcNHYCXzK BfvhwF7ift0maVjkMg5Ku/068FE5YtP2UwJYY1UDGaKAoTEDUBYT9pbM2CsuTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733337317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vWJKbNm5n5KDlgK6wPohhCp8F6hN0R3SsP+oZifwhn0=; b=p0k44W+WlkUEam1JGe9b4a4wDS8lbOpAKFu9v/BocfF0EI/alC0BQRrQFhb+yLbVgjN43F 1CQjQShBmFc0mWuj411S1mfzll7uJLu1VS9RIXEBtHJKbVzxkfRdqgLtYW1vnzyDEattYM adqSS/0HSHfN9JH9S+V7qB6E9TrktjNA0cwhAnJAZrieZgSaRFllB4BybH+DxNl9Y6/MT5 CoyoT1HMlUKSPjj7BG2L/4/P1TKXDAdYp65QqlRrsK+HP7gucU/LUc9AIAInlO7cHj9Q41 sjO6o0QbdnsN76bAGz1fe/O9hWV6Sm+FFHwEwFPwTdaYGnONyQ5I6I/XLPDorg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733337317; a=rsa-sha256; cv=none; b=tthTse6nI37xKg3gFWOneHNlQBGWJI0MI26i/Nf/ta0sJvPRhRDp7dZZ8hQCGUgrREuJrL WxR/Ky3vok8CNknbOvtHB0ldveVUm85s2RMlyMBYqXEdNHgYy9KKmISjyZAI0aXgrnp5Vs MrZBOY1cYU1yGZCbrh5DzsKw/SEkzBnNEOLQ1Fjbb4blA6lhaaX1jrFQ9e0tK7MYkSQUnL BTAgs8yMhaFioh9qR3GUHzqhTJHPwdoUqGW/tN3EtqVKUuxGASqys6rhD4F0zL2A2SOBhF YRwz1kl2LMlF2+1rpbA29TYvTK4qWSfyLBurj60zdsVJ46CVY5LirPG3VQFvfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3R5x0smLzJK0; Wed, 4 Dec 2024 18:35: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 4B4IZHYq077993; Wed, 4 Dec 2024 18:35:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4IZHbL077990; Wed, 4 Dec 2024 18:35:17 GMT (envelope-from git) Date: Wed, 4 Dec 2024 18:35:17 GMT Message-Id: <202412041835.4B4IZHbL077990@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: f3b7dbdad53b - main - shm: Handle swap pager allocation 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: f3b7dbdad53b31492757417fc1336ed74ec80fd8 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=f3b7dbdad53b31492757417fc1336ed74ec80fd8 commit f3b7dbdad53b31492757417fc1336ed74ec80fd8 Author: Mark Johnston AuthorDate: 2024-12-04 01:04:33 +0000 Commit: Mark Johnston CommitDate: 2024-12-04 16:22:50 +0000 shm: Handle swap pager allocation failures shm_alloc() can fail if swap reservation fails (i.e., vm.overcommit is non-zero) or racct is imposing some limits on swap usage. PR: 282994 MFC after: 2 weeks Reviewed by: olce, kib Differential Revision: https://reviews.freebsd.org/D47839 --- sys/kern/kern_umtx.c | 8 +++++- sys/kern/uipc_shm.c | 80 ++++++++++++++++++++++++++++++++-------------------- 2 files changed, 57 insertions(+), 31 deletions(-) diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c index b71fa9a6de24..c4a820f41bc3 100644 --- a/sys/kern/kern_umtx.c +++ b/sys/kern/kern_umtx.c @@ -4485,6 +4485,7 @@ static int umtx_shm_create_reg(struct thread *td, const struct umtx_key *key, struct umtx_shm_reg **res) { + struct shmfd *shm; struct umtx_shm_reg *reg, *reg1; struct ucred *cred; int error; @@ -4504,9 +4505,14 @@ umtx_shm_create_reg(struct thread *td, const struct umtx_key *key, cred = td->td_ucred; if (!chgumtxcnt(cred->cr_ruidinfo, 1, lim_cur(td, RLIMIT_UMTXP))) return (ENOMEM); + shm = shm_alloc(td->td_ucred, O_RDWR, false); + if (shm == NULL) { + chgumtxcnt(cred->cr_ruidinfo, -1, 0); + return (ENOMEM); + } reg = uma_zalloc(umtx_shm_reg_zone, M_WAITOK | M_ZERO); bcopy(key, ®->ushm_key, sizeof(*key)); - reg->ushm_obj = shm_alloc(td->td_ucred, O_RDWR, false); + reg->ushm_obj = shm; reg->ushm_cred = crhold(cred); error = shm_dotruncate(reg->ushm_obj, PAGE_SIZE); if (error != 0) { diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c index 074ca514c77d..026611a59593 100644 --- a/sys/kern/uipc_shm.c +++ b/sys/kern/uipc_shm.c @@ -939,22 +939,32 @@ shm_alloc(struct ucred *ucred, mode_t mode, bool largepage) struct shmfd *shmfd; vm_object_t obj; + if (largepage) { + obj = phys_pager_allocate(NULL, &shm_largepage_phys_ops, + NULL, 0, VM_PROT_DEFAULT, 0, ucred); + } else { + obj = vm_pager_allocate(shmfd_pager_type, NULL, 0, + VM_PROT_DEFAULT, 0, ucred); + } + if (obj == NULL) { + /* + * swap reservation limits can cause object allocation + * to fail. + */ + return (NULL); + } + shmfd = malloc(sizeof(*shmfd), M_SHMFD, M_WAITOK | M_ZERO); - shmfd->shm_size = 0; shmfd->shm_uid = ucred->cr_uid; shmfd->shm_gid = ucred->cr_gid; shmfd->shm_mode = mode; if (largepage) { - obj = phys_pager_allocate(NULL, &shm_largepage_phys_ops, - NULL, shmfd->shm_size, VM_PROT_DEFAULT, 0, ucred); obj->un_pager.phys.phys_priv = shmfd; shmfd->shm_lp_alloc_policy = SHM_LARGEPAGE_ALLOC_DEFAULT; } else { - obj = vm_pager_allocate(shmfd_pager_type, NULL, - shmfd->shm_size, VM_PROT_DEFAULT, 0, ucred); obj->un_pager.swp.swp_priv = shmfd; } - KASSERT(obj != NULL, ("shm_create: vm_pager_allocate")); + VM_OBJECT_WLOCK(obj); vm_object_set_flag(obj, OBJ_POSIXSHM); VM_OBJECT_WUNLOCK(obj); @@ -1211,8 +1221,8 @@ kern_shm_open2(struct thread *td, const char *userpath, int flags, mode_t mode, if (CAP_TRACING(td)) ktrcapfail(CAPFAIL_NAMEI, path); if (IN_CAPABILITY_MODE(td)) { - free(path, M_SHMFD); - return (ECAPMODE); + error = ECAPMODE; + goto outnofp; } #endif @@ -1232,20 +1242,21 @@ kern_shm_open2(struct thread *td, const char *userpath, int flags, mode_t mode, * in sys_shm_open() to keep this implementation compliant. */ error = falloc_caps(td, &fp, &fd, flags & O_CLOEXEC, fcaps); - if (error) { - free(path, M_SHMFD); - return (error); - } + if (error != 0) + goto outnofp; /* A SHM_ANON path pointer creates an anonymous object. */ if (userpath == SHM_ANON) { /* A read-only anonymous object is pointless. */ if ((flags & O_ACCMODE) == O_RDONLY) { - fdclose(td, fp, fd); - fdrop(fp, td); - return (EINVAL); + error = EINVAL; + goto out; } shmfd = shm_alloc(td->td_ucred, cmode, largepage); + if (shmfd == NULL) { + error = ENOMEM; + goto out; + } shmfd->shm_seals = initial_seals; shmfd->shm_flags = shmflags; } else { @@ -1262,17 +1273,26 @@ kern_shm_open2(struct thread *td, const char *userpath, int flags, mode_t mode, #endif shmfd = shm_alloc(td->td_ucred, cmode, largepage); - shmfd->shm_seals = initial_seals; - shmfd->shm_flags = shmflags; - shm_insert(path, fnv, shmfd); + if (shmfd == NULL) { + error = ENOMEM; + } else { + shmfd->shm_seals = + initial_seals; + shmfd->shm_flags = shmflags; + shm_insert(path, fnv, shmfd); + path = NULL; + } #ifdef MAC } #endif } else { - free(path, M_SHMFD); error = ENOENT; } } else { + /* + * Object already exists, obtain a new reference if + * requested and permitted. + */ rl_cookie = shm_rangelock_wlock(shmfd, 0, OFF_MAX); /* @@ -1285,12 +1305,6 @@ kern_shm_open2(struct thread *td, const char *userpath, int flags, mode_t mode, */ initial_seals &= ~shmfd->shm_seals; - /* - * Object already exists, obtain a new - * reference if requested and permitted. - */ - free(path, M_SHMFD); - /* * initial_seals can't set additional seals if we've * already been set F_SEAL_SEAL. If F_SEAL_SEAL is set, @@ -1349,19 +1363,25 @@ kern_shm_open2(struct thread *td, const char *userpath, int flags, mode_t mode, } sx_xunlock(&shm_dict_lock); - if (error) { - fdclose(td, fp, fd); - fdrop(fp, td); - return (error); - } + if (error != 0) + goto out; } finit(fp, FFLAGS(flags & O_ACCMODE), DTYPE_SHM, shmfd, &shm_ops); td->td_retval[0] = fd; fdrop(fp, td); + free(path, M_SHMFD); return (0); + +out: + fdclose(td, fp, fd); + fdrop(fp, td); +outnofp: + free(path, M_SHMFD); + + return (error); } /* System calls. */ From nobody Wed Dec 4 18:35:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3R5y4DD7z5g1Q6; Wed, 04 Dec 2024 18:35:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3R5y2GqTz4vMs; Wed, 4 Dec 2024 18:35:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733337318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c2oOHNoEml6FpqUigbeFzEAb/oaWHFJx1Iprjr35mUE=; b=GilmsELCEnNxtL3Mh9oMPMrE4pk5vLBbX1YxmzveivJayOMBI3iaRFKnOxW8EXGzJhI5SP d8qqUvt8Y6wkjKwKma7RLfrnbu6pmnwn+JnfP0p5l6ruqs7MBbBJjGd9oGE//AbaCfFbm3 XdzYlHFHInypa6lpBRxux43xuHAa3my0JGag5EnY5p7YfvDEMmtFABhWv0c0qG/jIP4f5g 8e7yNNlkUeEVPf1ATlSlAkAWiqlZvzoVxIQNbna/my0OMW/B1EOanQsujS9yhw7QjcqKki ce2+JgFBNZ/oq+qgQ3wfgh8wcnCsJIQcr2CFkJFwHFzKVZHkthdttQNKOugD2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733337318; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c2oOHNoEml6FpqUigbeFzEAb/oaWHFJx1Iprjr35mUE=; b=k2TYU0JCcbeMFS/qGJVrSncboPj9bAYQr2DeuXWSn2ZTUsMwXoErELb+93P5koeONfrY9G 2mWQkOXnQuwBxoD+H2xHjU2oRgHGiX+V6zw8nhcHYDWMlJ5D853XQ0MIBw1F2A2eupAXfd bUMINEItif4OUiiCa+9Fr137MSXfv7kwJLMs1yBYjfkrBf7dntmCZbVE34qUaFhBnmxh+g GkXkR55KKihnpyoZnyTy6G/CqgZWH4/c00PhYP5jMRJ4plo8BicEMyaU53AeW1HF2FszlG o7JU4Zb8Bc7k3bBVmQ2BG35xWZJTbZwN3qe8f3InHINIYxcAtzkAwsi4L+Zi9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733337318; a=rsa-sha256; cv=none; b=aWi3GnA2lWKD8EVWWLxiJWH26tMVeObOB+DBNQ9L6wg2K0TMHKsNNwaqUrdw59hCGbABEM AVhSWw9p7ES8pvuvswAF7LsqCxMI4/VfPrDeCv9Nl/Bjx0d0SZaUNUl5JpApuoSYeSUlAf Rj5ImKfgA4M63aLrSFEzNQ1bEl+FFCTQcRU2u0dSXo3kV/42gRmiCP3nLSkJMDlq3a0ShR 3E5iYa8g9VhoiLNjKV4JNt8b2Deng/pd/s2YBigO4lUEAdUlm6YwzuPQIJt/hD6nMygXly O+P0drrJV7n6WOr2kgHNhOQJFr5LagB+HWnP2i+RIF68X1xPL7JpiUyJPOAMFw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3R5y1v1RzJqv; Wed, 4 Dec 2024 18: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 4B4IZInq078070; Wed, 4 Dec 2024 18: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 4B4IZID3078067; Wed, 4 Dec 2024 18:35:18 GMT (envelope-from git) Date: Wed, 4 Dec 2024 18:35:18 GMT Message-Id: <202412041835.4B4IZID3078067@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: fbd3448614fb - main - sockstat: Ensure that there is always a space between columns List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: fbd3448614fbd7bd92e7d34c3bfd2592a07391e3 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=fbd3448614fbd7bd92e7d34c3bfd2592a07391e3 commit fbd3448614fbd7bd92e7d34c3bfd2592a07391e3 Author: Mark Johnston AuthorDate: 2024-12-04 01:12:39 +0000 Commit: Mark Johnston CommitDate: 2024-12-04 16:22:50 +0000 sockstat: Ensure that there is always a space between columns PR: 282978 Reviewed by: asomers MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47840 --- usr.bin/sockstat/sockstat.c | 56 ++++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/usr.bin/sockstat/sockstat.c b/usr.bin/sockstat/sockstat.c index b18c56ca6f88..3347978c8b47 100644 --- a/usr.bin/sockstat/sockstat.c +++ b/usr.bin/sockstat/sockstat.c @@ -1129,14 +1129,12 @@ displaysock(struct sock *s, int pos) switch (s->family) { case AF_INET: case AF_INET6: - if (laddr != NULL) { + if (laddr != NULL) pos += printaddr(&laddr->address); - if (s->family == AF_INET6 && pos >= 58) - pos += xprintf(" "); - } offset += opt_w ? 46 : 22; - while (pos < offset) + do pos += xprintf(" "); + while (pos < offset); if (faddr != NULL) pos += printaddr(&faddr->address); offset += opt_w ? 46 : 22; @@ -1208,8 +1206,9 @@ displaysock(struct sock *s, int pos) abort(); } if (opt_f) { - while (pos < offset) + do pos += xprintf(" "); + while (pos < offset); pos += xprintf("%d", s->fibnum); offset += 7; } @@ -1220,12 +1219,14 @@ displaysock(struct sock *s, int pos) sp = RB_FIND(socks_t, &socks, &(struct sock) { .socket = s->splice_socket }); if (sp != NULL) { - while (pos < offset) + do pos += xprintf(" "); + while (pos < offset); pos += printaddr(&sp->laddr->address); } else { - while (pos < offset) + do pos += xprintf(" "); + while (pos < offset); pos += xprintf("??"); offset += opt_w ? 46 : 22; } @@ -1235,8 +1236,9 @@ displaysock(struct sock *s, int pos) if (opt_i) { if (s->proto == IPPROTO_TCP || s->proto == IPPROTO_UDP) { - while (pos < offset) + do pos += xprintf(" "); + while (pos < offset); pos += xprintf("%" PRIu64, s->inp_gencnt); } offset += 9; @@ -1250,8 +1252,9 @@ displaysock(struct sock *s, int pos) (s->proto == IPPROTO_TCP && s->state != TCPS_CLOSED && s->state != TCPS_LISTEN))) { - while (pos < offset) + do pos += xprintf(" "); + while (pos < offset); pos += xprintf("%u", ntohs(faddr->encaps_port)); } @@ -1263,8 +1266,9 @@ displaysock(struct sock *s, int pos) s->state != SCTP_CLOSED && s->state != SCTP_BOUND && s->state != SCTP_LISTEN) { - while (pos < offset) + do pos += xprintf(" "); + while (pos < offset); pos += xprintf("%s", sctp_path_state(faddr->state)); } @@ -1274,8 +1278,9 @@ displaysock(struct sock *s, int pos) if (opt_s) { if (s->proto == IPPROTO_SCTP || s->proto == IPPROTO_TCP) { - while (pos < offset) + do pos += xprintf(" "); + while (pos < offset); switch (s->proto) { case IPPROTO_SCTP: pos += xprintf("%s", @@ -1295,8 +1300,9 @@ displaysock(struct sock *s, int pos) } if (opt_S) { if (s->proto == IPPROTO_TCP) { - while (pos < offset) + do pos += xprintf(" "); + while (pos < offset); pos += xprintf("%.*s", TCP_FUNCTION_NAME_LEN_MAX, s->stack); @@ -1305,8 +1311,9 @@ displaysock(struct sock *s, int pos) } if (opt_C) { if (s->proto == IPPROTO_TCP) { - while (pos < offset) + do pos += xprintf(" "); + while (pos < offset); xprintf("%.*s", TCP_CA_NAME_MAX, s->cc); } offset += TCP_CA_NAME_MAX + 1; @@ -1371,18 +1378,21 @@ display(void) pos = 0; if (opt_n || (pwd = cap_getpwuid(cappwd, xf->xf_uid)) == NULL) - pos += xprintf("%lu ", (u_long)xf->xf_uid); + pos += xprintf("%lu", (u_long)xf->xf_uid); else - pos += xprintf("%s ", pwd->pw_name); - while (pos < 9) + pos += xprintf("%s", pwd->pw_name); + do pos += xprintf(" "); + while (pos < 9); pos += xprintf("%.10s", getprocname(xf->xf_pid)); - while (pos < 20) + do pos += xprintf(" "); - pos += xprintf("%5lu ", (u_long)xf->xf_pid); - while (pos < 26) + while (pos < 20); + pos += xprintf("%5lu", (u_long)xf->xf_pid); + do pos += xprintf(" "); - pos += xprintf("%-3d ", xf->xf_fd); + while (pos < 26); + pos += xprintf("%-3d", xf->xf_fd); displaysock(s, pos); } } @@ -1391,7 +1401,7 @@ display(void) SLIST_FOREACH(s, &nosocks, socket_list) { if (!check_ports(s)) continue; - pos = xprintf("%-8s %-10s %-5s %-2s ", + pos = xprintf("%-8s %-10s %-5s %-3s", "?", "?", "?", "?"); displaysock(s, pos); } @@ -1400,7 +1410,7 @@ display(void) continue; if (!check_ports(s)) continue; - pos = xprintf("%-8s %-10s %-5s %-2s ", + pos = xprintf("%-8s %-10s %-5s %-3s", "?", "?", "?", "?"); displaysock(s, pos); } From nobody Wed Dec 4 18:35:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3R5z5XrTz5g1QB; Wed, 04 Dec 2024 18: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3R5z3JkCz4v8W; Wed, 4 Dec 2024 18: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=1733337319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cPZCayAA3NKNjrsTFhPD0g/fdaafuY0xnTeibgOK5lI=; b=DgXrGiV4HpEVpa883pZMbDw2qoAen9+Re0pT72n/pg20lJKW2MeV99mYQ4p+TXUmXRby/s A9clIsq6K0pyXTpIDC6f9EuLPSTNBpnZbXg47XPDDZ0LNkHgA6SxE2QvJmGbSpdCvtxHZK JzAExoVK+cOuQYzyyem6Xx4OnoHlYeSQw5bW9SNYomU6EGXipgmvMdlpxH7CozSYqOnE7C oZgGvf8+xGzkaHHUawGNemx27jorFDwzfJh1WeiFKNuFeVEibvKg9kzpLMBz8SDEk6XY0Q +VZGI/hMERI8M48rmfZJaWhchaTMXdZv8bkpy5W5PQaRwUqSS2drZOKtE9CoCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733337319; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cPZCayAA3NKNjrsTFhPD0g/fdaafuY0xnTeibgOK5lI=; b=V1HI25IJpyB+XuCuCc1H7yaPsrj5CA9qSEB99dfhQmC2PQhcmyvYrFwqKwA67XQeZFgDep lbItEie5a093nczHppGd5Iso0oYhrteVEStcvY39GJS7S+kImgfZyWVizyVfVnmxfwG8HL fkc6044GYZJJsjE8faIclLRGBn7xCTbSzsU9ZcFtNI0eiY5WrFT//UBXRpzj/r7MS5V9a5 MnqquXiJXf42mj/irRGq97aW3z1mAmnToaexHA0dJ7lH3/62QoC59LGBvmYzc5HemZsPGZ b9aC8NMYwxN17sJk+TiS/IESnv9lzJ5upB6MfzjKRU6RqATWqVog1Ync49V34A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733337319; a=rsa-sha256; cv=none; b=oEf5A+8C02jxQu/pq4YNJ9xJ7D2AT2bVhMldWzFMHNoRR/+jKL2CDIJ+W1mpR6udM5GFT9 y6KH1lbaDUr+6zszTW/ijSoJ6I/4v3lfsbc7uTmaqSsmd3P9R83RlMcdi0k21kpEKGRFDR 9pciSX3DfJ3LMl/qDV6ewFMHAZ0utpkObBb1GayPrsucablJ1wAzWJn+Cetasg0MGpCyUp A+w9VfTk7K5spP2mrGPRXoXngg3vr/4yYJGwvPLB82NMPVtBXewtv5r/uCfLh51PeSASxw +HMYDvotmiGa1BUlGf7sHzaFa69PqsHWFcnp3GLjT0qiAXH69gdmA3Es4Zaoww== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3R5z2wSSzJTt; Wed, 4 Dec 2024 18:35: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 4B4IZJQI078132; Wed, 4 Dec 2024 18:35:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4IZJWq078129; Wed, 4 Dec 2024 18:35:19 GMT (envelope-from git) Date: Wed, 4 Dec 2024 18:35:19 GMT Message-Id: <202412041835.4B4IZJWq078129@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: 3d642b0f71c5 - main - iflib: Set the NUMA domain in receive packet 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3d642b0f71c501dd9ee7aa0487788f619900d297 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=3d642b0f71c501dd9ee7aa0487788f619900d297 commit 3d642b0f71c501dd9ee7aa0487788f619900d297 Author: Mark Johnston AuthorDate: 2024-12-04 01:13:02 +0000 Commit: Mark Johnston CommitDate: 2024-12-04 16:22:50 +0000 iflib: Set the NUMA domain in receive packet headers Reading PR 273559 made me realize that commit 767723ddebe9 is incomplete. iflib should set the NUMA domain of received packets before passing them to protocol layers. PR: 273559 Reviewed by: zlei, kbowling, erj Fixes: 767723ddebe9 ("iflib: Use if_alloc_dev() to allocate the ifnet") MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47841 --- sys/net/iflib.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index 284d226a7ac6..6644197f7d5b 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -2880,6 +2880,9 @@ iflib_rxd_pkt_get(iflib_rxq_t rxq, if_rxd_info_t ri) m->m_flags |= ri->iri_flags; m->m_pkthdr.ether_vtag = ri->iri_vtag; m->m_pkthdr.flowid = ri->iri_flowid; +#ifdef NUMA + m->m_pkthdr.numa_domain = if_getnumadomain(ri->iri_ifp); +#endif M_HASHTYPE_SET(m, ri->iri_rsstype); m->m_pkthdr.csum_flags = ri->iri_csum_flags; m->m_pkthdr.csum_data = ri->iri_csum_data; From nobody Wed Dec 4 18:35:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3R604khNz5g1Gc; Wed, 04 Dec 2024 18:35:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3R6046NWz4vLH; Wed, 4 Dec 2024 18:35:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733337320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gHX6cz+MeknVyZ3pfXjfzdvr7lSBurUoqIdg8EqvL7E=; b=cdbUx/7kMwl73U35i4g/0ntyRP+rG6Lj5xi1KZFR/DIe47GHKyXq3K0HTt6Ht979TR91uf FGJ6uvMF17/yBVpm0GB289r6/MRguLpQ56KmZY6DN/hELaMWqckKhgI6oMPRbvfQHNxSvT NK4tTTWA0XSzlSQKyn3DhITRRp669QKXoNERSnr+R1RdPVfNR1aFFOG+4zvr0nHYqzowYx FHgmfSqLR4rBxqhzldfZ8QJzmQ8kXXulrAUnTwN/p4AHJ/a4CLJPCAJClHKqB/4yTGmJuz hXiau67BN855UQ5PCxHdetHpPa0+CC/j9AUA/+UziBPH/I8/c4VDlES3dik8rQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733337320; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gHX6cz+MeknVyZ3pfXjfzdvr7lSBurUoqIdg8EqvL7E=; b=KBeX1KwTxJEcCqVgBlPuiS2c/yce+owGpm0QcL13djY0YNFfmiWrbghBD0SXg8PxnTNDbm s7VJ4+4+KG+B5hSohhksAxRxAivgIQgaKrcYVRtD4CygS6G4L1OoM0jYO/zeHnI70cgtCo 6+qB6C1IbUjL6gZfCs/BkPOmph7hcABA8hzojStUyLunyraejjOc/7ONb2NeDzoE7+ms3x Utolv+YZvHR1wl1CgCnoom54Woaiom8WOX2/C+uDnqBYfgz5ACxJUoMk7n+uhgUEuR47Nd vlQQc4pmYR/h36aA94QM8cRokrwy1A+OT4KOyRPlBgkd0YgDpKf9XqgwC3CklA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733337320; a=rsa-sha256; cv=none; b=HsYfEU8EBZSraCK5TlhdSLCM/65hHQ4xUKZ149VJL52ZLTJ94YuaC6Fxc01r861p3CVQPT yHRap3q6WEUIphW7sC2ZJwN4MzAvFD3Heqifoc68XTGcchGPlyFxQCGFsCmc1aR1VYOvct UvggLJYTgkTyXINyrOPAGnNRMePCFKtnYmLtKExVB1lgXFV5US1LvpkDCq/QxRGiiJncjl +I02VQPHekYk/n3S418uICrcsogpN8PZwTky7HnF0OFsACt2T3P0u7qXlfWs6fV77pkc6b r/yccNeaxdDwtpJqiqceB/sYWbjn+3XyizeSeDxCDUzpq//lTHxnja2De3/yYQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3R603kdQzJK1; Wed, 4 Dec 2024 18:35: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 4B4IZKge078177; Wed, 4 Dec 2024 18:35:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4IZKV3078174; Wed, 4 Dec 2024 18:35:20 GMT (envelope-from git) Date: Wed, 4 Dec 2024 18:35:20 GMT Message-Id: <202412041835.4B4IZKV3078174@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: 0dab21248bc9 - main - pfkey: Fix some checks in kdebug_sadb() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 0dab21248bc9fab09e92b0c037303c921ebb1b8d Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0dab21248bc9fab09e92b0c037303c921ebb1b8d commit 0dab21248bc9fab09e92b0c037303c921ebb1b8d Author: Tobias Heider AuthorDate: 2024-12-04 01:13:41 +0000 Commit: Mark Johnston CommitDate: 2024-12-04 16:22:50 +0000 pfkey: Fix some checks in kdebug_sadb() Besides not doing any sufficient check that the length of a parsed message is not bigger than the actual allocated buffer, kdebug_sadb() incorrectly compares ext->sadb_ext_len, the extension payload size in 8 byte chunks, with tlen, which is the full message payload size in bytes. This should compare PFKEY_UNUNIT64(ext->sadb_ext_len) with tlen instead. PR: 277456 MFC after: 2 weeks --- sys/netipsec/key_debug.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/netipsec/key_debug.c b/sys/netipsec/key_debug.c index ead5fe80115b..69310baeb4c5 100644 --- a/sys/netipsec/key_debug.c +++ b/sys/netipsec/key_debug.c @@ -191,11 +191,12 @@ kdebug_sadb(struct sadb_msg *base) ext->sadb_ext_len, ext->sadb_ext_type, kdebug_sadb_exttype(ext->sadb_ext_type)); - if (ext->sadb_ext_len == 0) { + extlen = PFKEY_UNUNIT64(ext->sadb_ext_len); + if (extlen == 0) { printf("%s: invalid ext_len=0 was passed.\n", __func__); return; } - if (ext->sadb_ext_len > tlen) { + if (extlen > tlen) { printf("%s: ext_len too big (%u > %u).\n", __func__, ext->sadb_ext_len, tlen); return; @@ -262,7 +263,6 @@ kdebug_sadb(struct sadb_msg *base) return; } - extlen = PFKEY_UNUNIT64(ext->sadb_ext_len); tlen -= extlen; ext = (struct sadb_ext *)((caddr_t)ext + extlen); } From nobody Wed Dec 4 19:48:40 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3Skf1R7gz5g6Kw; Wed, 04 Dec 2024 19:48:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3Skf0yFNz46fC; Wed, 4 Dec 2024 19:48:42 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733341722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IMUu4Y7gxdiLHvGAZZiBYRQC5aw3xEneJ92wBw+aqlM=; b=p0C2K+65uhv6m3UzYbjWU23UnaOGBQQGtq14pNWBQCQX2LVzWzJaY4vLY4aZ1jlJobfx+3 kJXePYTyoMlovUxoL9098EVjKpA61qqaoa2oEEt9fUaliG4tWvqsIlyOp6zDzhO5y1qZ9w xKrfAV+W2rE9oo2MyKwV+4uldAgSPd/PwO/44cgwIlU0dHWxH+74dhOt2mz0l/M6Y02OsF EBJSwCRDPjJETd13qei5ItDYcPBiI29WLDRCRMzvEO76xgLeKZNva/PLAGcXndQ56yVYPc uM9MUUabWKUM9cQhmaP1X+noE+EMtJ8N4klyn/5H6IkYWjlZl12qPJmf6pBKOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733341722; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=IMUu4Y7gxdiLHvGAZZiBYRQC5aw3xEneJ92wBw+aqlM=; b=vA3QUCxrLQXGWXY+EZqCgRJW43hQc4hsnVtE1QqPhIse+EhDt+mT9A5IP9HXiYgzq+rRRR 8YXZG5VwP814aUsIndXqsdOga9P2J2lwPnY7vcbHLXa3cW8YFktti1vA0sLYyHA4hRsHse c3t8numqMRMLtSOOKCPYsPN3AEZakdGB6ezeRO+jpq96J8lLlCAy7T01z+kyvbfYfNp8su VXDO8GPLb694hEXBS3P56uh1wWthxiju5EbQ2WHNvfcGofIqiPxjM339SdXZ6xAw2emBYA il7sXJWF33MxXxi7nLVfcy5sERmYWmhw3heeq19/7p4zX2rU7/+3QUs7lJt+rQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733341722; a=rsa-sha256; cv=none; b=xMv2b13ViJEtdyfxM2lt4SZbLVEEGf4Nq8wbAgx9iD4m79b6jugXWeEBWcuouwsu0eCexU tqc3bvNU3uKKIGS+2U72xIuCZwjCkbcSKf3iEWrVSp3d0VoagHgn8cbS7NJ7AU+csLgb0q z4f1aZlGOJEzrAqJZml8MRl9p9rRIh4BE81L9oa9J2gLL5Io81ZYzJn05q8LvO7ah+c59U Oj8xMFaecFz5lPGFmnCWUFqPhl2DtyvEVMYnhx5ibO2BjLAiyMLhMNlzRLIXALiP3oQYZl uhVzAes5HHovmBh57CpBHn/2ImomK+5EIo12y1BZHZKPpJWotYIOEI1ttmlMAQ== Received: from [IPV6:2601:5c0:4200:b830:55aa:44a2:b2d4:55e2] (unknown [IPv6:2601:5c0:4200:b830:55aa:44a2:b2d4:55e2]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y3Skd6JRyz1G7F; Wed, 4 Dec 2024 19:48:41 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: <343e4be1-6f01-4080-981c-32bf309bacb2@FreeBSD.org> Date: Wed, 4 Dec 2024 14:48:40 -0500 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: f6efccaa35fe - main - IfAPI: Remove temporary inclusion of if_private.h To: Justin Hibbits , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202411131929.4ADJTcCe033652@gitrepo.freebsd.org> Content-Language: en-US From: John Baldwin In-Reply-To: <202411131929.4ADJTcCe033652@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/13/24 14:29, Justin Hibbits wrote: > The branch main has been updated by jhibbits: > > URL: https://cgit.FreeBSD.org/src/commit/?id=f6efccaa35fe07f5659dd5d84769f56453f12169 > > commit f6efccaa35fe07f5659dd5d84769f56453f12169 > Author: Justin Hibbits > AuthorDate: 2024-11-08 19:42:19 +0000 > Commit: Justin Hibbits > CommitDate: 2024-11-13 19:31:20 +0000 > > IfAPI: Remove temporary inclusion of if_private.h > > Summary: > The kernel is now fully migrated to the IfAPI, so remove the temporary > inclusion of the private structure definition. > > Reviewed By: #network, melifaro > Differential Revision: https://reviews.freebsd.org/D39621 This has broken many kmods in ports. Are you planning to fix those? So far I count emulators/parallels-tools net/aoe net/aquantia-atlantic-kmod net/intel-iavf-kmod net/intel-ice-kmod net/intel-igb-kmod net/intel-ix-kmod net/intel-ixl-kmod net/ndproxy net/vether-kmod -- John Baldwin From nobody Wed Dec 4 20:24:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3TXX2BRZz5g8SC; Wed, 04 Dec 2024 20:25:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3TXX1MKzz4Dt3; Wed, 4 Dec 2024 20:25:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733343900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6hznm8XfL2tKySx/FpMLz14cvZ2kvvKmjhO9nJlGLKc=; b=cQty9ua0zYGRTNWzFwFv6wGJwo62fdr0tfFyqOCLyXm3IJRCFWXzfFZtE7hGhaS80fSXSz YCOQPVLFjNA8K6KsInoVP75gRuII599srZrY60EFDybYvCSlZGBpWL4RXK29a1d/4/1COT 7oy7+o96MAAPjyvAMDADO5wFHO3jvCl43dM4+jeEHK+LWddfoXpk1qOf5C+znTYandGad+ NMdeCYpS7C3Ve1zUaJZIYqd2x013dmfdbvwotipqax6MJ0s8DBChSSogDuqcd99FieEc/y j15f0cHHPdsYMqlAJnidhD4Y5bWkZR0g5xrM7N+3n29NfI9VKwEcBU+NSlTdsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733343900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6hznm8XfL2tKySx/FpMLz14cvZ2kvvKmjhO9nJlGLKc=; b=HMHXnvGtu2FeBCVQWb7EQZ+nvq1NM1lWghX8T1JcrZUr1TqkWjrEKIFMxrpdfw42sY3J0E CPO1JMfejfRJbCBDtOWTMLYjHRVr3xkZ0MHmrPco61Srbi605UW4G6lVoJdMXxPSWNqAgd WbKTpGjPo2XH2RVhjl0SnV9utpxPr71dqb88DYLb3++7ucDK2G0XxdLcGxsysszdAphVzI /6f+oArzXaRKIciiEwKfpujZycKnSqv/ZB7DcPUuxkvOQQzOpt/RHTFHOMFvvCqyyxU74I uSoiCZBoRDuVPd5BtYsDCLrDOVfgwVYzZ7K4ZTfvFu/oxyOg9mKPRfOcQRicdw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733343900; a=rsa-sha256; cv=none; b=DSNmrz6+KqXDK7tOSmpIyD40q4JXfnDTuo7wzgVL9le0RplGuGjGuhCU8DXQ3shOYJacaq LmF3csftHHoYmNv5IxOLjDeNZ6k/L+48FRwrjpGq8RrLPtsQu06P+FD7UQ4uj5G0e9Qyhc XCQvLfRAnV9KpirV5EMJPEuk1EY/iViFysMe4HMe7WjfIK33Tkrix6RVgQYoKyaub5BN40 W9y29ZW3jukxQMDBcKPd4Kmors4/idEBQ4cnKPxFlEXppgWZZHHAMNf6KwaqxAXC0pLcHE Y4YKlblAGKkST13sR1/ompBZL5ifHBFQiy/9hdW8L+vpZn1GMW1s9t3YoSTsiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3TXW4Vd5zMws; Wed, 4 Dec 2024 20:24: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 4B4KOxUq083528; Wed, 4 Dec 2024 20:24:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4KOxu0083525; Wed, 4 Dec 2024 20:24:59 GMT (envelope-from git) Date: Wed, 4 Dec 2024 20:24:59 GMT Message-Id: <202412042024.4B4KOxu0083525@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: 63446fd35421 - main - tcp_hpts: use boolean to tell is it callout or userret context List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 63446fd354212f03cdc2a12314fc57e6225c2351 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=63446fd354212f03cdc2a12314fc57e6225c2351 commit 63446fd354212f03cdc2a12314fc57e6225c2351 Author: Gleb Smirnoff AuthorDate: 2024-12-04 20:14:44 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-04 20:14:44 +0000 tcp_hpts: use boolean to tell is it callout or userret context No functional change. --- sys/netinet/tcp_hpts.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/sys/netinet/tcp_hpts.c b/sys/netinet/tcp_hpts.c index 85341cab0750..7d897d30392c 100644 --- a/sys/netinet/tcp_hpts.c +++ b/sys/netinet/tcp_hpts.c @@ -239,7 +239,7 @@ static int tcp_bind_threads = 2; static int tcp_use_irq_cpu = 0; static int hpts_does_tp_logging = 0; -static int32_t tcp_hptsi(struct tcp_hpts_entry *hpts, int from_callout); +static int32_t tcp_hptsi(struct tcp_hpts_entry *hpts, bool from_callout); static void tcp_hpts_thread(void *ctx); int32_t tcp_min_hptsi_time = DEFAULT_MIN_SLEEP; @@ -430,7 +430,7 @@ hpts_random_cpu(void) static void tcp_hpts_log(struct tcp_hpts_entry *hpts, struct tcpcb *tp, struct timeval *tv, - int slots_to_run, int idx, int from_callout) + int slots_to_run, int idx, bool from_callout) { union tcp_log_stackspecific log; /* @@ -1075,7 +1075,7 @@ tcp_hpts_set_max_sleep(struct tcp_hpts_entry *hpts, int wrap_loop_cnt) } static int32_t -tcp_hptsi(struct tcp_hpts_entry *hpts, int from_callout) +tcp_hptsi(struct tcp_hpts_entry *hpts, bool from_callout) { struct tcpcb *tp; struct timeval tv; @@ -1350,7 +1350,8 @@ again: CURVNET_SET(inp->inp_vnet); /* Lets do any logging that we might want to */ if (hpts_does_tp_logging && tcp_bblogging_on(tp)) { - tcp_hpts_log(hpts, tp, &tv, slots_to_run, i, from_callout); + tcp_hpts_log(hpts, tp, &tv, slots_to_run, i, + from_callout); } if (tp->t_fb_ptr != NULL) { @@ -1414,7 +1415,7 @@ no_one: */ hpts->p_prev_slot = hpts->p_cur_slot; hpts->p_lasttick = hpts->p_curtick; - if ((from_callout == 0) || (loop_cnt > max_pacer_loops)) { + if (!from_callout || (loop_cnt > max_pacer_loops)) { /* * Something is serious slow we have * looped through processing the wheel @@ -1462,11 +1463,11 @@ no_run: * multiple times so the slots may not align either. */ KASSERT(((hpts->p_prev_slot == hpts->p_cur_slot) || - (wrap_loop_cnt >= 2) || (from_callout == 0)), + (wrap_loop_cnt >= 2) || !from_callout), ("H:%p p_prev_slot:%u not equal to p_cur_slot:%u", hpts, hpts->p_prev_slot, hpts->p_cur_slot)); KASSERT(((hpts->p_lasttick == hpts->p_curtick) - || (wrap_loop_cnt >= 2) || (from_callout == 0)), + || (wrap_loop_cnt >= 2) || !from_callout), ("H:%p p_lasttick:%u not equal to p_curtick:%u", hpts, hpts->p_lasttick, hpts->p_curtick)); if (from_callout && (hpts->p_lasttick != hpts->p_curtick)) { @@ -1476,7 +1477,7 @@ no_run: goto again; } - if (from_callout){ + if (from_callout) { tcp_hpts_set_max_sleep(hpts, wrap_loop_cnt); } if (seen_endpoint) @@ -1566,7 +1567,7 @@ __tcp_run_hpts(void) hpts->syscall_cnt++; counter_u64_add(hpts_direct_call, 1); hpts->p_hpts_active = 1; - ticks_ran = tcp_hptsi(hpts, 0); + ticks_ran = tcp_hptsi(hpts, false); /* We may want to adjust the sleep values here */ if (hpts->p_on_queue_cnt >= conn_cnt_thresh) { if (ticks_ran > ticks_indicate_less_sleep) { @@ -1682,7 +1683,7 @@ tcp_hpts_thread(void *ctx) } hpts->sleeping = 0; hpts->p_hpts_active = 1; - ticks_ran = tcp_hptsi(hpts, 1); + ticks_ran = tcp_hptsi(hpts, true); tv.tv_sec = 0; tv.tv_usec = hpts->p_hpts_sleep_time * HPTS_TICKS_PER_SLOT; if ((hpts->p_on_queue_cnt > conn_cnt_thresh) && (hpts->hit_callout_thresh == 0)) { From nobody Wed Dec 4 20:25:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3TXY0X8bz5g8Vs; Wed, 04 Dec 2024 20:25:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3TXX5z7mz4DnZ; Wed, 4 Dec 2024 20:25:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733343900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gjrKD/gu7xKO8w0nE9C6YQb9G8sRE160iP4B3e2NjIU=; b=Yjg3ZUV/J+9MYCMljvDo6CLweSgrVzg0V1HV1jjGAkMh1oHttKTiOMSTFwdcKVvmW2gQqT R1LUDxmvVobyFpm3SWHqL+YDvH2ClFnLaZA4hrn06GPrgFIR7HLzV2GOd8oMXJ/0UIn8iF 7VUX4kHHadMa6QTt1F1SRhdzdWQ/143/vLuRz7lnciKxJuht6R2xju1Yq8ouS9KXfQ7rCI IQnrDjwdKitg8f3Uw/Men+SMbnzcD7ssplxSM1tM0Mpyf/TzpzI8CZwWOO+itZMcomctfe VOfT4LABT6Orcp/CmgY31agT3W7ldpnwJn3QMzXz4c4azv/Vi7avIoUjsu15Hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733343900; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gjrKD/gu7xKO8w0nE9C6YQb9G8sRE160iP4B3e2NjIU=; b=cr/ij2u+BwsTu24gkj/5mAkSFqxUtuvPKd2woGV9HeVlPUZq2qecJi27Gz8Sbkc93gPWVU 5PoOKIRIIgSMaRuJU7AC6t0UQaFf9aQnCdiZh+5Z9aLsCVqezHD1UTnV/wy2Vs+RBqeWJD 4TlfPuGBP1j83oyhIlu9xTXDcsxIhfS4d0J5S+4/CXRDIDiSPRVgYdQ6TV+m3/t+0qwNv5 Y17eoa2KQwVG2VvBtDm4lXJ9gnzrRskhYNYqk7hnb/e/x0AGDtxhidr8Zi5u8fqbKvYUKR mtO6vcLMCpbP/eHCphuQYFIaMD3lWsgxR5k7Z/lwLVWaq5oPfaz5t8e04QiHpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733343900; a=rsa-sha256; cv=none; b=EKum6oKEdcBrJLBngXVe/ebSkPZygzrlY7Qd2RYTefAQBwvWsHAN0a14scD4BWWqCc3ned L21hMWRYT5C/pBnsnGEyI9wlRtveSx5QpvvHgKHmJpHmMugzWIsW/FMsMzL8McyGaAKW5O 23oGZZfzfCNSjfXBMxg/06JdSG1YiIucfal20kSuPGYXbrtbQyJD64oVilpfuNb183vCBH jiVkqddx9ES5+z7/OKV+6JNplRPoONzk/ZsD99h5ZDm7TrBJ8akkJei1N+hBWYuoql5r7h CzQuvGYCUmRiFXNJNkOwJ8VWQ4oV/EaW8zofcBvNYYK4YyKJSgPS90LOWDZfvg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3TXX5P9TzMqC; Wed, 4 Dec 2024 20:25: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 4B4KP0UR083592; Wed, 4 Dec 2024 20:25:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4KP0OB083589; Wed, 4 Dec 2024 20:25:00 GMT (envelope-from git) Date: Wed, 4 Dec 2024 20:25:00 GMT Message-Id: <202412042025.4B4KP0OB083589@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: 5cb73dbe4820 - main - tcp_hpts: use booleans for tcp_hptsi() local variables List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5cb73dbe48204210d4e2c08a1e15641678612c8a Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=5cb73dbe48204210d4e2c08a1e15641678612c8a commit 5cb73dbe48204210d4e2c08a1e15641678612c8a Author: Gleb Smirnoff AuthorDate: 2024-12-04 20:15:46 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-04 20:15:46 +0000 tcp_hpts: use booleans for tcp_hptsi() local variables No functional change. --- sys/netinet/tcp_hpts.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/sys/netinet/tcp_hpts.c b/sys/netinet/tcp_hpts.c index 7d897d30392c..d5dea1c98a94 100644 --- a/sys/netinet/tcp_hpts.c +++ b/sys/netinet/tcp_hpts.c @@ -1086,7 +1086,10 @@ tcp_hptsi(struct tcp_hpts_entry *hpts, bool from_callout) int32_t wrap_loop_cnt = 0; int32_t slot_pos_of_endpoint = 0; int32_t orig_exit_slot; - int8_t completed_measure = 0, seen_endpoint = 0; + bool completed_measure, seen_endpoint; + + completed_measure = false; + seen_endpoint = false; HPTS_MTX_ASSERT(hpts); NET_EPOCH_ASSERT(); @@ -1251,11 +1254,11 @@ again: } /* For debugging */ - if (seen_endpoint == 0) { - seen_endpoint = 1; + if (!seen_endpoint) { + seen_endpoint = true; orig_exit_slot = slot_pos_of_endpoint = runningslot; - } else if (completed_measure == 0) { + } else if (!completed_measure) { /* Record the new position */ orig_exit_slot = runningslot; } @@ -1398,7 +1401,7 @@ again: * is where we calculated the end of our cycle to * be when we first entered. */ - completed_measure = 1; + completed_measure = true; } HPTS_LOCK(hpts); hpts->p_runningslot++; @@ -1436,7 +1439,7 @@ no_one: } hpts->p_curtick = tcp_gethptstick(&tv); hpts->p_cur_slot = tick_to_wheel(hpts->p_curtick); - if (seen_endpoint == 0) { + if (!seen_endpoint) { /* We saw no endpoint but we may be looping */ orig_exit_slot = hpts->p_cur_slot; } From nobody Wed Dec 4 20:25:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3TXZ1vJRz5g8mr; Wed, 04 Dec 2024 20:25:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3TXY6wVpz4DkM; Wed, 4 Dec 2024 20:25:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733343902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d2a34kEN+Vjz+5EhwZ4TailkNeYyWHygJW26wKWNC7A=; b=Olqh6JA0O95lRwQQR6hcFY+ogl8W7fEMYt/y1hWrQhn5oTvJOCsnR2uPloYu5w2y1wRbRf 0ORyebL01Rv8XJLSRM2MS0fK59yHxb6ungIi1kS72BTAiKA0e8oL8ULNI2PkbnHoXL6Pm5 3lKLPD2dGGIoylVHV2MdqLGzR7ZaMZ5ChIggvyYdIRXhF/a89wI2wbaryxX+gfVEKAEvLQ IMxIRHt8sV3r3BU8W5As25x3FryUPz6ZtTBwi05odeHe3JkbMdewX6qz4lZOk0ZREySs7l XgXHAHlYxEUY+m6gYevzvqHFGVyM/IK/LLMt32Vapdbec0f9jWvC+J4JXhXbvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733343902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=d2a34kEN+Vjz+5EhwZ4TailkNeYyWHygJW26wKWNC7A=; b=ZlCZ311qh/CQsYE+BPywEXs3t8t+fcuAPWONYSeeBuZQlIpTgQxw3L6EYrkNztl9uPtCxT DFW7RBo1uc6nZyPXovD9C4i8jPw9WxQc/vKcWSpx7Zg+65fbVVkqKXIYv5LPntTxDIU6Cv oERBhK4S1UVCvK1svY0GnDmGM9DRjXrvbK5p0TMnsr6enfNAJWbSzMpAmBtVzGQ/1qgCF5 u3HXmfSaMqDxQJ7wHaYAJ1HDoM1qNBOoxQ6rKVjEctWmIdXTN5SAUbHU5/69CWDAHzI3zW +D3owoVlIvowdNV+Sddi05FAoiXjJ7Rl4yNVqDNJDTkY7uiRGy6slBIBeWKAxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733343902; a=rsa-sha256; cv=none; b=oTz4d7vo/Ez3Y6nttrySn/47mJ2F2jyg3gbVXD1Zcmzrx9kiAgjYswAmH5UbSmVAdOYJS8 0j0+5Clq50chhcF/djBZrW2RWxE0KRASw9EbAf8MF+U4PZ1Yglb2nt5TWOgPgfG4df45/U ENEbP+QIjzSJ7bRtemtt1z6CaMzLaRc6VLikZy4z0avkJ2FhiXHKAj+FxNRIZ3QPTJYlWn /wNgmdkP8FPXH8YGHPfWR/42Ck86FuqofWUyJ08bD+4GqzjEO7j21sTkPGHDiq4KtLpy0/ RmrULoZisx84RfTIhSx9hBc4jBn30wsk7geBTEhW4YTuERJxofZ2eYxBpMJz0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3TXY6LkzzMds; Wed, 4 Dec 2024 20:25: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 4B4KP1eh083643; Wed, 4 Dec 2024 20:25:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4KP1GW083640; Wed, 4 Dec 2024 20:25:01 GMT (envelope-from git) Date: Wed, 4 Dec 2024 20:25:01 GMT Message-Id: <202412042025.4B4KP1GW083640@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: b2bde8a6d391 - main - tcp_hpts: consistenly use macros to lock & unlock List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: b2bde8a6d391f31d3eef8d07f9dba2e311a5295d Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=b2bde8a6d391f31d3eef8d07f9dba2e311a5295d commit b2bde8a6d391f31d3eef8d07f9dba2e311a5295d Author: Gleb Smirnoff AuthorDate: 2024-12-04 20:16:42 +0000 Commit: Gleb Smirnoff CommitDate: 2024-12-04 20:16:42 +0000 tcp_hpts: consistenly use macros to lock & unlock The macros version of lock/unlock has already been used 23 times in this file and the bare version was used 6 times only, so prefer the former. No functional change. --- sys/netinet/tcp_hpts.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/netinet/tcp_hpts.c b/sys/netinet/tcp_hpts.c index d5dea1c98a94..0c7338eb222b 100644 --- a/sys/netinet/tcp_hpts.c +++ b/sys/netinet/tcp_hpts.c @@ -173,6 +173,7 @@ /* Each hpts has its own p_mtx which is used for locking */ #define HPTS_MTX_ASSERT(hpts) mtx_assert(&(hpts)->p_mtx, MA_OWNED) #define HPTS_LOCK(hpts) mtx_lock(&(hpts)->p_mtx) +#define HPTS_TRYLOCK(hpts) mtx_trylock(&(hpts)->p_mtx) #define HPTS_UNLOCK(hpts) mtx_unlock(&(hpts)->p_mtx) struct tcp_hpts_entry { /* Cache line 0x00 */ @@ -1503,7 +1504,7 @@ __tcp_set_hpts(struct tcpcb *tp, int32_t line) if (failed == 0) tp->t_flags2 |= TF2_HPTS_CPU_SET; } - mtx_unlock(&hpts->p_mtx); + HPTS_UNLOCK(hpts); } static struct tcp_hpts_entry * @@ -1560,7 +1561,7 @@ __tcp_run_hpts(void) /* Already active */ return; } - if (mtx_trylock(&hpts->p_mtx) == 0) { + if (!HPTS_TRYLOCK(hpts)) { /* Someone else got the lock */ return; } @@ -1615,8 +1616,7 @@ __tcp_run_hpts(void) } hpts->p_hpts_active = 0; out_with_mtx: - HPTS_MTX_ASSERT(hpts); - mtx_unlock(&hpts->p_mtx); + HPTS_UNLOCK(hpts); NET_EPOCH_EXIT(et); } @@ -1630,7 +1630,7 @@ tcp_hpts_thread(void *ctx) int ticks_ran; hpts = (struct tcp_hpts_entry *)ctx; - mtx_lock(&hpts->p_mtx); + HPTS_LOCK(hpts); if (hpts->p_direct_wake) { /* Signaled by input or output with low occupancy count. */ callout_stop(&hpts->co); @@ -1640,7 +1640,7 @@ tcp_hpts_thread(void *ctx) counter_u64_add(hpts_wake_timeout, 1); if (callout_pending(&hpts->co) || !callout_active(&hpts->co)) { - mtx_unlock(&hpts->p_mtx); + HPTS_UNLOCK(hpts); return; } } @@ -1769,7 +1769,7 @@ back_to_sleep: hpts_timeout_swi, hpts, hpts->p_cpu, (C_DIRECT_EXEC | C_PREL(tcp_hpts_precision))); NET_EPOCH_EXIT(et); - mtx_unlock(&hpts->p_mtx); + HPTS_UNLOCK(hpts); } #undef timersub From nobody Wed Dec 4 21:44:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3WHk0CZ2z5gFP5; Wed, 04 Dec 2024 21:44:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3WHj6sTYz4NXv; Wed, 4 Dec 2024 21:44:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733348642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g1cgK6zI5I+UJzpvOUpXXqgwf73Lisz2ntbT+SvOro4=; b=UTEM1GLLPZnUdx46YL/q4DhKwPWKdmcOJNlr3JPZImAIl4HniiMEsVD3gglh7C8m/FFeR0 ei84CKNleZiX24aVaMyBCxzWYk2vD+RszpSSwJKf4fUEVjmktpycnnFcnBw/nTlvQ2HowX s3lm7xZp1dH9HLjM0uTDHWgVRA/Zr+dM2e0LxFfbqFBrSi/NWGzyUZKOuiXLX/QiMUvHF1 JOe5zZD9yDmS+LNJwXRcqEKU5+e4kOuXwwRhwE6wagqeijLbBmiMu9K97OEhzMWhDUGl8n NtjBMcOfV5Gl4NrN2q6QNTCsx6hOIMdWxig1cICDOvAzUGOCGpRaxPGXYMfunw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733348642; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g1cgK6zI5I+UJzpvOUpXXqgwf73Lisz2ntbT+SvOro4=; b=Syrv2F2EsqRszTSmQwxgU+lzW7KfMXkQpDQcuiE4ZDn+yFIOYO/JD+6m+9+irLL3C51cmj SAmBQb11vg8/lKk3KhfP/JOj2jNXN1JJYQqmuo4mw9nfOA+pZBPUgHyBvPLddp/Zh/kqeG J69/oGvA8JQkBoaPLoElwZL7lCqrgUie3ZoqniBdEWmZ9D+HLmycEv59vHzKStZ4WAamWk Q84ltNu8zr8Zk9aR3Jt9O3JpaECzhviokKaebY/4NDc+SRx43tH3JqgCwNI2dQPLygqGrC E0Pf1Ak74uQW2l9R/HnlUEbXO158/d7Hsd56bU+C7oIuC6mKe1mRIjHkF00aNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733348642; a=rsa-sha256; cv=none; b=s7OWupb35qqNsSrMSlWAniTD+/k7Q+C7Yd/5wOk+1nLeEGJ6eUzvGcqVuJ9aOuVBPbEbhg Tszm6olkiKo3jID+U7wOg5+nl0CaivBAa91aPgeeKGmON4IAFQbZIAPeL9f+h3l7Cb++uL DE/yJ04h7GNamJsXNTCjf0vROQBXKT9EJFACD7dU9IQn96qBIZrFTSEUNbgd/+n8qOvXfi xAuae1KrxUdoraOE/cP+SIfWX+SyMzOOa8btD1NH4JDbL5xrqThjMY5F/KxiMB0Yw+vSdl yGRaD8I1OwOZD73rLidLDOg8ojxoT0Rl1POMdFtmGZLTXVT+tE5jqE8TDfBc/g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3WHj6Sq8zPmD; Wed, 4 Dec 2024 21:44: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 4B4Li1l6031928; Wed, 4 Dec 2024 21:44:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B4Li12R031925; Wed, 4 Dec 2024 21:44:01 GMT (envelope-from git) Date: Wed, 4 Dec 2024 21:44:01 GMT Message-Id: <202412042144.4B4Li12R031925@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: ebfb117e2e04 - main - style(9): deprecate blank lines without local vars List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ebfb117e2e04ea71b88e4285cbb1b54d9cc5248c Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=ebfb117e2e04ea71b88e4285cbb1b54d9cc5248c commit ebfb117e2e04ea71b88e4285cbb1b54d9cc5248c Author: Brooks Davis AuthorDate: 2024-12-04 21:43:02 +0000 Commit: Brooks Davis CommitDate: 2024-12-04 21:43:31 +0000 style(9): deprecate blank lines without local vars Previously (208be1617cda) such lines were made optional and several of us had the impression that they were more completely deprecated. Do that now. Requiring a blank line at the top of a function if there are no local declerations dates to the original style.9 commit (b030a30523649) and was present in the first version of admin/style/style from mckusick@ in 1991. It's certainly consistant to have a blank line after a null-set of variables, but today it's unique to BSD source code and an occational point of friction to new developers. Document the historic practice and encourage removal in the context of other changes, but not sweeping removal commits for their own sake. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D47887 --- share/man/man9/style.9 | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/share/man/man9/style.9 b/share/man/man9/style.9 index 9bf30370a374..04ee6fcdc0dd 100644 --- a/share/man/man9/style.9 +++ b/share/man/man9/style.9 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 2, 2024 +.Dd December 3, 2024 .Dt STYLE 9 .Os .Sh NAME @@ -818,19 +818,15 @@ vaf(const char *fmt, ...) static void usage(void) { - /* Optional blank line goes here. */ .Ed .Pp -Optionally, insert a blank line at the beginning of functions with no local -variables. +Functions should have local variable declarations first, followed by one +blank line, followed by the first statement. +If no local variables are declared, the first line should be a statment. Older versions of this .Nm -document required the blank line convention, so it is widely used in existing -code. -.Pp -Do not insert a blank line at the beginning of functions with local variables. -Instead, these should have local variable declarations first, followed by one -blank line, followed by the first statement. +document required a blank line before code. +Such lines should be removed when signficant changes are made to the code. .Pp Use .Xr printf 3 , From nobody Wed Dec 4 22:49:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3Xlr5gZtz5gKYx; Wed, 04 Dec 2024 22:50:00 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3Xlr4q63z4TJ6; Wed, 4 Dec 2024 22:50:00 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733352600; 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=JFIoeS0kBnqUAbIEJjCI0J/f3rThklAp7N8OijGEJfE=; b=aG+9Aa/ccA4bxl0TjRhtZcZt+y6Tj0iAh/iNijLYnkNEyMRJQ7nTJ2mr3D8kk+dj+Dlqp7 gSzC2eh+XWRS1CrOjJFqzYDr8xaIEOfe+A3GT3ZS7SsF02WPbAwUoMmb3N2cl1QDO8OSKd vqjYji5Lhk5o/khHZgzwDF3Yj7jH5QfGilFu1outAGOvrkmvrLLjMHF+5cu1uJSm/QDwwe BH0iFxjlBahGx3jp+d/NnKUSPwI9vav1YU5tA0NLZ/gxw1p0P9+CxiTPDkVwhekF6U4+EC p5h9h8HFNcFjpZ5wpuzN5Q9isXOUNGjVPTRf6aBCO25Cpx2srYKTUdqG8eh2Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733352600; 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=JFIoeS0kBnqUAbIEJjCI0J/f3rThklAp7N8OijGEJfE=; b=nLn5m0WPf/bGaiGRG91NPKy6N+x+a4QFtaTvkYm1z5j/9FyrjZZYPqNH8j+1Xga6i3tATH 4NX5cmFeaNYMNbZpVS34hYvmI/By5VgVyLhix1AqwRMSzaXHqOLURSyfVLMRAc5tBW/96c 7N8dqjctjYGcHOyHOpt+foE2XEzLVuyTYjijCKGBFLSNVIhUFKBr5hjC10Xkfo53G9dewC ccAlRpQ7pU51ovX/fnt85QxyNs8DLXSnIBDR0j+LHV6zBhrSbnlXrTc/12Hi9cn9+FH3+r N10flCJJwc2R2J//5dQe2WafAXPF9LzAyd/ne00ODCbwWMR3Iw6wyfNhEDg1bA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733352600; a=rsa-sha256; cv=none; b=iQOfzC6CRQnYunALJROB0oVkoqmzcW/qnRKoP/Wn0sukA1e9Zlm4fgGOPXh7NRtLWgwsyF VzWD9DbuMl+lVArNK5oYm41tv7HFPAb93SA9lUHjBwYEqjqc1AQFmorntCy/qlV/dlQ8YK XqsT2IDEe47Y2myu/EdJGGAKB4aKnozL396cs+hQK0oOlzqV5r0JMpRlPdbKvo+MRBf7tm JFMI39UQ3p0e733y129+duzcnJpIIBWl6TNQfoNAhoJv5TJMLbunWGDLr6r7BEZoHXaA4K D5f7trcUqu00SRmhJU2TwMwI1VOkhG94UJu9lMOPbFVSI+hhXNXNqPNWyghIJw== Received: from ralga.knownspace (unknown [IPv6:2600:2b00:a720:d301:9f03:382a:d672:81f0]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhibbits) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y3Xlr31Gkz1KqR; Wed, 4 Dec 2024 22:50:00 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Date: Wed, 4 Dec 2024 17:49:59 -0500 From: Justin Hibbits To: John Baldwin Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: f6efccaa35fe - main - IfAPI: Remove temporary inclusion of if_private.h Message-ID: <20241204174959.34814f55@ralga.knownspace> In-Reply-To: <343e4be1-6f01-4080-981c-32bf309bacb2@FreeBSD.org> References: <202411131929.4ADJTcCe033652@gitrepo.freebsd.org> <343e4be1-6f01-4080-981c-32bf309bacb2@FreeBSD.org> X-Mailer: Claws Mail 4.3.0 (GTK 3.24.43; powerpc64le-unknown-linux-gnu) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Wed, 4 Dec 2024 14:48:40 -0500 John Baldwin wrote: > On 11/13/24 14:29, Justin Hibbits wrote: > > The branch main has been updated by jhibbits: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=f6efccaa35fe07f5659dd5d84769f56453f12169 > > > > commit f6efccaa35fe07f5659dd5d84769f56453f12169 > > Author: Justin Hibbits > > AuthorDate: 2024-11-08 19:42:19 +0000 > > Commit: Justin Hibbits > > CommitDate: 2024-11-13 19:31:20 +0000 > > > > IfAPI: Remove temporary inclusion of if_private.h > > > > Summary: > > The kernel is now fully migrated to the IfAPI, so remove the > > temporary inclusion of the private structure definition. > > > > Reviewed By: #network, melifaro > > Differential Revision: https://reviews.freebsd.org/D39621 > > This has broken many kmods in ports. Are you planning to fix those? > So far I count > > emulators/parallels-tools > net/aoe > net/aquantia-atlantic-kmod > net/intel-iavf-kmod > net/intel-ice-kmod > net/intel-igb-kmod > net/intel-ix-kmod > net/intel-ixl-kmod > net/ndproxy > net/vether-kmod > Hi John, I requested an exp-run last year for this very change (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272030), and gave a heads-up to all the maintainers last July (2023). Some of those ports found in the exp-run have since been fixed, though as you pointed out above, not all. PRs have been filed for most of them. - Justin From nobody Thu Dec 5 00:18:50 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3ZkL6BQVz5gRSB; Thu, 05 Dec 2024 00:18:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3ZkL5fClz4b5C; Thu, 5 Dec 2024 00:18:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hOhnEuzSIQ4yFwu4YNurNNWvltgmvndLqjelrbr59vY=; b=ldzfjTUSe1XUbUS8O3FFZ4QbeweSLy2U4TCl4kpKFaIA1yVomv5ND2XBEtMwqyI2xtT4ar F11nxYEnnSwcqgjT9KmDWIxahILhxURI634UIe1/Wc2JzU20Jg0vaO+Yz/3bIQvAbOQKqS lIMyxqI1SwnY13TFgDkzrZhQ2yxO4XyD6+aqcSvvYdAKD+FpCbVzrajwcQ3U0gm8+wx6ou VgJywCQ8lUE6zWcuhXAj4ANpMvyLA76HcRg81gAgv41PC1hsiZ08DcF2R80ekBVVvO1I4c JceLPDts9GEbzycXFXXfYHgBI6aS/Sbz+SB/9eKYFXet5ZKhL/op6CB1/Q2GWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357930; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hOhnEuzSIQ4yFwu4YNurNNWvltgmvndLqjelrbr59vY=; b=hWH9e9ZJD7ZokZ0hmO6g4a7ytFrAUprkoLEzUDufitcEyaUjGnAPgz7jomjCv70diAr5K1 H2xteNfoKzRp2sROXmJ+wjPtvjX0CQBNIikAppeI8BtZ93tVKPde5K7bLid9Fau9EROz9o zfWZbscXX3ObtYx3ZypZFA8Y7YPD6UpbLVi5OrFYdaUeF3RChZDBtTHoc/aZKO5b6etQ91 OyZdHMpDN5oTxzFhSPvXoNcvbM140Wkcg/WAxaNzCp2u+ez42+UmddPESgeIwLYnKQgF+o gQwBytFKYILhXrum7BFoA5LX0y0atcgHI8PWhG9eeW4VPtFTofKqMP/rpuuOVA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733357930; a=rsa-sha256; cv=none; b=wHAxTNcpVmRqru9F4tjppY1zhxkKorLvsmAFpC+n7K+Ohk+E+ct48pL1PHFE8Gw6y8GKF+ 1dCuE6iq8VHKFqqKMcBHX6zZr6yIiftmxn/7Ut1+u8+pIlQPmw/VIjED9wbEdWAlaVLh1B mZnEh2tGStUeHxA440o1pZf1ud8B8iZaAkzzT/vioR4sSl4GBK+hcHzE8nSxGM0j55836o blSbRm6U2ONxkJeQ6VZbkX6PYWZ7/9sysFlkAKyh3xKiWnkCOqPhUz+o54EqBlquQmK5S6 sFMCXgqeTtO2L/nADwJuBMSGzlq9HkSjMjJ8ucLFguwH4oFaiDRZVWI4EAbmrA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3ZkL5FXczVD0; Thu, 5 Dec 2024 00:18:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B50IoI4013232; Thu, 5 Dec 2024 00:18:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B50IohN013229; Thu, 5 Dec 2024 00:18:50 GMT (envelope-from git) Date: Thu, 5 Dec 2024 00:18:50 GMT Message-Id: <202412050018.4B50IohN013229@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 9e239e67c460 - main - stand: further restrict f_kernphys_relocatable and f_tg_kernel_support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e239e67c460c5ad9878a000c4c63d4154cb21af Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9e239e67c460c5ad9878a000c4c63d4154cb21af commit 9e239e67c460c5ad9878a000c4c63d4154cb21af Author: Ahmad Khalifa AuthorDate: 2024-09-27 15:32:06 +0000 Commit: Warner Losh CommitDate: 2024-12-05 00:19:17 +0000 stand: further restrict f_kernphys_relocatable and f_tg_kernel_support f_tg_kernel_support isn't used by any EFI code, and f_kernphys_relocatable isn't used by the non-EFI i386 code. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1446 --- stand/common/bootstrap.h | 4 ++-- stand/common/load_elf.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/stand/common/bootstrap.h b/stand/common/bootstrap.h index ab1e5249fc2a..37cef2956f40 100644 --- a/stand/common/bootstrap.h +++ b/stand/common/bootstrap.h @@ -239,10 +239,10 @@ struct preloaded_file size_t f_size; /* file size */ struct kernel_module *f_modules; /* list of modules if any */ struct preloaded_file *f_next; /* next file */ -#if defined(__amd64__) || defined(__i386__) +#if defined(__amd64__) || (defined(__i386__) && defined(EFI)) bool f_kernphys_relocatable; #endif -#if defined(__i386__) +#if defined(__i386__) && !defined(EFI) bool f_tg_kernel_support; #endif }; diff --git a/stand/common/load_elf.c b/stand/common/load_elf.c index eaa6bef6ee86..d3775b9f0017 100644 --- a/stand/common/load_elf.c +++ b/stand/common/load_elf.c @@ -217,7 +217,7 @@ static int elf_section_header_convert(const Elf_Ehdr *ehdr, Elf_Shdr *shdr) } #endif -#if defined(__amd64__) || defined(__i386__) +#if defined(__amd64__) || (defined(__i386__) && defined(EFI)) static bool is_kernphys_relocatable(elf_file_t ef) { @@ -491,10 +491,10 @@ __elfN(loadfile_raw)(char *filename, uint64_t dest, /* Load OK, return module pointer */ *result = (struct preloaded_file *)fp; err = 0; -#if defined(__amd64__) || defined(__i386__) +#if defined(__amd64__) || (defined(__i386__) && defined(EFI)) fp->f_kernphys_relocatable = multiboot || is_kernphys_relocatable(&ef); #endif -#ifdef __i386__ +#if defined(__i386__) && !defined(EFI) fp->f_tg_kernel_support = is_tg_kernel_support(fp, &ef); #endif goto out; From nobody Thu Dec 5 00:18:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3ZkM6m62z5gR9m; Thu, 05 Dec 2024 00:18:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3ZkM6GCPz4ZxB; Thu, 5 Dec 2024 00:18:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P+kUI07D7UpiQPmEbQN8rmlhYx+VCVCkSzdbj6mfU9w=; b=i5wiN2IB4kRi7d1K6msD+yxJ3eXCyL0yvcFNY1iM5EqeEeetfw3Cs/RyuZRGOKsqkqfXhl LYdKRtXN4U/Ls7XJ5E1hLggZsoQIkTf0IN0u1ccH5xKeI7AEnlgo7bBN/de5gzqth3PrHP BDmlqu9jGVf+buPKlP3lvedGKAbj3IOkCJ0p6rvLEMAdjC5WTSzaCOblVC/TPmrv6KMSI/ Lb3c7Axu6TrZ7Nowxk0J3qcyUY0wyqinaYXAKRDIvJBjSkdC5wbairKtfE+OTaTdDX5DrU qQst7y34dcFGfEWxE9CN9IdIzYKmwjxMSZbXDrJZtD6NnYRQrvotSXYnJr034w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357931; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P+kUI07D7UpiQPmEbQN8rmlhYx+VCVCkSzdbj6mfU9w=; b=vyiIN9cjx09jANlQlPbMJMJW6upqq2kAiCZvECiY/qVuPNFXtYSAyyzEp0Y/CROFlVA7li 4jSt9LCv/DuCwDLYgOzOqok2ljKG0ycdU3yeCIMgqEu5AZHdJ0k7sEbuTfmcXai3xHqmXp AhOW3q2RhnTSuYz03VG+aAwBQIkYEdM/JPJrVg4jY+PgVt6ixAP4ZikhUX/x8xWDcgOyLC CNhHf/JFwoeUfq6KeU3TsnGbxEYe1RBJXvL0TfJm+JmSVGPGK1akiyCwfItAbyo73D6ncw yuG3UCAAjaksM6nX938TUKwRlyzJtosBz2ldJhbX7sChndX8o7QR/ry1QKVgYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733357931; a=rsa-sha256; cv=none; b=f8hnig9J5eUPRcCBWMjodLUJJgyFQtV3fkUsDF94bHhqAXKlzpVod9k/GQDv6EcGnUul8y ZjPxza9EZ90OyLW07fZpMnw67wplcXZMty2zBqwPM9A1yqNNAPvviakl2/5iL3f2j7/rb9 lW2qKhOnFZofkC/uAwkQFJYcqHMhhoEnTc5X4Ek30gQNuKyem6wkaXsbMgkH2QrtvL+50M w10wOsbIV8FQeHVgq/Fdtt5xMiJCw4UNmZIWIVidbCtLrWcLkk1k9OYIAd4cXDnDcdJ0G1 zyGmIgQP93KCoQdrDyw9o+0o+v7ypC4g1WTTLmYYxYg51rKN5winN7BTfkr7qg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3ZkM5s1PzTlt; Thu, 5 Dec 2024 00:18: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 4B50Ipxs013277; Thu, 5 Dec 2024 00:18:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B50Iplf013274; Thu, 5 Dec 2024 00:18:51 GMT (envelope-from git) Date: Thu, 5 Dec 2024 00:18:51 GMT Message-Id: <202412050018.4B50Iplf013274@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 66b9db032ba9 - main - stand: move efi's bi_load into loader_efi.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 66b9db032ba9bc0fe6f79083c7eb2891a2aac60f Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=66b9db032ba9bc0fe6f79083c7eb2891a2aac60f commit 66b9db032ba9bc0fe6f79083c7eb2891a2aac60f Author: Ahmad Khalifa AuthorDate: 2024-09-27 15:38:01 +0000 Commit: Warner Losh CommitDate: 2024-12-05 00:19:17 +0000 stand: move efi's bi_load into loader_efi.h For kboot, we still have to declare it manually since we don't always include loader_efi.h Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1446 --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 3 --- stand/efi/loader/arch/amd64/multiboot2.c | 2 -- stand/efi/loader/arch/arm/exec.c | 2 -- stand/efi/loader/arch/arm64/exec.c | 3 --- stand/efi/loader/arch/i386/elf64_freebsd.c | 3 --- stand/efi/loader/arch/riscv/exec.c | 2 -- stand/efi/loader/bootinfo.c | 3 --- stand/efi/loader/loader_efi.h | 3 +++ stand/kboot/kboot/arch/aarch64/exec.c | 3 +++ stand/kboot/kboot/arch/amd64/elf64_freebsd.c | 7 ++++--- 10 files changed, 10 insertions(+), 21 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 91dd979a677e..7413d18aab2a 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -42,9 +42,6 @@ #include "loader_efi.h" -extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, - bool exit_bs); - static int elf64_exec(struct preloaded_file *amp); static int elf64_obj_exec(struct preloaded_file *amp); diff --git a/stand/efi/loader/arch/amd64/multiboot2.c b/stand/efi/loader/arch/amd64/multiboot2.c index 130caa82aa49..d09b01fce1fc 100644 --- a/stand/efi/loader/arch/amd64/multiboot2.c +++ b/stand/efi/loader/arch/amd64/multiboot2.c @@ -57,8 +57,6 @@ extern int elf32_loadfile_raw(char *filename, uint64_t dest, extern int elf64_load_modmetadata(struct preloaded_file *fp, uint64_t dest); extern int elf64_obj_loadfile(char *filename, uint64_t dest, struct preloaded_file **result); -extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, - bool exit_bs); extern void multiboot2_exec(void *entry, uint64_t multiboot_info, uint64_t stack); diff --git a/stand/efi/loader/arch/arm/exec.c b/stand/efi/loader/arch/arm/exec.c index 85a8c26ade30..c2a79523c02a 100644 --- a/stand/efi/loader/arch/arm/exec.c +++ b/stand/efi/loader/arch/arm/exec.c @@ -40,8 +40,6 @@ #include "bootstrap.h" #include "loader_efi.h" -extern int bi_load(char *, vm_offset_t *, vm_offset_t *, bool); - static int __elfN(arm_load)(char *filename, uint64_t dest, struct preloaded_file **result) diff --git a/stand/efi/loader/arch/arm64/exec.c b/stand/efi/loader/arch/arm64/exec.c index 877cff658d1e..91a0503a976f 100644 --- a/stand/efi/loader/arch/arm64/exec.c +++ b/stand/efi/loader/arch/arm64/exec.c @@ -42,9 +42,6 @@ static int elf64_exec(struct preloaded_file *amp); static int elf64_obj_exec(struct preloaded_file *amp); -int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, - bool exit_bs); - static struct file_format arm64_elf = { elf64_loadfile, elf64_exec diff --git a/stand/efi/loader/arch/i386/elf64_freebsd.c b/stand/efi/loader/arch/i386/elf64_freebsd.c index ba5117b37016..b8bc925576e7 100644 --- a/stand/efi/loader/arch/i386/elf64_freebsd.c +++ b/stand/efi/loader/arch/i386/elf64_freebsd.c @@ -37,9 +37,6 @@ #include "loader_efi.h" -extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, - bool exit_bs); - static int elf64_exec(struct preloaded_file *amp); static int elf64_obj_exec(struct preloaded_file *amp); diff --git a/stand/efi/loader/arch/riscv/exec.c b/stand/efi/loader/arch/riscv/exec.c index 3c40517ea968..0fc28cba78c1 100644 --- a/stand/efi/loader/arch/riscv/exec.c +++ b/stand/efi/loader/arch/riscv/exec.c @@ -40,8 +40,6 @@ #include "bootstrap.h" #include "loader_efi.h" -extern int bi_load(char *, vm_offset_t *, vm_offset_t *, bool); - static int __elfN(exec)(struct preloaded_file *fp) { diff --git a/stand/efi/loader/bootinfo.c b/stand/efi/loader/bootinfo.c index 2961b8b97fb7..99a7b1444aca 100644 --- a/stand/efi/loader/bootinfo.c +++ b/stand/efi/loader/bootinfo.c @@ -64,9 +64,6 @@ #include "geliboot.h" #endif -int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, - bool exit_bs); - static int bi_getboothowto(char *kargs) { diff --git a/stand/efi/loader/loader_efi.h b/stand/efi/loader/loader_efi.h index c9dfefcd4c74..8d4e352eec79 100644 --- a/stand/efi/loader/loader_efi.h +++ b/stand/efi/loader/loader_efi.h @@ -55,4 +55,7 @@ void * efi_translate(vm_offset_t ptr); void efi_copy_finish(void); void efi_copy_finish_nop(void); +int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, + bool exit_bs); + #endif /* _LOADER_EFI_COPY_H_ */ diff --git a/stand/kboot/kboot/arch/aarch64/exec.c b/stand/kboot/kboot/arch/aarch64/exec.c index 0aa0e7b8408f..585ccffbd42c 100644 --- a/stand/kboot/kboot/arch/aarch64/exec.c +++ b/stand/kboot/kboot/arch/aarch64/exec.c @@ -70,8 +70,11 @@ extern uint32_t efi_map_size; extern vm_paddr_t efi_map_phys_src; /* From DTB */ extern vm_paddr_t efi_map_phys_dst; /* From our memory map metadata module */ +/* Usually provided by loader_efi.h */ +#ifndef EFI int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs); +#endif static struct file_format arm64_elf = { elf64_loadfile, diff --git a/stand/kboot/kboot/arch/amd64/elf64_freebsd.c b/stand/kboot/kboot/arch/amd64/elf64_freebsd.c index f6574b4cbd0d..8618f132126b 100644 --- a/stand/kboot/kboot/arch/amd64/elf64_freebsd.c +++ b/stand/kboot/kboot/arch/amd64/elf64_freebsd.c @@ -56,6 +56,10 @@ static EFI_GUID acpi_guid = ACPI_TABLE_GUID; static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; +#else +/* Usually provided by loader_efi.h */ +extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, + bool exit_bs); #endif #ifdef EFI @@ -64,9 +68,6 @@ static EFI_GUID acpi20_guid = ACPI_20_TABLE_GUID; #define LOADER_PAGE_SIZE PAGE_SIZE #endif -extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, - bool exit_bs); - static int elf64_exec(struct preloaded_file *amp); static int elf64_obj_exec(struct preloaded_file *amp); From nobody Thu Dec 5 00:18:52 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3ZkP23gkz5gRSD; Thu, 05 Dec 2024 00:18:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3ZkP0893z4ZlW; Thu, 5 Dec 2024 00:18:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hjl3ijWPD70EMX5a86bqggw+68jYkFrMjCqIldatEJ0=; b=KV5eGRrc9JSlVMD2803q1WlzCL5sNGqCiwi0PbB0eLkBPQ8DeMO+YhERNZ08hTayfDmuLS dXRSAMerGQj5Owli2S07ZCVAMMVlSgPVNcAGFp/wkb1WKlExh4STiPtkKanrw4WotQAziZ hr7OJvtUpr+zYIaW9K++MCjdSKP5XM5yzDkvNQnQVqkrWMtQV/evZtTnXZ7tw933ytf5Mh 3Ymir7/ybkXU629jvwTPlgBOEPpZ0S/fJqmrfmPn/HIhV5xKZCvi/EXkBtvu5k6JPMF5GQ v9SocW6ffivEOdaSIba9rWoNhSn+nDmIsVsCgbAR0A9laBi3J/mm4MAUnYkAsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hjl3ijWPD70EMX5a86bqggw+68jYkFrMjCqIldatEJ0=; b=HGU9BmVI1qSTPJojusN62i1XeLAEy49YXy/7fX99fl7d5Dv/fP87utinHv0aVl+LSqX+UA wxPYPr48c5ekm/eNw/FpTKcUFe/jpRFQMGGrGhOebOWhzdADRclNMsK31Tcvy8oib5gRWc 0t5LJ4CqFACkOBiZW4SIPAleGxTGY8p2Xs/vrdJE/3E/DTxPHqaTnQ5O2Iijq1Rxl8P8/g XLLVJ58c+5PEEzaTfb25C5mlPgNd9F+Gik4h8BWLfi6XFDckN330P7MiZkhX7yu5T2uiJM rGA1gyFZHtG8spNXtCvXcfysN6n8YZWwffvplRm6foxRB9qFCR1WSMc5xxSWMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733357933; a=rsa-sha256; cv=none; b=cevO+l+x5yPTokenrVKx8x0AriknQYCS5xAtEKAlbyebhN971PiLIfzt4e4943JvWk7sgc 9lZzNb+uU8I7ngLx2a99MazqICs+aIFZOIu7FMys8+IkQOJtUSiaMAZP3IrlQXzuRH/a5O uIFjGwvNHF/6qnTbWdrBxPjQS9X4Sm+/EJf3ZRmOsz+oEyAnJL1a1scQ0LElevtjEcFD+Z QKKa34xRf+sOA5M/u3tst0e4o01Ltdxp0B3jB6ttmz9CUV48w2TOb8xvi3iaOtbNfFUG4+ 6AC+hiCj6+ahZNLYpz6FTuLAICDxOFZJ/Z2rjhDPSpAL96V7DcHHMir1JU6iUQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3ZkN6rDczTlv; Thu, 5 Dec 2024 00:18: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 4B50IqFh013316; Thu, 5 Dec 2024 00:18:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B50Iq7H013313; Thu, 5 Dec 2024 00:18:52 GMT (envelope-from git) Date: Thu, 5 Dec 2024 00:18:52 GMT Message-Id: <202412050018.4B50Iq7H013313@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 35cb62e1260a - main - kboot/aarch64: remove redundant include List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 35cb62e1260aa780e199ac1013721f69961267f3 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=35cb62e1260aa780e199ac1013721f69961267f3 commit 35cb62e1260aa780e199ac1013721f69961267f3 Author: Ahmad Khalifa AuthorDate: 2024-09-27 15:39:32 +0000 Commit: Warner Losh CommitDate: 2024-12-05 00:19:17 +0000 kboot/aarch64: remove redundant include Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1446 --- stand/kboot/kboot/arch/aarch64/exec.c | 1 - 1 file changed, 1 deletion(-) diff --git a/stand/kboot/kboot/arch/aarch64/exec.c b/stand/kboot/kboot/arch/aarch64/exec.c index 585ccffbd42c..59ca4b67a4ab 100644 --- a/stand/kboot/kboot/arch/aarch64/exec.c +++ b/stand/kboot/kboot/arch/aarch64/exec.c @@ -42,7 +42,6 @@ #include "bootstrap.h" #include "kboot.h" -#include "bootstrap.h" #include "platform/acfreebsd.h" #include "acconfig.h" From nobody Thu Dec 5 00:18:53 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3ZkQ3Mrvz5gR5S; Thu, 05 Dec 2024 00:18:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3ZkQ1ddtz4Zjj; Thu, 5 Dec 2024 00:18:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rdos7aEbZxsXs0lUGrmjK3EPp5sUvZ2KizDNm9/kdio=; b=yY97/mSzWKp8UMDU2fV8bnpxJEWoajiBgqpVrve86HQHDlHoOjwL58BmebwFTCPO/8GVU2 Ls7tiRmsOam4EcWLUoMByujJ1SvomJYsicdq6S/gJ9Qak4wtb0QcOPerNvID5OofNAN3Xj KkWH55Gu1Auoj6ehDsDGD7EE7NRjt3fCFtyZno68Wq/u3G0qXlmKBV78kuXFB/BBTnftCF KigMD2BKSZ5282dF8yZlWzFADfAT9Uzvu9q+lr6ikuI8dK9KkgxwLWHYjxlElbMnfmXahx Agcv5iqMxvVuV+nIU3S30HQXMDQJc8Oho2rsrmZsfUU+f3UJk9TDVFPIiy6I2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rdos7aEbZxsXs0lUGrmjK3EPp5sUvZ2KizDNm9/kdio=; b=LnlaERJUruIWE6niROktdSmkT73w92QGymMyBdmE/cjT1Q4XZjGW0U164x5UuK9XtTCxOY NIVnlKQn8FbDvVoYbPovyikaEUCbwDXxwGI3xoCB0nfXf2tl+VcUvUc31aLlzlOcenQdZq RoFoaeQJ67KwACnAb3yp5bQY9yvBCfM4Tf4KRc2vWN+Y5rHiFdwOdfjqxAbppH7V7t7/om JEkU029JkYBle5J9vtdb6EF3vwov8dJHphHSK1gYE65YbrMjAzTPEZB1NwMEw/G55bX13X XF3RAOBjUMXtYMPtbi3C60NY/EdXt2JJXBecCUrKd/J3EQHKlK+H0uQriOtVzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733357934; a=rsa-sha256; cv=none; b=eMLYHEacESvep+vTfchUSs1f8GeCnmNUTPUNe12JG/QdL/cZ1+SJnafBz+QO8CWBeknylu WOnC5X+AiJsQ3tzJnFJf43LPfloyTkDT1WMwKuWIkTtFO3djlYbwdCVVQcfuf6XaKxCJaR y/oVvUYG80gbyvsqHVu408JHKvERbG2tTWlDir738j9EVVVz/vIFz6qFe79o8vzGtwZPMq +Usc3YbmsI7PkxH4xAiHzvNsrqyN5RFPD2qIdBV4zYPwS8f9bSwKrt57IXEToKKjCNjWMh Om6JYxSMedNJFqSixgmU69ZrBCcsp9qJUrEHypRVMzRHT24WKztTuxUBKC9MmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3ZkQ0hd9zTg2; Thu, 5 Dec 2024 00:18:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B50IrVs013365; Thu, 5 Dec 2024 00:18:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B50IrRg013362; Thu, 5 Dec 2024 00:18:53 GMT (envelope-from git) Date: Thu, 5 Dec 2024 00:18:53 GMT Message-Id: <202412050018.4B50IrRg013362@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a2c48b865e97 - main - stand: move 'staging' to loader_efi.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a2c48b865e979a393fce88341ecc153ec286c8de Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a2c48b865e979a393fce88341ecc153ec286c8de commit a2c48b865e979a393fce88341ecc153ec286c8de Author: Ahmad Khalifa AuthorDate: 2024-09-27 15:44:14 +0000 Commit: Warner Losh CommitDate: 2024-12-05 00:19:17 +0000 stand: move 'staging' to loader_efi.h On amd64, we need this to setup the page tables. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1446 --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 2 -- stand/efi/loader/arch/i386/elf64_freebsd.c | 2 -- stand/efi/loader/loader_efi.h | 5 +++++ stand/kboot/kboot/arch/amd64/elf64_freebsd.c | 2 -- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 7413d18aab2a..3883c309e724 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -71,8 +71,6 @@ static pdp_entry_t *PT3_l, *PT3_u; static pd_entry_t *PT2; static pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; -extern EFI_PHYSICAL_ADDRESS staging; - static void (*trampoline)(uint64_t stack, void *copy_finish, uint64_t kernend, uint64_t modulep, pml4_entry_t *pagetable, uint64_t entry); diff --git a/stand/efi/loader/arch/i386/elf64_freebsd.c b/stand/efi/loader/arch/i386/elf64_freebsd.c index b8bc925576e7..2c6be607dc4d 100644 --- a/stand/efi/loader/arch/i386/elf64_freebsd.c +++ b/stand/efi/loader/arch/i386/elf64_freebsd.c @@ -86,8 +86,6 @@ static p2_entry_t *PT2; static p2_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; static gdt_t *GDT; -extern EFI_PHYSICAL_ADDRESS staging; - static void (*trampoline)(uint32_t stack, void *copy_finish, uint32_t kernend, uint32_t modulep, uint64_t *pagetable, struct gdtr *gdtr, uint64_t entry); diff --git a/stand/efi/loader/loader_efi.h b/stand/efi/loader/loader_efi.h index 8d4e352eec79..b2d7817b87dd 100644 --- a/stand/efi/loader/loader_efi.h +++ b/stand/efi/loader/loader_efi.h @@ -55,6 +55,11 @@ void * efi_translate(vm_offset_t ptr); void efi_copy_finish(void); void efi_copy_finish_nop(void); +#if defined(__amd64__) || defined(__i386__) +/* Need this to setup page tables */ +extern EFI_PHYSICAL_ADDRESS staging; +#endif + int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp, bool exit_bs); diff --git a/stand/kboot/kboot/arch/amd64/elf64_freebsd.c b/stand/kboot/kboot/arch/amd64/elf64_freebsd.c index 8618f132126b..b0efbfe09629 100644 --- a/stand/kboot/kboot/arch/amd64/elf64_freebsd.c +++ b/stand/kboot/kboot/arch/amd64/elf64_freebsd.c @@ -122,8 +122,6 @@ static pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; static pdp_entry_t *PT3; static pd_entry_t *PT2; -extern EFI_PHYSICAL_ADDRESS staging; - static void (*trampoline)(uint64_t stack, void *copy_finish, uint64_t kernend, uint64_t modulep, pml4_entry_t *pagetable, uint64_t entry); #endif From nobody Thu Dec 5 00:18:55 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3ZkR3fN6z5gRN3; Thu, 05 Dec 2024 00:18:55 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3ZkR26FZz4b5m; Thu, 5 Dec 2024 00:18:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qDcQUrx2Asrf6Dh/D1zzAQo+EcySRoWw4kSDCtxLLhA=; b=fRDhcGvu6L4xP4oziwPvQIqKwklP3DcS5qvT7nlehd7c2NTD/ueWRnbMV04PFf6dWfqub0 XscG2pHhq+p7/Ao64JK0iEY/EvqYkwCrFMtefVWFUCFR3v96uWpGseN0L/tSo4pbB2ILHb X8SiFp4NNDtJ/qBANQHcmQcvillkHOo4uWVDlsAtANsG1UkYHSRck8e33n8/UrDOU1ndSG ZK5YX+AuYzlPp1/BRCNNb3YlmAq4sN2wor0j2oZBjSjMAhLew56V1YpHBhQOGJWmfdZrVd M5xJM/FgN7zxh/rXmBzO6Xna9Hicla5bsEuplWsy9wRezQW2kQ+Bf+huE/25Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qDcQUrx2Asrf6Dh/D1zzAQo+EcySRoWw4kSDCtxLLhA=; b=nWb7LeL3XmHzK8jUF8BeYW91tPZVjFWzw/A6woibs/czYc3VqKp0tCYJhQbUST9tLNsZVC j+Fbbrsh9Y8z4BhAUhKntcHP1KneQsrTKeYC+IxyhQn9l57k4C5/xER0w1SUoR7wKVZ0B9 YLhGKwkBL4ThGAQZ01OP/nyECv/gTHjCHsvig2v6X3lH/RbXvcwZn1QnD4JKz5DsRxojzQ Dnwwp+NPycG6DlFhvHP9Ve48k9KPOIg4vmLlQ7SVGGUzl1Xmqb+gVIwAvfCUuhACMpbEpD 1zO/+w4XFWJ/HHa9o0nsqynEGel82hdJeWkjgo+GvJIYCaxM0XvMGdg2xYxwCw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733357935; a=rsa-sha256; cv=none; b=X0Bf2vtM2USy2INdmtNWPzImot4sYVwnxmwjw7WVSkcyRRRSuPDKfBQG7P9s9pldTXgMCK YKM06AXBZNYUssPAtspaU2fgeW7amzOuDCLIWU8ZQ9U479ypP0X+rAf/JCEvMfrW/2ueb1 Ji/Slg1dWmEjmMDWklkx2YgDSF0a5IKIVHKyUpwkh378Q4GXB3E8lY1IyEmjXj33Z8tENc tFq0kIsu896fl7nGPQtrScd1WArXFRU+ODwekpB05IPDZZH5pvhj+AfWRoKG0EZK6O6vor UIl1Sq0vv37/di56NHr/Dz3ltiGZZZZjBXPmVPxNiYr7RcYlE1Zo5YxChCLEdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3ZkR1jnRzTg3; Thu, 5 Dec 2024 00:18: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 4B50Itnl013416; Thu, 5 Dec 2024 00:18:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B50Ite2013413; Thu, 5 Dec 2024 00:18:55 GMT (envelope-from git) Date: Thu, 5 Dec 2024 00:18:55 GMT Message-Id: <202412050018.4B50Ite2013413@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: ea0f267c8bf0 - main - stand/efi: move G(x) and M(x) macros to loader_efi.h List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea0f267c8bf07bafc53a50fe52e7cdf42e63c3f2 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ea0f267c8bf07bafc53a50fe52e7cdf42e63c3f2 commit ea0f267c8bf07bafc53a50fe52e7cdf42e63c3f2 Author: Ahmad Khalifa AuthorDate: 2024-09-27 16:01:27 +0000 Commit: Warner Losh CommitDate: 2024-12-05 00:19:17 +0000 stand/efi: move G(x) and M(x) macros to loader_efi.h These are often needed for copying to the staging area or just general page table calculations on amd64. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1446 --- stand/efi/loader/arch/amd64/elf64_freebsd.c | 9 ++++----- stand/efi/loader/arch/i386/elf64_freebsd.c | 3 --- stand/efi/loader/copy.c | 3 --- stand/efi/loader/loader_efi.h | 4 ++++ stand/kboot/kboot/arch/amd64/elf64_freebsd.c | 9 ++++----- 5 files changed, 12 insertions(+), 16 deletions(-) diff --git a/stand/efi/loader/arch/amd64/elf64_freebsd.c b/stand/efi/loader/arch/amd64/elf64_freebsd.c index 3883c309e724..c4265aca035e 100644 --- a/stand/efi/loader/arch/amd64/elf64_freebsd.c +++ b/stand/efi/loader/arch/amd64/elf64_freebsd.c @@ -101,8 +101,7 @@ elf64_exec(struct preloaded_file *fp) ehdr = (Elf_Ehdr *)&(md->md_data); trampcode = copy_staging == COPY_STAGING_ENABLE ? - (vm_offset_t)0x0000000040000000 /* 1G */ : - (vm_offset_t)0x0000000100000000; /* 4G */; + (vm_offset_t)G(1) : (vm_offset_t)G(4); err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 1, (EFI_PHYSICAL_ADDRESS *)&trampcode); if (EFI_ERROR(err)) { @@ -117,7 +116,7 @@ elf64_exec(struct preloaded_file *fp) trampoline = (void *)trampcode; if (copy_staging == COPY_STAGING_ENABLE) { - PT4 = (pml4_entry_t *)0x0000000040000000; /* 1G */ + PT4 = (pml4_entry_t *)G(1); err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 3, (EFI_PHYSICAL_ADDRESS *)&PT4); if (EFI_ERROR(err)) { @@ -154,11 +153,11 @@ elf64_exec(struct preloaded_file *fp) /* * The L2 page slots are mapped with 2MB pages for 1GB. */ - PT2[i] = (pd_entry_t)i * (2 * 1024 * 1024); + PT2[i] = (pd_entry_t)i * M(2); PT2[i] |= PG_V | PG_RW | PG_PS; } } else { - PT4 = (pml4_entry_t *)0x0000000100000000; /* 4G */ + PT4 = (pml4_entry_t *)G(4); err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 9, (EFI_PHYSICAL_ADDRESS *)&PT4); if (EFI_ERROR(err)) { diff --git a/stand/efi/loader/arch/i386/elf64_freebsd.c b/stand/efi/loader/arch/i386/elf64_freebsd.c index 2c6be607dc4d..0dc16437d905 100644 --- a/stand/efi/loader/arch/i386/elf64_freebsd.c +++ b/stand/efi/loader/arch/i386/elf64_freebsd.c @@ -71,9 +71,6 @@ struct gdtr { #define GDT_RW 0x00020000000000 #define GDT_L 0x20000000000000 -#define M(x) ((x) * 1024 * 1024) -#define G(x) (1ULL * (x) * 1024 * 1024 * 1024) - typedef uint64_t p4_entry_t; typedef uint64_t p3_entry_t; typedef uint64_t p2_entry_t; diff --git a/stand/efi/loader/copy.c b/stand/efi/loader/copy.c index 90a55089ffc4..485ec152ae21 100644 --- a/stand/efi/loader/copy.c +++ b/stand/efi/loader/copy.c @@ -35,9 +35,6 @@ #include "loader_efi.h" -#define M(x) ((x) * 1024 * 1024) -#define G(x) (1ULL * (x) * 1024 * 1024 * 1024) - #if defined(__amd64__) #include #include diff --git a/stand/efi/loader/loader_efi.h b/stand/efi/loader/loader_efi.h index b2d7817b87dd..be991eeb9573 100644 --- a/stand/efi/loader/loader_efi.h +++ b/stand/efi/loader/loader_efi.h @@ -41,6 +41,10 @@ enum { extern int copy_staging; #endif +/* Useful for various calculations */ +#define M(x) ((x) * 1024 * 1024) +#define G(x) (1ULL * (x) * 1024 * 1024 * 1024) + extern EFI_LOADED_IMAGE *boot_img; int efi_autoload(void); diff --git a/stand/kboot/kboot/arch/amd64/elf64_freebsd.c b/stand/kboot/kboot/arch/amd64/elf64_freebsd.c index b0efbfe09629..495c4c0b320e 100644 --- a/stand/kboot/kboot/arch/amd64/elf64_freebsd.c +++ b/stand/kboot/kboot/arch/amd64/elf64_freebsd.c @@ -209,8 +209,7 @@ elf64_exec(struct preloaded_file *fp) #ifdef EFI trampcode = copy_staging == COPY_STAGING_ENABLE ? - (vm_offset_t)0x0000000040000000 /* 1G */ : - (vm_offset_t)0x0000000100000000; /* 4G */; + (vm_offset_t)G(1) : (vm_offset_t)G(4); err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 1, (EFI_PHYSICAL_ADDRESS *)&trampcode); if (EFI_ERROR(err)) { @@ -234,7 +233,7 @@ elf64_exec(struct preloaded_file *fp) #ifdef EFI if (copy_staging == COPY_STAGING_ENABLE) { - PT4 = (pml4_entry_t *)0x0000000040000000; /* 1G */ + PT4 = (pml4_entry_t *)G(1); err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 3, (EFI_PHYSICAL_ADDRESS *)&PT4); if (EFI_ERROR(err)) { @@ -271,11 +270,11 @@ elf64_exec(struct preloaded_file *fp) /* * The L2 page slots are mapped with 2MB pages for 1GB. */ - PT2[i] = (pd_entry_t)i * (2 * 1024 * 1024); + PT2[i] = (pd_entry_t)i * M(2); PT2[i] |= PG_V | PG_RW | PG_PS; } } else { - PT4 = (pml4_entry_t *)0x0000000100000000; /* 4G */ + PT4 = (pml4_entry_t *)G(4); err = BS->AllocatePages(AllocateMaxAddress, EfiLoaderData, 9, (EFI_PHYSICAL_ADDRESS *)&PT4); if (EFI_ERROR(err)) { From nobody Thu Dec 5 00:18:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3ZkS6HRZz5gRVl; Thu, 05 Dec 2024 00:18:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3ZkS3FSfz4bGR; Thu, 5 Dec 2024 00:18:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/nyx0ZH3qvP3gGLi14oaYQRcezwmVJYr5tXmEv7EWpA=; b=P9zcfFyK7KdO5o9W/Yya189R9gO1AozUUinwIsJqUxp+3ql/uIRrc0SQqoDYQGUtxodu+C bch+fATAQ7MPge5ryW5ejTArRCY25Ah8f7ORfxhGy4wczVYcREEOpDnsN5F12yARUQRAfZ 6WyMbvkQbG3s4+zgfE/L/zpcRL4u87oO0rePczWOca+qJ8bbPj4D4RDtF6m0H6foWziCXu XE7U+OI75rkZ4tknCw0VxsNnD2zcW1H3fwJtr1rslBwn5spB92wFzw0R433VNggxk0/1sQ xBDOyqLRuasnvsOa/MpeNBoEy865krcdiOJm8dQ4ng7rlf40a1uQW4+RUP7+3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/nyx0ZH3qvP3gGLi14oaYQRcezwmVJYr5tXmEv7EWpA=; b=TkJf+gJ2OOzLNZZ8tzIcpMjL38kMCb13uTDF9lPFw895WpGIkoo0bzGlhZXIlwoolrXV/e XLT/EsD5ld/kFMoKTeW1ufLZZiGgg/OrLkznFTvJOUW6OmZZ61do9Sw3y/gXWa04KDSwds FeErstJa4HcC+Cj7OatNqQmIRV74xsP6+eUJY7+NmkBlTxgi4M8g7IE1SHwnimS3ZTm2KU 3sv7+kYVqo1NenND/nQj3/6sb77Q7f9DxzzZjnEFYyOLzu8iCzYZATKMQtNZSdoQijYe5j f6dJ0PKPCEZEJk/1SNoy5FEth18gCHBcuO24y3wmaYtOX7TzYlcdUdAtgt3KHw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733357936; a=rsa-sha256; cv=none; b=NVd08EaJNOU6BNdd0B+Dkdpf3dsWpilOlyOazCmfMLQP5Bm14B87i+PYZbGRPFtXBcdVe5 hCPsJ0oBCqm5u7+YWw28PDjaVVTSigcMj9n1ZP6BDpHoG0r3gxYK0vPkRA8yN9pbW3YVWH TwDMJ+NHD6pMGBhtf5wLmy87wzxHgc+WpPRvLVJ4t+Mobawux6U7t+dYV16b04sO408nvX zn+0TWHJQWzSegIxf6qtVGyLmw/mxp647PzbGW3F05+V0s82ygOoTj5NGLs8h+x7PO8u9I vqfvuFnmhk4JEOBonroLWkY04EvuaMA3iCGd2YSfujLRCCaWAdoflsKbPFH63g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3ZkS2mQBzTlw; Thu, 5 Dec 2024 00:18:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B50Iumf013467; Thu, 5 Dec 2024 00:18:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B50IuJR013464; Thu, 5 Dec 2024 00:18:56 GMT (envelope-from git) Date: Thu, 5 Dec 2024 00:18:56 GMT Message-Id: <202412050018.4B50IuJR013464@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 5e8bd45ffb41 - main - stand/elf64_freebsd.c: use headers instead of doing things ourselves List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5e8bd45ffb416f6d4e041690e3e656fd907492bf Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5e8bd45ffb416f6d4e041690e3e656fd907492bf commit 5e8bd45ffb416f6d4e041690e3e656fd907492bf Author: Ahmad Khalifa AuthorDate: 2024-09-27 16:08:11 +0000 Commit: Warner Losh CommitDate: 2024-12-05 00:19:17 +0000 stand/elf64_freebsd.c: use headers instead of doing things ourselves Try our best to use headers instead of doing things ourselves. With i386's headers, there are some holes we need to fill manually. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1446 --- stand/efi/loader/arch/i386/elf64_freebsd.c | 104 ++++++++++++++++------------- stand/i386/libi386/elf64_freebsd.c | 24 ++++--- stand/userboot/userboot/elf64_freebsd.c | 53 ++++++--------- 3 files changed, 89 insertions(+), 92 deletions(-) diff --git a/stand/efi/loader/arch/i386/elf64_freebsd.c b/stand/efi/loader/arch/i386/elf64_freebsd.c index 0dc16437d905..b02cda2269bc 100644 --- a/stand/efi/loader/arch/i386/elf64_freebsd.c +++ b/stand/efi/loader/arch/i386/elf64_freebsd.c @@ -28,7 +28,11 @@ #define __ELF_WORD_SIZE 64 #include #include +#include +#include #include +#include +#include #include #include @@ -56,35 +60,14 @@ struct file_format *file_formats[] = { NULL }; -struct gdtr { - uint16_t size; - uint64_t ptr; -} __packed; - -#define PG_V 0x001 -#define PG_RW 0x002 -#define PG_PS 0x080 - -#define GDT_P 0x00800000000000 -#define GDT_E 0x00080000000000 -#define GDT_S 0x00100000000000 -#define GDT_RW 0x00020000000000 -#define GDT_L 0x20000000000000 - -typedef uint64_t p4_entry_t; -typedef uint64_t p3_entry_t; -typedef uint64_t p2_entry_t; -typedef uint64_t gdt_t; - -static p4_entry_t *PT4; -static p3_entry_t *PT3; -static p3_entry_t *PT3_l, *PT3_u; -static p2_entry_t *PT2; -static p2_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; -static gdt_t *GDT; +/* + * i386's pmap_pae.h doesn't provide this, so + * just typedef our own. + */ +typedef pdpt_entry_t pml4_entry_t; static void (*trampoline)(uint32_t stack, void *copy_finish, uint32_t kernend, - uint32_t modulep, uint64_t *pagetable, struct gdtr *gdtr, uint64_t entry); + uint32_t modulep, uint64_t *pagetable, void *gdtr, uint64_t entry); extern void *amd64_tramp; extern uint32_t amd64_tramp_size; @@ -97,12 +80,23 @@ extern uint32_t amd64_tramp_size; static int elf64_exec(struct preloaded_file *fp) { + /* + * segments.h gives us a 32-bit gdtr, but + * we want a 64-bit one, so define our own. + */ + struct { + uint16_t rd_limit; + uint64_t rd_base; + } __packed *gdtr; EFI_PHYSICAL_ADDRESS ptr; EFI_ALLOCATE_TYPE type; EFI_STATUS err; struct file_metadata *md; - struct gdtr *gdtr; Elf_Ehdr *ehdr; + pml4_entry_t *PT4; + pdpt_entry_t *PT3; + pd_entry_t *PT2; + struct user_segment_descriptor *gdt; vm_offset_t modulep, kernend, trampstack; int i; @@ -123,36 +117,47 @@ elf64_exec(struct preloaded_file *fp) return (EFTYPE); ehdr = (Elf_Ehdr *)&(md->md_data); - /* - * Make our temporary stack 32 bytes big, which is - * a little more than we need. - */ ptr = G(1); err = BS->AllocatePages(type, EfiLoaderCode, - EFI_SIZE_TO_PAGES(amd64_tramp_size + 32), &ptr); + EFI_SIZE_TO_PAGES(amd64_tramp_size), &ptr); if (EFI_ERROR(err)) { printf("Unable to allocate trampoline\n"); return (ENOMEM); } trampoline = (void *)(uintptr_t)ptr; - trampstack = ptr + amd64_tramp_size + 32; bcopy(&amd64_tramp, trampoline, amd64_tramp_size); + /* + * Allocate enough space for the GDTR + two GDT segments + + * our temporary stack (28 bytes). + */ +#define DATASZ (sizeof(*gdtr) + \ + sizeof(struct user_segment_descriptor) * 2 + 28) + ptr = G(1); err = BS->AllocatePages(type, EfiLoaderData, - EFI_SIZE_TO_PAGES(sizeof(struct gdtr) + sizeof(uint64_t) * 2), &ptr); + EFI_SIZE_TO_PAGES(DATASZ), &ptr); if (EFI_ERROR(err)) { - printf("Unable to allocate GDT\n"); + printf("Unable to allocate GDT and stack\n"); BS->FreePages((uintptr_t)trampoline, 1); return (ENOMEM); } - GDT = (gdt_t *)(uintptr_t)ptr; - GDT[1] = GDT_P | GDT_E | GDT_S | GDT_RW | GDT_L; /* CS */ - GDT[0] = 0; - gdtr = (struct gdtr *)&GDT[2]; - gdtr->size = sizeof(uint64_t) * 2 - 1; - gdtr->ptr = (uintptr_t)GDT; + + trampstack = ptr + DATASZ; + +#undef DATASZ + + gdt = (void *)(uintptr_t)ptr; + gdt[0] = (struct user_segment_descriptor) { 0 }; + gdt[1] = (struct user_segment_descriptor) { + .sd_p = 1, .sd_long = 1, .sd_type = SDT_MEMERC + }; + + gdtr = (void *)(uintptr_t)(ptr + + sizeof(struct user_segment_descriptor) * 2); + gdtr->rd_limit = sizeof(struct user_segment_descriptor) * 2 - 1; + gdtr->rd_base = (uintptr_t)gdt; if (type == AllocateMaxAddress) { /* Copy staging enabled */ @@ -163,10 +168,10 @@ elf64_exec(struct preloaded_file *fp) if (EFI_ERROR(err)) { printf("Unable to allocate trampoline page table\n"); BS->FreePages((uintptr_t)trampoline, 1); - BS->FreePages((uintptr_t)GDT, 1); + BS->FreePages((uintptr_t)gdt, 1); return (ENOMEM); } - PT4 = (p4_entry_t *)(uintptr_t)ptr; + PT4 = (pml4_entry_t *)(uintptr_t)ptr; PT3 = &PT4[512]; PT2 = &PT3[512]; @@ -195,15 +200,18 @@ elf64_exec(struct preloaded_file *fp) PT2[i] = (i * M(2)) | PG_V | PG_RW | PG_PS; } } else { + pdpt_entry_t *PT3_l, *PT3_u; + pd_entry_t *PT2_l0, *PT2_l1, *PT2_l2, *PT2_l3, *PT2_u0, *PT2_u1; + err = BS->AllocatePages(AllocateAnyPages, EfiLoaderData, EFI_SIZE_TO_PAGES(512 * 9 * sizeof(uint64_t)), &ptr); if (EFI_ERROR(err)) { printf("Unable to allocate trampoline page table\n"); BS->FreePages((uintptr_t)trampoline, 1); - BS->FreePages((uintptr_t)GDT, 1); + BS->FreePages((uintptr_t)gdt, 1); return (ENOMEM); } - PT4 = (p4_entry_t *)(uintptr_t)ptr; + PT4 = (pml4_entry_t *)(uintptr_t)ptr; PT3_l = &PT4[512]; PT3_u = &PT3_l[512]; @@ -221,7 +229,7 @@ elf64_exec(struct preloaded_file *fp) PT3_l[2] = (uintptr_t)PT2_l2 | PG_V | PG_RW; PT3_l[3] = (uintptr_t)PT2_l3 | PG_V | PG_RW; for (i = 0; i < 2048; i++) { - PT2_l0[i] = ((p2_entry_t)i * M(2)) | PG_V | PG_RW | PG_PS; + PT2_l0[i] = ((pd_entry_t)i * M(2)) | PG_V | PG_RW | PG_PS; } /* mapping of kernel 2G below top */ @@ -240,7 +248,7 @@ elf64_exec(struct preloaded_file *fp) printf( "staging %#llx (%scopying) tramp %p PT4 %p GDT %p\n" "Start @ %#llx ...\n", staging, - type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, GDT, + type == AllocateMaxAddress ? "" : "not ", trampoline, PT4, gdt, ehdr->e_entry ); diff --git a/stand/i386/libi386/elf64_freebsd.c b/stand/i386/libi386/elf64_freebsd.c index b1340fd1f2e2..89cc249e9d96 100644 --- a/stand/i386/libi386/elf64_freebsd.c +++ b/stand/i386/libi386/elf64_freebsd.c @@ -28,8 +28,11 @@ #include #include #include +#include +#include #include #include +#include #include #include @@ -43,16 +46,15 @@ static int elf64_obj_exec(struct preloaded_file *amp); struct file_format amd64_elf = { elf64_loadfile, elf64_exec }; struct file_format amd64_elf_obj = { elf64_obj_loadfile, elf64_obj_exec }; -#define PG_V 0x001 -#define PG_RW 0x002 -#define PG_PS 0x080 +/* + * i386's pmap_pae.h doesn't provide this, so + * just typedef our own. + */ +typedef pdpt_entry_t pml4_entry_t; -typedef uint64_t p4_entry_t; -typedef uint64_t p3_entry_t; -typedef uint64_t p2_entry_t; -extern p4_entry_t PT4[]; -extern p3_entry_t PT3[]; -extern p2_entry_t PT2[]; +extern pml4_entry_t PT4[]; +extern pdpt_entry_t PT3[]; +extern pd_entry_t PT2[]; uint32_t entry_hi; uint32_t entry_lo; @@ -91,11 +93,11 @@ elf64_exec(struct preloaded_file *fp) */ for (i = 0; i < 512; i++) { /* Each slot of the level 4 pages points to the same level 3 page */ - PT4[i] = (p4_entry_t)VTOP((uintptr_t)&PT3[0]); + PT4[i] = (pml4_entry_t)VTOP((uintptr_t)&PT3[0]); PT4[i] |= PG_V | PG_RW; /* Each slot of the level 3 pages points to the same level 2 page */ - PT3[i] = (p3_entry_t)VTOP((uintptr_t)&PT2[0]); + PT3[i] = (pdpt_entry_t)VTOP((uintptr_t)&PT2[0]); PT3[i] |= PG_V | PG_RW; /* The level 2 page slots are mapped with 2MB pages for 1GB. */ diff --git a/stand/userboot/userboot/elf64_freebsd.c b/stand/userboot/userboot/elf64_freebsd.c index 7f817a44da88..5a63fdb4990c 100644 --- a/stand/userboot/userboot/elf64_freebsd.c +++ b/stand/userboot/userboot/elf64_freebsd.c @@ -31,9 +31,10 @@ #ifdef DEBUG #include #endif -#include -#include +#include +#include #include +#include #include #include "bootstrap.h" @@ -45,35 +46,21 @@ static int elf64_obj_exec(struct preloaded_file *amp); struct file_format amd64_elf = { elf64_loadfile, elf64_exec }; struct file_format amd64_elf_obj = { elf64_obj_loadfile, elf64_obj_exec }; -#define MSR_EFER 0xc0000080 -#define EFER_LME 0x00000100 -#define EFER_LMA 0x00000400 /* Long mode active (R) */ -#define CR4_PAE 0x00000020 -#define CR4_VMXE (1UL << 13) -#define CR4_PSE 0x00000010 -#define CR0_PG 0x80000000 -#define CR0_PE 0x00000001 /* Protected mode Enable */ -#define CR0_NE 0x00000020 /* Numeric Error enable (EX16 vs IRQ13) */ - -#define PG_V 0x001 -#define PG_RW 0x002 -#define PG_PS 0x080 - -typedef uint64_t p4_entry_t; -typedef uint64_t p3_entry_t; -typedef uint64_t p2_entry_t; - #define GUEST_NULL_SEL 0 #define GUEST_CODE_SEL 1 #define GUEST_DATA_SEL 2 #define GUEST_GDTR_LIMIT (3 * 8 - 1) static void -setup_freebsd_gdt(uint64_t *gdtr) +setup_freebsd_gdt(struct user_segment_descriptor *gdt) { - gdtr[GUEST_NULL_SEL] = 0; - gdtr[GUEST_CODE_SEL] = 0x0020980000000000; - gdtr[GUEST_DATA_SEL] = 0x0000900000000000; + gdt[GUEST_NULL_SEL] = (struct user_segment_descriptor) { 0 }; + gdt[GUEST_CODE_SEL] = (struct user_segment_descriptor) { + .sd_p = 1, .sd_long = 1, .sd_type = SDT_MEME + }; + gdt[GUEST_DATA_SEL] = (struct user_segment_descriptor) { + .sd_p = 1, .sd_type = SDT_MEMRO + }; } /* @@ -90,10 +77,10 @@ elf64_exec(struct preloaded_file *fp) int err; int i; uint32_t stack[1024]; - p4_entry_t PT4[512]; - p3_entry_t PT3[512]; - p2_entry_t PT2[512]; - uint64_t gdtr[3]; + pml4_entry_t PT4[512]; + pdp_entry_t PT3[512]; + pd_entry_t PT2[512]; + struct user_segment_descriptor gdt[3]; if ((md = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL) return(EFTYPE); @@ -122,11 +109,11 @@ elf64_exec(struct preloaded_file *fp) */ for (i = 0; i < 512; i++) { /* Each slot of the level 4 pages points to the same level 3 page */ - PT4[i] = (p4_entry_t) 0x3000; + PT4[i] = (pml4_entry_t) 0x3000; PT4[i] |= PG_V | PG_RW; /* Each slot of the level 3 pages points to the same level 2 page */ - PT3[i] = (p3_entry_t) 0x4000; + PT3[i] = (pdp_entry_t) 0x4000; PT3[i] |= PG_V | PG_RW; /* The level 2 page slots are mapped with 2MB pages for 1GB. */ @@ -154,9 +141,9 @@ elf64_exec(struct preloaded_file *fp) CALLBACK(setcr, 3, 0x2000); CALLBACK(setcr, 0, CR0_PG | CR0_PE | CR0_NE); - setup_freebsd_gdt(gdtr); - CALLBACK(copyin, gdtr, 0x5000, sizeof(gdtr)); - CALLBACK(setgdt, 0x5000, sizeof(gdtr)); + setup_freebsd_gdt(gdt); + CALLBACK(copyin, gdt, 0x5000, sizeof(gdt)); + CALLBACK(setgdt, 0x5000, sizeof(gdt)); CALLBACK(exec, ehdr->e_entry); From nobody Thu Dec 5 00:18:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3ZkT5SkPz5gRN7; Thu, 05 Dec 2024 00:18:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3ZkT4Bwpz4bB8; Thu, 5 Dec 2024 00:18:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=arNYsFGf/73Orb40cyfAWUMHOXmiot6ZJtlHKAZO0LA=; b=D+5jyl598cZXF9UTtdwlTXr+Eflr0Nn7a9xcdjMfrh5C3yBS7grLl9hmGCOak9fAH6vjWQ ovigvFWS9LAMN1Jc3C99T2DBFxRXawTXiOSNYcDPEMHcFZvP5uiU7/iZE4simjs6GbjWAO SnbtYqJjAMsBdj9NT7KS02pEA7oSJmPwnI7iffFnM8nX6smJVXbcqaV9rsmiXi/TffUOQg j8bsnj4P5NUzQ8L1flwSpH4Kcf2e8OhsmbgyLNLvakalzIzGlYQKPCUhJRrrf3pBlH9tu0 WJM1gleuG1BrmPD8+ZU7SC9nvKh7NySO7cD1GJgT2pHe7A3POetj5lUBQXFxHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733357937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=arNYsFGf/73Orb40cyfAWUMHOXmiot6ZJtlHKAZO0LA=; b=OHXU4q3ZocEaPbLW/S5qG4Ino7soEKglkKN6PtspRB1sXTJ5fa2fTXWlFpzY51GthrdhfQ JY550mY7e1trDvVFKGmtxh/oOCp6pYaPIUUiJwUPcUnUIEAGuqTPMI0Bf9JCL/hfNkJTq+ /riozBilyLmWga7ame+BHIy2JarrOufnMgAE7vmsPsRRw3+cl4UWSeKXCXC/Q8bItGwlmA /9OT5yMrw2/VCA89ad3ekd3nYne63qqN+nKVNTVl34FiPgkFh4C7gqqq5BBOpkrhftMB0/ 4oeQ3N4skc6Kn9lP8ZWTkNVG9hu0bZeWCzTnyPpjFcZY+ZLQ5wvAkGr6BCrPBw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733357937; a=rsa-sha256; cv=none; b=jBvowjpbUUuBjuw8VXceIwupI/AYiS/uBvbzzS4/LySjKM/WCGioTK3V3Opal6pC05+EvF o+GPZ3akosSGv1leAghk1c6MCjKosJf7rFFnDMN+7Donl9hTErImolglzQrT1wsJ9gnPTa NBI6UfRlu+8VPyOHeG4KWDCP52Q/HDLGGyqmKgDkp6HWQ7nrC0vMsK0tLbtMHoih6JcLx7 cQ7toNvchB+IY4yUKyVtppQnutchx03BB/auljeDL/nZ98emeR9LF9IjWZ8atcQPc0nRju 4XJaKkdJDtOnjiiT7sC1ltVDAxFj1LPzJAIPhRhYfbgeiDYQRBvOqeFIrD3hDw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3ZkT3nQYzTlx; Thu, 5 Dec 2024 00:18: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 4B50IvnP013512; Thu, 5 Dec 2024 00:18:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B50Ivum013509; Thu, 5 Dec 2024 00:18:57 GMT (envelope-from git) Date: Thu, 5 Dec 2024 00:18:57 GMT Message-Id: <202412050018.4B50Ivum013509@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 3f960a05ba00 - main - loader: remove check for 2M alignment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3f960a05ba003870ee51e037ab18006511f12f8c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3f960a05ba003870ee51e037ab18006511f12f8c commit 3f960a05ba003870ee51e037ab18006511f12f8c Author: Ahmad Khalifa AuthorDate: 2024-09-30 17:31:32 +0000 Commit: Warner Losh CommitDate: 2024-12-05 00:19:18 +0000 loader: remove check for 2M alignment Instead of listing every arch we support, always define EFI_STAGING_2M_ALIGN to 1. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1446 --- stand/efi/loader/copy.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/stand/efi/loader/copy.c b/stand/efi/loader/copy.c index 485ec152ae21..935db3a420ba 100644 --- a/stand/efi/loader/copy.c +++ b/stand/efi/loader/copy.c @@ -178,12 +178,7 @@ out: #define EFI_STAGING_SIZE DEFAULT_EFI_STAGING_SIZE #endif -#if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \ - defined(__riscv) || defined(__i386__) #define EFI_STAGING_2M_ALIGN 1 -#else -#define EFI_STAGING_2M_ALIGN 0 -#endif #if defined(__amd64__) || defined(__i386__) #define EFI_STAGING_SLOP M(8) From nobody Thu Dec 5 03:51:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3gSY1ZB4z5fmYB for ; Thu, 05 Dec 2024 03:52:13 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic311-25.consmr.mail.gq1.yahoo.com (sonic311-25.consmr.mail.gq1.yahoo.com [98.137.65.206]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3gSX122lz42Km for ; Thu, 5 Dec 2024 03:52:11 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=ipS9ar8t; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.65.206 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1733370729; bh=aYSMKvK5rbfRHoZltX4589LRLzzy9ZdDnSzIZXabeWs=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=ipS9ar8teQv6RfQvvl5DSzwKbPTA/9NfsuTx7nq4x2am1FaD6c5i+ambsJa0Ix3G9MCeqM+nOGbgQlDoOlPB3334zOflUoWGgeXVj2c5IK4aFtafsRu91c14/1ZuWC7aRO0LdFow8GsZilHFw7HIayV1T2z3jhukkivQSkftJZO8EC/yidb25nGf8QP3aoIK84GBZZEZ77aCPFAo+HnC8o1O0nwl/Syn840i66et60jzQe9KE00r28FnxaS6EHFgcGs7CyPATdeYj8yjB5nDgC3ytO++Eeu4N6rkqpY/Z9t7AD4iteoCaKiXff9nXvIaS0D6b6fKMWWhF9uswJidPg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1733370729; bh=1ZLXwZIWSZsZco/ImbUofnbS50lexSziCFQVptZ6kji=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=mU2csMXIAGzM21X5sZurT49jCM3FLiZzaP4bgBnSz+j4IsJpp+tluQL0vobPzXmgoy+YsVGJR2rt9CxsfcWfYG4Ux49flymh7becyS+m8bHTB5m2dJWh3cmFoXqA+tWOrIIgx8ddpPwTCMRf4CRgVN2O6RZdrIHm/P0V+olFfMJsqWeuViyjFpco8ABbNouHin2PFxFKhVrJNtu1dDlEcShSMVIxJ7pWrt0YJzaMZCenRyhYtqLo7uRXfyQ8D5w6sImfYozk01nG7qacphbhD8alTUldnlEF1DX6RdJwRKzOaJDXLCxek3uF22RkW7bpM5A6tdl7iwbiaCFPy9AGCg== X-YMail-OSG: qVtV8dsVM1kFwS9kJT0Aaj4FHb4WMqdEqEbv7ncU4RJUmxyB9.GUpjGpMJ12SEj hAqPteU42HrV62kbyM4cCRvT9dLNqSlofx69_EOvRXYds76Mv0xsXTtccFSoDQuhJLYhubIKURtT UjkaHCXSQh8Wr23t6dRm4Fbjc55yWbPO.i2rMplZYwbUYmQo0DgIv7h27K97rrgHg7x8h9eaoo0r QCUkYfKE6A3bCbO0v.5FucjuhLsZt_aP2VAN0aQN5KinVBe09s8U2dO.Jsn4ze9tPRHuYURJQDWv wjSlpT8j9mbxu6HebKek52EZcm1oKFLvQdWPHTZQZypxcya..4znbMG1NFIOdQ5vl7f.FzuEKUiC bmXVyZalFyIAwE50WZYh.qYZ8PEn8uAICFE.YTN8Uh.ciQiQi0jBsQqdR1X5aylp6l7dEuxOS4Xf srmHpXc8xoO.4RVl28Pm7cN_DyR2ArkKBh3aBTWa4yi.NCztro1XTbgEeuaGhpnMEuhANNveRCYT q190Mzswr_w.3fQzCoJAvMT5hh_O4tEZTrD4ywHwwzzMBvS3QiEcJSxfZxCMztW.xjaVEBpAuweU HLgnp6DgoWNOR.r4Pq90pBHgzHqV3SO7OywKwsWdHFnubFfrzFpcAa6.CY.VU53jo3AMm0imsR6T iW_Pkci7YGTITImqwsmBECRG9JKl9.jAFeYm82LdONL_Xf9xy4kD7.rELvG12IzFa0XgVQDMXFBC KhE1dI5JpVe.1ccB5X5W5y7WLkPog4TKVWEvhRA1qvRnaStdhyLTh7aizfhC0vmG1ndmmVJEnd_3 5U1kYhgnco4LtoYG9Hv9ZLb7B6w7YL_tOQAznapaTdiPaiXFO3m9ALpn.BcsUDIXCFavkIfNABPD FDWk7wkT1ujuwjoicdrT0jJGkGeKDXrydjakrONFKLP.j6jLGPYkoftUVvqfNf.cdnfskG2sO7E9 Fq9d4FKHyS8gR.LBegt_uJ3H.9HJV8kp9Ais80vO2mGap3chHSUs4qrekiiULz776ba.eAUO_MRI mRXlZORwTta6XJcErQzgzED_lepr1ugniC5VrXvbBblJZMMncrkU4wKsi1rMp3_BmsiDR0MYAATl 88Lj7u9PcuFUF_HJ8LmADKIvnb00JqjYJk3JJjhlMu8HgBT4j2pdErJnwxd5TQZtyGBndOJlkZar TmwW6rldJJAE7ribpzrratdVStH11_i_H1OziGAbFIEMHbXOIQHpJ1Lyx0Za2frFWqlrhQlmgwhx 4mxYL3QvrDGwB73fJ_fw8dbRfhQg5XRoM.uYQBpccA1D1fQ0so1j4SSu2CE.lSHblT7RTXfX2HMU 3Xs99mTQkMa869LmAFykg0Ffoea9xwOAfZtbvs0xP35hNDK5PIayHfc.aAMVmt6Y0ewKVzrrABQF LbtAZgTgAa.CN_XscBWgeCpCwrEJNxdq4H7DVr6ok52RQxESylOD2y_iHBzrSYX0MY4zbfePvgSc WVTpsZz1IBPlvqnD_Ba5da9Jw6HXix3wclnAMusHXCl6.6ThsteDU5hFjjJAi3BnqsxD45RUjXmC ZU9.GYvUPMmtRNtAL3uPGRSTcPJM2J5F8OCY3f6wh2eCW2Wq5Eodh7RVJi1ryakIvT46SEZQftgP .LdwulR3RSugFiLMomhdM9lD497kdV9tf21Okt8jDjErIeDkIDzkwke51_FTPbq1Tzqujaa.ZjRh I_J4DC5JW2DA.LOJ50y6f0tAgxrSzTsT4YWtdZAdXH77Ch8JTx02v7SLllJKeWXAmgRnxmyOo9FG oOpNqyDozfz7q.o34W_C7kcSDASm2OO98SUqcgcra.iigvC4OFcBcUbYkNAoITeqB5CUvVr8ZMON fvJrfpNO_.nekbRdVYHPQMXZAOEKOomgVhpAK9ebxr.vsWzKJXnw8GTqxjSqMVD7CCbm6zrqr8VQ .tgM_uLJwXhuQwLnw8.ocUyUPkyDwgyDE.NzlwV9uNt6SkR3XJO5BGoTdzQnoCZvWrbH11P3y2_D MLU3Cgamh_y.sWWuqU9SnuGhb7yJswfPWnm0pPUUj0a7UEApyRpE_x4._5wlKF5STlEc9.qMi6Vn jj.cvxK1p7FmKbsfH8VOM3Ol3VGvIbJuvfBOLnuLdfoV0FO5_uvHtA5Eqqdg9gN1VamsTtnoDdDX _rCFdSdHpn2O5i1MPEgu3wtXzOxBcfdsgGHDrLG2Ez8lG3rZ8LZ5YyWGzbi0hNevoDqQDuWGNevD OyILo93gBMZGJN7UXkHwf.w0OcVjxxPCNHaN_9dzE2058_8HX277rcgMSEFRTM5PYGPtwfUYbkLo IYUoK0qXWkCBwYA-- X-Sonic-MF: X-Sonic-ID: 9252b1e5-1804-41c3-a9ea-4715d0c57d27 Received: from sonic.gate.mail.ne1.yahoo.com by sonic311.consmr.mail.gq1.yahoo.com with HTTP; Thu, 5 Dec 2024 03:52:09 +0000 Received: by hermes--production-gq1-5dd4b47f46-5xsmt (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 98c3be432b9cc231b732fb9c588aed07; Thu, 05 Dec 2024 03:52:08 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51.11.1\)) Subject: Re: git: b882d21558f3 - main - arm: link all .rodata variants into one output section From: Mark Millard In-Reply-To: <6088B065-8BA0-4D0B-8E08-706B634D5D91@yahoo.com> Date: Wed, 4 Dec 2024 19:51:56 -0800 Cc: Warner Losh Content-Transfer-Encoding: 7bit Message-Id: <6F21458C-6550-4070-BF4A-876CA3E8978A@yahoo.com> References: <6088B065-8BA0-4D0B-8E08-706B634D5D91@yahoo.com> To: mmel@freebsd.org, John Baldwin , dev-commits-src-main@freebsd.org X-Mailer: Apple Mail (2.3776.700.51.11.1) X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FREEMAIL_FROM(0.00)[yahoo.com]; DKIM_TRACE(0.00)[yahoo.com:+]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.65.206:from]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[98.137.65.206:from] X-Rspamd-Queue-Id: 4Y3gSX122lz42Km X-Spamd-Bar: --- [I appearently never sent the below at the time.] On Nov 20, 2024, at 08:03, Mark Millard wrote: John Baldwin wrote on Date: Wed, 20 Nov 2024 14:52:06 UTC : > On 11/19/24 08:02, Michal Meloun wrote: >> >> >> On 19.11.2024 16:15, John Baldwin wrote: >>> On 11/17/24 03:36, Michal Meloun wrote: >>>> The branch main has been updated by mmel: >>>> >>>> URL: https://cgit.FreeBSD.org/src/commit/? >>>> id=b882d21558f37e6a565694ac9b8f2a519e5b86fa >>>> >>>> commit b882d21558f37e6a565694ac9b8f2a519e5b86fa >>>> Author: Michal Meloun >>>> AuthorDate: 2024-11-17 11:28:47 +0000 >>>> Commit: Michal Meloun >>>> CommitDate: 2024-11-17 11:35:55 +0000 >>>> >>>> arm: link all .rodata variants into one output section >>>> MFC after: 1 week >>>> --- >>>> sys/conf/ldscript.arm | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/sys/conf/ldscript.arm b/sys/conf/ldscript.arm >>>> index d9edcfac9f78..7cf904ce39ff 100644 >>>> --- a/sys/conf/ldscript.arm >>>> +++ b/sys/conf/ldscript.arm >>>> @@ -17,7 +17,7 @@ SECTIONS >>>> _etext = .; >>>> PROVIDE (etext = .); >>>> .fini : { *(.fini) } =0x9090 >>>> - .rodata : { *(.rodata) *(.gnu.linkonce.r*) } >>>> + .rodata : { *(.rodata*) *(.gnu.linkonce.r*) } >>>> .rodata1 : { *(.rodata1) } >>> >>> Is this line now spurious or do linker scripts prefer more exact matches? >>> >>>> .interp : { *(.interp) } >>>> .hash : { *(.hash) } >>> >> Right hit. I want write { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) } >> >> Warner already tried to tell me the same thing, but I didn't get it :( >> Btw arm64 has the same problem. >> >> This gives me another question. Who generates the .rodata1 section? This >> section appeared in gnu ld three decades ago, with no real description. >> Do we still need it? > > I have no idea if we still need .rodata1 (or why it exists), I was just > reading the diff of the linker script. Looking around at examples on the web I'm seeing mostly the likes of the following for analogous text: .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } (and somewhat similarly for .data.*) I saw some examples of *(.rodata.str1.4) for examples that lacked use of .rodata.* , giving some idea what would be expected to match the .* part of the pattern. === Mark Millard marklmi at yahoo.com From nobody Thu Dec 5 07:30:12 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3mJ5234vz5g3hL; Thu, 05 Dec 2024 07:30:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3mJ51XNtz4KcJ; Thu, 5 Dec 2024 07:30:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D534nZHNZW+ORtgK5opxNd1lSOynMXEmQ06OkfhSPWI=; b=pHde6St2povCrxhi0tlwZcE+tidKsv0/s/CtbE5gppHLqwr37vFrAJooiPZpliYey0WJJP zARqhf6s7adOBWDS3yRxglm7uPEFS8V3ifwMIrCOvmtkrT3Qqo7tq0XppMrsYn00fFXgTc aZNDdpiYNrFHpH/4RQS91D5cshXdmL7Z33kr3ZKzxOWUg4p0RZCv6JyfestxIQveK+okdz JahMjDS6pZl6aekA5zCzFqhy+uDrs0VkF31SNFm/RGrWYdN5YfT4WL77pX1S7LvCNSiZ4s vxsvLjz6+rkHjlPZuRCqAQPFK63erKH3pZBLNRXvj61GR6z0Ev9ERuxsr2r9DA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=D534nZHNZW+ORtgK5opxNd1lSOynMXEmQ06OkfhSPWI=; b=WBHi5MdfdJXB8kauYlKERh5ebXxV1QyGmGztZRyzv4MF5SDY3xcniyc409faK2PWNAcoEV axX835+EHHVb+FtuOAdo5By+XJ55rfrd9e8Mp0Hv5l1kCJ4EP3Fpk3jp9XxuQoSBPsKA5P zOpknPaaTAUyPxD7kICVv71wGRgGU61ncX4lVfWDcS19u5mfpearZkAo7ppOZJD117ur9p biCRgiWhsm2qwoEiWJxFuUNQEX6WvcRpAr7exCAeav7rWQJXpkjfrGW7/euvNZcmTuXb8d YVBLotMovliPX79OPlTwUNckDsd+3qj2HPBKZgqiHj6BDYSwONnw6+fYLR32aQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733383813; a=rsa-sha256; cv=none; b=E+9PULXXlKkaFsTlAkvsT41k3OIIRBvkrwtgBf+VHMw+3G0nKWgj/+dxFoKjzzL4DXqUdM HdG1IgySfDDrZOS5NbZdk62XH9AtOctiL2Q5gvKHhbEvp50GhV9pLpkTnVFL5HjUHVLFun yXCqyK3w92VQkwWoFc8MdClzncQdh32OLFTziCkeNo7aDO8kMQEs+pgBuHFzSpXgTh3B1l OvC7wM7jQVozqqL013RPXoM1XsyN+pAHa5R4J21ZgtbQKiUm1RpL28owAAeDFwQpY2bjsE /FONTdMQqzfXjMlqwx7rkt647k3hNGsjkjz9bdfXPUPv05hxb1/veNSHy6UdRQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3mJ50ncbzk5n; Thu, 5 Dec 2024 07:30: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 4B57UCEE020633; Thu, 5 Dec 2024 07:30:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B57UCpM020624; Thu, 5 Dec 2024 07:30:12 GMT (envelope-from git) Date: Thu, 5 Dec 2024 07:30:12 GMT Message-Id: <202412050730.4B57UCpM020624@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: 77e64f45c478 - main - rtwn: use ieee80211_ht_get_node_ampdu_density(), fix programming MAX_AGG List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 77e64f45c47827987b84a2e5bf3e9f6a2a52bda8 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=77e64f45c47827987b84a2e5bf3e9f6a2a52bda8 commit 77e64f45c47827987b84a2e5bf3e9f6a2a52bda8 Author: Adrian Chadd AuthorDate: 2024-11-26 16:59:11 +0000 Commit: Adrian Chadd CommitDate: 2024-12-05 07:26:35 +0000 rtwn: use ieee80211_ht_get_node_ampdu_density(), fix programming MAX_AGG * use ieee80211_ht_get_node_ampdu_density() now instead of the vap->iv_ampdu_density, so the correct density is used in AP/IBSS/mesh modes. * MAX_AGG controls how many frames are to be sent in an A-MPDU. It maps to ((MAX_AGG * 2) + 1) == npackets. 0x1f (31) means 64 packets. So, instead of hard-coding 0x1f, use the negotiated block-ack window size. Differential Revision: https://reviews.freebsd.org/D47766 --- sys/dev/rtwn/rtl8192c/r92c_tx.c | 26 ++++++++++++++++++++++++-- sys/dev/rtwn/rtl8812a/r12a_tx.c | 26 ++++++++++++++++++++++++-- 2 files changed, 48 insertions(+), 4 deletions(-) diff --git a/sys/dev/rtwn/rtl8192c/r92c_tx.c b/sys/dev/rtwn/rtl8192c/r92c_tx.c index b8c26d861a14..a3e92e1b7ebb 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_tx.c +++ b/sys/dev/rtwn/rtl8192c/r92c_tx.c @@ -221,6 +221,28 @@ r92c_tx_setup_macid(void *buf, int id) txd->txdw4 &= ~htole32(R92C_TXDW4_RTS_SHORT); } +static int +r92c_calculate_tx_agg_window(struct rtwn_softc *sc, + const struct ieee80211_node *ni, int tid) +{ + const struct ieee80211_tx_ampdu *tap; + int wnd; + + tap = &ni->ni_tx_ampdu[tid]; + + /* + * BAW is (MAX_AGG * 2) + 1, hence the /2 here. + * Ensure we don't send 0 or more than 64. + */ + wnd = tap->txa_wnd / 2; + if (wnd == 0) + wnd = 1; + else if (wnd > 0x1f) + wnd = 0x1f; + + return (wnd); +} + void r92c_fill_tx_desc(struct rtwn_softc *sc, struct ieee80211_node *ni, struct mbuf *m, void *buf, uint8_t ridx, int maxretry) @@ -276,9 +298,9 @@ r92c_fill_tx_desc(struct rtwn_softc *sc, struct ieee80211_node *ni, (m->m_flags & M_AMPDU_MPDU) != 0); if (m->m_flags & M_AMPDU_MPDU) { txd->txdw2 |= htole32(SM(R92C_TXDW2_AMPDU_DEN, - vap->iv_ampdu_density)); + ieee80211_ht_get_node_ampdu_density(ni))); txd->txdw6 |= htole32(SM(R92C_TXDW6_MAX_AGG, - 0x1f)); /* XXX */ + r92c_calculate_tx_agg_window(sc, ni, tid))); } if (sc->sc_ratectl == RTWN_RATECTL_NET80211) { txd->txdw2 |= htole32(R92C_TXDW2_CCX_RPT); diff --git a/sys/dev/rtwn/rtl8812a/r12a_tx.c b/sys/dev/rtwn/rtl8812a/r12a_tx.c index 8cee2a16fbd5..6102a0567e74 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_tx.c +++ b/sys/dev/rtwn/rtl8812a/r12a_tx.c @@ -229,6 +229,28 @@ r12a_tx_set_ldpc(struct rtwn_softc *sc, struct r12a_tx_desc *txd, txd->txdw5 |= htole32(R12A_TXDW5_DATA_LDPC); } +static int +r12a_calculate_tx_agg_window(struct rtwn_softc *sc, + const struct ieee80211_node *ni, int tid) +{ + const struct ieee80211_tx_ampdu *tap; + int wnd; + + tap = &ni->ni_tx_ampdu[tid]; + + /* + * BAW is (MAX_AGG * 2) + 1, hence the /2 here. + * Ensure we don't send 0 or more than 64. + */ + wnd = tap->txa_wnd / 2; + if (wnd == 0) + wnd = 1; + else if (wnd > 0x1f) + wnd = 0x1f; + + return (wnd); +} + void r12a_fill_tx_desc(struct rtwn_softc *sc, struct ieee80211_node *ni, struct mbuf *m, void *buf, uint8_t ridx, int maxretry) @@ -280,9 +302,9 @@ r12a_fill_tx_desc(struct rtwn_softc *sc, struct ieee80211_node *ni, if (m->m_flags & M_AMPDU_MPDU) { txd->txdw2 |= htole32(R12A_TXDW2_AGGEN); txd->txdw2 |= htole32(SM(R12A_TXDW2_AMPDU_DEN, - vap->iv_ampdu_density)); + ieee80211_ht_get_node_ampdu_density(ni))); txd->txdw3 |= htole32(SM(R12A_TXDW3_MAX_AGG, - 0x1f)); /* XXX */ + r12a_calculate_tx_agg_window(sc, ni, tid))); } else txd->txdw2 |= htole32(R12A_TXDW2_AGGBK); From nobody Thu Dec 5 07:30:14 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3mJ62GBpz5g3vB; Thu, 05 Dec 2024 07:30:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3mJ61kZqz4KjW; Thu, 5 Dec 2024 07:30:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F1BM2MSaTqw+2QnTFEhM1LcVnJ6DtHNlqOuFzAsC8IA=; b=UazBXRh0OmW9m+Wf1ipy00loypqApInbeJkJ6FDNsL69axhe+S/jOC3tSY+iZpDJflQUrL Zo/S0qFkkT72p5QM+FKToRmEEIV4QU3IbMaUXs4BYkokIcf8FYYJ4Hm3Qb/Ayr5yt8C9/T Q0SK2qxSj9rhcj1XvXKB1X6nZApmib820WgD4nrqBC1Y2fv2xDM3pUpKzH3D/gZz0zDzuz LNGmknPxiKzXgDspwVFGZQtb0iA4GToqP2wGy3fx8LqbjHT8Yhlfo8tUaAD2n5kpbrdGMl GYx/lwlXNNtOdWP0tWz0Q9copG0L/mYDl73cNDLkHJadiA/Iu/kNwLwGspG0fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=F1BM2MSaTqw+2QnTFEhM1LcVnJ6DtHNlqOuFzAsC8IA=; b=NsQxEopfOHwFQMbGi5BLGPY07cMVC+M12EeGdt6vHJBH0WkAe4KAvuL2JczpZogEN7+yUd SRi1bBej+49DBc6LkR0zLipbv2ZrD6JEgz1DbFGnd04XKhgVA1qBDiEQG5mNwq6g0EHHP0 R1zmxPE+ZRymfSYjfv3V4QR/xXAygPqAzEOuG+WwfkEKWIdlbpn0cUaPFOZ7D1irTuoGW4 QSWej36WRZ/i3Nc2KwGa3I1xFwNvcp2Tgc12Fs2sjA7r69KTigNy4vJfnFOb9KdgP0se50 rlQ9036bNGvw6cZcRkUP8/dgX9zwlqtvTHo0/99NZQ2NtBpC0Yt8XjgPhW0+kA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733383814; a=rsa-sha256; cv=none; b=UPr7Bo4I8QTZFCzCaWKob/AUk0DAdDAUG4qtSqLfDxmvaZ0diaKER7Ajv9YpZT3/9rtLEN nVbW9gKtSYVgytWStP5Yi49NCXv9jB7Iyhw7udoEP17uKwTG0ijKPOedhLUXH9Vi2PWiWb 8+PnomFvGaWpk5lVMZRTKYvkK+J7jZPKzzo/45QXbKgQ4HlHJp1ZFlUsXbCAOuGLGTAj9U HW7sRwpeIVLf0rWQwRHVEHC+lSNPfl8tJfGRljjwDUg3EynBLuYF2G+Jj9Hm8Lo4hutKfY 81L4NRF5Eg3fcqE+UZLfZOvzL12aJBBgIuuRb28zb+QKDiApIoCVawl6M93v+Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3mJ61DQ9zjTD; Thu, 5 Dec 2024 07:30: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 4B57UEKe021327; Thu, 5 Dec 2024 07:30:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B57UEdU021318; Thu, 5 Dec 2024 07:30:14 GMT (envelope-from git) Date: Thu, 5 Dec 2024 07:30:14 GMT Message-Id: <202412050730.4B57UEdU021318@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: 4fa68495f04f - main - rtwn: fix rtl8812/rtl8821 vht definitions, add VHT calibration/rate control List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 4fa68495f04ff3906c6d93d7c296fea5bc0311d3 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=4fa68495f04ff3906c6d93d7c296fea5bc0311d3 commit 4fa68495f04ff3906c6d93d7c296fea5bc0311d3 Author: Adrian Chadd AuthorDate: 2024-11-26 23:55:26 +0000 Commit: Adrian Chadd CommitDate: 2024-12-05 07:26:49 +0000 rtwn: fix rtl8812/rtl8821 vht definitions, add VHT calibration/rate control * Add support for 80MHz channels during IQ calibration * Correct the RAID flags for 1 and 2 stream VHT - the later ones are for 2GHz VHT and then 3/4 stream VHT * Add VHT to the RAID calculation for when we eventually transmit VHT rates. Obtained from: Linux rtw88 (https://github.com/lwfinger/rtw88) Differential Revision: https://reviews.freebsd.org/D47774 --- sys/dev/rtwn/rtl8812a/r12a_fw.c | 6 ++++-- sys/dev/rtwn/rtl8812a/r12a_reg.h | 4 ++-- sys/dev/rtwn/rtl8812a/r12a_tx.c | 10 +++++++++- sys/dev/rtwn/rtl8812a/r12a_tx_desc.h | 6 ++---- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/sys/dev/rtwn/rtl8812a/r12a_fw.c b/sys/dev/rtwn/rtl8812a/r12a_fw.c index 6d383fe2f5ad..c2c12c2a2ee2 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_fw.c +++ b/sys/dev/rtwn/rtl8812a/r12a_fw.c @@ -171,8 +171,10 @@ r12a_iq_calib_fw(struct rtwn_softc *sc) else cmd.band_bw = RTWN_CMD_IQ_BAND_2GHZ; - /* TODO: 80/160 MHz. */ - if (IEEE80211_IS_CHAN_HT40(c)) + /* TODO: 160MHz */ + if (IEEE80211_IS_CHAN_VHT80(c)) + cmd.band_bw |= RTWN_CMD_IQ_CHAN_WIDTH_80; + else if (IEEE80211_IS_CHAN_HT40(c) || IEEE80211_IS_CHAN_VHT40(c)) cmd.band_bw |= RTWN_CMD_IQ_CHAN_WIDTH_40; else cmd.band_bw |= RTWN_CMD_IQ_CHAN_WIDTH_20; diff --git a/sys/dev/rtwn/rtl8812a/r12a_reg.h b/sys/dev/rtwn/rtl8812a/r12a_reg.h index f9acc2047490..4e9892ce2592 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_reg.h +++ b/sys/dev/rtwn/rtl8812a/r12a_reg.h @@ -75,8 +75,8 @@ #define R12A_DATA_SEC_PRIM_DOWN_20 0x02 #define R12A_DATA_SEC_PRIM_UPPER_20 0x03 #define R12A_DATA_SEC_PRIM_LOWER_20 0x04 -#define R12A_DATA_SEC_PRIM_UP_40 0x90 -#define R12A_DATA_SEC_PRIM_DOWN_40 0xa0 +#define R12A_DATA_SEC_PRIM_UP_40 0x09 +#define R12A_DATA_SEC_PRIM_DOWN_40 0x0a /* Bits for R12A_HT_SINGLE_AMPDU. */ #define R12A_HT_SINGLE_AMPDU_PKT_ENA 0x80 diff --git a/sys/dev/rtwn/rtl8812a/r12a_tx.c b/sys/dev/rtwn/rtl8812a/r12a_tx.c index 6102a0567e74..e6b5111063f7 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_tx.c +++ b/sys/dev/rtwn/rtl8812a/r12a_tx.c @@ -147,6 +147,9 @@ r12a_tx_raid(struct rtwn_softc *sc, struct r12a_tx_desc *txd, case IEEE80211_MODE_11NG: mode = IEEE80211_MODE_11G; break; + case IEEE80211_MODE_VHT_5GHZ: + mode = IEEE80211_MODE_VHT_5GHZ; + break; default: device_printf(sc->sc_dev, "unknown mode(1) %d!\n", ic->ic_curmode); @@ -186,8 +189,13 @@ r12a_tx_raid(struct rtwn_softc *sc, struct r12a_tx_desc *txd, raid = R12A_RAID_11BGN_2; } break; + case IEEE80211_MODE_VHT_5GHZ: + if (sc->ntxchains == 1) + raid = R12A_RAID_11AC_1; + else + raid = R12A_RAID_11AC_2; + break; default: - /* TODO: 80 MHz / 11ac */ device_printf(sc->sc_dev, "unknown mode(2) %d!\n", mode); return; } diff --git a/sys/dev/rtwn/rtl8812a/r12a_tx_desc.h b/sys/dev/rtwn/rtl8812a/r12a_tx_desc.h index 93cc9b867401..7d0793a0fe10 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_tx_desc.h +++ b/sys/dev/rtwn/rtl8812a/r12a_tx_desc.h @@ -138,9 +138,7 @@ struct r12a_tx_desc { #define R12A_RAID_11BG 6 #define R12A_RAID_11G 7 /* "pure" 11g */ #define R12A_RAID_11B 8 -#define R12A_RAID_11AC_2_80 9 -#define R12A_RAID_11AC_1_80 10 -#define R12A_RAID_11AC_1 11 -#define R12A_RAID_11AC_2 12 +#define R12A_RAID_11AC_2 9 +#define R12A_RAID_11AC_1 10 #endif /* R12A_TX_DESC_H */ From nobody Thu Dec 5 07:30:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3mJ74xSTz5g3hM; Thu, 05 Dec 2024 07:30:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3mJ73PFsz4KYx; Thu, 5 Dec 2024 07:30:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jr6gzLFn76OaOuJUX5iR/G7uKmSQoGjh4pya4FAlGT8=; b=X0AppszNNbcktu7W8CT3HAOJ5Dc/8Gw0DcKawszy5M8Ksj4BBSU8oearKE2kLHSqnRjgzg SsBZd/36tXnUYWL9jXTQnsSG6lYAe1lKOLodYbJcfoDihNz9D3RyHAw2uR5HMgU5c8sCc4 QNG+/OveGq42pgAfLFZGTAeV08ACqGQfnJV6Eepm3XzJflJmJb/yst+LKd3OVtg8w1KHlu 0PgGjayE/ABGKhTgUlY0o/5iiWU6v4vkJeYaSvMV7gFkdxlwLB1Zrzkq8o2QDsC2NpF1h7 O7ATcYuXTNdjZGjvGUlrFtIZb7trpKQNdFgQBnorhdcsCqcIRxSn+Yq+0Wd5Eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383815; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jr6gzLFn76OaOuJUX5iR/G7uKmSQoGjh4pya4FAlGT8=; b=FSu/0BEpJRgcHak+B0O6r5exVBx/31dEpXMT4H8xxExHIQmjs1v6ctnE5Lwp4q00cQV7Fw EHkW6WezpSmWQ0KvgjX1d6WySKj3VuckWQTbny05N6qoGENwe6OGasA1I+5uITJIb3fTLw zk/mBNk8T+JVXlRyhX44M1TENau07mJvQJOzhsNkvZ1Eq/b+wzjGl+m/Czo7fhj5kA84Nw ZkZK/z05mN8MGsoRSYqHzZxyrRzuiqp+u7ebtp9u3k3C9i6yNnl/3ndCVB3a90mdnW4MJ7 3SYGbDfJAiIWNLc9k/XUa9N7NuFFO/wyw19HDGMqMttm7eRiKEJ1pFWCPOmZNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733383815; a=rsa-sha256; cv=none; b=GD1wvWMFy99o4oeyP1GJ8SADR5iXWrz4r+DJhCkzgORXLHggGe+IYXrMJROO6l2LnQPbbl r0N4xhmlRsyWl7SiWagLjooGyhazvMX9lH3vGBuaDcNxtY1BMGFSzXH7oqhDJA7aGcvEir q70QuQds9Eb3GaZRkqxHcUBlER/mh2OBI4nI4HKC6eUvgGXJ+/XDgmGGzd60Y1MnTImtWL j6aRZ1kzT4Oicn5KkR+gH8UtwM9bReoaT00kQIJ0JKm48kMVhssBYR/vetP3Hx6hTOAIh/ Q5tYky132sGvz7bCVxP26c0TkkRtuGK2MsQzxbqlPGZCDZwwH0fUWsFc1oPOEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3mJ71Rc3zk7Z; Thu, 5 Dec 2024 07:30: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 4B57UFQx022118; Thu, 5 Dec 2024 07:30:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B57UFus022113; Thu, 5 Dec 2024 07:30:15 GMT (envelope-from git) Date: Thu, 5 Dec 2024 07:30:15 GMT Message-Id: <202412050730.4B57UFus022113@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: d76247e801de - main - rtwn: enable FCS in the recive config to work around truncated frames List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d76247e801dec95600a068fa1bb09f4f57e00031 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=d76247e801dec95600a068fa1bb09f4f57e00031 commit d76247e801dec95600a068fa1bb09f4f57e00031 Author: Adrian Chadd AuthorDate: 2024-11-27 00:59:15 +0000 Commit: Adrian Chadd CommitDate: 2024-12-05 07:27:03 +0000 rtwn: enable FCS in the recive config to work around truncated frames I noticed that on RTL8812AU/RTL8821AU receiving VHT frames that I'd occasionally see frames missing the last 4 bytes. I can easily reproduce it with a ping sweep and fast (10ms) between frames. There's also a report of an earlier NIC (RTL8188EU) doing the same thing with HT frames but not with OFDM (11g) frames. After a bunch of poking, it turns out a driver where things DID work properly for the other report kept FCS enabled, and trimmed it from the frame before pushing it up to the network layer. I did the same and it also worked fine. The other solution was to disable PHYSTATUS notifications, but then we'd get no per packet RX notifications (RX rate, RSSI, etc.) Locally tested: * RTL8192EU, STA mode (HT) * RTL8812AU, STA mode (HT, VHT) * RTL8821AU, STA mode (HT, VHT) Differential Revision: https://reviews.freebsd.org/D47775 --- sys/dev/rtwn/if_rtwn_rx.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sys/dev/rtwn/if_rtwn_rx.c b/sys/dev/rtwn/if_rtwn_rx.c index 762472eca440..ebfb8e67ec6d 100644 --- a/sys/dev/rtwn/if_rtwn_rx.c +++ b/sys/dev/rtwn/if_rtwn_rx.c @@ -318,6 +318,10 @@ rtwn_rx_common(struct rtwn_softc *sc, struct mbuf *m, void *desc) /* Drop PHY descriptor. */ m_adj(m, infosz + shift); + /* If APPFCS, drop FCS */ + if (sc->rcr & R92C_RCR_APPFCS) + m_adj(m, -IEEE80211_CRC_LEN); + return (ni); } @@ -456,6 +460,15 @@ rtwn_rxfilter_init(struct rtwn_softc *sc) R92C_RCR_HTC_LOC_CTRL | R92C_RCR_APP_PHYSTS | R92C_RCR_APP_ICV | R92C_RCR_APP_MIC; + /* + * Add FCS, to work around occasional 4 byte truncation + * with some frames. This is more problematic on RTL8812/ + * RTL8821 because they're also doing L3/L4 checksum offload + * and hardware encryption, so both are tagged as "passed" + * before the frame is truncated. + */ + sc->rcr |= R92C_RCR_APPFCS; + /* Update dynamic Rx filter parts. */ rtwn_rxfilter_update(sc); } @@ -487,7 +500,7 @@ rtwn_set_promisc(struct rtwn_softc *sc) RTWN_ASSERT_LOCKED(sc); mask_all = R92C_RCR_ACF | R92C_RCR_ADF | R92C_RCR_AMF | R92C_RCR_AAP; - mask_min = R92C_RCR_APM; + mask_min = R92C_RCR_APM | R92C_RCR_APPFCS; if (sc->bcn_vaps == 0) mask_min |= R92C_RCR_CBSSID_BCN; From nobody Thu Dec 5 07:30:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3mJ86GXgz5g43W; Thu, 05 Dec 2024 07:30:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3mJ8399gz4KZ8; Thu, 5 Dec 2024 07:30:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kuX5zwED9FUF/KVSQcColbqducgPD4QpVBzt2goQKiM=; b=nF7ok1lW3TyYBFMeJC5HMruQSYQQqrIDHPbOKRr457RXY4dfmpV76sKi6LDUU6bfkLdGZr QLIqF/r61GNwEXF/11GCmlVlDzrmxsxhUAAoBLRK9LIH3AAnoy1x3/+CfwFyNH0AEzW2lf 12SM8afPE8dbUqgJRo31NWTdZrDyMeas1UBA16U51mOF6ha5Rg9XPW6jHlUd+zKCjtZMKg X66P04bsvNvW1MzS6E9jJJWwbAmY4HgxYmAWXyqkBuUHHyJXXQih/1Ivwt5/fcWVESUTgq m3J+AGQKZ7Vkbm08H+WxiknpI5JFDPkwWFcudOyni23JQP+27dFeeC8PnrnDAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kuX5zwED9FUF/KVSQcColbqducgPD4QpVBzt2goQKiM=; b=jbAigNjYZBTOjrDL0u7njnfX0nc5IA8VdT0Ibmko/YogTVAVne8NDe2HP1Ft+uuhKhB7A9 s9tu8wJm1G3+ubdcASwmOVBgfrsRhQQz8zHbedU2ElX4kqUOJ+02d7s0k8xqS/GKULDl7D Oy5os2kZi7G6X0ETikKAiIcNQs8U4sl+qjtpjKplXaqKOWZTfl1+M8oW1k2J2b8CnKHghH fNNZy1wCUhQ3nkVeHECkEClfde/KhoAkF0v3P6rtduOgu4tsf2wLn6xgEciiwzkZZEGewP 7ZuoYNO2Mfzs2CFdkTkiRF6MZVsIaoEDsp6pGJ74o522eRpsFXAuRZc4JKw8eg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733383816; a=rsa-sha256; cv=none; b=m2pajfNtSVNDqNBC4FSF4/TeOgZU9uw/IMQxZ+X5f2GR7PR+T5WRYlRM8u279icK4BDUNT EIaBq5SxDsutpLQjUZgRu0l7AWiEixPeyCb4FYa1ND+lOZP2s98AyqtA3lWhrwLLIRyDEb 3ipM9xb40d5FmRLr4RfxZgwfC8CE79hp0gF+/AXsKuyzKhgTEjm4Hcyqv2MZww5PYwwQhh fdgyCBGzTWCGAd+EtNr6i+aVEy67Z7YvTYP/NTObYFBiIbfUKt3QMx+ZmdXt2MGXF2M+KI 4BMNeVR6Tw1e9WZlPcegHeXLMFGGNFTt+FGgeVuUh46xQJrBxrQ5mKz6zP5z2Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3mJ82JW1zkB7; Thu, 5 Dec 2024 07:30: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 4B57UGQ7022772; Thu, 5 Dec 2024 07:30:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B57UGHE022761; Thu, 5 Dec 2024 07:30:16 GMT (envelope-from git) Date: Thu, 5 Dec 2024 07:30:16 GMT Message-Id: <202412050730.4B57UGHE022761@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: 05c3851b20e0 - main - rtwn: enable receiving AMSDU in AMPDU List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 05c3851b20e0c9036f8252fa3056df23d72369bb Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=05c3851b20e0c9036f8252fa3056df23d72369bb commit 05c3851b20e0c9036f8252fa3056df23d72369bb Author: Adrian Chadd AuthorDate: 2024-11-27 04:39:09 +0000 Commit: Adrian Chadd CommitDate: 2024-12-05 07:27:12 +0000 rtwn: enable receiving AMSDU in AMPDU All of the supported NICs should support this. Locally tested: * RTL8192CU, STA mode * RTL8192EU, STA mode * RTL8821AU, STA mode * RTL8812AU, STA mode Differential Revision: https://reviews.freebsd.org/D47776 --- sys/dev/rtwn/if_rtwn.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c index 4334d5700e51..df18dc54ed3f 100644 --- a/sys/dev/rtwn/if_rtwn.c +++ b/sys/dev/rtwn/if_rtwn.c @@ -247,6 +247,7 @@ rtwn_attach(struct rtwn_softc *sc) | IEEE80211_HTCAP_SMPS_OFF /* SM PS mode disabled */ /* s/w capabilities */ | IEEE80211_HTC_HT /* HT operation */ + | IEEE80211_HTC_RX_AMSDU_AMPDU /* A-MSDU in A-MPDU */ | IEEE80211_HTC_AMPDU /* A-MPDU tx */ | IEEE80211_HTC_AMSDU /* A-MSDU tx */ ; From nobody Thu Dec 5 07:30:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3mJ968qFz5g3vC; Thu, 05 Dec 2024 07:30:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3mJ93pp6z4KZL; Thu, 5 Dec 2024 07:30:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hzhVItoRz7yX6YR4VP4K3LnVotq6jcRhur4aMR+gm0Q=; b=vwvemsBRa5ctRignslvlrg4TulUQDEH27LdWWxLmqZDsUF2kRs12tMKdElGaM3satzAiBK NcfSUYHk4i+NryuC81Re26/IBvQdPaawQF9EbBnT0038aJMXpvvfKF2BnvejC+fzPk5c3v 3A+6qg1v5Y/p+dSgXQlDfWkDcWfpDIL6EnaPTagClSbOGBA/XgKCds4drLR1vezkORIU1p IV8QiAwzqEpSvcfuT1b1RoLYgnJ6USNout6duCAI/gtRJHqGuCyUkdAVBCHTo90a6Q/G5/ hRK2V4trMNUM70FqEKz6Hn8UMy1tRBDghe3bWZnMoQISVe6dFWQKkAhLdn2Zzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hzhVItoRz7yX6YR4VP4K3LnVotq6jcRhur4aMR+gm0Q=; b=GVVRVeisI9q8oAQ3M3OFopEu9H/JHMkSmzlNNZTdmYOfOM96CSCnEB7EVAcREhLlpllHjZ uN0HuzkoQ4RuuqQUepqmNGPmyC8z9qlC3QSPGCdq2SPxEq5MM4UOpjO64t0T4A+PM9MLI8 fQfFwucM87cxc79cM1iiaaYhmCVt+ecamlUY0n4+X/jQ1fWRJluNA0XgFrk4V/PRivbOKI 5g2ZKLzrZWNAuoqQPEsceyflRas1hdhwgzS9bjx4PTTD9SrSnvgDIuS5Xls5tABlzJaGzW TKmkd0JkPZ6hBA9YNuBk3R6VN3GCnG27HSbpi08eVTrXBisQZm+2u7H7dM0mtg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733383817; a=rsa-sha256; cv=none; b=Gq6yiFG8BwAGB8MJzPajgvbGmb8ECxHMc/klEX3Soumgv6Wz7iRTSpwoHv6VrC7rZjI3WF Y8ZseTx6Y/AQz4KDQd1xBJ0WOle/Y8jQXHhjyKdsptormhQeT0Ic56hN1KmFKaSlba0adX ig6PKH/i2gbzJ7skGvMSDNhX0TMKQ4V7bgi7N4EHuLDLuM+0W0BORqUS0WV/qwLbF5d54K 0v2v6DrN6og3pDRG4VDyYsyl1N7VTM9nA1KbYN2ad9Qp67AQpK7KJJkqT4+hUSvnnRTOyN wZlTW65fAXilmZ9QATzxhJdP5CEyoieXvsC/HgQLg33Y5VwYAa8v6tGC2X5teA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3mJ9317Dzjhd; Thu, 5 Dec 2024 07:30: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 4B57UHa9023377; Thu, 5 Dec 2024 07:30:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B57UHjF023373; Thu, 5 Dec 2024 07:30:17 GMT (envelope-from git) Date: Thu, 5 Dec 2024 07:30:17 GMT Message-Id: <202412050730.4B57UHjF023373@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: 81aef988acc7 - main - rtwn: remove the conditional compilation around the sc_ht40 option. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 81aef988acc7b48e7943831cb4b4087895e108bc Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=81aef988acc7b48e7943831cb4b4087895e108bc commit 81aef988acc7b48e7943831cb4b4087895e108bc Author: Adrian Chadd AuthorDate: 2024-12-02 05:11:02 +0000 Commit: Adrian Chadd CommitDate: 2024-12-05 07:27:26 +0000 rtwn: remove the conditional compilation around the sc_ht40 option. This option stems from a bunch of issues a long time ago where HT40 support on some NICs is unstable - likely because we're not setting up the RF/baseband correctly. In any case, it doesn't need to be conditionally compiled anymore. Leave it in, leave it off by default, and various chipset initialisation paths can decide whether to enable it themselves. Reviewed by: emaste --- sys/dev/rtwn/if_rtwn.c | 2 -- sys/dev/rtwn/if_rtwnvar.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c index df18dc54ed3f..e452448976dd 100644 --- a/sys/dev/rtwn/if_rtwn.c +++ b/sys/dev/rtwn/if_rtwn.c @@ -326,12 +326,10 @@ rtwn_sysctlattach(struct rtwn_softc *sc) struct sysctl_ctx_list *ctx = device_get_sysctl_ctx(sc->sc_dev); struct sysctl_oid *tree = device_get_sysctl_tree(sc->sc_dev); -#if 1 sc->sc_ht40 = 0; SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "ht40", CTLFLAG_RDTUN, &sc->sc_ht40, sc->sc_ht40, "Enable 40 MHz mode support"); -#endif #ifdef RTWN_DEBUG SYSCTL_ADD_U32(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, diff --git a/sys/dev/rtwn/if_rtwnvar.h b/sys/dev/rtwn/if_rtwnvar.h index f4c6d7ee64b4..3d4db0a37a9e 100644 --- a/sys/dev/rtwn/if_rtwnvar.h +++ b/sys/dev/rtwn/if_rtwnvar.h @@ -171,9 +171,7 @@ struct rtwn_softc { struct mbufq sc_snd; device_t sc_dev; -#if 1 int sc_ht40; -#endif uint32_t sc_debug; int sc_hwcrypto; int sc_ratectl_sysctl; From nobody Thu Dec 5 07:30:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3mJC0zKXz5g3rs; Thu, 05 Dec 2024 07:30:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3mJB4W5Kz4Ksx; Thu, 5 Dec 2024 07:30:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hMEDtxtRZsNOmDZWiGouQI2okEs4cbheQ8Xn6fDhHEk=; b=nwC7didF/O3nE94dsMwmdPjQGihdxmDZ4fxrEMpdFzGMmXtY2eP4G2RhH/RlxSDnt4gEM7 KXNYVOcERCAGKnO8owFgog4uw2ju0ON+6DQX/0TsqWAP57pIx1aXpiDRmVLsHJzrHVz5/9 58rKyYJpshNCkTrIGU9oUOo1TLSkRVKQK92GaowkPjBWv37x5eRV03PjHYGkKAUHPIQ/Iv LwIYnRb38M4f/xQRjHvCm96KjzHKxK6zreFfqi6vgLgDXmkXHthr2cl+4Y1QJJAQdFHlMm jBboSnacVNLthwzg29rSg82dyVbHA6WRtDs1vPH3Jb08U/RSmVJlZDljHFNGfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733383818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hMEDtxtRZsNOmDZWiGouQI2okEs4cbheQ8Xn6fDhHEk=; b=X5/H+Oqc7RZJxnkQbxtxwLEnz5sSBaNGRWYC2MLYsKzftvmRFJyH1nhlxFld+t7TXL/aQZ BXO6X9HRHD8bGHlOQvi6zKGb8lFUjCgM/LseyF7LspMnP3PvmPggYHHj0hFK0cAUlC1Yuq tJhUCsGvJusJ2zO0oqG+V8m8m3Gmoo6IDLPCb4NFPIGOHc4U7E+6uOuD4HNQaByQHCS0MJ IOQUa97jxRIkqk7DeniSSIrJrj0a7Qg1FfT/RkgnBojDf7jzFCd6o7iiy9KILZFI7GvOSN DDSodD/hGoTPWFGG8p9VfSiKQ5ucm4y/aYxpEnMoLPJM+QPjleNLgyDOKi9VgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733383818; a=rsa-sha256; cv=none; b=J9e6hx9Q8A2Y3Ol5loOjjt7NwtUzwXlfM9PlD+GUVVpG7oWdRi0CtKGM4yX61n+vqp8Ju3 YEd9PVMQ6mjGy6r8m5Oyl8s4DaWQm3g0jMm+h+y+DsubD8AIHWKXyeu6ELikFt7mRAjzqF 3d3dIECvNdL8cTsm2TzPZe1Pj83PlczmaV0fyC97jnGv2pSNjUIAKF8btS+B0jEA4IU+wD HS+v5AFvQWcz+sf/L8SA9nHKh5db+13jHeKrO9aRn4332U3bazi3CsGfBcedLXE/9Jd4+D i86G+XovggLoy/uGfekptZ0s4LGUpWyxUtdAL1cP6+OC1vY55SF2pMnHH6hfTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3mJB3YKGzjTF; Thu, 5 Dec 2024 07:30: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 4B57UIXd023673; Thu, 5 Dec 2024 07:30:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B57UIgK023670; Thu, 5 Dec 2024 07:30:18 GMT (envelope-from git) Date: Thu, 5 Dec 2024 07:30:18 GMT Message-Id: <202412050730.4B57UIgK023670@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: fcb5e8d0c19a - main - rtwn: don't do 64 bit TSF extension by default List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fcb5e8d0c19ac21515ab3047d39a76b32d835cec Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=fcb5e8d0c19ac21515ab3047d39a76b32d835cec commit fcb5e8d0c19ac21515ab3047d39a76b32d835cec Author: Adrian Chadd AuthorDate: 2024-12-02 05:22:45 +0000 Commit: Adrian Chadd CommitDate: 2024-12-05 07:27:46 +0000 rtwn: don't do 64 bit TSF extension by default The TSF64 extension involves at least 3 reads from TSF registers (R92C_TSFTR(0), R92C_TSFTR(1), R92C_TSFTR(2)) which are 4 byte control transfers. They take up valuable USB link time. It's likely much less expensive for PCIe adapters. At some point it may be worthwhile enabling it by default just for those. With this disabled, the only USB traffic that I see during normal data operation are bulk TX/RX data transfers for 802.11 packets, and on NICs w/ net80211 rate control, the control register space read/writes for TX completion. (And that will also need addressing.) This is the difference between 15mbit TCP RX and 30mbit TCP RX on the 11n NICs, and around 40 to 50mbit TCP RX on the 11ac NICs in HT40 and VHT80. Locally tested: * RTL8188EU, STA mode * RTL8192CU, STA mode * RTL8192EU, STA mode * RTL8811AU, STA mode * RTL8821AU, STA mode Differential Revision: https://reviews.freebsd.org/D47861 --- sys/dev/rtwn/if_rtwn.c | 5 +++++ sys/dev/rtwn/if_rtwn_rx.c | 14 ++++++++++++-- sys/dev/rtwn/if_rtwnvar.h | 1 + 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c index e452448976dd..3d0dce516f84 100644 --- a/sys/dev/rtwn/if_rtwn.c +++ b/sys/dev/rtwn/if_rtwn.c @@ -331,6 +331,11 @@ rtwn_sysctlattach(struct rtwn_softc *sc) "ht40", CTLFLAG_RDTUN, &sc->sc_ht40, sc->sc_ht40, "Enable 40 MHz mode support"); + sc->sc_ena_tsf64 = 0; + SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "ena_tsf64", CTLFLAG_RWTUN, &sc->sc_ena_tsf64, + sc->sc_ena_tsf64, "Enable/disable per-packet TSF64 reporting"); + #ifdef RTWN_DEBUG SYSCTL_ADD_U32(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "debug", CTLFLAG_RWTUN, &sc->sc_debug, sc->sc_debug, diff --git a/sys/dev/rtwn/if_rtwn_rx.c b/sys/dev/rtwn/if_rtwn_rx.c index ebfb8e67ec6d..58cd53b01e63 100644 --- a/sys/dev/rtwn/if_rtwn_rx.c +++ b/sys/dev/rtwn/if_rtwn_rx.c @@ -285,8 +285,18 @@ rtwn_rx_common(struct rtwn_softc *sc, struct mbuf *m, void *desc) rxs.c_pktflags |= IEEE80211_RX_F_FAIL_FCSCRC; rxs.r_flags |= IEEE80211_R_TSF_START; /* XXX undocumented */ - rxs.r_flags |= IEEE80211_R_TSF64; - rxs.c_rx_tsf = rtwn_extend_rx_tsf(sc, stat); + + /* + * Doing the TSF64 extension on USB is expensive, especially + * if it's being done on every MPDU in an AMPDU burst. + */ + if (sc->sc_ena_tsf64) { + rxs.r_flags |= IEEE80211_R_TSF64; + rxs.c_rx_tsf = rtwn_extend_rx_tsf(sc, stat); + } else { + rxs.r_flags |= IEEE80211_R_TSF32; + rxs.c_rx_tsf = le32toh(stat->tsf_low); + } /* Get RSSI from PHY status descriptor. */ is_cck = (rxs.c_pktflags & IEEE80211_RX_F_CCK) != 0; diff --git a/sys/dev/rtwn/if_rtwnvar.h b/sys/dev/rtwn/if_rtwnvar.h index 3d4db0a37a9e..d4458384dbd7 100644 --- a/sys/dev/rtwn/if_rtwnvar.h +++ b/sys/dev/rtwn/if_rtwnvar.h @@ -172,6 +172,7 @@ struct rtwn_softc { device_t sc_dev; int sc_ht40; + int sc_ena_tsf64; uint32_t sc_debug; int sc_hwcrypto; int sc_ratectl_sysctl; From nobody Thu Dec 5 15:20:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3yl52CcPz5gdLn; Thu, 05 Dec 2024 15:20:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y3yl50NHQz56Xh; Thu, 5 Dec 2024 15:20:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733412049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lHNWCKh2ODYhaT+Z8oXSdmlUUj5kr2I2AYJhJo84rmI=; b=GIcLTDylBV8GvYS1DvOTojuAEb03U4SUYIHd1fsR1BozimlhZnjHSC/VonVXZuo3DsJ/7A pyqjcIZw7hP/vZK3rq4+EeplhCdszLD+jTea9ZiZ0/eJ9h2KihT62smvaoSyrs4LaOFbue n4aDB/AFO0NzBpBMY1EK5FDPgZbyf7Syh/6Zv8mZnrTkfHlECl9/QlXq9aTi6xbP37TwiI W5TL9/HMWzgLebQxiXVdhkhUYUW3alU7B4WQs/QcsY38oL6j2qjCGUYesmNMnCj70iz2Hx 4ZeTwcohJ59d/UqVyg2/PusLSwZRgm49iU33rL7docPkHE4g2K9Ncw4BZHiYBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733412049; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lHNWCKh2ODYhaT+Z8oXSdmlUUj5kr2I2AYJhJo84rmI=; b=IM0iZYOD+HJqpL4y3l5kZMnTO6P9L44S5Kw5EPwIVWGTBWM7Y5IszPaNyy/Of3Tyyv0cHP seZd1Gu++Lg5ihFPzVFMS9kotXafaqroMWWbSZJYCfoDUIjnw3otm7vTQi00kwDj9eI3WJ GcJX91V2KGxK+L1FWIgsnErJBKCFZovUc9h1iVXKI2bGBQARIuiFFJeRt4Ok0JslZiADy4 aLnENGh+gG9lqfjzTm82hbS0s7gF7Za4CYJz0xuqRdKhApBbeOb6Hns3FsEtyXl5CLtZEa inHfTz5fDw7q3+78VPQdwj/dfJgMrwNxWTYEs/RDZt+0xzqg+iEYY79BmuDajQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733412049; a=rsa-sha256; cv=none; b=h6WBhszcFuapjjrTU2vIh+cMXaknSJmEkuc3JW87Tsv0qzqdPlTLeouCl1VFgOANjZTTjH VaPO2WO98T4z/hRvRRN+mUWuPwInRn8JaoUxVZO0X6kBf0bYk3h/zA99keNqK1e6ax2e3h rGTWTv402u+H5XH4HM/dkFEIpzI9E+CocYPbOQ0UtNwZE1LpHYqKpVS3Kju5QHg6Bzzudq 7jhQ0uUEAxR0uFMDIGzmerhSD82NyuYf1B2E7OCsjNNNvOzp2WlnFLK/E+m09cJ8MUKQH1 MtBacu557dZXBS20RnwGO00RF35tAFjPawLbWZShRdSi7ezz9mwWsZN3buZQng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y3yl454sRzxg2; Thu, 5 Dec 2024 15:20: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 4B5FKmcI099694; Thu, 5 Dec 2024 15:20:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B5FKmT0099691; Thu, 5 Dec 2024 15:20:48 GMT (envelope-from git) Date: Thu, 5 Dec 2024 15:20:48 GMT Message-Id: <202412051520.4B5FKmT0099691@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: 01f8ce83242d - main - inpcb: Factor out parts of in6_pcbbind() and in_pcbbind_setup() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 01f8ce83242d7a8e599cf6a78b6277161d79edd4 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=01f8ce83242d7a8e599cf6a78b6277161d79edd4 commit 01f8ce83242d7a8e599cf6a78b6277161d79edd4 Author: Mark Johnston AuthorDate: 2024-12-05 15:00:13 +0000 Commit: Mark Johnston CommitDate: 2024-12-05 15:19:57 +0000 inpcb: Factor out parts of in6_pcbbind() and in_pcbbind_setup() A large portion of these functions just determines whether the inpcb can bind to the address/port. This portion has no side effects, so is a good candidate to move into its own helper function. This patch does so, making the callers less complicated and reducing indentation. While moving this code, also make some changes: - Load socket options (SO_REUSEADDR etc.) only once. There is nothing preventing another thread from toggling the socket options, so make this function easier to reason about by avoiding races. - When checking whether the bind address is an interface address, make a separate sockaddr rather than temporarily modifying the one passed to in_pcbbind(). Reviewed by: ae, glebius MFC after: 1 month Sponsored by: Klara, Inc. Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D47590 --- sys/netinet/in_pcb.c | 172 ++++++++++++++++++-------------- sys/netinet6/in6_pcb.c | 262 +++++++++++++++++++++++++++---------------------- 2 files changed, 242 insertions(+), 192 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 7c881817ac6e..94fb406bcd2b 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -861,6 +861,93 @@ in_pcb_lport(struct inpcb *inp, struct in_addr *laddrp, u_short *lportp, #endif /* INET || INET6 */ #ifdef INET +/* + * Determine whether the inpcb can be bound to the specified address/port tuple. + */ +static int +in_pcbbind_avail(struct inpcb *inp, const struct in_addr laddr, + const u_short lport, int sooptions, int lookupflags, struct ucred *cred) +{ + int reuseport, reuseport_lb; + + INP_LOCK_ASSERT(inp); + INP_HASH_LOCK_ASSERT(inp->inp_pcbinfo); + + reuseport = (sooptions & SO_REUSEPORT); + reuseport_lb = (sooptions & SO_REUSEPORT_LB); + + if (IN_MULTICAST(ntohl(laddr.s_addr))) { + /* + * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; + * allow complete duplication of binding if + * SO_REUSEPORT is set, or if SO_REUSEADDR is set + * and a multicast address is bound on both + * new and duplicated sockets. + */ + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT)) != 0) + reuseport = SO_REUSEADDR | SO_REUSEPORT; + /* + * XXX: How to deal with SO_REUSEPORT_LB here? + * Treat same as SO_REUSEPORT for now. + */ + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT_LB)) != 0) + reuseport_lb = SO_REUSEADDR | SO_REUSEPORT_LB; + } else if (!in_nullhost(laddr)) { + struct sockaddr_in sin; + + memset(&sin, 0, sizeof(sin)); + sin.sin_family = AF_INET; + sin.sin_len = sizeof(sin); + sin.sin_addr = laddr; + + /* + * Is the address a local IP address? + * If INP_BINDANY is set, then the socket may be bound + * to any endpoint address, local or not. + */ + if ((inp->inp_flags & INP_BINDANY) == 0 && + ifa_ifwithaddr_check((const struct sockaddr *)&sin) == 0) + return (EADDRNOTAVAIL); + } + + if (lport != 0) { + struct inpcb *t; + + if (ntohs(lport) <= V_ipport_reservedhigh && + ntohs(lport) >= V_ipport_reservedlow && + priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) + return (EACCES); + + if (!IN_MULTICAST(ntohl(laddr.s_addr)) && + priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != 0) { + t = in_pcblookup_local(inp->inp_pcbinfo, laddr, lport, + INPLOOKUP_WILDCARD, cred); + if (t != NULL && + (inp->inp_socket->so_type != SOCK_STREAM || + in_nullhost(t->inp_faddr)) && + (!in_nullhost(laddr) || + !in_nullhost(t->inp_laddr) || + (t->inp_socket->so_options & SO_REUSEPORT) || + (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && + (inp->inp_cred->cr_uid != t->inp_cred->cr_uid)) + return (EADDRINUSE); + } + t = in_pcblookup_local(inp->inp_pcbinfo, laddr, lport, + lookupflags, cred); + if (t != NULL && ((reuseport | reuseport_lb) & + t->inp_socket->so_options) == 0) { +#ifdef INET6 + if (!in_nullhost(laddr) || + !in_nullhost(t->inp_laddr) || + (inp->inp_vflag & INP_IPV6PROTO) == 0 || + (t->inp_vflag & INP_IPV6PROTO) == 0) +#endif + return (EADDRINUSE); + } + } + return (0); +} + /* * Set up a bind operation on a PCB, performing port allocation * as required, but do not actually modify the PCB. Callers can @@ -878,15 +965,9 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; struct in_addr laddr; u_short lport = 0; - int lookupflags = 0, reuseport = (so->so_options & SO_REUSEPORT); + int lookupflags, sooptions; int error; - /* - * XXX: Maybe we could let SO_REUSEPORT_LB set SO_REUSEPORT bit here - * so that we don't have to add to the (already messy) code below. - */ - int reuseport_lb = (so->so_options & SO_REUSEPORT_LB); - /* * No state changes, so read locks are sufficient here. */ @@ -896,7 +977,10 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, laddr.s_addr = *laddrp; if (sin != NULL && laddr.s_addr != INADDR_ANY) return (EINVAL); - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT|SO_REUSEPORT_LB)) == 0) + + lookupflags = 0; + sooptions = atomic_load_int(&so->so_options); + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT | SO_REUSEPORT_LB)) == 0) lookupflags = INPLOOKUP_WILDCARD; if (sin == NULL) { if ((error = prison_local_ip4(cred, &laddr)) != 0) @@ -918,73 +1002,11 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, } laddr = sin->sin_addr; - /* NB: lport is left as 0 if the port isn't being changed. */ - if (IN_MULTICAST(ntohl(laddr.s_addr))) { - /* - * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; - * allow complete duplication of binding if - * SO_REUSEPORT is set, or if SO_REUSEADDR is set - * and a multicast address is bound on both - * new and duplicated sockets. - */ - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT)) != 0) - reuseport = SO_REUSEADDR|SO_REUSEPORT; - /* - * XXX: How to deal with SO_REUSEPORT_LB here? - * Treat same as SO_REUSEPORT for now. - */ - if ((so->so_options & - (SO_REUSEADDR|SO_REUSEPORT_LB)) != 0) - reuseport_lb = SO_REUSEADDR|SO_REUSEPORT_LB; - } else if (!in_nullhost(laddr)) { - sin->sin_port = 0; /* yech... */ - bzero(&sin->sin_zero, sizeof(sin->sin_zero)); - /* - * Is the address a local IP address? - * If INP_BINDANY is set, then the socket may be bound - * to any endpoint address, local or not. - */ - if ((inp->inp_flags & INP_BINDANY) == 0 && - ifa_ifwithaddr_check( - (const struct sockaddr *)sin) == 0) - return (EADDRNOTAVAIL); - } - if (lport) { - struct inpcb *t; - - if (ntohs(lport) <= V_ipport_reservedhigh && - ntohs(lport) >= V_ipport_reservedlow && - priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) - return (EACCES); - - if (!IN_MULTICAST(ntohl(laddr.s_addr)) && - priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != 0) { - t = in_pcblookup_local(pcbinfo, laddr, lport, - INPLOOKUP_WILDCARD, cred); - if (t != NULL && - (so->so_type != SOCK_STREAM || - in_nullhost(t->inp_faddr)) && - (!in_nullhost(laddr) || - !in_nullhost(t->inp_laddr) || - (t->inp_socket->so_options & SO_REUSEPORT) || - (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && - (inp->inp_cred->cr_uid != - t->inp_cred->cr_uid)) - return (EADDRINUSE); - } - t = in_pcblookup_local(pcbinfo, laddr, lport, - lookupflags, cred); - if (t != NULL && ((reuseport | reuseport_lb) & - t->inp_socket->so_options) == 0) { -#ifdef INET6 - if (!in_nullhost(laddr) || - !in_nullhost(t->inp_laddr) || - (inp->inp_vflag & INP_IPV6PROTO) == 0 || - (t->inp_vflag & INP_IPV6PROTO) == 0) -#endif - return (EADDRINUSE); - } - } + /* See if this address/port combo is available. */ + error = in_pcbbind_avail(inp, laddr, lport, sooptions, + lookupflags, cred); + if (error != 0) + return (error); } if (*lportp != 0) lport = *lportp; diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 639ec68e19e2..6b5a9d3706be 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -160,27 +160,157 @@ in6_pcbsetport(struct in6_addr *laddr, struct inpcb *inp, struct ucred *cred) return (0); } +/* + * Determine whether the inpcb can be bound to the specified address/port tuple. + */ +static int +in6_pcbbind_avail(struct inpcb *inp, const struct sockaddr_in6 *sin6, + int sooptions, int lookupflags, struct ucred *cred) +{ + const struct in6_addr *laddr; + int reuseport, reuseport_lb; + u_short lport; + + INP_LOCK_ASSERT(inp); + INP_HASH_LOCK_ASSERT(inp->inp_pcbinfo); + + laddr = &sin6->sin6_addr; + lport = sin6->sin6_port; + + reuseport = (sooptions & SO_REUSEPORT); + reuseport_lb = (sooptions & SO_REUSEPORT_LB); + + if (IN6_IS_ADDR_MULTICAST(laddr)) { + /* + * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; + * allow compepte duplication of binding if + * SO_REUSEPORT is set, or if SO_REUSEADDR is set + * and a multicast address is bound on both + * new and duplicated sockets. + */ + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT)) != 0) + reuseport = SO_REUSEADDR | SO_REUSEPORT; + /* + * XXX: How to deal with SO_REUSEPORT_LB here? + * Treat same as SO_REUSEPORT for now. + */ + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT_LB)) != 0) + reuseport_lb = SO_REUSEADDR | SO_REUSEPORT_LB; + } else if (!IN6_IS_ADDR_UNSPECIFIED(laddr)) { + struct sockaddr_in6 sin6; + struct epoch_tracker et; + struct ifaddr *ifa; + + memset(&sin6, 0, sizeof(sin6)); + sin6.sin6_family = AF_INET6; + sin6.sin6_len = sizeof(sin6); + sin6.sin6_addr = *laddr; + + NET_EPOCH_ENTER(et); + if ((ifa = ifa_ifwithaddr((const struct sockaddr *)&sin6)) == + NULL && (inp->inp_flags & INP_BINDANY) == 0) { + NET_EPOCH_EXIT(et); + return (EADDRNOTAVAIL); + } + + /* + * XXX: bind to an anycast address might accidentally + * cause sending a packet with anycast source address. + * We should allow to bind to a deprecated address, since + * the application dares to use it. + */ + if (ifa != NULL && + ((struct in6_ifaddr *)ifa)->ia6_flags & + (IN6_IFF_ANYCAST | IN6_IFF_NOTREADY | IN6_IFF_DETACHED)) { + NET_EPOCH_EXIT(et); + return (EADDRNOTAVAIL); + } + NET_EPOCH_EXIT(et); + } + + if (lport != 0) { + struct inpcb *t; + + if (ntohs(lport) <= V_ipport_reservedhigh && + ntohs(lport) >= V_ipport_reservedlow && + priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) + return (EACCES); + + if (!IN6_IS_ADDR_MULTICAST(laddr) && + priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != + 0) { + t = in6_pcblookup_local(inp->inp_pcbinfo, laddr, lport, + INPLOOKUP_WILDCARD, cred); + if (t != NULL && + (inp->inp_socket->so_type != SOCK_STREAM || + IN6_IS_ADDR_UNSPECIFIED(&t->in6p_faddr)) && + (!IN6_IS_ADDR_UNSPECIFIED(laddr) || + !IN6_IS_ADDR_UNSPECIFIED(&t->in6p_laddr) || + (t->inp_socket->so_options & SO_REUSEPORT) || + (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && + (inp->inp_cred->cr_uid != t->inp_cred->cr_uid)) + return (EADDRINUSE); + +#ifdef INET + if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && + IN6_IS_ADDR_UNSPECIFIED(laddr)) { + struct sockaddr_in sin; + + in6_sin6_2_sin(&sin, sin6); + t = in_pcblookup_local(inp->inp_pcbinfo, + sin.sin_addr, lport, INPLOOKUP_WILDCARD, + cred); + if (t != NULL && + (inp->inp_socket->so_type != SOCK_STREAM || + in_nullhost(t->inp_faddr)) && + (inp->inp_cred->cr_uid != + t->inp_cred->cr_uid)) + return (EADDRINUSE); + } +#endif + } + t = in6_pcblookup_local(inp->inp_pcbinfo, laddr, lport, + lookupflags, cred); + if (t != NULL && ((reuseport | reuseport_lb) & + t->inp_socket->so_options) == 0) + return (EADDRINUSE); +#ifdef INET + if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && + IN6_IS_ADDR_UNSPECIFIED(laddr)) { + struct sockaddr_in sin; + + in6_sin6_2_sin(&sin, sin6); + t = in_pcblookup_local(inp->inp_pcbinfo, sin.sin_addr, + lport, lookupflags, cred); + if (t != NULL && ((reuseport | reuseport_lb) & + t->inp_socket->so_options) == 0 && + (!in_nullhost(t->inp_laddr) || + (t->inp_vflag & INP_IPV6PROTO) != 0)) { + return (EADDRINUSE); + } + } +#endif + } + return (0); +} + int in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred) { struct socket *so = inp->inp_socket; struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; u_short lport = 0; - int error, lookupflags = 0; - int reuseport = (so->so_options & SO_REUSEPORT); - - /* - * XXX: Maybe we could let SO_REUSEPORT_LB set SO_REUSEPORT bit here - * so that we don't have to add to the (already messy) code below. - */ - int reuseport_lb = (so->so_options & SO_REUSEPORT_LB); + int error, lookupflags, sooptions; INP_WLOCK_ASSERT(inp); INP_HASH_WLOCK_ASSERT(pcbinfo); if (inp->inp_lport || !IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) return (EINVAL); - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT|SO_REUSEPORT_LB)) == 0) + + lookupflags = 0; + sooptions = atomic_load_int(&so->so_options); + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT | SO_REUSEPORT_LB)) == 0) lookupflags = INPLOOKUP_WILDCARD; if (sin6 == NULL) { if ((error = prison_local_ip6(cred, &inp->in6p_laddr, @@ -199,115 +329,13 @@ in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred) ((inp->inp_flags & IN6P_IPV6_V6ONLY) != 0))) != 0) return (error); - lport = sin6->sin6_port; - if (IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) { - /* - * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; - * allow compepte duplication of binding if - * SO_REUSEPORT is set, or if SO_REUSEADDR is set - * and a multicast address is bound on both - * new and duplicated sockets. - */ - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT)) != 0) - reuseport = SO_REUSEADDR|SO_REUSEPORT; - /* - * XXX: How to deal with SO_REUSEPORT_LB here? - * Treat same as SO_REUSEPORT for now. - */ - if ((so->so_options & - (SO_REUSEADDR|SO_REUSEPORT_LB)) != 0) - reuseport_lb = SO_REUSEADDR|SO_REUSEPORT_LB; - } else if (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { - struct epoch_tracker et; - struct ifaddr *ifa; - - sin6->sin6_port = 0; /* yech... */ - NET_EPOCH_ENTER(et); - if ((ifa = ifa_ifwithaddr((struct sockaddr *)sin6)) == - NULL && - (inp->inp_flags & INP_BINDANY) == 0) { - NET_EPOCH_EXIT(et); - return (EADDRNOTAVAIL); - } - - /* - * XXX: bind to an anycast address might accidentally - * cause sending a packet with anycast source address. - * We should allow to bind to a deprecated address, since - * the application dares to use it. - */ - if (ifa != NULL && - ((struct in6_ifaddr *)ifa)->ia6_flags & - (IN6_IFF_ANYCAST|IN6_IFF_NOTREADY|IN6_IFF_DETACHED)) { - NET_EPOCH_EXIT(et); - return (EADDRNOTAVAIL); - } - NET_EPOCH_EXIT(et); - } - if (lport) { - struct inpcb *t; - - if (ntohs(lport) <= V_ipport_reservedhigh && - ntohs(lport) >= V_ipport_reservedlow && - priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) - return (EACCES); - - if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr) && - priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != 0) { - t = in6_pcblookup_local(pcbinfo, - &sin6->sin6_addr, lport, - INPLOOKUP_WILDCARD, cred); - if (t != NULL && - (so->so_type != SOCK_STREAM || - IN6_IS_ADDR_UNSPECIFIED(&t->in6p_faddr)) && - (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr) || - !IN6_IS_ADDR_UNSPECIFIED(&t->in6p_laddr) || - (t->inp_socket->so_options & SO_REUSEPORT) || - (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && - (inp->inp_cred->cr_uid != - t->inp_cred->cr_uid)) - return (EADDRINUSE); - -#ifdef INET - if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && - IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { - struct sockaddr_in sin; - - in6_sin6_2_sin(&sin, sin6); - t = in_pcblookup_local(pcbinfo, - sin.sin_addr, lport, - INPLOOKUP_WILDCARD, cred); - if (t != NULL && - (so->so_type != SOCK_STREAM || - in_nullhost(t->inp_faddr)) && - (inp->inp_cred->cr_uid != - t->inp_cred->cr_uid)) - return (EADDRINUSE); - } -#endif - } - t = in6_pcblookup_local(pcbinfo, &sin6->sin6_addr, - lport, lookupflags, cred); - if (t != NULL && ((reuseport | reuseport_lb) & - t->inp_socket->so_options) == 0) - return (EADDRINUSE); -#ifdef INET - if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && - IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { - struct sockaddr_in sin; + /* See if this address/port combo is available. */ + error = in6_pcbbind_avail(inp, sin6, sooptions, lookupflags, + cred); + if (error != 0) + return (error); - in6_sin6_2_sin(&sin, sin6); - t = in_pcblookup_local(pcbinfo, sin.sin_addr, - lport, lookupflags, cred); - if (t != NULL && ((reuseport | reuseport_lb) & - t->inp_socket->so_options) == 0 && - (!in_nullhost(t->inp_laddr) || - (t->inp_vflag & INP_IPV6PROTO) != 0)) { - return (EADDRINUSE); - } - } -#endif - } + lport = sin6->sin6_port; inp->in6p_laddr = sin6->sin6_addr; } if (lport == 0) { From nobody Thu Dec 5 15:30:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y3yz216Qkz5gf7g; Thu, 05 Dec 2024 15:31:10 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) (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 4Y3yz14mKlz57rZ; Thu, 5 Dec 2024 15:31:09 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-io1-f53.google.com with SMTP id ca18e2360f4ac-84386a6669bso38685939f.3; Thu, 05 Dec 2024 07:31:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733412668; x=1734017468; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=dTfqGeuw4zdrK2jJvEfcu0RkidJrkKDcsLUZU5IF2lY=; b=NoIZ0nver6kdW4V1nf4qZfCHVvvqBDXKo7y1yavpVAXJvVDSFKPSJNexye0xaY/wEk W8p5Z/4CwtWSNjz6j4zxcMX9xpNwM78dAhu26TOKXprU5ViBwgoSV80BJ7ZRMnyT1ftf 542pNnrTNoQTjK0l5bIDDtsxAxoIqD2OywvWkZ44BwBmK3Hm1MYDjvKXwlZSXcqpP3pQ 56CfbZpV9AuL2lPJousIHpusCjIQSsV1gp7ejGKFO9ZUYoKNuG+UfZwj3ACauJO+eAHB fQQrR4rxnU8BZyGEoWEaBQWVl5SSYdpO/kOIj1mcIJOfohRafXF2/OZuQOStQjqKWQz3 rn7Q== X-Forwarded-Encrypted: i=1; AJvYcCUP/vZrCv7VZntJZbgrm35vm49+NG94Dp0WcCo0YmgCMbfHb3UsNALIzKxrkB0Cawf3a5adaOAj3CDw/rYi9G4TOOEi@freebsd.org, AJvYcCUxmTwOsPhpkBbVf0ahyu7yY+xJ01H1uoeF3jZ8RIlIq/OM7scvXK8wWrq8rySUBaddtHHuksY2MFI5ky+01xd73Zt19oc=@freebsd.org, AJvYcCXTh+I3p7IDnspKZBhlQtp5AxA2kVioW5/WZiW+ihYP2GD2zkZwdwZDsV7FIFa4yT/evcDo24fHpeQoTDwRnZI=@freebsd.org X-Gm-Message-State: AOJu0YwDa5nxkLaSkx33bY5nwDmTEK2oPul8Fs5/2DCeu1fcGASD9dD/ I9MA/X6ivPo1oIbS7E2nehzlTYVBgfdN/vbteeCZ/1mPaZlUh9d9oiBZ5VJ58RGQLYb0ssIzdEi 1ehJL28KTihpS+GOaLQpm5PUkVNvacg== X-Gm-Gg: ASbGncvZkzIluw1W8biCMZJ59M/KnW2/F/YOz9QPE0C01GKh0Z4dWQC2angf7MdZvOa suodnSZjbL8tHdAzm6Nl/WpFT9WXoTweOEI+4W4JHHc5BNWQwauV8PD30YkZS6X1ZBw== X-Google-Smtp-Source: AGHT+IGlU/fK2tw4Tm3b8gCsitttiLYVVRs9S27j0bUjXwXwtfn8ejGJVEewoBdesSShprDYMV8EMZ01b9TWTuIiGLk= X-Received: by 2002:a05:6602:6001:b0:83a:f443:875 with SMTP id ca18e2360f4ac-8445b5e5d9bmr1198969939f.15.1733412668088; Thu, 05 Dec 2024 07:31:08 -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: <202411131929.4ADJTcCe033652@gitrepo.freebsd.org> <343e4be1-6f01-4080-981c-32bf309bacb2@FreeBSD.org> <20241204174959.34814f55@ralga.knownspace> In-Reply-To: <20241204174959.34814f55@ralga.knownspace> From: Ed Maste Date: Thu, 5 Dec 2024 10:30:56 -0500 Message-ID: Subject: Re: git: f6efccaa35fe - main - IfAPI: Remove temporary inclusion of if_private.h To: Justin Hibbits Cc: John Baldwin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4Y3yz14mKlz57rZ X-Spamd-Bar: ---- > I requested an exp-run last year for this very change > (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=272030), and gave a heads-up > to all the maintainers last July (2023). Some of those ports found > in the exp-run have since been fixed, though as you pointed out above, > not all. PRs have been filed for most of them. We need man pages for the IfAPI routines that maintainers (and/or upstreams) for these ports can use in the process of migrating to IfAPI. IMO removing the if_private.h backwards-compatibility include was premature. From nobody Thu Dec 5 16:26:37 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y40C131Qgz5gjWb; Thu, 05 Dec 2024 16:26:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y40C12mPZz42Xj; Thu, 5 Dec 2024 16:26:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733415997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e/sOxmQ3SPtoUfOzyGIU2/tz3qR2OfdQSwpJs9H3AFU=; b=Vx/Van82Re5O7x7PjUAKE7RqriHt8kjBBIVuC6LViEQcDG0J7tpr6JmU+ym/FtOdgq8ax2 BUKs5Pe2T5imBp9ORkhJpfLZPDhn8mJvr7YGKwz3T4dzOeGzM4GT+uaY0LGroY/wKGLZH1 OCLCaJHb+7Sskk02M43drzsC8qVx8geShQkN/WI4Uo21ePBDxu1vNPFfvLwoTbSGP6iZem EW97HJmYwYLEBNzjS7lh36Ydlh9tVG2Ot1xfK6NC4bv0PXTKYMKoIHf68d1rka2n4/zcSw usYfCKG8aGXYAby6iDL/HOEkV8Xco9Zz1fAxtibXREbLklaXKauMz3LlvWlvPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733415997; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e/sOxmQ3SPtoUfOzyGIU2/tz3qR2OfdQSwpJs9H3AFU=; b=MSyJZDqN+iB/Ll1LCk+VOILJTHi6hGg7G/y3aB9b2TO09lbimOBGGUrACsBp0miyDlAXXM YBn/yum6cNL12MG2UKzi/2AHS70nYSdia+v0FRlhspz8Al2aQfK8W2rdZpJ67qzT3r0zX2 +bX9V8Zgg9Vk7GiLTtDqORp5nfEVel6gbeewJiBEbalBLCQiOuGfCKuBG1XancK7h82JPi MD3tubB/zb54hoivROQ8v6yR0nzBp8FotF1l6H+p507wKQVqUvsrCqkQB1QD3mSaZAwwNW sxDDXIZeZqt55MmAnOuieb2BvCqTIZ4xBVx26Ot2cAweJHRciJdHEOnqWW6TSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733415997; a=rsa-sha256; cv=none; b=E1hVFTuBRPNid1q37f5Qm0bzvOny5NOnGurlVKo6ABcTXfWmz6ihYiYBLAVt/5BQ357DKg O196UQ+az+imORwb54VVfqAeIaNqghfEVs3wCPQSf47LC/9QiOz2MNW7Ucqn4p3tdqFDDx YmJ69quYv53MiDlTv7D5Caxjlbw7qrOPr7foMPwYvBtoLuX5oopey9AyLjSqOCxruRl7mZ +rvFRK2GRwzost1w8cgfQj+7gQ/0CYwZKNGIZBde/rkhCFQihqVQGm0ocFehU6UGVMmuRf KwMErbkvMz1FHpRQT4ozpGAcxwMzG18NRpUjIgR7jeL8It7KEbyjdpwssx0jZw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y40C12Fbbz10S1; Thu, 5 Dec 2024 16:26:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B5GQb0P016991; Thu, 5 Dec 2024 16:26:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B5GQbEA016988; Thu, 5 Dec 2024 16:26:37 GMT (envelope-from git) Date: Thu, 5 Dec 2024 16:26:37 GMT Message-Id: <202412051626.4B5GQbEA016988@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: 61bf830cbb26 - main - libalias: Add support for EIM NAT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 61bf830cbb260c2a046cb44421d319184393e028 Auto-Submitted: auto-generated The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=61bf830cbb260c2a046cb44421d319184393e028 commit 61bf830cbb260c2a046cb44421d319184393e028 Author: Damjan Jovanovic AuthorDate: 2024-12-05 16:19:13 +0000 Commit: Tom Jones CommitDate: 2024-12-05 16:19:13 +0000 libalias: Add support for EIM NAT Add support for endpoint-independent mapping ("full cone NAT") in Libalias's UDP NAT. This conforms to RFC 4787 requirements 1 and 3. All UDP packets sent out from a particular internal address:port leave via the same NAT address:port, regardless of their destination. Add some libalias tests and supporting defines. Reviewed by: igoro, thj Differential Revision: https://reviews.freebsd.org/D46689D --- sys/netinet/libalias/alias.h | 20 ++++ sys/netinet/libalias/alias_db.c | 58 +++++++++++- sys/netinet/libalias/alias_db.h | 43 ++++++--- sys/netinet/libalias/alias_local.h | 6 +- sys/netinet/libalias/libalias.3 | 22 ++++- tests/sys/netinet/libalias/2_natout.c | 170 ++++++++++++++++++++++++++++++++++ tests/sys/netinet/libalias/util.c | 1 + tests/sys/netinet/libalias/util.h | 2 +- 8 files changed, 304 insertions(+), 18 deletions(-) diff --git a/sys/netinet/libalias/alias.h b/sys/netinet/libalias/alias.h index 706184552429..96d8ceec28be 100644 --- a/sys/netinet/libalias/alias.h +++ b/sys/netinet/libalias/alias.h @@ -227,6 +227,26 @@ struct mbuf *m_megapullup(struct mbuf *, int); */ #define PKT_ALIAS_UNREGISTERED_CGN 0x400 +/* + * When this bit is set, UDP uses endpoint-independent mapping (EIM), as per + * RFC 4787 ("full cone" NAT of RFC 3489). All packets from the same internal + * address:port are mapped to the same NAT address:port, regardless of their + * destination address:port. If filtering rules allow, and if + * PKT_ALIAS_DENY_INCOMING is unset, any other external address:port can also + * send to the internal address:port through its mapped NAT address:port. This + * is more compatible with applications, and can reduce the need for port + * forwarding, but less scalable as each NAT address:port can only be + * concurrently used by at most one internal address:port. + * + * When this bit is unset, UDP packets use endpoint-dependent mapping (EDM) + * ("symmetric" NAT). Each connection from a particular internal address:port + * to different external addresses:ports is mapped to a random and + * unpredictable NAT address:port. Two appplications behind EDM NATs can only + * connect to each other by port forwarding on the NAT, or tunnelling through + * an in-between server. + */ +#define PKT_ALIAS_UDP_EIM 0x800 + /* Function return codes. */ #define PKT_ALIAS_ERROR -1 #define PKT_ALIAS_OK 1 diff --git a/sys/netinet/libalias/alias_db.c b/sys/netinet/libalias/alias_db.c index 4bb95549aaaf..b09e41935d93 100644 --- a/sys/netinet/libalias/alias_db.c +++ b/sys/netinet/libalias/alias_db.c @@ -93,6 +93,8 @@ DECLARE_MODULE(alias, alias_mod, SI_SUB_DRIVERS, SI_ORDER_SECOND); SPLAY_GENERATE(splay_out, alias_link, all.out, cmp_out); SPLAY_GENERATE(splay_in, group_in, in, cmp_in); +SPLAY_GENERATE(splay_internal_endpoint, alias_link, all.internal_endpoint, + cmp_internal_endpoint); static struct group_in * StartPointIn(struct libalias *la, @@ -235,6 +237,19 @@ GetNewPort(struct libalias *la, struct alias_link *lnk, int alias_port_param) max_trials = GET_NEW_PORT_MAX_ATTEMPTS; + if ((la->packetAliasMode & PKT_ALIAS_UDP_EIM) && + lnk->link_type == LINK_UDP) { + /* Try reuse the same alias address:port for all destinations + * from the same internal address:port, as per RFC 4787. + */ + struct alias_link *search_result = FindLinkByInternalEndpoint( + la, lnk->src_addr, lnk->src_port, lnk->link_type); + if (search_result != NULL) { + lnk->alias_port = search_result->alias_port; + return (0); + } + } + /* * When the PKT_ALIAS_SAME_PORTS option is chosen, * the first try will be the actual source port. If @@ -254,10 +269,18 @@ GetNewPort(struct libalias *la, struct alias_link *lnk, int alias_port_param) if (grp == NULL) break; + /* As per RFC 4787, UDP cannot share the same alias port among + * multiple internal endpoints + */ + if ((la->packetAliasMode & PKT_ALIAS_UDP_EIM) && + lnk->link_type == LINK_UDP) + continue; + LIST_FOREACH(search_result, &grp->full, all.in) { - if (lnk->dst_addr.s_addr == search_result->dst_addr.s_addr && + if (lnk->dst_addr.s_addr == + search_result->dst_addr.s_addr && lnk->dst_port == search_result->dst_port) - break; /* found match */ + break; /* found match */ } if (search_result == NULL) break; @@ -496,6 +519,10 @@ DeleteLink(struct alias_link **plnk, int deletePermanent) /* Adjust input table pointers */ LIST_REMOVE(lnk, all.in); + /* Adjust "internal endpoint" table pointer */ + SPLAY_REMOVE(splay_internal_endpoint, + &la->linkSplayInternalEndpoint, lnk); + /* Remove intermediate node, if empty */ grp = StartPointIn(la, lnk->alias_addr, lnk->alias_port, lnk->link_type, 0); if (grp != NULL && @@ -696,6 +723,10 @@ AddLink(struct libalias *la, struct in_addr src_addr, struct in_addr dst_addr, LIST_INSERT_HEAD(&grp->partial, lnk, all.in); else LIST_INSERT_HEAD(&grp->full, lnk, all.in); + + /* Set up pointers for "internal endpoint" lookup table */ + SPLAY_INSERT(splay_internal_endpoint, + &la->linkSplayInternalEndpoint, lnk); } break; } @@ -964,6 +995,14 @@ FindLinkIn(struct libalias *la, struct in_addr dst_addr, lnk = _FindLinkIn(la, dst_addr, alias_addr, dst_port, alias_port, link_type, replace_partial_links); + if (lnk == NULL && + (la->packetAliasMode & PKT_ALIAS_UDP_EIM) && + link_type == LINK_UDP && + !(la->packetAliasMode & PKT_ALIAS_DENY_INCOMING)) { + lnk = _FindLinkIn(la, ANY_ADDR, alias_addr, 0, alias_port, + link_type, replace_partial_links); + } + if (lnk == NULL) { /* * The following allows permanent links to be specified as @@ -980,6 +1019,20 @@ FindLinkIn(struct libalias *la, struct in_addr dst_addr, return (lnk); } +static struct alias_link * +FindLinkByInternalEndpoint(struct libalias *la, struct in_addr src_addr, + u_short src_port, + int link_type) +{ + struct alias_link needle = { + .src_addr = src_addr, + .src_port = src_port, + .link_type = link_type + }; + LIBALIAS_LOCK_ASSERT(la); + return SPLAY_FIND(splay_internal_endpoint, &la->linkSplayInternalEndpoint, &needle); +} + /* External routines for finding/adding links -- "external" means outside alias_db.c, but within alias*.c -- @@ -2110,6 +2163,7 @@ LibAliasInit(struct libalias *la) SPLAY_INIT(&la->linkSplayIn); SPLAY_INIT(&la->linkSplayOut); + SPLAY_INIT(&la->linkSplayInternalEndpoint); LIST_INIT(&la->pptpList); TAILQ_INIT(&la->checkExpire); #ifdef _KERNEL diff --git a/sys/netinet/libalias/alias_db.h b/sys/netinet/libalias/alias_db.h index 35858099bce2..7175d0a50f4b 100644 --- a/sys/netinet/libalias/alias_db.h +++ b/sys/netinet/libalias/alias_db.h @@ -208,12 +208,14 @@ static struct in_addr const ANY_ADDR = { INADDR_ANY }; stored in the auxiliary space. Pointers to unresolved fragments can also be stored. - The link records support two independent chainings. Lookup + The link records support several independent chainings. Lookup tables for input and out tables hold the initial pointers the link chains. On input, the lookup table indexes on alias port and link type. On output, the lookup table indexes on source address, destination address, source port, destination - port and link type. + port and link type. A internal_endpoint table is used for + endpoint-independent mapping, and indexes on source address, + source port and link type. */ /* used to save changes to ACK/sequence numbers */ @@ -292,6 +294,7 @@ struct alias_link { struct { SPLAY_ENTRY(alias_link) out; LIST_ENTRY (alias_link) in; + SPLAY_ENTRY(alias_link) internal_endpoint; } all; struct { LIST_ENTRY (alias_link) list; @@ -374,25 +377,38 @@ cmp_in(struct group_in *a, struct group_in *b) { } SPLAY_PROTOTYPE(splay_in, group_in, in, cmp_in); +static inline int +cmp_internal_endpoint(struct alias_link *a, struct alias_link *b) { + int i = a->link_type - b->link_type; + if (i != 0) return (i); + if (a->src_addr.s_addr > b->src_addr.s_addr) return (1); + if (a->src_addr.s_addr < b->src_addr.s_addr) return (-1); + i = a->src_port - b->src_port; + return (i); +} +SPLAY_PROTOTYPE(splay_internal_endpoint, alias_link, all.internal_endpoint, + cmp_internal_endpoint); + /* Internal routines for finding, deleting and adding links Port Allocation: - GetNewPort() -- find and reserve new alias port number - GetSocket() -- try to allocate a socket for a given port + GetNewPort() -- find and reserve new alias port number + GetSocket() -- try to allocate a socket for a given port Link creation and deletion: - CleanupAliasData() - remove all link chains from lookup table - CleanupLink() - look for a stale link - DeleteLink() - remove link - AddLink() - add link - ReLink() - change link + CleanupAliasData() - remove all link chains from lookup table + CleanupLink() - look for a stale link + DeleteLink() - remove link + AddLink() - add link + ReLink() - change link Link search: - FindLinkOut() - find link for outgoing packets - FindLinkIn() - find link for incoming packets + FindLinkOut() - find link for outgoing packets + FindLinkIn() - find link for incoming packets + FindLinkByInternalEndpoint() - find link by a packet's internal endpoint Port search: - FindNewPortGroup() - find an available group of ports + FindNewPortGroup() - find an available group of ports */ /* Local prototypes */ @@ -417,6 +433,9 @@ FindLinkOut(struct libalias *, struct in_addr, struct in_addr, u_short, u_short, static struct alias_link * FindLinkIn(struct libalias *, struct in_addr, struct in_addr, u_short, u_short, int, int); +static struct alias_link * +FindLinkByInternalEndpoint(struct libalias *, struct in_addr, u_short, int); + static u_short _RandomPort(struct libalias *la); #define GET_NEW_PORT_MAX_ATTEMPTS 20 diff --git a/sys/netinet/libalias/alias_local.h b/sys/netinet/libalias/alias_local.h index 7b82621a105b..ef6c89e675d6 100644 --- a/sys/netinet/libalias/alias_local.h +++ b/sys/netinet/libalias/alias_local.h @@ -94,10 +94,12 @@ struct libalias { * if no aliasing link already exists */ struct in_addr targetAddress; /* Lookup table of pointers to chains of link records. - * Each link record is doubly indexed into input and - * output lookup tables. */ + * Each link record is indexed into input, + * output and "internal endpoint" lookup tables. */ SPLAY_HEAD(splay_out, alias_link) linkSplayOut; SPLAY_HEAD(splay_in, group_in) linkSplayIn; + SPLAY_HEAD(splay_internal_endpoint, alias_link) + linkSplayInternalEndpoint; LIST_HEAD (, alias_link) pptpList; /* HouseKeeping */ TAILQ_HEAD (, alias_link) checkExpire; diff --git a/sys/netinet/libalias/libalias.3 b/sys/netinet/libalias/libalias.3 index b4d123682f0b..c19acffe03ae 100644 --- a/sys/netinet/libalias/libalias.3 +++ b/sys/netinet/libalias/libalias.3 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 31, 2021 +.Dd November 29, 2024 .Dt LIBALIAS 3 .Os .Sh NAME @@ -270,6 +270,26 @@ See section in .Xr ipfw 8 for more details. +.It Dv PKT_ALIAS_UDP_EIM +When this bit is set, UDP uses endpoint-independent mapping (EIM), as per +RFC 4787 ("full cone" NAT of RFC 3489). +All packets from the same internal address:port are mapped to the same NAT +address:port, regardless of their destination address:port. +If filtering rules allow, and if +.Em PKT_ALIAS_DENY_INCOMING +is unset, any other external address:port can +also send to the internal address:port through its mapped NAT address:port. +This is more compatible with applications, and can reduce the need for port +forwarding, but less scalable as each NAT address:port can only be +concurrently used by at most one internal address:port. +.Pp +When this bit is unset, UDP packets use endpoint-dependent mapping (EDM) +("symmetric" NAT). +Each connection from a particular internal address:port to different +external addresses:ports is mapped to a random and unpredictable NAT +address:port. +Two appplications behind EDM NATs can only connect to each other +by port forwarding on the NAT, or tunnelling through an in-between server. .El .Ed .Pp diff --git a/tests/sys/netinet/libalias/2_natout.c b/tests/sys/netinet/libalias/2_natout.c index c6f5797b2db7..24ca06d11bf4 100644 --- a/tests/sys/netinet/libalias/2_natout.c +++ b/tests/sys/netinet/libalias/2_natout.c @@ -359,6 +359,172 @@ ATF_TC_BODY(8_portrange, dummy) LibAliasUninit(la); } +ATF_TC_WITHOUT_HEAD(9_udp_eim_mapping); +ATF_TC_BODY(9_udp_eim_mapping, dummy) +{ + struct libalias *la = LibAliasInit(NULL); + struct ip *po, *po2, *po3; + struct udphdr *uo, *uo2, *uo3; + uint16_t sport = 0x1234; + uint16_t dport = 0x5678; + uint16_t dport2 = 0x6789; + uint16_t aport, aport2, aport3; + + ATF_REQUIRE(la != NULL); + LibAliasSetAddress(la, masq); + LibAliasSetMode(la, PKT_ALIAS_UDP_EIM, ~0); + + po = ip_packet(0, 64); + UDP_NAT_CHECK(po, uo, prv1, sport, ext, dport, masq); + aport = ntohs(uo->uh_sport); + + /* Change of dst port shouldn't change alias port */ + po2 = ip_packet(0, 64); + UDP_NAT_CHECK(po2, uo2, prv1, sport, ext, dport2, masq); + aport2 = ntohs(uo2->uh_sport); + ATF_CHECK_EQ_MSG(aport, aport2, + "NAT uses address- and port-dependent mapping (%uh -> %uh)", + aport, aport2); + + /* Change of dst address shouldn't change alias port */ + po3 = ip_packet(0, 64); + UDP_NAT_CHECK(po3, uo3, prv1, sport, pub, dport, masq); + aport3 = ntohs(uo3->uh_sport); + ATF_CHECK_EQ_MSG(aport, aport3, "NAT uses address-dependent mapping"); + + free(po); + free(po2); + free(po3); + LibAliasUninit(la); +} + +ATF_TC_WITHOUT_HEAD(10_udp_eim_out_in); +ATF_TC_BODY(10_udp_eim_out_in, dummy) +{ + struct libalias *la = LibAliasInit(NULL); + struct ip *po, *po2, *po3; + struct udphdr *uo, *uo2, *uo3; + uint16_t sport = 0x1234; + uint16_t dport = 0x5678; + uint16_t dport2 = 0x6789; + uint16_t aport; + + ATF_REQUIRE(la != NULL); + LibAliasSetAddress(la, masq); + LibAliasSetMode(la, PKT_ALIAS_UDP_EIM, ~0); + + po = ip_packet(0, 64); + UDP_NAT_CHECK(po, uo, prv1, sport, pub, dport, masq); + aport = ntohs(uo->uh_sport); + + /* Accepts inbound packets from different port */ + po2 = ip_packet(0, 64); + UDP_UNNAT_CHECK(po2, uo2, pub, dport2, masq, aport, prv1, sport); + + /* Accepts inbound packets from differerent host and port */ + po3 = ip_packet(0, 64); + UDP_UNNAT_CHECK(po3, uo3, pub2, dport2, masq, aport, prv1, sport); + + free(po); + free(po2); + free(po3); + LibAliasUninit(la); +} + +ATF_TC_WITHOUT_HEAD(11_udp_eim_with_deny_incoming); +ATF_TC_BODY(11_udp_eim_with_deny_incoming, dummy) +{ + struct libalias *la = LibAliasInit(NULL); + struct ip *po, *po2, *po3, *po4; + struct udphdr *uo; + uint16_t sport = 0x1234; + uint16_t dport = 0x5678; + uint16_t dport2 = 0x6789; + uint16_t aport; + int ret; + + ATF_REQUIRE(la != NULL); + LibAliasSetAddress(la, masq); + LibAliasSetMode(la, + PKT_ALIAS_UDP_EIM | PKT_ALIAS_DENY_INCOMING, + ~0); + + po = ip_packet(0, 64); + UDP_NAT_CHECK(po, uo, prv1, sport, pub, dport, masq); + aport = ntohs(uo->uh_sport); + + po2 = ip_packet(0, 64); + po2->ip_src = pub; + po2->ip_dst = masq; + set_udp(po2, dport, aport); + ret = LibAliasIn(la, po2, 64); + ATF_CHECK_EQ_MSG(PKT_ALIAS_OK, ret, + "LibAliasIn failed with error %d\n", ret); + + po3 = ip_packet(0, 64); + po3->ip_src = pub; + po3->ip_dst = masq; + set_udp(po3, dport2, aport); + ret = LibAliasIn(la, po3, 64); + ATF_CHECK_EQ_MSG(PKT_ALIAS_IGNORED, ret, + "incoming packet from different port not ignored " + "with PKT_ALIAS_DENY_INCOMING"); + + po4 = ip_packet(0, 64); + po4->ip_src = pub2; + po4->ip_dst = masq; + set_udp(po4, dport2, aport); + ret = LibAliasIn(la, po4, 64); + ATF_CHECK_EQ_MSG(PKT_ALIAS_IGNORED, ret, + "incoming packet from different address and port not ignored " + "with PKT_ALIAS_DENY_INCOMING"); + + free(po); + free(po2); + free(po3); + free(po4); + LibAliasUninit(la); +} + +ATF_TC_WITHOUT_HEAD(12_udp_eim_hairpinning); +ATF_TC_BODY(12_udp_eim_hairpinning, dummy) +{ + struct libalias *la = LibAliasInit(NULL); + struct ip *po, *po2, *po3; + struct udphdr *uo, *uo2, *uo3; + uint16_t sport1 = 0x1234; + uint16_t sport2 = 0x2345; + uint16_t dport = 0x5678; + uint16_t extport1, extport2; + + ATF_REQUIRE(la != NULL); + LibAliasSetAddress(la, masq); + LibAliasSetMode(la, PKT_ALIAS_UDP_EIM, ~0); + + /* prv1 sends out somewhere (eg. a STUN server) */ + po = ip_packet(0, 64); + UDP_NAT_CHECK(po, uo, prv1, sport1, pub, dport, masq); + extport1 = ntohs(uo->uh_sport); + + /* prv2, behind the same NAT as prv1, also sends out somewhere */ + po2 = ip_packet(0, 64); + UDP_NAT_CHECK(po2, uo2, prv2, sport2, pub, dport, masq); + extport2 = ntohs(uo2->uh_sport); + + /* hairpin: prv1 sends to prv2's external NAT mapping + * (unaware it could address it internally instead). + */ + po3 = ip_packet(0, 64); + UDP_NAT_CHECK(po3, uo3, prv1, sport1, masq, extport2, masq); + UDP_UNNAT_CHECK(po3, uo3, masq, extport1, masq, extport2, + prv2, sport2); + + free(po); + free(po2); + free(po3); + LibAliasUninit(la); +} + ATF_TP_ADD_TCS(natout) { /* Use "dd if=/dev/random bs=2 count=1 | od -x" to reproduce */ @@ -372,6 +538,10 @@ ATF_TP_ADD_TCS(natout) ATF_TP_ADD_TC(natout, 6_cleartable); ATF_TP_ADD_TC(natout, 7_stress); ATF_TP_ADD_TC(natout, 8_portrange); + ATF_TP_ADD_TC(natout, 9_udp_eim_mapping); + ATF_TP_ADD_TC(natout, 10_udp_eim_out_in); + ATF_TP_ADD_TC(natout, 11_udp_eim_with_deny_incoming); + ATF_TP_ADD_TC(natout, 12_udp_eim_hairpinning); return atf_no_error(); } diff --git a/tests/sys/netinet/libalias/util.c b/tests/sys/netinet/libalias/util.c index 14ba196a59a5..8ceb8355c8ff 100644 --- a/tests/sys/netinet/libalias/util.c +++ b/tests/sys/netinet/libalias/util.c @@ -41,6 +41,7 @@ /* common ip ranges */ struct in_addr masq = { htonl(0x01020304) }; struct in_addr pub = { htonl(0x0102dead) }; +struct in_addr pub2 = { htonl(0x0102beef) }; struct in_addr prv1 = { htonl(0x0a00dead) }; struct in_addr prv2 = { htonl(0xac10dead) }; struct in_addr prv3 = { htonl(0xc0a8dead) }; diff --git a/tests/sys/netinet/libalias/util.h b/tests/sys/netinet/libalias/util.h index 786e48e41f37..f58a1ad26248 100644 --- a/tests/sys/netinet/libalias/util.h +++ b/tests/sys/netinet/libalias/util.h @@ -41,7 +41,7 @@ #define _UTIL_H /* common ip ranges */ -extern struct in_addr masq, pub, prv1, prv2, prv3, cgn, ext, ANY_ADDR; +extern struct in_addr masq, pub, pub2, prv1, prv2, prv3, cgn, ext, ANY_ADDR; int randcmp(const void *a, const void *b); void hexdump(void *p, size_t len); From nobody Thu Dec 5 16:35:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y40PG1cdSz5dlPL; Thu, 05 Dec 2024 16:35:30 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Received: from smtp6.goneo.de (smtp6.goneo.de [85.220.129.31]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y40PF5mH6z44WL; Thu, 5 Dec 2024 16:35:29 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Authentication-Results: mx1.freebsd.org; none Received: from hub1.goneo.de (hub1.goneo.de [85.220.129.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp6.goneo.de (Postfix) with ESMTPS id 724D5240D59; Thu, 5 Dec 2024 17:35:26 +0100 (CET) Received: from hub1.goneo.de (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by hub1.goneo.de (Postfix) with ESMTPS id A05D02402D8; Thu, 5 Dec 2024 17:35:24 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walstatt-de.de; s=DKIM001; t=1733416524; 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=6x1fuvbH9fLvyvUd0bUv1+ErhS521J4gzU3bjIYRznc=; b=Hbvh/+o43RjFauqo8UDLEmd/FoHGe+bJfYXMlnBqIVtC76JMcm2FjAuv3xrRFQekQkEW9Q SeKCvT4yJN8x+mzo/4+dM1dNCG0T64awepAvMs5W0sN3alhRMAr+p9rconJdY5f0w0aBWe fmfijbZbCeyU6EPLfmUsg4ObB4tAk4r9kJVNL9u4lNHYPfCEGUVs7Jg0Vx/IHeF3JxbaIf gfvb4kGfe1WqViHkcxXVLhH+W0ScL5TfqFsRvMnilFLpjq2fmOoAf8ImjSYombrIPb1qGP PA7qHscN7VVfMOBmlR+DbIicuARyKokQpOsrMqraOw9vq5RJZwX3Mat8ikXU9w== Received: from hermann.intern.walstatt.dynvpn.de (dynamic-077-183-116-031.77.183.pool.telefonica.de [77.183.116.31]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by hub1.goneo.de (Postfix) with ESMTPSA id 55C812402D6; Thu, 5 Dec 2024 17:35:24 +0100 (CET) Date: Thu, 5 Dec 2024 17:35:23 +0100 From: FreeBSD User To: Mark Johnston Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 01f8ce83242d - main - inpcb: Factor out parts of in6_pcbbind() and in_pcbbind_setup() Message-ID: <20241205173523.7d4ddf02@hermann.intern.walstatt.dynvpn.de> In-Reply-To: <202412051520.4B5FKmT0099691@gitrepo.freebsd.org> References: <202412051520.4B5FKmT0099691@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-UID: 3b7a15 X-Rspamd-UID: 9e0e9b 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:25394, ipnet:85.220.128.0/17, country:DE] X-Rspamd-Queue-Id: 4Y40PF5mH6z44WL X-Spamd-Bar: ---- On Thu, 5 Dec 2024 15:20:48 GMT Mark Johnston wrote: This commit breaks buildkernel: [...] --- in6_pcb.o --- /usr/src/sys/netinet6/in6_pcb.c:301:20: error: unused variable 'pcbinfo' [-Werror,-Wunused-variable] 301 | struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; > The branch main has been updated by markj: > > URL: https://cgit.FreeBSD.org/src/commit/?id=01f8ce83242d7a8e599cf6a78b6277161d79edd4 > > commit 01f8ce83242d7a8e599cf6a78b6277161d79edd4 > Author: Mark Johnston > AuthorDate: 2024-12-05 15:00:13 +0000 > Commit: Mark Johnston > CommitDate: 2024-12-05 15:19:57 +0000 > > inpcb: Factor out parts of in6_pcbbind() and in_pcbbind_setup() > > A large portion of these functions just determines whether the inpcb can > bind to the address/port. This portion has no side effects, so is a > good candidate to move into its own helper function. This patch does > so, making the callers less complicated and reducing indentation. > > While moving this code, also make some changes: > - Load socket options (SO_REUSEADDR etc.) only once. There is nothing > preventing another thread from toggling the socket options, so make > this function easier to reason about by avoiding races. > - When checking whether the bind address is an interface address, make a > separate sockaddr rather than temporarily modifying the one passed to > in_pcbbind(). > > Reviewed by: ae, glebius > MFC after: 1 month > Sponsored by: Klara, Inc. > Sponsored by: Stormshield > Differential Revision: https://reviews.freebsd.org/D47590 > --- > sys/netinet/in_pcb.c | 172 ++++++++++++++++++-------------- > sys/netinet6/in6_pcb.c | 262 +++++++++++++++++++++++++++---------------------- > 2 files changed, 242 insertions(+), 192 deletions(-) > > diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c > index 7c881817ac6e..94fb406bcd2b 100644 > --- a/sys/netinet/in_pcb.c > +++ b/sys/netinet/in_pcb.c > @@ -861,6 +861,93 @@ in_pcb_lport(struct inpcb *inp, struct in_addr *laddrp, u_short > *lportp, #endif /* INET || INET6 */ > > #ifdef INET > +/* > + * Determine whether the inpcb can be bound to the specified address/port tuple. > + */ > +static int > +in_pcbbind_avail(struct inpcb *inp, const struct in_addr laddr, > + const u_short lport, int sooptions, int lookupflags, struct ucred *cred) > +{ > + int reuseport, reuseport_lb; > + > + INP_LOCK_ASSERT(inp); > + INP_HASH_LOCK_ASSERT(inp->inp_pcbinfo); > + > + reuseport = (sooptions & SO_REUSEPORT); > + reuseport_lb = (sooptions & SO_REUSEPORT_LB); > + > + if (IN_MULTICAST(ntohl(laddr.s_addr))) { > + /* > + * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; > + * allow complete duplication of binding if > + * SO_REUSEPORT is set, or if SO_REUSEADDR is set > + * and a multicast address is bound on both > + * new and duplicated sockets. > + */ > + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT)) != 0) > + reuseport = SO_REUSEADDR | SO_REUSEPORT; > + /* > + * XXX: How to deal with SO_REUSEPORT_LB here? > + * Treat same as SO_REUSEPORT for now. > + */ > + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT_LB)) != 0) > + reuseport_lb = SO_REUSEADDR | SO_REUSEPORT_LB; > + } else if (!in_nullhost(laddr)) { > + struct sockaddr_in sin; > + > + memset(&sin, 0, sizeof(sin)); > + sin.sin_family = AF_INET; > + sin.sin_len = sizeof(sin); > + sin.sin_addr = laddr; > + > + /* > + * Is the address a local IP address? > + * If INP_BINDANY is set, then the socket may be bound > + * to any endpoint address, local or not. > + */ > + if ((inp->inp_flags & INP_BINDANY) == 0 && > + ifa_ifwithaddr_check((const struct sockaddr *)&sin) == 0) > + return (EADDRNOTAVAIL); > + } > + > + if (lport != 0) { > + struct inpcb *t; > + > + if (ntohs(lport) <= V_ipport_reservedhigh && > + ntohs(lport) >= V_ipport_reservedlow && > + priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) > + return (EACCES); > + > + if (!IN_MULTICAST(ntohl(laddr.s_addr)) && > + priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != 0) { > + t = in_pcblookup_local(inp->inp_pcbinfo, laddr, lport, > + INPLOOKUP_WILDCARD, cred); > + if (t != NULL && > + (inp->inp_socket->so_type != SOCK_STREAM || > + in_nullhost(t->inp_faddr)) && > + (!in_nullhost(laddr) || > + !in_nullhost(t->inp_laddr) || > + (t->inp_socket->so_options & SO_REUSEPORT) || > + (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && > + (inp->inp_cred->cr_uid != t->inp_cred->cr_uid)) > + return (EADDRINUSE); > + } > + t = in_pcblookup_local(inp->inp_pcbinfo, laddr, lport, > + lookupflags, cred); > + if (t != NULL && ((reuseport | reuseport_lb) & > + t->inp_socket->so_options) == 0) { > +#ifdef INET6 > + if (!in_nullhost(laddr) || > + !in_nullhost(t->inp_laddr) || > + (inp->inp_vflag & INP_IPV6PROTO) == 0 || > + (t->inp_vflag & INP_IPV6PROTO) == 0) > +#endif > + return (EADDRINUSE); > + } > + } > + return (0); > +} > + > /* > * Set up a bind operation on a PCB, performing port allocation > * as required, but do not actually modify the PCB. Callers can > @@ -878,15 +965,9 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, > in_addr_t *laddrp, struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; > struct in_addr laddr; > u_short lport = 0; > - int lookupflags = 0, reuseport = (so->so_options & SO_REUSEPORT); > + int lookupflags, sooptions; > int error; > > - /* > - * XXX: Maybe we could let SO_REUSEPORT_LB set SO_REUSEPORT bit here > - * so that we don't have to add to the (already messy) code below. > - */ > - int reuseport_lb = (so->so_options & SO_REUSEPORT_LB); > - > /* > * No state changes, so read locks are sufficient here. > */ > @@ -896,7 +977,10 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, > in_addr_t *laddrp, laddr.s_addr = *laddrp; > if (sin != NULL && laddr.s_addr != INADDR_ANY) > return (EINVAL); > - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT|SO_REUSEPORT_LB)) == 0) > + > + lookupflags = 0; > + sooptions = atomic_load_int(&so->so_options); > + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT | SO_REUSEPORT_LB)) == 0) > lookupflags = INPLOOKUP_WILDCARD; > if (sin == NULL) { > if ((error = prison_local_ip4(cred, &laddr)) != 0) > @@ -918,73 +1002,11 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, > in_addr_t *laddrp, } > laddr = sin->sin_addr; > > - /* NB: lport is left as 0 if the port isn't being changed. */ > - if (IN_MULTICAST(ntohl(laddr.s_addr))) { > - /* > - * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; > - * allow complete duplication of binding if > - * SO_REUSEPORT is set, or if SO_REUSEADDR is set > - * and a multicast address is bound on both > - * new and duplicated sockets. > - */ > - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT)) != 0) > - reuseport = SO_REUSEADDR|SO_REUSEPORT; > - /* > - * XXX: How to deal with SO_REUSEPORT_LB here? > - * Treat same as SO_REUSEPORT for now. > - */ > - if ((so->so_options & > - (SO_REUSEADDR|SO_REUSEPORT_LB)) != 0) > - reuseport_lb = SO_REUSEADDR|SO_REUSEPORT_LB; > - } else if (!in_nullhost(laddr)) { > - sin->sin_port = 0; /* yech... */ > - bzero(&sin->sin_zero, sizeof(sin->sin_zero)); > - /* > - * Is the address a local IP address? > - * If INP_BINDANY is set, then the socket may be bound > - * to any endpoint address, local or not. > - */ > - if ((inp->inp_flags & INP_BINDANY) == 0 && > - ifa_ifwithaddr_check( > - (const struct sockaddr *)sin) == 0) > - return (EADDRNOTAVAIL); > - } > - if (lport) { > - struct inpcb *t; > - > - if (ntohs(lport) <= V_ipport_reservedhigh && > - ntohs(lport) >= V_ipport_reservedlow && > - priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) > - return (EACCES); > - > - if (!IN_MULTICAST(ntohl(laddr.s_addr)) && > - priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != > 0) { > - t = in_pcblookup_local(pcbinfo, laddr, lport, > - INPLOOKUP_WILDCARD, cred); > - if (t != NULL && > - (so->so_type != SOCK_STREAM || > - in_nullhost(t->inp_faddr)) && > - (!in_nullhost(laddr) || > - !in_nullhost(t->inp_laddr) || > - (t->inp_socket->so_options & SO_REUSEPORT) || > - (t->inp_socket->so_options & SO_REUSEPORT_LB) == > 0) && > - (inp->inp_cred->cr_uid != > - t->inp_cred->cr_uid)) > - return (EADDRINUSE); > - } > - t = in_pcblookup_local(pcbinfo, laddr, lport, > - lookupflags, cred); > - if (t != NULL && ((reuseport | reuseport_lb) & > - t->inp_socket->so_options) == 0) { > -#ifdef INET6 > - if (!in_nullhost(laddr) || > - !in_nullhost(t->inp_laddr) || > - (inp->inp_vflag & INP_IPV6PROTO) == 0 || > - (t->inp_vflag & INP_IPV6PROTO) == 0) > -#endif > - return (EADDRINUSE); > - } > - } > + /* See if this address/port combo is available. */ > + error = in_pcbbind_avail(inp, laddr, lport, sooptions, > + lookupflags, cred); > + if (error != 0) > + return (error); > } > if (*lportp != 0) > lport = *lportp; > diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c > index 639ec68e19e2..6b5a9d3706be 100644 > --- a/sys/netinet6/in6_pcb.c > +++ b/sys/netinet6/in6_pcb.c > @@ -160,27 +160,157 @@ in6_pcbsetport(struct in6_addr *laddr, struct inpcb *inp, struct > ucred *cred) return (0); > } > > +/* > + * Determine whether the inpcb can be bound to the specified address/port tuple. > + */ > +static int > +in6_pcbbind_avail(struct inpcb *inp, const struct sockaddr_in6 *sin6, > + int sooptions, int lookupflags, struct ucred *cred) > +{ > + const struct in6_addr *laddr; > + int reuseport, reuseport_lb; > + u_short lport; > + > + INP_LOCK_ASSERT(inp); > + INP_HASH_LOCK_ASSERT(inp->inp_pcbinfo); > + > + laddr = &sin6->sin6_addr; > + lport = sin6->sin6_port; > + > + reuseport = (sooptions & SO_REUSEPORT); > + reuseport_lb = (sooptions & SO_REUSEPORT_LB); > + > + if (IN6_IS_ADDR_MULTICAST(laddr)) { > + /* > + * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; > + * allow compepte duplication of binding if > + * SO_REUSEPORT is set, or if SO_REUSEADDR is set > + * and a multicast address is bound on both > + * new and duplicated sockets. > + */ > + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT)) != 0) > + reuseport = SO_REUSEADDR | SO_REUSEPORT; > + /* > + * XXX: How to deal with SO_REUSEPORT_LB here? > + * Treat same as SO_REUSEPORT for now. > + */ > + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT_LB)) != 0) > + reuseport_lb = SO_REUSEADDR | SO_REUSEPORT_LB; > + } else if (!IN6_IS_ADDR_UNSPECIFIED(laddr)) { > + struct sockaddr_in6 sin6; > + struct epoch_tracker et; > + struct ifaddr *ifa; > + > + memset(&sin6, 0, sizeof(sin6)); > + sin6.sin6_family = AF_INET6; > + sin6.sin6_len = sizeof(sin6); > + sin6.sin6_addr = *laddr; > + > + NET_EPOCH_ENTER(et); > + if ((ifa = ifa_ifwithaddr((const struct sockaddr *)&sin6)) == > + NULL && (inp->inp_flags & INP_BINDANY) == 0) { > + NET_EPOCH_EXIT(et); > + return (EADDRNOTAVAIL); > + } > + > + /* > + * XXX: bind to an anycast address might accidentally > + * cause sending a packet with anycast source address. > + * We should allow to bind to a deprecated address, since > + * the application dares to use it. > + */ > + if (ifa != NULL && > + ((struct in6_ifaddr *)ifa)->ia6_flags & > + (IN6_IFF_ANYCAST | IN6_IFF_NOTREADY | IN6_IFF_DETACHED)) { > + NET_EPOCH_EXIT(et); > + return (EADDRNOTAVAIL); > + } > + NET_EPOCH_EXIT(et); > + } > + > + if (lport != 0) { > + struct inpcb *t; > + > + if (ntohs(lport) <= V_ipport_reservedhigh && > + ntohs(lport) >= V_ipport_reservedlow && > + priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) > + return (EACCES); > + > + if (!IN6_IS_ADDR_MULTICAST(laddr) && > + priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != > + 0) { > + t = in6_pcblookup_local(inp->inp_pcbinfo, laddr, lport, > + INPLOOKUP_WILDCARD, cred); > + if (t != NULL && > + (inp->inp_socket->so_type != SOCK_STREAM || > + IN6_IS_ADDR_UNSPECIFIED(&t->in6p_faddr)) && > + (!IN6_IS_ADDR_UNSPECIFIED(laddr) || > + !IN6_IS_ADDR_UNSPECIFIED(&t->in6p_laddr) || > + (t->inp_socket->so_options & SO_REUSEPORT) || > + (t->inp_socket->so_options & SO_REUSEPORT_LB) == 0) && > + (inp->inp_cred->cr_uid != t->inp_cred->cr_uid)) > + return (EADDRINUSE); > + > +#ifdef INET > + if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && > + IN6_IS_ADDR_UNSPECIFIED(laddr)) { > + struct sockaddr_in sin; > + > + in6_sin6_2_sin(&sin, sin6); > + t = in_pcblookup_local(inp->inp_pcbinfo, > + sin.sin_addr, lport, INPLOOKUP_WILDCARD, > + cred); > + if (t != NULL && > + (inp->inp_socket->so_type != SOCK_STREAM || > + in_nullhost(t->inp_faddr)) && > + (inp->inp_cred->cr_uid != > + t->inp_cred->cr_uid)) > + return (EADDRINUSE); > + } > +#endif > + } > + t = in6_pcblookup_local(inp->inp_pcbinfo, laddr, lport, > + lookupflags, cred); > + if (t != NULL && ((reuseport | reuseport_lb) & > + t->inp_socket->so_options) == 0) > + return (EADDRINUSE); > +#ifdef INET > + if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && > + IN6_IS_ADDR_UNSPECIFIED(laddr)) { > + struct sockaddr_in sin; > + > + in6_sin6_2_sin(&sin, sin6); > + t = in_pcblookup_local(inp->inp_pcbinfo, sin.sin_addr, > + lport, lookupflags, cred); > + if (t != NULL && ((reuseport | reuseport_lb) & > + t->inp_socket->so_options) == 0 && > + (!in_nullhost(t->inp_laddr) || > + (t->inp_vflag & INP_IPV6PROTO) != 0)) { > + return (EADDRINUSE); > + } > + } > +#endif > + } > + return (0); > +} > + > int > in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred) > { > struct socket *so = inp->inp_socket; > struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; > u_short lport = 0; > - int error, lookupflags = 0; > - int reuseport = (so->so_options & SO_REUSEPORT); > - > - /* > - * XXX: Maybe we could let SO_REUSEPORT_LB set SO_REUSEPORT bit here > - * so that we don't have to add to the (already messy) code below. > - */ > - int reuseport_lb = (so->so_options & SO_REUSEPORT_LB); > + int error, lookupflags, sooptions; > > INP_WLOCK_ASSERT(inp); > INP_HASH_WLOCK_ASSERT(pcbinfo); > > if (inp->inp_lport || !IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) > return (EINVAL); > - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT|SO_REUSEPORT_LB)) == 0) > + > + lookupflags = 0; > + sooptions = atomic_load_int(&so->so_options); > + if ((sooptions & (SO_REUSEADDR | SO_REUSEPORT | SO_REUSEPORT_LB)) == 0) > lookupflags = INPLOOKUP_WILDCARD; > if (sin6 == NULL) { > if ((error = prison_local_ip6(cred, &inp->in6p_laddr, > @@ -199,115 +329,13 @@ in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, struct > ucred *cred) ((inp->inp_flags & IN6P_IPV6_V6ONLY) != 0))) != 0) > return (error); > > - lport = sin6->sin6_port; > - if (IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) { > - /* > - * Treat SO_REUSEADDR as SO_REUSEPORT for multicast; > - * allow compepte duplication of binding if > - * SO_REUSEPORT is set, or if SO_REUSEADDR is set > - * and a multicast address is bound on both > - * new and duplicated sockets. > - */ > - if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT)) != 0) > - reuseport = SO_REUSEADDR|SO_REUSEPORT; > - /* > - * XXX: How to deal with SO_REUSEPORT_LB here? > - * Treat same as SO_REUSEPORT for now. > - */ > - if ((so->so_options & > - (SO_REUSEADDR|SO_REUSEPORT_LB)) != 0) > - reuseport_lb = SO_REUSEADDR|SO_REUSEPORT_LB; > - } else if (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { > - struct epoch_tracker et; > - struct ifaddr *ifa; > - > - sin6->sin6_port = 0; /* yech... */ > - NET_EPOCH_ENTER(et); > - if ((ifa = ifa_ifwithaddr((struct sockaddr *)sin6)) == > - NULL && > - (inp->inp_flags & INP_BINDANY) == 0) { > - NET_EPOCH_EXIT(et); > - return (EADDRNOTAVAIL); > - } > - > - /* > - * XXX: bind to an anycast address might accidentally > - * cause sending a packet with anycast source address. > - * We should allow to bind to a deprecated address, since > - * the application dares to use it. > - */ > - if (ifa != NULL && > - ((struct in6_ifaddr *)ifa)->ia6_flags & > - (IN6_IFF_ANYCAST|IN6_IFF_NOTREADY|IN6_IFF_DETACHED)) { > - NET_EPOCH_EXIT(et); > - return (EADDRNOTAVAIL); > - } > - NET_EPOCH_EXIT(et); > - } > - if (lport) { > - struct inpcb *t; > - > - if (ntohs(lport) <= V_ipport_reservedhigh && > - ntohs(lport) >= V_ipport_reservedlow && > - priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT)) > - return (EACCES); > - > - if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr) && > - priv_check_cred(inp->inp_cred, PRIV_NETINET_REUSEPORT) != > 0) { > - t = in6_pcblookup_local(pcbinfo, > - &sin6->sin6_addr, lport, > - INPLOOKUP_WILDCARD, cred); > - if (t != NULL && > - (so->so_type != SOCK_STREAM || > - IN6_IS_ADDR_UNSPECIFIED(&t->in6p_faddr)) && > - (!IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr) || > - !IN6_IS_ADDR_UNSPECIFIED(&t->in6p_laddr) || > - (t->inp_socket->so_options & SO_REUSEPORT) || > - (t->inp_socket->so_options & SO_REUSEPORT_LB) == > 0) && > - (inp->inp_cred->cr_uid != > - t->inp_cred->cr_uid)) > - return (EADDRINUSE); > - > -#ifdef INET > - if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && > - IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { > - struct sockaddr_in sin; > - > - in6_sin6_2_sin(&sin, sin6); > - t = in_pcblookup_local(pcbinfo, > - sin.sin_addr, lport, > - INPLOOKUP_WILDCARD, cred); > - if (t != NULL && > - (so->so_type != SOCK_STREAM || > - in_nullhost(t->inp_faddr)) && > - (inp->inp_cred->cr_uid != > - t->inp_cred->cr_uid)) > - return (EADDRINUSE); > - } > -#endif > - } > - t = in6_pcblookup_local(pcbinfo, &sin6->sin6_addr, > - lport, lookupflags, cred); > - if (t != NULL && ((reuseport | reuseport_lb) & > - t->inp_socket->so_options) == 0) > - return (EADDRINUSE); > -#ifdef INET > - if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0 && > - IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) { > - struct sockaddr_in sin; > + /* See if this address/port combo is available. */ > + error = in6_pcbbind_avail(inp, sin6, sooptions, lookupflags, > + cred); > + if (error != 0) > + return (error); > > - in6_sin6_2_sin(&sin, sin6); > - t = in_pcblookup_local(pcbinfo, sin.sin_addr, > - lport, lookupflags, cred); > - if (t != NULL && ((reuseport | reuseport_lb) & > - t->inp_socket->so_options) == 0 && > - (!in_nullhost(t->inp_laddr) || > - (t->inp_vflag & INP_IPV6PROTO) != 0)) { > - return (EADDRINUSE); > - } > - } > -#endif > - } > + lport = sin6->sin6_port; > inp->in6p_laddr = sin6->sin6_addr; > } > if (lport == 0) { > From nobody Thu Dec 5 16:45:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y40cx1Vkcz5dmSF; Thu, 05 Dec 2024 16:45:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y40cx0wqGz46Kq; Thu, 5 Dec 2024 16:45:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733417137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X0KvCkbmINxTNKmIi0KXx/r1osXKga8xPw5BFLi+nWo=; b=HFXjA62WRa1AOl88ii/vhIWlVOluv04ji63hWps8x3C5Di9OIReoVeBhQMWSzvicd2Ifsr Xh9xSUd48fa9Yl1SNH5lkNgPYwxiH0+Fu6t+LJ69KB+pnUJE6LlS0luEnTfN0papkHoAh0 Pvkr/p6j5E2ApFwHKhtHu9F1GRcR4nGrF8OF2FKWLG4Z5+Zim7KrcoSg2uUsbcl7dKyhaJ Dw6wPCZ3/5yp3bkIZTcUe6gBgxQRODKqGie+jvHoWtgWGXN8GCv4fNUlu3/5HJZH/ECjA1 Ekm6nqwdMhX0hENso7GP1lIfYTRmz4BWUrtfmlZ3xXEXkJC1/367qCXBTrzynw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733417137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=X0KvCkbmINxTNKmIi0KXx/r1osXKga8xPw5BFLi+nWo=; b=hTKWtM33RS+9ehB3Y9h2Yolc/rxbpkUUgr/6pBFU2a/RcQ9v7CInbA86EcADfpmEbn7RH/ AzN66pzKW1p4YAnChaPourho++CYr91aJjBaFz4VpiCFXI+Wtc3CNYt6p01Zthom6tyz/y FFnSWL5BDQmmqIeuMabkTIlCgbemVdxgE3JBsXl/v167ti/yS6fQH4vs8nchby1dvN9np3 HnDK88Wt4bR+HGBkLJFTI02f4z4yMq9I9SsbsL3pjwLcqGl8mPQ+jgqS6TiTKwGcoMC5ck OqM9/75IfK1UvAJWWvVs0ybN74DTuR9uIa5QzCNuiXedZDEykWkvdWTZBRCkDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733417137; a=rsa-sha256; cv=none; b=aJxEk4q4AxdFLKS35orO0mfqwwNGFlY2/jnfr3gXeyZF4WehZluwLxj7el848NhaEq7ABZ nieQObXvTNHhDxrnDrFwsb5IL8FLH+4yqLDLtw9OZeMqEQZRDCsgWmoXyLSEi2U4aQd/V/ THGqy/8oKQARVhMadRiIEVq0HY9nSDEcw1AxhiyLrDuIh4RLnwESfEB1zKMagyod0NPEw7 TV/xxSRdiPfptg80KumEQeDeF9IALB78uCh9PbcgonXW6zsQJVSKiWSUuLhpqbyR5cEICa QN6Y6d48fTvSuSvAsYbzKnrxifXajMjwfWlBhj2Yb4J9k3BCMnccrtqK5QJj2w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y40cx0WtRz1156; Thu, 5 Dec 2024 16:45:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B5Gja5q053451; Thu, 5 Dec 2024 16:45:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B5Gjabg053448; Thu, 5 Dec 2024 16:45:36 GMT (envelope-from git) Date: Thu, 5 Dec 2024 16:45:36 GMT Message-Id: <202412051645.4B5Gjabg053448@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: ffb3d384fc1d - main - inpcb: Fix the GENERIC-NODEBUG build List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ffb3d384fc1d550a764def2c0cd034ac3a4f0b86 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=ffb3d384fc1d550a764def2c0cd034ac3a4f0b86 commit ffb3d384fc1d550a764def2c0cd034ac3a4f0b86 Author: Mark Johnston AuthorDate: 2024-12-05 16:38:22 +0000 Commit: Mark Johnston CommitDate: 2024-12-05 16:45:26 +0000 inpcb: Fix the GENERIC-NODEBUG build Fixes: 01f8ce83242d ("inpcb: Factor out parts of in6_pcbbind() and in_pcbbind_setup()") --- sys/netinet/in_pcb.c | 3 +-- sys/netinet6/in6_pcb.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 94fb406bcd2b..1309d19121cd 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -962,7 +962,6 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, u_short *lportp, struct ucred *cred) { struct socket *so = inp->inp_socket; - struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; struct in_addr laddr; u_short lport = 0; int lookupflags, sooptions; @@ -972,7 +971,7 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr_in *sin, in_addr_t *laddrp, * No state changes, so read locks are sufficient here. */ INP_LOCK_ASSERT(inp); - INP_HASH_LOCK_ASSERT(pcbinfo); + INP_HASH_LOCK_ASSERT(inp->inp_pcbinfo); laddr.s_addr = *laddrp; if (sin != NULL && laddr.s_addr != INADDR_ANY) diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 6b5a9d3706be..4f7c0912e675 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -298,12 +298,11 @@ int in6_pcbbind(struct inpcb *inp, struct sockaddr_in6 *sin6, struct ucred *cred) { struct socket *so = inp->inp_socket; - struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; u_short lport = 0; int error, lookupflags, sooptions; INP_WLOCK_ASSERT(inp); - INP_HASH_WLOCK_ASSERT(pcbinfo); + INP_HASH_WLOCK_ASSERT(inp->inp_pcbinfo); if (inp->inp_lport || !IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr)) return (EINVAL); From nobody Thu Dec 5 16:47:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y40fz2hvzz5dmjT; Thu, 05 Dec 2024 16:47:23 +0000 (UTC) (envelope-from markjdb@gmail.com) Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com [IPv6:2607:f8b0:4864:20::331]) (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 4Y40fy6g51z46dJ; Thu, 5 Dec 2024 16:47:22 +0000 (UTC) (envelope-from markjdb@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ot1-x331.google.com with SMTP id 46e09a7af769-71d41932d32so597865a34.0; Thu, 05 Dec 2024 08:47:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733417242; x=1734022042; darn=freebsd.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:from:to:cc:subject:date:message-id :reply-to; bh=nQ40wdVqdjroy91e8fsjdC27WqXW5VKQQzlzucp3Xsk=; b=TTfvzKmzJoQ8dznwXY+rMPwxAwAMCkY40Wh0gBdY3ThfmzN9ns6nZXZECDVL3Cim1K rCJvV/yfxvjgSm/pMJYU1jOn8gpwo6DA9QX+Pc6q07btIhItfkWFTW/wviGsKpI1MmoB U+d62lmco8ogC2lAZxBQssV2zTtva/GpEUNueUXLQ5c6RBPQp/G9kKz3Ym8DeQ9gXr7/ +xsXDDsk8cY+cYpBSDt7WavhxOoW/EoryJc6KnK8KUQDdpx+YfIRRoPsGXO+g2t+l0vP 7go8cq6FVeSkZ7+04bMFXMmy9JsMzGGbxW/V15Box/l7GU7TgI3HegQiHOe/5vGWrfwm AZSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733417242; x=1734022042; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:sender:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nQ40wdVqdjroy91e8fsjdC27WqXW5VKQQzlzucp3Xsk=; b=LgGOq475ji9Zz9v141t2dSgJTeWXggK6ss1yfMa+Pqf4uBVS6klly62Slgr7lsTrkm GCA3dnPz74fYJ6AcWfLMc2kpuRiGI3KAmBtW/0WI8auahUuCgFtFqMJpX4cBwkwjxO/V KqDEt5UTX1JKdvxYz2I4euY2BWgYSaakI+e/CIzaL1ns4Pe9Vdk+h3s7XQeyZgShQ89f p/M3OLPArKbrkA7MQEs0lpKDDWRPvLQmd6Oq0Ddjyljmmc0AFYK+YdCmO2mLiFT/AGYN hCexMbv2zgelBcigEK8s14V/eHTK4hHfskz930XPkiGW7lM2IUO/rwkemoZaunMWHcz8 Orow== X-Forwarded-Encrypted: i=1; AJvYcCVzaBc6bqyCtqyiCfRevLTIljw35qP1mr2lAujb306dpX8QfWhychqGPSiQ43V76r8ZLwDePC3bBr10WygBCXbYD/Z1@freebsd.org, AJvYcCWSZ/CX89rY2m4UolbybA9y1bI76HSeyI4CmKXZtFCFy6e+plcthY5vaTia0rmi5t6nB21ijmTgx1sd7Z0DK3sbLd6XhfU=@freebsd.org X-Gm-Message-State: AOJu0YwGTdUo2Kw9NAHJGy0GA4E4/rrpC72XRcfkMSPEwBOTjIxCiLvq WlGxKDbsbRnMInYAesxgKRZNpHtAtXWcZv8LrCUDcHxdVFXl6XAU/mWrBQ3F X-Gm-Gg: ASbGncvqihSaTCjtNgABb5I3c2df+PPzC81PQDUfDaYZL0qCA7uaxuev1glYch0XVjo uIl8D6yiA8eY+8N8LKI2Dlk+yJ/e8ZEPZ3GHSA7/3qUIk1rC2Kiiy69r4Ra2e/J8UTKXj9qI24p 7McNPpn4uKpMExudll5I8ciITgDPlpQ0y70YbbKbxvffhPMs+XeiE7XyQFWjMPZZYK+DXqW86pu r/TA39mlnqlHxHbc3/IVhr1910iPPYqvhg0anq1ByLw4E1YM0t8sNwtVJ6Cr1gV X-Google-Smtp-Source: AGHT+IG6dhbCZpL1srIjExeBSWFG3R4mkqV3/abNwjdY9G817ae/CX5mnvxQfW6miS0iPQKdKi0JWA== X-Received: by 2002:a05:6830:6d8e:b0:71d:6314:40dd with SMTP id 46e09a7af769-71dad6518b9mr13957252a34.14.1733417241748; Thu, 05 Dec 2024 08:47:21 -0800 (PST) Received: from nuc (192-0-220-237.cpe.teksavvy.com. [192.0.220.237]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-467296d2f15sm9665841cf.35.2024.12.05.08.47.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Dec 2024 08:47:21 -0800 (PST) Date: Thu, 5 Dec 2024 11:47:18 -0500 From: Mark Johnston To: FreeBSD User Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 01f8ce83242d - main - inpcb: Factor out parts of in6_pcbbind() and in_pcbbind_setup() Message-ID: References: <202412051520.4B5FKmT0099691@gitrepo.freebsd.org> <20241205173523.7d4ddf02@hermann.intern.walstatt.dynvpn.de> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241205173523.7d4ddf02@hermann.intern.walstatt.dynvpn.de> X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4Y40fy6g51z46dJ X-Spamd-Bar: ---- On Thu, Dec 05, 2024 at 05:35:23PM +0100, FreeBSD User wrote: > On Thu, 5 Dec 2024 15:20:48 GMT > Mark Johnston wrote: > > > This commit breaks buildkernel: > > [...] > --- in6_pcb.o --- > /usr/src/sys/netinet6/in6_pcb.c:301:20: error: unused variable 'pcbinfo' > [-Werror,-Wunused-variable] 301 | struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; This is now fixed, thank you. > > The branch main has been updated by markj: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=01f8ce83242d7a8e599cf6a78b6277161d79edd4 > > > > commit 01f8ce83242d7a8e599cf6a78b6277161d79edd4 > > Author: Mark Johnston > > AuthorDate: 2024-12-05 15:00:13 +0000 > > Commit: Mark Johnston > > CommitDate: 2024-12-05 15:19:57 +0000 > > > > inpcb: Factor out parts of in6_pcbbind() and in_pcbbind_setup() From nobody Thu Dec 5 17:30:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y41c85w2mz5dqmb; Thu, 05 Dec 2024 17:30:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y41c85FTGz4CMw; Thu, 5 Dec 2024 17:30:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733419800; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VsaiuBdcpubjmYYXw0A9cceKKYloWq5vjdalpBvnp74=; b=khbXMxVV2hbLS+NMYa5o/I0iwwg8683tkvjmxgK3+H44k3XOFLMyh/P9n9ZBls2Nh6swIc peMZbmvJMyJ2fH3rtS/dYXJ47HUrxHdp8vgFTQFypIrgwyiH/2ae3+1U+7DB1mI/WlqAnj 0nzM9BHKaqrq9ATSwgzrgF4QR9qI3PK+7K8nhqmiLXjQC+M7a5C465yKc6KsH0GcZn+8rg TDz8xnQF1MzAnuixVZM0f5KPjlk+WAdfaV6lT+QgSpRskRbdzXNvKW53kHT4RmIb9UBZX8 PEg4LlP46cuTz79Rvfz84aO8Mtzx9h82+a21gQW0Ya9h98104NKLpiyCIHS/Pw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733419800; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VsaiuBdcpubjmYYXw0A9cceKKYloWq5vjdalpBvnp74=; b=NQaZD0hfcxcoafPYwSd++JfNRuZxk1uVUnwfbG+/T47wwPVsZ5m5H0So6lxUwKlRJakJla +94H7ceJBcr3xJUBZdRZYIkpYnqpCEk0OnmacEbjrcpgCgmKnCXApUwKjZTp1iMS7bL6wS 4azeSsAykGOfsEJRdYQx/cuFynCp4vgB/2qF4BiwgRRyo3W+Y/W3PthMuIc8VedIEl/AbP Jg8eYALXOegX25zQMd9zhjgc4wd6lQCQcl0I8LAfNSen2OaOJmwqjLRhduYU6++G0VNssP mOZauSVXTH97MM0Uy621sh7y63ze8JRi5MtA+OQ3MCsj7mMudloPzCojweU37g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733419800; a=rsa-sha256; cv=none; b=H6xHcH1kf/B6rXbIK7jC6NKbfwhcZpEzpRXRLJdH7EIG5ByCuiLBEjz7NC9kMemtqOV1dX IniK35ocqzY0w64o+RLBOHIkwLW8rNePFYsztexnu9cQp8YPXwli/hR/sUD//eZnm4Rfk+ 8Yv0bwDbIW4fyCBT8XPhjJScdcd1eeD1b+uZje3KAA4AA+Qr2cjHQpRMyO5u5771epBU1Y skFnJF+jkGrEgEJcRLSXcGzJ+gqGB2u+cAvp5+wCWZ38EmiYld9I7iE1sR4wcrFV4X8zxr WrLUerfGQewEp3coP0YcMryIHG5ZzpBjFYpMoNQLZmRIAK4zjicRGvheFs2f4Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y41c84Qwvz1275; Thu, 5 Dec 2024 17:30: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 4B5HU0bt029252; Thu, 5 Dec 2024 17:30:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B5HU0Rv029231; Thu, 5 Dec 2024 17:30:00 GMT (envelope-from git) Date: Thu, 5 Dec 2024 17:30:00 GMT Message-Id: <202412051730.4B5HU0Rv029231@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 028dae5d3e88 - main - style(9): fix typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 028dae5d3e886fe4c171689d9fc733e1bd68be71 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=028dae5d3e886fe4c171689d9fc733e1bd68be71 commit 028dae5d3e886fe4c171689d9fc733e1bd68be71 Author: Brooks Davis AuthorDate: 2024-12-05 17:28:42 +0000 Commit: Brooks Davis CommitDate: 2024-12-05 17:29:32 +0000 style(9): fix typo Reported by: olce Fixes: ebfb117e2e04 style(9): deprecate blank lines without local vars --- share/man/man9/style.9 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/man/man9/style.9 b/share/man/man9/style.9 index 04ee6fcdc0dd..0e766840c9ee 100644 --- a/share/man/man9/style.9 +++ b/share/man/man9/style.9 @@ -822,7 +822,7 @@ usage(void) .Pp Functions should have local variable declarations first, followed by one blank line, followed by the first statement. -If no local variables are declared, the first line should be a statment. +If no local variables are declared, the first line should be a statement. Older versions of this .Nm document required a blank line before code. From nobody Thu Dec 5 22:09:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y47pk0sjmz5flxl; Thu, 05 Dec 2024 22:09:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y47pk0d3Jz4cfg; Thu, 5 Dec 2024 22:09:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733436574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8FtMFVaA74iv1TqbK9SLkVz3N05tpjv9Oqdjb0dNhWM=; b=eh3gZI0n1Nl7h3snMCIIDol6c12mKTo8IXjpKJ4Gna/oyhMOAcHGyQ84uGtxF+laCSDu7L yDjZjnq8GnfA6SRAYRLORs7DNK0eADIqGm6KnszNjonmd5hmdIPvFgk5dzpbu19/YgQbgE L5BK3zkKY4e/tkwC8oImqpOKIUBR6grFYUf1SnqTVxzvwV7A3quVoERdgPnmCbIfrEEtvJ 547XOqlaW+Mlvlfi6ZtMIpasdkvirA83nCxSE7lUBBxBGRGKmrvUmqzlTfE2qTCnjYuk3W znaUkxZUFAh/nwR/BD8b9MXkgGjGiypeAC4iycLxDgNTbWmKPDRH2aoGlhKPQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733436574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8FtMFVaA74iv1TqbK9SLkVz3N05tpjv9Oqdjb0dNhWM=; b=uIDvs0amuVwCOZDqGkniByg5g3Ln0HAzWyIzlff1VM0L2grlNz4D8SIfGnyzAWgE88acpR Iw4w3vd+1hBHGIgXCObqRNRUOxD5qqJGfOP5no2u/6BMBk9k8QN9ypcH36hBicSWcU6eLg WooUnd/5o94trUFnAzNr/vOHaSgK553PMIlGwIv0WSVbEj2jDQvvGrootBE8gbvaKLU+Xh Z3ILqHjoASL0slw7nA4Yh4oGQJj6hMuRvrGfddjKrqQF/S8AQRgbuYiDd9Un74Bye0g2RT C5ul+M0Avh7+Yc3SgW2QE0CXFJiJayxpU3dBOooIOwnQNlk5P7VKQDCx9ilGDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733436574; a=rsa-sha256; cv=none; b=F0I2UAyTAmuPUT4zqviY69h7qI9/68KCtmHltdseDOezSUzcuUbuZNqwbpgFlv+gBZQ0bb BYiq7pdGFbo79v2Rt7CY2tPQ3U5F23n+4OM/1wqZhSlQLbQTGyuTMMF8Q6GH76UL4sbk8p wF6JxuP6YDy+TEhAEujOeZVynAP4Jh9VHklP3YwPwcOU/2GutrobZuqm5rxWWBkhEDMXR7 JKL/ADS58bO6yWV6VpNplzSIDTp1KFpPVLc1hPH9gdGe85hdCzL56KOZSvMSTZKnuhpfFM SBofEeVjLeTmjoIuy/z1C0mrlwyAyWB0XJDJPcfkS9rGQR+NVMDhW3ddvvXPTw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y47pk05Zqz19tV; Thu, 5 Dec 2024 22:09: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 4B5M9Xnt050397; Thu, 5 Dec 2024 22:09:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B5M9Xjh050394; Thu, 5 Dec 2024 22:09:33 GMT (envelope-from git) Date: Thu, 5 Dec 2024 22:09:33 GMT Message-Id: <202412052209.4B5M9Xjh050394@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: ad6562ec858f - main - pf: Don't pfsync states with unrecoverable routing information List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ad6562ec858fffbed83560ed3f79375a44be2705 Auto-Submitted: auto-generated The branch main has been updated by ks: URL: https://cgit.FreeBSD.org/src/commit/?id=ad6562ec858fffbed83560ed3f79375a44be2705 commit ad6562ec858fffbed83560ed3f79375a44be2705 Author: Kajetan Staszkiewicz AuthorDate: 2024-11-29 22:20:14 +0000 Commit: Kajetan Staszkiewicz CommitDate: 2024-12-05 22:03:12 +0000 pf: Don't pfsync states with unrecoverable routing information States created by route-to rules can't be trusted when received with pfsync version 1301 as they lack the rt and rt_kif information. They are imported, though, and pf_route() function attempts to recover the missing information for every forwarded packet. Move the recovery operation to pfsync_state_import() so that it's performed only once and if it's impossible don't import the state. Add an additional check for cases when recovery might produce wrong results. Reviewed by: kp Approved by: kp (mentor) Sponsored by: InnoGames GmbH Differential Revision: https://reviews.freebsd.org/D47906 --- sys/netpfil/pf/if_pfsync.c | 90 ++++++++++++--- sys/netpfil/pf/pf.c | 78 ++++--------- tests/sys/netpfil/pf/pfsync.sh | 256 ++++++++++++++++++++++++++++++++++++----- 3 files changed, 323 insertions(+), 101 deletions(-) diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c index 8dd3d875dc0b..5923675ff144 100644 --- a/sys/netpfil/pf/if_pfsync.c +++ b/sys/netpfil/pf/if_pfsync.c @@ -110,6 +110,8 @@ #include +#define DPFPRINTF(n, x) if (V_pf_status.debug >= (n)) printf x + struct pfsync_bucket; struct pfsync_softc; @@ -521,10 +523,13 @@ pfsync_state_import(union pfsync_state_union *sp, int flags, int msg_version) #endif struct pfsync_state_key *kw, *ks; struct pf_kstate *st = NULL; - struct pf_state_key *skw = NULL, *sks = NULL; - struct pf_krule *r = NULL; - struct pfi_kkif *kif; - int error; + struct pf_state_key *skw = NULL, *sks = NULL; + struct pf_krule *r = NULL; + struct pfi_kkif *kif; + struct pfi_kkif *rt_kif = NULL; + struct pf_kpooladdr *rpool_first; + int error; + uint8_t rt = 0; PF_RULES_RASSERT(); @@ -556,6 +561,67 @@ pfsync_state_import(union pfsync_state_union *sp, int flags, int msg_version) else r = &V_pf_default_rule; + /* + * Check routing interface early on. Do it before allocating memory etc. + * because there is a high chance there will be a lot more such states. + */ + switch (msg_version) { + case PFSYNC_MSG_VERSION_1301: + /* + * On FreeBSD <= 13 the routing interface and routing operation + * are not sent over pfsync. If the ruleset is identical, + * though, we might be able to recover the routing information + * from the local ruleset. + */ + if (r != &V_pf_default_rule) { + /* + * The ruleset is identical, try to recover. If the rule + * has a redirection pool with a single interface, there + * is a chance that this interface is identical as on + * the pfsync peer. If there's more than one interface, + * give up, as we can't be sure that we will pick the + * same one as the pfsync peer did. + */ + rpool_first = TAILQ_FIRST(&(r->rpool.list)); + if ((rpool_first == NULL) || + (TAILQ_NEXT(rpool_first, entries) != NULL)) { + DPFPRINTF(PF_DEBUG_MISC, + ("%s: can't recover routing information " + "because of empty or bad redirection pool\n", + __func__)); + return ((flags & PFSYNC_SI_IOCTL) ? EINVAL : 0); + } + rt = r->rt; + rt_kif = rpool_first->kif; + } else if (!PF_AZERO(&sp->pfs_1301.rt_addr, sp->pfs_1301.af)) { + /* + * Ruleset different, routing *supposedly* requested, + * give up on recovering. + */ + DPFPRINTF(PF_DEBUG_MISC, + ("%s: can't recover routing information " + "because of different ruleset\n", __func__)); + return ((flags & PFSYNC_SI_IOCTL) ? EINVAL : 0); + } + break; + case PFSYNC_MSG_VERSION_1400: + /* + * On FreeBSD 14 and above we're not taking any chances. + * We use the information synced to us. + */ + if (sp->pfs_1400.rt) { + rt_kif = pfi_kkif_find(sp->pfs_1400.rt_ifname); + if (rt_kif == NULL) { + DPFPRINTF(PF_DEBUG_MISC, + ("%s: unknown route interface: %s\n", + __func__, sp->pfs_1400.rt_ifname)); + return ((flags & PFSYNC_SI_IOCTL) ? EINVAL : 0); + } + rt = sp->pfs_1400.rt; + } + break; + } + if ((r->max_states && counter_u64_fetch(r->states_cur) >= r->max_states)) goto cleanup; @@ -629,6 +695,9 @@ pfsync_state_import(union pfsync_state_union *sp, int flags, int msg_version) st->act.log = sp->pfs_1301.log; st->timeout = sp->pfs_1301.timeout; + st->act.rt = rt; + st->act.rt_kif = rt_kif; + switch (msg_version) { case PFSYNC_MSG_VERSION_1301: st->state_flags = sp->pfs_1301.state_flags; @@ -680,17 +749,6 @@ pfsync_state_import(union pfsync_state_union *sp, int flags, int msg_version) st->act.max_mss = ntohs(sp->pfs_1400.max_mss); st->act.set_prio[0] = sp->pfs_1400.set_prio[0]; st->act.set_prio[1] = sp->pfs_1400.set_prio[1]; - st->act.rt = sp->pfs_1400.rt; - if (st->act.rt && (st->act.rt_kif = pfi_kkif_find(sp->pfs_1400.rt_ifname)) == NULL) { - if (V_pf_status.debug >= PF_DEBUG_MISC) - printf("%s: unknown route interface: %s\n", - __func__, sp->pfs_1400.rt_ifname); - if (flags & PFSYNC_SI_IOCTL) - error = EINVAL; - else - error = 0; - goto cleanup_keys; - } break; default: panic("%s: Unsupported pfsync_msg_version %d", @@ -737,7 +795,7 @@ pfsync_state_import(union pfsync_state_union *sp, int flags, int msg_version) cleanup: error = ENOMEM; -cleanup_keys: + if (skw == sks) sks = NULL; uma_zfree(V_pf_state_key_z, skw); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 8d9d595dc1ec..a0c9a92c6b84 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -7690,14 +7690,14 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, struct mbuf *m0, *m1, *md; struct sockaddr_in dst; struct ip *ip; - struct ifnet *ifp = NULL; - struct pf_addr naddr; + struct ifnet *ifp; int error = 0; uint16_t ip_len, ip_off; uint16_t tmp; int r_dir; - KASSERT(m && *m && r && oifp, ("%s: invalid parameters", __func__)); + KASSERT(m && *m && r && oifp && pd->act.rt_kif, + ("%s: invalid parameters", __func__)); SDT_PROBE4(pf, ip, route_to, entry, *m, pd, s, oifp); @@ -7720,13 +7720,15 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, goto bad_locked; } + if ((ifp = pd->act.rt_kif->pfik_ifp) == NULL) { + m0 = *m; + *m = NULL; + SDT_PROBE1(pf, ip, route_to, drop, __LINE__); + goto bad_locked; + } + if (pd->act.rt == PF_DUPTO) { if ((pd->pf_mtag->flags & PF_MTAG_FLAG_DUPLICATED)) { - ifp = pd->act.rt_kif ? pd->act.rt_kif->pfik_ifp : NULL; - /* If pfsync'd from FreeBSD < 14 */ - if (ifp == NULL && r->rpool.cur != NULL) - ifp = r->rpool.cur->kif ? - r->rpool.cur->kif->pfik_ifp : NULL; if (s != NULL) { PF_STATE_UNLOCK(s); } @@ -7764,36 +7766,18 @@ pf_route(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, dst.sin_len = sizeof(dst); dst.sin_addr = ip->ip_dst; dst.sin_addr.s_addr = pd->act.rt_addr.v4.s_addr; - ifp = pd->act.rt_kif ? pd->act.rt_kif->pfik_ifp : NULL; - - bzero(&naddr, sizeof(naddr)); if (s != NULL){ - struct pfi_kkif *kif; - - kif = pd->act.rt_kif; - /* If pfsync'd from FreeBSD < 14 */ - if (ifp == NULL && r->rpool.cur != NULL) { - ifp = r->rpool.cur->kif ? - r->rpool.cur->kif->pfik_ifp : NULL; - kif = r->rpool.cur->kif; - } - if (ifp != NULL && kif != NULL && - r->rule_flag & PFRULE_IFBOUND && + if (r->rule_flag & PFRULE_IFBOUND && pd->act.rt == PF_REPLYTO && s->kif == V_pfi_all) { - s->kif = kif; + s->kif = pd->act.rt_kif; s->orig_kif = oifp->if_pf_kif; } PF_STATE_UNLOCK(s); } - if (ifp == NULL) { - SDT_PROBE1(pf, ip, route_to, drop, __LINE__); - goto bad; - } - if (pd->dir == PF_IN) { if (pf_test(AF_INET, PF_OUT, PFIL_FWD, ifp, &m0, inp, &pd->act) != PF_PASS) { @@ -7943,10 +7927,10 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, struct sockaddr_in6 dst; struct ip6_hdr *ip6; struct ifnet *ifp = NULL; - struct pf_addr naddr; int r_dir; - KASSERT(m && *m && r && oifp, ("%s: invalid parameters", __func__)); + KASSERT(m && *m && r && oifp && pd->act.rt_kif, + ("%s: invalid parameters", __func__)); SDT_PROBE4(pf, ip6, route_to, entry, *m, pd, s, oifp); @@ -7969,13 +7953,15 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, goto bad_locked; } + if ((ifp = pd->act.rt_kif->pfik_ifp) == NULL) { + m0 = *m; + *m = NULL; + SDT_PROBE1(pf, ip6, route_to, drop, __LINE__); + goto bad_locked; + } + if (pd->act.rt == PF_DUPTO) { if ((pd->pf_mtag->flags & PF_MTAG_FLAG_DUPLICATED)) { - ifp = pd->act.rt_kif ? pd->act.rt_kif->pfik_ifp : NULL; - /* If pfsync'd from FreeBSD < 14 */ - if (ifp == NULL && r->rpool.cur != NULL) - ifp = r->rpool.cur->kif ? - r->rpool.cur->kif->pfik_ifp : NULL; if (s != NULL) { PF_STATE_UNLOCK(s); } @@ -8013,35 +7999,17 @@ pf_route6(struct mbuf **m, struct pf_krule *r, struct ifnet *oifp, dst.sin6_len = sizeof(dst); dst.sin6_addr = ip6->ip6_dst; PF_ACPY((struct pf_addr *)&dst.sin6_addr, &pd->act.rt_addr, AF_INET6); - bzero(&naddr, sizeof(naddr)); - ifp = pd->act.rt_kif ? pd->act.rt_kif->pfik_ifp : NULL; if (s != NULL) { - struct pfi_kkif *kif; - - kif = pd->act.rt_kif; - /* If pfsync'd from FreeBSD < 14 */ - if (ifp == NULL && r->rpool.cur != NULL) { - ifp = r->rpool.cur->kif ? - r->rpool.cur->kif->pfik_ifp : NULL; - kif = r->rpool.cur->kif; - } - if (ifp != NULL && kif != NULL && - r->rule_flag & PFRULE_IFBOUND && + if (r->rule_flag & PFRULE_IFBOUND && pd->act.rt == PF_REPLYTO && s->kif == V_pfi_all) { - s->kif = kif; + s->kif = pd->act.rt_kif; s->orig_kif = oifp->if_pf_kif; } - PF_STATE_UNLOCK(s); } - if (ifp == NULL) { - SDT_PROBE1(pf, ip6, route_to, drop, __LINE__); - goto bad; - } - if (pd->dir == PF_IN) { if (pf_test(AF_INET6, PF_OUT, PFIL_FWD | PF_PFIL_NOREFRAGMENT, ifp, &m0, inp, &pd->act) != PF_PASS) { diff --git a/tests/sys/netpfil/pf/pfsync.sh b/tests/sys/netpfil/pf/pfsync.sh index b97b06c5f9a2..0f3505460b50 100644 --- a/tests/sys/netpfil/pf/pfsync.sh +++ b/tests/sys/netpfil/pf/pfsync.sh @@ -835,16 +835,11 @@ basic_ipv6_cleanup() pfsynct_cleanup } -atf_test_case "route_to" "cleanup" -route_to_head() +route_to_common_head() { - atf_set descr 'Test route-to with default rule' - atf_set require.user root - atf_set require.progs scapy -} + pfsync_version=$1 + shift -route_to_body() -{ pfsynct_init epair_sync=$(vnet_mkepair) @@ -866,40 +861,111 @@ route_to_body() jexec one ifconfig pfsync0 \ syncdev ${epair_sync}a \ maxupd 1 \ + version $pfsync_version \ up jexec two ifconfig ${epair_sync}b 192.0.2.2/24 up jexec two ifconfig ${epair_two}a 198.51.100.2/24 up jexec two ifconfig ${epair_out_two}a 203.0.113.2/24 up - #jexec two ifconfig ${epair_out_two}a name outif + jexec two ifconfig ${epair_out_two}a name outif jexec two sysctl net.inet.ip.forwarding=1 jexec two arp -s 203.0.113.254 00:01:02:03:04:05 jexec two ifconfig pfsync0 \ syncdev ${epair_sync}b \ maxupd 1 \ + version $pfsync_version \ up - # Enable pf! + ifconfig ${epair_one}b 198.51.100.254/24 up + ifconfig ${epair_two}b 198.51.100.253/24 up + route add -net 203.0.113.0/24 198.51.100.1 + ifconfig ${epair_two}b up + ifconfig ${epair_out_one}b up + ifconfig ${epair_out_two}b up +} + +route_to_common_tail() +{ + atf_check -s exit:0 env PYTHONPATH=${common_dir} \ + ${common_dir}/pft_ping.py \ + --sendif ${epair_one}b \ + --fromaddr 198.51.100.254 \ + --to 203.0.113.254 \ + --recvif ${epair_out_one}b + + # Allow time for sync + sleep 2 + + states_one=$(mktemp) + states_two=$(mktemp) + jexec one pfctl -qvvss | normalize_pfctl_s > $states_one + jexec two pfctl -qvvss | normalize_pfctl_s > $states_two +} + +atf_test_case "route_to_1301_body" "cleanup" +route_to_1301_head() +{ + atf_set descr 'Test route-to with pfsync version 13.1' + atf_set require.user root + atf_set require.progs scapy +} + +route_to_1301_body() +{ + route_to_common_head 1301 + jexec one pfctl -e pft_set_rules one \ "set skip on ${epair_sync}a" \ "pass out route-to (outif 203.0.113.254)" + jexec two pfctl -e + pft_set_rules two \ + "set skip on ${epair_sync}b" \ + "pass out route-to (outif 203.0.113.254)" + + route_to_common_tail - # Make sure we have different rulesets so the synced state is associated with - # V_pf_default_rule + # Sanity check + grep -qE 'all icmp 198.51.100.254 -> 203.0.113.254:8 .*, rule 0 .* route-to: 203.0.113.254@outif origif: outif' $states_one || + atf_fail "State missing on router one" + + # With identical ruleset the routing information is recovered from the matching rule. + grep -qE 'all icmp 198.51.100.254 -> 203.0.113.254:8 .*, rule 0 .* route-to: 203.0.113.254@outif' $states_two || + atf_fail "State missing on router two" + + true +} + +route_to_1301_cleanup() +{ + pfsynct_cleanup +} + +atf_test_case "route_to_1301_bad_ruleset" "cleanup" +route_to_1301_bad_ruleset_head() +{ + atf_set descr 'Test route-to with pfsync version 13.1 and incompatible ruleset' + atf_set require.user root + atf_set require.progs scapy +} + +route_to_1301_bad_ruleset_body() +{ + route_to_common_head 1301 + + jexec one pfctl -e + pft_set_rules one \ + "set skip on ${epair_sync}a" \ + "pass out route-to (outif 203.0.113.254)" + + jexec two pfctl -e pft_set_rules two \ + "set debug loud" \ "set skip on ${epair_sync}b" \ "pass out route-to (outif 203.0.113.254)" \ "pass out proto tcp" - ifconfig ${epair_one}b 198.51.100.254/24 up - ifconfig ${epair_two}b 198.51.100.253/24 up - route add -net 203.0.113.0/24 198.51.100.1 - ifconfig ${epair_two}b up - ifconfig ${epair_out_one}b up - ifconfig ${epair_out_two}b up - atf_check -s exit:0 env PYTHONPATH=${common_dir} \ ${common_dir}/pft_ping.py \ --sendif ${epair_one}b \ @@ -907,25 +973,151 @@ route_to_body() --to 203.0.113.254 \ --recvif ${epair_out_one}b - # Allow time for sync - ifconfig ${epair_one}b inet 198.51.100.254 -alias - route del -net 203.0.113.0/24 198.51.100.1 - route add -net 203.0.113.0/24 198.51.100.2 + route_to_common_tail - sleep 2 + # Sanity check + grep -qE 'all icmp 198.51.100.254 -> 203.0.113.254:8 .*, rule 0 .* route-to: 203.0.113.254@outif origif: outif' $states_one || + atf_fail "State missing on router one" - # Now try to trigger the state on the other pfsync member - env PYTHONPATH=${common_dir} \ + # Different ruleset on each router means the routing information recovery + # from rule is impossible. The state is not synced. + grep -qE 'all icmp 198.51.100.254 -> 203.0.113.254:8 .*' $states_two && + atf_fail "State present on router two" + + true +} + +route_to_1301_bad_ruleset_cleanup() +{ + pfsynct_cleanup +} + +atf_test_case "route_to_1301_bad_rpool" "cleanup" +route_to_1301_bad_rpool_head() +{ + atf_set descr 'Test route-to with pfsync version 13.1 and different interface' + atf_set require.user root + atf_set require.progs scapy +} + +route_to_1301_bad_rpool_body() +{ + route_to_common_head 1301 + + jexec one pfctl -e + pft_set_rules one \ + "set skip on ${epair_sync}a" \ + "pass out route-to { (outif 203.0.113.254) (outif 203.0.113.254) }" + + jexec two pfctl -e + pft_set_rules two \ + "set skip on ${epair_sync}b" \ + "pass out route-to { (outif 203.0.113.254) (outif 203.0.113.254) }" + + atf_check -s exit:0 env PYTHONPATH=${common_dir} \ ${common_dir}/pft_ping.py \ - --sendif ${epair_two}b \ + --sendif ${epair_one}b \ --fromaddr 198.51.100.254 \ --to 203.0.113.254 \ - --recvif ${epair_out_two}b + --recvif ${epair_out_one}b + + route_to_common_tail + + # Sanity check + grep -qE 'all icmp 198.51.100.254 -> 203.0.113.254:8 .*, rule 0 .* route-to: 203.0.113.254@outif origif: outif' $states_one || + atf_fail "State missing on router one" + + # The ruleset is identical but since the redirection pool contains multiple interfaces + # pfsync will not attempt to recover the routing information from the rule. + grep -qE 'all icmp 198.51.100.254 -> 203.0.113.254:8 .*' $states_two && + atf_fail "State present on router two" + + true +} + +route_to_1301_bad_rpool_cleanup() +{ + pfsynct_cleanup +} + +atf_test_case "route_to_1400_bad_ruleset" "cleanup" +route_to_1400_bad_ruleset_head() +{ + atf_set descr 'Test route-to with pfsync version 14.0' + atf_set require.user root + atf_set require.progs scapy +} + +route_to_1400_bad_ruleset_body() +{ + route_to_common_head 1400 + + jexec one pfctl -e + pft_set_rules one \ + "set skip on ${epair_sync}a" \ + "pass out route-to (outif 203.0.113.254)" + + jexec two pfctl -e + pft_set_rules two \ + "set skip on ${epair_sync}b" + + route_to_common_tail + + # Sanity check + grep -qE 'all icmp 198.51.100.254 -> 203.0.113.254:8 .*, rule 0 .* route-to: 203.0.113.254@outif origif: outif' $states_one || + atf_fail "State missing on router one" + + # Even with a different ruleset FreeBSD 14 syncs the state just fine. + # There's no recovery involved, the pfsync packet contains the routing information. + grep -qE 'all icmp 198.51.100.254 -> 203.0.113.254:8 .* route-to: 203.0.113.254@outif' $states_two || + atf_fail "State missing on router two" + + true +} + +route_to_1400_bad_ruleset_cleanup() +{ + pfsynct_cleanup +} + +atf_test_case "route_to_1400_bad_ifname" "cleanup" +route_to_1400_bad_ifname_head() +{ + atf_set descr 'Test route-to with pfsync version 14.0' + atf_set require.user root + atf_set require.progs scapy +} + +route_to_1400_bad_ifname_body() +{ + route_to_common_head 1400 + + jexec one pfctl -e + pft_set_rules one \ + "set skip on ${epair_sync}a" \ + "pass out route-to (outif 203.0.113.254)" + + jexec two pfctl -e + jexec two ifconfig outif name outif_new + pft_set_rules two \ + "set skip on ${epair_sync}b" \ + "pass out route-to (outif_new 203.0.113.254)" + + route_to_common_tail + + # Sanity check + grep -qE 'all icmp 198.51.100.254 -> 203.0.113.254:8 .*, rule 0 .* route-to: 203.0.113.254@outif origif: outif' $states_one || + atf_fail "State missing on router one" + + # Since FreeBSD 14 never attempts recovery of missing routing information + # a state synced to a router with a different interface name is dropped. + grep -qE 'all icmp 198.51.100.254 -> 203.0.113.254:8 .*' $states_two && + atf_fail "State present on router two" true } -route_to_cleanup() +route_to_1400_bad_ifname_cleanup() { pfsynct_cleanup } @@ -942,5 +1134,9 @@ atf_init_test_cases() atf_add_test_case "timeout" atf_add_test_case "basic_ipv6_unicast" atf_add_test_case "basic_ipv6" - atf_add_test_case "route_to" + atf_add_test_case "route_to_1301" + atf_add_test_case "route_to_1301_bad_ruleset" + atf_add_test_case "route_to_1301_bad_rpool" + atf_add_test_case "route_to_1400_bad_ruleset" + atf_add_test_case "route_to_1400_bad_ifname" } From nobody Thu Dec 5 22:33:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y48LF1pPrz5fnKT; Thu, 05 Dec 2024 22:33: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y48LF1Bl0z4fnH; Thu, 5 Dec 2024 22:33:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733438005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=71v87HPiK9NxHEVuzIrikX2kg/znnCN5BwTaVjDHz/U=; b=lcFWT092+2MW5W4D87Q/PMMicS5eSBGpsQTqh7QCoTEOs44l3E5haLvASpBu3sdziX44qV CgrCoLfd1DIXDYg24LPWq2+QzJjPYsFSGAvlzvNl6+ktjW8As/sa+lOv7A+fZlAk8xraDU bEXP9x4oCoqjjojOC0q+CmR18ITbXoV+ln1LLCsJU7wdNWrymnhMv7JeSl0BDw5k0b8PUc yhhB5S3j9debTz4Qwtjht1Xghh4zIS7x6DfvXB2Aj5/21AbG70p6rDChJ07fVYboNQsbKs 0hgLTA0uZwzxbBev5yxqylRfhN9giZGaktD/0wJxf1sybU/B6pmYni3tTwZazw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733438005; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=71v87HPiK9NxHEVuzIrikX2kg/znnCN5BwTaVjDHz/U=; b=Ki8qoK6HyUicU/EJTFIfoxLcSkNUdWg3XSGjxI8dJoRGZliAHhqfK3kywgWAtACldtr5LT Xc8iscog2tJKgfOfCJFVFAcrM4pslnuec1dLolxvat7/KSg66qAFPXwUOPD4sZIk0r1f0C VH36ZKH02pMbPJYXwjVB1Ie7Adl+UwWN5FCC0FVqB2tzg4e/sNBoJlU4Cv4Hyg+iP6N6j/ RZd1pX+W2DAlLY8CZNGbs2WwvhgXg8k433JLpuFKFXcJN8IsxwyAtLBU2ykpe3Ec4NLp2/ CTsTjubRnbmr4+sp6eEm5IxYajjj82rnlBFn0OJNU7YtNQa5b9tR1toSGZn7pA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733438005; a=rsa-sha256; cv=none; b=LFD5voH38WunfmlKkIMsCEhL48xknd3X9kquM2X9eXbhR1xY1GCZ0Q1hvotyPhjoB8a93P 2rXdGHnbPj6ACf0K5EqLzFopfISKh5quIHKqPnvWCqYUWZ049jNyVBhNJdTJtg+2bk6Xj7 nmnR3Oc/6xkf7nme/Jv7CfPaICvJyDBb+jd818DgjeuM2WNwM6iMVDzAgWXORxlrSGSeLJ p5ZIuo1hH6uoeOtLOXRNAuLlgIPm3DvnJr2fvCelyQE/BADTpvB4lFrgMJd00jtI/GoznJ uWBIYjRqP2bVXNTLmg+vdG6EgDj553tj++4V3ELy5Yh5xZCVseQ4F5N3Dzmdeg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y48LF0T25z1BNW; Thu, 5 Dec 2024 22:33:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B5MXOZr004509; Thu, 5 Dec 2024 22:33:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B5MXOF4004506; Thu, 5 Dec 2024 22:33:24 GMT (envelope-from git) Date: Thu, 5 Dec 2024 22:33:24 GMT Message-Id: <202412052233.4B5MXOF4004506@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 0207010f595d - main - checkstyle9.pl: Better C++ filename matching List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0207010f595d5df070bfc092b9889d186355f649 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=0207010f595d5df070bfc092b9889d186355f649 commit 0207010f595d5df070bfc092b9889d186355f649 Author: Warner Losh AuthorDate: 2024-12-05 22:27:08 +0000 Commit: Warner Losh CommitDate: 2024-12-05 22:33:49 +0000 checkstyle9.pl: Better C++ filename matching We have .cc, .hh, .cpp, and .hpp files in the tree. Update the regexp to match. Remove matching perl, python and non-preprocessed .s files from checking. Sponsored by: Netflix --- tools/build/checkstyle9.pl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tools/build/checkstyle9.pl b/tools/build/checkstyle9.pl index 24e33712ceda..50ff1e9bd680 100755 --- a/tools/build/checkstyle9.pl +++ b/tools/build/checkstyle9.pl @@ -12,7 +12,7 @@ use Term::ANSIColor qw(:constants); my $P = $0; $P =~ s@.*/@@g; -our $SrcFile = qr{\.(?:h|c|cpp|s|S|pl|py|sh)$}; +our $SrcFile = qr{\.(?:h|c|cpp|hpp|hh|cc|S|sh)$}; my $V = '0.31'; @@ -1439,7 +1439,7 @@ sub process { # Check for incorrect file permissions if ($line =~ /^new (file )?mode.*[7531]\d{0,2}$/) { my $permhere = $here . "FILE: $realfile\n"; - if ($realfile =~ /(\bMakefile(?:\.objs)?|\.c|\.cc|\.cpp|\.h|\.mak|\.[sS])$/) { + if ($realfile =~ /(\bMakefile(?:\.objs)?|\.c|\.cc|\.cpp|\.h|\.hpp|\.mak|\.[sS])$/) { ERROR("do not set execute permissions for source files\n" . $permhere); } } @@ -1572,7 +1572,7 @@ sub process { } # check we are in a valid C source file if not then ignore this hunk - next if ($realfile !~ /\.(h|c|cpp)$/); + next if ($realfile !~ /\.(h|hpp|c|cpp|cc|hh)$/); # Block comment styles @@ -1971,7 +1971,7 @@ sub process { { # Ignore 'catch (...)' in C++ - } elsif ($name =~ /^catch$/ && $realfile =~ /(\.cpp|\.h)$/) { + } elsif ($name =~ /^catch$/ && $realfile =~ /\.(cpp|h|hpp|hh|cc)$/) { # cpp #define statements have non-optional spaces, ie # if there is a space between the name and the open @@ -2068,7 +2068,7 @@ sub process { # Ignore : used in class declaration in C++ } elsif ($opv eq ':B' && $ctx =~ /Wx[WE]/ && - $line =~ /class/ && $realfile =~ /(\.cpp|\.h)$/) { + $line =~ /class/ && $realfile =~ /\.(cpp|h|hpp|hh|cc)$/) { # No spaces for: # -> @@ -2096,7 +2096,7 @@ sub process { } elsif ($op eq '!' || $op eq '~' || $opv eq '*U' || $opv eq '-U' || $opv eq '&U' || $opv eq '&&U') { - if ($op eq '~' && $ca =~ /::$/ && $realfile =~ /(\.cpp|\.h)$/) { + if ($op eq '~' && $ca =~ /::$/ && $realfile =~ /\.(cpp|h|hpp|cc|hh)$/) { # '~' used as a name of Destructor } elsif ($ctx !~ /[WEBC]x./ && $ca !~ /(?:\)|!|~|\*|-|\&|\||\+\+|\-\-|\{)$/) { @@ -2133,7 +2133,7 @@ sub process { } elsif ($ctx !~ /[EWC]x[CWE]/) { my $ok = 0; - if ($realfile =~ /\.cpp|\.h$/) { + if ($realfile =~ /\.(cpp|h|hpp|cc|hh)$/) { # Ignore template arguments <...> in C++ if (($op eq '<' || $op eq '>') && $line =~ /<.*>/) { $ok = 1; From nobody Fri Dec 6 00:54:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4CT812Jdz5fyxy; Fri, 06 Dec 2024 00:54:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4CT80X0Fz4s53; Fri, 6 Dec 2024 00:54:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733446476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vP+5ZmzxkjWPXy47HWrNk+KnjLEiuvJKhWg0W7j9XKo=; b=IdJGadNetfeSEaHQd2eTwt3+IVvOjt4HgWrjcPSeOnIeSfLzk7w/ii2hUw618/hF48Yoar 94/l2aP4zMnbdiTGHzjE9Izc0qXCalcQ514JCTBedqcyyp9iSXP+aNXLS8j+28yZw6xr01 GzOZcG5GrNkix7KoIekZZjZjx9J4FzMXHD3qCeSf9ecAmmmpp6xI5blBq31mgX8TSIP37D FqHLFATiKR5j8mu9RBdCdgaP0a93ue1nPg8jQmVOE3jyfVCMhlZWWaMoikJWcA23GT/vgU 3WjXYpseRh0GYzhqHyGGbNv27HeY7S2k12aRuU/JKRYK0VHO/nZwJMIKDd4oSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733446476; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vP+5ZmzxkjWPXy47HWrNk+KnjLEiuvJKhWg0W7j9XKo=; b=xPc1gnni7WWzmSwGCR3qJhSeJQjDjPkbPAIy9JOKELZ3uHUEv7IlDVjIjY+4exzcbO+WVB MgoAF0Ead9sUVxN8wzDWQzysQdjiDWjeM5xk8Y1nsSmQ1nPw9tD+UfVcEQN89wcdMwINrn LP8DhaIFHuTiqrjxVnwoNGZGNBGY7NIcI/j+4aCHVlgQUbUXBymh1Ak4s/jv/btLDnJ8Wt LP/damJSdDBZeTzhmo7yQHj2+nCzrfZEF3ippSkPRan5RcjGYkLgq0uKcdAaV+Qd49b4ZE ZJBnfarN74R5EZHB1yB7wkFrWS+sQcxy2RVzipjBZVS4n0wU+n47laJPKN9Lgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733446476; a=rsa-sha256; cv=none; b=KP2Nl4ql673fdtsZczkEiu1qn9qMGaIBt3x2zgtEdE6W0yDCgVeLfWvam8qiKr52gJ+9wt zG3KETGAbzxFPFqGAuREtWlhPOw89cDtDy+/9n8DmSHGQkeyg0wsLeLSuLjRlJvd5Q+PUd wcafhaQFnWnYzyHSjeVAejDr9k6OsvDWfr0Bt1J3JNjzS9F4MwGgnifBKJUkGQAzXH7qvT RZEW4FF7OnfC5GYT45yDdKu0Y0NShx3T/dPYUl0aImHbNuwlYNZXyl3ZtTjGienoZLXJCk PgxNzh2X0+a4WgyQcKhMf1+Uii++RdKhp7AfoqK9yEnhKHcQy3/yaaPhG5kOmA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4CT801BWzGWC; Fri, 6 Dec 2024 00:54: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 4B60sZa8063742; Fri, 6 Dec 2024 00:54:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B60sZpH063739; Fri, 6 Dec 2024 00:54:35 GMT (envelope-from git) Date: Fri, 6 Dec 2024 00:54:35 GMT Message-Id: <202412060054.4B60sZpH063739@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: db512bb30314 - main - uart.4: describe better + spdx List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: db512bb30314326a0b2cfad3f9094dd830744777 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=db512bb30314326a0b2cfad3f9094dd830744777 commit db512bb30314326a0b2cfad3f9094dd830744777 Author: Alexander Ziaee AuthorDate: 2024-11-16 16:39:38 +0000 Commit: Warner Losh CommitDate: 2024-12-06 00:54:36 +0000 uart.4: describe better + spdx + add `serial` to description (search keywords) + remove redundant `(UART)`, `for`, and `device` + description is now one line on standard cons. MFC after: 3 days Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1531 --- share/man/man4/uart.4 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/share/man/man4/uart.4 b/share/man/man4/uart.4 index c7950e86ddc9..98b61886371d 100644 --- a/share/man/man4/uart.4 +++ b/share/man/man4/uart.4 @@ -1,3 +1,5 @@ +.\"- +.\" SPDX-License-Identifier: BSD-2-Clause .\" .\" Copyright (c) 2003 Marcel Moolenaar .\" All rights reserved. @@ -23,12 +25,12 @@ .\" (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 11, 2024 +.Dd December 5, 2024 .Dt UART 4 .Os .Sh NAME .Nm uart -.Nd driver for Universal Asynchronous Receiver/Transmitter (UART) devices +.Nd Universal Asynchronous Receiver/Transmitter serial driver .Sh SYNOPSIS .Cd "device uart" .Pp From nobody Fri Dec 6 01:08:34 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4CnG6qRtz5g0cF; Fri, 06 Dec 2024 01:08:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4CnG6GNrz4tLF; Fri, 6 Dec 2024 01:08:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733447314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FlLEo1XKg0FlY6nVq4r1IyFNexZHlV0+Kyq65ecjMaM=; b=vlWTDme4cgx5K9xSKihpbcGSIJufVemJxNHU3+A1B12q5G4YGCGDRv9yO2QKIdcN4y/plk byOzuoh2jP7CAysNHvinnCaFE6iKPkT7SCJhpjz8V+887kKvlTx1vDk9xKLORuut2jVc20 fvlPCj/C0nBcP6+Jau5gqLxqApabfizn/MI58gZJTnvO3/Yocb8iC0h2jsZEcNm0MukW00 X25AeXYF8LlOcpoDodflQc8mKWoNqWS9P5glsd6xzGYztapUMOPPRg/zBgJz6MUmbLNosi 6q2tDF64xmgaJ1jZC0AI1dtAHXarHun7Kz/X16DKBGl8Yqnmx9KznJ/ma55qWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733447314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FlLEo1XKg0FlY6nVq4r1IyFNexZHlV0+Kyq65ecjMaM=; b=pXkN+5lXcLFJ71z876cj5xkawC+TGvRB2zFKVfyAoWX+vfM16CplbVucDfr87KzGKDnmEC xOyhIkd0KCUYMADfYX0yF2ZdUoR6VShCOrlY5X2A7/t8VT+JRTZ9iNCnTmvrUTsEUunS9b 7KaBJrU/ThtTgM2O/pOovpCSNqvKWCC+AmujzuttUoBG2BjX5EnSDZ4WYypDagHt4En9rq vX7ImMuhpgxh1ZvLhnR8/WoXeGznFWVsqhyJuXD925lCriEg9IBMhq8NWsJDfiQfTCIpQ3 H8KTs75Z4gTOpcyWBU9++JxG7JM2yJQ1xosiXXgGIgPxxWBOvUrSXvO8XiB/4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733447314; a=rsa-sha256; cv=none; b=HKPI24UZqxzIYgVsJQHgr2I21/h7wD8yvhC9PrxJ330Ao5YvoxalESpDGNnzONmDSKaT8P bCmvElBPIsJome5rpfOkXsaxwmBWLsYHSarygsjgcQmLMRwAQbfpKn9En7QKJrAfJIk+pm vVZoNFg9yVQ5F3mp1T27t6K5uBeS1nl7q1hF0GtTHk41sULLQedzs0JakT/fXByCVr3FUc +GDSFOxMcpYW+m8rWSmu8hfViQCY65nQaFGxnPVH+k9l8fF4Ysl0cJ2p8wFfO2jc8Upj7y sSy6cTMUGhWy/orJ/ARaQW1Ajh5nIipoUPW2yp+Q95uyq2Z7rDLKcHhrnhK2Rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4CnG5sSlzGTk; Fri, 6 Dec 2024 01:08:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B618YNN085003; Fri, 6 Dec 2024 01:08:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B618YQK085000; Fri, 6 Dec 2024 01:08:34 GMT (envelope-from git) Date: Fri, 6 Dec 2024 01:08:34 GMT Message-Id: <202412060108.4B618YQK085000@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: e0231d3cd363 - main - github: optimize style workflow List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e0231d3cd363bb33142270315aa817977b632910 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e0231d3cd363bb33142270315aa817977b632910 commit e0231d3cd363bb33142270315aa817977b632910 Author: Ahmad Khalifa AuthorDate: 2024-12-01 13:42:53 +0000 Commit: Warner Losh CommitDate: 2024-12-06 00:59:51 +0000 github: optimize style workflow Only fetch the commits we need instead of fetching the entire history. Unfortunately there doesn't seem to be a way to add 1 to the number of commits without an extra step, so do it in a new step and pass the information onto $GITHUB_ENV so it can be used later. Signed-off-by: Ahmad Khalifa Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1538 --- .github/workflows/style.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index 08d4242df5ed..0e7c1d8ca6d8 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -1,10 +1,6 @@ name: Style Checker -# Runs my simple style(9) checker on any pushes or pull requests. It could be -# optimized by fetching the pull request head branch back to main revisions and -# running on that. That would reduce the run time from 3-4 minutes down to 30-40 -# seconds. Getting the right series of clone + fetches to get that iteratively -# is proving elusive, so optimizations welcome. +# Runs my simple style(9) checker on pull requests. on: pull_request: # maybe pull_request_target @@ -19,10 +15,15 @@ jobs: name: Style Checker runs-on: ubuntu-latest steps: + # Unfortunately there doesn't seem to be a way to + # do this without an extra step. + - name: Get depth + run: | + echo "DEPTH=$(( ${{ github.event.pull_request.commits }} + 1 ))" >> $GITHUB_ENV - name: checkout uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: ${{ env.DEPTH }} ref: ${{ github.event.pull_request.head.sha }} - name: Install packages run: | @@ -30,5 +31,5 @@ jobs: sudo apt-get -yq --no-install-suggests --no-install-recommends install perl - name: Run checker run: | - sha=$(git merge-base ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}) + sha=$(git rev-parse HEAD~${{ github.event.pull_request.commits }}) tools/build/checkstyle9.pl --github ${sha}..${{ github.event.pull_request.head.sha }} From nobody Fri Dec 6 01:08:35 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4CnJ12Ykz5g1D8; Fri, 06 Dec 2024 01:08:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4CnH6qx6z4tHw; Fri, 6 Dec 2024 01:08:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733447316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VmQsKZDWKnTUoI69LlQqZT8DHwue1s81rmSrwMZJ9vs=; b=Nu14XInoBpYFkzmGRRKbDWDeTDi8ijQxPWxBEP68WQq4KEGp5kJ55Ycucug35TwRtS+m9Z H6rRzDeQsNF9SA0I1KhaWA76N1cIHVJ6wSc3jXn9r10fOIFwuDRS3jf3S+20I4Y4GsIJ/+ mweI+1hglrFUGDS6owBoFVsabJehGTxQlgwpG7WorwpKpe+DpEJx28WSlf9CLSWVI46VkH hbXc/KkDU5TwIIF/pLotup7quUtW4DQy1czJ4BXZm2l1rbpBnz1A8najGKItWy8zYudEyT cdNKh4YdISAZjXmOgGYAwt+WX+P8g4QWKJuuqNzTXmmogvsIq//61ju6ewqEhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733447316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VmQsKZDWKnTUoI69LlQqZT8DHwue1s81rmSrwMZJ9vs=; b=F9lGIiQOzL3/P8UNJoWlY8ES33VSZPnytwMxWsOu9ZyYXPfCelG+QHKqDpXJ3f9J6abZGh dNR3jA+bgIQKt/W3lVhWqBb2iVXCuPVh/AYBPSwYYEufRV0CfxqCeixnMX1MixROuKxfzo Qa3KLbDRs27h2SNkEsdDJC9Q+7eBXpeapcDrBKyHhpVTyQ+ouHDWjztUKTb8bfC6Ad422d 8IfiC+wQFWuqCG/tkgZS3O+g3aX/mrczUIRwonwivkJkJx1a+OMu96Iap8vlmuFT2Pjf4d BgFdkhy2uigkKH3uP+Kxh4eFvqjJYWKXgzOvfCTJUKGdZBv/tHe0FY6WSDDb3Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733447316; a=rsa-sha256; cv=none; b=qyoe4CEh29vC2oD80OPB8xWVPM/2sUwdm7Mc/O0fAnZ4tjHlBviB7LWmTQ5L6oke8UsQoL vmh9oHD296j5sWTBpIXrNg8DeGIm8r+/WI0qrniAwpHiyE48HL8Y4Tx874PvedCJgjBXZ6 aXHG/yLzacr3DW7Xpz44tTatdpjMEmgAZUKpKO+hQdXFoiB5NhuSxY0S9FjX0sTKnxbrS7 oWDZOAlmVp3FW2dmcwAWCzNuSLaqcn+itr1F+6fSGZaRuZo0gBnAA39+owi0mveDbiubR0 ml0Yu6mhuOD0SEkkL+6HpugZW2VeRbILjKEmRxghKHXvvGmkDmXBTuIcu3m6OA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4CnH6RMSzGJ2; Fri, 6 Dec 2024 01:08:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B618ZDP085061; Fri, 6 Dec 2024 01:08:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B618Zwt085058; Fri, 6 Dec 2024 01:08:35 GMT (envelope-from git) Date: Fri, 6 Dec 2024 01:08:35 GMT Message-Id: <202412060108.4B618Zwt085058@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 5889ab4b1c79 - main - github: limit paths for style workflow List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5889ab4b1c79e9714390b65ef60a9d634e7ab45d Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=5889ab4b1c79e9714390b65ef60a9d634e7ab45d commit 5889ab4b1c79e9714390b65ef60a9d634e7ab45d Author: Ahmad Khalifa AuthorDate: 2024-12-01 16:23:30 +0000 Commit: Warner Losh CommitDate: 2024-12-06 00:59:51 +0000 github: limit paths for style workflow Signed-off-by: Ahmad Khalifa Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1538 --- .github/workflows/style.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/style.yml b/.github/workflows/style.yml index 0e7c1d8ca6d8..da7032e03eae 100644 --- a/.github/workflows/style.yml +++ b/.github/workflows/style.yml @@ -6,6 +6,7 @@ on: pull_request: # maybe pull_request_target branches: [ main ] types: [ opened, reopened, edited, synchronize ] + paths: [ '**.S', '**.c', '**.cc', '**.cpp', '**.h', '**.hh', '**.hpp' ] permissions: contents: read From nobody Fri Dec 6 01:14:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4Cvr4NXpz5g1SZ; Fri, 06 Dec 2024 01:14:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4Cvr3rYDz4vMq; Fri, 6 Dec 2024 01:14:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733447656; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+YaAP00Gdsk3DryajvwnlN0HWxz7fQUHmQPCuRRM/OQ=; b=I4q2y/cJGl4ypsvrOHkJQQ+WzQGz1uPmDY38ujZawHgtzXKwsfAnOy3z+6plUINLsbxz68 weLoqkscTm2WYjQV2Ypy3pGQGu4fXJ4wuP7AImAie2UpOCHhGZC1OjLbTjsbgb/nVVCAAI JssW6/Pli716LWcBXeAt/T5Zl0bBMOHiF3E3BB/x6Tc1AYrwKGh9E02fV3K2vtH6phu+Ar 8IzVWGY/OV8nxs7Vu6yq8GVXGNPOoO8rJx4eahpl60f0mKq+zqmE0imUb7LQ7aYPwuuuD5 iGKdxmUhZ6qPjATbWLCc3B43w55NE6SeHQpCq36jswH/949IN4dWXUN6F7y/4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733447656; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+YaAP00Gdsk3DryajvwnlN0HWxz7fQUHmQPCuRRM/OQ=; b=MuD3KBlGU3WDGDPIbV74plefULmpGJ8gl6snC3HpPp4OKVRH+o3hMANBh1oSjlQKF4kKXD jtD8dymQhiilJkFyZomXmy6pLLLEtuRLG8vmMPe7hLp9diHYmLzh+dlByCxsJMrGdv+3Uy I3+GwxXElAmX4OQnl1+t+f6ZvvS3WbHT98XRxMg2gQXM7PKs35nDS5fKdP8Uv1JeorgH9i SIsMwaOWzygXnShfi2sozdhHBWAw7qqQVeWImnyGVMhm+hswPPFmXUuGOlfvGkHVk0P48/ E6M+2m7goy1fbYgwOdXKXD9vszgnw4BCrSjIr4S2XJzPXDO9j9mmBnh1QH3jCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733447656; a=rsa-sha256; cv=none; b=rUdws9/sIwPm8ayg0rvOcPytJzXsG0cOSF7t3VA3ahAZBBCOWXjlePxG2+lPkLsS9cjLvj LPrMF89QhalXBPmGY5ILTD78S7SEiW72TdJ7GvFyUEh+8LboYzgWEHOANY/6vlkWO0Kf0O 1+zQkNyf1JrcQi8NQHu2/XlqjKaSl5DH6dYVTdYZ2uGEsLDlTU+14nZ+ZAqwr9vQEgjed+ qgPDEtetQNnQ6uQPT8Sw0u3SgzApUGAnIXF7AlyIB1TsiaymrTMV7+XxKDn0gxsdOon7e/ 3Oq1iC5xrgVwyZnbamefAUF6fRuPFJ62B3V8Ak56tmQwAwE3/JenXwiiPMRoaQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4Cvr3PzWzGVL; Fri, 6 Dec 2024 01:14: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 4B61EGNl003506; Fri, 6 Dec 2024 01:14:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B61EG3U003503; Fri, 6 Dec 2024 01:14:16 GMT (envelope-from git) Date: Fri, 6 Dec 2024 01:14:16 GMT Message-Id: <202412060114.4B61EG3U003503@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 53484f516ac4 - main - u3g.4: Fall cleaning List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 53484f516ac4ce3bf57a8c52c094ae67d79312d5 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=53484f516ac4ce3bf57a8c52c094ae67d79312d5 commit 53484f516ac4ce3bf57a8c52c094ae67d79312d5 Author: Alexander Ziaee AuthorDate: 2024-11-07 18:01:50 +0000 Commit: Warner Losh CommitDate: 2024-12-06 01:13:36 +0000 u3g.4: Fall cleaning Many people come on our social spaces asking about router projects, can't find info about supported cellular modems, and say they're sticking to $other_OS. Thanks to the fantastic talk by Ian from Metify, I now know that is not true, we have them and they work great. Therefore, tell everyone else by massaging this page for discoverability in the manual and the release hardware notes. + Document description: s/datacards/cellular modems/ for apropos search + HARDWARE: s/adapters/cellular modems/ for release hardware notes + move things which shouldn't be in Rel HW notes to description + massage things around for readability and flow + tag spdx + xref supported connections MFC after: 3 days Reported by: allanjude (u3g can also provide GPS port) Reported by: Jared Trout (cellular in title) Reported by: emaste (specify mpd, editorial style instruction) Reported by: Metify (modem drivers exist) Reviewed by: imp, emaste, allanjude Pull Request: https://github.com/freebsd/freebsd-src/pull/1519 --- share/man/man4/u3g.4 | 66 +++++++++++++++++++++++++++++----------------------- 1 file changed, 37 insertions(+), 29 deletions(-) diff --git a/share/man/man4/u3g.4 b/share/man/man4/u3g.4 index 4035c8d3a8df..51c883b8378e 100644 --- a/share/man/man4/u3g.4 +++ b/share/man/man4/u3g.4 @@ -1,3 +1,5 @@ +.\"- +.\" SPDX-License-Identifier: ISC .\" .\" Copyright (c) 2008 AnyWi Technologies .\" All rights reserved. @@ -16,12 +18,12 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd February 4, 2023 +.Dd December 5, 2024 .Dt U3G 4 .Os .Sh NAME .Nm u3g -.Nd USB support for 3G and 4G datacards +.Nd USB support for 3G and 4G cellular modems .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -39,26 +41,46 @@ module at boot time, place the following line in u3g_load="YES" .Ed .Pp -If neither of the above is done, the driver will automatically be loaded -by devd(8) when the device is connected. +If neither of the above is done, the driver will be +automatically loaded by devd(8) when the device is connected. .Sh DESCRIPTION The .Nm -driver provides support for the multiple USB-to-serial interfaces exposed by -many 3G USB/PCCard modems. +driver provides support for USB-to-serial interfaces +exposed by many 3G and 4G modems. +The supported adapters provide the necessary modem port for +.Xr ppp 8 , +or +.Pa net/mpd5 +connections. +Depending on the specific device, extra ports provide other functions +such as an additional command port, diagnostic port, +GPS receiver port, or SIM toolkit port. .Pp The device is accessed through the .Xr ucom 4 driver which makes it behave like a .Xr tty 4 . +.Pp +In some adapters a mass storage device supported by the +.Xr umass 4 +driver is present which contains Windows and Mac OS X drivers. +The device starts up in disk mode (TruInstall, ZeroCD, etc.) +and requires additional commands to switch it to modem mode. +If your device is not switching automatically, please try to add quirks. +See +.Xr usbconfig 8 +and +.Xr usb_quirk 4 . .Sh HARDWARE The .Nm -driver supports the following adapters: +driver supports the following cellular modems: .Pp .Bl -bullet -compact .It -Option GT 3G Fusion, GT Fusion Quad, etc. (only 3G part, not WLAN) +Option GT 3G Fusion, GT Fusion Quad, etc. +.Pq 3G only, not WLAN .It Option GT 3G, GT 3G Quad, etc. .It @@ -70,9 +92,10 @@ Qualcomm Inc. CDMA MSM .It Qualcomm Inc. GOBI 1000, 2000 and 3000 devices with MDM1000 or MDM2000 chipsets .It -QUECTEL BGX, ECX, EGX, EMX, EPX, RGX series. +QUECTEL BGX, ECX, EGX, EMX, EPX, RGX series .It -Quectel EM160R (see CAVEATS) +Quectel EM160R +.Pq see Sx CAVEATS .It Huawei B190, E180v, E220, E3372, E3372v153, E5573Cs322, ('') .It @@ -83,26 +106,9 @@ Sierra MC875U, MC8775U, etc. Panasonic CF-F9 GOBI .El .Pp -(See +Many more are supported, see .Pa /sys/dev/usb/serial/u3g.c -for the complete list of supported cards for each vendor -mentioned above.) -.Pp -The supported 3G cards provide the necessary modem port for ppp, or mpd -connections as well as extra ports (depending on the specific device) to -provide other functions (additional command port, diagnostic port, SIM toolkit -port). -.Pp -In some of these devices a mass storage device supported by the -.Xr umass 4 -driver is present which contains Windows and Mac OS X drivers. -The device starts up in disk mode (TruInstall, ZeroCD, etc.) and requires -additional commands to switch it to modem mode. -If your device is not switching automatically, please try to add quirks. -See -.Xr usbconfig 8 -and -.Xr usb_quirk 4 . +for the complete list. .Sh FILES .Bl -tag -width "/dev/ttyU*.*.init" -compact .It Pa /dev/ttyU*.* @@ -153,7 +159,9 @@ Hardware for testing was provided by AnyWi Technologies, Leiden, NL. The Quectel EM160R is not officially supported in PPP mode. In order to use it in PPP mode, the ctsrts option needs to be turned off, for example, by adding: +.Pp .Dl set ctsrts off +.Pp to .Pa /etc/ppp/ppp.conf in the correct section. From nobody Fri Dec 6 01:57:38 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4Dsv238kz5g40D; Fri, 06 Dec 2024 01:57:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4Dsv1KwNz40XS; Fri, 6 Dec 2024 01:57:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733450259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZqesQzgv/WR1+jRpo2GB7bpUc0cH1LwHFowTQmf+VzE=; b=bCxDCF91ZY2hnwdQKkqc8CLKx/uoDKv8ZV+PQ3wLQEcxsYY+2jmTQQlGUYufhkkbwVdvt8 zF0HkFACpFT+iZLsIcb0kQQ3lIrpQ48ZGcMcWg0p//ySmdVstKNhEuoob3MSOqb9YmdfJQ kbEreY88NVhEO13fPE0c16awQGM/L3X3g4RG3J8ut/7vroVthr2h3LKpS7zcNdoNVVKyw/ HE/tqzd/bZQkinJV4CEbFgfIK6kTX4DiHpT60GY/3pzNMWkMnKgy+qPMqD/3fsTW84pI9v CZqxtHhYsz1R8O0/C/YOkVzBod4//263Oy4cj3YbIGwKcHr2TLybrMLzW5XNjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733450259; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZqesQzgv/WR1+jRpo2GB7bpUc0cH1LwHFowTQmf+VzE=; b=s/W/wmNz/suupOn+OZGHJ2ovVPUjgRrXMYsUvOXL+WZljGa4opFmUKQIGgwrlJJSd+ZKFp Qqqz4WasoxQF8qN3+CJ+fqqtS3GMsADl0AYrwTmoLrgGBofPgbaA6oq9qtRAP0xE3uHb/l GQwIrUqlp1Bx3V1mRi6xo6okM4DvPYuLYvpKUv0MiIVDZyNxLWXJfsI3J+jIT1FjSs0RC0 ISg2sI+SCB3lY8+K7X0FBGkpwfwGzO2SkYSCXdKZ7zV15x9QFq7j7uZ8GvVWZyQZtyvFOe ayKjxmXadf3OYDANqQtLXf5u2WLbfitAWKBQUiWi1wg93sIuW4c00h4x7X3U4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733450259; a=rsa-sha256; cv=none; b=CeCcPoiWk0nlKcSLrn1b1941CIsifXhsU390NjxFokx945yg6xgGAv40vSjAnMtMYqrs4O 6SWZJ2/y/25IrE+//XE+1/ryaRGFe0dGbhZgSbimHaSmJieuDlru4NjyuuByef3DgWRTlm +D9gU1NYv4k7h2qolmkLrn4F66SfEFPSw+DSkigzj3BGk0whlaw6LtvSe9soSpSMIK/KHJ i43i7unCTblMI0GezaQ/EHM1YmziE/kcpQLe3B2T9j3mZhDOivgFY0JTuek8+fF3He/AAW MCKm3VTJWXbry43eRk2dLo+Lb+iZOnpQgT0PvUJa2EfPQDEmatJ+h+AdTCUadQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4Dsv0pxyzJ14; Fri, 6 Dec 2024 01:57: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 4B61vd8Z077729; Fri, 6 Dec 2024 01:57:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B61vcxh077726; Fri, 6 Dec 2024 01:57:38 GMT (envelope-from git) Date: Fri, 6 Dec 2024 01:57:38 GMT Message-Id: <202412060157.4B61vcxh077726@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: 91b5592a1e1a - main - fs: Add static asserts for the size of fid structures List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 91b5592a1e1af97480d615cf508be05b5674d2f3 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=91b5592a1e1af97480d615cf508be05b5674d2f3 commit 91b5592a1e1af97480d615cf508be05b5674d2f3 Author: Rick Macklem AuthorDate: 2024-12-06 01:56:23 +0000 Commit: Rick Macklem CommitDate: 2024-12-06 01:56:23 +0000 fs: Add static asserts for the size of fid structures File system specific *fid structures are copied into the generic struct fid defined in sys/mount.h. As such, they cannot be larger than struct fid. This patch adds _Static_assert()s to check for this. ZFS and fuse already have _Static_assert()s. Reviewed by: imp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47936 --- sys/fs/msdosfs/msdosfs_vnops.c | 2 ++ sys/fs/tmpfs/tmpfs_vnops.c | 2 ++ sys/fs/udf/udf_vnops.c | 2 ++ sys/ufs/ffs/ffs_vnops.c | 2 ++ 4 files changed, 8 insertions(+) diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 078ea5e52312..6417b7dac16b 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -1962,6 +1962,8 @@ msdosfs_vptofh(struct vop_vptofh_args *ap) { struct denode *dep; struct defid *defhp; + _Static_assert(sizeof(struct defid) <= sizeof(struct fid), + "struct defid cannot be larger than struct fid"); dep = VTODE(ap->a_vp); defhp = (struct defid *)ap->a_fhp; diff --git a/sys/fs/tmpfs/tmpfs_vnops.c b/sys/fs/tmpfs/tmpfs_vnops.c index 428c31f3c59a..162977b8abf7 100644 --- a/sys/fs/tmpfs/tmpfs_vnops.c +++ b/sys/fs/tmpfs/tmpfs_vnops.c @@ -1709,6 +1709,8 @@ vop_vptofh { struct tmpfs_fid_data tfd; struct tmpfs_node *node; struct fid *fhp; + _Static_assert(sizeof(struct tmpfs_fid_data) <= sizeof(struct fid), + "struct tmpfs_fid_data cannot be larger than struct fid"); node = VP_TO_TMPFS_NODE(ap->a_vp); fhp = ap->a_fhp; diff --git a/sys/fs/udf/udf_vnops.c b/sys/fs/udf/udf_vnops.c index 98a779280690..88bf4917a851 100644 --- a/sys/fs/udf/udf_vnops.c +++ b/sys/fs/udf/udf_vnops.c @@ -1274,6 +1274,8 @@ udf_vptofh(struct vop_vptofh_args *a) { struct udf_node *node; struct ifid *ifhp; + _Static_assert(sizeof(struct ifid) <= sizeof(struct fid), + "struct ifid cannot be larger than struct fid"); node = VTON(a->a_vp); ifhp = (struct ifid *)a->a_fhp; diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index e9849008cde2..6e83741975fd 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -1919,6 +1919,8 @@ ffs_vptofh( { struct inode *ip; struct ufid *ufhp; + _Static_assert(sizeof(struct ufid) <= sizeof(struct fid), + "struct ufid cannot be larger than struct fid"); ip = VTOI(ap->a_vp); ufhp = (struct ufid *)ap->a_fhp; From nobody Fri Dec 6 02:06:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4F3f540sz5g5Wh; Fri, 06 Dec 2024 02:06:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4F3f34H4z41YC; Fri, 6 Dec 2024 02:06:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733450766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oD4JibFSzsM4KdCdhyxMqkAZiq1+TNIchFaI5k7qPyo=; b=UC40oq07FPe0rIgaF8ZHjhsf5xNlH3Zg75WCZ1gaxQt+TQZ1e2h95/uDUmPbsTva5OOakX sw+m+fqOJfxd056WeRg1cCdIDHQDXLGr9WmX1R7hw4tLy6ok+mIk0GR+lgNItsyJ9H8iQO dRT2DHjQhCShEpefoWEkedxOmVW45ARCZrjusQTjA7auDLMtljWOIc+9qqlf7+yz+HSYCN yqE4K2k0x8fyrKIbrKBBKy+2/63g/LBFAbNHwMxFHZ21MvLbUlLnEACzsAXCl5fcJDxsV+ AQbW4Japp/7Jb+1wOvXFlej6789bIA2mngqRBpjNTf5faJK+x67ZhaB4tUZ8qQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733450766; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oD4JibFSzsM4KdCdhyxMqkAZiq1+TNIchFaI5k7qPyo=; b=YoKSdnGIsyvyWcvSGz6Y4sDDwIyrIwxHgpQdYChsGDFZ7NbcxsoANmq9rB5fXOEayKszNp 4Cgy6DHBfD5Y+vgxdNx6rqCVSOXy2kkH0Wlkis2BAFlKwMA5MGh6wPjJXXZERUAE0bmdaF uw8rgebhJO/a3/GmRt/efnGYt18ZJq94YPNH+idwnIlsL1QH41NWzr6tZZjz4nOKKGYOjf ZZjHcCnVJrmjGj94k/z+yYJstdNfYXZP1g+hmDITpDlklVGlPPH8jsqtV4PlIze7ij4iyp 9nnqfZpW9xfYRRXhLKBUdAwkVqUgIpjdbsuex8aEJa4gBj/1pKwDJw/zWILYJQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733450766; a=rsa-sha256; cv=none; b=lRkx61+zUJmPfiCFRsrssZv7UVuFsDlOZ7aFF2U6bCyKCLAnuTiqfl/E1BPi1YM10sJ018 CeIJYFY2NohrYwg8dXp4FuvRcEO6pai2ifYXSbzyPbyoauYLQLeQdI9HgS6yBmK4wo1U5f mj8rRDEeXTYlQj0kPOj4JpDTvOtOSuYFOVUJJmss9t18I+cRddUmrELZJAwk5G+EW3HpM3 cC55qVTpFvXtt8ClBRG+TkfyN4wWRj+TXMf/Ji2GsOECfR//QQSj1eDeoJno28aEWE8hJS 1n7PO1HGspMz02F/jfnLnZByhuSxwc6D2nPLSwKXTK4o9hI7V1ey8apVV7zaOQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4F3f2YThzJWp; Fri, 6 Dec 2024 02:06: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 4B62660a096455; Fri, 6 Dec 2024 02:06:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6266Ja096452; Fri, 6 Dec 2024 02:06:06 GMT (envelope-from git) Date: Fri, 6 Dec 2024 02:06:06 GMT Message-Id: <202412060206.4B6266Ja096452@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: bfc8e3308bee - main - ext2fs: Fix the size of struct ufid and add a static assert List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: bfc8e3308bee23d0f7836d57f32ed8d47da02627 Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=bfc8e3308bee23d0f7836d57f32ed8d47da02627 commit bfc8e3308bee23d0f7836d57f32ed8d47da02627 Author: Rick Macklem AuthorDate: 2024-12-06 02:05:06 +0000 Commit: Rick Macklem CommitDate: 2024-12-06 02:05:06 +0000 ext2fs: Fix the size of struct ufid and add a static assert File system specific *fid structures are copied into the generic struct fid defined in sys/mount.h. As such, they cannot be larger than struct fid. This patch packed the structure and checks via a __Static_assert(). Reviewed by: markj MFC after: 2 weeks --- sys/fs/ext2fs/ext2_vnops.c | 2 ++ sys/fs/ext2fs/inode.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/fs/ext2fs/ext2_vnops.c b/sys/fs/ext2fs/ext2_vnops.c index dfbb11f75421..064c10bd18b2 100644 --- a/sys/fs/ext2fs/ext2_vnops.c +++ b/sys/fs/ext2fs/ext2_vnops.c @@ -1889,6 +1889,8 @@ ext2_vptofh(struct vop_vptofh_args *ap) { struct inode *ip; struct ufid *ufhp; + _Static_assert(sizeof(struct ufid) <= sizeof(struct fid), + "struct ufid cannot be larger than struct fid"); ip = VTOI(ap->a_vp); ufhp = (struct ufid *)ap->a_fhp; diff --git a/sys/fs/ext2fs/inode.h b/sys/fs/ext2fs/inode.h index 9ee1b5672da6..63102deb10b0 100644 --- a/sys/fs/ext2fs/inode.h +++ b/sys/fs/ext2fs/inode.h @@ -191,7 +191,7 @@ struct ufid { uint16_t ufid_pad; /* Force 32-bit alignment. */ ino_t ufid_ino; /* File number (ino). */ uint32_t ufid_gen; /* Generation number. */ -}; +} __packed; #endif /* _KERNEL */ #endif /* !_FS_EXT2FS_INODE_H_ */ From nobody Fri Dec 6 02:07:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4F554bpNz5g5QR; Fri, 06 Dec 2024 02:07:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4F5541lBz420W; Fri, 6 Dec 2024 02:07:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733450841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GrO3QOI5l+CaiLMtiSsVbSwwLD5CUj4cRlp+apZPThU=; b=eoxK5suzh85SKtMQ8lozEnVvdrqXzz/qF8bEtCbludklXu8w9J2St7uEZ6t5JAl7O2p0U5 SHo7JMa5WSQHxEC/XXWEFAEI7uUfDoyB7x1vIt40WudE8mpuwYCnjfrcDcJ8zIlMtXOM9b qrnK6M7hf0sZ4x7H+tY43DRTR/dSJ+IvE7fT4cIxiZF4cDtz7NJJ36GS0uTLQlcETSe/q3 XWumoizZTv8xnJHr05FsjVy1KIujlIRWQ7rSJM0Ytn5SgXuxBxm6vgIzqWdMlyOttCW98Z aJOlTkxDME7pHjWkxSFyheRNR5uPgWJzREErciEL42TSfA7WSGluTDD3GOypTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733450841; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GrO3QOI5l+CaiLMtiSsVbSwwLD5CUj4cRlp+apZPThU=; b=fcPHswu3rJxilfFfNt1n3SkTgm0ce4adES9VxLHJ9ynctdIpoPn+vWn1wcWh2wid65jmKh R2kVkoM+GRAXoH2t+GIBge04uc4W8pRsuY9hYRdC1039ZZhG3M7bj1GEFvFUu24yCZ7UXs W7P1G/iNTCt+Qq7ZdEyARaN4BwxUnDj0q+w6n2TKeF8YtU821YZDpDPJ/BzcgGATVd1/k/ ATmGQTZnVQB2BGK5esab3B6+LNmsNFU8zBoF13l2/cuuabyzSCWQAvmAgKwdIyt1J2iNLR hjZr8fIU/dSukEtYG0cJX5rbWu4LYCzn1Ae+vL3ooNu/YV33hNYnuix6Bw8oeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733450841; a=rsa-sha256; cv=none; b=PZpxSxF/btMZfVb1K6YNFO8d+WKyvdc/oOHKD3mZopFRqkBw/7iEhRV/RP2DHmUoPWf40Y m+ACt379+vIwF2UaIfWwlY4rXxxcn5Kz1B21SmOgTkNp/tegMDTsTsx442ta336JQCrSJR FBRbZ+9v3y3jQ8XzI3Q+oTm7IDyzyipxcSLgnJqmwJHUdxpB/ajPNNhiYCagVV/QRofq+4 ACvbTRPubJM+CpFCaIFp0FLrhBjYZEFatF/QiHYsTYwIQMMt1nOK/EXyuVJMydV/Eh6+L7 hnutpVAc45+l/WpZPczce3jMUr1zSGKs1xT8oauPmlu5Jcse/9Huh3VE07zASA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4F553dk3zJZK; Fri, 6 Dec 2024 02:07: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 4B627Lqp096950; Fri, 6 Dec 2024 02:07:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B627LQB096947; Fri, 6 Dec 2024 02:07:21 GMT (envelope-from git) Date: Fri, 6 Dec 2024 02:07:21 GMT Message-Id: <202412060207.4B627LQB096947@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: bd6cd409a955 - main - x86: remove LOCORE: No longer needed List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd6cd409a955b4a0b0b0d0633b4bbf5e3eac6fdb Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=bd6cd409a955b4a0b0b0d0633b4bbf5e3eac6fdb commit bd6cd409a955b4a0b0b0d0633b4bbf5e3eac6fdb Author: Elliott Mitchell AuthorDate: 2024-12-06 01:58:13 +0000 Commit: Warner Losh CommitDate: 2024-12-06 02:07:45 +0000 x86: remove LOCORE: No longer needed Remove the #ifdef LOCORE. No assembly file includes this file since the XEN update of 1a52c1053049. Pull-Request: https://github.com/freebsd/freebsd-src/pull/1286 --- sys/x86/include/intr_machdep.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/sys/x86/include/intr_machdep.h b/sys/x86/include/intr_machdep.h index d7bfcdc126a9..9e913440c712 100644 --- a/sys/x86/include/intr_machdep.h +++ b/sys/x86/include/intr_machdep.h @@ -62,8 +62,6 @@ extern u_int num_msi_irqs; */ #define MSI_INTEL_ADDR_BASE 0xfee00000 -#ifndef LOCORE - typedef void inthand_t(void); #define IDTVEC(name) __CONCAT(X,name) @@ -165,6 +163,5 @@ int msix_release(int irq); void xen_intr_alloc_irqs(void); #endif -#endif /* !LOCORE */ #endif /* _KERNEL */ #endif /* !__X86_INTR_MACHDEP_H__ */ From nobody Fri Dec 6 02:12:17 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4FBn6SXXz5g5p3; Fri, 06 Dec 2024 02:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4FBn5yBtz43Ql; Fri, 6 Dec 2024 02:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733451137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LC5A1XVfUqI9pVpgiOinCf6QxK4RXi/0GnTCEVBSBtA=; b=VZXGzq/Daejhy7H+77SxL0sunSOiiya84CMAzYt0a3WPvIJzK3w3ShQZpMQc15IG4uyqGB 2REK+scrYRGYeHXl+11wbu+ziqgcJiM2DofkAqyfXZoIIzJIElLUJJ356HcL9u0WaArrOA gxExN2JrCSDIL8UZq7nZs6NsQL4gffkfF3JKDN2+yfh6ApzjrjDnOjeLWHCzO4rhC1J66s 7HpZoHBu9BVOOGS08lxC+FsU6agBxqSX/Dk6XcqWhlrsPAKXlMHDhzaFPYpFMBTVlu88/I uzoYJ8AXcwIpwqujTRyase2braT09pdrpgYUyT7SGT9OLh703PRWIfYMPk1Oqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733451137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=LC5A1XVfUqI9pVpgiOinCf6QxK4RXi/0GnTCEVBSBtA=; b=ue5JAqPAJtMegdpRNesrOK3wZ+TeSLJzsyh6LY0OQ4ugUDqhxxZyq2BKDeqYXAS4Cx97D9 JN/SfLHD0sON5XBFPUwsP1aildFozyekfmNCBAkQRh/fZPU8kbA2cooVREaw+du4QfkHaD cuDwtPYxLGMTG9KhLNj/AiRSb/NkQj3r11G0Evdp0rICDecUuk3RfNePJZ6dUkxHSYnQvB OyqzQAS53SKZBdiW4FVio09FqpvLTpNOqTD8fJ6A4rhmtIs2VQe36UOUTldv2TkRaFm4o9 el7bF8/QArPHoYg9366RLb2L9M+7QHz+upfIyKrtpHgqHom6DflVySSk09GVfA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733451137; a=rsa-sha256; cv=none; b=bbcTuRdTnXl5U0GYkRdKrktWNip0VCAGUu4vkxFhiibPUkPOsDr7Uvgx1TtIHMTmLKpKF3 gFn6Ba7wlfi61TeNEyXJ+gIpbgC3pU9fEu8wk8/DPRcc2Fyz8picvBe2Li/9wwpG2gL8CB SjxA1YaddTSQd5J80mEH1cVA+S0BtSA8zJkgsy1EWg3mBxn/cHnxfqcKldDJHFK22J5IWw /xmlsWYV2ALRKwCK4exo48N/lhJW7l1qCwFjrauOzZoWf33y4zJF9Rc8E1pPsVf8kogMY7 jpi2R1kaOQUZ7JNrHy8rLn7THGEhuvZ9N1XBEu5dFr3xt6vRaKmEm3x3jjh5rg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4FBn5VKFzJb7; Fri, 6 Dec 2024 02:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B62CHhT014630; Fri, 6 Dec 2024 02:12:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B62CH9M014628; Fri, 6 Dec 2024 02:12:17 GMT (envelope-from git) Date: Fri, 6 Dec 2024 02:12:17 GMT Message-Id: <202412060212.4B62CH9M014628@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: 4db1b113b151 - main - tarfs: Fix the size of struct tarfs_fid and add a static assert List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 4db1b113b15158c7d134df83e7a7201cf46d459b Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=4db1b113b15158c7d134df83e7a7201cf46d459b commit 4db1b113b15158c7d134df83e7a7201cf46d459b Author: Rick Macklem AuthorDate: 2024-12-06 02:09:27 +0000 Commit: Rick Macklem CommitDate: 2024-12-06 02:11:36 +0000 tarfs: Fix the size of struct tarfs_fid and add a static assert File system specific *fid structures are copied into the generic struct fid defined in sys/mount.h. As such, they cannot be larger than struct fid. This patch packs the structure and checks via a __Static_assert(). Reviewed by: markj MFC after: 2 weeks --- sys/fs/tarfs/tarfs.h | 2 +- sys/fs/tarfs/tarfs_vnops.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/fs/tarfs/tarfs.h b/sys/fs/tarfs/tarfs.h index ff1985e488cd..ffb95d2c0ac5 100644 --- a/sys/fs/tarfs/tarfs.h +++ b/sys/fs/tarfs/tarfs.h @@ -165,7 +165,7 @@ struct tarfs_fid { u_short data0; /* force alignment */ ino_t ino; unsigned long gen; -}; +} __packed; #define TARFS_NODE_LOCK(tnp) \ mtx_lock(&(tnp)->lock) diff --git a/sys/fs/tarfs/tarfs_vnops.c b/sys/fs/tarfs/tarfs_vnops.c index 8c97fab185fc..afb8e05f5929 100644 --- a/sys/fs/tarfs/tarfs_vnops.c +++ b/sys/fs/tarfs/tarfs_vnops.c @@ -668,6 +668,8 @@ tarfs_vptofh(struct vop_vptofh_args *ap) { struct tarfs_fid *tfp; struct tarfs_node *tnp; + _Static_assert(sizeof(struct tarfs_fid) <= sizeof(struct fid), + "struct tarfs_fid cannot be larger than struct fid"); tfp = (struct tarfs_fid *)ap->a_fhp; tnp = VP_TO_TARFS_NODE(ap->a_vp); From nobody Fri Dec 6 02:24:51 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4FTJ0vtSz5g6g1; Fri, 06 Dec 2024 02:24:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4FTH6G5bz44T0; Fri, 6 Dec 2024 02:24:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733451891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EUuAPfEKKUJEwRaYQX6lbZNS8idjoo/xrhNEZSAlM3E=; b=hb7rZI5lWiw93sK6UXU9ZiejzmxF0yAkrbPaA+Pdlzl4nbsaXlJoKQfoW/tYaSJ4+uHNvI lcxsxrZg1BkgY8XGyAtdg6WgHHDc+NTFNjx5g8WK1hYWVfp17CSk2kWeDvEiLJUkKults6 oZRKr2HVp1Lb0XOQ3LrE5g3iRP5vcMFk8cTzMUv2ZB6GzLzhk79xTe+CdVXWwHlsyZSy4N j0kcJTswDrElfK6a4rFlQBiVFIJra69+WuilVzUFiV0WDYKdoyalFXyvGTrnl4lqZUIXpi kGQTY5+G3UPz8TPOdqd3vGXnBLN6lyL7brs83VOBA6Ie+dgYb7XzrOkC9Uy8/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733451891; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EUuAPfEKKUJEwRaYQX6lbZNS8idjoo/xrhNEZSAlM3E=; b=sssadpcPVdbrQxaKJehf57RKgAFmy2iwcnPAiO55MTDsPl3rn3m/gExrMHz3Rk5nWPm1lE 908nxLx5Sllp5zvhmaHHmZrrrY9HGVn8W5VBPesURa2JZhw9Fr9X+FcKmQdie2x51qBsxX 5q2ZSeCIVBDndlwWGirk1t84QB8Bc7p/kIK/GvJtUKhvlfzpG2CQOV90HDMhdh+wHXF4zI TY0hRgMKTO3NouEzLa2RZpxL+6eyKGiH7w8/fMvVbxBZw5vAmDQoCKmul9tYOPHTMvLZAj Z4FanBqX4a0FrGACl+7d7XkPOIWXbP4avgt8jlujbDDGcMBwzCSDIx7GZ763kg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733451891; a=rsa-sha256; cv=none; b=JBBe0e7jMPNx4eiR5sNtZxOguqfF8ZtFxNtnhn3qKojUh6vy5SgoyNFS99iGgTnYD5VsMu Wu5Y92kGdn1Nc46L+B8Y8E3TraqMg5rSXGijHkYJwVIWCXc39lfnHg7B4J8FA0Vv6ajgwR jUohH4wBGFRMC8/KWnSFtmBxg9XG1Acz+nJgrUfrNRETXUw3OhMedzqNu5dl9InnKoMaG6 ZniWjj38GspUNepVorIWeoLC3riWkVLGjnkf0b/oGxwEqhvsWmqYxxlHiYphHPTgLqQOKt TNmXbyVF//4LZEQVlZxvhSJTH8mkmaFSaVa8Spwp42/qXTL2zhjydt7+JNi/cw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4FTH5sb4zK04; Fri, 6 Dec 2024 02:24: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 4B62Op9X034688; Fri, 6 Dec 2024 02:24:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B62OpWg034685; Fri, 6 Dec 2024 02:24:51 GMT (envelope-from git) Date: Fri, 6 Dec 2024 02:24:51 GMT Message-Id: <202412060224.4B62OpWg034685@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: 205659c43d87 - main - cd9660: Make sure that struct ifid fits in generic filehandle 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 205659c43d87bd42c4a0819fde8f81e8ebba068e Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=205659c43d87bd42c4a0819fde8f81e8ebba068e commit 205659c43d87bd42c4a0819fde8f81e8ebba068e Author: Mark Johnston AuthorDate: 2024-12-06 02:03:59 +0000 Commit: Mark Johnston CommitDate: 2024-12-06 02:24:26 +0000 cd9660: Make sure that struct ifid fits in generic filehandle structure File system specific *fid structures are copied into the generic struct fid defined in sys/mount.h. As such, they cannot be larger than struct fid. This patch packs the structure and checks via a __Static_assert(). Reported by: Kevin Miller Reviewed by: olce, imp, kib, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47879 --- sys/fs/cd9660/cd9660_vnops.c | 3 +++ sys/fs/cd9660/iso.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/fs/cd9660/cd9660_vnops.c b/sys/fs/cd9660/cd9660_vnops.c index 33ca58472490..c41fccb394c2 100644 --- a/sys/fs/cd9660/cd9660_vnops.c +++ b/sys/fs/cd9660/cd9660_vnops.c @@ -758,6 +758,9 @@ cd9660_pathconf(struct vop_pathconf_args *ap) /* NOTREACHED */ } +_Static_assert(sizeof(struct ifid) <= sizeof(struct fid), + "struct ifid must be no larger than struct fid"); + /* * Vnode pointer to File handle */ diff --git a/sys/fs/cd9660/iso.h b/sys/fs/cd9660/iso.h index a9733f62c077..9b737e261a63 100644 --- a/sys/fs/cd9660/iso.h +++ b/sys/fs/cd9660/iso.h @@ -267,7 +267,7 @@ struct ifid { u_short ifid_pad; cd_ino_t ifid_ino; long ifid_start; -}; +} __packed; #define VFSTOISOFS(mp) ((struct iso_mnt *)((mp)->mnt_data)) From nobody Fri Dec 6 02:24:52 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4FTK2NCqz5g6k3; Fri, 06 Dec 2024 02:24:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4FTK0RGHz44l8; Fri, 6 Dec 2024 02:24:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733451893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+VFxv+PqcwXeZ0Sm7JkJ5JuJPxB3Xt7DtPlbhj6Q3jk=; b=MLkCE4snMLXRRA25dhHhjLVEqvBTbE9FFKIhIZj6dWYo2kIiPoErySjuQASPG+gAKU1/N8 1mR/VGK9EoP2N2syC4HgHCw5JFljOb892CQkauj6r6bM6VVTkTlcT75l0Nfx+cavtlZUkW gMq7aJDKxzG1qpdEQhbG+8O2JdWiV3c305SpwK7e8JS+fl7EyUfI+b+rtw8DDbfxjRBmTC mLnz8+6YVbAUmmMfdDSfsFy18Y69klt5piT4m70RriAwwklyhVwxestdinqYpyY/hahD1I JzJJj2z2dn92sO9Hirl1+fhOItevBpGFbxxR0trGGHnkhONyokWDxHUvIb7NRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733451893; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+VFxv+PqcwXeZ0Sm7JkJ5JuJPxB3Xt7DtPlbhj6Q3jk=; b=EhG5m9s6QyvVRPv3SMBQd2SFAiHe78T6AW2V/rGKThwqUG6YeKuq8AtolP3x09VKTzwgBc RLS4OrJ5IBgH3+/A2UjJFiHhl2MBOYqJ+Eaq338VmHgxYNvelBHkGxP3H0ARcugjkLeSaP SYy3xHxOemM1nqRqntYP/atVTOI+uOrAg+5RrJW85xoXKZcb65l+cdmQ2gpmPKcdPVh/tX Qo4u/aO99KvkV+/bVarqo33N1SmRPEC/71cw5dvgZxquk55olxI1WXX9yz2l3bV8kiaNGY yObsO565bk544FOlxHTBimaOHP8HI+4D1Fdlqzowr5XdPLL022Nab0UuG8Rx4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733451893; a=rsa-sha256; cv=none; b=Mbsd6Caab1tjSh9j2cnzm5Tj4LiG+b6rX7cBb/0iuO8Z24jIo4Fk7g/mEgBzoRpr1H5HfR 45QURU0X9iz5vEbTXCRr0Edj+/2UVh6mjt/J8dmUHE8vM0CB1o7C3CIOe7ylReW4OCYJBo Nk5hBeLrZiUHN/06uycMjMHKitUv+twJQv4jttR7IghTgDE/rxj0fdiXc/ei57n3N1q2Oo s8Is88XdW2nTLiPQzHZVz/q3LmpYFzHsXoasqNL/tfh3lPzWLJhXIdTgk94qiMWh0kmjz9 k84RGiMjbThKkLq23AHx9kQpHBNT8dM+xfR2lpdHzLWFnDkVKDT6FIww+RkmLw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4FTK039TzK1Y; Fri, 6 Dec 2024 02:24: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 4B62Oqa0034737; Fri, 6 Dec 2024 02:24:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B62Oqq0034734; Fri, 6 Dec 2024 02:24:52 GMT (envelope-from git) Date: Fri, 6 Dec 2024 02:24:52 GMT Message-Id: <202412060224.4B62Oqq0034734@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: 96e69c8e3167 - main - cd9660: Remove some unneeded definitions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 96e69c8e3167a57b8b37317796eba3068d12a771 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=96e69c8e3167a57b8b37317796eba3068d12a771 commit 96e69c8e3167a57b8b37317796eba3068d12a771 Author: Mark Johnston AuthorDate: 2024-12-06 02:04:23 +0000 Commit: Mark Johnston CommitDate: 2024-12-06 02:24:41 +0000 cd9660: Remove some unneeded definitions - cd_ino_t can be dropped since ino_t is now 64 bits wide. - ISOFSMNT_ROOT is unused (and defined only for the kernel). No functional change intended. Reviewed by: olce, imp, kib, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47880 --- sys/fs/cd9660/cd9660_lookup.c | 6 +++--- sys/fs/cd9660/cd9660_node.c | 6 +++--- sys/fs/cd9660/cd9660_node.h | 2 +- sys/fs/cd9660/cd9660_rrip.c | 2 +- sys/fs/cd9660/cd9660_vfsops.c | 8 ++++---- sys/fs/cd9660/cd9660_vnops.c | 2 +- sys/fs/cd9660/iso.h | 15 +++------------ sys/fs/cd9660/iso_rrip.h | 4 ++-- 8 files changed, 18 insertions(+), 27 deletions(-) diff --git a/sys/fs/cd9660/cd9660_lookup.c b/sys/fs/cd9660/cd9660_lookup.c index 569ee631416c..1adb7a18bcf1 100644 --- a/sys/fs/cd9660/cd9660_lookup.c +++ b/sys/fs/cd9660/cd9660_lookup.c @@ -47,8 +47,8 @@ #include struct cd9660_ino_alloc_arg { - cd_ino_t ino; - cd_ino_t i_ino; + ino_t ino; + ino_t i_ino; struct iso_directory_record *ep; }; @@ -115,7 +115,7 @@ cd9660_lookup(struct vop_cachedlookup_args *ap) struct cd9660_ino_alloc_arg dd_arg; u_long bmask; /* block offset mask */ int error; - cd_ino_t ino, i_ino; + ino_t ino, i_ino; int ltype, reclen; u_short namelen; int isoflags; diff --git a/sys/fs/cd9660/cd9660_node.c b/sys/fs/cd9660/cd9660_node.c index 67270b40f2b0..ce6ec3aa7a1c 100644 --- a/sys/fs/cd9660/cd9660_node.c +++ b/sys/fs/cd9660/cd9660_node.c @@ -281,10 +281,10 @@ cd9660_tstamp_conv17(u_char *pi, struct timespec *pu) return cd9660_tstamp_conv7(buf, pu, ISO_FTYPE_DEFAULT); } -cd_ino_t +ino_t isodirino(struct iso_directory_record *isodir, struct iso_mnt *imp) { - cd_ino_t ino; + ino_t ino; /* * Note there is an inverse calculation in @@ -293,7 +293,7 @@ isodirino(struct iso_directory_record *isodir, struct iso_mnt *imp) * and also a calculation of the isodir pointer * from an inode in cd9660_vnops.c:cd9660_readlink() */ - ino = ((cd_ino_t)isonum_733(isodir->extent) + + ino = ((ino_t)isonum_733(isodir->extent) + isonum_711(isodir->ext_attr_length)) << imp->im_bshift; return ino; } diff --git a/sys/fs/cd9660/cd9660_node.h b/sys/fs/cd9660/cd9660_node.h index 9dc84dd57c0e..6021c1681c5d 100644 --- a/sys/fs/cd9660/cd9660_node.h +++ b/sys/fs/cd9660/cd9660_node.h @@ -56,7 +56,7 @@ typedef struct { struct iso_node { struct vnode *i_vnode; /* vnode associated with this inode */ - cd_ino_t i_number; /* the identity of the inode */ + ino_t i_number; /* the identity of the inode */ /* we use the actual starting block of the file */ struct iso_mnt *i_mnt; /* filesystem associated with this inode */ struct lockf *i_lockf; /* head of byte-level lock list */ diff --git a/sys/fs/cd9660/cd9660_rrip.c b/sys/fs/cd9660/cd9660_rrip.c index 26825062d25a..d0b0008d10b2 100644 --- a/sys/fs/cd9660/cd9660_rrip.c +++ b/sys/fs/cd9660/cd9660_rrip.c @@ -593,7 +593,7 @@ static RRIP_TABLE rrip_table_getname[] = { int cd9660_rrip_getname(struct iso_directory_record *isodir, char *outbuf, - u_short *outlen, cd_ino_t *inump, struct iso_mnt *imp) + u_short *outlen, ino_t *inump, struct iso_mnt *imp) { ISO_RRIP_ANALYZE analyze; RRIP_TABLE *tab; diff --git a/sys/fs/cd9660/cd9660_vfsops.c b/sys/fs/cd9660/cd9660_vfsops.c index f067453d3458..814f49f58ae1 100644 --- a/sys/fs/cd9660/cd9660_vfsops.c +++ b/sys/fs/cd9660/cd9660_vfsops.c @@ -560,7 +560,7 @@ cd9660_root(struct mount *mp, int flags, struct vnode **vpp) struct iso_mnt *imp = VFSTOISOFS(mp); struct iso_directory_record *dp = (struct iso_directory_record *)imp->root; - cd_ino_t ino = isodirino(dp, imp); + ino_t ino = isodirino(dp, imp); /* * With RRIP we must use the `.' entry of the root directory. @@ -660,15 +660,15 @@ static int cd9660_vfs_hash_cmp(struct vnode *vp, void *pino) { struct iso_node *ip; - cd_ino_t ino; + ino_t ino; ip = VTOI(vp); - ino = *(cd_ino_t *)pino; + ino = *(ino_t *)pino; return (ip->i_number != ino); } int -cd9660_vget_internal(struct mount *mp, cd_ino_t ino, int flags, +cd9660_vget_internal(struct mount *mp, ino_t ino, int flags, struct vnode **vpp, int relocated, struct iso_directory_record *isodir) { struct iso_mnt *imp; diff --git a/sys/fs/cd9660/cd9660_vnops.c b/sys/fs/cd9660/cd9660_vnops.c index c41fccb394c2..c4d0e6ba7b30 100644 --- a/sys/fs/cd9660/cd9660_vnops.c +++ b/sys/fs/cd9660/cd9660_vnops.c @@ -443,7 +443,7 @@ cd9660_readdir(struct vop_readdir_args *ap) u_short namelen; u_int ncookies = 0; uint64_t *cookies = NULL; - cd_ino_t ino; + ino_t ino; dp = VTOI(vdp); imp = dp->i_mnt; diff --git a/sys/fs/cd9660/iso.h b/sys/fs/cd9660/iso.h index 9b737e261a63..63ce5f50949a 100644 --- a/sys/fs/cd9660/iso.h +++ b/sys/fs/cd9660/iso.h @@ -218,15 +218,6 @@ struct iso_extended_attributes { enum ISO_FTYPE { ISO_FTYPE_DEFAULT, ISO_FTYPE_9660, ISO_FTYPE_RRIP, ISO_FTYPE_JOLIET, ISO_FTYPE_ECMA, ISO_FTYPE_HIGH_SIERRA }; -#ifndef ISOFSMNT_ROOT -#define ISOFSMNT_ROOT 0 -#endif - -/* - * When ino_t becomes 64-bit, we can remove this definition in favor of ino_t. - */ -typedef __uint64_t cd_ino_t; - struct iso_mnt { uint64_t im_flags; @@ -265,7 +256,7 @@ struct iso_mnt { struct ifid { u_short ifid_len; u_short ifid_pad; - cd_ino_t ifid_ino; + ino_t ifid_ino; long ifid_start; } __packed; @@ -276,7 +267,7 @@ struct ifid { #define lblkno(imp, loc) ((loc) >> (imp)->im_bshift) #define blksize(imp, ip, lbn) ((imp)->logical_block_size) -int cd9660_vget_internal(struct mount *, cd_ino_t, int, struct vnode **, int, +int cd9660_vget_internal(struct mount *, ino_t , int, struct vnode **, int, struct iso_directory_record *); #define cd9660_sysctl ((int (*)(int *, u_int, void *, size_t *, void *, \ size_t, struct proc *))eopnotsupp) @@ -287,7 +278,7 @@ extern struct vop_vector cd9660_fifoops; int isochar(u_char *, u_char *, int, u_short *, int *, int, void *); int isofncmp(u_char *, int, u_char *, int, int, int, void *, void *); void isofntrans(u_char *, int, u_char *, u_short *, int, int, int, int, void *); -cd_ino_t isodirino(struct iso_directory_record *, struct iso_mnt *); +ino_t isodirino(struct iso_directory_record *, struct iso_mnt *); u_short sgetrune(const char *, size_t, char const **, int, void *); #endif /* _KERNEL */ diff --git a/sys/fs/cd9660/iso_rrip.h b/sys/fs/cd9660/iso_rrip.h index bea0811eccf4..5a75beb08d93 100644 --- a/sys/fs/cd9660/iso_rrip.h +++ b/sys/fs/cd9660/iso_rrip.h @@ -63,7 +63,7 @@ typedef struct { off_t iso_ce_off; /* offset of continuation area */ int iso_ce_len; /* length of continuation area */ struct iso_mnt *imp; /* mount structure */ - cd_ino_t *inump; /* inode number pointer */ + ino_t *inump; /* inode number pointer */ char *outbuf; /* name/symbolic link output area */ u_short *outlen; /* length of above */ u_short maxlen; /* maximum length of above */ @@ -76,7 +76,7 @@ int cd9660_rrip_analyze(struct iso_directory_record *isodir, struct iso_node *inop, struct iso_mnt *imp); int cd9660_rrip_getname(struct iso_directory_record *isodir, char *outbuf, u_short *outlen, - cd_ino_t *inump, struct iso_mnt *imp); + ino_t *inump, struct iso_mnt *imp); int cd9660_rrip_getsymname(struct iso_directory_record *isodir, char *outbuf, u_short *outlen, struct iso_mnt *imp); From nobody Fri Dec 6 02:40:28 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4Fqb3tvnz5g7W4 for ; Fri, 06 Dec 2024 02:40:43 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 4Y4Fqb0mnVz45qf for ; Fri, 6 Dec 2024 02:40:43 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-434a10588f3so10707805e9.1 for ; Thu, 05 Dec 2024 18:40:43 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733452841; x=1734057641; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8xl1+tsgta8HM0PNwoSa6J1cgb5TjXbOt/onBNA2PZI=; b=Z6fSgC+Bpd27NiFx/POVPw5wpSFUQ+igMZ/w3mjxfBOurTDsEWFwPGA5zz1KCdz4YP 5MCD5qWhwEaLG3p9Mct72qiJfYHh8jagzjevmvm9a2gAywG9sHUIANyhvZMXAvv5CLeE 368YYsLk05bFbfUubOd8bERIiABMEPnZLmLucpLaDbvz4N/I82+/sMWhxGjgFY3VUOYQ Yyljv/fcH/zaHX6M2myLPmTRY/yclcub6UBmYzJxRQePEnnrImWE9/mG0duTLUgjM8jL 6p8IvHjmPuFUpIb2DidkVQnExZI5HaQqYqZ5BXSKLphMDgUHxm8F8ZBL5PUvxiguQazi s6vw== X-Forwarded-Encrypted: i=1; AJvYcCWuWKLBVtfkluoFOvbavrqbkDQdNYGec/LOJ/zaL+bSVfpzXvHjMRRbLtNiaVg3oilf6a9ChCwRfUJ5sd4zGCyTr1yBSg==@freebsd.org X-Gm-Message-State: AOJu0Yw/mjgZTXQlLW0nWbVaEmWQa4mM6PGpaKCdyYbZlMvOEG5ZgFvB Ktj4HrvT82tdCOzTR3bwwIrazzNU/uSAsqY8XN2QxCkwUlMpFsKUdRCLBK4FbPE= X-Gm-Gg: ASbGncuClYAN138HIg5+vsnNuLlqwiMN8m4sUeePWz9cArqJHwdLsKT2RpNpWGTMDXO RHIJAMRbXkE3/tddAGxH+he7I/0aiXFPj1kOY1wow7290vvRO/M1tVH902QXPF6mDkTVR9eaoE+ QEG4Fo4eNTKKXhu0RkqqFfbwds81QHz8yqW0s8KyNXyxtOVAkbhq1OeVcykXHsnNbTL1RsuCq1T opWot9DdWJyaFdkbEVveSrjUehOGVyU9xtTsNKA1wdNp4iY0Gt6k8HABDRb/HdC X-Google-Smtp-Source: AGHT+IEFHf3diYszI19XrXJjMyi3DQneQikgZgNzYeXmWow3TtTbMqKqUyZLdYraR3og9RxBBuHOtA== X-Received: by 2002:a05:6000:707:b0:385:e30a:e0f7 with SMTP id ffacd0b85a97d-3862b36b800mr768699f8f.22.1733452841294; Thu, 05 Dec 2024 18:40:41 -0800 (PST) Received: from smtpclient.apple ([131.111.5.201]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-434d5281229sm80101665e9.26.2024.12.05.18.40.39 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 05 Dec 2024 18:40:40 -0800 (PST) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.200.121\)) Subject: Re: git: bfc8e3308bee - main - ext2fs: Fix the size of struct ufid and add a static assert From: Jessica Clarke In-Reply-To: <202412060206.4B6266Ja096452@gitrepo.freebsd.org> Date: Fri, 6 Dec 2024 02:40:28 +0000 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202412060206.4B6266Ja096452@gitrepo.freebsd.org> To: Rick Macklem X-Mailer: Apple Mail (2.3826.200.121) X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4Y4Fqb0mnVz45qf X-Spamd-Bar: ---- On 6 Dec 2024, at 02:06, Rick Macklem wrote: >=20 > The branch main has been updated by rmacklem: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Dbfc8e3308bee23d0f7836d57f32ed8d4= 7da02627 >=20 > commit bfc8e3308bee23d0f7836d57f32ed8d47da02627 > Author: Rick Macklem > AuthorDate: 2024-12-06 02:05:06 +0000 > Commit: Rick Macklem > CommitDate: 2024-12-06 02:05:06 +0000 >=20 > ext2fs: Fix the size of struct ufid and add a static assert >=20 > File system specific *fid structures are copied into the generic > struct fid defined in sys/mount.h. > As such, they cannot be larger than struct fid. >=20 > This patch packed the structure and checks via a __Static_assert(). >=20 > Reviewed by: markj > MFC after: 2 weeks > --- > sys/fs/ext2fs/ext2_vnops.c | 2 ++ > sys/fs/ext2fs/inode.h | 2 +- > 2 files changed, 3 insertions(+), 1 deletion(-) >=20 > diff --git a/sys/fs/ext2fs/ext2_vnops.c b/sys/fs/ext2fs/ext2_vnops.c > index dfbb11f75421..064c10bd18b2 100644 > --- a/sys/fs/ext2fs/ext2_vnops.c > +++ b/sys/fs/ext2fs/ext2_vnops.c > @@ -1889,6 +1889,8 @@ ext2_vptofh(struct vop_vptofh_args *ap) > { > struct inode *ip; > struct ufid *ufhp; > + _Static_assert(sizeof(struct ufid) <=3D sizeof(struct fid), > + "struct ufid cannot be larger than struct fid"); >=20 > ip =3D VTOI(ap->a_vp); > ufhp =3D (struct ufid *)ap->a_fhp; > diff --git a/sys/fs/ext2fs/inode.h b/sys/fs/ext2fs/inode.h > index 9ee1b5672da6..63102deb10b0 100644 > --- a/sys/fs/ext2fs/inode.h > +++ b/sys/fs/ext2fs/inode.h > @@ -191,7 +191,7 @@ struct ufid { > uint16_t ufid_pad; /* Force 32-bit alignment. */ > ino_t ufid_ino; /* File number (ino). */ > uint32_t ufid_gen; /* Generation number. */ > -}; > +} __packed; Why not just swap ufid_ino and ufid_gen? This will give worse codegen on architectures that don=E2=80=99t assume fast unaligned access. Jess From nobody Fri Dec 6 03:15:33 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4Gc36tWxz5gBFm; Fri, 06 Dec 2024 03:15:47 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com [IPv6:2a00:1450:4864:20::533]) (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 4Y4Gc33sV0z4B1b; Fri, 6 Dec 2024 03:15:47 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-5d0bf77af4dso1609917a12.3; Thu, 05 Dec 2024 19:15:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733454945; x=1734059745; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=yVSoyU8AYKI5nJNRLYFnVDxcZozez4xmyfbJmlrL5tw=; b=kWzqpABf0ydihsEay+n0E5ckKwZI+Ej7kmZrguoc9/3tDQ34Q/Qq/QN1Y1YPt0LRAf BpBAL2O0gMtuuWnNUc3wGIuyytHwfiBOyt1THLrMDfSzBQj0Xpx3PSRfwE8cswfTiGlu mPFkN+i+5MKX5f/kBdbeczvOHwGmkGhdVIVl8ZM5L4SLeC8AkGMk8b12J01JvrzQxWy6 ZhQmg9ORAaoSw/3VdrcO792msHc0fgpDYitcFtM6DzNbDTVzqh5Pz/9v1o1AlWWYGmPF eKZLauKUlWobeYOTTtZzZNXvgUKgQmy8ok5MXUja2A5Jfeaui/7r5zdG/wkoQb/mTZF2 M34Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733454945; x=1734059745; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=yVSoyU8AYKI5nJNRLYFnVDxcZozez4xmyfbJmlrL5tw=; b=mWqUgzv74xGIePtsPfmFHt7tr3ezHfCLPDM8nWItAQuFFtgQvYCL34rp8cK1hIaMZo GQ10K6u8l1Vz+nKlFH2cbe9y9PzI94mEA+6SzEFzyJnwW5JqCfeuMz6h6djtXtuxaJG1 6hshd5P5VsdAhNo/AJR77KV7Jlq3U7xQf7cFIrvL46R7pKZJ3OM9o3/Kbhltq78pzxu0 X0qalu0pbXAvvqQoWhP3CfU5j/ZkAYPVV5FR0KDEpv1Xnu06s5Lus0Q+n65DGzzJy32T iwX6E92x/mvrMC76izLofD7AoovPsqRufHy9p6gk9PKproZ+NAeMLP295fPdmbCBop20 WOiw== X-Forwarded-Encrypted: i=1; AJvYcCUO3EZLIvWY7kP6DwL6Io+pwcjYQdzxyQfWXcbYhtgJKe0SbwQM7qiZ4ytq9dPHGuBbo2TMIp10gZqAUHorzP/zF6zQ@freebsd.org, AJvYcCVZ+nQR95p28Ocx5eo89V/0hTqdsvPof8EtiOKuPFEQEHzf1ZFSIaJZWJuegWEVIW/AFEgxJTPlcrBvIKEwWZI=@freebsd.org, AJvYcCXX4awOUo7JJpdz1u1HWIVrIG3EjuZ3GLbstKWICSxk+bRdvFOcWaO3jz0vmq9eRkkkwNulTlmCYIKfarmfJnEsX5tpFdk=@freebsd.org X-Gm-Message-State: AOJu0YyzDrCgIwj7uP7Osmwyd2+LLw7IQt9TcAr2xEa282bQynw3grhw 6RbygNAesusBxvVpI16HAmTIHom4TfVHzQ7XCUgbwszxh9sCIVyEaQY86Yp9aiNopGt5RMCSABX gkdqOXw9qn0XMsT7UCdxytfjtoctI X-Gm-Gg: ASbGncueIO0vFPNZHux8rgYsumROcyawDj/ddI/hp4BKE0xa/woxwWv4CeaUXuXdxU7 inaO9LhoR/OBzvm0oSsEcpd0bTWoh5qg4BhfP7G06DhwVxGp8BbKvfturhwg= X-Google-Smtp-Source: AGHT+IE0a96feUnBnM/a96kbGSNUhjt5Ef+O99wezXAjrtKNyeHIPtHpX61MwknMeuz2iQMmsQ2Wknh5xWg6CCzr1HE= X-Received: by 2002:a05:6402:320d:b0:5d2:d72a:77e4 with SMTP id 4fb4d7f45d1cf-5d3be7c1248mr1120706a12.28.1733454944720; Thu, 05 Dec 2024 19:15:44 -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: <202412060206.4B6266Ja096452@gitrepo.freebsd.org> In-Reply-To: From: Rick Macklem Date: Thu, 5 Dec 2024 19:15:33 -0800 Message-ID: Subject: Re: git: bfc8e3308bee - main - ext2fs: Fix the size of struct ufid and add a static assert To: Jessica Clarke Cc: Rick Macklem , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Queue-Id: 4Y4Gc33sV0z4B1b X-Spamd-Bar: ---- On Thu, Dec 5, 2024 at 6:40=E2=80=AFPM Jessica Clarke = wrote: > > CAUTION: This email originated from outside of the University of Guelph. = Do not click links or open attachments unless you recognize the sender and = know the content is safe. If in doubt, forward suspicious emails to IThelp@= uoguelph.ca. > > > On 6 Dec 2024, at 02:06, Rick Macklem wrote: > > > > The branch main has been updated by rmacklem: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dbfc8e3308bee23d0f7836d57= f32ed8d47da02627 > > > > commit bfc8e3308bee23d0f7836d57f32ed8d47da02627 > > Author: Rick Macklem > > AuthorDate: 2024-12-06 02:05:06 +0000 > > Commit: Rick Macklem > > CommitDate: 2024-12-06 02:05:06 +0000 > > > > ext2fs: Fix the size of struct ufid and add a static assert > > > > File system specific *fid structures are copied into the generic > > struct fid defined in sys/mount.h. > > As such, they cannot be larger than struct fid. > > > > This patch packed the structure and checks via a __Static_assert(). > > > > Reviewed by: markj > > MFC after: 2 weeks > > --- > > sys/fs/ext2fs/ext2_vnops.c | 2 ++ > > sys/fs/ext2fs/inode.h | 2 +- > > 2 files changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/sys/fs/ext2fs/ext2_vnops.c b/sys/fs/ext2fs/ext2_vnops.c > > index dfbb11f75421..064c10bd18b2 100644 > > --- a/sys/fs/ext2fs/ext2_vnops.c > > +++ b/sys/fs/ext2fs/ext2_vnops.c > > @@ -1889,6 +1889,8 @@ ext2_vptofh(struct vop_vptofh_args *ap) > > { > > struct inode *ip; > > struct ufid *ufhp; > > + _Static_assert(sizeof(struct ufid) <=3D sizeof(struct fid), > > + "struct ufid cannot be larger than struct fid"); > > > > ip =3D VTOI(ap->a_vp); > > ufhp =3D (struct ufid *)ap->a_fhp; > > diff --git a/sys/fs/ext2fs/inode.h b/sys/fs/ext2fs/inode.h > > index 9ee1b5672da6..63102deb10b0 100644 > > --- a/sys/fs/ext2fs/inode.h > > +++ b/sys/fs/ext2fs/inode.h > > @@ -191,7 +191,7 @@ struct ufid { > > uint16_t ufid_pad; /* Force 32-bit alignment. */ > > ino_t ufid_ino; /* File number (ino). */ > > uint32_t ufid_gen; /* Generation number. */ > > -}; > > +} __packed; > > Why not just swap ufid_ino and ufid_gen? This will give worse codegen > on architectures that don=E2=80=99t assume fast unaligned access. You can commit such a change if you'd like, as far as I am concerned. I suspect few (if any) export ext2fs file systems anyhow, so this structure is unlikely to ever be used. There was a discussion on phabricator in D47879 about reordering entries and the consensus there seemed to be avoid doing that, although admittedly I think they were referring to the first two fields, which match the ones in the generic "struct fid". rick > > Jess > From nobody Fri Dec 6 03:17:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4Gdr2FMjz5gB9w; Fri, 06 Dec 2024 03:17:20 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) (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 4Y4Gdq3G1wz4ByG; Fri, 6 Dec 2024 03:17:19 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=OqwVARtJ; spf=pass (mx1.freebsd.org: domain of rick.macklem@gmail.com designates 2a00:1450:4864:20::52e as permitted sender) smtp.mailfrom=rick.macklem@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-5d2726c0d45so1895718a12.2; Thu, 05 Dec 2024 19:17:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733455038; x=1734059838; darn=freebsd.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=j8ntP2RPb5/bImLyHEcoDCQexrA+/M3FRmqycTRtNKs=; b=OqwVARtJHD2WVxhTmnaGVAjIUTUIitU8ozl5l96kJlbyewo48s1h+bFMkfGP67s4ud UHTPOHLu8OPO4W7v1/L1a/ARGaCmASi0P2Ab8Zm9E0moA7u/ZBCZyCpWQQmqnNAKsbCX zh/dPp7+bBbHWFtQIYUThoq7JLlUiOYX/Jp8i2M51eY6jcU8ziume44cKLOz7v/pj1Nd GHSZOsmRMyh9SdtNdQREyR82dItfrQtcVCICz/3Q9LhdPy79j/PE87fjrl55kNElHc6/ oeJvtifBVPrJNwZHQet1lrzEjPIwHMuAZWqpwHBArPR8GjozNle5Xock1rM2KsusY0l9 8fyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733455038; x=1734059838; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=j8ntP2RPb5/bImLyHEcoDCQexrA+/M3FRmqycTRtNKs=; b=ZZ1Z4b+/KkqBLDB54wInKSwmzsrZw1rIDJgYYWcH/2hQwZxc49otRMZMBXVO67paEr y7LcZs4b03Fsv4Ct4CDDUWVVhStJMng0Ri8dd4S7VpMMxjrvM24cqZrz4Jkih33CJEwX UFtCX2JEbhL6GpgzaHBfpiKDAkrVsrPNkZjlT2wi/tVu2nfDI96ofr6EJfOJllO1UBLe n5C1ycUcmumvqlwYOfSumYkZ3U+Ig6j6F9JIAHiMqU75DpMJc34SgbgP9mAyCabuvHou Z0hpInlxcAcBEZYYvVs486PmDWEQna/nDE0RhoR0qPvfCQBR1wCdqgk2+dc/NQJb1dlW 86lg== X-Forwarded-Encrypted: i=1; AJvYcCWlUl3g5KB4u1eq32d8Thd4Hu6WJy/7lDDPE0kDIcpjpmGzDWNa59ZRPvMDjN9sT0Qy0MkBRarDOUGntPz4rck=@freebsd.org, AJvYcCWymVO5UOpjP/m3Ug1NQBQMh7KxvemuZWf1XvFxpTCIHWXZejx0Xx7u9A080uLQyQN5j6rRGGlVGL9Q22KlhcRiX6KW@freebsd.org, AJvYcCXsiugp88zAL8w3BX4/QmUYqrJBL6Hkcl5//tmdkQvrporjiTPUM+NUGHY3e1tmJKxSueX2P9VFMmCq+JDprvdrQdR4YtI=@freebsd.org X-Gm-Message-State: AOJu0YxoAi8ZlLgfxAExEdOX7fNFsv3umT36cBE/Lz5wUUynUC6Y+9bm vTyQlBG0/SzK/0UufQCBVT5qYad1zx7XSzxd3RyjkrgdYvKJvocY4g7C52hbtM8eDmsDZOWi2KW j4LT8SbXEjdrWVztCb3ZIl5NGEjMK X-Gm-Gg: ASbGncsp44fMHJYqFaA+LcUzd46UGJsAVdSMDVjKGamIzc/hEQRLtULVTOg57TPTy1O JY7E0PzeqdBpBygqq8SaSko/+mVTFYixdPEqo6KXRzP54SA7QdAM6kzZlQIc= X-Google-Smtp-Source: AGHT+IF7D2lcEhu6b/gTxSgIUqTyoSBOnJCI6Y5VK8ALZd3e2hTOb40TYC8L4Lp/DEVIzga6UUhZD9idbfaPgR6C5Fs= X-Received: by 2002:a05:6402:2349:b0:5d0:f904:c23d with SMTP id 4fb4d7f45d1cf-5d3be785c74mr1534046a12.28.1733455037814; Thu, 05 Dec 2024 19:17:17 -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: <202412060206.4B6266Ja096452@gitrepo.freebsd.org> In-Reply-To: From: Rick Macklem Date: Thu, 5 Dec 2024 19:17:06 -0800 Message-ID: Subject: Re: git: bfc8e3308bee - main - ext2fs: Fix the size of struct ufid and add a static assert To: Jessica Clarke Cc: Rick Macklem , "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-Spamd-Result: default: False [-3.99 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.988]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; MIME_GOOD(-0.10)[text/plain]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; ARC_NA(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2a00:1450:4864:20::52e:from]; TO_DN_EQ_ADDR_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_FIVE(0.00)[5]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; MID_RHS_MATCH_FROMTLD(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; MISSING_XM_UA(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; DKIM_TRACE(0.00)[gmail.com:+]; FREEMAIL_ENVFROM(0.00)[gmail.com] X-Rspamd-Queue-Id: 4Y4Gdq3G1wz4ByG X-Spamd-Bar: --- On Thu, Dec 5, 2024 at 7:15=E2=80=AFPM Rick Macklem wrote: > > On Thu, Dec 5, 2024 at 6:40=E2=80=AFPM Jessica Clarke wrote: > > > > CAUTION: This email originated from outside of the University of Guelph= . Do not click links or open attachments unless you recognize the sender an= d know the content is safe. If in doubt, forward suspicious emails to IThel= p@uoguelph.ca. > > > > > > On 6 Dec 2024, at 02:06, Rick Macklem wrote: > > > > > > The branch main has been updated by rmacklem: > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Dbfc8e3308bee23d0f7836d= 57f32ed8d47da02627 > > > > > > commit bfc8e3308bee23d0f7836d57f32ed8d47da02627 > > > Author: Rick Macklem > > > AuthorDate: 2024-12-06 02:05:06 +0000 > > > Commit: Rick Macklem > > > CommitDate: 2024-12-06 02:05:06 +0000 > > > > > > ext2fs: Fix the size of struct ufid and add a static assert > > > > > > File system specific *fid structures are copied into the generic > > > struct fid defined in sys/mount.h. > > > As such, they cannot be larger than struct fid. > > > > > > This patch packed the structure and checks via a __Static_assert()= . > > > > > > Reviewed by: markj > > > MFC after: 2 weeks > > > --- > > > sys/fs/ext2fs/ext2_vnops.c | 2 ++ > > > sys/fs/ext2fs/inode.h | 2 +- > > > 2 files changed, 3 insertions(+), 1 deletion(-) > > > > > > diff --git a/sys/fs/ext2fs/ext2_vnops.c b/sys/fs/ext2fs/ext2_vnops.c > > > index dfbb11f75421..064c10bd18b2 100644 > > > --- a/sys/fs/ext2fs/ext2_vnops.c > > > +++ b/sys/fs/ext2fs/ext2_vnops.c > > > @@ -1889,6 +1889,8 @@ ext2_vptofh(struct vop_vptofh_args *ap) > > > { > > > struct inode *ip; > > > struct ufid *ufhp; > > > + _Static_assert(sizeof(struct ufid) <=3D sizeof(struct fid), > > > + "struct ufid cannot be larger than struct fid"); > > > > > > ip =3D VTOI(ap->a_vp); > > > ufhp =3D (struct ufid *)ap->a_fhp; > > > diff --git a/sys/fs/ext2fs/inode.h b/sys/fs/ext2fs/inode.h > > > index 9ee1b5672da6..63102deb10b0 100644 > > > --- a/sys/fs/ext2fs/inode.h > > > +++ b/sys/fs/ext2fs/inode.h > > > @@ -191,7 +191,7 @@ struct ufid { > > > uint16_t ufid_pad; /* Force 32-bit alignment. */ > > > ino_t ufid_ino; /* File number (ino). */ > > > uint32_t ufid_gen; /* Generation number. */ > > > -}; > > > +} __packed; > > > > Why not just swap ufid_ino and ufid_gen? This will give worse codegen > > on architectures that don=E2=80=99t assume fast unaligned access. > You can commit such a change if you'd like, as far as I am concerned. > > I suspect few (if any) export ext2fs file systems anyhow, so this structu= re > is unlikely to ever be used. > > There was a discussion on phabricator in D47879 about reordering > entries and the consensus there seemed to be avoid doing that, > although admittedly I think they were referring to the first two fields, > which match the ones in the generic "struct fid". > > rick ps: I used __packed since that was what markj@ used for cd9660, to keep things consistent. > > > > > Jess > > From nobody Fri Dec 6 08:00:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4NwM5nymz5fp50; Fri, 06 Dec 2024 08:00:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4NwL3zy4z4Y63; Fri, 6 Dec 2024 08:00:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733472018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7Zu8wBOiV3ki+HFs1oqoPpJ2QL6ysX3C6YI8xiMp6xY=; b=uU0ZSXiUckiCa6f0FfB/VpybMAkWtaCDgrzNV3ID1mvzoKQUZRF1PQK1GbfI9qjv5s1GlZ Q4KP2u+Offqg+7P4UaPnr3KvF590rJY4+MqZH2Jw+7XeMs2GS4247TwGlRki8lUT1LqMYf vwtgbXVIk/fFmHM0c1WYqcGM3BESCltR9E4eAdkXruAOK1/r0p4QN8TiuBWm30dBKVxfT/ NdouJ+iWQFUf8u9OYkN73DGKjoIw1lFEhbCp4Wlf4dKvIpV/U4nbdsZ9eTRPl1vLY5g3aC IAMVevLPjkOCXBnYw3IQCsMNx1WVrrp6pwMGx2k9oKqnES9OJzSs5sn/vqd62w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733472018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7Zu8wBOiV3ki+HFs1oqoPpJ2QL6ysX3C6YI8xiMp6xY=; b=pySsMj+w/WdFtSt856KZgnV/VuaqHD85ZAaV+yIA/uDrAj5QW3vHp5q5sVDpn26opfOjU0 mju0FMJppRuSITlcs/5mBGWXqppp2L04bkWNhe7QbJS6JFu6OMFjORM1bdfP2aNLvCigMQ kNY3EiFIS/xKgTBP/cn39lSCNqrOHqppaLHPbCvzx3i5s7Yyy7MsUVwgw2+vmKE38wxpGA R8a1Rc8WzQ6uoA10sEH6e9L99mw6tnNSd7qmBNpYZb29D6OsunkWQZ1AxCMx1qgiA3EJne 6SxsaEjAiBvcZtYXQs94f7Ny61lmqIoR0qF6cYiviCWeii1JaTq2Nca7KostkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733472018; a=rsa-sha256; cv=none; b=Yv/BmFURJRkh9tG+7KP7XRXtdD2067uqoRL4W/Qpx4WeUIgDblsnE+72mHIlQ23Gs7U622 l83nT3DCP5G1MIqH3QhLw1aBQ0Bbc1FEC9Y5mocrPhFLzt9nRg10lb/6j7CL732/n5ca0P v476J7XpE2dbEkCeEFC7GrrhCo0Udi49qs23iZZBbbYeFBkLwrPb1nL6Kst8WK1Psyf90s s3wcBC8P0Bellcy7eT7HT+GD3cSLbCKK+cMG//slLHjiJgMRL5/yqlAA3yAhXwXrj3xPnt Pgrx2vkNextLbgUR+K0aW66TRFh4ynnQThDhbkw3r4Oc79FcOMQp6HVwBqVj9A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4NwL3b11zTRt; Fri, 6 Dec 2024 08:00: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 4B680I5q061269; Fri, 6 Dec 2024 08:00:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B680Ix2061266; Fri, 6 Dec 2024 08:00:18 GMT (envelope-from git) Date: Fri, 6 Dec 2024 08:00:18 GMT Message-Id: <202412060800.4B680Ix2061266@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: 17e624ca858c - main - sys/vm: remove support for growing-up stacks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 17e624ca858c2ec6a1e98069e3239a81ab3aaf05 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=17e624ca858c2ec6a1e98069e3239a81ab3aaf05 commit 17e624ca858c2ec6a1e98069e3239a81ab3aaf05 Author: Konstantin Belousov AuthorDate: 2024-12-03 23:29:54 +0000 Commit: Konstantin Belousov CommitDate: 2024-12-06 07:46:49 +0000 sys/vm: remove support for growing-up stacks Reviewed by: alc, dougm, markj Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D47892 --- sys/kern/kern_proc.c | 2 - sys/vm/vm_map.c | 198 +++++++++++++++++---------------------------------- sys/vm/vm_map.h | 14 ++-- 3 files changed, 71 insertions(+), 143 deletions(-) diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 4cd13234a10b..032bea6cfc9b 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -2694,8 +2694,6 @@ kern_proc_vmmap_out(struct proc *p, struct sbuf *sb, ssize_t maxlen, int flags) kve->kve_flags |= KVME_FLAG_NEEDS_COPY; if (entry->eflags & MAP_ENTRY_NOCOREDUMP) kve->kve_flags |= KVME_FLAG_NOCOREDUMP; - if (entry->eflags & MAP_ENTRY_GROWS_UP) - kve->kve_flags |= KVME_FLAG_GROWS_UP; if (entry->eflags & MAP_ENTRY_GROWS_DOWN) kve->kve_flags |= KVME_FLAG_GROWS_DOWN; if (entry->eflags & MAP_ENTRY_USER_WIRED) diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 3d82f0835c09..d48b2cb8b73f 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -1410,8 +1410,7 @@ vm_map_entry_link(vm_map_t map, vm_map_entry_t entry) KASSERT(entry->end < root->end, ("%s: clip_start not within entry", __func__)); vm_map_splay_findprev(root, &llist); - if ((root->eflags & (MAP_ENTRY_STACK_GAP_DN | - MAP_ENTRY_STACK_GAP_UP)) == 0) + if ((root->eflags & MAP_ENTRY_STACK_GAP_DN) == 0) root->offset += entry->end - root->start; root->start = entry->end; max_free_left = vm_map_splay_merge_pred(header, entry, llist); @@ -1428,8 +1427,7 @@ vm_map_entry_link(vm_map_t map, vm_map_entry_t entry) KASSERT(entry->end == root->end, ("%s: clip_start not within entry", __func__)); vm_map_splay_findnext(root, &rlist); - if ((entry->eflags & (MAP_ENTRY_STACK_GAP_DN | - MAP_ENTRY_STACK_GAP_UP)) == 0) + if ((entry->eflags & MAP_ENTRY_STACK_GAP_DN) == 0) entry->offset += entry->start - root->start; root->end = entry->start; max_free_left = root->max_free = vm_size_max( @@ -1464,8 +1462,7 @@ vm_map_entry_unlink(vm_map_t map, vm_map_entry_t entry, vm_map_splay_findnext(root, &rlist); if (op == UNLINK_MERGE_NEXT) { rlist->start = root->start; - MPASS((rlist->eflags & (MAP_ENTRY_STACK_GAP_DN | - MAP_ENTRY_STACK_GAP_UP)) == 0); + MPASS((rlist->eflags & MAP_ENTRY_STACK_GAP_DN) == 0); rlist->offset = root->offset; } if (llist != header) { @@ -1672,8 +1669,6 @@ vm_map_insert1(vm_map_t map, vm_object_t object, vm_ooffset_t offset, protoeflags |= MAP_ENTRY_NOCOREDUMP; if (cow & MAP_STACK_GROWS_DOWN) protoeflags |= MAP_ENTRY_GROWS_DOWN; - if (cow & MAP_STACK_GROWS_UP) - protoeflags |= MAP_ENTRY_GROWS_UP; if (cow & MAP_WRITECOUNT) protoeflags |= MAP_ENTRY_WRITECNT; if (cow & MAP_VN_EXEC) @@ -1682,8 +1677,6 @@ vm_map_insert1(vm_map_t map, vm_object_t object, vm_ooffset_t offset, protoeflags |= MAP_ENTRY_GUARD; if ((cow & MAP_CREATE_STACK_GAP_DN) != 0) protoeflags |= MAP_ENTRY_STACK_GAP_DN; - if ((cow & MAP_CREATE_STACK_GAP_UP) != 0) - protoeflags |= MAP_ENTRY_STACK_GAP_UP; if (cow & MAP_INHERIT_SHARE) inheritance = VM_INHERIT_SHARE; else @@ -1734,8 +1727,7 @@ charged: } } else if ((prev_entry->eflags & ~MAP_ENTRY_USER_WIRED) == protoeflags && - (cow & (MAP_STACK_GROWS_DOWN | MAP_STACK_GROWS_UP | - MAP_VN_EXEC)) == 0 && + (cow & (MAP_STACK_GROWS_DOWN | MAP_VN_EXEC)) == 0 && prev_entry->end == start && (prev_entry->cred == cred || (prev_entry->object.vm_object != NULL && prev_entry->object.vm_object->cred == cred)) && @@ -1971,8 +1963,7 @@ vm_map_fixed(vm_map_t map, vm_object_t object, vm_ooffset_t offset, int result; end = start + length; - KASSERT((cow & (MAP_STACK_GROWS_DOWN | MAP_STACK_GROWS_UP)) == 0 || - object == NULL, + KASSERT((cow & MAP_STACK_GROWS_DOWN) == 0 || object == NULL, ("vm_map_fixed: non-NULL backing object for stack")); vm_map_lock(map); VM_MAP_RANGE_CHECK(map, start, end); @@ -1981,7 +1972,7 @@ vm_map_fixed(vm_map_t map, vm_object_t object, vm_ooffset_t offset, if (result != KERN_SUCCESS) goto out; } - if ((cow & (MAP_STACK_GROWS_DOWN | MAP_STACK_GROWS_UP)) != 0) { + if ((cow & MAP_STACK_GROWS_DOWN) != 0) { result = vm_map_stack_locked(map, start, length, sgrowsiz, prot, max, cow); } else { @@ -2140,11 +2131,10 @@ vm_map_find_locked(vm_map_t map, vm_object_t object, vm_ooffset_t offset, int gap, pidx, rv, try; bool cluster, en_aslr, update_anon; - KASSERT((cow & (MAP_STACK_GROWS_DOWN | MAP_STACK_GROWS_UP)) == 0 || - object == NULL, + KASSERT((cow & MAP_STACK_GROWS_DOWN) == 0 || object == NULL, ("non-NULL backing object for stack")); MPASS((cow & MAP_REMAP) == 0 || (find_space == VMFS_NO_SPACE && - (cow & (MAP_STACK_GROWS_DOWN | MAP_STACK_GROWS_UP)) == 0)); + (cow & MAP_STACK_GROWS_DOWN) == 0)); if (find_space == VMFS_OPTIMAL_SPACE && (object == NULL || (object->flags & OBJ_COLORED) == 0)) find_space = VMFS_ANY_SPACE; @@ -2157,8 +2147,8 @@ vm_map_find_locked(vm_map_t map, vm_object_t object, vm_ooffset_t offset, update_anon = cluster = clustering_anon_allowed(*addr, cow) && (map->flags & MAP_IS_SUB_MAP) == 0 && max_addr == 0 && find_space != VMFS_NO_SPACE && object == NULL && - (cow & (MAP_INHERIT_SHARE | MAP_STACK_GROWS_UP | - MAP_STACK_GROWS_DOWN)) == 0 && prot != PROT_NONE; + (cow & (MAP_INHERIT_SHARE | MAP_STACK_GROWS_DOWN)) == 0 && + prot != PROT_NONE; curr_min_addr = min_addr = *addr; if (en_aslr && min_addr == 0 && !cluster && find_space != VMFS_NO_SPACE && @@ -2272,7 +2262,7 @@ again: if (rv != KERN_SUCCESS) return (rv); } - if ((cow & (MAP_STACK_GROWS_DOWN | MAP_STACK_GROWS_UP)) != 0) { + if ((cow & MAP_STACK_GROWS_DOWN) != 0) { rv = vm_map_stack_locked(map, *addr, length, sgrowsiz, prot, max, cow); } else { @@ -2330,9 +2320,9 @@ vm_map_find_min(vm_map_t map, vm_object_t object, vm_ooffset_t offset, * A map entry with any of the following flags set must not be merged with * another entry. */ -#define MAP_ENTRY_NOMERGE_MASK (MAP_ENTRY_GROWS_DOWN | MAP_ENTRY_GROWS_UP | \ +#define MAP_ENTRY_NOMERGE_MASK (MAP_ENTRY_GROWS_DOWN | \ MAP_ENTRY_IN_TRANSITION | MAP_ENTRY_IS_SUB_MAP | MAP_ENTRY_VN_EXEC | \ - MAP_ENTRY_STACK_GAP_UP | MAP_ENTRY_STACK_GAP_DN) + MAP_ENTRY_STACK_GAP_DN) static bool vm_map_mergeable_neighbors(vm_map_entry_t prev, vm_map_entry_t entry) @@ -2773,8 +2763,7 @@ vm_map_protect_guard(vm_map_entry_t entry, vm_prot_t new_prot, vm_prot_t old_prot; MPASS((entry->eflags & MAP_ENTRY_GUARD) != 0); - if ((entry->eflags & (MAP_ENTRY_STACK_GAP_UP | - MAP_ENTRY_STACK_GAP_DN)) == 0) + if ((entry->eflags & MAP_ENTRY_STACK_GAP_DN) == 0) return; old_prot = PROT_EXTRACT(entry->offset); @@ -2870,11 +2859,9 @@ again: return (KERN_INVALID_ARGUMENT); } if ((entry->eflags & (MAP_ENTRY_GUARD | - MAP_ENTRY_STACK_GAP_DN | MAP_ENTRY_STACK_GAP_UP)) == - MAP_ENTRY_GUARD) + MAP_ENTRY_STACK_GAP_DN)) == MAP_ENTRY_GUARD) continue; - max_prot = (entry->eflags & (MAP_ENTRY_STACK_GAP_DN | - MAP_ENTRY_STACK_GAP_UP)) != 0 ? + max_prot = (entry->eflags & MAP_ENTRY_STACK_GAP_DN) != 0 ? PROT_MAX_EXTRACT(entry->offset) : entry->max_protection; if (!CONTAINS_BITS(max_prot, check_prot)) { vm_map_unlock(map); @@ -4327,7 +4314,7 @@ vmspace_map_entry_forked(const struct vmspace *vm1, struct vmspace *vm2, return; entrysize = entry->end - entry->start; vm2->vm_map.size += entrysize; - if (entry->eflags & (MAP_ENTRY_GROWS_DOWN | MAP_ENTRY_GROWS_UP)) { + if ((entry->eflags & MAP_ENTRY_GROWS_DOWN) != 0) { vm2->vm_ssize += btoc(entrysize); } else if (entry->start >= (vm_offset_t)vm1->vm_daddr && entry->start < (vm_offset_t)vm1->vm_daddr + ctob(vm1->vm_dsize)) { @@ -4607,17 +4594,10 @@ vm_map_stack_locked(vm_map_t map, vm_offset_t addrbos, vm_size_t max_ssize, vm_map_entry_t gap_entry, new_entry, prev_entry; vm_offset_t bot, gap_bot, gap_top, top; vm_size_t init_ssize, sgp; - int orient, rv; + int rv; - /* - * The stack orientation is piggybacked with the cow argument. - * Extract it into orient and mask the cow argument so that we - * don't pass it around further. - */ - orient = cow & (MAP_STACK_GROWS_DOWN | MAP_STACK_GROWS_UP); - KASSERT(orient != 0, ("No stack grow direction")); - KASSERT(orient != (MAP_STACK_GROWS_DOWN | MAP_STACK_GROWS_UP), - ("bi-dir stack")); + KASSERT((cow & MAP_STACK_GROWS_DOWN) != 0, + ("New mapping is not a stack")); if (max_ssize == 0 || !vm_map_range_valid(map, addrbos, addrbos + max_ssize)) @@ -4643,48 +4623,34 @@ vm_map_stack_locked(vm_map_t map, vm_offset_t addrbos, vm_size_t max_ssize, return (KERN_NO_SPACE); /* - * We initially map a stack of only init_ssize. We will grow as - * needed later. Depending on the orientation of the stack (i.e. - * the grow direction) we either map at the top of the range, the - * bottom of the range or in the middle. + * We initially map a stack of only init_ssize, at the top of + * the range. We will grow as needed later. * * Note: we would normally expect prot and max to be VM_PROT_ALL, * and cow to be 0. Possibly we should eliminate these as input * parameters, and just pass these values here in the insert call. */ - if (orient == MAP_STACK_GROWS_DOWN) { - bot = addrbos + max_ssize - init_ssize; - top = bot + init_ssize; - gap_bot = addrbos; - gap_top = bot; - } else /* if (orient == MAP_STACK_GROWS_UP) */ { - bot = addrbos; - top = bot + init_ssize; - gap_bot = top; - gap_top = addrbos + max_ssize; - } + bot = addrbos + max_ssize - init_ssize; + top = bot + init_ssize; + gap_bot = addrbos; + gap_top = bot; rv = vm_map_insert1(map, NULL, 0, bot, top, prot, max, cow, &new_entry); if (rv != KERN_SUCCESS) return (rv); KASSERT(new_entry->end == top || new_entry->start == bot, ("Bad entry start/end for new stack entry")); - KASSERT((orient & MAP_STACK_GROWS_DOWN) == 0 || - (new_entry->eflags & MAP_ENTRY_GROWS_DOWN) != 0, + KASSERT((new_entry->eflags & MAP_ENTRY_GROWS_DOWN) != 0, ("new entry lacks MAP_ENTRY_GROWS_DOWN")); - KASSERT((orient & MAP_STACK_GROWS_UP) == 0 || - (new_entry->eflags & MAP_ENTRY_GROWS_UP) != 0, - ("new entry lacks MAP_ENTRY_GROWS_UP")); if (gap_bot == gap_top) return (KERN_SUCCESS); rv = vm_map_insert1(map, NULL, 0, gap_bot, gap_top, VM_PROT_NONE, - VM_PROT_NONE, MAP_CREATE_GUARD | (orient == MAP_STACK_GROWS_DOWN ? - MAP_CREATE_STACK_GAP_DN : MAP_CREATE_STACK_GAP_UP), &gap_entry); + VM_PROT_NONE, MAP_CREATE_GUARD | MAP_CREATE_STACK_GAP_DN, + &gap_entry); if (rv == KERN_SUCCESS) { KASSERT((gap_entry->eflags & MAP_ENTRY_GUARD) != 0, ("entry %p not gap %#x", gap_entry, gap_entry->eflags)); - KASSERT((gap_entry->eflags & (MAP_ENTRY_STACK_GAP_DN | - MAP_ENTRY_STACK_GAP_UP)) != 0, + KASSERT((gap_entry->eflags & MAP_ENTRY_STACK_GAP_DN) != 0, ("entry %p not stack gap %#x", gap_entry, gap_entry->eflags)); @@ -4715,13 +4681,12 @@ vm_map_growstack(vm_map_t map, vm_offset_t addr, vm_map_entry_t gap_entry) vm_map_entry_t stack_entry; struct proc *p; struct vmspace *vm; - struct ucred *cred; vm_offset_t gap_end, gap_start, grow_start; vm_size_t grow_amount, guard, max_grow, sgp; vm_prot_t prot, max; rlim_t lmemlim, stacklim, vmemlim; int rv, rv1 __diagused; - bool gap_deleted, grow_down, is_procstack; + bool gap_deleted, is_procstack; #ifdef notyet uint64_t limit; #endif @@ -4758,14 +4723,6 @@ retry: stack_entry->start != gap_entry->end) return (KERN_FAILURE); grow_amount = round_page(stack_entry->start - addr); - grow_down = true; - } else if ((gap_entry->eflags & MAP_ENTRY_STACK_GAP_UP) != 0) { - stack_entry = vm_map_entry_pred(gap_entry); - if ((stack_entry->eflags & MAP_ENTRY_GROWS_UP) == 0 || - stack_entry->end != gap_entry->start) - return (KERN_FAILURE); - grow_amount = round_page(addr + 1 - stack_entry->end); - grow_down = false; } else { return (KERN_FAILURE); } @@ -4858,66 +4815,40 @@ retry: goto retry; } - if (grow_down) { - /* - * The gap_entry "offset" field is overloaded. See - * vm_map_stack_locked(). - */ - prot = PROT_EXTRACT(gap_entry->offset); - max = PROT_MAX_EXTRACT(gap_entry->offset); - sgp = gap_entry->next_read; - - grow_start = gap_entry->end - grow_amount; - if (gap_entry->start + grow_amount == gap_entry->end) { - gap_start = gap_entry->start; - gap_end = gap_entry->end; - vm_map_entry_delete(map, gap_entry); - gap_deleted = true; + /* + * The gap_entry "offset" field is overloaded. See + * vm_map_stack_locked(). + */ + prot = PROT_EXTRACT(gap_entry->offset); + max = PROT_MAX_EXTRACT(gap_entry->offset); + sgp = gap_entry->next_read; + + grow_start = gap_entry->end - grow_amount; + if (gap_entry->start + grow_amount == gap_entry->end) { + gap_start = gap_entry->start; + gap_end = gap_entry->end; + vm_map_entry_delete(map, gap_entry); + gap_deleted = true; + } else { + MPASS(gap_entry->start < gap_entry->end - grow_amount); + vm_map_entry_resize(map, gap_entry, -grow_amount); + gap_deleted = false; + } + rv = vm_map_insert(map, NULL, 0, grow_start, + grow_start + grow_amount, prot, max, MAP_STACK_GROWS_DOWN); + if (rv != KERN_SUCCESS) { + if (gap_deleted) { + rv1 = vm_map_insert1(map, NULL, 0, gap_start, + gap_end, VM_PROT_NONE, VM_PROT_NONE, + MAP_CREATE_GUARD | MAP_CREATE_STACK_GAP_DN, + &gap_entry); + MPASS(rv1 == KERN_SUCCESS); + gap_entry->next_read = sgp; + gap_entry->offset = prot | PROT_MAX(max); } else { - MPASS(gap_entry->start < gap_entry->end - grow_amount); - vm_map_entry_resize(map, gap_entry, -grow_amount); - gap_deleted = false; - } - rv = vm_map_insert(map, NULL, 0, grow_start, - grow_start + grow_amount, prot, max, MAP_STACK_GROWS_DOWN); - if (rv != KERN_SUCCESS) { - if (gap_deleted) { - rv1 = vm_map_insert1(map, NULL, 0, gap_start, - gap_end, VM_PROT_NONE, VM_PROT_NONE, - MAP_CREATE_GUARD | MAP_CREATE_STACK_GAP_DN, - &gap_entry); - MPASS(rv1 == KERN_SUCCESS); - gap_entry->next_read = sgp; - gap_entry->offset = prot | PROT_MAX(max); - } else - vm_map_entry_resize(map, gap_entry, - grow_amount); + vm_map_entry_resize(map, gap_entry, + grow_amount); } - } else { - grow_start = stack_entry->end; - cred = stack_entry->cred; - if (cred == NULL && stack_entry->object.vm_object != NULL) - cred = stack_entry->object.vm_object->cred; - if (cred != NULL && !swap_reserve_by_cred(grow_amount, cred)) - rv = KERN_NO_SPACE; - /* Grow the underlying object if applicable. */ - else if (stack_entry->object.vm_object == NULL || - vm_object_coalesce(stack_entry->object.vm_object, - stack_entry->offset, - (vm_size_t)(stack_entry->end - stack_entry->start), - grow_amount, cred != NULL)) { - if (gap_entry->start + grow_amount == gap_entry->end) { - vm_map_entry_delete(map, gap_entry); - vm_map_entry_resize(map, stack_entry, - grow_amount); - } else { - gap_entry->start += grow_amount; - stack_entry->end += grow_amount; - } - map->size += grow_amount; - rv = KERN_SUCCESS; - } else - rv = KERN_FAILURE; } if (rv == KERN_SUCCESS && is_procstack) vm->vm_ssize += btoc(grow_amount); @@ -5092,8 +5023,7 @@ RetryLookupLocked: fault_typea &= ~VM_PROT_FAULT_LOOKUP; if (prot == VM_PROT_NONE && map != kernel_map && (entry->eflags & MAP_ENTRY_GUARD) != 0 && - (entry->eflags & (MAP_ENTRY_STACK_GAP_DN | - MAP_ENTRY_STACK_GAP_UP)) != 0 && + (entry->eflags & MAP_ENTRY_STACK_GAP_DN) != 0 && vm_map_growstack(map, vaddr, entry) == KERN_SUCCESS) goto RetryLookupLocked; } diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h index a226f9adaa9a..cd30a4268efa 100644 --- a/sys/vm/vm_map.h +++ b/sys/vm/vm_map.h @@ -94,9 +94,9 @@ union vm_map_object { * and user-exported inheritance and protection information. * Also included is control information for virtual copy operations. * - * For stack gap map entries (MAP_ENTRY_GUARD | MAP_ENTRY_GROWS_DOWN - * or UP), the next_read member is reused as the stack_guard_page - * storage, and offset is the stack protection. + * For stack gap map entries (MAP_ENTRY_GUARD | MAP_ENTRY_STACK_GAP), + * the next_read member is reused as the stack_guard_page storage, and + * offset is the stack protection. */ struct vm_map_entry { struct vm_map_entry *left; /* left child or previous entry */ @@ -139,14 +139,14 @@ struct vm_map_entry { a core */ #define MAP_ENTRY_VN_EXEC 0x00000800 /* text vnode mapping */ #define MAP_ENTRY_GROWS_DOWN 0x00001000 /* top-down stacks */ -#define MAP_ENTRY_GROWS_UP 0x00002000 /* bottom-up stacks */ +#define MAP_ENTRY_UNUSED0 0x00002000 #define MAP_ENTRY_WIRE_SKIPPED 0x00004000 #define MAP_ENTRY_WRITECNT 0x00008000 /* tracked writeable mapping */ #define MAP_ENTRY_GUARD 0x00010000 #define MAP_ENTRY_STACK_GAP_DN 0x00020000 -#define MAP_ENTRY_STACK_GAP_UP 0x00040000 +#define MAP_ENTRY_UNUSED1 0x00040000 #define MAP_ENTRY_HEADER 0x00080000 #define MAP_ENTRY_SPLIT_BOUNDARY_MASK 0x00300000 @@ -377,10 +377,10 @@ long vmspace_resident_count(struct vmspace *vmspace); #define MAP_WRITECOUNT 0x00000400 #define MAP_REMAP 0x00000800 #define MAP_STACK_GROWS_DOWN 0x00001000 -#define MAP_STACK_GROWS_UP 0x00002000 +#define MAP_COW_UNUSED0 0x00002000 #define MAP_ACC_CHARGED 0x00004000 #define MAP_ACC_NO_CHARGE 0x00008000 -#define MAP_CREATE_STACK_GAP_UP 0x00010000 +#define MAP_COW_UNUSED1 0x00010000 #define MAP_CREATE_STACK_GAP_DN 0x00020000 #define MAP_VN_EXEC 0x00040000 #define MAP_SPLIT_BOUNDARY_MASK 0x00180000 From nobody Fri Dec 6 08:00:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4NwN1fCwz5fp2v; Fri, 06 Dec 2024 08:00:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4NwM5KmXz4Xpq; Fri, 6 Dec 2024 08:00:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733472019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v44VRBQcSY82nzjfpgUt1VntQFL08aL1AoFobLjHGs0=; b=Xi0eXkVdFwVcfjiTxIq//k9iKaTmy2C3mCHsXCZryxfW+84z5DxlLAveXcsICetzfn8EZA zvnZNIgyj7bpmZK04VdbsM2CQS9BqIGDrHB6fsIS1yo1fikUV/nEQ6BlPt+lpK2b3DP5Kp Vz5QC45lyNhz2UhM/06vNbNeMWge99anMxpaDZDad5l7ouuoGQumysxWLwgOCc5Ou/ab0v 18JQ0h0OtGLnH+l5jQV4KXIUWXpPPtiVtuVKRiodsthEA3nzMmVp/DKWVXZyt2XQiEesgZ AmSlkwe4K0COq03LbGz63r2sz9ieCak3Vv0jP3i9rnaOBJE3IR+0ASjh4oQc4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733472019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v44VRBQcSY82nzjfpgUt1VntQFL08aL1AoFobLjHGs0=; b=wNZGreKFyVOHbpGOCvlSC4J4yOnGv32tKQMwkTunIzxauCfssUGyJ1uLkBlTOnaYDVlK7/ yVWXxnqE7soZ+JVp9hiYLeG51MoWba76xpjCCglbjwVWnDdzl2Y5bQUCFopsNCz5sJjxpW k1LcCbFwZIw5K/tGNG68zl+sgNWt1RYqg/MVWOrO7cKay1IraKZ8Ins/wGTqyHY2cJxFUO xuN5jImkdcPDW/C2jeWwO1v8Eg7NqGp78NnJIp706mXFNKUcbkvfsSydT71T8VSCkaDBgq 8v9rioW3H0wRUkmpx9bC8nX6K3A7Ts1rgS72S7icH+vkZY4yQ0FVtsOo37LehQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733472019; a=rsa-sha256; cv=none; b=oxi0GZ+GHf9pJBwy+OK6EGauQHuVx4Y8wuecYKS2V8YNrzWUTUdRTMO6g+PiJQs37KLKdp k/ep+B7B9RFo8hf6DDfq6ANy4Cnl8az52KFdOToMlQAm1cApWgSlGyCuJ4sjY6wx4HY1zk 4Qgw4VLMhp4wSmuAY5MqHhXFMROUDTjxusz05lrI3Rl0S7NUDfS8S4WZ2bo6WSGm91uBWc G7fpafbEwdEKqp7JP3tdwvGiAU6lVRJhsQhl8SSgxQcEo9f4ITzchmd6/2ttf3U0lpZaXL h4beyWRy3fxLDnxyR/2O6QnKBt9Ndfr1hqnJ0wjqpm2HO77RAaiXddO+xQKqng== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4NwM4x9dzTD4; Fri, 6 Dec 2024 08:00: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 4B680JdJ061325; Fri, 6 Dec 2024 08:00:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B680JB2061322; Fri, 6 Dec 2024 08:00:19 GMT (envelope-from git) Date: Fri, 6 Dec 2024 08:00:19 GMT Message-Id: <202412060800.4B680JB2061322@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: 030467548611 - main - vm_map: remove _GN suffix from MAP_ENTRY_STACK_GAP and MAP_CREATE_STACK_GAP symbols` List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 0304675486114e3ab7da242c5a9c945dc584f6c2 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=0304675486114e3ab7da242c5a9c945dc584f6c2 commit 0304675486114e3ab7da242c5a9c945dc584f6c2 Author: Konstantin Belousov AuthorDate: 2024-12-04 04:12:25 +0000 Commit: Konstantin Belousov CommitDate: 2024-12-06 07:46:55 +0000 vm_map: remove _GN suffix from MAP_ENTRY_STACK_GAP and MAP_CREATE_STACK_GAP symbols` Reviewed by: alc, dougm, markj Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D47892 --- sys/vm/vm_map.c | 30 +++++++++++++++--------------- sys/vm/vm_map.h | 4 ++-- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index d48b2cb8b73f..3d0fa6da15bc 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -1410,7 +1410,7 @@ vm_map_entry_link(vm_map_t map, vm_map_entry_t entry) KASSERT(entry->end < root->end, ("%s: clip_start not within entry", __func__)); vm_map_splay_findprev(root, &llist); - if ((root->eflags & MAP_ENTRY_STACK_GAP_DN) == 0) + if ((root->eflags & MAP_ENTRY_STACK_GAP) == 0) root->offset += entry->end - root->start; root->start = entry->end; max_free_left = vm_map_splay_merge_pred(header, entry, llist); @@ -1427,7 +1427,7 @@ vm_map_entry_link(vm_map_t map, vm_map_entry_t entry) KASSERT(entry->end == root->end, ("%s: clip_start not within entry", __func__)); vm_map_splay_findnext(root, &rlist); - if ((entry->eflags & MAP_ENTRY_STACK_GAP_DN) == 0) + if ((entry->eflags & MAP_ENTRY_STACK_GAP) == 0) entry->offset += entry->start - root->start; root->end = entry->start; max_free_left = root->max_free = vm_size_max( @@ -1462,7 +1462,7 @@ vm_map_entry_unlink(vm_map_t map, vm_map_entry_t entry, vm_map_splay_findnext(root, &rlist); if (op == UNLINK_MERGE_NEXT) { rlist->start = root->start; - MPASS((rlist->eflags & MAP_ENTRY_STACK_GAP_DN) == 0); + MPASS((rlist->eflags & MAP_ENTRY_STACK_GAP) == 0); rlist->offset = root->offset; } if (llist != header) { @@ -1675,8 +1675,8 @@ vm_map_insert1(vm_map_t map, vm_object_t object, vm_ooffset_t offset, protoeflags |= MAP_ENTRY_VN_EXEC; if ((cow & MAP_CREATE_GUARD) != 0) protoeflags |= MAP_ENTRY_GUARD; - if ((cow & MAP_CREATE_STACK_GAP_DN) != 0) - protoeflags |= MAP_ENTRY_STACK_GAP_DN; + if ((cow & MAP_CREATE_STACK_GAP) != 0) + protoeflags |= MAP_ENTRY_STACK_GAP; if (cow & MAP_INHERIT_SHARE) inheritance = VM_INHERIT_SHARE; else @@ -2322,7 +2322,7 @@ vm_map_find_min(vm_map_t map, vm_object_t object, vm_ooffset_t offset, */ #define MAP_ENTRY_NOMERGE_MASK (MAP_ENTRY_GROWS_DOWN | \ MAP_ENTRY_IN_TRANSITION | MAP_ENTRY_IS_SUB_MAP | MAP_ENTRY_VN_EXEC | \ - MAP_ENTRY_STACK_GAP_DN) + MAP_ENTRY_STACK_GAP) static bool vm_map_mergeable_neighbors(vm_map_entry_t prev, vm_map_entry_t entry) @@ -2763,7 +2763,7 @@ vm_map_protect_guard(vm_map_entry_t entry, vm_prot_t new_prot, vm_prot_t old_prot; MPASS((entry->eflags & MAP_ENTRY_GUARD) != 0); - if ((entry->eflags & MAP_ENTRY_STACK_GAP_DN) == 0) + if ((entry->eflags & MAP_ENTRY_STACK_GAP) == 0) return; old_prot = PROT_EXTRACT(entry->offset); @@ -2838,7 +2838,7 @@ again: * guard). */ while (!CONTAINS_BITS(first_entry->eflags, - MAP_ENTRY_GUARD | MAP_ENTRY_STACK_GAP_DN) && + MAP_ENTRY_GUARD | MAP_ENTRY_STACK_GAP) && first_entry != vm_map_entry_first(map)) first_entry = vm_map_entry_pred(first_entry); start = first_entry->start; @@ -2859,9 +2859,9 @@ again: return (KERN_INVALID_ARGUMENT); } if ((entry->eflags & (MAP_ENTRY_GUARD | - MAP_ENTRY_STACK_GAP_DN)) == MAP_ENTRY_GUARD) + MAP_ENTRY_STACK_GAP)) == MAP_ENTRY_GUARD) continue; - max_prot = (entry->eflags & MAP_ENTRY_STACK_GAP_DN) != 0 ? + max_prot = (entry->eflags & MAP_ENTRY_STACK_GAP) != 0 ? PROT_MAX_EXTRACT(entry->offset) : entry->max_protection; if (!CONTAINS_BITS(max_prot, check_prot)) { vm_map_unlock(map); @@ -4645,12 +4645,12 @@ vm_map_stack_locked(vm_map_t map, vm_offset_t addrbos, vm_size_t max_ssize, if (gap_bot == gap_top) return (KERN_SUCCESS); rv = vm_map_insert1(map, NULL, 0, gap_bot, gap_top, VM_PROT_NONE, - VM_PROT_NONE, MAP_CREATE_GUARD | MAP_CREATE_STACK_GAP_DN, + VM_PROT_NONE, MAP_CREATE_GUARD | MAP_CREATE_STACK_GAP, &gap_entry); if (rv == KERN_SUCCESS) { KASSERT((gap_entry->eflags & MAP_ENTRY_GUARD) != 0, ("entry %p not gap %#x", gap_entry, gap_entry->eflags)); - KASSERT((gap_entry->eflags & MAP_ENTRY_STACK_GAP_DN) != 0, + KASSERT((gap_entry->eflags & MAP_ENTRY_STACK_GAP) != 0, ("entry %p not stack gap %#x", gap_entry, gap_entry->eflags)); @@ -4717,7 +4717,7 @@ retry: return (KERN_FAILURE); if ((gap_entry->eflags & MAP_ENTRY_GUARD) == 0) return (KERN_SUCCESS); - if ((gap_entry->eflags & MAP_ENTRY_STACK_GAP_DN) != 0) { + if ((gap_entry->eflags & MAP_ENTRY_STACK_GAP) != 0) { stack_entry = vm_map_entry_succ(gap_entry); if ((stack_entry->eflags & MAP_ENTRY_GROWS_DOWN) == 0 || stack_entry->start != gap_entry->end) @@ -4840,7 +4840,7 @@ retry: if (gap_deleted) { rv1 = vm_map_insert1(map, NULL, 0, gap_start, gap_end, VM_PROT_NONE, VM_PROT_NONE, - MAP_CREATE_GUARD | MAP_CREATE_STACK_GAP_DN, + MAP_CREATE_GUARD | MAP_CREATE_STACK_GAP, &gap_entry); MPASS(rv1 == KERN_SUCCESS); gap_entry->next_read = sgp; @@ -5023,7 +5023,7 @@ RetryLookupLocked: fault_typea &= ~VM_PROT_FAULT_LOOKUP; if (prot == VM_PROT_NONE && map != kernel_map && (entry->eflags & MAP_ENTRY_GUARD) != 0 && - (entry->eflags & MAP_ENTRY_STACK_GAP_DN) != 0 && + (entry->eflags & MAP_ENTRY_STACK_GAP) != 0 && vm_map_growstack(map, vaddr, entry) == KERN_SUCCESS) goto RetryLookupLocked; } diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h index cd30a4268efa..7c5981463ef7 100644 --- a/sys/vm/vm_map.h +++ b/sys/vm/vm_map.h @@ -145,7 +145,7 @@ struct vm_map_entry { #define MAP_ENTRY_WRITECNT 0x00008000 /* tracked writeable mapping */ #define MAP_ENTRY_GUARD 0x00010000 -#define MAP_ENTRY_STACK_GAP_DN 0x00020000 +#define MAP_ENTRY_STACK_GAP 0x00020000 #define MAP_ENTRY_UNUSED1 0x00040000 #define MAP_ENTRY_HEADER 0x00080000 @@ -381,7 +381,7 @@ long vmspace_resident_count(struct vmspace *vmspace); #define MAP_ACC_CHARGED 0x00004000 #define MAP_ACC_NO_CHARGE 0x00008000 #define MAP_COW_UNUSED1 0x00010000 -#define MAP_CREATE_STACK_GAP_DN 0x00020000 +#define MAP_CREATE_STACK_GAP 0x00020000 #define MAP_VN_EXEC 0x00040000 #define MAP_SPLIT_BOUNDARY_MASK 0x00180000 #define MAP_NO_HINT 0x00200000 From nobody Fri Dec 6 08:00:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4NwP12ghz5fp55; Fri, 06 Dec 2024 08:00:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4NwN6N8zz4Y1S; Fri, 6 Dec 2024 08:00:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733472020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DPf6Gmc+WJ9umgg3HKf2sWh7p/B28/yXxTH2szS64dM=; b=nEMz0qhpTgKoYksrdm58j4jvC3q/0AJzuaWgK1xbP21tMREBeBiXssJs/txXQ8T4WdxQue hufwOR/vlktJwF35hNMbuL4yi2+KCW5BHb3KojMsb6ALmd+Q0trHsC8yCC6szSX33XvOqY Bh/6mPeqEvYdQYhqEVSCaLjYudUy3rvkqfPkioICUzdjuISnhVCiSZrC7fAGFR26Z/x8ef OG+TRYOcgUVkDBXpDWgZkEn9ya2/kl4+3feTt0YE7iqAtT3BuHODZ1hqy/+5TfLyhWOFPY Lfn8YO25/9xV1n6TPnEAlHkMGvn5++DE6UUFV8XFG8rq8N5tI30yVG03Kwk+mg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733472020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DPf6Gmc+WJ9umgg3HKf2sWh7p/B28/yXxTH2szS64dM=; b=w9DoTgd5UoJiR5PiD8XgC0swQXIJxlasU0ykzefZ0MSzdZEDrvJpEH5f++DHiPnrvExAiT 7zufgQ6Rpy3Fd5mVweIjsQAtiv+LJUTp/My8345yVLp6yMYAAFde6U9ltPvmcuhw05a91x fJhkdzZR3qti3QavTd0TqjLh9iczTVXVilj3Xq1LuIGQKj2ikJHGrYnpsTZBV88pQeID7e WQW0CuBWI+z6pPtWodCpbYTFlGZFXbeHFo0WF+rYlUn6wWW0m6A+SRPG6L0AmTsntJ0ZO1 1iHyi+OAmH+UGvlfCxyf7ulNGyOG2YhIsf9464R2vgav2IpPuaAGUXz/7WYbZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733472020; a=rsa-sha256; cv=none; b=EfWgFNm8D2Qg8bka9Fw3Ohv6WkgaHomgVUPCrIGB0aiZmtomFeGnUKWVrADyV1IMns+WfM mwbnQmFghmUM62PskCTqzRmDObSGVLtNMriucsudRhgGumy+EwSvLtmAM3+SfH0PMwRtUh Egc9fQzJBk/Fgc9EpJLT0ib/CuFWtD4OjikxKwFAyXvv+YdV/E0aPxFYnDLac5quv1zimT SewC04vPCkwKjYern4cvfWlLXU90fTkkX9uFgnBtHUWXNDNSNQJrs9/F/qVb4bwPlQvrol J9LRJG0VJiFRD3zJ/781qCK/NVxrTx++5Ew9VMtzOfBrVY3O5qW2mmIVb1lyEA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4NwN60cCzTD5; Fri, 6 Dec 2024 08:00: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 4B680K9A061369; Fri, 6 Dec 2024 08:00:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B680KTF061366; Fri, 6 Dec 2024 08:00:20 GMT (envelope-from git) Date: Fri, 6 Dec 2024 08:00:20 GMT Message-Id: <202412060800.4B680KTF061366@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: d302c0539307 - main - vm: rename MAP_STACK_GROWS_DOWN to MAP_STACK_AREA List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d302c0539307d1b7ae9a0206d83a1fb9ccc44900 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=d302c0539307d1b7ae9a0206d83a1fb9ccc44900 commit d302c0539307d1b7ae9a0206d83a1fb9ccc44900 Author: Konstantin Belousov AuthorDate: 2024-12-05 01:41:13 +0000 Commit: Konstantin Belousov CommitDate: 2024-12-06 07:46:59 +0000 vm: rename MAP_STACK_GROWS_DOWN to MAP_STACK_AREA Reviewed by: alc, dougm, markj Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D47892 --- sys/kern/kern_exec.c | 2 +- sys/vm/vm_map.c | 20 ++++++++++---------- sys/vm/vm_map.h | 2 +- sys/vm/vm_mmap.c | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 4a11be5b42b8..51bbdeaaa55e 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -1240,7 +1240,7 @@ exec_map_stack(struct image_params *imgp) } error = vm_map_find(map, NULL, 0, &stack_addr, (vm_size_t)ssiz, sv->sv_usrstack, find_space, stack_prot, VM_PROT_ALL, - MAP_STACK_GROWS_DOWN); + MAP_STACK_AREA); if (error != KERN_SUCCESS) { uprintf("exec_new_vmspace: mapping stack size %#jx prot %#x " "failed, mach error %d errno %d\n", (uintmax_t)ssiz, diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 3d0fa6da15bc..910ebfb6dc4e 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -1667,7 +1667,7 @@ vm_map_insert1(vm_map_t map, vm_object_t object, vm_ooffset_t offset, protoeflags |= MAP_ENTRY_NOSYNC; if (cow & MAP_DISABLE_COREDUMP) protoeflags |= MAP_ENTRY_NOCOREDUMP; - if (cow & MAP_STACK_GROWS_DOWN) + if (cow & MAP_STACK_AREA) protoeflags |= MAP_ENTRY_GROWS_DOWN; if (cow & MAP_WRITECOUNT) protoeflags |= MAP_ENTRY_WRITECNT; @@ -1727,7 +1727,7 @@ charged: } } else if ((prev_entry->eflags & ~MAP_ENTRY_USER_WIRED) == protoeflags && - (cow & (MAP_STACK_GROWS_DOWN | MAP_VN_EXEC)) == 0 && + (cow & (MAP_STACK_AREA | MAP_VN_EXEC)) == 0 && prev_entry->end == start && (prev_entry->cred == cred || (prev_entry->object.vm_object != NULL && prev_entry->object.vm_object->cred == cred)) && @@ -1963,7 +1963,7 @@ vm_map_fixed(vm_map_t map, vm_object_t object, vm_ooffset_t offset, int result; end = start + length; - KASSERT((cow & MAP_STACK_GROWS_DOWN) == 0 || object == NULL, + KASSERT((cow & MAP_STACK_AREA) == 0 || object == NULL, ("vm_map_fixed: non-NULL backing object for stack")); vm_map_lock(map); VM_MAP_RANGE_CHECK(map, start, end); @@ -1972,7 +1972,7 @@ vm_map_fixed(vm_map_t map, vm_object_t object, vm_ooffset_t offset, if (result != KERN_SUCCESS) goto out; } - if ((cow & MAP_STACK_GROWS_DOWN) != 0) { + if ((cow & MAP_STACK_AREA) != 0) { result = vm_map_stack_locked(map, start, length, sgrowsiz, prot, max, cow); } else { @@ -2131,10 +2131,10 @@ vm_map_find_locked(vm_map_t map, vm_object_t object, vm_ooffset_t offset, int gap, pidx, rv, try; bool cluster, en_aslr, update_anon; - KASSERT((cow & MAP_STACK_GROWS_DOWN) == 0 || object == NULL, + KASSERT((cow & MAP_STACK_AREA) == 0 || object == NULL, ("non-NULL backing object for stack")); MPASS((cow & MAP_REMAP) == 0 || (find_space == VMFS_NO_SPACE && - (cow & MAP_STACK_GROWS_DOWN) == 0)); + (cow & MAP_STACK_AREA) == 0)); if (find_space == VMFS_OPTIMAL_SPACE && (object == NULL || (object->flags & OBJ_COLORED) == 0)) find_space = VMFS_ANY_SPACE; @@ -2147,7 +2147,7 @@ vm_map_find_locked(vm_map_t map, vm_object_t object, vm_ooffset_t offset, update_anon = cluster = clustering_anon_allowed(*addr, cow) && (map->flags & MAP_IS_SUB_MAP) == 0 && max_addr == 0 && find_space != VMFS_NO_SPACE && object == NULL && - (cow & (MAP_INHERIT_SHARE | MAP_STACK_GROWS_DOWN)) == 0 && + (cow & (MAP_INHERIT_SHARE | MAP_STACK_AREA)) == 0 && prot != PROT_NONE; curr_min_addr = min_addr = *addr; if (en_aslr && min_addr == 0 && !cluster && @@ -2262,7 +2262,7 @@ again: if (rv != KERN_SUCCESS) return (rv); } - if ((cow & MAP_STACK_GROWS_DOWN) != 0) { + if ((cow & MAP_STACK_AREA) != 0) { rv = vm_map_stack_locked(map, *addr, length, sgrowsiz, prot, max, cow); } else { @@ -4596,7 +4596,7 @@ vm_map_stack_locked(vm_map_t map, vm_offset_t addrbos, vm_size_t max_ssize, vm_size_t init_ssize, sgp; int rv; - KASSERT((cow & MAP_STACK_GROWS_DOWN) != 0, + KASSERT((cow & MAP_STACK_AREA) != 0, ("New mapping is not a stack")); if (max_ssize == 0 || @@ -4835,7 +4835,7 @@ retry: gap_deleted = false; } rv = vm_map_insert(map, NULL, 0, grow_start, - grow_start + grow_amount, prot, max, MAP_STACK_GROWS_DOWN); + grow_start + grow_amount, prot, max, MAP_STACK_AREA); if (rv != KERN_SUCCESS) { if (gap_deleted) { rv1 = vm_map_insert1(map, NULL, 0, gap_start, diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h index 7c5981463ef7..d0b4bb52968e 100644 --- a/sys/vm/vm_map.h +++ b/sys/vm/vm_map.h @@ -376,7 +376,7 @@ long vmspace_resident_count(struct vmspace *vmspace); #define MAP_PREFAULT_MADVISE 0x00000200 /* from (user) madvise request */ #define MAP_WRITECOUNT 0x00000400 #define MAP_REMAP 0x00000800 -#define MAP_STACK_GROWS_DOWN 0x00001000 +#define MAP_STACK_AREA 0x00001000 #define MAP_COW_UNUSED0 0x00002000 #define MAP_ACC_CHARGED 0x00004000 #define MAP_ACC_NO_CHARGE 0x00008000 diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 028175b88b4f..c3672f884f25 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -1569,7 +1569,7 @@ vm_mmap_object(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, if (flags & MAP_STACK) { if (object != NULL) return (EINVAL); - docow |= MAP_STACK_GROWS_DOWN; + docow |= MAP_STACK_AREA; } if ((flags & MAP_EXCL) != 0) docow |= MAP_CHECK_EXCL; From nobody Fri Dec 6 09:19:32 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4Qgm3xNyz5fvyV; Fri, 06 Dec 2024 09:19:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4Qgm3Q4tz4hxG; Fri, 6 Dec 2024 09:19:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733476772; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JGDy26q79MF0U6CXMWJoUNkvwIWb0GfcFewPpWNskgo=; b=WiAFdCHcbRwNdxVBoT6wxfTPLRg11Z1XL65mMeBxoakJZv/41emE4zLt0mZtGY95j05vbb XEElBy4z2Q+10r1sbfRi7dNTdeLTu4+UxOoJ4z0w1liNLSk2/qJwPiyUil/gHgrAF4g/DL Blv4mubj7HX0UuufIPuqfhniRg4ehW+I3+c/i3OqGTtnvw9psxRDQpwejBslGmjemTEGHG JDuIvHz3+4jTZ7BjX/GtkO2qWxXwenq9rR5zvpsUYqcXwkgfmc5geU2t2wftpuh0Y5GePi wcUT4QH0uSSRaDWHlaA8X8fHYuuPQQk/c5Eb9Fk7eXeJWG90aAKH1xRSs1CbpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733476772; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JGDy26q79MF0U6CXMWJoUNkvwIWb0GfcFewPpWNskgo=; b=oH8Eb6FfabqcPoHDYJat9ZyJRYod3dcBdiY62wZcVhNiG094pguQu0CDji8KWH4dvJjXdj cWHn8H7mj121ngmr+8sNAJ4n+NYPPh24bdvr1Pow9q/kydzjwzApQMdtPFO31meuvar0SA WVGYW7i+LmoIUIluQw8cPDH0fadvu793BZzuuo5Pkdn6Sxlg3vUL1ZekL1GFMHMizPqy3v mh/5RaRtZ7jgvk/jSdkl1fhKp1biyYLl3a9d0H3OMyfbJFq32GOZqnKw0qcrm7ksJhbJCE RqDfImgCUXaJpDu9yZ20CZ8E2rJTqd8GWVkqf1NoJHBcvBmvnum/E+Tysi9Mlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733476772; a=rsa-sha256; cv=none; b=NO/9iYHrqtHDBsjWwopMbMtocdZn5UV8vZSOdqOEnZMGiXXwPgFma+CaRRH25Jr2drZ992 OFrQWbZj6iRkD4XkHSwusO2OaW5SdgI5mnLTmlysyq18GrItJGafo7jHN5VSK4b7mQKyBf Fa2TFOhrpnxvjF+op/VRzzzlCwi6sZoeINfRVBiHoaKFOb5bYBj2y7/f+tvw83VMA4X5Ra o/aq4OL4Acm249vQWcMkR3MvY1eMcnhW6umofG7HSPY32BB5h789puuLuMtXDemDQCS/+4 MMRBr28gHn5YgH2HeMqhHwVQhJTMhXvpIEmgjHys8PMd8EeOR1c8pRzggTfoHQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4Qgm2b0yzXmV; Fri, 6 Dec 2024 09:19: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 4B69JWnU000706; Fri, 6 Dec 2024 09:19:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B69JW5c000703; Fri, 6 Dec 2024 09:19:32 GMT (envelope-from git) Date: Fri, 6 Dec 2024 09:19:32 GMT Message-Id: <202412060919.4B69JW5c000703@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: b6c90b909905 - main - ipfw : Enable support for EIM NAT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b6c90b909905a48c6f8ad027ff259e64d5d0e762 Auto-Submitted: auto-generated The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=b6c90b909905a48c6f8ad027ff259e64d5d0e762 commit b6c90b909905a48c6f8ad027ff259e64d5d0e762 Author: Damjan Jovanovic AuthorDate: 2024-12-06 09:17:34 +0000 Commit: Tom Jones CommitDate: 2024-12-06 09:18:09 +0000 ipfw : Enable support for EIM NAT Enable support for endpoint-independent mapping ("full cone NAT") via Libalias's UDP NAT. Reviewed by: igoro, thj Differential Revision: https://reviews.freebsd.org/D46689D --- sbin/ipfw/ipfw.8 | 22 +++++++++++++++++++++- sbin/ipfw/ipfw2.h | 1 + sbin/ipfw/main.c | 2 +- sbin/ipfw/nat.c | 8 ++++++++ 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/sbin/ipfw/ipfw.8 b/sbin/ipfw/ipfw.8 index 715d8580f1ce..bc78ae1c655b 100644 --- a/sbin/ipfw/ipfw.8 +++ b/sbin/ipfw/ipfw.8 @@ -1,5 +1,5 @@ .\" -.Dd December 17, 2023 +.Dd December 6, 2024 .Dt IPFW 8 .Os .Sh NAME @@ -3403,6 +3403,26 @@ Skip instance in case of global state lookup (see below). .It Cm port_range Ar lower-upper Set the aliasing ports between the ranges given. Upper port has to be greater than lower. +.It Cm udp_eim +When enabled, UDP packets use endpoint-independent mapping (EIM) from RFC 4787 +("full cone" NAT of RFC 3489). +All packets from the same internal address:port are mapped to the same NAT +address:port, regardless of their destination address:port. +If filtering rules allow, and if +.Em deny_in +is unset, any other external address:port can +also send to the internal address:port through its mapped NAT address:port. +This is more compatible with applications, and can reduce the need for port +forwarding, but less scalable as each NAT address:port can only be +concurrently used by at most one internal address:port. +.Pp +When disabled, UDP packets use endpoint-dependent mapping (EDM) ("symmetric" +NAT). +Each connection from a particular internal address:port to different +external addresses:ports is mapped to a random and unpredictable NAT +address:port. +Two appplications behind EDM NATs can only connect to each other +by port forwarding on the NAT, or tunnelling through an in-between server. .El .Pp Some special values can be supplied instead of diff --git a/sbin/ipfw/ipfw2.h b/sbin/ipfw/ipfw2.h index 2137719296f9..0c0bf32e94d6 100644 --- a/sbin/ipfw/ipfw2.h +++ b/sbin/ipfw/ipfw2.h @@ -324,6 +324,7 @@ enum tokens { TOK_SETMARK, TOK_SKIPACTION, + TOK_UDP_EIM, }; /* diff --git a/sbin/ipfw/main.c b/sbin/ipfw/main.c index 1e5f4fbafc1d..92c593f4f09e 100644 --- a/sbin/ipfw/main.c +++ b/sbin/ipfw/main.c @@ -43,7 +43,7 @@ help(void) "add [num] [set N] [prob x] RULE-BODY\n" "{pipe|queue} N config PIPE-BODY\n" "[pipe|queue] {zero|delete|show} [N{,N}]\n" -"nat N config {ip IPADDR|if IFNAME|log|deny_in|same_ports|unreg_only|unreg_cgn|\n" +"nat N config {ip IPADDR|if IFNAME|log|deny_in|same_ports|unreg_only|unreg_cgn|udp_eim|\n" " reset|reverse|proxy_only|redirect_addr linkspec|\n" " redirect_port linkspec|redirect_proto linkspec|\n" " port_range lower-upper}\n" diff --git a/sbin/ipfw/nat.c b/sbin/ipfw/nat.c index a96da30c9f8b..db74abaab233 100644 --- a/sbin/ipfw/nat.c +++ b/sbin/ipfw/nat.c @@ -67,6 +67,7 @@ static struct _s_x nat_params[] = { { "redirect_addr", TOK_REDIR_ADDR }, { "redirect_port", TOK_REDIR_PORT }, { "redirect_proto", TOK_REDIR_PROTO }, + { "udp_eim", TOK_UDP_EIM }, { NULL, 0 } /* terminator */ }; @@ -676,6 +677,9 @@ nat_show_cfg(struct nat44_cfg_nat *n, void *arg __unused) } else if (n->mode & PKT_ALIAS_PROXY_ONLY) { printf(" proxy_only"); n->mode &= ~PKT_ALIAS_PROXY_ONLY; + } else if (n->mode & PKT_ALIAS_UDP_EIM) { + printf(" udp_eim"); + n->mode &= ~PKT_ALIAS_UDP_EIM; } } /* Print all the redirect's data configuration. */ @@ -821,6 +825,7 @@ ipfw_config_nat(int ac, char **av) case TOK_RESET_ADDR: case TOK_ALIAS_REV: case TOK_PROXY_ONLY: + case TOK_UDP_EIM: break; case TOK_REDIR_ADDR: if (ac1 < 2) @@ -927,6 +932,9 @@ ipfw_config_nat(int ac, char **av) case TOK_PROXY_ONLY: n->mode |= PKT_ALIAS_PROXY_ONLY; break; + case TOK_UDP_EIM: + n->mode |= PKT_ALIAS_UDP_EIM; + break; /* * All the setup_redir_* functions work directly in * the final buffer, see above for details. From nobody Fri Dec 6 09:22:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4Qkj2SKBz5fw3n; Fri, 06 Dec 2024 09:22:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4Qkj1y4Jz4jP1; Fri, 6 Dec 2024 09:22:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733476925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WBXsHLpjScAP/KkGVvJZECh7ylbwdMpMKlDuBLlRuzY=; b=WGwGNOc9+DhPOC+QiPiEzcWmXUJcUOWdACtIM95Pmv+d0hp6Wuu0qPxviaJfP0IuGg/w4/ rl4SnqtahIW3DzoOx2O4OhO9KvLBDBc53pIeq7hH2HRAYS8PCczPa1NPzXjEXfTw4G14hS gWTt3X8pNgjqLqsndSHuMfIq8O/aK5c0lt6FtmmG+OSABCUwwjev4HZsR9+UvH6wTyqScw speRnQz0VMfXpUuA4LoWe5evv7pDLCm+IyEPPsHKRxuWVR82stNpeDf/+D4WyKNmSRmP2U /1D4DiLr1B1k1YfQnvE2BgcajXRCRh2q+ZEWdwBG8/glOTk1dodWBQp46AaHpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733476925; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WBXsHLpjScAP/KkGVvJZECh7ylbwdMpMKlDuBLlRuzY=; b=jTGe2Jo7qbVcbshUrssElL9da0EdKbzjrppR2wyYv+ZEZNkhZxU6P6WA7Jt/yleTVXENgS tLq3KzGZ7z9YGbG9kbItNEZyIx3PaHXYuyx98bYPzl3v5c+cfOf4hvCSz7+w0wC/3LYnok AQKE0yU+DZctKSs/hC/HGIRXXBrY+wiyZAYY4YsG5CTPAyREptb9kGslkTqJRVJvRZrNKH JgiDwCyRw1dGkCSCjZKINdRUEHI42VlE4xxVG+1OCNsgrNBr+B7gYUj9LKE7qB9b7xzAVO A8/jSg4bSqulHiNI//Q2BU3ZQLSrNQ1YDn2cxvwMzCD9Tmk829eiaasHo/c+kQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733476925; a=rsa-sha256; cv=none; b=F/hE9FWBwNxoF1tuVcy54VayAC9qJOxGwWwfKadTcNFFo43h9I+02FiW2ojF66TN4Y24rK ELCafKj5yyxbW7J89Ib3yBEMBubW0ezZqJIL1dku5mxGdjfYEfpxu0w7E9x7CS84/Mk+ud 1fChDHYsHmcfi2VzT+XH4FjEvOh5CXv6PkyhdCx+KPWF1a0zSfLzVLy1dc6rG8DKtKobeK eiqjUfhryiHoOils+26ZzEV9MOPWH8cNalI9/fJwBjd7QImiep4gbtG+0tlrKhaFMG2A4i vaRx37AFi5QltnCgn1uzwRXF5FStfI6kKEDBMg5ATAkEuqEaevgg/lM8nBM7Kw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4Qkj1QN2zXsk; Fri, 6 Dec 2024 09:22: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 4B69M5Ej017146; Fri, 6 Dec 2024 09:22:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B69M5IF017143; Fri, 6 Dec 2024 09:22:05 GMT (envelope-from git) Date: Fri, 6 Dec 2024 09:22:05 GMT Message-Id: <202412060922.4B69M5IF017143@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: ef18594985c0 - main - natd: Enable support for EIM NAT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef18594985c0d569650b44b0ba0171a6fd8703a5 Auto-Submitted: auto-generated The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=ef18594985c0d569650b44b0ba0171a6fd8703a5 commit ef18594985c0d569650b44b0ba0171a6fd8703a5 Author: Damjan Jovanovic AuthorDate: 2024-12-06 09:21:06 +0000 Commit: Tom Jones CommitDate: 2024-12-06 09:21:06 +0000 natd: Enable support for EIM NAT Enable support for endpoint-independent mapping ("full cone NAT") via Libalias's UDP NAT. Reviewed by: igoro, thj Differential Revision: https://reviews.freebsd.org/D46689 --- sbin/natd/natd.8 | 23 ++++++++++++++++++++++- sbin/natd/natd.c | 8 ++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/sbin/natd/natd.8 b/sbin/natd/natd.8 index b2edece6cce1..8beff2e66b6a 100644 --- a/sbin/natd/natd.8 +++ b/sbin/natd/natd.8 @@ -1,4 +1,4 @@ -.Dd October 5, 2016 +.Dd December 6, 2024 .Dt NATD 8 .Os .Sh NAME @@ -14,6 +14,7 @@ .Op Fl deny_incoming | d .Op Fl use_sockets | s .Op Fl same_ports | m +.Op Fl udp_eim .Op Fl verbose | v .Op Fl dynamic .Op Fl in_port | i Ar port @@ -114,6 +115,26 @@ With this option, protocols such as RPC will have a better chance of working. If it is not possible to maintain the port number, it will be silently changed as per normal. +.It Fl udp_eim +When enabled, UDP packets use endpoint-independent mapping (EIM) from RFC 4787 +("full cone" NAT of RFC 3489). +All packets from the same internal address:port are mapped to the same NAT +address:port, regardless of their destination address:port. +If filtering rules allow, and if +.Em deny_incoming +is disabled, any other external address:port can +also send to the internal address:port through its mapped NAT address:port. +This is more compatible with applications, and can reduce the need for port +forwarding, but less scalable as each NAT address:port can only be +concurrently used by at most one internal address:port. +.Pp +When disabled, UDP packets use endpoint-dependent mapping (EDM) ("symmetric" +NAT). +Each connection from a particular internal address:port to different +external addresses:ports is mapped to a random and unpredictable NAT +address:port. +Two appplications behind EDM NATs can only connect to each other +by port forwarding on the NAT, or tunnelling through an in-between server. .It Fl verbose | v Do not call .Xr daemon 3 diff --git a/sbin/natd/natd.c b/sbin/natd/natd.c index 29c68987adf4..6a62495dd064 100644 --- a/sbin/natd/natd.c +++ b/sbin/natd/natd.c @@ -1138,6 +1138,14 @@ static struct OptionInfo optionTable[] = { "same_ports", "m" }, + { LibAliasOption, + PKT_ALIAS_UDP_EIM, + YesNo, + "[yes|no]", + "UDP traffic uses endpoint-independent mapping (\"full cone\" NAT)", + "udp_eim", + NULL }, + { Verbose, 0, YesNo, From nobody Fri Dec 6 09:23:38 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4QmV5wHjz5fwf4; Fri, 06 Dec 2024 09:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4QmV5Fgjz4jn9; Fri, 6 Dec 2024 09:23:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733477018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XF9EeKJENvIDNQQ6mmRu8khs5yVUaJ5Kz+ZTZqW/Gdc=; b=HaGcNZEFOc3sSj5JtlAcxDQRBYM1/l9eq6GvbUvdZ5rPJjQsKZ0eyIoD3HSy63so8KmUhg 3eN6YhlZwbqKSR0GkZyrSBKbW5aqX6rQba0ZRCtJ9cXRrODIgy+s/bivh+3Jk5KI8dZqdS 4nCIe5gZ4pOQiipCqzhB+tJaXNhumA7w6eD6XQwunbLVdmVIDKOxBJuh8MX9h6UC/6dzFB +9g6p07F8bd+SL01sKF6Ze9QNIyMPFUAhgXcQX4g5njFH3oa9Gri/qowmB5LOduuzJJwNQ pLWE6sRsGSOurhMmqAQDIPi4133FfooQsOi8bXTBNpCnMtmHMVP2BKFD6D/feQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733477018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XF9EeKJENvIDNQQ6mmRu8khs5yVUaJ5Kz+ZTZqW/Gdc=; b=qDhFz+Naw201GeId+wuN4wJAGJn+wcz9IdhQwM/XfCb4dFhiHdE5qEaQBPZXJ4tdMFwNQ8 l536fYN/P4EQlJ7Dd/K/SQVbEOiFgRXAUWKKLaybS5ESrtjVgCLrTMB7FecnDntlHz1UM2 TuPmiAFkIdjWwoSXM9FZdsKszlZiNeTbDlwxId5pDgmwuQUgVhp781BFutkevgKaX44Wgj wF+QngQzcozql22p5SMvBp3KYHgqAayEWv3lCde/Rms90YOXlEbtZ2KrmfuxSekMsyNN8x 6Z7BziMPc0HZBWK1i7YjcvN8k93ybDzSAVRHzz3IMWaJt8+lvvxq7TMHdHYATw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733477018; a=rsa-sha256; cv=none; b=UcsR3Z9HpuWngbiq8ZS/cghvosQwWWb0MRObCjq9Wg9iSZ/gK/EwIb4gmD2p/Gk+LKRGf1 3tR5bf4eEJdNOS3P4I7zknfnjDsiGjuE/mwwFSi3BNRet25Jra9YVdosBukdp6OsNhe4j1 rbIdtIPM6UT7rG6zRpQCd6vW7gQQLs8icBOFsW0hHXsC9nycNPNvFNO3fUFfvkZ7aelZYt PwUs/iSaS1HTuDXFdFHXpOHj8/LX4fttPZooaIe/hS7QRPfAliGoR7xITbWo0XPNX97mXQ TLCaDt5K2oxlNKBMx15M8q+bhsttSr+xRUsuWV3sp5NScOkwJ6v5QFpyLfpAbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4QmV4VNyzXqW; Fri, 6 Dec 2024 09:23: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 4B69NcLG017707; Fri, 6 Dec 2024 09:23:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B69NcSm017704; Fri, 6 Dec 2024 09:23:38 GMT (envelope-from git) Date: Fri, 6 Dec 2024 09:23:38 GMT Message-Id: <202412060923.4B69NcSm017704@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: cb21fa3d0d26 - main - ppp: Enable support for EIM NAT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb21fa3d0d2640a6f48a21c406cac9dd07681052 Auto-Submitted: auto-generated The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=cb21fa3d0d2640a6f48a21c406cac9dd07681052 commit cb21fa3d0d2640a6f48a21c406cac9dd07681052 Author: Damjan Jovanovic AuthorDate: 2024-12-06 09:22:51 +0000 Commit: Tom Jones CommitDate: 2024-12-06 09:22:51 +0000 ppp: Enable support for EIM NAT Enable support for endpoint-independent mapping ("full cone NAT") via Libalias's UDP NAT. Reviewed by: igoro, thj Differential Revision: https://reviews.freebsd.org/D46689 --- usr.sbin/ppp/command.c | 4 ++++ usr.sbin/ppp/ppp.8 | 22 +++++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/usr.sbin/ppp/command.c b/usr.sbin/ppp/command.c index e94c18ae3fd2..4b4f0de8028c 100644 --- a/usr.sbin/ppp/command.c +++ b/usr.sbin/ppp/command.c @@ -793,6 +793,10 @@ static struct cmdtab const NatCommands[] = {"use_sockets", NULL, NatOption, LOCAL_AUTH, "allocate host sockets", "nat use_sockets yes|no", (const void *) PKT_ALIAS_USE_SOCKETS}, + {"udp_eim", NULL, NatOption, LOCAL_AUTH, + "UDP uses endpoint-independent mapping (\"full cone\" NAT)", + "nat udp_eim yes|no", + (const void *) PKT_ALIAS_UDP_EIM}, {"help", "?", HelpCommand, LOCAL_AUTH | LOCAL_NO_AUTH, "Display this message", "nat help|? [command]", NatCommands}, {NULL, NULL, NULL, 0, NULL, NULL, NULL}, diff --git a/usr.sbin/ppp/ppp.8 b/usr.sbin/ppp/ppp.8 index 9242a9c337a0..33bdc69f45a3 100644 --- a/usr.sbin/ppp/ppp.8 +++ b/usr.sbin/ppp/ppp.8 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 18, 2024 +.Dd December 6, 2024 .Dt PPP 8 .Os .Sh NAME @@ -3579,6 +3579,26 @@ network. The target address may be set to .Dq MYADDR , in which case libalias will redirect all packets to the interface address. +.It nat udp_eim yes|no +When enabled, UDP packets use endpoint-independent mapping (EIM) from RFC 4787 +("full cone" NAT of RFC 3489). +All packets from the same internal address:port are mapped to the same NAT +address:port, regardless of their destination address:port. +If filtering rules allow, and if +.Em deny_incoming +is disabled, any other external address:port can +also send to the internal address:port through its mapped NAT address:port. +This is more compatible with applications, and can reduce the need for port +forwarding, but less scalable as each NAT address:port can only be +concurrently used by at most one internal address:port. +.Pp +When disabled, UDP packets use endpoint-dependent mapping (EDM) ("symmetric" +NAT). +Each connection from a particular internal address:port to different +external addresses:ports is mapped to a random and unpredictable NAT +address:port. +Two appplications behind EDM NATs can only connect to each other +by port forwarding on the NAT, or tunnelling through an in-between server. .It nat use_sockets yes|no When enabled, this option tells the network address translation engine to create a socket so that it can guarantee a correct incoming ftp data or From nobody Fri Dec 6 09:33:13 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4QzZ0dvFz5fwy1; Fri, 06 Dec 2024 09:33:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4QzZ059vz4l5Z; Fri, 6 Dec 2024 09:33:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733477594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pqMa4ISYv9GlNBuhoCy3p3FDOAyYX3zbRjnfVgG3aMg=; b=NiVURyb0GFWawAesiwbJpzes+GTxjI2LhXYQp6nR1zQwInRu/trqszLUmCsQMdjyMEGjVj GsKu2qVacMhicQjJVSEAKTe4PfgX9fGmX7TbnBpovKiB6uh4y4Kjkz7A4BG9NhmJZTBf3Q hjgcdTM2MJ0v2hBVSJ7dGM/n5L7Mu4m4fdU9CmkUQBL5VpKVOuQi9bKBkZeyFTZTL+j/9R YvKy5lBT5bP8g+JyIW5Qb1NVeRVlHCbB8cW6XLujPjbQNjc3F7FRuH6QAF0tQ4Hq/AtEcS FUr581AW1yd3ZteSE9L6Y0uI1CvMPiXtpnNyadj8HgmkfOorAdkpoVFZIgCljw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733477594; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pqMa4ISYv9GlNBuhoCy3p3FDOAyYX3zbRjnfVgG3aMg=; b=VqrgNdLmbKBmw3/u8rPIBWYDO/7oPxubCgUFaMj+QrdZnyDwUmbItL18L5ad7qiL0xoQ8H u3etEjLmk4hKRNkhQxC5FavKm9iWQBvhsmRfM83AK6cKpk71/OTqo2eiOFsgJLcP1shb50 lRCYiIUpFaLwcmg9lliPRW4BdVXO25p5GPbyaqfm/0JaWLYfBlv/NpWMmPFb1/lGUlijv2 89Y3pNRQdMzYPy4EIDhleycGQKhld7hK3dsjEaCdSqZHFXES50V1wIPTZnMdaFpbDAk+H1 CmmiwJtqSkrLsJcI6wGUAt3PP3WnxSFXfjZqT74NfLuDXvcN2DpZq9YkZ/Y8Pw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733477594; a=rsa-sha256; cv=none; b=nbAfZ5BIHTRANZYGv2520E2EapWsIOba9S4N1watD1le9TNYCfvs7WDkLfwS3Bv8tKHhwk QUTVH3mkgPfxfJGSlHbvygl4d51rJR8hWoYvtA2FIAhTBz/EfNkQLUqLrEZz98raqT2w0j R1ramK2WXFmr7sUH9Pwg1FFYsn2fmzBWZahOcPfhRy3CDcbbBJMyqdQMJbsFZnsnACFQbw YReUqMOAkjRT8tlKdzQBfgBtm/AsxarEwp+tuLDizIEgCad9DksVh1QODIFj+PGH4U7Av7 zz6tdh0a1iSUf4AScW6bwV2LhrThypQPRAp5aMXe8gNN0RlohOctKS9HypgX4g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4QzY6l7NzYGq; Fri, 6 Dec 2024 09:33: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 4B69XDCV036844; Fri, 6 Dec 2024 09:33:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B69XDci036840; Fri, 6 Dec 2024 09:33:13 GMT (envelope-from git) Date: Fri, 6 Dec 2024 09:33:13 GMT Message-Id: <202412060933.4B69XDci036840@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Tom Jones Subject: git: f132be9bac5f - main - netgraph: Enable support for EIM NAT List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f132be9bac5f29e844e8dde4f3a70f4c3c158221 Auto-Submitted: auto-generated The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=f132be9bac5f29e844e8dde4f3a70f4c3c158221 commit f132be9bac5f29e844e8dde4f3a70f4c3c158221 Author: Damjan Jovanovic AuthorDate: 2024-12-06 09:31:58 +0000 Commit: Tom Jones CommitDate: 2024-12-06 09:31:58 +0000 netgraph: Enable support for EIM NAT Enable support for endpoint-independent mapping ("full cone NAT") via Libalias's UDP NAT. Reviewed by: igoro, thj Differential Revision: https://reviews.freebsd.org/D46689 --- share/man/man4/ng_nat.4 | 3 ++- sys/netgraph/ng_nat.c | 2 ++ sys/netgraph/ng_nat.h | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/share/man/man4/ng_nat.4 b/share/man/man4/ng_nat.4 index bf9ec4052733..20042db7a1af 100644 --- a/share/man/man4/ng_nat.4 +++ b/share/man/man4/ng_nat.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 24, 2021 +.Dd December 6, 2024 .Dt NG_NAT 4 .Os .Sh NAME @@ -74,6 +74,7 @@ struct ng_nat_mode { #define NG_NAT_PROXY_ONLY 0x40 #define NG_NAT_REVERSE 0x80 #define NG_NAT_UNREGISTERED_CGN 0x100 +#define NG_NAT_UDP_EIM 0x200 .Ed .Pp The corresponding libalias flags can be found by replacing the diff --git a/sys/netgraph/ng_nat.c b/sys/netgraph/ng_nat.c index e9de0e5b60c8..defbe817becd 100644 --- a/sys/netgraph/ng_nat.c +++ b/sys/netgraph/ng_nat.c @@ -967,6 +967,8 @@ ng_nat_translate_flags(unsigned int x) res |= PKT_ALIAS_REVERSE; if (x & NG_NAT_UNREGISTERED_CGN) res |= PKT_ALIAS_UNREGISTERED_CGN; + if (x & NG_NAT_UDP_EIM) + res |= PKT_ALIAS_UDP_EIM; return (res); } diff --git a/sys/netgraph/ng_nat.h b/sys/netgraph/ng_nat.h index 73f09459a84c..9b092b7749f0 100644 --- a/sys/netgraph/ng_nat.h +++ b/sys/netgraph/ng_nat.h @@ -53,6 +53,7 @@ struct ng_nat_mode { #define NG_NAT_PROXY_ONLY 0x40 #define NG_NAT_REVERSE 0x80 #define NG_NAT_UNREGISTERED_CGN 0x100 +#define NG_NAT_UDP_EIM 0x200 #define NG_NAT_DESC_LENGTH 64 #define NG_NAT_REDIRPROTO_ADDR (IPPROTO_MAX + 3) /* LibAlias' LINK_ADDR, also unused in in.h */ From nobody Fri Dec 6 11:42:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4TsJ0GR6z5g7bh; Fri, 06 Dec 2024 11:43:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4TsH6GKbz4vHt; Fri, 6 Dec 2024 11:42:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733485379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=67xYxCUqq4heHFCmgR7mEyJa38bH8UON8Kc85Ye/J/0=; b=aPt+9c8Ja2Tl2DQEsBi7bp1N9hWmF2dzao8ePzsjrzAOh/Eej7/2Sw6HZ9R5CWUMwnVqsw WGCGbjoBTM948kp0hmJRHYq1zmHmsHfncNIHPuGJqUj0Q2aEnl4Mx+cBJhQLETv7pWtxrC A5xKN09qYO0kQQ+gHrPynedmGGYPQOXgIbgjOArtRzm0lI8w/2/aagg7bnop/TsTC9BUk5 oUDt3bib1kRejLadA8N3knuqXQBMEB3C14t1p2Tc0LkhXUNuqkN130CvzUNafGuoRajFKQ rWAWSB2UkL3ZQldEwMhcrVj4GoWro6vyeKxc4WejmbL59klsAUnvroqNpVOo9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733485379; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=67xYxCUqq4heHFCmgR7mEyJa38bH8UON8Kc85Ye/J/0=; b=wo1suFKMYe5aDV70Qj22nUPfX4sVcJYZVantxFA7Y1SWdDsj2s1pBcLcakiAwDaxp/0uO0 cdlvtbZm9XKTzwTCP6u6wh74qJi+tRZRmsaDMzWF9OJk8BkU+O7955mGIt6vB2/m/aUMnG AGLRMKp11NeNlSvTL6+LVfzYu+k95m39FjkCp9R9xLoT6rerPakZbz08ALUkzQFRvXxzY7 7eMu/lv8xfr3ng9BbqU9s0JKH2NFv7W6VlmnGlSe0zUNBTjGqUQO+ZcECxgr4vrROrhKsr S0Umh8a6kzc+qC55NVH8tpSKEVpcklvkYGw5vN2WhxLgCX8Q7aIyCCaaGJiMLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733485379; a=rsa-sha256; cv=none; b=QFWGNdcPMe1boUjqpjvRT/Lnt8+zphp3fwfmdKTf8nzG/8KPSN2MXm9Nyx27nvLTyCEf16 X1ITwguwMYHpXMUFhZg29Nj3INx/4nqTEIbFRZL7th+rN/t7YYzSsJ3hfdI7YPnEg3ZMK0 M7O1UJTvsK9HwZbLULuGLWTiCZ6YmQYSV282KIGsfMRgC/+P8r19SVKfUeduNLJN9bfhpB IQq6lgg32nbTCCs555cGPGM2nox2pCrbjyg++pgQrqaHzHiLbN+Lg2Lij76ONSeGOorQYB vj0BdIb5MCS7u7SEPWr4mkhXbvG6rzXEVhMAuDylFjvL24gEu3K21KyjyCELWA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4TsH5rPtzbsG; Fri, 6 Dec 2024 11:42: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 4B6BgxPn077778; Fri, 6 Dec 2024 11:42:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6BgxR5077775; Fri, 6 Dec 2024 11:42:59 GMT (envelope-from git) Date: Fri, 6 Dec 2024 11:42:59 GMT Message-Id: <202412061142.4B6BgxR5077775@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: 5c623697d601 - main - sys/sys/kernel.h: Various whitespace fixes List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 5c623697d6011de63bc762560a648c09379e06d2 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=5c623697d6011de63bc762560a648c09379e06d2 commit 5c623697d6011de63bc762560a648c09379e06d2 Author: Zhenlei Huang AuthorDate: 2024-12-06 11:39:18 +0000 Commit: Zhenlei Huang CommitDate: 2024-12-06 11:39:18 +0000 sys/sys/kernel.h: Various whitespace fixes MFC after: 3 days --- sys/sys/kernel.h | 100 +++++++++++++++++++++++++++---------------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h index 71180008bdfa..0413be7e1f7e 100644 --- a/sys/sys/kernel.h +++ b/sys/sys/kernel.h @@ -84,16 +84,16 @@ extern volatile int ticks; * The SI_SUB_LAST value must have the highest lexical value. */ enum sysinit_sub_id { - SI_SUB_DUMMY = 0x0000000, /* not executed; for linker*/ - SI_SUB_DONE = 0x0000001, /* processed*/ + SI_SUB_DUMMY = 0x0000000, /* not executed; for linker */ + SI_SUB_DONE = 0x0000001, /* processed */ SI_SUB_TUNABLES = 0x0700000, /* establish tunable values */ - SI_SUB_COPYRIGHT = 0x0800001, /* first use of console*/ + SI_SUB_COPYRIGHT = 0x0800001, /* first use of console */ SI_SUB_VM = 0x1000000, /* virtual memory system init */ SI_SUB_COUNTER = 0x1100000, /* counter(9) is initialized */ - SI_SUB_KMEM = 0x1800000, /* kernel memory*/ + SI_SUB_KMEM = 0x1800000, /* kernel memory */ SI_SUB_HYPERVISOR = 0x1A40000, /* * Hypervisor detection and - * virtualization support + * virtualization support * setup. */ SI_SUB_WITNESS = 0x1A80000, /* witness initialization */ @@ -103,7 +103,7 @@ enum sysinit_sub_id { SI_SUB_VNET_PRELINK = 0x1E00000, /* vnet init before modules */ SI_SUB_KLD = 0x2000000, /* KLD and module setup */ SI_SUB_KHELP = 0x2080000, /* khelp modules */ - SI_SUB_CPU = 0x2100000, /* CPU resource(s)*/ + SI_SUB_CPU = 0x2100000, /* CPU resource(s) */ SI_SUB_RACCT = 0x2110000, /* resource accounting */ SI_SUB_KDTRACE = 0x2140000, /* Kernel dtrace hooks */ SI_SUB_RANDOM = 0x2160000, /* random number generator */ @@ -111,21 +111,21 @@ enum sysinit_sub_id { SI_SUB_MAC_POLICY = 0x21C0000, /* TrustedBSD MAC policies */ SI_SUB_MAC_LATE = 0x21D0000, /* TrustedBSD MAC subsystem */ SI_SUB_VNET = 0x21E0000, /* vnet 0 */ - SI_SUB_INTRINSIC = 0x2200000, /* proc 0*/ - SI_SUB_VM_CONF = 0x2300000, /* config VM, set limits*/ + SI_SUB_INTRINSIC = 0x2200000, /* proc 0 */ + SI_SUB_VM_CONF = 0x2300000, /* config VM, set limits */ SI_SUB_DDB_SERVICES = 0x2380000, /* capture, scripting, etc. */ - SI_SUB_RUN_QUEUE = 0x2400000, /* set up run queue*/ + SI_SUB_RUN_QUEUE = 0x2400000, /* set up run queue */ SI_SUB_KTRACE = 0x2480000, /* ktrace */ SI_SUB_OPENSOLARIS = 0x2490000, /* OpenSolaris compatibility */ SI_SUB_AUDIT = 0x24C0000, /* audit */ - SI_SUB_CREATE_INIT = 0x2500000, /* create init process*/ + SI_SUB_CREATE_INIT = 0x2500000, /* create init process */ SI_SUB_SCHED_IDLE = 0x2600000, /* required idle procs */ SI_SUB_MBUF = 0x2700000, /* mbuf subsystem */ SI_SUB_INTR = 0x2800000, /* interrupt threads */ SI_SUB_TASKQ = 0x2880000, /* task queues */ SI_SUB_EPOCH = 0x2888000, /* epoch subsystem */ #ifdef EARLY_AP_STARTUP - SI_SUB_SMP = 0x2900000, /* start the APs*/ + SI_SUB_SMP = 0x2900000, /* start the APs */ #endif SI_SUB_SOFTINTR = 0x2A00000, /* start soft interrupt thread */ SI_SUB_DEVFS = 0x2F00000, /* devfs ready for devices */ @@ -136,40 +136,40 @@ enum sysinit_sub_id { SI_SUB_DTRACE_ANON = 0x308C000, /* DTrace anon enabling */ SI_SUB_DRIVERS = 0x3100000, /* Let Drivers initialize */ SI_SUB_CONFIGURE = 0x3800000, /* Configure devices */ - SI_SUB_VFS = 0x4000000, /* virtual filesystem*/ - SI_SUB_CLOCKS = 0x4800000, /* real time and stat clocks*/ - SI_SUB_SYSV_SHM = 0x6400000, /* System V shared memory*/ - SI_SUB_SYSV_SEM = 0x6800000, /* System V semaphores*/ - SI_SUB_SYSV_MSG = 0x6C00000, /* System V message queues*/ + SI_SUB_VFS = 0x4000000, /* virtual filesystem */ + SI_SUB_CLOCKS = 0x4800000, /* real time and stat clocks */ + SI_SUB_SYSV_SHM = 0x6400000, /* System V shared memory */ + SI_SUB_SYSV_SEM = 0x6800000, /* System V semaphores */ + SI_SUB_SYSV_MSG = 0x6C00000, /* System V message queues */ SI_SUB_P1003_1B = 0x6E00000, /* P1003.1B realtime */ - SI_SUB_PSEUDO = 0x7000000, /* pseudo devices*/ + SI_SUB_PSEUDO = 0x7000000, /* pseudo devices */ SI_SUB_EXEC = 0x7400000, /* execve() handlers */ SI_SUB_PROTO_BEGIN = 0x8000000, /* VNET initialization */ SI_SUB_PROTO_PFIL = 0x8100000, /* Initialize pfil before FWs */ - SI_SUB_PROTO_IF = 0x8400000, /* interfaces*/ + SI_SUB_PROTO_IF = 0x8400000, /* interfaces */ SI_SUB_PROTO_DOMAININIT = 0x8600000, /* domain registration system */ SI_SUB_PROTO_MC = 0x8700000, /* Multicast */ - SI_SUB_PROTO_DOMAIN = 0x8800000, /* domains (address families?)*/ + SI_SUB_PROTO_DOMAIN = 0x8800000, /* domains (address families?) */ SI_SUB_PROTO_FIREWALL = 0x8806000, /* Firewalls */ SI_SUB_PROTO_IFATTACHDOMAIN = 0x8808000,/* domain dependent data init */ SI_SUB_PROTO_END = 0x8ffffff, /* VNET helper functions */ - SI_SUB_KPROF = 0x9000000, /* kernel profiling*/ - SI_SUB_KICK_SCHEDULER = 0xa000000, /* start the timeout events*/ + SI_SUB_KPROF = 0x9000000, /* kernel profiling */ + SI_SUB_KICK_SCHEDULER = 0xa000000, /* start the timeout events */ SI_SUB_INT_CONFIG_HOOKS = 0xa800000, /* Interrupts enabled config */ SI_SUB_ROOT_CONF = 0xb000000, /* Find root devices */ - SI_SUB_INTRINSIC_POST = 0xd000000, /* proc 0 cleanup*/ + SI_SUB_INTRINSIC_POST = 0xd000000, /* proc 0 cleanup */ SI_SUB_SYSCALLS = 0xd800000, /* register system calls */ SI_SUB_VNET_DONE = 0xdc00000, /* vnet registration complete */ - SI_SUB_KTHREAD_INIT = 0xe000000, /* init process*/ - SI_SUB_KTHREAD_PAGE = 0xe400000, /* pageout daemon*/ - SI_SUB_KTHREAD_VM = 0xe800000, /* vm daemon*/ - SI_SUB_KTHREAD_BUF = 0xea00000, /* buffer daemon*/ - SI_SUB_KTHREAD_UPDATE = 0xec00000, /* update daemon*/ - SI_SUB_KTHREAD_IDLE = 0xee00000, /* idle procs*/ + SI_SUB_KTHREAD_INIT = 0xe000000, /* init process */ + SI_SUB_KTHREAD_PAGE = 0xe400000, /* pageout daemon */ + SI_SUB_KTHREAD_VM = 0xe800000, /* vm daemon */ + SI_SUB_KTHREAD_BUF = 0xea00000, /* buffer daemon */ + SI_SUB_KTHREAD_UPDATE = 0xec00000, /* update daemon */ + SI_SUB_KTHREAD_IDLE = 0xee00000, /* idle procs */ #ifndef EARLY_AP_STARTUP - SI_SUB_SMP = 0xf000000, /* start the APs*/ -#endif - SI_SUB_RACCTD = 0xf100000, /* start racctd*/ + SI_SUB_SMP = 0xf000000, /* start the APs */ +#endif + SI_SUB_RACCTD = 0xf100000, /* start racctd */ SI_SUB_LAST = 0xfffffff /* final initialization */ }; @@ -177,16 +177,16 @@ enum sysinit_sub_id { * Some enumerated orders; "ANY" sorts last. */ enum sysinit_elem_order { - SI_ORDER_FIRST = 0x0000000, /* first*/ - SI_ORDER_SECOND = 0x0000001, /* second*/ - SI_ORDER_THIRD = 0x0000002, /* third*/ - SI_ORDER_FOURTH = 0x0000003, /* fourth*/ - SI_ORDER_FIFTH = 0x0000004, /* fifth*/ - SI_ORDER_SIXTH = 0x0000005, /* sixth*/ - SI_ORDER_SEVENTH = 0x0000006, /* seventh*/ - SI_ORDER_EIGHTH = 0x0000007, /* eighth*/ + SI_ORDER_FIRST = 0x0000000, /* first */ + SI_ORDER_SECOND = 0x0000001, /* second */ + SI_ORDER_THIRD = 0x0000002, /* third */ + SI_ORDER_FOURTH = 0x0000003, /* fourth */ + SI_ORDER_FIFTH = 0x0000004, /* fifth */ + SI_ORDER_SIXTH = 0x0000005, /* sixth */ + SI_ORDER_SEVENTH = 0x0000006, /* seventh */ + SI_ORDER_EIGHTH = 0x0000007, /* eighth */ SI_ORDER_MIDDLE = 0x1000000, /* somewhere in the middle */ - SI_ORDER_ANY = 0xfffffff /* last*/ + SI_ORDER_ANY = 0xfffffff /* last */ }; /* @@ -216,10 +216,10 @@ typedef void (*sysinit_nfunc_t)(void *); typedef void (*sysinit_cfunc_t)(const void *); struct sysinit { - enum sysinit_sub_id subsystem; /* subsystem identifier*/ - enum sysinit_elem_order order; /* init order within subsystem*/ + enum sysinit_sub_id subsystem; /* subsystem identifier */ + enum sysinit_elem_order order; /* init order within subsystem */ STAILQ_ENTRY(sysinit) next; /* singly-linked list */ - sysinit_cfunc_t func; /* function */ + sysinit_cfunc_t func; /* function */ const void *udata; /* multiplexer/argument */ }; @@ -238,13 +238,13 @@ struct sysinit { #ifdef TSLOG struct sysinit_tslog { sysinit_cfunc_t func; - const void * data; - const char * name; + const void *data; + const char *name; }; static inline void -sysinit_tslog_shim(const void * data) +sysinit_tslog_shim(const void *data) { - const struct sysinit_tslog * x = data; + const struct sysinit_tslog *x = data; TSRAW(curthread, TS_ENTER, "SYSINIT", x->name); (x->func)(x->data); @@ -263,7 +263,7 @@ sysinit_tslog_shim(const void * data) sysinit_tslog_shim, \ &uniquifier ## _sys_init_tslog \ }; \ - DATA_WSET(sysinit_set,uniquifier ## _sys_init) + DATA_WSET(sysinit_set, uniquifier ## _sys_init) #else #define C_SYSINIT(uniquifier, subsystem, order, func, ident) \ static struct sysinit uniquifier ## _sys_init = { \ @@ -273,7 +273,7 @@ sysinit_tslog_shim(const void * data) func, \ (ident) \ }; \ - DATA_WSET(sysinit_set,uniquifier ## _sys_init) + DATA_WSET(sysinit_set, uniquifier ## _sys_init) #endif #define SYSINIT(uniquifier, subsystem, order, func, ident) \ @@ -291,7 +291,7 @@ sysinit_tslog_shim(const void * data) func, \ (ident) \ }; \ - DATA_WSET(sysuninit_set,uniquifier ## _sys_uninit) + DATA_WSET(sysuninit_set, uniquifier ## _sys_uninit) #define SYSUNINIT(uniquifier, subsystem, order, func, ident) \ C_SYSUNINIT(uniquifier, subsystem, order, \ From nobody Fri Dec 6 11:43:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4TsK0HC7z5g7ND; Fri, 06 Dec 2024 11:43:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4TsJ6wyXz4txc; Fri, 6 Dec 2024 11:43:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733485381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qJVUVoVzLlGGR+qxjcufR0MmnDeltRZPdo3mIHFjlcs=; b=R2DW2RXY0tmfHcVOGiXl4FxnqxWI6uDIa+StWIQc58NVZtb/JBawL2MS00+XClLzgq4/WR CNxgM+pfyUhk9ACxAknBuoW9s1vmQiSW7uBGd9d94sOZHxUjZTNCl76ngScVnA7D6+JcWO SFyN5l/Rr+2HCEhGvk1y6OWrWToapzg4gaxRVOBk024JEuHACsD1/dxVLgTURQsM0fjhl7 me6nKji9UBK7UQC49niReBfKVi32as4BQD3De+LxWcqM195G+yox3cBVIp3xOvMcr+5xjd BNiafJUW2WFM9kefDz12y+/LXO7pdVhrFgINksFtRv7DAjjzV27B0lmIS7bfbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733485381; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qJVUVoVzLlGGR+qxjcufR0MmnDeltRZPdo3mIHFjlcs=; b=f/Y/N04SX+54MGLHrbMfm1Klp6OZLYrfWArGhgHxWoD+FQBdRDKFPwNkQGbGpNM9WPY+lK 2zm7XiaJ1liFcsU2ED1P3gcZCaeKT2sXfnTeNV9Kaxj15bSX9xAWCS/SpTC+WEoUCoS+QD GI+45jtGep6TuCEcNuLVTcHlGtAWasiEGrJjztqvnN4+EqR2/41NZXATnu0fYDpp0pLpyN ir1rXqJbU1HenFvPnz7cRSkzzM4XGG7GvtzJ0hTSvM5C2T/qomUBbuOXO3C05yd5XwQh4A QlLOuYilsCPgeu3141GOmtYhl7fMlgHDfIKkfXLbBQ4silHRSX9fxcaxq6YP7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733485381; a=rsa-sha256; cv=none; b=xD6bccip2G2qee917Oj3AJ7olXModKsdJVTA7HV/Q0PN7n3smk+nsiEs7HQnS5qznvSiWQ ypY8HER7hOHl/qgGwHtm2SOu3l5b2OjTj9gTUxNpGg15yNdc0kO8mdhmq9B41qqn7nyFJ5 q7xAcn62Fo77hH5PaNDpf+We5gz/sdCZGcemoBB0BlYWeSzAolIDVbXihKeESsOuBjMQYK 6d+gbMlnQOQCs1nkLhUjI/daguAoQbsrNdpUni/Jl8QrcXN/poLJx7FStgjWdyXS6efgAl HzALh1uEDBeiKytMUD+G+ke4UM3uy5DzVn3nPyEpv3crn3ND108j8kVVRnf99w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4TsJ6XBgzbsH; Fri, 6 Dec 2024 11:43: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 4B6Bh0UV077827; Fri, 6 Dec 2024 11:43:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6Bh0DG077824; Fri, 6 Dec 2024 11:43:00 GMT (envelope-from git) Date: Fri, 6 Dec 2024 11:43:00 GMT Message-Id: <202412061143.4B6Bh0DG077824@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: 99f7c0550433 - main - git-blame-ignore-revs: Ignore 5c623697d601 in blame List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 99f7c0550433782cd228b518173cca5d23998c36 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=99f7c0550433782cd228b518173cca5d23998c36 commit 99f7c0550433782cd228b518173cca5d23998c36 Author: Zhenlei Huang AuthorDate: 2024-12-06 11:41:34 +0000 Commit: Zhenlei Huang CommitDate: 2024-12-06 11:41:34 +0000 git-blame-ignore-revs: Ignore 5c623697d601 in blame --- .git-blame-ignore-revs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 025af986df7c..10738c9c633b 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -8,6 +8,8 @@ # # This file is sorted in git log order (newest commits first). +# whitespace fixes for sys/sys/kernel.h +5c623697d6011de63bc762560a648c09379e06d2 # style fixes for iflib fa7045f99cdb2b699205653f42f3fe78597880a7 # remove stray whitespaces from sys/amd64/ From nobody Fri Dec 6 13:48:23 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4Xdz6rypz5gHwX; Fri, 06 Dec 2024 13:48:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4Xdz6LdZz45P3; Fri, 6 Dec 2024 13:48:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733492903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TZvkq1YkKo2RMmfpmxeQivc3YL2gYR+Cd5iUiZu0wy4=; b=Z67cfQ/+/HfOGS4FimnnQbjFBf2qmmX55//Mmdrxf3EmU9+vjdl/+QZBozfazkr1KzdpKM Fy90TknvadbJ9DIsWZdedeT1943RpmkmLvNDR8sB3wC+Sq0cDHePUgGUMKYCB3UzGmj5Ko V7C6PZ6Dps8W15wYQAQfJ75NP+nRI3qQ2winESDSAmRawpHlbqf0FD7E3N7es/R9oMtok/ l1sUza022hUBJmW+6wtA6UM3ZKXo/jlalHjtiThxlmRbLO2+ZAW698gdXos07tvPBtjzcY 57ad9ejvt2TJFp842DtMwXFiNePEGaqY0gKcYnBCIrgdvKmejVJmQDdJcEZdAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733492903; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TZvkq1YkKo2RMmfpmxeQivc3YL2gYR+Cd5iUiZu0wy4=; b=tb9pQixrvNvy1eNzi17oaoOGW0j2omx5hSt+gnAS2g6v+5Mes5IDLXoRxQwO5ZJiKQLKaC lCtKPnsNXT1PUBpYY3f/dYv8utR9sNciz0kPrBjRlzNN4UKt2CLpIo2D2/DyNcrerAfE1b 9iwLeCYsMqHbP6xat2YWJq455iAvHjXh8IBHJYeuHqnpL7lF6QVQHDIIGjDsu5kH7Lw44S z78eBc9e7OaaSu0yWPkvTmrgcYPYTItLDMKDhIiEkDanJ/VPBvQ0dzYqpQQ5OMBWrdU5bc 7Qe9+y23sOsSI/9REQvwnVZXcxqEwk4HVJFH0l7ROEcnL79on30pthuyOU1dUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733492903; a=rsa-sha256; cv=none; b=CWcezajnsk7Gsq5tObKqLpVYUH0lebN4uo6ZrpRhmukuw6mp8eWh+Bm+uaiiw+5gZMoR+R VwNXx2WhmvgOtOzFvNzCa0oTHM0sNdgI4DmWfGkC4fIwYumXag3yUduPxiVD61lRDnfj8t gviknpcvPnzqxH3AjD/GtOmeW8txeQYfHlR6rIl4xsk8yPw9liw9/jHSCblUGze+s1bTic AEoGvGd0dJrpKkTiuGR+ceI7HuTSMAfI1GbiJPBlSkdVn1nm28EfAjWviQkLIm/1mbZeuD GqpKhEGWAIomQNtHI2SzFuFtyXZLNKn4ARDYZJQeT/Z7oKrGjIcuzvgqj4HkBw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4Xdz5rF8zfts; Fri, 6 Dec 2024 13:48: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 4B6DmNEP002182; Fri, 6 Dec 2024 13:48:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6DmNYG002179; Fri, 6 Dec 2024 13:48:23 GMT (envelope-from git) Date: Fri, 6 Dec 2024 13:48:23 GMT Message-Id: <202412061348.4B6DmNYG002179@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: a7cfcb264512 - main - init_main: Use TUNABLE_INT_FETCH to initialize verbose_sysinit List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: a7cfcb26451219d6f4e60c486c855adeea288397 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=a7cfcb26451219d6f4e60c486c855adeea288397 commit a7cfcb26451219d6f4e60c486c855adeea288397 Author: Zhenlei Huang AuthorDate: 2024-12-06 13:46:55 +0000 Commit: Zhenlei Huang CommitDate: 2024-12-06 13:46:55 +0000 init_main: Use TUNABLE_INT_FETCH to initialize verbose_sysinit It is too late to initialize verbose_sysinit via TUNABLE_INT, as TUNABLE_INT runs at the order of SI_SUB_TUNABLES, thus any subsystems those have order prior or equal to SI_SUB_TUNABLES are not logged. Reviewed by: kevans Fixes: c7962400c9a7 Add debug.verbose_sysinit tunable for VERBOSE_SYSINIT MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47907 --- sys/kern/init_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index fed5340695cf..d6056d863b77 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -138,7 +138,6 @@ SYSCTL_INT(_debug, OID_AUTO, bootverbose, CTLFLAG_RW, &bootverbose, 0, * - 1, 'compiled in but verbose by default' (default) */ int verbose_sysinit = VERBOSE_SYSINIT; -TUNABLE_INT("debug.verbose_sysinit", &verbose_sysinit); #endif #ifdef INVARIANTS @@ -270,8 +269,9 @@ mi_startup(void) /* Construct and sort sysinit list. */ sysinit_mklist(&sysinit_list, SET_BEGIN(sysinit_set), SET_LIMIT(sysinit_set)); - last = SI_SUB_COPYRIGHT; + last = SI_SUB_DUMMY; #if defined(VERBOSE_SYSINIT) + TUNABLE_INT_FETCH("debug.verbose_sysinit", &verbose_sysinit); verbose = 0; #if !defined(DDB) printf("VERBOSE_SYSINIT: DDB not enabled, symbol lookups disabled.\n"); From nobody Fri Dec 6 13:48:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4Xf10BYWz5gJ0J; Fri, 06 Dec 2024 13:48: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4Xf06ts4z45Hw; Fri, 6 Dec 2024 13:48:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733492905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ot6c2s7xUmympdz3hiRAS3JmwH/i9apwBwvOvCGpE8Q=; b=I6bXZ9XT9XmdCpvjicaE5I4b8jHm6BO5kLpviz85G1Fd2K2szQ2V6svISFY46v1G2KgGJh W6ednDAnQ+VV0dHI4u4wXH031HSs6AGA0fBR2CKBo3WTQQOK5bQ318g8aiAkR2cMqtaBR7 GCXWRskodMw3sfEbPXPwyyzWwMp5Jj5IUHOg1b2JfxljWaEUuCIFKmqcGedNbmNisfWqTb KNVtkwdvSLsj3WZaS7Lpmk2ehzNLnKXIOG0MhFEPOQUUosOW4xTdP0MDDIRKtdafqrnm5W FQZfWAoOZtMoRAXOiUWkBtp+kn/gM5cmsBU9Ol2PuKjtItWs5Vh8APB9Js1xKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733492905; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ot6c2s7xUmympdz3hiRAS3JmwH/i9apwBwvOvCGpE8Q=; b=GDYiKcPCHTJaiXtX/QsNxGui0zHmt8hBa6r6YEIBhblVcovxBG3q+llai3LiF8U/iXtlSV g+ECr7sqrUgDJAhXDi/XhIz9PT1NE3KxWGNfOVolNSy184naoxIAus8XgyLrkULZktKJaF iV1Nu1yitxn0uGn0J04suYj5cbQqvOAABcXPcgdyHlhubHla4mtjvEkEj/YvLh3M6Xbo9L LUL8HXsC09LtK7s/1pSkcn5XVQ/4bnxWTifS3fOCvJ9EnKQ9bCRvrIi5ULLGRgICFu4noG 7OKvdM7FwXoEA8fp+JFuah18ohD1tr7ZIq0wXPDI12NozYFi1w/3pMV2T3Cy9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733492905; a=rsa-sha256; cv=none; b=HbA5LAmuDXmT7AtDZMuHZYtfDIwMLfXpuqefomX5p8IJgGO6wpiC1Q0erK3dPfdp5MgppW nBkasbyx5Oa+0q9/ReZh+eTeFtd4XiAGKKqEhLisHseW2UjCOgI0dzG5XBZRzQfUF6BzUS sdJUw31aVA3WAy1PPTc/QjeonlMcZS2Li+mKcamY+IQx+G8MF9yUYbYF0ZUE8F1TvhzlIl PngZJ9tWx7kDks7d+x7lhsH9kc180tnMSxEELLG+qzVINW3F5NhxaWlxPln4OboZhSCspm 7Zfm2WVyKvxPDLINnON1ZJHgKReB48FKCC6OU8JnoSfGw2mDo3V00U5uRmAjuQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4Xf06WZ9zgR4; Fri, 6 Dec 2024 13:48: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 4B6DmO5d002230; Fri, 6 Dec 2024 13:48:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6DmOXn002227; Fri, 6 Dec 2024 13:48:24 GMT (envelope-from git) Date: Fri, 6 Dec 2024 13:48:24 GMT Message-Id: <202412061348.4B6DmOXn002227@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: 5997b1933142 - main - init_main: Fix logging of the SYSINIT process List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 5997b1933142116041af7549eb2f450b4714b823 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=5997b1933142116041af7549eb2f450b4714b823 commit 5997b1933142116041af7549eb2f450b4714b823 Author: Zhenlei Huang AuthorDate: 2024-12-06 13:47:06 +0000 Commit: Zhenlei Huang CommitDate: 2024-12-06 13:47:06 +0000 init_main: Fix logging of the SYSINIT process The current subsystem, aka `sip->subsystem`, should be logged, rather than the last one. Reviewed by: mhorne Fixes: 5a8fceb3bd9f boottrace: trace annotations for startup and shutdown MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47903 --- sys/kern/init_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index d6056d863b77..36ce44b988be 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -298,7 +298,7 @@ mi_startup(void) #if defined(VERBOSE_SYSINIT) if (sip->subsystem > last && verbose_sysinit != 0) { verbose = 1; - printf("subsystem %x\n", last); + printf("subsystem %x\n", sip->subsystem); } if (verbose) { #if defined(DDB) From nobody Fri Dec 6 16:16:22 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4bwl1SVsz5gVH2; Fri, 06 Dec 2024 16:16:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4bwl0vbmz4PH9; Fri, 6 Dec 2024 16:16:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733501783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vw7poP135z+8VucbEbEfdUsEq5O04jfeyTugi4xH3YE=; b=D34yjcFgCnA1GBDtJP1bWtUn2gq1lIcMN7FcynHO5mSDsm+wDxpc4W+dOJZmOZaylZq1jT 36o89Nl6sGHIeg8oZt/P8uQH7PauQXBG/vZhQKNASIV298NtFkbFPRIpIexdC0/rXv3t3+ MPk4PVNDZ/euAmakpMfUbo4eoCBzxcg4HBrXBi5eroDJ323mbeZcps38vBb6OpjSsHlfGi ZoBIdn9GR3ZAHlX+HJsM+7Vzlrz+3pL5ANORbwttGhaY9CE74dD09E7Cac6dDyVyihKBoL Uv8FaOp4Cobbv2jPX/C2Xo4sGNPAd3aYsWnE5yXiTGquE53W5kbuOWcr4Jq6uQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733501783; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Vw7poP135z+8VucbEbEfdUsEq5O04jfeyTugi4xH3YE=; b=oFVGQPl3zaMMIiJ/tNtpgnCugOYSR7ipsFw5TVym7LjMkjcm9GVy9FNvHWA3kncrkA1UWq Somp/Ktv7LvxkZQSXlfvGL0mU027UN3X6tta2mRah5ow52r6w1qlOVp1PhyvOl+E937BJw clBRQvJNGouJ/p16jkEwk5JradX6tS9oqqEAJ/x5kkRBJyZlOvXsi/RiYVGnea5uJh03nB NyNnZ4UJMqF93CoyiSXVn4PWFG68GGSrK2WHcI+TZd+Ua0RjaK0FhMjPDqX2TO1bhTwHTu RVRCW1v4T9v1Mxe4jgeX0+/yIy8UgB9xGcyHaiH5xj70W2g+AqVFo8F7YgHJTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733501783; a=rsa-sha256; cv=none; b=RL67SYLEq2CLe8XuKrcnsmrxbetc7ajRIhQJSVcYyACH9lx2jBQrfZYjzcmORHN/xLxLwr SS14a07aIsLK8BonBQBP4jW+lWRV20YCqPFsXHtl7P6MlcQverRCQHRWMY5raMjqVAnSx8 8Qh93Axup475K8MCJXJh7EjZn/fuiK0eLLS06ZMkpi+QuRuPnZzaTMqZgBhxJuOwtbgdeo H1nmdJKltc3jg8Qvc85dXXIhAhwAo5aivqCcs0fzxH4qXgRlVKJl7MA0c3dbGZhpfILKgF WlQWNeLhhBD+6PdCU7BGa62iETko7gfVTriTjUm7RWa76hhuDwruimJzRroZGg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4bwk75RZzkXm; Fri, 6 Dec 2024 16:16: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 4B6GGMIX082076; Fri, 6 Dec 2024 16:16:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6GGME1082073; Fri, 6 Dec 2024 16:16:22 GMT (envelope-from git) Date: Fri, 6 Dec 2024 16:16:22 GMT Message-Id: <202412061616.4B6GGME1082073@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: e7aec3ccf759 - main - nvmecontrol: Fix minor usage typo List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e7aec3ccf759dcd3fe56ae2bdbec92839c166160 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e7aec3ccf759dcd3fe56ae2bdbec92839c166160 commit e7aec3ccf759dcd3fe56ae2bdbec92839c166160 Author: Alexander Ziaee AuthorDate: 2024-12-06 16:13:53 +0000 Commit: Warner Losh CommitDate: 2024-12-06 16:14:07 +0000 nvmecontrol: Fix minor usage typo PR: 282930 MFC after: 3 days Reported by: Gian-Simon Purkert Reviewed by: imp, jhb, emaste Differential Revision: https://reviews.freebsd.org/D47726 --- sbin/nvmecontrol/format.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/nvmecontrol/format.c b/sbin/nvmecontrol/format.c index d1ce0fc4645c..16699605ea8c 100644 --- a/sbin/nvmecontrol/format.c +++ b/sbin/nvmecontrol/format.c @@ -73,7 +73,7 @@ static struct options { static const struct opts format_opts[] = { #define OPT(l, s, t, opt, addr, desc) { l, s, t, &opt.addr, desc } OPT("crypto", 'C', arg_none, opt, Cflag, - "Crptographic erase"), + "Cryptographic erase"), OPT("erase", 'E', arg_none, opt, Eflag, "User data erase"), OPT("lbaf", 'f', arg_uint32, opt, lbaf, From nobody Fri Dec 6 16:48:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4cdF1vrhz5gXHF; Fri, 06 Dec 2024 16:48:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4cdD6hnNz4V5c; Fri, 6 Dec 2024 16:48:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733503680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gmA+SDBr5K+Tp6MjPV6RFfId1b3P99sFipZswojFnR4=; b=BVkLpLVmXahjAWqz7gDcTXfNeeoD3etCFFovtq2CqYLSOguWvGZwOLdc9vkhnViJ/d+s5t i77E4fXA2tlgpEPaIHV1r9GXh0KvRx8fsSOIBa5McHHuCJgkVzQR2dbtfEPPG/nDpj/kWh 587cGbfVbKLI7qcFpohU9RxE7eOA4CtDspOkuMWnHBRMQGhoiX4n1p0SJV0slkEhW9y40A DOQ7AuXWR5sSisWSZ4hmhijRMsNRV73j6oFqqQ2fDHCH7D1X0VwuRSx8zcyfWCJtDkmbi3 nmGF+5rIB3V3KylWgDX66qjOCFqEZk12QfWDspj1NTT+bXpcpugV0hisxULgwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733503680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gmA+SDBr5K+Tp6MjPV6RFfId1b3P99sFipZswojFnR4=; b=DulLY3yAPrxXSm9FXqCX+VOONf4u7inEdtgOc6QCsOqGHNFHHQIE/lxVa+QMHwCblb5LtE v7jxKlICkX66VdHbuYt4AU1e4TSvC629Px7AMgP2+CwYOVxn/NLJOzwZ+d5NqyGhpYpXia z22bAqlkMX7Q3SjLERigHE8+B1uEhF5ABR0AWErgSYgCaw/kyopQxp8UC6J7OrB5CS2Jy7 w3VPqttrACrlnorHBFFAjA10O3RWS3WmL476m43aOaApsZP/4Wk1gyfGrFUHJW+ofyhvgy aekVK62oBdzh/DKMcv65WGWrZSow1Rrn4JKC1norzXL2RL2q+iRcHvpYaHn5VQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733503680; a=rsa-sha256; cv=none; b=rwJTDHWaZiJyROCIUD8j0sGfW746R239eK7iCkh3J3DemlyEu+tPn1Oy9TSoH/jPnuQS8X idnGUC0MOoKhlPJxnhmyGRz3pW6HvCWaIwpaW3D3+KvQ7yZvwZE2YXDXKsraRVITpHhd78 INmLosXKge4iRD6y1goqssCMU6mWrELnSBTf+HtzbBfSldNh9pttbJkAn76bwXdHSI56Te 6iIjJ0UwPYZUP5ZD5ldAMegHEdWNFRGfv74noqlAoflXxoMSlm0YygBT3jKyYxEbpd8tH3 flCLbkhZQGmTEelf8fSY9YcTe1x8yZEVDsA6mrwkuGZeUHO/HDLwSfVfXoBEvA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4cdD689KzlXK; Fri, 6 Dec 2024 16:48: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 4B6Gm0rV037267; Fri, 6 Dec 2024 16:48:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6Gm0eq037264; Fri, 6 Dec 2024 16:48:00 GMT (envelope-from git) Date: Fri, 6 Dec 2024 16:48:00 GMT Message-Id: <202412061648.4B6Gm0eq037264@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 07d78399eb79 - main - pfind(9): Update to recent behavior List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 07d78399eb7994d45338f58a331dae9fb8fe1023 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=07d78399eb7994d45338f58a331dae9fb8fe1023 commit 07d78399eb7994d45338f58a331dae9fb8fe1023 Author: Yan-Hao Wang AuthorDate: 2024-12-06 16:23:35 +0000 Commit: Warner Losh CommitDate: 2024-12-06 16:47:31 +0000 pfind(9): Update to recent behavior The pfind(9) manual page in FreeBSD contains outdated content, such as references to zpfind() and the zombproc list, which have already been removed. Instead, there are new functions available for process search, as defined in sys/proc.h: 1. pfind_any(): Finds a process (including zombies) by its ID. 2, pfind_any_locked(): Finds a process by its ID like pfind but doesn't find lock the process hash bucket. It assert the process hash bucket is lock or not. In the current FreeBSD implementation, the allproc list is used, and the `p->p_state` field can determine whether a process is a zombie or not. I have attempted to revise the pfind(9) manual page as shown in my patch. However, since English is not my native language, the documentation team may need to refine my patch or not use it. My primary goal is to highlight the outdated content for correction. [[ imp fixed a few markup bugs, tweaked language a little ]] PR: 283091 Reviewed by: imp --- share/man/man9/pfind.9 | 49 +++++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/share/man/man9/pfind.9 b/share/man/man9/pfind.9 index 48e34d65d6ab..ebcf7a565150 100644 --- a/share/man/man9/pfind.9 +++ b/share/man/man9/pfind.9 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 11, 2001 +.Dd December 3, 2024 .Dt PFIND 9 .Os .Sh NAME @@ -34,7 +34,9 @@ .Ft "struct proc *" .Fn pfind "pid_t pid" .Ft "struct proc *" -.Fn zpfind "pid_t pid" +.Fn pfind_any "pid_t pid" +.Ft "struct proc *" +.Fn pfind_any_locked "pid_t pid" .Sh DESCRIPTION .Fn pfind takes a @@ -47,36 +49,39 @@ is on the .Va allproc list. .Pp -.Fn zpfind +.Fn pfind_any takes a .Fa pid as its argument. -If -.Fn zpfind -finds a process whose PID is equal to that of argument -and is a zombie process, meaning that it must reside on the -.Va zombproc -list, -.Fn zpfind -returns a pointer to that -.Vt proc -structure. +.Fn pfind_any +searches the +.Va allproc +list and returns the first process whose PID matches and whose state is +.Va PRS_ZOMBIE . .Pp -Both -.Fn pfind +.Fn pfind_any_locked +is similar to +.Fn pfind_any +,but it does not lock the process hash bucket +for the given +.Vt pid . +Instead, it asserts the corresponding process hash bucket is already locked. +All three functions +.Fn pfind , +.Fn pfind_any , and -.Fn zpfind +.Fn pgfind_any_locked lock the .Vt proc -structure that is returned using -.Fn PROC_LOCK "p" . +structure before returning. .Sh RETURN VALUES -.Fn pfind +.Fn pfind , +.Fn pfind_any , and -.Fn zpfind -return a pointer to a +.Fn pfind_any_locked +return pointer to a .Vt proc -structure on success and a +structure on success or .Dv NULL on failure. .Sh SEE ALSO From nobody Fri Dec 6 16:48:01 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4cdG0kn9z5gXFB; Fri, 06 Dec 2024 16:48:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4cdF6wsnz4V6d; Fri, 6 Dec 2024 16:48:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733503682; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mvrb6LBjAtxFicrPJKMpX2ia0H2o+MGSkurOC1+/6aI=; b=XGTlchDp5XInBTBGWiKF7TK1kcXI4Wjfm9Bn+FWlYhSei/f54JiHdcGbOTnN/0DZT+dMZB tdvwplyHLgIsiOxHdylzUeJFIBhd/uXzwEczG0LgzgN3fmq0XzNNj5EJRilt0hLqaraLYQ MAjPkHqh0jJOdwT5o8SXTB9XPBVrMqsioAnM0EfhtC5Zl00pBr5UvJJRscOu67Z/PiSlbq oC/MYbPqypCkBYGDhJ/DEMZNiAmTjQo3EKzoimlEiZtgAGgjulyzskpwqgWa0x+05Z1+cJ Qb5F3vxAW3dEzsbCsvhUVOFenSoNkR1v49jjqrVfpmGSqAP+Rgu8z8frqjfLRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733503682; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mvrb6LBjAtxFicrPJKMpX2ia0H2o+MGSkurOC1+/6aI=; b=oGQ4MLKWGzm9WupKRejA/blKnlsfon5IQUCUzOAsv389fcN/UNsmF/5oybxDxh3sQ42kof jAxvP6NYinUtG5HfC4xw9SmDV8dQtj0yvYgxBkyRNv5QWtlL+bvE+8Nef6CCxN7dU1plAX m0kmWBrv1cryGQkO6/vLD3oN2TuvhrvYmXIYg/hOoi1SuaK/lkDw1KXrzF9kuAytfoum3d 1zbLWS7wjXQ+7uULq+ZuMw2actYZe1MDM9nG4QNpdhaqc/hoBX2PfdtAC8GNBxo58rKI+v W/TC3SeYxcug7ITTO+XHYch/QAf7jsuVLV3XGJVjGeLjeU6+NNl7xWm+Ya/DUw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733503682; a=rsa-sha256; cv=none; b=FNnGgTz7X39FW9v7qt2RCKTkzOcU56n9A5NYQnZAZo7Ku0XRyl9+4Cshfi4LFi8bWZjXCj 61OZoS47IPWQljytfOP1o6Hr/V5U4iRpllVv7UoBpEFdpdwX1gZIuskA+ACgxRXzkKKKR3 piHX2b++ooQcfFbdl1AKkh5BMeTLJig/6YV2OCSNp1FUw/rk1fg1L5BCbo/8XCC/4aERes P8WZo5YA/lImE2sLH4lXlEazaiG+r7SfK8RQSC36DMFJfsbTkUN5L2ZZLl1RhAnLUOJIvR iXmi02lEP6MCu5rugnpxrQ0QVqvGk7F7+IC5EdWMf2eqeOkbjAjMX6lSHJu/TQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4cdF6XHFzljS; Fri, 6 Dec 2024 16:48: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 4B6Gm14I037303; Fri, 6 Dec 2024 16:48:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6Gm1o4037300; Fri, 6 Dec 2024 16:48:01 GMT (envelope-from git) Date: Fri, 6 Dec 2024 16:48:01 GMT Message-Id: <202412061648.4B6Gm1o4037300@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 509300e1ffbe - main - pfind: Fix coments List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 509300e1ffbe71a6f6608fa188dbcfe4ae1fbbdf Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=509300e1ffbe71a6f6608fa188dbcfe4ae1fbbdf commit 509300e1ffbe71a6f6608fa188dbcfe4ae1fbbdf Author: Yan-Hao Wang AuthorDate: 2024-12-06 16:46:38 +0000 Commit: Warner Losh CommitDate: 2024-12-06 16:47:40 +0000 pfind: Fix coments PR: 283093 Reviewed by: imp --- sys/kern/kern_proc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 032bea6cfc9b..77ae6cbddea5 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -412,7 +412,7 @@ pidhash_sunlockall(void) } /* - * Similar to pfind_any(), this function finds zombies. + * Similar to pfind(), this function locate a process by number. */ struct proc * pfind_any_locked(pid_t pid) From nobody Fri Dec 6 17:31:59 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4dc52SnFz5gbGW; Fri, 06 Dec 2024 17:32:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4dc52Jstz4hVj; Fri, 6 Dec 2024 17:32:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733506325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0aUcQSJoUGAY/txNZw14xuyjDdAF6bRcJ9aqgb5ojzI=; b=TFEouzwm3JkZqgTjEVMYAnF83iwHn9i4D43chp4wY7MefTs89CdBf6pXoiy7tAzMChIC24 /5+76oDF3fTGr6MNbz4jcVzOmhJPrT4oa4L4CMJKjbzraXmr/0aNM/uinUaiBqJrtHTakd zjmLA7frlz1jnhs5/Bu9QxSWew7YJ2uaRPXINQTZvTZzmiCgHVXPDyx8F2rJZQDgNlFrvQ ZslG19HcN89C3OY8a81LUir25Zw8I7RoaVB7UaMVHNDgabunYtfNbehK0/16t0UOnPRvYf JcIp0HUUkpic7iY6YNTE963z6UFXgWlETtF9bdK/f2CzroiHmk+7Y6UiaDDFEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733506325; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0aUcQSJoUGAY/txNZw14xuyjDdAF6bRcJ9aqgb5ojzI=; b=iOF30YRTfAgV8dZuSk0YqlbbcR5OADvfdYlwaC+JrpiSWZIWPUyjAza3MOiJboD6ifIFDA UYoBCiMUPxB5Gr5hrMheeYWGFNTkHEapox/n+6/B2hoJpkUMhMGIlCe6MdDoo5pVH+rI+6 Rfz4ojlkohLXOmeCYZ874pedVYYd++W3M77cOZG+VOcpW/q8EHb5aPpkcZnN2n3/uVopJY 0bWS2rP8vRu6tUvHA9cDfGfVW2m5Df7helvDgeEq32Ix1Ux3OWYd2OdTEeNhFEfRxUPK6w zuJ/jVSgInqhVrhPgnuwUUIoe/26Y98SqaHhrr8QHtdPU6qjpVGQG/QMknRWyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733506325; a=rsa-sha256; cv=none; b=kfGwbumvUtmib6EdO6JZrEktc27oPJdvzrio3c0CNrO9KFqVKCU1WQUI2+oK/K2E3JuSys CZ+1Fir55GdFKI/sJiUR3gKbeHcIhmcO5TetQYBVhOpP1wfmNC+rQH25JomaU3ZUaG8qDQ EMDFJgA/W52LrErk50RzqhiqTQd46f5cUgC+Fk4nWUerq7WDy88af+Q2uP0SSNmT1MxHzf qKHZwRG9em7VByDpomuv+9FtgwRdAum3pk/7T2TuigNxij7rrcbqrhb4lLf7q3Kz9nxLgN 5Cu+tvZRvNNkjGTO9poqAgMEnukwsDdQblAOPjnmV/BM/1sGXIXHN4KZqEiYhg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4dc51vyrzmtt; Fri, 6 Dec 2024 17:32: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 4B6HW5qK024237; Fri, 6 Dec 2024 17:32:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6HVxb7024201; Fri, 6 Dec 2024 17:31:59 GMT (envelope-from git) Date: Fri, 6 Dec 2024 17:31:59 GMT Message-Id: <202412061731.4B6HVxb7024201@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: 71ac745d76c3 - main - Merge llvm-project release/19.x llvmorg-19.1.5-0-gab4b5a2db582 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 71ac745d76c3ba442e753daff1870893f272b29d Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=71ac745d76c3ba442e753daff1870893f272b29d commit 71ac745d76c3ba442e753daff1870893f272b29d Merge: 509300e1ffbe f56b67c46df5 Author: Dimitry Andric AuthorDate: 2024-12-06 17:26:41 +0000 Commit: Dimitry Andric CommitDate: 2024-12-06 17:29:48 +0000 Merge llvm-project release/19.x llvmorg-19.1.5-0-gab4b5a2db582 This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvm-project release/19.x llvmorg-19.1.5-0-gab4b5a2db582, a.k.a. 19.1.5 release. PR: 280562 MFC after: 3 days .../clang/lib/Driver/ToolChains/Hexagon.cpp | 7 ++- .../clang/lib/Interpreter/IncrementalExecutor.h | 2 +- .../clang/lib/Interpreter/Interpreter.cpp | 2 +- .../llvm-project/clang/lib/Interpreter/Wasm.cpp | 65 +++++++++++++++++----- contrib/llvm-project/clang/lib/Interpreter/Wasm.h | 1 + contrib/llvm-project/libcxx/include/__config | 2 +- contrib/llvm-project/lld/ELF/Arch/Hexagon.cpp | 2 +- .../llvm/include/llvm/Analysis/MemorySSAUpdater.h | 5 ++ .../llvm/lib/Analysis/MemorySSAUpdater.cpp | 13 ++++- .../llvm/lib/Analysis/ScalarEvolution.cpp | 4 +- .../llvm-project/llvm/lib/CodeGen/MachineLICM.cpp | 2 +- .../lib/Target/AArch64/AArch64FrameLowering.cpp | 34 ++++++----- .../lib/Target/AArch64/AArch64ISelLowering.cpp | 19 ++++--- .../LoongArch/LoongArchExpandPseudoInsts.cpp | 2 +- .../lib/Target/LoongArch/LoongArchLSXInstrInfo.td | 6 +- .../MCTargetDesc/LoongArchMCTargetDesc.cpp | 2 +- .../llvm/lib/Target/Mips/MipsISelDAGToDAG.cpp | 4 ++ .../llvm/lib/Target/Mips/MipsISelDAGToDAG.h | 3 + .../llvm/lib/Target/Mips/MipsMSAInstrInfo.td | 59 +++++++------------- .../llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp | 12 ++++ .../llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h | 3 + .../llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp | 4 ++ .../Transforms/InstCombine/InstCombineCalls.cpp | 4 +- .../InstCombine/InstCombineSimplifyDemanded.cpp | 2 +- .../Transforms/Scalar/ConstraintElimination.cpp | 13 +++-- .../llvm/lib/Transforms/Scalar/LICM.cpp | 5 +- .../llvm/lib/Transforms/Utils/Local.cpp | 10 +++- .../lib/Transforms/Vectorize/SLPVectorizer.cpp | 16 ++++++ .../utils/TableGen/Common/CodeGenDAGPatterns.cpp | 8 +++ lib/clang/include/VCSVersion.inc | 6 +- lib/clang/include/clang/Basic/Version.inc | 6 +- lib/clang/include/lld/Common/Version.inc | 2 +- lib/clang/include/lldb/Version/Version.inc | 6 +- lib/clang/include/llvm/Config/config.h | 4 +- lib/clang/include/llvm/Config/llvm-config.h | 4 +- lib/clang/include/llvm/Support/VCSRevision.h | 2 +- 36 files changed, 225 insertions(+), 116 deletions(-) diff --cc lib/clang/include/VCSVersion.inc index 2197c8ca2947,000000000000..7624a2e4b17a mode 100644,000000..100644 --- a/lib/clang/include/VCSVersion.inc +++ b/lib/clang/include/VCSVersion.inc @@@ -1,8 -1,0 +1,8 @@@ - #define LLVM_REVISION "llvmorg-19.1.4-0-gaadaa00de76e" ++#define LLVM_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" + - #define CLANG_REVISION "llvmorg-19.1.4-0-gaadaa00de76e" ++#define CLANG_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git" + - #define LLDB_REVISION "llvmorg-19.1.4-0-gaadaa00de76e" ++#define LLDB_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git" diff --cc lib/clang/include/clang/Basic/Version.inc index d7a4777e7cec,000000000000..5104f9d7ad7a mode 100644,000000..100644 --- a/lib/clang/include/clang/Basic/Version.inc +++ b/lib/clang/include/clang/Basic/Version.inc @@@ -1,8 -1,0 +1,8 @@@ - #define CLANG_VERSION 19.1.4 - #define CLANG_VERSION_STRING "19.1.4" ++#define CLANG_VERSION 19.1.5 ++#define CLANG_VERSION_STRING "19.1.5" +#define CLANG_VERSION_MAJOR 19 +#define CLANG_VERSION_MAJOR_STRING "19" +#define CLANG_VERSION_MINOR 1 - #define CLANG_VERSION_PATCHLEVEL 4 ++#define CLANG_VERSION_PATCHLEVEL 5 + +#define CLANG_VENDOR "FreeBSD " diff --cc lib/clang/include/lld/Common/Version.inc index e79b67284a98,000000000000..31f15b8a74f8 mode 100644,000000..100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@@ -1,4 -1,0 +1,4 @@@ +// Local identifier in __FreeBSD_version style +#define LLD_FREEBSD_VERSION 1500001 + - #define LLD_VERSION_STRING "19.1.4 (FreeBSD llvmorg-19.1.4-0-gaadaa00de76e-" __XSTRING(LLD_FREEBSD_VERSION) ")" ++#define LLD_VERSION_STRING "19.1.5 (FreeBSD llvmorg-19.1.5-0-gab4b5a2db582-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --cc lib/clang/include/lldb/Version/Version.inc index d69a702815ff,000000000000..5aa1f29215b4 mode 100644,000000..100644 --- a/lib/clang/include/lldb/Version/Version.inc +++ b/lib/clang/include/lldb/Version/Version.inc @@@ -1,6 -1,0 +1,6 @@@ - #define LLDB_VERSION 19.1.4 - #define LLDB_VERSION_STRING "19.1.4" ++#define LLDB_VERSION 19.1.5 ++#define LLDB_VERSION_STRING "19.1.5" +#define LLDB_VERSION_MAJOR 19 +#define LLDB_VERSION_MINOR 1 - #define LLDB_VERSION_PATCH 4 ++#define LLDB_VERSION_PATCH 5 +/* #undef LLDB_FULL_VERSION_STRING */ diff --cc lib/clang/include/llvm/Config/config.h index a775cc7e9bbf,000000000000..f86e4b6b5946 mode 100644,000000..100644 --- a/lib/clang/include/llvm/Config/config.h +++ b/lib/clang/include/llvm/Config/config.h @@@ -1,372 -1,0 +1,372 @@@ +#ifndef CONFIG_H +#define CONFIG_H + +// Include this header only under the llvm source tree. +// This is a private header. + +/* Exported configuration */ +#include "llvm/Config/llvm-config.h" + +/* Bug report URL. */ +#define BUG_REPORT_URL "https://bugs.freebsd.org/submit/" + +/* Define to 1 to enable backtraces, and to 0 otherwise. */ +#define ENABLE_BACKTRACES 1 + +/* Define to 1 to enable crash overrides, and to 0 otherwise. */ +#define ENABLE_CRASH_OVERRIDES 1 + +/* Define to 1 to enable crash memory dumps, and to 0 otherwise. */ +#define LLVM_ENABLE_CRASH_DUMPS 0 + +/* Define to 1 to prefer forward slashes on Windows, and to 0 prefer + backslashes. */ +#define LLVM_WINDOWS_PREFER_FORWARD_SLASH 0 + +/* Define to 1 if you have the `backtrace' function. */ +#define HAVE_BACKTRACE TRUE + +#define BACKTRACE_HEADER + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_CRASHREPORTERCLIENT_H */ + +/* can use __crashreporter_info__ */ +#if defined(__APPLE__) +#define HAVE_CRASHREPORTER_INFO 1 +#else +#define HAVE_CRASHREPORTER_INFO 0 +#endif + +/* Define to 1 if you have the declaration of `arc4random', and to 0 if you + don't. */ +#define HAVE_DECL_ARC4RANDOM 1 + +/* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you + don't. */ +#define HAVE_DECL_FE_ALL_EXCEPT 1 + +/* Define to 1 if you have the declaration of `FE_INEXACT', and to 0 if you + don't. */ +#define HAVE_DECL_FE_INEXACT 1 + +/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you + don't. */ +#define HAVE_DECL_STRERROR_S 0 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if dlopen() is available on this platform. */ +#define HAVE_DLOPEN 1 + +/* Define if dladdr() is available on this platform. */ +#define HAVE_DLADDR 1 + +#if !defined(__arm__) || defined(__USING_SJLJ_EXCEPTIONS__) || defined(__ARM_DWARF_EH__) +/* Define to 1 if we can register EH frames on this platform. */ +#define HAVE_REGISTER_FRAME 1 + +/* Define to 1 if we can deregister EH frames on this platform. */ +#define HAVE_DEREGISTER_FRAME 1 +#endif // !arm || USING_SJLJ_EXCEPTIONS || ARM_DWARF_EH_ + +/* Define if __unw_add_dynamic_fde() is available on this platform. */ +/* #undef HAVE_UNW_ADD_DYNAMIC_FDE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define if libffi is available on this platform. */ +/* #undef HAVE_FFI_CALL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FFI_FFI_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FFI_H */ + +/* Define to 1 if you have the `futimens' function. */ +#define HAVE_FUTIMENS 1 + +/* Define to 1 if you have the `futimes' function. */ +#define HAVE_FUTIMES 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrlimit' function. */ +#define HAVE_GETRLIMIT 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `isatty' function. */ +#define HAVE_ISATTY 1 + +/* Define to 1 if you have the `edit' library (-ledit). */ +#define HAVE_LIBEDIT TRUE + +/* Define to 1 if you have the `pfm' library (-lpfm). */ +/* #undef HAVE_LIBPFM */ + +/* Define to 1 if the `perf_branch_entry' struct has field cycles. */ +/* #undef LIBPFM_HAS_FIELD_CYCLES */ + +/* Define to 1 if you have the `psapi' library (-lpsapi). */ +/* #undef HAVE_LIBPSAPI */ + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +#define HAVE_LIBPTHREAD 1 + +/* Define to 1 if you have the `pthread_getname_np' function. */ +#define HAVE_PTHREAD_GETNAME_NP 1 + +/* Define to 1 if you have the `pthread_setname_np' function. */ +#define HAVE_PTHREAD_SETNAME_NP 1 + +/* Define to 1 if you have the header file. */ +#if __has_include() +#define HAVE_LINK_H 1 +#else +#define HAVE_LINK_H 0 +#endif + +/* Define to 1 if you have the header file. */ +#if __has_include() +#define HAVE_MACH_MACH_H 1 +#endif + +/* Define to 1 if you have the `mallctl' function. */ +#if defined(__FreeBSD__) +#define HAVE_MALLCTL 1 +#endif + +/* Define to 1 if you have the `mallinfo' function. */ +#if defined(__linux__) +#define HAVE_MALLINFO 1 +#endif + +/* Define to 1 if you have the `mallinfo2' function. */ +/* #undef HAVE_MALLINFO2 */ + +/* Define to 1 if you have the header file. */ +#if __has_include() +#define HAVE_MALLOC_MALLOC_H 1 +#endif + +/* Define to 1 if you have the `malloc_zone_statistics' function. */ +#if defined(__APPLE__) +#define HAVE_MALLOC_ZONE_STATISTICS 1 +#endif + +/* Define to 1 if you have the `posix_spawn' function. */ +#define HAVE_POSIX_SPAWN 1 + +/* Define to 1 if you have the `pread' function. */ +#define HAVE_PREAD 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_PTHREAD_H 1 + +/* Have pthread_mutex_lock */ +#define HAVE_PTHREAD_MUTEX_LOCK 1 + +/* Have pthread_rwlock_init */ +#define HAVE_PTHREAD_RWLOCK_INIT 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `setrlimit' function. */ +#define HAVE_SETRLIMIT 1 + +/* Define to 1 if you have the `sigaltstack' function. */ +#define HAVE_SIGALTSTACK 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `strerror_r' function. */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if stat struct has st_mtimespec member .*/ +#if !defined(__linux__) +#define HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 1 +#endif + +/* Define to 1 if stat struct has st_mtim member. */ +#if !defined(__APPLE__) +#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 +#endif + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TERMIOS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VALGRIND_VALGRIND_H */ + +/* Have host's _alloca */ +/* #undef HAVE__ALLOCA */ + +/* Define to 1 if you have the `_chsize_s' function. */ +/* #undef HAVE__CHSIZE_S */ + +/* Define to 1 if you have the `_Unwind_Backtrace' function. */ +#define HAVE__UNWIND_BACKTRACE 1 + +/* Have host's __alloca */ +/* #undef HAVE___ALLOCA */ + +/* Have host's __ashldi3 */ +/* #undef HAVE___ASHLDI3 */ + +/* Have host's __ashrdi3 */ +/* #undef HAVE___ASHRDI3 */ + +/* Have host's __chkstk */ +/* #undef HAVE___CHKSTK */ + +/* Have host's __chkstk_ms */ +/* #undef HAVE___CHKSTK_MS */ + +/* Have host's __cmpdi2 */ +/* #undef HAVE___CMPDI2 */ + +/* Have host's __divdi3 */ +/* #undef HAVE___DIVDI3 */ + +/* Have host's __fixdfdi */ +/* #undef HAVE___FIXDFDI */ + +/* Have host's __fixsfdi */ +/* #undef HAVE___FIXSFDI */ + +/* Have host's __floatdidf */ +/* #undef HAVE___FLOATDIDF */ + +/* Have host's __lshrdi3 */ +/* #undef HAVE___LSHRDI3 */ + +/* Have host's __main */ +/* #undef HAVE___MAIN */ + +/* Have host's __moddi3 */ +/* #undef HAVE___MODDI3 */ + +/* Have host's __udivdi3 */ +/* #undef HAVE___UDIVDI3 */ + +/* Have host's __umoddi3 */ +/* #undef HAVE___UMODDI3 */ + +/* Have host's ___chkstk */ +/* #undef HAVE____CHKSTK */ + +/* Have host's ___chkstk_ms */ +/* #undef HAVE____CHKSTK_MS */ + +/* Linker version detected at compile time. */ +/* #undef HOST_LINK_VERSION */ + +/* Define if overriding target triple is enabled */ +/* #undef LLVM_TARGET_TRIPLE_ENV */ + +/* Whether tools show host and target info when invoked with --version */ +#define LLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO 1 + +/* Whether tools show optional build config flags when invoked with --version */ +#define LLVM_VERSION_PRINTER_SHOW_BUILD_CONFIG 1 + +/* Define if libxml2 is supported on this platform. */ +/* #undef LLVM_ENABLE_LIBXML2 */ + +/* Define to the extension used for shared libraries, say, ".so". */ +#if defined(__APPLE__) +#define LTDL_SHLIB_EXT ".dylib" +#else +#define LTDL_SHLIB_EXT ".so" +#endif + +/* Define to the extension used for plugin libraries, say, ".so". */ +#if defined(__APPLE__) +#define LLVM_PLUGIN_EXT ".dylib" +#else +#define LLVM_PLUGIN_EXT ".so" +#endif + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "https://bugs.freebsd.org/submit/" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "LLVM" + +/* Define to the full name and version of this package. */ - #define PACKAGE_STRING "LLVM 19.1.4" ++#define PACKAGE_STRING "LLVM 19.1.5" + +/* Define to the version of this package. */ - #define PACKAGE_VERSION "19.1.4" ++#define PACKAGE_VERSION "19.1.5" + +/* Define to the vendor of this package. */ +/* #undef PACKAGE_VENDOR */ + +/* Define to a function implementing stricmp */ +/* #undef stricmp */ + +/* Define to a function implementing strdup */ +/* #undef strdup */ + +/* Whether GlobalISel rule coverage is being collected */ +#define LLVM_GISEL_COV_ENABLED 0 + +/* Define to the default GlobalISel coverage file prefix */ +/* #undef LLVM_GISEL_COV_PREFIX */ + +/* Whether Timers signpost passes in Xcode Instruments */ +#if defined(__APPLE__) +#define LLVM_SUPPORT_XCODE_SIGNPOSTS 1 +#else +#define LLVM_SUPPORT_XCODE_SIGNPOSTS 0 +#endif + +/* #undef HAVE_PROC_PID_RUSAGE */ + +#define HAVE_BUILTIN_THREAD_POINTER 1 + +#endif diff --cc lib/clang/include/llvm/Config/llvm-config.h index 16af33f177e6,000000000000..966249436723 mode 100644,000000..100644 --- a/lib/clang/include/llvm/Config/llvm-config.h +++ b/lib/clang/include/llvm/Config/llvm-config.h @@@ -1,232 -1,0 +1,232 @@@ +/*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/ +/* */ +/* Part of the LLVM Project, under the Apache License v2.0 with LLVM */ +/* Exceptions. */ +/* See https://llvm.org/LICENSE.txt for license information. */ +/* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception */ +/* */ +/*===----------------------------------------------------------------------===*/ + +/* This file enumerates variables from the LLVM configuration so that they + can be in exported headers and won't override package specific directives. + This is a C header that can be included in the llvm-c headers. */ + +#ifndef LLVM_CONFIG_H +#define LLVM_CONFIG_H + +/* Define if LLVM_ENABLE_DUMP is enabled */ +/* #undef LLVM_ENABLE_DUMP */ + +/* Target triple LLVM will generate code for by default */ +/* Doesn't use `cmakedefine` because it is allowed to be empty. */ +/* #undef LLVM_DEFAULT_TARGET_TRIPLE */ + +/* Define if threads enabled */ +#define LLVM_ENABLE_THREADS 1 + +/* Has gcc/MSVC atomic intrinsics */ +#define LLVM_HAS_ATOMICS 1 + +/* Host triple LLVM will be executed on */ +/* #undef LLVM_HOST_TRIPLE */ + +/* LLVM architecture name for the native architecture, if available */ +/* #undef LLVM_NATIVE_ARCH */ + +/* LLVM name for the native AsmParser init function, if available */ +/* #undef LLVM_NATIVE_ASMPARSER */ + +/* LLVM name for the native AsmPrinter init function, if available */ +/* #undef LLVM_NATIVE_ASMPRINTER */ + +/* LLVM name for the native Disassembler init function, if available */ +/* #undef LLVM_NATIVE_DISASSEMBLER */ + +/* LLVM name for the native Target init function, if available */ +/* #undef LLVM_NATIVE_TARGET */ + +/* LLVM name for the native TargetInfo init function, if available */ +/* #undef LLVM_NATIVE_TARGETINFO */ + +/* LLVM name for the native target MC init function, if available */ +/* #undef LLVM_NATIVE_TARGETMC */ + +/* LLVM name for the native target MCA init function, if available */ +/* #undef LLVM_NATIVE_TARGETMCA */ + +/* Define if the AArch64 target is built in */ +#ifdef LLVM_TARGET_ENABLE_AARCH64 +#define LLVM_HAS_AARCH64_TARGET 1 +#else +#define LLVM_HAS_AARCH64_TARGET 0 +#endif + +/* Define if the AMDGPU target is built in */ +#define LLVM_HAS_AMDGPU_TARGET 0 + +/* Define if the ARC target is built in */ +#define LLVM_HAS_ARC_TARGET 0 + +/* Define if the ARM target is built in */ +#ifdef LLVM_TARGET_ENABLE_ARM +#define LLVM_HAS_ARM_TARGET 1 +#else +#define LLVM_HAS_ARM_TARGET 0 +#endif + +/* Define if the AVR target is built in */ +#define LLVM_HAS_AVR_TARGET 0 + +/* Define if the BPF target is built in */ +#ifdef LLVM_TARGET_ENABLE_BPF +#define LLVM_HAS_BPF_TARGET 1 +#else +#define LLVM_HAS_BPF_TARGET 0 +#endif + +/* Define if the CSKY target is built in */ +#define LLVM_HAS_CSKY_TARGET 0 + +/* Define if the DirectX target is built in */ +#define LLVM_HAS_DIRECTX_TARGET 0 + +/* Define if the Hexagon target is built in */ +#define LLVM_HAS_HEXAGON_TARGET 0 + +/* Define if the Lanai target is built in */ +#define LLVM_HAS_LANAI_TARGET 0 + +/* Define if the LoongArch target is built in */ +#define LLVM_HAS_LOONGARCH_TARGET 0 + +/* Define if the M68k target is built in */ +#define LLVM_HAS_M68K_TARGET 0 + +/* Define if the Mips target is built in */ +#ifdef LLVM_TARGET_ENABLE_MIPS +#define LLVM_HAS_MIPS_TARGET 1 +#else +#define LLVM_HAS_MIPS_TARGET 0 +#endif + +/* Define if the MSP430 target is built in */ +#define LLVM_HAS_MSP430_TARGET 0 + +/* Define if the NVPTX target is built in */ +#define LLVM_HAS_NVPTX_TARGET 0 + +/* Define if the PowerPC target is built in */ +#ifdef LLVM_TARGET_ENABLE_POWERPC +#define LLVM_HAS_POWERPC_TARGET 1 +#else +#define LLVM_HAS_POWERPC_TARGET 0 +#endif + +/* Define if the RISCV target is built in */ +#ifdef LLVM_TARGET_ENABLE_RISCV +#define LLVM_HAS_RISCV_TARGET 1 +#else +#define LLVM_HAS_RISCV_TARGET 0 +#endif + +/* Define if the Sparc target is built in */ +#define LLVM_HAS_SPARC_TARGET 0 + +/* Define if the SPIRV target is built in */ +#define LLVM_HAS_SPIRV_TARGET 0 + +/* Define if the SystemZ target is built in */ +#define LLVM_HAS_SYSTEMZ_TARGET 0 + +/* Define if the VE target is built in */ +#define LLVM_HAS_VE_TARGET 0 + +/* Define if the WebAssembly target is built in */ +#define LLVM_HAS_WEBASSEMBLY_TARGET 0 + +/* Define if the X86 target is built in */ +#ifdef LLVM_TARGET_ENABLE_X86 +#define LLVM_HAS_X86_TARGET 1 +#else +#define LLVM_HAS_X86_TARGET 0 +#endif + +/* Define if the XCore target is built in */ +#define LLVM_HAS_XCORE_TARGET 0 + +/* Define if the Xtensa target is built in */ +#define LLVM_HAS_XTENSA_TARGET 0 + +/* Define if this is Unixish platform */ +#define LLVM_ON_UNIX 1 + +/* Define if we have the Intel JIT API runtime support library */ +#define LLVM_USE_INTEL_JITEVENTS 0 + +/* Define if we have the oprofile JIT-support library */ +#define LLVM_USE_OPROFILE 0 + +/* Define if we have the perf JIT-support library */ +#define LLVM_USE_PERF 0 + +/* Major version of the LLVM API */ +#define LLVM_VERSION_MAJOR 19 + +/* Minor version of the LLVM API */ +#define LLVM_VERSION_MINOR 1 + +/* Patch version of the LLVM API */ - #define LLVM_VERSION_PATCH 4 ++#define LLVM_VERSION_PATCH 5 + +/* LLVM version string */ - #define LLVM_VERSION_STRING "19.1.4" ++#define LLVM_VERSION_STRING "19.1.5" + +/* Whether LLVM records statistics for use with GetStatistics(), + * PrintStatistics() or PrintStatisticsJSON() + */ +#define LLVM_FORCE_ENABLE_STATS 0 + +/* Define if we have z3 and want to build it */ +/* #undef LLVM_WITH_Z3 */ + +/* Define if we have curl and want to use it */ +/* #undef LLVM_ENABLE_CURL */ + +/* Define if we have cpp-httplib and want to use it */ +/* #undef LLVM_ENABLE_HTTPLIB */ + +/* Define if zlib compression is available */ +#define LLVM_ENABLE_ZLIB 1 + +/* Define if zstd compression is available */ +#define LLVM_ENABLE_ZSTD 1 + +/* Define if LLVM is using tflite */ +/* #undef LLVM_HAVE_TFLITE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYSEXITS_H 1 + +/* Define if building libLLVM shared library */ +/* #undef LLVM_BUILD_LLVM_DYLIB */ + +/* Define if building LLVM with BUILD_SHARED_LIBS */ +/* #undef LLVM_BUILD_SHARED_LIBS */ + +/* Define if building LLVM with LLVM_FORCE_USE_OLD_TOOLCHAIN_LIBS */ +/* #undef LLVM_FORCE_USE_OLD_TOOLCHAIN */ + +/* Define if llvm_unreachable should be optimized with undefined behavior + * in non assert builds */ +#define LLVM_UNREACHABLE_OPTIMIZE 1 + +/* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */ +#define LLVM_ENABLE_DIA_SDK 0 + +/* Define if plugins enabled */ +/* #undef LLVM_ENABLE_PLUGINS */ + +/* Define if logf128 is available */ +/* #undef LLVM_HAS_LOGF128 */ + +#endif diff --cc lib/clang/include/llvm/Support/VCSRevision.h index 68785cd03f5d,000000000000..db3347a0e5a5 mode 100644,000000..100644 --- a/lib/clang/include/llvm/Support/VCSRevision.h +++ b/lib/clang/include/llvm/Support/VCSRevision.h @@@ -1,2 -1,0 +1,2 @@@ - #define LLVM_REVISION "llvmorg-19.1.4-0-gaadaa00de76e" ++#define LLVM_REVISION "llvmorg-19.1.5-0-gab4b5a2db582" +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git" From nobody Fri Dec 6 17:54:50 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4f6M25Cdz5gcnB; Fri, 06 Dec 2024 17:54:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4f6M1LPcz4nbM; Fri, 6 Dec 2024 17:54:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733507691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sYeIpif01LLA324pq9gu6/9JMbYB6mLptJxmtz8dUho=; b=Hexj3YcDKiBNF3tVB08C9IjBXq9TgxWhVqxe+kLeu7t2wYHL4PPrq6pGjHMFSUViW1lEzH 8daHcH94x+/qsGC5Tdlzi8LKfXF7Z1taMnOydCNFeuxmzWV8Ijzq5770/Jtb6ctEMjKngW C6bhIbt+YaEWE8TLddg5tBNYYdtvH0DcquJNUwycCDSr8hTUJmvfgObnyWHcuVrELZegzg onSIWDSh/yfYs4lcLur5V4Hi6XLhaWGovqU15G+q6kRK4ToqwMuUenas4U5RC+XdtI/FSv O9c0IzigPn/7fzCrv4LHkPWy2Rsn3W7PBK/4qs4Lz2was3OXbvx6J43E/o8mug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733507691; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sYeIpif01LLA324pq9gu6/9JMbYB6mLptJxmtz8dUho=; b=jUv04ViGBePti02VIxyNVQ/pLHPNrfTVEPRx8WOzY+p5sN6yBPsNPrLfevwSHMVR/YEEII kc9d/pHpSDKMcT/yBmhKx/ZOgkBjAq43n2/sj1QaS0djfEfobblwij/AghEBXjiu/LTdV+ ud9PqYTvcf3R7O/GAlFXunY5Pj96CzbtNCCcSR7GMYnmgUjidVozpP5HQvttGD2PQk33pq 5azOW1ljglZmLm/r37GRQhC9JeGcFbaxYq/UP2IU5itwT1aP0/02q5e3ZdFXb4UHTrDXnk 8//1X7EImoCgKhHHzqem8/AdcicgUGUH57wFlZ2T0PdbE1WXeUlQLNA2us3XAw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733507691; a=rsa-sha256; cv=none; b=Dev2IYzsp7zw5dd1hO6gfMHcbs7IXXdldhJvYSlhFguTEAFIWqyPvsrXi9SL1pNRL5wNBV fUIE2DGqbp5jzwxPtDM+lrvKrJAOv4N6qdsmdh/u3LkwEgWuwShkrCi9MY1mkYhBEPUr93 7+J+fiUOlDRZZL57LmwVTHY1adyrDK2TOA+4sqrRcOsigFmNH1D0y38NA/rX1lwP5iBD6e YcGM/0LXf7O078qwWQ1vG5XStCGdaUOquD8LzUlAwnxJqiawbC6qR+gHz+wsD8V2o8udoR IkvuxDJ13ekpS3Sx07qyeSMhTxTwt/hzisLvrFvqLs+RV6oIWny5LPQHbHe6zw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4f6M0qBQzndY; Fri, 6 Dec 2024 17:54: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 4B6HsojW066637; Fri, 6 Dec 2024 17:54:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6Hsopt066634; Fri, 6 Dec 2024 17:54:50 GMT (envelope-from git) Date: Fri, 6 Dec 2024 17:54:50 GMT Message-Id: <202412061754.4B6Hsopt066634@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 7b16a4a75dc1 - main - sys/intr.h: Make it safe to include from assembler List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7b16a4a75dc14224efc72f1ff2cc98f6f857f757 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7b16a4a75dc14224efc72f1ff2cc98f6f857f757 commit 7b16a4a75dc14224efc72f1ff2cc98f6f857f757 Author: Warner Losh AuthorDate: 2024-12-06 17:30:02 +0000 Commit: Warner Losh CommitDate: 2024-12-06 17:31:36 +0000 sys/intr.h: Make it safe to include from assembler Sometimes we need defines from this file in assembler code. Today we do the heavyweight approach of using genassym for that. However, they are just #defines, so in the future we want to include sys/intr.h to pick up the needed constants in exception.S. PR: 283041 Sponsored by: Netflix Reviewed by: mmel, andrew Differential Revision: https://reviews.freebsd.org/D47846 --- sys/arm/include/intr.h | 6 ++++-- sys/arm64/include/intr.h | 10 ++++++---- sys/riscv/include/intr.h | 2 ++ sys/sys/intr.h | 6 ++++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/sys/arm/include/intr.h b/sys/arm/include/intr.h index e64edd47dad2..5facd5dbccdb 100644 --- a/sys/arm/include/intr.h +++ b/sys/arm/include/intr.h @@ -39,14 +39,16 @@ #ifndef _MACHINE_INTR_H_ #define _MACHINE_INTR_H_ +#ifndef LOCORE #ifdef FDT #include #endif +void arm_irq_memory_barrier(uintptr_t); +#endif /* !LOCORE */ + #ifndef NIRQ #define NIRQ 1024 /* XXX - It should be an option. */ #endif -void arm_irq_memory_barrier(uintptr_t); - #endif /* _MACHINE_INTR_H */ diff --git a/sys/arm64/include/intr.h b/sys/arm64/include/intr.h index 38cba6ae8b0d..56bce911cd32 100644 --- a/sys/arm64/include/intr.h +++ b/sys/arm64/include/intr.h @@ -27,18 +27,20 @@ #ifndef _MACHINE_INTR_H_ #define _MACHINE_INTR_H_ +#ifndef LOCORE #ifdef FDT #include #endif -#ifndef NIRQ -#define NIRQ 16384 /* XXX - It should be an option. */ -#endif - static inline void arm_irq_memory_barrier(uintptr_t irq) { } +#endif /* !LOCORE */ + +#ifndef NIRQ +#define NIRQ 16384 /* XXX - It should be an option. */ +#endif #ifdef DEV_ACPI #define ACPI_INTR_XREF 1 diff --git a/sys/riscv/include/intr.h b/sys/riscv/include/intr.h index 657781efb620..ea98f0632108 100644 --- a/sys/riscv/include/intr.h +++ b/sys/riscv/include/intr.h @@ -39,6 +39,7 @@ #define NIRQ 1024 #endif +#ifndef LOCORE enum { IRQ_SOFTWARE_USER, IRQ_SOFTWARE_SUPERVISOR, @@ -53,5 +54,6 @@ enum { IRQ_EXTERNAL_HYPERVISOR, IRQ_EXTERNAL_MACHINE, }; +#endif /* !LOCORE */ #endif /* !_MACHINE_INTR_MACHDEP_H_ */ diff --git a/sys/sys/intr.h b/sys/sys/intr.h index f11e96777927..d60eac937d93 100644 --- a/sys/sys/intr.h +++ b/sys/sys/intr.h @@ -33,14 +33,14 @@ #error Need INTRNG for this file #endif -#include - #include #define INTR_IRQ_INVALID 0xFFFFFFFF #define INTR_ROOT_IRQ 0 +#ifndef LOCORE + enum intr_map_data_type { INTR_MAP_DATA_ACPI = 0, INTR_MAP_DATA_FDT, @@ -171,4 +171,6 @@ void intr_ipi_dispatch(u_int ipi); /* Main interrupt handler called from asm on most archs except riscv. */ void intr_irq_handler(struct trapframe *tf, uint32_t rootnum); +#endif /* !LOCORE */ + #endif /* _SYS_INTR_H */ From nobody Fri Dec 6 17:54:52 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4f6N2y9Fz5gcnF; Fri, 06 Dec 2024 17:54:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4f6N20ctz4ndk; Fri, 6 Dec 2024 17:54:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733507692; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/4JMM3n7Fp/iHX7L9eYuhkORXBxT3sX86keaHU65aK8=; b=AphLtT1qFSV2CjA4hl48smDW+AE2lCOsv7T2F8PKZ/CmmaFrEqF7PA1A8qachMTfXopKdH QT4IF91Xm+rkmJVsiPYEmaDS0wYLTJbSw+VwsYELxjwxSxYaOWgpopEYvUw6a9hWO+HMHR Byp4W5ed0OYgimzr+xbxSNiXLYLCbLH+itYt7iVpV8eR1vqf4KaiYoHVckH6t/U7NuZeen 0A+He8jeIwdBJ4ELrtIv5F62egC/IvKjYR8SO+jZG976Rp8kNYhQlw4qf+eEM/7zJ45qiv I4oLaxjwvl7ZmBaWIDxfMR5fbNlpIa6UAcxTeRRNMaBbCgrPYSqJSdd8ZpCgKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733507692; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/4JMM3n7Fp/iHX7L9eYuhkORXBxT3sX86keaHU65aK8=; b=CDT0bAErt6bo84bub1jkw9NiMHKXoEqV5Kb52m3u/WdgqVgzKvALefoBa8bomWroyu5jPD 9JBO2/GXOcdkw7YPVSPFAusFekb/5JxtUU1f57FJTjUxgACj0l+MymN4F9VCMkKfLdMgZ1 aecImHpC6jD+S8uG0JcR5LVQH1xh+oGCVwm7iy6tpQk2W06clVXhEas2zgVW+Xvm/DI1Bi se5abnBB6ULsPpP+vBpWZOq3tKnpI8f+kbEu64mlY1W7oVvfrQJh2i8W/helMk4gHvaNdH mRq3IdAMWvU8bTamLY7mMa3xwnaUsT3X/SSBeaNIUcB9JpRgPjjbqCvnbXNenw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733507692; a=rsa-sha256; cv=none; b=iOconGriUgLPYtQgMRm8lbqKKRQb4MDxQYrBZnzFis3KYOov7Fh1RUvNF6jQS6pjNy+ZAh 8Js+LgZcFYALkftefl/WUYfCKsW2rWugn3SBsZO2y5lqZLmhETnzc1bALgqoXSyo1tUtGu N4uO2wtgTYBD2EEKSlhTjayqGxRVRDMKZphKGCrNoIGCxjxLleeY2dsynBbLuyL1jD7rXc Sn78GZ29nXvtowoFzsov3EXNcaj1F+B+JFRY8/y66/Wh7fn4MScBiJKUa3qaYHEU0JxXeU 0IP/pudxvPofU7f4FlkxmcIucinGHCue6h60WkflmtosV9xjzOflrGT5mXRdlg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4f6N1YRMzngh; Fri, 6 Dec 2024 17:54: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 4B6Hsqw7066685; Fri, 6 Dec 2024 17:54:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6HsqqX066682; Fri, 6 Dec 2024 17:54:52 GMT (envelope-from git) Date: Fri, 6 Dec 2024 17:54:52 GMT Message-Id: <202412061754.4B6HsqqX066682@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: d1e843b3f976 - main - arm: Use constants from sys/intr.h, not genassym List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d1e843b3f976528fbea04e702a20219d532220d3 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d1e843b3f976528fbea04e702a20219d532220d3 commit d1e843b3f976528fbea04e702a20219d532220d3 Author: Warner Losh AuthorDate: 2024-12-06 17:30:13 +0000 Commit: Warner Losh CommitDate: 2024-12-06 17:31:36 +0000 arm: Use constants from sys/intr.h, not genassym We can now include sys/intr.h to get these constants rather than using genassym. Opt for this simpler method. PR: 283041 Sponsored by: Netflix Reviewed by: mmel, andrew Differential Revision: https://reviews.freebsd.org/D47847 --- sys/arm/arm/exception.S | 1 + sys/arm/arm/genassym.c | 4 ---- sys/arm64/arm64/exception.S | 1 + sys/arm64/arm64/genassym.c | 5 ----- sys/riscv/riscv/genassym.c | 2 -- 5 files changed, 2 insertions(+), 11 deletions(-) diff --git a/sys/arm/arm/exception.S b/sys/arm/arm/exception.S index 3df91d6e3c1e..2c25628f77cc 100644 --- a/sys/arm/arm/exception.S +++ b/sys/arm/arm/exception.S @@ -52,6 +52,7 @@ #include #include #include +#include #ifdef KDTRACE_HOOKS .bss diff --git a/sys/arm/arm/genassym.c b/sys/arm/arm/genassym.c index 9d6232739022..24c470bdde86 100644 --- a/sys/arm/arm/genassym.c +++ b/sys/arm/arm/genassym.c @@ -28,11 +28,9 @@ */ #include -#include #include #include #include -#include #include #include #include @@ -131,8 +129,6 @@ ASSYM(DCACHE_LINE_MASK, offsetof(struct cpuinfo, dcache_line_mask)); ASSYM(ICACHE_LINE_SIZE, offsetof(struct cpuinfo, icache_line_size)); ASSYM(ICACHE_LINE_MASK, offsetof(struct cpuinfo, icache_line_mask)); -ASSYM(INTR_ROOT_IRQ, INTR_ROOT_IRQ); - /* * Emit the LOCORE_MAP_MB option as a #define only if the option was set. */ diff --git a/sys/arm64/arm64/exception.S b/sys/arm64/arm64/exception.S index d8c024d01921..13095def8b00 100644 --- a/sys/arm64/arm64/exception.S +++ b/sys/arm64/arm64/exception.S @@ -31,6 +31,7 @@ #include #include "assym.inc" +#include .text diff --git a/sys/arm64/arm64/genassym.c b/sys/arm64/arm64/genassym.c index 3ca712ca3de3..e3977798b046 100644 --- a/sys/arm64/arm64/genassym.c +++ b/sys/arm64/arm64/genassym.c @@ -28,8 +28,6 @@ #include #include -#include -#include #include #include @@ -85,6 +83,3 @@ ASSYM(TF_ELR, offsetof(struct trapframe, tf_elr)); ASSYM(TF_SPSR, offsetof(struct trapframe, tf_spsr)); ASSYM(TF_ESR, offsetof(struct trapframe, tf_esr)); ASSYM(TF_X, offsetof(struct trapframe, tf_x)); - -ASSYM(INTR_ROOT_IRQ, INTR_ROOT_IRQ); -ASSYM(INTR_ROOT_FIQ, INTR_ROOT_FIQ); diff --git a/sys/riscv/riscv/genassym.c b/sys/riscv/riscv/genassym.c index 74b70858edab..77966913fd1b 100644 --- a/sys/riscv/riscv/genassym.c +++ b/sys/riscv/riscv/genassym.c @@ -38,7 +38,6 @@ #include #include #include -#include #include #include #include @@ -51,7 +50,6 @@ #include #include #include -#include #include #include From nobody Fri Dec 6 17:54:53 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4f6Q09qNz5gcbh; Fri, 06 Dec 2024 17:54:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4f6P3HFKz4nrk; Fri, 6 Dec 2024 17:54:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733507693; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ukFK5Lp7QijrmAvAPmhU0dWFr3D5507Osog6L8GPkG4=; b=JzQWBOCQa0H6IjC3v0ARbyapzDokpXp19AlBVFMDvJIueOdLf45bMpvzPsKyDM22DwrXYw A33xsvtz06L3YTwp1YL3Yhwe1OVj+J5JNvXjO36EkMjZRRZdQPX/dxmiZEdXrOTxu+BR5f ZIgLOH/MH5ItFLc6lfKG4xol91+U0xqMvyBF7eLr5FPdW0SmWQu5HHvuJq0msJcBRP1xwj 5xSF+owWCG1X3KQ67NGfzI1b6ct4u4MBYMnw+5SMg/w1LVOjmFE334CxAGUGnL2y4Tiq9u Gv4QS97faXEROGAeKGT/jFWWeZ0w8UDDVrh3VczWkvthK4Kig+LI6xh4z79nPQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733507693; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ukFK5Lp7QijrmAvAPmhU0dWFr3D5507Osog6L8GPkG4=; b=V6ZQqniyfaiVC5mCP4O8rM5vuaX2kPyoZwiaJOOtoE16KEJI2ZCuOPxzIyWw/nDIg6n5bF gt4Ql8AGDRTBMxn28UH/M9kcMLxIszfjyrkOfsEWkjEz74ITJHycoPRsULl0ewDBmcKRQ2 UBwZeTVUto+9xnApLiXVZYS+GdvCa89r4kJPKrrrofx2wK58wqTqgmYXOzVQ0ycrvSufUM 6FPbP6/bMjwAbMLJefq927OsGFDmRctOKrjmtMrpelOPTZjXujhNT8sIzEdiaA33/cgPCc atm8Da1lwsJfmM1iEcthxuvN8K8gayGZyDEdDttT4Yo4PA+zEyF4MjTGYlLqmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733507693; a=rsa-sha256; cv=none; b=QSg58METon8mDcTDNC6UmHrYsnZpcC2Qzbk7K2O3AeFaVISWKEB7JCk4sb6nL6TBlKaleC 8NfqTs+urOUqM8fSqx4ML6em6grFd4PVu/le61y4b01UHB9FMwTma6wlQ+uqMbVD3UzmQP 5QKePcVKa4R+HfrB/tzJqF5SbI/iudOmW1ajGFze+tk8TwWuipmVaBmbv6Z9+gKKIO0Xbs fREkcugMR9fXESGvNRa/bk+2lJvoQ2RFj/MhBj/+TrD3YLibcKR0/L8YN2W+DJAzEhZxoR pn2pMZNb7TYe4QYdgQSYRxiVGentgg60jjorUYe4A1GdXrjda0AHdbIE42Yovw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4f6P2BjbzndZ; Fri, 6 Dec 2024 17:54: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 4B6Hsrec066727; Fri, 6 Dec 2024 17:54:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6HsrsJ066724; Fri, 6 Dec 2024 17:54:53 GMT (envelope-from git) Date: Fri, 6 Dec 2024 17:54:53 GMT Message-Id: <202412061754.4B6HsrsJ066724@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: d0510c98146f - main - genassym: Remove stale *if.h depends List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d0510c98146f141fcc8f989e8f52625248d7f219 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=d0510c98146f141fcc8f989e8f52625248d7f219 commit d0510c98146f141fcc8f989e8f52625248d7f219 Author: Warner Losh AuthorDate: 2024-12-06 17:30:20 +0000 Commit: Warner Losh CommitDate: 2024-12-06 17:31:36 +0000 genassym: Remove stale *if.h depends Since we no longer need to include intr.h, which depends on sys/bus.h, in genassym, we no longer need to include it in the Makefile depends. PR: 283041 Sponsored by: Netflix Reviewed by: ehem_freebsd_m5p.com, mmel, andrew Differential Revision: https://reviews.freebsd.org/D47848 --- sys/conf/Makefile.arm | 3 --- sys/conf/Makefile.riscv | 3 --- 2 files changed, 6 deletions(-) diff --git a/sys/conf/Makefile.arm b/sys/conf/Makefile.arm index 2dc566869c14..216f012d688e 100644 --- a/sys/conf/Makefile.arm +++ b/sys/conf/Makefile.arm @@ -64,9 +64,6 @@ SYSTEM_LD= \ --strip-symbol='$$[adt]*' \ ${.TARGET} -# hack because genassym.c includes sys/bus.h which includes these. -genassym.o: bus_if.h device_if.h - %BEFORE_DEPEND %OBJS diff --git a/sys/conf/Makefile.riscv b/sys/conf/Makefile.riscv index c6b06f681777..12d8e62e1b9a 100644 --- a/sys/conf/Makefile.riscv +++ b/sys/conf/Makefile.riscv @@ -39,9 +39,6 @@ LDFLAGS+= --defsym='kernel_lma=${KERNEL_LMA}' CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls .endif -# hack because genassym.c includes sys/bus.h which includes these. -genassym.o: bus_if.h device_if.h - %BEFORE_DEPEND %OBJS From nobody Fri Dec 6 18:20:36 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4fh46mjSz5gf1D; Fri, 06 Dec 2024 18:20:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4fh4408wz4rQy; Fri, 6 Dec 2024 18:20:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733509236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IDIUCYZBG4MX875UPBMns3tPEyY5Gp92SR8nEG2vayY=; b=GC1RnkLfrgGOMDowkIGrlFel3Tb93I/vFLSPK8bW0CXFKvZZiR2NSf4X8Yb8aPggB+d3hS rQG+ccjA0bhNyuIAn2JltRuo7BeKVcbgh58nbL5qHiI7bYqVVrswvPTjcUJzDMNHTyUq9w HBDVTbX9Z5MucGdp51i8NNSENn8r+3KSRcU1AUyGu7j3B1N03C0b2hx1wqSFcEqopUQ09p GfVyPJLIYlDgAuxKgrb5MEv128RnwAFgP29B99XsGcGfGeUsGERZj7zQLtYDzuRRfZk/OP dISzo81vX+J8obzSR5Z6rS1vr5Jhcuv5lZCqeuAqqOuTeJ30QQWie/cUSvetcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733509236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IDIUCYZBG4MX875UPBMns3tPEyY5Gp92SR8nEG2vayY=; b=bvQ/h2QleBOrVuLBk5Qs+KTVs9hPbXXll733KjzNOs0qzlVlQpnYs4wKCznYM9WvGEw7Zj NwCgNUZ00kGgeyNWVlKXyeg2crcIxrhElJqLywfxz44Ts934es99nw70sk3skylXO0AXvV PciV2erDRX3h7qlVVJDZHxp8LSgylpGY3avdgJ7koop6VqzU2LYsnD3SB92+JD0Sj227Kp el/RMl1HNAnS5r0d2kpw9QICEYRN3aY5PqbOzmX2i1LcYoajdPI7HvwRm3hgVvJ5BrLTEV BMhSCyjQf8uNfCUqcdYCQOcjzV8SEYRFM/P1A/XpXgkinTxNHLJgQJ4IGvioQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733509236; a=rsa-sha256; cv=none; b=uG1+6sXwV7EJ6ww/K2oU1hEJJODMbMZt21yNXni2AfeHODFn2+eKUHu5QNA4EOXhfRJX/b Qo9T0p8JacaI7FIEYTOzIIQgLJ0LuoZx7IUiMV8vQGLwZYJyR07KrbyYfIH0fJvFAjo62v 4DMWb+xDk9D+goHJ3BhFsCsfMNNwVefWfBl/wVEkSDbh9ELk9ckdiiEqwdXdDx1H9Crauq 1EQlHyRxL61khzMivvC+0dOtAnimgU4H+PWtegQf/14Lhw1atd6Cqr5c95BfOu5r1kP0J2 41Txd9UF70xjoaHglDau3nyQskNsWinHk4ePl0tDuh3p3fSWBVE9+Z7u+P7j0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4fh43Sp0zpSl; Fri, 6 Dec 2024 18:20:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B6IKaMY014799; Fri, 6 Dec 2024 18:20:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6IKacA014796; Fri, 6 Dec 2024 18:20:36 GMT (envelope-from git) Date: Fri, 6 Dec 2024 18:20:36 GMT Message-Id: <202412061820.4B6IKacA014796@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: d0a3fd34a057 - main - fgets.3: document gets_s() __STDC_WANT_LIB_EXT1__ List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d0a3fd34a05794bc5cbf48709001a78e9f85169a Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=d0a3fd34a05794bc5cbf48709001a78e9f85169a commit d0a3fd34a05794bc5cbf48709001a78e9f85169a Author: Graham Percival AuthorDate: 2024-10-06 22:57:45 +0000 Commit: John Baldwin CommitDate: 2024-12-06 18:20:19 +0000 fgets.3: document gets_s() __STDC_WANT_LIB_EXT1__ This matches the man page for qsort_s(). PR: 281828 Signed-off-by: Graham Percival Sponsored by: Tarsnap Backup Inc. --- lib/libc/stdio/fgets.3 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libc/stdio/fgets.3 b/lib/libc/stdio/fgets.3 index 0f6c3e41896c..1ae5888f5983 100644 --- a/lib/libc/stdio/fgets.3 +++ b/lib/libc/stdio/fgets.3 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 2, 2022 +.Dd December 6, 2024 .Dt FGETS 3 .Os .Sh NAME @@ -42,6 +42,7 @@ .In stdio.h .Ft char * .Fn fgets "char * restrict str" "int size" "FILE * restrict stream" +.Fd #define __STDC_WANT_LIB_EXT1__ 1 .Ft char * .Fn gets_s "char *str" "rsize_t size" .Sh DESCRIPTION From nobody Fri Dec 6 18:53:03 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4gPW539bz5ghK7; Fri, 06 Dec 2024 18:53:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4gPW4RLMz4yV4; Fri, 6 Dec 2024 18:53:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733511183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AH7FPDy+Go9schnnLuEFuGbvc1cq4tsQ46vToCsEcaY=; b=oB4chjVt5PazNpjaYdtMa/HIIzfbQ6MGQpOLmh92mO7DXqMBnZzL6SsgpzcoEqAFtvffCp 1NPUFcianqBVDiftrpg+VXZmzrP0QYqImK2s+dl6tJ5fsyvNGq/gVuv5MNqUMA8wPsYxD4 zXPu9Q6bWUxFQGPJWLa1Orl7lo3BKs60BhOFMMqj5/4On7PKHlbsLgN9ia8H+abpk4mq3g 6FD+SjjCGkxaHnDtTIl9V0CxYSNRa1gEWTtlYg0eBw/cvBm1d37PiQIloqtPTQEZDGymE6 Xgz47feQzHLlW/0OblAvXJOnwSpmbqc62tl4IrVNXGLt6oBRCG0q3u4nHpIXxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733511183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AH7FPDy+Go9schnnLuEFuGbvc1cq4tsQ46vToCsEcaY=; b=OJD10D1NrxQF7vsL0eiAyIsG0ogH+QxPGqeRYKjY5+00wblCMPaD4NftsnA43EWavwheH9 RAhlj5OuKHwUbDDDss7SauBC8cK5l71kSjAyEc2CDHHJjYiAXJV2SqYU1/9IA6rmg/MxJ2 H0gxKJdriwswtGChhPgT2XmIoh7C/zwYod4IeAuVxue8BkCqUZ9P0Mb9PnrGr0DNd99MI+ KMzH9AqILRKRFxl0GzeZZ24keg+1u/hAWePgeRgtg3lMF7IM/l9AFuFjbW8d3ysu8wk5Gw dPgRRuG9L8h628Ql95Hg27tqABJJPVQS6vH3EcBRn57MvsdIor4e+xhrzXw+NQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733511183; a=rsa-sha256; cv=none; b=bQIA8aP0jvC36uIAuAvDpXcn/DV0bb/iXelR0Yam9gIPlD/rQWzpZeeh60Ctwxb7J8H04m elrZcUeHF/tYfnJ0Kb/HWgCRikzodj34qn7BfYl9kJzU+aUA2S3vtuvdtzuPiMUH5pnFOK bXXw0gIZD2lICi6mZLTlr+yL7GNIqNe2bL2NMdpphZdUVIHbVkaJE8chdDY+blAuzMRTMy MYko2sxAFFASJmGWkIz6A9oTBgIBpMakfw5shMYywC9cksQ92OaVC6SIxuOYMtdJ6I31Bf 9ebGOhLzVZ4vLYl5SJGnYmlm/Cc6YO84VTmrxBQNUNhgUmVHbOTXs2ijMjCoEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4gPW42RNzqQ9; Fri, 6 Dec 2024 18:53:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B6Ir3V3077243; Fri, 6 Dec 2024 18:53:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6Ir32G077240; Fri, 6 Dec 2024 18:53:03 GMT (envelope-from git) Date: Fri, 6 Dec 2024 18:53:03 GMT Message-Id: <202412061853.4B6Ir32G077240@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: 984add354ede - main - find: Re-enable the -acl primary on FreeBSD List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 984add354edef8a6b4983a33f89ff62532a1556b Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=984add354edef8a6b4983a33f89ff62532a1556b commit 984add354edef8a6b4983a33f89ff62532a1556b Author: Yoshiaki Kasahara AuthorDate: 2024-12-06 18:27:32 +0000 Commit: John Baldwin CommitDate: 2024-12-06 18:29:37 +0000 find: Re-enable the -acl primary on FreeBSD This was made conditional to support cross-builds, but the relevant header wasn't included so it was never enabled for native builds. PR: 278124 Fixes: c3a6ea5ba6b5 Allow compiling usr.bin/find on Linux and Mac --- usr.bin/find/option.c | 1 + 1 file changed, 1 insertion(+) diff --git a/usr.bin/find/option.c b/usr.bin/find/option.c index 99c67eed8cd9..268803343a8d 100644 --- a/usr.bin/find/option.c +++ b/usr.bin/find/option.c @@ -33,6 +33,7 @@ */ #include +#include #include #include From nobody Fri Dec 6 18:56:09 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4gT54Hs9z5ghYm; Fri, 06 Dec 2024 18:56:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4gT52lCWz50Kp; Fri, 6 Dec 2024 18:56:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733511369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eqhirkx6d8DWnd+GAsyqMfl8KI4r6X3Zr1uBNesiqis=; b=u5Ikq1MTsXH/m1cSx9cw4jLu1KefKOOhCF2T9fc5N8XBKxBDCzVwMju5x52hJurpA0aY8f 2laT+TAd94uszR65FVimiRg07SM7txDWa/rzWPM3wR/hA/GXqLEKZzDr5jVe+WkGOt6NcS rx70xRxZ849fzOyctpfMTOzSXwd4mh+ijuHPgJjcmvadLSMnrRspfz61L0sEjCIpwA6BGV ltfC/jkvbGe461vs13Mi/ZdzlDDHe4YY6wgG4Rh6KAnk7E8Yr6ST0mw4EvNaWNhw3emiTN 1m4h1uGwOQ6c55BVj8cpmpS6dNYfpl9Nn9ZgguVNV4FSj9zhluk/axKUFMo+0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733511369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eqhirkx6d8DWnd+GAsyqMfl8KI4r6X3Zr1uBNesiqis=; b=cdTesHpKOoUTrZ88A7bhRvQn29SokEhI4ATw8cxVjhjKzgV6FvoMiYcB8AoRAuWqTdeYa8 nLqefna+D1q+UU2iea957McEfx+b4HxBQgC30p41gexMpxEwOlMdIbZ9IpRZapBRa/sfIs n1AhUlmJ5xTE13nn8qCBFayvrlxuWqFBeGkyiAM2lMMF0f0ukwJlu0yOFFgC6NxUX4qM+d 60m/eyJofZ9dj+bR9TQwqqIV5aGKSWdmBHIlHmj1YtGO00qoQWAybIJnLl1oac1VV3rCCa +vNNcfJfZm1QGdyQDfGItRoCNMn4Ykdb0ZJJLIMjHhOXRye8fflVTel11Wjz2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733511369; a=rsa-sha256; cv=none; b=fQp5icxBK5sXxZWtW97+TRzJJqyYOzZBOSUT8hWZLPB4k5E0Jrkog9usnMtDRlpWfljkTw +5UyZH2c92wWorwqmXGaImzSPQ5ioyUXmWFYKAs95ckECrQYB8kJsWH8ONmeqXy04ZkKxq Q0bTRDLncueWqAwLof15G0xGBHPHcwnYliW+XMGWgcxxAnmP8iE0PByEbTxlxZD2Ruo4o6 z9pQs20P/QBmBjpMdCgR5w6r6haHE3BAgN7KO8FxprqpVEBR66xIGAKHTzs4fJoQnkWgFU h4OdQ4psBv0sJ/geCu/PALcWkiP1OL9bJ9fbYOsV5MBTOD5lAVLq8Dlh3rLtLA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4gT51tl1zqCF; Fri, 6 Dec 2024 18:56: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 4B6Iu9hL078295; Fri, 6 Dec 2024 18:56:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6Iu9O7078292; Fri, 6 Dec 2024 18:56:09 GMT (envelope-from git) Date: Fri, 6 Dec 2024 18:56:09 GMT Message-Id: <202412061856.4B6Iu9O7078292@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 839fb85336a0 - main - intr/x86: cleanup io_apic device method tables List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 839fb85336a01848c2e3e6a833fe4604b6f452f5 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=839fb85336a01848c2e3e6a833fe4604b6f452f5 commit 839fb85336a01848c2e3e6a833fe4604b6f452f5 Author: Elliott Mitchell AuthorDate: 2024-10-03 00:47:59 +0000 Commit: Warner Losh CommitDate: 2024-12-06 18:56:32 +0000 intr/x86: cleanup io_apic device method tables Replace the { 0, 0 } construct with the preferred DEVMETHOD_END. Add a space after to indicate it is separate from the section above. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1457 --- sys/x86/x86/io_apic.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/x86/x86/io_apic.c b/sys/x86/x86/io_apic.c index 525547f9482a..36c7cba77a35 100644 --- a/sys/x86/x86/io_apic.c +++ b/sys/x86/x86/io_apic.c @@ -1052,7 +1052,8 @@ static device_method_t ioapic_pci_methods[] = { /* Device interface */ DEVMETHOD(device_probe, ioapic_pci_probe), DEVMETHOD(device_attach, ioapic_pci_attach), - { 0, 0 } + + DEVMETHOD_END }; DEFINE_CLASS_0(ioapic, ioapic_pci_driver, ioapic_pci_methods, 0); @@ -1158,7 +1159,8 @@ static device_method_t apic_methods[] = { DEVMETHOD(device_identify, apic_identify), DEVMETHOD(device_probe, apic_probe), DEVMETHOD(device_attach, apic_attach), - { 0, 0 } + + DEVMETHOD_END }; DEFINE_CLASS_0(apic, apic_driver, apic_methods, 0); From nobody Fri Dec 6 20:59:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4kCH21lqz5fsc3; Fri, 06 Dec 2024 20:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4kCH1jr6z41KF; Fri, 6 Dec 2024 20:59:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733518763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/x4Q5V9Rn8fK2+jr8kRtHXMvcO+VW0GWXLPrYTPqHZw=; b=vz8FSVk4dQfeVzC9ammvGX7FBVUPzy41w+e6rhMbBO2Cn+asB0siZGkG2tVnX0BPTdSgV8 8sP0DD1QiRmjPpYiClEJwHM9DrtoYbR0q0rywVURruubgK98yvbIs2vpOBg6lx03hyLEja dLv89LP6y+zhwvcYNRd2rZbAS/9wnwjVRMzEhCTvoEC2KjL09uSTJK1nLuvcsb+o1csb6U t70L9o2DkJ5y6lWSz/6DFLwi4LuFpRV9Tmfiyr4K1DX+rjcHTH29xSp7OUk6CxNp8gytjq W1zjVdwHlx8ECHW7ih6UxlFK6iols1pqIItx6aLr/Fq7BHzvgEmPLhnT9l2+tQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733518763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/x4Q5V9Rn8fK2+jr8kRtHXMvcO+VW0GWXLPrYTPqHZw=; b=vebsKtmpc6vPcANiMB4L+e1WzTjqFYps3VODfVACv9s4s+ORNnCwTgPinxEJYcOF3EeaU1 V0FxBqmGpWA71Oob3OpAUYJablEQEHgIr/jmj3vwa/J8J1grs2oorxMOHxDYNUMD68gH9i bJ1SZcboNafDyekQ3faLJ7JvmAUZCkHr2NfrYUvFh+SSsZKVwPpetLPy0i/Os4zLvjaZKr bK2LgM/ljLG1nCWYJP+AR4dswuNynAyQrb2TsV5onHgWArGugWUNVkmOegRD3/8XlneV06 m78dZ0zlX6+whD2TmcyEEkiIB10JYA2i/eDq6D/uyoyIGXdX43fA+Ipz5YFiMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733518763; a=rsa-sha256; cv=none; b=aJyLVnrrnoDoP9fxBrBFP05PhNSMbX7OrXZpRbi4M28aQ2bFf4Xx3SrWLZmiYe+midqw0R +KKRHcRyJo4hYzs9WlAjaSmLuQe2bl02yGK4LWqhZEyciSDCsXV4GawMmq0kiZDiV2Nue+ x3YqkNRzNi+/W6rY8IsMpflqwFj7bQyv57aBSDoSn1MGg9oJ2FVm/AmAZUpB8TX7kDs4Ui v57vFSOB6IG9DwMp0HnMFUtmE10ultuPkFvk8ZV3Ay9RkFq0gBCWY+vM4xZOmAbkBeR+vV EXnJ7Ic62CLXrRGBm2Q17OWjq27adZdmDtmCWBSBZQn/KeQ2OJllxHV/xplUMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4kCH1K7Qzt2R; Fri, 6 Dec 2024 20:59: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 4B6KxNEh004111; Fri, 6 Dec 2024 20:59:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6KxGln004076; Fri, 6 Dec 2024 20:59:16 GMT (envelope-from git) Date: Fri, 6 Dec 2024 20:59:16 GMT Message-Id: <202412062059.4B6KxGln004076@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: c1c95add8c80 - main - Merge mandoc snapshot 2024-09-22 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c1c95add8c80843ba15d784f95c361d795b1f593 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=c1c95add8c80843ba15d784f95c361d795b1f593 commit c1c95add8c80843ba15d784f95c361d795b1f593 Merge: 839fb85336a0 20de55b07cf9 Author: Brooks Davis AuthorDate: 2024-12-06 20:47:31 +0000 Commit: Brooks Davis CommitDate: 2024-12-06 20:47:31 +0000 Merge mandoc snapshot 2024-09-22 contrib/mandoc/LICENSE | 5 +- contrib/mandoc/Makefile | 13 +- contrib/mandoc/Makefile.depend | 89 ++-- contrib/mandoc/NEWS | 4 +- contrib/mandoc/TODO | 105 +++- contrib/mandoc/catman.c | 4 +- contrib/mandoc/cgi.c | 121 +++-- contrib/mandoc/chars.c | 5 +- contrib/mandoc/compat_strsep.c | 4 +- contrib/mandoc/configure | 13 +- contrib/mandoc/configure.local.example | 14 +- contrib/mandoc/dba_read.c | 4 +- contrib/mandoc/demandoc.1 | 5 +- contrib/mandoc/demandoc.c | 13 +- contrib/mandoc/eqn.c | 28 +- contrib/mandoc/eqn_parse.h | 6 +- contrib/mandoc/html.c | 17 +- contrib/mandoc/html.h | 6 +- contrib/mandoc/main.c | 43 +- contrib/mandoc/makewhatis.8 | 8 +- contrib/mandoc/man.1 | 8 +- contrib/mandoc/man.7 | 34 +- contrib/mandoc/man.c | 43 +- contrib/mandoc/man.cgi.8 | 14 +- contrib/mandoc/man_html.c | 112 +++-- contrib/mandoc/man_macro.c | 24 +- contrib/mandoc/man_term.c | 108 +++-- contrib/mandoc/man_validate.c | 68 +-- contrib/mandoc/mandoc.1 | 206 +++++--- contrib/mandoc/mandoc.c | 394 +-------------- contrib/mandoc/mandoc.css | 51 +- contrib/mandoc/mandoc.h | 32 +- contrib/mandoc/mandoc_aux.c | 5 +- contrib/mandoc/mandoc_aux.h | 8 +- contrib/mandoc/mandoc_char.7 | 21 +- contrib/mandoc/mandoc_dbg.c | 343 +++++++++++++ contrib/mandoc/mandoc_dbg.h | 55 +++ contrib/mandoc/mandoc_dbg_init.3 | 280 +++++++++++ contrib/mandoc/mandoc_escape.3 | 172 ++++--- contrib/mandoc/mandoc_headers.3 | 37 +- contrib/mandoc/mandoc_html.3 | 8 +- contrib/mandoc/mandoc_msg.c | 13 +- contrib/mandoc/mandocd.8 | 8 +- contrib/mandoc/mandocd.c | 15 +- contrib/mandoc/mandocdb.c | 75 ++- contrib/mandoc/manpath.c | 87 ++-- contrib/mandoc/mansearch.c | 6 +- contrib/mandoc/mdoc.7 | 75 +-- contrib/mandoc/mdoc_html.c | 81 ++-- contrib/mandoc/mdoc_macro.c | 12 +- contrib/mandoc/mdoc_man.c | 4 +- contrib/mandoc/mdoc_markdown.c | 6 +- contrib/mandoc/mdoc_state.c | 53 +- contrib/mandoc/mdoc_term.c | 29 +- contrib/mandoc/mdoc_validate.c | 16 +- contrib/mandoc/out.c | 39 +- contrib/mandoc/out.h | 7 +- contrib/mandoc/read.c | 9 +- contrib/mandoc/roff.7 | 43 +- contrib/mandoc/roff.c | 858 +++++++++++++++++---------------- contrib/mandoc/roff.h | 27 +- contrib/mandoc/roff_escape.c | 546 +++++++++++++++++++++ contrib/mandoc/roff_int.h | 5 +- contrib/mandoc/roff_term.c | 4 +- contrib/mandoc/st.c | 5 +- contrib/mandoc/tag.c | 74 ++- contrib/mandoc/tbl.7 | 12 +- contrib/mandoc/tbl_html.c | 15 +- contrib/mandoc/tbl_term.c | 23 +- contrib/mandoc/term.c | 137 ++++-- contrib/mandoc/term.h | 7 +- contrib/mandoc/term_ascii.c | 9 +- contrib/mandoc/term_tab.c | 24 +- contrib/mandoc/tree.c | 14 +- usr.bin/mandoc/Makefile | 2 + 75 files changed, 3215 insertions(+), 1655 deletions(-) diff --cc contrib/mandoc/Makefile index 48c4741812b6,000000000000..cd3f16652069 mode 100644,000000..100644 --- a/contrib/mandoc/Makefile +++ b/contrib/mandoc/Makefile @@@ -1,609 -1,0 +1,618 @@@ - # $Id: Makefile,v 1.540 2021/09/21 11:04:40 schwarze Exp $ ++# $Id: Makefile,v 1.543 2023/10/19 11:45:42 schwarze Exp $ +# - # Copyright (c) 2011, 2013-2021 Ingo Schwarze ++# Copyright (c) 2011, 2013-2022 Ingo Schwarze +# Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons +# +# Permission to use, copy, modify, and distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +VERSION = 1.14.6 + +# === LIST OF FILES ==================================================== + +TESTSRCS = test-attribute.c \ + test-be32toh.c \ + test-cmsg.c \ + test-dirent-namlen.c \ + test-EFTYPE.c \ + test-err.c \ + test-fts.c \ + test-getline.c \ + test-getsubopt.c \ + test-isblank.c \ + test-mkdtemp.c \ + test-mkstemps.c \ + test-nanosleep.c \ + test-noop.c \ + test-ntohl.c \ + test-O_DIRECTORY.c \ + test-ohash.c \ + test-PATH_MAX.c \ + test-pledge.c \ + test-progname.c \ + test-reallocarray.c \ + test-recallocarray.c \ + test-recvmsg.c \ + test-rewb-bsd.c \ + test-rewb-sysv.c \ + test-sandbox_init.c \ + test-strcasestr.c \ + test-stringlist.c \ + test-strlcat.c \ + test-strlcpy.c \ + test-strndup.c \ + test-strptime.c \ + test-strsep.c \ + test-strtonum.c \ + test-vasprintf.c \ + test-wchar.c + +SRCS = arch.c \ + att.c \ + catman.c \ + cgi.c \ + chars.c \ + compat_err.c \ + compat_fts.c \ + compat_getline.c \ + compat_getsubopt.c \ + compat_isblank.c \ + compat_mkdtemp.c \ + compat_mkstemps.c \ + compat_ohash.c \ + compat_progname.c \ + compat_reallocarray.c \ + compat_recallocarray.c \ + compat_strcasestr.c \ + compat_stringlist.c \ + compat_strlcat.c \ + compat_strlcpy.c \ + compat_strndup.c \ + compat_strsep.c \ + compat_strtonum.c \ + compat_vasprintf.c \ + dba.c \ + dba_array.c \ + dba_read.c \ + dba_write.c \ + dbm.c \ + dbm_map.c \ + demandoc.c \ + eqn.c \ + eqn_html.c \ + eqn_term.c \ + html.c \ + lib.c \ + main.c \ + man.c \ + man_html.c \ + man_macro.c \ + man_term.c \ + man_validate.c \ + mandoc.c \ + mandoc_aux.c \ ++ mandoc_dbg.c \ + mandoc_msg.c \ + mandoc_ohash.c \ + mandoc_xr.c \ + mandocd.c \ + mandocdb.c \ + manpath.c \ + mansearch.c \ + mdoc.c \ + mdoc_argv.c \ + mdoc_html.c \ + mdoc_macro.c \ + mdoc_man.c \ + mdoc_markdown.c \ + mdoc_state.c \ + mdoc_term.c \ + mdoc_validate.c \ + msec.c \ + out.c \ + preconv.c \ + read.c \ + roff.c \ ++ roff_escape.c \ + roff_html.c \ + roff_term.c \ + roff_validate.c \ + soelim.c \ + st.c \ + tag.c \ + tbl.c \ + tbl_data.c \ + tbl_html.c \ + tbl_layout.c \ + tbl_opts.c \ + tbl_term.c \ + term.c \ + term_ascii.c \ + term_ps.c \ + term_tab.c \ + term_tag.c \ + tree.c + +DISTFILES = INSTALL \ + LICENSE \ + Makefile \ + Makefile.depend \ + NEWS \ + TODO \ + apropos.1 \ + catman.8 \ + cgi.h.example \ + compat_fts.h \ + compat_ohash.h \ + compat_stringlist.h \ + configure \ + configure.local.example \ + dba.h \ + dba_array.h \ + dba_write.h \ + dbm.h \ + dbm_map.h \ + demandoc.1 \ + eqn.7 \ + eqn.h \ + eqn_parse.h \ + gmdiff \ + html.h \ + lib.in \ + libman.h \ + libmandoc.h \ + libmdoc.h \ + main.h \ + makewhatis.8 \ + man.1 \ + man.7 \ + man.cgi.3 \ + man.cgi.8 \ + man.conf.5 \ + man.h \ + man.options.1 \ + manconf.h \ + mandoc.1 \ + mandoc.3 \ + mandoc.css \ + mandoc.db.5 \ + mandoc.h \ + mandoc_aux.h \ + mandoc_char.7 \ ++ mandoc_dbg.h \ ++ mandoc_dbg_init.3 \ + mandoc_escape.3 \ + mandoc_headers.3 \ + mandoc_html.3 \ + mandoc_malloc.3 \ + mandoc_ohash.h \ + mandoc_parse.h \ + mandoc_xr.h \ + mandocd.8 \ + mansearch.3 \ + mansearch.h \ + mchars_alloc.3 \ + mdoc.7 \ + mdoc.h \ + msec.in \ + out.h \ + predefs.in \ + roff.7 \ + roff.h \ + roff_int.h \ + soelim.1 \ + tag.h \ + tbl.3 \ + tbl.7 \ + tbl.h \ + tbl_int.h \ + tbl_parse.h \ + term.h \ + term_tag.h \ + $(SRCS) \ + $(TESTSRCS) + +LIBMAN_OBJS = man.o \ + man_macro.o \ + man_validate.o + +LIBMDOC_OBJS = att.o \ + lib.o \ + mdoc.o \ + mdoc_argv.o \ + mdoc_macro.o \ + mdoc_state.o \ + mdoc_validate.o \ + st.o + +LIBROFF_OBJS = eqn.o \ + roff.o \ ++ roff_escape.o \ + roff_validate.o \ + tbl.o \ + tbl_data.o \ + tbl_layout.o \ + tbl_opts.o + +LIBMANDOC_OBJS = $(LIBMAN_OBJS) \ + $(LIBMDOC_OBJS) \ + $(LIBROFF_OBJS) \ ++ $(DEBUG_OBJS) \ + arch.o \ + chars.o \ + mandoc.o \ + mandoc_aux.o \ + mandoc_msg.o \ + mandoc_ohash.o \ + mandoc_xr.o \ + msec.o \ + preconv.o \ + read.o \ + tag.o + +ALL_COBJS = compat_err.o \ + compat_fts.o \ + compat_getline.o \ + compat_getsubopt.o \ + compat_isblank.o \ + compat_mkdtemp.o \ + compat_mkstemps.o \ + compat_ohash.o \ + compat_progname.o \ + compat_reallocarray.o \ + compat_recallocarray.o \ + compat_strcasestr.o \ + compat_stringlist.o \ + compat_strlcat.o \ + compat_strlcpy.o \ + compat_strndup.o \ + compat_strsep.o \ + compat_strtonum.o \ + compat_vasprintf.o + +MANDOC_HTML_OBJS = eqn_html.o \ + html.o \ + man_html.o \ + mdoc_html.o \ + roff_html.o \ + tbl_html.o + +MANDOC_TERM_OBJS = eqn_term.o \ + man_term.o \ + mdoc_term.o \ + roff_term.o \ + term.o \ + term_ascii.o \ + term_ps.o \ + term_tab.o \ + term_tag.o \ + tbl_term.o + +DBM_OBJS = dbm.o \ + dbm_map.o \ + mansearch.o + +DBA_OBJS = dba.o \ + dba_array.o \ + dba_read.o \ + dba_write.o \ + mandocdb.o + +MAIN_OBJS = $(MANDOC_HTML_OBJS) \ + $(MANDOC_MAN_OBJS) \ + $(MANDOC_TERM_OBJS) \ + $(DBM_OBJS) \ + $(DBA_OBJS) \ + main.o \ + manpath.o \ + mdoc_man.o \ + mdoc_markdown.o \ + out.o \ + tree.o + +CGI_OBJS = $(MANDOC_HTML_OBJS) \ + $(DBM_OBJS) \ + cgi.o \ + out.o + +MANDOCD_OBJS = $(MANDOC_HTML_OBJS) \ + $(MANDOC_TERM_OBJS) \ + mandocd.o \ + out.o + +DEMANDOC_OBJS = demandoc.o + +WWW_MANS = apropos.1.html \ + demandoc.1.html \ + man.1.html \ + man.options.1.html \ + mandoc.1.html \ + soelim.1.html \ + man.cgi.3.html \ + mandoc.3.html \ ++ mandoc_dbg_init.3.html \ + mandoc_escape.3.html \ + mandoc_headers.3.html \ + mandoc_html.3.html \ + mandoc_malloc.3.html \ + mansearch.3.html \ + mchars_alloc.3.html \ + tbl.3.html \ + man.conf.5.html \ + mandoc.db.5.html \ + eqn.7.html \ + man.7.html \ + mandoc_char.7.html \ + mdoc.7.html \ + roff.7.html \ + tbl.7.html \ + catman.8.html \ + makewhatis.8.html \ + man.cgi.8.html \ + mandocd.8.html + +WWW_INCS = eqn.h.html \ + html.h.html \ + man.h.html \ + manconf.h.html \ + mandoc.h.html \ + mandoc_aux.h.html \ + mandoc_parse.h.html \ + mansearch.h.html \ + mdoc.h.html \ + roff.h.html \ + tbl.h.html \ + tbl_int.h.html \ + tbl_parse.h.html + +# === USER CONFIGURATION =============================================== + +include Makefile.local + +# === DEPENDENCY HANDLING ============================================== + +all: mandoc man demandoc soelim $(BUILD_TARGETS) Makefile.local + +install: base-install $(INSTALL_TARGETS) + +www: $(WWW_MANS) $(WWW_INCS) + +$(WWW_MANS) $(WWW_INCS): mandoc + +.PHONY: base-install cgi-install install www-install +.PHONY: clean distclean depend + +include Makefile.depend + +# === TARGETS CONTAINING SHELL COMMANDS ================================ + +distclean: clean + rm -f Makefile.local config.h config.h.old config.log config.log.old + +clean: + rm -f libmandoc.a $(LIBMANDOC_OBJS) $(ALL_COBJS) + rm -f mandoc man $(MAIN_OBJS) + rm -f man.cgi $(CGI_OBJS) + rm -f mandocd catman catman.o $(MANDOCD_OBJS) + rm -f demandoc $(DEMANDOC_OBJS) + rm -f soelim soelim.o + rm -f $(WWW_MANS) $(WWW_INCS) mandoc*.tar.gz mandoc*.sha256 + rm -f Makefile.tmp1 Makefile.tmp2 + rm -rf *.dSYM + +base-install: mandoc demandoc soelim + mkdir -p $(DESTDIR)$(BINDIR) + mkdir -p $(DESTDIR)$(SBINDIR) + mkdir -p $(DESTDIR)$(MANDIR)/man1 + mkdir -p $(DESTDIR)$(MANDIR)/man5 + mkdir -p $(DESTDIR)$(MANDIR)/man7 + mkdir -p $(DESTDIR)$(MANDIR)/man8 ++ mkdir -p $(DESTDIR)$(MISCDIR) + $(INSTALL_PROGRAM) mandoc demandoc $(DESTDIR)$(BINDIR) + $(INSTALL_PROGRAM) soelim $(DESTDIR)$(BINDIR)/$(BINM_SOELIM) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_MAN) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_APROPOS) + cd $(DESTDIR)$(BINDIR) && $(LN) mandoc $(BINM_WHATIS) + cd $(DESTDIR)$(SBINDIR) && \ + $(LN) ${BIN_FROM_SBIN}/mandoc $(BINM_MAKEWHATIS) + $(INSTALL_MAN) mandoc.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1 + $(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1 + $(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1 + $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 + cd $(DESTDIR)$(MANDIR)/man1 && $(LN) $(BINM_APROPOS).1 $(BINM_WHATIS).1 + $(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/$(MANM_MANCONF).5 + $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5 + $(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_MAN).7 + $(INSTALL_MAN) mdoc.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_MDOC).7 + $(INSTALL_MAN) roff.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_ROFF).7 + $(INSTALL_MAN) eqn.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_EQN).7 + $(INSTALL_MAN) tbl.7 $(DESTDIR)$(MANDIR)/man7/$(MANM_TBL).7 + $(INSTALL_MAN) mandoc_char.7 $(DESTDIR)$(MANDIR)/man7 + $(INSTALL_MAN) makewhatis.8 \ + $(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8 ++ $(INSTALL_DATA) mandoc.css $(DESTDIR)$(MISCDIR) + +lib-install: libmandoc.a + mkdir -p $(DESTDIR)$(LIBDIR) + mkdir -p $(DESTDIR)$(INCLUDEDIR) + mkdir -p $(DESTDIR)$(MANDIR)/man3 + $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) + $(INSTALL_LIB) eqn.h man.h mandoc.h mandoc_aux.h mandoc_parse.h \ + mdoc.h roff.h tbl.h $(DESTDIR)$(INCLUDEDIR) + $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \ + mansearch.3 mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3 + +cgi-install: man.cgi + mkdir -p $(DESTDIR)$(CGIBINDIR) + mkdir -p $(DESTDIR)$(HTDOCDIR) + $(INSTALL_PROGRAM) man.cgi $(DESTDIR)$(CGIBINDIR) + $(INSTALL_DATA) mandoc.css $(DESTDIR)$(HTDOCDIR) + +catman-install: mandocd catman + mkdir -p $(DESTDIR)$(SBINDIR) + mkdir -p $(DESTDIR)$(MANDIR)/man8 + $(INSTALL_PROGRAM) mandocd $(DESTDIR)$(SBINDIR) + $(INSTALL_PROGRAM) catman $(DESTDIR)$(SBINDIR)/$(BINM_CATMAN) + $(INSTALL_MAN) mandocd.8 $(DESTDIR)$(MANDIR)/man8 + $(INSTALL_MAN) catman.8 $(DESTDIR)$(MANDIR)/man8/$(BINM_CATMAN).8 + +uninstall: + rm -f $(DESTDIR)$(BINDIR)/mandoc + rm -f $(DESTDIR)$(BINDIR)/demandoc + rm -f $(DESTDIR)$(BINDIR)/$(BINM_SOELIM) + rm -f $(DESTDIR)$(BINDIR)/$(BINM_MAN) + rm -f $(DESTDIR)$(BINDIR)/$(BINM_APROPOS) + rm -f $(DESTDIR)$(BINDIR)/$(BINM_WHATIS) + rm -f $(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS) + rm -f $(DESTDIR)$(MANDIR)/man1/mandoc.1 + rm -f $(DESTDIR)$(MANDIR)/man1/demandoc.1 + rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1 + rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1 + rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 + rm -f $(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1 + rm -f $(DESTDIR)$(MANDIR)/man5/$(MANM_MANCONF).5 + rm -f $(DESTDIR)$(MANDIR)/man5/mandoc.db.5 + rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_MAN).7 + rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_MDOC).7 + rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_ROFF).7 + rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_EQN).7 + rm -f $(DESTDIR)$(MANDIR)/man7/$(MANM_TBL).7 + rm -f $(DESTDIR)$(MANDIR)/man7/mandoc_char.7 + rm -f $(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8 + rm -f $(DESTDIR)$(CGIBINDIR)/man.cgi + rm -f $(DESTDIR)$(HTDOCDIR)/mandoc.css + rm -f $(DESTDIR)$(SBINDIR)/mandocd + rm -f $(DESTDIR)$(SBINDIR)/$(BINM_CATMAN) + rm -f $(DESTDIR)$(MANDIR)/man8/mandocd.8 + rm -f $(DESTDIR)$(MANDIR)/man8/$(BINM_CATMAN).8 + rm -f $(DESTDIR)$(LIBDIR)/libmandoc.a + rm -f $(DESTDIR)$(MANDIR)/man3/mandoc.3 + rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_escape.3 + rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_malloc.3 + rm -f $(DESTDIR)$(MANDIR)/man3/mansearch.3 + rm -f $(DESTDIR)$(MANDIR)/man3/mchars_alloc.3 + rm -f $(DESTDIR)$(MANDIR)/man3/tbl.3 + rm -f $(DESTDIR)$(INCLUDEDIR)/eqn.h + rm -f $(DESTDIR)$(INCLUDEDIR)/man.h + rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc.h + rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc_aux.h + rm -f $(DESTDIR)$(INCLUDEDIR)/mandoc_parse.h + rm -f $(DESTDIR)$(INCLUDEDIR)/mdoc.h + rm -f $(DESTDIR)$(INCLUDEDIR)/roff.h + rm -f $(DESTDIR)$(INCLUDEDIR)/tbl.h + [ ! -e $(DESTDIR)$(INCLUDEDIR) ] || rmdir $(DESTDIR)$(INCLUDEDIR) + +regress: all + cd regress && ./regress.pl + +regress-clean: + cd regress && ./regress.pl . clean + +Makefile.local config.h: configure $(TESTSRCS) + @echo "$@ is out of date; please run ./configure" + @exit 1 + +libmandoc.a: $(MANDOC_COBJS) $(LIBMANDOC_OBJS) + $(AR) rs $@ $(MANDOC_COBJS) $(LIBMANDOC_OBJS) + +mandoc: $(MAIN_OBJS) libmandoc.a + $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD) + +man: mandoc + $(LN) mandoc man + +man.cgi: $(CGI_OBJS) libmandoc.a + $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD) + +mandocd: $(MANDOCD_OBJS) libmandoc.a + $(CC) -o $@ $(LDFLAGS) $(MANDOCD_OBJS) libmandoc.a $(LDADD) + +catman: catman.o libmandoc.a + $(CC) -o $@ $(LDFLAGS) catman.o libmandoc.a $(LDADD) + +demandoc: $(DEMANDOC_OBJS) libmandoc.a + $(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) libmandoc.a $(LDADD) + +soelim: $(SOELIM_COBJS) soelim.o + $(CC) -o $@ $(LDFLAGS) $(SOELIM_COBJS) soelim.o + +# --- maintainer targets --- + +www-install: www + $(INSTALL_DATA) mandoc.css $(HTDOCDIR) + $(INSTALL_DATA) $(WWW_MANS) $(HTDOCDIR)/man + $(INSTALL_DATA) $(WWW_INCS) $(HTDOCDIR)/includes + +depend: config.h + ./configure -depend + mkdep -f Makefile.tmp1 $(CFLAGS) $(SRCS) + perl -e 'undef $$/; $$_ = <>; s|/usr/include/\S+||g; \ + s|\\\n||g; s| +| |g; s| $$||mg; print;' \ + Makefile.tmp1 > Makefile.tmp2 + rm Makefile.tmp1 + mv Makefile.tmp2 Makefile.depend + +regress-distclean: + @find regress \ + -name '.#*' -o \ + -name '*.orig' -o \ + -name '*.rej' -o \ + -name '*.core' \ + -exec rm -i {} \; + +regress-distcheck: + @find regress ! -type d ! -type f + @find regress -type f \ + ! -path '*/CVS/*' \ + ! -name Makefile \ + ! -name Makefile.inc \ + ! -name '*.in' \ + ! -name '*.out_ascii' \ + ! -name '*.out_utf8' \ + ! -name '*.out_html' \ + ! -name '*.out_markdown' \ + ! -name '*.out_lint' \ + ! -path regress/regress.pl \ + ! -path regress/regress.pl.1 + +dist: mandoc-$(VERSION).sha256 + +mandoc-$(VERSION).sha256: mandoc-$(VERSION).tar.gz + sha256 mandoc-$(VERSION).tar.gz > $@ + +mandoc-$(VERSION).tar.gz: $(DISTFILES) + ls regress/*/*/*.mandoc_* && exit 1 || true + mkdir -p .dist/mandoc-$(VERSION)/ + $(INSTALL) -m 0644 $(DISTFILES) .dist/mandoc-$(VERSION) + cp -pR regress .dist/mandoc-$(VERSION) + find .dist/mandoc-$(VERSION)/regress \ + -type d -name CVS -print0 | xargs -0 rm -rf + chmod 755 .dist/mandoc-$(VERSION)/configure + ( cd .dist/ && tar zcf ../$@ mandoc-$(VERSION) ) + rm -rf .dist/ + +dist-install: dist + $(INSTALL_DATA) mandoc-$(VERSION).tar.gz mandoc-$(VERSION).sha256 \ + $(HTDOCDIR)/snapshots + +# === SUFFIX RULES ===================================================== + +.SUFFIXES: .1 .3 .5 .7 .8 .h +.SUFFIXES: .1.html .3.html .5.html .7.html .8.html .h.html + +.h.h.html: + highlight -I $< > $@ + +.1.1.html .3.3.html .5.5.html .7.7.html .8.8.html: + ./mandoc -Thtml -Wwarning,stop \ + -O 'style=/mandoc.css,man=/man/%N.%S.html;https://man.openbsd.org/%N.%S,includes=/includes/%I.html' \ + $< > $@ diff --cc contrib/mandoc/TODO index 4135a3eca6c8,970aa936c16c..58d0d6937746 --- a/contrib/mandoc/TODO +++ b/contrib/mandoc/TODO @@@ -562,8 -627,14 +627,12 @@@ are mere guesses, and some may be wrong reported again by Nicolas Joly Thu, 1 Mar 2012 13:41:26 +0100 via wiz@ 5 Mar reported again by Franco Fichtner Fri, 27 Sep 2013 21:02:28 +0200 reported again by Bruce Evans Fri, 17 Feb 2017 21:22:44 +0100 via bapt@ + https://reviews.freebsd.org/D35245 + even groff_mdoc(7) uses this: Nab Sun, 5 Jun 2022 22:16:37 +0200 + When implementing this, try to avoid breaking existing manuals, + or at least fix them: Jan Stary Sun, 5 Jun 2022 22:48:05 +0200 loc *** exist *** algo *** size ** imp *** - An easy partial fix would be to just skip the first word if it starts - with a dot, including any following white space, when measuring. - loc * exist * algo * size * imp *** + An easy partial fix has been implemented as skip_leading_dot_word(). - The \& zero-width character counts as output. That is, when it is alone on a line between two .Pp, diff --cc contrib/mandoc/mandoc_dbg.c index 000000000000,7d5bf3b925df..022ea57a82b5 mode 000000,100644..100644 --- a/contrib/mandoc/mandoc_dbg.c +++ b/contrib/mandoc/mandoc_dbg.c @@@ -1,0 -1,342 +1,343 @@@ + /* $Id: mandoc_dbg.c,v 1.1 2022/04/14 16:43:44 schwarze Exp $ */ + /* + * Copyright (c) 2021, 2022 Ingo Schwarze + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + #include "config.h" + + #include + + #if HAVE_ERR + #include + #endif + #include + #include + #include + #include + #include + #include + #include + + #if HAVE_OHASH + #include + #else + #include "compat_ohash.h" + #endif + + #define DEBUG_NODEF 1 + #include "mandoc_aux.h" ++#include "mandoc_dbg.h" + #include "mandoc.h" + + /* Store information about one allocation. */ + struct dhash_entry { + const char *file; + int line; + const char *func; + size_t num; + size_t size; + void *ptr; + }; + + /* Store information about all allocations. */ + static struct ohash dhash_table; + static FILE *dhash_fp; + static int dhash_aflag; + static int dhash_fflag; + static int dhash_lflag; + static int dhash_nflag; + static int dhash_sflag; + + static void *dhash_alloc(size_t, void *); + static void *dhash_calloc(size_t, size_t, void *); + static void dhash_free(void *, void *); + static unsigned int dhash_slot(void *); + static void dhash_register(const char *, int, const char *, + size_t, size_t, void *, const char *); + static void dhash_print(struct dhash_entry *); + static void dhash_purge(const char *, int, const char *, void *); + + + /* *** Debugging wrappers of public API functions. ************************ */ + + int + mandoc_dbg_asprintf(const char *file, int line, + char **dest, const char *fmt, ...) + { + va_list ap; + int ret; + + va_start(ap, fmt); + ret = vasprintf(dest, fmt, ap); + va_end(ap); + + if (ret == -1) + err((int)MANDOCLEVEL_SYSERR, NULL); + + dhash_register(file, line, "asprintf", 1, strlen(*dest) + 1, + *dest, *dest); + + return ret; + } + + void * + mandoc_dbg_calloc(size_t num, size_t size, const char *file, int line) + { + void *ptr = mandoc_calloc(num, size); + dhash_register(file, line, "calloc", num, size, ptr, NULL); + return ptr; + } + + void * + mandoc_dbg_malloc(size_t size, const char *file, int line) + { + void *ptr = mandoc_malloc(size); + dhash_register(file, line, "malloc", 1, size, ptr, NULL); + return ptr; + } + + void * + mandoc_dbg_realloc(void *ptr, size_t size, const char *file, int line) + { + dhash_purge(file, line, "realloc", ptr); + ptr = mandoc_realloc(ptr, size); + dhash_register(file, line, "realloc", 1, size, ptr, NULL); + return ptr; + } + + void * + mandoc_dbg_reallocarray(void *ptr, size_t num, size_t size, + const char *file, int line) + { + dhash_purge(file, line, "reallocarray", ptr); + ptr = mandoc_reallocarray(ptr, num, size); + dhash_register(file, line, "reallocarray", num, size, ptr, NULL); + return ptr; + } + + void * + mandoc_dbg_recallocarray(void *ptr, size_t oldnum, size_t num, size_t size, + const char *file, int line) + { + dhash_purge(file, line, "recallocarray", ptr); + ptr = mandoc_recallocarray(ptr, oldnum, num, size); + dhash_register(file, line, "recallocarray", num, size, ptr, NULL); + return ptr; + } + + char * + mandoc_dbg_strdup(const char *ptr, const char *file, int line) + { + char *p = mandoc_strdup(ptr); + dhash_register(file, line, "strdup", 1, strlen(p) + 1, p, ptr); + return p; + } + + char * + mandoc_dbg_strndup(const char *ptr, size_t sz, const char *file, int line) + { + char *p = mandoc_strndup(ptr, sz); + dhash_register(file, line, "strndup", 1, strlen(p) + 1, p, NULL); + return p; + } + + void + mandoc_dbg_free(void *ptr, const char *file, int line) + { + dhash_purge(file, line, "free", ptr); + free(ptr); + } + + + /* *** Memory allocation callbacks for the debugging table. *************** */ + + static void * + dhash_alloc(size_t sz, void *arg) + { + return malloc(sz); + } + + static void * + dhash_calloc(size_t n, size_t sz, void *arg) + { + return calloc(n, sz); + } + + static void + dhash_free(void *p, void *arg) + { + free(p); + } + + + /* *** Debugging utility functions. *************************************** */ + + /* Initialize the debugging table, to be called from the top of main(). */ + void + mandoc_dbg_init(int argc, char *argv[]) + { + struct ohash_info info; + char *dhash_fn; + int argi; + + info.alloc = dhash_alloc; + info.calloc = dhash_calloc; + info.free = dhash_free; + info.data = NULL; + info.key_offset = offsetof(struct dhash_entry, ptr); + ohash_init(&dhash_table, 18, &info); + + dhash_fp = stderr; + if ((dhash_fn = getenv("DEBUG_MEMORY")) == NULL) + return; + + dhash_sflag = 1; + for(;; dhash_fn++) { + switch (*dhash_fn) { + case '\0': + break; + case 'A': + dhash_aflag = 1; + continue; + case 'F': + dhash_fflag = 1; + continue; + case 'L': + dhash_lflag = 1; + continue; + case 'N': + dhash_nflag = 1; + continue; + case '/': + if ((dhash_fp = fopen(dhash_fn, "a+e")) == NULL) + err((int)MANDOCLEVEL_SYSERR, "%s", dhash_fn); + break; + default: + errx((int)MANDOCLEVEL_BADARG, + "invalid char '%c' in $DEBUG_MEMORY", + *dhash_fn); + } + break; + } + if (setvbuf(dhash_fp, NULL, _IOLBF, 0) != 0) + err((int)MANDOCLEVEL_SYSERR, "setvbuf"); + + fprintf(dhash_fp, "P %d", getpid()); + for (argi = 0; argi < argc; argi++) + fprintf(dhash_fp, " [%s]", argv[argi]); + fprintf(dhash_fp, "\n"); + } + + void + mandoc_dbg_name(const char *name) + { + if (dhash_nflag) *** 241 LINES SKIPPED *** From nobody Fri Dec 6 20:59:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4kCJ3kQcz5fshd; Fri, 06 Dec 2024 20:59:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4kCJ2pNfz41V9; Fri, 6 Dec 2024 20:59:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733518764; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WJ4GVlz4KCkT54Ze/ZzD9yTHrk6B5C3jpt/bE8dd/VQ=; b=kAoccpATXtyMkAkMOMo2LsNFieH6Z3r4OkB+FAvJwQDaRXNxE5sivyQ7AA5OYFMAflj9/x xE2bM+tPILmCrfE0rGXAvxNfk8RAt42pDUHnLL3WUG0y82Hp/0cjXa6Pxj7uQqh7QZbMLH owJhjBBisRdFZo90RShUGpndrmOgXjdjywmHcEFjH7ERHCbkCX5wKumXU7zUxVE2qBXb30 u5R3CS5DRbLOyXVpeRhMV4aRKqn+z3X6udatDFFH6DVXkPZqlM2T1Mbj0NpF5/21kq8gom x1bgMjUItJ/86YI2VA6XnNslF0Dnmw8USQikJRuyWb7hAzu5DD0DnH8tqrJw1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733518764; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WJ4GVlz4KCkT54Ze/ZzD9yTHrk6B5C3jpt/bE8dd/VQ=; b=vFu50iZ0jEP52MTCN+RXi4XwP4WotYRWrpBdxlks/XMStxy20GWGyA3seccfWeTsuXsfAI eP1Vn+S/cAgCOkVOt9KE9ZFGaakJTbh/QLPIJax919fky7kO9efuoHRjHoZhLJn/Sn2XlQ 34WDknXOdSKXJKZHQ1BLGHg/D3aEM7v6do85Yp8bze3OEWTOZOTOwvqTRWxxHg5KUgNU7f 9n31N6wbBqV3sosYowPDPZZmW2b2Ete/Odg4/reP3W+gOLwLioQWATN3WUqICDRe7pZ1J1 GxmAM3ba6I5l1y9Z80zCuWalPM6F0fts81OrK78LbGq7/7uYNqVw0JxlxIoHNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733518764; a=rsa-sha256; cv=none; b=HB1thyjcZ8bWjRXOJ990bAuYyOFh696+gnhUe8TYKWGE3Rnwujy22nE2Lcd3khSGzfHQfa FV4dTFui2uoJ+KR5SO+AhReAdPuE0DYgu2dPnNGhHNfoEmIjv9ILyMeYQw8DfG8KUDcyCh v+0eSB32Gql2f7a6M5+ZhcYed3vGE8B4o2W9Fl3dXtlioDgg8SJOEap/zwL1gqp4wY1v2p JJ0ilacUbkhtC28t9zapjuCbLGPNYp0rjqCIKQPH3ooLYe8TWO0doNUnlFDJPxK1ck8aEt 8WqnmooUVzSBGu1lj1Ow5fB8yZKOqWd+UQ7lGtKXLV2jMrjw1kDYmBkqUHlomQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4kCJ2PvTzt93; Fri, 6 Dec 2024 20:59: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 4B6KxO69004165; Fri, 6 Dec 2024 20:59:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6KxOrg004162; Fri, 6 Dec 2024 20:59:24 GMT (envelope-from git) Date: Fri, 6 Dec 2024 20:59:24 GMT Message-Id: <202412062059.4B6KxOrg004162@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Brooks Davis Subject: git: 0fd7b4655666 - main - mandoc: remove duplicate libstdthreads entry List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0fd7b4655666fce13c43d4562e5f9e54ad32145e Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=0fd7b4655666fce13c43d4562e5f9e54ad32145e commit 0fd7b4655666fce13c43d4562e5f9e54ad32145e Author: Brooks Davis AuthorDate: 2024-12-06 20:48:13 +0000 Commit: Brooks Davis CommitDate: 2024-12-06 20:48:13 +0000 mandoc: remove duplicate libstdthreads entry --- contrib/mandoc/lib.in | 1 - 1 file changed, 1 deletion(-) diff --git a/contrib/mandoc/lib.in b/contrib/mandoc/lib.in index bde0121f08f6..6b17aab5b27b 100644 --- a/contrib/mandoc/lib.in +++ b/contrib/mandoc/lib.in @@ -119,7 +119,6 @@ LINE("libsbuf", "Safe String Composition Library (libsbuf, \\-lsbuf)") LINE("libsdp", "Bluetooth Service Discovery Protocol User Library (libsdp, \\-lsdp)") LINE("libssp", "Buffer Overflow Protection Library (libssp, \\-lssp)") LINE("libstdthreads", "C11 Threads Library (libstdthreads, \\-lstdthreads)") -LINE("libstdthreads", "C11 Threads Library (libstdthreads, \\-lstdthreads)") LINE("libSystem", "System Library (libSystem, \\-lSystem)") LINE("libsysdecode", "System Argument Decoding Library (libsysdecode, \\-lsysdecode)") LINE("libtacplus", "TACACS+ Client Library (libtacplus, \\-ltacplus)") From nobody Fri Dec 6 21:42:39 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4l9D0qHbz5fwRB; Fri, 06 Dec 2024 21:42:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4l9D0J4Pz44rn; Fri, 6 Dec 2024 21:42:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733521360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qIL+x9+rBVmwU+oxyI3nFkuNpjbBV+Jj+lFdxpbmBdQ=; b=BxvFKlOd9hI2GVHaLWyVBho4E4S3ZYYrScTdqTAovG+pS6fW3dnEH/a6sUlmRWk2WAwsMr YWwJvZ/MT0Cx8yLQhjzUD+f3RUSRg9goqfY0re20rAoQ4PIA2fOcm3bQ5IM1DNVLRzght0 csV2q9LnUonjlX9qVJoUJJLcSzOUq/UQkrpD9qAAUW5riFeG30nABpyZWVmJwAxnfY0xeU AlsGrbMhvalQKSEfw/GShovl3ISaZs1SIAVrduptOr7DM1k2ypLi118p5hsAaXvpIy+Ko+ dusMx+NJWe9Q0fTj5o4sGI5FBwtK9pdxlOP1ZYpqrKVj4aoaCSo+KA5on2ImTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733521360; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qIL+x9+rBVmwU+oxyI3nFkuNpjbBV+Jj+lFdxpbmBdQ=; b=aqWrMQh3bynBrGyoe1QCzWPq1U8O6XPxqrgp++x8OaMHYyrhOR3+XBdOcnoMHxgg92eW6C lvSWansyr/sqHBjWyBOQMOpTHGzgx5/rXYyWrb4f8iacjXxIW2BG+PfNrrM/uXtzElAXwH zLyhJ5DIa5V3MVsjUGLzzcowTHBjl3g5ywVFCncwmg/Y+oBmDlZB0yNLLWdShs1RA5/3jQ XJMbRzL3P6jPMvRAsGBONpGFG90Y5kjdEN1dfQHu0De5hpV6U46gTA38hxW8TZsx5p2IFO JSBHmwpvMuYDb0aq2tWuP47vUTv4sxss6C2/k7AftfYIoeWwYF2z+5Tvj62EeA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733521360; a=rsa-sha256; cv=none; b=p3bvBTFjyIJWzJ/3hGSBynExfkDJmmBru1THkNFoww2kZD+h2tRr/Vfay5H9KYmckC5f4n V5ensqYA/NAiAj+DjhLZjxshwW9LDeHeGcTrIXi/i0iI1SdV97h4A038MT+RJPaVdNW5rX QoKxhzT3t1WfdG+mTkhg6DlKTlr1Zw0aHUUlP3ivyBZtSXk9p5vD2nTSXiS3bEg8NZz5Mc E7ag1TN0pNLljx5GMt+iTVdmjWT6xZJFBN3hZEbAWyiuqFV6jNqAQIXgTu7fOjmEl5rPs3 L4ALJAnnNM5quVsM/ifEaI7fERBeAK3PUABFLwXgzKNu4QF+jWMjZ4I/Pud6ow== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4l9C70tTzvqL; Fri, 6 Dec 2024 21:42: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 4B6Lgd84095069; Fri, 6 Dec 2024 21:42:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6LgdPM095066; Fri, 6 Dec 2024 21:42:39 GMT (envelope-from git) Date: Fri, 6 Dec 2024 21:42:39 GMT Message-Id: <202412062142.4B6LgdPM095066@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: 831531a82e0f - main - prison_proc_iterate(): make it work for prison0 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 831531a82e0f1d1d7b97e50c0587639322ed8d2e Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=831531a82e0f1d1d7b97e50c0587639322ed8d2e commit 831531a82e0f1d1d7b97e50c0587639322ed8d2e Author: Konstantin Belousov AuthorDate: 2024-12-06 17:01:00 +0000 Commit: Konstantin Belousov CommitDate: 2024-12-06 21:42:26 +0000 prison_proc_iterate(): make it work for prison0 Do not exclude processes owned by host/prison0 if there are jails configured. PR: 283163 Reviewed by: jamie, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D47943 --- sys/kern/kern_jail.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 38aea998d196..80503570b776 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -3085,8 +3085,7 @@ prison_proc_iterate(struct prison *pr, void (*cb)(struct proc *, void *), FOREACH_PROC_IN_SYSTEM(p) { PROC_LOCK(p); if (p->p_state != PRS_NEW && p->p_ucred != NULL) { - for (ppr = p->p_ucred->cr_prison; - ppr != &prison0; + for (ppr = p->p_ucred->cr_prison; ppr != NULL; ppr = ppr->pr_parent) { if (ppr == pr) { cb(p, cbarg); From nobody Fri Dec 6 22:29:15 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4mC006Ymz5g0yX; Fri, 06 Dec 2024 22:29:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4mBz6lV4z485d; Fri, 6 Dec 2024 22:29:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524155; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RCEp9HMB0Qd/8oKAYfdSNx23tc/6zWtOkjfNFSU63sc=; b=QtHcy4WgnlgRFmL9VdjfPbp/f/wZGFBhOJ6AAtYNN+n2hTU4hIozP253tLXciZanWQ4K80 XmH+XAQtZ271WrfCr3mViJ07zJ4J67nxH9tg6KjdEneqyhiOOLVWgCdcRR7k71RKwnAd6Z L5Crh0rvEquDV5d/nN7Ean9InsvK+02dBCzmc6GJt6aXwbDTDWTI+ROVoyd9Hacj5ZgygK hyrXDseNdGMYFkBZkN+sWl94rTSnkSR18GwjNIyV1HX0eUrgu31EPWD8AeqC8rZgL1hAdy 2LrqrtlFxEYFRM30LU8R2OsmVs0XBqnDq5u5cwmEPLDSxXYARGkiSWcPihDCfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524155; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RCEp9HMB0Qd/8oKAYfdSNx23tc/6zWtOkjfNFSU63sc=; b=fbKI4rsmi//gJ1JSRcRabP0YeCaxjRWByAJX3FwIOkzGB3RbAaesQWa8Xd98XfeDW37Lkr 66VAVNKDL+cOiSmevT8kEpnIT9QOdsp6Jic2uUUgneRPrGE3qrM0gI64xed8tjV9cuOkvu bfE8KFx67I9CRvIFTwbhM69VrkOFFAa4mkYqcSNTqJKWzZHfZGtXrQOjwc5DJP+HKqyjjB zdYM2t7fyqGV0Vlb1vFSjToHon78k2zHzKYOCzLjRlQDacsi8qQOpPQ6NUExyZMQBXASue b/adIOMfGkkxDYuMwAHhFus1wtd0EfdY8/iaY+DgaWJFPfch6AGnjYw2sr/seQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733524155; a=rsa-sha256; cv=none; b=ggUEHojzCx/mKB9VY+q9pUe1dt0hjvWqbIDxqoQBQgkXS5uKsMgav+jWxubfzJ+sWG4RCv CGuGkST6DcmBCaekQVsve+NMyTLJXHC18ltnXlFtANoYJR+FjEOXH5HU5ZVOyM8r48ok0z wR+ONOibhm/3m2Pt6vqEtH5qtqTH6Pn/lqHLmOG7BsSablt8ZE2Jeoj3RdQd9Xof9GKvXn 3MOxQI2EmnWb+G6gPZ5yFc3WKgzlxPE7/cxjokM4zvmvut69uJ8zgyizQ8TxPzwLiyChTB PS7qW5flAIRpa4+P5JnFcaegAEnA4l1etqQlmGEPXPYLXYdtpnCZwxTUKeeW/g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4mBz6LZdzwqT; Fri, 6 Dec 2024 22:29: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 4B6MTFoT072155; Fri, 6 Dec 2024 22:29:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6MTFvN072152; Fri, 6 Dec 2024 22:29:15 GMT (envelope-from git) Date: Fri, 6 Dec 2024 22:29:15 GMT Message-Id: <202412062229.4B6MTFvN072152@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: 46297859a745 - main - new-bus: Add bus_(identify|attach|detach)_children List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 46297859a74563dde6fc5bff9f9ecded9fb61ba6 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=46297859a74563dde6fc5bff9f9ecded9fb61ba6 commit 46297859a74563dde6fc5bff9f9ecded9fb61ba6 Author: John Baldwin AuthorDate: 2024-12-06 22:25:04 +0000 Commit: John Baldwin CommitDate: 2024-12-06 22:25:42 +0000 new-bus: Add bus_(identify|attach|detach)_children These correspond to the current implementations of bus_generic_(probe|attach|detach) but with more accurate names and semantics. The intention is to deprecate bus_generic_(probe|attach) and reimplement bus_generic_detach in a future commit. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47673 --- sys/kern/subr_bus.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++----- sys/sys/bus.h | 4 ++++ sys/sys/param.h | 2 +- 3 files changed, 65 insertions(+), 6 deletions(-) diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 32ddcaa9f643..945d91d951d6 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -3408,6 +3408,22 @@ bus_generic_add_child(device_t dev, u_int order, const char *name, int unit) */ int bus_generic_probe(device_t dev) +{ + bus_identify_children(dev); + return (0); +} + +/** + * @brief Ask drivers to add child devices of the given device. + * + * This function allows drivers for child devices of a bus to identify + * child devices and add them as children of the given device. NB: + * The driver for @param dev must implement the BUS_ADD_CHILD method. + * + * @param dev the parent device + */ +void +bus_identify_children(device_t dev) { devclass_t dc = dev->devclass; driverlink_t dl; @@ -3426,8 +3442,6 @@ bus_generic_probe(device_t dev) continue; DEVICE_IDENTIFY(dl->driver, dev); } - - return (0); } /** @@ -3439,14 +3453,29 @@ bus_generic_probe(device_t dev) */ int bus_generic_attach(device_t dev) +{ + bus_attach_children(dev); + return (0); +} + +/** + * @brief Probe and attach all children of the given device + * + * This function attempts to attach a device driver to each unattached + * child of the given device using device_probe_and_attach(). If an + * individual child fails to attach this function continues attaching + * other children. + * + * @param dev the parent device + */ +void +bus_attach_children(device_t dev) { device_t child; TAILQ_FOREACH(child, &dev->children, link) { device_probe_and_attach(child); } - - return (0); } /** @@ -3460,7 +3489,7 @@ int bus_delayed_attach_children(device_t dev) { /* Probe and attach the bus children when interrupts are available */ - config_intrhook_oneshot((ich_func_t)bus_generic_attach, dev); + config_intrhook_oneshot((ich_func_t)bus_attach_children, dev); return (0); } @@ -3474,6 +3503,32 @@ bus_delayed_attach_children(device_t dev) */ int bus_generic_detach(device_t dev) +{ + int error; + + error = bus_detach_children(dev); + if (error != 0) + return (error); + + return (0); +} + +/** + * @brief Detach drivers from all children of a device + * + * This function attempts to detach a device driver from each attached + * child of the given device using device_detach(). If an individual + * child fails to detach this function stops and returns an error. + * NB: Children that were successfully detached are not re-attached if + * an error occurs. + * + * @param dev the parent device + * + * @retval 0 success + * @retval non-zero a device would not detach + */ +int +bus_detach_children(device_t dev) { device_t child; int error; diff --git a/sys/sys/bus.h b/sys/sys/bus.h index 1f5e074cfe5a..c712e37fd34d 100644 --- a/sys/sys/bus.h +++ b/sys/sys/bus.h @@ -591,8 +591,12 @@ void bus_delete_resource(device_t dev, int type, int rid); int bus_child_present(device_t child); int bus_child_pnpinfo(device_t child, struct sbuf *sb); int bus_child_location(device_t child, struct sbuf *sb); + +void bus_attach_children(device_t dev); +int bus_detach_children(device_t dev); void bus_enumerate_hinted_children(device_t bus); int bus_delayed_attach_children(device_t bus); +void bus_identify_children(device_t dev); static __inline struct resource * bus_alloc_resource_any(device_t dev, int type, int *rid, u_int flags) diff --git a/sys/sys/param.h b/sys/sys/param.h index 550ea1fc61f6..f675dd024ee0 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 1500028 +#define __FreeBSD_version 1500029 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Fri Dec 6 22:29:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4mC10vJWz5g0qt; Fri, 06 Dec 2024 22:29:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4mC10NYnz483S; Fri, 6 Dec 2024 22:29:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524157; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLyq3AfYlzzVwYj0mfmoeYYmYRv7rNH2lQ+3l9y8jCk=; b=mf/vcmlJvrYLqnaJbS4r9khkyjO+wZY4lpAUaP1ps+k5LQiIhVHLa8SUxOT3oSTk1qKDz0 g0V5OpoX4Tvp2cmnexQ11lSEpsXZu36XttEkgQASvlFwnGCPNjykw0YTZtwLS+OUP5QvTd 5tUSYD5CNJmSkaUM6gQfGYA5nrK3kpmcg44BbkrKRFewOC59de8SpbTyGKjnPZ3IcLVxWE cS72cg8wM2+uFOyHG7Weak4DCz45KafMPw9JfxBA7L+mQQV22iYDJ4KwmF4hGBH88jaNTD Ewm4fECzi5o9bP3XfKCMyHzAl/GyZDClqUhWZbajxbol1H0kAx0BVFpCl8k0Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524157; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zLyq3AfYlzzVwYj0mfmoeYYmYRv7rNH2lQ+3l9y8jCk=; b=c3oFzQx4H5W4yE89YR0/WkvBA/amIHPek3ZQ9cjys8M1FiiWbgTC2sZRubei2thUquiUHJ wlNAePJsq2Fe2sRsuLF1nf+41X+6O2m9BKJ7XknGhTrqr8AZXjgpgYbWZApPs953TJSm/R Y63TigoreEGQVKKCTBo+L3kojsGp70AlUn5d0qgPu2JZ+CFunmxPDX0rAsG5xXt6GQuL3k 0Uui7SQ+f28oyi7rSVjFdnRUTy4hblw94QMTsSjp+gUsdYlyQzTsp0ryN+P1YtGJQc9VrV M7yMMbEjFQY9kHcHKc6e84dysf28FL9664lxplkdOBb2zqhcw1XK1qiLpWvVAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733524157; a=rsa-sha256; cv=none; b=KW9VFbo5l+gPB56brE9+tiK1q5LX0Z5foKtQ6r5YyVo59vflbt5qeU42ClvhSq30rt6VYe u/5ogMc1UGV/Iw9OR8snw2oBqlmOQ9ZRnjMlZi66wBKv4RPCGJt1phoIHoFd2J906LRTY4 7DqsvU5QaLMf+ZEezYE6ntO/Q01ri3zJbtsjbzkf49ErqlNrBYxmQUWCppupSa7UyM2rq9 V0gA6ciVtfDIhogWNHo7btLJkpt1Zly1rQU35Nk05mdCK548YoiVHV5cEMUqsuY9btk7dK htPhcfn2C3Mhg3NoFoYECZHu7r7taaq6q5FbS1ZORzXMBHSaephqSEPD3Eicyg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4mC075C4zvtx; Fri, 6 Dec 2024 22:29: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 4B6MTGuH072209; Fri, 6 Dec 2024 22:29:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6MTGwe072206; Fri, 6 Dec 2024 22:29:16 GMT (envelope-from git) Date: Fri, 6 Dec 2024 22:29:16 GMT Message-Id: <202412062229.4B6MTGwe072206@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: 723da5d92f40 - main - Replace calls to bus_generic_probe with bus_identify_children List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 723da5d92f40a413585107f8455280ea575fe410 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=723da5d92f40a413585107f8455280ea575fe410 commit 723da5d92f40a413585107f8455280ea575fe410 Author: John Baldwin AuthorDate: 2024-12-06 22:26:05 +0000 Commit: John Baldwin CommitDate: 2024-12-06 22:26:05 +0000 Replace calls to bus_generic_probe with bus_identify_children Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47674 --- sys/amd64/acpica/acpi_machdep.c | 2 +- sys/arm/arm/gic_acpi.c | 2 +- sys/arm/arm/gic_fdt.c | 2 +- sys/arm/arm/nexus.c | 2 +- sys/arm/broadcom/bcm2835/bcm2835_sdhci.c | 2 +- sys/arm/broadcom/bcm2835/bcm2835_sdhost.c | 2 +- sys/arm/nvidia/tegra_sdhci.c | 2 +- sys/arm/ti/am335x/am335x_ehrpwm.c | 2 +- sys/arm/ti/am335x/am335x_pwmss.c | 2 +- sys/arm/ti/cpsw/if_cpsw.c | 2 +- sys/arm/ti/ti_omap4_cm.c | 2 +- sys/arm/ti/ti_prcm.c | 2 +- sys/arm/ti/ti_scm_syscon.c | 2 +- sys/arm/ti/ti_sdhci.c | 2 +- sys/arm/ti/usb/omap_host.c | 2 +- sys/arm64/arm64/nexus.c | 2 +- sys/arm64/rockchip/rk_pinctrl.c | 2 +- sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c | 2 +- sys/dev/acpi_support/acpi_wmi.c | 2 +- sys/dev/acpica/acpi.c | 2 +- sys/dev/acpica/acpi_container.c | 2 +- sys/dev/acpica/acpi_cpu.c | 2 +- sys/dev/acpica/acpi_pcib_acpi.c | 2 +- sys/dev/atkbdc/atkbdc_isa.c | 2 +- sys/dev/cxgbe/t4_main.c | 6 +----- sys/dev/dpaa2/dpaa2_mc.c | 2 +- sys/dev/dpaa2/dpaa2_mc_fdt.c | 5 +++-- sys/dev/dpaa2/dpaa2_rc.c | 8 ++++---- sys/dev/dpaa2/memac_mdio_acpi.c | 2 +- sys/dev/dpaa2/memac_mdio_fdt.c | 2 +- sys/dev/etherswitch/ar40xx/ar40xx_main.c | 2 +- sys/dev/etherswitch/arswitch/arswitch.c | 2 +- sys/dev/etherswitch/e6000sw/e6000sw.c | 2 +- sys/dev/etherswitch/e6000sw/e6060sw.c | 2 +- sys/dev/etherswitch/felix/felix.c | 2 +- sys/dev/etherswitch/infineon/adm6996fc.c | 2 +- sys/dev/etherswitch/ip17x/ip17x.c | 2 +- sys/dev/etherswitch/micrel/ksz8995ma.c | 2 +- sys/dev/etherswitch/mtkswitch/mtkswitch.c | 2 +- sys/dev/etherswitch/rtl8366/rtl8366rb.c | 2 +- sys/dev/etherswitch/ukswitch/ukswitch.c | 2 +- sys/dev/firewire/firewire.c | 2 +- sys/dev/firewire/fwohci_pci.c | 2 +- sys/dev/firmware/arm/scmi.c | 2 +- sys/dev/gpio/dwgpio/dwgpio_bus.c | 2 +- sys/dev/gpio/gpiobus.c | 2 +- sys/dev/gpio/ofw_gpiobus.c | 2 +- sys/dev/hid/hidbus.c | 2 +- sys/dev/hyperv/vmbus/vmbus.c | 2 +- sys/dev/iicbus/iicbus.c | 2 +- sys/dev/iicbus/ofw_iicbus.c | 2 +- sys/dev/mdio/mdio.c | 2 +- sys/dev/ofw/ofw_cpu.c | 2 +- sys/dev/ofw/ofwbus.c | 2 +- sys/dev/pci/hostb_pci.c | 2 +- sys/dev/pci/isa_pci.c | 2 +- sys/dev/pci/vga_pci.c | 2 +- sys/dev/ppbus/ppbconf.c | 2 +- sys/dev/pwm/ofw_pwmbus.c | 2 +- sys/dev/pwm/pwmbus.c | 2 +- sys/dev/sdhci/fsl_sdhci.c | 2 +- sys/dev/smbus/smbus.c | 2 +- sys/dev/spibus/ofw_spibus.c | 2 +- sys/dev/sram/mmio_sram.c | 2 +- sys/dev/superio/superio.c | 2 +- sys/dev/xen/bus/xenpv.c | 4 +--- sys/dev/xen/xenstore/xenstore.c | 4 ++-- sys/i386/acpica/acpi_machdep.c | 2 +- sys/isa/isa_common.c | 2 +- sys/isa/vga_isa.c | 2 +- sys/powerpc/mambo/mambo.c | 2 +- sys/powerpc/powerpc/nexus.c | 2 +- sys/riscv/riscv/nexus.c | 2 +- sys/x86/x86/legacy.c | 4 ++-- sys/x86/x86/nexus.c | 2 +- 75 files changed, 82 insertions(+), 87 deletions(-) diff --git a/sys/amd64/acpica/acpi_machdep.c b/sys/amd64/acpica/acpi_machdep.c index 081fe89537bb..67e71cb2de55 100644 --- a/sys/amd64/acpica/acpi_machdep.c +++ b/sys/amd64/acpica/acpi_machdep.c @@ -267,7 +267,7 @@ nexus_acpi_attach(device_t dev) { nexus_init_resources(); - bus_generic_probe(dev); + bus_identify_children(dev); if (BUS_ADD_CHILD(dev, 10, "acpi", 0) == NULL) panic("failed to add acpi0 device"); diff --git a/sys/arm/arm/gic_acpi.c b/sys/arm/arm/gic_acpi.c index 6fd6f5271375..f30f51e1a1b7 100644 --- a/sys/arm/arm/gic_acpi.c +++ b/sys/arm/arm/gic_acpi.c @@ -242,7 +242,7 @@ gic_acpi_attach(device_t dev) /* If we have children probe and attach them */ if (arm_gic_add_children(dev)) { - bus_generic_probe(dev); + bus_identify_children(dev); return (bus_generic_attach(dev)); } diff --git a/sys/arm/arm/gic_fdt.c b/sys/arm/arm/gic_fdt.c index 06a869eaae42..6c5b5be43175 100644 --- a/sys/arm/arm/gic_fdt.c +++ b/sys/arm/arm/gic_fdt.c @@ -185,7 +185,7 @@ gic_fdt_attach(device_t dev) /* If we have children probe and attach them */ if (arm_gic_add_children(dev)) { - bus_generic_probe(dev); + bus_identify_children(dev); return (bus_generic_attach(dev)); } diff --git a/sys/arm/arm/nexus.c b/sys/arm/arm/nexus.c index 8274a792839d..06f599652698 100644 --- a/sys/arm/arm/nexus.c +++ b/sys/arm/arm/nexus.c @@ -184,7 +184,7 @@ nexus_attach(device_t dev) /* * Next, deal with the children we know about already. */ - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); return (0); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c b/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c index b9f788b2af9b..5ff7b5069c6b 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c @@ -353,7 +353,7 @@ bcm_sdhci_attach(device_t dev) sc->sc_sdhci_buffer_phys = rman_get_start(sc->sc_mem_res) + SDHCI_BUFFER; - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); sdhci_start_slot(&sc->sc_slot); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_sdhost.c b/sys/arm/broadcom/bcm2835/bcm2835_sdhost.c index 232948fbb17f..29f062d6ab2b 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_sdhost.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_sdhost.c @@ -472,7 +472,7 @@ bcm_sdhost_attach(device_t dev) sdhci_init_slot(dev, &sc->sc_slot, 0); - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); sdhci_start_slot(&sc->sc_slot); diff --git a/sys/arm/nvidia/tegra_sdhci.c b/sys/arm/nvidia/tegra_sdhci.c index 2b152227d95f..d37f71a150a2 100644 --- a/sys/arm/nvidia/tegra_sdhci.c +++ b/sys/arm/nvidia/tegra_sdhci.c @@ -386,7 +386,7 @@ tegra_sdhci_attach(device_t dev) sc->gpio = sdhci_fdt_gpio_setup(sc->dev, &sc->slot); - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); sdhci_start_slot(&sc->slot); diff --git a/sys/arm/ti/am335x/am335x_ehrpwm.c b/sys/arm/ti/am335x/am335x_ehrpwm.c index 2296b050517f..77b6384b17a7 100644 --- a/sys/arm/ti/am335x/am335x_ehrpwm.c +++ b/sys/arm/ti/am335x/am335x_ehrpwm.c @@ -517,7 +517,7 @@ am335x_ehrpwm_attach(device_t dev) // This driver can still do things even without the bus child. } - bus_generic_probe(dev); + bus_identify_children(dev); return (bus_generic_attach(dev)); fail: PWM_LOCK_DESTROY(sc); diff --git a/sys/arm/ti/am335x/am335x_pwmss.c b/sys/arm/ti/am335x/am335x_pwmss.c index 8766c706b807..9d584910ee58 100644 --- a/sys/arm/ti/am335x/am335x_pwmss.c +++ b/sys/arm/ti/am335x/am335x_pwmss.c @@ -150,7 +150,7 @@ am335x_pwmss_attach(device_t dev) /* * Allow devices to identify. */ - bus_generic_probe(dev); + bus_identify_children(dev); /* * Now walk the OFW tree and attach top-level devices. diff --git a/sys/arm/ti/cpsw/if_cpsw.c b/sys/arm/ti/cpsw/if_cpsw.c index 8012f8441e76..7756940bb28d 100644 --- a/sys/arm/ti/cpsw/if_cpsw.c +++ b/sys/arm/ti/cpsw/if_cpsw.c @@ -911,7 +911,7 @@ cpsw_attach(device_t dev) return (ENXIO); } } - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); return (0); diff --git a/sys/arm/ti/ti_omap4_cm.c b/sys/arm/ti/ti_omap4_cm.c index b558d6262158..67c17ec4df98 100644 --- a/sys/arm/ti/ti_omap4_cm.c +++ b/sys/arm/ti/ti_omap4_cm.c @@ -107,7 +107,7 @@ ti_omap4_cm_attach(device_t dev) return (ENXIO); } - bus_generic_probe(sc->dev); + bus_identify_children(sc->dev); for (child = OF_child(node); child > 0; child = OF_peer(child)) { cdev = simplebus_add_device(dev, child, 0, NULL, -1, NULL); diff --git a/sys/arm/ti/ti_prcm.c b/sys/arm/ti/ti_prcm.c index 0006d0eaec9b..7afb9a2a5678 100644 --- a/sys/arm/ti/ti_prcm.c +++ b/sys/arm/ti/ti_prcm.c @@ -188,7 +188,7 @@ ti_prcm_attach(device_t dev) #endif } - bus_generic_probe(sc->dev); + bus_identify_children(sc->dev); for (child = OF_child(node); child != 0; child = OF_peer(child)) { simplebus_add_device(dev, child, 0, NULL, -1, NULL); } diff --git a/sys/arm/ti/ti_scm_syscon.c b/sys/arm/ti/ti_scm_syscon.c index 7286be7b8f2c..729af03c4abd 100644 --- a/sys/arm/ti/ti_scm_syscon.c +++ b/sys/arm/ti/ti_scm_syscon.c @@ -185,7 +185,7 @@ ti_scm_syscon_attach(device_t dev) simplebus_init(sc->dev, node); - bus_generic_probe(sc->dev); + bus_identify_children(sc->dev); for (child = OF_child(node); child != 0; child = OF_peer(child)) { simplebus_add_device(sc->dev, child, 0, NULL, -1, NULL); } diff --git a/sys/arm/ti/ti_sdhci.c b/sys/arm/ti/ti_sdhci.c index 29035fee77c9..597d2a35fba6 100644 --- a/sys/arm/ti/ti_sdhci.c +++ b/sys/arm/ti/ti_sdhci.c @@ -687,7 +687,7 @@ ti_sdhci_attach(device_t dev) if (OF_hasprop(node, "non-removable")) sc->force_card_present = true; - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); sdhci_start_slot(&sc->slot); diff --git a/sys/arm/ti/usb/omap_host.c b/sys/arm/ti/usb/omap_host.c index 631c74e19686..2e4677a2a488 100644 --- a/sys/arm/ti/usb/omap_host.c +++ b/sys/arm/ti/usb/omap_host.c @@ -413,7 +413,7 @@ omap_uhh_attach(device_t dev) /* * Allow devices to identify. */ - bus_generic_probe(dev); + bus_identify_children(dev); /* * Now walk the OFW tree and attach top-level devices. diff --git a/sys/arm64/arm64/nexus.c b/sys/arm64/arm64/nexus.c index d780c9950e63..8628e29bd94c 100644 --- a/sys/arm64/arm64/nexus.c +++ b/sys/arm64/arm64/nexus.c @@ -177,7 +177,7 @@ nexus_attach(device_t dev) if (rman_init(&irq_rman) || rman_manage_region(&irq_rman, 0, ~0)) panic("nexus_attach irq_rman"); - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); return (0); diff --git a/sys/arm64/rockchip/rk_pinctrl.c b/sys/arm64/rockchip/rk_pinctrl.c index 4cf266df3cbf..f77e7965a549 100644 --- a/sys/arm64/rockchip/rk_pinctrl.c +++ b/sys/arm64/rockchip/rk_pinctrl.c @@ -1511,7 +1511,7 @@ rk_pinctrl_attach(device_t dev) simplebus_init(dev, node); - bus_generic_probe(dev); + bus_identify_children(dev); /* Attach child devices */ for (node = OF_child(node), gpio_unit = 0; node > 0; diff --git a/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c b/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c index 5b47377735f1..1a1f18d825bf 100644 --- a/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c +++ b/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c @@ -192,7 +192,7 @@ bcm_vchiq_attach(device_t dev) vchiq_init(); - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); return (0); diff --git a/sys/dev/acpi_support/acpi_wmi.c b/sys/dev/acpi_support/acpi_wmi.c index 6601db4317cb..d4b90ad9a508 100644 --- a/sys/dev/acpi_support/acpi_wmi.c +++ b/sys/dev/acpi_support/acpi_wmi.c @@ -296,7 +296,7 @@ acpi_wmi_attach(device_t dev) } if (ret == 0) { - bus_generic_probe(dev); + bus_identify_children(dev); ret = bus_generic_attach(dev); } diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index a7ff4e302bed..a16719dd0941 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -2279,7 +2279,7 @@ acpi_probe_children(device_t bus) /* Create any static children by calling device identify methods. */ ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "device identify routines\n")); - bus_generic_probe(bus); + bus_identify_children(bus); /* Probe/attach all children, created statically and from the namespace. */ ACPI_DEBUG_PRINT((ACPI_DB_OBJECTS, "acpi bus_generic_attach\n")); diff --git a/sys/dev/acpica/acpi_container.c b/sys/dev/acpica/acpi_container.c index 81a1ee8ce25c..ec4150ab186f 100644 --- a/sys/dev/acpica/acpi_container.c +++ b/sys/dev/acpica/acpi_container.c @@ -103,7 +103,7 @@ static int acpi_syscont_attach(device_t dev) { - bus_generic_probe(dev); + bus_identify_children(dev); return (bus_generic_attach(dev)); } diff --git a/sys/dev/acpica/acpi_cpu.c b/sys/dev/acpica/acpi_cpu.c index 63e17de1ff28..58be4b228507 100644 --- a/sys/dev/acpica/acpi_cpu.c +++ b/sys/dev/acpica/acpi_cpu.c @@ -467,7 +467,7 @@ acpi_cpu_postattach(void *unused __unused) bus_topo_lock(); CPU_FOREACH(i) { if ((sc = cpu_softc[i]) != NULL) - bus_generic_probe(sc->cpu_dev); + bus_identify_children(sc->cpu_dev); } CPU_FOREACH(i) { if ((sc = cpu_softc[i]) != NULL) { diff --git a/sys/dev/acpica/acpi_pcib_acpi.c b/sys/dev/acpica/acpi_pcib_acpi.c index ff211102cc3c..a268181ff2d6 100644 --- a/sys/dev/acpica/acpi_pcib_acpi.c +++ b/sys/dev/acpica/acpi_pcib_acpi.c @@ -528,7 +528,7 @@ acpi_pcib_acpi_attach(device_t dev) /* Don't fail to attach if the domain can't be queried or set. */ error = 0; - bus_generic_probe(dev); + bus_identify_children(dev); if (device_add_child(dev, "pci", -1) == NULL) { bus_dma_tag_destroy(sc->ap_dma_tag); sc->ap_dma_tag = NULL; diff --git a/sys/dev/atkbdc/atkbdc_isa.c b/sys/dev/atkbdc/atkbdc_isa.c index 2f7b9eceda94..f73589cdf2a2 100644 --- a/sys/dev/atkbdc/atkbdc_isa.c +++ b/sys/dev/atkbdc/atkbdc_isa.c @@ -238,7 +238,7 @@ atkbdc_isa_attach(device_t dev) } *(atkbdc_softc_t **)device_get_softc(dev) = sc; - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); return 0; diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c index a7dd532cc077..2030b287a496 100644 --- a/sys/dev/cxgbe/t4_main.c +++ b/sys/dev/cxgbe/t4_main.c @@ -1624,11 +1624,7 @@ t4_attach(device_t dev) goto done; } - rc = bus_generic_probe(dev); - if (rc != 0) { - device_printf(dev, "failed to probe child drivers: %d\n", rc); - goto done; - } + bus_identify_children(dev); /* * Ensure thread-safe mailbox access (in debug builds). diff --git a/sys/dev/dpaa2/dpaa2_mc.c b/sys/dev/dpaa2/dpaa2_mc.c index c7553e8a514a..738a1db8b7e1 100644 --- a/sys/dev/dpaa2/dpaa2_mc.c +++ b/sys/dev/dpaa2/dpaa2_mc.c @@ -268,7 +268,7 @@ dpaa2_mc_attach(device_t dev) dpaa2_mc_detach(dev); return (ENXIO); } - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); return (0); diff --git a/sys/dev/dpaa2/dpaa2_mc_fdt.c b/sys/dev/dpaa2/dpaa2_mc_fdt.c index a6babfc89ca9..a571f4cf7219 100644 --- a/sys/dev/dpaa2/dpaa2_mc_fdt.c +++ b/sys/dev/dpaa2/dpaa2_mc_fdt.c @@ -253,11 +253,12 @@ dpaa2_mc_fdt_attach(device_t dev) sc->acpi_based = false; sc->ofw_node = ofw_bus_get_node(dev); - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); + /* * Attach the children represented in the device tree. */ diff --git a/sys/dev/dpaa2/dpaa2_rc.c b/sys/dev/dpaa2/dpaa2_rc.c index 49ed8944b64b..221af43f2bf7 100644 --- a/sys/dev/dpaa2/dpaa2_rc.c +++ b/sys/dev/dpaa2/dpaa2_rc.c @@ -2826,7 +2826,7 @@ dpaa2_rc_discover(struct dpaa2_rc_softc *sc) dpaa2_rc_add_managed_child(sc, &cmd, &obj); } /* Probe and attach MC portals. */ - bus_generic_probe(rcdev); + bus_identify_children(rcdev); rc = bus_generic_attach(rcdev); if (rc) { DPAA2_CMD_RC_CLOSE(rcdev, child, &cmd); @@ -2854,7 +2854,7 @@ dpaa2_rc_discover(struct dpaa2_rc_softc *sc) dpaa2_rc_add_managed_child(sc, &cmd, &obj); } /* Probe and attach managed devices properly. */ - bus_generic_probe(rcdev); + bus_identify_children(rcdev); rc = bus_generic_attach(rcdev); if (rc) { DPAA2_CMD_RC_CLOSE(rcdev, child, &cmd); @@ -2879,7 +2879,7 @@ dpaa2_rc_discover(struct dpaa2_rc_softc *sc) DPAA2_CMD_RC_CLOSE(rcdev, child, &cmd); /* Probe and attach the rest of devices. */ - bus_generic_probe(rcdev); + bus_identify_children(rcdev); return (bus_generic_attach(rcdev)); } @@ -2986,7 +2986,7 @@ dpaa2_rc_add_child(struct dpaa2_rc_softc *sc, struct dpaa2_cmd *cmd, * function is supposed to discover such managed objects in the resource * container and add them as children to perform a proper initialization. * - * NOTE: It must be called together with bus_generic_probe() and + * NOTE: It must be called together with bus_identify_children() and * bus_generic_attach() before dpaa2_rc_add_child(). */ static int diff --git a/sys/dev/dpaa2/memac_mdio_acpi.c b/sys/dev/dpaa2/memac_mdio_acpi.c index 8040b636d06b..a3e88303b1d9 100644 --- a/sys/dev/dpaa2/memac_mdio_acpi.c +++ b/sys/dev/dpaa2/memac_mdio_acpi.c @@ -262,7 +262,7 @@ memac_mdio_acpi_attach(device_t dev) ACPI_SCAN_CHILDREN(device_get_parent(dev), dev, 1, memac_mdio_acpi_probe_child, &ctx); if (ctx.countok > 0) { - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); } diff --git a/sys/dev/dpaa2/memac_mdio_fdt.c b/sys/dev/dpaa2/memac_mdio_fdt.c index 18643522ed8a..247a70c6545c 100644 --- a/sys/dev/dpaa2/memac_mdio_fdt.c +++ b/sys/dev/dpaa2/memac_mdio_fdt.c @@ -238,7 +238,7 @@ memac_mdio_fdt_attach(device_t dev) return (error); /* Attach the *phy* children represented in the device tree. */ - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); node = ofw_bus_get_node(dev); simplebus_init(dev, node); diff --git a/sys/dev/etherswitch/ar40xx/ar40xx_main.c b/sys/dev/etherswitch/ar40xx/ar40xx_main.c index 757dbe23071e..979d5bb39444 100644 --- a/sys/dev/etherswitch/ar40xx/ar40xx_main.c +++ b/sys/dev/etherswitch/ar40xx/ar40xx_main.c @@ -482,7 +482,7 @@ ar40xx_attach(device_t dev) /* Attach PHYs */ ret = ar40xx_attach_phys(sc); - ret = bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); ret = bus_generic_attach(dev); diff --git a/sys/dev/etherswitch/arswitch/arswitch.c b/sys/dev/etherswitch/arswitch/arswitch.c index f1e6d1944038..395edf3322ae 100644 --- a/sys/dev/etherswitch/arswitch/arswitch.c +++ b/sys/dev/etherswitch/arswitch/arswitch.c @@ -649,7 +649,7 @@ arswitch_attach(device_t dev) return (err); } - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); err = bus_generic_attach(dev); if (err != 0) { diff --git a/sys/dev/etherswitch/e6000sw/e6000sw.c b/sys/dev/etherswitch/e6000sw/e6000sw.c index 4e95287399e3..26152d1ebf26 100644 --- a/sys/dev/etherswitch/e6000sw/e6000sw.c +++ b/sys/dev/etherswitch/e6000sw/e6000sw.c @@ -642,7 +642,7 @@ e6000sw_attach(device_t dev) device_printf(dev, "switch is ready.\n"); E6000SW_UNLOCK(sc); - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); taskqueue_enqueue_timeout(sc->sc_tq, &sc->sc_tt, hz); diff --git a/sys/dev/etherswitch/e6000sw/e6060sw.c b/sys/dev/etherswitch/e6000sw/e6060sw.c index 3ff38abb69a0..5f22b4396a9e 100644 --- a/sys/dev/etherswitch/e6000sw/e6060sw.c +++ b/sys/dev/etherswitch/e6000sw/e6060sw.c @@ -306,7 +306,7 @@ e6060sw_attach(device_t dev) if (err != 0) return (err); - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); err = bus_generic_attach(dev); if (err != 0) diff --git a/sys/dev/etherswitch/felix/felix.c b/sys/dev/etherswitch/felix/felix.c index 6e9bc29e5757..d5b40b3902f3 100644 --- a/sys/dev/etherswitch/felix/felix.c +++ b/sys/dev/etherswitch/felix/felix.c @@ -463,7 +463,7 @@ felix_attach(device_t dev) FELIX_UNLOCK(sc); /* Allow etherswitch to attach as our child. */ - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); return (0); diff --git a/sys/dev/etherswitch/infineon/adm6996fc.c b/sys/dev/etherswitch/infineon/adm6996fc.c index 64f61df93db1..f33219244ca1 100644 --- a/sys/dev/etherswitch/infineon/adm6996fc.c +++ b/sys/dev/etherswitch/infineon/adm6996fc.c @@ -258,7 +258,7 @@ adm6996fc_attach(device_t dev) if (err != 0) goto failed; - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); err = bus_generic_attach(dev); if (err != 0) diff --git a/sys/dev/etherswitch/ip17x/ip17x.c b/sys/dev/etherswitch/ip17x/ip17x.c index 349dc59e09ae..c79ae069d2f0 100644 --- a/sys/dev/etherswitch/ip17x/ip17x.c +++ b/sys/dev/etherswitch/ip17x/ip17x.c @@ -257,7 +257,7 @@ ip17x_attach(device_t dev) */ sc->hal.ip17x_set_vlan_mode(sc, ETHERSWITCH_VLAN_PORT); - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); err = bus_generic_attach(dev); if (err != 0) diff --git a/sys/dev/etherswitch/micrel/ksz8995ma.c b/sys/dev/etherswitch/micrel/ksz8995ma.c index ccd7dbffa9e9..bb93a881c6ab 100644 --- a/sys/dev/etherswitch/micrel/ksz8995ma.c +++ b/sys/dev/etherswitch/micrel/ksz8995ma.c @@ -308,7 +308,7 @@ ksz8995ma_attach(device_t dev) if (err != 0) goto failed; - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); err = bus_generic_attach(dev); if (err != 0) diff --git a/sys/dev/etherswitch/mtkswitch/mtkswitch.c b/sys/dev/etherswitch/mtkswitch/mtkswitch.c index fa96a81b40ef..837362982223 100644 --- a/sys/dev/etherswitch/mtkswitch/mtkswitch.c +++ b/sys/dev/etherswitch/mtkswitch/mtkswitch.c @@ -231,7 +231,7 @@ mtkswitch_attach(device_t dev) if (err != 0) return (err); - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); err = bus_generic_attach(dev); DPRINTF(dev, "%s: bus_generic_attach: err=%d\n", __func__, err); diff --git a/sys/dev/etherswitch/rtl8366/rtl8366rb.c b/sys/dev/etherswitch/rtl8366/rtl8366rb.c index e57b11f3270f..a2a847bff621 100644 --- a/sys/dev/etherswitch/rtl8366/rtl8366rb.c +++ b/sys/dev/etherswitch/rtl8366/rtl8366rb.c @@ -254,7 +254,7 @@ rtl8366rb_attach(device_t dev) } } - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); err = bus_generic_attach(dev); if (err != 0) diff --git a/sys/dev/etherswitch/ukswitch/ukswitch.c b/sys/dev/etherswitch/ukswitch/ukswitch.c index f2cf6ef74e90..c0f67310196f 100644 --- a/sys/dev/etherswitch/ukswitch/ukswitch.c +++ b/sys/dev/etherswitch/ukswitch/ukswitch.c @@ -209,7 +209,7 @@ ukswitch_attach(device_t dev) if (err != 0) return (err); - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); err = bus_generic_attach(dev); if (err != 0) diff --git a/sys/dev/firewire/firewire.c b/sys/dev/firewire/firewire.c index 93a414405c17..1346cb255580 100644 --- a/sys/dev/firewire/firewire.c +++ b/sys/dev/firewire/firewire.c @@ -452,7 +452,7 @@ firewire_attach(device_t dev) 0, 0, "fw%d_probe", unit); /* Locate our children */ - bus_generic_probe(dev); + bus_identify_children(dev); /* launch attachement of the added children */ bus_generic_attach(dev); diff --git a/sys/dev/firewire/fwohci_pci.c b/sys/dev/firewire/fwohci_pci.c index f16ce1e26565..603915a1e637 100644 --- a/sys/dev/firewire/fwohci_pci.c +++ b/sys/dev/firewire/fwohci_pci.c @@ -314,7 +314,7 @@ fwohci_pci_attach(device_t self) } /* probe and attach a child device(firewire) */ - bus_generic_probe(self); + bus_identify_children(self); bus_generic_attach(self); return 0; diff --git a/sys/dev/firmware/arm/scmi.c b/sys/dev/firmware/arm/scmi.c index ef4bcbf13996..afabdcf9917b 100644 --- a/sys/dev/firmware/arm/scmi.c +++ b/sys/dev/firmware/arm/scmi.c @@ -174,7 +174,7 @@ scmi_attach(device_t dev) /* * Allow devices to identify. */ - bus_generic_probe(dev); + bus_identify_children(dev); /* * Now walk the OFW tree and attach top-level devices. diff --git a/sys/dev/gpio/dwgpio/dwgpio_bus.c b/sys/dev/gpio/dwgpio/dwgpio_bus.c index 48de7dc327eb..7aa681d7aaad 100644 --- a/sys/dev/gpio/dwgpio/dwgpio_bus.c +++ b/sys/dev/gpio/dwgpio/dwgpio_bus.c @@ -94,7 +94,7 @@ dwgpiobus_attach(device_t dev) /* * Allow devices to identify. */ - bus_generic_probe(dev); + bus_identify_children(dev); /* * Now walk the OFW tree and attach top-level devices. diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c index 6b0f8e5ed3ff..4632f0dcd911 100644 --- a/sys/dev/gpio/gpiobus.c +++ b/sys/dev/gpio/gpiobus.c @@ -560,7 +560,7 @@ gpiobus_attach(device_t dev) /* * Get parent's pins and mark them as unmapped */ - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); return (bus_generic_attach(dev)); diff --git a/sys/dev/gpio/ofw_gpiobus.c b/sys/dev/gpio/ofw_gpiobus.c index 8cadc12934e0..ee52748a8c6b 100644 --- a/sys/dev/gpio/ofw_gpiobus.c +++ b/sys/dev/gpio/ofw_gpiobus.c @@ -425,7 +425,7 @@ ofw_gpiobus_attach(device_t dev) err = gpiobus_init_softc(dev); if (err != 0) return (err); - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); /* * Attach the children represented in the device tree. diff --git a/sys/dev/hid/hidbus.c b/sys/dev/hid/hidbus.c index 548027b0320a..596f9d2e6cd4 100644 --- a/sys/dev/hid/hidbus.c +++ b/sys/dev/hid/hidbus.c @@ -267,7 +267,7 @@ hidbus_attach_children(device_t dev) * attach twice in that case. */ sc->nest++; - bus_generic_probe(dev); + bus_identify_children(dev); sc->nest--; if (sc->nest != 0) return (0); diff --git a/sys/dev/hyperv/vmbus/vmbus.c b/sys/dev/hyperv/vmbus/vmbus.c index 5d0b23a09213..672f94f5fd85 100644 --- a/sys/dev/hyperv/vmbus/vmbus.c +++ b/sys/dev/hyperv/vmbus/vmbus.c @@ -559,7 +559,7 @@ vmbus_scan(struct vmbus_softc *sc) /* * Identify, probe and attach for non-channel devices. */ - bus_generic_probe(sc->vmbus_dev); + bus_identify_children(sc->vmbus_dev); bus_generic_attach(sc->vmbus_dev); /* diff --git a/sys/dev/iicbus/iicbus.c b/sys/dev/iicbus/iicbus.c index f48338865e0a..bfc86ebe28a9 100644 --- a/sys/dev/iicbus/iicbus.c +++ b/sys/dev/iicbus/iicbus.c @@ -125,7 +125,7 @@ iicbus_attach_common(device_t dev, u_int bus_freq) } printf("\n"); #endif - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); bus_generic_attach(dev); return (0); diff --git a/sys/dev/iicbus/ofw_iicbus.c b/sys/dev/iicbus/ofw_iicbus.c index 04fc611d37cf..4b0494f8fcc4 100644 --- a/sys/dev/iicbus/ofw_iicbus.c +++ b/sys/dev/iicbus/ofw_iicbus.c @@ -127,7 +127,7 @@ ofw_iicbus_attach(device_t dev) iicbus_reset(dev, IIC_FASTEST, 0, NULL); - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); /* diff --git a/sys/dev/mdio/mdio.c b/sys/dev/mdio/mdio.c index 64d3b23c2372..827165ccd349 100644 --- a/sys/dev/mdio/mdio.c +++ b/sys/dev/mdio/mdio.c @@ -54,7 +54,7 @@ static int mdio_attach(device_t dev) { - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); return (bus_generic_attach(dev)); } diff --git a/sys/dev/ofw/ofw_cpu.c b/sys/dev/ofw/ofw_cpu.c index a79413157a68..ae4863b45c0f 100644 --- a/sys/dev/ofw/ofw_cpu.c +++ b/sys/dev/ofw/ofw_cpu.c @@ -297,7 +297,7 @@ ofw_cpu_attach(device_t dev) if (sc->sc_nominal_mhz != 0 && bootverbose) device_printf(dev, "Nominal frequency %dMhz\n", sc->sc_nominal_mhz); - bus_generic_probe(dev); + bus_identify_children(dev); return (bus_generic_attach(dev)); } diff --git a/sys/dev/ofw/ofwbus.c b/sys/dev/ofw/ofwbus.c index 51e6072ad4ba..af1a85fecc9e 100644 --- a/sys/dev/ofw/ofwbus.c +++ b/sys/dev/ofw/ofwbus.c @@ -117,7 +117,7 @@ ofwbus_attach(device_t dev) /* * Allow devices to identify. */ - bus_generic_probe(dev); + bus_identify_children(dev); /* * Now walk the OFW tree and attach top-level devices. diff --git a/sys/dev/pci/hostb_pci.c b/sys/dev/pci/hostb_pci.c index 8b3e29c00d5f..2d9e35e07bab 100644 --- a/sys/dev/pci/hostb_pci.c +++ b/sys/dev/pci/hostb_pci.c @@ -69,7 +69,7 @@ static int pci_hostb_attach(device_t dev) { - bus_generic_probe(dev); + bus_identify_children(dev); /* * If AGP capabilities are present on this device, then create diff --git a/sys/dev/pci/isa_pci.c b/sys/dev/pci/isa_pci.c index c8ad277edb41..f63c63afc384 100644 --- a/sys/dev/pci/isa_pci.c +++ b/sys/dev/pci/isa_pci.c @@ -160,7 +160,7 @@ static int isab_pci_attach(device_t dev) { - bus_generic_probe(dev); + bus_identify_children(dev); return (isab_attach(dev)); } diff --git a/sys/dev/pci/vga_pci.c b/sys/dev/pci/vga_pci.c index 5a4749933574..2f86171e5ea9 100644 --- a/sys/dev/pci/vga_pci.c +++ b/sys/dev/pci/vga_pci.c @@ -366,7 +366,7 @@ static int vga_pci_attach(device_t dev) { - bus_generic_probe(dev); + bus_identify_children(dev); /* Always create a drmn child for now to make it easier on drm. */ device_add_child(dev, "drmn", DEVICE_UNIT_ANY); diff --git a/sys/dev/ppbus/ppbconf.c b/sys/dev/ppbus/ppbconf.c index 469b2ecd045f..1f82df001b49 100644 --- a/sys/dev/ppbus/ppbconf.c +++ b/sys/dev/ppbus/ppbconf.c @@ -404,7 +404,7 @@ ppbus_attach(device_t dev) } /* Locate our children */ - bus_generic_probe(dev); + bus_identify_children(dev); #ifndef DONTPROBE_1284 /* detect IEEE1284 compliant devices */ diff --git a/sys/dev/pwm/ofw_pwmbus.c b/sys/dev/pwm/ofw_pwmbus.c index 2d2c47291bca..6bc1a63ccde9 100644 --- a/sys/dev/pwm/ofw_pwmbus.c +++ b/sys/dev/pwm/ofw_pwmbus.c @@ -184,7 +184,7 @@ ofw_pwmbus_attach(device_t dev) } } bus_enumerate_hinted_children(dev); - bus_generic_probe(dev); + bus_identify_children(dev); return (bus_generic_attach(dev)); } diff --git a/sys/dev/pwm/pwmbus.c b/sys/dev/pwm/pwmbus.c index e4feaa95e590..1ead8fd7a65d 100644 --- a/sys/dev/pwm/pwmbus.c +++ b/sys/dev/pwm/pwmbus.c @@ -182,7 +182,7 @@ pwmbus_attach(device_t dev) } bus_enumerate_hinted_children(dev); - bus_generic_probe(dev); + bus_identify_children(dev); return (bus_generic_attach(dev)); } diff --git a/sys/dev/sdhci/fsl_sdhci.c b/sys/dev/sdhci/fsl_sdhci.c index c3c1b6207a23..91a0daa3e3b4 100644 --- a/sys/dev/sdhci/fsl_sdhci.c +++ b/sys/dev/sdhci/fsl_sdhci.c @@ -925,7 +925,7 @@ fsl_sdhci_attach(device_t dev) sdhci_init_slot(dev, &sc->slot, 0); sc->slot_init_done = true; - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); sdhci_start_slot(&sc->slot); diff --git a/sys/dev/smbus/smbus.c b/sys/dev/smbus/smbus.c index b0983fa32c30..1ba824b69b53 100644 --- a/sys/dev/smbus/smbus.c +++ b/sys/dev/smbus/smbus.c @@ -67,7 +67,7 @@ smbus_attach(device_t dev) struct smbus_softc *sc = device_get_softc(dev); mtx_init(&sc->lock, device_get_nameunit(dev), "smbus", MTX_DEF); - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); bus_generic_attach(dev); diff --git a/sys/dev/spibus/ofw_spibus.c b/sys/dev/spibus/ofw_spibus.c index 57a5f562c9b3..caa36644dc80 100644 --- a/sys/dev/spibus/ofw_spibus.c +++ b/sys/dev/spibus/ofw_spibus.c @@ -83,7 +83,7 @@ ofw_spibus_attach(device_t dev) sc->dev = dev; - bus_generic_probe(dev); + bus_identify_children(dev); bus_enumerate_hinted_children(dev); /* diff --git a/sys/dev/sram/mmio_sram.c b/sys/dev/sram/mmio_sram.c index c1d024459650..b9a104760194 100644 --- a/sys/dev/sram/mmio_sram.c +++ b/sys/dev/sram/mmio_sram.c @@ -94,7 +94,7 @@ mmio_sram_attach(device_t dev) /* * Allow devices to identify. */ - bus_generic_probe(dev); + bus_identify_children(dev); /* * Now walk the OFW tree and attach top-level devices. diff --git a/sys/dev/superio/superio.c b/sys/dev/superio/superio.c index 7dbd7d30907a..fe049a5d5419 100644 --- a/sys/dev/superio/superio.c +++ b/sys/dev/superio/superio.c @@ -717,7 +717,7 @@ superio_attach(device_t dev) sc->known_devices[i].ldn); } - bus_generic_probe(dev); + bus_identify_children(dev); bus_generic_attach(dev); sc->chardev = make_dev(&superio_cdevsw, device_get_unit(dev), diff --git a/sys/dev/xen/bus/xenpv.c b/sys/dev/xen/bus/xenpv.c index 5073b93b24f1..cc4b4bea4537 100644 --- a/sys/dev/xen/bus/xenpv.c +++ b/sys/dev/xen/bus/xenpv.c @@ -126,9 +126,7 @@ xenpv_attach(device_t dev) * can find. Once that is done attach any devices that we * found. */ - error = bus_generic_probe(dev); - if (error) - return (error); + bus_identify_children(dev); *** 137 LINES SKIPPED *** From nobody Fri Dec 6 22:29:18 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4mC233VCz5g15t; Fri, 06 Dec 2024 22:29:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4mC22Ly2z47yC; Fri, 6 Dec 2024 22:29:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pToo7t+fBHk1a30fcAHnodVEK5vg1JysKsPYZXqUhqw=; b=NivzmQsaSqAkR5+ob8C7EIWdGKejXNQDjZTX4xg0h8TuWpYM3uDbL3NwtobzuebYJEVwPh PlOXUbcRYAQ0fY7t+vorIC90a9djy/brYT7VkaAuvSfnSoYnxOslZVNxSIy6wB4LZPY78O /6kaYfN28El/TfawSfRPRt0DzM48DVURhvQ07PPVFlw2QLbiK4RrsfwGVS8LoedD26oS+B U/SgIQCEPY/3DwEw8ax58VJLiFXWnpmZelZbFXB78SY46O9HOozqIBMG+PDFgfg3lQVRk0 J1SQIYUov1ZSz7icqfM94nLpmC973i0XTfitj46xwJrGRFkPRXiEb+paM7j1jQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524158; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pToo7t+fBHk1a30fcAHnodVEK5vg1JysKsPYZXqUhqw=; b=D2VBtdSbe8CnM8zPdZXIzDYlC4xWacdkklhrZNjZXYk1iwOpubijricrzocz0e3sdIw3Ks afameVoGaEcraYmZtub2mcY/qXFcKOHWhyr3sfr0nrKMOnCgNHa3GuR5ZK476OvoRWowDU 4X03gpRm2rhBuHXhAiQ2KClqm0UoPmup6do7cboE325grj1qa7+HfbUnkuEE4dxCSc2Pe4 /jQfRy899nZOGledGneviW06F0nQKZ/SMyR6njkZOB+YuVAlamHftpR5PtZntRibQ7quE2 KfhB8oD5UDZOL3YwODLMdTnhrfFtmq6vCdbNsX/KKcNC80XMLH0FIDxrX6+kiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733524158; a=rsa-sha256; cv=none; b=i2eDLdoO5kkpR5SwmGXH0PJvJKs9PunZ2FLtmGVNdaoMPTYL6uPxAMrrgLu6X60x+1aTWI NNZLDdAx8kymPD5A3CjcVvCW9q3KnKH1iY9OP6QbC0b6yM4ndzGTCWWuOEA+eWLQEh12CR AC0P+qkK4cas0JclnRXPn4U8Cc2JRXohUzo66/I3a5UNoslrjjSIop/btsAT/TC4ZR2Dew l5pdJrYHCuWgYqvcoaT8q4ooMiPKxBWQv8f2lNDmckyYs6Cj0CNfwAZYvMNCM/KdU7HfvU BGTxb+OGdLl7MijXIz1vkOh9f3cIyVuj2Pavn4STeGF03oD4QcBkhR9nxeqTnQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4mC21gF5zwR3; Fri, 6 Dec 2024 22:29: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 4B6MTI2m072258; Fri, 6 Dec 2024 22:29:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6MTIEM072255; Fri, 6 Dec 2024 22:29:18 GMT (envelope-from git) Date: Fri, 6 Dec 2024 22:29:18 GMT Message-Id: <202412062229.4B6MTIEM072255@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: 18250ec6c089 - main - Replace calls to bus_generic_attach with bus_attach_children List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 18250ec6c089c0c50cbd9fd87d78e03ff89916df Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=18250ec6c089c0c50cbd9fd87d78e03ff89916df commit 18250ec6c089c0c50cbd9fd87d78e03ff89916df Author: John Baldwin AuthorDate: 2024-12-06 22:26:16 +0000 Commit: John Baldwin CommitDate: 2024-12-06 22:26:16 +0000 Replace calls to bus_generic_attach with bus_attach_children Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47675 --- sys/amd64/acpica/acpi_machdep.c | 3 ++- sys/arm/allwinner/aw_rsb.c | 2 +- sys/arm/annapurna/alpine/alpine_pci_msix.c | 3 ++- sys/arm/arm/gic_acpi.c | 2 +- sys/arm/arm/gic_fdt.c | 2 +- sys/arm/arm/nexus.c | 2 +- sys/arm/broadcom/bcm2835/bcm2835_clkman.c | 3 ++- sys/arm/broadcom/bcm2835/bcm2835_pwm.c | 3 ++- sys/arm/broadcom/bcm2835/bcm2835_sdhci.c | 2 +- sys/arm/broadcom/bcm2835/bcm2835_sdhost.c | 2 +- sys/arm/broadcom/bcm2835/bcm2835_spi.c | 3 ++- sys/arm/broadcom/bcm2835/bcm2838_pci.c | 3 ++- sys/arm/freescale/vybrid/vf_spi.c | 3 ++- sys/arm/mv/a37x0_iic.c | 3 ++- sys/arm/mv/mv_pci.c | 3 ++- sys/arm/mv/mv_pci_ctrl.c | 3 ++- sys/arm/mv/mvebu_gpio.c | 3 ++- sys/arm/nvidia/as3722.c | 3 ++- sys/arm/nvidia/drm2/tegra_dc.c | 3 ++- sys/arm/nvidia/drm2/tegra_hdmi.c | 3 ++- sys/arm/nvidia/drm2/tegra_host1x.c | 3 ++- sys/arm/nvidia/tegra_abpmisc.c | 3 ++- sys/arm/nvidia/tegra_efuse.c | 3 ++- sys/arm/nvidia/tegra_gpio.c | 3 ++- sys/arm/nvidia/tegra_i2c.c | 3 ++- sys/arm/nvidia/tegra_mc.c | 3 ++- sys/arm/nvidia/tegra_pcie.c | 3 ++- sys/arm/nvidia/tegra_rtc.c | 3 ++- sys/arm/nvidia/tegra_sdhci.c | 2 +- sys/arm/nvidia/tegra_soctherm.c | 3 ++- sys/arm/qualcomm/ipq4018_usb_hs_phy.c | 3 ++- sys/arm/qualcomm/ipq4018_usb_ss_phy.c | 3 ++- sys/arm/ti/am335x/am335x_ehrpwm.c | 3 ++- sys/arm/ti/am335x/am335x_pwmss.c | 3 ++- sys/arm/ti/am335x/am335x_usb_phy.c | 3 ++- sys/arm/ti/clk/ti_clkctrl.c | 3 ++- sys/arm/ti/clk/ti_divider_clock.c | 9 ++++++--- sys/arm/ti/clk/ti_dpll_clock.c | 9 ++++++--- sys/arm/ti/clk/ti_gate_clock.c | 9 ++++++--- sys/arm/ti/clk/ti_mux_clock.c | 9 ++++++--- sys/arm/ti/cpsw/if_cpsw.c | 2 +- sys/arm/ti/ti_omap4_cm.c | 3 ++- sys/arm/ti/ti_prcm.c | 4 ++-- sys/arm/ti/ti_scm.c | 3 ++- sys/arm/ti/ti_scm_syscon.c | 3 ++- sys/arm/ti/ti_sdhci.c | 2 +- sys/arm/ti/ti_spi.c | 3 ++- sys/arm/ti/ti_sysc.c | 8 +++++--- sys/arm/ti/twl/twl.c | 3 ++- sys/arm/ti/usb/omap_host.c | 3 ++- sys/arm64/arm64/gic_v3_acpi.c | 2 +- sys/arm64/arm64/gic_v3_fdt.c | 3 ++- sys/arm64/arm64/nexus.c | 2 +- sys/arm64/broadcom/brcmmdio/mdio_mux_iproc.c | 3 ++- sys/arm64/broadcom/brcmmdio/mdio_nexus_iproc.c | 3 ++- sys/arm64/broadcom/brcmmdio/mdio_ns2_pcie_phy.c | 3 ++- sys/arm64/cavium/thunder_pcie_pem.c | 4 ++-- sys/arm64/nvidia/tegra210/max77620.c | 3 ++- sys/arm64/nvidia/tegra210/max77620_rtc.c | 3 ++- sys/arm64/qoriq/qoriq_dw_pci.c | 3 ++- sys/arm64/qoriq/qoriq_therm.c | 3 ++- sys/arm64/rockchip/rk3568_pcie.c | 3 ++- sys/arm64/rockchip/rk_pcie.c | 3 ++- sys/arm64/rockchip/rk_pinctrl.c | 3 ++- sys/arm64/rockchip/rk_tsadc.c | 3 ++- sys/arm64/rockchip/rk_usbphy.c | 3 ++- sys/compat/linuxkpi/common/src/linux_i2c.c | 11 ++--------- sys/compat/linuxkpi/common/src/linux_i2cbb.c | 11 ++--------- sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c | 2 +- sys/dev/aac/aac.c | 7 +++---- sys/dev/aacraid/aacraid.c | 4 ++-- sys/dev/acpi_support/acpi_wmi.c | 2 +- sys/dev/acpica/acpi.c | 4 ++-- sys/dev/acpica/acpi_container.c | 3 ++- sys/dev/acpica/acpi_cpu.c | 2 +- sys/dev/acpica/acpi_pcib_acpi.c | 3 ++- sys/dev/adb/adb_bus.c | 2 +- sys/dev/ahci/ahci.c | 2 +- sys/dev/alpm/alpm.c | 2 +- sys/dev/amdpm/amdpm.c | 2 +- sys/dev/amdsmb/amdsmb.c | 2 +- sys/dev/ata/ata-pci.c | 2 +- sys/dev/ata/chipsets/ata-jmicron.c | 2 +- sys/dev/ata/chipsets/ata-marvell.c | 2 +- sys/dev/atkbdc/atkbdc_isa.c | 2 +- sys/dev/atopcase/atopcase.c | 3 ++- sys/dev/bhnd/bhndb/bhndb_pci.c | 3 +-- sys/dev/bhnd/cores/chipc/chipc.c | 5 ++--- sys/dev/bhnd/cores/chipc/chipc_spi.c | 3 +-- sys/dev/bhnd/cores/pci/bhnd_pci.c | 10 +--------- sys/dev/bhnd/cores/pcie2/bhnd_pcie2.c | 10 +--------- sys/dev/cfi/cfi_core.c | 2 +- sys/dev/clk/allwinner/aw_ccu.c | 3 ++- sys/dev/clk/clk_bus.c | 3 ++- sys/dev/clk/clk_fixed.c | 3 ++- sys/dev/cxgb/cxgb_main.c | 3 +-- sys/dev/cxgbe/t4_main.c | 9 ++------- sys/dev/cxgbe/t4_vf.c | 7 +------ sys/dev/dpaa/bman_portals.c | 3 ++- sys/dev/dpaa/fman.c | 3 ++- sys/dev/dpaa/qman_portals.c | 3 ++- sys/dev/dpaa2/dpaa2_mc.c | 2 +- sys/dev/dpaa2/dpaa2_rc.c | 17 +++++------------ sys/dev/dpaa2/memac_mdio_acpi.c | 2 +- sys/dev/drm2/drm_dp_iic_helper.c | 2 +- sys/dev/dwwdt/dwwdt.c | 3 ++- sys/dev/etherswitch/ar40xx/ar40xx_main.c | 2 +- sys/dev/etherswitch/arswitch/arswitch.c | 7 +------ sys/dev/etherswitch/e6000sw/e6000sw.c | 2 +- sys/dev/etherswitch/e6000sw/e6060sw.c | 4 +--- sys/dev/etherswitch/felix/felix.c | 2 +- sys/dev/etherswitch/infineon/adm6996fc.c | 4 +--- sys/dev/etherswitch/ip17x/ip17x.c | 4 +--- sys/dev/etherswitch/micrel/ksz8995ma.c | 4 +--- sys/dev/etherswitch/miiproxy.c | 13 +++++-------- sys/dev/etherswitch/mtkswitch/mtkswitch.c | 5 +---- sys/dev/etherswitch/rtl8366/rtl8366rb.c | 4 +--- sys/dev/etherswitch/ukswitch/ukswitch.c | 4 +--- sys/dev/fdc/fdc.c | 5 ++--- sys/dev/fdc/fdc_acpi.c | 3 ++- sys/dev/fdt/simple_mfd.c | 3 ++- sys/dev/fdt/simplebus.c | 3 ++- sys/dev/firewire/firewire.c | 2 +- sys/dev/firewire/fwohci_pci.c | 2 +- sys/dev/firmware/arm/scmi.c | 4 ++-- sys/dev/firmware/xilinx/zynqmp_firmware.c | 3 ++- sys/dev/flash/cqspi.c | 2 +- sys/dev/gpio/dwgpio/dwgpio_bus.c | 3 ++- sys/dev/gpio/gpiobus.c | 7 ++++--- sys/dev/gpio/gpioiic.c | 3 ++- sys/dev/gpio/gpiospi.c | 3 ++- sys/dev/gpio/ofw_gpiobus.c | 3 ++- sys/dev/hid/hidbus.c | 7 ++++--- sys/dev/hyperv/input/hv_hid.c | 4 +--- sys/dev/hyperv/pcib/vmbus_pcib.c | 2 +- sys/dev/hyperv/vmbus/vmbus.c | 2 +- sys/dev/ichiic/ig4_iic.c | 6 +----- sys/dev/ida/ida.c | 2 +- sys/dev/iicbus/controller/opencores/iicoc_pci.c | 2 +- sys/dev/iicbus/controller/rockchip/rk_i2c.c | 2 +- sys/dev/iicbus/controller/twsi/twsi.c | 2 +- sys/dev/iicbus/controller/vybrid/vf_i2c.c | 2 +- sys/dev/iicbus/iicbb.c | 2 +- sys/dev/iicbus/iicbus.c | 2 +- sys/dev/iicbus/iichid.c | 7 ++----- sys/dev/iicbus/iicsmb.c | 2 +- sys/dev/iicbus/mux/iic_gpiomux.c | 2 +- sys/dev/iicbus/mux/ltc430x.c | 2 +- sys/dev/iicbus/mux/pca9547.c | 2 +- sys/dev/iicbus/mux/pca954x.c | 2 +- sys/dev/iicbus/ofw_iicbus.c | 3 ++- sys/dev/iicbus/pmic/act8846.c | 3 ++- sys/dev/imcsmb/imcsmb.c | 5 ++--- sys/dev/imcsmb/imcsmb_pci.c | 6 ++---- sys/dev/ips/ips.c | 4 +--- sys/dev/ismt/ismt.c | 6 +----- sys/dev/mdio/mdio.c | 3 ++- sys/dev/mfi/mfi.c | 6 +++--- sys/dev/mge/if_mge.c | 2 +- sys/dev/mii/mii.c | 11 ++++------- sys/dev/mlx/mlx.c | 5 ++--- sys/dev/mmc/mmc.c | 2 +- sys/dev/msk/if_msk.c | 6 +----- sys/dev/mvs/mvs_pci.c | 2 +- sys/dev/mvs/mvs_soc.c | 2 +- sys/dev/neta/if_mvneta.c | 4 ++-- sys/dev/nfsmb/nfsmb.c | 4 ++-- sys/dev/ntb/ntb.c | 2 +- sys/dev/ntb/ntb_transport.c | 2 +- sys/dev/nvdimm/nvdimm_acpi.c | 4 +--- sys/dev/ofw/ofw_cpu.c | 6 ++++-- sys/dev/ofw/ofw_firmware.c | 3 ++- sys/dev/ofw/ofw_pcib.c | 3 ++- sys/dev/ofw/ofwbus.c | 3 ++- sys/dev/ow/ow.c | 3 ++- sys/dev/p2sb/lewisburg_gpiocm.c | 3 ++- sys/dev/p2sb/p2sb.c | 3 ++- sys/dev/pcf/pcf_isa.c | 2 +- sys/dev/pci/controller/pci_n1sdp.c | 3 ++- sys/dev/pci/hostb_pci.c | 2 +- sys/dev/pci/pci.c | 3 ++- sys/dev/pci/pci_dw_mv.c | 3 ++- sys/dev/pci/pci_host_generic_acpi.c | 3 ++- sys/dev/pci/pci_host_generic_den0115.c | 3 ++- sys/dev/pci/pci_host_generic_fdt.c | 3 ++- sys/dev/pci/pci_iov.c | 2 +- sys/dev/pci/pci_pci.c | 5 +++-- sys/dev/pci/vga_pci.c | 2 +- sys/dev/ppbus/ppbconf.c | 2 +- sys/dev/psci/psci.c | 2 +- sys/dev/psci/smccc.c | 3 ++- sys/dev/pst/pst-pci.c | 3 ++- sys/dev/pwm/controller/allwinner/aw_pwm.c | 3 ++- sys/dev/pwm/controller/rockchip/rk_pwm.c | 3 ++- sys/dev/pwm/ofw_pwmbus.c | 3 ++- sys/dev/pwm/pwmbus.c | 3 ++- sys/dev/qcom_dwc3/qcom_dwc3.c | 3 ++- sys/dev/qcom_qup/qcom_spi.c | 3 ++- sys/dev/regulator/regulator_bus.c | 3 ++- sys/dev/regulator/regulator_fixed.c | 9 ++++++--- sys/dev/sdhci/fsl_sdhci.c | 2 +- sys/dev/sdhci/sdhci_fsl_fdt.c | 3 ++- sys/dev/siis/siis.c | 2 +- sys/dev/sk/if_sk.c | 6 +----- sys/dev/smbus/smbus.c | 2 +- sys/dev/sound/pci/csa.c | 2 +- sys/dev/sound/pci/emu10kx.c | 3 ++- sys/dev/sound/pci/fm801.c | 2 +- sys/dev/sound/pci/hda/hdaa.c | 4 ++-- sys/dev/sound/pci/hda/hdac.c | 2 +- sys/dev/sound/pci/hda/hdacc.c | 2 +- sys/dev/sound/pci/hdsp.c | 3 ++- sys/dev/sound/pci/hdspe.c | 4 ++-- sys/dev/sound/usb/uaudio.c | 5 +---- sys/dev/spibus/controller/allwinner/aw_spi.c | 3 ++- sys/dev/spibus/controller/rockchip/rk_spi.c | 3 ++- sys/dev/spibus/ofw_spibus.c | 3 ++- sys/dev/spibus/spibus.c | 3 ++- sys/dev/sram/mmio_sram.c | 3 ++- sys/dev/superio/superio.c | 2 +- sys/dev/syscon/syscon_generic.c | 3 ++- sys/dev/usb/controller/dwc3/aw_dwc3.c | 3 ++- sys/dev/usb/controller/dwc3/rk_dwc3.c | 3 ++- sys/dev/usb/controller/xlnx_dwc3.c | 3 ++- sys/dev/usb/input/usbhid.c | 7 +------ sys/dev/usb/misc/cp2112.c | 2 +- sys/dev/usb/misc/i2ctinyusb.c | 2 +- sys/dev/viapm/viapm.c | 4 ++-- sys/dev/vmd/vmd.c | 3 ++- sys/dev/vnic/mrml_bridge.c | 3 ++- sys/dev/vnic/thunder_mdio_fdt.c | 3 ++- sys/dev/xen/bus/xenpv.c | 5 ++--- sys/dev/xen/pcifront/pcifront.c | 6 ++++-- sys/dev/xen/xenstore/xenstore.c | 4 ++-- sys/dev/xilinx/axi_quad_spi.c | 3 ++- sys/i386/acpica/acpi_machdep.c | 3 ++- sys/isa/isa_common.c | 7 ++++--- sys/isa/vga_isa.c | 4 ++-- sys/powerpc/mambo/mambo.c | 3 ++- sys/powerpc/mpc85xx/fsl_espi.c | 4 ++-- sys/powerpc/mpc85xx/i2c.c | 2 +- sys/powerpc/mpc85xx/lbc.c | 3 ++- sys/powerpc/ofw/ofw_pcibus.c | 3 ++- sys/powerpc/powermac/cuda.c | 3 ++- sys/powerpc/powermac/kiic.c | 3 ++- sys/powerpc/powermac/macgpio.c | 3 ++- sys/powerpc/powermac/macio.c | 3 ++- sys/powerpc/powermac/pmu.c | 3 ++- sys/powerpc/powermac/smu.c | 6 ++++-- sys/powerpc/powermac/uninorth.c | 3 ++- sys/powerpc/powernv/opal_console.c | 3 ++- sys/powerpc/powernv/opal_dev.c | 3 ++- sys/powerpc/powernv/opal_i2c.c | 3 ++- sys/powerpc/powernv/opal_i2cm.c | 3 ++- sys/powerpc/powernv/opal_sensor.c | 3 ++- sys/powerpc/powernv/powernv_centaur.c | 3 ++- sys/powerpc/powernv/powernv_xscom.c | 3 ++- sys/powerpc/powerpc/nexus.c | 2 +- sys/powerpc/ps3/ps3bus.c | 3 ++- sys/powerpc/pseries/vdevice.c | 3 ++- sys/powerpc/psim/ata_iobus.c | 3 ++- sys/powerpc/psim/iobus.c | 3 ++- sys/riscv/riscv/nexus.c | 2 +- sys/riscv/riscv/riscv_console.c | 2 +- sys/riscv/sifive/fu740_pci_dw.c | 3 ++- sys/x86/pci/pci_bus.c | 3 ++- sys/x86/pci/qpi.c | 6 ++++-- sys/x86/x86/legacy.c | 4 ++-- sys/x86/x86/mptable_pci.c | 3 ++- sys/x86/x86/nexus.c | 2 +- 270 files changed, 491 insertions(+), 449 deletions(-) diff --git a/sys/amd64/acpica/acpi_machdep.c b/sys/amd64/acpica/acpi_machdep.c index 67e71cb2de55..67bbced4f611 100644 --- a/sys/amd64/acpica/acpi_machdep.c +++ b/sys/amd64/acpica/acpi_machdep.c @@ -270,8 +270,9 @@ nexus_acpi_attach(device_t dev) bus_identify_children(dev); if (BUS_ADD_CHILD(dev, 10, "acpi", 0) == NULL) panic("failed to add acpi0 device"); + bus_attach_children(dev); - return (bus_generic_attach(dev)); + return (0); } static device_method_t nexus_acpi_methods[] = { diff --git a/sys/arm/allwinner/aw_rsb.c b/sys/arm/allwinner/aw_rsb.c index 6ca6b3acbf8c..773b88d01d84 100644 --- a/sys/arm/allwinner/aw_rsb.c +++ b/sys/arm/allwinner/aw_rsb.c @@ -449,7 +449,7 @@ rsb_attach(device_t dev) goto fail; } - bus_generic_attach(dev); + bus_attach_children(dev); return (0); diff --git a/sys/arm/annapurna/alpine/alpine_pci_msix.c b/sys/arm/annapurna/alpine/alpine_pci_msix.c index c4ecfe68144a..fc2915ae7815 100644 --- a/sys/arm/annapurna/alpine/alpine_pci_msix.c +++ b/sys/arm/annapurna/alpine/alpine_pci_msix.c @@ -216,7 +216,8 @@ al_msix_attach(device_t dev) device_printf(dev, "MSI-X SPI IRQ %d-%d\n", sc->irq_min, sc->irq_max); - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/arm/gic_acpi.c b/sys/arm/arm/gic_acpi.c index f30f51e1a1b7..6c8257beddfb 100644 --- a/sys/arm/arm/gic_acpi.c +++ b/sys/arm/arm/gic_acpi.c @@ -243,7 +243,7 @@ gic_acpi_attach(device_t dev) /* If we have children probe and attach them */ if (arm_gic_add_children(dev)) { bus_identify_children(dev); - return (bus_generic_attach(dev)); + bus_attach_children(dev); } return (0); diff --git a/sys/arm/arm/gic_fdt.c b/sys/arm/arm/gic_fdt.c index 6c5b5be43175..1546e754c2e3 100644 --- a/sys/arm/arm/gic_fdt.c +++ b/sys/arm/arm/gic_fdt.c @@ -186,7 +186,7 @@ gic_fdt_attach(device_t dev) /* If we have children probe and attach them */ if (arm_gic_add_children(dev)) { bus_identify_children(dev); - return (bus_generic_attach(dev)); + bus_attach_children(dev); } return (0); diff --git a/sys/arm/arm/nexus.c b/sys/arm/arm/nexus.c index 06f599652698..3653d7087a5c 100644 --- a/sys/arm/arm/nexus.c +++ b/sys/arm/arm/nexus.c @@ -185,7 +185,7 @@ nexus_attach(device_t dev) * Next, deal with the children we know about already. */ bus_identify_children(dev); - bus_generic_attach(dev); + bus_attach_children(dev); return (0); } diff --git a/sys/arm/broadcom/bcm2835/bcm2835_clkman.c b/sys/arm/broadcom/bcm2835/bcm2835_clkman.c index 744125cc2bb4..7061acbba820 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_clkman.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_clkman.c @@ -112,7 +112,8 @@ bcm2835_clkman_attach(device_t dev) sc->sc_m_bst = rman_get_bustag(sc->sc_m_res); sc->sc_m_bsh = rman_get_bushandle(sc->sc_m_res); - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } uint32_t diff --git a/sys/arm/broadcom/bcm2835/bcm2835_pwm.c b/sys/arm/broadcom/bcm2835/bcm2835_pwm.c index c1711261922d..ad794a6d20ed 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_pwm.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_pwm.c @@ -460,7 +460,8 @@ bcm_pwm_attach(device_t dev) sc->period2 = 10000; /* 12.5 khz */ sc->ratio2 = 2500; /* 25% */ - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c b/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c index 5ff7b5069c6b..e0c4327d8e05 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c @@ -354,7 +354,7 @@ bcm_sdhci_attach(device_t dev) SDHCI_BUFFER; bus_identify_children(dev); - bus_generic_attach(dev); + bus_attach_children(dev); sdhci_start_slot(&sc->sc_slot); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_sdhost.c b/sys/arm/broadcom/bcm2835/bcm2835_sdhost.c index 29f062d6ab2b..2fe641ebe390 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_sdhost.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_sdhost.c @@ -473,7 +473,7 @@ bcm_sdhost_attach(device_t dev) sdhci_init_slot(dev, &sc->sc_slot, 0); bus_identify_children(dev); - bus_generic_attach(dev); + bus_attach_children(dev); sdhci_start_slot(&sc->sc_slot); diff --git a/sys/arm/broadcom/bcm2835/bcm2835_spi.c b/sys/arm/broadcom/bcm2835/bcm2835_spi.c index 17419be0c8a7..a1a77d9fabb0 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_spi.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_spi.c @@ -299,8 +299,9 @@ bcm_spi_attach(device_t dev) #endif device_add_child(dev, "spibus", DEVICE_UNIT_ANY); + bus_attach_children(dev); - return (bus_generic_attach(dev)); + return (0); } static int diff --git a/sys/arm/broadcom/bcm2835/bcm2838_pci.c b/sys/arm/broadcom/bcm2835/bcm2838_pci.c index 0f41dcff37ca..2b2ad1e3bdf8 100644 --- a/sys/arm/broadcom/bcm2835/bcm2838_pci.c +++ b/sys/arm/broadcom/bcm2835/bcm2838_pci.c @@ -745,7 +745,8 @@ bcm_pcib_attach(device_t dev) /* Done. */ device_add_child(dev, "pci", DEVICE_UNIT_ANY); - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } /* diff --git a/sys/arm/freescale/vybrid/vf_spi.c b/sys/arm/freescale/vybrid/vf_spi.c index 5d32723e118c..12dbaabe987e 100644 --- a/sys/arm/freescale/vybrid/vf_spi.c +++ b/sys/arm/freescale/vybrid/vf_spi.c @@ -197,7 +197,8 @@ spi_attach(device_t dev) WRITE4(sc, SPI_CTAR0, reg); device_add_child(dev, "spibus", 0); - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/mv/a37x0_iic.c b/sys/arm/mv/a37x0_iic.c index 01fda1579bd6..f9a71b97240a 100644 --- a/sys/arm/mv/a37x0_iic.c +++ b/sys/arm/mv/a37x0_iic.c @@ -237,7 +237,8 @@ a37x0_iic_attach(device_t dev) } /* Probe and attach the iicbus. */ - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/mv/mv_pci.c b/sys/arm/mv/mv_pci.c index 69c72c074c67..5983076d6be8 100644 --- a/sys/arm/mv/mv_pci.c +++ b/sys/arm/mv/mv_pci.c @@ -562,7 +562,8 @@ mv_pcib_attach(device_t self) } mtx_init(&sc->sc_msi_mtx, "msi_mtx", NULL, MTX_DEF); - return (bus_generic_attach(self)); + bus_attach_children(self); + return (0); error: /* XXX SYS_RES_ should be released here */ diff --git a/sys/arm/mv/mv_pci_ctrl.c b/sys/arm/mv/mv_pci_ctrl.c index e32d38281e9d..902c0e129dbb 100644 --- a/sys/arm/mv/mv_pci_ctrl.c +++ b/sys/arm/mv/mv_pci_ctrl.c @@ -149,7 +149,8 @@ mv_pcib_ctrl_attach(device_t dev) if (err != 0) return (err); - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/mv/mvebu_gpio.c b/sys/arm/mv/mvebu_gpio.c index a2001589867c..681cf20f7f9f 100644 --- a/sys/arm/mv/mvebu_gpio.c +++ b/sys/arm/mv/mvebu_gpio.c @@ -810,7 +810,8 @@ mvebu_gpio_attach(device_t dev) return (ENXIO); } - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/nvidia/as3722.c b/sys/arm/nvidia/as3722.c index ed5f47363b01..55cdc5111a15 100644 --- a/sys/arm/nvidia/as3722.c +++ b/sys/arm/nvidia/as3722.c @@ -328,7 +328,8 @@ as3722_attach(device_t dev) device_printf(dev, "Cannot setup interrupt.\n"); goto fail; } - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: if (sc->irq_h != NULL) diff --git a/sys/arm/nvidia/drm2/tegra_dc.c b/sys/arm/nvidia/drm2/tegra_dc.c index a8a0e3f4abf8..eca7ce78c9b2 100644 --- a/sys/arm/nvidia/drm2/tegra_dc.c +++ b/sys/arm/nvidia/drm2/tegra_dc.c @@ -1368,7 +1368,8 @@ dc_attach(device_t dev) goto fail; } - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: TEGRA_DRM_DEREGISTER_CLIENT(device_get_parent(sc->dev), sc->dev); diff --git a/sys/arm/nvidia/drm2/tegra_hdmi.c b/sys/arm/nvidia/drm2/tegra_hdmi.c index 067df21c889c..e727d0279247 100644 --- a/sys/arm/nvidia/drm2/tegra_hdmi.c +++ b/sys/arm/nvidia/drm2/tegra_hdmi.c @@ -1242,7 +1242,8 @@ hdmi_attach(device_t dev) device_printf(dev, "Cannot register DRM device\n"); goto fail; } - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: TEGRA_DRM_DEREGISTER_CLIENT(device_get_parent(sc->dev), sc->dev); diff --git a/sys/arm/nvidia/drm2/tegra_host1x.c b/sys/arm/nvidia/drm2/tegra_host1x.c index ee43efba5ba7..81f727a83edc 100644 --- a/sys/arm/nvidia/drm2/tegra_host1x.c +++ b/sys/arm/nvidia/drm2/tegra_host1x.c @@ -571,7 +571,8 @@ host1x_attach(device_t dev) goto fail; } - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: if (sc->tegra_drm != NULL) diff --git a/sys/arm/nvidia/tegra_abpmisc.c b/sys/arm/nvidia/tegra_abpmisc.c index 1f54a918f63b..7f219b79990e 100644 --- a/sys/arm/nvidia/tegra_abpmisc.c +++ b/sys/arm/nvidia/tegra_abpmisc.c @@ -151,7 +151,8 @@ tegra_abpmisc_attach(device_t dev) } dev_sc = sc; - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: if (sc->abp_misc_res != NULL) diff --git a/sys/arm/nvidia/tegra_efuse.c b/sys/arm/nvidia/tegra_efuse.c index dc637e6d0bec..a756f9681e92 100644 --- a/sys/arm/nvidia/tegra_efuse.c +++ b/sys/arm/nvidia/tegra_efuse.c @@ -481,7 +481,8 @@ tegra_efuse_attach(device_t dev) if (bootverbose) tegra_efuse_dump_sku(); - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: dev_sc = NULL; diff --git a/sys/arm/nvidia/tegra_gpio.c b/sys/arm/nvidia/tegra_gpio.c index 29bc8624e27a..16e1ef94d6a9 100644 --- a/sys/arm/nvidia/tegra_gpio.c +++ b/sys/arm/nvidia/tegra_gpio.c @@ -824,7 +824,8 @@ tegra_gpio_attach(device_t dev) return (ENXIO); } - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/nvidia/tegra_i2c.c b/sys/arm/nvidia/tegra_i2c.c index b01f1a1fdce4..bed1bf0ed7e3 100644 --- a/sys/arm/nvidia/tegra_i2c.c +++ b/sys/arm/nvidia/tegra_i2c.c @@ -722,7 +722,8 @@ tegra_i2c_attach(device_t dev) } /* Probe and attach the iicbus. */ - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: if (sc->irq_h != NULL) diff --git a/sys/arm/nvidia/tegra_mc.c b/sys/arm/nvidia/tegra_mc.c index 0f05c32117e9..2568ff8324af 100644 --- a/sys/arm/nvidia/tegra_mc.c +++ b/sys/arm/nvidia/tegra_mc.c @@ -260,7 +260,8 @@ tegra_mc_attach(device_t dev) /* Enable Interrupts */ WR4(sc, MC_INTMASK, MC_INT_INT_MASK); - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: if (sc->clk != NULL) diff --git a/sys/arm/nvidia/tegra_pcie.c b/sys/arm/nvidia/tegra_pcie.c index 2a91a81d40a9..b76e74da4f7d 100644 --- a/sys/arm/nvidia/tegra_pcie.c +++ b/sys/arm/nvidia/tegra_pcie.c @@ -1566,8 +1566,9 @@ tegra_pcib_attach(device_t dev) goto out; #endif device_add_child(dev, "pci", DEVICE_UNIT_ANY); + bus_attach_children(dev); - return (bus_generic_attach(dev)); + return (0); out: diff --git a/sys/arm/nvidia/tegra_rtc.c b/sys/arm/nvidia/tegra_rtc.c index 09bd42bc64e3..b94ee24e81a5 100644 --- a/sys/arm/nvidia/tegra_rtc.c +++ b/sys/arm/nvidia/tegra_rtc.c @@ -246,7 +246,8 @@ tegra_rtc_attach(device_t dev) */ /* clock_register(dev, 1000000); */ - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: if (sc->clk != NULL) diff --git a/sys/arm/nvidia/tegra_sdhci.c b/sys/arm/nvidia/tegra_sdhci.c index d37f71a150a2..4d2eaccf4c27 100644 --- a/sys/arm/nvidia/tegra_sdhci.c +++ b/sys/arm/nvidia/tegra_sdhci.c @@ -387,7 +387,7 @@ tegra_sdhci_attach(device_t dev) sc->gpio = sdhci_fdt_gpio_setup(sc->dev, &sc->slot); bus_identify_children(dev); - bus_generic_attach(dev); + bus_attach_children(dev); sdhci_start_slot(&sc->slot); diff --git a/sys/arm/nvidia/tegra_soctherm.c b/sys/arm/nvidia/tegra_soctherm.c index fa6d0d9fa5cd..630287adb137 100644 --- a/sys/arm/nvidia/tegra_soctherm.c +++ b/sys/arm/nvidia/tegra_soctherm.c @@ -780,7 +780,8 @@ soctherm_attach(device_t dev) } OF_device_register_xref(OF_xref_from_node(node), dev); - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: if (sc->irq_ih != NULL) diff --git a/sys/arm/qualcomm/ipq4018_usb_hs_phy.c b/sys/arm/qualcomm/ipq4018_usb_hs_phy.c index 97f65766466c..5ed964abf0ec 100644 --- a/sys/arm/qualcomm/ipq4018_usb_hs_phy.c +++ b/sys/arm/qualcomm/ipq4018_usb_hs_phy.c @@ -200,7 +200,8 @@ ipq4018_usb_hs_usbphy_attach(device_t dev) rv = ipq4018_usb_hs_usbphy_init_phy(sc, node); if (rv != 0) goto fail; - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: return (ENXIO); diff --git a/sys/arm/qualcomm/ipq4018_usb_ss_phy.c b/sys/arm/qualcomm/ipq4018_usb_ss_phy.c index e9b880319bbc..ef8a315e3906 100644 --- a/sys/arm/qualcomm/ipq4018_usb_ss_phy.c +++ b/sys/arm/qualcomm/ipq4018_usb_ss_phy.c @@ -180,7 +180,8 @@ ipq4018_usb_ss_usbphy_attach(device_t dev) rv = ipq4018_usb_ss_usbphy_init_phy(sc, node); if (rv != 0) goto fail; - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: return (ENXIO); diff --git a/sys/arm/ti/am335x/am335x_ehrpwm.c b/sys/arm/ti/am335x/am335x_ehrpwm.c index 77b6384b17a7..95301f9cfed3 100644 --- a/sys/arm/ti/am335x/am335x_ehrpwm.c +++ b/sys/arm/ti/am335x/am335x_ehrpwm.c @@ -518,7 +518,8 @@ am335x_ehrpwm_attach(device_t dev) } bus_identify_children(dev); - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); fail: PWM_LOCK_DESTROY(sc); if (sc->sc_mem_res) diff --git a/sys/arm/ti/am335x/am335x_pwmss.c b/sys/arm/ti/am335x/am335x_pwmss.c index 9d584910ee58..039448f9099f 100644 --- a/sys/arm/ti/am335x/am335x_pwmss.c +++ b/sys/arm/ti/am335x/am335x_pwmss.c @@ -158,7 +158,8 @@ am335x_pwmss_attach(device_t dev) for (node = OF_child(node); node > 0; node = OF_peer(node)) simplebus_add_device(dev, node, 0, NULL, -1, NULL); - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/ti/am335x/am335x_usb_phy.c b/sys/arm/ti/am335x/am335x_usb_phy.c index 05b1c085aea3..56fb49519336 100644 --- a/sys/arm/ti/am335x/am335x_usb_phy.c +++ b/sys/arm/ti/am335x/am335x_usb_phy.c @@ -85,7 +85,8 @@ ti_usb_phy_attach(device_t dev) /* FIXME: Add dev/phy/ interface */ - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/ti/clk/ti_clkctrl.c b/sys/arm/ti/clk/ti_clkctrl.c index 169cc7a62f73..cba832640fa3 100644 --- a/sys/arm/ti/clk/ti_clkctrl.c +++ b/sys/arm/ti/clk/ti_clkctrl.c @@ -241,7 +241,8 @@ cleanup: if (err) return (err); - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/ti/clk/ti_divider_clock.c b/sys/arm/ti/clk/ti_divider_clock.c index ebe623762efc..7812d3607b07 100644 --- a/sys/arm/ti/clk/ti_divider_clock.c +++ b/sys/arm/ti/clk/ti_divider_clock.c @@ -182,7 +182,8 @@ ti_divider_attach(device_t dev) if (err) { /* free_clkdef will be called in ti_divider_new_pass */ DPRINTF(sc->sc_dev, "find_parent_clock_names failed\n"); - return (bus_generic_attach(sc->sc_dev)); + bus_attach_children(sc->sc_dev); + return (0); } err = register_clk(sc); @@ -190,14 +191,16 @@ ti_divider_attach(device_t dev) if (err) { /* free_clkdef will be called in ti_divider_new_pass */ DPRINTF(sc->sc_dev, "register_clk failed\n"); - return (bus_generic_attach(sc->sc_dev)); + bus_attach_children(sc->sc_dev); + return (0); } sc->attach_done = true; free_clkdef(&sc->div_def.clkdef); - return (bus_generic_attach(sc->sc_dev)); + bus_attach_children(sc->sc_dev); + return (0); } static int diff --git a/sys/arm/ti/clk/ti_dpll_clock.c b/sys/arm/ti/clk/ti_dpll_clock.c index 84b86008b6d6..9252dc1abfe1 100644 --- a/sys/arm/ti/clk/ti_dpll_clock.c +++ b/sys/arm/ti/clk/ti_dpll_clock.c @@ -292,7 +292,8 @@ ti_dpll_attach(device_t dev) if (err) { /* free_clkdef will be called in ti_dpll_new_pass */ DPRINTF(sc->dev, "find_parent_clock_names failed\n"); - return (bus_generic_attach(sc->dev)); + bus_attach_children(sc->dev); + return (0); } err = register_clk(sc); @@ -300,14 +301,16 @@ ti_dpll_attach(device_t dev) if (err) { /* free_clkdef will be called in ti_dpll_new_pass */ DPRINTF(sc->dev, "register_clk failed\n"); - return (bus_generic_attach(sc->dev)); + bus_attach_children(sc->dev); + return (0); } sc->attach_done = true; free_clkdef(&sc->dpll_def.clkdef); - return (bus_generic_attach(sc->dev)); + bus_attach_children(sc->dev); + return (0); } static int diff --git a/sys/arm/ti/clk/ti_gate_clock.c b/sys/arm/ti/clk/ti_gate_clock.c index fc54a196fb5e..71512b8490ab 100644 --- a/sys/arm/ti/clk/ti_gate_clock.c +++ b/sys/arm/ti/clk/ti_gate_clock.c @@ -185,7 +185,8 @@ ti_gate_attach(device_t dev) if (err) { /* free_clkdef will be called in ti_gate_new_pass */ DPRINTF(sc->sc_dev, "find_parent_clock_names failed\n"); - return (bus_generic_attach(sc->sc_dev)); + bus_attach_children(sc->dev); + return (0); } err = register_clk(sc); @@ -193,14 +194,16 @@ ti_gate_attach(device_t dev) if (err) { /* free_clkdef will be called in ti_gate_new_pass */ DPRINTF(sc->sc_dev, "register_clk failed\n"); - return (bus_generic_attach(sc->sc_dev)); + bus_attach_children(sc->dev); + return (0); } sc->attach_done = true; free_clkdef(&sc->gate_def.clkdef); - return (bus_generic_attach(sc->sc_dev)); + bus_attach_children(sc->dev); + return (0); } static int diff --git a/sys/arm/ti/clk/ti_mux_clock.c b/sys/arm/ti/clk/ti_mux_clock.c index a6c506fedce0..ac570ba58439 100644 --- a/sys/arm/ti/clk/ti_mux_clock.c +++ b/sys/arm/ti/clk/ti_mux_clock.c @@ -167,7 +167,8 @@ ti_mux_attach(device_t dev) if (err) { /* free_clkdef will be called in ti_mux_new_pass */ DPRINTF(sc->sc_dev, "find_parent_clock_names failed\n"); - return (bus_generic_attach(sc->sc_dev)); + bus_attach_children(sc->dev); + return (0); } err = register_clk(sc); @@ -175,14 +176,16 @@ ti_mux_attach(device_t dev) if (err) { /* free_clkdef will be called in ti_mux_new_pass */ DPRINTF(sc->sc_dev, "register_clk failed\n"); - return (bus_generic_attach(sc->sc_dev)); + bus_attach_children(sc->dev); + return (0); } sc->attach_done = true; free_clkdef(&sc->mux_def.clkdef); - return (bus_generic_attach(sc->sc_dev)); + bus_attach_children(sc->dev); + return (0); } static void diff --git a/sys/arm/ti/cpsw/if_cpsw.c b/sys/arm/ti/cpsw/if_cpsw.c index 7756940bb28d..732b5a81857a 100644 --- a/sys/arm/ti/cpsw/if_cpsw.c +++ b/sys/arm/ti/cpsw/if_cpsw.c @@ -912,7 +912,7 @@ cpsw_attach(device_t dev) } } bus_identify_children(dev); - bus_generic_attach(dev); + bus_attach_children(dev); return (0); } diff --git a/sys/arm/ti/ti_omap4_cm.c b/sys/arm/ti/ti_omap4_cm.c index 67c17ec4df98..572bae7173a1 100644 --- a/sys/arm/ti/ti_omap4_cm.c +++ b/sys/arm/ti/ti_omap4_cm.c @@ -115,7 +115,8 @@ ti_omap4_cm_attach(device_t dev) device_probe_and_attach(cdev); } - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/ti/ti_prcm.c b/sys/arm/ti/ti_prcm.c index 7afb9a2a5678..3fc1fef1fdfb 100644 --- a/sys/arm/ti/ti_prcm.c +++ b/sys/arm/ti/ti_prcm.c @@ -192,8 +192,8 @@ ti_prcm_attach(device_t dev) for (child = OF_child(node); child != 0; child = OF_peer(child)) { simplebus_add_device(dev, child, 0, NULL, -1, NULL); } - - return (bus_generic_attach(sc->dev)); + bus_attach_children(sc->dev); + return (0); } int diff --git a/sys/arm/ti/ti_scm.c b/sys/arm/ti/ti_scm.c index 23507febb90d..dc687641502c 100644 --- a/sys/arm/ti/ti_scm.c +++ b/sys/arm/ti/ti_scm.c @@ -127,7 +127,8 @@ ti_scm_attach(device_t dev) device_probe_and_attach(cdev); } - return (bus_generic_attach(dev)); + bus_attach_children(dev); + return (0); } static int diff --git a/sys/arm/ti/ti_scm_syscon.c b/sys/arm/ti/ti_scm_syscon.c index 729af03c4abd..37d802d6c5d7 100644 --- a/sys/arm/ti/ti_scm_syscon.c +++ b/sys/arm/ti/ti_scm_syscon.c @@ -190,7 +190,8 @@ ti_scm_syscon_attach(device_t dev) simplebus_add_device(sc->dev, child, 0, NULL, -1, NULL); } - return (bus_generic_attach(sc->dev)); + bus_attach_children(sc->dev); + return (0); *** 3536 LINES SKIPPED *** From nobody Fri Dec 6 22:29:19 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4mC34yTDz5g1Br; Fri, 06 Dec 2024 22:29:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4mC32sccz483n; Fri, 6 Dec 2024 22:29:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eBCCcnZgNw3931MOhgdTJMBrzKE6yP2KMgwQPzhdUF0=; b=YyWmcybSBmP67jW7BlwgJXyOkncVhnrE5TjaT+IT6sWlQN1oNlllsETGNSimGD3QJ3A/JA Jd3/dczyvxdCE8NA5i3bRji55UR5aS1+lRXzzC2C+K4+Od+YIJgWzIsQk1uh0i3dL5B2J0 FcDvE8O1YtG5YlYrSgfUShO6gzSm+OULm4+oP2zkqS7cyGxjVSLxztBqh46Wc6T4N4bKQR JppTH7By+8dS6o5NkStaEZUc6DWo+CYp2dkQvi8agyYaSbaEYOTuOtEhvfdVEFq3cqksov E24BQwXktXlpWgEip7L3OM52Ik0OE6Jmm9GDziROj+VoInTeCSsEczuGG6Vu0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524159; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eBCCcnZgNw3931MOhgdTJMBrzKE6yP2KMgwQPzhdUF0=; b=R5i7182Vq3HuHGWiGJt0DgBB6dNs0Hjt/tin9EtZr65UzuoB+/ti+nDLPqPkpm2Pb3k11S laGFbCC9byr7axWMWzVHPr5J2dhWH4S5+5QGaXttWTFIebfdiE8K22bzTRQ7JRBF7akh1e Dp3HIa1oCwds8N4qajdwMShiEWFRug6GUi7pcfFblhuNl/Ke+ohM6/ImBSUrVRmG+vraNZ W4wtj23mYd9mElTOE+AbjTlkKf631jYM5dvKSxjUsYbn3ZpKCaUlOLZcsqU5lS3SRqMbCv QsZ6KcRiDnaYut6kEB/C/blvTo4GnJHZ4PPJcfI9+mH3tAcYomBy5hWM8Anpag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733524159; a=rsa-sha256; cv=none; b=GoKRVyG40lMVOFXS9F/NBBD/ENTt43/doJINCjhjxB00VLXrdoW2/rdWrXpEK/MWHjevzH Z6VyQ8KGDKPc535TlHTqKtpMNupAyy9YR9DZ4/Zn6J8IQm9P+h3bxUaTtdijuBLTd4WuzZ 7+qvH+3Wn1L5jXQ2MgXxSqbgGmubEGsvKUp60TQcvlvTU5YaMqHLY1aiHp7mbcmHaveOvQ 86Y8uBJMpiwHBJ7R8VnnpwBA7+3fFootwxIXcQxXz5av8HzeYckLwgTEnSj7VUJdkfxTKo r7UBZmB2KUlSrdMW/1xg22Lq2u61TX3sbHLcY2JYrgDsnZixuWHDSFl8PBvmGA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4mC32RCqzwqV; Fri, 6 Dec 2024 22:29:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B6MTJtI072315; Fri, 6 Dec 2024 22:29:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6MTJ0d072312; Fri, 6 Dec 2024 22:29:19 GMT (envelope-from git) Date: Fri, 6 Dec 2024 22:29:19 GMT Message-Id: <202412062229.4B6MTJ0d072312@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: 6da04bcff9ef - main - cdefs: Add __deprecated1 which accepts a message as an argument List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6da04bcff9efedeae7d4046553002b9e3b2bc24f Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=6da04bcff9efedeae7d4046553002b9e3b2bc24f commit 6da04bcff9efedeae7d4046553002b9e3b2bc24f Author: John Baldwin AuthorDate: 2024-12-06 22:26:27 +0000 Commit: John Baldwin CommitDate: 2024-12-06 22:26:46 +0000 cdefs: Add __deprecated1 which accepts a message as an argument This message will be included in any warning issued by the compiler for use of the deprecated function. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47701 --- share/man/man9/cdefs.9 | 7 ++++++- sys/sys/cdefs.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/share/man/man9/cdefs.9 b/share/man/man9/cdefs.9 index 0edd6e8392ca..b9821c70f2a1 100644 --- a/share/man/man9/cdefs.9 +++ b/share/man/man9/cdefs.9 @@ -3,7 +3,7 @@ .\" .\" SPDX-License-Identifier: BSD-2-Clause .\" -.Dd November 20, 2024 +.Dd December 6, 2024 .Dt CDEFS 9 .Os .Sh NAME @@ -91,6 +91,11 @@ warn about it .It Sy __deprecated Ta Function interface has been deprecated, and clients should migrate to a new interface. A warning will be issued for clients of this interface. +.It Sy __deprecated1(msg) Ta Function interface has been deprecated, and clients +should migrate to a new interface. +The string +.Fa msg +will be included in a warning issued for clients of this interface. .It Sy __packed Ta \&Do not have space between structure elements for natural alignment. Used when communicating with external protocols. .It Sy __aligned(x) Ta Specify in bytes the minimum alignment for the specified field, structure or variable diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h index 4f4f09a3d763..c46be9f35842 100644 --- a/sys/sys/cdefs.h +++ b/sys/sys/cdefs.h @@ -155,6 +155,7 @@ #define __unused __attribute__((__unused__)) #define __used __attribute__((__used__)) #define __deprecated __attribute__((__deprecated__)) +#define __deprecated1(msg) __attribute__((__deprecated__(msg))) #define __packed __attribute__((__packed__)) #define __aligned(x) __attribute__((__aligned__(x))) #define __section(x) __attribute__((__section__(x))) From nobody Fri Dec 6 22:29:20 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4mC45WF3z5g18W; Fri, 06 Dec 2024 22:29:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4mC43rgRz47wS; Fri, 6 Dec 2024 22:29:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CES//DRIYBEE3X6b0eYDfjc3bsFLTxRPW9xhDTU5hak=; b=YjN133Zaj0YYzJr7u5LlBPspgKaLLUG3QDr7Iuyy3mAXSbXeQfXQmRw83WNXr/5aj03n/M 7sUlRe4YX9BeZWE9Ger/sgh98eFe+MvUI0vTYZ02lRYfHFKczM5cnBjHjoSV5ZEfgLXxnr HVfC3bgnYOipZVwgI2Zx8Y/JIX944bU/YOboH+7ayNeuxIj8f+Kdjs+H/PNtnnLYO+VFHD luYxopy4MQM3iMG2p6lhr5MIQvBtFnwInk25EmQiqA/dyY83IHCYYaVDUcMXtG38/UDXOh /73I2x+4HpaD6SZi9nKfrFrMTp+g3eat+9HI2uBMkLuUmy9PGbe5cwbkVYK50g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CES//DRIYBEE3X6b0eYDfjc3bsFLTxRPW9xhDTU5hak=; b=f37uIFqNnb0jPLKuIDwMc5JIgshEmJVd4JbFaCRc92Rz09t/EDGqILzg+PH9JcS8ISna1T j1q2rShPWv6JfagNR87GKUVAj1d0Zlz3ePFA24l7h6n8sqxKN3A8fI8gHv1hB3Y/N3TlLg zhPfey92RCL2juv9xVr8QcbOb1cuBH47Wnx2ER/68V1rddFghYrvrKe9VbUCK+TqItM+m8 VGchPGGqCEl+nnC4rz9EIHyq5mHUXV+4uY4VUjLIGTQM7yv+g3q9ESxci8e7Z5k9Zib3XT O9uWxkMSihyZNqMZKWknn2cLdnMzDCPQ+ynonONGKdVcskR6iR6cYV+x97DttQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733524160; a=rsa-sha256; cv=none; b=DzpaSJglqcpCYiy8P0iY2FKXIp8RHz4dfIJ9gd+xnZN8PO3axieFfyRjNqpmJ7p0DkrXCx h6LOEX7C7d3YwPS5DdxA0KaZurdalYLqFcvrEIWQJgPgRjK+vZ5dNw1Z9VKpx11UVWT2xz u5r9SOR1sTFFMloclXFSNtx2/9rSXFi9rovrWxrASBUvAU6trUk8xVOJcZPMAZr6j0rV3s xz4esmT5ptTRBdeQFLchEvZVDwjrU8O8T3xL2GrOoR7SM1fw+6U8IEq7T8gbbzMhx8M497 3j89Ta5bg4eY/rPX9dV/fTS+RJFud9EMIqmAzSRz5MkHAMUgFgJthMbXdLHFiw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4mC43QgMzvty; Fri, 6 Dec 2024 22:29: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 4B6MTKag072384; Fri, 6 Dec 2024 22:29:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6MTKdv072381; Fri, 6 Dec 2024 22:29:20 GMT (envelope-from git) Date: Fri, 6 Dec 2024 22:29:20 GMT Message-Id: <202412062229.4B6MTKdv072381@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: a553e07c4ddc - main - new-bus: Deprecate bus_generic_(attach|probe) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: a553e07c4ddc383bcbe702f064017ba21da5b46d Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=a553e07c4ddc383bcbe702f064017ba21da5b46d commit a553e07c4ddc383bcbe702f064017ba21da5b46d Author: John Baldwin AuthorDate: 2024-12-06 22:27:01 +0000 Commit: John Baldwin CommitDate: 2024-12-06 22:27:01 +0000 new-bus: Deprecate bus_generic_(attach|probe) Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47676 --- sys/sys/bus.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/sys/bus.h b/sys/sys/bus.h index c712e37fd34d..38834bcf5a8e 100644 --- a/sys/sys/bus.h +++ b/sys/sys/bus.h @@ -442,7 +442,8 @@ struct resource * rman_res_t count, u_int flags); int bus_generic_translate_resource(device_t dev, int type, rman_res_t start, rman_res_t *newstart); -int bus_generic_attach(device_t dev); +int bus_generic_attach(device_t dev) + __deprecated1("Use bus_attach_children instead"); int bus_generic_bind_intr(device_t dev, device_t child, struct resource *irq, int cpu); int bus_generic_child_location(device_t dev, device_t child, struct sbuf *sb); @@ -478,7 +479,8 @@ int bus_print_child_header(device_t dev, device_t child); int bus_print_child_domain(device_t dev, device_t child); int bus_print_child_footer(device_t dev, device_t child); int bus_generic_print_child(device_t dev, device_t child); -int bus_generic_probe(device_t dev); +int bus_generic_probe(device_t dev) + __deprecated1("Use bus_identify_children instead"); int bus_generic_read_ivar(device_t dev, device_t child, int which, uintptr_t *result); int bus_generic_release_resource(device_t bus, device_t child, From nobody Fri Dec 6 22:29:21 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4mC60S3pz5g18Y; Fri, 06 Dec 2024 22:29:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4mC55QfBz47h8; Fri, 6 Dec 2024 22:29:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cVQ36dyf9iXip8ZkJg3czGkzbv6PnOVe++57BF9BFJE=; b=bzi0yZpmplfdlSrTYMdvOoxVZuCKeYWxFWAwuC+uW1QX/35kJCg/AKlS7H4c/o9NKFJT8+ Cp9LVt2/iGH8lUQUEamJpk6k26T3j8qP5E7tO8WTl8gHC7NxLNnV691+roV1uYDIuyscKg Lacw26b73n/t59u1j7Bv5eUllh1MKtNSFosBU6ENGGhHFdbqe2oPIOP/ALgZBBAB8yoLNC d01VgOdJSMV9Lkmn10omBRgXrcX6xqGDTU16q+NSejD0Z1RcgtJfesgdZaKlofqzH9T8g8 /BBAmRARIUcVA1YWyr1gmZrAbtXqsZRy6c4UCN9qIcsXZdEV4/QoDSBUAnFmJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cVQ36dyf9iXip8ZkJg3czGkzbv6PnOVe++57BF9BFJE=; b=rT0waLKPvQwCzR/c6bJ67NDTA++7ccQMzLTi5VI6XgzGw07DfhFC3FtvuygZHZLE8PlzAt tv0hcfGrIliXkx8DD2NN7c8BbvI9+mCVwqu9Q07xge84P/RCIcXn9xJudPujSJemxiyEgY DKczENhZS3Cp7f6SE+RSJ/bzR3Vj7tEN5Zlv2anPNbVI1vLV5YQAjw/IWE5i3ToT7nOP3a 3+ECM2tcRLr+w8C1RHrT8t6YPecekkuVuR101F4/NhIrSFCP9//HP39whIBL0oGPmtOek3 LMtmXOQswd7fHUFsRriByuWBwBvsXmWjcveZ55NilBgtL9wXYwMfQuIlhe+HZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733524161; a=rsa-sha256; cv=none; b=RQgMdMFaQ7cdLiMI+//IJaRv7RwqSi66ER7gJ/+l30up7AUtzybtM4lfYtd+Ifex5JPlNq 3bNcR4LHPSem665WQLE9bhiunWEYR1/AARq9tsDxojuzseqMIcJObMEXThBI3qiDjMTv7r jQemzltdpOwL5iJZ/3y3/xn4F0fJHsDUnNPeq3uMjNcHRxvQm1MzyHwvocoFY1RnTI2kd1 tpbYaQ0lDFR9PVaAxxyiEX1DUYVkuxkXF6EuZa/63jhEIFjEpAGfZjeHNpzW9UFRYWjKr5 HG2ArHbcP0x1btNCPPMM+Uoehlmq775cxhsER60exucFfXqDAiZk29l4ih3kXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4mC54GxPzwrL; Fri, 6 Dec 2024 22:29: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 4B6MTLgP072430; Fri, 6 Dec 2024 22:29:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6MTLIq072427; Fri, 6 Dec 2024 22:29:21 GMT (envelope-from git) Date: Fri, 6 Dec 2024 22:29:21 GMT Message-Id: <202412062229.4B6MTLIq072427@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: 34f5de82e8fc - main - bus_delayed_attach_children: Switch return type to void List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 34f5de82e8fcf0ab335a708a9141a5f4240a4c64 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=34f5de82e8fcf0ab335a708a9141a5f4240a4c64 commit 34f5de82e8fcf0ab335a708a9141a5f4240a4c64 Author: John Baldwin AuthorDate: 2024-12-06 22:27:14 +0000 Commit: John Baldwin CommitDate: 2024-12-06 22:27:14 +0000 bus_delayed_attach_children: Switch return type to void This function never fails similar to bus_attach_children. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47677 --- sys/arm/broadcom/bcm2835/bcm2835_bsc.c | 3 ++- sys/arm/freescale/imx/imx_i2c.c | 3 ++- sys/arm/freescale/imx/imx_spi.c | 3 ++- sys/arm/mv/a37x0_spi.c | 3 ++- sys/arm/mv/mv_spi.c | 3 ++- sys/arm/ti/ti_i2c.c | 2 +- sys/dev/glxiic/glxiic.c | 2 +- sys/dev/hid/hidbus.c | 11 ++++------- sys/dev/ichsmb/ichsmb.c | 3 ++- sys/dev/iicbus/controller/cadence/cdnc_i2c.c | 3 ++- sys/dev/intel/spi.c | 3 ++- sys/dev/ow/owc_gpiobus.c | 3 ++- sys/kern/subr_bus.c | 4 +--- sys/sys/bus.h | 2 +- 14 files changed, 26 insertions(+), 22 deletions(-) diff --git a/sys/arm/broadcom/bcm2835/bcm2835_bsc.c b/sys/arm/broadcom/bcm2835/bcm2835_bsc.c index 6a9853a7b4f9..c7de4df0e8fb 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_bsc.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_bsc.c @@ -349,7 +349,8 @@ bcm_bsc_attach(device_t dev) } /* Probe and attach the iicbus when interrupts are available. */ - return (bus_delayed_attach_children(dev)); + bus_delayed_attach_children(dev); + return (0); } static int diff --git a/sys/arm/freescale/imx/imx_i2c.c b/sys/arm/freescale/imx/imx_i2c.c index d8d7514c8c4b..c1d5c8c974a8 100644 --- a/sys/arm/freescale/imx/imx_i2c.c +++ b/sys/arm/freescale/imx/imx_i2c.c @@ -469,7 +469,8 @@ no_recovery: /* We don't do a hardware reset here because iicbus_attach() does it. */ /* Probe and attach the iicbus when interrupts are available. */ - return (bus_delayed_attach_children(dev)); + bus_delayed_attach_children(dev); + return (0); } static int diff --git a/sys/arm/freescale/imx/imx_spi.c b/sys/arm/freescale/imx/imx_spi.c index 388b25b7ec28..53d9f739b97c 100644 --- a/sys/arm/freescale/imx/imx_spi.c +++ b/sys/arm/freescale/imx/imx_spi.c @@ -564,7 +564,8 @@ spi_attach(device_t dev) * their attach. We can't do IO until timers and interrupts are working. */ sc->spibus = device_add_child(dev, "spibus", DEVICE_UNIT_ANY); - return (bus_delayed_attach_children(dev)); + bus_delayed_attach_children(dev); + return (0); } static int diff --git a/sys/arm/mv/a37x0_spi.c b/sys/arm/mv/a37x0_spi.c index 4bcbbc503218..bc47da2f3e6e 100644 --- a/sys/arm/mv/a37x0_spi.c +++ b/sys/arm/mv/a37x0_spi.c @@ -217,7 +217,8 @@ a37x0_spi_attach(device_t dev) device_add_child(dev, "spibus", DEVICE_UNIT_ANY); /* Probe and attach the spibus when interrupts are available. */ - return (bus_delayed_attach_children(dev)); + bus_delayed_attach_children(dev); + return (0); } static int diff --git a/sys/arm/mv/mv_spi.c b/sys/arm/mv/mv_spi.c index 621594624b7b..1f9c8ebf2380 100644 --- a/sys/arm/mv/mv_spi.c +++ b/sys/arm/mv/mv_spi.c @@ -171,7 +171,8 @@ mv_spi_attach(device_t dev) device_add_child(dev, "spibus", DEVICE_UNIT_ANY); /* Probe and attach the spibus when interrupts are available. */ - return (bus_delayed_attach_children(dev)); + bus_delayed_attach_children(dev); + return (0); } static int diff --git a/sys/arm/ti/ti_i2c.c b/sys/arm/ti/ti_i2c.c index 527c8cbd8ee3..a6c397a87e8b 100644 --- a/sys/arm/ti/ti_i2c.c +++ b/sys/arm/ti/ti_i2c.c @@ -889,7 +889,7 @@ ti_i2c_attach(device_t dev) } /* Probe and attach the iicbus when interrupts are available. */ - err = bus_delayed_attach_children(dev); + bus_delayed_attach_children(dev); out: if (err) { diff --git a/sys/dev/glxiic/glxiic.c b/sys/dev/glxiic/glxiic.c index 16ed337c543b..5dfea9acbe4a 100644 --- a/sys/dev/glxiic/glxiic.c +++ b/sys/dev/glxiic/glxiic.c @@ -408,7 +408,7 @@ glxiic_attach(device_t dev) glxiic_smb_enable(sc, IIC_FASTEST, 0); /* Probe and attach the iicbus when interrupts are available. */ - error = bus_delayed_attach_children(dev); + bus_delayed_attach_children(dev); out: if (error != 0) { diff --git a/sys/dev/hid/hidbus.c b/sys/dev/hid/hidbus.c index 8e55d65f308b..9b8b7fed8887 100644 --- a/sys/dev/hid/hidbus.c +++ b/sys/dev/hid/hidbus.c @@ -272,15 +272,12 @@ hidbus_attach_children(device_t dev) if (sc->nest != 0) return (0); - if (hid_is_keyboard(sc->rdesc.data, sc->rdesc.len) != 0) { + if (hid_is_keyboard(sc->rdesc.data, sc->rdesc.len) != 0) bus_attach_children(dev); - error = 0; - } else - error = bus_delayed_attach_children(dev); - if (error != 0) - device_printf(dev, "failed to attach child: error %d\n", error); + else + bus_delayed_attach_children(dev); - return (error); + return (0); } static int diff --git a/sys/dev/ichsmb/ichsmb.c b/sys/dev/ichsmb/ichsmb.c index 94fc03d2bc67..063fbf66a75a 100644 --- a/sys/dev/ichsmb/ichsmb.c +++ b/sys/dev/ichsmb/ichsmb.c @@ -130,7 +130,8 @@ ichsmb_attach(device_t dev) } /* Attach children when interrupts are available */ - return (bus_delayed_attach_children(dev)); + bus_delayed_attach_children(dev); + return (0); fail: mtx_destroy(&sc->mutex); return (error); diff --git a/sys/dev/iicbus/controller/cadence/cdnc_i2c.c b/sys/dev/iicbus/controller/cadence/cdnc_i2c.c index 61f4975c10de..3bed24c36070 100644 --- a/sys/dev/iicbus/controller/cadence/cdnc_i2c.c +++ b/sys/dev/iicbus/controller/cadence/cdnc_i2c.c @@ -617,7 +617,8 @@ cdnc_i2c_attach(device_t dev) cdnc_i2c_add_sysctls(dev); /* Probe and attach iicbus when interrupts work. */ - return (bus_delayed_attach_children(dev)); + bus_delayed_attach_children(dev); + return (0); } static int diff --git a/sys/dev/intel/spi.c b/sys/dev/intel/spi.c index 1a52300ea785..4c45ef7863a7 100644 --- a/sys/dev/intel/spi.c +++ b/sys/dev/intel/spi.c @@ -529,7 +529,8 @@ intelspi_attach(device_t dev) device_add_child(dev, "spibus", DEVICE_UNIT_ANY); - return (bus_delayed_attach_children(dev)); + bus_delayed_attach_children(dev); + return (0); error: INTELSPI_LOCK_DESTROY(sc); diff --git a/sys/dev/ow/owc_gpiobus.c b/sys/dev/ow/owc_gpiobus.c index 2d37b71aee2d..231902e02536 100644 --- a/sys/dev/ow/owc_gpiobus.c +++ b/sys/dev/ow/owc_gpiobus.c @@ -134,7 +134,8 @@ owc_gpiobus_attach(device_t dev) * the system timecounter (which initializes after device attachments). */ device_add_child(sc->sc_dev, "ow", DEVICE_UNIT_ANY); - return (bus_delayed_attach_children(dev)); + bus_delayed_attach_children(dev); + return (0); } static int diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c index 945d91d951d6..1d04ea496f08 100644 --- a/sys/kern/subr_bus.c +++ b/sys/kern/subr_bus.c @@ -3485,13 +3485,11 @@ bus_attach_children(device_t dev) * attach until after interrupts and/or timers are running. This function * delays their attach until interrupts and timers are enabled. */ -int +void bus_delayed_attach_children(device_t dev) { /* Probe and attach the bus children when interrupts are available */ config_intrhook_oneshot((ich_func_t)bus_attach_children, dev); - - return (0); } /** diff --git a/sys/sys/bus.h b/sys/sys/bus.h index 38834bcf5a8e..01031ae3ef28 100644 --- a/sys/sys/bus.h +++ b/sys/sys/bus.h @@ -595,9 +595,9 @@ int bus_child_pnpinfo(device_t child, struct sbuf *sb); int bus_child_location(device_t child, struct sbuf *sb); void bus_attach_children(device_t dev); +void bus_delayed_attach_children(device_t bus); int bus_detach_children(device_t dev); void bus_enumerate_hinted_children(device_t bus); -int bus_delayed_attach_children(device_t bus); void bus_identify_children(device_t dev); static __inline struct resource * From nobody Fri Dec 6 22:39:31 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4mQr0xP5z5g1rD; Fri, 06 Dec 2024 22:39:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4mQr0MTbz4DQZ; Fri, 6 Dec 2024 22:39:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524772; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lZAd3VE3QJZ/LFYb/m1nu9Jlrogc2uHU8H2qYIVYI/g=; b=D20CL8LULPBQHIy6iHoCU445BGf71IKA98zlDLLPCRsp5r3W3GouT6iYb9vVB9youe6ah3 rY7g+YoGuLLO/ssUBiB8I4EIFW5M08HTBa0ig08ShzP7by8s1FLq7TWLB0K1NsxbpKrlpy RAjkHUyaRSuJm42c/6uxlv/nJ+Rxb63fojSisZ2YcbAnGOjixS7ELe4yfu/E1i/dxDgu8H Lby7pelfZg/7v6RwW+GMwDKiksZtbgy0UZsuqug99s3BGh56/7V6tw7Enf7r87W9YAq/W3 dOfmOVveE0J97ChMCb1YWjDRHKRlvxBkTAWSUGEOjnlyAGrUjxhOUjvy5DcD9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524772; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lZAd3VE3QJZ/LFYb/m1nu9Jlrogc2uHU8H2qYIVYI/g=; b=E/poWZ6HbHJUcSScT5Zv2iBGM1gIoPazuAe1JVY7fR4cGTtyOhAp6HrE6O3iOFLA6zklHJ +BqxRvjzJNdef8HFzpJz5P/St+MbR+Z2pxyKjkK7OTRUM09Evm3B86fopNXD3Gk10rgX0K CLiwnGrxyzvyoEAbJvyIll3ayRb64kEVfeLkCyZYsSbcfukEE9XKCzz+sHjIV/8coVwUz6 RNfKA2zdgX+Q99FHe1bH8MWEEOu+ZGwBQiMB/PniKrSMgVuDzNOO3HbiMgXKlQ5ccls4fw QQG2bjdjk1ZT4yNxBOz1qchLJPt9HulSZwYm2GmlDSV/QOSqVNdd9LmYBmpKqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733524772; a=rsa-sha256; cv=none; b=irPvt2bhBTqA3m4/e8odFC2rE1Y1yokNaSMNeeLPVO12U3mp+hEMZMPdfQED4Wa4NzZpHV zcWE2/u+5NJXfnZbAA6kRYJlhkuNt7KIMGbIXG2r7X3sc6SGhxw86G36o6GBiWdomdFrUi urIS1b70yXBEwf0jsE6f3xCJ3dUn+RkCbWyQ/I5AZ2efGxTrCz5WXPyjyi+LKpfBkFrIYO kYuQaNMDjEpO4mPzjgc4Q+Y++/lhPT/VfZCk/R3ETQ3tHr9vpqfLeweg7HSN3pjyZreYpn uGBw7BgJqNWp8Lv971Kan05OnAWXY7YWZnNAEXIbXp8omAL4upq1wOFe2J/KfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4mQq6fxDzx2j; Fri, 6 Dec 2024 22:39: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 4B6MdVXo090892; Fri, 6 Dec 2024 22:39:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6MdVJ4090889; Fri, 6 Dec 2024 22:39:31 GMT (envelope-from git) Date: Fri, 6 Dec 2024 22:39:31 GMT Message-Id: <202412062239.4B6MdVJ4090889@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: fda0403eb083 - main - rtld: Support multiple PT_GNU_RELRO program 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fda0403eb0839b29b0b271c69c5cb6bfc874a3b5 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=fda0403eb0839b29b0b271c69c5cb6bfc874a3b5 commit fda0403eb0839b29b0b271c69c5cb6bfc874a3b5 Author: John Baldwin AuthorDate: 2024-12-06 22:37:50 +0000 Commit: John Baldwin CommitDate: 2024-12-06 22:37:50 +0000 rtld: Support multiple PT_GNU_RELRO program headers Iterate over all the program headers in obj_remap_relro and remove the relro fields from Obj_Entry. Skip the call to obj_enforce_relro() in relocate_object() for the rtld object as well as the main program object. obj_enforce_relro() is called later when it safe to reference globals such as page_size. Reviewed by: kib Obtained from: CheriBSD Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D47884 --- libexec/rtld-elf/map_object.c | 12 ------------ libexec/rtld-elf/rtld.c | 37 ++++++++++++++++++++----------------- libexec/rtld-elf/rtld.h | 3 --- 3 files changed, 20 insertions(+), 32 deletions(-) diff --git a/libexec/rtld-elf/map_object.c b/libexec/rtld-elf/map_object.c index 0b1500a15183..7dbab26f2c63 100644 --- a/libexec/rtld-elf/map_object.c +++ b/libexec/rtld-elf/map_object.c @@ -93,8 +93,6 @@ map_object(int fd, const char *path, const struct stat *sb) Elf_Addr bss_vlimit; caddr_t bss_addr; Elf_Word stack_flags; - Elf_Addr relro_page; - size_t relro_size; Elf_Addr note_start; Elf_Addr note_end; char *note_map; @@ -114,8 +112,6 @@ map_object(int fd, const char *path, const struct stat *sb) nsegs = -1; phdyn = phinterp = phtls = NULL; phdr_vaddr = 0; - relro_page = 0; - relro_size = 0; note_start = 0; note_end = 0; note_map = NULL; @@ -161,11 +157,6 @@ map_object(int fd, const char *path, const struct stat *sb) stack_flags = phdr->p_flags; break; - case PT_GNU_RELRO: - relro_page = phdr->p_vaddr; - relro_size = phdr->p_memsz; - break; - case PT_NOTE: if (phdr->p_offset > page_size || phdr->p_offset + phdr->p_filesz > page_size) { @@ -323,9 +314,6 @@ map_object(int fd, const char *path, const struct stat *sb) obj->tlsinit = mapbase + phtls->p_vaddr; } obj->stack_flags = stack_flags; - obj->relro_page = obj->relocbase + rtld_trunc_page(relro_page); - obj->relro_size = rtld_trunc_page(relro_page + relro_size) - - rtld_trunc_page(relro_page); if (note_start < note_end) digest_notes(obj, note_start, note_end); if (note_map != NULL) diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c index c585c47ce4da..7dc9d93dac26 100644 --- a/libexec/rtld-elf/rtld.c +++ b/libexec/rtld-elf/rtld.c @@ -1672,12 +1672,6 @@ digest_phdr(const Elf_Phdr *phdr, int phnum, caddr_t entry, const char *path) obj->stack_flags = ph->p_flags; break; - case PT_GNU_RELRO: - obj->relro_page = obj->relocbase + rtld_trunc_page(ph->p_vaddr); - obj->relro_size = rtld_trunc_page(ph->p_vaddr + ph->p_memsz) - - rtld_trunc_page(ph->p_vaddr); - break; - case PT_NOTE: note_start = (Elf_Addr)obj->relocbase + ph->p_vaddr; note_end = note_start + ph->p_filesz; @@ -2369,11 +2363,6 @@ parse_rtld_phdr(Obj_Entry *obj) case PT_GNU_STACK: obj->stack_flags = ph->p_flags; break; - case PT_GNU_RELRO: - obj->relro_page = obj->relocbase + - rtld_trunc_page(ph->p_vaddr); - obj->relro_size = rtld_round_page(ph->p_memsz); - break; case PT_NOTE: note_start = (Elf_Addr)obj->relocbase + ph->p_vaddr; note_end = note_start + ph->p_filesz; @@ -3328,7 +3317,7 @@ relocate_object(Obj_Entry *obj, bool bind_now, Obj_Entry *rtldobj, lockstate) == -1) return (-1); - if (!obj->mainprog && obj_enforce_relro(obj) == -1) + if (obj != rtldobj && !obj->mainprog && obj_enforce_relro(obj) == -1) return (-1); /* @@ -5909,12 +5898,26 @@ _rtld_is_dlopened(void *arg) static int obj_remap_relro(Obj_Entry *obj, int prot) { + const Elf_Phdr *ph; + caddr_t relro_page; + size_t relro_size; - if (obj->relro_size > 0 && mprotect(obj->relro_page, obj->relro_size, - prot) == -1) { - _rtld_error("%s: Cannot set relro protection to %#x: %s", - obj->path, prot, rtld_strerror(errno)); - return (-1); + for (ph = obj->phdr; (const char *)ph < (const char *)obj->phdr + + obj->phsize; ph++) { + switch (ph->p_type) { + case PT_GNU_RELRO: + relro_page = obj->relocbase + + rtld_trunc_page(ph->p_vaddr); + relro_size = + rtld_round_page(ph->p_vaddr + ph->p_memsz) - + rtld_trunc_page(ph->p_vaddr); + if (mprotect(relro_page, relro_size, prot) == -1) { + _rtld_error("%s: Cannot set relro protection to %#x: %s", + obj->path, prot, rtld_strerror(errno)); + return (-1); + } + break; + } } return (0); } diff --git a/libexec/rtld-elf/rtld.h b/libexec/rtld-elf/rtld.h index 5527671d647e..383b8db2114c 100644 --- a/libexec/rtld-elf/rtld.h +++ b/libexec/rtld-elf/rtld.h @@ -165,9 +165,6 @@ typedef struct Struct_Obj_Entry { size_t tlsalign; /* Alignment of static TLS block */ size_t tlspoffset; /* p_offset of the static TLS block */ - caddr_t relro_page; - size_t relro_size; - /* Items from the dynamic section. */ Elf_Addr *pltgot; /* PLT or GOT, depending on architecture */ const Elf_Rel *rel; /* Relocation entries */ From nobody Fri Dec 6 22:39:32 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4mQs34tQz5g1fX; Fri, 06 Dec 2024 22:39:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4mQs0r63z4DSq; Fri, 6 Dec 2024 22:39:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t0HMWwveq90bpI1i8o7tDa8s4adUe3Su+lyDqoz00lM=; b=GNff9jLlrBx0nJTifC8tNTIdjTJ76NYQXHgWNAG0rs0NWyz6PmUiq/SIc4OM4LgtaPjVFS PVjes0TqGN+OjWYUja4oNVXztpF3JO++Ljcz690AkH7BbAOh5bXagG+sbNyUdEH+uCq4r7 qUujQnPSMb6/TenVKf+LLw3kFMVkV1fQD7Cc5VumVLpiqHsZSubxA452wWCjKZO6pXcH9l H3bAcdeNTMABUv2R8XOJaDFx5Zq342BhkgAsxofTocCKnZ5dMUBW2XCAclU3LFITau/K7+ Wk/tXFGLld+J/ekNZnv/0dL0V51bESj6p82XFaNSvwGdzVSwxxo2Y9Vf/Z/OOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524773; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t0HMWwveq90bpI1i8o7tDa8s4adUe3Su+lyDqoz00lM=; b=oMXb8BcNM6F7v16VD0vyoO2xVfk1AtRYzIohMmPLAxP6mwF/1jZSuBiOoEj5pa2dZ6aCAI I92I0q4piGUhfdOEtnFtEFn+fXY8ku3fgLh3TRmHk7QclabvCuzDbNAXAP4jVddzB6QgTT O3bqjGEOezCo3SNGaTInj3GAbiW1vq5ooTEoZJPV8c/al9C3ksUaM6e7SW17/fK8KbcB37 QxVAhn5uKvcDwhhjderq9GFBeqoMjVMNyQsn48m9rKunhJi4k39vR2Dllc0Q6+I0ya1Jzl hc2jDs8tnO+6mv/Ry59sObV9fLkxyvpdnoLYR1a+pNHc2OHZBN/qwyO7L4rcEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733524773; a=rsa-sha256; cv=none; b=VB63EszI9fBMPvBJgBqh3N9T7S5iYnlaM+ViaCFmWDVdTzmeOqQMbjC1OOVn+mScdI14Ej tVY/ue4Jdd+87bfsyZ5XZY2NpE5obrrv/yEmApv7O8vnVpVOtgoc+ucvUS379HCK+ia6CB u2hmf6G8bFevS+VufDyH8l3L9S3xOi7RlHuK60ajmSb4TJNPIaRd9Sll7lXeXumVHX1pxW HlnOXHFAZCIWZ3cySvuDkAawJ30AGEYlylt64v04i22iDXrpGAnqWGBoZlZeRbGhXhWdEt UksFPJr3wapwl3gYDAyQCHepZiGEsQle9H55KngHTETn6v68ng4qipJespCkSQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4mQs0KPhzws8; Fri, 6 Dec 2024 22:39: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 4B6MdW0e090963; Fri, 6 Dec 2024 22:39:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6MdW9H090960; Fri, 6 Dec 2024 22:39:32 GMT (envelope-from git) Date: Fri, 6 Dec 2024 22:39:32 GMT Message-Id: <202412062239.4B6MdW9H090960@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: e248e08a1593 - main - arm64: Add a constant to document the TZ bit in CPTR_EL2 without VHE List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e248e08a159384d064a8af9f2ced5f0a71d93b1c Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e248e08a159384d064a8af9f2ced5f0a71d93b1c commit e248e08a159384d064a8af9f2ced5f0a71d93b1c Author: John Baldwin AuthorDate: 2024-12-06 22:38:34 +0000 Commit: John Baldwin CommitDate: 2024-12-06 22:38:34 +0000 arm64: Add a constant to document the TZ bit in CPTR_EL2 without VHE Reviewed by: emaste Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D47882 --- sys/arm64/include/hypervisor.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h index 1ba1756ecdf2..e3bdd83e8a29 100644 --- a/sys/arm64/include/hypervisor.h +++ b/sys/arm64/include/hypervisor.h @@ -56,6 +56,7 @@ #define CPTR_TRAP_ALL 0xc01037ff /* Enable all traps */ #define CPTR_RES0 0x7fefc800 #define CPTR_RES1 0x000032ff +#define CPTR_TZ 0x00000100 #define CPTR_TFP 0x00000400 #define CPTR_TTA 0x00100000 /* Valid if HCR_EL2.E2H == 1 */ From nobody Fri Dec 6 22:39:34 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4mQt3sQQz5g1nf; Fri, 06 Dec 2024 22:39:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4mQt2PL3z4DN2; Fri, 6 Dec 2024 22:39:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5q5JI9vWlZWTgYxoq/mpRvL38ys/ZyYbuW3tcBSXzFg=; b=TiUyMmJD0knYihoJzDDkDs7oPTNLexM/ThCx9YFycGad9xcVEwe5oOO71IsEJBZe55+6LF cFckR6FJTk8Gq59Nh41YxN10h9JDbKCiyywQ4y7yD4N8LIjac43o2U/gF6f/5KPke1N2mU XJtjtdJkgd6e3tkc1BSOI0hnOxykjCFl+7NwzKtcA8AECevF1tcNNoxoHKAXmf+xKovt9V iRAfUTVw76eBnAnkKmcmTJ7jmPPVo/fQ9gyjqOdolIFVcWXiyO7X58vfCxtt9eg80wDyd0 Wx5Xa3BwyG1ToAlf5uUKXsr/lODiyXFTPEl4AnzO7xKJ6ed3NtSUovLbhJAuFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733524774; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5q5JI9vWlZWTgYxoq/mpRvL38ys/ZyYbuW3tcBSXzFg=; b=DHKhXiJPi3zWpdPh5qmFcO+36o6a6Od1gdrf5ABUNhFmUn9BhFkRbyB2kvnWh7HVIBTNj+ Rjb8+YpAN/Mdhs5hZExupG3k8u9yUbGVT5Q8cgMQBwFqT3fmxVszQ/JMGEaD1+Vbntt+dQ 45TS5YCh6SRgeW2X9TDPwj1Ar9NJbZGMQyJXPspVaumq+Ud2uEpyxTJizq9Vug9rcJjA1Q mw/LrSOr55kQNfooquPoAMdP/ykKvZPTxNr3eyXWJAKSjHVZRF3ScACsTuvgFAumAsPW4F GvrZNkZR/2fqS3rz0gE2GwNUKkFPS4tWhqFJcm/r09j6mrk5IyNVe/Tf7dQnwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733524774; a=rsa-sha256; cv=none; b=JUzyD1tqDiZb6ZKlCzG1o9Lk/1tX0NR0j+4V4kZolgc/FluuptF3T8Z4rsj5R7LtoKLIpn nlbsjAv1Dw0nslYaqQtxobg0TafqtrggcIOT1qc1y6pr2A4vqNdCu/APzRT1LhVDrHvCUH QOgadgwPVaEs9yLlgnadV3jYIzsk58MDgjYf4LLfqELPbGhx6eyx29h5sPENzpFtIPSNkO zyhe0mEi66tZ0fhpOLyV418Nyzrdan1OvNeqifg2MFb++cnbwUTBdFZ2L+hdyZBIeAzxyj 3KNRVLSybnT4BQ1oMUvaAjk/8zGs4cGBUPujmOglqZ3OvAUwfZsNYk/uqeok6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4mQt1yl5zwr5; Fri, 6 Dec 2024 22:39: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 4B6MdYwQ091005; Fri, 6 Dec 2024 22:39:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6MdYxO091002; Fri, 6 Dec 2024 22:39:34 GMT (envelope-from git) Date: Fri, 6 Dec 2024 22:39:34 GMT Message-Id: <202412062239.4B6MdYxO091002@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: 8f7835acc6d6 - main - Remove SOC FPGA drivers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8f7835acc6d6d39854a82173d4cf10695c6eea13 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=8f7835acc6d6d39854a82173d4cf10695c6eea13 commit 8f7835acc6d6d39854a82173d4cf10695c6eea13 Author: John Baldwin AuthorDate: 2024-12-06 22:38:52 +0000 Commit: John Baldwin CommitDate: 2024-12-06 22:38:52 +0000 Remove SOC FPGA drivers The drivers have been disconnected from the build since the removal of the SOCFPGA kernel configs. Reviewed by: manu, imp, andrew Sponsored by: AFRL, DARPA Differential Revision: https://reviews.freebsd.org/D47885 --- ObsoleteFiles.inc | 8 + share/man/man4/Makefile | 6 - share/man/man4/altera_atse.4 | 117 -- share/man/man4/altera_avgen.4 | 153 -- share/man/man4/altera_jtag_uart.4 | 119 -- share/man/man4/altera_sdcard.4 | 116 -- sys/arm/altera/socfpga/files.socfpga | 18 - sys/arm/altera/socfpga/socfpga_a10_manager.c | 437 ------ sys/arm/altera/socfpga/socfpga_common.c | 41 - sys/arm/altera/socfpga/socfpga_common.h | 36 - sys/arm/altera/socfpga/socfpga_l3regs.h | 52 - sys/arm/altera/socfpga/socfpga_machdep.c | 173 --- sys/arm/altera/socfpga/socfpga_manager.c | 426 ------ sys/arm/altera/socfpga/socfpga_mp.c | 230 --- sys/arm/altera/socfpga/socfpga_mp.h | 33 - sys/arm/altera/socfpga/socfpga_rstmgr.c | 255 ---- sys/arm/altera/socfpga/socfpga_rstmgr.h | 48 - sys/arm/altera/socfpga/std.socfpga | 6 - sys/conf/files | 12 - sys/conf/options | 7 - sys/dev/altera/atse/if_atse.c | 1592 -------------------- sys/dev/altera/atse/if_atse_fdt.c | 144 -- sys/dev/altera/atse/if_atse_nexus.c | 158 -- sys/dev/altera/atse/if_atsereg.h | 464 ------ sys/dev/altera/avgen/altera_avgen.c | 551 ------- sys/dev/altera/avgen/altera_avgen.h | 96 -- sys/dev/altera/avgen/altera_avgen_fdt.c | 159 -- sys/dev/altera/avgen/altera_avgen_nexus.c | 141 -- sys/dev/altera/jtag_uart/altera_jtag_uart.h | 197 --- sys/dev/altera/jtag_uart/altera_jtag_uart_cons.c | 331 ---- sys/dev/altera/jtag_uart/altera_jtag_uart_fdt.c | 148 -- sys/dev/altera/jtag_uart/altera_jtag_uart_nexus.c | 139 -- sys/dev/altera/jtag_uart/altera_jtag_uart_tty.c | 561 ------- sys/dev/altera/msgdma/msgdma.c | 637 -------- sys/dev/altera/msgdma/msgdma.h | 148 -- sys/dev/altera/pio/pio.c | 208 --- sys/dev/altera/pio/pio.h | 40 - sys/dev/altera/pio/pio_if.m | 64 - sys/dev/altera/sdcard/altera_sdcard.c | 412 ----- sys/dev/altera/sdcard/altera_sdcard.h | 247 --- sys/dev/altera/sdcard/altera_sdcard_disk.c | 184 --- sys/dev/altera/sdcard/altera_sdcard_fdt.c | 121 -- sys/dev/altera/sdcard/altera_sdcard_io.c | 446 ------ sys/dev/altera/sdcard/altera_sdcard_nexus.c | 112 -- sys/dev/altera/softdma/a_api.h | 98 -- sys/dev/altera/softdma/softdma.c | 882 ----------- sys/dev/beri/beri_mem.c | 181 --- sys/dev/beri/beri_ring.c | 524 ------- sys/dev/beri/virtio/network/if_vtbe.c | 648 -------- sys/dev/beri/virtio/virtio.c | 261 ---- sys/dev/beri/virtio/virtio.h | 69 - sys/dev/beri/virtio/virtio_block.c | 553 ------- sys/dev/beri/virtio/virtio_mmio_platform.c | 307 ---- sys/dev/beri/virtio/virtio_mmio_platform.h | 35 - sys/dts/arm/socfpga_cyclone5_sockit_beri_sdmmc.dts | 151 -- tools/kerneldoc/subsys/Doxyfile-dev_altera | 19 - tools/kerneldoc/subsys/Doxyfile-dev_beri | 19 - 57 files changed, 8 insertions(+), 13332 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 5362ba0e5955..a59907a36969 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,6 +51,14 @@ # xargs -n1 | sort | uniq -d; # done +# 2024xxxx: Remove Altera DE4 drivers +OLD_FILES+=usr/share/man/man4/altera_atse.4.gz +OLD_FILES+=usr/share/man/man4/altera_avgen.4.gz +OLD_FILES+=usr/share/man/man4/altera_jtag_uart.4.gz +OLD_FILES+=usr/share/man/man4/altera_sdcard.4.gz +OLD_FILES+=usr/share/man/man4/altera_sdcardc.4.gz +OLD_FILES+=usr/share/man/man4/atse.4.gz + # 20241124: library and tests of OpenBSD dc OLD_FILES+=usr/share/misc/bc.library OLD_FILES+=usr/tests/usr.bin/dc/Kyuafile diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index 0f3e72007e7c..a7dbf6c615d6 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -38,10 +38,6 @@ MAN= aac.4 \ alc.4 \ ale.4 \ alpm.4 \ - altera_atse.4 \ - altera_avgen.4 \ - altera_jtag_uart.4 \ - altera_sdcard.4 \ altq.4 \ amdpm.4 \ ${_amdsbwd.4} \ @@ -651,8 +647,6 @@ MLINKS+=age.4 if_age.4 MLINKS+=agp.4 agpgart.4 MLINKS+=alc.4 if_alc.4 MLINKS+=ale.4 if_ale.4 -MLINKS+=altera_atse.4 atse.4 -MLINKS+=altera_sdcard.4 altera_sdcardc.4 MLINKS+=altq.4 ALTQ.4 MLINKS+=ath.4 if_ath.4 MLINKS+=aue.4 if_aue.4 diff --git a/share/man/man4/altera_atse.4 b/share/man/man4/altera_atse.4 deleted file mode 100644 index d425b125d961..000000000000 --- a/share/man/man4/altera_atse.4 +++ /dev/null @@ -1,117 +0,0 @@ -.\"- -.\" Copyright (c) 2013-2014 SRI International -.\" All rights reserved. -.\" -.\" This software was developed by SRI International and the University of -.\" Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) -.\" ("CTSRD"), as part of the DARPA CRASH research programme. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.Dd May 21, 2014 -.Dt ALTERA_ATSE 4 -.Os -.Sh NAME -.Nm atse -.Nd driver for the Altera Triple-Speed Ethernet MegaCore -.Sh SYNOPSIS -.Cd "device atse" -.Cd "options ATSE_CFI_HACK" -.Pp -In -.Pa /boot/device.hints : -.Cd hint.atse.0.at="nexus0" -.Cd hint.atse.0.maddr=0x7f007000 -.Cd hint.atse.0.msize=0x540 -.Cd hint.atse.0.rc_irq=1 -.Cd hint.atse.0.rx_maddr=0x7f007500 -.Cd hint.atse.0.rx_msize=0x8 -.Cd hint.atse.0.rxc_maddr=0x7f007520 -.Cd hint.atse.0.rxc_msize=0x20 -.Cd hint.atse.0.tx_irq=2 -.Cd hint.atse.0.tx_maddr=0x7f007400 -.Cd hint.atse.0.tx_msize=0x8 -.Cd hint.atse.0.txc_maddr=0x7f007420 -.Cd hint.atse.0.txc_msize=0x20 -.Cd hint.e1000phy.0.at="miibus0" -.Cd hint.e1000phy.0.phyno=0 -.Sh DESCRIPTION -The -.Nm -device driver provides support for the Altera Triple-Speed Ethernet -MegaCore. -.Sh HARDWARE -The current version of the -.Nm -driver supports the Ethernet MegaCore as described in version 11.1 of -Altera's documentation when the device is configured with internal FIFOs. -.Sh MAC SELECTION -The default MAC address for each -.Nm -interface is derived from a value stored in -.Xr cfi 4 -flash. -The value is managed by the -.Xr atsectl 8 -utility. -.Pp -Only a single MAC address may be stored in flash. -If the address begins with the Altera prefix 00:07:ed and ends in 00 then -up to 16 addresses will be derived from it by adding the unit number of -the interface to the stored address. -For other prefixes, the address will be assigned to atse0 and random -addresses will be used for other interfaces. -If the stored address is invalid, for example all zero's, multicast, or the -default address shipped on all DE4 boards (00:07:ed:ff:ed:15) then a random -address is generated when the device is attached. -.Sh SEE ALSO -.Xr miibus 4 , -.Xr netintro 4 , -.Xr ifconfig 8 -.Rs -.%T Triple-Speed Ethernet MegaCore Function User Guide -.%D November 2011 -.%I Altera Corporation -.Re -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 10.0 . -.Sh AUTHORS -The -.Nm -device driver and this manual page were -developed by SRI International and the University of Cambridge Computer -Laboratory under DARPA/AFRL contract -.Pq FA8750-10-C-0237 -.Pq Do CTSRD Dc , -as part of the DARPA CRASH research programme. -This device driver was written by -.An Bjoern A. Zeeb . -.Sh BUGS -The -.Nm -driver only supports a single configuration of the MegaCore as installed -on the Terasic Technologies Altera DE4 Development and Education Board. -.Pp -Only gigabit Ethernet speeds are currently supported. diff --git a/share/man/man4/altera_avgen.4 b/share/man/man4/altera_avgen.4 deleted file mode 100644 index dc7e9a0a308b..000000000000 --- a/share/man/man4/altera_avgen.4 +++ /dev/null @@ -1,153 +0,0 @@ -.\"- -.\" Copyright (c) 2012 Robert N. M. Watson -.\" All rights reserved. -.\" -.\" This software was developed by SRI International and the University of -.\" Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) -.\" ("CTSRD"), as part of the DARPA CRASH research programme. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.Dd August 18, 2012 -.Dt ALTERA_AVGEN 4 -.Os -.Sh NAME -.Nm altera_avgen -.Nd driver for generic Altera Avalon-bus-attached, memory-mapped devices -.Sh SYNOPSIS -.Cd "device altera_avgen" -.Pp -In -.Pa /boot/device.hints : -.Cd hint.altera_avgen.0.at="nexus0" -.Cd hint.altera_avgen.0.maddr=0x7f00a000 -.Cd hint.altera_avgen.0.msize=20 -.Cd hint.altera_avgen.0.width=4 -.Cd hint.altera_avgen.0.fileio="rw" -.Cd hint.altera_avgen.0.devname="berirom" -.Sh DESCRIPTION -The -.Nm -device driver provides generic support for memory-mapped devices on the -Altera Avalon bus. -.Pa device.hints -entries configure the address, size, I/O disposition, and -.Pa /dev -device node name that will be used. -The -.Xr open 2 , -.Xr read 2 , -.Xr write 2 , -and -.Xr mmap 2 -system calls (and variations) may be used on -.Nm -device nodes, subject to constraints imposed using -.Pa device.hints -entries. -Although reading and writing mapped memory is supported, -.Nm -does not currently support directing device interrupts to userspace. -.Pp -A number of -.Pa device.hints -sub-fields are available to configure -.Nm -device instances: -.Bl -tag -width devunit -.It maddr -base physical address of the memory region to export; must be aligned to -.Li width -.It msize -length of the memory region export; must be aligned to -.Li width -.It width -Granularity at which -.Xr read 2 -and -.Xr write 2 -operations will be performed. -Larger requests will be broken down into -.Li width -sized -operations; smaller requests will be rejected. -I/O operations must be aligned to -.Li width . -.It fileio -allowed file descriptor operations; -.Li r -authorizes -.Xr read 2 ; -.Li w -authorizes -.Xr write 2 . -.It mmapio -allowed -.Xr mmap 2 -permissions; -.Li w -authorizes -.Dv PROT_WRITE ; -.Li r -authorizes -.Dv PROT_READ ; -.Li x -authorizes -.Dv PROT_EXEC . -.It devname -specifies a device name relative to -.Pa /dev . -.It devunit -specifies a device unit number; no unit number is used if this is unspecified. -.El -.Sh SEE ALSO -.Xr mmap 2 , -.Xr open 2 , -.Xr read 2 , -.Xr write 2 -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 10.0 . -.Sh AUTHORS -The -.Nm -device driver and this manual page were -developed by SRI International and the University of Cambridge Computer -Laboratory under DARPA/AFRL contract -.Pq FA8750-10-C-0237 -.Pq Do CTSRD Dc , -as part of the DARPA CRASH research programme. -This device driver was written by -.An Robert N. M. Watson . -.Sh BUGS -.Nm -is intended to support the writing of userspace device drivers; however, it -does not permit directing interrupts to userspace, only memory-mapped I/O. -.Pp -.Nm -supports only a -.Li nexus -bus attachment, which is appropriate for system-on-chip busses such as -Altera's Avalon bus. -If the target device is off of another bus type, then additional bus -attachments will be required. diff --git a/share/man/man4/altera_jtag_uart.4 b/share/man/man4/altera_jtag_uart.4 deleted file mode 100644 index 339e58d7c2f1..000000000000 --- a/share/man/man4/altera_jtag_uart.4 +++ /dev/null @@ -1,119 +0,0 @@ -.\"- -.\" Copyright (c) 2012 Robert N. M. Watson -.\" All rights reserved. -.\" -.\" This software was developed by SRI International and the University of -.\" Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) -.\" ("CTSRD"), as part of the DARPA CRASH research programme. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.Dd August 18, 2012 -.Dt ALTERA_JTAG_UART 4 -.Os -.Sh NAME -.Nm altera_jtag_uart -.Nd driver for the Altera JTAG UART Core -.Sh SYNOPSIS -.Cd "device altera_jtag_uart" -.Pp -In -.Pa /boot/device.hints : -.Cd hint.altera_jtag_uart.0.at="nexus0" -.Cd hint.altera_jtag_uart.0.maddr=0x7f000000 -.Cd hint.altera_jtag_uart.0.msize=0x40 -.Cd hint.altera_jtag_uart.0.irq=0 -.Cd hint.altera_jtag_uart.1.at="nexus0" -.Cd hint.altera_jtag_uart.1.maddr=0x7f001000 -.Cd hint.altera_jtag_uart.1.msize=0x40 -.Sh DESCRIPTION -The -.Nm -device driver provides support for the Altera JTAG UART core, which allows -multiple UART-like streams to be carried over JTAG. -.Nm -allows JTAG UART streams to be attached to both the low-level console -interface, used for direct kernel input and output, and the -.Xr tty 4 -layer, to be used with -.Xr ttys 5 -and -.Xr login 1 . -Sequential Altera JTAG UART devices will appear as -.Li ttyu0 , -.Li ttyu1 , -etc. -.Sh HARDWARE -Altera JTAG UART devices can be connected to using Altera's -.Pa nios2-terminal -program, with the instance selected using the -.Li --instance -argument on the management host. -.Nm -supports JTAG UART cores with or without interrupt lines connected; if the -.Li irq -portion of the -.Pa device.hints -entry is omitted, the driver will poll rather than configure interrupts. -.Sh SEE ALSO -.Xr login 1 , -.Xr tty 4 , -.Xr ttys 5 -.Rs -.%T Altera Embedded Peripherals IP User Guide -.%D June 2011 -.%I Altera Corporation -.%U http://www.altera.com/literature/ug/ug_embedded_ip.pdf -.Re -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 10.0 . -.Sh AUTHORS -The -.Nm -device driver and this manual page were -developed by SRI International and the University of Cambridge Computer -Laboratory under DARPA/AFRL contract -.Pq FA8750-10-C-0237 -.Pq Do CTSRD Dc , -as part of the DARPA CRASH research programme. -This device driver was written by -.An Robert N. M. Watson . -.Sh BUGS -.Nm -must dynamically poll to detect when JTAG is present, in order to disable flow -control in the event that there is no receiving endpoint. -Otherwise, the boot may hang waiting for the JTAG client to be attached, and -user processes attached to JTAG UART devices might block indefinitely. -However, there is no way to flush the output buffer once JTAG is detected to -have disappeared; this means that a small amount of stale output data will -remain in the output buffer, being displayed by -.Li nios2-terminal -when it is connected. -Loss of JTAG will not generate a hang-up event, as that is rarely the desired -behaviour. -.Pp -.Li nios2-terminal -does not place the client-side TTY in raw mode, and so by default will not -pass all control characters through to the UART. diff --git a/share/man/man4/altera_sdcard.4 b/share/man/man4/altera_sdcard.4 deleted file mode 100644 index 65d1ba5369ed..000000000000 --- a/share/man/man4/altera_sdcard.4 +++ /dev/null @@ -1,116 +0,0 @@ -.\"- -.\" Copyright (c) 2012 Robert N. M. Watson -.\" All rights reserved. -.\" -.\" This software was developed by SRI International and the University of -.\" Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) -.\" ("CTSRD"), as part of the DARPA CRASH research programme. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.Dd August 18, 2012 -.Dt ALTERA_SDCARD 4 -.Os -.Sh NAME -.Nm altera_sdcard -.Nd driver for the Altera University Program Secure Data Card IP Core -.Sh SYNOPSIS -.Cd "device altera_sdcard" -.Pp -In -.Pa /boot/device.hints : -.Cd hint.altera_sdcardc.0.at="nexus0" -.Cd hint.altera_sdcardc.0.maddr=0x7f008000 -.Cd hint.altera_sdcardc.0.msize=0x400 -.Sh DESCRIPTION -The -.Nm -device driver provides support for the Altera University Program Secure Data -Card (SD Card) IP Core device. -A controller device, -.Li altera_sdcardcX , -will be attached during boot. -Inserted disks are presented as -.Xr disk 9 -devices, -.Li altera_sdcardX , -corresponding to the controller number. -.Sh HARDWARE -The current version of the -.Nm -driver supports the SD Card IP core as described in the August 2011 version of -Altera's documentation. -The core supports only cards up to 2G (CSD 0); larger cards, or cards using -newer CSD versions, will not be detected. -The IP core has two key limitations: a lack of interrupt support, requiring -timer-driven polling to detect I/O completion, and support for only single -512-byte block read and write operations at a time. -The combined effect of those two limits is that the system clock rate, -.Dv HZ , -must be set to at least 200 in order to accomplish the maximum 100KB/s data -rate supported by the IP core. -.Sh SEE ALSO -.Xr disk 9 -.Rs -.%T Altera University Program Secure Data Card IP Core -.%D August 2011 -.%I Altera Corporation - University Program -.%U ftp://ftp.altera.com/up/pub/Altera_Material/11.0/University_Program_IP_Cores/Memory/SD_Card_Interface_for_SoPC_Builder.pdf -.Re -.Sh HISTORY -The -.Nm -device driver first appeared in -.Fx 10.0 . -.Sh AUTHORS -The -.Nm -device driver and this manual page were -developed by SRI International and the University of Cambridge Computer -Laboratory under DARPA/AFRL contract -.Pq FA8750-10-C-0237 -.Pq Do CTSRD Dc , -as part of the DARPA CRASH research programme. -This device driver was written by -.An Robert N. M. Watson . -.Sh BUGS -.Nm -contains a number of work-arounds for IP core bugs. -Perhaps most critically, -.Nm -ignores the CRC error bit returned in the RR1 register, which appears to be -unexpectedly set by the IP core. -.Pp -.Nm -uses fixed polling intervals are used for card insertion/removal and -I/O completion detection; an adaptive strategy might improve performance by -reducing the latency to detecting completed I/O. -However, in our experiments, using polling rates greater than 200 times a -second did not improve performance. -.Pp -.Nm -supports only a -.Li nexus -bus attachment, which is appropriate for system-on-chip busses such as -Altera's Avalon bus. -If the IP core is configured off of another bus type, then additional bus -attachments will be required. diff --git a/sys/arm/altera/socfpga/files.socfpga b/sys/arm/altera/socfpga/files.socfpga deleted file mode 100644 index 1cf8d95b9fa3..000000000000 --- a/sys/arm/altera/socfpga/files.socfpga +++ /dev/null @@ -1,18 +0,0 @@ - -arm/altera/socfpga/socfpga_common.c standard -arm/altera/socfpga/socfpga_machdep.c standard -arm/altera/socfpga/socfpga_manager.c standard -arm/altera/socfpga/socfpga_rstmgr.c standard -arm/altera/socfpga/socfpga_mp.c optional smp - -dev/mmc/host/dwmmc_altera.c optional dwmmc - -# Arria 10 -arm/altera/socfpga/socfpga_a10_manager.c standard - -# BERI specific -dev/beri/beri_ring.c optional beri_ring -dev/beri/beri_mem.c optional beri_mem -dev/beri/virtio/virtio.c optional beri_vtblk | vtbe -dev/beri/virtio/virtio_block.c optional beri_vtblk -dev/beri/virtio/network/if_vtbe.c optional vtbe diff --git a/sys/arm/altera/socfpga/socfpga_a10_manager.c b/sys/arm/altera/socfpga/socfpga_a10_manager.c deleted file mode 100644 index 01267bcaacf1..000000000000 --- a/sys/arm/altera/socfpga/socfpga_a10_manager.c +++ /dev/null @@ -1,437 +0,0 @@ -/*- - * Copyright (c) 2017 Ruslan Bukin - * All rights reserved. - * - * This software was developed by SRI International and the University of - * Cambridge Computer Laboratory under DARPA/AFRL contract FA8750-10-C-0237 - * ("CTSRD"), as part of the DARPA CRASH research programme. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * Intel Arria 10 FPGA Manager. - * Chapter 4, Arria 10 Hard Processor System Technical Reference Manual. - * Chapter A, FPGA Reconfiguration. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include - -#define FPGAMGR_DCLKCNT 0x8 /* DCLK Count Register */ -#define FPGAMGR_DCLKSTAT 0xC /* DCLK Status Register */ -#define FPGAMGR_GPO 0x10 /* General-Purpose Output Register */ -#define FPGAMGR_GPI 0x14 /* General-Purpose Input Register */ -#define FPGAMGR_MISCI 0x18 /* Miscellaneous Input Register */ -#define IMGCFG_CTRL_00 0x70 -#define S2F_CONDONE_OE (1 << 24) -#define S2F_NSTATUS_OE (1 << 16) -#define CTRL_00_NCONFIG (1 << 8) -#define CTRL_00_NENABLE_CONDONE (1 << 2) -#define CTRL_00_NENABLE_NSTATUS (1 << 1) -#define CTRL_00_NENABLE_NCONFIG (1 << 0) -#define IMGCFG_CTRL_01 0x74 -#define CTRL_01_S2F_NCE (1 << 24) -#define CTRL_01_S2F_PR_REQUEST (1 << 16) -#define CTRL_01_S2F_NENABLE_CONFIG (1 << 0) -#define IMGCFG_CTRL_02 0x78 -#define CTRL_02_CDRATIO_S 16 -#define CTRL_02_CDRATIO_M (0x3 << CTRL_02_CDRATIO_S) -#define CTRL_02_CFGWIDTH_16 (0 << 24) -#define CTRL_02_CFGWIDTH_32 (1 << 24) -#define CTRL_02_EN_CFG_DATA (1 << 8) -#define CTRL_02_EN_CFG_CTRL (1 << 0) -#define IMGCFG_STAT 0x80 -#define F2S_PR_ERROR (1 << 11) -#define F2S_PR_DONE (1 << 10) -#define F2S_PR_READY (1 << 9) -#define F2S_MSEL_S 16 -#define F2S_MSEL_M (0x7 << F2S_MSEL_S) -#define MSEL_PASSIVE_FAST 0 -#define MSEL_PASSIVE_SLOW 1 -#define F2S_NCONFIG_PIN (1 << 12) -#define F2S_CONDONE_OE (1 << 7) -#define F2S_NSTATUS_PIN (1 << 4) -#define F2S_CONDONE_PIN (1 << 6) -#define F2S_USERMODE (1 << 2) - -struct fpgamgr_a10_softc { - struct resource *res[2]; - bus_space_tag_t bst_data; - bus_space_handle_t bsh_data; - struct cdev *mgr_cdev; - device_t dev; -}; - -static struct resource_spec fpgamgr_a10_spec[] = { - { SYS_RES_MEMORY, 0, RF_ACTIVE }, - { SYS_RES_MEMORY, 1, RF_ACTIVE }, - { -1, 0 } -}; - -static int -fpga_wait_dclk_pulses(struct fpgamgr_a10_softc *sc, int npulses) -{ - int tout; - - /* Clear done bit, if any */ - if (READ4(sc, FPGAMGR_DCLKSTAT) != 0) - WRITE4(sc, FPGAMGR_DCLKSTAT, 0x1); - - /* Request DCLK pulses */ - WRITE4(sc, FPGAMGR_DCLKCNT, npulses); - - /* Wait finish */ - tout = 1000; - while (tout > 0) { - if (READ4(sc, FPGAMGR_DCLKSTAT) == 1) { - WRITE4(sc, FPGAMGR_DCLKSTAT, 0x1); - break; - } - tout--; - DELAY(10); - } - if (tout == 0) { - device_printf(sc->dev, - "Error: dclkpulses wait timeout\n"); - return (1); - } - - return (0); -} - -static int -fpga_open(struct cdev *dev, int flags __unused, - int fmt __unused, struct thread *td __unused) -{ - struct fpgamgr_a10_softc *sc; - int tout; - int msel; - int reg; - - sc = dev->si_drv1; - - /* Step 1 */ - reg = READ4(sc, IMGCFG_STAT); - if ((reg & F2S_USERMODE) == 0) { - device_printf(sc->dev, "Error: invalid mode\n"); - return (ENXIO); - }; - - /* Step 2 */ - reg = READ4(sc, IMGCFG_STAT); - msel = (reg & F2S_MSEL_M) >> F2S_MSEL_S; - if ((msel != MSEL_PASSIVE_FAST) && \ - (msel != MSEL_PASSIVE_SLOW)) { - device_printf(sc->dev, - "Error: invalid msel %d\n", msel); - return (ENXIO); - }; - - /* - * Step 3. - * TODO: add support for compressed, encrypted images. - */ - reg = READ4(sc, IMGCFG_CTRL_02); - reg &= ~(CTRL_02_CDRATIO_M); - WRITE4(sc, IMGCFG_CTRL_02, reg); - - reg = READ4(sc, IMGCFG_CTRL_02); - reg &= ~CTRL_02_CFGWIDTH_32; - WRITE4(sc, IMGCFG_CTRL_02, reg); - - /* Step 4. a */ - reg = READ4(sc, IMGCFG_CTRL_01); - reg &= ~CTRL_01_S2F_PR_REQUEST; - WRITE4(sc, IMGCFG_CTRL_01, reg); - - reg = READ4(sc, IMGCFG_CTRL_00); - reg |= CTRL_00_NCONFIG; - WRITE4(sc, IMGCFG_CTRL_00, reg); - - /* b */ - reg = READ4(sc, IMGCFG_CTRL_01); - reg &= ~CTRL_01_S2F_NCE; - WRITE4(sc, IMGCFG_CTRL_01, reg); - - /* c */ - reg = READ4(sc, IMGCFG_CTRL_02); - reg |= CTRL_02_EN_CFG_CTRL; - WRITE4(sc, IMGCFG_CTRL_02, reg); - - /* d */ - reg = READ4(sc, IMGCFG_CTRL_00); - reg &= ~S2F_CONDONE_OE; - reg &= ~S2F_NSTATUS_OE; - reg |= CTRL_00_NCONFIG; - reg |= CTRL_00_NENABLE_NSTATUS; - reg |= CTRL_00_NENABLE_CONDONE; - reg &= ~CTRL_00_NENABLE_NCONFIG; - WRITE4(sc, IMGCFG_CTRL_00, reg); - - /* Step 5 */ - reg = READ4(sc, IMGCFG_CTRL_01); - reg &= ~CTRL_01_S2F_NENABLE_CONFIG; - WRITE4(sc, IMGCFG_CTRL_01, reg); - - /* Step 6 */ - fpga_wait_dclk_pulses(sc, 0x100); - - /* Step 7. a */ - reg = READ4(sc, IMGCFG_CTRL_01); - reg |= CTRL_01_S2F_PR_REQUEST; - WRITE4(sc, IMGCFG_CTRL_01, reg); - - /* b, c */ - fpga_wait_dclk_pulses(sc, 0x7ff); - - /* Step 8 */ - tout = 10; - while (tout--) { - reg = READ4(sc, IMGCFG_STAT); - if (reg & F2S_PR_ERROR) { - device_printf(sc->dev, - "Error: PR failed on open.\n"); - return (ENXIO); - } - if (reg & F2S_PR_READY) { - break; - } - } - if (tout == 0) { - device_printf(sc->dev, - "Error: Timeout waiting PR ready bit.\n"); - return (ENXIO); - } - - return (0); -} - -static int -fpga_close(struct cdev *dev, int flags __unused, - int fmt __unused, struct thread *td __unused) -{ - struct fpgamgr_a10_softc *sc; - int tout; - int reg; - - sc = dev->si_drv1; - - /* Step 10 */ - tout = 10; - while (tout--) { - reg = READ4(sc, IMGCFG_STAT); - if (reg & F2S_PR_ERROR) { - device_printf(sc->dev, - "Error: PR failed.\n"); - return (ENXIO); - } - if (reg & F2S_PR_DONE) { - break; - } - } - - /* Step 11 */ - reg = READ4(sc, IMGCFG_CTRL_01); - reg &= ~CTRL_01_S2F_PR_REQUEST; - WRITE4(sc, IMGCFG_CTRL_01, reg); - - /* Step 12, 13 */ - fpga_wait_dclk_pulses(sc, 0x100); - - /* Step 14 */ - reg = READ4(sc, IMGCFG_CTRL_02); - reg &= ~CTRL_02_EN_CFG_CTRL; - WRITE4(sc, IMGCFG_CTRL_02, reg); - - /* Step 15 */ - reg = READ4(sc, IMGCFG_CTRL_01); - reg |= CTRL_01_S2F_NCE; - WRITE4(sc, IMGCFG_CTRL_01, reg); - - /* Step 16 */ - reg = READ4(sc, IMGCFG_CTRL_01); - reg |= CTRL_01_S2F_NENABLE_CONFIG; - WRITE4(sc, IMGCFG_CTRL_01, reg); - - /* Step 17 */ - reg = READ4(sc, IMGCFG_STAT); - if ((reg & F2S_USERMODE) == 0) { - device_printf(sc->dev, - "Error: invalid mode\n"); - return (ENXIO); - }; - - if ((reg & F2S_CONDONE_PIN) == 0) { - device_printf(sc->dev, - "Error: configuration not done\n"); - return (ENXIO); - }; *** 12807 LINES SKIPPED *** From nobody Fri Dec 6 22:48:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4md46sjDz5g2D5; Fri, 06 Dec 2024 22:48:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4md46L7Cz4FrX; Fri, 6 Dec 2024 22:48:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733525304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SLnw7YFwVXiAvnC3Wxg3B86aW1DUtomXzGrnUTNTIkI=; b=T4/tmnV8jClcIdzc2/HhPXK+a5BPHkaLsHYcB6P42AhPM3kampvzwDH/9Zlnmrny9Ui7aW xJbKh8s+BM2Y9DwkmwdxROAMLU2QirEzbtrw9O33xHuEI2fW9PTHyfpfBKC1A/4hkJNnC1 yAs/HQLizJGuH4jtYyaI0J7D1s0O0bshzx7LK4dB55dzq7spXRwy6+Q1m8pmemHucpdxXD 8fElDESIeONrcbnhZx0ZDxiJtw33QHSW1cvf64l1OT2YfNe6zQKUJ4YmsljO8THjj1JQJj PtxyeIBJEpoBCVvy4KrMKfRSnPa4Kb1Yob175JHI2h5ytz45K8NWXPMwovSkdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733525304; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SLnw7YFwVXiAvnC3Wxg3B86aW1DUtomXzGrnUTNTIkI=; b=pgQJXN+SPFnqe0nj+YFz39H7cA9bFWKW2egueyBJatlSJ/N9s+1rZw7jLifqqH7gs2k77e VGxHfcHtGMg6E+WWwakyBwCvF1/qEG3fSBvbC9bhkB/Ptp2LqIjun2iO8diPOSq6vUNbQd TiSb9ba7lY+RtdG6+2UISpVFaakcZtd5j3M3V3k6/W8hIBvos86AN+0YEx9zo4ogGUCxyk 9dsrZT7Z5JdWcfWa755KqjkBkXLpNxhqsC38dANG4pyP3l9JQMZ2KTv+ffjkI+4j+D0P9n CDRiYndCQhnDsNGGYhpCNvn+NhzHuPVThYPZnhkSMZEXGLSGUYZ8zbE/ltepNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733525304; a=rsa-sha256; cv=none; b=WSNO6LXHSUi0CkOzioYxra/Vl8DHRhNfLAc3LUNr49qJiT2fCjVwFeOMvrwWcBRhOYMH3e muya7HrX2YiDewetAieEpU9yD4XGz8gOdOTRfiAgp4z+G+enS/rq8oUXGYAl3li1qJ4cTB OAiSu2gbN8k4D/m5qtIrmbFR4lerlyVUudf1TgBJLe8TKaIcalwT+80eOno3ITywB+JSkT Ly0LSBpjIVI2dx36cnNxY1kppnwkN+2I8jklNhW/c3WT7V0F5soDJ+c1i9hirkNMvUfs+c 44jS9qG86UCGfWbHnUPI2xyJJwx4/4diknmYBZ0+zDXCTSaKCh6KhERL3CD/WA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4md45q1GzxLZ; Fri, 6 Dec 2024 22:48: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 4B6MmOdA009204; Fri, 6 Dec 2024 22:48:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B6MmOja009201; Fri, 6 Dec 2024 22:48:24 GMT (envelope-from git) Date: Fri, 6 Dec 2024 22:48:24 GMT Message-Id: <202412062248.4B6MmOja009201@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: c1ad5b4b10c5 - main - cd9660: Apply the file and directory mode masks bits to all 12 access 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c1ad5b4b10c5e426d3d782b7216a038187419a1e Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=c1ad5b4b10c5e426d3d782b7216a038187419a1e commit c1ad5b4b10c5e426d3d782b7216a038187419a1e Author: John Baldwin AuthorDate: 2024-12-06 22:40:35 +0000 Commit: John Baldwin CommitDate: 2024-12-06 22:40:35 +0000 cd9660: Apply the file and directory mode masks bits to all 12 access bits This permits the mask bits to control the upper 3 bits used for setuid, setgid, and sticky permissions. While here, clarify the manpage language as non-Rockridge volumes with extended attributes can also supply users and groups along with permissions. Reviewed by: olce Fixes: 82f2275b73e5 cd9660: Add support for mask,dirmask,uid,gid options Differential Revision: https://reviews.freebsd.org/D47357 --- sbin/mount_cd9660/mount_cd9660.8 | 23 ++++++++++++----------- sys/fs/cd9660/cd9660_vfsops.c | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/sbin/mount_cd9660/mount_cd9660.8 b/sbin/mount_cd9660/mount_cd9660.8 index 017ad7ee9a11..19c3ca5cf012 100644 --- a/sbin/mount_cd9660/mount_cd9660.8 +++ b/sbin/mount_cd9660/mount_cd9660.8 @@ -73,30 +73,31 @@ version number. .It Fl G Ar group Set the group of the files in the file system to .Ar group . -The default gid on non-Rockridge volumes is zero. +The default gid on volumes without extended attributes or Rockridge extensions +is zero. .It Fl U Ar user Set the owner of the files in the file system to .Ar user . -The default uid on non-Rockridge volumes is zero. +The default uid on volumes without extended attributes or Rockridge extensions +is zero. .It Fl m Ar mask Specify the maximum file permissions for files in the file system. -(For example, a +For example, a .Ar mask of -.Li 755 -specifies that, by default, the owner should have -read, write, and execute permissions for files, but -others should only have read and execute permissions). +.Li 544 +limits the owner to +read and execute permissions for files and +others to only read permission. See .Xr chmod 1 for more information about octal file modes. -Only the nine low-order bits of -.Ar mask -are used. The default .Ar mask -on non-Rockridge volumes is 755. +is 7777. +The default permissions on volumes without extended attributes or Rockridge +extensions is 555. .It Fl M Ar mask Specify the maximum file permissions for directories in the file system. diff --git a/sys/fs/cd9660/cd9660_vfsops.c b/sys/fs/cd9660/cd9660_vfsops.c index 814f49f58ae1..b4db4c4f7331 100644 --- a/sys/fs/cd9660/cd9660_vfsops.c +++ b/sys/fs/cd9660/cd9660_vfsops.c @@ -394,7 +394,7 @@ iso_mountfs(struct vnode *devvp, struct mount *mp) isomp->im_mountp = mp; isomp->im_dev = dev; isomp->im_devvp = devvp; - isomp->im_fmask = isomp->im_dmask = ACCESSPERMS; + isomp->im_fmask = isomp->im_dmask = ALLPERMS; vfs_flagopt(mp->mnt_optnew, "norrip", &isomp->im_flags, ISOFSMNT_NORRIP); vfs_flagopt(mp->mnt_optnew, "gens", &isomp->im_flags, ISOFSMNT_GENS); From nobody Sat Dec 7 00:23:08 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4pkN44l2z5g8Rj; Sat, 07 Dec 2024 00:23:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4pkN3dfrz4Nsh; Sat, 7 Dec 2024 00:23:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733530988; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KqpEY7btv+Q+NcaovUrEoZ40tba9mqyjGRlt2EH5hpY=; b=jGRCyIELeJ9bFgMycqP6ao1dNtPddowR5DxPIX7yX5eDzUAlaMOH5fjYBWj2zh7g/8d4Sl a22ixyZQetVsxAkq5cp/V4p0B3BJdDWzzeeO9jxVHExBgqNYYYjMtCuC9V8Krd51y8RYtt 8RypNJtE7y2tuum43HER5+OEkaI4uDUksT+eA7z2LoT4FCkJRgNgAwQNq8w7Z8GncNPEca 6uv4YyeIF7AE9vjdH59GfjRlXePQkJv4+mS8yRXVgMv1ffRv75gp8szYOmJgfGPB04KVgw 1qJ/o9Fk2yUZhyGjABNQBhA6w7kAXaZFkpsg3yYDCF/AUuJo8ZZ0Qh3pPeNuQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733530988; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KqpEY7btv+Q+NcaovUrEoZ40tba9mqyjGRlt2EH5hpY=; b=bwwhKIe8tuw0wcL+kHuUd2nXbt5gpKlSN2KKUa3aV8NuJKvbip9uQOyD0QrrRNHTedsBCV CdfJujEgJcA1g1WRjBaickuPzy4VNC/G/iPpZVmIjX2gRXtGIvNPkJFpjfeBjyJXrgTdAb 2VA/fbURhGW3w5jaDehApPwvmHz6FNmoh1/slcn7lMWVQm6Harq3sdL9pbrUUXI/1GmKbV K9Iq49u1+kmm8+8z+5SYEcu7IMjb9BG743RUV+Ka2kkbRi5IwV3wAy+xrXdL2eJZubeSte sAL3HEboCcgrJrDy7+UGJwisNFYB8GD+xOgrPXX2w5RPEvyyI2g+olSr4fWcpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733530988; a=rsa-sha256; cv=none; b=EG8WQ+TGIP0ho8YYHCavcjvIXJ4ZhKJYApOn/3bMz5c6NL/JpUMnPXAiWGKjx76f/9+J1x jt9alzlZO/Y0xzEdsHPfxRWZjIKbR/CrITnhiyziWrenq96qJV6pKcD4lHB6fPusIpzJ+x ZHFl/eagNSBTCS5C+E65eS+3hZ63yEXPfwc6H5K/ccBJC73yCveSLzW1v32p8Qx9LVUA6F lUZIlV89F6/awIl0aevpDTEkhQINBrRbbuRP1R8AEwaVLFtxwn8sXooEOBqQ7dsHh9qTS4 Zov+SQ26kXFvrJFXYJWUZXYkK1A2nuSg9ulYt+Bpp2hR5RITRw2VsEeRc3/Krw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4pkN3DXMz10lh; Sat, 7 Dec 2024 00:23: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 4B70N8wW094209; Sat, 7 Dec 2024 00:23:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B70N8v4094206; Sat, 7 Dec 2024 00:23:08 GMT (envelope-from git) Date: Sat, 7 Dec 2024 00:23:08 GMT Message-Id: <202412070023.4B70N8v4094206@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: 351356090998 - main - rtwn: use ieee80211_ht_check_tx_ht40() to transmit HT40 frames List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3513560909981a349c6edfca44fa2656b7eefeb5 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=3513560909981a349c6edfca44fa2656b7eefeb5 commit 3513560909981a349c6edfca44fa2656b7eefeb5 Author: Adrian Chadd AuthorDate: 2024-12-02 07:13:40 +0000 Commit: Adrian Chadd CommitDate: 2024-12-07 00:22:32 +0000 rtwn: use ieee80211_ht_check_tx_ht40() to transmit HT40 frames Using ieee80211_ht_check_tx_ht40() means that not only the bss and node channel are checked, but the ni_chw value is also now correctly checked. Differential Revision: https://reviews.freebsd.org/D47862 --- sys/dev/rtwn/rtl8192c/r92c_tx.c | 3 +-- sys/dev/rtwn/rtl8812a/r12a_tx.c | 7 +++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/sys/dev/rtwn/rtl8192c/r92c_tx.c b/sys/dev/rtwn/rtl8192c/r92c_tx.c index a3e92e1b7ebb..8a4c6581832b 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_tx.c +++ b/sys/dev/rtwn/rtl8192c/r92c_tx.c @@ -66,8 +66,7 @@ r92c_tx_set_ht40(struct rtwn_softc *sc, void *buf, struct ieee80211_node *ni) { struct r92c_tx_desc *txd = (struct r92c_tx_desc *)buf; - if (ni->ni_chan != IEEE80211_CHAN_ANYC && - IEEE80211_IS_CHAN_HT40(ni->ni_chan)) { + if (ieee80211_ht_check_tx_ht40(ni)) { int extc_offset; extc_offset = r92c_tx_get_sco(sc, ni->ni_chan); diff --git a/sys/dev/rtwn/rtl8812a/r12a_tx.c b/sys/dev/rtwn/rtl8812a/r12a_tx.c index e6b5111063f7..8b16be17f8eb 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_tx.c +++ b/sys/dev/rtwn/rtl8812a/r12a_tx.c @@ -59,7 +59,7 @@ static int r12a_get_primary_channel(struct rtwn_softc *sc, struct ieee80211_channel *c) { - /* XXX 80 MHz */ + /* XXX VHT80; VHT40 */ if (IEEE80211_IS_CHAN_HT40U(c)) return (R12A_TXDW5_PRIM_CHAN_20_80_2); else @@ -71,9 +71,8 @@ r12a_tx_set_ht40(struct rtwn_softc *sc, void *buf, struct ieee80211_node *ni) { struct r12a_tx_desc *txd = (struct r12a_tx_desc *)buf; - /* XXX 80 Mhz */ - if (ni->ni_chan != IEEE80211_CHAN_ANYC && - IEEE80211_IS_CHAN_HT40(ni->ni_chan)) { + /* XXX VHT80; VHT40; VHT20 */ + if (ieee80211_ht_check_tx_ht40(ni)) { int prim_chan; prim_chan = r12a_get_primary_channel(sc, ni->ni_chan); From nobody Sat Dec 7 00:23:09 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4pkQ0knyz5g8Xx; Sat, 07 Dec 2024 00:23:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4pkP4dqkz4P1L; Sat, 7 Dec 2024 00:23:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733530989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E9WPqNPdjtB7eN1sPz5NvFedQcmuu0L0W0YEkpb5oks=; b=K0IwL/ERnByLkUb9SAIWw/aOwvITf77ePOlmhzpE/UEtiFr7JF95qkXVq1ruvZ7CZ95KOI HQ6Hf03vArBg6NHool9/W6d4X3+zZWv8u6n4LeF0vcDQNGenOq4OS8lDSOWaox3KMiqB1i m9g98TYc4fUmVLjYS2kDo+zzSxiS48HS/pWtVNbenAwJKBuNQK6fSgZcy7cZfsfuTNtlpz iQJEGNZU5nW5wepP9Dd7Y2N2TBUXCxUMIdSAFm1O6KHyBHCuXU3xwHP6UMYA4tr1SvIkLx Auk/0Q1Is8EyUl6PmbnC33LSFiNK9ENV7cB9JRxLBh61krjIvMG5vve0Yi2Hbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733530989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E9WPqNPdjtB7eN1sPz5NvFedQcmuu0L0W0YEkpb5oks=; b=O/sOTV7hn2HutREmqL/upq0VWnHZoSSN/JB8iUOWvpX4NAxBelDthncKZt+OQzur8Iv71V tHQbTyIHxGL7oLR4kPakTcWniqXVUg1dEqeBjj6MdKEhXu583GnsSioFpdkY9pQtZHF3oM oSFxhmICiZVZzTjH/2eJfPqtdToBgvpZjPAahRklg2iHu0bMGyxTNY4/z5rA75uYEUVOnK y5bsi2CJPrAv9oCMvIMfPCN7i6WQlasNq5/pWMOhb0aMNNNvzRFxJw7jciwtK71E1QxH4D mzmMTi6/+EIFI43ugFS7S9m3Ekex6s4wfG96t86e+SMQbUyTAX00tAoFFbGM7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733530989; a=rsa-sha256; cv=none; b=G8k0/kEZfGrSsDUN8jedme06MiymTZYnIs4EjRDjhJ9RzyyFG5cUYlPdTI8FQAC0lUn/u2 QGD1zUU5n5uJuzaCMXd1bpLWqiDJ8WALaiZFnxtgDv7pnZhyF7YmlACe6AHxvQHCcBiyIE i0yY37eA+vw2DU/YFi9sIZjliE+CoTXYLMYmOKoSLQjjeiwbOmMfP45PNF0pLec4KahS9F kVqllHZ5ZrVs0bnDwcvXi0/UcMtmXjCBehF5TpANvnxzovWxflck9rt+wybPKZdgvbpDsP 4075m71pT78HrLltUjHEkRNJ0wFijXjmNvhMlqI9vJzptKDGnZpnbFDphYyKUw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4pkP4Dvfz10vw; Sat, 7 Dec 2024 00:23: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 4B70N9ii094270; Sat, 7 Dec 2024 00:23:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B70N9gd094267; Sat, 7 Dec 2024 00:23:09 GMT (envelope-from git) Date: Sat, 7 Dec 2024 00:23:09 GMT Message-Id: <202412070023.4B70N9gd094267@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: b2b6c2236b9c - main - rtwn: enable HT40 for RTL8821/RTL8812 series NICs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: b2b6c2236b9cdd6d7946aee0132a5b7dd14f285c Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=b2b6c2236b9cdd6d7946aee0132a5b7dd14f285c commit b2b6c2236b9cdd6d7946aee0132a5b7dd14f285c Author: Adrian Chadd AuthorDate: 2024-12-03 06:26:43 +0000 Commit: Adrian Chadd CommitDate: 2024-12-07 00:22:39 +0000 rtwn: enable HT40 for RTL8821/RTL8812 series NICs HT40 works fine in 2GHz and 5GHz modes in both 1 and 2 stream scenarios, so just enable it here. Differential Revision: https://reviews.freebsd.org/D47874 --- sys/dev/rtwn/rtl8812a/usb/r12au_attach.c | 7 +++++++ sys/dev/rtwn/rtl8821a/usb/r21au_attach.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c b/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c index 52a8e3d7ccf5..0c04c2d24b7b 100644 --- a/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c +++ b/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c @@ -173,6 +173,11 @@ r12au_adj_devcaps(struct rtwn_softc *sc) IEEE80211_HTC_TXLDPC; } + ic->ic_htcaps |= + IEEE80211_HTCAP_CHWIDTH40 /* 40 MHz channel width */ + | IEEE80211_HTCAP_SHORTGI40 /* short GI in 40MHz */ + ; + /* TODO: STBC, VHT etc */ } @@ -291,5 +296,7 @@ r12au_attach(struct rtwn_usb_softc *uc) sc->ntxchains = 2; sc->nrxchains = 2; + sc->sc_ht40 = 1; + r12a_attach_private(sc); } diff --git a/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c b/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c index 480b1ae36b11..9b648c067c2f 100644 --- a/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c +++ b/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c @@ -158,6 +158,11 @@ r21au_adj_devcaps(struct rtwn_softc *sc) if (rs->rs_radar != 0) ic->ic_caps |= IEEE80211_C_DFS; + ic->ic_htcaps |= + IEEE80211_HTCAP_CHWIDTH40 /* 40 MHz channel width */ + | IEEE80211_HTCAP_SHORTGI40 /* short GI in 40MHz */ + ; + /* TODO: VHT */ } @@ -277,5 +282,7 @@ r21au_attach(struct rtwn_usb_softc *uc) sc->ntxchains = 1; sc->nrxchains = 1; + sc->sc_ht40 = 1; + r21a_attach_private(sc); } From nobody Sat Dec 7 00:23:10 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4pkQ6qMBz5g8tB; Sat, 07 Dec 2024 00:23:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4pkQ6CXDz4NqG; Sat, 7 Dec 2024 00:23:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733530990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PXx7t4MhJ+eTmagkrXkj6bc26RffDfprrQ2N/gfaT+k=; b=Ukk/tGfgP2dVDtLM1kaVYMSqhKTSpAlj6Hmrbh5RwEblChmvyGGZ9k3GB4gNFRjbCrJA75 YyvNkQrs2C4eKKOXqH/JubkuC+QSY+SJ9v3gqQzcJt3lFXfDcqRyXNjoX+YxsgmeXFQ4ry kwGGN5Pt2wQpa0OIIfFo0d5uiqrvBiXVWNV83IcKxS2iIQjjCg5JdV0lOZq3VtITC8Ownt fJEQ4AcmBjOSPcmvbHuwjqNJGRq1ZRnIZScxtgA+uX18Poq00aKRefLqc5ssCYVh+gq76A sbngSNGnkZf6kZGvzTJu6qtVhvUIlstts6YVQFUGDhDr3Dm6TORRXxR833eo4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733530990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PXx7t4MhJ+eTmagkrXkj6bc26RffDfprrQ2N/gfaT+k=; b=U7fd/eV0iyFjiYHxSdeGYWHfHbbpBjF6xVqBdcpCc1nU3lVE6MIkvhd+gGaytYO1Tg/obm CPKjwxRXWvSFl34q6JcQTwnx+qpdkpAS/DcxFvQNdU61iY10AlZNcDogf/qKqKAhz+eiYb bzOfyqmqYtANufbEd2tTulNYUlPz8hBAYb6ye9dfF9VUJziVVOTPn2PpliQmkh4A1OQ0AH t1fkYYbuyIb0CXkCN0cDTbnMP/cSxHvt3lHeuWoY3E9aK3biVOJKaogvxZg6eqM/y+LuW9 Ffi+JRh2NubpXIJosMhy8raY6spsURK5XJKgxMhsjfIfSC7ecJbQgMrGOXh/LQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733530990; a=rsa-sha256; cv=none; b=o4R62rOnLJR+1qZO8Ce804tqNFEIyhyylObtbxTPprp2lcyqHdMVOqgO6vSWpcjeN5Dy4p si4XvNEXqJ5hVC9ptKGQpSvmJzBl07YmpN3FZBud20Oog2dmkYzX6hHFO6GjVOBG4KUtR3 QfgNhOY+mKeYqGYbbbjL+Pu++bDdJE0V2KzDBFnXTdiRAc2cEgF3tJQw7VwnE9XBpLlsVR N6jGCkSCjoIEgLxGevKk4ddBEBpE7cnCKC9GMFQ4VgiGS6EqDx9VGoVslDMKd22mcMQ5BY GtNdfkx0VluHAGfJVNv9GoheoN089L+R2EvN+5MQTAvAXDtHdNl+NP6ecg7DLg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4pkQ4pjZz10Zg; Sat, 7 Dec 2024 00:23: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 4B70NAPN094321; Sat, 7 Dec 2024 00:23:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B70NAbH094318; Sat, 7 Dec 2024 00:23:10 GMT (envelope-from git) Date: Sat, 7 Dec 2024 00:23:10 GMT Message-Id: <202412070023.4B70NAbH094318@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: b59017c5cad9 - main - rtwn: add placeholder for the per-MACID rate report List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: b59017c5cad90d0f09a59e68c00457b7faf93e7c Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=b59017c5cad90d0f09a59e68c00457b7faf93e7c commit b59017c5cad90d0f09a59e68c00457b7faf93e7c Author: Adrian Chadd AuthorDate: 2024-12-04 04:10:54 +0000 Commit: Adrian Chadd CommitDate: 2024-12-07 00:22:47 +0000 rtwn: add placeholder for the per-MACID rate report Some chipsets (such as the RTL8188E) have firmware which supports a second kind of TX report - instead of a per-packet TX report, it can generate a per-MACID summary of packet success/failure counters. This would be helpful for those chips to cut back on the USB traffic to get rate control feedback for the driver based rate control we're currently using. This is a no-op; it just gets the pieces in place for future work. Differential Revision: https://reviews.freebsd.org/D47894 --- sys/dev/rtwn/if_rtwnvar.h | 7 ++++++- sys/dev/rtwn/pci/rtwn_pci_rx.c | 30 ++++++++++++++++++++++++++++++ sys/dev/rtwn/rtl8188e/pci/r88ee_attach.c | 1 + sys/dev/rtwn/rtl8188e/r88e_rx.c | 3 ++- sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c | 1 + sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c | 1 + sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c | 1 + sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c | 1 + sys/dev/rtwn/rtl8812a/usb/r12au_attach.c | 1 + sys/dev/rtwn/rtl8821a/usb/r21au_attach.c | 1 + sys/dev/rtwn/usb/rtwn_usb_rx.c | 21 +++++++++++++++++++++ 11 files changed, 66 insertions(+), 2 deletions(-) diff --git a/sys/dev/rtwn/if_rtwnvar.h b/sys/dev/rtwn/if_rtwnvar.h index d4458384dbd7..163ab6068ee6 100644 --- a/sys/dev/rtwn/if_rtwnvar.h +++ b/sys/dev/rtwn/if_rtwnvar.h @@ -133,7 +133,8 @@ struct rtwn_vap { */ enum { RTWN_RX_DATA, - RTWN_RX_TX_REPORT, + RTWN_RX_TX_REPORT, /* Per-packet */ + RTWN_RX_TX_REPORT2, /* Per-MACID summary */ RTWN_RX_OTHER }; @@ -348,6 +349,8 @@ struct rtwn_softc { int (*sc_classify_intr)(struct rtwn_softc *, void *, int); void (*sc_handle_tx_report)(struct rtwn_softc *, uint8_t *, int); + void (*sc_handle_tx_report2)(struct rtwn_softc *, uint8_t *, + int); void (*sc_handle_c2h_report)(struct rtwn_softc *, uint8_t *, int); int (*sc_check_frame)(struct rtwn_softc *, struct mbuf *); @@ -549,6 +552,8 @@ void rtwn_suspend(struct rtwn_softc *); (((_sc)->sc_classify_intr)((_sc), (_buf), (_len))) #define rtwn_handle_tx_report(_sc, _buf, _len) \ (((_sc)->sc_handle_tx_report)((_sc), (_buf), (_len))) +#define rtwn_handle_tx_report2(_sc, _buf, _len) \ + (((_sc)->sc_handle_tx_report2)((_sc), (_buf), (_len))) #define rtwn_handle_c2h_report(_sc, _buf, _len) \ (((_sc)->sc_handle_c2h_report)((_sc), (_buf), (_len))) #define rtwn_check_frame(_sc, _m) \ diff --git a/sys/dev/rtwn/pci/rtwn_pci_rx.c b/sys/dev/rtwn/pci/rtwn_pci_rx.c index 7f06725afb0e..4ef879f1c947 100644 --- a/sys/dev/rtwn/pci/rtwn_pci_rx.c +++ b/sys/dev/rtwn/pci/rtwn_pci_rx.c @@ -236,6 +236,33 @@ rtwn_pci_tx_report(struct rtwn_pci_softc *pc, int len) #endif } +static void +rtwn_pci_tx_report2(struct rtwn_pci_softc *pc, int len) +{ + struct rtwn_softc *sc = &pc->pc_sc; + + if (sc->sc_ratectl != RTWN_RATECTL_NET80211) { + /* shouldn't happen */ + device_printf(sc->sc_dev, + "%s called while ratectl = %d!\n", + __func__, sc->sc_ratectl); + return; + } + + RTWN_NT_LOCK(sc); + rtwn_handle_tx_report2(sc, pc->pc_rx_buf, len); + RTWN_NT_UNLOCK(sc); + +#ifdef IEEE80211_SUPPORT_SUPERG + /* + * NB: this will executed only when 'report' bit is set. + */ + if (sc->sc_tx_n_active > 0 && --sc->sc_tx_n_active <= 1) + rtwn_cmd_sleepable(sc, NULL, 0, rtwn_ff_flush_all); +#endif +} + + static void rtwn_pci_c2h_report(struct rtwn_pci_softc *pc, int len) { @@ -341,6 +368,9 @@ rtwn_pci_rx_done(struct rtwn_softc *sc) case RTWN_RX_TX_REPORT: rtwn_pci_tx_report(pc, len); break; + case RTWN_RX_TX_REPORT2: + rtwn_pci_tx_report2(pc, len); + break; case RTWN_RX_OTHER: rtwn_pci_c2h_report(pc, len); break; diff --git a/sys/dev/rtwn/rtl8188e/pci/r88ee_attach.c b/sys/dev/rtwn/rtl8188e/pci/r88ee_attach.c index 190a0dcd0e2b..060572f54800 100644 --- a/sys/dev/rtwn/rtl8188e/pci/r88ee_attach.c +++ b/sys/dev/rtwn/rtl8188e/pci/r88ee_attach.c @@ -145,6 +145,7 @@ r88ee_attach(struct rtwn_pci_softc *pc) sc->sc_get_rssi_ofdm = r88e_get_rssi_ofdm; sc->sc_classify_intr = r88e_classify_intr; sc->sc_handle_tx_report = r88e_ratectl_tx_complete; + sc->sc_handle_tx_report2 = rtwn_nop_softc_uint8_int; sc->sc_handle_c2h_report = r88e_handle_c2h_report; sc->sc_check_frame = rtwn_nop_int_softc_mbuf; sc->sc_rf_read = r92c_rf_read; diff --git a/sys/dev/rtwn/rtl8188e/r88e_rx.c b/sys/dev/rtwn/rtl8188e/r88e_rx.c index 4f8517f1e490..826076c8071c 100644 --- a/sys/dev/rtwn/rtl8188e/r88e_rx.c +++ b/sys/dev/rtwn/rtl8188e/r88e_rx.c @@ -63,8 +63,9 @@ r88e_classify_intr(struct rtwn_softc *sc, void *buf, int len) case R88E_RXDW3_RPT_RX: return (RTWN_RX_DATA); case R88E_RXDW3_RPT_TX1: /* per-packet Tx report */ - case R88E_RXDW3_RPT_TX2: /* periodical Tx report */ return (RTWN_RX_TX_REPORT); + case R88E_RXDW3_RPT_TX2: /* periodical Tx report */ + return (RTWN_RX_TX_REPORT2); case R88E_RXDW3_RPT_HIS: return (RTWN_RX_OTHER); default: /* shut up the compiler */ diff --git a/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c b/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c index 77193321bb9e..fcd26cd9a212 100644 --- a/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c +++ b/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c @@ -138,6 +138,7 @@ r88eu_attach(struct rtwn_usb_softc *uc) sc->sc_get_rssi_ofdm = r88e_get_rssi_ofdm; sc->sc_classify_intr = r88e_classify_intr; sc->sc_handle_tx_report = r88e_ratectl_tx_complete; + sc->sc_handle_tx_report2 = rtwn_nop_softc_uint8_int; sc->sc_handle_c2h_report = r88e_handle_c2h_report; sc->sc_check_frame = rtwn_nop_int_softc_mbuf; sc->sc_rf_read = r92c_rf_read; diff --git a/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c b/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c index 423bf2af1845..4c12403bf4fb 100644 --- a/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c +++ b/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c @@ -175,6 +175,7 @@ r92ce_attach(struct rtwn_pci_softc *pc) sc->sc_get_rssi_ofdm = r92c_get_rssi_ofdm; sc->sc_classify_intr = r92c_classify_intr; sc->sc_handle_tx_report = rtwn_nop_softc_uint8_int; + sc->sc_handle_tx_report2 = rtwn_nop_softc_uint8_int; sc->sc_handle_c2h_report = rtwn_nop_softc_uint8_int; sc->sc_check_frame = rtwn_nop_int_softc_mbuf; sc->sc_rf_read = r92c_rf_read; diff --git a/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c b/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c index 585610225193..8585333290bf 100644 --- a/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c +++ b/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c @@ -167,6 +167,7 @@ r92cu_attach(struct rtwn_usb_softc *uc) sc->sc_get_rssi_ofdm = r92c_get_rssi_ofdm; sc->sc_classify_intr = r92c_classify_intr; sc->sc_handle_tx_report = rtwn_nop_softc_uint8_int; + sc->sc_handle_tx_report2 = rtwn_nop_softc_uint8_int; sc->sc_handle_c2h_report = rtwn_nop_softc_uint8_int; sc->sc_check_frame = rtwn_nop_int_softc_mbuf; sc->sc_rf_read = r92c_rf_read; diff --git a/sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c b/sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c index a0a93925358c..e0eadd72056b 100644 --- a/sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c +++ b/sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c @@ -116,6 +116,7 @@ r92eu_attach(struct rtwn_usb_softc *uc) sc->sc_get_rssi_ofdm = r88e_get_rssi_ofdm; sc->sc_classify_intr = r12au_classify_intr; sc->sc_handle_tx_report = r12a_ratectl_tx_complete; + sc->sc_handle_tx_report2 = rtwn_nop_softc_uint8_int; sc->sc_handle_c2h_report = r92e_handle_c2h_report; sc->sc_check_frame = rtwn_nop_int_softc_mbuf; sc->sc_rf_read = r92e_rf_read; diff --git a/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c b/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c index 0c04c2d24b7b..70655092d1be 100644 --- a/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c +++ b/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c @@ -205,6 +205,7 @@ r12au_attach(struct rtwn_usb_softc *uc) sc->sc_get_rssi_ofdm = r88e_get_rssi_ofdm; sc->sc_classify_intr = r12au_classify_intr; sc->sc_handle_tx_report = r12a_ratectl_tx_complete; + sc->sc_handle_tx_report2 = rtwn_nop_softc_uint8_int; sc->sc_handle_c2h_report = r12a_handle_c2h_report; sc->sc_check_frame = r12a_check_frame_checksum; sc->sc_rf_write = r12a_rf_write; diff --git a/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c b/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c index 9b648c067c2f..59fa183fd804 100644 --- a/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c +++ b/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c @@ -190,6 +190,7 @@ r21au_attach(struct rtwn_usb_softc *uc) sc->sc_get_rssi_ofdm = r88e_get_rssi_ofdm; sc->sc_classify_intr = r12au_classify_intr; sc->sc_handle_tx_report = r12a_ratectl_tx_complete; + sc->sc_handle_tx_report2 = rtwn_nop_softc_uint8_int; sc->sc_handle_c2h_report = r12a_handle_c2h_report; sc->sc_check_frame = r12a_check_frame_checksum; sc->sc_rf_read = r12a_c_cut_rf_read; diff --git a/sys/dev/rtwn/usb/rtwn_usb_rx.c b/sys/dev/rtwn/usb/rtwn_usb_rx.c index 5db967ddcc18..657d6bdeb9e4 100644 --- a/sys/dev/rtwn/usb/rtwn_usb_rx.c +++ b/sys/dev/rtwn/usb/rtwn_usb_rx.c @@ -326,6 +326,27 @@ rtwn_report_intr(struct rtwn_usb_softc *uc, struct usb_xfer *xfer, rtwn_handle_tx_report(sc, buf, len); RTWN_NT_UNLOCK(sc); +#ifdef IEEE80211_SUPPORT_SUPERG + /* + * NB: this will executed only when 'report' bit is set. + */ + if (sc->sc_tx_n_active > 0 && --sc->sc_tx_n_active <= 1) + rtwn_cmd_sleepable(sc, NULL, 0, rtwn_ff_flush_all); +#endif + break; + case RTWN_RX_TX_REPORT2: + if (sc->sc_ratectl != RTWN_RATECTL_NET80211) { + /* shouldn't happen */ + device_printf(sc->sc_dev, + "%s called while ratectl = %d!\n", + __func__, sc->sc_ratectl); + break; + } + + RTWN_NT_LOCK(sc); + rtwn_handle_tx_report2(sc, buf, len); + RTWN_NT_UNLOCK(sc); + #ifdef IEEE80211_SUPPORT_SUPERG /* * NB: this will executed only when 'report' bit is set. From nobody Sat Dec 7 00:23:11 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4pkS2GZsz5g8yR; Sat, 07 Dec 2024 00:23:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4pkR6Qbwz4PFD; Sat, 7 Dec 2024 00:23:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733530991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOEJ2t3jgDhkJaEMuGOZB2HNtKnJi0XXjNRborjYR5o=; b=xNqyNCEgt/F5/hZiO8lUjMbsB0gjiSZ8uW4bXTH3kSBS/yJJATaf2vJnFDHZ6QFreXpnYJ 5kUkhEnvmvznVePGGdAw8Oay+M7FvAT+HrlP6c7Dxtiu17L436Mq9WDbs96oyzsijA7sN1 gjgXc0b650P3HFg3hgJLThQDmRglqnG1hYGl1GNmXh6MD+IOO8O3X5ATgSQhqvLfB34RMj a+BNw7EHpBbdrVt6HVQnj5CZPdcm0ijypFPrrMQ7tnQ3JQLefl4FncN8/lt9ioF1v5idKG Zn9FUJwW/1xWj4toXg8KRM8526gqhVLSXpHdwTWIwpJJh/P0QES6N8x193npHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733530991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JOEJ2t3jgDhkJaEMuGOZB2HNtKnJi0XXjNRborjYR5o=; b=rzyBc57iImpzvoRMYi/P1pSb42CF68MPFEKdWeRRKmVoJYg3Ob8d7rbl3p8YTyrrsv3e3w RLMNkIf79FDguhZAXD8r9bU3inkrVQEe7wOI8CGlyj2fZxFL/m8/AWN3PsG/rHvpGPXqVX 5p8SHUjVkABg8STuaPQObibRyRuEUAlku4GLWCj630mw4h50zzs0c/Mzx1+RgrKDJSevQ9 cFqDJZr/EjAklb0FVefvbVn3sllh/vkMOYL7Xx0XgFpomoxhegMIqb7VeN8DrQt9kX02Wv ZaahCC4FCi9z46OeuUx1Gl1DfgovxyzHcKuFF2CM2z3hjWR+2cR1c0iGRywrpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733530991; a=rsa-sha256; cv=none; b=njGEaYyaiKlsCc3KZPHSoECfAbsvi2GLpTvXDN2UHK11UWLGErFcrNJykZtGvLlftXKpTp VioJ8iP/YeBWMfoUZyxL0RRqsE2dFsumzvintc/5fepYkhuEyzzw8SdqJYzMpBIDK7Vjwg gXK5p6xKXOt3PaeLzmGC6algfvpQMUiBcx8EmBszboULGcCdKnTLB6lNPEbr4fqmFKXj0b nhhdyYokBR8QaIAHn8g/P+jEigHBkXBwTZoV44dVcViZ5/7xSrH5r3AO7Dq3tMSX3cmbW3 snhiBjkemA/f/SnsfjeKiztUFOqnD5wLwPGZOfgUe9mOzPieHYLZQLIO4xETIw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4pkR5yr5z10vx; Sat, 7 Dec 2024 00:23: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 4B70NBQn094360; Sat, 7 Dec 2024 00:23:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B70NBDI094357; Sat, 7 Dec 2024 00:23:11 GMT (envelope-from git) Date: Sat, 7 Dec 2024 00:23:11 GMT Message-Id: <202412070023.4B70NBDI094357@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: c3c2f0ddd818 - main - rtwn: add missing iv_ampdu_limit List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c3c2f0ddd818b7a10e44399985b4cd2bef6dd3cd Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=c3c2f0ddd818b7a10e44399985b4cd2bef6dd3cd commit c3c2f0ddd818b7a10e44399985b4cd2bef6dd3cd Author: Adrian Chadd AuthorDate: 2024-12-04 04:19:48 +0000 Commit: Adrian Chadd CommitDate: 2024-12-07 00:22:54 +0000 rtwn: add missing iv_ampdu_limit This explicitly sets it rather than defaulting to the RX value. Differential Revision: https://reviews.freebsd.org/D47895 --- sys/dev/rtwn/if_rtwn.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c index 3d0dce516f84..d4b45aa9eea7 100644 --- a/sys/dev/rtwn/if_rtwn.c +++ b/sys/dev/rtwn/if_rtwn.c @@ -574,6 +574,7 @@ rtwn_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], int unit, /* 802.11n parameters */ vap->iv_ampdu_density = IEEE80211_HTCAP_MPDUDENSITY_16; vap->iv_ampdu_rxmax = IEEE80211_HTCAP_MAXRXAMPDU_64K; + vap->iv_ampdu_limit = IEEE80211_HTCAP_MAXRXAMPDU_64K; TIMEOUT_TASK_INIT(taskqueue_thread, &uvp->tx_beacon_csa, 0, rtwn_tx_beacon_csa, vap); From nobody Sat Dec 7 01:57:06 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4rpp57dHz5gHt6; Sat, 07 Dec 2024 01:57:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4rpp4cdbz4jkT; Sat, 7 Dec 2024 01:57:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733536626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aJEIfVmk2CoAae8qBOfBemtiMyjs+BtPq7Zb9W2zlmU=; b=kvWDfwiouQZx5k0LeNUunVCvgfvLGkeY0UltJwbwd21sQK8hW8lHL64jMAlxwSestJ06Kv RY0kg3kpMEASF6rG7a8xkyNrF4pLwytTH5B9Mynlh999ps3LRtr2TA8ulcEqHPtl9ys8Hg VEcJU52KE6IY30YhhOHqtlXDxF7ild9wecadTRhLKYP0UzKcEQDyE1sXYSGz9CnI0O34KL OdKGnICuL64SOSpXht0H0H6GE2nuJy958HjFKryPHan7RvwpeLgJOIW3OX/EeYuun/uihn PqAQXDzFt0pwsSI33z5tO7RKZODAp2ATrliS6vWtpEly/MUIR/qhoz6M2eROuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733536626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aJEIfVmk2CoAae8qBOfBemtiMyjs+BtPq7Zb9W2zlmU=; b=xD6OncBnUZmKM4yR4jMlCXmpkgvocMq/fmihCU16MokUUnCDEl5WIOxddMsWjiIp7E80GR tO+kqnB/ua/PlzUTDP5MNg43ltV5ZFY5bI/ExzsEUnMYF/gB8a67EAu7uo1L1jCKmiEHRf 0In1i+SXCfGsEvBcnt99RJR1sTUs4rFphe9CgNg30K1Srk0kIr67cazsoZHYDaG8dTkRO0 5P9c3rZuiQZ/LWv1nZ/0P1JiZUtmF1pi4j+H7ix8lWJRJBSNqdOr5LUR3Ru4QxGt/BH2qk p6lxWzmO7++PPhamy1kaYsRJz+3g0LAUil4oWM0FyHB6od2bQUEEr//pnrjMug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733536626; a=rsa-sha256; cv=none; b=o7AVaN4/HaRUlq+uMcRFZDNfkFm/ZEWeR5gxFXrVRZgUH8A2r+w0hvdmKG+qK2ZI9tiuXa Cr7/XpnfIsprv3jmjeorzmIVfDK3+7lefKwZehZil++q5SeT2LRFetdpoirzASu/2c7gNV wIK8KqgZFH3zXylV+WKuQgmjLJ1XVL9fqHUJ3LKb4v1n3PmS/csOR27esckrQ1GCMo0X+x 162oSSDFubqs4yRn1L1RTnm3AL1/A6T6dPP1g+QEY4N9nbg2ITSTN8DKVQmnyfXFX5r1Eu 5gsR/pEHqvGjqQv8iYFuk1paiDiOaZHqtcgb+AVKvi0kmNs9Puupr19OGBBetg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4rpp46kyz13Dl; Sat, 7 Dec 2024 01:57: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 4B71v61Z062105; Sat, 7 Dec 2024 01:57:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B71v6BZ062102; Sat, 7 Dec 2024 01:57:06 GMT (envelope-from git) Date: Sat, 7 Dec 2024 01:57:06 GMT Message-Id: <202412070157.4B71v6BZ062102@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: 53adc0b898a4 - main - amdiommu: correctly initialize iommu.unit List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 53adc0b898a4d263cad0bdfb687d9f008e5768f3 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=53adc0b898a4d263cad0bdfb687d9f008e5768f3 commit 53adc0b898a4d263cad0bdfb687d9f008e5768f3 Author: Konstantin Belousov AuthorDate: 2024-12-06 08:06:42 +0000 Commit: Konstantin Belousov CommitDate: 2024-12-07 01:54:01 +0000 amdiommu: correctly initialize iommu.unit The field is mostly used for display, and should match device unit, not BIOS IVHD device id, which is deprecated and is practically zero. Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 3 days --- sys/x86/iommu/amd_drv.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sys/x86/iommu/amd_drv.c b/sys/x86/iommu/amd_drv.c index 4d7db52a4acd..0712a2a2225f 100644 --- a/sys/x86/iommu/amd_drv.c +++ b/sys/x86/iommu/amd_drv.c @@ -176,7 +176,6 @@ ivrs_lookup_ivhd_0x40(ACPI_IVRS_HARDWARE2 *h2, void *arg) return (false); ildp->sc->unit_dom = h2->PciSegmentGroup; - ildp->sc->iommu.unit = ivrs_info_to_unit_id(h2->Info); ildp->sc->efr = h2->EfrRegisterImage; return (true); } @@ -194,7 +193,6 @@ ivrs_lookup_ivhd_0x10(ACPI_IVRS_HARDWARE1 *h1, void *arg) return (false); ildp->sc->unit_dom = h1->PciSegmentGroup; - ildp->sc->iommu.unit = ivrs_info_to_unit_id(h1->Info); return (true); } @@ -456,6 +454,7 @@ amdiommu_attach(device_t dev) bool res; sc = device_get_softc(dev); + sc->iommu.unit = device_get_unit(dev); sc->iommu.dev = dev; error = pci_find_cap(dev, PCIY_SECDEV, &sc->seccap_reg); From nobody Sat Dec 7 07:14:54 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4zsV4yzTz5gflK; Sat, 07 Dec 2024 07:14:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4zsV3vXmz49ff; Sat, 7 Dec 2024 07:14:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jj1WnZKG2SwFYDhTULZc3Lp+TKOIvz4kGcQR87z7ihc=; b=dzUL3IPpXyHwP+BDnYYuceloTMPBi2Q6bJlqFU+18tshF8UTsQuohBdCWNlK945OjG1LV+ 31jwFBmr2b1ldHfIJd4NECh4LMXaaSKGZXV+7LmYJEPfILQGIRWoYlUagBvTFKpeRrWTiG E/rTJabBsB9nC2uI1P8JEkxTdzpEHRaQt9tftfJM2+cZgTtSy1w6h+40mhlh1ffayUi9Rl YZJ8QCR3F77XP2tgyRv5SHAscDyubOyVPEJTAJmjOz3EQzrm2HNXLFBjUUqKwOHKM3ouf8 YAEVi0mRaciCpipqsMlpjoV8/C6Qm/JFe6juq+OSK8JYrFQZhRW5j1WsV7Cvaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555694; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jj1WnZKG2SwFYDhTULZc3Lp+TKOIvz4kGcQR87z7ihc=; b=E4eNV+ZAvx7UbB/g84Qs1DKXlFQuUPrT5GuLF5ZBS98ORUHMSUqGsyLUnoIdd1Zojhvbv3 gzKJXj2fNMa4hKLu5RsJqIgUJckb4kU1/AbBZlDdfMACFl6GQnhl/nps2rcK9WGzrzpIVC SjS21gK1RPHGzaZX6YIwf/M9S7LPlLH2QqnVlC4dB1C7m2R4Fkm5zuqbmXXn8lRuXH1Hej 9Iitxts8U9UWN/72Ag1tJZxj9HBsHuId+BbxMxKg+C8FGZ1wrLGEynIzUyII8gHCcdKSHO JZfPtiTkGaFIdCObeJqXMUpPU/ss2iz2Dpn8Y4kNsSSnxvKKPK/5nS5oVSOaZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733555694; a=rsa-sha256; cv=none; b=ohLcW2wq3QIfbbga6eLvHfOzDJRvPDN9gL+ws/0tXn7oBq9yGVvi7aG53uMbcPXiUw6T07 LEqO2IRNy8FTC8S83MOOuAfqeBBrqTJquaqn8WM1wPavR3S4GLh2Hn9bmVEJtQ8P3OSTcc pgOL591nxVfoUdnOjpVDMsDoU8dGV9TTwFMtAhNJ0/sMBw/W3BvRso2EedeLy8XM5i7L9p 7Cu/Zo1W4yU+LN8jplcuFLlgkvSYTJxgM3gJmsLOt1gowZLTZjwWRpI/ArNTy43hA98cjs Cnz8lLPQLOhW2p5TBIPdodtkh+7qqXEj7/rPtWqjh2F0uJcFTAtK12b4Fh257Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4zsV3WBfz1Cq8; Sat, 7 Dec 2024 07:14:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B77EsPP058355; Sat, 7 Dec 2024 07:14:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B77Eswu058352; Sat, 7 Dec 2024 07:14:54 GMT (envelope-from git) Date: Sat, 7 Dec 2024 07:14:54 GMT Message-Id: <202412070714.4B77Eswu058352@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: 3d69926189f5 - main - rtwn: expand the ridx numbers to include VHT; add accessor macros List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 3d69926189f5ee72b3c762d27661a45d883909a2 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=3d69926189f5ee72b3c762d27661a45d883909a2 commit 3d69926189f5ee72b3c762d27661a45d883909a2 Author: Adrian Chadd AuthorDate: 2024-12-04 04:45:48 +0000 Commit: Adrian Chadd CommitDate: 2024-12-07 07:13:50 +0000 rtwn: expand the ridx numbers to include VHT; add accessor macros * expand the ridx field all the way through 4x4 11n (MCS0..MCS31) * and then expand it through VHT 4x4 (MCS0..9 for each stream) * add accessor macros to check if the rate is HT, VHT * use accessor macros to check if the rate is HT rather than comparing it against OFDM54 or RIDX_HT_MCS(0); the values aobve HT MCS will be VHT, and we don't want to trigger on those! * add a couple of appropriate TODO VHT bits in the TX path Locally tested: * RTL8192CU, STA mode * RTL8188EU, STA mode * RTL8821AU, STA mode * RTL8192EU, STA mode Differential Revision: https://reviews.freebsd.org/D47896 --- sys/dev/rtwn/if_rtwn_ridx.h | 35 ++++++++++++++++++++++++++++++----- sys/dev/rtwn/rtl8188e/r88e_chan.c | 2 +- sys/dev/rtwn/rtl8188e/r88e_rx.c | 5 ++--- sys/dev/rtwn/rtl8192c/r92c_chan.c | 4 ++-- sys/dev/rtwn/rtl8192c/r92c_fw.c | 4 ++-- sys/dev/rtwn/rtl8192c/r92c_rx.c | 8 ++++---- sys/dev/rtwn/rtl8192c/r92c_tx.c | 4 ++-- sys/dev/rtwn/rtl8192e/r92e_chan.c | 2 +- sys/dev/rtwn/rtl8812a/r12a_rx.c | 13 ++++++------- sys/dev/rtwn/rtl8812a/r12a_tx.c | 6 ++++-- 10 files changed, 54 insertions(+), 29 deletions(-) diff --git a/sys/dev/rtwn/if_rtwn_ridx.h b/sys/dev/rtwn/if_rtwn_ridx.h index dd93f2db4ccf..6193f9ee2cad 100644 --- a/sys/dev/rtwn/if_rtwn_ridx.h +++ b/sys/dev/rtwn/if_rtwn_ridx.h @@ -22,6 +22,11 @@ #define IF_RTWN_RIDX_H /* HW rate indices. */ + +/* + * Note - these are also used as offsets into the TX power table + * array. + */ #define RTWN_RIDX_CCK1 0 #define RTWN_RIDX_CCK2 1 #define RTWN_RIDX_CCK55 2 @@ -37,13 +42,34 @@ #define RTWN_RIDX_HT_MCS_SHIFT 12 #define RTWN_RIDX_HT_MCS(i) (RTWN_RIDX_HT_MCS_SHIFT + (i)) +#define RTWN_RIDX_TO_MCS(ridx) ((ridx) - RTWN_RIDX_HT_MCS_SHIFT) + +/* HT supports up to MCS31, so goes from 12 -> 43 */ + +#define RTWN_RIDX_LEGACY_HT_COUNT 44 + +/* + * VHT supports MCS0..9 for up to 4 spatial streams, so + * goes from 44 -> 83. + */ +#define RTWN_RIDX_VHT_MCS_SHIFT 44 +#define RTWN_RIDX_VHT_MCS(s, i) (RTWN_RIDX_VHT_MCS_SHIFT + ((10*s) + i)) + +/* + * The total amount of rate indexes, CCK, OFDM, HT MCS0..31, + * VHT MCS0..9 for 1-4 streams. + */ +#define RTWN_RIDX_COUNT 84 -#define RTWN_RIDX_COUNT 28 #define RTWN_RIDX_UNKNOWN (uint8_t)-1 -#define RTWN_RATE_IS_CCK(rate) ((rate) <= RTWN_RIDX_CCK11) +#define RTWN_RATE_IS_CCK(rate) ((rate) <= RTWN_RIDX_CCK11) #define RTWN_RATE_IS_OFDM(rate) \ - ((rate) >= RTWN_RIDX_OFDM6 && (rate) != RTWN_RIDX_UNKNOWN) + ((rate) >= RTWN_RIDX_OFDM6 && (rate) <= RTWN_RIDX_OFDM54) +#define RTWN_RATE_IS_HT(rate) \ + ((rate) >= RTWN_RIDX_HT_MCS_SHIFT && (rate) < RTWN_RIDX_VHT_MCS_SHIFT) +#define RTWN_RATE_IS_VHT(rate) \ + ((rate) >= RTWN_RIDX_VHT_MCS_SHIFT && (rate) <= RTWN_RIDX_COUNT) static const uint8_t ridx2rate[] = { 2, 4, 11, 22, 12, 18, 24, 36, 48, 72, 96, 108 }; @@ -80,8 +106,7 @@ rtwn_ctl_mcsrate(const struct ieee80211_rate_table *rt, uint8_t ridx) uint8_t cix, rate; /* Check if we are using MCS rate. */ - KASSERT(ridx >= RTWN_RIDX_HT_MCS(0) && ridx != RTWN_RIDX_UNKNOWN, - ("bad mcs rate index %d", ridx)); + KASSERT(RTWN_RATE_IS_HT(ridx), ("bad mcs rate index %d", ridx)); rate = (ridx - RTWN_RIDX_HT_MCS(0)) | IEEE80211_RATE_MCS; cix = rt->info[rt->rateCodeToIndex[rate]].ctlRateIndex; diff --git a/sys/dev/rtwn/rtl8188e/r88e_chan.c b/sys/dev/rtwn/rtl8188e/r88e_chan.c index c072b3554083..51474bc1b819 100644 --- a/sys/dev/rtwn/rtl8188e/r88e_chan.c +++ b/sys/dev/rtwn/rtl8188e/r88e_chan.c @@ -99,7 +99,7 @@ r88e_get_txpower(struct rtwn_softc *sc, int chain, /* XXX net80211 regulatory */ max_mcs = RTWN_RIDX_HT_MCS(sc->ntxchains * 8 - 1); - KASSERT(max_mcs <= RTWN_RIDX_COUNT, ("increase ridx limit\n")); + KASSERT(max_mcs <= RTWN_RIDX_LEGACY_HT_COUNT, ("increase ridx limit\n")); /* Compute per-CCK rate Tx power. */ cckpow = rt->cck_tx_pwr[group]; diff --git a/sys/dev/rtwn/rtl8188e/r88e_rx.c b/sys/dev/rtwn/rtl8188e/r88e_rx.c index 826076c8071c..287869885b86 100644 --- a/sys/dev/rtwn/rtl8188e/r88e_rx.c +++ b/sys/dev/rtwn/rtl8188e/r88e_rx.c @@ -120,9 +120,8 @@ r88e_ratectl_tx_complete(struct rtwn_softc *sc, uint8_t *buf, int len) txs.flags = IEEE80211_RATECTL_STATUS_LONG_RETRY | IEEE80211_RATECTL_STATUS_FINAL_RATE; txs.long_retries = ntries; - if (rpt->final_rate > RTWN_RIDX_OFDM54) { /* MCS */ - txs.final_rate = - rpt->final_rate - RTWN_RIDX_HT_MCS_SHIFT; + if (RTWN_RATE_IS_HT(rpt->final_rate)) { /* MCS */ + txs.final_rate = RTWN_RIDX_TO_MCS(rpt->final_rate); txs.final_rate |= IEEE80211_RATE_MCS; } else txs.final_rate = ridx2rate[rpt->final_rate]; diff --git a/sys/dev/rtwn/rtl8192c/r92c_chan.c b/sys/dev/rtwn/rtl8192c/r92c_chan.c index 0edb32a97b4d..55d73c934f1e 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_chan.c +++ b/sys/dev/rtwn/rtl8192c/r92c_chan.c @@ -97,13 +97,13 @@ r92c_get_txpower(struct rtwn_softc *sc, int chain, /* XXX net80211 regulatory */ max_mcs = RTWN_RIDX_HT_MCS(sc->ntxchains * 8 - 1); - KASSERT(max_mcs <= RTWN_RIDX_COUNT, ("increase ridx limit\n")); + KASSERT(max_mcs <= RTWN_RIDX_LEGACY_HT_COUNT, ("increase ridx limit\n")); if (rs->regulatory == 0) { for (ridx = RTWN_RIDX_CCK1; ridx <= RTWN_RIDX_CCK11; ridx++) power[ridx] = base[chain].pwr[0][ridx]; } - for (ridx = RTWN_RIDX_OFDM6; ridx < RTWN_RIDX_COUNT; ridx++) { + for (ridx = RTWN_RIDX_OFDM6; ridx < RTWN_RIDX_LEGACY_HT_COUNT; ridx++) { if (rs->regulatory == 3) { power[ridx] = base[chain].pwr[0][ridx]; /* Apply vendor limits. */ diff --git a/sys/dev/rtwn/rtl8192c/r92c_fw.c b/sys/dev/rtwn/rtl8192c/r92c_fw.c index 5ab56a5f454e..e611e5addeb3 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_fw.c +++ b/sys/dev/rtwn/rtl8192c/r92c_fw.c @@ -195,9 +195,9 @@ r92c_send_ra_cmd(struct rtwn_softc *sc, int macid, uint32_t rates, #endif /* Set rates mask for unicast frames. */ - if (maxrate >= RTWN_RIDX_HT_MCS(0)) + if (RTWN_RATE_IS_HT(maxrate)) mode = R92C_RAID_11GN; - else if (maxrate >= RTWN_RIDX_OFDM6) + else if (RTWN_RATE_IS_OFDM(maxrate)) mode = R92C_RAID_11BG; else mode = R92C_RAID_11B; diff --git a/sys/dev/rtwn/rtl8192c/r92c_rx.c b/sys/dev/rtwn/rtl8192c/r92c_rx.c index 72f726a24550..9af3b1ebc2c9 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_rx.c +++ b/sys/dev/rtwn/rtl8192c/r92c_rx.c @@ -121,7 +121,7 @@ r92c_get_rx_stats(struct rtwn_softc *sc, struct ieee80211_rx_stats *rxs, rxs->c_pktflags |= IEEE80211_RX_F_AMPDU; else if (rxdw1 & R92C_RXDW1_AMPDU_MORE) rxs->c_pktflags |= IEEE80211_RX_F_AMPDU_MORE; - if ((rxdw3 & R92C_RXDW3_SPLCP) && rate >= RTWN_RIDX_HT_MCS(0)) + if ((rxdw3 & R92C_RXDW3_SPLCP) && RTWN_RATE_IS_HT(rate)) rxs->c_pktflags |= IEEE80211_RX_F_SHORTGI; if (rxdw3 & R92C_RXDW3_HT40) @@ -131,13 +131,13 @@ r92c_get_rx_stats(struct rtwn_softc *sc, struct ieee80211_rx_stats *rxs, if (RTWN_RATE_IS_CCK(rate)) rxs->c_phytype = IEEE80211_RX_FP_11B; - else if (rate < RTWN_RIDX_HT_MCS(0)) + else if (RTWN_RATE_IS_OFDM(rate)) rxs->c_phytype = IEEE80211_RX_FP_11G; else rxs->c_phytype = IEEE80211_RX_FP_11NG; /* Map HW rate index to 802.11 rate. */ - if (rate < RTWN_RIDX_HT_MCS(0)) { + if (RTWN_RATE_IS_CCK(rate) || RTWN_RATE_IS_OFDM(rate)) { rxs->c_rate = ridx2rate[rate]; if (RTWN_RATE_IS_CCK(rate)) rxs->c_pktflags |= IEEE80211_RX_F_CCK; @@ -145,7 +145,7 @@ r92c_get_rx_stats(struct rtwn_softc *sc, struct ieee80211_rx_stats *rxs, rxs->c_pktflags |= IEEE80211_RX_F_OFDM; } else { /* MCS0~15. */ rxs->c_rate = - IEEE80211_RATE_MCS | (rate - RTWN_RIDX_HT_MCS_SHIFT); + IEEE80211_RATE_MCS | (RTWN_RIDX_TO_MCS(rate)); rxs->c_pktflags |= IEEE80211_RX_F_HT; } } diff --git a/sys/dev/rtwn/rtl8192c/r92c_tx.c b/sys/dev/rtwn/rtl8192c/r92c_tx.c index 8a4c6581832b..9583a7e1119e 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_tx.c +++ b/sys/dev/rtwn/rtl8192c/r92c_tx.c @@ -95,7 +95,7 @@ r92c_tx_protection(struct rtwn_softc *sc, struct r92c_tx_desc *txd, if (mode == IEEE80211_PROT_CTSONLY || mode == IEEE80211_PROT_RTSCTS) { - if (ridx >= RTWN_RIDX_HT_MCS(0)) + if (RTWN_RATE_IS_HT(ridx)) rate = rtwn_ctl_mcsrate(ic->ic_rt, ridx); else rate = ieee80211_ctl_rate(ic->ic_rt, ridx2rate[ridx]); @@ -314,7 +314,7 @@ r92c_fill_tx_desc(struct rtwn_softc *sc, struct ieee80211_node *ni, txd->txdw4 |= htole32(R92C_TXDW4_DATA_SHPRE); prot = IEEE80211_PROT_NONE; - if (ridx >= RTWN_RIDX_HT_MCS(0)) { + if (RTWN_RATE_IS_HT(ridx)) { r92c_tx_set_ht40(sc, txd, ni); r92c_tx_set_sgi(sc, txd, ni); prot = ic->ic_htprotmode; diff --git a/sys/dev/rtwn/rtl8192e/r92e_chan.c b/sys/dev/rtwn/rtl8192e/r92e_chan.c index b28462873c09..c6e911309cd2 100644 --- a/sys/dev/rtwn/rtl8192e/r92e_chan.c +++ b/sys/dev/rtwn/rtl8192e/r92e_chan.c @@ -137,7 +137,7 @@ r92e_get_txpower(struct rtwn_softc *sc, int chain, struct ieee80211_channel *c, if (sc->sc_debug & RTWN_DEBUG_TXPWR) { /* Dump per-rate Tx power values. */ printf("Tx power for chain %d:\n", chain); - for (ridx = RTWN_RIDX_CCK1; ridx < RTWN_RIDX_COUNT; ridx++) + for (ridx = RTWN_RIDX_CCK1; ridx < RTWN_RIDX_LEGACY_HT_COUNT; ridx++) printf("Rate %d = %u\n", ridx, power[ridx]); } #endif diff --git a/sys/dev/rtwn/rtl8812a/r12a_rx.c b/sys/dev/rtwn/rtl8812a/r12a_rx.c index 763397636ac9..482e4ee38c81 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_rx.c +++ b/sys/dev/rtwn/rtl8812a/r12a_rx.c @@ -107,9 +107,8 @@ r12a_ratectl_tx_complete(struct rtwn_softc *sc, uint8_t *buf, int len) txs.flags = IEEE80211_RATECTL_STATUS_LONG_RETRY | IEEE80211_RATECTL_STATUS_FINAL_RATE; txs.long_retries = ntries; - if (rpt->final_rate > RTWN_RIDX_OFDM54) { /* MCS */ - txs.final_rate = - rpt->final_rate - RTWN_RIDX_HT_MCS_SHIFT; + if (RTWN_RATE_IS_HT(rpt->final_rate)) { /* MCS */ + txs.final_rate = RTWN_RIDX_TO_MCS(rpt->final_rate); txs.final_rate |= IEEE80211_RATE_MCS; } else txs.final_rate = ridx2rate[rpt->final_rate]; @@ -247,7 +246,7 @@ r12a_get_rx_stats(struct rtwn_softc *sc, struct ieee80211_rx_stats *rxs, rxs->c_pktflags |= IEEE80211_RX_F_AMPDU_MORE; } - if ((rxdw4 & R12A_RXDW4_SPLCP) && rate >= RTWN_RIDX_HT_MCS(0)) + if ((rxdw4 & R12A_RXDW4_SPLCP) && RTWN_RATE_IS_HT(rate)) rxs->c_pktflags |= IEEE80211_RX_F_SHORTGI; switch (MS(rxdw4, R12A_RXDW4_BW)) { @@ -273,7 +272,7 @@ r12a_get_rx_stats(struct rtwn_softc *sc, struct ieee80211_rx_stats *rxs, /* XXX check with RTL8812AU */ is5ghz = (physt->cfosho[2] != 0x01); - if (rate < RTWN_RIDX_HT_MCS(0)) { + if (RTWN_RATE_IS_CCK(rate) || RTWN_RATE_IS_OFDM(rate)) { if (is5ghz) rxs->c_phytype = IEEE80211_RX_FP_11A; else @@ -287,7 +286,7 @@ r12a_get_rx_stats(struct rtwn_softc *sc, struct ieee80211_rx_stats *rxs, } /* Map HW rate index to 802.11 rate. */ - if (rate < RTWN_RIDX_HT_MCS(0)) { + if (RTWN_RATE_IS_CCK(rate) || RTWN_RATE_IS_OFDM(rate)) { rxs->c_rate = ridx2rate[rate]; if (RTWN_RATE_IS_CCK(rate)) rxs->c_pktflags |= IEEE80211_RX_F_CCK; @@ -296,7 +295,7 @@ r12a_get_rx_stats(struct rtwn_softc *sc, struct ieee80211_rx_stats *rxs, } else { /* MCS0~15. */ /* TODO: VHT rates */ rxs->c_rate = - IEEE80211_RATE_MCS | (rate - RTWN_RIDX_HT_MCS_SHIFT); + IEEE80211_RATE_MCS | RTWN_RIDX_TO_MCS(rate); rxs->c_pktflags |= IEEE80211_RX_F_HT; } diff --git a/sys/dev/rtwn/rtl8812a/r12a_tx.c b/sys/dev/rtwn/rtl8812a/r12a_tx.c index 8b16be17f8eb..822416a09618 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_tx.c +++ b/sys/dev/rtwn/rtl8812a/r12a_tx.c @@ -103,7 +103,8 @@ r12a_tx_protection(struct rtwn_softc *sc, struct r12a_tx_desc *txd, if (mode == IEEE80211_PROT_CTSONLY || mode == IEEE80211_PROT_RTSCTS) { - if (ridx >= RTWN_RIDX_HT_MCS(0)) + /* TODO: VHT */ + if (RTWN_RATE_IS_HT(ridx)) rate = rtwn_ctl_mcsrate(ic->ic_rt, ridx); else rate = ieee80211_ctl_rate(ic->ic_rt, ridx2rate[ridx]); @@ -325,7 +326,8 @@ r12a_fill_tx_desc(struct rtwn_softc *sc, struct ieee80211_node *ni, txd->txdw5 |= htole32(R12A_TXDW5_DATA_SHORT); prot = IEEE80211_PROT_NONE; - if (ridx >= RTWN_RIDX_HT_MCS(0)) { + /* TODO: VHT */ + if (RTWN_RATE_IS_HT(ridx)) { r12a_tx_set_ht40(sc, txd, ni); r12a_tx_set_sgi(sc, txd, ni); r12a_tx_set_ldpc(sc, txd, ni); From nobody Sat Dec 7 07:14:55 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4zsX06FDz5gfWg; Sat, 07 Dec 2024 07:14:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4zsW4wWfz49Ly; Sat, 7 Dec 2024 07:14:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZwoPWjfA6ybzCvY3pfFcQTgyDOjlS1vRmCUpfaVcTUk=; b=XUziTSfCR0GqveyuwcqtbBbg+2mDwoiPOmHYrUv+5C6/nzOZv2DIEfQVM/s+FtYR9u2PMW MYW2OwzBvX2+skGlYMBizTbZvqGu6D3kkpVYXGfTSyZaugNaAmnxe0F8FH3F9gr2xyKV0i zu225/n/DVVO+i0cBvY2+Be82TrIb7ZfyEo2BeLb2il/5YaXOp/qYBngTcyoZg7Ye9R6H5 45xHiDiiV8aHk1Q7ET0uZYAVTrtfkxBZHgyQqtixiKoJtcww5UKDTk4C9CPa/cdj7QKiwi 3ajyercKrziQOPrQNADOf+V2q8J5nENG2RGfJuNa3G17FWrjv3+LzKM5/waURQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555695; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZwoPWjfA6ybzCvY3pfFcQTgyDOjlS1vRmCUpfaVcTUk=; b=Hu0bncpSFtnMi4SexhB1PM16uLfSuKend1VeJCtz/ZFGg5i6PiBkFYpL1wHPoJ3wpaKKxn 48n1NUIYIfe6jvYSSfXMZpJfZzVMj3nGp+boo4zHXUosErd5IyZa95ExyXT9LHudV9QTVJ Z1kvb7Dtq2IY3X7iJiWWEHoXS0GqpzeEVbiYmE8cxKfI97okuM7ZAyRutVJTFTJW0QNVSn ebHfbcAMZ1m+wjvnBm2Qy0kLeQznCpif3I0PrXBEdz0H3nBMd28ESOQF2/W4U2WNrMQo/e ersm+w+RNuhPw+DeWomeNq3MGkHpgtDZLJBMf42EAm0XdxOvN50+3CZkvYVR+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733555695; a=rsa-sha256; cv=none; b=ZxCJ7WeZHQRrqur3rB3/yNbntPpq2jW6s7JOYzJ7pkHrUc0bgbz76sSkzGPNfNIMWTFsB6 g9uSBNvrew5Bn93/ctR9vjbFOiy9ItvPiipbVzmQldiwHTl6xpgXuOzUN4HWECRm3WaeOG bvz3kzcUz4reQgiOZ2BFeRUccg0t9jSqgG7dutGHXJxXNL4VdDufgLPwR4RU+ioCety3Gw kRemGtD18nqRhUiJc2zbIDtm01PgVAKYggwRQ8j143OoOljGsiD50NC17s6kmCKMTOZFGL AWs1290gR4QdeEJ3UsVrZgxuRKMs+sQLDTHembIj60Ab+yaNMfCa1x9TxWWZxg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4zsW4X5hz1Ckm; Sat, 7 Dec 2024 07:14: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 4B77Etnh058406; Sat, 7 Dec 2024 07:14:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B77EtOQ058403; Sat, 7 Dec 2024 07:14:55 GMT (envelope-from git) Date: Sat, 7 Dec 2024 07:14:55 GMT Message-Id: <202412070714.4B77EtOQ058403@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: 468cd606239e - main - rtwn: refactor out the rtl8812/rtl8821 tx power programming List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 468cd606239e4f32aceb2f0aa2bcf01424b418a4 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=468cd606239e4f32aceb2f0aa2bcf01424b418a4 commit 468cd606239e4f32aceb2f0aa2bcf01424b418a4 Author: Adrian Chadd AuthorDate: 2024-12-04 05:11:54 +0000 Commit: Adrian Chadd CommitDate: 2024-12-07 07:13:59 +0000 rtwn: refactor out the rtl8812/rtl8821 tx power programming In preparation for the VHT TX power programming, refactor out the CCK, OFDM and HT programming into their own routines. Locally tested: * RTL8821AU, STA mode --- sys/dev/rtwn/rtl8812a/r12a_chan.c | 66 ++++++++++++++++++++++++++------------- 1 file changed, 45 insertions(+), 21 deletions(-) diff --git a/sys/dev/rtwn/rtl8812a/r12a_chan.c b/sys/dev/rtwn/rtl8812a/r12a_chan.c index 6bad6345f27f..517d96bb06cf 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_chan.c +++ b/sys/dev/rtwn/rtl8812a/r12a_chan.c @@ -60,30 +60,10 @@ #include static void -r12a_write_txpower(struct rtwn_softc *sc, int chain, +r12a_write_txpower_ht(struct rtwn_softc *sc, int chain, struct ieee80211_channel *c, uint8_t power[RTWN_RIDX_COUNT]) { - if (IEEE80211_IS_CHAN_2GHZ(c)) { - /* Write per-CCK rate Tx power. */ - rtwn_bb_write(sc, R12A_TXAGC_CCK11_1(chain), - SM(R12A_TXAGC_CCK1, power[RTWN_RIDX_CCK1]) | - SM(R12A_TXAGC_CCK2, power[RTWN_RIDX_CCK2]) | - SM(R12A_TXAGC_CCK55, power[RTWN_RIDX_CCK55]) | - SM(R12A_TXAGC_CCK11, power[RTWN_RIDX_CCK11])); - } - - /* Write per-OFDM rate Tx power. */ - rtwn_bb_write(sc, R12A_TXAGC_OFDM18_6(chain), - SM(R12A_TXAGC_OFDM06, power[RTWN_RIDX_OFDM6]) | - SM(R12A_TXAGC_OFDM09, power[RTWN_RIDX_OFDM9]) | - SM(R12A_TXAGC_OFDM12, power[RTWN_RIDX_OFDM12]) | - SM(R12A_TXAGC_OFDM18, power[RTWN_RIDX_OFDM18])); - rtwn_bb_write(sc, R12A_TXAGC_OFDM54_24(chain), - SM(R12A_TXAGC_OFDM24, power[RTWN_RIDX_OFDM24]) | - SM(R12A_TXAGC_OFDM36, power[RTWN_RIDX_OFDM36]) | - SM(R12A_TXAGC_OFDM48, power[RTWN_RIDX_OFDM48]) | - SM(R12A_TXAGC_OFDM54, power[RTWN_RIDX_OFDM54])); /* Write per-MCS Tx power. */ rtwn_bb_write(sc, R12A_TXAGC_MCS3_0(chain), SM(R12A_TXAGC_MCS0, power[RTWN_RIDX_HT_MCS(0)]) | @@ -108,6 +88,50 @@ r12a_write_txpower(struct rtwn_softc *sc, int chain, SM(R12A_TXAGC_MCS15, power[RTWN_RIDX_HT_MCS(15)])); } + /* TODO: HT MCS 16 -> 31 */ +} + +static void +r12a_write_txpower_cck(struct rtwn_softc *sc, int chain, + struct ieee80211_channel *c, uint8_t power[RTWN_RIDX_COUNT]) +{ + + if (IEEE80211_IS_CHAN_2GHZ(c)) { + /* Write per-CCK rate Tx power. */ + rtwn_bb_write(sc, R12A_TXAGC_CCK11_1(chain), + SM(R12A_TXAGC_CCK1, power[RTWN_RIDX_CCK1]) | + SM(R12A_TXAGC_CCK2, power[RTWN_RIDX_CCK2]) | + SM(R12A_TXAGC_CCK55, power[RTWN_RIDX_CCK55]) | + SM(R12A_TXAGC_CCK11, power[RTWN_RIDX_CCK11])); + } +} + +static void +r12a_write_txpower_ofdm(struct rtwn_softc *sc, int chain, + struct ieee80211_channel *c, uint8_t power[RTWN_RIDX_COUNT]) +{ + + /* Write per-OFDM rate Tx power. */ + rtwn_bb_write(sc, R12A_TXAGC_OFDM18_6(chain), + SM(R12A_TXAGC_OFDM06, power[RTWN_RIDX_OFDM6]) | + SM(R12A_TXAGC_OFDM09, power[RTWN_RIDX_OFDM9]) | + SM(R12A_TXAGC_OFDM12, power[RTWN_RIDX_OFDM12]) | + SM(R12A_TXAGC_OFDM18, power[RTWN_RIDX_OFDM18])); + rtwn_bb_write(sc, R12A_TXAGC_OFDM54_24(chain), + SM(R12A_TXAGC_OFDM24, power[RTWN_RIDX_OFDM24]) | + SM(R12A_TXAGC_OFDM36, power[RTWN_RIDX_OFDM36]) | + SM(R12A_TXAGC_OFDM48, power[RTWN_RIDX_OFDM48]) | + SM(R12A_TXAGC_OFDM54, power[RTWN_RIDX_OFDM54])); +} + +static void +r12a_write_txpower(struct rtwn_softc *sc, int chain, + struct ieee80211_channel *c, uint8_t power[RTWN_RIDX_COUNT]) +{ + + r12a_write_txpower_cck(sc, chain, c, power); + r12a_write_txpower_ofdm(sc, chain, c, power); + r12a_write_txpower_ht(sc, chain, c, power); /* TODO: VHT rates */ } From nobody Sat Dec 7 07:14:56 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4zsY0nZCz5gfNy; Sat, 07 Dec 2024 07:14:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4zsX5J2fz49M2; Sat, 7 Dec 2024 07:14:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555696; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lpUSUYrRZSPH4M7sNdc9hJsdVA/hLTaOpGV4gGBAyig=; b=xYaigXHKu/d0oA24vdr9Px5b1q944dRBcepDmQpsadrmBaSaexe3Xp3fGjj2TUgkpo+4C1 LpYbMl/5V0+U8NqD2TUitq6fbBmxK219Zthq/C8pjIuTGXy3D3iEDtJboo/p5esbY65cPg QJT1dXqmYqCCF6WEFSKpyFgXkZcGuA0hbBpA76RUsYLQRj4ZkEA+DejPTtglo2yRXdb3Yx hpOF3jPskKSm+65xaDsR/CnL898phiTbK9WNU3rVz7GbkKbbDuG0lGOxdtrk3cOxfLciiB C/xPeAmomEreEVHRDZ+mMAUZh3f9N88c/c8XpdI+qoi7UYLV/H8DhYi2KTwVgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555696; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lpUSUYrRZSPH4M7sNdc9hJsdVA/hLTaOpGV4gGBAyig=; b=Ew9utnju+MsQcUvP0EucI4WOWrrOc6rBiyn9awBAEjK92yIyISXgAVfu4ROxo03208BH6Y 5qg6zu+LU1v++e6vmgFZqMbNj7DjAlVOb7SS7frNEkmUXFy2VhmyozwDQNIdmgFzOovgkn 15lEnQcOPVWmmtUsnanwpyJLnA3bx3xlZ4gUwY85QXSZUmIzPQixdvPmIvbhbpN/QIjGr6 m2VLTyOmXYJ2abFq3V9+phWr68stNiDUzQ5KBJ8TO6wWRoLxQ4DwNQbmQ4Gpbs1Z0WisdL 5f+qeQ7EFPPNPVUVqosYh1XTqwI7xFUVBGL3++xBMU95wew9q5QjtKBF39LHKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733555696; a=rsa-sha256; cv=none; b=Kzr5JxjpqzGs3pEQons6ywP19iIUAAd4D9HIfWLLIO+XTsiwslEO2Fal+Ug1wbzm3dEUF5 W4mgu3fEC80DNEXxIiJOSYTq4fDD6zYIGlpDHCVjs3+M5MSs3nVjHGDc34GWpUPwzkIi35 fpQrecNDm2opttE+7yDLmB0daQucMLzPnUg519lhBz2fkPMYlKopw3w1rQIvNye7G/c+9A zAb5TMQLkRYYksdgsIKYDu19RP428p1mY+s4cl6JS66qBb5mPM0lJ9oQxGQMvZK2V7l+eY Esgm+sJTX5WKe668q6mgFYqdhJqmEC+JO+4BGm9vG46rbyKx850KHfwE6Eo27g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4zsX4vdMz1CXp; Sat, 7 Dec 2024 07:14: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 4B77Eus7058457; Sat, 7 Dec 2024 07:14:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B77EucM058454; Sat, 7 Dec 2024 07:14:56 GMT (envelope-from git) Date: Sat, 7 Dec 2024 07:14:56 GMT Message-Id: <202412070714.4B77EucM058454@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: b4980d8a48e5 - main - rtwn: calculate the transmit power for VHT rates List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b4980d8a48e50367f2f8b60ee08c0a0604ecfc79 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=b4980d8a48e50367f2f8b60ee08c0a0604ecfc79 commit b4980d8a48e50367f2f8b60ee08c0a0604ecfc79 Author: Adrian Chadd AuthorDate: 2024-12-04 05:21:44 +0000 Commit: Adrian Chadd CommitDate: 2024-12-07 07:14:07 +0000 rtwn: calculate the transmit power for VHT rates The VHT rate power array wasn't populated, and it needs to be in order to use VHT rates. The vendor driver reuses the HT40 values for VHT rates. Differential Revision: https://reviews.freebsd.org/D47898 --- sys/dev/rtwn/rtl8812a/r12a_chan.c | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/sys/dev/rtwn/rtl8812a/r12a_chan.c b/sys/dev/rtwn/rtl8812a/r12a_chan.c index 517d96bb06cf..518b02d765cf 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_chan.c +++ b/sys/dev/rtwn/rtl8812a/r12a_chan.c @@ -187,7 +187,7 @@ r12a_get_txpower(struct rtwn_softc *sc, int chain, struct ieee80211_channel *c, uint8_t power[RTWN_RIDX_COUNT]) { struct r12a_softc *rs = sc->sc_priv; - int i, ridx, group, max_mcs; + int i, ridx, group, max_mcs, max_vht_mcs; /* Determine channel group. */ group = r12a_get_power_group(sc, c); @@ -196,8 +196,8 @@ r12a_get_txpower(struct rtwn_softc *sc, int chain, return; } - /* TODO: VHT rates. */ max_mcs = RTWN_RIDX_HT_MCS(sc->ntxchains * 8 - 1); + max_vht_mcs = RTWN_RIDX_VHT_MCS(sc->ntxchains, 9) - 1; /* XXX regulatory */ /* XXX net80211 regulatory */ @@ -215,13 +215,11 @@ r12a_get_txpower(struct rtwn_softc *sc, int chain, uint8_t min_mcs; uint8_t pwr_diff; -#ifdef notyet - if (IEEE80211_IS_CHAN_HT80(c)) { + if (IEEE80211_IS_CHAN_VHT80(c)) { /* Vendor driver uses HT40 values here. */ pwr_diff = rs->bw40_tx_pwr_diff_2g[chain][i]; } else -#endif - if (IEEE80211_IS_CHAN_HT40(c)) + if (IEEE80211_IS_CHAN_HT40(c) || IEEE80211_IS_CHAN_VHT40(c)) pwr_diff = rs->bw40_tx_pwr_diff_2g[chain][i]; else pwr_diff = rs->bw20_tx_pwr_diff_2g[chain][i]; @@ -231,9 +229,14 @@ r12a_get_txpower(struct rtwn_softc *sc, int chain, power[ridx] += pwr_diff; } } else { /* 5GHz */ + /* OFDM + HT */ for (ridx = RTWN_RIDX_OFDM6; ridx <= max_mcs; ridx++) power[ridx] = rs->ht40_tx_pwr_5g[chain][group]; + /* VHT */ + for (ridx = RTWN_RIDX_VHT_MCS_SHIFT; ridx <= max_vht_mcs; ridx++) + power[ridx] = rs->ht40_tx_pwr_5g[chain][group]; + /* Add power for OFDM rates */ for (ridx = RTWN_RIDX_OFDM6; ridx <= RTWN_RIDX_OFDM54; ridx++) power[ridx] += rs->ofdm_tx_pwr_diff_5g[chain][0]; @@ -241,20 +244,26 @@ r12a_get_txpower(struct rtwn_softc *sc, int chain, uint8_t min_mcs; uint8_t pwr_diff; -#ifdef notyet - if (IEEE80211_IS_CHAN_HT80(c)) { + if (IEEE80211_IS_CHAN_VHT80(c)) { /* TODO: calculate base value. */ pwr_diff = rs->bw80_tx_pwr_diff_5g[chain][i]; } else -#endif - if (IEEE80211_IS_CHAN_HT40(c)) + if (IEEE80211_IS_CHAN_HT40(c) || IEEE80211_IS_CHAN_VHT40(c)) pwr_diff = rs->bw40_tx_pwr_diff_5g[chain][i]; else pwr_diff = rs->bw20_tx_pwr_diff_5g[chain][i]; + /* Adjust HT rates */ min_mcs = RTWN_RIDX_HT_MCS(i * 8); for (ridx = min_mcs; ridx <= max_mcs; ridx++) power[ridx] += pwr_diff; + + /* Adjust VHT rates */ + for (ridx = RTWN_RIDX_VHT_MCS(i, 0); + ridx <= RTWN_RIDX_VHT_MCS(i, 9); + ridx++) + power[ridx] += pwr_diff; + } } @@ -263,6 +272,12 @@ r12a_get_txpower(struct rtwn_softc *sc, int chain, if (power[ridx] > R92C_MAX_TX_PWR) power[ridx] = R92C_MAX_TX_PWR; } + for (ridx = RTWN_RIDX_VHT_MCS(0, 0); + ridx <= RTWN_RIDX_VHT_MCS(3, 9); + ridx++) { + if (power[ridx] > R92C_MAX_TX_PWR) + power[ridx] = R92C_MAX_TX_PWR; + } #ifdef RTWN_DEBUG if (sc->sc_debug & RTWN_DEBUG_TXPWR) { @@ -270,6 +285,7 @@ r12a_get_txpower(struct rtwn_softc *sc, int chain, printf("Tx power for chain %d:\n", chain); for (ridx = RTWN_RIDX_CCK1; ridx <= max_mcs; ridx++) printf("Rate %d = %u\n", ridx, power[ridx]); + /* TODO: dump VHT 0..9 for each spatial stream */ } #endif } From nobody Sat Dec 7 07:14:58 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4zsb5Swhz5gflR; Sat, 07 Dec 2024 07:14: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4zsb0RrCz49MT; Sat, 7 Dec 2024 07:14:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NOctbNRnbCuRVUEyYLfzCpX8gt0tfw7D3pB5p8iU56o=; b=iWZZlbAZH/kmsbIikOd4/4IFfSLKd8pcrcK1DSNgTrBabRlWLEvGHClPImoTFIl9SiHrGv 2VXI8u+48UHdURzzD/lihfoRmjqQ7/RX+uObXdQQ3T4ZNLYBYZW/pxLV7zT/cBPDhL4jxa h46iulSAyrt6beGBF01XhbiFBHmHmMv61u7t3FGSYSyvHmceGBQayxcjpuQc/EMg2vZQMX kGrgVDAkiLqDFxhITB49cwiQNZtT01SILSJtwkjPbdnqfA/JJ9Qm1vus6WSepWAcus6Qk6 InA8ufRdRi0pDMpHza2lTL3U7vF4I7V3ZMtpDNxLtJvpD8akUNTShTClnSQejA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555699; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NOctbNRnbCuRVUEyYLfzCpX8gt0tfw7D3pB5p8iU56o=; b=bQftBGRI7JK+RweCl7Y3adMH2UvotfyupII0lSbTfUCmjTW6dt3xFBi2dI/kkNqRU90oly 7+9+faXcRU7wf7JGBuE0X85h1DsKnNC3eCeCfiEIN381Q9AN/qQ7UDre9FDwrcuuGdunzr aTMHE+KQUpS3tDziAfwDp/flkLKo9Ml8Qwyu51u6nPPNB+EjgTHFdvZIWmHwAyMdgYBsxC czaIu6wE9iyIxEMSCGhGtkrYFLmoFt38vuaU+e9WtA5bCfZQ7Kjuq6SXWolusnqEHRf63q fO6pkt5dwoq2uqCs2e5dtLy2KRq9fm1oOBtnEnDxSNihpnJh58RFAvUDLoIitg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733555699; a=rsa-sha256; cv=none; b=RAwsTemC7U632ehc/WghlGPxc7Gw3E4+JqqkV+xwzP3iMtLX7vfj/6VkEVCmsqI1MUHXWR fJAJ1HLoulxgVT+6RFby2uDBVv1nfpWuedXxpsyQFoSM+7U29QN+9Z3Xe94Laxw0OmbiwP EBkOMNIsH5SrrE6k+rKyRj2ySoZXVGXmeJe4lQrahtlxKs55OlCNS7mobCGD4ftWwb70N/ 4v1l5t7LtJDMEA3PX6K3j5jjjrU84nDFBw3U7bzdlAtPfOZemyRr2jTwQDtrhbbJybfD7i ubD77UjEPWdrLNx7Ee79EpdGoAmLB/xIyx/d7M+QUEq9ifZomE5UbhDkFkH+IQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4zsb04MRz1Ckn; Sat, 7 Dec 2024 07:14: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 4B77Ew1G058575; Sat, 7 Dec 2024 07:14:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B77Ew2C058572; Sat, 7 Dec 2024 07:14:58 GMT (envelope-from git) Date: Sat, 7 Dec 2024 07:14:58 GMT Message-Id: <202412070714.4B77Ew2C058572@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: f6f03d156ba7 - main - rtwn: add VHT awareness to rtwn_chan2centieee() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: f6f03d156ba78f15612fd0b1dce935feb63b9aad Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=f6f03d156ba78f15612fd0b1dce935feb63b9aad commit f6f03d156ba78f15612fd0b1dce935feb63b9aad Author: Adrian Chadd AuthorDate: 2024-12-04 05:39:22 +0000 Commit: Adrian Chadd CommitDate: 2024-12-07 07:14:20 +0000 rtwn: add VHT awareness to rtwn_chan2centieee() Since we're not doing 80+80 yet, this is easy - just use the freq1 centre. Differential Revision: https://reviews.freebsd.org/D47900 --- sys/dev/rtwn/if_rtwnreg.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/rtwn/if_rtwnreg.h b/sys/dev/rtwn/if_rtwnreg.h index 9762f0482b1c..f1c0a7a6ff55 100644 --- a/sys/dev/rtwn/if_rtwnreg.h +++ b/sys/dev/rtwn/if_rtwnreg.h @@ -158,6 +158,9 @@ rtwn_chan2centieee(const struct ieee80211_channel *c) { int chan; + if (IEEE80211_IS_CHAN_VHT(c)) + return c->ic_vht_ch_freq1; + chan = c->ic_ieee; if (c->ic_extieee != 0) chan = (chan + c->ic_extieee) / 2; From nobody Sat Dec 7 07:14:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4zsZ5xhKz5gfP1; Sat, 07 Dec 2024 07:14:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4zsY6L0Hz49R4; Sat, 7 Dec 2024 07:14:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555697; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vd99WmPjwbgIe+6sU2LB9l4bvLBXRR2vyC+/clIruKI=; b=VZQpfpdQ2tyej6Q5FkqMRyzJ/1guhyKKam0jLNvT6Foj3wNhGhVgXXTOZGzJYRl0yZXiwk UWA+gFRyXDLf5nFM/LXlLpoWR5GShE5tJ3hhhhK4GXth0i+dw7arVhLHcfiALe4xf3/Zvv SOsI/ZxPwlCiLLoMBgSZ4YVEP410vRVdEoIxuIencWIm49nlCCXHrn7IJUk7kIitnNWy34 FP1vs5XB2xhx2BldejbFB6AZ53nctjmm394XBj1fL/wIEsRMKQgbdDgp1lAIly9YY/o19C Ns0wYd6xmUFh455xveVcj/eOJZxiEPZpYWqoIRcThZQd0Bk71RfWyuoMB/AeKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555697; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vd99WmPjwbgIe+6sU2LB9l4bvLBXRR2vyC+/clIruKI=; b=w2JwgBmkvyM4K2TJbpGTylqnY+BEB5HiQsV7nyyEwUvf57jOKAbzwSWIdyRDMFdRqv4kbT NwMCFr69k79+2jgrg+fcCNNCvEYb9wn57kYnmH/AW7UcYuHilZEzduR1tAl6l+bEwU1JFJ 2os2enP1JrGp+qD8QD2G3OmJ3E25oADqks5tolxPXPceHwtDZ/ZLwkFaHgSlVb/amiAua+ +AFdYcrTrh8z21NETAjPijmn4ndX4ni++XzSDjUNebk28e5JfzSB10pzDNGFM80Jvb19JH JzOQRysk30SvEw/vmBezEsKQL360qiPgT67BTou1MMeeY7D+HkQs2TyzxSQ5/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733555697; a=rsa-sha256; cv=none; b=WXYBQ9ytHerLTGQdXIgeUefeYdS0o/JTxh53Nipz+rapu6VfvodN0qsVa/cOrDzuxFHt0g 3mBdN3Xl+cfEchj0aobslxpocRwgC1vWOA1PIp3bnT+YkmsXj5aZC9rk32FOWU6aXk9BrL /33p68TLITsvP1H6yuBgM8fuk8JY8TyB05tY3t1i5RyFjkcxg8z5ROGbtF675IGdPuBlES GwlFzbt2Nrtfd5cKOuiB+ZNh0/ca2lb7WX6d/aZWJca8SCyaC4s0puyMu9JNpL4IJPFrz0 +dNZCqySB7X4lTov8ovADtNPc132lrnW0hfJuVTSCSBFUqosWf/Fqv39MaBVMg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4zsY5xlTz1CXq; Sat, 7 Dec 2024 07:14: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 4B77EvYQ058530; Sat, 7 Dec 2024 07:14:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B77EvBE058527; Sat, 7 Dec 2024 07:14:57 GMT (envelope-from git) Date: Sat, 7 Dec 2024 07:14:57 GMT Message-Id: <202412070714.4B77EvBE058527@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: b811e5a5effe - main - rtwn: program the 1 and 2 stream VHT transmit power rates List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b811e5a5effed0a3f8fa017606e2f37649047537 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=b811e5a5effed0a3f8fa017606e2f37649047537 commit b811e5a5effed0a3f8fa017606e2f37649047537 Author: Adrian Chadd AuthorDate: 2024-12-04 05:31:35 +0000 Commit: Adrian Chadd CommitDate: 2024-12-07 07:14:14 +0000 rtwn: program the 1 and 2 stream VHT transmit power rates This is needed to be able to successfully transmit VHT frames. Locally tested: * RTL8821AU, STA mode (with the rest of VHT work to actually test VHT) Differential Revision: https://reviews.freebsd.org/D47899 --- sys/dev/rtwn/rtl8812a/r12a_chan.c | 58 ++++++++++++++++++++++++++++++++++++++- sys/dev/rtwn/rtl8812a/r12a_reg.h | 50 +++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 1 deletion(-) diff --git a/sys/dev/rtwn/rtl8812a/r12a_chan.c b/sys/dev/rtwn/rtl8812a/r12a_chan.c index 518b02d765cf..789a14b0e1d6 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_chan.c +++ b/sys/dev/rtwn/rtl8812a/r12a_chan.c @@ -91,6 +91,62 @@ r12a_write_txpower_ht(struct rtwn_softc *sc, int chain, /* TODO: HT MCS 16 -> 31 */ } +static void +r12a_write_txpower_vht(struct rtwn_softc *sc, int chain, + struct ieee80211_channel *c, uint8_t power[RTWN_RIDX_COUNT]) +{ + + /* 1SS, MCS 0..3 */ + rtwn_bb_write(sc, R12A_TXAGC_NSS1IX3_1IX0(chain), + SM(R12A_TXAGC_NSS1_MCS0, power[RTWN_RIDX_VHT_MCS(0, 0)]) | + SM(R12A_TXAGC_NSS1_MCS1, power[RTWN_RIDX_VHT_MCS(0, 1)]) | + SM(R12A_TXAGC_NSS1_MCS2, power[RTWN_RIDX_VHT_MCS(0, 2)]) | + SM(R12A_TXAGC_NSS1_MCS3, power[RTWN_RIDX_VHT_MCS(0, 3)])); + + /* 1SS, MCS 4..7 */ + rtwn_bb_write(sc, R12A_TXAGC_NSS1IX7_1IX4(chain), + SM(R12A_TXAGC_NSS1_MCS4, power[RTWN_RIDX_VHT_MCS(0, 4)]) | + SM(R12A_TXAGC_NSS1_MCS5, power[RTWN_RIDX_VHT_MCS(0, 5)]) | + SM(R12A_TXAGC_NSS1_MCS6, power[RTWN_RIDX_VHT_MCS(0, 6)]) | + SM(R12A_TXAGC_NSS1_MCS7, power[RTWN_RIDX_VHT_MCS(0, 7)])); + + /* 1SS, MCS 8,9 ; 2SS MCS0, 1 */ + if (sc->ntxchains == 1) { + rtwn_bb_write(sc, R12A_TXAGC_NSS2IX1_1IX8(chain), + SM(R12A_TXAGC_NSS1_MCS8, power[RTWN_RIDX_VHT_MCS(0, 8)]) | + SM(R12A_TXAGC_NSS1_MCS9, power[RTWN_RIDX_VHT_MCS(0, 9)]) | + SM(R12A_TXAGC_NSS2_MCS0, 0) | + SM(R12A_TXAGC_NSS2_MCS1, 0)); + } else { + rtwn_bb_write(sc, R12A_TXAGC_NSS2IX1_1IX8(chain), + SM(R12A_TXAGC_NSS1_MCS8, power[RTWN_RIDX_VHT_MCS(0, 8)]) | + SM(R12A_TXAGC_NSS1_MCS9, power[RTWN_RIDX_VHT_MCS(0, 9)]) | + SM(R12A_TXAGC_NSS2_MCS0, power[RTWN_RIDX_VHT_MCS(1, 0)]) | + SM(R12A_TXAGC_NSS2_MCS1, power[RTWN_RIDX_VHT_MCS(1, 1)])); + } + + /* 2SS MCS 2..5 */ + if (sc->ntxchains > 1) { + rtwn_bb_write(sc, R12A_TXAGC_NSS2IX5_2IX2(chain), + SM(R12A_TXAGC_NSS2_MCS2, power[RTWN_RIDX_VHT_MCS(1, 2)]) | + SM(R12A_TXAGC_NSS2_MCS3, power[RTWN_RIDX_VHT_MCS(1, 3)]) | + SM(R12A_TXAGC_NSS2_MCS4, power[RTWN_RIDX_VHT_MCS(1, 4)]) | + SM(R12A_TXAGC_NSS2_MCS5, power[RTWN_RIDX_VHT_MCS(1, 5)])); + } + + /* 2SS MCS 6..9 */ + if (sc->ntxchains > 1) { + rtwn_bb_write(sc, R12A_TXAGC_NSS2IX9_2IX6(chain), + SM(R12A_TXAGC_NSS2_MCS2, power[RTWN_RIDX_VHT_MCS(1, 6)]) | + SM(R12A_TXAGC_NSS2_MCS3, power[RTWN_RIDX_VHT_MCS(1, 7)]) | + SM(R12A_TXAGC_NSS2_MCS4, power[RTWN_RIDX_VHT_MCS(1, 8)]) | + SM(R12A_TXAGC_NSS2_MCS5, power[RTWN_RIDX_VHT_MCS(1, 9)])); + } + + /* TODO: 3SS, 4SS VHT rates */ +} + + static void r12a_write_txpower_cck(struct rtwn_softc *sc, int chain, struct ieee80211_channel *c, uint8_t power[RTWN_RIDX_COUNT]) @@ -132,7 +188,7 @@ r12a_write_txpower(struct rtwn_softc *sc, int chain, r12a_write_txpower_cck(sc, chain, c, power); r12a_write_txpower_ofdm(sc, chain, c, power); r12a_write_txpower_ht(sc, chain, c, power); - /* TODO: VHT rates */ + r12a_write_txpower_vht(sc, chain, c, power); } static int diff --git a/sys/dev/rtwn/rtl8812a/r12a_reg.h b/sys/dev/rtwn/rtl8812a/r12a_reg.h index 4e9892ce2592..4f5f6f28c11a 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_reg.h +++ b/sys/dev/rtwn/rtl8812a/r12a_reg.h @@ -230,6 +230,56 @@ #define R12A_TXAGC_MCS15_M 0xff000000 #define R12A_TXAGC_MCS15_S 24 +/* Bits for R12A_TXAGC_NSS1IX3_1IX0(i) */ +#define R12A_TXAGC_NSS1_MCS0_M 0x000000ff +#define R12A_TXAGC_NSS1_MCS0_S 0 +#define R12A_TXAGC_NSS1_MCS1_M 0x0000ff00 +#define R12A_TXAGC_NSS1_MCS1_S 8 +#define R12A_TXAGC_NSS1_MCS2_M 0x00ff0000 +#define R12A_TXAGC_NSS1_MCS2_S 16 +#define R12A_TXAGC_NSS1_MCS3_M 0xff000000 +#define R12A_TXAGC_NSS1_MCS3_S 24 + +/* Bits for R12A_TXAGC_NSS1IX7_1IX4(i) */ +#define R12A_TXAGC_NSS1_MCS4_M 0x000000ff +#define R12A_TXAGC_NSS1_MCS4_S 0 +#define R12A_TXAGC_NSS1_MCS5_M 0x0000ff00 +#define R12A_TXAGC_NSS1_MCS5_S 8 +#define R12A_TXAGC_NSS1_MCS6_M 0x00ff0000 +#define R12A_TXAGC_NSS1_MCS6_S 16 +#define R12A_TXAGC_NSS1_MCS7_M 0xff000000 +#define R12A_TXAGC_NSS1_MCS7_S 24 + +/* Bits for R12A_TXAGC_NSS2IX1_1IX8(i) */ +#define R12A_TXAGC_NSS1_MCS8_M 0x000000ff +#define R12A_TXAGC_NSS1_MCS8_S 0 +#define R12A_TXAGC_NSS1_MCS9_M 0x0000ff00 +#define R12A_TXAGC_NSS1_MCS9_S 8 +#define R12A_TXAGC_NSS2_MCS0_M 0x00ff0000 +#define R12A_TXAGC_NSS2_MCS0_S 16 +#define R12A_TXAGC_NSS2_MCS1_M 0xff000000 +#define R12A_TXAGC_NSS2_MCS1_S 24 + +/* Bits for R12A_TXAGC_NSS2IX5_2IX2(i) */ +#define R12A_TXAGC_NSS2_MCS2_M 0x000000ff +#define R12A_TXAGC_NSS2_MCS2_S 0 +#define R12A_TXAGC_NSS2_MCS3_M 0x0000ff00 +#define R12A_TXAGC_NSS2_MCS3_S 8 +#define R12A_TXAGC_NSS2_MCS4_M 0x00ff0000 +#define R12A_TXAGC_NSS2_MCS4_S 16 +#define R12A_TXAGC_NSS2_MCS5_M 0xff000000 +#define R12A_TXAGC_NSS2_MCS5_S 24 + +/* Bits for R12A_TXAGC_NSS2IX9_2IX6(i) */ +#define R12A_TXAGC_NSS2_MCS6_M 0x000000ff +#define R12A_TXAGC_NSS2_MCS6_S 0 +#define R12A_TXAGC_NSS2_MCS7_M 0x0000ff00 +#define R12A_TXAGC_NSS2_MCS7_S 8 +#define R12A_TXAGC_NSS2_MCS8_M 0x00ff0000 +#define R12A_TXAGC_NSS2_MCS8_S 16 +#define R12A_TXAGC_NSS2_MCS9_M 0xff000000 +#define R12A_TXAGC_NSS2_MCS9_S 24 + /* * RF (6052) registers. */ From nobody Sat Dec 7 07:15:00 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y4zsd70JMz5gfFb; Sat, 07 Dec 2024 07:15:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y4zsc1SyDz49TN; Sat, 7 Dec 2024 07:15:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AqZE6h+qRNirNacz6MJOSbdzKNYd7R4GqpS42kj4y5s=; b=px/Eia9JDAn4wezBLtAUT76NMe8nTqpHEuZPh02Yx1Sg7CyfsAxS5LlpHUTmg6mRq3ohQS +KZNPJ0RHVFuXVP9SuaS+dx3PB27PuwGjR0GWh4dDiy4lTCfDmYgsj8jZSwhyhqnLrQEjM b4gyEVNsAhan77UQDRg2ZrxwI2zqJAzwl5RKtt900GZ8qlKY7YL4ZP1M6r9+iyQ3KOKUsT HgcRqAowgmqxysxEEeyVoufefbaqCdNXptlhvOxkILuZcPW+HNyvLXbsL0drg0gh8glXl5 4qQHG5gox1WBmqpgZfgEH1qqHNFFS6OdWb6sf9j4LRj4eKV71NdhqNzdU8ShEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733555700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AqZE6h+qRNirNacz6MJOSbdzKNYd7R4GqpS42kj4y5s=; b=RStHjNcnSKHEAAquc7XROpCzJ31NN7Fy8CH/8Q6rJ+UqlqH/Z722BwdRCt8S5iQvgJuGNC TuB+DdwBEs/QXVLQ4ZWSFFflnzwCh5IhAGpEQH6ed2sunZ7iZ1UFSqfCNxP+J5PMXjKGtz swfMVqqU20rej4I7+QFPw6dhXHGYKOpcc8OqDQFPlRV4BpahxXeeUxwoOdXbTsSsMrK4Z4 NqmF3yCkgkuAebT5EQOY7aT7MnA2jVMLsg+qCdSo2RoQBWH5+XLBPkVtGtqiuQ5Ixfdd0c 6GE4gXvoMPArsOMZtZryam59zAItsBpQa10HoshbVhoLdTP2GT6G7ZcifD0P8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733555700; a=rsa-sha256; cv=none; b=YfpjFVjq/YogHlz+YhlbWnwLL7mbU+S/Qrino2BDXXviMc7VNfry0vAhFxykeRiWhJFFDh U1OgKh/iEVIwe62qxq+BYiqAgmE5PNoy5NVQOK/zVy5KGPaQJVHVwI5if67QjJJapuGgx/ VwPsaxOpEiGL5URhEq1iHMSw3tRt2YVDcUR1SDIDq457fDSb5hYBUYugiobPBIdTQfZPuk 6t1uJlWcU9KpU+vg+4YYC2bsYOAjpKkiyC/PnmBdbiVSsR59jG6/nBsstS/ZIL361aZSzC j0E9xxNyEjwd8diHzIGR+djSeJnIKZsITrW4puYRsbSj6cTrF7ZaLudH6ylZwg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y4zsc0vSlz1CXr; Sat, 7 Dec 2024 07:15: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 4B77F0cu058649; Sat, 7 Dec 2024 07:15:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B77F0Ph058646; Sat, 7 Dec 2024 07:15:00 GMT (envelope-from git) Date: Sat, 7 Dec 2024 07:15:00 GMT Message-Id: <202412070715.4B77F0Ph058646@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: 977679d651de - main - rtwn: remove unused rate configuration code for management traffic. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 977679d651de56720892868ec429b90e90e2ee20 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=977679d651de56720892868ec429b90e90e2ee20 commit 977679d651de56720892868ec429b90e90e2ee20 Author: Adrian Chadd AuthorDate: 2024-12-06 03:55:06 +0000 Commit: Adrian Chadd CommitDate: 2024-12-07 07:14:45 +0000 rtwn: remove unused rate configuration code for management traffic. After discussion with the rtlwifi maintainers, it looks like this path isn't even used. (And it's part of the firmware rate control path which we currently don't enable for other reasons.) Differential Revision: https://reviews.freebsd.org/D47938 --- sys/dev/rtwn/rtl8192c/r92c_fw.c | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/sys/dev/rtwn/rtl8192c/r92c_fw.c b/sys/dev/rtwn/rtl8192c/r92c_fw.c index e611e5addeb3..426dfd0e6d3f 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_fw.c +++ b/sys/dev/rtwn/rtl8192c/r92c_fw.c @@ -170,30 +170,6 @@ r92c_send_ra_cmd(struct rtwn_softc *sc, int macid, uint32_t rates, uint8_t mode; int error = 0; - /* XXX should be called directly from iv_newstate() for MACID_BC */ - /* XXX joinbss, not send_ra_cmd() */ -#ifdef RTWN_TODO - /* NB: group addressed frames are done at 11bg rates for now */ - if (ic->ic_curmode == IEEE80211_MODE_11B) - mode = R92C_RAID_11B; - else - mode = R92C_RAID_11BG; - /* XXX misleading 'mode' value here for unicast frames */ - RTWN_DPRINTF(sc, RTWN_DEBUG_RA, - "%s: mode 0x%x, rates 0x%08x, basicrates 0x%08x\n", __func__, - mode, rates, basicrates); - - /* Set rates mask for group addressed frames. */ - cmd.macid = RTWN_MACID_BC | R92C_CMD_MACID_VALID; - cmd.mask = htole32(mode << 28 | basicrates); - error = rtwn_fw_cmd(sc, R92C_CMD_MACID_CONFIG, &cmd, sizeof(cmd)); - if (error != 0) { - device_printf(sc->sc_dev, - "could not set RA mask for broadcast station\n"); - return (error); - } -#endif - /* Set rates mask for unicast frames. */ if (RTWN_RATE_IS_HT(maxrate)) mode = R92C_RAID_11GN; @@ -283,7 +259,6 @@ r92c_joinbss_rpt(struct rtwn_softc *sc, int macid) end: #endif - /* TODO: init rates for RTWN_MACID_BC. */ if (macid & RTWN_MACID_VALID) r92c_init_ra(sc, macid & ~RTWN_MACID_VALID); } From nobody Sat Dec 7 13:55:52 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y58m90bW5z4kyKs; Sat, 07 Dec 2024 13:55:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y58m871ttz4hr4; Sat, 7 Dec 2024 13:55:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733579752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Fwm5YrHm+hpAu8rGmFVmbA42NcPT4+iBXg/JIWLL6Q=; b=HPSfgIeg7BdRsHETRVMWl03Ez+c19A5k1Pul6jlvr/NudFnfgqqwOBXOPx1URn+hQjGfiC jo4DDh5ly+D+4pmaDMzfuUpmnYtzLPKzS5O2SZ8q9BQ633vFjuI/MP4PofipJq/52KrqCO lNMfJ/u33QoJemdwxd2/5aZa0lCFDofxXoWKCFfBDFMxWX503vAGoT/THH3V4qF9DniNtj wuugsy81ry/WIAvZlWpdYbKD7fRjYsbcqc26stkheZx+fCRsWUr4FQKTJEmWlMn1qE4Bfc bY401mVH9lxp6jbsKSTCOKYkfzDYaQL2ZlFoUqqb75DGZp1zL2u1NXI/IZR9+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733579752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Fwm5YrHm+hpAu8rGmFVmbA42NcPT4+iBXg/JIWLL6Q=; b=a4ybRgAIY0aYEWcNxS60FDBkn1AC1Xu4BaVB5Mxk3AQeKfBkQQ9aEsiOB0dalVgVO7Z54v 3NZXdOT1USzX+xOvbnU1uP9UwhtihA+3YxqskREheq3vm1iUbZRcLuMbaqF3KxZiJI0pjQ 4RGvim++fC2RfhqSkuFMYcwM2QCyIWuno9YP4DtWrg1ozTpbFv9bcVAEM5EncJuGMK8zmS Teje1qX1chgYGdLhj8UZYQjYf1Y9T72E2GuPaEfoh/io9ynP6tNwnu4tQakFMdl9Iko14X +7iZuSmpba+PASuDSR4+Gl1CR8bv/C3ybBIcEjF6S0rdSsJ/+xr95mnpiMjK/w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733579752; a=rsa-sha256; cv=none; b=W10Aamq4Z9Gw7/fBzLs201E7LCUV9ZDTbB3R1R8inXSWch9JMvTKMZm6hbmpnvfK4leyWp SBUr+1VkgGC4+iG7NR4WeHyzUsvy5esaTkyKTvrwFH09vhwDSVJXKtL9wzBVn3UFyNC7rC Z0+Hj0RcWaK70CIH+iCFp9gAvuiGHDknHrA8rQJvM+k3ttfW41lPA6f7mmMX+8+R4fMTaF 2KeKleZIYt4fFdDoCJ1D/hCysXt/bf/M0u+GewD9EjVcNY6fXHDCb7rnk0e1JvWWt67UNu QVRVxi2ycHb9g1XnsiRYk52k0iZtHTVFt4AkBZBAyrl5qeYErRFMRXM48X9wTQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y58m86VLXz1Pr6; Sat, 7 Dec 2024 13:55: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 4B7DtqQx001267; Sat, 7 Dec 2024 13:55:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B7DtqtT001259; Sat, 7 Dec 2024 13:55:52 GMT (envelope-from git) Date: Sat, 7 Dec 2024 13:55:52 GMT Message-Id: <202412071355.4B7DtqtT001259@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Martin Matuska Subject: git: 17aab35a77a1 - main - zfs: merge openzfs/zfs@e0039c705 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 17aab35a77a1b1bf02fc85bb8ffadccb0ca5006d Auto-Submitted: auto-generated The branch main has been updated by mm: URL: https://cgit.FreeBSD.org/src/commit/?id=17aab35a77a1b1bf02fc85bb8ffadccb0ca5006d commit 17aab35a77a1b1bf02fc85bb8ffadccb0ca5006d Merge: 977679d651de e0039c70573e Author: Martin Matuska AuthorDate: 2024-12-07 13:04:59 +0000 Commit: Martin Matuska CommitDate: 2024-12-07 13:55:14 +0000 zfs: merge openzfs/zfs@e0039c705 Notable upstream pull request merges: #16215 44446dccd During pool export flush the ARC asynchronously #16301 4b4e346b9 Add ability to scrub from last scrubbed txg #16755 0ffa6f346 zdb: show dedup table and log attributes #16801 1cd2419ec Fix race in libzfs_run_process_impl #16814 a01504b35 Improve speculative prefetcher for block cloning #16819 a44eaf169 Optimize RAIDZ expansion #16825 e8b333e4d Fix false assertion in dmu_tx_dirty_buf() on cloning #16829 6e3c109bc Fix regression in dmu_buf_will_fill() #16832 2507db612 zdb_il: use flex array member to access ZIL records #16834 0e020bf3e FreeBSD: Remove an incorrect assertion in zfs_getpages() #16836 c33a55b0c Allow dsl_deadlist_open() return errors Obtained from: OpenZFS OpenZFS commit: e0039c70573e455f4745a83b7d5a6a5f6f2e58a8 sys/contrib/openzfs/cmd/zdb/zdb.c | 111 +++++-- sys/contrib/openzfs/cmd/zdb/zdb_il.c | 22 +- sys/contrib/openzfs/cmd/zpool/zpool_main.c | 32 +- .../openzfs/config/kernel-register_sysctl_table.m4 | 2 +- .../openzfs/include/os/freebsd/spl/sys/debug.h | 2 +- .../openzfs/include/os/freebsd/spl/sys/sdt.h | 2 +- .../openzfs/include/os/freebsd/spl/sys/vnode.h | 23 +- .../openzfs/include/os/linux/spl/sys/debug.h | 2 +- sys/contrib/openzfs/include/sys/arc.h | 9 + sys/contrib/openzfs/include/sys/arc_impl.h | 8 +- sys/contrib/openzfs/include/sys/dmu.h | 1 + sys/contrib/openzfs/include/sys/dsl_deadlist.h | 2 +- sys/contrib/openzfs/include/sys/dsl_dir.h | 2 +- sys/contrib/openzfs/include/sys/dsl_scan.h | 9 +- sys/contrib/openzfs/include/sys/fs/zfs.h | 2 + sys/contrib/openzfs/include/sys/spa.h | 4 + sys/contrib/openzfs/include/sys/spa_impl.h | 1 + sys/contrib/openzfs/lib/libspl/atomic.c | 28 -- sys/contrib/openzfs/lib/libzfs/libzfs.abi | 6 +- sys/contrib/openzfs/lib/libzfs/libzfs_util.c | 1 + sys/contrib/openzfs/man/man7/zpoolprops.7 | 15 +- sys/contrib/openzfs/man/man8/zinject.8 | 4 +- sys/contrib/openzfs/man/man8/zpool-scrub.8 | 9 +- sys/contrib/openzfs/module/nvpair/nvpair.c | 2 - .../openzfs/module/os/freebsd/spl/spl_dtrace.c | 1 - sys/contrib/openzfs/module/os/freebsd/zfs/dmu_os.c | 7 +- .../openzfs/module/os/freebsd/zfs/sysctl_os.c | 82 ------ .../openzfs/module/os/freebsd/zfs/zfs_vnops_os.c | 4 +- .../openzfs/module/os/freebsd/zfs/zfs_znode_os.c | 2 - .../openzfs/module/os/freebsd/zfs/zio_crypt.c | 1 - sys/contrib/openzfs/module/os/linux/spl/spl-err.c | 1 - .../openzfs/module/os/linux/spl/spl-generic.c | 1 - .../openzfs/module/os/linux/spl/spl-kmem-cache.c | 2 - sys/contrib/openzfs/module/os/linux/spl/spl-kmem.c | 2 - .../openzfs/module/os/linux/spl/spl-taskq.c | 4 - sys/contrib/openzfs/module/os/linux/zfs/abd_os.c | 1 - .../openzfs/module/os/linux/zfs/zfs_debug.c | 2 - sys/contrib/openzfs/module/os/linux/zfs/zfs_uio.c | 5 +- .../openzfs/module/os/linux/zfs/zfs_vnops_os.c | 1 - .../openzfs/module/os/linux/zfs/zfs_znode_os.c | 1 - .../openzfs/module/os/linux/zfs/zio_crypt.c | 1 - sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c | 1 - sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c | 7 +- sys/contrib/openzfs/module/zcommon/zfs_valstr.c | 6 - sys/contrib/openzfs/module/zcommon/zpool_prop.c | 3 + sys/contrib/openzfs/module/zfs/arc.c | 321 +++++++++++++++++---- sys/contrib/openzfs/module/zfs/brt.c | 2 - sys/contrib/openzfs/module/zfs/btree.c | 2 - sys/contrib/openzfs/module/zfs/dbuf.c | 2 +- sys/contrib/openzfs/module/zfs/ddt_zap.c | 2 - sys/contrib/openzfs/module/zfs/dmu.c | 6 +- sys/contrib/openzfs/module/zfs/dmu_object.c | 2 - sys/contrib/openzfs/module/zfs/dmu_recv.c | 1 - sys/contrib/openzfs/module/zfs/dmu_traverse.c | 1 - sys/contrib/openzfs/module/zfs/dmu_tx.c | 8 + sys/contrib/openzfs/module/zfs/dmu_zfetch.c | 34 ++- sys/contrib/openzfs/module/zfs/dsl_dataset.c | 45 +-- sys/contrib/openzfs/module/zfs/dsl_deadlist.c | 13 +- sys/contrib/openzfs/module/zfs/dsl_destroy.c | 8 +- sys/contrib/openzfs/module/zfs/dsl_dir.c | 16 +- sys/contrib/openzfs/module/zfs/dsl_pool.c | 22 +- sys/contrib/openzfs/module/zfs/dsl_scan.c | 66 +++-- sys/contrib/openzfs/module/zfs/metaslab.c | 4 - sys/contrib/openzfs/module/zfs/mmp.c | 2 - sys/contrib/openzfs/module/zfs/refcount.c | 2 - sys/contrib/openzfs/module/zfs/spa.c | 30 +- sys/contrib/openzfs/module/zfs/spa_checkpoint.c | 2 - sys/contrib/openzfs/module/zfs/spa_errlog.c | 2 - sys/contrib/openzfs/module/zfs/spa_history.c | 6 + sys/contrib/openzfs/module/zfs/spa_log_spacemap.c | 6 +- sys/contrib/openzfs/module/zfs/spa_misc.c | 36 ++- sys/contrib/openzfs/module/zfs/vdev.c | 6 +- sys/contrib/openzfs/module/zfs/vdev_indirect.c | 2 - sys/contrib/openzfs/module/zfs/vdev_mirror.c | 2 - sys/contrib/openzfs/module/zfs/vdev_raidz.c | 190 ++++++++---- sys/contrib/openzfs/module/zfs/vdev_rebuild.c | 10 +- sys/contrib/openzfs/module/zfs/vdev_removal.c | 2 - sys/contrib/openzfs/module/zfs/zap.c | 2 - sys/contrib/openzfs/module/zfs/zap_micro.c | 1 - sys/contrib/openzfs/module/zfs/zfs_ioctl.c | 3 + sys/contrib/openzfs/scripts/cstyle.pl | 26 +- sys/contrib/openzfs/tests/runfiles/common.run | 2 +- .../openzfs/tests/test-runner/bin/zts-report.py.in | 2 + .../openzfs/tests/zfs-tests/tests/Makefile.am | 2 + .../block_cloning/block_cloning_large_offset.ksh | 83 ++++++ .../functional/cli_root/zpool_get/zpool_get.cfg | 1 + .../zpool_scrub_txg_continue_from_last.ksh | 104 +++++++ .../tests/functional/dedup/dedup_fdt_create.ksh | 4 +- .../tests/functional/dedup/dedup_fdt_import.ksh | 4 +- .../tests/functional/dedup/dedup_legacy_create.ksh | 4 +- .../functional/dedup/dedup_legacy_fdt_mixed.ksh | 4 +- .../functional/dedup/dedup_legacy_fdt_upgrade.ksh | 6 +- .../tests/functional/dedup/dedup_legacy_import.ksh | 4 +- sys/modules/zfs/zfs_config.h | 4 +- sys/modules/zfs/zfs_gitrev.h | 2 +- 95 files changed, 1054 insertions(+), 491 deletions(-) diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_large_offset.ksh index 000000000000,1d5a2619ebf3..1d5a2619ebf3 mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_large_offset.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_large_offset.ksh diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_scrub/zpool_scrub_txg_continue_from_last.ksh index 000000000000,b28a8d2cf72f..b28a8d2cf72f mode 000000,100755..100755 --- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_scrub/zpool_scrub_txg_continue_from_last.ksh +++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_scrub/zpool_scrub_txg_continue_from_last.ksh diff --cc sys/modules/zfs/zfs_config.h index 1959b7cab014,000000000000..b1f7a1128ca3 mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_config.h +++ b/sys/modules/zfs/zfs_config.h @@@ -1,831 -1,0 +1,831 @@@ +/* + */ + +/* zfs_config.h. Generated from zfs_config.h.in by configure. */ +/* zfs_config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +/* #undef ENABLE_NLS */ + +/* __assign_str() has one arg */ +/* #undef HAVE_1ARG_ASSIGN_STR */ + +/* lookup_bdev() wants 1 arg */ +/* #undef HAVE_1ARG_LOOKUP_BDEV */ + +/* kernel has access_ok with 'type' parameter */ +/* #undef HAVE_ACCESS_OK_TYPE */ + +/* add_disk() returns int */ +/* #undef HAVE_ADD_DISK_RET */ + +/* Define if host toolchain supports AES */ +#define HAVE_AES 1 + +/* Define if you have [rt] */ +#define HAVE_AIO_H 1 + +#ifdef __amd64__ +#ifndef RESCUE +/* Define if host toolchain supports AVX */ +#define HAVE_AVX 1 +#endif + +/* Define if host toolchain supports AVX2 */ +#define HAVE_AVX2 1 + +/* Define if host toolchain supports AVX512BW */ +#define HAVE_AVX512BW 1 + +/* Define if host toolchain supports AVX512CD */ +#define HAVE_AVX512CD 1 + +/* Define if host toolchain supports AVX512DQ */ +#define HAVE_AVX512DQ 1 + +/* Define if host toolchain supports AVX512ER */ +#define HAVE_AVX512ER 1 + +/* Define if host toolchain supports AVX512F */ +#define HAVE_AVX512F 1 + +/* Define if host toolchain supports AVX512IFMA */ +#define HAVE_AVX512IFMA 1 + +/* Define if host toolchain supports AVX512PF */ +#define HAVE_AVX512PF 1 + +/* Define if host toolchain supports AVX512VBMI */ +#define HAVE_AVX512VBMI 1 + +/* Define if host toolchain supports AVX512VL */ +#define HAVE_AVX512VL 1 +#endif + +/* backtrace() is available */ +/* #undef HAVE_BACKTRACE */ + +/* bdevname() is available */ +/* #undef HAVE_BDEVNAME */ + +/* bdev_check_media_change() exists */ +/* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */ + +/* bdev_file_open_by_path() exists */ +/* #undef HAVE_BDEV_FILE_OPEN_BY_PATH */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_63 */ + +/* bdev_*_io_acct() available */ +/* #undef HAVE_BDEV_IO_ACCT_OLD */ + +/* bdev_kobj() exists */ +/* #undef HAVE_BDEV_KOBJ */ + +/* bdev_max_discard_sectors() is available */ +/* #undef HAVE_BDEV_MAX_DISCARD_SECTORS */ + +/* bdev_max_secure_erase_sectors() is available */ +/* #undef HAVE_BDEV_MAX_SECURE_ERASE_SECTORS */ + +/* bdev_nr_bytes() is available */ +/* #undef HAVE_BDEV_NR_BYTES */ + +/* bdev_open_by_path() exists */ +/* #undef HAVE_BDEV_OPEN_BY_PATH */ + +/* bdev_release() exists */ +/* #undef HAVE_BDEV_RELEASE */ + +/* block_device_operations->submit_bio() returns void */ +/* #undef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID */ + +/* bdev_whole() is available */ +/* #undef HAVE_BDEV_WHOLE */ + +/* bio_alloc() takes 4 arguments */ +/* #undef HAVE_BIO_ALLOC_4ARG */ + +/* bio->bi_bdev->bd_disk exists */ +/* #undef HAVE_BIO_BDEV_DISK */ + +/* bio_*_io_acct() available */ +/* #undef HAVE_BIO_IO_ACCT */ + +/* bio_max_segs() is implemented */ +/* #undef HAVE_BIO_MAX_SEGS */ + +/* bio_set_dev() GPL-only */ +/* #undef HAVE_BIO_SET_DEV_GPL_ONLY */ + +/* bio_set_dev() is a macro */ +/* #undef HAVE_BIO_SET_DEV_MACRO */ + +/* bio_set_op_attrs is available */ +/* #undef HAVE_BIO_SET_OP_ATTRS */ + +/* blkdev_get_by_path() exists and takes 4 args */ +/* #undef HAVE_BLKDEV_GET_BY_PATH_4ARG */ + +/* blkdev_get_by_path() handles ERESTARTSYS */ +/* #undef HAVE_BLKDEV_GET_ERESTARTSYS */ + +/* __blkdev_issue_discard(flags) is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_FLAGS */ + +/* __blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC_NOFLAGS */ + +/* blkdev_issue_discard(flags) is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_FLAGS */ + +/* blkdev_issue_discard() is available */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_NOFLAGS */ + +/* blkdev_issue_secure_erase() is available */ +/* #undef HAVE_BLKDEV_ISSUE_SECURE_ERASE */ + +/* blkdev_put() exists */ +/* #undef HAVE_BLKDEV_PUT */ + +/* blkdev_put() accepts void* as arg 2 */ +/* #undef HAVE_BLKDEV_PUT_HOLDER */ + +/* struct queue_limits has a features field */ +/* #undef HAVE_BLKDEV_QUEUE_LIMITS_FEATURES */ + +/* blkdev_reread_part() exists */ +/* #undef HAVE_BLKDEV_REREAD_PART */ + +/* blkg_tryget() is available */ +/* #undef HAVE_BLKG_TRYGET */ + +/* blkg_tryget() GPL-only */ +/* #undef HAVE_BLKG_TRYGET_GPL_ONLY */ + +/* blk_alloc_disk() exists */ +/* #undef HAVE_BLK_ALLOC_DISK */ + +/* blk_alloc_disk() exists and takes 2 args */ +/* #undef HAVE_BLK_ALLOC_DISK_2ARG */ + +/* blk_alloc_queue() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */ + +/* blk_alloc_queue_rh() expects request function */ +/* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */ + +/* blk_cleanup_disk() exists */ +/* #undef HAVE_BLK_CLEANUP_DISK */ + +/* blk_mode_t is defined */ +/* #undef HAVE_BLK_MODE_T */ + +/* block multiqueue hardware context is cached in struct request */ +/* #undef HAVE_BLK_MQ_RQ_HCTX */ + +/* blk queue backing_dev_info is dynamic */ +/* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */ + +/* blk_queue_discard() is available */ +/* #undef HAVE_BLK_QUEUE_DISCARD */ + +/* backing_dev_info is available through queue gendisk */ +/* #undef HAVE_BLK_QUEUE_DISK_BDI */ + +/* blk_queue_secure_erase() is available */ +/* #undef HAVE_BLK_QUEUE_SECURE_ERASE */ + +/* blk_queue_update_readahead() exists */ +/* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */ + +/* BLK_STS_RESV_CONFLICT is defined */ +/* #undef HAVE_BLK_STS_RESV_CONFLICT */ + +/* Define if release() in block_device_operations takes 1 arg */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG */ + +/* Define if revalidate_disk() in block_device_operations */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */ + +/* check_disk_change() exists */ +/* #undef HAVE_CHECK_DISK_CHANGE */ + +/* copy_splice_read exists */ +/* #undef HAVE_COPY_SPLICE_READ */ + +/* cpu_has_feature() is GPL-only */ +/* #undef HAVE_CPU_HAS_FEATURE_GPL_ONLY */ + +/* Define if the GNU dcgettext() function is already present or preinstalled. + */ +/* #undef HAVE_DCGETTEXT */ + +/* DECLARE_EVENT_CLASS() is available */ +/* #undef HAVE_DECLARE_EVENT_CLASS */ + +/* 3-arg dequeue_signal() takes a type argument */ +/* #undef HAVE_DEQUEUE_SIGNAL_3ARG_TYPE */ + +/* dequeue_signal() takes 4 arguments */ +/* #undef HAVE_DEQUEUE_SIGNAL_4ARG */ + +/* lookup_bdev() wants dev_t arg */ +/* #undef HAVE_DEVT_LOOKUP_BDEV */ + +/* disk_check_media_change() exists */ +/* #undef HAVE_DISK_CHECK_MEDIA_CHANGE */ + +/* disk_*_io_acct() available */ +/* #undef HAVE_DISK_IO_ACCT */ + +/* disk_update_readahead() exists */ +/* #undef HAVE_DISK_UPDATE_READAHEAD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the 'execvpe' function. */ +#define HAVE_EXECVPE 1 + +/* fault_in_iov_iter_readable() is available */ +/* #undef HAVE_FAULT_IN_IOV_ITER_READABLE */ + +/* file->f_version exists */ +/* #undef HAVE_FILE_F_VERSION */ + +/* flush_dcache_page() is GPL-only */ +/* #undef HAVE_FLUSH_DCACHE_PAGE_GPL_ONLY */ + +/* Define if compiler supports -Wformat-overflow */ +/* #undef HAVE_FORMAT_OVERFLOW */ + +/* fsync_bdev() is declared in include/blkdev.h */ +/* #undef HAVE_FSYNC_BDEV */ + +/* yes */ +/* #undef HAVE_GENERIC_FADVISE */ + +/* generic_fillattr requires struct mnt_idmap* */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP */ + +/* generic_fillattr requires struct mnt_idmap* and u32 request_mask */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP_REQMASK */ + +/* generic_fillattr requires struct user_namespace* */ +/* #undef HAVE_GENERIC_FILLATTR_USERNS */ + +/* generic_*_io_acct() 4 arg available */ +/* #undef HAVE_GENERIC_IO_ACCT_4ARG */ + +/* GENHD_FL_EXT_DEVT flag is available */ +/* #undef HAVE_GENHD_FL_EXT_DEVT */ + +/* GENHD_FL_NO_PART flag is available */ +/* #undef HAVE_GENHD_FL_NO_PART */ + +/* Define if the GNU gettext() function is already present or preinstalled. */ +/* #undef HAVE_GETTEXT */ + +/* Define to 1 if you have the 'gettid' function. */ +/* #undef HAVE_GETTID */ + +/* iops->get_acl() exists */ +/* #undef HAVE_GET_ACL */ + +/* iops->get_acl() takes rcu */ +/* #undef HAVE_GET_ACL_RCU */ + +/* has iops->get_inode_acl() */ +/* #undef HAVE_GET_INODE_ACL */ + +/* iattr->ia_vfsuid and iattr->ia_vfsgid exist */ +/* #undef HAVE_IATTR_VFSID */ + +/* Define if you have the iconv() function and it works. */ +#define HAVE_ICONV 1 + +/* iops->getattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_GETATTR */ + +/* iops->setattr() takes struct mnt_idmap* */ +/* #undef HAVE_IDMAP_IOPS_SETATTR */ + +/* APIs for idmapped mount are present */ +/* #undef HAVE_IDMAP_MNT_API */ + +/* mnt_idmap does not have user_namespace */ +/* #undef HAVE_IDMAP_NO_USERNS */ + +/* Define if compiler supports -Wimplicit-fallthrough */ +/* #undef HAVE_IMPLICIT_FALLTHROUGH */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_INFINITE_RECURSION */ + +/* inode_get_atime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_ATIME */ + +/* inode_get_ctime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_CTIME */ + +/* inode_get_mtime() exists in linux/fs.h */ +/* #undef HAVE_INODE_GET_MTIME */ + +/* inode_owner_or_capable() exists */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE */ + +/* inode_owner_or_capable() takes mnt_idmap */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_IDMAP */ + +/* inode_owner_or_capable() takes user_ns */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_USERNS */ + +/* inode_set_atime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_ATIME_TO_TS */ + +/* inode_set_ctime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_CTIME_TO_TS */ + +/* inode_set_mtime_to_ts() exists in linux/fs.h */ +/* #undef HAVE_INODE_SET_MTIME_TO_TS */ + +/* timestamp_truncate() exists */ +/* #undef HAVE_INODE_TIMESTAMP_TRUNCATE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* iops->create() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_CREATE_IDMAP */ + +/* iops->create() takes struct user_namespace* */ +/* #undef HAVE_IOPS_CREATE_USERNS */ + +/* iops->mkdir() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKDIR_IDMAP */ + +/* iops->mkdir() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKDIR_USERNS */ + +/* iops->mknod() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_MKNOD_IDMAP */ + +/* iops->mknod() takes struct user_namespace* */ +/* #undef HAVE_IOPS_MKNOD_USERNS */ + +/* iops->permission() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_PERMISSION_IDMAP */ + +/* iops->permission() takes struct user_namespace* */ +/* #undef HAVE_IOPS_PERMISSION_USERNS */ + +/* iops->rename() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_RENAME_IDMAP */ + +/* iops->rename() takes struct user_namespace* */ +/* #undef HAVE_IOPS_RENAME_USERNS */ + +/* iops->symlink() takes struct mnt_idmap* */ +/* #undef HAVE_IOPS_SYMLINK_IDMAP */ + +/* iops->symlink() takes struct user_namespace* */ +/* #undef HAVE_IOPS_SYMLINK_USERNS */ + +/* iov_iter_get_pages() is available */ +/* #undef HAVE_IOV_ITER_GET_PAGES */ + +/* iov_iter_get_pages2() is available */ +/* #undef HAVE_IOV_ITER_GET_PAGES2 */ + +/* iov_iter_type() is available */ +/* #undef HAVE_IOV_ITER_TYPE */ + +/* Define to 1 if you have the 'issetugid' function. */ +#define HAVE_ISSETUGID 1 + +/* iter_iov() is available */ +/* #undef HAVE_ITER_IOV */ + +/* kernel has kernel_fpu_* functions */ +/* #undef HAVE_KERNEL_FPU */ + +/* kernel has asm/fpu/api.h */ +/* #undef HAVE_KERNEL_FPU_API_HEADER */ + +/* kernel fpu internal */ +/* #undef HAVE_KERNEL_FPU_INTERNAL */ + +/* kernel has asm/fpu/internal.h */ +/* #undef HAVE_KERNEL_FPU_INTERNAL_HEADER */ + +/* Define if compiler supports -Winfinite-recursion */ +/* #undef HAVE_KERNEL_INFINITE_RECURSION */ + +/* kernel defines intptr_t */ +/* #undef HAVE_KERNEL_INTPTR_T */ + +/* kernel has kernel_neon_* functions */ +/* #undef HAVE_KERNEL_NEON */ + +/* kernel does stack verification */ +/* #undef HAVE_KERNEL_OBJTOOL */ + +/* kernel has linux/objtool.h */ +/* #undef HAVE_KERNEL_OBJTOOL_HEADER */ + +/* strlcpy() exists */ +/* #undef HAVE_KERNEL_STRLCPY */ + +/* kernel has kmap_local_page */ +/* #undef HAVE_KMAP_LOCAL_PAGE */ + +/* Define if you have [aio] */ +/* #undef HAVE_LIBAIO */ + +/* Define if you have [blkid] */ +/* #undef HAVE_LIBBLKID */ + +/* Define if you have [crypto] */ +#define HAVE_LIBCRYPTO 1 + +/* Define if you have [tirpc] */ +/* #undef HAVE_LIBTIRPC */ + +/* Define if you have [udev] */ +/* #undef HAVE_LIBUDEV */ + +/* Define if you have [unwind] */ +/* #undef HAVE_LIBUNWIND */ + +/* libunwind has unw_get_elf_filename */ +/* #undef HAVE_LIBUNWIND_ELF */ + +/* Define if you have [uuid] */ +/* #undef HAVE_LIBUUID */ + +/* building against unsupported kernel version */ +/* #undef HAVE_LINUX_EXPERIMENTAL */ + +/* makedev() is declared in sys/mkdev.h */ +/* #undef HAVE_MAKEDEV_IN_MKDEV */ + +/* makedev() is declared in sys/sysmacros.h */ +/* #undef HAVE_MAKEDEV_IN_SYSMACROS */ + +/* Noting that make_request_fn() returns blk_qc_t */ +/* #undef HAVE_MAKE_REQUEST_FN_RET_QC */ + +/* Define to 1 if you have the 'mlockall' function. */ +#define HAVE_MLOCKALL 1 + +/* PG_error flag is available */ +/* #undef HAVE_MM_PAGE_FLAG_ERROR */ + +/* page_mapping() is available */ +/* #undef HAVE_MM_PAGE_MAPPING */ + +/* page_size() is available */ +/* #undef HAVE_MM_PAGE_SIZE */ + +/* Define if host toolchain supports MOVBE */ +#define HAVE_MOVBE 1 + +/* folio_wait_bit() exists */ +/* #undef HAVE_PAGEMAP_FOLIO_WAIT_BIT */ + +/* part_to_dev() exists */ +/* #undef HAVE_PART_TO_DEV */ + +/* iops->getattr() takes a path */ +/* #undef HAVE_PATH_IOPS_GETATTR */ + +/* Define if host toolchain supports PCLMULQDQ */ +#define HAVE_PCLMULQDQ 1 + +/* proc_handler ctl_table arg is const */ +/* #undef HAVE_PROC_HANDLER_CTL_TABLE_CONST */ + +/* proc_ops structure exists */ +/* #undef HAVE_PROC_OPS_STRUCT */ + +/* If available, contains the Python version number currently in use. */ +#define HAVE_PYTHON "3.7" + +/* qat is enabled and existed */ +/* #undef HAVE_QAT */ + +/* struct reclaim_state has reclaimed */ +/* #undef HAVE_RECLAIM_STATE_RECLAIMED */ + +/* register_shrinker is vararg */ +/* #undef HAVE_REGISTER_SHRINKER_VARARG */ + +/* register_sysctl_sz exists */ +/* #undef HAVE_REGISTER_SYSCTL_SZ */ + +/* register_sysctl_table exists */ +/* #undef HAVE_REGISTER_SYSCTL_TABLE */ + +/* iops->rename() wants flags */ +/* #undef HAVE_RENAME_WANTS_FLAGS */ + +/* revalidate_disk() is available */ +/* #undef HAVE_REVALIDATE_DISK */ + +/* revalidate_disk_size() is available */ +/* #undef HAVE_REVALIDATE_DISK_SIZE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SECURITY_PAM_MODULES_H 1 + +/* setattr_prepare() accepts mnt_idmap */ +/* #undef HAVE_SETATTR_PREPARE_IDMAP */ + +/* setattr_prepare() is available, doesn't accept user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_NO_USERNS */ + +/* setattr_prepare() accepts user_namespace */ +/* #undef HAVE_SETATTR_PREPARE_USERNS */ + +/* iops->set_acl() takes 4 args, arg1 is struct mnt_idmap * */ +/* #undef HAVE_SET_ACL_IDMAP_DENTRY */ + +/* iops->set_acl() takes 4 args */ +/* #undef HAVE_SET_ACL_USERNS */ + +/* iops->set_acl() takes 4 args, arg2 is struct dentry * */ +/* #undef HAVE_SET_ACL_USERNS_DENTRY_ARG2 */ + +/* shrinker_register exists */ +/* #undef HAVE_SHRINKER_REGISTER */ + +/* kernel_siginfo_t exists */ +/* #undef HAVE_SIGINFO */ + +#if defined(__amd64__) || defined(__i386__) +/* Define if host toolchain supports SSE */ +#define HAVE_SSE 1 + +/* Define if host toolchain supports SSE2 */ +#define HAVE_SSE2 1 + +/* Define if host toolchain supports SSE3 */ +#define HAVE_SSE3 1 + +/* Define if host toolchain supports SSE4.1 */ +#define HAVE_SSE4_1 1 + +/* Define if host toolchain supports SSE4.2 */ +#define HAVE_SSE4_2 1 + +/* Define if host toolchain supports SSSE3 */ +#define HAVE_SSSE3 1 +#endif + +/* STACK_FRAME_NON_STANDARD is defined */ +/* #undef HAVE_STACK_FRAME_NON_STANDARD */ + +/* standalone exists */ +/* #undef HAVE_STANDALONE_LINUX_STDARG */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the 'strerror_l' function. */ +#define HAVE_STRERROR_L 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the 'strlcat' function. */ +#define HAVE_STRLCAT 1 + +/* Define to 1 if you have the 'strlcpy' function. */ +#define HAVE_STRLCPY 1 + +/* submit_bio is member of struct block_device_operations */ +/* #undef HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS */ + +/* have super_block s_shrink */ +/* #undef HAVE_SUPER_BLOCK_S_SHRINK */ + +/* have super_block s_shrink pointer */ +/* #undef HAVE_SUPER_BLOCK_S_SHRINK_PTR */ + +/* sync_blockdev() is declared in include/blkdev.h */ +/* #undef HAVE_SYNC_BLOCKDEV */ + +/* struct kobj_type has default_groups */ +/* #undef HAVE_SYSFS_DEFAULT_GROUPS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* i_op->tmpfile() uses old dentry signature */ +/* #undef HAVE_TMPFILE_DENTRY */ + +/* i_op->tmpfile() has mnt_idmap */ +/* #undef HAVE_TMPFILE_IDMAP */ + +/* i_op->tmpfile() has userns */ +/* #undef HAVE_TMPFILE_USERNS */ + +/* totalhigh_pages() exists */ +/* #undef HAVE_TOTALHIGH_PAGES */ + +/* kernel has totalram_pages() */ +/* #undef HAVE_TOTALRAM_PAGES_FUNC */ + +/* Define to 1 if you have the 'udev_device_get_is_initialized' function. */ +/* #undef HAVE_UDEV_DEVICE_GET_IS_INITIALIZED */ + +/* kernel has __kernel_fpu_* functions */ +/* #undef HAVE_UNDERSCORE_KERNEL_FPU */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* iops->getattr() takes struct user_namespace* */ +/* #undef HAVE_USERNS_IOPS_GETATTR */ + +/* iops->setattr() takes struct user_namespace* */ +/* #undef HAVE_USERNS_IOPS_SETATTR */ + +/* fops->clone_file_range() is available */ +/* #undef HAVE_VFS_CLONE_FILE_RANGE */ + +/* fops->dedupe_file_range() is available */ +/* #undef HAVE_VFS_DEDUPE_FILE_RANGE */ + +/* aops->direct_IO() uses iov_iter without rw */ +/* #undef HAVE_VFS_DIRECT_IO_ITER */ + +/* aops->direct_IO() uses iov_iter with offset */ +/* #undef HAVE_VFS_DIRECT_IO_ITER_OFFSET */ + +/* filemap_dirty_folio exists */ +/* #undef HAVE_VFS_FILEMAP_DIRTY_FOLIO */ + +/* generic_copy_file_range() is available */ +/* #undef HAVE_VFS_GENERIC_COPY_FILE_RANGE */ + +/* All required iov_iter interfaces are available */ +/* #undef HAVE_VFS_IOV_ITER */ + +/* migrate_folio exists */ +/* #undef HAVE_VFS_MIGRATE_FOLIO */ + +/* address_space_operations->readpages exists */ +/* #undef HAVE_VFS_READPAGES */ + +/* read_folio exists */ +/* #undef HAVE_VFS_READ_FOLIO */ + +/* fops->remap_file_range() is available */ +/* #undef HAVE_VFS_REMAP_FILE_RANGE */ + +/* __set_page_dirty_nobuffers exists */ +/* #undef HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS */ + +/* splice_copy_file_range() is available */ +/* #undef HAVE_VFS_SPLICE_COPY_FILE_RANGE */ + +/* __vmalloc page flags exists */ +/* #undef HAVE_VMALLOC_PAGE_KERNEL */ + +/* int (*writepage_t)() takes struct folio* */ +/* #undef HAVE_WRITEPAGE_T_FOLIO */ + +/* xattr_handler->get() wants dentry and inode and flags */ +/* #undef HAVE_XATTR_GET_DENTRY_INODE_FLAGS */ + +/* xattr_handler->set() wants both dentry and inode */ +/* #undef HAVE_XATTR_SET_DENTRY_INODE */ + +/* xattr_handler->set() takes mnt_idmap */ +/* #undef HAVE_XATTR_SET_IDMAP */ + +/* xattr_handler->set() takes user_namespace */ +/* #undef HAVE_XATTR_SET_USERNS */ + +/* Define if host toolchain supports XSAVE */ +#define HAVE_XSAVE 1 + +/* Define if host toolchain supports XSAVEOPT */ +#define HAVE_XSAVEOPT 1 + +/* Define if host toolchain supports XSAVES */ +#define HAVE_XSAVES 1 + +/* ZERO_PAGE() is GPL-only */ +/* #undef HAVE_ZERO_PAGE_GPL_ONLY */ + +/* Define if you have [z] */ +#define HAVE_ZLIB 1 + +/* kernel exports FPU functions */ +/* #undef KERNEL_EXPORTS_X86_FPU */ + +/* TBD: fetch(3) support */ +#if 0 +/* whether the chosen libfetch is to be loaded at run-time */ +#define LIBFETCH_DYNAMIC 1 + +/* libfetch is fetch(3) */ +#define LIBFETCH_IS_FETCH 1 + +/* libfetch is libcurl */ +#define LIBFETCH_IS_LIBCURL 0 + +/* soname of chosen libfetch */ +#define LIBFETCH_SONAME "libfetch.so.6" +#endif + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* make_request_fn() return type */ +/* #undef MAKE_REQUEST_FN_RET */ + +/* using complete_and_exit() instead */ +/* #undef SPL_KTHREAD_COMPLETE_AND_EXIT */ + +/* Defined for legacy compatibility. */ +#define SPL_META_ALIAS ZFS_META_ALIAS + +/* Defined for legacy compatibility. */ +#define SPL_META_RELEASE ZFS_META_RELEASE + +/* Defined for legacy compatibility. */ +#define SPL_META_VERSION ZFS_META_VERSION + +/* pde_data() is PDE_DATA() */ +/* #undef SPL_PDE_DATA */ + +/* Define to 1 if all of the C89 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#define SYSTEM_FREEBSD 1 + +/* True if ZFS is to be compiled for a Linux system */ +/* #undef SYSTEM_LINUX */ + +/* Version number of package */ +/* #undef ZFS_DEBUG */ + +/* /dev/zfs minor */ +/* #undef ZFS_DEVICE_MINOR */ + +/* Define the project alias string. */ - #define ZFS_META_ALIAS "zfs-2.3.99-92-FreeBSD_gd0a91b9f8" ++#define ZFS_META_ALIAS "zfs-2.3.99-114-FreeBSD_ge0039c705" + +/* Define the project author. */ +#define ZFS_META_AUTHOR "OpenZFS" + +/* Define the project release date. */ +/* #undef ZFS_META_DATA */ + +/* Define the maximum compatible kernel version. */ +#define ZFS_META_KVER_MAX "6.12" + +/* Define the minimum compatible kernel version. */ +#define ZFS_META_KVER_MIN "4.18" + +/* Define the project license. */ +#define ZFS_META_LICENSE "CDDL" + +/* Define the libtool library 'age' version information. */ +/* #undef ZFS_META_LT_AGE */ + +/* Define the libtool library 'current' version information. */ +/* #undef ZFS_META_LT_CURRENT */ + +/* Define the libtool library 'revision' version information. */ +/* #undef ZFS_META_LT_REVISION */ + +/* Define the project name. */ +#define ZFS_META_NAME "zfs" + +/* Define the project release. */ - #define ZFS_META_RELEASE "92-FreeBSD_gd0a91b9f8" ++#define ZFS_META_RELEASE "114-FreeBSD_ge0039c705" + +/* Define the project version. */ +#define ZFS_META_VERSION "2.3.99" + +/* count is located in percpu_ref.data */ +/* #undef ZFS_PERCPU_REF_COUNT_IN_DATA */ diff --cc sys/modules/zfs/zfs_gitrev.h index a2122a773a82,000000000000..5466d277b985 mode 100644,000000..100644 --- a/sys/modules/zfs/zfs_gitrev.h +++ b/sys/modules/zfs/zfs_gitrev.h @@@ -1,1 -1,0 +1,1 @@@ - #define ZFS_META_GITREV "zfs-2.3.99-92-gd0a91b9f8" ++#define ZFS_META_GITREV "zfs-2.3.99-114-ge0039c705" From nobody Sat Dec 7 15:50:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5CJk3YkHz5fpTY; Sat, 07 Dec 2024 15:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5CJk2NbHz4sdl; Sat, 7 Dec 2024 15:50:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733586646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5ibJz2NkMswTBWo/BlUslLiIGMAsGW1r+m8daziOXKg=; b=qhdT5hsxTylh86EKCyRRuOydxqvbC56EzpScPNSSyzKKVXmCfG9WC+XUrGWfKuGfoofGC2 gEGENQcNL846+wUS8flhR+cezJqKjaMtSloCfb/8lhySGCUvA+tyD45sOIxUxEF+SlnFCU zc/ATykN1yhCNMhoqDvP5Sa1Te2nLU1XdV89s3c+/FhtHQBmvnJV6JZjG4GCB52mKOc7rE aTCF5TAOt0HPTVX2UDVXRdHBmExs/9qmySoBWnv1XUeZGNYQg6NpmoEP9hjRyQrj6zaIWE pZ4wc0vhDhIvD53iNhfYNQeRAtffHyXLKK2o34AMePqCA5UUuJP/izxkO5UKBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733586646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5ibJz2NkMswTBWo/BlUslLiIGMAsGW1r+m8daziOXKg=; b=R4iCm4vIvJ478MsChZkA8GMVkYpCKYl5xbB/l82I/GAvDxExTSN/xXYysA9V57DpyEwTfd uPg0AboWwU+uh2GuORC4h/QkSKtZET1sWbE1ykQaYxUo6SHCBL4VYf+0sIXn23F3PZn1L+ Bs4rKKjcjmFps+pXXraWnaLrgaxDJTPHKRzXElbjXRiq/ZB8riFgHmq+Y3YbpdJrXUIxl9 G2n0RZwYQh5GytyXDKY62G29+G0j25+ogZPtkGLkHl0bb75+tyt6ollAkjUTgjK3XljjZt Tr4Lq6td7hOZLD+PBueA+FpBW0uJ14G/d3mtqaaPhehcgT0uUgABI8CDWO8RDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733586646; a=rsa-sha256; cv=none; b=iJpSo0eQjylndxJlG3qqKJ7CNk5CtrZWwdybPLjfzQgdhEUefT21nYUjstADBITsJ2ZN9k EPeg+I+MH/hxFvUpWueYitHGxJFSNyToAfUAzTJdA19Si2h2WG7J+Bs2gvh3SJ5yo3G+9z 039uclmX3qDqIen5KCSG/IQLAZDfIvwxCnM5mCuqY7Fe8MKSHch/29/r14RLr3EEU5Gt5N 0XjEy/AG07frm2VlM5W3aMvTLu9cnwTWMlJqRTrd/+dPqSLB/IyJOKWnpcVvUBxgzUD3mU rS1JVUp8u9/At/9RI/2dHZZ9ZUfUk1ozEJuYHqJEjNXoqZJuUUL4OCF3aorO0g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y5CJk1kWrz1SF9; Sat, 7 Dec 2024 15:50: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 4B7FokPx017105; Sat, 7 Dec 2024 15:50:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B7Fokxj017102; Sat, 7 Dec 2024 15:50:46 GMT (envelope-from git) Date: Sat, 7 Dec 2024 15:50:46 GMT Message-Id: <202412071550.4B7Fokxj017102@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: dde3a7e15be1 - main - mount_cd9660.8: Bump .Dd for expanding mode mask 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: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dde3a7e15be175e8b733cfc42bbb2a2c15810311 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=dde3a7e15be175e8b733cfc42bbb2a2c15810311 commit dde3a7e15be175e8b733cfc42bbb2a2c15810311 Author: John Baldwin AuthorDate: 2024-12-07 15:45:26 +0000 Commit: John Baldwin CommitDate: 2024-12-07 15:45:26 +0000 mount_cd9660.8: Bump .Dd for expanding mode mask bits Forgot to amend the prior commit before pushing. Fixes: c1ad5b4b10c5 cd9660: Apply the file and directory mode masks bits to all 12 access bits --- sbin/mount_cd9660/mount_cd9660.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/mount_cd9660/mount_cd9660.8 b/sbin/mount_cd9660/mount_cd9660.8 index 19c3ca5cf012..2c6af7500277 100644 --- a/sbin/mount_cd9660/mount_cd9660.8 +++ b/sbin/mount_cd9660/mount_cd9660.8 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd January 2, 2024 +.Dd December 6, 2024 .Dt MOUNT_CD9660 8 .Os .Sh NAME From nobody Sat Dec 7 15:50:47 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5CJm19X7z5fpWS; Sat, 07 Dec 2024 15:50: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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5CJl5r0Gz4sdm; Sat, 7 Dec 2024 15:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733586647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T1ZGvqeaSnISYIZ0I83cwq+BBK6b4K5EelwNP94+uzA=; b=syIP8ZsrewrXyUZABhzJHgczA/a61HNyyvHLRKCCv+5WozYPk+6XlAIz/YDPhlIUIhuI8m FomKtx/X4POi+tAgvBbrI/lhx0gFFZrW/l4ik3Omdy56sJL8JBZfxaNxY3RJjID5MdfDcb jk7qYg4VVDJURfYVjMTGPheQwWBEgHAlaPJyozch2kIs34VYHGgWSsHdaRaWYyYLpReOnb MQ2qbUt+Cj8dQesroJaT/z7QWNOuQ6ABOvNIq+3J1fLmUMe3nCGQQpNECz+LINO8supzsC abKU4RXTnXyJ6tP/9nmCBaOKEAi7E1NukzvcpqE2xdxy4W+O8dGEZa1IT+qn3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733586647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T1ZGvqeaSnISYIZ0I83cwq+BBK6b4K5EelwNP94+uzA=; b=Fz2j9or7EriuY0qDdbSigVTQJI8WN2vNk3N9ayYTkG7KjHnaiCACQr1XmjdLYGu0q6ndcf JwvE7E+GR8suOGQpiwiTPodksBmAomJae+ofpggVLN0FebiTYB5QYuze+Myot/69tQgYTi 1U9rxZajizFSSJJP0ThtaRDu6Aoi1JTxsRE3kGuAhU5T/F1yd/NEjTEW2Kj5ZibNocHhOs KyNozFKaX6a3GLvnKfjlRleN4lkCrTT9iG26vV16mSDU8fez7XPct2YmO+9N5f9KgBgWun 0wyoYY6OY4sMemI1LToYruYKSBLhdQmLSe0CzKrVF4eTY62alRRx8IV7Zfotlg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733586647; a=rsa-sha256; cv=none; b=ngGNel40oJrwu6iQ1Ky7DI5YzPbmK+C1juW8cUOu14LUp5h9YRg4DxtkgcSTXaoonDU76r PC8i/tSNhhWUL2f4ffXUJR+iLX7drJdmxoP7QueWNAJtIb1ziT17z3+W//r0ubE2SZW+Fr tCWssw6UpcnzVpghn6zq3eT4tV9lsriF9FVMEOFzy68XvnXZD7Am1rIH1sjnY/bYMKJVq7 aGb0CQtBFkZckyH81MbCl3JFVIVK814UCxk6Y1H+bOaDoKhxE/hIdt3/UYEaU9b2FuGsN1 fPRM3QJZaM1Ws0HzbdNuUM//hreOTf0T88FSeq5kH8PdookF+21ryEQdi0wpEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y5CJl3WBhz1SRK; Sat, 7 Dec 2024 15:50:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B7Folvu017156; Sat, 7 Dec 2024 15:50:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B7FolUa017153; Sat, 7 Dec 2024 15:50:47 GMT (envelope-from git) Date: Sat, 7 Dec 2024 15:50:47 GMT Message-Id: <202412071550.4B7FolUa017153@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: f00fe116dc9d - main - ObsoleteFiles.inc: Correct date for SOC FPGA driver removal List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f00fe116dc9d9d164b37a44048397ea8594f110e Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=f00fe116dc9d9d164b37a44048397ea8594f110e commit f00fe116dc9d9d164b37a44048397ea8594f110e Author: John Baldwin AuthorDate: 2024-12-07 15:50:18 +0000 Commit: John Baldwin CommitDate: 2024-12-07 15:50:18 +0000 ObsoleteFiles.inc: Correct date for SOC FPGA driver removal Fixes: 8f7835acc6d6 Remove SOC FPGA drivers --- ObsoleteFiles.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index a59907a36969..473daec4c737 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -51,7 +51,7 @@ # xargs -n1 | sort | uniq -d; # done -# 2024xxxx: Remove Altera DE4 drivers +# 20241206: Remove Altera DE4 drivers OLD_FILES+=usr/share/man/man4/altera_atse.4.gz OLD_FILES+=usr/share/man/man4/altera_avgen.4.gz OLD_FILES+=usr/share/man/man4/altera_jtag_uart.4.gz From nobody Sun Dec 8 01:24:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5S2S3pPlz5fnCD; Sun, 08 Dec 2024 01:24:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5S2S1ql7z4dr3; Sun, 8 Dec 2024 01:24:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733621056; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=79SQ0kp2+mhyRpgWH0Hm3sydUGoRmXgSeifvHMUQBqA=; b=cz1R5uQYFXX2R8626lTWflDZnJBitUe/v00a4JiO8H+i3nUsE0pRdBUnzIEr9zJdmja4Xu WOw/hE53BsvfU99h863vZgbZgmMab5Z60PGUWF2QMR9c3ryq3WemB0Faxyh/LbK1LY5g7w DGcPIORWYqMyRWHWhxVT2JNd5hGpzt+8+AlIXWgt0PuicSm/TxAiH3q6bYfKIuC3BjgGQF lREcwZ4ecINzz12IhFNUtbRGEOk63weozP8R8uINUgaDH+ZCfR66AzCHzTKqRUMzXT1s7S Dv/4SSOQEIcUO36H9z9J47GGExWtBo3bCOpk8a4hBIg1JiUdbvEyNCWSwwuEAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733621056; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=79SQ0kp2+mhyRpgWH0Hm3sydUGoRmXgSeifvHMUQBqA=; b=S1jiSo/V8FCGl+lA2FhunaF614/An9ECPkPpPLpPJqgPEQ2xlIo1D91jxr4uuSeIm3ElLx QCFrdTLhcJ2+o0yeCEenUnAz2FPBsvQRYixCu+tOg3iYuxSaqy5wDyUf5a5ZMXr/O5dm3G W+8GN8EUFxa2H7xJ/G0/eHVU365+RZUjgWY3xNU4fIupk8PZzdY6naydFQJSRv4Luh46XN YWBWw804ljLue/cbpnZRZvQh+1lpFpzCicmVVQ4z6O3QEwoNOlyr5/Wa29zOllDphG34fb rOvLNhYlEbTZg/lcU1mtyJqNwdad1KHHTbtfU0QN0sUcLeC5ADsl7NIzNdtrWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733621056; a=rsa-sha256; cv=none; b=PxbtfEeBS40zR5W2jZ5ptLpf09zANJs7jS1ubOy7WgNjpcnHfXQWnpwq0pgfS5DIfQStQe 0GLxU2mfIw3l6ioq65tAzHsQFUn2U6Qlf03dV9rgr2tk4Hh5Vx7OxwYV7dge62Rx3uH8bn 8mqzyBAfZPgy29R+speY8GD7CNp1kU253rFYKN/XVW3yl9ZmrbAdl8COOoKHrVe/eeKXhD ktuE0c4YJiwWpTxpc/dP85/VfOPYJXmIqmVcswhfxffQBop+vz+4NwNdGde/j6KkmIwWGz ahh3ZapwLqZdl5DIAB5Ehzs/LTulnTKebHZ8wZlb1KynWK0gMsDNSSqgHV0SSw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y5S2S1RzpzXJF; Sun, 8 Dec 2024 01:24: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 4B81OGiT083062; Sun, 8 Dec 2024 01:24:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B81OGnR083059; Sun, 8 Dec 2024 01:24:16 GMT (envelope-from git) Date: Sun, 8 Dec 2024 01:24:16 GMT Message-Id: <202412080124.4B81OGnR083059@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: c3d2c959b5c0 - main - lindebugfs: Export symbols List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c3d2c959b5c0ea05d6e5162def35d51ec267590c Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c3d2c959b5c0ea05d6e5162def35d51ec267590c commit c3d2c959b5c0ea05d6e5162def35d51ec267590c Author: Ed Maste AuthorDate: 2024-12-07 18:03:40 +0000 Commit: Ed Maste CommitDate: 2024-12-08 01:23:15 +0000 lindebugfs: Export symbols We currently rely on the kernel linker resolving undefined references against local symbols from other kernel modules. Be explicit about the symbols to export, in advance of changing that behaviour. PR: 207898 Reviewed by: kib, bz Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D47980 --- sys/modules/lindebugfs/Makefile | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/sys/modules/lindebugfs/Makefile b/sys/modules/lindebugfs/Makefile index 0933208d60fa..90713a634b4b 100644 --- a/sys/modules/lindebugfs/Makefile +++ b/sys/modules/lindebugfs/Makefile @@ -6,4 +6,25 @@ SRCS+= ${LINUXKPI_GENSRCS} CFLAGS+= ${LINUXKPI_INCLUDES} +EXPORT_SYMS= debugfs_create_atomic_t +EXPORT_SYMS+= debugfs_create_blob +EXPORT_SYMS+= debugfs_create_bool +EXPORT_SYMS+= debugfs_create_dir +EXPORT_SYMS+= debugfs_create_file +EXPORT_SYMS+= debugfs_create_file_size +EXPORT_SYMS+= debugfs_create_file_unsafe +EXPORT_SYMS+= debugfs_create_mode_unsafe +EXPORT_SYMS+= debugfs_create_symlink +EXPORT_SYMS+= debugfs_create_u8 +EXPORT_SYMS+= debugfs_create_u16 +EXPORT_SYMS+= debugfs_create_u32 +EXPORT_SYMS+= debugfs_create_u64 +EXPORT_SYMS+= debugfs_create_ulong +EXPORT_SYMS+= debugfs_create_x8 +EXPORT_SYMS+= debugfs_create_x16 +EXPORT_SYMS+= debugfs_create_x32 +EXPORT_SYMS+= debugfs_create_x64 +EXPORT_SYMS+= debugfs_remove +EXPORT_SYMS+= debugfs_remove_recursive + .include From nobody Sun Dec 8 05:59:07 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5Z7b28GFz5g86g; Sun, 08 Dec 2024 05:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5Z7b1QVlz46LF; Sun, 8 Dec 2024 05:59:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733637547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U0kgTohyza48qRGIXJll5niBASSP0lJnBXB55U2XNbQ=; b=XlA7zg5v0H8M3SVfI+9vHjJmytXjVHcuyjjLs6i+9gZDsFOuYXu2gOYXnCll3/bNG3mTTU GWK2eHPeEZKMbYi9payfV2v5baAaHRYYqSuHNea58N36awxFlbIHVnXUaeToUceNbchOHD yVwgpZo5mjQ185GXMvJ205GX9JQzT8lIHzr8GMnw7t5Y0CnEoPSsGVwGtc0Rac/RhqpQ7t 2571f5kJq57Otb44yTd+7HYc4CJeqJARTu3vktllfzSnPsXcCg+80m0GxNvcG1pLfi8Wgl /GzgOel2yML/GU0CrEj27XEaIIWwTlQpoc4S8SbsAPzsqVYbKbpXIfrKj3/48w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733637547; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U0kgTohyza48qRGIXJll5niBASSP0lJnBXB55U2XNbQ=; b=q33b2bvohoB6LB9nz8QdDWnU84E7vNA+ddvpAuft167qBelpbs8eR0MlPQEmVB7WYHmWDD rzAEYDr9n8kaPHRbT91CT/wjgKipBM33d6khuqQehAtqMM1598qlNPnNBRkLDTYJANqHJi cm57hSey37OfHTvi3CnpJG9ySN9KqzQPp06l0LzrCuWPUKmA3jsyS/bkq5vJsCN76boNKX auZmuBOyu1gmt2cdKKJjiRlZTXH4AQxgq4d0gHIllJ5gwAU2n70Wo4kjVsT23Vj4LY9sj1 MCQcI1vrPLwVj3iitUFQ4zc2XiPerSnCIhrTPnDxldxB0peajXZ6XYxe4KcBXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733637547; a=rsa-sha256; cv=none; b=KsTKdulNFGpqkUErYXSXpNxIQxSt6YIBCozaoiTzHl/4B9kikB3Wr0Mhl3fZhnbmK2AsXn hPrz/qVTibMbpiJrwb59h5YoDqNBX7lNoXDwQNCnhq2ZhOFjKCa1CHR4lg9BfzzziyHrgk lNOsraRLhL8js1BrcB6TarExpL0J11DTTo9wXMQ1ugjPrxOoAJMsVLcAMDPwwOC5y5woYL XTYZ4vu0TTRJHNKdon5OAyO5wLDRgTtGF06ZFEPPJqzQcmwHkzdumLvRMfpZ5LfRxX1T6Q gn5D1FuTtpPXTIpkEN6lyuREF6YeY8EcKrh1sOoqM61/thG/XsMmOFeJ1/xESQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y5Z7b11bbzgLY; Sun, 8 Dec 2024 05:59: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 4B85x7GQ086543; Sun, 8 Dec 2024 05:59:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B85x7l2086541; Sun, 8 Dec 2024 05:59:07 GMT (envelope-from git) Date: Sun, 8 Dec 2024 05:59:07 GMT Message-Id: <202412080559.4B85x7l2086541@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: 45d5b9f0324a - main - cxgbe/t4_tom: Plug an stid leak. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 45d5b9f0324a13df06712b7a9df5f2fbe8475764 Auto-Submitted: auto-generated The branch main has been updated by np: URL: https://cgit.FreeBSD.org/src/commit/?id=45d5b9f0324a13df06712b7a9df5f2fbe8475764 commit 45d5b9f0324a13df06712b7a9df5f2fbe8475764 Author: Navdeep Parhar AuthorDate: 2024-12-08 03:34:30 +0000 Commit: Navdeep Parhar CommitDate: 2024-12-08 05:54:30 +0000 cxgbe/t4_tom: Plug an stid leak. Normally the reply to destroy_server() releases the listen context but it is not called when the adapter is suspended. Release the context right away in that case. MFC after: 1 week Sponsored by: Chelsio Communications --- sys/dev/cxgbe/tom/t4_listen.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/dev/cxgbe/tom/t4_listen.c b/sys/dev/cxgbe/tom/t4_listen.c index c63c2565e743..06c495dcafc3 100644 --- a/sys/dev/cxgbe/tom/t4_listen.c +++ b/sys/dev/cxgbe/tom/t4_listen.c @@ -769,6 +769,8 @@ t4_listen_stop(struct toedev *tod, struct tcpcb *tp) if (lctx->flags & LCTX_SETUP_IN_HW) destroy_server(sc, lctx); + else + inp = release_lctx(sc, lctx); return (0); } From nobody Sun Dec 8 07:48:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5cZJ2gkWz5gJ5n; Sun, 08 Dec 2024 07:48:56 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5cZJ28rSz4Hkg; Sun, 8 Dec 2024 07:48:56 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733644136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=WCnoZ2ZEkLGNEmDnckjDhPMZgJCMaYdpBVW5cmde84M=; b=kYEYRJOMZ4aHciIu2SO+CPlCA9E6yXeYObv++DfR7dGmU/LgK7GTDPOM74hCU8M76QgcOw cadN7tOGm1wHWE7w+awtBsihGuVa1FGEcxDYLqqJQnAFN1/8Rgb5EtFAKTktCqlXGlhgaW fVy2/xo+b2YQGJOGiGT1lD37QGYTh4GoY2bF+Omst+mev0S213E7uSgn70u5FzRU1EqenN ZztGyc29pbZWt65vkmQbjEJvlM4A9YAdBZEPRS9vnjzYAkUTKHqXCht1z8McgEDHP8xgd/ qLF4OrhiVDTUainZGG+iqrFx2EhmDUfwXqpeWpj4oPNzBSSCFEUITG28MEbY9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733644136; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=WCnoZ2ZEkLGNEmDnckjDhPMZgJCMaYdpBVW5cmde84M=; b=vaxkciAEe7upTRVt+qOlcc4Z4+bPjH9m2QGXK53Y0mTJxQPll4T67cN2c4a5Ig2FjSGFes g0BGF5VKfC8ze+HO2pVKVMsYpocz8RQ7UtYsV8+3TYmcd/N6LrKu8eGnBs8VUVHSBpLNRD enj19xiUBL1pIqbNYLDbzDaD8Mxp4zgyXeSwNUUsxwtwEJ7Bny8H2gRFoF0PMmr+CaDBWX 17tEQk+j9arcr1FB+JaMDYdCtPDuoAbUhouqrMzkGCiqc7K+PZVi2Yn0q/AHTPv4uASVoy 7FBgBt3RQE2cX8ywD+fvvYw6ej07E2ynm4+1WaACL8pPvaPpKgpdSGWXeIDrlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733644136; a=rsa-sha256; cv=none; b=MvwuiZvqj/0ygOntaFjEnI8EdbPEVT5fkjsm++mhXNQJlrDdTM1UjgnS4peClsXieGJaQJ pzBDuNjQDdKgw1jOF8KS9MrZmMIkh3mMFRGhzlwSrNZOLWp9gOI8VJKlpKLq5oAMGvd/if SSv7GodenQngOZijvkN/fo69hgxrEv7MZZmX3e7h4MBfFj/79V0YdGIztXXG66SeVmNiz7 4/jVmJzvOdnK7r7JtHkd9bhBmcaHB6m2LzRHyzsCDI+z4uVDajZ4uwiUKsJ/oQZZTZUbke Z1wX+18kN2Lkn7eMk8TRyK+JQOxMNIENciO6g0Ji4uzqu9vZfNkgCOeVszlMGA== Received: from mail-qv1-f42.google.com (mail-qv1-f42.google.com [209.85.219.42]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y5cZJ1cxFz164T; Sun, 8 Dec 2024 07:48:56 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-qv1-f42.google.com with SMTP id 6a1803df08f44-6d8892c6ac0so4887616d6.3; Sat, 07 Dec 2024 23:48:56 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCWXOX6V91HdGPSB6sO2b0tsc3EXknAd5/5bclxmjQWAfsizYXgqBOON4KCOx5VcxvKrIBHrxFbd16Zcu8xroglX1Kmhyys=@freebsd.org, AJvYcCWYTOFlr9PBDv/ge1lXcotN+g0E/Qciye9Ofi+AcF2HneD6ldc2YNmFDcV1Pi40vDqZXLWc3XrYDMlCe3c3haKqJcCx@freebsd.org X-Gm-Message-State: AOJu0YwWjw8DzrLd5B25tsfrmZlTscvOQlswRPFG46V85dTh4GC+j2IV AK51BvJd9YmVXNU2oPO+bOCJe2oF/skZjmKs7UIjbHb5zFGqlJPM/3UUoZcsU6jHuLG1yF+4NTs 8cfUVgHyTHIx88bxFSk7enZvaEDs= X-Google-Smtp-Source: AGHT+IFC9nxaTXQAtkM8pnTQVpqVO0o1CSAvUUc84F53NoDK4h7UEV2QudbNot1TjiS7fC0LjfzASqyw0PgDlOAUGao= X-Received: by 2002:ac8:7c9:0:b0:467:5462:4a18 with SMTP id d75a77b69052e-46754624cf8mr16573581cf.0.1733644135660; Sat, 07 Dec 2024 23:48:55 -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: <202412061731.4B6HVxb7024201@gitrepo.freebsd.org> In-Reply-To: <202412061731.4B6HVxb7024201@gitrepo.freebsd.org> From: Nuno Teixeira Date: Sun, 8 Dec 2024 07:48:44 +0000 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: 71ac745d76c3 - main - Merge llvm-project release/19.x llvmorg-19.1.5-0-gab4b5a2db582 To: Dimitry Andric Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000df8ecf0628bd7a96" --000000000000df8ecf0628bd7a96 Content-Type: text/plain; charset="UTF-8" Hello, On aarch64 I'v started to see ports failing with illegal instructions on main-n274092-f00fe116dc9d. So far the following ports are failing: sysutils/dmidecode textproc/docbook2mdoc devel/libpci lang/lua53 Maybe it is worth to take a check on them? Thanks ==== ./types.h:55:25: note: expanded from macro 'DWORD' 55 | #define DWORD(x) (u32)(*(const u32 *)(x)) | ^~~~~~~~~~~~~~~~ --- dmioem.o --- #0 0x0000000004e7d2e0 PrintStackTrace /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:13 #1 0x0000000004e7b2d8 __cxx_atomic_store /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/cxx_atomic_impl.h:304:3 #2 0x0000000004e7b2d8 store /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/atomic_base.h:51:5 #3 0x0000000004e7b2d8 RunSignalHandlers /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:107:16 #4 0x0000000004e4b428 HandleCrash /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:73:5 #5 0x0000000004e4b428 CrashRecoverySignalHandler /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:390:51 #6 0x000000008952ae80 handle_signal /usr/src/lib/libthr/thread/thr_sig.c:0:3 cc: error: clang frontend command failed with exit code 132 (use -v to see invocation) FreeBSD clang version 19.1.5 (https://github.com/llvm/llvm-project.git llvmorg-19.1.5-0-gab4b5a2db582) Target: aarch64-unknown-freebsd15.0 Thread model: posix InstalledDir: /usr/bin cc: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: cc: note: diagnostic msg: /tmp/dmioem-9137f8.c cc: note: diagnostic msg: /tmp/dmioem-9137f8.sh cc: note: diagnostic msg: ==== ==== cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -g -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings -c reorg.c -o reorg.o --- xmalloc.o --- Illegal instruction (core dumped) *** [xmalloc.o] Error code 132 ==== ==== cc -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_READLINE_DL -isystem /usr/local/include -O2 -pipe -fPIC -fstack-protector-strong -isystem /usr/local/include -c ldebug.c -o ldebug.o Illegal instruction (core dumped) *** [ldebug.o] Error code 132===== ==== --000000000000df8ecf0628bd7a96 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

On aarch64 I'v st= arted to see ports failing with illegal instructions on main-n274092-f00fe1= 16dc9d.

So far the following ports are failing:

sysutil= s/dmidecode
textproc/docbook2mdoc
devel/libpci
lang/lua53

Maybe it is worth to take a check on them?
=
Thanks

=3D=3D=3D=3D
./types.h:55:25: no= te: expanded from macro 'DWORD'
=C2=A0 =C2=A055 | #define DWORD(= x) (u32)(*(const u32 *)(x))
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~= ~~~~
--- dmioem.o ---
#0 0x0000000004e7d2e0 PrintStackTrace /usr/src/= contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:13
#1 0x00000= 00004e7b2d8 __cxx_atomic_store<CallbackAndCookie::Status> /usr/obj/us= r/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/cxx_atomic_impl.h:304:3=
#2 0x0000000004e7b2d8 store /usr/obj/usr/src/arm64.aarch64/tmp/usr/incl= ude/c++/v1/__atomic/atomic_base.h:51:5
#3 0x0000000004e7b2d8 RunSignalHa= ndlers /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:107:16#4 0x0000000004e4b428 HandleCrash /usr/src/contrib/llvm-project/llvm/lib/S= upport/CrashRecoveryContext.cpp:73:5
#5 0x0000000004e4b428 CrashRecovery= SignalHandler /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryC= ontext.cpp:390:51
#6 0x000000008952ae80 handle_signal /usr/src/lib/libth= r/thread/thr_sig.c:0:3
cc: error: clang frontend command failed with exi= t code 132 (use -v to see invocation)
FreeBSD clang version 19.1.5 (https://github.com/llvm/ll= vm-project.git llvmorg-19.1.5-0-gab4b5a2db582)
Target: aarch64-unkno= wn-freebsd15.0
Thread model: posix
InstalledDir: /usr/bin
cc: note= : diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWI= NG FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run sc= ript(s) are located at:
cc: note: diagnostic msg: /tmp/dmioem-9137f8.ccc: note: diagnostic msg: /tmp/dmioem-9137f8.sh
cc: note: diagnostic m= sg:
=3D=3D=3D=3D


=3D=3D=3D=3D

cc =C2=A0-O2 -pipe =C2= =A0-fstack-protector-strong -fno-strict-aliasing =C2=A0-g -W -Wall -Wstrict= -prototypes -Wno-unused-parameter -Wwrite-strings -c reorg.c -o reorg.o
= --- xmalloc.o ---
Illegal instruction (core dumped)
*** [xmalloc.o] E= rror code 132

=3D=3D=3D=3D

=3D=3D=3D=3D

cc =C2=A0-Wall= -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_READLI= NE_DL -isystem /usr/local/include -O2 -pipe =C2=A0-fPIC -fstack-protector-s= trong -isystem /usr/local/include =C2=A0-c ldebug.c -o ldebug.o
Illegal = instruction (core dumped)
*** [ldebug.o] Error code 132=3D=3D=3D=3D=3D
=3D=3D=3D=3D
--000000000000df8ecf0628bd7a96-- From nobody Sun Dec 8 07:49:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5cbS3hcFz5gJ9V; Sun, 08 Dec 2024 07:49:56 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5cbS39Nbz4J4j; Sun, 8 Dec 2024 07:49:56 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733644196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=5dy5LHhfmRyQjdLLytqeXgKppuuFMFXLhdr7nqLvqVM=; b=mB/9qkT2Z9BwNl7b4HQwNooF/4lqfNMnxBLeWZbB2B11Flx7hkmOSzrn0D/b67E0mgg9CA Q3V6zuDbikHacMyPU/G9EXbuS/f3PqUPyM0fGcjuei2v75veKN42iJil4vlVoJtgXfSatF J/g9eQWbtQ5+nlDyFI1Ata6BnTx1/m6X/1p6W2KYbHwJ6V2oxzdM7dXllB2xVSWP46/zL4 9Se2B9ZU23hyHszDb8sKhIDqFmMVA+WT/bB/flg9a9W+dZAn4H0J3sUACd2RQD3iLMroYy /V/O7L9jJaQjAPz7evSMaOsiXQ9nBk6S61SvrunEShPOImtllHEULJycvnBdwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733644196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=5dy5LHhfmRyQjdLLytqeXgKppuuFMFXLhdr7nqLvqVM=; b=Z5QZwf+S02a4wb/t7Mauj5UUskXBQbvhyaanjexfY+su52cFgsyjRNvnM34Ahh+HTuLX8e AvGNjxOi9vqMUfhsQz0qBo6H2iFKOqIRFKkDYRRWozNiLTPlL/RFQ31TnriezhoWmdxtsA E7+7NF3GJKaAnokSnPug1FWJlhvhhmPV+VhJcTgXEsluuh+nw+A8qrEZ/ckHZjpXC4OdWc FLTdscj9Pg6vT49aUhNmdxFqDfRBoYK1dsut7gzglSHK0MF4Dx1kOD/nhLIXGuVQFCGePU dun2X8k5ZAILhutStrbBztGZLIBih4F9LIjwa4ULlVlC6aTYc0dWkUGPfHtMiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733644196; a=rsa-sha256; cv=none; b=B3deiQPoIRprloLa5YzdzBPWEk6AmZ7jIhstybYyxDHvklfoaZlSVoCmwHbj1J3DmvD77h 5DKGC2VzgwqfCqzhxGgMRDAK3P6zeJAkgaSXsZ2JjJOk8b1ssHGGYmKNcmTnro8pQDC9L7 BXMePfDFaumH9ijm5ZAJcZNv9jOriqQPtMDsRowfEf6Q3k7cmtuznt6/23xzTRQHKZxWrg 4XgG5b4u+Af0krhsecr5O76bhd7DyRU/MIWc1zTTyWiqMrheQK9dRnxb02nQEFRCIHid4V Z5N5xoPZwogiUblXg1/ojmlffSlZJ3rKNKTWCbOCZmJChgQiP+0QmZqhw6j1HQ== Received: from mail-qv1-f46.google.com (mail-qv1-f46.google.com [209.85.219.46]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y5cbS2lpNz162l; Sun, 8 Dec 2024 07:49:56 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-qv1-f46.google.com with SMTP id 6a1803df08f44-6d88812f9e6so4710086d6.2; Sat, 07 Dec 2024 23:49:56 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCWMk/Rj/skNxBI+YPVDjXGD6nWIr5At0735EzuV8ooHSZk3NiFe4cRznYiYh4Q8UOA0lg3V3YueDd4cpLfGsUn/nczi@freebsd.org, AJvYcCX6+DqDiiNycXoneIb1TzXUIdW+Rp8oUQe0+StEnGlYSqKQLiPHNiOkD4zQGgOajz/eSfelPOfza17UYHbmgOA1eOzNSUc=@freebsd.org X-Gm-Message-State: AOJu0YzLpG5TX+mFHKL9K/DG1UOMPS2JSiDs3doYCVNFmv2D/DUbkBBZ 3ZBIIdsoVE+ZrTixMujEbfcvowcEo37jogegDsm2mfgkFtjnZTyZMPhPTm2eTAmQ8YHDEpjagEi hYdC72pPRndd3JF+7+ZAtvA+Jg4o= X-Google-Smtp-Source: AGHT+IH4kH89yxYdFCSekxUpYakidHqU5os/2+AX+DkCBqqxLb8bBjEl/JrON5qzXX+c0qh4nMyQVsQWiTzbuydLK40= X-Received: by 2002:a05:622a:189f:b0:467:5b1f:4060 with SMTP id d75a77b69052e-4675b1f40admr9798131cf.7.1733644195747; Sat, 07 Dec 2024 23:49:55 -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: <202412061731.4B6HVxb7024201@gitrepo.freebsd.org> In-Reply-To: From: Nuno Teixeira Date: Sun, 8 Dec 2024 07:49:44 +0000 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: 71ac745d76c3 - main - Merge llvm-project release/19.x llvmorg-19.1.5-0-gab4b5a2db582 To: Dimitry Andric Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000007466f00628bd7e0f" --0000000000007466f00628bd7e0f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable (...) Full logs: https://people.freebsd.org/~eduardo/logs/main-n274092-f00fe116dc9d/ Nuno Teixeira escreveu (domingo, 8/12/2024 =C3=A0(s) 07:48): > Hello, > > On aarch64 I'v started to see ports failing with illegal instructions on > main-n274092-f00fe116dc9d. > > So far the following ports are failing: > > sysutils/dmidecode > textproc/docbook2mdoc > devel/libpci > lang/lua53 > > Maybe it is worth to take a check on them? > > Thanks > > =3D=3D=3D=3D > ./types.h:55:25: note: expanded from macro 'DWORD' > 55 | #define DWORD(x) (u32)(*(const u32 *)(x)) > | ^~~~~~~~~~~~~~~~ > --- dmioem.o --- > #0 0x0000000004e7d2e0 PrintStackTrace > /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:13 > #1 0x0000000004e7b2d8 __cxx_atomic_store > /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/cxx_atomic= _impl.h:304:3 > #2 0x0000000004e7b2d8 store > /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/atomic_bas= e.h:51:5 > #3 0x0000000004e7b2d8 RunSignalHandlers > /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:107:16 > #4 0x0000000004e4b428 HandleCrash > /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:7= 3:5 > #5 0x0000000004e4b428 CrashRecoverySignalHandler > /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:3= 90:51 > #6 0x000000008952ae80 handle_signal > /usr/src/lib/libthr/thread/thr_sig.c:0:3 > cc: error: clang frontend command failed with exit code 132 (use -v to se= e > invocation) > FreeBSD clang version 19.1.5 (https://github.com/llvm/llvm-project.git > llvmorg-19.1.5-0-gab4b5a2db582) > Target: aarch64-unknown-freebsd15.0 > Thread model: posix > InstalledDir: /usr/bin > cc: note: diagnostic msg: > ******************** > > PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: > Preprocessed source(s) and associated run script(s) are located at: > cc: note: diagnostic msg: /tmp/dmioem-9137f8.c > cc: note: diagnostic msg: /tmp/dmioem-9137f8.sh > cc: note: diagnostic msg: > =3D=3D=3D=3D > > > =3D=3D=3D=3D > > cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -g -W -Wall > -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings -c reorg.c -o > reorg.o > --- xmalloc.o --- > Illegal instruction (core dumped) > *** [xmalloc.o] Error code 132 > > =3D=3D=3D=3D > > =3D=3D=3D=3D > > cc -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN > -DLUA_USE_READLINE_DL -isystem /usr/local/include -O2 -pipe -fPIC > -fstack-protector-strong -isystem /usr/local/include -c ldebug.c -o > ldebug.o > Illegal instruction (core dumped) > *** [ldebug.o] Error code 132=3D=3D=3D=3D=3D > > =3D=3D=3D=3D > --=20 Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --0000000000007466f00628bd7e0f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
(...)


Nuno Teixeira <= eduardo@freebsd.org> escreveu (domingo, 8/12/2024 =C3=A0(s) 07:48):<= br>
Hello,

On aarch64 I'v started to see por= ts failing with illegal instructions on main-n274092-f00fe116dc9d.

<= /div>So far the following ports are failing:

sysutils/dmidecode
t= extproc/docbook2mdoc
devel/libpci
lang/lua53

Maybe it is worth to take a check on them?

T= hanks

=3D=3D=3D=3D
./types.h:55:25: note: expanded fro= m macro 'DWORD'
=C2=A0 =C2=A055 | #define DWORD(x) (u32)(*(const= u32 *)(x))
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~
--- dm= ioem.o ---
#0 0x0000000004e7d2e0 PrintStackTrace /usr/src/contrib/llvm-p= roject/llvm/lib/Support/Unix/Signals.inc:723:13
#1 0x0000000004e7b2d8 __= cxx_atomic_store<CallbackAndCookie::Status> /usr/obj/usr/src/arm64.aa= rch64/tmp/usr/include/c++/v1/__atomic/cxx_atomic_impl.h:304:3
#2 0x00000= 00004e7b2d8 store /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__a= tomic/atomic_base.h:51:5
#3 0x0000000004e7b2d8 RunSignalHandlers /usr/sr= c/contrib/llvm-project/llvm/lib/Support/Signals.cpp:107:16
#4 0x00000000= 04e4b428 HandleCrash /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRe= coveryContext.cpp:73:5
#5 0x0000000004e4b428 CrashRecoverySignalHandler = /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:390= :51
#6 0x000000008952ae80 handle_signal /usr/src/lib/libthr/thread/thr_s= ig.c:0:3
cc: error: clang frontend command failed with exit code 132 (us= e -v to see invocation)
FreeBSD clang version 19.1.5 (https://github.com/llv= m/llvm-project.git llvmorg-19.1.5-0-gab4b5a2db582)
Target: aarch64-u= nknown-freebsd15.0
Thread model: posix
InstalledDir: /usr/bin
cc: = note: diagnostic msg:
********************

PLEASE ATTACH THE FOL= LOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated ru= n script(s) are located at:
cc: note: diagnostic msg: /tmp/dmioem-9137f8= .c
cc: note: diagnostic msg: /tmp/dmioem-9137f8.sh
cc: note: diagnost= ic msg:
=3D=3D=3D=3D


=3D=3D=3D=3D

cc =C2=A0-O2 -pipe = =C2=A0-fstack-protector-strong -fno-strict-aliasing =C2=A0-g -W -Wall -Wstr= ict-prototypes -Wno-unused-parameter -Wwrite-strings -c reorg.c -o reorg.o<= br>--- xmalloc.o ---
Illegal instruction (core dumped)
*** [xmalloc.o= ] Error code 132

=3D=3D=3D=3D

=3D=3D=3D=3D

cc =C2=A0-W= all -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN -DLUA_USE_REA= DLINE_DL -isystem /usr/local/include -O2 -pipe =C2=A0-fPIC -fstack-protecto= r-strong -isystem /usr/local/include =C2=A0-c ldebug.c -o ldebug.o
Illeg= al instruction (core dumped)
*** [ldebug.o] Error code 132=3D=3D=3D=3D= =3D

=3D=3D=3D=3D


--
Nuno Teixeira
=
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--0000000000007466f00628bd7e0f-- From nobody Sun Dec 8 16:17:46 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5qsQ31z5z5grQc; Sun, 08 Dec 2024 16:17:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5qsQ2TMyz56K4; Sun, 8 Dec 2024 16:17:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733674666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TeHd69zsvIjQP608dTClj6zeRTkwSsSAuUR/8t0v/TM=; b=A2T/Rld+RXdgoQ2hvOEzFrZrSY2WJp2XRNUAHwGFZ7Xsqa9Z4fo0tfKIghDGLe1SimkU2+ 3Hlc1MEAgodNsu7vIamHphPLED5i44Bj2GFu02E7OhR6GdCJHf8l+GzwdgqUUnZ2i8JEVO DNBuo7jXFLqOcmcZl9rMnCTxBh9T8Mg4u1ICKyLjwRI15aPdRR91olDOB21s07jm+LGBnI WbJvxKieBB2sH1RxaQ0S/5AtDAPNc5Tq/ShJ19lJJ5S8UPdzrsj6o6dvVQ+6eROJsClyUW 8u17FV68e3Bzl6lO/AxoJ2CObunFICo1oIkH4bDlUVlp4VQzv3DfnD01kfWamQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733674666; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TeHd69zsvIjQP608dTClj6zeRTkwSsSAuUR/8t0v/TM=; b=AH/AlxQub3xnyxJdAejwkMN0LKektbpxEkfFG/P2FHRA/q4U2wT+3NjFLVIjJVS8qx34bz 5MBYlqD1PGF6ShLK25TmKE+zecurGD6eLKjYZiCgfMs4DghYTjDjSlN3kG9ZCmkv1OttnE Z5tzbNlrfGiHNDVo9h4IYeR3a5C+/Wth+3gNxzpK5VVMSmZwLNSIklJd5B2rv+3ipweWIQ C3t8fyNpz0kp1T0Kso1tZHyRUsNBMoW8v5JjDjLHlMs1OAPB1c59xc4VyHz45Sk9iwnsgk f26CCJQq8do73w2RhXiOmBQ7M+XDYLD6ChZ7nlPtss56pwIvF2LbQ1iP2Nzirg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733674666; a=rsa-sha256; cv=none; b=ZfZAsbHGfGkE+N7zcG5N21vWN2yxiX64dn0BsiSa6VaVHtler+BXJ/GCs//5PXXr+9COh9 FnETn56vBz1Vq+z8zp7X+ZjutmsgG397RxsngmQB3BQtViiBST4xCHq3VowMlox5wDNCfA yr4hv5n8L8hC5o1YQpyZFpdTgbViwB9RGeU5BdbX2fY6QEB8wJsbkSGo+27dcrOcURiio7 KF9g8Y0JIK/0VKC4COQfxvngixjsx7TTeK5nEVmWHhNlqefF3jZ91T2EbZk1D8vwYlUQp5 pTILo0VXJceF9Na6yke5AKPsqZuT0DWuSBimCjp0nrk5mr7FSxTQHY+ymlsWRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y5qsQ24PMz10KH; Sun, 8 Dec 2024 16:17: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 4B8GHkQC037593; Sun, 8 Dec 2024 16:17:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B8GHkbn037590; Sun, 8 Dec 2024 16:17:46 GMT (envelope-from git) Date: Sun, 8 Dec 2024 16:17:46 GMT Message-Id: <202412081617.4B8GHkbn037590@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: c6e56e6500fd - main - bsd.lib.mk: Capitalize "Building" for libraries List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c6e56e6500fd3fd57162c842088e61500d92b70a Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c6e56e6500fd3fd57162c842088e61500d92b70a commit c6e56e6500fd3fd57162c842088e61500d92b70a Author: Minsoo Choo AuthorDate: 2024-12-08 15:29:18 +0000 Commit: Ed Maste CommitDate: 2024-12-08 16:17:01 +0000 bsd.lib.mk: Capitalize "Building" for libraries This is consistent with the case we use when building object files. Reviewed by: emaste Pull request: https://github.com/freebsd/freebsd-src/pull/1542 --- share/mk/bsd.lib.mk | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 06afa8630a20..d669dccdc268 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -290,7 +290,7 @@ _STATICLIB_SUFFIX= _real _LIBS= lib${LIB_PRIVATE}${LIB}${_STATICLIB_SUFFIX}.a lib${LIB_PRIVATE}${LIB}${_STATICLIB_SUFFIX}.a: ${OBJS} ${STATICOBJS} - @${ECHO} building static ${LIB} library + @${ECHO} Building static ${LIB} library @rm -f ${.TARGET} ${AR} ${ARFLAGS} ${.TARGET} ${OBJS} ${STATICOBJS} ${ARADD} .endif @@ -344,7 +344,7 @@ CLEANFILES+= ${SHLIB_LINK} .endif ${SHLIB_NAME_FULL}: ${SOBJS} - @${ECHO} building shared library ${SHLIB_NAME} + @${ECHO} Building shared library ${SHLIB_NAME} @rm -f ${SHLIB_NAME} ${SHLIB_LINK} .if defined(SHLIB_LINK) && !commands(${SHLIB_LINK:R}.ld) && ${MK_DEBUG_FILES} == "no" # Note: This uses ln instead of ${INSTALL_LIBSYMLINK} since we are in OBJDIR @@ -375,7 +375,7 @@ ${SHLIB_NAME}.debug: ${SHLIB_NAME_FULL} _LIBS+= lib${LIB_PRIVATE}${LIB}_pic.a lib${LIB_PRIVATE}${LIB}_pic.a: ${SOBJS} - @${ECHO} building special pic ${LIB} library + @${ECHO} Building special pic ${LIB} library @rm -f ${.TARGET} ${AR} ${ARFLAGS} ${.TARGET} ${SOBJS} ${ARADD} .endif @@ -387,7 +387,7 @@ CLEANFILES+= ${NOSSPSOBJS} _LIBS+= lib${LIB_PRIVATE}${LIB}_nossp_pic.a lib${LIB_PRIVATE}${LIB}_nossp_pic.a: ${NOSSPSOBJS} - @${ECHO} building special nossp pic ${LIB} library + @${ECHO} Building special nossp pic ${LIB} library @rm -f ${.TARGET} ${AR} ${ARFLAGS} ${.TARGET} ${NOSSPSOBJS} ${ARADD} .endif @@ -402,7 +402,7 @@ CLEANFILES+= ${PIEOBJS} _LIBS+= lib${LIB_PRIVATE}${LIB}_pie.a lib${LIB_PRIVATE}${LIB}_pie.a: ${PIEOBJS} - @${ECHO} building pie ${LIB} library + @${ECHO} Building pie ${LIB} library @rm -f ${.TARGET} ${AR} ${ARFLAGS} ${.TARGET} ${PIEOBJS} ${ARADD} .endif From nobody Sun Dec 8 17:06:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5rxx3n4Nz5gtvy; Sun, 08 Dec 2024 17:06:45 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5rxx36F2z3wb9; Sun, 8 Dec 2024 17:06:45 +0000 (UTC) (envelope-from dim@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733677605; 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=/RsoxYEhN0C+vhWoYFIRXH+tscJ68XMLT3NP0GMY2Yg=; b=LzaT0D8QFr+9EWxRJCX1p568Oc1uNgkqGDaP7C9JeoWYQlPt+7YZL5Q0tUhT2OUJvBOrfW pZFl8jxgLC25flugLS0D17oTHUNnW4zN4eGkvDUZyxfIV1gOgQNf1bQLbZQSmX1EJbgJV3 kLJYka/zANNXbTOImhISI1GUa3qrXp+dZf7+BAxFLCxiDpYaaOJ7x+zhwt0LEHNq7feIX8 GWWJNnsRy3WiFtqJczsPIaV7KRQcs+Nph8KbDlIzWiF08hVy67A88ELwb/aNY8Vi2t2iqj tYEwnSK7vTcE6cvd0rDjqqqyCBUjim2xf2E+9KRaToYBSWBzLJgis25U1vNrKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733677605; 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=/RsoxYEhN0C+vhWoYFIRXH+tscJ68XMLT3NP0GMY2Yg=; b=ItPHZDAlYsVJmLM3D20kTqzslrNYtzgegGWZNsumilledwpzK1m5ALj79L9veyoPINgHF0 12mNDhdbL6t7gLf6KiHH8Igzuol4UZUOkudV9ZKkens20MuruIJ+ByGpT8SaRg0KqLW1UU /Drx1s9IEfjUQoZgZqitt155h7fiziw6bCE5+DdWJ7CIStzXab+WfZJgalPW6ORwPeGOYV LBMYBrng1q1vte9zAj42N3699OnSeNG+pzPIspQMPHFs9xbUU9/162Di0BlBXo2UGiZy6M qbGg9tVD3FBzbbLrNThju4lWir/KWPDlIpOUjcD1cGIKYjsoVZLyM38/udnGjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733677605; a=rsa-sha256; cv=none; b=aPRPcE8XqQoaKI2bqIF6kDbXglNc1x8J6FQq8e3DwZOOzrZma5BQmcpErPPrdaaIdfWyhx GoSDLETvEKtFrfL8AptZrc0QOTwGt91Ltl+xUya58bndCBfXVxGSFXdACHj+08+y/INy2q Jk1fYfp+A2xxjsfGF2KEUwPioWKC3Y3+GaePxN0uAHtf7XLVIkuUKvXyAqcRuJ0GkhLuTp YLccVFUrIp6IqoQTOENkwIX1IpPfYvWwlFmFh9rS/CHUyOnFyu2nCH79kkRfZK1TJT7TnG zjYSiuQolw+If4W1am3VISmDEf20i9lJOkmwz2XyBqF/nAVpkqxem+CH15G0gw== Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "tensor.andric.com", Issuer "R10" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y5rxx201Bz1J2b; Sun, 8 Dec 2024 17:06:45 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtpclient.apple (longrow.home.andric.com [192.168.0.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 7767855FFB; Sun, 08 Dec 2024 18:06:43 +0100 (CET) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6.1.9\)) Subject: Re: git: 71ac745d76c3 - main - Merge llvm-project release/19.x llvmorg-19.1.5-0-gab4b5a2db582 From: Dimitry Andric In-Reply-To: Date: Sun, 8 Dec 2024 18:06:43 +0100 Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <202412061731.4B6HVxb7024201@gitrepo.freebsd.org> To: Nuno Teixeira X-Mailer: Apple Mail (2.3731.700.6.1.9) Please create a PR, with the files: /tmp/dmioem-9137f8.c /tmp/dmioem-9137f8.sh attached. -Dimitry > On 8 Dec 2024, at 08:49, Nuno Teixeira wrote: >=20 > (...) >=20 > Full logs: = https://people.freebsd.org/~eduardo/logs/main-n274092-f00fe116dc9d/ >=20 > Nuno Teixeira escreveu (domingo, 8/12/2024 =C3=A0(= s) 07:48): > Hello, >=20 > On aarch64 I'v started to see ports failing with illegal instructions = on main-n274092-f00fe116dc9d. >=20 > So far the following ports are failing: >=20 > sysutils/dmidecode > textproc/docbook2mdoc > devel/libpci > lang/lua53 >=20 > Maybe it is worth to take a check on them? >=20 > Thanks >=20 > =3D=3D=3D=3D > ./types.h:55:25: note: expanded from macro 'DWORD' > 55 | #define DWORD(x) (u32)(*(const u32 *)(x)) > | ^~~~~~~~~~~~~~~~ > --- dmioem.o --- > #0 0x0000000004e7d2e0 PrintStackTrace = /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:13 > #1 0x0000000004e7b2d8 __cxx_atomic_store = /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/cxx_atomic_= impl.h:304:3 > #2 0x0000000004e7b2d8 store = /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/atomic_base= .h:51:5 > #3 0x0000000004e7b2d8 RunSignalHandlers = /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:107:16 > #4 0x0000000004e4b428 HandleCrash = /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:73= :5 > #5 0x0000000004e4b428 CrashRecoverySignalHandler = /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:39= 0:51 > #6 0x000000008952ae80 handle_signal = /usr/src/lib/libthr/thread/thr_sig.c:0:3 > cc: error: clang frontend command failed with exit code 132 (use -v to = see invocation) > FreeBSD clang version 19.1.5 (https://github.com/llvm/llvm-project.git = llvmorg-19.1.5-0-gab4b5a2db582) > Target: aarch64-unknown-freebsd15.0 > Thread model: posix > InstalledDir: /usr/bin > cc: note: diagnostic msg:=20 > ******************** >=20 > PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: > Preprocessed source(s) and associated run script(s) are located at: > cc: note: diagnostic msg: /tmp/dmioem-9137f8.c > cc: note: diagnostic msg: /tmp/dmioem-9137f8.sh > cc: note: diagnostic msg: > =3D=3D=3D=3D >=20 >=20 > =3D=3D=3D=3D >=20 > cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -g -W = -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings -c = reorg.c -o reorg.o > --- xmalloc.o --- > Illegal instruction (core dumped) > *** [xmalloc.o] Error code 132 >=20 > =3D=3D=3D=3D >=20 > =3D=3D=3D=3D >=20 > cc -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN = -DLUA_USE_READLINE_DL -isystem /usr/local/include -O2 -pipe -fPIC = -fstack-protector-strong -isystem /usr/local/include -c ldebug.c -o = ldebug.o > Illegal instruction (core dumped) > *** [ldebug.o] Error code 132=3D=3D=3D=3D=3D >=20 > =3D=3D=3D=3D >=20 >=20 > --=20 > Nuno Teixeira > FreeBSD UNIX: Web: https://FreeBSD.org From nobody Sun Dec 8 18:29:24 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5tnY16Smz5gygY; Sun, 08 Dec 2024 18:29:37 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5tnY0GGvz49Vy; Sun, 8 Dec 2024 18:29:37 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733682577; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bcT2Y8h3MpNuk92WZ/6F/2pEV6cX+9/tI0j23yz9FOo=; b=qRSN3fTvUrCR0r6KV0BwKdXEdu3k2WKFW9va96CuKUPr9n0SOR+8j2KxrpfNJvyZ6uPU8o bvF3KbngUH2nXHsG+xpn3fwJSCXLpSZu1DLIum3pNEjn4o5xcTa+SJPIJBhi3pkb5h9Xov eTywrdxvzL6w41fUShOOgiVirvIOwK22pVcIDVv8FDbKcCpVc9FEan4YFpETY9jKP3J/Ur Km+Dgsin3TlKgPX7LDmKoLCyPuQul2DNhMc9/s+2YVJBtjHIAkAvFQ4l0wEaSiGUMqHx7Z T5jUPfq5nvyLsiWdGcMPlZIuTX8d7NdCUKgOwb2aOPNgfhvrLyVAQVYIGZ+aSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733682577; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bcT2Y8h3MpNuk92WZ/6F/2pEV6cX+9/tI0j23yz9FOo=; b=lnw83WWpDFrW8fQ46XFa0v9LQ3OCzNvJdYG6V8t6luAHTksiAppP9Y9YcqNKCKixX986Ih 6gt5/AyGDMgMKxkUdTqyfh3p1ZA8q5B4pQEWXXji6zgCpGwPvx9lLuIc/xlQUNIWYYUr4M BOxoDMMG+RkDPBqvYoRUel0zxoxPwksv2mevuBPXy0GJql5B1loiId8o64UibjrcfXo6wf lkPlbTY7T3DKe939jFXbnu39/xkAV8s/GbhOARNfl37IaWotMc426OosQ4URAE4AWQI8Z8 DtpGIGbht+eoEbJgSfRY0IY+ABkBxmHDfcT9+ESCN13nW5Gy9LV/7y62IvAipw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733682577; a=rsa-sha256; cv=none; b=EPQEVkT9fv7Th0nDaT3Ub9oJ0t5Q/MdJUF8Hof+g39RJmD9NNW9J1n8kVe0TFRWxW11QUI QeVRGRzVK+FXB7tiY3RZy5KdU1EYM+RcSW8ahNzUsme240OHAGidbZ5FZEzWGRSQeC6Pyt IA31Al30wF7g7mmCnSRLFdexktkMP8L3KBxweU/TTMHbU5JSTJ1smxGJlROjgkqV8ryxag 8NpqHaCTv7n/sUOD/AXhUihpRB+9IJAmYMgdRrh60p+hR3T+NBGQm0haU99fAbggfTt3GE QTBhie46wVn0wVz3RDS1JjxvYCT4wQWVAVXsMrZKnPPNAhpCAAfjbCZ31a/U0Q== Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y5tnX6bDcz1Ksn; Sun, 8 Dec 2024 18:29:36 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-qt1-f179.google.com with SMTP id d75a77b69052e-46746c851b9so282301cf.3; Sun, 08 Dec 2024 10:29:36 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCWPvO2ol+ifr+IjTNwGCzJijy3TvEqixUlXE7NWNPzMBooq3GCZW7rlKDID1dMShDGuyPSBvviYRK2GitiUIr/QPA8l@freebsd.org, AJvYcCWmgku4X7ILKru2RQvDgZG/xJ+vFV1+mwgooq0GyqR4+3a7Qqc1/U9gO8AWTLS8xuI7PfYtGeWxlOisuXy5kQeqNkhBzwc=@freebsd.org X-Gm-Message-State: AOJu0YzhpfmLPlZeWZBf5JSxgG1yyM2uZORcG20ioG+hU9BgFn9aMYF3 CzcXLe9qudKHdf1DBQLSI419b+2dG71P1CoeH4DA9tGDMnQTcp9SFe6twmichQZwO7msQJ/rL46 Tzu8tUBji77Boy4es85t0/MkMdgc= X-Google-Smtp-Source: AGHT+IEFAQgMHvsYoMwUSZZkIMgbLb2mmxNP4B4SvI5l8oi24cHIaQVRgSoQnYTVCc+1vXxiwy6RjNodZjFh1ouxYwY= X-Received: by 2002:ac8:5f48:0:b0:467:6379:8d2f with SMTP id d75a77b69052e-46763799044mr11103761cf.15.1733682576331; Sun, 08 Dec 2024 10:29:36 -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: <202412061731.4B6HVxb7024201@gitrepo.freebsd.org> In-Reply-To: From: Nuno Teixeira Date: Sun, 8 Dec 2024 18:29:24 +0000 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: 71ac745d76c3 - main - Merge llvm-project release/19.x llvmorg-19.1.5-0-gab4b5a2db582 To: Dimitry Andric Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000001da4af0628c66e1d" --0000000000001da4af0628c66e1d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable OK, I'm redoing interactive testport to get those files on dmidecode port and then I will open a PR. Thanks Dimitry Andric escreveu (domingo, 8/12/2024 =C3=A0(s) 17:= 06): > Please create a PR, with the files: > > /tmp/dmioem-9137f8.c > /tmp/dmioem-9137f8.sh > > attached. > > -Dimitry > > > On 8 Dec 2024, at 08:49, Nuno Teixeira wrote: > > > > (...) > > > > Full logs: > https://people.freebsd.org/~eduardo/logs/main-n274092-f00fe116dc9d/ > > > > Nuno Teixeira escreveu (domingo, 8/12/2024 =C3=A0= (s) > 07:48): > > Hello, > > > > On aarch64 I'v started to see ports failing with illegal instructions o= n > main-n274092-f00fe116dc9d. > > > > So far the following ports are failing: > > > > sysutils/dmidecode > > textproc/docbook2mdoc > > devel/libpci > > lang/lua53 > > > > Maybe it is worth to take a check on them? > > > > Thanks > > > > =3D=3D=3D=3D > > ./types.h:55:25: note: expanded from macro 'DWORD' > > 55 | #define DWORD(x) (u32)(*(const u32 *)(x)) > > | ^~~~~~~~~~~~~~~~ > > --- dmioem.o --- > > #0 0x0000000004e7d2e0 PrintStackTrace > /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:13 > > #1 0x0000000004e7b2d8 __cxx_atomic_store > /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/cxx_atomic= _impl.h:304:3 > > #2 0x0000000004e7b2d8 store > /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/atomic_bas= e.h:51:5 > > #3 0x0000000004e7b2d8 RunSignalHandlers > /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:107:16 > > #4 0x0000000004e4b428 HandleCrash > /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:7= 3:5 > > #5 0x0000000004e4b428 CrashRecoverySignalHandler > /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:3= 90:51 > > #6 0x000000008952ae80 handle_signal > /usr/src/lib/libthr/thread/thr_sig.c:0:3 > > cc: error: clang frontend command failed with exit code 132 (use -v to > see invocation) > > FreeBSD clang version 19.1.5 (https://github.com/llvm/llvm-project.git > llvmorg-19.1.5-0-gab4b5a2db582) > > Target: aarch64-unknown-freebsd15.0 > > Thread model: posix > > InstalledDir: /usr/bin > > cc: note: diagnostic msg: > > ******************** > > > > PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: > > Preprocessed source(s) and associated run script(s) are located at: > > cc: note: diagnostic msg: /tmp/dmioem-9137f8.c > > cc: note: diagnostic msg: /tmp/dmioem-9137f8.sh > > cc: note: diagnostic msg: > > =3D=3D=3D=3D > > > > > > =3D=3D=3D=3D > > > > cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -g -W > -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings -c reorg.= c > -o reorg.o > > --- xmalloc.o --- > > Illegal instruction (core dumped) > > *** [xmalloc.o] Error code 132 > > > > =3D=3D=3D=3D > > > > =3D=3D=3D=3D > > > > cc -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN > -DLUA_USE_READLINE_DL -isystem /usr/local/include -O2 -pipe -fPIC > -fstack-protector-strong -isystem /usr/local/include -c ldebug.c -o > ldebug.o > > Illegal instruction (core dumped) > > *** [ldebug.o] Error code 132=3D=3D=3D=3D=3D > > > > =3D=3D=3D=3D > > > > > > -- > > Nuno Teixeira > > FreeBSD UNIX: Web: https://FreeBSD.org > > --=20 Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --0000000000001da4af0628c66e1d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
OK, I'm redoing interactive testport to get those= files on dmidecode port and then I will open a PR.

Thanks
=

Dimitry Andric <dim@freebsd.org> escreveu (domingo, 8/12/2024 =C3=A0(s) 17:06):
=
Please create a PR,= with the files:

/tmp/dmioem-9137f8.c
/tmp/dmioem-9137f8.sh

attached.

-Dimitry

> On 8 Dec 2024, at 08:49, Nuno Teixeira <eduardo@freebsd.org> wrote:
>
> (...)
>
> Full logs: https://people.fr= eebsd.org/~eduardo/logs/main-n274092-f00fe116dc9d/
>
> Nuno Teixeira <eduardo@freebsd.org> escreveu (domingo, 8/12/2024 =C3=A0(s) 07:= 48):
> Hello,
>
> On aarch64 I'v started to see ports failing with illegal instructi= ons on main-n274092-f00fe116dc9d.
>
> So far the following ports are failing:
>
> sysutils/dmidecode
> textproc/docbook2mdoc
> devel/libpci
> lang/lua53
>
> Maybe it is worth to take a check on them?
>
> Thanks
>
> =3D=3D=3D=3D
> ./types.h:55:25: note: expanded from macro 'DWORD'
>=C2=A0 =C2=A0 55 | #define DWORD(x) (u32)(*(const u32 *)(x))
>=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~~~~~~~~~
> --- dmioem.o ---
> #0 0x0000000004e7d2e0 PrintStackTrace /usr/src/contrib/llvm-project/ll= vm/lib/Support/Unix/Signals.inc:723:13
> #1 0x0000000004e7b2d8 __cxx_atomic_store<CallbackAndCookie::Status&= gt; /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/cxx_atom= ic_impl.h:304:3
> #2 0x0000000004e7b2d8 store /usr/obj/usr/src/arm64.aarch64/tmp/usr/inc= lude/c++/v1/__atomic/atomic_base.h:51:5
> #3 0x0000000004e7b2d8 RunSignalHandlers /usr/src/contrib/llvm-project/= llvm/lib/Support/Signals.cpp:107:16
> #4 0x0000000004e4b428 HandleCrash /usr/src/contrib/llvm-project/llvm/l= ib/Support/CrashRecoveryContext.cpp:73:5
> #5 0x0000000004e4b428 CrashRecoverySignalHandler /usr/src/contrib/llvm= -project/llvm/lib/Support/CrashRecoveryContext.cpp:390:51
> #6 0x000000008952ae80 handle_signal /usr/src/lib/libthr/thread/thr_sig= .c:0:3
> cc: error: clang frontend command failed with exit code 132 (use -v to= see invocation)
> FreeBSD clang version 19.1.5 (https://github.com/llvm/l= lvm-project.git llvmorg-19.1.5-0-gab4b5a2db582)
> Target: aarch64-unknown-freebsd15.0
> Thread model: posix
> InstalledDir: /usr/bin
> cc: note: diagnostic msg:
> ********************
>
> PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
> Preprocessed source(s) and associated run script(s) are located at: > cc: note: diagnostic msg: /tmp/dmioem-9137f8.c
> cc: note: diagnostic msg: /tmp/dmioem-9137f8.sh
> cc: note: diagnostic msg:
> =3D=3D=3D=3D
>
>
> =3D=3D=3D=3D
>
> cc=C2=A0 -O2 -pipe=C2=A0 -fstack-protector-strong -fno-strict-aliasing= =C2=A0 -g -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-string= s -c reorg.c -o reorg.o
> --- xmalloc.o ---
> Illegal instruction (core dumped)
> *** [xmalloc.o] Error code 132
>
> =3D=3D=3D=3D
>
> =3D=3D=3D=3D
>
> cc=C2=A0 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -DLUA_USE_DLOP= EN -DLUA_USE_READLINE_DL -isystem /usr/local/include -O2 -pipe=C2=A0 -fPIC = -fstack-protector-strong -isystem /usr/local/include=C2=A0 -c ldebug.c -o l= debug.o
> Illegal instruction (core dumped)
> *** [ldebug.o] Error code 132=3D=3D=3D=3D=3D
>
> =3D=3D=3D=3D
>
>
> --
> Nuno Teixeira
> FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0= https= ://FreeBSD.org



--
Nuno Teixeira
=
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--0000000000001da4af0628c66e1d-- From nobody Sun Dec 8 19:09:44 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5vgs4krGz5f3RV; Sun, 08 Dec 2024 19:09:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5vgs4Bw3z4GXt; Sun, 8 Dec 2024 19:09:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733684985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V0rA3rUvpvshbtAIfFeqJdg21Z3RAx19Z1XYi/HOgBc=; b=GUQi9CVsrLSqeTWFaEsCCIoI7fWqVOXgrvtbGSbUyrjzbr20m/fNOV3UNJONq5j0VJtKno ULmgTgSldN9chGhmiK4P3wXvo0L5H6LOdenaJ23OXwS47PwhZ0jwWiUZn3mvu/zVx+rSNI 27Uui8SI8wP7SuCSm2qKtOMXMvXjra0peb0ziPZ5E69FaBtjoZf+uOboAmNrtBSehhcLcA lIFBZL5QHO1Yi+Uun10PKZhAQ+hamFMyuKKE+MafL4QFFUmnf8bq6rRL35yPZpl1k9EhWI cosfBy0ZBBRzOgiwiLjabG58dyC6zl3IGM4bNtfoXIek6e4VA5PJM6oerM/mhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733684985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V0rA3rUvpvshbtAIfFeqJdg21Z3RAx19Z1XYi/HOgBc=; b=R6HXHaoOj9fJm873L0CeXvbDX47QTjv4uFbYesXkApjeDO2eZ0L1grkrgBtwI2ZCGaEJCf CR/Syf26fKAgmxmu7BC+AFdi/7HjJ9L9s09hPtwQSRKty7EXYtnvzIqISNcgzQwtWZLFN8 zCB1U30lFsd6CVYbzoZfTj1Qn7G822KqXzrFxH3Ye0eqvt9EZeCWyDsEBOIo3Vl4xK2TrY 0l/vTqpb8lRWJxNyl3Ka4Yy5dbTI9NUsEe2MDd2jnyEiyygbPCEGfdBkxpS1RD6kkUdsp5 rMshSdG33bmYYYXNClHnpqNYYl961sJ6S12qihbQMyjzpmR3qiiyNKh6+G+FEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733684985; a=rsa-sha256; cv=none; b=C3cJMgA+qv5HLJzYUHTzItbjRh7TzAOR7csA0sfydXTmWov0VD6y/wiGPOjjqt9WAqrlvg L4x1jU9ljTBmqQNkco4n79zQLDB2WkT9rBRODFlyvzyas2eKjMEdgpjwr+hUhQX1UG8EMR gSO+IQ8mN1tlkOz+e/+7SvOJCdrh8d8pNgpGKH0VQWlfNDsMl0DULMHxgmCOx1PaAtaM64 fPa5EAuek0GylNneLVVlUstZaeFZSv4R4F1eCb4BHgDCcO2Df4OTmdhj6ip+AgaxLwF4+s 9/Qij5V54bRFW72/4C5cYgKPR6zSgSXkqADwRjjwk2XDr6rE3k8PDYE/5SyIaw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y5vgs3pDKz14TG; Sun, 8 Dec 2024 19:09:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B8J9joo055406; Sun, 8 Dec 2024 19:09:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B8J9iZ9055403; Sun, 8 Dec 2024 19:09:44 GMT (envelope-from git) Date: Sun, 8 Dec 2024 19:09:44 GMT Message-Id: <202412081909.4B8J9iZ9055403@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Xin LI Subject: git: ae316d1d1cff - main - MFV: file 5.46. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ae316d1d1cffd71ab7751f94e10118777a88e027 Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=ae316d1d1cffd71ab7751f94e10118777a88e027 commit ae316d1d1cffd71ab7751f94e10118777a88e027 Merge: c6e56e6500fd 995a16e0c2eb Author: Xin LI AuthorDate: 2024-12-08 19:07:01 +0000 Commit: Xin LI CommitDate: 2024-12-08 19:08:17 +0000 MFV: file 5.46. MFC after: 2 weeks contrib/file/ChangeLog | 32 + contrib/file/Makefile.in | 1 + contrib/file/aclocal.m4 | 4 +- contrib/file/config.h.in | 137 +- contrib/file/configure | 3017 ++++++++++++-------- contrib/file/configure.ac | 35 +- contrib/file/doc/Makefile.in | 1 + contrib/file/doc/file.man | 6 +- contrib/file/doc/libmagic.man | 29 +- contrib/file/doc/magic.man | 112 +- contrib/file/ltmain.sh | 863 ++++-- contrib/file/m4/libtool.m4 | 227 +- contrib/file/m4/ltoptions.m4 | 4 +- contrib/file/m4/ltsugar.m4 | 2 +- contrib/file/m4/ltversion.m4 | 13 +- contrib/file/m4/lt~obsolete.m4 | 4 +- contrib/file/magic/Magdir/acorn | 35 +- contrib/file/magic/Magdir/adventure | 4 +- contrib/file/magic/Magdir/algol68 | 4 +- contrib/file/magic/Magdir/android | 14 +- contrib/file/magic/Magdir/animation | 126 +- contrib/file/magic/Magdir/apple | 58 +- contrib/file/magic/Magdir/archive | 291 +- contrib/file/magic/Magdir/aria | 2 + contrib/file/magic/Magdir/arm | 11 +- contrib/file/magic/Magdir/asf | 14 +- contrib/file/magic/Magdir/audio | 123 +- contrib/file/magic/Magdir/ber | 3 +- contrib/file/magic/Magdir/biosig | 6 +- contrib/file/magic/Magdir/bsdi | 9 +- contrib/file/magic/Magdir/c64 | 158 +- contrib/file/magic/Magdir/cafebabe | 91 +- contrib/file/magic/Magdir/cbor | 4 +- contrib/file/magic/Magdir/claris | 10 +- contrib/file/magic/Magdir/coff | 179 +- contrib/file/magic/Magdir/commands | 14 +- contrib/file/magic/Magdir/compress | 27 +- contrib/file/magic/Magdir/console | 426 ++- contrib/file/magic/Magdir/ctf | 1 + contrib/file/magic/Magdir/database | 41 +- contrib/file/magic/Magdir/dataone | 13 +- contrib/file/magic/Magdir/diff | 125 +- contrib/file/magic/Magdir/digital | 20 +- contrib/file/magic/Magdir/efi | 45 +- contrib/file/magic/Magdir/elf | 32 +- contrib/file/magic/Magdir/epoc | 37 +- contrib/file/magic/Magdir/espressif | 4 +- contrib/file/magic/Magdir/filesystems | 179 +- contrib/file/magic/Magdir/firmware | 146 +- contrib/file/magic/Magdir/fonts | 36 +- contrib/file/magic/Magdir/frame | 120 +- contrib/file/magic/Magdir/games | 78 +- contrib/file/magic/Magdir/gentoo | 22 +- contrib/file/magic/Magdir/geo | 6 +- contrib/file/magic/Magdir/geos | 11 +- contrib/file/magic/Magdir/hitachi-sh | 18 +- contrib/file/magic/Magdir/hp | 25 +- contrib/file/magic/Magdir/ibm370 | 14 +- contrib/file/magic/Magdir/ibm6000 | 9 +- contrib/file/magic/Magdir/iff | 23 +- contrib/file/magic/Magdir/images | 629 +++- contrib/file/magic/Magdir/ispell | 190 +- contrib/file/magic/Magdir/javascript | 29 +- contrib/file/magic/Magdir/jpeg | 55 +- contrib/file/magic/Magdir/keyman | 14 + contrib/file/magic/Magdir/lammps | 5 +- contrib/file/magic/Magdir/lauterbach | 7 + contrib/file/magic/Magdir/linux | 415 ++- contrib/file/magic/Magdir/lisp | 12 +- contrib/file/magic/Magdir/magic | 47 +- contrib/file/magic/Magdir/mail.news | 22 +- contrib/file/magic/Magdir/map | 3 +- contrib/file/magic/Magdir/meteorological | 17 +- contrib/file/magic/Magdir/mips | 180 +- contrib/file/magic/Magdir/mmdf | 23 +- contrib/file/magic/Magdir/motorola | 8 +- contrib/file/magic/Magdir/msdos | 1309 +++++++-- contrib/file/magic/Magdir/msooxml | 37 +- contrib/file/magic/Magdir/msvc | 13 +- contrib/file/magic/Magdir/msx | 31 +- contrib/file/magic/Magdir/music | 4 +- contrib/file/magic/Magdir/nasa | 3 +- contrib/file/magic/Magdir/ole2compounddocs | 54 +- contrib/file/magic/Magdir/olf | 14 +- contrib/file/magic/Magdir/pack | 101 + contrib/file/magic/Magdir/pc88 | 24 - contrib/file/magic/Magdir/pdp | 16 +- contrib/file/magic/Magdir/pgp | 140 +- contrib/file/magic/Magdir/plan9 | 8 +- contrib/file/magic/Magdir/printer | 28 +- contrib/file/magic/Magdir/python | 33 +- contrib/file/magic/Magdir/revision | 27 +- contrib/file/magic/Magdir/riff | 89 +- contrib/file/magic/Magdir/rpm | 12 +- contrib/file/magic/Magdir/sgml | 98 +- contrib/file/magic/Magdir/sharc | 6 +- contrib/file/magic/Magdir/sniffer | 8 +- contrib/file/magic/Magdir/sql | 95 +- contrib/file/magic/Magdir/ssh | 45 + contrib/file/magic/Magdir/ssl | 22 +- contrib/file/magic/Magdir/sun | 17 +- contrib/file/magic/Magdir/symbos | 3 +- contrib/file/magic/Magdir/terminfo | 14 +- contrib/file/magic/Magdir/uf2 | 40 +- contrib/file/magic/Magdir/uxn | 18 + contrib/file/magic/Magdir/varied.script | 5 +- contrib/file/magic/Magdir/vax | 4 +- contrib/file/magic/Magdir/virtual | 38 +- contrib/file/magic/Magdir/weak | 1 + contrib/file/magic/Magdir/windows | 167 +- contrib/file/magic/Magdir/wordprocessors | 50 +- contrib/file/magic/Magdir/xenix | 136 +- contrib/file/magic/Magdir/xilinx | 49 +- contrib/file/magic/Magdir/yara | 16 +- contrib/file/magic/Makefile.am | 7 +- contrib/file/magic/Makefile.in | 8 +- contrib/file/python/Makefile.in | 1 + contrib/file/src/Makefile.in | 1 + contrib/file/src/apprentice.c | 104 +- contrib/file/src/cdf.c | 108 +- contrib/file/src/cdf.h | 131 +- contrib/file/src/cdf_time.c | 22 +- contrib/file/src/compress.c | 77 +- contrib/file/src/der.c | 22 +- contrib/file/src/der.h | 4 +- contrib/file/src/encoding.c | 4 +- contrib/file/src/file.c | 10 +- contrib/file/src/file.h | 69 +- contrib/file/src/funcs.c | 19 +- contrib/file/src/is_csv.c | 9 +- contrib/file/src/magic.c | 27 +- contrib/file/src/magic.h.in | 5 +- contrib/file/src/mygetopt.h | 9 +- contrib/file/src/print.c | 50 +- contrib/file/src/readelf.c | 150 +- contrib/file/src/readelf.h | 31 + contrib/file/src/seccomp.c | 103 +- contrib/file/src/softmagic.c | 148 +- contrib/file/tests/Makefile.am | 21 + contrib/file/tests/Makefile.in | 22 + contrib/file/tests/keyman-0.result | 1 + contrib/file/tests/keyman-0.testfile | Bin 0 -> 1494 bytes contrib/file/tests/keyman-1.result | 1 + contrib/file/tests/keyman-1.testfile | Bin 0 -> 378 bytes contrib/file/tests/keyman-2.result | 1 + contrib/file/tests/keyman-2.testfile | Bin 0 -> 1092 bytes contrib/file/tests/multiple.result | 2 +- contrib/file/tests/rpm-v3.0-bin-aarch64.result | 1 + contrib/file/tests/rpm-v3.0-bin-aarch64.testfile | Bin 0 -> 6361 bytes contrib/file/tests/rpm-v3.0-bin-powerpc64.result | 1 + contrib/file/tests/rpm-v3.0-bin-powerpc64.testfile | Bin 0 -> 6309 bytes contrib/file/tests/rpm-v3.0-bin-s390x.result | 1 + contrib/file/tests/rpm-v3.0-bin-s390x.testfile | Bin 0 -> 6301 bytes contrib/file/tests/rpm-v3.0-bin-x86_64.result | 1 + contrib/file/tests/rpm-v3.0-bin-x86_64.testfile | Bin 0 -> 6365 bytes contrib/file/tests/rpm-v3.0-src.result | 1 + contrib/file/tests/rpm-v3.0-src.testfile | Bin 0 -> 6554 bytes contrib/file/tests/searchbug.magic | 12 + contrib/file/tests/searchbug.result | 1 + contrib/file/tests/searchbug.testfile | 1 + contrib/file/tests/uf2.result | 2 +- contrib/file/tests/utf16xmlsvg.result | 1 + contrib/file/tests/utf16xmlsvg.testfile | Bin 0 -> 5564 bytes lib/libmagic/config.h | 147 +- 164 files changed, 8963 insertions(+), 3905 deletions(-) diff --cc contrib/file/magic/Magdir/keyman index 000000000000,81d4d4ca0fc8..81d4d4ca0fc8 mode 000000,100644..100644 --- a/contrib/file/magic/Magdir/keyman +++ b/contrib/file/magic/Magdir/keyman diff --cc contrib/file/magic/Magdir/lauterbach index 000000000000,229157fce4e6..229157fce4e6 mode 000000,100644..100644 --- a/contrib/file/magic/Magdir/lauterbach +++ b/contrib/file/magic/Magdir/lauterbach diff --cc contrib/file/magic/Magdir/pack index 000000000000,e0f6835e8c84..e0f6835e8c84 mode 000000,100644..100644 --- a/contrib/file/magic/Magdir/pack +++ b/contrib/file/magic/Magdir/pack diff --cc contrib/file/magic/Magdir/uxn index 000000000000,a7910c550bc4..a7910c550bc4 mode 000000,100644..100644 --- a/contrib/file/magic/Magdir/uxn +++ b/contrib/file/magic/Magdir/uxn diff --cc contrib/file/src/apprentice.c index e795741d5e16,cf040cddd9e0..5289f8e87267 --- a/contrib/file/src/apprentice.c +++ b/contrib/file/src/apprentice.c @@@ -1135,12 -1137,24 +1137,26 @@@ apprentice_sort(const void *a, const vo const struct magic_entry *mb = CAST(const struct magic_entry *, b); size_t sa = file_magic_strength(ma->mp, ma->cont_count); size_t sb = file_magic_strength(mb->mp, mb->cont_count); - if (sa == sb) - return 0; - else if (sa > sb) - return -1; - else - return 1; + if (sa == sb) { + struct magic mpa = *ma->mp; + struct magic mpb = *mb->mp; + mpa.lineno = mpb.lineno = 0; + int x = memcmp(&mpa, &mpb, sizeof(mpa)); + if (x == 0) { + // Don't warn for DER + if (mpa.type == FILE_DER) + return 0; + file_magwarn1("Duplicate magic entry `%s'", + ma->mp->desc); ++#ifndef COMPILE_ONLY + file_mdump(ma->mp); + file_mdump(mb->mp); ++#endif + return 0; + } + return x > 0 ? -1 : 1; + } + return sa > sb ? -1 : 1; } /* diff --cc contrib/file/tests/keyman-0.result index 000000000000,b092464b82b9..b092464b82b9 mode 000000,100644..100644 --- a/contrib/file/tests/keyman-0.result +++ b/contrib/file/tests/keyman-0.result diff --cc contrib/file/tests/keyman-0.testfile index 000000000000,558a7b2d464c..558a7b2d464c mode 000000,100644..100644 Binary files differ diff --cc contrib/file/tests/keyman-1.result index 000000000000,aa270a128ae5..aa270a128ae5 mode 000000,100644..100644 --- a/contrib/file/tests/keyman-1.result +++ b/contrib/file/tests/keyman-1.result diff --cc contrib/file/tests/keyman-1.testfile index 000000000000,9a5e835e04af..9a5e835e04af mode 000000,100644..100644 Binary files differ diff --cc contrib/file/tests/keyman-2.result index 000000000000,a32b7f388edc..a32b7f388edc mode 000000,100644..100644 --- a/contrib/file/tests/keyman-2.result +++ b/contrib/file/tests/keyman-2.result diff --cc contrib/file/tests/keyman-2.testfile index 000000000000,9f4f8a691d67..9f4f8a691d67 mode 000000,100644..100644 Binary files differ diff --cc contrib/file/tests/rpm-v3.0-bin-aarch64.result index 000000000000,b173034cb8f8..b173034cb8f8 mode 000000,100644..100644 --- a/contrib/file/tests/rpm-v3.0-bin-aarch64.result +++ b/contrib/file/tests/rpm-v3.0-bin-aarch64.result diff --cc contrib/file/tests/rpm-v3.0-bin-aarch64.testfile index 000000000000,125fffa8f79b..125fffa8f79b mode 000000,100644..100644 Binary files differ diff --cc contrib/file/tests/rpm-v3.0-bin-powerpc64.result index 000000000000,c4526e29b558..c4526e29b558 mode 000000,100644..100644 --- a/contrib/file/tests/rpm-v3.0-bin-powerpc64.result +++ b/contrib/file/tests/rpm-v3.0-bin-powerpc64.result diff --cc contrib/file/tests/rpm-v3.0-bin-powerpc64.testfile index 000000000000,8d8ded32ad7f..8d8ded32ad7f mode 000000,100644..100644 Binary files differ diff --cc contrib/file/tests/rpm-v3.0-bin-s390x.result index 000000000000,0008d7e82da1..0008d7e82da1 mode 000000,100644..100644 --- a/contrib/file/tests/rpm-v3.0-bin-s390x.result +++ b/contrib/file/tests/rpm-v3.0-bin-s390x.result diff --cc contrib/file/tests/rpm-v3.0-bin-s390x.testfile index 000000000000,cb459adf5198..cb459adf5198 mode 000000,100644..100644 Binary files differ diff --cc contrib/file/tests/rpm-v3.0-bin-x86_64.result index 000000000000,e3fcc7d9d40b..e3fcc7d9d40b mode 000000,100644..100644 --- a/contrib/file/tests/rpm-v3.0-bin-x86_64.result +++ b/contrib/file/tests/rpm-v3.0-bin-x86_64.result diff --cc contrib/file/tests/rpm-v3.0-bin-x86_64.testfile index 000000000000,9f1ecb3fea2f..9f1ecb3fea2f mode 000000,100644..100644 Binary files differ diff --cc contrib/file/tests/rpm-v3.0-src.result index 000000000000,d21ce34cbe1c..d21ce34cbe1c mode 000000,100644..100644 --- a/contrib/file/tests/rpm-v3.0-src.result +++ b/contrib/file/tests/rpm-v3.0-src.result diff --cc contrib/file/tests/rpm-v3.0-src.testfile index 000000000000,f6bdce32771d..f6bdce32771d mode 000000,100644..100644 Binary files differ diff --cc contrib/file/tests/searchbug.magic index 000000000000,ec892aaef803..ec892aaef803 mode 000000,100644..100644 --- a/contrib/file/tests/searchbug.magic +++ b/contrib/file/tests/searchbug.magic diff --cc contrib/file/tests/searchbug.result index 000000000000,9110ff092dfd..9110ff092dfd mode 000000,100644..100644 --- a/contrib/file/tests/searchbug.result +++ b/contrib/file/tests/searchbug.result diff --cc contrib/file/tests/searchbug.testfile index 000000000000,eca7c592a9d7..eca7c592a9d7 mode 000000,100644..100644 --- a/contrib/file/tests/searchbug.testfile +++ b/contrib/file/tests/searchbug.testfile diff --cc contrib/file/tests/utf16xmlsvg.result index 000000000000,280377488e7c..280377488e7c mode 000000,100644..100644 --- a/contrib/file/tests/utf16xmlsvg.result +++ b/contrib/file/tests/utf16xmlsvg.result diff --cc contrib/file/tests/utf16xmlsvg.testfile index 000000000000,a92267299b98..a92267299b98 mode 000000,100644..100644 Binary files differ diff --cc lib/libmagic/config.h index 232d801a6512,000000000000..12cd382ab9bb mode 100644,000000..100644 --- a/lib/libmagic/config.h +++ b/lib/libmagic/config.h @@@ -1,523 -1,0 +1,544 @@@ +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define in built-in ELF support is used */ +#define BUILTIN_ELF 1 + +/* Enable bzlib compression support */ +/* #undef BZLIBSUPPORT */ + +/* Define for ELF core file support */ +#define ELFCORE 1 + - /* Define to 1 if you have the `asctime_r' function. */ ++/* Define to 1 if you have the 'asctime_r' function. */ +#define HAVE_ASCTIME_R 1 + - /* Define to 1 if you have the `asprintf' function. */ ++/* Define to 1 if you have the 'asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the header file. */ - /* #undef HAVE_BYTESWAP_H */ ++#ifndef __APPLE__ /* Cross building tools on macOS */ ++#define HAVE_BYTESWAP_H 1 ++#endif + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_BZLIB_H */ + - /* Define to 1 if you have the `ctime_r' function. */ ++/* Define to 1 if you have the 'ctime_r' function. */ +#define HAVE_CTIME_R 1 + +/* HAVE_DAYLIGHT */ +/* #undef HAVE_DAYLIGHT */ + - /* Define to 1 if you have the declaration of `daylight', and to 0 if you ++/* Define to 1 if you have the declaration of 'daylight', and to 0 if you + don't. */ +#define HAVE_DECL_DAYLIGHT 0 + - /* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. ++/* Define to 1 if you have the declaration of 'tzname', and to 0 if you don't. + */ +#define HAVE_DECL_TZNAME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + - /* Define to 1 if you have the `dprintf' function. */ ++/* Define to 1 if you have the 'dprintf' function. */ +#define HAVE_DPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_ERR_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + - /* Define to 1 if you have the `fmtcheck' function. */ ++/* Define to 1 if you have the 'fmtcheck' function. */ +#define HAVE_FMTCHECK 1 + - /* Define to 1 if you have the `fork' function. */ ++/* Define to 1 if you have the 'fork' function. */ +#define HAVE_FORK 1 + - /* Define to 1 if you have the `freelocale' function. */ ++/* Define to 1 if you have the 'freelocale' function. */ +#define HAVE_FREELOCALE 1 + - /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ ++/* Define to 1 if fseeko (and ftello) are declared in stdio.h. */ +#define HAVE_FSEEKO 1 + - /* Define to 1 if you have the `getline' function. */ ++/* Define to 1 if you have the 'getline' function. */ +#define HAVE_GETLINE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_GETOPT_H 1 + - /* Define to 1 if you have the `getopt_long' function. */ ++/* Define to 1 if you have the 'getopt_long' function. */ +#define HAVE_GETOPT_LONG 1 + - /* Define to 1 if you have the `getpagesize' function. */ ++/* Define to 1 if you have the 'getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + - /* Define to 1 if you have the `gmtime_r' function. */ ++/* Define to 1 if you have the 'gmtime_r' function. */ +#define HAVE_GMTIME_R 1 + - /* Define to 1 if the system has the type `intptr_t'. */ ++/* Define to 1 if the system has the type 'intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + - /* Define to 1 if you have the `bz2' library (-lbz2). */ ++/* Define to 1 if you have the 'bz2' library (-lbz2). */ +/* #undef HAVE_LIBBZ2 */ + - /* Define to 1 if you have the `gnurx' library (-lgnurx). */ ++/* Define to 1 if you have the 'gnurx' library (-lgnurx). */ +/* #undef HAVE_LIBGNURX */ + - /* Define to 1 if you have the `lz' library (-llz). */ ++/* Define to 1 if you have the 'lrzip' library (-llrzip). */ ++/* #undef HAVE_LIBLRZIP */ ++ ++/* Define to 1 if you have the 'lz' library (-llz). */ +/* #undef HAVE_LIBLZ */ + - /* Define to 1 if you have the `lzma' library (-llzma). */ ++/* Define to 1 if you have the 'lzma' library (-llzma). */ +/* #undef HAVE_LIBLZMA */ + - /* Define to 1 if you have the `seccomp' library (-lseccomp). */ ++/* Define to 1 if you have the 'seccomp' library (-lseccomp). */ +/* #undef HAVE_LIBSECCOMP */ + - /* Define to 1 if you have the `z' library (-lz). */ ++/* Define to 1 if you have the 'z' library (-lz). */ +#define HAVE_LIBZ 1 + - /* Define to 1 if you have the `zstd' library (-lzstd). */ ++/* Define to 1 if you have the 'zstd' library (-lzstd). */ +/* #undef HAVE_LIBZSTD */ + - /* Define to 1 if you have the `localtime_r' function. */ ++/* Define to 1 if you have the 'localtime_r' function. */ +#define HAVE_LOCALTIME_R 1 + ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_LRZIP_H */ ++ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LZLIB_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LZMA_H */ + +/* Define to 1 if mbrtowc and mbstate_t are properly declared. */ +#define HAVE_MBRTOWC 1 + +/* Define to 1 if declares mbstate_t. */ +#define HAVE_MBSTATE_T 1 + - /* Define to 1 if you have the `memmem' function. */ ++/* Define to 1 if you have the 'memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MINIX_CONFIG_H */ + - /* Define to 1 if you have the `mkostemp' function. */ ++/* Define to 1 if you have the 'mkostemp' function. */ +#define HAVE_MKOSTEMP 1 + - /* Define to 1 if you have the `mkstemp' function. */ ++/* Define to 1 if you have the 'mkstemp' function. */ +#define HAVE_MKSTEMP 1 + - /* Define to 1 if you have a working `mmap' system call. */ ++/* Define to 1 if you have a working 'mmap' system call. */ +#define HAVE_MMAP 1 + - /* Define to 1 if you have the `newlocale' function. */ ++/* Define to 1 if you have the 'newlocale' function. */ +#define HAVE_NEWLOCALE 1 + - /* Define to 1 if you have the `pipe2' function. */ ++/* Define to 1 if you have the 'pipe2' function. */ +#ifndef __APPLE__ /* Cross building tools on macOS */ +#define HAVE_PIPE2 1 +#endif + - /* Define to 1 if you have the `posix_spawnp' function. */ ++/* Define to 1 if you have the 'posix_spawnp' function. */ +#define HAVE_POSIX_SPAWNP 1 + - /* Define to 1 if you have the `pread' function. */ ++/* Define to 1 if you have the 'pread' function. */ +#define HAVE_PREAD 1 + +/* Have sig_t type */ +#define HAVE_SIG_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SPAWN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + - /* Define to 1 if you have the `strcasestr' function. */ ++/* Define to 1 if you have the 'strcasestr' function. */ +#define HAVE_STRCASESTR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + - /* Define to 1 if you have the `strlcat' function. */ ++/* Define to 1 if you have the 'strlcat' function. */ +#define HAVE_STRLCAT 1 + - /* Define to 1 if you have the `strlcpy' function. */ ++/* Define to 1 if you have the 'strlcpy' function. */ +#define HAVE_STRLCPY 1 + - /* Define to 1 if you have the `strndup' function. */ ++/* Define to 1 if you have the 'strndup' function. */ +#define HAVE_STRNDUP 1 + - /* Define to 1 if you have the `strtof' function. */ ++/* Define to 1 if you have the 'strtof' function. */ +#define HAVE_STRTOF 1 + +/* HAVE_STRUCT_OPTION */ +#define HAVE_STRUCT_OPTION 1 + - /* Define to 1 if `st_rdev' is a member of `struct stat'. */ ++/* Define to 1 if 'st_rdev' is a member of 'struct stat'. */ +#define HAVE_STRUCT_STAT_ST_RDEV 1 + - /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ ++/* Define to 1 if 'tm_gmtoff' is a member of 'struct tm'. */ +#define HAVE_STRUCT_TM_TM_GMTOFF 1 + - /* Define to 1 if `tm_zone' is a member of `struct tm'. */ ++/* Define to 1 if 'tm_zone' is a member of 'struct tm'. */ +#define HAVE_STRUCT_TM_TM_ZONE 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_BSWAP_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMACROS_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_UTIME_H */ + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* HAVE_TM_ISDST */ +#define HAVE_TM_ISDST 1 + +/* HAVE_TM_ZONE */ +#define HAVE_TM_ZONE 1 + +/* HAVE_TZNAME */ +#define HAVE_TZNAME 1 + - /* Define to 1 if the system has the type `uintptr_t'. */ ++/* Define to 1 if the system has the type 'uintptr_t'. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + - /* Define to 1 if you have the `uselocale' function. */ ++/* Define to 1 if you have the 'uselocale' function. */ +#define HAVE_USELOCALE 1 + - /* Define to 1 if you have the `utime' function. */ ++/* Define to 1 if you have the 'utime' function. */ +#define HAVE_UTIME 1 + - /* Define to 1 if you have the `utimes' function. */ ++/* Define to 1 if you have the 'utimes' function. */ +#define HAVE_UTIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UTIME_H 1 + - /* Define to 1 if you have the `vasprintf' function. */ ++/* Define to 1 if you have the 'vasprintf' function. */ +#define HAVE_VASPRINTF 1 + - /* Define to 1 if you have the `vfork' function. */ ++/* Define to 1 if you have the 'vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 or 0, depending whether the compiler supports simple visibility + declarations. */ +#define HAVE_VISIBILITY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + - /* Define to 1 if you have the `wcwidth' function. */ ++/* Define to 1 if you have the 'wcwidth' function. */ +#define HAVE_WCWIDTH 1 + - /* Define to 1 if `fork' works. */ ++/* Define to 1 if 'fork' works. */ +#define HAVE_WORKING_FORK 1 + - /* Define to 1 if `vfork' works. */ ++/* Define to 1 if 'vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the header file. */ +#ifndef __linux__ /* Cross building tools build with glibc on linux */ +#define HAVE_XLOCALE_H 1 +#endif + +/* Define to 1 if you have the header file. */ +#define HAVE_ZLIB_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ZSTD_ERRORS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ZSTD_H */ + ++/* Enable lrziplib compression support */ ++/* #undef LRZIPLIBSUPPORT */ ++ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Enable lzlib compression support */ +/* #undef LZLIBSUPPORT */ + - /* Define to 1 if `major', `minor', and `makedev' are declared in . ++/* Define to 1 if 'major', 'minor', and 'makedev' are declared in . + */ +/* #undef MAJOR_IN_MKDEV */ + - /* Define to 1 if `major', `minor', and `makedev' are declared in ++/* Define to 1 if 'major', 'minor', and 'makedev' are declared in + . */ +/* #undef MAJOR_IN_SYSMACROS */ + +/* Name of package */ +#define PACKAGE "file" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "christos@astron.com" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "file" + +/* Define to the full name and version of this package. */ - #define PACKAGE_STRING "file 5.45" ++#define PACKAGE_STRING "file 5.46" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "file" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ - #define PACKAGE_VERSION "5.45" ++#define PACKAGE_VERSION "5.46" + - /* Define to 1 if all of the C90 standard headers exist (not just the ones ++/* Define to 1 if all of the C89 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#define STDC_HEADERS 1 + - /* Define to 1 if your declares `struct tm'. */ ++/* Define to 1 if your declares 'struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + - /* Enable extensions on AIX 3, Interix. */ ++/* Enable extensions on AIX, Interix, z/OS. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable general extensions on macOS. */ +#ifndef _DARWIN_C_SOURCE +# define _DARWIN_C_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable X/Open compliant socket functions that do not require linking + with -lxnet on HP-UX 11.11. */ +#ifndef _HPUX_ALT_XOPEN_SOCKET_API +# define _HPUX_ALT_XOPEN_SOCKET_API 1 +#endif +/* Identify the host operating system as Minix. + This macro does not affect the system headers' behavior. + A future release of Autoconf may stop defining this macro. */ +#ifndef _MINIX +/* # undef _MINIX */ +#endif +/* Enable general extensions on NetBSD. + Enable NetBSD compatibility extensions on Minix. */ +#ifndef _NETBSD_SOURCE +# define _NETBSD_SOURCE 1 +#endif +/* Enable OpenBSD compatibility extensions on NetBSD. + Oddly enough, this does nothing on OpenBSD. */ +#ifndef _OPENBSD_SOURCE +# define _OPENBSD_SOURCE 1 +#endif +/* Define to 1 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_SOURCE +/* # undef _POSIX_SOURCE */ +#endif +/* Define to 2 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_1_SOURCE +/* # undef _POSIX_1_SOURCE */ +#endif +/* Enable POSIX-compatible threading on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ +#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ +# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ +#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ +# define __STDC_WANT_IEC_60559_BFP_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ +#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ +# define __STDC_WANT_IEC_60559_DFP_EXT__ 1 +#endif ++/* Enable extensions specified by C23 Annex F. */ ++#ifndef __STDC_WANT_IEC_60559_EXT__ ++# define __STDC_WANT_IEC_60559_EXT__ 1 ++#endif +/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ +#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ +# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 +#endif - /* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ ++/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */ +#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ +# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ +#ifndef __STDC_WANT_LIB_EXT2__ +# define __STDC_WANT_LIB_EXT2__ 1 +#endif +/* Enable extensions specified by ISO/IEC 24747:2009. */ +#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ +# define __STDC_WANT_MATH_SPEC_FUNCS__ 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable X/Open extensions. Define to 500 only if necessary + to make mbstate_t available. */ +#ifndef _XOPEN_SOURCE +/* # undef _XOPEN_SOURCE */ +#endif + + +/* Version number of package */ - #define VERSION "5.45" ++#define VERSION "5.46" + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Enable xzlib compression support */ +/* #undef XZLIBSUPPORT */ + +/* Enable zlib compression support */ +#define ZLIBSUPPORT 1 + +/* Enable zstdlib compression support */ +/* #undef ZSTDLIBSUPPORT */ + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + - /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ ++/* Define to 1 if necessary to make fseeko visible. */ +/* #undef _LARGEFILE_SOURCE */ + - /* Define for large files, on AIX-style hosts. */ ++/* Define to 1 on platforms where this makes off_t a 64-bit type. */ +/* #undef _LARGE_FILES */ + ++/* Number of bits in time_t, on hosts where this is settable. */ ++/* #undef _TIME_BITS */ ++ +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT32_T */ + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT64_T */ + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT8_T */ + ++/* Define to 1 on platforms where this makes time_t a 64-bit type. */ ++/* #undef __MINGW_USE_VC2005_COMPAT */ ++ +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int32_t */ + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int64_t */ + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to a type if does not define. */ +/* #undef mbstate_t */ + - /* Define to `long int' if does not define. */ ++/* Define to 'long int' if does not define. */ +/* #undef off_t */ + +/* Define as a signed integer type capable of holding a process identifier. */ +/* #undef pid_t */ + - /* Define to `unsigned int' if does not define. */ ++/* Define as 'unsigned int' if doesn't define. */ +/* #undef size_t */ + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint16_t */ + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint32_t */ + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint64_t */ + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint8_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + - /* Define as `fork' if `vfork' does not work. */ ++/* Define as 'fork' if 'vfork' does not work. */ +/* #undef vfork */ From nobody Sun Dec 8 19:15:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5vpF05jhz5f3kk; Sun, 08 Dec 2024 19:15:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5vpD6g0Yz4Gk2; Sun, 8 Dec 2024 19:15:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733685316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p2mCNJnqMo2CzVN4BWKjs9cMF9aThcivINiIG1VYQYc=; b=r7U+Pbr1mMqnB8bqlbcFXMvCRSvVsdKwGVzD2AmbJ9joK+9C3xWZ6Z4zv+OrOmoUjR5p49 zCQlTEugIkoD+uqSht6lHSeFcHJaqW0LRQoBkx5u9gg2YVg/0i6VLSjhva0EKv9Mv9WHnQ 1ZcTlScXf5MQLb37bdOQYztpVHVo9l65Df5+qXyMuZ2f6/Mn4eCyoTrtfyvING1d9QHjGN 8GufkTHK9tCIqQ/tBOw2DYVO2IkdCAa+UEV7N6j9ECMPoBm9+d80+NoNy3v1KIuGrblzGJ lguCK+hmO9HcjfaIuUFrYs0xDltZbpLBY/sYhzwm1vXfvjiE6d/BmSn1jLSdyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733685316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=p2mCNJnqMo2CzVN4BWKjs9cMF9aThcivINiIG1VYQYc=; b=H7HExKQSe6pn0pl8xnlyytSMY/sod5Xnf8H7Klq3A79HYvbGdkIMIJrFtXyEatzvznkpfe cfFMO/dpMMzRrf1RAfUy91tPYjGxJOzrSdEEHtzEWTjqdRCpU19iVO+m1DPM5b3CJBx0XJ xHqjUziF7FGSCxZCwlQuSU9auChYCPJzSGASaipnlkMoxZWwWidL5E0xlak+rUz3jgX9eD 0VgbXr+kcKsXBhSs3IUMPOoVUmGZb8Jhto7Ko1Tt91K5qG5wdUBX17V8Eq3seYl8CuJaNt heBp9FZxbiF3BLPiQhxrGK8HMyojjAuLAT76OpHVPM0pAIevi6NlEz5rwTrAJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733685316; a=rsa-sha256; cv=none; b=Vqe+wGYA5Zlmae03jseJ4FEM3q9J1vww+mPNEmheUVrbmJeo0Z20DSY5xQDMgQ7UlMfcMo ZqDWc2M7vLI+936vgqBj8cZuqvHmyGmQH7UtBPHkjafLRpDRCrT/jk5KdoH0v/0F7TCkPJ DV0RodgOMVWwaj41zMnMue6G6EgRkg5RjtdtUpFBriBLYh7kNH/RQXz7hItJOpAInTsR0n XtixOEC3hDeI5eULn6bTRZt3edQ6up/gFuxFWp19Pn/YNgShza7xI9sJEhDuazrJ52Tcmz V+8OugB5idqxw88hLauJh3Db2WKv88Jv6eIUvhelXnKrJ/Bw/4Nz/fLWE1r2tw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y5vpD6GM0z14j4; Sun, 8 Dec 2024 19:15: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 4B8JFGlf072429; Sun, 8 Dec 2024 19:15:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B8JFGQc072426; Sun, 8 Dec 2024 19:15:16 GMT (envelope-from git) Date: Sun, 8 Dec 2024 19:15:16 GMT Message-Id: <202412081915.4B8JFGQc072426@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Maxim Sobolev Subject: git: 1e99be5dcda2 - main - libc: lib_malloc_aligned(): add a missing NULL check List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sobomax X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1e99be5dcda222d47a77715e190a381a14f46ece Auto-Submitted: auto-generated The branch main has been updated by sobomax: URL: https://cgit.FreeBSD.org/src/commit/?id=1e99be5dcda222d47a77715e190a381a14f46ece commit 1e99be5dcda222d47a77715e190a381a14f46ece Author: Maxim Sobolev AuthorDate: 2024-12-08 19:08:43 +0000 Commit: Maxim Sobolev CommitDate: 2024-12-08 19:14:36 +0000 libc: lib_malloc_aligned(): add a missing NULL check For some reason return value of the __je_bootstrap_malloc() is not checked and then de-referenced few lines below, causing a SEGV if an early allocation fails. MFC after: 1 month --- lib/libc/gen/tls.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libc/gen/tls.c b/lib/libc/gen/tls.c index 3c1a5472c0e5..30b4fc583c98 100644 --- a/lib/libc/gen/tls.c +++ b/lib/libc/gen/tls.c @@ -113,6 +113,8 @@ libc_malloc_aligned(size_t size, size_t align) align = sizeof(void *); mem = __je_bootstrap_malloc(size + sizeof(void *) + align - 1); + if (mem == NULL) + return (NULL); res = (void *)roundup2((uintptr_t)mem + sizeof(void *), align); *(void **)((uintptr_t)res - sizeof(void *)) = mem; return (res); From nobody Sun Dec 8 20:23:40 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5xKM6StBz5f8Cy; Sun, 08 Dec 2024 20:23:51 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5xKM5y0rz4R49; Sun, 8 Dec 2024 20:23:51 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733689431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=BVI5i23k29K3Iatln5i+5omUgddalvdrxqCum91QXqQ=; b=g+eJp0TquP5aL2SciBAGz5Ll/4HvNByujpfVdGiROhOE8F2VZ+4LJTjLSn2c68hOrhsL8f rDmEXrKvaDaZlkba1k+VBJDb1RAPl5+1zs0B+Wwi2CqKPl9pq2Ao5KZWKBFji5izVLw4oM IYJnnELhOfW9AbCU0SfCPQEj+C5TkZsqrnb8fhK6wQlq1iCt8NhMylgWqAuA8vD7AsSWZf P3gkMKKd0DTWudYiWG0C9kyxg4JaYFD9ss9bGspUdz1IYdZhEGJstQlx2lSPb5wtcD8xRs fyjVlpzUU62U5DkwVvRajsKWw08AeXcuYAt4GZ4eU4lI7pmCQCSrCsEbxU3C8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733689431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=BVI5i23k29K3Iatln5i+5omUgddalvdrxqCum91QXqQ=; b=FJOAFe23C2U98LvcLkyotxy2tH/n5GcLdkXxab8Z8hHrNl0hWESrGC63rK6Jdct7SBduzq /SJOevHMA4YB4fasQ14UEd1YtGhWyequW2rI36FxJIzL75x2oPrYLNd2eiSReq48c5xtT0 gNGae6BZSVLA5DEUn+YWS2CF4tSv7IOvYNALVZYF+FGcQqjQGBM0gPHcEhYiLpyt8diCdQ GkGeUZ00XfUvCBbkLXqL1xKFvUx3jb05+LJnN6+lcrwUnF5hjoKmob+AmZUM3lV5ffk7ZR 2787si411S4vDy274GOWzbnevCpJSRYSlp2npieuSl7nWlKvlX2aiIwxEmq2+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733689431; a=rsa-sha256; cv=none; b=P4RDWob+xwP2Uxxbk/tRb+afO7tWTu4dA8DlRMeA6wtU7DHkbp9/zK83cfMATmTBHMe3W3 ez7WknwhlFYCDrIJU/Znwm5IUhDt8Bme5FudR4NbKDZaYm4YMtjJIQ+xA9zC1AH6v9J3rT 30d+50ZlxeOYk88d98Zzq2fHsblBKjhKJRR+mzWe8iw99fflA6G7M8KHUXofqGRIh/16JT WZRF6MvJv2oGujsRkvK6FjcmRHCAU/bPlFk2lHhKko7DBnQVBNE2Dh+3lSWES/UB/witFE m6BGPsZm5V+ZhzFQQPIwf00oXqAfVbyFLX7KF8H9dKumV62/sXOk4mYLfYzfxw== Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com [209.85.160.178]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4Y5xKM5Mptz1N2D; Sun, 8 Dec 2024 20:23:51 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-qt1-f178.google.com with SMTP id d75a77b69052e-4674e048757so2837481cf.1; Sun, 08 Dec 2024 12:23:51 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUxpTIvFVZUmfgJbSOHj+d19Y3SqByy8aLb0WJTQT6kq1CM70rzWdLa6tWDzZUzCj9ahN+3vmKUMy6K+VNCDxUiQvNHXrU=@freebsd.org, AJvYcCXKcZa/9b12vZADAakJ2tYzb/7BcvfBgny0NLSV5nDO+kH/leQLW+KZNNclZyxEcyA2RBA+ijlxFwi8WrJrmul+Ezd3@freebsd.org X-Gm-Message-State: AOJu0YwDn7nc2kjjdYOsnZDxCKCx4Dl6N/FjzunFknAB/huWzTMaO2/4 N/3TBsv7DfUejpxU6b3VhnXlWYL5hb5Xau2z56gvqYiZnsv1I78Dx9CsS05Rxiy+h/XgxWIYmBS nUp3IlwiSYdThO453Y7quFaJtYaY= X-Google-Smtp-Source: AGHT+IEcCeGJH4hNfl8LyYgfWHqowUBbY1Qnd2vX3VqOn8jp+tDdH4ooU7ZkXvJBeBpxYCPUzdkHHsA9evim7u+ixf4= X-Received: by 2002:a05:622a:309:b0:466:8e17:cd1f with SMTP id d75a77b69052e-46734c9ebd9mr72063801cf.3.1733689431218; Sun, 08 Dec 2024 12:23:51 -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: <202412061731.4B6HVxb7024201@gitrepo.freebsd.org> In-Reply-To: From: Nuno Teixeira Date: Sun, 8 Dec 2024 20:23:40 +0000 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: 71ac745d76c3 - main - Merge llvm-project release/19.x llvmorg-19.1.5-0-gab4b5a2db582 To: Dimitry Andric Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000b2ebb90628c80602" --000000000000b2ebb90628c80602 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable (...) I'm repeating ports rebuild and everything is building ok with same tree/world. Something went wrong on my system. Sorry for the noise :) Nuno Teixeira escreveu (domingo, 8/12/2024 =C3=A0(s) 18:29): > OK, I'm redoing interactive testport to get those files on dmidecode port > and then I will open a PR. > > Thanks > > Dimitry Andric escreveu (domingo, 8/12/2024 =C3=A0(s) 1= 7:06): > >> Please create a PR, with the files: >> >> /tmp/dmioem-9137f8.c >> /tmp/dmioem-9137f8.sh >> >> attached. >> >> -Dimitry >> >> > On 8 Dec 2024, at 08:49, Nuno Teixeira wrote: >> > >> > (...) >> > >> > Full logs: >> https://people.freebsd.org/~eduardo/logs/main-n274092-f00fe116dc9d/ >> > >> > Nuno Teixeira escreveu (domingo, 8/12/2024 =C3= =A0(s) >> 07:48): >> > Hello, >> > >> > On aarch64 I'v started to see ports failing with illegal instructions >> on main-n274092-f00fe116dc9d. >> > >> > So far the following ports are failing: >> > >> > sysutils/dmidecode >> > textproc/docbook2mdoc >> > devel/libpci >> > lang/lua53 >> > >> > Maybe it is worth to take a check on them? >> > >> > Thanks >> > >> > =3D=3D=3D=3D >> > ./types.h:55:25: note: expanded from macro 'DWORD' >> > 55 | #define DWORD(x) (u32)(*(const u32 *)(x)) >> > | ^~~~~~~~~~~~~~~~ >> > --- dmioem.o --- >> > #0 0x0000000004e7d2e0 PrintStackTrace >> /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:13 >> > #1 0x0000000004e7b2d8 __cxx_atomic_store >> /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/cxx_atomi= c_impl.h:304:3 >> > #2 0x0000000004e7b2d8 store >> /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/atomic_ba= se.h:51:5 >> > #3 0x0000000004e7b2d8 RunSignalHandlers >> /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:107:16 >> > #4 0x0000000004e4b428 HandleCrash >> /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:= 73:5 >> > #5 0x0000000004e4b428 CrashRecoverySignalHandler >> /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:= 390:51 >> > #6 0x000000008952ae80 handle_signal >> /usr/src/lib/libthr/thread/thr_sig.c:0:3 >> > cc: error: clang frontend command failed with exit code 132 (use -v to >> see invocation) >> > FreeBSD clang version 19.1.5 (https://github.com/llvm/llvm-project.git >> llvmorg-19.1.5-0-gab4b5a2db582) >> > Target: aarch64-unknown-freebsd15.0 >> > Thread model: posix >> > InstalledDir: /usr/bin >> > cc: note: diagnostic msg: >> > ******************** >> > >> > PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: >> > Preprocessed source(s) and associated run script(s) are located at: >> > cc: note: diagnostic msg: /tmp/dmioem-9137f8.c >> > cc: note: diagnostic msg: /tmp/dmioem-9137f8.sh >> > cc: note: diagnostic msg: >> > =3D=3D=3D=3D >> > >> > >> > =3D=3D=3D=3D >> > >> > cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -g -W >> -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-strings -c reorg= .c >> -o reorg.o >> > --- xmalloc.o --- >> > Illegal instruction (core dumped) >> > *** [xmalloc.o] Error code 132 >> > >> > =3D=3D=3D=3D >> > >> > =3D=3D=3D=3D >> > >> > cc -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN >> -DLUA_USE_READLINE_DL -isystem /usr/local/include -O2 -pipe -fPIC >> -fstack-protector-strong -isystem /usr/local/include -c ldebug.c -o >> ldebug.o >> > Illegal instruction (core dumped) >> > *** [ldebug.o] Error code 132=3D=3D=3D=3D=3D >> > >> > =3D=3D=3D=3D >> > >> > >> > -- >> > Nuno Teixeira >> > FreeBSD UNIX: Web: https://FreeBSD.org >> >> > > -- > Nuno Teixeira > FreeBSD UNIX: Web: https://FreeBSD.org > --=20 Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --000000000000b2ebb90628c80602 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
(...)

I'm repeating port= s rebuild and everything is building ok with same tree/world. Something wen= t wrong on my system.

Sorry for the noise :)

Nuno Teixeira <eduardo@freebsd.org> escreveu (domingo, 8/12/2024 =C3=A0(s) 18:29):=
OK, I'm redoing interactive testport to get those files on dmide= code port and then I will open a PR.

Thanks

Please create a PR, with the files:
/tmp/dmioem-9137f8.c
/tmp/dmioem-9137f8.sh

attached.

-Dimitry

> On 8 Dec 2024, at 08:49, Nuno Teixeira <
eduardo@freebsd.org> wrote:
>
> (...)
>
> Full logs: https://people.fr= eebsd.org/~eduardo/logs/main-n274092-f00fe116dc9d/
>
> Nuno Teixeira <eduardo@freebsd.org> escreveu (domingo, 8/12/2024 =C3=A0(s) 07:= 48):
> Hello,
>
> On aarch64 I'v started to see ports failing with illegal instructi= ons on main-n274092-f00fe116dc9d.
>
> So far the following ports are failing:
>
> sysutils/dmidecode
> textproc/docbook2mdoc
> devel/libpci
> lang/lua53
>
> Maybe it is worth to take a check on them?
>
> Thanks
>
> =3D=3D=3D=3D
> ./types.h:55:25: note: expanded from macro 'DWORD'
>=C2=A0 =C2=A0 55 | #define DWORD(x) (u32)(*(const u32 *)(x))
>=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~~~~~~~~~
> --- dmioem.o ---
> #0 0x0000000004e7d2e0 PrintStackTrace /usr/src/contrib/llvm-project/ll= vm/lib/Support/Unix/Signals.inc:723:13
> #1 0x0000000004e7b2d8 __cxx_atomic_store<CallbackAndCookie::Status&= gt; /usr/obj/usr/src/arm64.aarch64/tmp/usr/include/c++/v1/__atomic/cxx_atom= ic_impl.h:304:3
> #2 0x0000000004e7b2d8 store /usr/obj/usr/src/arm64.aarch64/tmp/usr/inc= lude/c++/v1/__atomic/atomic_base.h:51:5
> #3 0x0000000004e7b2d8 RunSignalHandlers /usr/src/contrib/llvm-project/= llvm/lib/Support/Signals.cpp:107:16
> #4 0x0000000004e4b428 HandleCrash /usr/src/contrib/llvm-project/llvm/l= ib/Support/CrashRecoveryContext.cpp:73:5
> #5 0x0000000004e4b428 CrashRecoverySignalHandler /usr/src/contrib/llvm= -project/llvm/lib/Support/CrashRecoveryContext.cpp:390:51
> #6 0x000000008952ae80 handle_signal /usr/src/lib/libthr/thread/thr_sig= .c:0:3
> cc: error: clang frontend command failed with exit code 132 (use -v to= see invocation)
> FreeBSD clang version 19.1.5 (https://github.com/llvm/l= lvm-project.git llvmorg-19.1.5-0-gab4b5a2db582)
> Target: aarch64-unknown-freebsd15.0
> Thread model: posix
> InstalledDir: /usr/bin
> cc: note: diagnostic msg:
> ********************
>
> PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
> Preprocessed source(s) and associated run script(s) are located at: > cc: note: diagnostic msg: /tmp/dmioem-9137f8.c
> cc: note: diagnostic msg: /tmp/dmioem-9137f8.sh
> cc: note: diagnostic msg:
> =3D=3D=3D=3D
>
>
> =3D=3D=3D=3D
>
> cc=C2=A0 -O2 -pipe=C2=A0 -fstack-protector-strong -fno-strict-aliasing= =C2=A0 -g -W -Wall -Wstrict-prototypes -Wno-unused-parameter -Wwrite-string= s -c reorg.c -o reorg.o
> --- xmalloc.o ---
> Illegal instruction (core dumped)
> *** [xmalloc.o] Error code 132
>
> =3D=3D=3D=3D
>
> =3D=3D=3D=3D
>
> cc=C2=A0 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_POSIX -DLUA_USE_DLOP= EN -DLUA_USE_READLINE_DL -isystem /usr/local/include -O2 -pipe=C2=A0 -fPIC = -fstack-protector-strong -isystem /usr/local/include=C2=A0 -c ldebug.c -o l= debug.o
> Illegal instruction (core dumped)
> *** [ldebug.o] Error code 132=3D=3D=3D=3D=3D
>
> =3D=3D=3D=3D
>
>
> --
> Nuno Teixeira
> FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0= https= ://FreeBSD.org



--
Nuno Teixeira
=
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org


--
Nuno Teixeira
=
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--000000000000b2ebb90628c80602-- From nobody Sun Dec 8 20:31:16 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5xTw3chPz5f8sR; Sun, 08 Dec 2024 20:31:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5xTw22pBz4RYS; Sun, 8 Dec 2024 20:31:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733689876; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XQm+Qqo5gdCSac3pP1o8EPiypzoppR9i30saT5JRzqI=; b=Wcd0n/gPBzUNMxlZYkSGV920uTfO739f3BBkr33NenIE1RqMMCgj0uXvPO4ePegIg0Wn/R fKTBKPdDNO1BBjzYjnmiAe3A/Mj1h88Tsf/R5xP1naA4Gw6y6VNtOAcGzTLXIPvb/mXG7X 3vSLPU44acWQ08fw62pnhm3Z/JNVXxZDMhM0MgNsc03chFUEn6p7cgbeFs3ZrabYIUL8nd Gay+cS/skpBwWOVfnsRHnvwsJ7jGi6vN3kEjfulw3GWLaM0pVdxQnujZUVEXi5oPUAzXVj VWvbFL4pqQnQMrioCYNNkuP9nG3MDjfI6cAfwpMuv7qie5403dqOtwIddYmBTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733689876; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XQm+Qqo5gdCSac3pP1o8EPiypzoppR9i30saT5JRzqI=; b=SLAW3A4HTaqbq5ZcpQ+nmJN6FQY/7aQcLZv3EW7TtPa+jnVez0YryJGMGrMnXoFED9GlOe /2v/vFYNRhUii4ZehnXkNoOyqZgJZa4q/zt+T3bPXDtGsq+G7q0bfapih6R9Py6F89sm23 q820bEtdJyWuUZyzyIKTBAKIX6uSW2A2W8G8kVASgg/EQX8wXJd+sR2IAQc/TX9SQh5z4S oGHu67ux1UaS+cuEkSG2//Pl2C96NGZDOG5TN+3yNt7On6/CtQ008+LznsK6xOLc9GrL6J TmnsNWXazybWLZ9ZRtc2geA/xTggmxE5a1wtjN2Y3PZ72hulYsKFdSplQn3zOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733689876; a=rsa-sha256; cv=none; b=PXQomNr/tC99Gt0UjLS2/vpwwiKGpMAWWDFK8SRFCL2Ke8DAhpgOw8ms3EOz16Y8D6FeJp CnkrTDqyfDgw2aBP+yd6HCZqkCw4Vd0itUi7L7WP6WtJnR0+XRD1MzcitEGv0pIf/duMgD BS8Ziy/4lfzc03SQzUX8Y4RI8djTnkxwDTX5ankgD649uht5bMSrgdlv6KFDSgHGmApYAF V4FQT+KtGHWsV6m0AdH/DQR92hNOsrQ7LlfkPSjLpPPinKNS+2eOHt0eHJHMcGcdLj2DG/ ikQ/oSQB9M1Jui+beD42vXPiboEBYeoRGlURii+lb1RhQ5fVyeXIegCncqueHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y5xTw1fncz16Hp; Sun, 8 Dec 2024 20:31: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 4B8KVGLx015072; Sun, 8 Dec 2024 20:31:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B8KVGb3015069; Sun, 8 Dec 2024 20:31:16 GMT (envelope-from git) Date: Sun, 8 Dec 2024 20:31:16 GMT Message-Id: <202412082031.4B8KVGb3015069@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: c1d12b925b2c - main - vm_page: pass page to iter_remove List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c1d12b925b2c87d55a86b874e7b7e7a590844eb9 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=c1d12b925b2c87d55a86b874e7b7e7a590844eb9 commit c1d12b925b2c87d55a86b874e7b7e7a590844eb9 Author: Doug Moore AuthorDate: 2024-12-08 20:30:22 +0000 Commit: Doug Moore CommitDate: 2024-12-08 20:30:22 +0000 vm_page: pass page to iter_remove Pass the to-be-freed page to vm_page_iter_remove as a parameter, rather than computing it from the iterator parameter, to improve performance. Reviewed by: alc Differential Revision: https://reviews.freebsd.org/D47730 --- sys/arm/nvidia/drm2/tegra_bo.c | 2 +- sys/vm/device_pager.c | 10 +++++----- sys/vm/vm_object.c | 8 ++++---- sys/vm/vm_page.c | 6 ++---- sys/vm/vm_page.h | 2 +- sys/vm/vm_pager.h | 2 +- 6 files changed, 14 insertions(+), 16 deletions(-) diff --git a/sys/arm/nvidia/drm2/tegra_bo.c b/sys/arm/nvidia/drm2/tegra_bo.c index 0b62e78224dc..6d380b95a4a9 100644 --- a/sys/arm/nvidia/drm2/tegra_bo.c +++ b/sys/arm/nvidia/drm2/tegra_bo.c @@ -64,7 +64,7 @@ tegra_bo_destruct(struct tegra_bo *bo) for (i = 0; i < bo->npages; i++) { m = vm_page_iter_lookup(&pages, i); vm_page_busy_acquire(m, 0); - cdev_mgtdev_pager_free_page(&pages); + cdev_mgtdev_pager_free_page(&pages, m); m->flags &= ~PG_FICTITIOUS; vm_page_unwire_noq(m); vm_page_free(m); diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c index 55bc948a4c44..24241d118c7a 100644 --- a/sys/vm/device_pager.c +++ b/sys/vm/device_pager.c @@ -268,7 +268,7 @@ cdev_pager_free_page(vm_object_t object, vm_page_t m) vm_page_iter_init(&pages, object); vm_page_iter_lookup(&pages, m->pindex); - cdev_mgtdev_pager_free_page(&pages); + cdev_mgtdev_pager_free_page(&pages, m); } else if (object->type == OBJT_DEVICE) dev_pager_free_page(object, m); else @@ -277,10 +277,10 @@ cdev_pager_free_page(vm_object_t object, vm_page_t m) } void -cdev_mgtdev_pager_free_page(struct pctrie_iter *pages) +cdev_mgtdev_pager_free_page(struct pctrie_iter *pages, vm_page_t m) { - pmap_remove_all(vm_radix_iter_page(pages)); - vm_page_iter_remove(pages); + pmap_remove_all(m); + vm_page_iter_remove(pages, m); } void @@ -298,7 +298,7 @@ retry: pctrie_iter_reset(&pages); goto retry; } - cdev_mgtdev_pager_free_page(&pages); + cdev_mgtdev_pager_free_page(&pages, m); } VM_OBJECT_WUNLOCK(object); } diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index ff95469749b7..a3cfb4d036be 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -1599,7 +1599,7 @@ retry: * an incomplete fault. Just remove and ignore. */ if (vm_page_none_valid(m)) { - if (vm_page_iter_remove(&pages)) + if (vm_page_iter_remove(&pages, m)) vm_page_free(m); continue; } @@ -1727,7 +1727,7 @@ vm_object_collapse_scan(vm_object_t object) KASSERT(!pmap_page_is_mapped(p), ("freeing mapped page %p", p)); - if (vm_page_iter_remove(&pages)) + if (vm_page_iter_remove(&pages, p)) vm_page_free(p); next = vm_radix_iter_step(&pages); continue; @@ -1736,7 +1736,7 @@ vm_object_collapse_scan(vm_object_t object) if (!vm_page_all_valid(p)) { KASSERT(!pmap_page_is_mapped(p), ("freeing mapped page %p", p)); - if (vm_page_iter_remove(&pages)) + if (vm_page_iter_remove(&pages, p)) vm_page_free(p); next = vm_radix_iter_step(&pages); continue; @@ -1779,7 +1779,7 @@ vm_object_collapse_scan(vm_object_t object) ("freeing mapped page %p", p)); if (pp != NULL) vm_page_xunbusy(pp); - if (vm_page_iter_remove(&pages)) + if (vm_page_iter_remove(&pages, p)) vm_page_free(p); next = vm_radix_iter_step(&pages); continue; diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 8a23f900e987..f351295c1af5 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -1752,16 +1752,14 @@ vm_page_remove(vm_page_t m) /* * vm_page_iter_remove: * - * Remove the current page, as identified by iterator, and remove it from the + * Remove the current page, and use the iterator to remove it from the * radix tree. */ bool -vm_page_iter_remove(struct pctrie_iter *pages) +vm_page_iter_remove(struct pctrie_iter *pages, vm_page_t m) { - vm_page_t m; bool dropped; - m = vm_radix_iter_page(pages); vm_radix_iter_remove(pages); vm_page_remove_radixdone(m); dropped = (vm_page_drop(m, VPRC_OBJREF) == VPRC_OBJREF); diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h index 29344eadbf05..744688bf789b 100644 --- a/sys/vm/vm_page.h +++ b/sys/vm/vm_page.h @@ -654,7 +654,7 @@ void vm_page_iter_free(struct pctrie_iter *pages, vm_page_t m); void vm_page_iter_init(struct pctrie_iter *, vm_object_t); void vm_page_iter_limit_init(struct pctrie_iter *, vm_object_t, vm_pindex_t); vm_page_t vm_page_iter_lookup(struct pctrie_iter *, vm_pindex_t); -bool vm_page_iter_remove(struct pctrie_iter *pages); +bool vm_page_iter_remove(struct pctrie_iter *pages, vm_page_t m); bool vm_page_iter_rename(struct pctrie_iter *old_pages, vm_page_t m, vm_object_t new_object, vm_pindex_t new_pindex); void vm_page_launder(vm_page_t m); diff --git a/sys/vm/vm_pager.h b/sys/vm/vm_pager.h index 0958d82d6968..c4a9b5e9dcb9 100644 --- a/sys/vm/vm_pager.h +++ b/sys/vm/vm_pager.h @@ -300,7 +300,7 @@ vm_object_t cdev_pager_allocate(void *handle, enum obj_type tp, vm_ooffset_t foff, struct ucred *cred); vm_object_t cdev_pager_lookup(void *handle); void cdev_pager_free_page(vm_object_t object, vm_page_t m); -void cdev_mgtdev_pager_free_page(struct pctrie_iter *pages); +void cdev_mgtdev_pager_free_page(struct pctrie_iter *pages, vm_page_t m); void cdev_mgtdev_pager_free_pages(vm_object_t object); struct phys_pager_ops { From nobody Sun Dec 8 20:58:57 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5y5s5XWkz5f9lX; Sun, 08 Dec 2024 20:58:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5y5s51Xtz4TL1; Sun, 8 Dec 2024 20:58:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733691537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UG9D1DBN8OI78UxiFEO6xXMEyLzXwo0+a8i0FvDms2Q=; b=eEZW4sueHRC5ml2xtiB545oTJTyDl/4g1TNh2h1wSlrsbhhthCW3c3kBaEGMi9VXILn5p7 iGTH6X/aUBqZ/+urGxW2fTmnX33hD+hWXO44Z9LTKNoi1J4swwXfICdgJhDaUolCq8CpgB gvPFctH5mYonmhmivRag7vvxZFfdVIo+Xms1P5RsnLFprtVWlEGwrToLsJpLc7CPFQuCFX /MeoeJ86W0eJhxZ5kmMIFcCcUMrfN3RS3+XDIPvgM5GwJWK24+5JcKaN8T39oTa6eFdpgk hLQlPrbdIJNFXjjYGXpCtXLZTbqhh4tIDZmK0Vh33JpjX0j56nPLPa/gROvvLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733691537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UG9D1DBN8OI78UxiFEO6xXMEyLzXwo0+a8i0FvDms2Q=; b=luQjhEO2+Rp6bGZRmb6+PZSVxachRrGfJSjxdjtUdKsSO+w9BbALaqE8Z1bUstvy0g+1iq 8niClaEXeScgF1vfnsQOAjizFYGqARvmZiS6oAa/pm8ZMbX2V2eSgrIi05JY5Iz4AFSLsx laKaP8VpxTabpJ+7fn4Mu08TuIqrxRFThus0UESccLYifWXhonIH8yM+AE5IsHiPAgl7+B yeh7G2e5qMr/2l2AsoB6UvLQlj1RvKclhEWwp514e//+ePdEy6xx9xmQrU7V/zNMd/IpNq pZPka+gg+p46s50Go9LqYJxMU/ltvBTouGPu81Dr1dc4bTYl5xCiINi2WeQPqg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733691537; a=rsa-sha256; cv=none; b=CeGbaytScMjhVBCXJ9sGgUbMqj979i1z0sl0ZPle/qp3OkhOV6bN6+oREGDH1Jrz+xiIPL QWOewUfNot7T9uVDiM7+8rvcaBeTgZnno/ufYApLP1MoT6nq8E/5vhVc1oJoL9ouX7/zXh ih59l5LHeKZEgI6k9c2UT0MIWZIMPtP2kBSrvEErJ9PfND6maZfukGhnNX6xbnqkp5R9gB GdiIAXpZ3RVYR9Eo9LhxEgryYX3cnRplUEhopj208pM7NdutlJp1U0uaocfsLo+Q7exuBC gj7K1dedUmpa3gss/dM7YmiVNrPFIIK1zClExHtmg+/ATq5KvSLKVUdFtYEZuw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y5y5s4cV1z172H; Sun, 8 Dec 2024 20:58: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 4B8Kwvmx058613; Sun, 8 Dec 2024 20:58:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B8KwvSJ058610; Sun, 8 Dec 2024 20:58:57 GMT (envelope-from git) Date: Sun, 8 Dec 2024 20:58:57 GMT Message-Id: <202412082058.4B8KwvSJ058610@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: ca389486a959 - main - net80211 / LinuxKPI 802.11: use enum ieee80211_sta_rx_bw for ni_chw List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ca389486a9599768e0ba69dca13c208020623083 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ca389486a9599768e0ba69dca13c208020623083 commit ca389486a9599768e0ba69dca13c208020623083 Author: Bjoern A. Zeeb AuthorDate: 2024-12-03 17:43:38 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-12-08 20:57:53 +0000 net80211 / LinuxKPI 802.11: use enum ieee80211_sta_rx_bw for ni_chw net80211 node ni_chw currently encodes the channel width as Mhz number. LinuxKPI 802.11 uses enum ieee80211_sta_rx_bw for the same. Rather than keeping the "20" and "40" throughout the code (eventually expanded to 80/160/320) switch them over to use the enum throughout and add a print mask for debug output. While designed as bitmask it is not supposed to be used as such; the bitmask is only used to be able to use %b with a print mask. Once we get to 320Mhz channel widths we would otherwise also need to extend the uint8_t in struct ieee80211_node; making enum ieee80211_sta_rx_bw __packed allows us for three more channel widths without breaking the KBI (if we were not to use %b with a print_mask but use a lookup function for the string we could extend it for a long time). Sponsored by: The FreeBSD Foundation MFC after: 14 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47891 --- .../linuxkpi/common/include/linux/ieee80211.h | 8 -------- sys/dev/ath/ath_rate/sample/sample.c | 8 ++++---- sys/dev/ath/if_ath_tx_ht.c | 6 +++--- sys/dev/mwl/if_mwl.c | 2 +- sys/net80211/ieee80211_ddb.c | 5 +++-- sys/net80211/ieee80211_ht.c | 20 +++++++++++--------- sys/net80211/ieee80211_node.c | 7 ++++--- sys/net80211/ieee80211_node.h | 21 ++++++++++++++++++++- sys/net80211/ieee80211_sta.c | 2 +- 9 files changed, 47 insertions(+), 32 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 865d85c6f7b7..58ebbcfe0097 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -387,14 +387,6 @@ enum ieee80211_sta_state { IEEE80211_STA_AUTHORIZED = 4, /* 802.1x */ }; -enum ieee80211_sta_rx_bw { - IEEE80211_STA_RX_BW_20, - IEEE80211_STA_RX_BW_40, - IEEE80211_STA_RX_BW_80, - IEEE80211_STA_RX_BW_160, - IEEE80211_STA_RX_BW_320, -}; - enum ieee80211_tx_info_flags { /* XXX TODO .. right shift numbers - not sure where that came from? */ IEEE80211_TX_CTL_AMPDU = BIT(0), diff --git a/sys/dev/ath/ath_rate/sample/sample.c b/sys/dev/ath/ath_rate/sample/sample.c index 8e70699f708d..58eea8f64993 100644 --- a/sys/dev/ath/ath_rate/sample/sample.c +++ b/sys/dev/ath/ath_rate/sample/sample.c @@ -179,7 +179,7 @@ ath_rate_sample_find_min_pktlength(struct ath_softc *sc, const struct txschedule *sched = &sn->sched[rix0]; int max_pkt_length = 65530; // ATH_AGGR_MAXSIZE // Note: this may not be true in all cases; need to check? - int is_ht40 = (an->an_node.ni_chw == 40); + int is_ht40 = (an->an_node.ni_chw == IEEE80211_STA_RX_BW_40); // Note: not great, but good enough.. int idx = is_ht40 ? MCS_HT40 : MCS_HT20; @@ -973,7 +973,7 @@ update_stats(struct ath_softc *sc, struct ath_node *an, const int size_bin = size_to_bin(frame_size); const int size = bin_to_size(size_bin); int tt; - int is_ht40 = (an->an_node.ni_chw == 40); + int is_ht40 = (an->an_node.ni_chw == IEEE80211_STA_RX_BW_40); int pct; if (!IS_RATE_DEFINED(sn, rix0)) @@ -1359,7 +1359,7 @@ ath_rate_ctl_reset(struct ath_softc *sc, struct ieee80211_node *ni) continue; printf(" %d %s/%d", dot11rate(rt, rix), dot11rate_label(rt, rix), calc_usecs_unicast_packet(sc, 1600, rix, 0,0, - (ni->ni_chw == 40))); + (ni->ni_chw == IEEE80211_STA_RX_BW_40))); } printf("\n"); } @@ -1390,7 +1390,7 @@ ath_rate_ctl_reset(struct ath_softc *sc, struct ieee80211_node *ni) sn->stats[y][rix].perfect_tx_time = calc_usecs_unicast_packet(sc, size, rix, 0, 0, - (ni->ni_chw == 40)); + (ni->ni_chw == IEEE80211_STA_RX_BW_40)); sn->stats[y][rix].average_tx_time = sn->stats[y][rix].perfect_tx_time; } diff --git a/sys/dev/ath/if_ath_tx_ht.c b/sys/dev/ath/if_ath_tx_ht.c index 9558b7c9e696..ac61c7b4cf54 100644 --- a/sys/dev/ath/if_ath_tx_ht.c +++ b/sys/dev/ath/if_ath_tx_ht.c @@ -283,7 +283,7 @@ ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf) if (IS_HT_RATE(rate)) { rc[i].flags |= ATH_RC_HT_FLAG; - if (ni->ni_chw == 40) + if (ni->ni_chw == IEEE80211_STA_RX_BW_40) rc[i].flags |= ATH_RC_CW40_FLAG; /* @@ -295,13 +295,13 @@ ath_tx_rate_fill_rcflags(struct ath_softc *sc, struct ath_buf *bf) * and doesn't return the fractional part, so * we are always "out" by some amount. */ - if (ni->ni_chw == 40 && + if (ni->ni_chw == IEEE80211_STA_RX_BW_40 && ieee80211_ht_check_tx_shortgi_40(ni) && (bf->bf_flags & ATH_BUF_TOA_PROBE) == 0) { rc[i].flags |= ATH_RC_SGI_FLAG; } - if (ni->ni_chw == 20 && + if (ni->ni_chw == IEEE80211_STA_RX_BW_40 && ieee80211_ht_check_tx_shortgi_20(ni) && (bf->bf_flags & ATH_BUF_TOA_PROBE) == 0) { rc[i].flags |= ATH_RC_SGI_FLAG; diff --git a/sys/dev/mwl/if_mwl.c b/sys/dev/mwl/if_mwl.c index f396ef7256f4..d0d13e576d31 100644 --- a/sys/dev/mwl/if_mwl.c +++ b/sys/dev/mwl/if_mwl.c @@ -4016,7 +4016,7 @@ mkpeerinfo(MWL_HAL_PEERINFO *pi, const struct ieee80211_node *ni) pi->HTCapabilitiesInfo &= ~IEEE80211_HTCAP_SHORTGI40; if ((vap->iv_flags_ht & IEEE80211_FHT_SHORTGI20) == 0) pi->HTCapabilitiesInfo &= ~IEEE80211_HTCAP_SHORTGI20; - if (ni->ni_chw != 40) + if (ni->ni_chw != IEEE80211_STA_RX_BW_40) pi->HTCapabilitiesInfo &= ~IEEE80211_HTCAP_CHWIDTH40; } return pi; diff --git a/sys/net80211/ieee80211_ddb.c b/sys/net80211/ieee80211_ddb.c index eca893fa6810..0050038457c7 100644 --- a/sys/net80211/ieee80211_ddb.c +++ b/sys/net80211/ieee80211_ddb.c @@ -294,8 +294,9 @@ _db_show_sta(const struct ieee80211_node *ni) db_printf("\thtcap %b htparam 0x%x htctlchan %u ht2ndchan %u\n", ni->ni_htcap, IEEE80211_HTCAP_BITS, ni->ni_htparam, ni->ni_htctlchan, ni->ni_ht2ndchan); - db_printf("\thtopmode 0x%x htstbc 0x%x chw %u\n", - ni->ni_htopmode, ni->ni_htstbc, ni->ni_chw); + db_printf("\thtopmode 0x%x htstbc 0x%x chw %b\n", + ni->ni_htopmode, ni->ni_htstbc, + ni->ni_chw, IEEE80211_NI_CHW_BITS); /* XXX ampdu state */ for (i = 0; i < WME_NUM_TID; i++) diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c index 1f97b7b9927a..293b5be20d32 100644 --- a/sys/net80211/ieee80211_ht.c +++ b/sys/net80211/ieee80211_ht.c @@ -1473,7 +1473,7 @@ ieee80211_ht_wds_init(struct ieee80211_node *ni) ni->ni_htcap |= IEEE80211_HTCAP_SHORTGI20; if (IEEE80211_IS_CHAN_HT40(ni->ni_chan)) { ni->ni_htcap |= IEEE80211_HTCAP_CHWIDTH40; - ni->ni_chw = 40; + ni->ni_chw = IEEE80211_STA_RX_BW_40; if (IEEE80211_IS_CHAN_HT40U(ni->ni_chan)) ni->ni_ht2ndchan = IEEE80211_HTINFO_2NDCHAN_ABOVE; else if (IEEE80211_IS_CHAN_HT40D(ni->ni_chan)) @@ -1481,7 +1481,7 @@ ieee80211_ht_wds_init(struct ieee80211_node *ni) if (vap->iv_flags_ht & IEEE80211_FHT_SHORTGI40) ni->ni_htcap |= IEEE80211_HTCAP_SHORTGI40; } else { - ni->ni_chw = 20; + ni->ni_chw = IEEE80211_STA_RX_BW_20; ni->ni_ht2ndchan = IEEE80211_HTINFO_2NDCHAN_NONE; } ni->ni_htctlchan = ni->ni_chan->ic_ieee; @@ -1577,7 +1577,7 @@ ieee80211_ht_node_join(struct ieee80211_node *ni) if (ni->ni_flags & IEEE80211_NODE_HT) { vap->iv_ht_sta_assoc++; - if (ni->ni_chw == 40) + if (ni->ni_chw == IEEE80211_STA_RX_BW_40) vap->iv_ht40_sta_assoc++; } htinfo_update(vap); @@ -1595,7 +1595,7 @@ ieee80211_ht_node_leave(struct ieee80211_node *ni) if (ni->ni_flags & IEEE80211_NODE_HT) { vap->iv_ht_sta_assoc--; - if (ni->ni_chw == 40) + if (ni->ni_chw == IEEE80211_STA_RX_BW_40) vap->iv_ht40_sta_assoc--; } htinfo_update(vap); @@ -1823,7 +1823,8 @@ htinfo_update_chw(struct ieee80211_node *ni, int htflags, int vhtflags) done: /* update node's (11n) tx channel width */ - ni->ni_chw = IEEE80211_IS_CHAN_HT40(ni->ni_chan)? 40 : 20; + ni->ni_chw = IEEE80211_IS_CHAN_HT40(ni->ni_chan) ? + IEEE80211_STA_RX_BW_40 : IEEE80211_STA_RX_BW_20; return (ret); } @@ -2599,11 +2600,12 @@ ht_recv_action_ht_txchwidth(struct ieee80211_node *ni, { int chw; - chw = (frm[2] == IEEE80211_A_HT_TXCHWIDTH_2040) ? 40 : 20; + chw = (frm[2] == IEEE80211_A_HT_TXCHWIDTH_2040) ? + IEEE80211_STA_RX_BW_40 : IEEE80211_STA_RX_BW_20; IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, - "%s: HT txchwidth, width %d%s", - __func__, chw, ni->ni_chw != chw ? "*" : ""); + "%s: HT txchwidth, width %b%s", + __func__, chw, IEEE80211_NI_CHW_BITS, ni->ni_chw != chw ? "*" : ""); if (chw != ni->ni_chw) { /* XXX does this need to change the ht40 station count? */ ni->ni_chw = chw; @@ -3742,5 +3744,5 @@ ieee80211_ht_check_tx_ht40(const struct ieee80211_node *ni) return (IEEE80211_IS_CHAN_HT40(bss_chan) && IEEE80211_IS_CHAN_HT40(ni->ni_chan) && - (ni->ni_chw == 40)); + (ni->ni_chw == IEEE80211_STA_RX_BW_40)); } diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 8f8dc5f378b8..d2a4558970f9 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -2672,8 +2672,9 @@ ieee80211_dump_node(struct ieee80211_node_table *nt __unused, printf("\thtcap %x htparam %x htctlchan %u ht2ndchan %u\n", ni->ni_htcap, ni->ni_htparam, ni->ni_htctlchan, ni->ni_ht2ndchan); - printf("\thtopmode %x htstbc %x htchw %u\n", - ni->ni_htopmode, ni->ni_htstbc, ni->ni_chw); + printf("\thtopmode %x htstbc %x htchw %b\n", + ni->ni_htopmode, ni->ni_htstbc, + ni->ni_chw, IEEE80211_NI_CHW_BITS); printf("\tvhtcap %x freq1 %d freq2 %d vhtbasicmcs %x\n", ni->ni_vhtcap, (int) ni->ni_vht_chan1, (int) ni->ni_vht_chan2, (int) ni->ni_vht_basicmcs); @@ -2831,7 +2832,7 @@ ieee80211_node_join(struct ieee80211_node *ni, int resp) ni->ni_flags & IEEE80211_NODE_QOS ? ", QoS" : "", /* XXX update for VHT string */ ni->ni_flags & IEEE80211_NODE_HT ? - (ni->ni_chw == 40 ? ", HT40" : ", HT20") : "", + (ni->ni_chw == IEEE80211_STA_RX_BW_40 ? ", HT40" : ", HT20") : "", ni->ni_flags & IEEE80211_NODE_AMPDU ? " (+AMPDU)" : "", ni->ni_flags & IEEE80211_NODE_AMSDU ? " (+AMSDU)" : "", ni->ni_flags & IEEE80211_NODE_MIMO_RTS ? " (+SMPS-DYN)" : diff --git a/sys/net80211/ieee80211_node.h b/sys/net80211/ieee80211_node.h index 954e8e03563f..1f36ceb368b9 100644 --- a/sys/net80211/ieee80211_node.h +++ b/sys/net80211/ieee80211_node.h @@ -108,6 +108,25 @@ enum ieee80211_mesh_mlstate { #define IEEE80211_MESH_MLSTATE_BITS \ "\20\1IDLE\2OPENSNT\2OPENRCV\3CONFIRMRCV\4ESTABLISHED\5HOLDING" +/* + * This structure is shared with LinuxKPI 802.11 code describing up-to + * which channel width the station can receive. + * Rather than using hardcoded MHz values for the channel width use an enum with + * flags. This allows us to keep the uint8_t slot for ni_chw in + * struct ieee80211_node and means we do not have to sync to the value for + * LinuxKPI. + */ +enum ieee80211_sta_rx_bw { + IEEE80211_STA_RX_BW_20 = 0x01, + IEEE80211_STA_RX_BW_40 = 0x02, + IEEE80211_STA_RX_BW_80 = 0x04, + IEEE80211_STA_RX_BW_160 = 0x08, + IEEE80211_STA_RX_BW_320 = 0x10, +} __packed; + +#define IEEE80211_NI_CHW_BITS \ + "\20\1BW_20\2BW_40\3BW_80\4BW_160\5BW_320" + /* * Node specific information. Note that drivers are expected * to derive from this structure to add device-specific per-node @@ -222,7 +241,7 @@ struct ieee80211_node { uint8_t ni_ht2ndchan; /* HT 2nd channel */ uint8_t ni_htopmode; /* HT operating mode */ uint8_t ni_htstbc; /* HT */ - uint8_t ni_chw; /* negotiated channel width */ + enum ieee80211_sta_rx_bw ni_chw; /* negotiated channel width */ struct ieee80211_htrateset ni_htrates; /* negotiated ht rate set */ struct ieee80211_tx_ampdu ni_tx_ampdu[WME_NUM_TID]; struct ieee80211_rx_ampdu ni_rx_ampdu[WME_NUM_TID]; diff --git a/sys/net80211/ieee80211_sta.c b/sys/net80211/ieee80211_sta.c index 97ed52295d6d..ca06546abdb9 100644 --- a/sys/net80211/ieee80211_sta.c +++ b/sys/net80211/ieee80211_sta.c @@ -1937,7 +1937,7 @@ sta_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, int subtype, vap->iv_flags&IEEE80211_F_USEPROT ? ", protection" : "", ni->ni_flags & IEEE80211_NODE_QOS ? ", QoS" : "", ni->ni_flags & IEEE80211_NODE_HT ? - (ni->ni_chw == 40 ? ", HT40" : ", HT20") : "", + (ni->ni_chw == IEEE80211_STA_RX_BW_40 ? ", HT40" : ", HT20") : "", ni->ni_flags & IEEE80211_NODE_AMPDU ? " (+AMPDU)" : "", ni->ni_flags & IEEE80211_NODE_AMSDU ? " (+AMSDU)" : "", ni->ni_flags & IEEE80211_NODE_MIMO_RTS ? " (+SMPS-DYN)" : From nobody Sun Dec 8 21:00:43 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5y7w3RtKz5fBrw; Sun, 08 Dec 2024 21:00:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5y7v34Nyz4VqD; Sun, 8 Dec 2024 21:00:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733691643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tTD3Sf4YAGTQ1wq/TnezUQBovkSI5zabYtcisCkSAek=; b=pvRFQ3GCn4tnWoi/yJSiMr5mHbctMSnG4+3bgw5W1Ychpk/O9pP89SNI9XqAing4W7apfL LLzFq5Q5Psd7l8i/ju/Q9fOuRryGrN9C/nzHyxhoMBAbNJCX9Sc+uVmyCVSIippeEruS+r Ez3DzTzqvyN14CC7axC/du2cipt17sO0iSHJtWwaHGgOMdlYVNe67YVuEKd9uVmACKpAE2 LBQiQobTUD9+Zn78iFeek98akSQH7NswCuDuniQZJ4f/j4u9I1BKagZeMMQ6u/EozX0JnG dKi+uu84FqhKwfARhZcQIXT9RfnbK6pgvlX01C0yJERJBy0ACyJkVlOjCvPxQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733691643; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tTD3Sf4YAGTQ1wq/TnezUQBovkSI5zabYtcisCkSAek=; b=hksSb8xydwoaSvYioP3jUr+OYQy9TjWC62rCpLCCNuRGqL2Zim5F4ye8HfHMeyqneI3i0n 9JYJ9HUMtNZtaHH6rFETNsRWIJBCIv24LgjTNtBX6JrOzp9RuBjNG5bHbfJ5CGsBtp5gWu tKo3f1BDNh60MyAaZmZk0E/kYEOaxrcSM2hqxbYjW6280t/bZqK8fh3PvuKG8aRYVC4f87 SwgoSXCnxuNfMU4nFwWJa+d+MHje3dVMag5GchOdkyOjXhrSbpntwUIvcFDSH8OJEsZcS4 2x2+TW9odwjIJTZs/QHgcVHyfpk6CGzN2KAzdBR10pCEkgsNhQ+TCdqxY9bo9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733691643; a=rsa-sha256; cv=none; b=ejk/GthFKGEjBY446JXea9cUfXsvyopcBV3XLMKmIMU+wyjUOTZ8wiuEb6xBXCCfw14kVd 54i310XV5HV8Aas5sINAgyoWkLfxqa9cfMeheFowFZsnGJT9uIsIC4tzcxhO1wJXrzO6HZ c+qPTmDOlUWESQjLJeIudkhmWhI8emXyjJBO2zPTyy3z/0tM5fJ6Unhe7DjBZ8okwnGKiE 8ZmBJ5F34M04BqcsVqqulxO0ANgig5HFVu6c6eyOFBn53XbdKnJ6ZTYpcliagJ6cl73e/t EDuYNkVd46SQ/IpcpC+9SsfY5KrhEJ1xpzrTa7mD3+idfQy77wU3/ZUl/ZXoQQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y5y7v2H9Pz17lY; Sun, 8 Dec 2024 21:00: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 4B8L0hBm069853; Sun, 8 Dec 2024 21:00:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B8L0h1a069836; Sun, 8 Dec 2024 21:00:43 GMT (envelope-from git) Date: Sun, 8 Dec 2024 21:00:43 GMT Message-Id: <202412082100.4B8L0h1a069836@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: 8437d7d6a4d6 - main - net80211: HT: add missing bit descriptions for IEEE80211_AGGR_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: 8437d7d6a4d6827ccb78c06341c6e3d847da44dd Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8437d7d6a4d6827ccb78c06341c6e3d847da44dd commit 8437d7d6a4d6827ccb78c06341c6e3d847da44dd Author: Bjoern A. Zeeb AuthorDate: 2024-12-01 20:22:20 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-12-08 20:59:15 +0000 net80211: HT: add missing bit descriptions for IEEE80211_AGGR_BITS The print mask for IEEE80211_AGGR_BITS is missing three fields. Add them for completness. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47858 --- sys/net80211/ieee80211_ht.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/net80211/ieee80211_ht.h b/sys/net80211/ieee80211_ht.h index 0f4c1025695e..c31bb8700289 100644 --- a/sys/net80211/ieee80211_ht.h +++ b/sys/net80211/ieee80211_ht.h @@ -87,7 +87,8 @@ struct ieee80211_tx_ampdu { (IEEE80211_AGGR_RUNNING|IEEE80211_AGGR_XCHGPEND|IEEE80211_AGGR_NAK)) != 0) #define IEEE80211_AGGR_BITS \ - "\20\1IMMEDIATE\2XCHGPEND\3RUNNING\4SETUP\5NAK" + "\20\1IMMEDIATE\2XCHGPEND\3RUNNING\4SETUP\5NAK" \ + "\6BARPEND\7WAITRX\10AMSDU" /* * Traffic estimator support. We estimate packets/sec for From nobody Sun Dec 8 21:03:05 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Y5yBd5htrz5fCV5; Sun, 08 Dec 2024 21:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y5yBd58Qrz4Xl8; Sun, 8 Dec 2024 21:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733691785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fZ+uSMHEhf9gAZAzJ++QGHxqcRteeh305SqyYDW1Dbk=; b=Wo3I235En83w3Mcd6VaOUYZfZhhaWHDCm5mgtdzXwoF03VgHAl+gGQTzCqpqvvUv+LH+GI OXTOaBDuY3G7inkljo8xraGW8SaeqMFkKolTpk5losx9z/2qAQDTDC6yWw0I1OqGqrfhnr KMYbwezj9C5ukk1F/uBbdAY301ZnSXIAyHvZxMxKiVUBXXMeuDnx0NoO4EKKUE9EPRhZwv mzjGVv2hBxmqjEcsXM6SBGYdUW2Xty9b6iZwWpKLG7z2huCQJ/Piw121Tdzwu7lQVO9OC7 FT6ykrWLfQs5wd1LCvKQzHxnsieHATWPWk3fxLyvIT3imG2WrPfQdV3V3N11sg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733691785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fZ+uSMHEhf9gAZAzJ++QGHxqcRteeh305SqyYDW1Dbk=; b=tzkwItfB5vtGbsoIe3S9aT0hkKOo6F/kIiC7+8sGaYmM3ITdX/xBf6xgNWwE+L5wxoYgkh nrnwvRH1+cHPJCVM3pTmbBos1bq9pE151BQhWx3CsKzBQT7Ekvn9rnQqglX80kdqIy++6j PTwIF5LC1dSEiOJJ0ZuX5/0UpA3AwsXIT+rNTf7VedL2Oa1U03TJUf2Qj4RiEYD+L8NIKB P27PAksScp0NJ0Jpmq6U8gh/4/VTCjF5iHqFi85a2EuYIQSMw02XWogVTQQXG/3tvbtWUs Hw4tb8brP6MbRmXVpDMIn3ea+dSzm5WBto83vAeADSAnz8moqYicsrv/dswXGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733691785; a=rsa-sha256; cv=none; b=ozh/D3+Uh8o83/fQYNI+QZdekGrnW4DA/tm1HErYVQQYIVurS7SwB3Lt8KIgO7Vb5Af3ib j2/Qi6ZbnSplmu+aKeIkP/vlneI6BXdvvN6NIYvjuXsn1px8OtWFbHYIrFAPQmg0kNpLqT +nZCU65R4jfsZK4U9E3qBZkak0STs0RppO+i9isUldEl0y9gfxvOJF3X3pB2zWvQ3H7m7l PLKVvnI3qCqtQenyJ82tpTR4OkMXXuPYaa1VCmk9lYo+jZXBbysQKYMfFEPdFAbYZRbg/r f0lsT72rq6C5YBGcTLNCZkF3zJRsFoxUj/IQQzAc7u8eFnNqn9kt1qdW65ycCg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y5yBd4lyjz180X; Sun, 8 Dec 2024 21:03:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B8L35Wb076692; Sun, 8 Dec 2024 21:03:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B8L35B5076689; Sun, 8 Dec 2024 21:03:05 GMT (envelope-from git) Date: Sun, 8 Dec 2024 21:03:05 GMT Message-Id: <202412082103.4B8L35B5076689@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: 30e8252353d9 - main - net80211: HT: check for feature support in ht_recv_action_ht_txchwidth() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 30e8252353d95cc77f787ef784942a551d3e0567 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=30e8252353d95cc77f787ef784942a551d3e0567 commit 30e8252353d95cc77f787ef784942a551d3e0567 Author: Bjoern A. Zeeb AuthorDate: 2024-12-01 20:16:19 +0000 Commit: Bjoern A. Zeeb CommitDate: 2024-12-08 21:01:40 +0000 net80211: HT: check for feature support in ht_recv_action_ht_txchwidth() ht_recv_action_ht_txchwidth() can blindly change the channel width to 40 Mhz whether or not that is supported. If 20/40 is not supported there is nothing to do as the channel width cannot change in that case. While here mark unused arguments with __unused. Sponosred by: The FreeBSD Foundation MFC adter: 3 days Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D47857 --- sys/net80211/ieee80211_ht.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c index 293b5be20d32..e2506c1e0ce0 100644 --- a/sys/net80211/ieee80211_ht.c +++ b/sys/net80211/ieee80211_ht.c @@ -2595,11 +2595,15 @@ ht_recv_action_ba_delba(struct ieee80211_node *ni, static int ht_recv_action_ht_txchwidth(struct ieee80211_node *ni, - const struct ieee80211_frame *wh, - const uint8_t *frm, const uint8_t *efrm) + const struct ieee80211_frame *wh __unused, + const uint8_t *frm, const uint8_t *efrm __unused) { int chw; + /* If 20/40 is not supported the chw cannot change. */ + if ((ni->ni_htcap & IEEE80211_HTCAP_CHWIDTH40) == 0) + return (0); + chw = (frm[2] == IEEE80211_A_HT_TXCHWIDTH_2040) ? IEEE80211_STA_RX_BW_40 : IEEE80211_STA_RX_BW_20;