From nobody Mon Sep 1 06:35:41 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFfJY56DVz66J2N; Mon, 01 Sep 2025 06:35:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFfJY49dbz3jXx; Mon, 01 Sep 2025 06:35:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756708541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/FCYP2t00VMLewuphBTvuVbnrIqjv7U4VUpnmErnu5A=; b=DxcgWPn6zGkIgKknIEPapIbCEqZ4ZccwQNQGpp2kQUBSXsVYQrhXcRJRILQH6ighEfaTEm U/iHQNCXnrl8OKRDGkR3pBCXMP4UHXuYdbCNYAkooIhVwv2sWmykp0S/0KrbnhEwxQpRhW QQPSqkytzXHqliFqPW+UmSWWRbEBx1BlzLkFu+IH7kLLhmqot+BhuKUvazFSasfHApSb4p vMTNOuR681t06SLL1UzK0QjGwnBTjJxS9aCw5SlZaT/bU7ZQ7zRTxBjDI8Na1hxn+vuQGr s6Z2DoufECeSZlEtzDkDlya9Cf34f/CS2T3LShc3eIEvgo8VrI0jRL3aEmislw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756708541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/FCYP2t00VMLewuphBTvuVbnrIqjv7U4VUpnmErnu5A=; b=aKNqh+qP883v2Ahdr4Ung65cUVnm/4C5Kvw6EMIq7U5a6x2QKBAXG/B5/FvUdtP8kwimG5 zCO6odo4R98n/VBni1Q0o8nqhgjqyvGFl957saYBHLxVMdIbLTq10EE7yWfZjs44Eehr7L iYXl7wPseGqeLIPLRaeeqi43JfKosSTWBPCCkrVNLXdpHwl0v0C8y3Bh71Tr6kOYgn1UIb y9Fhf18R7JQTSDFJ5Q2EyenKhBtAPlNsBqp8laPAJM/8LZTm4tC0/A/dhGca4liRY5LZpv IebnjYOcO2qUBSAkcfo/W43g8rVksrp61+UkiD8DMp19PXpZeUnM869VjJOgZA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756708541; a=rsa-sha256; cv=none; b=WCpEph23lHPyLiwFixWff7aLRfdFx5fZfQulSZo62zQOggcuZisgW08Uke+e9YNwFH01B9 IJNSdzsZh2v8ECL4G+boRfuOfQYZ2Vzegs94Q7sur8VIwdJ50txGChHNuT5rXqcqidcmR7 r/i+JgKCaVo20iUN035rK5zh97BTbd7rLDAswUEHdt/Kif0klC3jofwg41NUkjp9+akYYT Ij/Way2DcAWiXBz/Ip2lKOd4omEeKQJZhychOta4FCIPaKp/vBMuEMDPol5tgETxfKnrqv iRt3fyV8AcNuRwBvpUzYGTW7HDtCRnDUWfn+JsOTPz6tDuB4OhQszZ/G8kfAZQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cFfJY3QJmzntd; Mon, 01 Sep 2025 06:35:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5816ZfrQ058065; Mon, 1 Sep 2025 06:35:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5816ZfRP058062; Mon, 1 Sep 2025 06:35:41 GMT (envelope-from git) Date: Mon, 1 Sep 2025 06:35:41 GMT Message-Id: <202509010635.5816ZfRP058062@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: ca89e1535509 - main - tzcode: Don't treat TZDEFAULT as tainted List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ca89e15355097e9b57bf4e17a50506e081fe04b3 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=ca89e15355097e9b57bf4e17a50506e081fe04b3 commit ca89e15355097e9b57bf4e17a50506e081fe04b3 Author: Dag-Erling Smørgrav AuthorDate: 2025-09-01 06:33:28 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-09-01 06:33:47 +0000 tzcode: Don't treat TZDEFAULT as tainted tzset() calls zoneinit() with the FROMENV flag set unconditionally, so if TZ is unset and we use TZDEFAULT instead, we were still treating it as if it came from the environment. Unset the FROMENV flag if name is null and we switch to TZDEFAULT, or if, after skipping the optional leading colon, we find that name is identical to TZDEFAULT. This incorporates upstream change d0e0b00f846c ("Avoid unnecessary access, stat calls"). Fixes: b6ea2513f776 ("tzcode: Limit TZ for setugid programs") Event: Oslo Hackathon 202508 Reviewed by: philip Differential Revision: https://reviews.freebsd.org/D52240 --- contrib/tzcode/localtime.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/contrib/tzcode/localtime.c b/contrib/tzcode/localtime.c index a80d422f2955..15afeeecb6d0 100644 --- a/contrib/tzcode/localtime.c +++ b/contrib/tzcode/localtime.c @@ -615,6 +615,7 @@ tzloadbody(char const *name, struct state *sp, char tzloadflags, name = TZDEFAULT; if (! name) return EINVAL; + tzloadflags &= ~TZLOAD_FROMENV; } if (name[0] == ':') @@ -670,11 +671,13 @@ tzloadbody(char const *name, struct state *sp, char tzloadflags, fid = _open(name, (O_RDONLY | O_BINARY | O_CLOEXEC | O_CLOFORK | O_IGNORE_CTTY | O_NOCTTY)); #else /* __FreeBSD__ */ + if ((tzloadflags & TZLOAD_FROMENV) && strcmp(name, TZDEFAULT) == 0) + tzloadflags &= ~TZLOAD_FROMENV; relname = name; if (strncmp(relname, TZDIR "/", strlen(TZDIR) + 1) == 0) relname += strlen(TZDIR) + 1; dd = _open(TZDIR, O_DIRECTORY | O_RDONLY); - if (issetugid() && (tzloadflags & TZLOAD_FROMENV)) { + if ((tzloadflags & TZLOAD_FROMENV) && issetugid()) { if (dd < 0) return errno; if (fstatat(dd, name, &sb, AT_RESOLVE_BENEATH) < 0) { @@ -1624,14 +1627,13 @@ zoneinit(struct state *sp, char const *name, char tzloadflags) static void tzset_unlocked(void) { + char const *name = getenv("TZ"); #ifdef __FreeBSD__ - tzset_unlocked_name(getenv("TZ")); + tzset_unlocked_name(name); } static void tzset_unlocked_name(char const *name) { -#else - char const *name = getenv("TZ"); #endif struct state *sp = lclptr; int lcl = name ? strlen(name) < sizeof lcl_TZname : -1; From nobody Mon Sep 1 06:35:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFfJZ64jCz66J2P; Mon, 01 Sep 2025 06:35:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFfJZ4nh3z3j2L; Mon, 01 Sep 2025 06:35:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756708542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qqJvJRiGyOt89/uZpmreCLLbpPqYcBB2OTUNuVCJXkQ=; b=L6U+6ss1AnfT1LH3S8HQjppDKOawt/Yuu97oMA7mWqK2O4HCEnGwNjPevVng9f0TIt5UMm Ca2kXslxzqjrsP8iQ6BPmLnqYairfMIt9X2o7SrFr2sNWxHW2cjGrK9osvorhrzYfOteiG vdToJUD1PI72S2dkCAT8BaFt4OGeqXkAuxH9H2fdt5ox3x50ssZWWGRS9gGZUJG4W0ooCn Tm0J3C1TjiEnqPOuXf0uYmi5sw9nGlvNQVcdnICdX9t7T+hXDZ3Nou4eRN0Xj8kupnmvrH EjR314FQ5GBLFxBsmmi8gdzyZMIW38+l94fFJMhYmWT1Prj4XdZVVW2UUHdQ5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756708542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qqJvJRiGyOt89/uZpmreCLLbpPqYcBB2OTUNuVCJXkQ=; b=Gr3pmaeOh7gXLzPi9K72eFvmvZhJ8Q5HpJR/XpPmolxI38N385fvGe0vn43LryADs5RYlM qOtKJKQnvQffXdWiX8TG70ab/tIziTVZM0wx3n6rAYyB260s7mjtBVQUVpr+ZN73A7UDbA uflhO0dVRbl2EfFqzGGOQ+uMKnCG7YF9MKm2UbMyAAXepvYb4qErNm/sf3CT8e7B2yc57Y 5K+0Zg3w1J0Ng17pYxITTH3A28j4wxvxJnpBFBiEsbR7oIBGAKgyokVMhP30fnoO94pk9W RaTBOumK1zpcv7Wi8b7HsRI84MWw0ZUATh51Kidf3gANiddG6mpv5EQ2rVrfSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756708542; a=rsa-sha256; cv=none; b=mCTdzwaARIkElV0JuSxVMOelQs1hNkdl/cIoqfHWE66DEGvngEPB6LtzpRgd6tPE0gl1TN BXEOHTLAcsLaod+4j4yae44MrgvkWbZQKhTCSwlXKsd67+KZUqEsvwYRkQrdsR6/iE5dNt 10P5ev28MNdL2WWHUJILB8cP1TR4iqdUJv1sXNSME8xufZiYIZy1gLqm6eqa7C50MVo9vT ddiJd3HbpUxARuwSRfSqFGBq28V4NbuWtTP/dHoGDEp57A1/a4E544DWI6D2tarvT54Qr2 HX5t5yUxws7OOu9BRtHxRDA97SEhXxSjiyyPsKRFKTQrncZrG7uahcoBMVFUUQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cFfJZ4P9Nzp78; Mon, 01 Sep 2025 06:35:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5816Zgtm058111; Mon, 1 Sep 2025 06:35:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5816Zgec058107; Mon, 1 Sep 2025 06:35:42 GMT (envelope-from git) Date: Mon, 1 Sep 2025 06:35:42 GMT Message-Id: <202509010635.5816Zgec058107@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: 016d3ec239b3 - main - tzcode: Add a test case for plain issetugid case List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 016d3ec239b39895cf19aa62552fc316d7d98045 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=016d3ec239b39895cf19aa62552fc316d7d98045 commit 016d3ec239b39895cf19aa62552fc316d7d98045 Author: Dag-Erling Smørgrav AuthorDate: 2025-09-01 06:33:37 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-09-01 06:33:47 +0000 tzcode: Add a test case for plain issetugid case This catches a bug in tzcode which incorrectly considers TZDEFAULT as unsafe as if it came from the environment. Also deduplicate some repeated code, and fix a missing mode in an open(2) call with O_CREAT set. Event: Oslo Hackathon 202508 Reviewed by: philip Differential Revision: https://reviews.freebsd.org/D52241 --- lib/libc/tests/stdtime/detect_tz_changes_test.c | 60 ++++++++++++++++++------- 1 file changed, 43 insertions(+), 17 deletions(-) diff --git a/lib/libc/tests/stdtime/detect_tz_changes_test.c b/lib/libc/tests/stdtime/detect_tz_changes_test.c index ad8c4818669d..6648d8498cc5 100644 --- a/lib/libc/tests/stdtime/detect_tz_changes_test.c +++ b/lib/libc/tests/stdtime/detect_tz_changes_test.c @@ -70,7 +70,7 @@ change_tz(const char *tzn) ATF_REQUIRE((zfd = open(zfn, O_DIRECTORY | O_SEARCH)) >= 0); ATF_REQUIRE((sfd = openat(zfd, tzn, O_RDONLY)) >= 0); - ATF_REQUIRE((dfd = open(tfn, O_CREAT | O_TRUNC | O_WRONLY)) >= 0); + ATF_REQUIRE((dfd = open(tfn, O_CREAT | O_TRUNC | O_WRONLY, 0644)) >= 0); do { clen = copy_file_range(sfd, NULL, dfd, NULL, SSIZE_MAX, 0); ATF_REQUIRE_MSG(clen != -1, "failed to copy %s/%s: %m", @@ -83,6 +83,19 @@ change_tz(const char *tzn) debug("time zone %s installed", tzn); } +static void +test_tz(const char *expect) +{ + char buf[128]; + struct tm *tm; + size_t len; + + ATF_REQUIRE((tm = localtime(&then)) != NULL); + len = strftime(buf, sizeof(buf), "%z (%Z)", tm); + ATF_REQUIRE(len > 0); + ATF_CHECK_STREQ(expect, buf); +} + ATF_TC(thin_jail); ATF_TC_HEAD(thin_jail, tc) { @@ -92,9 +105,6 @@ ATF_TC_HEAD(thin_jail, tc) ATF_TC_BODY(thin_jail, tc) { const struct tzcase *tzcase = tzcases; - char buf[128]; - struct tm *tm; - size_t len; /* prepare chroot */ ATF_REQUIRE_EQ(0, mkdir("root", 0755)); @@ -105,10 +115,7 @@ ATF_TC_BODY(thin_jail, tc) ATF_REQUIRE_EQ(0, chdir("/")); /* check timezone */ unsetenv("TZ"); - ATF_REQUIRE((tm = localtime(&then)) != NULL); - len = strftime(buf, sizeof(buf), "%z (%Z)", tm); - ATF_REQUIRE(len > 0); - ATF_CHECK_STREQ(tzcase->expect, buf); + test_tz(tzcase->expect); } #ifdef DETECT_TZ_CHANGES @@ -309,15 +316,8 @@ ATF_TC_BODY(detect_tz_changes, tc) static void test_tz_env(const char *tzval, const char *expect) { - char buf[128]; - struct tm *tm; - size_t len; - setenv("TZ", tzval, 1); - ATF_REQUIRE((tm = localtime(&then)) != NULL); - len = strftime(buf, sizeof(buf), "%z (%Z)", tm); - ATF_REQUIRE(len > 0); - ATF_CHECK_STREQ(expect, buf); + test_tz(expect); } ATF_TC(tz_env); @@ -333,6 +333,31 @@ ATF_TC_BODY(tz_env, tc) test_tz_env(tzcase->tzfn, tzcase->expect); } +ATF_TC(setugid); +ATF_TC_HEAD(setugid, tc) +{ + atf_tc_set_md_var(tc, "descr", "Test setugid process"); + atf_tc_set_md_var(tc, "require.user", "root"); +} +ATF_TC_BODY(setugid, tc) +{ + const struct tzcase *tzcase = tzcases; + + /* prepare chroot */ + ATF_REQUIRE_EQ(0, mkdir("root", 0755)); + ATF_REQUIRE_EQ(0, mkdir("root/etc", 0755)); + change_tz(tzcase->tzfn); + /* enter chroot */ + ATF_REQUIRE_EQ(0, chroot("root")); + ATF_REQUIRE_EQ(0, chdir("/")); + /* become setugid */ + ATF_REQUIRE_EQ(0, seteuid(UID_NOBODY)); + ATF_REQUIRE(issetugid()); + /* check timezone */ + unsetenv("TZ"); + test_tz(tzcases->expect); +} + ATF_TC(tz_env_setugid); ATF_TC_HEAD(tz_env_setugid, tc) { @@ -342,7 +367,7 @@ ATF_TC_HEAD(tz_env_setugid, tc) } ATF_TC_BODY(tz_env_setugid, tc) { - const struct tzcase *tzcase; + const struct tzcase *tzcase = tzcases; ATF_REQUIRE_EQ(0, seteuid(UID_NOBODY)); ATF_REQUIRE(issetugid()); @@ -359,6 +384,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, detect_tz_changes); #endif /* DETECT_TZ_CHANGES */ ATF_TP_ADD_TC(tp, tz_env); + ATF_TP_ADD_TC(tp, setugid); ATF_TP_ADD_TC(tp, tz_env_setugid); return (atf_no_error()); } From nobody Mon Sep 1 07:31:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFgYB35RFz66Nm4; Mon, 01 Sep 2025 07:31:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFgYB1KKXz3q62; Mon, 01 Sep 2025 07:31:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756711902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2tXiA4gffDMVc+THLLc9mOJvvEp+sPWA9nM4JpxjFOE=; b=PuG+2LVE1PRorF+fUFBHE/8PXZpxgacQ0kZZSKUbLT5n4U83NuZ/FXect1qxjg8kvJGBHc c+lwfOye2a0AdcOVKYONYsJHuWLxM2odTdveuSMuqXjkxOFkAoXNZ0zmSo3yYKvJ2iRJtm MZUDpKhJs94xwr6KH3jewD4yklpM3K1folfdjtDmEtF9JV82+Jbv6wvmMFgbJhomDgnKZv Uy1yYcD8OHc8D0C/EFTlmjsMpR4jkNDbZfc9JirYCJIrfNwSujLmV9vYIS0sTpBy8pIrPP t5OOXe+YkWhoBZuRvZ4+AHA1McgpYgNWTLtU6BrAp4qVlvXxLGHMgMlEINmx8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756711902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2tXiA4gffDMVc+THLLc9mOJvvEp+sPWA9nM4JpxjFOE=; b=dtf0DthK99a+foDlavMW58Xpj91od/o7MZdkU/i9tLMEIF/XvdI7LZ0KEh7QlQbCi+Y9I0 498l5DYrPmaGGrN9QJ6MDVtute/xQp/KeZBiVP+OmpmXEIwy4UBxM2Tz3+2Dk3/Bv2fKKf IWnW2MayIWPlWPzwJP8zEbLGfAM487xKsGVeAo1nQifrAEHcjjReoRq/UbDp2dCMkyZnO6 CRBb7+yt5TJzFPrCA38aHZkwP57fAKhUhSEC2XrT1l32aqfLhqWaHi0Rv/mCZmj6VTzr7i 9JPilOfCkrscj7NetsZY3RpWGd5+kVkUsTY7VNWt8gYaF5fM98z1/2vUTtAFGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756711902; a=rsa-sha256; cv=none; b=AD+lHY/HLUjqnZS0uelbdO/1LHtBOWwopzSejc7n1HUqD3fqW/KJoowisECcymCeTp698i cmXp2clXm2tDC0pLPaLNo9DJOg5NhUkFu3J4/k/0ZBzWfYMUUneEyHTuzGo0+BxPcWWC64 ryb4FjZnSTsnSK2xvllnag+Hb6hW0MrVQE6QH1lLspvIgPnSjWPD9tchpM2JsO9F9faLJG XtJL3TgD8uuGwF0ShxHX5VTyTtWBdbedVTo9J0UVkLwuxrZjzKqauPouFuYTFT/3kcbD8a k1cGDi0mTJDbEo7EeduyQ6wWbAwNBF8OAd/gXMhi57fOu7yS4lwGu1jIBmhjIQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cFgYB0tt5zq9s; Mon, 01 Sep 2025 07:31:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5817VgRW067850; Mon, 1 Sep 2025 07:31:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5817VgDq067847; Mon, 1 Sep 2025 07:31:42 GMT (envelope-from git) Date: Mon, 1 Sep 2025 07:31:42 GMT Message-Id: <202509010731.5817VgDq067847@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: 78807c196c94 - main - rc: bluetooth: startup improvements List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 78807c196c9481cdd88b5ce611b488903f52fbd0 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=78807c196c9481cdd88b5ce611b488903f52fbd0 commit 78807c196c9481cdd88b5ce611b488903f52fbd0 Author: Bjoern A. Zeeb AuthorDate: 2025-09-01 07:26:47 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-01 07:26:47 +0000 rc: bluetooth: startup improvements Fix a redirect of stderr to stdout which is going to /dev/null. A '&' got missing in the original rewrite from the review that I took and committed. Seems no one had noticed during testing or review. People may have ended up with a "/1" file in their root file system. Fixes: 40652f86b5ef Reported by: Vladyslav Movchan (vladislav.movchan gmail.com) MFX after: 3 days X-MFC: squash --- libexec/rc/rc.d/bluetooth | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libexec/rc/rc.d/bluetooth b/libexec/rc/rc.d/bluetooth index 239944c73dd6..193fd969967f 100755 --- a/libexec/rc/rc.d/bluetooth +++ b/libexec/rc/rc.d/bluetooth @@ -130,7 +130,7 @@ bluetooth_setup_stack() for loop in 1 2 3 do ${hccontrol} -n ${dev}hci reset \ - > /dev/null 2>1 && break + > /dev/null 2>&1 && break if [ ${loop} -eq 3 ] then warn Reset failed three times, giving up. From nobody Mon Sep 1 07:39:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFgkj55DGz66PVT; Mon, 01 Sep 2025 07:39: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFgkj47B3z3qgM; Mon, 01 Sep 2025 07:39:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756712397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cgqV0ytFyhMBIbaFPVhg9AXsGAClyt65BU8gD/Qf5MU=; b=Aaf/JkkhK0HQGOcC0U6aEx6ILSEe1EOCmrwZzf8jnFwC0i/CoaguJ1jZ2mukPikaCMQ8iY W4Y53NPheIFx8AAhsoHZdJF4h5cYVt18vCSTGqvZmCqCyZ5lY3s2nKgLCrEiR/Nd5iE+Xv PiCb5GKZmKgc+Ja2DI6t0if1y8JJ5zzsRzH38eNI+S69PvsOMwzTCXSPeKt3Q0VLvqLHgi dmEPsiByNaTTqMgvOmfvhdt4iTdAj8wz7Ap37zpZGt00qVnMv6ZbQvKBJd34K1XpyiC+PD UzlTeh0TvZRjivgTu7cDMJLQciqvXi23Zt++3xXSZAYYzoxNTs5A5jyYdzjPRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756712397; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cgqV0ytFyhMBIbaFPVhg9AXsGAClyt65BU8gD/Qf5MU=; b=Q/V52ultKWzGDNwDnr1FLx2FUOdYxXJEqPGcxJhOSJfDD8jmt/OehQNLER7r81BXP/A9Za GpOS+PXPEfJaDDcr6KfSw4hvIetxmEepTx3TSRLRz/OP5yIlbUKFgGiDtemU13whjJi2p6 wSEZwzFZ3OxS2aITy4aLZ4d9dQQftSv8fZKW+kwDnyPJVblF1AeTlch/XBe8NGDkcflVZU NualL5JqmVdcDZykIey5bvt8E6rkNBwPzvzfVF8EmHOAIYwh4IA4VGcezRPHy9RPA3llUs KEm6zbwhOCU6BeIrOEpXZIs8ZibwtV3p0+Qo2hEd7MZBkwRL17yX1O1Bn6ugmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756712397; a=rsa-sha256; cv=none; b=NLUkjZH/eMocF1X6vwkVU/Ju51wQwUoGjMpxM0NnO8dyAu1qCChc9MB9MrKBK9VqnJDShL 2iGCuW60BHT7bOXutCgVoLXFVge9jo6SsXhB4fhHI5CkE44WED2SjSPg6cLRvJ3xUi7GuB 1o+mP3+phhhtlzoWhVG9PONE2bU5tlnpiGXwZCau0gncNV2DnKsqbolsUB5PhDj7K9KA8K Jjt0A36FGRfmahG54zcsh++JWMMwZaO1e7QOqTprxQ4u+U4vgBRGc0CtRqtIjsMRtKPzFz G7mmOWtoTHm++USK9AHisEc+AJH/VVsQTxsdpn7n6aCBbVo/8EBJNiOxd9LrrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cFgkj3kkrzqN0; Mon, 01 Sep 2025 07:39: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 5817dvgi072785; Mon, 1 Sep 2025 07:39:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5817dvQI072782; Mon, 1 Sep 2025 07:39:57 GMT (envelope-from git) Date: Mon, 1 Sep 2025 07:39:57 GMT Message-Id: <202509010739.5817dvQI072782@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: 50cab1202d39 - main - fwget: pci: hex strings use 0-9 and a-f not a-z List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 50cab1202d39e67cd38b395e3e08e140e7617d95 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=50cab1202d39e67cd38b395e3e08e140e7617d95 commit 50cab1202d39e67cd38b395e3e08e140e7617d95 Author: Bjoern A. Zeeb AuthorDate: 2025-08-31 18:51:12 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-01 07:38:59 +0000 fwget: pci: hex strings use 0-9 and a-f not a-z MFC after: 3 days Reviewed by: imp, manu Differential Revision: https://reviews.freebsd.org/D52311 --- usr.sbin/fwget/pci/pci | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usr.sbin/fwget/pci/pci b/usr.sbin/fwget/pci/pci index fbdfa0001c5c..de8b7c8bb2b3 100644 --- a/usr.sbin/fwget/pci/pci +++ b/usr.sbin/fwget/pci/pci @@ -27,7 +27,7 @@ pci_get_class() { - local hexclass=$(echo $1 | sed 's/.*class=\(0x[0-9a-z]\{2\}\).*/\1/') + local hexclass=$(echo $1 | sed 's/.*class=\(0x[0-9a-f]\{2\}\).*/\1/') case "${hexclass}" in 0x00) echo "old" ;; # built before class codes were finalized 0x02) echo "network" ;; @@ -38,7 +38,7 @@ pci_get_class() pci_get_vendor() { - local hexvendor=$(echo $1 | sed 's/.*\ vendor=\(0x[0-9a-z]*\).*/\1/') + local hexvendor=$(echo $1 | sed 's/.*\ vendor=\(0x[0-9a-f]*\).*/\1/') case "${hexvendor}" in 0x1002) echo "amd" ;; @@ -52,7 +52,7 @@ pci_get_vendor() pci_get_device() { - local hexdevice=$(echo $1 | sed 's/.*\ device=\(0x[0-9a-z]*\).*/\1/') + local hexdevice=$(echo $1 | sed 's/.*\ device=\(0x[0-9a-f]*\).*/\1/') echo ${hexdevice} } From nobody Mon Sep 1 07:42:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFgnw18xMz66Q32; Mon, 01 Sep 2025 07:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFgnw0dWHz3rs4; Mon, 01 Sep 2025 07:42:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756712564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b6epv+0NmJR+W2a523PP23gu1/mcOqtGw5cQoKOgcqA=; b=A3rw2cE6gSOKw2XJbdNgtAFEcX4sKg+JiVckA9aD0iwS5hoFmP4ax+uJcuGqFDg13reA2n 4sJAre6ClEO/E7lqLaAA1Se29qK76uDGxverfBDNzvK1xzIqYAEYV1qfTMR0YnKR2GhXSy 6D2MT1tupxs0oxYHPJHw7LTyJogGAoraQMbVzuhx3wSb3fu2gRSGdnOcQDfB0qPYEDOx0w eWYGkYTT5NAYMcmlekwf2R3Q3jUs+YABbNU2LF2gfZpmfAhDrKNtlkaI2xtx+k4zYTldbK fLoOtIQKb2sWa2J4mVoTQdLZrSfqAbJ8za8iYOpAkQ7e6qgZQVFYQemWXVgnlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756712564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b6epv+0NmJR+W2a523PP23gu1/mcOqtGw5cQoKOgcqA=; b=UpShqubwCVWcL8QGWyaiq+f9nczK/zf6Vr0QX6sw21/RrCtTgFtDq3ci2HjWMSbCNkKwjK 3T/EF6iuCh3k9YfgLELcPurhMZL92FnrO+oisq64SE0ly0Ujt+2wCy5lPbx883aUG33rco kU4ZULclS5vjJvAP/B4XDKe6KARusLqPytvyA+VXhaaKuMB/OH5feftDadf3iyxByk2zSM HnNDxtR/o9i8DgKNiHCgrR9iWDubxfUYHxryFZ6jwJFTYT2EVGKLXSWNxHvMxjIjMcggf7 bZB/tO9LxfvhPsXOF5B3Agh7m9shw0d3+D880ZYSv42Js35yplpNfwscgfN1rA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756712564; a=rsa-sha256; cv=none; b=CfB73TB1MK6y4STbhaL09QkaoU+18SORP2gGhqXyPD8a+rg6+wGtsODJ2nM3lNdedyb27j bAbltRHpmYBkYnk/0U4evX0V95E4sLEl5CepDrth3N9gnZvCIK8FOIzYOq2yKDb84nAT17 73J935mN0WfE2UDKF+viUMhKS4c0bgsdeR2CjxLF5Y+fAiLg1ZbghtoGuLBp3Kl5VGya7R dj+gTDTp1Xxpn+H2EuaidO4Gfm0L3i1PmJzxoL20m3Lf99V5a9iHbrQUyob8Zz/JG+2405 QQTWN//9T1GzHPxXMEDjRp+Mua68ZWkQryDSSAnbGPVPIv0l+cvB8txsy55udQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cFgnv74d4zqqd; Mon, 01 Sep 2025 07:42: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 5817ghLk089090; Mon, 1 Sep 2025 07:42:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5817ghNR089087; Mon, 1 Sep 2025 07:42:43 GMT (envelope-from git) Date: Mon, 1 Sep 2025 07:42:43 GMT Message-Id: <202509010742.5817ghNR089087@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: 1d1265875593 - main - fwget: pci: video amd: correct glob matching entries List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 1d12658755930e20904d498398379cad0e4ae396 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1d12658755930e20904d498398379cad0e4ae396 commit 1d12658755930e20904d498398379cad0e4ae396 Author: Bjoern A. Zeeb AuthorDate: 2025-08-31 18:51:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-01 07:41:30 +0000 fwget: pci: video amd: correct glob matching entries - one duplcate entry: 0x664*|0x664*) -> 0x664*|0x665*) - one unneeded glob: 0x98e4*) -> 0x98e4) - 0x15e7|0x1636|0x1638|0x164c) half of these are green-sardine; split - a missing entry for skillfish2 : + 0x143f MFC after: 3 days Reviewed by: imp, manu Differential Revision: https://reviews.freebsd.org/D52312 --- usr.sbin/fwget/pci/pci_video_amd | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/usr.sbin/fwget/pci/pci_video_amd b/usr.sbin/fwget/pci/pci_video_amd index 5017789b9f28..7e50454d3944 100644 --- a/usr.sbin/fwget/pci/pci_video_amd +++ b/usr.sbin/fwget/pci/pci_video_amd @@ -48,7 +48,7 @@ pci_video_amd() 0x13*) addpkg "gpu-firmware-amd-kmod-kaveri" ;; - 0x664*|0x664*) + 0x664*|0x665*) addpkg "gpu-firmware-amd-kmod-bonaire" ;; 0x67a*|0x67b*) @@ -72,7 +72,7 @@ pci_video_amd() 0x987*) addpkg "gpu-firmware-amd-kmod-carrizo" ;; - 0x98e4*) + 0x98e4) addpkg "gpu-firmware-amd-kmod-stoney" ;; 0x67e*|0x67ff) @@ -111,7 +111,10 @@ pci_video_amd() 0x734*) addpkg "gpu-firmware-amd-kmod-navi14" ;; - 0x15e7|0x1636|0x1638|0x164c) + 0x15e7|0x1638) + addpkg "gpu-firmware-amd-kmod-renoir gpu-firmware-amd-kmod-green-sardine" + ;; + 0x1636|0x164c) addpkg "gpu-firmware-amd-kmod-renoir" ;; 0x736*) @@ -135,7 +138,7 @@ pci_video_amd() 0x740*|0x741*) addpkg "gpu-firmware-amd-kmod-aldebaran" ;; - 0x13fe) + 0x13fe|0x143f) addpkg "gpu-firmware-amd-kmod-cyan-skillfish2" ;; 0x742*|0x743*) From nobody Mon Sep 1 10:16:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFlBv665bz66f4M; Mon, 01 Sep 2025 10:16: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFlBv5FPDz3DyG; Mon, 01 Sep 2025 10:16:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756721767; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n88yEyLZjnDC+4aSZJ78EPByORJYTtIyYkP1DE2lJ8Y=; b=IrWWqFwRgZplZ94zyQ1iG1jOXQZ8ZwHpEfmhaybLXcfbzxOcoJ/EI0K6H5f+KORATxO908 zWQEmkq6jb9TGdtLUJHMC5cdqGKTM+QOeXQwwL1HQlp5V0AaiXd3si42czwlVIf3GunujP XFvVaZzAgGRSun1uEjsvDpPs0lDevz2rN6VcZwA5fx7CZHzcxycQRhTd/Kz7/aaB3xhKZH CP2cizQWcyegJ6vD00XsVPfYfMgLBbz+pYHtA6+1V1qFgV4lOIXCA5nBhTYJ2sig5+c4By GZZwc6WtWmqu7ne4e/5DqGq2Znql6vHvMFnUPMyfU9TVfnLN3wH+HGoxDc4eag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756721767; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n88yEyLZjnDC+4aSZJ78EPByORJYTtIyYkP1DE2lJ8Y=; b=OTN52OeAgdomngOtOddT0djRCBP4jjIq17vYrhDfkBu1eeGq2xoHpdcwUyTrKHS9WT/mDv S1ZPgyP6P4hfCgrWgurIQSlXG3ogHxgFQU3AeWiMTCP9k5o/SDxjYrD8vQLGGQouWMED/k 1EVA1ctAtGjtXijLBXcEnFyIC8F6X5oTCDOkWgvDzDQOYIPzxJ70iq9Z4Pqth9MQDrmo36 0N+y0zZb5TGbbRvQgbPrhBMcFMRxL90vunBoCvis7oNFchBqDjTzbNdWM5ze/Iirb9boDc 6DDLU1C4pWfmBo5Hqo0Ra/IXaBe8ly47mUYS6Z/L4NE/hHrjJhb8+ExaWRBY1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756721767; a=rsa-sha256; cv=none; b=gVDVjhIjNGf0mOE3bRNMyFCQsXUNvjyK0g8dj1piil5/cEuwf1+tDdDtn/ijBxr/+HA2w6 TlETGSqBszpG+oXPgDKC2O5SUA+EooTFLozHC9T0aLpp08Cwew/Ex6OYveBMaW6dkGHJwI 5CoeJkQXdJxfnqsJgZwHYED7m0vYt7saytOyBspbnBRqwOQTnf1Z6XASG+XqbbAfYIhnBB 4mZ+Xp/q7oiZ24N/DlMWrRYzzU2cfdymodafHxAp61xT+s28N2cdnDJWdb98ralTcEYXvf +W6z2EMj//RvPeoqypKl7i/V8t7N0eI7/i1MXRt/RM2bznf+v5PFQfQj4t5lAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cFlBv4ZDmzvwB; Mon, 01 Sep 2025 10:16: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 581AG74W075334; Mon, 1 Sep 2025 10:16:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 581AG7P4075331; Mon, 1 Sep 2025 10:16:07 GMT (envelope-from git) Date: Mon, 1 Sep 2025 10:16:07 GMT Message-Id: <202509011016.581AG7P4075331@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: b944c8ff1797 - main - tests: bridge: Add regression test for gif(4) interface as bridge member List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: b944c8ff17971b1c8f61d5612eac146f5d589e87 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=b944c8ff17971b1c8f61d5612eac146f5d589e87 commit b944c8ff17971b1c8f61d5612eac146f5d589e87 Author: Zhenlei Huang AuthorDate: 2025-09-01 10:14:22 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-01 10:14:22 +0000 tests: bridge: Add regression test for gif(4) interface as bridge member if_bridge(4) should not prohibit adding a gif(4) interface which is assigned with IP addresses as a bridge member regardless of the setting of sysctl variable net.link.bridge.member_ifaddrs. Assigning IP addresses on the gif(4) interface should not be affected no matter whether it is member of a bridge interface or not. PR: 227450 Reported by: Siva Mahadevan Reviewed by: ivy (previous version) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D52200 --- tests/sys/net/if_bridge_test.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/sys/net/if_bridge_test.sh b/tests/sys/net/if_bridge_test.sh index 0c19903714b1..b3405fd978c8 100755 --- a/tests/sys/net/if_bridge_test.sh +++ b/tests/sys/net/if_bridge_test.sh @@ -586,6 +586,25 @@ gif_body() jexec one ping -c 1 -s 1200 198.51.100.2 atf_check -s exit:0 -o ignore \ jexec one ping -c 1 -s 2000 198.51.100.2 + + # Assigning IP addresses on the gif tunneling interfaces + jexec one sysctl net.link.bridge.member_ifaddrs=1 + atf_check -s exit:0 -o ignore \ + jexec one ifconfig ${gif_one} 192.168.0.224/24 192.168.169.254 + atf_check -s exit:0 -o ignore \ + jexec one ifconfig ${gif_one} inet6 no_dad 2001:db8::1/64 + jexec one ifconfig ${bridge_one} deletem ${gif_one} + atf_check -s exit:0 -o ignore \ + jexec one ifconfig ${bridge_one} addm ${gif_one} + + jexec two sysctl net.link.bridge.member_ifaddrs=0 + atf_check -s exit:0 -o ignore \ + jexec two ifconfig ${gif_two} 192.168.169.254/24 192.168.0.224 + atf_check -s exit:0 -o ignore \ + jexec two ifconfig ${gif_two} inet6 no_dad 2001:db8::2/64 + jexec two ifconfig ${bridge_two} deletem ${gif_two} + atf_check -s exit:0 -o ignore \ + jexec two ifconfig ${bridge_two} addm ${gif_two} } gif_cleanup() From nobody Mon Sep 1 10:16:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFlBw6zbnz66f2F; Mon, 01 Sep 2025 10:16: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFlBw54J5z3F0c; Mon, 01 Sep 2025 10:16:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756721768; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JFWdK/BkHp2NFHzqGzNvA2kMWKHdml8w7M3FXg6gwCA=; b=ImVmNwHQkrEnwjqLSclAX7I6IOKxquEgD1EPvH7kdWnqjYN3JxT8vUoqZ3Odoc/bbQjxvb x0JMVwXfnZil6BcA94KLMhcHZIhC33iD+u5vMs8P+n0WP2es2LyUbE2PrEyW0Gl41HA/rI iLSg378MuRA8E/GT8MdHg1GtKy8XqbxYj3un6JEW629n1Yjjfoprcn+ba9G8ihPO5Tuv5h lCDQkmL4oHwInK7f8x9shkO0Uwn6Q4gGsgqVioLO4Md5DfXhyTNXsF/UP4z22lBu6QUI9Q Xyt/svWkiBfWF0gZ2RPZITsVy+VAec+3RpcNeRkiIo67sYAvoGQ4WjPF2V6Xxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756721768; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JFWdK/BkHp2NFHzqGzNvA2kMWKHdml8w7M3FXg6gwCA=; b=Y4G1n5p7mbv18Di0j+RAtnRwPvCrFZLCVsiqUnIciPq5fQEWHYCJj51AlJ4Ef9obwOwtNt r1UOJoXWJYHufXKiB/lKBt6Di5QBYKrVkkND26gaewy/YxwUPUwCG7Lk7NYJmARj/jMZLv BixczYJ0V7XsRwip1Inlym5NReOsJC0Rqp0O3tXSjDFfduy7WWG6Pcvf3fP2qLyGWe2rOF WyEjCgN/guLV1lGRdZA8A1F6iU3BDWzxtNpHhO2lYkzh4RShWWP26kgsgzkh3qvag+WLCq lxc5wAl40LZsf/xy7lFWcKdrd0WELy3xEgSpBAquVQciQkw0VjuepJ0/FZ6kew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756721768; a=rsa-sha256; cv=none; b=OU+7lPpy+6f3CVhlaKrHlHk92Ph7DjvWUMeA97UNjzL/bcXIhKk5BmrUXZyJvXMuf/Jel8 6VCYnoq+3gQ/X9gxNNEL7Q1ejKRFm3fcewXRuzo5iLhMVhgPEAG3mGuTen9Zb+4Gyu6xIz hcl7imLTk+VsGwPjp52R36urXbtGhf/29ZdnB2UiAICbx1cgBPnWvmpwqTbAeQ3+GrlPnL se2vcuPv69K61Grr4QCi54OfuooLMA8zaaBGblBL1IY1JVe8FS9pM6gPoktu3GNw63J2iO RMXn4NQl3P8DodU+3qfRWuQ6UKSm+cP8KZkmq+mkfRjtA3wp/VnZXZJuMQ8AbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cFlBw4hDTzvyc; Mon, 01 Sep 2025 10:16: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 581AG8mx075366; Mon, 1 Sep 2025 10:16:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 581AG84W075363; Mon, 1 Sep 2025 10:16:08 GMT (envelope-from git) Date: Mon, 1 Sep 2025 10:16:08 GMT Message-Id: <202509011016.581AG84W075363@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: 9764aa1ccad0 - main - bridge: Fix adding gif(4) interface assigned with IP addresses as bridge memeber List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 9764aa1ccad08a7ec53ed9b80741b9553f3fa4e6 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=9764aa1ccad08a7ec53ed9b80741b9553f3fa4e6 commit 9764aa1ccad08a7ec53ed9b80741b9553f3fa4e6 Author: Zhenlei Huang AuthorDate: 2025-09-01 10:14:22 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-01 10:14:22 +0000 bridge: Fix adding gif(4) interface assigned with IP addresses as bridge memeber and fix assigning IP addresses to the gif(4) interface when it is a member of a if_bridge(4) interface. When setting the sysctl net.link.bridge.member_ifaddrs to 1, if_bridge(4) can eliminate unnecessary walk of the member list to determine whether the inbound unicast packets are for us or not. Well when a gif(4) interface is member of a if_bridge(4) interface, it acts as the tunnel endpoint to tunnel Ethernet frames over IP network, aka the EtherIP protocol, so the IP addresses configured on it are independent of the if_bridge(4) interface or other if_bridge(4) members, hence the sysctl net.link.bridge.member_ifaddrs should not have any influnce over gif(4) interfaces's behavior of assigning IP addresses. PR: 227450 Reported by: Siva Mahadevan Reviewed by: ivy, #bridge MFC after: 1 week Fixes: 0a1294f6c610 bridge: allow IP addresses on members to be disabled Differential Revision: https://reviews.freebsd.org/D52200 --- sys/net/if_bridge.c | 6 +++--- sys/netinet/in.c | 4 ++-- sys/netinet6/in6.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 66555fd1feb5..a854bbb96394 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -1447,10 +1447,10 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) #endif /* - * If member_ifaddrs is disabled, do not allow an interface with - * assigned IP addresses to be added to a bridge. + * If member_ifaddrs is disabled, do not allow an Ethernet-like + * interface with assigned IP addresses to be added to a bridge. */ - if (!V_member_ifaddrs) { + if (!V_member_ifaddrs && ifs->if_type != IFT_GIF) { struct ifaddr *ifa; CK_STAILQ_FOREACH(ifa, &ifs->if_addrhead, ifa_link) { diff --git a/sys/netinet/in.c b/sys/netinet/in.c index 963449d4b4b1..0e283a7d099d 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -522,8 +522,8 @@ in_aifaddr_ioctl(u_long cmd, caddr_t data, struct ifnet *ifp, struct ucred *cred /* * Check if bridge wants to allow adding addrs to member interfaces. */ - if (ifp->if_bridge && bridge_member_ifaddrs_p && - !bridge_member_ifaddrs_p()) + if (ifp->if_bridge != NULL && ifp->if_type != IFT_GIF && + bridge_member_ifaddrs_p != NULL && !bridge_member_ifaddrs_p()) return (EINVAL); /* diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index ce0655408a28..a9e6c4eaa51b 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1236,8 +1236,8 @@ in6_addifaddr(struct ifnet *ifp, struct in6_aliasreq *ifra, struct in6_ifaddr *i int error; /* Check if this interface is a bridge member */ - if (ifp->if_bridge && bridge_member_ifaddrs_p && - !bridge_member_ifaddrs_p()) { + if (ifp->if_bridge != NULL && ifp->if_type != IFT_GIF && + bridge_member_ifaddrs_p != NULL && !bridge_member_ifaddrs_p()) { error = EINVAL; goto out; } From nobody Mon Sep 1 16:33:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFvZn5t2Pz66p6j; Mon, 01 Sep 2025 16:33: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFvZn52JVz441y; Mon, 01 Sep 2025 16:33:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756744433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ICmxtC8xD4+oo4cnRfdTYhY8g177ISLHUigUjhZPZyc=; b=iOH/iGcbg19WnFHyCgLTKWoMRWl/bL7dn9S8VquKP5Yz/NLhZJqLa60TSTGt8wakum8xe8 vkOG/BdZ9oU44p7rWuPwxEW64mbJTbd2WShFKZlICDa1t9bN5wehvkwk7ZHE/nBMC33Pqy hhvBquBFifJT2hj1k02S/Pdd6j5m69JDPmSr5ZzymlWQmZ7ohKF/aDD4Li98UifuoCsmVN 142VjjW+2MlqdJrU7KZB0l/hJoT2so/jSFAa3HBLlFivNDSv8wH+BhVrPQQveKbVKsCMuM 9AGcTRP/InVHCWTyx0tu4LbF9v9oBfVLs4Fe2wiDyJ4AjEsu0qzN2BHAw4A+rA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756744433; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ICmxtC8xD4+oo4cnRfdTYhY8g177ISLHUigUjhZPZyc=; b=ZD9yS7+Mw4p79ODaCavGykucKYjXCDSPtZRZG/cw75QswmQlppnBT32+G7fcN+XG2e6qx/ JIFqxITbyTjxZouAs8h4XyzlY6f5NyPPB/D4dYvkYtLEv9+bh3VDrpbozfm+byMQ56aOcd rAcCApIH3JmJkgA75PdWCQLdI+yz27VOyVv3t9c3dQANwm2XlEvtM416ndnYN64Hognq9c wV2zwDhU7XQOEtMjtFR5yfPc+ltau7yuA90tgiSFgZVf4FzqsUrVFHtqsskHFCHc2ULUJz GvB132JU0Yg0EMOq59Oo8ZDO5F2CJZp1RMS7SKh5l7OZAxjOPVQ6BQlzo7oaFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756744433; a=rsa-sha256; cv=none; b=v/fwNhvI+uodVi9IsbzQd+O985VDlsy5xAihgpP8YWk3MI+9P9qp6M5xK3UVPKtCCO1MQH MueqISTF9iEbodQDzqa/AdGtdvgpYvyFhWFnLSmmcenjg79tcIQaMYG8S1BCjAsPpkKIub hInRnckEK/YKO7Q/eHta8KsDq+7/zl259eU4gmkQyrwy0EJ3XUUFsFv10Y/Ec0bRHl4PL0 eyHO3i3KHZDq0X5MdtOlfCsvaEa0y56jHvAknDxTIzQXshMWQ2+oP6L5S9w+X4bLW19cHp QTX5z3qs+l0pod7U6giNl0geEylEDxCXmXiSp5BjPQptoCS04/hwKMPu3DvLJw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cFvZn4Ltqz16Z7; Mon, 01 Sep 2025 16:33: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 581GXrVh089754; Mon, 1 Sep 2025 16:33:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 581GXrn5089751; Mon, 1 Sep 2025 16:33:53 GMT (envelope-from git) Date: Mon, 1 Sep 2025 16:33:53 GMT Message-Id: <202509011633.581GXrn5089751@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: c8a5df48de6f - main - udp: don't leak mbuf if tunnel didn't consume and inpcb is gone List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c8a5df48de6f2c5fada622af043f3c3fca88fca1 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=c8a5df48de6f2c5fada622af043f3c3fca88fca1 commit c8a5df48de6f2c5fada622af043f3c3fca88fca1 Author: Gleb Smirnoff AuthorDate: 2025-09-01 16:33:24 +0000 Commit: Gleb Smirnoff CommitDate: 2025-09-01 16:33:24 +0000 udp: don't leak mbuf if tunnel didn't consume and inpcb is gone Fixes: e1751ef896119d7372035b1b60f18a6342bd0e3b Reviewed by: tuexen, kp, markj Differential Revision: https://reviews.freebsd.org/D52170 --- sys/netinet/udp_usrreq.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index 3e6519118a40..4547699b6df5 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -258,8 +258,11 @@ udp_append(struct inpcb *inp, struct ip *ip, struct mbuf *n, int off, filtered = (*up->u_tun_func)(n, off, inp, (struct sockaddr *)&udp_in[0], up->u_tun_ctx); INP_RLOCK(inp); - if (in_pcbrele_rlocked(inp)) + if (in_pcbrele_rlocked(inp)) { + if (!filtered) + m_freem(n); return (1); + } if (filtered) { INP_RUNLOCK(inp); return (1); From nobody Mon Sep 1 16:33:54 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFvZp6fCSz66p3q; Mon, 01 Sep 2025 16:33: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFvZp62ygz43wQ; Mon, 01 Sep 2025 16:33:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756744434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=InC1LMgYAnj0LN33/tExbVwbcFKPWz3W0aOQnkr/3mA=; b=qjRCKiUCKcHw1ADvKhtYxJWnUMwRnvlcG5Ag8HQxPoJ2RsNv4fMjGMHkAtC2x4yRYxGowO kdcnyELEft9xKCDczx6gm/AMmUw2YuB5+jAHAtX0NClKA6zG9zHv8E9UAnEPM2S31ZnH5Z RBt+mgZoCmG5J3Z4P3ovT8+3088Uh2sdqk17QQeIQcVXDkmaNx8OwUexoKOCQh4sssaFvF YJlTAHhA4RW7TbWgrfhzBxtwucq2yvMr/fpOjnAHNcyTzEflPuTg3CEMSl2XsNyFHnC4li Tq4cV2x/D9cqsD/Rj7JPOpHNkN8iBarXlsdFyzWWCSkwGzyn0i/NLnMkrXGA6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756744434; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=InC1LMgYAnj0LN33/tExbVwbcFKPWz3W0aOQnkr/3mA=; b=o2M4LB0EIT322NMgL3n9bMZFxjxrPkbcF85X/EIyIenlFrGrnE1l8fk3PvCgNFG7pz/o8/ GQtM5JY96daSmyw8t4jEmdImpZKRfRDdjZb7OBx2UaAJfceqV2794GKnNPHP7otvRSoE/V VoQfFXU3cjnRTmiiCLewM/2amis1ZKvTg71qCZaxc2iNP3MqaehhtcqTflCRcrLVFUxqp2 r3/el8mU2wdfoHI0uKeUQfG+0l+SWbIJYPV+VeZH8IjZmr/b0/yNadNf2y8DbBzHOFebZs GPsE6WuwmQBIKPetstM0k3070G4ReWPK+Qokez31ojDDpPwdZtopLeDIemiG1g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756744434; a=rsa-sha256; cv=none; b=mk+gkzmhemOk/49qZE8yQf8TtiHy6p7CovvnVTBKm7Nja9N0VyrgGjim6f5AdhHx7ay3ih 07pzLXoVn4xV5JRsja6uX1QQVa4W9B6R9juWVRXH0XQpvdydK1UuwwZxRJCAM1F6Pfn8lv fUI+XOh7yF8BI6yz/8vYPLy/mSDxF5jG15tOOy1k7gwZ2ikfGAn5Tqv7Lym2ttECFsRNtT QE/iS8G0I1zGvMmr4r2VdcErdizhJMkuwB1mOA1tM+StmLeoAxP18YKyilB7HTOLVGVqM0 T0LXX0sr4Sxot5mDfa80qXbXY8cBAFAq3A4oAgqy+IwAJWM7vtK4iJuywU01IQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cFvZp5ZyFz16lY; Mon, 01 Sep 2025 16:33: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 581GXsU4089789; Mon, 1 Sep 2025 16:33:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 581GXsaP089786; Mon, 1 Sep 2025 16:33:54 GMT (envelope-from git) Date: Mon, 1 Sep 2025 16:33:54 GMT Message-Id: <202509011633.581GXsaP089786@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: d0f4c558f920 - main - udp: slightly refactor udp_append() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d0f4c558f920309647029a082af2e87706d33eff Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=d0f4c558f920309647029a082af2e87706d33eff commit d0f4c558f920309647029a082af2e87706d33eff Author: Gleb Smirnoff AuthorDate: 2025-09-01 16:33:34 +0000 Commit: Gleb Smirnoff CommitDate: 2025-09-01 16:33:34 +0000 udp: slightly refactor udp_append() Make it bool. Reword the comment, add note that mbuf is always consumed. In case tunnel consumed the mbuf, don't INP_RUNLOCK(), behave just like all the other normal exits from the function. Reviewed by: tuexen, kp, markj Differential Revision: https://reviews.freebsd.org/D52171 --- sys/netinet/udp_usrreq.c | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index 4547699b6df5..cea8a916679b 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -223,16 +223,18 @@ VNET_SYSUNINIT(udp, SI_SUB_PROTO_DOMAIN, SI_ORDER_FOURTH, udp_destroy, NULL); * udp_append() will convert to a sockaddr_in6 before passing the address * into the socket code. * - * In the normal case udp_append() will return 0, indicating that you - * must unlock the inp. However if a tunneling protocol is in place we increment - * the inpcb refcnt and unlock the inp, on return from the tunneling protocol we - * then decrement the reference count. If the inp_rele returns 1, indicating the - * inp is gone, we return that to the caller to tell them *not* to unlock - * the inp. In the case of multi-cast this will cause the distribution - * to stop (though most tunneling protocols known currently do *not* use - * multicast). + * In the normal case udp_append() will return 'false', indicating that you + * must unlock the inpcb. However if a tunneling protocol is in place we + * increment the inpcb refcnt and unlock the inpcb, on return from the tunneling + * protocol we then decrement the reference count. If in_pcbrele_rlocked() + * returns 'true', indicating the inpcb is gone, we return that to the caller + * to tell them *not* to unlock the inpcb. In the case of multicast this will + * cause the distribution to stop (though most tunneling protocols known + * currently do *not* use multicast). + * + * The mbuf is always consumed. */ -static int +static bool udp_append(struct inpcb *inp, struct ip *ip, struct mbuf *n, int off, struct sockaddr_in *udp_in) { @@ -255,18 +257,16 @@ udp_append(struct inpcb *inp, struct ip *ip, struct mbuf *n, int off, in_pcbref(inp); INP_RUNLOCK(inp); - filtered = (*up->u_tun_func)(n, off, inp, (struct sockaddr *)&udp_in[0], - up->u_tun_ctx); + filtered = (*up->u_tun_func)(n, off, inp, + (struct sockaddr *)&udp_in[0], up->u_tun_ctx); INP_RLOCK(inp); if (in_pcbrele_rlocked(inp)) { if (!filtered) m_freem(n); - return (1); - } - if (filtered) { - INP_RUNLOCK(inp); - return (1); + return (true); } + if (filtered) + return (false); } off += sizeof(struct udphdr); @@ -276,18 +276,18 @@ udp_append(struct inpcb *inp, struct ip *ip, struct mbuf *n, int off, if (IPSEC_ENABLED(ipv4) && IPSEC_CHECK_POLICY(ipv4, n, inp) != 0) { m_freem(n); - return (0); + return (false); } if (up->u_flags & UF_ESPINUDP) {/* IPSec UDP encaps. */ if (IPSEC_ENABLED(ipv4) && UDPENCAP_INPUT(ipv4, n, off, AF_INET) != 0) - return (0); /* Consumed. */ + return (false); } #endif /* IPSEC */ #ifdef MAC if (mac_inpcb_check_deliver(inp, n) != 0) { m_freem(n); - return (0); + return (false); } #endif /* MAC */ if (inp->inp_flags & INP_CONTROLOPTS || @@ -333,7 +333,7 @@ udp_append(struct inpcb *inp, struct ip *ip, struct mbuf *n, int off, UDPSTAT_INC(udps_fullsock); } else sorwakeup_locked(so); - return (0); + return (false); } static bool @@ -702,7 +702,7 @@ udp_input(struct mbuf **mp, int *offp, int proto) UDPLITE_PROBE(receive, NULL, inp, ip, inp, uh); else UDP_PROBE(receive, NULL, inp, ip, inp, uh); - if (udp_append(inp, ip, m, iphlen, udp_in) == 0) + if (!udp_append(inp, ip, m, iphlen, udp_in)) INP_RUNLOCK(inp); return (IPPROTO_DONE); From nobody Mon Sep 1 16:39:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFvj74vJyz66pZk; Mon, 01 Sep 2025 16:39: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFvj74Fbdz44x2; Mon, 01 Sep 2025 16:39:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756744763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ErDY+ewmp2pKmSIFY9Y7IacDjLn3wowAwsVbD3U7Nvk=; b=vZX6MivXlw4/lbBCdlJZgUfabNLDmuh2DrS+E3jCu3+ELX83Dw/Gu0f0jzFMcFeXrt56rg pGYBOh8YjqqixnVlFkWvh70zDuBToaSy5j/5RyiOXKApL211+1FCC7joudeTsKmoKAnpKn bpDqWuIHPrZf4NCOoTwUBIQqVW04CI20U7XKcQDaEOd0IoreLeYx0utZzCDWVnvz7s6pJj sdARb7tpAe6dpG4qRI/DWIzuRMmaTZep7VDU2mY86aWbi8JsZBsJyMzCc/gmRCtSAVESZN WgetnKAZaTJtZKxDAlwO7VA4WhzreMbP9jwiE7BFPFuOXmUJxvHcDAh5Ij7+Cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756744763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ErDY+ewmp2pKmSIFY9Y7IacDjLn3wowAwsVbD3U7Nvk=; b=TYgZ0pVu11EYFbi/IruJS5EfOfhXIhwNH8h3e+pTWNeYXjWbu3BdOW9b9w8TWrLUDW5ReS 9fx1kRttU8saLA0sidAunfhXnsl5y/ruutJWKLBDLzfKDA9gMWt5m4UT+B6Y5L2GH/Tzti cpttsQxleCgzBKgDTYMXCHBEhfov5zLdfZot6BqXqNq8bXKG3wns/4S/a9mdeD8Gtp6CsF VqMIWCRcwuy9kgdJcDEk9Z+4OPXhqRO0h7whHlAbwRrzF008320YIj3/6xzg0KK7lQtKDz wj+QKVFqmUNNa4+ksuLXAor1IK/fy01GH4QDkJMX1bZTzR4bJ0OmjgvAWJf/Cw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756744763; a=rsa-sha256; cv=none; b=lpWePMYoWTwONi1KKwICQZvXHyODuaiygTZ1gjMd7IZOmdfdi15DZW660nSN3XU+Z4/Pg0 K6StH1gu/xN8xA4aISB/LFWC8Iug0GaNOoK/5NMYc+m8LozpaJBFjpRfOXinBxPvch5NFa ezYicHgM4dO4vBNwFZd6stqPFTxE0ysdy3BPktDlWAGNtB1wjHHJ7/XDw7uwIIBx4a4kGu Q5DFS4+Hcc9v+kbLOCAJGJ060yFgGyl7GJ90Khwfy1E/tK5XHq5RadTpn9s/5BXjreq7Jm Z21IS9Px9NPuGiV8WhI7u49Yx7ZbfVcq3iDo6NyD4PKmlXiU0H9CugjGXgJQTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cFvj73ZVRz16l2; Mon, 01 Sep 2025 16:39: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 581GdNTr091465; Mon, 1 Sep 2025 16:39:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 581GdNbL091462; Mon, 1 Sep 2025 16:39:23 GMT (envelope-from git) Date: Mon, 1 Sep 2025 16:39:23 GMT Message-Id: <202509011639.581GdNbL091462@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: b370fb00c89e - main - openssl: link enough files for the legacy provider to actually load List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: b370fb00c89e9182f650943902a008f0c60883d6 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=b370fb00c89e9182f650943902a008f0c60883d6 commit b370fb00c89e9182f650943902a008f0c60883d6 Author: Gleb Smirnoff AuthorDate: 2025-09-01 16:39:14 +0000 Commit: Gleb Smirnoff CommitDate: 2025-09-01 16:39:14 +0000 openssl: link enough files for the legacy provider to actually load Reviewed by: khorben, ngie Differential Revision: https://reviews.freebsd.org/D52113 --- secure/lib/libcrypto/modules/legacy/Makefile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/secure/lib/libcrypto/modules/legacy/Makefile b/secure/lib/libcrypto/modules/legacy/Makefile index c16919ddcd94..db05f212f62a 100644 --- a/secure/lib/libcrypto/modules/legacy/Makefile +++ b/secure/lib/libcrypto/modules/legacy/Makefile @@ -1,7 +1,7 @@ SHLIB_NAME?= legacy.so LIBADD= crypto -SRCS+= legacyprov.c prov_running.c +SRCS+= legacyprov.c prov_running.c params_idx.c # ciphers SRCS+= ciphercommon.c ciphercommon_hw.c ciphercommon_block.c \ @@ -21,11 +21,12 @@ SRCS+= digestcommon.c SRCS+= md4_prov.c wp_prov.c ripemd_prov.c # kdfs -SRCS+= pbkdf1.c +SRCS+= pbkdf1.c pvkkdf.c .include -.PATH: ${LCRYPTO_SRC}/providers/implementations/ciphers \ +.PATH: ${LCRYPTO_SRC}/crypto \ + ${LCRYPTO_SRC}/providers/implementations/ciphers \ ${LCRYPTO_SRC}/providers/implementations/digests \ ${LCRYPTO_SRC}/providers/implementations/kdfs \ ${LCRYPTO_SRC}/ssl From nobody Mon Sep 1 16:52:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cFvzn6C6Mz66qWy; Mon, 01 Sep 2025 16:52:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cFvzn4f95z46R0; Mon, 01 Sep 2025 16:52:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756745525; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j0JHp44HGfhTRjJneYn3xtsk72xAOEo8ejxRC4t/96o=; b=GnEtbiaQhVcnT3mMHoZl0XP6BNi1VtiJ7DRPmDyxWGa462nkODsGKL3FciQkIc4cwSxPaD LY0XsbU2Gmgmu0/6pAlZw5e1rg0NC5HY22ckViqRiq+sw00NGpAVPSbHRETdiSCrxoK0Dw niw2KWGKaJOsTsTfZ4TMGearvEeE2oZ2Phs3F8TWKRjRQv0p05QVynGLLBwsOHpKh3zcxV EvfGheJ7UxQM42l8V6RV/MQpHTGB4x3kkMh8lKF1fHM8quFPu64Q8A7Mvwnu2LXQ/FeWXH ppwjP3C8u/GwiokhrnGNMrX/o+Xo0TeTZlQ0N1cRi4OW9DdkRFoON5/60NzgdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756745525; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j0JHp44HGfhTRjJneYn3xtsk72xAOEo8ejxRC4t/96o=; b=biMeVnEaFtWO9ku//eAbRokO43c3g3hUOKbMCPnOu0LL84H+M4yzTj/AzxzTnvkPL6fben hkgwmjwWzKZWB+P2fCEXNlzEMu89CB13t0tfvghwtM3kANWp2x9ozgEH5JH6mfUTor//sF l43ylfoalauAQun6GdLwaplz8+euIn86vwv4KU7+t51Ny5D8iRSwXdZNoCW/+uEVMKRH8v MhyYcMKt2RA5sAFMSAeHmCa1up0440j5eIw3GevM4NJpjkmUcHiSL3MFWug+wAkzfvQlC7 INfK7UPJqkcwNRbcAkxlgx0pwTuz+VyRLnRdhEfrH4VPVm/krBtc5qaCO8ceuA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756745525; a=rsa-sha256; cv=none; b=MGQymhiKS84c7xz+YPsGQyfvcDr39zfdZ49J7jkjE50F8mDdz5zLZ6/7CDcN/cUhO2g6hY 9IDHGmurg2cTbfvSQuvoVuumVstT2q+8shlFBKBvWL72g44scNL67pzXY2i3k2gwH8Z2RX ZXNHYQA/tifpgDXSpI2XeBQ4kUUwcW8vOyBlgywcvz4sAiL6eNNZP5+5pxr/dYiAMWVj9z fVZ6HDcE80zxrb9ctt/o6JcjJn0w80OZ2N9+ZhtEVOVQumZ0APdTV0TuwhbTCE9DWiMGzC hBhwBwHIsFkIKqd0a4FdFvZSuQRwETFtaTsq+S43LOuUmO9ApzjBG3lurlTgeg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cFvzn3zzfz1792; Mon, 01 Sep 2025 16:52:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 581Gq59L026762; Mon, 1 Sep 2025 16:52:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 581Gq5XG026759; Mon, 1 Sep 2025 16:52:05 GMT (envelope-from git) Date: Mon, 1 Sep 2025 16:52:05 GMT Message-Id: <202509011652.581Gq5XG026759@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Osipov Subject: git: 21628c79d541 - main - date(1): Improve manpage around '-I' List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: michaelo X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 21628c79d541b55b5e60231cefec73ca31719b6d Auto-Submitted: auto-generated The branch main has been updated by michaelo: URL: https://cgit.FreeBSD.org/src/commit/?id=21628c79d541b55b5e60231cefec73ca31719b6d commit 21628c79d541b55b5e60231cefec73ca31719b6d Author: Michael Osipov AuthorDate: 2025-08-31 20:06:00 +0000 Commit: Michael Osipov CommitDate: 2025-09-01 16:51:45 +0000 date(1): Improve manpage around '-I' * ISO 8601 defines two formats: basic and extended, clarify that we output the extended format only. * Clarify that ISO 8601 is only aware of timezone /offsets/, not timezones, it has no relation to the Olson timezone database (TZ environment variable). Reviewed by: otis (mentor), des MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D52314 --- bin/date/date.1 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/date/date.1 b/bin/date/date.1 index 62d28a7df0a0..b86a660a924d 100644 --- a/bin/date/date.1 +++ b/bin/date/date.1 @@ -29,7 +29,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 10, 2024 +.Dd September 1, 2025 .Dt DATE 1 .Os .Sh NAME @@ -129,7 +129,7 @@ format. Parsing is done using .Xr strptime 3 . .It Fl I Ns Op Ar FMT -Use +Use extended .St -iso8601 output format. .Ar FMT @@ -154,9 +154,9 @@ is .Cm seconds , or .Cm ns Pc , -the +the extended .St -iso8601 -format includes the timezone. +format includes the timezone offset. .It Fl j Do not try to set the date. This allows you to use the From nobody Mon Sep 1 21:13:01 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cG1ms3bc4z65H7k; Mon, 01 Sep 2025 21:13:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cG1ms2Clyz3rp4; Mon, 01 Sep 2025 21:13:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756761181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YnbP9ozEulH9KamNCIJRKBNiivUy+fJe1VxEC2pv+U8=; b=rhGwXKTDIfatCOxEjrb/YvbjpsAN8xfv+oa5J8/2wx0BmzwjClbH66Q8FDHfxW/+ZLfzZL GdBFAdv4zlbhNkWAY1SKGTm7aYrpSaF9ARWOp/ZXc7FlPN5kv3CIz28SKxxVTdyZe1iKQ6 MShR9nMTbIY+clH7rpqJzXvfPNnuV5MlcrT6hPk2UdTos/d2sKOPboVAdBE/2RCXhvwnKi MmJWLjosACLNaa/Gf1A5iuNfruyv6rEptMvjqh2QEpHvcen7+XO9haeOVMfoKM3Fu1/zcZ GK2RiKLjWwqNKAheyM415x4jUxFROC3Vgql8j3GeH2CzpA1+n5KfQ/eyOdQQfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756761181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YnbP9ozEulH9KamNCIJRKBNiivUy+fJe1VxEC2pv+U8=; b=QM52o8fcf3V5Zm98pcZ9NNoD0X9CCX0maItCENMQ0R0G+4RswstlMK4OXXydevLcGd4h9G CGcG5/ktm+bYGwdOGN2AobV2O2VIA+Uq30Q8rdf+lwEoNuQF3ESCNgBEHGqnb9ZMyFwyRG lmeqWr+2FB+I4kmwzuHy1mLeQ2KlaA2iWWt6Zi6XrT4uzUu9RQduLuP3DN9FDNL3YINM5e Uw07SDRCncKxjP7IseQrl0OhyXobph6TEHIHTzpByHzUf2/ibYImMa+wTJyXNZpieNUyD4 WkRWFOZ8V4YGIvnKSHRbKHWQII+P/bqYF6RiNa9nRK6adMB36FOt+2wM/oZnYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756761181; a=rsa-sha256; cv=none; b=AF4DIxm+cIEzKG18FgUGu8lTqlGO8+M0lnPcQ2m8bVC67vi6zQ0dnJJRpYwHtb7jR3CE2V TrkUyUpTTWRvItTVRcNSNrZPlRq9ANl3TXiYC10UY5jiVGCcFseuOCIU1840HIlEg9pWCj baFvdnrl5Pi0EXzgPkmeKlGugBCaq9vjapryLSM3FmExFGgdq21ocaHcjgIUzUlY5MYQ3a FMj9cQ+vfTVyL3orQgVB4gIHQH+xbMtD4Cu04yDqur86haIpFbhp9jbT06+OAziqh96JB3 OLNFfsiTQTqhHCCtvvW4FYfh7yI04DNF3Vz3wkF8Mc9Z6pm4jvQIg+5MIWTgug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cG1ms1lJxz2CJ; Mon, 01 Sep 2025 21:13:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 581LD1nO020039; Mon, 1 Sep 2025 21:13:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 581LD1x7020036; Mon, 1 Sep 2025 21:13:01 GMT (envelope-from git) Date: Mon, 1 Sep 2025 21:13:01 GMT Message-Id: <202509012113.581LD1x7020036@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: 375527545c85 - main - ng_parse: Add upper bound to avoid possible overflow List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 375527545c85362f14070d35575f9bcd7092f4b9 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=375527545c85362f14070d35575f9bcd7092f4b9 commit 375527545c85362f14070d35575f9bcd7092f4b9 Author: Ed Maste AuthorDate: 2025-08-25 14:25:13 +0000 Commit: Ed Maste CommitDate: 2025-09-01 21:12:45 +0000 ng_parse: Add upper bound to avoid possible overflow Also move num initialization for clarity. We still need to check num in ng_unparse_composite (reported by des@ in D52151) but this is another incremental improvement in netgraph input validation. Reviewed by: des PR: 267334 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52151 --- sys/netgraph/ng_parse.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netgraph/ng_parse.c b/sys/netgraph/ng_parse.c index 448ecc92f075..5e1a1bb47ac0 100644 --- a/sys/netgraph/ng_parse.c +++ b/sys/netgraph/ng_parse.c @@ -1199,14 +1199,14 @@ ng_parse_composite(const struct ng_parse_type *type, const char *s, int *off, const u_char *const start, u_char *const buf, int *buflen, const enum comptype ctype) { - const int num = ng_get_composite_len(type, start, buf, ctype); int nextIndex = 0; /* next implicit array index */ u_int index; /* field or element index */ int *foff; /* field value offsets in string */ int align, len, blen, error = 0; /* Initialize */ - if (num < 0) + const int num = ng_get_composite_len(type, start, buf, ctype); + if (num < 0 || num > INT_MAX / sizeof(*foff)) return (EINVAL); foff = malloc(num * sizeof(*foff), M_NETGRAPH_PARSE, M_NOWAIT | M_ZERO); if (foff == NULL) { From nobody Mon Sep 1 22:01:08 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cG2rN3nmmz65MYV; Mon, 01 Sep 2025 22:01: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cG2rN39Vmz3xGS; Mon, 01 Sep 2025 22:01:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756764068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+JgzIvTxk7bxuHg6YmntIfOoLYbVcpTRbCGcCMm7Tz0=; b=syAhiv+d95OWV4CMiXP/hVgeYVoLstUpFkioM5urRIMEIxCM/d9UB5lS9nI/0ft8Lyt+OP 9nviDMH1D83JHC0q1GC/42NcnNJ6RMHwMHERHfTf1QrlPOY1iWPffhtNiCmgJxZlZ118KM LQ7999zyD6wmAorYxJ0jOl4ll/CNhL+kl1pJD6gM13oxzuqK2Hn+L6pnB9H7r+yuYGYhL2 tWfbnPXrkIDcoyZd7ZaITy0uUSF3ZzSogyrYm3N0WO7o9APxr1ouXQzwmdmJPiHSYfTsQX mrD9ErPmj6dgja+pk9penpe6Frd/EuxrDDNqEKMObxJxRNav7c2IcQkhMED5CQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756764068; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+JgzIvTxk7bxuHg6YmntIfOoLYbVcpTRbCGcCMm7Tz0=; b=b4qK4X4rO13c7/bzht1aqwAEy7MVd+dlHXPaFlTjPv6XRByfc33VfZKYh+Ky/EcwjnmYop Bpny2m7YxIj4xJ9mI+YLf7R/h2Ktv/OYRT7byYrdfm/bfkaoeZBpqOPd51ifsspzx5NIw1 kQreg78n/IAJAL/uRHVgf91Otgthb8E64U7qvGJNshjutbYU3r4EBC8JfokUC6YAzNGVWv 89xZOds+kx0I1/MAwbI1rtPyxLCRIasTnSDdya6KWl82fyAITj5wHdZl+JtlJhOffHXI90 nj4lOvzU4nlp9DtD2Vc9LFkSfHv5F6AoicNk+IA1kXQKNoHr4sLl2ffUjVauRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756764068; a=rsa-sha256; cv=none; b=KceW+jZy3PcDhF+iw+wB5HKG2IsdO3Y3nvXuoArHmRF1m1pb2QYXy6iGjJGh2GauklkvIW OYPFr8/LmQYjM28d4cc+ibbIEkS/JZN45D/2re0HUMFihoqpWZeNsyNUCEDWUE4nlPjnhM Xv67Q4zaUZYInV2QXC2jRG1Np6ETfBSm4hWiQPz6ftWn/5a1Z4TVIl2w+BXS2TGt3ynRcV WufBk0jcikRxN0a0W8DgEk3MllIPvoyYfWtxV2188QcZMJhhW0DoV+6xuJ/oOo7FdUxNg4 pNOwXOoPV3HPh+vd4f9CALxG9rlOGHCAdG09kliaEZKe61z20dQ8YL6vFqDbPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cG2rN2hJ0z3Rk; Mon, 01 Sep 2025 22:01: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 581M18FQ010671; Mon, 1 Sep 2025 22:01:08 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 581M18tv010659; Mon, 1 Sep 2025 22:01:08 GMT (envelope-from git) Date: Mon, 1 Sep 2025 22:01:08 GMT Message-Id: <202509012201.581M18tv010659@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: dfafdbdfc3e9 - main - stand: Use calloc instead of malloc for initialization of filesystem devsw List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8 commit dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8 Author: null AuthorDate: 2025-09-01 21:57:06 +0000 Commit: Warner Losh CommitDate: 2025-09-01 21:57:14 +0000 stand: Use calloc instead of malloc for initialization of filesystem devsw This change is required for https://reviews.freebsd.org/D49355, so that we can check if d_dev is uninitialized by checking if it's NULL. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D49705 --- stand/common/disk.c | 2 +- stand/kboot/kboot/hostdisk.c | 2 +- stand/libofw/devicename.c | 2 +- stand/libsa/dev.c | 2 +- stand/libsa/zfs/zfs.c | 2 +- stand/uboot/devicename.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/stand/common/disk.c b/stand/common/disk.c index c1650f0fa1ec..1baf91efaa49 100644 --- a/stand/common/disk.c +++ b/stand/common/disk.c @@ -468,7 +468,7 @@ disk_parsedev(struct devdesc **idev, const char *devspec, const char **path) if (*cp != '\0' && *cp != ':') return (EINVAL); - dev = malloc(sizeof(*dev)); + dev = calloc(sizeof(*dev), 1); if (dev == NULL) return (ENOMEM); dev->dd.d_unit = unit; diff --git a/stand/kboot/kboot/hostdisk.c b/stand/kboot/kboot/hostdisk.c index a9117d4c1c9d..fc98bf534519 100644 --- a/stand/kboot/kboot/hostdisk.c +++ b/stand/kboot/kboot/hostdisk.c @@ -465,7 +465,7 @@ hostdisk_parsedev(struct devdesc **idev, const char *devspec, const char **path) return (EINVAL); } free(fn); - dev = malloc(sizeof(*dev)); + dev = calloc(sizeof(*dev), 1); if (dev == NULL) return (ENOMEM); dev->d_unit = 0; diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c index f6419632c6bc..46a9717fdda5 100644 --- a/stand/libofw/devicename.c +++ b/stand/libofw/devicename.c @@ -98,7 +98,7 @@ ofw_common_parsedev(struct devdesc **dev, const char *devspec, const char **path if (ofw_path_to_handle(devspec, ofwtype, &rem_path) == -1) return (ENOENT); - idev = malloc(sizeof(struct ofw_devdesc)); + idev = calloc(sizeof(struct ofw_devdesc), 1); if (idev == NULL) { printf("ofw_parsedev: malloc failed\n"); return (ENOMEM); diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c index 1edc843d508c..4f6932e96c48 100644 --- a/stand/libsa/dev.c +++ b/stand/libsa/dev.c @@ -72,7 +72,7 @@ default_parsedev(struct devdesc **dev, const char *devspec, int unit, err; char *cp; - idev = malloc(sizeof(struct devdesc)); + idev = calloc(sizeof(struct devdesc), 1); if (idev == NULL) return (ENOMEM); diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index 70a102f6425d..2f7c1caaa4b5 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -1643,7 +1643,7 @@ zfs_parsedev(struct devdesc **idev, const char *devspec, const char **path) spa = spa_find_by_name(poolname); if (!spa) return (ENXIO); - dev = malloc(sizeof(*dev)); + dev = calloc(sizeof(*dev), 1); if (dev == NULL) return (ENOMEM); dev->pool_guid = spa->spa_guid; diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c index 4ee9c7fd72c4..23670d7593a2 100644 --- a/stand/uboot/devicename.c +++ b/stand/uboot/devicename.c @@ -102,7 +102,7 @@ uboot_parsedev(struct uboot_devdesc **dev, const char *devspec, } if (dv == NULL) return(ENOENT); - idev = malloc(sizeof(struct uboot_devdesc)); + idev = calloc(sizeof(struct uboot_devdesc), 1); err = 0; np = (devspec + strlen(dv->dv_name)); From nobody Mon Sep 1 22:17:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cG3Cp2l0mz65Pmx; Mon, 01 Sep 2025 22:17: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cG3Cp20Fqz40c9; Mon, 01 Sep 2025 22:17:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756765078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N7tbfr3vPcwrikhZ4H2DJrjhT2ziL3t0SMUMQNtYPgU=; b=lOXQcXFfkOof+nwFJALe2fHD6p5jrmCGKT3oyu/rzlYAYSndZnBF/gxLBsa/fqwqdDpFOu ZmuTgzPIlJJuOrwZPYEdIA3l1GWOnR03Mccd9PiXWoaWcmRFOWMA15C4LejFsAI3WnXE9/ m97c9N0ePO/3B7riUcOXG3dqjGsaFDEJoxFEU5/Sf5SQm9mqX4RqK/iTOq/BFFLSesRISf BasxAcx/XwieM0dGS2fLnCp0RJZutJlXjAgvZkQxFXecZC3YAHttCJtgwRpG7/ZwrbSaZr 2hGNsLR09cjZG5MowjJGDcu3YDoMm6MpF7nX+JBFaVrvBANmn6i3JnvyMLxCtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756765078; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=N7tbfr3vPcwrikhZ4H2DJrjhT2ziL3t0SMUMQNtYPgU=; b=EpMzFQn48JLQ+AQ3RRcfco50sebUmdk7xfHrwe9ANtcsjyKJ93mkxCxcZPvJAoI2YSJPe4 zIH9shyHiBoak1LYGTAKiGuX7ofakqcEg86Rysb24TXJNAPBudjLcKCPhVfhWIAzd3UiyJ T1YqUoo2hucaHlrjfqsx5LzKMTfYS8LEHxiAPpmsBhp8ilzUPhrGgKElR/D7+aNQAnQxDk fv6h7tw76NJVTnnSegVmpJQPLbWdAwaQ9ziWaLGrPaVZ+lOWvtgf8c4NriYPZqzkBGJ4HM XeYNHqU+9tuSLnGU/dp5/I1qb6Q0jhykR8WypCn4ANlE2/nOaIQ9I6/XDxyyYg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756765078; a=rsa-sha256; cv=none; b=lfjQMDV3GbiCd8kY7YZaVODN6yGvNlafhayH2e3GSrnLD67wAXPJ+SOsT82Bx8RaNtD8Nb QQpBkMUN/WEhL0lKwMn1qkYvgNLUfnH6RBKIZCY6a50VegC/qdBRaF3UF7dWK/IjT2OzTL KKtksBQN/L1ncxoWuotedccp0IaRWCNM05GC7Epd/6QrxhlOZNEEyqwlXg36arLCwIExx6 iRVibfKB6rgVyLZ//MW1EUGwJUQ/ICXW34yIx8fv34sZUK+ZLiDxIdY1Kc5S7OlC4q2Cqi EaHaQLQDSFsM9LPHIlqEmneWzpFNZjC321pbraazm1Z/JyRmt2b4l7L+G+O6EQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cG3Cp1FhZz33t; Mon, 01 Sep 2025 22:17:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 581MHwG1033931; Mon, 1 Sep 2025 22:17:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 581MHwPo033928; Mon, 1 Sep 2025 22:17:58 GMT (envelope-from git) Date: Mon, 1 Sep 2025 22:17:58 GMT Message-Id: <202509012217.581MHwPo033928@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: e4ea162509e4 - main - epair: add support for checksum offloading List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e4ea162509e400340a2bc3e755071a92f3465e2d Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=e4ea162509e400340a2bc3e755071a92f3465e2d commit e4ea162509e400340a2bc3e755071a92f3465e2d Author: Timo Völker AuthorDate: 2025-09-01 22:03:47 +0000 Commit: Michael Tuexen CommitDate: 2025-09-01 22:15:51 +0000 epair: add support for checksum offloading Add capabilities RXCSUM and RXCSUM6 as well as TXCSUM and TXCSUM6 for for receive and transmit checksum offloading for TCP and UDP to the epair interface and enable them by default. RXCSUM and RXCSUM6 are enabled because an epair interface may receive a packet with the csum_flag CSUM_DATA_VALID set, which is expected only if these capabilities are enabled. Since it seems not helpful to remove this flag, it is not possible to disable these capabilities. TXCSUM and TXCSUM6 are synchronized between the two epair interface ends. If enabled/disabled on one end, it will be enabled/disabled on the other end. If the sending epair interface end has TXCSUM or TXCSUM6 enabled and the receiving end is in a bridge, it is assumed that all interfaces in the bridge have that capability enabled. Otherwise the bridge would have disabled that capability on the receiving epair interface end in the bridge which would have disabled that capability on the sending epair interface end as well due to the synchronization. Reviewed by: bcr, Seyed Pouria Mousavizadeh Tehrani MFC after: 4 weeks Differential Revision: https://reviews.freebsd.org/D51639 --- share/man/man4/epair.4 | 24 +++++++++++++++++++- sys/net/if_epair.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 82 insertions(+), 3 deletions(-) diff --git a/share/man/man4/epair.4 b/share/man/man4/epair.4 index 342b15b5612a..0014836b01ea 100644 --- a/share/man/man4/epair.4 +++ b/share/man/man4/epair.4 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 12, 2025 +.Dd September 2, 2025 .Dt EPAIR 4 .Os .Sh NAME @@ -108,6 +108,28 @@ As with any other Ethernet interface, can have a .Xr vlan 4 configured on top of it. +.Pp +The +.Nm +has RXCSUM and RXCSUM6 enabled because it may receive a packet where the +checksum has already been validated by a physical interface. +The +.Nm +supports TXCSUM and TXCSUM6 for TCP and UDP, but only by forwarding the order +to compute the checksum. +Thus, when using an +.Nm +interface, a TCP or UDP sender can offload checksum computation +to a physical interface. +Note that, in case the packet does not leave the host, the checksum is +unnecessary and will be ignored if offloaded. +TXCSUM and TXCSUM6 are synchronized between the +.Nm +interface pair (i.e., enabling/disabling the capability on one end +enables/disables it on the other end). +In case one end is in a bridge and the bridge disabled TXCSUM or TXCSUM6, +this avoids a sender to send packets with checksum offloading into the +bridge by using the other end. .Sh SEE ALSO .Xr ioctl 2 , .Xr altq 4 , diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index 581c2434b8fb..fbffa8f359a0 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -69,6 +69,7 @@ #include #include #include +#include #include #ifdef RSS #include @@ -434,6 +435,21 @@ epair_media_status(struct ifnet *ifp __unused, struct ifmediareq *imr) imr->ifm_active = IFM_ETHER | IFM_10G_T | IFM_FDX; } +/* + * Update ifp->if_hwassist according to the current value of ifp->if_capenable. + */ +static void +epair_caps_changed(struct ifnet *ifp) +{ + uint64_t hwassist = 0; + + if (ifp->if_capenable & IFCAP_TXCSUM) + hwassist |= CSUM_IP_TCP | CSUM_IP_UDP; + if (ifp->if_capenable & IFCAP_TXCSUM_IPV6) + hwassist |= CSUM_IP6_TCP | CSUM_IP6_UDP; + ifp->if_hwassist = hwassist; +} + static int epair_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) { @@ -461,6 +477,44 @@ epair_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) error = 0; break; + case SIOCGIFCAP: + ifr->ifr_reqcap = ifp->if_capabilities; + ifr->ifr_curcap = ifp->if_capenable; + error = 0; + break; + case SIOCSIFCAP: + /* + * Enable/disable capabilities as requested, besides + * IFCAP_RXCSUM(_IPV6), which always remain enabled. + * Incoming packets may have the mbuf flag CSUM_DATA_VALID set. + * Without IFCAP_RXCSUM(_IPV6), this flag would have to be + * removed, which does not seem helpful. + */ + ifp->if_capenable = ifr->ifr_reqcap | IFCAP_RXCSUM | + IFCAP_RXCSUM_IPV6; + epair_caps_changed(ifp); + /* + * If IFCAP_TXCSUM(_IPV6) has been changed, change it on the + * other epair interface as well. + * A bridge disables IFCAP_TXCSUM(_IPV6) when adding one epair + * interface if another interface in the bridge has it disabled. + * In that case this capability needs to be disabled on the + * other epair interface to avoid sending packets in the bridge + * that rely on this capability. + */ + sc = ifp->if_softc; + if ((ifp->if_capenable ^ sc->oifp->if_capenable) & + (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6)) { + sc->oifp->if_capenable &= + ~(IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); + sc->oifp->if_capenable |= ifp->if_capenable & + (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); + epair_caps_changed(sc->oifp); + } + VLAN_CAPABILITIES(ifp); + error = 0; + break; + default: /* Let the common ethernet handler process this. */ error = ether_ioctl(ifp, cmd, data); @@ -572,8 +626,11 @@ epair_setup_ifp(struct epair_softc *sc, char *name, int unit) ifp->if_dname = epairname; ifp->if_dunit = unit; ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_capabilities = IFCAP_VLAN_MTU; - ifp->if_capenable = IFCAP_VLAN_MTU; + ifp->if_capabilities = IFCAP_VLAN_MTU | IFCAP_TXCSUM | + IFCAP_TXCSUM_IPV6 | IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; + ifp->if_capenable = IFCAP_VLAN_MTU | IFCAP_TXCSUM | + IFCAP_TXCSUM_IPV6 | IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; + epair_caps_changed(ifp); ifp->if_transmit = epair_transmit; ifp->if_qflush = epair_qflush; ifp->if_start = epair_start; From nobody Mon Sep 1 22:24:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cG3MC4sDNz65Q7g; Mon, 01 Sep 2025 22:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cG3MC3yx6z41H8; Mon, 01 Sep 2025 22:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756765463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/tJ0DnLFqmVR7nKDh0rMnYcFXjZZ8iTSKb0d67tkspA=; b=emjBndyE6Hgwyq8eH5yViBqrSwVBGZPI/fLOYpbMdb5crynbMpqgQ7TruIj6vW/q2TQpbr Kkzv58dLbrB3Ft5DXopNWGun9Tvxh1KjieN/vBRqyYzAt3wMmEiD79AlzaXB9qrhkxX8hK /6lDwyCGxa1U/8H39hq0K108H6/oHyWOvQlCG5+SqK6lTtEBt/YZVzNG1r8fZ383mUdJkV caKcckAT0iug8pAsUrzbPxA2x1ngBuvmlLsLCvnDHXUXr8jXMYE9RuqrsMrLiVlc8rRqdu MDHK+7MMByLrmi3lfylJe9YZz57jj9eQGvrYXzzmVTJ52ANH5UTYEOS0XWgOIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756765463; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/tJ0DnLFqmVR7nKDh0rMnYcFXjZZ8iTSKb0d67tkspA=; b=Ibdn9OAhDRAFEj8EJAAjzGXZsmRVz26il/PTnDIG2mL/l+ixpZ7inYxRmxfPslcoOHLf4s jlXsqGx6Cyc34c0dfmexMcxrxILj2oMYF9taKqBxxwNbuMt5vBxTEKSjqjphwUaZXI4a1P igSPHApCZgcwXXWAttM13iAEy9357Ao5BdJjZUEmjwtsHkIut9tpRaJm80D/3qS3vILFdw JeEYzaQwBcUDaxUQSEtM50tJU+DzeKtBT2Zhf13H2fBZ2bg2R3PWrve3UzMtZqDx0PO8Q5 QMrCnDtEYpm897HQaJf51hFy0eeEOnydLny7YH68/z44x+Nc+HBvybcPXks2dg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756765463; a=rsa-sha256; cv=none; b=COy3xqgFlNxTEzxJa02X8WNP4CBwOxDK/2use0WkPJNdqo4QNUMUn0MF5vgYVLPz0Ucv7H B9qj/Q5K8Ln2wAyg9MTwttwWM4UxsXDpzjZHI/3+70dqVILhxeeEnMu1qShhizEqNJnGXG /0vPClWPOZbt1MQI320y1mQKj2yZ9erlHspH23hqSYqtCDBWeNGVE6cxyfMUVy8uV5vD4E DPSpYlDvT/zsZjTLGHPnw3T8+nIg6166neuP6N2Kc/4arYuJQVH7Pp/6u2KJhMYZ58u311 3s+myVxKOOVIfULiAPGyupHV/fYmTbpW025x3EAt7eNq4uJyFQnkz4E/3SCXWg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cG3MC3YSDz34J; Mon, 01 Sep 2025 22:24: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 581MONul052107; Mon, 1 Sep 2025 22:24:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 581MON2f052104; Mon, 1 Sep 2025 22:24:23 GMT (envelope-from git) Date: Mon, 1 Sep 2025 22:24:23 GMT Message-Id: <202509012224.581MON2f052104@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 341d1aabc13e - main - tcp: micro-optimize SYN-cookie expansion List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 341d1aabc13e47911d2eb38e857b90f7d356134e Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=341d1aabc13e47911d2eb38e857b90f7d356134e commit 341d1aabc13e47911d2eb38e857b90f7d356134e Author: Michael Tuexen AuthorDate: 2025-09-01 22:18:35 +0000 Commit: Michael Tuexen CommitDate: 2025-09-01 22:18:35 +0000 tcp: micro-optimize SYN-cookie expansion Only compute wscale when it is actually used. While there, change the type of wscale to u_int as suggested by glebius. No functional change intended. Reviewed by: glebius, rscheff (older version) MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D52296 --- sys/netinet/tcp_syncache.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index bec1a0bd14c4..1ee6c6e31f33 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1675,7 +1675,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, sc->sc_tsoff = tcp_new_ts_offset(inc); } if ((to->to_flags & TOF_SCALE) && (V_tcp_do_rfc1323 != 3)) { - int wscale = 0; + u_int wscale = 0; /* * Pick the smallest possible scaling factor that @@ -2271,7 +2271,7 @@ syncookie_expand(struct in_conninfo *inc, const struct syncache_head *sch, uint32_t hash; uint8_t *secbits; tcp_seq ack, seq; - int wnd, wscale = 0; + int wnd; union syncookie cookie; /* @@ -2322,12 +2322,14 @@ syncookie_expand(struct in_conninfo *inc, const struct syncache_head *sch, sc->sc_peer_mss = tcp_sc_msstab[cookie.flags.mss_idx]; - /* We can simply recompute receive window scale we sent earlier. */ - while (wscale < TCP_MAX_WINSHIFT && (TCP_MAXWIN << wscale) < sb_max) - wscale++; - /* Only use wscale if it was enabled in the orignal SYN. */ if (cookie.flags.wscale_idx > 0) { + u_int wscale = 0; + + /* Recompute the receive window scale that was sent earlier. */ + while (wscale < TCP_MAX_WINSHIFT && + (TCP_MAXWIN << wscale) < sb_max) + wscale++; sc->sc_requested_r_scale = wscale; sc->sc_requested_s_scale = tcp_sc_wstab[cookie.flags.wscale_idx]; sc->sc_flags |= SCF_WINSCALE; From nobody Mon Sep 1 22:29:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cG3Sg6XPNz65QGV; Mon, 01 Sep 2025 22:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cG3Sg5ZDFz41XL; Mon, 01 Sep 2025 22:29:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756765747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a8gzd5XYFh5MEJgryhPkZMjS+rcU823GTA2RUXZ6HhE=; b=CH6tLj8xzHlxqEZh+b+w0tGgcrnFuThjdju3Q14vUYXNSEyVDWkzZxpuj6uzKhA2RY380Y rKtdEDPeq2nph1qRiPsuNrGyD7i953OTvFczYks9+d+3gZBXLGp9wZ4GD/QSJ2vF0sr0ks e+vTZCk7v1/c+Iv9Y1u3AMM8mIAUgHmizp1dqx6JgUFNCgSSBjf1oa5zPSH0Rr6jzuCiED JU0ol931k333lzyWc2TfL4D7V55VOyokuOfqFx5QuV8ZKam9x0EEfn3JgC7YZyojz3oSoi u8EuiKOU56SfuSB9oP607NPn4urgPnLRXNITpQQNWXAocuWHt39idk6RXUryzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756765747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a8gzd5XYFh5MEJgryhPkZMjS+rcU823GTA2RUXZ6HhE=; b=VEDcu8Hsu8Bgz+EfkEBJIe9pbYx8dKoO2Ndc+TSMPp5yQ+8QJQ5XPwaZS9VmwYcO/G2UTn vIgtWtZk7GG2KzQqvXZ04G59aQGNM2FbKT3UJyX3fa+6yLdRqLH4gSwOHyaGi/IYahZz43 fQs9RH6rfypVeL99UZf4Ej+7RJ1+sbqOxfMvmeDwbHzFdtUKIYzXpf3N/lzIHUnH23RD7S qGohM6qGaijTuuynrUAaEcrXoy5r1alT88Tp2m55A3URPrRXeHys6k1NiCSle2FnC07KdV q8H9Hpn3NZgBWan85hZjntWjQvAglAmV8Vq5xJ2OQ/+zOBSNUzzUyy/teA2uKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756765747; a=rsa-sha256; cv=none; b=qYpxIvjH0oU7VGNiCfNq3P5FjRHL1pfIqrgJIlBj10lqZzoCcb4NVmXgdFi65hqTeY61y3 AEEVSWErRNpfAlXkqh1AMESsHK6NTT1PMtboQHl9T9qYpfNg8YJwOf7ZJ56YukfQEpQ8lb VcncmCrV38OkGv//NBDoIw5KWDhYr4qdq9RePBu0BXb2e0u+K8QV4Fc5K2LyNpRD0TMEf/ Mva8bg14p0hv9OKTz1M+t45yuk7H1UVHtchSqItUud4W14/QOpDkeAp5LX+c5HQfKAxVYv 0ct/+BA118irZt/lsXs+1tCyJ8vRdeJkVwN2xhVc9F8pKM73OUwgLmeMw1N1AQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cG3Sg52bDz3mv; Mon, 01 Sep 2025 22:29: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 581MT73p053584; Mon, 1 Sep 2025 22:29:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 581MT7Oq053581; Mon, 1 Sep 2025 22:29:07 GMT (envelope-from git) Date: Mon, 1 Sep 2025 22:29:07 GMT Message-Id: <202509012229.581MT7Oq053581@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: a0627bc6923c - main - netstat: improve output for tcp stats List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a0627bc6923c4f27bad3dd83af3d3441dc0526aa Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=a0627bc6923c4f27bad3dd83af3d3441dc0526aa commit a0627bc6923c4f27bad3dd83af3d3441dc0526aa Author: Michael Tuexen AuthorDate: 2025-09-01 22:23:26 +0000 Commit: Michael Tuexen CommitDate: 2025-09-01 22:23:26 +0000 netstat: improve output for tcp stats Put SYN-cookie related counters in its own container and use consistent indentation for them. Reviewed by: glebius MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D52227 --- usr.bin/netstat/inet.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/usr.bin/netstat/inet.c b/usr.bin/netstat/inet.c index 7014f02032c2..5f36b1599cad 100644 --- a/usr.bin/netstat/inet.c +++ b/usr.bin/netstat/inet.c @@ -767,15 +767,20 @@ tcp_stats(u_long off, const char *name, int af1 __unused, int proto __unused) p1a(tcps_sc_badack, "\t\t{:bad-ack/%ju} {N:/badack}\n"); p1a(tcps_sc_unreach, "\t\t{:unreachable/%ju} {N:/unreach}\n"); p(tcps_sc_zonefail, "\t\t{:zone-failures/%ju} {N:/zone failure%s}\n"); + + xo_close_container("syncache"); + + xo_open_container("syncookies"); + p(tcps_sc_sendcookie, "\t{:sent-cookies/%ju} {N:/cookie%s sent}\n"); - p(tcps_sc_recvcookie, "\t{:received-cookies/%ju} " + p(tcps_sc_recvcookie, "\t\t{:received-cookies/%ju} " "{N:/cookie%s received}\n"); - p(tcps_sc_spurcookie, "\t{:spurious-cookies/%ju} " + p(tcps_sc_spurcookie, "\t\t{:spurious-cookies/%ju} " "{N:/spurious cookie%s rejected}\n"); - p(tcps_sc_failcookie, "\t{:failed-cookies/%ju} " + p(tcps_sc_failcookie, "\t\t{:failed-cookies/%ju} " "{N:/failed cookie%s rejected}\n"); - xo_close_container("syncache"); + xo_close_container("syncookies"); xo_open_container("hostcache"); From nobody Tue Sep 2 03:29:44 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGB7Y1P4lz66GvN; Tue, 02 Sep 2025 03:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGB7Y0vnJz3Q6d; Tue, 02 Sep 2025 03:29:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756783785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+OwXnhPaZAArRK6khHkJfHHsVV+m9t76aSh4uLIZPWg=; b=wKaB5GipzAYYjuuKBZXXKl80NYCKt5Eawl5PEhXd3dA6NHFoUXaU7Qk7ZxpMOVfiOzS513 20TayT+LAWhRWnxwO/lfTqDo3orNpKxMKr8YuwVAk0UuxdP32yO+6uq/j80dtmqxWOXKrP dVqUgMpx3aBe6JoEDhaSnyXyTekdK1ZApZifId/Xm6LbpJ5pkjZplroiWPJ1cgDnX5QTu1 vPl1ziiTfBIcgtK2dEK31fVHn4NgkPPasx8aDsBeHylX0s8lPLS84aayrVjJJnwGvwVeLy R9Bw0ot3o6TIINJwEIHXL7y+cnBu/kFEc+os9OMD3Myx4dYdgxrS2ivi2+pXYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756783785; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+OwXnhPaZAArRK6khHkJfHHsVV+m9t76aSh4uLIZPWg=; b=CmALmLcuKnpppH7rACnbO2XlZJCM7v+jEWfFm/u20QxZ4iLGuYbloeh505WetXzo/ZKkP3 mFd1uiEdc+DBGgOLSvhNdRKSWc/WzehTQrEPyZDkxmJPz6D+swQUHTEZ744ica2BaKk7/m bQ8rT7YbLA5TyCDrXRjI9idNnNn79JRWG3GLx0SGPT2GPH+UlJYAh1ebGA8Jp3tXJ1gScM UciDSL6vedHOoyVMGw8P+XEks94ZpFzmzEo6wohHaw37bUlM1x+8H9m0nN43FIxHd8Yu6C 8d1SgUD4jjJrL0rWv9ZDoZ8eNTaD0voBWR/UFw2Cfz85dzS5ruJAQ1OVFrCjew== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756783785; a=rsa-sha256; cv=none; b=KXjEdXPHxoO2Ts3TePJzS0N/ScTbL5z41ArGxSu/dXsYUkv2vz7VTtTJfZu98LXdFeQq0g lNBkRy9XR8ZgQeNYKwQ7th3yXNDFTUBjhgtdVVyp33xx3LWz22Q17EVnFbC6CDf8I1DuK0 zzIB43oXiz8Vcip2AlXKZcd6RpMZgorOOcLsI144plP1nbREBnqQODzf4E3Qy7IVkxKLrk 2pYDDd2AzPi/IrAymy0Mq7JpnlIPtyWWqlpQNFbCYpaeghbq/kp3oKnVOMPXzuFv40WSLM QrAGMgYGZjWuuri/eU+K62FWYECLVt5ig8eUfqmB0jM3P1uBwPJRC6fqfsYr9g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGB7Y0TqczDBT; Tue, 02 Sep 2025 03:29: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 5823TiKa018858; Tue, 2 Sep 2025 03:29:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5823TiLr018855; Tue, 2 Sep 2025 03:29:44 GMT (envelope-from git) Date: Tue, 2 Sep 2025 03:29:44 GMT Message-Id: <202509020329.5823TiLr018855@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: 167520e47d37 - main - [net80211] clean up M_SEQNO_SET and M_SEQNO_GET() to always limit to the sequence number range List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adrian X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 167520e47d37ab72ff5561c41b9a2d95e5d70bd5 Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=167520e47d37ab72ff5561c41b9a2d95e5d70bd5 commit 167520e47d37ab72ff5561c41b9a2d95e5d70bd5 Author: Adrian Chadd AuthorDate: 2025-08-31 03:03:40 +0000 Commit: Adrian Chadd CommitDate: 2025-09-02 03:29:30 +0000 [net80211] clean up M_SEQNO_SET and M_SEQNO_GET() to always limit to the sequence number range Use '% IEEE80211_SEQ_RANGE' to limit the sequence numbers being stored and retrieved to 0..4095 inclusive. Differential Revision: https://reviews.freebsd.org/D52302 Reviewed by: bz --- sys/net80211/ieee80211_freebsd.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sys/net80211/ieee80211_freebsd.h b/sys/net80211/ieee80211_freebsd.h index 3684fba52c5c..954801d95787 100644 --- a/sys/net80211/ieee80211_freebsd.h +++ b/sys/net80211/ieee80211_freebsd.h @@ -341,11 +341,16 @@ struct mbuf *ieee80211_getmgtframe(uint8_t **frm, int headroom, int pktlen); #define M_AGE_SUB(m,adj) (m->m_pkthdr.csum_data -= adj) /* - * Store the sequence number. + * Store / retrieve the sequence number in an mbuf. + * + * The sequence number being stored/retreived is the 12 bit + * base sequence number, not the 16 bit sequence number field. + * I.e., it's from 0..4095 inclusive, with no 4 bit padding for + * fragment numbers. */ #define M_SEQNO_SET(m, seqno) \ - ((m)->m_pkthdr.tso_segsz = (seqno)) -#define M_SEQNO_GET(m) ((m)->m_pkthdr.tso_segsz) + ((m)->m_pkthdr.tso_segsz = ((seqno) % IEEE80211_SEQ_RANGE)) +#define M_SEQNO_GET(m) (((m)->m_pkthdr.tso_segsz) % IEEE80211_SEQ_RANGE) #define MTAG_ABI_NET80211 1132948340 /* net80211 ABI */ From nobody Tue Sep 2 05:49:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGFDp6rKkz66Vc5; Tue, 02 Sep 2025 05:49:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGFDp5d3yz3jlG; Tue, 02 Sep 2025 05:49:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756792170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ut9oCE0eJAshHkoXnOzPfunus04IIzIqDYzZIkI0SpM=; b=Ww1hBfcnQvwik9NTNEh4mu92qd5SvDm2pN1GiFwaYEEzy+BrxUlhx2zyPiaaT9wEUNpGMt qlZHJrmmzAg7zwBkiVSMfGjHmaVcWZpLmQ2fcv8gJwC/yn0tTH7v5+Ifg4lHfgpZixChzO tV/0yZohIgkCeAMmN0jGYH+r3+NoqG43xoYkkoegon8GheKmEz+FdgtC+4kp2OmfslS1Cs kLv0XbhSnvPaR3zsUo+AFuRO4uAgmeoswSZ+nz5Q733Ztbe837njyAta8IuGONuI+IzRF0 dOAQK6zR/9wIDa6LrvIMZWAF1vla5VXswr61cyte+C3EohyohsmJeu0jspJkBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756792170; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ut9oCE0eJAshHkoXnOzPfunus04IIzIqDYzZIkI0SpM=; b=qohXOPsR6sKtdwLzKqEaAcUU3g1rK2TbxOnP/TX0t+AkDlL6f8kC3xyzUVuc7oMbtfJhEw a1QOepO+69g3WsU5MDb51M4gNUlLxtMOfChllHHf5HH0+mlUk+yyIe71ntCnVuveYJqxC7 e9eHQclwwjtMhumniDHyFZKUrIweGZVfao5Xn8rzS1tvX9q5nT90mQtA8Z/9/NLroAZ0On tu4dHndNSypgXf39kqRIpcW72v1KjO8Q+Ey14o6sE6f6HiiFswM3B/68r8xK6PbFsdEfuY lKIAVVTLP+U+lOXp/CVf/2jxZpFpT/I2U0t9BYLi6UYK62BCYI3Th+9qKu9tpQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756792170; a=rsa-sha256; cv=none; b=Uvzuv75am8CEBoB4wER49M18bEw2AyqwX/eeyHQHLivdiZpaL5iHsRZ9G8q+zaOCv750vD p/9f9m6L1yeBNVjD6H0HSXNq+/OzIHArVPL5m+a74rXbkieMOsESTGJAYWRMu5hzSiYsBK hh+Qbqw12NfiltLb+2w8OBwlLzUjTUNKDOHWRe44u0J9Vsdpnp/e7LqIQtOazwH1DuDDRf c0oMlw8Z/WAjMmcl6tvO/HTW9GcJ1abgWRPB+uuUCT+pjeT7IgGdGBzlioPE27YShmNt0a IbZQBJzJCt6oUVZzl3rgGyhg/zQE7y4CzBdxkLA64RP2Kt2WZzWKg+/nwPQKKw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGFDp57FyzY90; Tue, 02 Sep 2025 05:49:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5825nUIg082129; Tue, 2 Sep 2025 05:49:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5825nUbh082126; Tue, 2 Sep 2025 05:49:30 GMT (envelope-from git) Date: Tue, 2 Sep 2025 05:49:30 GMT Message-Id: <202509020549.5825nUbh082126@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: e88b7dcac870 - main - Recoverdisk: Refine the determination of defaults List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e88b7dcac8701b6d925b8c7c66eada5143c37e16 Auto-Submitted: auto-generated The branch main has been updated by phk: URL: https://cgit.FreeBSD.org/src/commit/?id=e88b7dcac8701b6d925b8c7c66eada5143c37e16 commit e88b7dcac8701b6d925b8c7c66eada5143c37e16 Author: Poul-Henning Kamp AuthorDate: 2025-09-02 05:48:05 +0000 Commit: Poul-Henning Kamp CommitDate: 2025-09-02 05:48:05 +0000 Recoverdisk: Refine the determination of defaults --- sbin/recoverdisk/recoverdisk.1 | 6 ++++ sbin/recoverdisk/recoverdisk.c | 72 +++++++++++++++++++++++++++++++----------- 2 files changed, 59 insertions(+), 19 deletions(-) diff --git a/sbin/recoverdisk/recoverdisk.1 b/sbin/recoverdisk/recoverdisk.1 index 9f1deb4c0c23..90849755ea0c 100644 --- a/sbin/recoverdisk/recoverdisk.1 +++ b/sbin/recoverdisk/recoverdisk.1 @@ -31,6 +31,7 @@ .Sh SYNOPSIS .Nm .Op Fl b Ar bigsize +.Op Fl i Ar interval .Op Fl r Ar readlist .Op Fl s Ar interval .Op Fl u Ar pattern @@ -109,6 +110,11 @@ reports for character and block devices or if .Ar source is a regular file. +.It Fl i Ar pause +.Xr sleep 3 +this long between reads. This reduces the load on the +.Ar source +device and the system in general. .It Fl p Ar pause .Xr sleep 3 this long whenever a read fails. This makes the diff --git a/sbin/recoverdisk/recoverdisk.c b/sbin/recoverdisk/recoverdisk.c index f13a1f211863..5971f78738ac 100644 --- a/sbin/recoverdisk/recoverdisk.c +++ b/sbin/recoverdisk/recoverdisk.c @@ -28,6 +28,11 @@ #include #include +/* + * This is a compromise between speed and wasted effort + */ +#define COMPROMISE_SIZE (128<<10) + struct lump { uint64_t start; uint64_t len; @@ -51,6 +56,7 @@ static uint64_t medium_read; static uint64_t small_read; static uint64_t total_size; static uint64_t done_size; +static uint64_t wasted_size; static char *input; static char *write_worklist_file = NULL; static char *read_worklist_file = NULL; @@ -61,6 +67,7 @@ static FILE *log_file = NULL; static char *work_buf; static char *pattern_buf; static double error_pause; +static double interval; static unsigned nlumps; static double n_reads, n_good_reads; @@ -418,7 +425,8 @@ fill_buf(char *buf, int64_t len, const char *pattern) static void usage(void) { - fprintf(stderr, "usage: recoverdisk [-b big_read] [-r readlist] " + fprintf(stderr, "usage: recoverdisk " + "[-b big_read] [-i interval ] [-r readlist] " "[-s interval] [-w writelist] source [destination]\n"); /* XXX update */ exit(1); @@ -486,6 +494,7 @@ attempt_one_lump(time_t t_now) fflush(log_file); } } else { + wasted_size += sz; printf("%14ju %7ju read error %d: (%s)", (uintmax_t)lp->start, (uintmax_t)sz, error, strerror(error)); @@ -557,8 +566,6 @@ determine_read_sizes(void) u_int sectorsize; off_t stripesize; - determine_total_size(); - #ifdef DIOCGSECTORSIZE if (small_read == 0) { error = ioctl(read_fd, DIOCGSECTORSIZE, §orsize); @@ -572,8 +579,8 @@ determine_read_sizes(void) #endif if (small_read == 0) { - printf("Assuming 512 for small_read\n"); small_read = 512; + printf("# Defaulting small_read to %ju\n", (uintmax_t)small_read); } if (medium_read && (medium_read % small_read)) { @@ -593,13 +600,13 @@ determine_read_sizes(void) #ifdef DIOCGSTRIPESIZE if (medium_read == 0) { error = ioctl(read_fd, DIOCGSTRIPESIZE, &stripesize); - if (error < 0 || stripesize < 0) { + if (error < 0 || stripesize <= 0) { // nope } else if ((uint64_t)stripesize < small_read) { // nope } else if (stripesize % small_read) { // nope - } else if (0 < stripesize && stripesize < (128<<10)) { + } else if (stripesize <= COMPROMISE_SIZE) { medium_read = stripesize; printf("# Got medium_read from DIOCGSTRIPESIZE: %ju\n", (uintmax_t)medium_read @@ -607,6 +614,7 @@ determine_read_sizes(void) } } #endif + #if defined(DIOCGFWSECTORS) && defined(DIOCGFWHEADS) if (medium_read == 0) { u_int fwsectors = 0, fwheads = 0; @@ -616,10 +624,16 @@ determine_read_sizes(void) error = ioctl(read_fd, DIOCGFWHEADS, &fwheads); if (error) fwheads = 0; - if (fwsectors && fwheads) { + if (fwsectors * fwheads * small_read <= COMPROMISE_SIZE) { medium_read = fwsectors * fwheads * small_read; printf( - "# Got medium_read from DIOCGFW{SECTORS,HEADS}: %ju\n", + "# Got medium_read from DIOCGFW{SECTORS*HEADS}: %ju\n", + (uintmax_t)medium_read + ); + } else if (fwsectors * small_read <= COMPROMISE_SIZE) { + medium_read = fwsectors * small_read; + printf( + "# Got medium_read from DIOCGFWSECTORS: %ju\n", (uintmax_t)medium_read ); } @@ -627,10 +641,11 @@ determine_read_sizes(void) #endif if (big_read == 0 && medium_read != 0) { - if (medium_read > (64<<10)) { + if (medium_read * 2 > COMPROMISE_SIZE) { big_read = medium_read; + medium_read = 0; } else { - big_read = 128 << 10; + big_read = COMPROMISE_SIZE; big_read -= big_read % medium_read; } printf("# Got big_read from medium_read: %ju\n", @@ -639,12 +654,16 @@ determine_read_sizes(void) } if (big_read == 0) { - big_read = 128 << 10; + big_read = COMPROMISE_SIZE; + big_read -= big_read % small_read; printf("# Defaulting big_read to %ju\n", (uintmax_t)big_read ); } + if (medium_read >= big_read) + medium_read = 0; + if (medium_read == 0) { /* * We do not want to go directly to single sectors, but @@ -662,12 +681,20 @@ determine_read_sizes(void) (uintmax_t)medium_read ); } - fprintf(stderr, - "# Bigsize = %ju, medium_read = %ju, small_read = %ju\n", + printf("# Bigsize = %ju, medium_read = %ju, small_read = %ju\n", (uintmax_t)big_read, (uintmax_t)medium_read, (uintmax_t)small_read); -} + assert(0 < small_read); + + assert(0 < medium_read); + assert(medium_read >= small_read); + assert(medium_read <= big_read); + assert(medium_read % small_read == 0); + assert(0 < big_read); + assert(big_read >= medium_read); + assert(big_read % small_read == 0); +} /**********************************************************************/ @@ -687,15 +714,14 @@ monitor_read_sizes(uint64_t failed_size) ); big_read = medium_read; medium_read = small_read; + wasted_size = 0; return; } - if (failed_size > small_read) { - if (n_reads < n_good_reads + 100) - return; + if (big_read > small_read && wasted_size / small_read > 200) { fprintf( stderr, - "Too many failures." + "Too much wasted effort." " (%.0f bad of %.0f)" " Shifting to small_reads.\n", n_reads - n_good_reads, n_reads @@ -719,11 +745,14 @@ main(int argc, char * const argv[]) setbuf(stdout, NULL); setbuf(stderr, NULL); - while ((ch = getopt(argc, argv, "b:l:p:m:r:w:s:t:u:v")) != -1) { + while ((ch = getopt(argc, argv, "b:i:l:p:m:r:w:s:t:u:v")) != -1) { switch (ch) { case 'b': big_read = strtoul(optarg, NULL, 0); break; + case 'i': + interval = strtod(optarg, NULL); + break; case 'l': log_file = fopen(optarg, "a"); if (log_file == NULL) { @@ -774,6 +803,8 @@ main(int argc, char * const argv[]) if (read_fd < 0) err(1, "Cannot open read descriptor %s", argv[0]); + determine_total_size(); + determine_read_sizes(); work_buf = malloc(big_read); @@ -816,6 +847,9 @@ main(int argc, char * const argv[]) t_save = t_first; unsaved = 0; while (!aborting) { + if (interval > 0) { + usleep((unsigned long)(1e6 * interval)); + } t_now = time(NULL); sz = attempt_one_lump(t_now); error = errno; From nobody Tue Sep 2 06:38:35 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGGKY4QxWz66ZLQ; Tue, 02 Sep 2025 06:38:41 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGGKY2xj1z3pkQ; Tue, 02 Sep 2025 06:38:41 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756795121; 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=iiM7KN4DMVPe/fWFKo9lX1iOrODdtfImAcgKeTXmCxw=; b=EJKn3uHAJAcVbKYnis3Mtr1S6Mfqt7pCxZJpKfKsJSyRGD8QemTUMpbC4wKBIWohLCuqrd orZTnO51JkmWsgoxSSWmSSZG8Pgcb8kEsa1LO558vLjI+nHYvBYpTqfrq0WZj1ykcKkows UPodwNFZORuiOXpyY0q1F/xIckCOHvZ+SCNWUnAAWZpX95pOeatutfthlaJRzLLtkS+x5Y 6e+5L2PMQhwTP2CmLcHY1LpAfvp/al9L7WFRU5fVCEnQHXE9AGFmw/aKhM4NtsDdlPIejK pVdjGRxDkK5bM4aB+pYv7ko7XkqAyacy0zW3qkpdBGJLJ7gDfjOZ2FK39i3Efw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756795121; 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=iiM7KN4DMVPe/fWFKo9lX1iOrODdtfImAcgKeTXmCxw=; b=YTdLQhkKBYGNxEHVx2a6heN4T1wQqda9HQ9+KfKM9rQQsdxRtKwHRUyJBldcudt9h1DNyB +aCscQW0RXrqEvIFVmlZntpOmy+juOoNKZPsJS6hD08SxAs20P2q3AkedCMHWRa1Elwo+s HEMX862XZOEVRQVT8bGrP4S3/bwiEZY5nBO//AJbpiPUTSyaxNfeOXHSCje99649KsWOWi 3/M/sACEjm9kwCYwuTIupWirqvgdxRBsft/9h5v7rb5m5PNNUKVqfgPGbECS2cMaENIjuI 9VJiOyfFjWKZUkquDhier2Z+pJy0F1ovDdtIokipUBOf43bpELKvv1pnEyx1mQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756795121; a=rsa-sha256; cv=none; b=Q2+9bSc+QGAom+8nnX4QatAQ8dQIgNmg4PYXcVceEYRZ7KRGpPbMoFpbldo5WAeJky3w5H wxu+D+iVtxk2L7Y/01Zwi8QMsopazZfxhgK+KiQl6I4ZfzF8JUqJA15Z2yy14yia0rXN7N 2CYhzTi+N3H70cg0XBaDLr1RBQQbyvEyUEtoYgVmMxIUI+aXGxYVYRwjmgHuN+HJKeRikn Qlgd3vsRAmSNKtFJ7X78BkzmeSwSGhXzxAjXQM7R+tsVo6pfw8tm95FvqYE1dF9yWncxTB tIj5l+ka7nbG3Ny2ywHjZzOHuUnE4NVVsozwId1ZjHd5y1DRBQg6sWQ7UFcTfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4cGGKW6Y8WzCVp; Tue, 02 Sep 2025 06:38:39 +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: dfafdbdfc3e9 - main - stand: Use calloc instead of malloc for initialization of filesystem devsw From: Zhenlei Huang In-Reply-To: <202509012201.581M18tv010659@gitrepo.freebsd.org> Date: Tue, 2 Sep 2025 14:38:35 +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: <202509012201.581M18tv010659@gitrepo.freebsd.org> To: Warner Losh X-Mailer: Apple Mail (2.3696.120.41.1.10) > On Sep 2, 2025, at 6:01 AM, Warner Losh wrote: >=20 > The branch main has been updated by imp: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3Ddfafdbdfc3e9db8b878283bcbef35f5d= 8d37dae8 >=20 > commit dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8 > Author: null =20 Hi Warner, The Author is missing. Probably by mistake of Phabricator ? Best regards, Zhenlei > AuthorDate: 2025-09-01 21:57:06 +0000 > Commit: Warner Losh > CommitDate: 2025-09-01 21:57:14 +0000 >=20 > stand: Use calloc instead of malloc for initialization of = filesystem devsw >=20 > This change is required for https://reviews.freebsd.org/D49355, so = that > we can check if d_dev is uninitialized by checking if it's NULL. >=20 > Reviewed by: imp > Differential Revision: https://reviews.freebsd.org/D49705 > --- > stand/common/disk.c | 2 +- > stand/kboot/kboot/hostdisk.c | 2 +- > stand/libofw/devicename.c | 2 +- > stand/libsa/dev.c | 2 +- > stand/libsa/zfs/zfs.c | 2 +- > stand/uboot/devicename.c | 2 +- > 6 files changed, 6 insertions(+), 6 deletions(-) >=20 > diff --git a/stand/common/disk.c b/stand/common/disk.c > index c1650f0fa1ec..1baf91efaa49 100644 > --- a/stand/common/disk.c > +++ b/stand/common/disk.c > @@ -468,7 +468,7 @@ disk_parsedev(struct devdesc **idev, const char = *devspec, const char **path) >=20 > if (*cp !=3D '\0' && *cp !=3D ':') > return (EINVAL); > - dev =3D malloc(sizeof(*dev)); > + dev =3D calloc(sizeof(*dev), 1); > if (dev =3D=3D NULL) > return (ENOMEM); > dev->dd.d_unit =3D unit; > diff --git a/stand/kboot/kboot/hostdisk.c = b/stand/kboot/kboot/hostdisk.c > index a9117d4c1c9d..fc98bf534519 100644 > --- a/stand/kboot/kboot/hostdisk.c > +++ b/stand/kboot/kboot/hostdisk.c > @@ -465,7 +465,7 @@ hostdisk_parsedev(struct devdesc **idev, const = char *devspec, const char **path) > return (EINVAL); > } > free(fn); > - dev =3D malloc(sizeof(*dev)); > + dev =3D calloc(sizeof(*dev), 1); > if (dev =3D=3D NULL) > return (ENOMEM); > dev->d_unit =3D 0; > diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c > index f6419632c6bc..46a9717fdda5 100644 > --- a/stand/libofw/devicename.c > +++ b/stand/libofw/devicename.c > @@ -98,7 +98,7 @@ ofw_common_parsedev(struct devdesc **dev, const char = *devspec, const char **path >=20 > if (ofw_path_to_handle(devspec, ofwtype, &rem_path) =3D=3D -1) > return (ENOENT); > - idev =3D malloc(sizeof(struct ofw_devdesc)); > + idev =3D calloc(sizeof(struct ofw_devdesc), 1); > if (idev =3D=3D NULL) { > printf("ofw_parsedev: malloc failed\n"); > return (ENOMEM); > diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c > index 1edc843d508c..4f6932e96c48 100644 > --- a/stand/libsa/dev.c > +++ b/stand/libsa/dev.c > @@ -72,7 +72,7 @@ default_parsedev(struct devdesc **dev, const char = *devspec, > int unit, err; > char *cp; >=20 > - idev =3D malloc(sizeof(struct devdesc)); > + idev =3D calloc(sizeof(struct devdesc), 1); > if (idev =3D=3D NULL) > return (ENOMEM); >=20 > diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c > index 70a102f6425d..2f7c1caaa4b5 100644 > --- a/stand/libsa/zfs/zfs.c > +++ b/stand/libsa/zfs/zfs.c > @@ -1643,7 +1643,7 @@ zfs_parsedev(struct devdesc **idev, const char = *devspec, const char **path) > spa =3D spa_find_by_name(poolname); > if (!spa) > return (ENXIO); > - dev =3D malloc(sizeof(*dev)); > + dev =3D calloc(sizeof(*dev), 1); > if (dev =3D=3D NULL) > return (ENOMEM); > dev->pool_guid =3D spa->spa_guid; > diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c > index 4ee9c7fd72c4..23670d7593a2 100644 > --- a/stand/uboot/devicename.c > +++ b/stand/uboot/devicename.c > @@ -102,7 +102,7 @@ uboot_parsedev(struct uboot_devdesc **dev, const = char *devspec, > } > if (dv =3D=3D NULL) > return(ENOENT); > - idev =3D malloc(sizeof(struct uboot_devdesc)); > + idev =3D calloc(sizeof(struct uboot_devdesc), 1); > err =3D 0; > np =3D (devspec + strlen(dv->dv_name)); >=20 From nobody Tue Sep 2 06:44:21 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGGS53lsqz66b12; Tue, 02 Sep 2025 06:44: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGGS52mKKz3qYG; Tue, 02 Sep 2025 06:44:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756795461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L8llOjST/t7vT9yUjSLlCzWDRLsMYD3CiClvQrhALUU=; b=XcuKxkYfnOULS/p855K5H8uTA3kfsMUCWCh1+xPyDkLZdIyIxlhE4Oo2UXg28oVCdsgv7o grGoRYTfbfft63qnJfLUi+0bVNttdO9djhOvTaZ1Mqz50zKKgTFIREUbQ0yrCXiVPxGegO 0QfKXKIJ6lNVfd5HzUZAnoZqBULy+A91vrg3v5K/eeQz+/uDbak4tIpn3/vOvWi/gO3C1q Vqt7eXbNTfwTAR9XfpK1SyCtc6B5aJb7qZzb98BJETxEsTk0UFpYT/OrNMAA6ihpsVmqyB QSNx5itee8SCElI0z+DwECWEgdLLAv3fc50TDg/2UT6dK8lWZUIMbbUYfiePBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756795461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=L8llOjST/t7vT9yUjSLlCzWDRLsMYD3CiClvQrhALUU=; b=bUqlGA6J656NpDTY1MbO17czTQ9iT+AmoXrO9JLcPLF4goa4iO2/o1BMXTD1o/oGhK6BMY K8kSssyaLfkg6VLcJZtirHOq64UJ5E/q5f1+rLjvASI6imsDjXB1jYukGDeTxWDPffRcgF O0Esn0Gq21SwO/g8v7UGgHpYwq28Dt1VpUKdWkcn7HSlW+M3iWEzAlL2FU1xIMGyxvshGz FwJQTxNIA96N+qskXdgR6smivYssxCo/gnmpUzKAFyFPg9CPFCvcGfgE51fGDnD58xjENl sgTcF/NvSW2lHvMz8TgZ3GsFVF7TmG3Ey6un5mwezZ3fwW/IFLGKjyJR6R+Y2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756795461; a=rsa-sha256; cv=none; b=XWgIlCsmPX2pTlGpogiCPKm0+SbnHdMQWDUNJaZd2lwcV8C/MkVHu16xAH2tGQK7Fd2tT7 McE5D/KOudnxUk6mqkKa4J6jfjbZZ9iNig7Lb9SiLhbfvEn0oVI35TElv1whdSGqPl1YrR cQkJ6JQo/TCSqvh8nmg+RYhgpzlVzBGqA7J1B/D6jizvlKjSp9r6tkFli9ShB3HfXZMdvm 9FsPDOo74cJisQHncBf2HMVj34xXRHIdvm+46MK+qAvvE97HqTGrFAcAsdZr0SwurcYQfv VaMnGCJAatGNzXdqpiK7PTAEJx1ijTON/y5+5MtbbkNR4RMyqGmDwM6LiqWiUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGGS525FFzbYS; Tue, 02 Sep 2025 06:44: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 5826iLXN092721; Tue, 2 Sep 2025 06:44:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5826iLYv092718; Tue, 2 Sep 2025 06:44:21 GMT (envelope-from git) Date: Tue, 2 Sep 2025 06:44:21 GMT Message-Id: <202509020644.5826iLYv092718@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: 39d668f1e09e - main - newsyslog(8): Remove the -c command line 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: delphij X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 39d668f1e09ebfc678b3c69c19a0ad0391361c56 Auto-Submitted: auto-generated The branch main has been updated by delphij: URL: https://cgit.FreeBSD.org/src/commit/?id=39d668f1e09ebfc678b3c69c19a0ad0391361c56 commit 39d668f1e09ebfc678b3c69c19a0ad0391361c56 Author: Xin LI AuthorDate: 2025-09-02 06:44:12 +0000 Commit: Xin LI CommitDate: 2025-09-02 06:44:12 +0000 newsyslog(8): Remove the -c command line option. The -c command-line option, which allowed setting a global compression method, is removed in favor of the directive in newsyslog.conf. The motivation of this change is to eliminate a source of potential confusion. Since newsyslog(8) is typically invoked by cron(8), having a command line option that can override it could cause inconsistent behavior (specifying in crontab would take precedence). Suggested by: karels Differential Revision: https://reviews.freebsd.org/D43466 --- usr.sbin/newsyslog/newsyslog.8 | 22 +--------- usr.sbin/newsyslog/newsyslog.c | 29 ++----------- usr.sbin/newsyslog/newsyslog.conf.5 | 84 +++++++++++++++++++++++++++---------- 3 files changed, 65 insertions(+), 70 deletions(-) diff --git a/usr.sbin/newsyslog/newsyslog.8 b/usr.sbin/newsyslog/newsyslog.8 index 6d4fc378e790..7429e3b8eb01 100644 --- a/usr.sbin/newsyslog/newsyslog.8 +++ b/usr.sbin/newsyslog/newsyslog.8 @@ -14,7 +14,7 @@ .\" the suitability of this software for any purpose. It is .\" provided "as is" without express or implied warranty. .\" -.Dd December 22, 2023 +.Dd September 1, 2025 .Dt NEWSYSLOG 8 .Os .Sh NAME @@ -24,7 +24,6 @@ .Nm .Op Fl CFNPnrsv .Op Fl a Ar directory -.Op Fl c Ar none Ns | Ns Ar legacy Ns | Ns Ar bzip2 Ns | Ns Ar gzip Ns | Ns Ar xz Ns | Ns Ar zstd .Op Fl d Ar directory .Op Fl f Ar config_file .Op Fl S Ar pidfile @@ -79,25 +78,6 @@ and mode three (above) assumes that this is so. The following options can be used with .Nm : .Bl -tag -width indent -.It Fl c Ar none Ns | Ns Ar legacy Ns | Ns Ar bzip2 Ns | Ns Ar gzip Ns | Ns Ar xz Ns | Ns Ar zstd -Instructs -.Nm -to use the specified compression method when a file is flagged for compression. -The default method is -.Dq legacy , -which interprets the -.Sy J, X, Y, Z -flags in the configuration file according to their historical meanings. -This default setting can be overridden by specifying -.Fl c Ar none , -which causes -.Nm -to ignore all compression flags. -Alternatively, specifying one of the compression methods: -.Sy bzip2 , gzip , xz , -or -.Sy zstd , -will apply the chosen method to all files flagged for compression. .It Fl f Ar config_file Instruct .Nm diff --git a/usr.sbin/newsyslog/newsyslog.c b/usr.sbin/newsyslog/newsyslog.c index d07f302fd24f..7ebdd7cbc0dd 100644 --- a/usr.sbin/newsyslog/newsyslog.c +++ b/usr.sbin/newsyslog/newsyslog.c @@ -701,19 +701,12 @@ parse_args(int argc, char **argv) hostname_shortlen = strcspn(hostname, "."); /* Parse command line options. */ - while ((ch = getopt(argc, argv, "a:c:d:f:nrst:vCD:FNPR:S:")) != -1) + while ((ch = getopt(argc, argv, "a:d:f:nrst:vCD:FNPR:S:")) != -1) switch (ch) { case 'a': archtodir++; archdirname = optarg; break; - case 'c': - if (!parse_compression_type(optarg, &compress_type_override)) { - warnx("Unrecognized compression method '%s'.", optarg); - usage(); - } - compress_type_set = true; - break; case 'd': destdir = optarg; break; @@ -858,26 +851,10 @@ parse_doption(const char *doption) static void usage(void) { - int i; - char *alltypes = NULL, *tmp = NULL; - - for (i = 0; i < COMPRESS_TYPES; i++) { - if (i == COMPRESS_NONE) { - (void)asprintf(&tmp, "%s|legacy", compress_type[i].name); - } else { - (void)asprintf(&tmp, "%s|%s", alltypes, compress_type[i].name); - } - if (alltypes) - free(alltypes); - alltypes = tmp; - tmp = NULL; - } fprintf(stderr, - "usage: newsyslog [-CFNPnrsv] [-a directory] [-c %s]\n" - " [-d directory] [-f config_file]\n" - " [-S pidfile] [-t timefmt] [[-R tagname] file ...]\n", - alltypes); + "usage: newsyslog [-CFNPnrsv] [-a directory] [-d directory] [-f config_file]\n" + " [-S pidfile] [-t timefmt] [[-R tagname] file ...]\n"); exit(1); } diff --git a/usr.sbin/newsyslog/newsyslog.conf.5 b/usr.sbin/newsyslog/newsyslog.conf.5 index 2887ecb226aa..d94c39332597 100644 --- a/usr.sbin/newsyslog/newsyslog.conf.5 +++ b/usr.sbin/newsyslog/newsyslog.conf.5 @@ -18,7 +18,7 @@ .\" the suitability of this software for any purpose. It is .\" provided "as is" without express or implied warranty. .\" -.Dd November 11, 2024 +.Dd September 1, 2025 .Dt NEWSYSLOG.CONF 5 .Os .Sh NAME @@ -44,8 +44,7 @@ reads a configuration file, normally .Pa /etc/newsyslog.conf , to determine which logs may potentially be rotated and archived. -Each line has five mandatory fields and four optional fields, -separated with whitespace. +.Pp Blank lines or lines beginning with .Ql # are ignored. @@ -63,34 +62,73 @@ in this case preceding is removed and .Ql # is treated as an ordinary character. +.Pp +The special +.Dq Ar +and +.Dq Ar +lines are defined as follows: +.Bl -tag -width indent +.It Ar Ns Ar none Ns | Ns Ar legacy Ns | Ns Ar bzip2 Ns | Ns Ar gzip Ns | Ns Ar xz Ns | Ns Ar zstd +This special option sets the global compress method, +it should be placed before all log file entries in +.Nm +configuration file. +The global compress method applies to all log files flagged as +compressible +.Dq Sy J , +.Dq Sy X , +.Dq Sy Y , +.Dq Sy Z +.Ar flags +below. +.Pp +The following compression methods are available: +.Bl -tag -width indent +.It Cm none +No compression is performed, even when a log file is marked as +compressible. This is useful for filesystems that have native +compression support. +.It Cm legacy +Interprets the +.Sy J, X, Y, Z +flags in the configuration file according to their historical meanings. +This is the default method. +.It Cm bzip2 +Use +.Xr bzip2 1 +for all compressible log files. +.It Cm gzip +Use +.Xr gzip 1 +for all compressible log files. +.It Cm xz +Use +.Xr xz 1 +for all compressible log files. +.It Cm zstd +Use +.Xr zstd 1 +for all compressible log files. +.El +.It Ar +The special entry is used to include other configuration +files and supports globbing. +.El +.Pp +Each other line has five mandatory fields and four optional fields, +separated with whitespace. The fields of the configuration file are as follows: .Bl -tag -width indent .It Ar logfile_name Name of the system log file to be archived, -or one of the special strings -.Dq Li , -.Dq Li , -or -.Dq Li . -The entry, -which should be placed at the beginning of the -.Nm -configuration file, -sets the global compress method. -This method is applied when a log file is flagged as -compressible, -which has the same effect of passing a compress method to the -.Fl c -option on the -.Xr newsyslog 8 -command line. +or the special string +.Dq Ar . The special entry will only be used if a log file name is given as a command line argument to .Xr newsyslog 8 , and if that log file name is not matched by any other line in the configuration file. -The include entry is used to include other configuration -files and supports globbing. .It Ar owner : Ns Ar group This optional field specifies the owner and group for the archive file. The @@ -432,7 +470,7 @@ can be the signal number, e.g., 30 for .El .Sh EXAMPLES The following is an example of the -.Dq Aq Li include +.Dq entry: .Dl " /etc/newsyslog-local.conf" .Sh SEE ALSO From nobody Tue Sep 2 08:31:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGJqF4gsZz66Fyy; Tue, 02 Sep 2025 08:31: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGJqF44Zwz41nq; Tue, 02 Sep 2025 08:31:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756801865; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oPkVJYaSyvM0Onu1ezQKhod5x/DXNi7J7phCn18wf20=; b=bewAc84FLUBihdJARSqJBYsyktytPUpnjWoRkjgdRLv7V+6t3ZsX7apLCI8KbnRgftacIt aaxYWVioSIq9jpOitlk7KTIOF7Ggw/TucvP4ujZXc8QXzaId/nzEEfz2rmNeeWFGVGwk1V rqItyOSfpoQYQoydTL5kGpOibc/czWLl6kHQ9wmKEknYMZ9811Rbmm2ovyllAVAqlReOKc 4F7TME0a6eP3o2T49kfbAUgkvWCE7WMkK/pn00R16iM11NCHmfp+QM5vISW90WtML0CZd1 YWll0YviD2gYyiGushggjVs8tG+EPLFQkpzc8dM689582EnJHXqwju8awYN0TQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756801865; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oPkVJYaSyvM0Onu1ezQKhod5x/DXNi7J7phCn18wf20=; b=YqBovlVFoayeZmM0ZxjxmgpfKoiglgGY8mtcCkTdNwEDCcnN4AbA6hbbzIq5F8kHwhtlI5 P7udDJPlO77JbrSzbq0sVE3+VmpUHs8ie5AUtwRV8KPNyU7U1OvqqWagukcJ8Y4sp93VoX IXkvGsEf1CoS8SGf0VYvEAm4MZPQfgOVSCDhc8jVmAIWZkf1UlSxsDZapNB+mD1oJN6bqj LL3hAqiFwL4qZMiLhKbZIZI9g6W0UkNJradnXI9FZxJ48AVWmLm531xeb7Z8x12AD2FY2v dn+4yUXgxqTJCAtZfnuNHlFsY1YLF19bKidr2ZD+k4VyOPzonbEwO6zR7M5UwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756801865; a=rsa-sha256; cv=none; b=hpi+6QnKbIHJzTgF8RntxZhqInhH/8OhaB4219R4DT/oIiSh1DN8j9ZeWyVGRICNqn0yLp yBr4zrnWzDA60U+QGq1ghr7q2x/ZXUB2D49eHyLxmoY6RIdYuuysitFiyFbBGwAw1DNw2o DkT5jTJSr1e3C+5hNjKBmFGTScQCeMoU52l2C9+zmsYodXJ8wo0jWCBFy3v3BJsejJvG31 edc8kqruZWt/tjshd8tojv5n2TJTkL52PzQvJ+Hllw3QbCV2rkakefyPBpPQPz1W3XgRrA NUCl4gJre0cn4jEEXYnV1TX0P/9rbMMaP9dImesoglCAjnCgyks0B4SxSBGrXg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGJqF3ZYJzfb1; Tue, 02 Sep 2025 08:31: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 5828V5I3092566; Tue, 2 Sep 2025 08:31:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5828V5wg092563; Tue, 2 Sep 2025 08:31:05 GMT (envelope-from git) Date: Tue, 2 Sep 2025 08:31:05 GMT Message-Id: <202509020831.5828V5wg092563@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: aa730a66bc74 - main - sh: Add config tag to /.profile List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aa730a66bc74696df85b21ec2719c75d8eab8c9f Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=aa730a66bc74696df85b21ec2719c75d8eab8c9f commit aa730a66bc74696df85b21ec2719c75d8eab8c9f Author: Lexi Winter AuthorDate: 2025-09-02 08:22:56 +0000 Commit: Lexi Winter CommitDate: 2025-09-02 08:22:56 +0000 sh: Add config tag to /.profile The file /.profile is installed as a hard link to /root/.profile. The file in /root has the config tag, but the file in / does not, which causes it to be overwritten by pkg upgrade. Since they're linked, this also overwrites the file in /root. Add the config tag to the file in / as well, so pkg treates both links as config files and won't overwrite them. PR: 289097 MFC after: 3 days Reviewed by: bapt, emaste Differential Revision: https://reviews.freebsd.org/D52162 --- bin/sh/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/sh/Makefile b/bin/sh/Makefile index 087dbf40c3bd..4dbbf344bfb5 100644 --- a/bin/sh/Makefile +++ b/bin/sh/Makefile @@ -74,6 +74,6 @@ beforeinstallconfig: LINKMODE=${CONFMODE} afterinstallconfig: - ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}/root/.profile ${DESTDIR}/.profile + ${INSTALL_LINK} ${TAG_ARGS},config ${DESTDIR}/root/.profile ${DESTDIR}/.profile .include From nobody Tue Sep 2 09:38:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGLJY3dvKz66MgW; Tue, 02 Sep 2025 09:38:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGLJY2zQ5z46sr; Tue, 02 Sep 2025 09:38:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756805885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0OZip8yfT2kdA8D5BIeSnBL9D9UQ/cQd1uXoWQswLQ0=; b=BTdgjwzt3Iug6FEIHElzlt8XW9pwMU5XHbEdRwvYWCzjlmmg6i64GI57ybH+ekaQnSxPWU FUbVOW3QyGEZBh4OwkFKUGfRB1URdMJXdlPU6QVhC1aQEHAATI1YXzcm7rbTaC33uuVriM 9NEoLUytAU2hWS9XHo25hxgODwJ4aa1H9cVxUW1i5k3d5Lj/xWARaVIIArSPxATR8Kd11K TlYkRgWq2WC/S69YcgJR3Vt+thteIdrG9VDufTYrbyl5fO+62WJ+kTl5xLCB9+X5zq4K0G qB8HdXWZGtSGTr1AJG2aFJMHwal7m8nYJgYWrjnzUJ+AXlpzKi8r8CPy3wjtJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756805885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0OZip8yfT2kdA8D5BIeSnBL9D9UQ/cQd1uXoWQswLQ0=; b=YpLTdfuIWH/Rxee01QDVaO+18IArWDGBruiYc2H/sXCSOM2j+s8WGLnnUDIfOPepHiGNCm dCydS0ueaba2Yro4jeERZ2BtS58UGyTNKera6SEIpZfeau3C+NCav9QE2g7hdy1lAOoMgj D0xsolFxLVPdrjUJY2FTR6M7brX6qQC7gW6ojI/hch/GYPNhaL7ONs9VNPa7AEmm+iQkhz 5UVJrXkRYa3UiWbUlgu7JERey2A3w3605amp7xM25j5Elyyvf0oqtPhmADrfViXPVsjFxK vc6KdpeJ40yapiRtiBbPpgaIdQxLQQME+uf1qVOEdPJrovT/QrYj8AHR7Qi/TQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756805885; a=rsa-sha256; cv=none; b=nlIU6n6FhblSo7gelTMxzyqNoehDEGKjjrQGSXdNALbNwNUzWzJGrNYSx07CpLdF5Lk6OE 6KJItBSXv3C/Z16f6piEHyhwTVRY6BUrm7QGPT0mayQsSu0NUZNUKrDF4JToi8bMnP3n40 066wDX2c7nVFGTEFP3W5ByIZT3vQh+nxfy8bX4/4G7DdSGMzSLgTBJv8nwwNf6n7DxHJ0U q1sKfuSXPZcYzWQEtUelwJdffpXzzi/I/kU5WbUHETHAdNMIRTEKtVxKMVaIGtp3/ruB24 xUz/iYjrF9UJFrTh0aM6ofvNtifDRm7TtMIhvtb4Ev3nFVs/8Rn5vTeO7E43gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGLJY2YVzzhFb; Tue, 02 Sep 2025 09:38:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5829c5hK015415; Tue, 2 Sep 2025 09:38:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5829c5Sl015412; Tue, 2 Sep 2025 09:38:05 GMT (envelope-from git) Date: Tue, 2 Sep 2025 09:38:05 GMT Message-Id: <202509020938.5829c5Sl015412@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: 405cfeef615f - main - xhci: Parse and print extended capabilities List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 405cfeef615f5493b49b6ab4619fa29dfe37fd7d Auto-Submitted: auto-generated The branch main has been updated by thj: URL: https://cgit.FreeBSD.org/src/commit/?id=405cfeef615f5493b49b6ab4619fa29dfe37fd7d commit 405cfeef615f5493b49b6ab4619fa29dfe37fd7d Author: Tom Jones AuthorDate: 2025-07-14 08:07:20 +0000 Commit: Tom Jones CommitDate: 2025-09-02 09:37:08 +0000 xhci: Parse and print extended capabilities Parse out and display xhci controller extended capabilities. This gives us a mechanism to pick these up when the controller attaches. The print helps users and developer know the availability of features in the wild. This change will let developers know from dmesg that a controller supports USB debugging. Reviewed by: aokblast Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51255 --- sys/dev/usb/controller/xhci.c | 85 ++++++++++++++++++++++++++++++++++++++++ sys/dev/usb/controller/xhcireg.h | 5 +++ 2 files changed, 90 insertions(+) diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c index 5be592512196..788b2b718062 100644 --- a/sys/dev/usb/controller/xhci.c +++ b/sys/dev/usb/controller/xhci.c @@ -156,6 +156,7 @@ struct xhci_std_temp { static void xhci_do_poll(struct usb_bus *); static void xhci_device_done(struct usb_xfer *, usb_error_t); +static void xhci_get_xecp(struct xhci_softc *); static void xhci_root_intr(struct xhci_softc *); static void xhci_free_device_ext(struct usb_device *); static struct xhci_endpoint_ext *xhci_get_endpoint_ext(struct usb_device *, @@ -566,6 +567,8 @@ xhci_init(struct xhci_softc *sc, device_t self, uint8_t dma32) device_printf(self, "%d bytes context size, %d-bit DMA\n", sc->sc_ctx_is_64_byte ? 64 : 32, (int)sc->sc_bus.dma_bits); + xhci_get_xecp(sc); + /* enable 64Kbyte control endpoint quirk */ sc->sc_bus.control_ep_quirk = (xhcictlquirk ? 1 : 0); @@ -653,6 +656,88 @@ xhci_uninit(struct xhci_softc *sc) sx_destroy(&sc->sc_cmd_sx); } +static void +xhci_get_xecp(struct xhci_softc *sc) +{ + + uint32_t hccp1; + uint32_t eec; + uint32_t eecp; + bool first = true; + + hccp1 = XREAD4(sc, capa, XHCI_HCSPARAMS0); + + if (XHCI_HCS0_XECP(hccp1) == 0) { + device_printf(sc->sc_bus.parent, + "xECP: no capabilities found\n"); + return; + } + + /* + * Parse the xECP Capabilities table and print known caps. + * Implemented, vendor and reserved xECP Capabilities values are + * documented in Table 7.2 of eXtensible Host Controller Interface for + * Universal Serial Bus (xHCI) Rev 1.2b 2023. + */ + device_printf(sc->sc_bus.parent, "xECP capabilities <"); + + eec = -1; + for (eecp = XHCI_HCS0_XECP(hccp1) << 2; + eecp != 0 && XHCI_XECP_NEXT(eec) != 0; + eecp += XHCI_XECP_NEXT(eec) << 2) { + eec = XREAD4(sc, capa, eecp); + + uint8_t xecpid = XHCI_XECP_ID(eec); + + if ((xecpid >= 11 && xecpid <= 16) || + (xecpid >= 19 && xecpid <= 191)) { + if (!first) + printf(","); + printf("RES(%x)", xecpid); + } else if (xecpid > 191) { + if (!first) + printf(","); + printf("VEND(%x)", xecpid); + } else { + if (!first) + printf(","); + switch (xecpid) + { + case XHCI_ID_USB_LEGACY: + printf("LEGACY"); + break; + case XHCI_ID_PROTOCOLS: + printf("PROTO"); + break; + case XHCI_ID_POWER_MGMT: + printf("POWER"); + break; + case XHCI_ID_VIRTUALIZATION: + printf("VIRT"); + break; + case XHCI_ID_MSG_IRQ: + printf("MSG IRQ"); + break; + case XHCI_ID_USB_LOCAL_MEM: + printf("LOCAL MEM"); + break; + case XHCI_ID_USB_DEBUG: + printf("DEBUG"); + break; + case XHCI_ID_EXT_MSI: + printf("EXT MSI"); + break; + case XHCI_ID_USB3_TUN: + printf("TUN"); + break; + + } + } + first = false; + } + printf(">\n"); +} + static void xhci_set_hw_power_sleep(struct usb_bus *bus, uint32_t state) { diff --git a/sys/dev/usb/controller/xhcireg.h b/sys/dev/usb/controller/xhcireg.h index 9d0b6e2f4b4b..821897155544 100644 --- a/sys/dev/usb/controller/xhcireg.h +++ b/sys/dev/usb/controller/xhcireg.h @@ -205,6 +205,11 @@ #define XHCI_ID_VIRTUALIZATION 0x0004 #define XHCI_ID_MSG_IRQ 0x0005 #define XHCI_ID_USB_LOCAL_MEM 0x0006 +/* values 7-9 are reserved */ +#define XHCI_ID_USB_DEBUG 0x000a +/* values 11-16 are reserved */ +#define XHCI_ID_EXT_MSI 0x0011 +#define XHCI_ID_USB3_TUN 0x0012 /* XHCI register R/W wrappers */ #define XREAD1(sc, what, a) \ From nobody Tue Sep 2 11:06:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGNH61QXyz66WZl; Tue, 02 Sep 2025 11:06: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGNH60f4cz3L4N; Tue, 02 Sep 2025 11:06:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756811218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wcr5P8i6ohyoJ2vBZhF06yK/QZ/ifD/aQxw58ii7V+k=; b=GRP/C9Xl0xV3tB0jfAUwUUJ3M8eEsQTJ4wXeWfWEwXOpO9Zw1zI8w60g3BbyAiSsUGXWsL KPjPsI1B1fhPR9+btEk6zUPfRSQHMWIxelRyJP+gf0VMvMMf+avJl69G1cVbKkRNNPWeuN eczNpTvEnOH5Es3qIC/Q1Pbuf3yW8nYSv0xnE1L+iUUwzfykgDMAOIwKTpGASr4JCAfpJm Cefml+X70OZ3NWkHdFb/SF3j7y1wyiIQIjXhMF3pKPr/2SxGmoCa+lVcji6VLIV+uflj6e XjBu0kf9CNsV2csmSp0d/pc/JGG9Vh7uNqnlklEp4qy0mxoVc2WiAmtdFvvQQw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756811218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wcr5P8i6ohyoJ2vBZhF06yK/QZ/ifD/aQxw58ii7V+k=; b=Ms4Q3Z/ftnkmo/n3zGRaN8yDNseEf1YyGpWD493HyrVcKenmqHSOIQAaS6BLF0KxnKM7uQ +q9lYzBxJ8CgDl4Tb/F9kb8Nw06VTtkbt4hl60voeEakGc+JTVFSj37GhjTEkiHwOuz7Hs rRcrn5KiHE8DWoYgyBN4jvbZIDeXsX3Z0wQv705KinlZudOGOxH+csQPQsDubkyINiot7F vtxjpVeJkMDvcxKuWf+0NBQhlzJofBerbmmRdR0uTDqU59cBC+sWULrhdy1cs/Z2dFe4w2 wuW4kZuaRyYAwoCcjahAimEPl4UWZNG3qDm16cg3Fo59acxxZXXDJpbS3/J1Tw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756811218; a=rsa-sha256; cv=none; b=q1YtvV3h3QgtpA+0krzGvpZMkY1RWxqaaXusp291bho/dTDJMpcUNOBPiFQyaRJUhVbBJi 13DavPIFaLSChOwvB4Qzj65V7Ngq4LOWXzcgC6ARBrsTqWgwjeddIoi6uB7QfVhJNg9onS sJrfM2btHVbTmQMXlXrKQJwcv8HEs9CkvBAIiQvJOjLW+o5iCsTSJMoZYV3s9bdeuHYXgc Jo+rvwlJ89lq4XnLPq6RS+4YWVCTekr4n/c3yLfY2ixF/6gMNDm4fiUo2MK35QgBor9cWc 2A1pDfLvE335WDGnN4UB9rXp+nolUz2jfKA3T0NQeJ9C8KLQgfLwry5s1iwEeQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGNH56sgtzkmS; Tue, 02 Sep 2025 11:06: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 582B6vht085651; Tue, 2 Sep 2025 11:06:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582B6vf1085648; Tue, 2 Sep 2025 11:06:57 GMT (envelope-from git) Date: Tue, 2 Sep 2025 11:06:57 GMT Message-Id: <202509021106.582B6vf1085648@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: 0533923acf22 - main - LinuxKPI: 802.11: use IEEE80211_FEXT_AMPDU_OFFLOAD List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0533923acf22d4f308590b651aacd17441f4a9b8 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=0533923acf22d4f308590b651aacd17441f4a9b8 commit 0533923acf22d4f308590b651aacd17441f4a9b8 Author: Bjoern A. Zeeb AuthorDate: 2025-04-14 18:27:28 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-02 11:04:28 +0000 LinuxKPI: 802.11: use IEEE80211_FEXT_AMPDU_OFFLOAD Set IEEE80211_FEXT_AMPDU_OFFLOAD if the driver/firmware does AMPDU[-TX] offload and net80211 should stay out of the way. Later use IEEE80211_CONF_AMPDU_OFFLOAD() (the IEEE80211_FEXT_AMPDU_OFFLOAD net80211 flag) rather than the LinuxKPI check to clear AMPDU-RX if we do not support crypto offload. This may seem odd at first as AMPDU-RX is mandatory but we would not be able to get anything working if we would let net80211 do a (*ic_ampdu_rx_start)() call. Some of this is neccessary until we have the code for all drivers (rtw8x use further interfaces) sorted. Sponsored by: The FreeBSD Foundation (originally) MFC after: 3 days Fixes: ac2c7271b7c26 --- sys/compat/linuxkpi/common/src/linux_80211.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 87390145a296..4cf9053f053b 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -4059,13 +4059,9 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], * Modern chipset/fw/drv will do A-MPDU in drv/fw and fail * to do so if they cannot do the crypto too. */ - if (!lkpi_hwcrypto && ieee80211_hw_check(hw, AMPDU_AGGREGATION)) + if (!lkpi_hwcrypto && IEEE80211_CONF_AMPDU_OFFLOAD(ic)) vap->iv_flags_ht &= ~IEEE80211_FHT_AMPDU_RX; #endif -#if defined(LKPI_80211_HT) - /* 20250125-BZ Keep A-MPDU TX cleared until we sorted out AddBA for all drivers. */ - vap->iv_flags_ht &= ~IEEE80211_FHT_AMPDU_TX; -#endif if (hw->max_listen_interval == 0) hw->max_listen_interval = 7 * (ic->ic_lintval / ic->ic_bintval); @@ -6609,6 +6605,14 @@ linuxkpi_ieee80211_ifattach(struct ieee80211_hw *hw) if (ieee80211_hw_check(hw, SUPPORTS_TX_FRAG)) ic->ic_flags_ext |= IEEE80211_FEXT_FRAG_OFFLOAD; + /* Does HW support full AMPDU[-TX] offload? */ + if (ieee80211_hw_check(hw, AMPDU_AGGREGATION)) + ic->ic_flags_ext |= IEEE80211_FEXT_AMPDU_OFFLOAD; +#ifdef __notyet__ + if (ieee80211_hw_check(hw, TX_AMSDU)) + if (ieee80211_hw_check(hw, SUPPORTS_AMSDU_IN_AMPDU)) +#endif + /* * The wiphy variables report bitmasks of avail antennas. * (*get_antenna) get the current bitmask sets which can be From nobody Tue Sep 2 11:06:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGNH71Rg2z66WFY; Tue, 02 Sep 2025 11:06: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGNH701BJz3L70; Tue, 02 Sep 2025 11:06:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756811219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ajVMeI8UrYEHCgtZjzfD5Q8DizQt6U4hPPiBshB6lE8=; b=Ahjz4muwt9oumySEsd6mQ+FxTyM4z1Bk85d6qfATuTwPmT9xiu9km5LZKgT2OdhhsCitJL 8lyEPm9qi0b6BvjSZ5KvTZmCNHBflmNGigkfY1f3WdIjtS2YMx8k1i2rLixtb9Sr1E1fEQ Yn1fJk8kfCt+390NXyljQ7AK4hhbK/Djj8AqORZRTYG50GMBrcFd6bvRm57EOPFrlI3X1Z lkDUJzj+MUj8VOmAPCAIqLAjZsWSzaXXcB/biw3rEnl93xKMkSyN9MRLobe0QEHGACbwTC TX0sIavAWj5cQFnR22eKV0cjgedoT+A/sSGiB9pYot+R2oQ2R4rSCeZWuaZalA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756811219; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ajVMeI8UrYEHCgtZjzfD5Q8DizQt6U4hPPiBshB6lE8=; b=apjmnYJ6ggHFF/msSzHVkk8Rzc+laCpWWqiYqynJSjo0fRZBrGNEL7a47N6MXfFYaFlu6L mE+blcFxp21RFRhgkYFzdu5vSS2LaSyzLbhx4tuyHCunr7MeZgQNJzS+0efqv57vlEh58Z xYs65vdldIpwT/HXOFyLjhK4qKyZp0d2qHeFH8ChjO1eMwq82jFYWIOAN1XZu7hx0eaivz +cyhzXnT8dSqlIzXKSHPiVBxl9YhK73VQ8mmMCHfOcxig6ax6T1ndDZ5bJaopkeKP6lgZy pUrHd/SHGN3jImzjPgDqqDMHE3jrSVI/dodoEPE8MWCAeOuAX60qr8deyy6YhQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756811219; a=rsa-sha256; cv=none; b=U7/OryzwAKPaG4RNu5fhGAzGrn6tlOgiVjNzDaKg3IDHB5AIV7aJp7efR9IX/nXBRPyw/J SWt4By/JAdOf1cD0nw3a1cGr+dj3i+ycuXJsJpwqz1HPBQPphemsPfLED54F7PuZBxPrpX mjggdP3WilqRfMw7ZRs0ojdMXQb9L/bqilpvQ4cHRJzmxRf4QWO1/+oceb12hs0NBDp+rM 4aCnMkm++Tq8ioW0kiKb52rqhuZpb6xoZ9HoErjlstEwFE8tfaqEHzGpy4KQZtaslEROo2 RZpsH3iFXDxjmaDZGNzOr4twP+0rIKxyamfPG0Ge9gvK4OsLKVmkgcPo+ANLSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGNH66k5vzkpK; Tue, 02 Sep 2025 11:06: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 582B6wSr085694; Tue, 2 Sep 2025 11:06:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582B6wxr085691; Tue, 2 Sep 2025 11:06:58 GMT (envelope-from git) Date: Tue, 2 Sep 2025 11:06:58 GMT Message-Id: <202509021106.582B6wxr085691@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: 8b86235ddd42 - main - LinuxKPI: 802.11: only change dtim_period once assoc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8b86235ddd42645b385458b7af6f42de683b6316 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=8b86235ddd42645b385458b7af6f42de683b6316 commit 8b86235ddd42645b385458b7af6f42de683b6316 Author: Bjoern A. Zeeb AuthorDate: 2025-09-02 07:11:08 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-02 11:04:29 +0000 LinuxKPI: 802.11: only change dtim_period once assoc At least iwlwifi(4) seems to expect us to be assoc when seeing BSS_CHANGED_BEACON_INFO as it will stop session protection and update the beacon filter amongst other things. Check for the vif to be assoc before applying any dtim_period updates. See comment for more details on the entire flow. MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 4cf9053f053b..6c838df28ff6 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1890,7 +1890,25 @@ lkpi_update_dtim_tsf(struct ieee80211_vif *vif, struct ieee80211_node *ni, vif->bss_conf.beacon_int = 16; bss_changed |= BSS_CHANGED_BEACON_INT; } - if (vif->bss_conf.dtim_period != ni->ni_dtim_period && + + /* + * lkpi_iv_sta_recv_mgmt() will directly call into this function. + * iwlwifi(4) in iwl_mvm_bss_info_changed_station_common() will + * stop seesion protection the moment it sees + * BSS_CHANGED_BEACON_INFO (with the expectations that it was + * "a beacon from the associated AP"). It will also update + * the beacon filter in that case. This is the only place + * we set the BSS_CHANGED_BEACON_INFO on the non-teardown + * path so make sure we only do run this check once we are + * assoc. (*iv_recv_mgmt)() will be called before we enter + * here so the ni will be updates with information from the + * beacon via net80211::sta_recv_mgmt(). We also need to + * make sure we do not do it on every beacon we still may + * get so only do if something changed. vif->bss_conf.dtim_period + * should be 0 as we start up (we also reset it on teardown). + */ + if (vif->cfg.assoc && + vif->bss_conf.dtim_period != ni->ni_dtim_period && ni->ni_dtim_period > 0) { vif->bss_conf.dtim_period = ni->ni_dtim_period; bss_changed |= BSS_CHANGED_BEACON_INFO; From nobody Tue Sep 2 11:06:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGNH85Gbpz66WWy; Tue, 02 Sep 2025 11:07:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGNH83Y9Fz3LLc; Tue, 02 Sep 2025 11:07:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756811220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wTDXbs5Ef4PMKqk6bBzWzRTaC4rRU6txTMIkTRv/irM=; b=tdY2oHoHVeSnXq6hvbTKhvEUwZMHxfOo/XR4w2rwGr1pySozg3FsmrRnuE5PyBqDdtUF06 2mN8krxSUHqcmdoFMk2rlXe+G6lay9NBV6f2rBkSsirXeex0ODRuPH+lzK0DGHROAFW7Cv mdhmaR73PCnH+OqI3wmuYc8sBNTqGRVspkL+fhdMbsoo447cRK00i2UMdswPfKAT3+zqMo NSu+o60ApgIomt+HGZ/onbq1Ny1Mml4qOF8tK0L00zat2fm5mO974o51v/h3uvcS2vKTUq p4pGl3F4TUGOHc+cx1cqR7hEFoNPXuFGnlEh8HXRf/YgNsmAWZ3UPQuPIJbhxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756811220; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wTDXbs5Ef4PMKqk6bBzWzRTaC4rRU6txTMIkTRv/irM=; b=pzOu1RWTib4r3UoqsoWQKWHywiHlcfNESRrspDgnkkRWTxeIyVMYYqH1nxqpPQZr78fHaZ HjlXk8EKMPzHYDSG7lwKMNAnl13CNVoVtfSwiXby0DmtUJs0WJa0tuzVbTj9z5FEUKM9df zxdOj16TuOxlhuCrxS5XrUF+eMIJPd8xEZCIaDUIeUWoOdrx37lgxCkhcIl3YLWYwbjz94 hS4VAzep9Z5HtHSi/nmoKhhG4A9F1BWlznMJvxL9etsdVwTUXeNWx4YhDNR+yjVeVS8zZn c5NZAyf2K8MR4j2Nl4pdIsPN7TAk5gI43z3QN94YvV3m48BFSy+jDONVK4kBUQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756811220; a=rsa-sha256; cv=none; b=Lrgm++pvdVAz8llld52IFkipxezctqsMKvyB/MNL1aas+QTPn6NYLAA3t7G8IDhQrg5HM8 TA8lM1SPAGdQfF7XHO1GkYH6D2GTCzz/BeC3IGMtWMArxSY58XX3xsNJZYF4+p+0Xgb7CE GtAUP+Sz/t2AX1KEcwZBRQjSy5YZ0F7yevdloySJVer1TK7iOTTIBqPJYifwBuM4vwmu91 bLPByztdlpf4YyziWjMEFXhM5O6dv3hE9D/BpEJa7ZJ7YNAnackmEWC0mxplpuEvaUEALO PSV5A2aEP5lVVEhMWAZUirIJPqhQmmf7+ejCqbbuP1NVhiOxL5uAIeMdWrZWQA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGNH80PJHzkcp; Tue, 02 Sep 2025 11:07:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 582B6xAc085737; Tue, 2 Sep 2025 11:06:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582B6xbS085734; Tue, 2 Sep 2025 11:06:59 GMT (envelope-from git) Date: Tue, 2 Sep 2025 11:06:59 GMT Message-Id: <202509021106.582B6xbS085734@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: 00c9ebbbc653 - main - LinuxKPI: 802.11: counting beacons for debug only when assoc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 00c9ebbbc6533bd0b23e374a59e91345bb26d3dc Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=00c9ebbbc6533bd0b23e374a59e91345bb26d3dc commit 00c9ebbbc6533bd0b23e374a59e91345bb26d3dc Author: Bjoern A. Zeeb AuthorDate: 2025-09-02 08:20:11 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-02 11:04:29 +0000 LinuxKPI: 802.11: counting beacons for debug only when assoc Simplify the logic and only count beacons when we are assoc, given we only do this for debugging purposes of beacon/connection loss. Fixes: bdfe17f129db0 MFC after: 3 days --- sys/compat/linuxkpi/common/src/linux_80211.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 6c838df28ff6..f0881773726f 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -3828,6 +3828,7 @@ lkpi_iv_sta_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, enum ieee80211_bss_changed bss_changed; lvif = VAP_TO_LVIF(ni->ni_vap); + vif = LVIF_TO_VIF(lvif); lvif->iv_recv_mgmt(ni, m0, subtype, rxs, rssi, nf); @@ -3835,13 +3836,18 @@ lkpi_iv_sta_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, case IEEE80211_FC0_SUBTYPE_PROBE_RESP: break; case IEEE80211_FC0_SUBTYPE_BEACON: - lvif->beacons++; + /* + * Only count beacons when assoc. SCAN has its own logging. + * This is for connection/beacon loss/session protection almost + * over debugging when trying to get into a stable RUN state. + */ + if (vif->cfg.assoc) + lvif->beacons++; break; default: return; } - vif = LVIF_TO_VIF(lvif); lhw = ni->ni_ic->ic_softc; hw = LHW_TO_HW(lhw); From nobody Tue Sep 2 11:38:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGNzk0z4qz66Z4k; Tue, 02 Sep 2025 11:38:42 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E6" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGNzj5CnNz3Nqs; Tue, 02 Sep 2025 11:38:41 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Authentication-Results: mx1.freebsd.org; none Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id E1879A64805; Tue, 02 Sep 2025 11:38:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zabbadoz.net; s=20240622; t=1756813100; bh=ycXkdHgzMln8dSPs+Dzryru5XHIx9at3/C3r6sfBfUM=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=PASvBklVELuYOZTb2cGvgVuBFJUhXpPgIbYJbyPJRaMrZJL9/Nkwbh2CGQpubQHgW OHJztU5HYnmspzVkBkpAHZRDmZ1kX06F8LBrkcvNlvjeGaoZntCTgX2VXDsik2w+9o kD+PGaY+8pciFY0MbaQb/9AEEZ/2dkcEMP9dF3N7RO6ud97u0EfsSdR+kT4hlRFffi 7f674Tslu6cVzcG+ae8BfTcNl40678Ddl/V9+oXqsBOUG9zf6GGjoyqwGkDHVU8Ks3 5SKmahNDRFTIBITGBLRvo09PemOoiuBNfRUe0o2frBwPlPGuozYtCuwa2cvAm0v0EQ 9mvpRDyboVTUttDK/xF3/ppSIYXCoTPNUH4OP4RSH2EpeqYv8HDGE1qiu2ErqJ7rnk aw43Kwj7NiO+wuggyg6+R6Zoxkx6tFm2EKsVtH9Oyau44Q2D3jti1z496uT1bxH5OB EZJ5zO3+hIbAC1xHiQDdcI42FWUks0/MsU11lfaOUf4CxeDR1DyLsr6qbJRit3PC5f yxObH9wfjLenJQnSJkPsiSL6ikhy6mKnudamY2+o58Eh02tyNBvTkTFy3LMNBoXugc jB2b9/oeGLy1WSj1QOiqhnFKlZXulyt8zMuiVyxxf1LKkuHdBUFyvgw62x36JA53ia j9ABMGOHnkwvuQ7NR2/FGEQY= Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 313982D029E3; Tue, 2 Sep 2025 11:38:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id JpwwT53b-9cu; Tue, 2 Sep 2025 11:38:27 +0000 (UTC) Received: from strong-iwl0.sbone.de (strong-iwl0.sbone.de [IPv6:fde9:577b:c1a9:4902:a66b:b6ff:fe40:39a9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id E737E2D029D8; Tue, 2 Sep 2025 11:38:26 +0000 (UTC) Date: Tue, 2 Sep 2025 11:38:25 +0000 (UTC) From: "Bjoern A. Zeeb" To: Lexi Winter cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: aa730a66bc74 - main - sh: Add config tag to /.profile In-Reply-To: <202509020831.5828V5wg092563@gitrepo.freebsd.org> Message-ID: <5p49s627-11ps-53ns-s327-550s12o38q96@yvfgf.mnoonqbm.arg> References: <202509020831.5828V5wg092563@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:3320, ipnet:2003::/19, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cGNzj5CnNz3Nqs On Tue, 2 Sep 2025, Lexi Winter wrote: > The branch main has been updated by ivy: > > URL: https://cgit.FreeBSD.org/src/commit/?id=aa730a66bc74696df85b21ec2719c75d8eab8c9f > > commit aa730a66bc74696df85b21ec2719c75d8eab8c9f > Author: Lexi Winter > AuthorDate: 2025-09-02 08:22:56 +0000 > Commit: Lexi Winter > CommitDate: 2025-09-02 08:22:56 +0000 > > sh: Add config tag to /.profile > > The file /.profile is installed as a hard link to /root/.profile. The > file in /root has the config tag, but the file in / does not, which > causes it to be overwritten by pkg upgrade. Since they're linked, this > also overwrites the file in /root. > > Add the config tag to the file in / as well, so pkg treates both links > as config files and won't overwrite them. > > PR: 289097 > MFC after: 3 days > Reviewed by: bapt, emaste > Differential Revision: https://reviews.freebsd.org/D52162 make distribution ... I assume... now fails: ... ===> bin/rm (installconfig) ===> bin/rmdir (installconfig) ===> bin/setfacl (installconfig) ===> bin/sh (installconfig) install: target directory `/dest/foo/.profile' does not exist usage: install [-bCcpSsUv] [-f flags] [-g group] [-m mode] [-o owner] [-M log] [-D dest] [-h hash] [-T tags] [-B suffix] [-l linkflags] [-N dbdir] file1 file2 install [-bCcpSsUv] [-f flags] [-g group] [-m mode] [-o owner] [-M log] [-D dest] [-h hash] [-T tags] [-B suffix] [-l linkflags] [-N dbdir] file1 ... fileN directory install -dU [-vU] [-g group] [-m mode] [-N dbdir] [-o owner] [-M log] [-D dest] [-h hash] [-T tags] directory ... *** Error code 64 Stop. make[4]: stopped making "installconfig" in /usr/usr/bin/sh > --- > bin/sh/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/bin/sh/Makefile b/bin/sh/Makefile > index 087dbf40c3bd..4dbbf344bfb5 100644 > --- a/bin/sh/Makefile > +++ b/bin/sh/Makefile > @@ -74,6 +74,6 @@ beforeinstallconfig: > > LINKMODE=${CONFMODE} > afterinstallconfig: > - ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}/root/.profile ${DESTDIR}/.profile > + ${INSTALL_LINK} ${TAG_ARGS},config ${DESTDIR}/root/.profile ${DESTDIR}/.profile > > .include > -- Bjoern A. Zeeb r15:7 From nobody Tue Sep 2 11:41:56 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGP3Y0RPXz66ZHj; Tue, 02 Sep 2025 11:42:01 +0000 (UTC) (envelope-from ivy@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGP3X6xL4z3Pfw; Tue, 02 Sep 2025 11:42:00 +0000 (UTC) (envelope-from ivy@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756813321; 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=glkAgm4rUMe4jcg64N4ubOC0o5MPE8MbR1P2MgYI4lA=; b=aSbtUSMtphXFXFyKOWwTDo7Tcs3milncSZBYl3zddBvrAHz0LN5UaQ0LIb/+0oglSSIcxq SRQwVGJif43DnO0pf8exx7k1tOmez4tQZgdcXJxfp7iWL//ZtjtsDvsPvfviGQ62wfkBXr oRzE8ezdOKMPoN6DDtkIO7W+RfqR8SgiWBbQvXdmizkyAql6PZRPVUYyC148DspQ6YRgqJ 0frB+5tFW95+Ha+EjZdVY521FWFsvvZ2HTPIZjaggFSsXccl2TiYFeeKWEZROLX6C5PqGc IvTwT2gua45gPQAIbLIMgH7wyABLMfEQWyLM4HIDFqY2zC6wWa6XffqkAsiuqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756813321; 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=glkAgm4rUMe4jcg64N4ubOC0o5MPE8MbR1P2MgYI4lA=; b=NhIwwSpPwg3cVCr2exdDDcWM7HO1BSyhgy4aslz0cFMnv8QDG54kqxIVkfMeT833q+kn4e OdsNOdGbxmrihZPNFwUTWwQ9BzEbWidyNdOC8lzO3u6DX9/rb4xGwBEdRk6svgJ/lOzYST hwSHFCEK7iiaTiPov83wb81j+WDeUnseaKzCYsdeAP14QB3mdavAdIp3EMZOx0fUVGr1Di Aw7+ygH+8EuLYEl6dEQqh2pbTyOqfTv4ED6eT79TgMbT3u79W8CjTIVHgXIEVaMnxwTvI1 iIlOr5VY46S8VJYerpzJ8bQWW4WgIHYp82ClwRh/l7J2TXQ16U097AhhgKgC3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756813321; a=rsa-sha256; cv=none; b=PcsroAiXyS3nvCznraFDfI3pmqIzZlQKiyDIJ3lohi2szjSXG5nkuYauTxWoDvmGSEIX2o IOmT6tWHJmjYdDOhUYF+FVC32koOA73SJyUec9wLFKVe27ZDqhhy6irRYcOVe0SAPEO6FQ qkJIaKaIacDTHgH6rFfiZkAwsdjU/ew1G9gtC/ccZFmnznd+qua9g574Y734JKXMTNHbdA hd3AhQf/TnXr0BBX11wfkY0iWtW3nZC+j5ClGb1xq8d1YRs5BJyyIZ+dk4TXbgzZoyHk/a lYduuu+jfPFueKk7kwu/d8tG8L+SYBCXvhtDcVuQmjn7VZ318yu+lZSYs7KIpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from amaryllis.le-fay.org (amaryllis.le-fay.org [IPv6:2a00:1098:6b:400::9]) (using TLSv1.3 with cipher TLS_AES_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: ivy/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cGP3X35BwzKmc; Tue, 02 Sep 2025 11:42:00 +0000 (UTC) (envelope-from ivy@freebsd.org) Date: Tue, 2 Sep 2025 12:41:56 +0100 From: Lexi Winter To: "Bjoern A. Zeeb" Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: aa730a66bc74 - main - sh: Add config tag to /.profile Message-ID: Mail-Followup-To: "Bjoern A. Zeeb" , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202509020831.5828V5wg092563@gitrepo.freebsd.org> <5p49s627-11ps-53ns-s327-550s12o38q96@yvfgf.mnoonqbm.arg> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="eVptfQaFyahLWySG" Content-Disposition: inline In-Reply-To: <5p49s627-11ps-53ns-s327-550s12o38q96@yvfgf.mnoonqbm.arg> --eVptfQaFyahLWySG Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Bjoern A. Zeeb: > On Tue, 2 Sep 2025, Lexi Winter wrote: > > sh: Add config tag to /.profile >=20 > make distribution ... I assume... now fails: sorry about that, i should have a fix shortly. --eVptfQaFyahLWySG Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCaLbYAQAKCRD1nT63mIK/ YIOgAQD9/EjAZcC4bd1srI4eLLFZvRzDZHM9pJDa2Fzd9FjdgAEAz76F2Zgn66zW HhHvwnJW7hyRxhcYidwwXg6PPVvcnw4= =hTQe -----END PGP SIGNATURE----- --eVptfQaFyahLWySG-- From nobody Tue Sep 2 11:43:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGP5D0rgFz66ZFZ; Tue, 02 Sep 2025 11:43:28 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E6" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGP5B68Jtz3QJD; Tue, 02 Sep 2025 11:43:26 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=zabbadoz.net header.s=20240622 header.b=XpyNHLR0; dmarc=pass (policy=none) header.from=zabbadoz.net; spf=pass (mx1.freebsd.org: domain of bzeeb-lists@lists.zabbadoz.net designates 2003:a:140a:2200:6:594:fffe:19 as permitted sender) smtp.mailfrom=bzeeb-lists@lists.zabbadoz.net Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id 6AF84A64806; Tue, 02 Sep 2025 11:43:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zabbadoz.net; s=20240622; t=1756813397; bh=vRON47Z2YM76gK2CQrzDHvAkYrDzOTPSbBdQVIkUiRE=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=XpyNHLR0aKXm2yyNOMhWKLzHYTn6WpiePPrWIQ/MCcADF7iuRaLTRuwQ5vPiLLEcp DbKEeOhKePGYDYa1ZEAIDWmxyOE/z+W3y2En7hH/MU3DZpd7SREbdwSAbJ7sz4zSJs ZRCeZ806p7yA62yBPo3fdzQ68JkY9sFtlesmiwfeCVpYBU4GW0kKWgKSve83+7a6+h u594IDGVI0YVlnGHwL0DDl8zlqLkC8/n+yQCJujAU8817OBcy7US0R5cDKo4zrXL2N NpcLX0b8FQlpVhmiDwj13m9/YgEDgp0+Vz46ldtoP7jpwZFgQ7Iv9SvJb+BZI9YjPW tZRqREBBnh+CgaV1g3Ar1DSvEvfOKymqsbMnva54gcsu73rQm4jBqQ9PSfhOpktXmK /0NDv5D0j1X1y6hfl8dWxn7oVm5bYTfLj6Pe64bsXr72MlZN+OuW0gj2hu178aI8OJ f53I5E/scKlmz4IBJiy7yYjE+Qb9Mwd/B2IN8L21dhO8R7IVkglo/HtJ81n9x3vxu1 NOnehUGRYHnOdsDi9zFeyOgyqV+se8FlRtkZKAf3hulT1EcEDNxvMB5rTLykJ5ShU7 aIEvlZrg8P1he+QJc7G4x6/c4ZWTxs7MHegm+UwQklHtqsDF8KkwiAGTQBFDCEB92a SZRTHoFuqlrDIrHsWtuvaXwU= Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id DBD382D029D8; Tue, 2 Sep 2025 11:43:24 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id ygk05IbVJkUi; Tue, 2 Sep 2025 11:43:23 +0000 (UTC) Received: from strong-iwl0.sbone.de (strong-iwl0.sbone.de [IPv6:fde9:577b:c1a9:4902:a66b:b6ff:fe40:39a9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id EB1972D029E3; Tue, 2 Sep 2025 11:43:23 +0000 (UTC) Date: Tue, 2 Sep 2025 11:43:23 +0000 (UTC) From: "Bjoern A. Zeeb" To: Lexi Winter cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: aa730a66bc74 - main - sh: Add config tag to /.profile In-Reply-To: <5p49s627-11ps-53ns-s327-550s12o38q96@yvfgf.mnoonqbm.arg> Message-ID: <9po4s20n-24sp-39s0-4s5r-r3o35229p739@yvfgf.mnoonqbm.arg> References: <202509020831.5828V5wg092563@gitrepo.freebsd.org> <5p49s627-11ps-53ns-s327-550s12o38q96@yvfgf.mnoonqbm.arg> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Spamd-Bar: --- X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.998]; DMARC_POLICY_ALLOW(-0.50)[zabbadoz.net,none]; R_DKIM_ALLOW(-0.20)[zabbadoz.net:s=20240622]; R_SPF_ALLOW(-0.20)[+ip6:2003:a:140a:2200:6:594:fffe:19]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MISSING_XM_UA(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:3320, ipnet:2003::/19, country:DE]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org]; DKIM_TRACE(0.00)[zabbadoz.net:+] X-Rspamd-Queue-Id: 4cGP5B68Jtz3QJD On Tue, 2 Sep 2025, Bjoern A. Zeeb wrote: > On Tue, 2 Sep 2025, Lexi Winter wrote: > >> The branch main has been updated by ivy: >> >> URL: >> https://cgit.FreeBSD.org/src/commit/?id=aa730a66bc74696df85b21ec2719c75d8eab8c9f >> >> commit aa730a66bc74696df85b21ec2719c75d8eab8c9f >> Author: Lexi Winter >> AuthorDate: 2025-09-02 08:22:56 +0000 >> Commit: Lexi Winter >> CommitDate: 2025-09-02 08:22:56 +0000 >> >> sh: Add config tag to /.profile >> >> The file /.profile is installed as a hard link to /root/.profile. The >> file in /root has the config tag, but the file in / does not, which >> causes it to be overwritten by pkg upgrade. Since they're linked, this >> also overwrites the file in /root. >> >> Add the config tag to the file in / as well, so pkg treates both links >> as config files and won't overwrite them. >> >> PR: 289097 >> MFC after: 3 days >> Reviewed by: bapt, emaste >> Differential Revision: https://reviews.freebsd.org/D52162 > > > make distribution ... I assume... now fails: > > ... > ===> bin/rm (installconfig) > ===> bin/rmdir (installconfig) > ===> bin/setfacl (installconfig) > ===> bin/sh (installconfig) > install: target directory `/dest/foo/.profile' does not exist > usage: install [-bCcpSsUv] [-f flags] [-g group] [-m mode] [-o owner] > [-M log] [-D dest] [-h hash] [-T tags] > [-B suffix] [-l linkflags] [-N dbdir] > file1 file2 > install [-bCcpSsUv] [-f flags] [-g group] [-m mode] [-o owner] > [-M log] [-D dest] [-h hash] [-T tags] > [-B suffix] [-l linkflags] [-N dbdir] > file1 ... fileN directory > install -dU [-vU] [-g group] [-m mode] [-N dbdir] [-o owner] > [-M log] [-D dest] [-h hash] [-T tags] > directory ... > *** Error code 64 > > Stop. > make[4]: stopped making "installconfig" in /usr/usr/bin/sh re-run make without -s and it simply showed ,config; I think you need: diff --git bin/sh/Makefile bin/sh/Makefile index 4dbbf344bfb5..916bb88b57fa 100644 --- bin/sh/Makefile +++ bin/sh/Makefile @@ -74,6 +74,6 @@ beforeinstallconfig: LINKMODE=${CONFMODE} afterinstallconfig: - ${INSTALL_LINK} ${TAG_ARGS},config ${DESTDIR}/root/.profile ${DESTDIR}/.profile + ${INSTALL_LINK} ${TAG_ARGS:D${TAG_ARGS},config} ${DESTDIR}/root/.profile ${DESTDIR}/.profile .include > >> --- >> bin/sh/Makefile | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/bin/sh/Makefile b/bin/sh/Makefile >> index 087dbf40c3bd..4dbbf344bfb5 100644 >> --- a/bin/sh/Makefile >> +++ b/bin/sh/Makefile >> @@ -74,6 +74,6 @@ beforeinstallconfig: >> >> LINKMODE=${CONFMODE} >> afterinstallconfig: >> - ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}/root/.profile >> ${DESTDIR}/.profile >> + ${INSTALL_LINK} ${TAG_ARGS},config ${DESTDIR}/root/.profile >> ${DESTDIR}/.profile >> >> .include >> > > -- Bjoern A. Zeeb r15:7 From nobody Tue Sep 2 12:06:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGPc320Zdz66cCm; Tue, 02 Sep 2025 12:06:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGPc31Vm9z3RXl; Tue, 02 Sep 2025 12:06:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756814803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CP4NBbfqn6g1Bzo1j2FtloJPjTOFMi/CGHUPOkiLvMk=; b=ERBcYfGP+jz6iX3CfJHfgaCw4mlR08QWqV6fO+vOAMAg5DgBnvh4gYuQTuCocJFNbGDTjz Zs8lpu1OwHatUHbBk4xzr/DGzT4931pKvlNIvmzbiafAT+FQEdRxKSgA9b0yAwwXPLe8mY OmRd+KzdwKmMglifYs1GtzPJsW3i4y+0IlfJTlwwJzwwrxaRBgDiy5fwVwYzD/DOc8v682 rZXxTHaHQ/hTDwTcXI54t5aL2pNGoCyy48fVMXVnJb03WYnGag3nkkZYJSSw9yW/bNRqbB da8QemBPwFpCtSz9qg9cm+EeLEB60nNW8Y5Hc3TiVMwhOhFyCSu2n6EowlpmcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756814803; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CP4NBbfqn6g1Bzo1j2FtloJPjTOFMi/CGHUPOkiLvMk=; b=ZZ9ZHxI58edeWHIdi2jB/L3a6l8/rKVKcQWVAP16jgES/YYkNMsW+KJIfZF4iuxVBCFE6h c48iKeEE2hKnKpPPOn1uCFpgKKZnSL7nly8m+aNN20U/llhCYIvFifS9E/7aedJ5iWMRTG ZE7emLKPv2qVe4NbDc1jQ8vFtqcTIteTLr0V2zazPhsohSZRdaK7+0X+VlMDQDEM0kMqD5 5H8+WybRMSywN5xD6jsiaUdEpTT5R1W1Z/ZvYjfIEYqXR6G8mXUkYGBPbpKHDkpVsWNiLi a62omYBLUj8cI3jTJDl9JxIBWiEg31A4hZHdbsDXcHHfxJNcg3uyKRJZA5ffQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756814803; a=rsa-sha256; cv=none; b=XQcANjvnFs2QmXJTUhWIfuTdkRkJtfD9MUSgWVTtocIsnxNs09OaND+E2ZiN2ExmHOAuao cX1V0fIdFdx+FaQ2GrYNC47KsHXMBN7ulMoofQyRs/Rr8rmIZ99naeODYEZzr6aNpoXUOt Y5irKiBAwCvhq3a3KD8YbfmxwZF3MRf6O3/7fYeDSYF7xsZItJEYc00yjhUI7+x9/sf5ks T/FpIbk9Y7ioFqQC48zrsGf7UcqR6JqZjojOnfBmciWWhkRpzp/S/w/HeWU7qn7yMyttaw JP+edJHYn2ACcI3uwLEb7Ukla6QoN9JM3S0p0o5aaRGrZfJjgF+BRYZS5QacXA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGPc311PLzm09; Tue, 02 Sep 2025 12:06: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 582C6hUX098040; Tue, 2 Sep 2025 12:06:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582C6hAQ098037; Tue, 2 Sep 2025 12:06:43 GMT (envelope-from git) Date: Tue, 2 Sep 2025 12:06:43 GMT Message-Id: <202509021206.582C6hAQ098037@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: b197d2abcb68 - main - sh: Fix non-NO_ROOT installconfig List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b197d2abcb6895d78bc9df8404e374397aa44748 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=b197d2abcb6895d78bc9df8404e374397aa44748 commit b197d2abcb6895d78bc9df8404e374397aa44748 Author: Lexi Winter AuthorDate: 2025-09-02 11:47:36 +0000 Commit: Lexi Winter CommitDate: 2025-09-02 11:47:36 +0000 sh: Fix non-NO_ROOT installconfig When building without NO_ROOT, ${TAG_ARGS} is not set, which means we pass ",config" as an install(1) argument. Only add the config tag if ${TAG_ARGS} is defined to begin with. Fixes: aa730a66bc74 ("sh: Add config tag to /.profile") Reported by: bz --- bin/sh/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/sh/Makefile b/bin/sh/Makefile index 4dbbf344bfb5..916bb88b57fa 100644 --- a/bin/sh/Makefile +++ b/bin/sh/Makefile @@ -74,6 +74,6 @@ beforeinstallconfig: LINKMODE=${CONFMODE} afterinstallconfig: - ${INSTALL_LINK} ${TAG_ARGS},config ${DESTDIR}/root/.profile ${DESTDIR}/.profile + ${INSTALL_LINK} ${TAG_ARGS:D${TAG_ARGS},config} ${DESTDIR}/root/.profile ${DESTDIR}/.profile .include From nobody Tue Sep 2 12:08:40 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGPfM4X2hz66cCq; Tue, 02 Sep 2025 12:08:43 +0000 (UTC) (envelope-from ivy@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGPfM42Tpz3Rqy; Tue, 02 Sep 2025 12:08:43 +0000 (UTC) (envelope-from ivy@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756814923; 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=c91tiuy7g6RJWGEHjIhbr55RzCoGd6UA1tTeSk+uc4Q=; b=Txho4UUCOoQDeZDlB6hM0W4QbwheQ8tg3o1jlfOUuBbi1hj0jmwqgDB5bgBV7/1N4wV7Rt cLLNor388RrovR4r2eFZ2hOdwaOtn6d1oUJuRPqBHAwC5BHlc4kYz6wVWsbmn+adSu8VfI mlq6wWyRVp0N+HRWoGU53WsO9z7B2NBfdYHIWlxlgrXt00bIzvKPpJu7AnD9QIW2ofZJBq efCMDQf9PhJVNw1TvI+LfDhkdARvnWmc+1IEzeU0V6pRPkzUVR+oPftT7fCCF4Q/D6Fl16 ueblZ9ZOyKX4HyIitheD31HLfC8cJIqgY7+a4eIHY7hyPpm3zM9sLkPWvJiCWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756814923; 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=c91tiuy7g6RJWGEHjIhbr55RzCoGd6UA1tTeSk+uc4Q=; b=vTWEVJJqvvfz99AJ2BeyUVjYK6X+rafMSNyO4R2NFZu2MAbJBYqurK3eARqe1yUCXZD2qY AuhtVja6wKG7fPdUmVw/hbOFM9Ev7exkKu97Nlaa/iWjiEFMcyE/erIFyy0TEiw0N8uA8D 5GVWh8zhbzC80CVH/FHpD9KlEFtFNfBaDlOTeG6AjRFnNB8MGEsIqLLCkSlksSiZkDzG8v kT2UqEyBQ1jXXy5ods0zK/YGJX5xcRou1NDT1IpuRM6K20YHfkP6WHrm/6wo4p42cMm1vM 7QKPmi+RISf+gWpCBtmG2hdAh1V+UIq1mWLBeC1A7MehQv6x8YZKtNmNJBl9BQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756814923; a=rsa-sha256; cv=none; b=x+wndJUDqLKjZ3Ig4axNHv6NxADTkxv9jMMU056gWsM1d1Ho10xqJqR2cEztVhnEQqDuAa 5cdbNTCfQSJr+mtSBKE918aqJbteFfJRpxJm68waAxDr3+OaPdpqMu85I2s0y0vaUJftj2 a6FqmvCn0J5pxV1ij3xMFADz9OqNzvNk+F2QY1yNFFH1RyoXgQfKB7NJnHiK0ORa0ZF0VC N9UXNDBvY7+IZoKab8isOaLkqsBIM/RzgoOVtYSRa/gJROYkogxSvj47B1XIww3pz2STGd DgSbecGkkeen0L2roCoMZm7hrQt4yN6/C0iaPWM6eKqGrj8KWXgWpU9E6QD5pw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from amaryllis.le-fay.org (amaryllis.le-fay.org [IPv6:2a00:1098:6b:400::9]) (using TLSv1.3 with cipher TLS_AES_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: ivy/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cGPfM0GRGzLQM; Tue, 02 Sep 2025 12:08:42 +0000 (UTC) (envelope-from ivy@freebsd.org) Date: Tue, 2 Sep 2025 13:08:40 +0100 From: Lexi Winter To: "Bjoern A. Zeeb" Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: aa730a66bc74 - main - sh: Add config tag to /.profile Message-ID: Mail-Followup-To: "Bjoern A. Zeeb" , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202509020831.5828V5wg092563@gitrepo.freebsd.org> <5p49s627-11ps-53ns-s327-550s12o38q96@yvfgf.mnoonqbm.arg> <9po4s20n-24sp-39s0-4s5r-r3o35229p739@yvfgf.mnoonqbm.arg> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="vDCdJFDFHS6OfVUE" Content-Disposition: inline In-Reply-To: <9po4s20n-24sp-39s0-4s5r-r3o35229p739@yvfgf.mnoonqbm.arg> --vDCdJFDFHS6OfVUE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Bjoern A. Zeeb: > On Tue, 2 Sep 2025, Bjoern A. Zeeb wrote: > > On Tue, 2 Sep 2025, Lexi Winter wrote: > > > sh: Add config tag to /.profile > > make distribution ... I assume... now fails: >=20 > re-run make without -s and it simply showed ,config this should be fixed in b197d2abcb68. --vDCdJFDFHS6OfVUE Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCaLbeRQAKCRD1nT63mIK/ YBqyAP90eNJ1q/jPnFe1yM+OgT57hSvAhVjoO4muoqLbv3xKWAD+Iwg2fTU4Xfs2 Q777PhIjQhnhbj+NRqdYzZky9hiW6QU= =rXRb -----END PGP SIGNATURE----- --vDCdJFDFHS6OfVUE-- From nobody Tue Sep 2 15:23:45 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGTzQ1CNRz66sjt; Tue, 02 Sep 2025 15:23: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGTzQ0Yb6z3sXc; Tue, 02 Sep 2025 15:23:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756826626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GcmJ5QzJ3YHUPAK5PDCQmjXxSI0FPjfSL2wRBAjMqoM=; b=GxWHUyoNbLVUvcPPeKjXRXqF1o/r30f0Aop39+RINhb+KmVL6y6QtEaYu76bpHpI7njH7w p2iWz84w6WyJrErRf3/2wSRhtV092kylCcgyeogYTHFUQYeleOugPcTgycfT8Uk+75EmKw Ly5zLGmTgWSsZrw6mmJVwp6FcPCrCG1Ls1WoTNiIdzL5ciJ/cWxNLDs4cQ98OTl7GA6R0S o66Dzh036mUPdniDYm955E/dfuYPBRESUBQPTgXlHDlcRj0fsafJsU68N61k4oxHyUjYUR a6BGmhxxKyBZEryUwJjvw4AZy9VeZlNVExIOG7d7/dbgFj7wrVPDuXDHIU0Q3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756826626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GcmJ5QzJ3YHUPAK5PDCQmjXxSI0FPjfSL2wRBAjMqoM=; b=r8+bYRNtJKuFjX6YnpFo4/qBl6KFJ99jEvrn2FSHMp1HVaJyS5eLxBqiTExL7NuOks7dim GpSPXEqVMY86ljsPWosYzaCNEu7W0LXVAMGpbbMRniJ10I05VKWDpqIQI2mVbCfIIXbsKb JBSJCsgx4uRvQWkErwYV653AbI1WesSWhoLNGVr8AbrVOqYTaFmM+Yhq2LKCi58eF1d2WV s1zM6eT9+lnr2ejms9cH6V0Z+7PiiXfViWJlLOCa+UI2tHcKhBB1Fs44x7SmGDoM0ZWThr sr92VNiBbt5wBPvbzUwWEPtVyx5e5XELGFpBCatRW0ykYmiz61kmWsDJTd4lQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756826626; a=rsa-sha256; cv=none; b=Cr0+4e62jNwonIyRHMlZjjBlf9Bm5FbQ7NNJMy7v/kXgVJNFBvqtEtL0i4femJ0mopjVw2 XAlk0h+5AeQgIMKz0N6LwTAis3fR07d11I/jGLTmrPmfbSY8GKwwxj65zqVdEZW1qIkBy7 hu7+fkYK/k6hn1OdzY0gVMaF/+G95K8fcdg2MijYQBZXZwzpCr4bEqoPGzCYJEtgAEQWfE JPlpPmNsYSjn/JhOSRB4y/zeHtoxkLewB/gqALnc1F4SARNRKI8OEYX/HwfbDtTiT5qDMl s3ObIJA0p1dsTloQCCgnzGAPzRM9WheONOdAbERRRsdAIkPjvdUslGzCQwzbFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGTzQ064hzs9h; Tue, 02 Sep 2025 15:23: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 582FNjco074582; Tue, 2 Sep 2025 15:23:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582FNjqa074579; Tue, 2 Sep 2025 15:23:45 GMT (envelope-from git) Date: Tue, 2 Sep 2025 15:23:45 GMT Message-Id: <202509021523.582FNjqa074579@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: 8ebb3de0c9df - main - jemalloc: Remove bogus merge conflict markers List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8ebb3de0c9dfb1a15bf24dcb0ca65cc91e7ad0e8 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8ebb3de0c9dfb1a15bf24dcb0ca65cc91e7ad0e8 commit 8ebb3de0c9dfb1a15bf24dcb0ca65cc91e7ad0e8 Author: Warner Losh AuthorDate: 2025-09-02 15:19:28 +0000 Commit: Warner Losh CommitDate: 2025-09-02 15:22:26 +0000 jemalloc: Remove bogus merge conflict markers The merge markers were added, it seems, in one of my rebases. The HEAD entry is the merged code, as far as I can tell, and is what should be in the base. None of these files are used during the build. Noticed by: jhb Sponsored by: Netflix --- contrib/jemalloc/INSTALL.md | 425 -- contrib/jemalloc/Makefile.in | 627 --- contrib/jemalloc/TUNING.md | 133 - contrib/jemalloc/bin/jeprof.in | 5629 -------------------- contrib/jemalloc/build-aux/config.guess | 1466 ----- contrib/jemalloc/build-aux/config.sub | 1829 ------- contrib/jemalloc/configure.ac | 2410 --------- contrib/jemalloc/doc/jemalloc.xml.in | 3542 ------------ .../jemalloc/internal/jemalloc_internal_defs.h.in | 370 -- .../jemalloc/internal/jemalloc_preamble.h.in | 216 - .../jemalloc/include/jemalloc/internal/tsd_win.h | 143 - .../jemalloc/include/jemalloc/jemalloc_defs.h.in | 52 - .../jemalloc/include/jemalloc/jemalloc_macros.h.in | 133 - .../jemalloc/include/jemalloc/jemalloc_protos.h.in | 70 - contrib/jemalloc/m4/ax_cxx_compile_stdcxx.m4 | 566 -- contrib/jemalloc/scripts/gen_run_tests.py | 130 - contrib/jemalloc/scripts/gen_travis.py | 153 - contrib/jemalloc/src/jemalloc_cpp.cpp | 145 - 18 files changed, 18039 deletions(-) diff --git a/contrib/jemalloc/INSTALL.md b/contrib/jemalloc/INSTALL.md index 9701364041c8..90da718d2b6a 100644 --- a/contrib/jemalloc/INSTALL.md +++ b/contrib/jemalloc/INSTALL.md @@ -1,4 +1,3 @@ -<<<<<<< HEAD Building and installing a packaged release of jemalloc can be as simple as typing the following while in the root directory of the source tree: @@ -423,427 +422,3 @@ can be used to view the html manual. The roff manual page can be formatted prior to installation via the following command: nroff -man -t doc/jemalloc.3 -||||||| dec341af7695 -======= -Building and installing a packaged release of jemalloc can be as simple as -typing the following while in the root directory of the source tree: - - ./configure - make - make install - -If building from unpackaged developer sources, the simplest command sequence -that might work is: - - ./autogen.sh - make dist - make - make install - -Note that documentation is not built by the default target because doing so -would create a dependency on xsltproc in packaged releases, hence the -requirement to either run 'make dist' or avoid installing docs via the various -install_* targets documented below. - - -## Advanced configuration - -The 'configure' script supports numerous options that allow control of which -functionality is enabled, where jemalloc is installed, etc. Optionally, pass -any of the following arguments (not a definitive list) to 'configure': - -* `--help` - - Print a definitive list of options. - -* `--prefix=` - - Set the base directory in which to install. For example: - - ./configure --prefix=/usr/local - - will cause files to be installed into /usr/local/include, /usr/local/lib, - and /usr/local/man. - -* `--with-version=(..--g|VERSION)` - - The VERSION file is mandatory for successful configuration, and the - following steps are taken to assure its presence: - 1) If --with-version=..--g is specified, - generate VERSION using the specified value. - 2) If --with-version is not specified in either form and the source - directory is inside a git repository, try to generate VERSION via 'git - describe' invocations that pattern-match release tags. - 3) If VERSION is missing, generate it with a bogus version: - 0.0.0-0-g0000000000000000000000000000000000000000 - - Note that --with-version=VERSION bypasses (1) and (2), which simplifies - VERSION configuration when embedding a jemalloc release into another - project's git repository. - -* `--with-rpath=` - - Embed one or more library paths, so that libjemalloc can find the libraries - it is linked to. This works only on ELF-based systems. - -* `--with-mangling=` - - Mangle public symbols specified in which is a comma-separated list of - name:mangled pairs. - - For example, to use ld's --wrap option as an alternative method for - overriding libc's malloc implementation, specify something like: - - --with-mangling=malloc:__wrap_malloc,free:__wrap_free[...] - - Note that mangling happens prior to application of the prefix specified by - --with-jemalloc-prefix, and mangled symbols are then ignored when applying - the prefix. - -* `--with-jemalloc-prefix=` - - Prefix all public APIs with . For example, if is - "prefix_", API changes like the following occur: - - malloc() --> prefix_malloc() - malloc_conf --> prefix_malloc_conf - /etc/malloc.conf --> /etc/prefix_malloc.conf - MALLOC_CONF --> PREFIX_MALLOC_CONF - - This makes it possible to use jemalloc at the same time as the system - allocator, or even to use multiple copies of jemalloc simultaneously. - - By default, the prefix is "", except on OS X, where it is "je_". On OS X, - jemalloc overlays the default malloc zone, but makes no attempt to actually - replace the "malloc", "calloc", etc. symbols. - -* `--without-export` - - Don't export public APIs. This can be useful when building jemalloc as a - static library, or to avoid exporting public APIs when using the zone - allocator on OSX. - -* `--with-private-namespace=` - - Prefix all library-private APIs with je_. For shared libraries, - symbol visibility mechanisms prevent these symbols from being exported, but - for static libraries, naming collisions are a real possibility. By - default, is empty, which results in a symbol prefix of je_ . - -* `--with-install-suffix=` - - Append to the base name of all installed files, such that multiple - versions of jemalloc can coexist in the same installation directory. For - example, libjemalloc.so.0 becomes libjemalloc.so.0. - -* `--with-malloc-conf=` - - Embed `` as a run-time options string that is processed prior to - the malloc_conf global variable, the /etc/malloc.conf symlink, and the - MALLOC_CONF environment variable. For example, to change the default decay - time to 30 seconds: - - --with-malloc-conf=decay_ms:30000 - -* `--enable-debug` - - Enable assertions and validation code. This incurs a substantial - performance hit, but is very useful during application development. - -* `--disable-stats` - - Disable statistics gathering functionality. See the "opt.stats_print" - option documentation for usage details. - -* `--enable-prof` - - Enable heap profiling and leak detection functionality. See the "opt.prof" - option documentation for usage details. When enabled, there are several - approaches to backtracing, and the configure script chooses the first one - in the following list that appears to function correctly: - - + libunwind (requires --enable-prof-libunwind) - + libgcc (unless --disable-prof-libgcc) - + gcc intrinsics (unless --disable-prof-gcc) - -* `--enable-prof-libunwind` - - Use the libunwind library (http://www.nongnu.org/libunwind/) for stack - backtracing. - -* `--disable-prof-libgcc` - - Disable the use of libgcc's backtracing functionality. - -* `--disable-prof-gcc` - - Disable the use of gcc intrinsics for backtracing. - -* `--with-static-libunwind=` - - Statically link against the specified libunwind.a rather than dynamically - linking with -lunwind. - -* `--disable-fill` - - Disable support for junk/zero filling of memory. See the "opt.junk" and - "opt.zero" option documentation for usage details. - -* `--disable-zone-allocator` - - Disable zone allocator for Darwin. This means jemalloc won't be hooked as - the default allocator on OSX/iOS. - -* `--enable-utrace` - - Enable utrace(2)-based allocation tracing. This feature is not broadly - portable (FreeBSD has it, but Linux and OS X do not). - -* `--enable-xmalloc` - - Enable support for optional immediate termination due to out-of-memory - errors, as is commonly implemented by "xmalloc" wrapper function for malloc. - See the "opt.xmalloc" option documentation for usage details. - -* `--enable-lazy-lock` - - Enable code that wraps pthread_create() to detect when an application - switches from single-threaded to multi-threaded mode, so that it can avoid - mutex locking/unlocking operations while in single-threaded mode. In - practice, this feature usually has little impact on performance unless - thread-specific caching is disabled. - -* `--disable-cache-oblivious` - - Disable cache-oblivious large allocation alignment for large allocation - requests with no alignment constraints. If this feature is disabled, all - large allocations are page-aligned as an implementation artifact, which can - severely harm CPU cache utilization. However, the cache-oblivious layout - comes at the cost of one extra page per large allocation, which in the - most extreme case increases physical memory usage for the 16 KiB size class - to 20 KiB. - -* `--disable-syscall` - - Disable use of syscall(2) rather than {open,read,write,close}(2). This is - intended as a workaround for systems that place security limitations on - syscall(2). - -* `--disable-cxx` - - Disable C++ integration. This will cause new and delete operator - implementations to be omitted. - -* `--with-xslroot=` - - Specify where to find DocBook XSL stylesheets when building the - documentation. - -* `--with-lg-page=` - - Specify the base 2 log of the allocator page size, which must in turn be at - least as large as the system page size. By default the configure script - determines the host's page size and sets the allocator page size equal to - the system page size, so this option need not be specified unless the - system page size may change between configuration and execution, e.g. when - cross compiling. - -* `--with-lg-hugepage=` - - Specify the base 2 log of the system huge page size. This option is useful - when cross compiling, or when overriding the default for systems that do - not explicitly support huge pages. - -* `--with-lg-quantum=` - - Specify the base 2 log of the minimum allocation alignment. jemalloc needs - to know the minimum alignment that meets the following C standard - requirement (quoted from the April 12, 2011 draft of the C11 standard): - - > The pointer returned if the allocation succeeds is suitably aligned so - that it may be assigned to a pointer to any type of object with a - fundamental alignment requirement and then used to access such an object - or an array of such objects in the space allocated [...] - - This setting is architecture-specific, and although jemalloc includes known - safe values for the most commonly used modern architectures, there is a - wrinkle related to GNU libc (glibc) that may impact your choice of - . On most modern architectures, this mandates 16-byte - alignment (=4), but the glibc developers chose not to meet this - requirement for performance reasons. An old discussion can be found at - . Unlike glibc, - jemalloc does follow the C standard by default (caveat: jemalloc - technically cheats for size classes smaller than the quantum), but the fact - that Linux systems already work around this allocator noncompliance means - that it is generally safe in practice to let jemalloc's minimum alignment - follow glibc's lead. If you specify `--with-lg-quantum=3` during - configuration, jemalloc will provide additional size classes that are not - 16-byte-aligned (24, 40, and 56). - -* `--with-lg-vaddr=` - - Specify the number of significant virtual address bits. By default, the - configure script attempts to detect virtual address size on those platforms - where it knows how, and picks a default otherwise. This option may be - useful when cross-compiling. - -* `--disable-initial-exec-tls` - - Disable the initial-exec TLS model for jemalloc's internal thread-local - storage (on those platforms that support explicit settings). This can allow - jemalloc to be dynamically loaded after program startup (e.g. using dlopen). - Note that in this case, there will be two malloc implementations operating - in the same process, which will almost certainly result in confusing runtime - crashes if pointers leak from one implementation to the other. - -* `--disable-libdl` - - Disable the usage of libdl, namely dlsym(3) which is required by the lazy - lock option. This can allow building static binaries. - -The following environment variables (not a definitive list) impact configure's -behavior: - -* `CFLAGS="?"` -* `CXXFLAGS="?"` - - Pass these flags to the C/C++ compiler. Any flags set by the configure - script are prepended, which means explicitly set flags generally take - precedence. Take care when specifying flags such as -Werror, because - configure tests may be affected in undesirable ways. - -* `EXTRA_CFLAGS="?"` -* `EXTRA_CXXFLAGS="?"` - - Append these flags to CFLAGS/CXXFLAGS, without passing them to the - compiler(s) during configuration. This makes it possible to add flags such - as -Werror, while allowing the configure script to determine what other - flags are appropriate for the specified configuration. - -* `CPPFLAGS="?"` - - Pass these flags to the C preprocessor. Note that CFLAGS is not passed to - 'cpp' when 'configure' is looking for include files, so you must use - CPPFLAGS instead if you need to help 'configure' find header files. - -* `LD_LIBRARY_PATH="?"` - - 'ld' uses this colon-separated list to find libraries. - -* `LDFLAGS="?"` - - Pass these flags when linking. - -* `PATH="?"` - - 'configure' uses this to find programs. - -In some cases it may be necessary to work around configuration results that do -not match reality. For example, Linux 4.5 added support for the MADV_FREE flag -to madvise(2), which can cause problems if building on a host with MADV_FREE -support and deploying to a target without. To work around this, use a cache -file to override the relevant configuration variable defined in configure.ac, -e.g.: - - echo "je_cv_madv_free=no" > config.cache && ./configure -C - - -## Advanced compilation - -To build only parts of jemalloc, use the following targets: - - build_lib_shared - build_lib_static - build_lib - build_doc_html - build_doc_man - build_doc - -To install only parts of jemalloc, use the following targets: - - install_bin - install_include - install_lib_shared - install_lib_static - install_lib_pc - install_lib - install_doc_html - install_doc_man - install_doc - -To clean up build results to varying degrees, use the following make targets: - - clean - distclean - relclean - - -## Advanced installation - -Optionally, define make variables when invoking make, including (not -exclusively): - -* `INCLUDEDIR="?"` - - Use this as the installation prefix for header files. - -* `LIBDIR="?"` - - Use this as the installation prefix for libraries. - -* `MANDIR="?"` - - Use this as the installation prefix for man pages. - -* `DESTDIR="?"` - - Prepend DESTDIR to INCLUDEDIR, LIBDIR, DATADIR, and MANDIR. This is useful - when installing to a different path than was specified via --prefix. - -* `CC="?"` - - Use this to invoke the C compiler. - -* `CFLAGS="?"` - - Pass these flags to the compiler. - -* `CPPFLAGS="?"` - - Pass these flags to the C preprocessor. - -* `LDFLAGS="?"` - - Pass these flags when linking. - -* `PATH="?"` - - Use this to search for programs used during configuration and building. - - -## Development - -If you intend to make non-trivial changes to jemalloc, use the 'autogen.sh' -script rather than 'configure'. This re-generates 'configure', enables -configuration dependency rules, and enables re-generation of automatically -generated source files. - -The build system supports using an object directory separate from the source -tree. For example, you can create an 'obj' directory, and from within that -directory, issue configuration and build commands: - - autoconf - mkdir obj - cd obj - ../configure --enable-autogen - make - - -## Documentation - -The manual page is generated in both html and roff formats. Any web browser -can be used to view the html manual. The roff manual page can be formatted -prior to installation via the following command: - - nroff -man -t doc/jemalloc.3 ->>>>>>> main diff --git a/contrib/jemalloc/Makefile.in b/contrib/jemalloc/Makefile.in index 121297702bcc..1193cd859c49 100644 --- a/contrib/jemalloc/Makefile.in +++ b/contrib/jemalloc/Makefile.in @@ -1,4 +1,3 @@ -<<<<<<< HEAD # Clear out all vpaths, then set just one (default vpath) for the main build # directory. vpath @@ -761,629 +760,3 @@ $(objroot)config.stamp : $(cfgoutputs_in) $(cfghdrs_in) $(srcroot)configure $(cfgoutputs_out) $(cfghdrs_out) : $(objroot)config.stamp @true endif -||||||| dec341af7695 -======= -# Clear out all vpaths, then set just one (default vpath) for the main build -# directory. -vpath -vpath % . - -# Clear the default suffixes, so that built-in rules are not used. -.SUFFIXES : - -SHELL := /bin/sh - -CC := @CC@ -CXX := @CXX@ - -# Configuration parameters. -DESTDIR = -BINDIR := $(DESTDIR)@BINDIR@ -INCLUDEDIR := $(DESTDIR)@INCLUDEDIR@ -LIBDIR := $(DESTDIR)@LIBDIR@ -DATADIR := $(DESTDIR)@DATADIR@ -MANDIR := $(DESTDIR)@MANDIR@ -srcroot := @srcroot@ -objroot := @objroot@ -abs_srcroot := @abs_srcroot@ -abs_objroot := @abs_objroot@ - -# Build parameters. -CPPFLAGS := @CPPFLAGS@ -I$(objroot)include -I$(srcroot)include -CONFIGURE_CFLAGS := @CONFIGURE_CFLAGS@ -SPECIFIED_CFLAGS := @SPECIFIED_CFLAGS@ -EXTRA_CFLAGS := @EXTRA_CFLAGS@ -CFLAGS := $(strip $(CONFIGURE_CFLAGS) $(SPECIFIED_CFLAGS) $(EXTRA_CFLAGS)) -CONFIGURE_CXXFLAGS := @CONFIGURE_CXXFLAGS@ -SPECIFIED_CXXFLAGS := @SPECIFIED_CXXFLAGS@ -EXTRA_CXXFLAGS := @EXTRA_CXXFLAGS@ -CXXFLAGS := $(strip $(CONFIGURE_CXXFLAGS) $(SPECIFIED_CXXFLAGS) $(EXTRA_CXXFLAGS)) -LDFLAGS := @LDFLAGS@ -EXTRA_LDFLAGS := @EXTRA_LDFLAGS@ -LIBS := @LIBS@ -RPATH_EXTRA := @RPATH_EXTRA@ -SO := @so@ -IMPORTLIB := @importlib@ -O := @o@ -A := @a@ -EXE := @exe@ -LIBPREFIX := @libprefix@ -REV := @rev@ -install_suffix := @install_suffix@ -ABI := @abi@ -XSLTPROC := @XSLTPROC@ -XSLROOT := @XSLROOT@ -AUTOCONF := @AUTOCONF@ -_RPATH = @RPATH@ -RPATH = $(if $(1),$(call _RPATH,$(1))) -cfghdrs_in := $(addprefix $(srcroot),@cfghdrs_in@) -cfghdrs_out := @cfghdrs_out@ -cfgoutputs_in := $(addprefix $(srcroot),@cfgoutputs_in@) -cfgoutputs_out := @cfgoutputs_out@ -enable_autogen := @enable_autogen@ -enable_doc := @enable_doc@ -enable_shared := @enable_shared@ -enable_static := @enable_static@ -enable_prof := @enable_prof@ -enable_zone_allocator := @enable_zone_allocator@ -enable_experimental_smallocx := @enable_experimental_smallocx@ -MALLOC_CONF := @JEMALLOC_CPREFIX@MALLOC_CONF -link_whole_archive := @link_whole_archive@ -DSO_LDFLAGS = @DSO_LDFLAGS@ -SOREV = @SOREV@ -PIC_CFLAGS = @PIC_CFLAGS@ -CTARGET = @CTARGET@ -LDTARGET = @LDTARGET@ -TEST_LD_MODE = @TEST_LD_MODE@ -MKLIB = @MKLIB@ -AR = @AR@ -ARFLAGS = @ARFLAGS@ -DUMP_SYMS = @DUMP_SYMS@ -AWK := @AWK@ -CC_MM = @CC_MM@ -LM := @LM@ -INSTALL = @INSTALL@ - -ifeq (macho, $(ABI)) -TEST_LIBRARY_PATH := DYLD_FALLBACK_LIBRARY_PATH="$(objroot)lib" -else -ifeq (pecoff, $(ABI)) -TEST_LIBRARY_PATH := PATH="$(PATH):$(objroot)lib" -else -TEST_LIBRARY_PATH := -endif -endif - -LIBJEMALLOC := $(LIBPREFIX)jemalloc$(install_suffix) - -# Lists of files. -BINS := $(objroot)bin/jemalloc-config $(objroot)bin/jemalloc.sh $(objroot)bin/jeprof -C_HDRS := $(objroot)include/jemalloc/jemalloc$(install_suffix).h -C_SRCS := $(srcroot)src/jemalloc.c \ - $(srcroot)src/arena.c \ - $(srcroot)src/background_thread.c \ - $(srcroot)src/base.c \ - $(srcroot)src/bin.c \ - $(srcroot)src/bitmap.c \ - $(srcroot)src/ckh.c \ - $(srcroot)src/ctl.c \ - $(srcroot)src/div.c \ - $(srcroot)src/extent.c \ - $(srcroot)src/extent_dss.c \ - $(srcroot)src/extent_mmap.c \ - $(srcroot)src/hash.c \ - $(srcroot)src/hook.c \ - $(srcroot)src/large.c \ - $(srcroot)src/log.c \ - $(srcroot)src/malloc_io.c \ - $(srcroot)src/mutex.c \ - $(srcroot)src/mutex_pool.c \ - $(srcroot)src/nstime.c \ - $(srcroot)src/pages.c \ - $(srcroot)src/prng.c \ - $(srcroot)src/prof.c \ - $(srcroot)src/rtree.c \ - $(srcroot)src/safety_check.c \ - $(srcroot)src/stats.c \ - $(srcroot)src/sc.c \ - $(srcroot)src/sz.c \ - $(srcroot)src/tcache.c \ - $(srcroot)src/test_hooks.c \ - $(srcroot)src/ticker.c \ - $(srcroot)src/tsd.c \ - $(srcroot)src/witness.c -ifeq ($(enable_zone_allocator), 1) -C_SRCS += $(srcroot)src/zone.c -endif -ifeq ($(IMPORTLIB),$(SO)) -STATIC_LIBS := $(objroot)lib/$(LIBJEMALLOC).$(A) -endif -ifdef PIC_CFLAGS -STATIC_LIBS += $(objroot)lib/$(LIBJEMALLOC)_pic.$(A) -else -STATIC_LIBS += $(objroot)lib/$(LIBJEMALLOC)_s.$(A) -endif -DSOS := $(objroot)lib/$(LIBJEMALLOC).$(SOREV) -ifneq ($(SOREV),$(SO)) -DSOS += $(objroot)lib/$(LIBJEMALLOC).$(SO) -endif -ifeq (1, $(link_whole_archive)) -LJEMALLOC := -Wl,--whole-archive -L$(objroot)lib -l$(LIBJEMALLOC) -Wl,--no-whole-archive -else -LJEMALLOC := $(objroot)lib/$(LIBJEMALLOC).$(IMPORTLIB) -endif -PC := $(objroot)jemalloc.pc -MAN3 := $(objroot)doc/jemalloc$(install_suffix).3 -DOCS_XML := $(objroot)doc/jemalloc$(install_suffix).xml -DOCS_HTML := $(DOCS_XML:$(objroot)%.xml=$(objroot)%.html) -DOCS_MAN3 := $(DOCS_XML:$(objroot)%.xml=$(objroot)%.3) -DOCS := $(DOCS_HTML) $(DOCS_MAN3) -C_TESTLIB_SRCS := $(srcroot)test/src/btalloc.c $(srcroot)test/src/btalloc_0.c \ - $(srcroot)test/src/btalloc_1.c $(srcroot)test/src/math.c \ - $(srcroot)test/src/mtx.c $(srcroot)test/src/mq.c \ - $(srcroot)test/src/SFMT.c $(srcroot)test/src/test.c \ - $(srcroot)test/src/thd.c $(srcroot)test/src/timer.c -ifeq (1, $(link_whole_archive)) -C_UTIL_INTEGRATION_SRCS := -C_UTIL_CPP_SRCS := -else -C_UTIL_INTEGRATION_SRCS := $(srcroot)src/nstime.c $(srcroot)src/malloc_io.c -C_UTIL_CPP_SRCS := $(srcroot)src/nstime.c $(srcroot)src/malloc_io.c -endif -TESTS_UNIT := \ - $(srcroot)test/unit/a0.c \ - $(srcroot)test/unit/arena_reset.c \ - $(srcroot)test/unit/atomic.c \ - $(srcroot)test/unit/background_thread.c \ - $(srcroot)test/unit/background_thread_enable.c \ - $(srcroot)test/unit/base.c \ - $(srcroot)test/unit/bitmap.c \ - $(srcroot)test/unit/bit_util.c \ - $(srcroot)test/unit/binshard.c \ - $(srcroot)test/unit/ckh.c \ - $(srcroot)test/unit/decay.c \ - $(srcroot)test/unit/div.c \ - $(srcroot)test/unit/emitter.c \ - $(srcroot)test/unit/extent_quantize.c \ - $(srcroot)test/unit/extent_util.c \ - $(srcroot)test/unit/fork.c \ - $(srcroot)test/unit/hash.c \ - $(srcroot)test/unit/hook.c \ - $(srcroot)test/unit/huge.c \ - $(srcroot)test/unit/junk.c \ - $(srcroot)test/unit/junk_alloc.c \ - $(srcroot)test/unit/junk_free.c \ - $(srcroot)test/unit/log.c \ - $(srcroot)test/unit/mallctl.c \ - $(srcroot)test/unit/malloc_io.c \ - $(srcroot)test/unit/math.c \ - $(srcroot)test/unit/mq.c \ - $(srcroot)test/unit/mtx.c \ - $(srcroot)test/unit/pack.c \ - $(srcroot)test/unit/pages.c \ - $(srcroot)test/unit/ph.c \ - $(srcroot)test/unit/prng.c \ - $(srcroot)test/unit/prof_accum.c \ - $(srcroot)test/unit/prof_active.c \ - $(srcroot)test/unit/prof_gdump.c \ - $(srcroot)test/unit/prof_idump.c \ - $(srcroot)test/unit/prof_log.c \ - $(srcroot)test/unit/prof_reset.c \ - $(srcroot)test/unit/prof_tctx.c \ - $(srcroot)test/unit/prof_thread_name.c \ - $(srcroot)test/unit/ql.c \ - $(srcroot)test/unit/qr.c \ - $(srcroot)test/unit/rb.c \ - $(srcroot)test/unit/retained.c \ - $(srcroot)test/unit/rtree.c \ - $(srcroot)test/unit/safety_check.c \ - $(srcroot)test/unit/seq.c \ - $(srcroot)test/unit/SFMT.c \ - $(srcroot)test/unit/sc.c \ - $(srcroot)test/unit/size_classes.c \ - $(srcroot)test/unit/slab.c \ - $(srcroot)test/unit/smoothstep.c \ - $(srcroot)test/unit/spin.c \ - $(srcroot)test/unit/stats.c \ - $(srcroot)test/unit/stats_print.c \ - $(srcroot)test/unit/test_hooks.c \ - $(srcroot)test/unit/ticker.c \ - $(srcroot)test/unit/nstime.c \ - $(srcroot)test/unit/tsd.c \ - $(srcroot)test/unit/witness.c \ - $(srcroot)test/unit/zero.c -ifeq (@enable_prof@, 1) -TESTS_UNIT += \ - $(srcroot)test/unit/arena_reset_prof.c -endif -TESTS_INTEGRATION := $(srcroot)test/integration/aligned_alloc.c \ - $(srcroot)test/integration/allocated.c \ - $(srcroot)test/integration/extent.c \ - $(srcroot)test/integration/malloc.c \ - $(srcroot)test/integration/mallocx.c \ - $(srcroot)test/integration/MALLOCX_ARENA.c \ - $(srcroot)test/integration/overflow.c \ - $(srcroot)test/integration/posix_memalign.c \ - $(srcroot)test/integration/rallocx.c \ - $(srcroot)test/integration/sdallocx.c \ - $(srcroot)test/integration/slab_sizes.c \ - $(srcroot)test/integration/thread_arena.c \ - $(srcroot)test/integration/thread_tcache_enabled.c \ - $(srcroot)test/integration/xallocx.c -ifeq (@enable_experimental_smallocx@, 1) -TESTS_INTEGRATION += \ - $(srcroot)test/integration/smallocx.c -endif -ifeq (@enable_cxx@, 1) -CPP_SRCS := $(srcroot)src/jemalloc_cpp.cpp -TESTS_INTEGRATION_CPP := $(srcroot)test/integration/cpp/basic.cpp -else -CPP_SRCS := -TESTS_INTEGRATION_CPP := -endif -TESTS_STRESS := $(srcroot)test/stress/microbench.c \ - $(srcroot)test/stress/hookbench.c - - -TESTS := $(TESTS_UNIT) $(TESTS_INTEGRATION) $(TESTS_INTEGRATION_CPP) $(TESTS_STRESS) - -PRIVATE_NAMESPACE_HDRS := $(objroot)include/jemalloc/internal/private_namespace.h $(objroot)include/jemalloc/internal/private_namespace_jet.h -PRIVATE_NAMESPACE_GEN_HDRS := $(PRIVATE_NAMESPACE_HDRS:%.h=%.gen.h) -C_SYM_OBJS := $(C_SRCS:$(srcroot)%.c=$(objroot)%.sym.$(O)) -C_SYMS := $(C_SRCS:$(srcroot)%.c=$(objroot)%.sym) -C_OBJS := $(C_SRCS:$(srcroot)%.c=$(objroot)%.$(O)) -CPP_OBJS := $(CPP_SRCS:$(srcroot)%.cpp=$(objroot)%.$(O)) -C_PIC_OBJS := $(C_SRCS:$(srcroot)%.c=$(objroot)%.pic.$(O)) -CPP_PIC_OBJS := $(CPP_SRCS:$(srcroot)%.cpp=$(objroot)%.pic.$(O)) -C_JET_SYM_OBJS := $(C_SRCS:$(srcroot)%.c=$(objroot)%.jet.sym.$(O)) -C_JET_SYMS := $(C_SRCS:$(srcroot)%.c=$(objroot)%.jet.sym) -C_JET_OBJS := $(C_SRCS:$(srcroot)%.c=$(objroot)%.jet.$(O)) -C_TESTLIB_UNIT_OBJS := $(C_TESTLIB_SRCS:$(srcroot)%.c=$(objroot)%.unit.$(O)) -C_TESTLIB_INTEGRATION_OBJS := $(C_TESTLIB_SRCS:$(srcroot)%.c=$(objroot)%.integration.$(O)) -C_UTIL_INTEGRATION_OBJS := $(C_UTIL_INTEGRATION_SRCS:$(srcroot)%.c=$(objroot)%.integration.$(O)) -C_TESTLIB_STRESS_OBJS := $(C_TESTLIB_SRCS:$(srcroot)%.c=$(objroot)%.stress.$(O)) -C_TESTLIB_OBJS := $(C_TESTLIB_UNIT_OBJS) $(C_TESTLIB_INTEGRATION_OBJS) $(C_UTIL_INTEGRATION_OBJS) $(C_TESTLIB_STRESS_OBJS) - -TESTS_UNIT_OBJS := $(TESTS_UNIT:$(srcroot)%.c=$(objroot)%.$(O)) -TESTS_INTEGRATION_OBJS := $(TESTS_INTEGRATION:$(srcroot)%.c=$(objroot)%.$(O)) -TESTS_INTEGRATION_CPP_OBJS := $(TESTS_INTEGRATION_CPP:$(srcroot)%.cpp=$(objroot)%.$(O)) -TESTS_STRESS_OBJS := $(TESTS_STRESS:$(srcroot)%.c=$(objroot)%.$(O)) -TESTS_OBJS := $(TESTS_UNIT_OBJS) $(TESTS_INTEGRATION_OBJS) $(TESTS_STRESS_OBJS) -TESTS_CPP_OBJS := $(TESTS_INTEGRATION_CPP_OBJS) - -.PHONY: all dist build_doc_html build_doc_man build_doc -.PHONY: install_bin install_include install_lib -.PHONY: install_doc_html install_doc_man install_doc install -.PHONY: tests check clean distclean relclean - -.SECONDARY : $(PRIVATE_NAMESPACE_GEN_HDRS) $(TESTS_OBJS) $(TESTS_CPP_OBJS) - -# Default target. -all: build_lib - -dist: build_doc - -$(objroot)doc/%.html : $(objroot)doc/%.xml $(srcroot)doc/stylesheet.xsl $(objroot)doc/html.xsl -ifneq ($(XSLROOT),) - $(XSLTPROC) -o $@ $(objroot)doc/html.xsl $< -else -ifeq ($(wildcard $(DOCS_HTML)),) - @echo "

Missing xsltproc. Doc not built.

" > $@ -endif - @echo "Missing xsltproc. "$@" not (re)built." -endif - -$(objroot)doc/%.3 : $(objroot)doc/%.xml $(srcroot)doc/stylesheet.xsl $(objroot)doc/manpages.xsl -ifneq ($(XSLROOT),) - $(XSLTPROC) -o $@ $(objroot)doc/manpages.xsl $< -else -ifeq ($(wildcard $(DOCS_MAN3)),) - @echo "Missing xsltproc. Doc not built." > $@ -endif - @echo "Missing xsltproc. "$@" not (re)built." -endif - -build_doc_html: $(DOCS_HTML) -build_doc_man: $(DOCS_MAN3) -build_doc: $(DOCS) - -# -# Include generated dependency files. -# -ifdef CC_MM --include $(C_SYM_OBJS:%.$(O)=%.d) --include $(C_OBJS:%.$(O)=%.d) --include $(CPP_OBJS:%.$(O)=%.d) --include $(C_PIC_OBJS:%.$(O)=%.d) --include $(CPP_PIC_OBJS:%.$(O)=%.d) --include $(C_JET_SYM_OBJS:%.$(O)=%.d) --include $(C_JET_OBJS:%.$(O)=%.d) --include $(C_TESTLIB_OBJS:%.$(O)=%.d) --include $(TESTS_OBJS:%.$(O)=%.d) --include $(TESTS_CPP_OBJS:%.$(O)=%.d) -endif - -$(C_SYM_OBJS): $(objroot)src/%.sym.$(O): $(srcroot)src/%.c -$(C_SYM_OBJS): CPPFLAGS += -DJEMALLOC_NO_PRIVATE_NAMESPACE -$(C_SYMS): $(objroot)src/%.sym: $(objroot)src/%.sym.$(O) -$(C_OBJS): $(objroot)src/%.$(O): $(srcroot)src/%.c -$(CPP_OBJS): $(objroot)src/%.$(O): $(srcroot)src/%.cpp -$(C_PIC_OBJS): $(objroot)src/%.pic.$(O): $(srcroot)src/%.c -$(C_PIC_OBJS): CFLAGS += $(PIC_CFLAGS) -$(CPP_PIC_OBJS): $(objroot)src/%.pic.$(O): $(srcroot)src/%.cpp -$(CPP_PIC_OBJS): CXXFLAGS += $(PIC_CFLAGS) -$(C_JET_SYM_OBJS): $(objroot)src/%.jet.sym.$(O): $(srcroot)src/%.c -$(C_JET_SYM_OBJS): CPPFLAGS += -DJEMALLOC_JET -DJEMALLOC_NO_PRIVATE_NAMESPACE -$(C_JET_SYMS): $(objroot)src/%.jet.sym: $(objroot)src/%.jet.sym.$(O) -$(C_JET_OBJS): $(objroot)src/%.jet.$(O): $(srcroot)src/%.c -$(C_JET_OBJS): CPPFLAGS += -DJEMALLOC_JET -$(C_TESTLIB_UNIT_OBJS): $(objroot)test/src/%.unit.$(O): $(srcroot)test/src/%.c -$(C_TESTLIB_UNIT_OBJS): CPPFLAGS += -DJEMALLOC_UNIT_TEST -$(C_TESTLIB_INTEGRATION_OBJS): $(objroot)test/src/%.integration.$(O): $(srcroot)test/src/%.c -$(C_TESTLIB_INTEGRATION_OBJS): CPPFLAGS += -DJEMALLOC_INTEGRATION_TEST -$(C_UTIL_INTEGRATION_OBJS): $(objroot)src/%.integration.$(O): $(srcroot)src/%.c -$(C_TESTLIB_STRESS_OBJS): $(objroot)test/src/%.stress.$(O): $(srcroot)test/src/%.c -$(C_TESTLIB_STRESS_OBJS): CPPFLAGS += -DJEMALLOC_STRESS_TEST -DJEMALLOC_STRESS_TESTLIB -$(C_TESTLIB_OBJS): CPPFLAGS += -I$(srcroot)test/include -I$(objroot)test/include -$(TESTS_UNIT_OBJS): CPPFLAGS += -DJEMALLOC_UNIT_TEST -$(TESTS_INTEGRATION_OBJS): CPPFLAGS += -DJEMALLOC_INTEGRATION_TEST -$(TESTS_INTEGRATION_CPP_OBJS): CPPFLAGS += -DJEMALLOC_INTEGRATION_CPP_TEST -$(TESTS_STRESS_OBJS): CPPFLAGS += -DJEMALLOC_STRESS_TEST -$(TESTS_OBJS): $(objroot)test/%.$(O): $(srcroot)test/%.c -$(TESTS_CPP_OBJS): $(objroot)test/%.$(O): $(srcroot)test/%.cpp -$(TESTS_OBJS): CPPFLAGS += -I$(srcroot)test/include -I$(objroot)test/include -$(TESTS_CPP_OBJS): CPPFLAGS += -I$(srcroot)test/include -I$(objroot)test/include -ifneq ($(IMPORTLIB),$(SO)) -$(CPP_OBJS) $(C_SYM_OBJS) $(C_OBJS) $(C_JET_SYM_OBJS) $(C_JET_OBJS): CPPFLAGS += -DDLLEXPORT -endif - -# Dependencies. -ifndef CC_MM -HEADER_DIRS = $(srcroot)include/jemalloc/internal \ - $(objroot)include/jemalloc $(objroot)include/jemalloc/internal -HEADERS = $(filter-out $(PRIVATE_NAMESPACE_HDRS),$(wildcard $(foreach dir,$(HEADER_DIRS),$(dir)/*.h))) -$(C_SYM_OBJS) $(C_OBJS) $(CPP_OBJS) $(C_PIC_OBJS) $(CPP_PIC_OBJS) $(C_JET_SYM_OBJS) $(C_JET_OBJS) $(C_TESTLIB_OBJS) $(TESTS_OBJS) $(TESTS_CPP_OBJS): $(HEADERS) -$(TESTS_OBJS) $(TESTS_CPP_OBJS): $(objroot)test/include/test/jemalloc_test.h -endif - -$(C_OBJS) $(CPP_OBJS) $(C_PIC_OBJS) $(CPP_PIC_OBJS) $(C_TESTLIB_INTEGRATION_OBJS) $(C_UTIL_INTEGRATION_OBJS) $(TESTS_INTEGRATION_OBJS) $(TESTS_INTEGRATION_CPP_OBJS): $(objroot)include/jemalloc/internal/private_namespace.h -$(C_JET_OBJS) $(C_TESTLIB_UNIT_OBJS) $(C_TESTLIB_STRESS_OBJS) $(TESTS_UNIT_OBJS) $(TESTS_STRESS_OBJS): $(objroot)include/jemalloc/internal/private_namespace_jet.h - -$(C_SYM_OBJS) $(C_OBJS) $(C_PIC_OBJS) $(C_JET_SYM_OBJS) $(C_JET_OBJS) $(C_TESTLIB_OBJS) $(TESTS_OBJS): %.$(O): - @mkdir -p $(@D) - $(CC) $(CFLAGS) -c $(CPPFLAGS) $(CTARGET) $< -ifdef CC_MM - @$(CC) -MM $(CPPFLAGS) -MT $@ -o $(@:%.$(O)=%.d) $< -endif - -$(C_SYMS): %.sym: - @mkdir -p $(@D) - $(DUMP_SYMS) $< | $(AWK) -f $(objroot)include/jemalloc/internal/private_symbols.awk > $@ - -$(C_JET_SYMS): %.sym: - @mkdir -p $(@D) - $(DUMP_SYMS) $< | $(AWK) -f $(objroot)include/jemalloc/internal/private_symbols_jet.awk > $@ - -$(objroot)include/jemalloc/internal/private_namespace.gen.h: $(C_SYMS) - $(SHELL) $(srcroot)include/jemalloc/internal/private_namespace.sh $^ > $@ - -$(objroot)include/jemalloc/internal/private_namespace_jet.gen.h: $(C_JET_SYMS) - $(SHELL) $(srcroot)include/jemalloc/internal/private_namespace.sh $^ > $@ - -%.h: %.gen.h - @if ! `cmp -s $< $@` ; then echo "cp $< $<"; cp $< $@ ; fi - -$(CPP_OBJS) $(CPP_PIC_OBJS) $(TESTS_CPP_OBJS): %.$(O): - @mkdir -p $(@D) - $(CXX) $(CXXFLAGS) -c $(CPPFLAGS) $(CTARGET) $< -ifdef CC_MM - @$(CXX) -MM $(CPPFLAGS) -MT $@ -o $(@:%.$(O)=%.d) $< -endif - -ifneq ($(SOREV),$(SO)) -%.$(SO) : %.$(SOREV) - @mkdir -p $(@D) - ln -sf $( To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: dd747d7bcb80 - main - Revert "stand: Use calloc instead of malloc for initialization of filesystem devsw" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: dd747d7bcb808eb18385a527163054c874aa3c27 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dd747d7bcb808eb18385a527163054c874aa3c27 commit dd747d7bcb808eb18385a527163054c874aa3c27 Author: Warner Losh AuthorDate: 2025-09-02 15:21:45 +0000 Commit: Warner Losh CommitDate: 2025-09-02 15:23:02 +0000 Revert "stand: Use calloc instead of malloc for initialization of filesystem devsw" This reverts commit dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8. There's no author, and also problems with it. I'll redo it. Sponsored by: Netflix --- stand/common/disk.c | 2 +- stand/kboot/kboot/hostdisk.c | 2 +- stand/libofw/devicename.c | 2 +- stand/libsa/dev.c | 2 +- stand/libsa/zfs/zfs.c | 2 +- stand/uboot/devicename.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/stand/common/disk.c b/stand/common/disk.c index 1baf91efaa49..c1650f0fa1ec 100644 --- a/stand/common/disk.c +++ b/stand/common/disk.c @@ -468,7 +468,7 @@ disk_parsedev(struct devdesc **idev, const char *devspec, const char **path) if (*cp != '\0' && *cp != ':') return (EINVAL); - dev = calloc(sizeof(*dev), 1); + dev = malloc(sizeof(*dev)); if (dev == NULL) return (ENOMEM); dev->dd.d_unit = unit; diff --git a/stand/kboot/kboot/hostdisk.c b/stand/kboot/kboot/hostdisk.c index fc98bf534519..a9117d4c1c9d 100644 --- a/stand/kboot/kboot/hostdisk.c +++ b/stand/kboot/kboot/hostdisk.c @@ -465,7 +465,7 @@ hostdisk_parsedev(struct devdesc **idev, const char *devspec, const char **path) return (EINVAL); } free(fn); - dev = calloc(sizeof(*dev), 1); + dev = malloc(sizeof(*dev)); if (dev == NULL) return (ENOMEM); dev->d_unit = 0; diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c index 46a9717fdda5..f6419632c6bc 100644 --- a/stand/libofw/devicename.c +++ b/stand/libofw/devicename.c @@ -98,7 +98,7 @@ ofw_common_parsedev(struct devdesc **dev, const char *devspec, const char **path if (ofw_path_to_handle(devspec, ofwtype, &rem_path) == -1) return (ENOENT); - idev = calloc(sizeof(struct ofw_devdesc), 1); + idev = malloc(sizeof(struct ofw_devdesc)); if (idev == NULL) { printf("ofw_parsedev: malloc failed\n"); return (ENOMEM); diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c index 4f6932e96c48..1edc843d508c 100644 --- a/stand/libsa/dev.c +++ b/stand/libsa/dev.c @@ -72,7 +72,7 @@ default_parsedev(struct devdesc **dev, const char *devspec, int unit, err; char *cp; - idev = calloc(sizeof(struct devdesc), 1); + idev = malloc(sizeof(struct devdesc)); if (idev == NULL) return (ENOMEM); diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c index 2f7c1caaa4b5..70a102f6425d 100644 --- a/stand/libsa/zfs/zfs.c +++ b/stand/libsa/zfs/zfs.c @@ -1643,7 +1643,7 @@ zfs_parsedev(struct devdesc **idev, const char *devspec, const char **path) spa = spa_find_by_name(poolname); if (!spa) return (ENXIO); - dev = calloc(sizeof(*dev), 1); + dev = malloc(sizeof(*dev)); if (dev == NULL) return (ENOMEM); dev->pool_guid = spa->spa_guid; diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c index 23670d7593a2..4ee9c7fd72c4 100644 --- a/stand/uboot/devicename.c +++ b/stand/uboot/devicename.c @@ -102,7 +102,7 @@ uboot_parsedev(struct uboot_devdesc **dev, const char *devspec, } if (dv == NULL) return(ENOENT); - idev = calloc(sizeof(struct uboot_devdesc), 1); + idev = malloc(sizeof(struct uboot_devdesc)); err = 0; np = (devspec + strlen(dv->dv_name)); From nobody Tue Sep 2 15:41:35 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGVNK630wz66vMg for ; Tue, 02 Sep 2025 15:41:53 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) (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 4cGVNK1mQ5z3wFV for ; Tue, 02 Sep 2025 15:41:53 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2445805aa2eso55087145ad.1 for ; Tue, 02 Sep 2025 08:41:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1756827707; x=1757432507; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=FfreeMblx2zc88Pwx7lFpBSmBUKWvAUj9ALF3mcwGqU=; b=SWO+GJG9/srVU5OzjFi7+mp21YY2ismRYMGu3yFAOsrOBZ1qU4a6CpACwmg4gAlUi/ ko5a54AuUu4nkwrxITzTlsb0Y/L2rPn0gyeF2yyz02gxvf/11yIJExKE4mJJ78/zzQaN TRsirXX7iqScaHYZ2arQ2He8xnepQmdJdHrJvEG52Qw3l/UTnbsHtCnnpjrVvzEPI6B2 nPelOe1BdDZoUHwJNz/rYBL6Qtx42LP/n+iP21aExhDEfNl//Q5ZFHLHhfofTIgwOS3D MkTdBqtmvmjLAdThlQmlwq6liiam6hZfTOXaM+MTMtuI04tt+KaygzkHeG7QFNzVxUKW 32iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1756827707; x=1757432507; 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=FfreeMblx2zc88Pwx7lFpBSmBUKWvAUj9ALF3mcwGqU=; b=jNDyiG5dl8mOoUf2pXYSTNikz945iWKle+E99eXo50Ka1i57bU5CYpB53oNA/P5GWn B+IIkI9qJ0RCtgy/1mtnUoDnMgZ/49SOQOBVEBSbJuj04jwRZ7y/ixg319LpVZyvxmdw SqxgHypKwDFl04PcRlmK2uIFzjHDWLNTcjwsarZT2Nk0lD5xJ6Mh0jSc4dw5KRYsuGxw kDz0f+ZHMGnT03wM2c970l2vcAwCqvp9zeM22J6dUHmwSYlfRIOu9t0KFr0+fsOTk8jh Jd+XBal3jaB47yGtcKPziLXF9zVoqIdSbPEksqT0MxKol+2sPVguIn83vLL0iHGoY7Xb VvBQ== X-Forwarded-Encrypted: i=1; AJvYcCWUyh9/cmsHSvArfSospAb+XFPbfleBEP2su1ALCIYOnmZ8U109LlkSMbe77MjP4DJRqr+JzMWUpkdHGjqlOVXI2M3Y+A==@freebsd.org X-Gm-Message-State: AOJu0YwYo65CYxNty28T+P6PEy71sEha2BGJFYHk8/XkGv0X5Wu50Q41 ueRIxKWgWbDnInWXmk0kSjSZu3pBBHylqD39BuKdsu828s2nV7xLlIufsrIZUQyrYwVE6F+7l49 TFhR4VZ6hNVbnA+9k+G4/DBrRVzh7z0bjnvnyKl8vLA== X-Gm-Gg: ASbGncsbnQUUjmwukE9HagCD2uc0wP17tRXkWNWiXZxsL012JzliEu9KkS0vJhFvsmk tjSf+A359w7PQOo+rzx5z+Nm4Dmksi8F1MNFG5y9epquuEXR9+4m1VMDYbKfBPYQ7SBT5mR6Sw0 az8p4o2pG1w6sjpUoXh+NI+/PcBtACZflAgvTa7zlJi9ebg/laxo38DipKd1ydZNWJPOzro5Gnb XvCrqV5trstTlZJxpg38W7vp1dFiff0XDQLqc6b4tMyqTsxGA== X-Google-Smtp-Source: AGHT+IHNx99PjzcxXU9uKhBql9L6z59loBgKW6kmNKMPwxXc1JWKCPfg+lgJEMwNjntPl3+93ZLfkqvIo00W1nR1X4E= X-Received: by 2002:a17:902:c410:b0:234:c8ec:51b5 with SMTP id d9443c01a7336-24944b1f82emr155603715ad.53.1756827706842; Tue, 02 Sep 2025 08:41:46 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202509012201.581M18tv010659@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Tue, 2 Sep 2025 09:41:35 -0600 X-Gm-Features: Ac12FXzdvjtUig8VDAae2pCH_-uV1f-JlSigDSWljbAqC-a4LTE5i_1KRB28ROY Message-ID: Subject: Re: git: dfafdbdfc3e9 - main - stand: Use calloc instead of malloc for initialization of filesystem devsw To: Zhenlei Huang Cc: Warner Losh , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: multipart/alternative; boundary="00000000000065f309063dd3535f" X-Spamd-Bar: ---- 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-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cGVNK1mQ5z3wFV --00000000000065f309063dd3535f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Sep 2, 2025 at 12:38=E2=80=AFAM Zhenlei Huang wr= ote: > > > > On Sep 2, 2025, at 6:01 AM, Warner Losh wrote: > > > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3Ddfafdbdfc3e9db8b878283bcbef35f5= d8d37dae8 > > > > commit dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8 > > Author: null > > Hi Warner, > > The Author is missing. Probably by mistake of Phabricator ? > Doh! Yes. I've reverted. I'll redo. The args are backwards. It's part of another change I was going to look into next... Warner > Best regards, > Zhenlei > > > AuthorDate: 2025-09-01 21:57:06 +0000 > > Commit: Warner Losh > > CommitDate: 2025-09-01 21:57:14 +0000 > > > > stand: Use calloc instead of malloc for initialization of filesystem > devsw > > > > This change is required for https://reviews.freebsd.org/D49355, so > that > > we can check if d_dev is uninitialized by checking if it's NULL. > > > > Reviewed by: imp > > Differential Revision: https://reviews.freebsd.org/D49705 > > --- > > stand/common/disk.c | 2 +- > > stand/kboot/kboot/hostdisk.c | 2 +- > > stand/libofw/devicename.c | 2 +- > > stand/libsa/dev.c | 2 +- > > stand/libsa/zfs/zfs.c | 2 +- > > stand/uboot/devicename.c | 2 +- > > 6 files changed, 6 insertions(+), 6 deletions(-) > > > > diff --git a/stand/common/disk.c b/stand/common/disk.c > > index c1650f0fa1ec..1baf91efaa49 100644 > > --- a/stand/common/disk.c > > +++ b/stand/common/disk.c > > @@ -468,7 +468,7 @@ disk_parsedev(struct devdesc **idev, const char > *devspec, const char **path) > > > > if (*cp !=3D '\0' && *cp !=3D ':') > > return (EINVAL); > > - dev =3D malloc(sizeof(*dev)); > > + dev =3D calloc(sizeof(*dev), 1); > > if (dev =3D=3D NULL) > > return (ENOMEM); > > dev->dd.d_unit =3D unit; > > diff --git a/stand/kboot/kboot/hostdisk.c b/stand/kboot/kboot/hostdisk.= c > > index a9117d4c1c9d..fc98bf534519 100644 > > --- a/stand/kboot/kboot/hostdisk.c > > +++ b/stand/kboot/kboot/hostdisk.c > > @@ -465,7 +465,7 @@ hostdisk_parsedev(struct devdesc **idev, const char > *devspec, const char **path) > > return (EINVAL); > > } > > free(fn); > > - dev =3D malloc(sizeof(*dev)); > > + dev =3D calloc(sizeof(*dev), 1); > > if (dev =3D=3D NULL) > > return (ENOMEM); > > dev->d_unit =3D 0; > > diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c > > index f6419632c6bc..46a9717fdda5 100644 > > --- a/stand/libofw/devicename.c > > +++ b/stand/libofw/devicename.c > > @@ -98,7 +98,7 @@ ofw_common_parsedev(struct devdesc **dev, const char > *devspec, const char **path > > > > if (ofw_path_to_handle(devspec, ofwtype, &rem_path) =3D=3D -1) > > return (ENOENT); > > - idev =3D malloc(sizeof(struct ofw_devdesc)); > > + idev =3D calloc(sizeof(struct ofw_devdesc), 1); > > if (idev =3D=3D NULL) { > > printf("ofw_parsedev: malloc failed\n"); > > return (ENOMEM); > > diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c > > index 1edc843d508c..4f6932e96c48 100644 > > --- a/stand/libsa/dev.c > > +++ b/stand/libsa/dev.c > > @@ -72,7 +72,7 @@ default_parsedev(struct devdesc **dev, const char > *devspec, > > int unit, err; > > char *cp; > > > > - idev =3D malloc(sizeof(struct devdesc)); > > + idev =3D calloc(sizeof(struct devdesc), 1); > > if (idev =3D=3D NULL) > > return (ENOMEM); > > > > diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c > > index 70a102f6425d..2f7c1caaa4b5 100644 > > --- a/stand/libsa/zfs/zfs.c > > +++ b/stand/libsa/zfs/zfs.c > > @@ -1643,7 +1643,7 @@ zfs_parsedev(struct devdesc **idev, const char > *devspec, const char **path) > > spa =3D spa_find_by_name(poolname); > > if (!spa) > > return (ENXIO); > > - dev =3D malloc(sizeof(*dev)); > > + dev =3D calloc(sizeof(*dev), 1); > > if (dev =3D=3D NULL) > > return (ENOMEM); > > dev->pool_guid =3D spa->spa_guid; > > diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c > > index 4ee9c7fd72c4..23670d7593a2 100644 > > --- a/stand/uboot/devicename.c > > +++ b/stand/uboot/devicename.c > > @@ -102,7 +102,7 @@ uboot_parsedev(struct uboot_devdesc **dev, const > char *devspec, > > } > > if (dv =3D=3D NULL) > > return(ENOENT); > > - idev =3D malloc(sizeof(struct uboot_devdesc)); > > + idev =3D calloc(sizeof(struct uboot_devdesc), 1); > > err =3D 0; > > np =3D (devspec + strlen(dv->dv_name)); > > > > > > --00000000000065f309063dd3535f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Tue, Sep 2, = 2025 at 12:38=E2=80=AFAM Zhenlei Huang <zlei@freebsd.org> wrote:


> On Sep 2, 2025, at 6:01 AM, Warner Losh <imp@freebsd.org> wrote:
>
> The branch main has been updated by imp:
>
> URL: https://= cgit.FreeBSD.org/src/commit/?id=3Ddfafdbdfc3e9db8b878283bcbef35f5d8d37dae8<= /a>
>
> commit dfafdbdfc3e9db8b878283bcbef35f5d8d37dae8
> Author:=C2=A0 =C2=A0 =C2=A0null <null>

Hi Warner,

The Author is missing. Probably by mistake of Phabricator ?

Doh! Yes. I've reverted. I'll redo. The args a= re backwards. It's part of another change I was going to look into next= ...

Warner

=C2=A0
Best regards,
Zhenlei

> AuthorDate: 2025-09-01 21:57:06 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
> CommitDate: 2025-09-01 21:57:14 +0000
>
>=C2=A0 =C2=A0 stand: Use calloc instead of malloc for initialization of= filesystem devsw
>
>=C2=A0 =C2=A0 This change is required for
https://reviews.free= bsd.org/D49355, so that
>=C2=A0 =C2=A0 we can check if d_dev is uninitialized by checking if it&= #39;s NULL.
>
>=C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 imp=
>=C2=A0 =C2=A0 Differential Revision:=C2=A0 https://reviews.fre= ebsd.org/D49705
> ---
> stand/common/disk.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 2 +-
> stand/kboot/kboot/hostdisk.c | 2 +-
> stand/libofw/devicename.c=C2=A0 =C2=A0 | 2 +-
> stand/libsa/dev.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 2 +-
> stand/libsa/zfs/zfs.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 | 2 +-
> stand/uboot/devicename.c=C2=A0 =C2=A0 =C2=A0| 2 +-
> 6 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/stand/common/disk.c b/stand/common/disk.c
> index c1650f0fa1ec..1baf91efaa49 100644
> --- a/stand/common/disk.c
> +++ b/stand/common/disk.c
> @@ -468,7 +468,7 @@ disk_parsedev(struct devdesc **idev, const char *d= evspec, const char **path)
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0if (*cp !=3D '\0' && *cp != =3D ':')
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (EINVAL);=
> -=C2=A0 =C2=A0 =C2=A0dev =3D malloc(sizeof(*dev));
> +=C2=A0 =C2=A0 =C2=A0dev =3D calloc(sizeof(*dev), 1);
>=C2=A0 =C2=A0 =C2=A0 =C2=A0if (dev =3D=3D NULL)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (ENOMEM);=
>=C2=A0 =C2=A0 =C2=A0 =C2=A0dev->dd.d_unit =3D unit;
> diff --git a/stand/kboot/kboot/hostdisk.c b/stand/kboot/kboot/hostdisk= .c
> index a9117d4c1c9d..fc98bf534519 100644
> --- a/stand/kboot/kboot/hostdisk.c
> +++ b/stand/kboot/kboot/hostdisk.c
> @@ -465,7 +465,7 @@ hostdisk_parsedev(struct devdesc **idev, const cha= r *devspec, const char **path)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (EINVAL);=
>=C2=A0 =C2=A0 =C2=A0 =C2=A0}
>=C2=A0 =C2=A0 =C2=A0 =C2=A0free(fn);
> -=C2=A0 =C2=A0 =C2=A0dev =3D malloc(sizeof(*dev));
> +=C2=A0 =C2=A0 =C2=A0dev =3D calloc(sizeof(*dev), 1);
>=C2=A0 =C2=A0 =C2=A0 =C2=A0if (dev =3D=3D NULL)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (ENOMEM);=
>=C2=A0 =C2=A0 =C2=A0 =C2=A0dev->d_unit =3D 0;
> diff --git a/stand/libofw/devicename.c b/stand/libofw/devicename.c
> index f6419632c6bc..46a9717fdda5 100644
> --- a/stand/libofw/devicename.c
> +++ b/stand/libofw/devicename.c
> @@ -98,7 +98,7 @@ ofw_common_parsedev(struct devdesc **dev, const char= *devspec, const char **path
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0if (ofw_path_to_handle(devspec, ofwtype, &am= p;rem_path) =3D=3D -1)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (ENOENT);=
> -=C2=A0 =C2=A0 =C2=A0idev =3D malloc(sizeof(struct ofw_devdesc));
> +=C2=A0 =C2=A0 =C2=A0idev =3D calloc(sizeof(struct ofw_devdesc), 1); >=C2=A0 =C2=A0 =C2=A0 =C2=A0if (idev =3D=3D NULL) {
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0printf("ofw= _parsedev: malloc failed\n");
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (ENOMEM);=
> diff --git a/stand/libsa/dev.c b/stand/libsa/dev.c
> index 1edc843d508c..4f6932e96c48 100644
> --- a/stand/libsa/dev.c
> +++ b/stand/libsa/dev.c
> @@ -72,7 +72,7 @@ default_parsedev(struct devdesc **dev, const char *d= evspec,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0int unit, err;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0char *cp;
>
> -=C2=A0 =C2=A0 =C2=A0idev =3D malloc(sizeof(struct devdesc));
> +=C2=A0 =C2=A0 =C2=A0idev =3D calloc(sizeof(struct devdesc), 1);
>=C2=A0 =C2=A0 =C2=A0 =C2=A0if (idev =3D=3D NULL)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (ENOMEM);=
>
> diff --git a/stand/libsa/zfs/zfs.c b/stand/libsa/zfs/zfs.c
> index 70a102f6425d..2f7c1caaa4b5 100644
> --- a/stand/libsa/zfs/zfs.c
> +++ b/stand/libsa/zfs/zfs.c
> @@ -1643,7 +1643,7 @@ zfs_parsedev(struct devdesc **idev, const char *= devspec, const char **path)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0spa =3D spa_find_by_name(poolname);
>=C2=A0 =C2=A0 =C2=A0 =C2=A0if (!spa)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (ENXIO);<= br> > -=C2=A0 =C2=A0 =C2=A0dev =3D malloc(sizeof(*dev));
> +=C2=A0 =C2=A0 =C2=A0dev =3D calloc(sizeof(*dev), 1);
>=C2=A0 =C2=A0 =C2=A0 =C2=A0if (dev =3D=3D NULL)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return (ENOMEM);=
>=C2=A0 =C2=A0 =C2=A0 =C2=A0dev->pool_guid =3D spa->spa_guid;
> diff --git a/stand/uboot/devicename.c b/stand/uboot/devicename.c
> index 4ee9c7fd72c4..23670d7593a2 100644
> --- a/stand/uboot/devicename.c
> +++ b/stand/uboot/devicename.c
> @@ -102,7 +102,7 @@ uboot_parsedev(struct uboot_devdesc **dev, const c= har *devspec,
>=C2=A0 =C2=A0 =C2=A0 =C2=A0}
>=C2=A0 =C2=A0 =C2=A0 =C2=A0if (dv =3D=3D NULL)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0return(ENOENT);<= br> > -=C2=A0 =C2=A0 =C2=A0idev =3D malloc(sizeof(struct uboot_devdesc)); > +=C2=A0 =C2=A0 =C2=A0idev =3D calloc(sizeof(struct uboot_devdesc), 1);=
>=C2=A0 =C2=A0 =C2=A0 =C2=A0err =3D 0;
>=C2=A0 =C2=A0 =C2=A0 =C2=A0np =3D (devspec + strlen(dv->dv_name)); >



--00000000000065f309063dd3535f-- From nobody Tue Sep 2 17:28:13 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGXl16pTtz673Rx; Tue, 02 Sep 2025 17:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGXl16GTbz48W5; Tue, 02 Sep 2025 17:28:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756834093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5ZMgnclEpmLE+tkwVPtmku9yxXJWGUwUMP/tD714sYc=; b=bpPui0mxmA8+Cd3pYeuCP5YzevSY+P8Ft0gL97LJarF9NkEHIO/99qQdXV3C6Zo1joMFHE /emwGsI3K0PorQu4dxbFMkyTenhhKyb4dHbqFtpmoEsVYdt4TbZw5SCTFqsD+Kj6LKetz8 3Tikb6C9aeYLlipbdl4kTha/4lyvAEyPwCMUmnhMWt5a4jSQWUgabvB8krL7IHjyoGzm/2 sHnjBe8Nnfiy1JZMepXgGqelwSj8NFXMRgJZD071pgizgS1TXcXqzsbbgoSU/sneTIOjnx v7VMClxe1V56QUO13bU7u0W1GG9kf/fEwtl6LTJUc1BfA8Uta0hzbje3Clw/9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756834093; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5ZMgnclEpmLE+tkwVPtmku9yxXJWGUwUMP/tD714sYc=; b=Jxrvf3hDzqqlQGLk0JoJKlfyegkPspKFY+soXgZwDE33r3WB1e+nwxItCQmN0E1eQSdIRI FT4zixEUXcRIjFweQ2VYgCYTmYWIbHilPugjVT41ts4TegLOe7G0c5VVdp90u3F9eHUlW1 rFpQ5uiEX4YOXOCjEM4z2IrFbVht+gXUErm5yllQY+zxmaDH5pG1wD9EIJL6chrpsEhzWJ DYe+KLUX/Jj1l0QOnYi8eOvX/M+19M3JpxHKlmduO1IrMm8f12+p06O82BoLtwn0Pv+8/J VRLMAQeQzEu01nX6t3rUjWQjhsgO9qWLDiB3Y0YR1bqoFEMIdA2d/LwneEjUCQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756834093; a=rsa-sha256; cv=none; b=nfu501dtw1qo+GEPoyO+3nhAgObio89EGOPLXcHm05y9hYeturodU5wn3ArrKvp5Pvghxu 5yfBeTZmcA8K1tY3KICSu/u7Xs490dQeI1GsX6Aa3FUMzpy8xPk6wGOJXxuZ/wED4zUUep /4EpeoyCX2GUquPYl6lppmS+83wdVeH78hoOhycB0B62+DhFxdvHTLnAMPTHOE41ot5RLH i50PKPoNyMQQ630Zx2LFeqr57mU+vFGSlylrIjFWR12vQMs4r2R3BpzNF8w7uPEQomiYwA tuw7gTiFiG5PtCqAyQ1OMhWv6I7QU9RkTkUOz6UfIKyLPy/sf0OmhTeIs03hVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGXl15fF9zw13; Tue, 02 Sep 2025 17:28: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 582HSDtg002879; Tue, 2 Sep 2025 17:28:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582HSDTC002876; Tue, 2 Sep 2025 17:28:13 GMT (envelope-from git) Date: Tue, 2 Sep 2025 17:28:13 GMT Message-Id: <202509021728.582HSDTC002876@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: 5eb80bf1a6a4 - main - moused,syscons: Avoid warning if system has no /dev/ttyv* List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 5eb80bf1a6a435e88507c49111a28ed9e38b4b76 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=5eb80bf1a6a435e88507c49111a28ed9e38b4b76 commit 5eb80bf1a6a435e88507c49111a28ed9e38b4b76 Author: Ed Maste AuthorDate: 2025-09-02 17:01:47 +0000 Commit: Ed Maste CommitDate: 2025-09-02 17:28:04 +0000 moused,syscons: Avoid warning if system has no /dev/ttyv* A VM had no virtual terminals and emitted a warning on boot `eval: cannot open /dev/ttyv*: No such file or directory`. Break the loop in this case to avoid the warning. PR: 289173 Reviewed by: jlduran Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52344 --- libexec/rc/rc.d/moused | 1 + libexec/rc/rc.d/syscons | 2 ++ 2 files changed, 3 insertions(+) diff --git a/libexec/rc/rc.d/moused b/libexec/rc/rc.d/moused index 6f1b95af0f0a..aaf0dd0890a8 100755 --- a/libexec/rc/rc.d/moused +++ b/libexec/rc/rc.d/moused @@ -70,6 +70,7 @@ moused_start() esac for ttyv in /dev/ttyv* ; do + [ "$ttyv" = '/dev/ttyv*' ] && break vidcontrol < ${ttyv} ${mousechar_arg} -m on done } diff --git a/libexec/rc/rc.d/syscons b/libexec/rc/rc.d/syscons index 325628a83d8c..b01b648ace6e 100755 --- a/libexec/rc/rc.d/syscons +++ b/libexec/rc/rc.d/syscons @@ -238,6 +238,7 @@ syscons_configure_keyboard() sc_init echo -n ' allscreens_kbd' for ttyv in /dev/ttyv*; do + [ "$ttyv" = '/dev/ttyv*' ] && break kbdcontrol ${allscreens_kbdflags} < ${ttyv} > ${ttyv} 2>&1 done fi @@ -382,6 +383,7 @@ syscons_start() sc_init echo -n ' allscreens' for ttyv in /dev/ttyv*; do + [ "$ttyv" = '/dev/ttyv*' ] && break vidcontrol ${allscreens_flags} < ${ttyv} > ${ttyv} 2>&1 done fi From nobody Tue Sep 2 18:39:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGZKq0hQYz6792N; Tue, 02 Sep 2025 18:39: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGZKp73XSz3XMv; Tue, 02 Sep 2025 18:39:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756838399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=skYaqmM9PXA5SzK47DAp3VOagfW7lHGRepxj2ngtNoQ=; b=FOs5pVugbUw0XQt3V3w+fk7rEJYsBunPcCduM85wHbm9FDiIHajuJP6HfmOO9LNzqwpHXL phcOzrqtYGeAUgz2X2lzNGNXCT2jEJhA48jnXlA/sMIaQGQ99ysy02di6Y35h3jGBI+jXR 2c/oVtdZ6HFIYSuzkkPDgcyA0A8gHbf7Zw3ZaQ5xg9Kdl2P/H2Nmo1sbV1t1AFnT8aFKJ7 SdGSu6tTTXfX7vOHha06AVcH9uXxraOS9+/epluQeywJtYqfj8nzcmCB5GPMFYvdvgg8fN edbmRtjcJs2qXKV6OsQ9XPQSSPu24l5MwHmj0OF64InAoklLp1tkPhyYRLsIvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756838399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=skYaqmM9PXA5SzK47DAp3VOagfW7lHGRepxj2ngtNoQ=; b=dyB6n21IG3q2RNC4gT4RvWQPbi7u/07TcSesGB7945L4UeK3xEoq5oW4RK1RGrIFX74tQm 9CdOR039vgW2HGD712qaxbeJiYc55PgV20f1oHUQUm79dZqhqcV3N5xqCgC6MBJvI988FS 76xNBp4aLGEuWAVm0XVN7hNK5JdKXVrvyyjGeDWSkIItFwEmWli4TDNQ98GG3t118hebur WYNa3uyPO7KHgDpvS2hkRklR4jN0K6hH011MOGMqNdYvnujjPEFgFG11xPTJgKBVQWFPVQ P0patgoz44qdtW0BVZZ5Tpg4EXJzycV3AXQB0pj63ECg/K5PPHIl0ORSA0a0DA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756838399; a=rsa-sha256; cv=none; b=XuE9WRoZD6JQLtVFQkBN6LDf15N8zwA/eG8GSKedC59T6gYppK7YKxCsiWLdAdpZAbUtd4 aCFFnWQW9aSkTzVo+SQsRxV/eBOUt6LyvrlrGC7hXOvRZwIkD6jUM3QijAinSEI9XWJK/+ d0OCh1YGL5xO7HMPvWOEodFKehTKsModFncYMfsAbMy0MFQ1gGiKHjd1nvrzrQDykc3alB VLsUEWyEVkSGN24jfvTLVRUtcJkNRHSDddNh+oSemXkJK+Yk8InN6AXVT13HxDC1DgWi09 fDUFUq9O6lUaE/DWOjr4V/jTXvR9ZIDJo00dt71TVRUbnQ+rpC0ZlOeDEGgeig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGZKp6QvGzy9c; Tue, 02 Sep 2025 18:39: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 582Idwqe040765; Tue, 2 Sep 2025 18:39:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582IdwFt040762; Tue, 2 Sep 2025 18:39:58 GMT (envelope-from git) Date: Tue, 2 Sep 2025 18:39:58 GMT Message-Id: <202509021839.582IdwFt040762@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: 45488e95b4c6 - main - mandoc: Install mandoc.db.5 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 45488e95b4c6152ed4e6b3e488b6590897e5fa64 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=45488e95b4c6152ed4e6b3e488b6590897e5fa64 commit 45488e95b4c6152ed4e6b3e488b6590897e5fa64 Author: Mark Johnston AuthorDate: 2025-09-02 18:39:21 +0000 Commit: Mark Johnston CommitDate: 2025-09-02 18:39:21 +0000 mandoc: Install mandoc.db.5 Reviewed by: ziaee, bapt MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D52343 --- usr.bin/mandoc/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/mandoc/Makefile b/usr.bin/mandoc/Makefile index c5255b1468fd..0d04aad4e558 100644 --- a/usr.bin/mandoc/Makefile +++ b/usr.bin/mandoc/Makefile @@ -4,7 +4,7 @@ MANDOCDIR= ${SRCTOP}/contrib/mandoc .PATH: ${MANDOCDIR} PROG= mandoc -MAN= mandoc.1 eqn.7 mandoc_char.7 tbl.7 man.7 mdoc.7 roff.7 +MAN= mandoc.1 mandoc.db.5 eqn.7 mandoc_char.7 tbl.7 man.7 mdoc.7 roff.7 MLINKS= mandoc.1 mdocml.1 .if ${MK_MAN_UTILS} != no MAN+= apropos.1 makewhatis.8 From nobody Tue Sep 2 18:40:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGZLs3t41z679N6; Tue, 02 Sep 2025 18:40: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGZLs3Cwcz3XtF; Tue, 02 Sep 2025 18:40:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756838453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tKvf6fT+pJs0Jp7cV70kx9yTcyv2iiW4nPIsQmeRRRg=; b=jaO0Ic8JFasYyPVLMbkEdAOe4Hm3WYencppAeo9/zmj/tXwgnHbHQwq5rFffi7qev2pFrH LGGN94ZD7AShL6u+PoiZrD5ojU/FVggrYIk6CcbbU6epCvJFyhJKJmZkIcNTZxSuNqAVAk /ktevXOksfk+NsuTyIVbQoQ0wzoTwTDYG/hhOR+hEfKbTnVbK63ni9CBfi9VLa7xJfD/RG 47M/4bvScPmWWgEpRcv00+TRM5Na7I9ahBFaCjYmeZWa8VgC/8cPv27BSsG6GsORGsXGw6 JVEx/ePFLQ0k+OZdg1yD3q7sAYvwsgh4QoZzyHjd/FlnXjjKuEh90A/+mejcKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756838453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tKvf6fT+pJs0Jp7cV70kx9yTcyv2iiW4nPIsQmeRRRg=; b=Ebr8YIVRsijeJ63YCanmBoPcFmeJ5pjtz3v151M+3S5geZKxF/PkXN/yYcL5pPBgqmZ5SV zguJlX57FZ4cJX3/7h7FB2gOfiVMQQZzR+No2HNebk1rWC0N9u39PSyNW8IHpzdrsJU7SS quwaqJnWUoHK08a2hKEzvvu5yJFJYoB/zy1eC0W2m5KpTgunCQBDSwu7VPywJNcpbSg0ON VSxmIqzhMS21abzHFO3o37UnK2SnQhRRcy7EWsHxdcAXVQfb5cgJ19i+cMAZslthpoly0p si8/b671kMhVyHLJbOtuUIbQxwnifVNBf3xlUejz5fn/nQmaNVmCj7yMQnOPfg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756838453; a=rsa-sha256; cv=none; b=onJmlze/AopfaG2RNh5mKmOCvsL9snenZKd0qkj3MfVAYXlf/T460WMGgo6R4diRryZYBQ RSpDIl64+yp8dwDmR06S7JuVgs72GBCRDQ6WlRURS1Hbp7oziOlVkAapLvP+coplVOHc87 Ma29+Q27xymmaUbBihX2oMrpr9Bv21zxLsc5zyGeIQDKStV3HwhaewhcCmEnbr1C1goRZj iCAVeVocqCWKOCwgLLUAoT+5fCYAN7TSVIGR0JwTKAmSmvm42R+qIcC9cezg8YVziAKFrU U0AoRglNsjXvyieUEv5TEc0DHHS/QcfgIaddFO9vYq3t/wyp0d4fHiw7RyEHng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGZLs2WrVzy17; Tue, 02 Sep 2025 18:40: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 582IerQj051497; Tue, 2 Sep 2025 18:40:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582Ier0M051494; Tue, 2 Sep 2025 18:40:53 GMT (envelope-from git) Date: Tue, 2 Sep 2025 18:40:53 GMT Message-Id: <202509021840.582Ier0M051494@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: 164597439270 - main - ctld: Add missing initializers for several class members List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 16459743927068abbee34ce3f266b38c71968232 Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=16459743927068abbee34ce3f266b38c71968232 commit 16459743927068abbee34ce3f266b38c71968232 Author: John Baldwin AuthorDate: 2025-09-02 18:40:30 +0000 Commit: John Baldwin CommitDate: 2025-09-02 18:40:30 +0000 ctld: Add missing initializers for several class members These fields all need to be explicitly initialized with zeroes. Prior to the conversion to C++ these fields were zeroed by calloc(). This worked for me in earlier testing as my test boxes had MALLOC_PRODUCTION enabled in make.conf. PR: 289115 Reported by: Slawa Olhovchenkov Fixes: eb0dc901a541 ("ctld: Convert struct auth_group to a C++ class") Fixes: 6acc7afa34aa ("ctld: Convert struct port to a hierarchy of C++ classes") Fixes: 2bb9180bb5d0 ("ctld: Convert struct target to a C++ class") Fixes: ed076901ec80 ("ctld: Convert struct ctld_connection to a C++ class") Sponsored by: Chelsio Communications --- usr.sbin/ctld/ctld.hh | 6 +++--- usr.sbin/ctld/iscsi.hh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/usr.sbin/ctld/ctld.hh b/usr.sbin/ctld/ctld.hh index bfe4507bb3e6..cc88e6eb590e 100644 --- a/usr.sbin/ctld/ctld.hh +++ b/usr.sbin/ctld/ctld.hh @@ -425,7 +425,7 @@ protected: virtual struct portal_group *default_portal_group() = 0; struct conf *t_conf; - std::array t_luns; + std::array t_luns = {}; auth_group_sp t_auth_group; std::list t_ports; std::string t_name; @@ -434,7 +434,7 @@ protected: std::string t_redirection; /* Name of this target's physical port, if any, i.e. "isp0" */ std::string t_pport; - bool t_private_auth; + bool t_private_auth = false; }; using target_up = std::unique_ptr; @@ -575,7 +575,7 @@ struct pport { private: std::string pp_name; uint32_t pp_ctl_port; - bool pp_linked; + bool pp_linked = false; }; struct kports { diff --git a/usr.sbin/ctld/iscsi.hh b/usr.sbin/ctld/iscsi.hh index d510e8c6731b..66bfecd62692 100644 --- a/usr.sbin/ctld/iscsi.hh +++ b/usr.sbin/ctld/iscsi.hh @@ -66,7 +66,7 @@ private: std::string conn_initiator_name; std::string conn_initiator_addr; std::string conn_initiator_alias; - uint8_t conn_initiator_isid[6]; + uint8_t conn_initiator_isid[6] = {}; const struct sockaddr *conn_initiator_sa = nullptr; int conn_max_recv_data_segment_limit = 0; int conn_max_send_data_segment_limit = 0; From nobody Tue Sep 2 19:30:48 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGbSS6Xnhz65HCG; Tue, 02 Sep 2025 19:30: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGbSS4NR1z3k6n; Tue, 02 Sep 2025 19:30:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756841448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zgzs+EG0mzdM4zXg0EHzo08LYhkEKTeL09IfX+kySMs=; b=szaHcJ3KHKvgyBdcGpfs5heYQxO0isyhsR5tOYLFfWcbm3GtjiqQFXPZCTdMAixQzHLuWZ CKrivWGtBLTJSr5jcntD6wFvlZqrj44mTrcAcBdK4wYzju5mec7lkIluSxB9/trF0ofbtf 5GAWfqdGlgP/Mk43bUZxHATXNVxolaCz0FBWFJMMsRkgKqLPGdQLhoy7nmmN/ZFznXKpk4 GmC2vmwKr9ej5ahoJAYQux4ZRBBGcqjkpl8xoqTWUQ+0aUvcHg3n4WVv6eBZX+VgOrhxGn D8V96RaVKHbUSNiyXFKlKgDayGBIIiYT2uFu4RL6HYkhjIVIW9Mb9n2C5qymVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756841448; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Zgzs+EG0mzdM4zXg0EHzo08LYhkEKTeL09IfX+kySMs=; b=a+WBDW8VhM/eCARO8LbJox+UhSrEPv3uDVaVyKHFCT/SLeXk5mOtWXMMelIcTlsxf1uSnE Qe3hgeEj+F2E35jN6MPQ/muhbFrStplF9t1wXeZIxNYtPC+hrCHoL3VGeWYQN/6b694XAD 3ry2fdYTwnTf5Pyt1QTeoHdXfvCS5ohgpb2XyAFQzKb1F5339GToGVvo4crrT6xzYD5E5E v3gHla8GZqjMk+3Ar3Koxq6Wut9mOUkE1V5WZW5vVLDIMiHgk5phZtUxZFzZdtRXTVZryL TpuU5rZ5IakHIUWkvebChT2APr1ivYmdZg4Pt/4sOsy1MOn1vdWW7MeFTpC6ug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756841448; a=rsa-sha256; cv=none; b=UXFm4IoKcbh15ZrVy46ARAXiBO8hfFnV+1n1JTdD4KaNfQC8u1qSrAGtR66xwp9m31/wwn Mn85Oo/IIMPi9K7r5qfQInkKml0niPQ731ErZ19frf3OFiwrPxXQIvoy3VT1MY4TRbIYdb L1Q/LoT8YvttSCUUTuxmvGSJ9/CxkPOJFB9JwNNYewzivc5Mg3bkRgSrQa650NkOJq5nE1 2Ru0RbeclTDtJO0khbyExLhqDVbF2tQOA7b7zPMFVvNkrHv9sgXStqLmZU6DQBYZ1UF23D B7jxUe7yTRqfbZMDlwqNgH8vXIwpXYHRK70tmIPo95qMJSeLVTlV3k2D8efWgg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGbSS3zpYz10Bn; Tue, 02 Sep 2025 19:30: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 582JUmTI043924; Tue, 2 Sep 2025 19:30:48 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582JUmBW043921; Tue, 2 Sep 2025 19:30:48 GMT (envelope-from git) Date: Tue, 2 Sep 2025 19:30:48 GMT Message-Id: <202509021930.582JUmBW043921@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: 3296fda0c309 - main - arm64: enable bloating kernel with ext errors strings List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3296fda0c309c873ae37a0a4e25ded3ae04b421c Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=3296fda0c309c873ae37a0a4e25ded3ae04b421c commit 3296fda0c309c873ae37a0a4e25ded3ae04b421c Author: Ed Maste AuthorDate: 2025-09-02 16:42:11 +0000 Commit: Ed Maste CommitDate: 2025-09-02 19:30:33 +0000 arm64: enable bloating kernel with ext errors strings Chase commit 8e8d3068dcbe ("amd64 GENERIC: enable bloating kernel with ext errors strings") from amd64. In general we would like to keep GENERIC kernel options in sync between the Tier-1 architectures. PR: 289236 Reviewed by: andrew Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52342 --- sys/arm64/conf/std.arm64 | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/conf/std.arm64 b/sys/arm64/conf/std.arm64 index c83e98c17a33..8c8e3f4ada12 100644 --- a/sys/arm64/conf/std.arm64 +++ b/sys/arm64/conf/std.arm64 @@ -7,6 +7,7 @@ makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support options SCHED_ULE # ULE scheduler options NUMA # Non-Uniform Memory Architecture support options PREEMPTION # Enable kernel thread preemption +options BLOAT_KERNEL_WITH_EXTERR options VIMAGE # Subsystem virtualization, e.g. VNET options INET # InterNETworking options INET6 # IPv6 communications protocols From nobody Tue Sep 2 20:10:20 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGcL952x1z65LpZ; Tue, 02 Sep 2025 20:10:25 +0000 (UTC) (envelope-from kp@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGcL90rpwz3r9J; Tue, 02 Sep 2025 20:10:25 +0000 (UTC) (envelope-from kp@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756843825; 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=PyH++rPa/wFS0XmMZwjROOtWqwFR+aWk82iaowKUfL0=; b=E2tAa9sCynVBpiFMaItVHnI26H3vEyr0nlRnmuQKQSs9kNZtBS8/PQsYASL4pKTvhgyJpV sEdT9/Sh+qjvwJSjWfTpzRbIbRfoN5Hi9YTF6Q/XuR1Vcq5yfETBqzMAfuO1/7cRZ4gbdf zUEo6Kf+m75bNM6hlyomU8PJ+sPhJGWJZ1htisGEAjeEPcsA5DQTlexRGwXmbdCF8IfzLx bZACAA7g6eP8/XEEgSsboApHX4dDLJbOWKvwvPhfY69/0YErudBw9KZM7eOnRtT3CxwHNF QIv0cDDOQBnGBr+RKbeyrNRnWmRoZQcYM8cOgvQThV/XtfmkhhVvCpH3upvx5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756843825; 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=PyH++rPa/wFS0XmMZwjROOtWqwFR+aWk82iaowKUfL0=; b=qX+SgnT8HP8U6YYDbB+1kBN0oRIjQ6ZVGi/RTOVNh4nqCGn8p5t0acr0uhQxSYihsr13Oj egxlQF08V9YkBpEtpL3n/4yLeLyJ66CYOOs1ugGTH7Ct/ZYwjbxrpFEaXS3lcd9RyI97Bb CoiEur+ESG5MoPpIYTpbqv/x7zDPz4JaSRz+JSj17NKxPlf398bMiV8CmIqOJXnb+vkTne zb6YCjdlprRX7K509RoZOO6/4Kc3VxwMjXHtCdfpW1pddkvytzyOLrxCIehKUgvtFgBkgx rujkbGz2Vbd8c1Ypm3ekXuul8gh5EfUqK2Hqy6mt0/qU1G26sdrrPkSFGuAU0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756843825; a=rsa-sha256; cv=none; b=CA/61ODsLKgE0JKGjbVMR5/s4xR+ifb18GLMXb6lp9wtDDXwafwMUhRyH1XEQk2ZUBA/5y JrsKItFvMHKqoOIMj00XRT675Nr/Ahx+70fWG5lfV0j+F556n50bBL1fy88YB9h2ZUoF7l 4eKOMclK0bKtcRzuiBtEqlXFP83Qcoy9fV3kEAKHO0L5kpvw11pW5oHZ/7LrH90T0tPUix 1sb1ph0T8Hr365A+KTynXlWl4dNIfhTwf/LvbwWmOz904oTGdZoAZtslgI4JUAHkEcMMo5 PYvZURJcS+BkXIzefqb97d+MdThikZtGjJx1uowLhGXQlXsyNrRCLHjhhKPX2A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (using TLSv1.3 with cipher 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 "mx1.codepro.be", Issuer "R11" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cGcL85dMLzmvs; Tue, 02 Sep 2025 20:10:24 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id D67F5441CA; Tue, 02 Sep 2025 22:10:21 +0200 (CEST) From: Kristof Provost To: Michael Tuexen Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: e4ea162509e4 - main - epair: add support for checksum offloading Date: Tue, 02 Sep 2025 22:10:20 +0200 X-Mailer: MailMate (2.0r6272) Message-ID: <1781EA53-EA6F-456B-B69D-74243A13F3FC@FreeBSD.org> In-Reply-To: <202509012217.581MHwPo033928@gitrepo.freebsd.org> References: <202509012217.581MHwPo033928@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="=_MailMate_446E6C3D-1156-441E-B79E-33CF62376E4D_=" --=_MailMate_446E6C3D-1156-441E-B79E-33CF62376E4D_= Content-Type: text/plain; charset=UTF-8; format=flowed; markup=markdown Content-Transfer-Encoding: quoted-printable On 2 Sep 2025, at 0:17, Michael Tuexen wrote: > The branch main has been updated by tuexen: > > URL: = > https://cgit.FreeBSD.org/src/commit/?id=3De4ea162509e400340a2bc3e755071= a92f3465e2d > > commit e4ea162509e400340a2bc3e755071a92f3465e2d > Author: Timo V=C3=B6lker > AuthorDate: 2025-09-01 22:03:47 +0000 > Commit: Michael Tuexen > CommitDate: 2025-09-01 22:15:51 +0000 > > epair: add support for checksum offloading > > Add capabilities RXCSUM and RXCSUM6 as well as TXCSUM and TXCSUM6 = > for > for receive and transmit checksum offloading for TCP and UDP to = > the > epair interface and enable them by default. > RXCSUM and RXCSUM6 are enabled because an epair interface may = > receive > a packet with the csum_flag CSUM_DATA_VALID set, which is expected > only if these capabilities are enabled. Since it seems not helpful = > to > remove this flag, it is not possible to disable these = > capabilities. > TXCSUM and TXCSUM6 are synchronized between the two epair = > interface > ends. If enabled/disabled on one end, it will be enabled/disabled = > on > the other end. If the sending epair interface end has TXCSUM or = > TXCSUM6 > enabled and the receiving end is in a bridge, it is assumed that = > all > interfaces in the bridge have that capability enabled. Otherwise = > the > bridge would have disabled that capability on the receiving epair > interface end in the bridge which would have disabled that = > capability > on the sending epair interface end as well due to the = > synchronization. > > Reviewed by: bcr, Seyed Pouria Mousavizadeh Tehrani > MFC after: 4 weeks > Differential Revision: https://reviews.freebsd.org/D51639 This seems to be causing a lot of pf test failures, especially in the = route_to tests. All of these now fail, unless this commit is reverted: nat:binat_compat -> failed: atf-check failed; see the output of the = test for details [4.423s] nat:binat_match -> failed: atf-check failed; see the output of the = test for details [7.535s] nat:nat_match -> failed: atf-check failed; see the output of the test = for details [4.511s] nat:nat_pass -> failed: atf-check failed; see the output of the test = for details [7.337s] nat64:tcp_in_floating -> failed: Failed to connect to TCP server = [6.142s] nat64:tcp_in_if_bound -> failed: Failed to connect to TCP server = [6.048s] nat64:tcp_out_floating -> failed: Failed to connect to TCP server = [6.268s] nat64:tcp_out_if_bound -> failed: Failed to connect to TCP server = [6.253s] nat64:udp_in -> failed: Failed to connect to UDP server [6.097s] nat64:udp_out -> failed: Failed to connect to UDP server [6.071s] rdr:tcp_v6_compat -> failed: 0 !=3D 22 ( 0 !=3D 22) = [2.736s] rdr:tcp_v6_pass -> failed: 0 !=3D 23 ( 0 !=3D 23) [1.97= 8s] route_to:prefer_ipv6_nexthop_ipv4_random_prefix_ipv4 -> failed: = atf-check failed; see the output of the test for details [5.693s] route_to:prefer_ipv6_nexthop_ipv4_random_table_ipv4 -> failed: = atf-check failed; see the output of the test for details [12.511s] route_to:prefer_ipv6_nexthop_ipv6_random_prefix_ipv4 -> failed: = atf-check failed; see the output of the test for details [14.865s] route_to:prefer_ipv6_nexthop_ipv6_random_prefix_ipv6 -> failed: = atf-check failed; see the output of the test for details [7.849s] route_to:prefer_ipv6_nexthop_mixed_af_random_table_ipv4 -> failed: = atf-check failed; see the output of the test for details [11.843s] route_to:prefer_ipv6_nexthop_mixed_af_roundrobin_ipv4 -> failed: = atf-check failed; see the output of the test for details [5.566s] route_to:prefer_ipv6_nexthop_mixed_af_roundrobin_ipv6 -> failed: = atf-check failed; see the output of the test for details [11.089s] route_to:prefer_ipv6_nexthop_single_ipv4 -> failed: atf-check failed; = see the output of the test for details [6.615s] route_to:prefer_ipv6_nexthop_single_ipv6 -> failed: atf-check failed; = see the output of the test for details [7.210s] route_to:random_prefix -> failed: atf-check failed; see the output of = the test for details [6.608s] route_to:random_table -> failed: atf-check failed; see the output of = the test for details [6.513s] route_to:roundrobin -> failed: atf-check failed; see the output of = the test for details [6.248s] route_to:table_loop -> failed: atf-check failed; see the output of = the test for details [6.606s] src_track:max_src_conn_rule -> failed: atf-check failed; see the = output of the test for details [4.743s] src_track:max_src_states_global -> failed: atf-check failed; see the = output of the test for details [5.010s] src_track:max_src_states_rule -> failed: atf-check failed; see the = output of the test for details [5.026s] src_track:mixed_af -> failed: atf-check failed; see the output of the = test for details [5.532s] Best regards, Kristof --=_MailMate_446E6C3D-1156-441E-B79E-33CF62376E4D_= Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

On 2 Sep 2025, at 0:17, Michael Tuexen wrote:

The branch main has been updated by tuexen:

URL: https://cgit.FreeBSD.org/src/co= mmit/?id=3De4ea162509e400340a2bc3e755071a92f3465e2d

commit e4ea162509e400340a2bc3e755071a92f3465e2d
Author: Timo V=C3=B6lker timo.voelker@fh-muenster.de
AuthorDate: 2025-09-01 22:03:47 +0000
Commit: Michael Tuexen tuexen@F= reeBSD.org
CommitDate: 2025-09-01 22:15:51 +0000

ep=
air: add support for checksum offloading

Add capabilities RXCSUM and RXCSUM6 as well as TXCSUM and TXCSUM6 for
for receive and transmit checksum offloading for TCP and UDP to the
epair interface and enable them by default.
RXCSUM and RXCSUM6 are enabled because an epair interface may receive
a packet with the csum_flag CSUM_DATA_VALID set, which is expected
only if these capabilities are enabled. Since it seems not helpful to
remove this flag, it is not possible to disable these capabilities.
TXCSUM and TXCSUM6 are synchronized between the two epair interface
ends. If enabled/disabled on one end, it will be enabled/disabled on
the other end. If the sending epair interface end has TXCSUM or TXCSUM6
enabled and the receiving end is in a bridge, it is assumed that all
interfaces in the bridge have that capability enabled. Otherwise the
bridge would have disabled that capability on the receiving epair
interface end in the bridge which would have disabled that capability
on the sending epair interface end as well due to the synchronization.

Reviewed by:            bcr, Seyed Pouria Mousavizadeh Tehrani
MFC after:              4 weeks
Differential Revision:  https://reviews.freebsd.org/D51639

This seems to be causing a lot of pf test failures, espec= ially in the route_to tests.

All of these now fail, unless this commit is reverted:

na=
t:binat_compat  ->  failed: atf-check failed; see the output of the te=
st for details  [4.423s]
nat:binat_match  ->  failed: atf-check failed; see the output of the t=
est for details  [7.535s]
nat:nat_match  ->  failed: atf-check failed; see the output of the tes=
t for details  [4.511s]
nat:nat_pass  ->  failed: atf-check failed; see the output of the test=
 for details  [7.337s]
nat64:tcp_in_floating  ->  failed: Failed to connect to TCP server  [6=
=2E142s]
nat64:tcp_in_if_bound  ->  failed: Failed to connect to TCP server  [6=
=2E048s]
nat64:tcp_out_floating  ->  failed: Failed to connect to TCP server  [=
6.268s]
nat64:tcp_out_if_bound  ->  failed: Failed to connect to TCP server  [=
6.253s]
nat64:udp_in  ->  failed: Failed to connect to UDP server  [6.097s]
nat64:udp_out  ->  failed: Failed to connect to UDP server  [6.071s]
rdr:tcp_v6_compat  ->  failed:        0 !=3D       22 ( 0 !=3D  22)  [=
2.736s]
rdr:tcp_v6_pass  ->  failed:        0 !=3D       23 ( 0 !=3D  23)  [1.=
978s]
route_to:prefer_ipv6_nexthop_ipv4_random_prefix_ipv4  ->  failed: atf-=
check failed; see the output of the test for details  [5.693s]
route_to:prefer_ipv6_nexthop_ipv4_random_table_ipv4  ->  failed: atf-c=
heck failed; see the output of the test for details  [12.511s]
route_to:prefer_ipv6_nexthop_ipv6_random_prefix_ipv4  ->  failed: atf-=
check failed; see the output of the test for details  [14.865s]
route_to:prefer_ipv6_nexthop_ipv6_random_prefix_ipv6  ->  failed: atf-=
check failed; see the output of the test for details  [7.849s]
route_to:prefer_ipv6_nexthop_mixed_af_random_table_ipv4  ->  failed: a=
tf-check failed; see the output of the test for details  [11.843s]
route_to:prefer_ipv6_nexthop_mixed_af_roundrobin_ipv4  ->  failed: atf=
-check failed; see the output of the test for details  [5.566s]
route_to:prefer_ipv6_nexthop_mixed_af_roundrobin_ipv6  ->  failed: atf=
-check failed; see the output of the test for details  [11.089s]
route_to:prefer_ipv6_nexthop_single_ipv4  ->  failed: atf-check failed=
; see the output of the test for details  [6.615s]
route_to:prefer_ipv6_nexthop_single_ipv6  ->  failed: atf-check failed=
; see the output of the test for details  [7.210s]
route_to:random_prefix  ->  failed: atf-check failed; see the output o=
f the test for details  [6.608s]
route_to:random_table  ->  failed: atf-check failed; see the output of=
 the test for details  [6.513s]
route_to:roundrobin  ->  failed: atf-check failed; see the output of t=
he test for details  [6.248s]
route_to:table_loop  ->  failed: atf-check failed; see the output of t=
he test for details  [6.606s]
src_track:max_src_conn_rule  ->  failed: atf-check failed; see the out=
put of the test for details  [4.743s]
src_track:max_src_states_global  ->  failed: atf-check failed; see the=
 output of the test for details  [5.010s]
src_track:max_src_states_rule  ->  failed: atf-check failed; see the o=
utput of the test for details  [5.026s]
src_track:mixed_af  ->  failed: atf-check failed; see the output of th=
e test for details  [5.532s]

Best regards,
Kristof

--=_MailMate_446E6C3D-1156-441E-B79E-33CF62376E4D_=-- From nobody Tue Sep 2 20:34:22 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGcsq0gnjz65Nrg; Tue, 02 Sep 2025 20:34: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGcsq018Gz3vMl; Tue, 02 Sep 2025 20:34:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756845263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=45d3Ji89HRsXjy9VW+RET5kSIFRbPLw3mzMtE6UKijI=; b=vyG5/uJhZP2WoORfWxAxFu9w8PhwW+RqQlWZ2ihFVstmR/5mGJQL4bD7xD+Xv0QSqSpKjQ BZ2cRLWmf96M1dyGd0fJVMHKnZqiTzSILYuCEg6Q1owg/kAk7UTiWUS1CJW6s5dzY3e2tC CuFgI7vzmXFHvoR0tthPuELLB9G7Fdt1MxHpRaoPkkG8wF+heY9suQQJ/xbAbiqtbzIZeM JZebeAKQ0bhTmi7toiTlofwuvfEmg6KUHTZzdl18OLI/zp69Q/eMbOzHMphreMetj1ZCNr cUgOVDtcs+b4Qr1kpweLcSS1fGqY4Y1Ypw5TANGbb3ffMXdfcnhOpA8hoM4/qQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756845263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=45d3Ji89HRsXjy9VW+RET5kSIFRbPLw3mzMtE6UKijI=; b=tnZKnhxVMPeCUULag0jWJl7fGhc3Kwb2Je9qDSO28X6/boZFmIoDxVnkKoHsKa1gaLfWki qD8vZUqPwIK4HU9lnF7yqUQnD4aWaSNVOaZ+uLBXzugMOBDOyy1xwKR4ia0F7rEJwm2wKD zJpmaqrOBvS741NIQv8/kbAzAEu2IKIl5d/IKsbyWWb8KKbtxjYQHTI8HXtUXbZpwLTcHD ngxYPjej6yu8xX29I6HOrLgQGLnHA8iteNowZegSJnPC6Bu7eeNH+xIwWXQjQyaxBsh+kr WA6AZl3Z0vzHT1sm2HgriBbgoXoOOzLT5VKA6Sl+BQykuhQzvoWhoQArZJ9ikg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756845263; a=rsa-sha256; cv=none; b=rjceulrRdd1zMUMHcubZNmIczHFNw+ZtlnvznStMFiLaU0+Ot6WY9dBFcuVsr4UyRbyF/1 RQXLvAG8RGaribyXfhQcfYAH1ytYibRx6omJ/N4vlz751cx4pO+rlLCDW7NxMUxhg7DaKO qvZoJzJ2VBUzIoIGlrgmzlaTnL2GQ9JsIQsqCuDmGUCJJYqOIqm+/YIQ65zTCtMUMaEsdc uzm8+LHhTcKX1dQohlyvVAoEJzUC4cejq0LoXG5KBQpQcfA1/8bg8TinxhGOU9JhvFxnwf A7/CxrWdEaxXhn2x5qIsCN194u00OUSwpIOAJKLzFSgfz0t0X5gurCgzzs2O4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGcsp6cRtz12FX; Tue, 02 Sep 2025 20:34:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 582KYMr9068301; Tue, 2 Sep 2025 20:34:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582KYMeX068298; Tue, 2 Sep 2025 20:34:22 GMT (envelope-from git) Date: Tue, 2 Sep 2025 20:34:22 GMT Message-Id: <202509022034.582KYMeX068298@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: 60d5a4216b34 - main - unix/stream: fix EVFILT_WRITE after we did shutdown(2) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 60d5a4216b3479a2d62eb65f2cb03b799546dcbb Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=60d5a4216b3479a2d62eb65f2cb03b799546dcbb commit 60d5a4216b3479a2d62eb65f2cb03b799546dcbb Author: Gleb Smirnoff AuthorDate: 2025-09-02 20:34:12 +0000 Commit: Gleb Smirnoff CommitDate: 2025-09-02 20:34:12 +0000 unix/stream: fix EVFILT_WRITE after we did shutdown(2) When fixing bug 286692, the change eafe5967ac558, that fixed a case when peer side does close(), also had regressed a case when our side does shutdown(SHUT_WR). These actually are two independent code paths, and the eafe5967ac558 shouldn't have touched the second block. The removal of 'kn->kn_flags |= EV_EOF' was incorrect and the statement on original behavior in the commit message was also incorrect. Do not add back so_error setting, since I failed to find a test case that would return anything but 0 in kevent.fflags when run on stable/14. This was found with help of https://github.com/tokio-rs/mio. Add a test case into our test suite for that. Fixes: eafe5967ac558de142d91660e18e9238289890e3 Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D52327 --- sys/kern/uipc_usrreq.c | 4 +--- tests/sys/kern/unix_stream.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index 19870e989437..6138e543fae7 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -1807,9 +1807,7 @@ uipc_filt_sowrite(struct knote *kn, long hint) kn->kn_data = uipc_stream_sbspace(&so2->so_rcv); if (so2->so_rcv.sb_state & SBS_CANTRCVMORE) { - /* - * XXXGL: maybe kn->kn_flags |= EV_EOF ? - */ + kn->kn_flags |= EV_EOF; return (1); } else if (kn->kn_sfflags & NOTE_LOWAT) return (kn->kn_data >= kn->kn_sdata); diff --git a/tests/sys/kern/unix_stream.c b/tests/sys/kern/unix_stream.c index bb811f78f620..49d621dc5b0a 100644 --- a/tests/sys/kern/unix_stream.c +++ b/tests/sys/kern/unix_stream.c @@ -467,6 +467,29 @@ ATF_TC_BODY(peershutdown_wakeup_kevent, tc) }); } +ATF_TC_WITHOUT_HEAD(ourshutdown_kevent); +ATF_TC_BODY(ourshutdown_kevent, tc) +{ + struct kevent kev; + int sv[2], kq; + + do_socketpair(sv); + ATF_REQUIRE(kq = kqueue()); + + EV_SET(&kev, sv[1], EVFILT_WRITE, EV_ADD, 0, 0, NULL); + ATF_REQUIRE(kevent(kq, &kev, 1, NULL, 0, NULL) == 0); + + ATF_REQUIRE(shutdown(sv[1], SHUT_WR) == 0); + + ATF_REQUIRE(kevent(kq, NULL, 0, &kev, 1, NULL) == 1); + ATF_REQUIRE(kev.ident == (uintptr_t)sv[1] && + kev.filter == EVFILT_WRITE && + kev.flags == EV_EOF); + + close(sv[0]); + close(sv[1]); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, getpeereid); @@ -482,6 +505,7 @@ ATF_TP_ADD_TCS(tp) ATF_TP_ADD_TC(tp, peershutdown_wakeup_select); ATF_TP_ADD_TC(tp, peershutdown_wakeup_poll); ATF_TP_ADD_TC(tp, peershutdown_wakeup_kevent); + ATF_TP_ADD_TC(tp, ourshutdown_kevent); return atf_no_error(); } From nobody Tue Sep 2 20:40:33 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGd0x6Yl2z65PWm; Tue, 02 Sep 2025 20:40: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGd0x6062z3wFC; Tue, 02 Sep 2025 20:40:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756845633; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EsnEp9aHN69qaNv/2OSFnfUp7zdRjLBMZGXGL8HQNGg=; b=Z1tnCJUnAN+p400/2us3cyn5VIqeD+l8ONh75syL0rsWQyjX4JCSpWI58EmIz7rpksxsls 5CEQgDbdumSuA5a93FwEIrEizHYL1dgiAramyU+JiX8ADxb7UBNPNN9OD2uCNKU+2Cn/Rz JL6meM/C8KFKKnyjnGlljzuFWIwvaPVB/I85RQpyAuysCPtvJ4VvqhFbwyC/C1nFYEIlBr EGQeReaSwk291S8xpB3s2HDDAEDwaSCkt99DdsvS0XD8Q2rdyEmFzT0LYOQZ6x7IdkyKZK CUO1SnEprNCBqEt5XLSV3a1ZHc9UAtcJic3HjhtV7W1EhHtnHlLJrNqR7FKpXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756845633; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EsnEp9aHN69qaNv/2OSFnfUp7zdRjLBMZGXGL8HQNGg=; b=R587Ijf1OTImYAHRb+iCoDBGJAeN9aN9JGhQg5hy7IaRutb02Jqbh79irG7W9LtgjVrtrt f7YeCmBV/XHbU+TZTmD2vdg4KqAWGfBH7azdeiCqJk+y+ItXujMrcNl0co7LYf4dd1MZ4t QSk0k2FUpnmtaUGziZ9/PTUs3blGiTgArNQeHGHX7hqahUVbISx9r9Cujrkhl2vcPFI0KQ DoNouhOeD7CpJkKdeQzGafHRc7xGOAjfB3RPyENurhVGE84M9GhRzD0P3ivoT1MtTWbpAx m8yP/gzlfnM5u79Y7Gd/Cwy0urKBYAiEJhocTJvqyiaDpLpdtwMmtSoIm4Zo/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756845633; a=rsa-sha256; cv=none; b=hfIQXbDXv/dtrzAO8htoqfxdSAdBhDs8U2r918GbyFV/ZMXhqJovqUOOmFE55sejYW42e7 LxLlqcHwlybD2txmT4DhVQ8OV/rO3R92QhFz3fMlSH2x1VcPTwFexWF0hpCjbROoHhpGff 3sfntKftP4lVQraetToQGRBvf0xx2Nyb9DYxhVFRHydOavuMpgMUwALVPsKDguOkPUehh0 YGkHBISrd3cUJ5B3GGoHs98HyErFcD95zdKVsxfOa1KSWC1Y7ZDa1vS2R+U2v1tiINxUOO Djen5ac0ax1S8t6kPdgZMWpDBx5PWYNz8Z3YHieX84w4LYLlwYuw6K+PcLuk1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGd0x57SJz128n; Tue, 02 Sep 2025 20:40: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 582KeXH4078963; Tue, 2 Sep 2025 20:40:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582KeXjT078960; Tue, 2 Sep 2025 20:40:33 GMT (envelope-from git) Date: Tue, 2 Sep 2025 20:40:33 GMT Message-Id: <202509022040.582KeXjT078960@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 5240eab94e6e - main - Revert "epair: add support for checksum offloading" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5240eab94e6e218aaaa4221da5cc0d4a10c844fd Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=5240eab94e6e218aaaa4221da5cc0d4a10c844fd commit 5240eab94e6e218aaaa4221da5cc0d4a10c844fd Author: Michael Tuexen AuthorDate: 2025-09-02 20:39:32 +0000 Commit: Michael Tuexen CommitDate: 2025-09-02 20:39:32 +0000 Revert "epair: add support for checksum offloading" This reverts commit e4ea162509e400340a2bc3e755071a92f3465e2d. kp reports failures related to pf tests. Revert until we understand what is going wrong. --- share/man/man4/epair.4 | 24 +------------------- sys/net/if_epair.c | 61 ++------------------------------------------------ 2 files changed, 3 insertions(+), 82 deletions(-) diff --git a/share/man/man4/epair.4 b/share/man/man4/epair.4 index 0014836b01ea..342b15b5612a 100644 --- a/share/man/man4/epair.4 +++ b/share/man/man4/epair.4 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 2, 2025 +.Dd August 12, 2025 .Dt EPAIR 4 .Os .Sh NAME @@ -108,28 +108,6 @@ As with any other Ethernet interface, can have a .Xr vlan 4 configured on top of it. -.Pp -The -.Nm -has RXCSUM and RXCSUM6 enabled because it may receive a packet where the -checksum has already been validated by a physical interface. -The -.Nm -supports TXCSUM and TXCSUM6 for TCP and UDP, but only by forwarding the order -to compute the checksum. -Thus, when using an -.Nm -interface, a TCP or UDP sender can offload checksum computation -to a physical interface. -Note that, in case the packet does not leave the host, the checksum is -unnecessary and will be ignored if offloaded. -TXCSUM and TXCSUM6 are synchronized between the -.Nm -interface pair (i.e., enabling/disabling the capability on one end -enables/disables it on the other end). -In case one end is in a bridge and the bridge disabled TXCSUM or TXCSUM6, -this avoids a sender to send packets with checksum offloading into the -bridge by using the other end. .Sh SEE ALSO .Xr ioctl 2 , .Xr altq 4 , diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index fbffa8f359a0..581c2434b8fb 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -69,7 +69,6 @@ #include #include #include -#include #include #ifdef RSS #include @@ -435,21 +434,6 @@ epair_media_status(struct ifnet *ifp __unused, struct ifmediareq *imr) imr->ifm_active = IFM_ETHER | IFM_10G_T | IFM_FDX; } -/* - * Update ifp->if_hwassist according to the current value of ifp->if_capenable. - */ -static void -epair_caps_changed(struct ifnet *ifp) -{ - uint64_t hwassist = 0; - - if (ifp->if_capenable & IFCAP_TXCSUM) - hwassist |= CSUM_IP_TCP | CSUM_IP_UDP; - if (ifp->if_capenable & IFCAP_TXCSUM_IPV6) - hwassist |= CSUM_IP6_TCP | CSUM_IP6_UDP; - ifp->if_hwassist = hwassist; -} - static int epair_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) { @@ -477,44 +461,6 @@ epair_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) error = 0; break; - case SIOCGIFCAP: - ifr->ifr_reqcap = ifp->if_capabilities; - ifr->ifr_curcap = ifp->if_capenable; - error = 0; - break; - case SIOCSIFCAP: - /* - * Enable/disable capabilities as requested, besides - * IFCAP_RXCSUM(_IPV6), which always remain enabled. - * Incoming packets may have the mbuf flag CSUM_DATA_VALID set. - * Without IFCAP_RXCSUM(_IPV6), this flag would have to be - * removed, which does not seem helpful. - */ - ifp->if_capenable = ifr->ifr_reqcap | IFCAP_RXCSUM | - IFCAP_RXCSUM_IPV6; - epair_caps_changed(ifp); - /* - * If IFCAP_TXCSUM(_IPV6) has been changed, change it on the - * other epair interface as well. - * A bridge disables IFCAP_TXCSUM(_IPV6) when adding one epair - * interface if another interface in the bridge has it disabled. - * In that case this capability needs to be disabled on the - * other epair interface to avoid sending packets in the bridge - * that rely on this capability. - */ - sc = ifp->if_softc; - if ((ifp->if_capenable ^ sc->oifp->if_capenable) & - (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6)) { - sc->oifp->if_capenable &= - ~(IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); - sc->oifp->if_capenable |= ifp->if_capenable & - (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); - epair_caps_changed(sc->oifp); - } - VLAN_CAPABILITIES(ifp); - error = 0; - break; - default: /* Let the common ethernet handler process this. */ error = ether_ioctl(ifp, cmd, data); @@ -626,11 +572,8 @@ epair_setup_ifp(struct epair_softc *sc, char *name, int unit) ifp->if_dname = epairname; ifp->if_dunit = unit; ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_capabilities = IFCAP_VLAN_MTU | IFCAP_TXCSUM | - IFCAP_TXCSUM_IPV6 | IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; - ifp->if_capenable = IFCAP_VLAN_MTU | IFCAP_TXCSUM | - IFCAP_TXCSUM_IPV6 | IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; - epair_caps_changed(ifp); + ifp->if_capabilities = IFCAP_VLAN_MTU; + ifp->if_capenable = IFCAP_VLAN_MTU; ifp->if_transmit = epair_transmit; ifp->if_qflush = epair_qflush; ifp->if_start = epair_start; From nobody Tue Sep 2 20:42:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGd2m4tkqz65PfF; Tue, 02 Sep 2025 20:42:08 +0000 (UTC) (envelope-from tuexen@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGd2m3dlNz3wn6; Tue, 02 Sep 2025 20:42:08 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756845728; 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=FIukxloxVtZFe5mJBGy/PK30W0GxYuvvVzmfXPHQns4=; b=nSuGg/938i557fdI2jjxMjZj4qprPXyH0CPwXU2xSx3Ch+QBjAnfAJ03Yoyx/dAm2mZ1lX 5d79H+TBHzp2CppKEkSOef8pQZDuJaF2rloIsgP3dcU/2iW0JAoFiBVend3BqB7lXygYPT YG8zPC8/Pz1qVCOgpQIUj6lui5zC0X+XGM40zXbqWVBKikmXSYlslpSBMpIbeAPq05+Ug8 jo1m0yMhXxTszU9bIZyD7IuYxthb2pFz26WB22783Nyksz4R+uRalvgLb0l/CjIhiO6DsJ BMroc+A9zN7x21A/9kMJ8v099ZGLhEpGdRzp+ssKjCubeY9l1kGFAvVfGh8c6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756845728; 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=FIukxloxVtZFe5mJBGy/PK30W0GxYuvvVzmfXPHQns4=; b=rlU4accaini9gxSzz1SW+jrRk/1TJ8suZumKU/HNDrv0VMFw8FGiUpXwPFqdjUQmbRu1jW eF7cAKGV5BCVYKgdtqYIUuewlsPdjK4ZBYn0HOn1pmtVpd5fdN16KWDhcR8Nu7RJq5GK0n COkhoNEbSI70DX1rOmvHPzwwI4sWGiD+DIDz8kmqMsv+YCUL5WxprQaYETtiqdOxjRntBO Yz7mfegScWX612SminEKJpsx/XwJnU09tishfmDJ5ReXXbWkkNQFc8gPcDfoQH83SMlM6T Wgw13m9o7/xiTm+mCGWp6bKSQ67P1ztkhTUykwnEKFMtwzcs04xnyWKR3FXmLQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756845728; a=rsa-sha256; cv=none; b=G2pWZIJ1jgrKmEqFei8+fcZGP/kaE7z1MYSz28ekEZdo2iVCOLEj/HS9vqfMLxr87vC1WV QAb9YP3keW4Tf4i5Vl/09sYcdBKbvrHGyxsBrKcRPq8rlzxJ29pUipmvy5XlQFLnAFEB7z PnS68dxyITWy4ho/Y0smnX7jbEaMrXprLmWFjGdYfTebLv3Ab/odKqjRyjoz3xI5U75nPb IjjBSPLoyLnEBc806sdmg1HauDXp/kBBvVuLB0f6qIAeGCWG5I0EzBAUNYAFyTw//ZcKu3 9L1zf25V2WYY5TqMiaWHT4lCc7fF9Ano53wCuyXEUDcoWf9Uin55uOWxb99sRA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from smtpclient.apple (unknown [IPv6:2a02:8109:1101:be00:11fc:b4c1:77db:722e]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: tuexen) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cGd2l6hCMznCr; Tue, 02 Sep 2025 20:42:07 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) 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.700.81\)) Subject: Re: git: e4ea162509e4 - main - epair: add support for checksum offloading From: Michael Tuexen In-Reply-To: <1781EA53-EA6F-456B-B69D-74243A13F3FC@FreeBSD.org> Date: Tue, 2 Sep 2025 22:42:06 +0200 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: <202509012217.581MHwPo033928@gitrepo.freebsd.org> <1781EA53-EA6F-456B-B69D-74243A13F3FC@FreeBSD.org> To: Kristof Provost X-Mailer: Apple Mail (2.3826.700.81) > On 2. Sep 2025, at 22:10, Kristof Provost wrote: >=20 > On 2 Sep 2025, at 0:17, Michael Tuexen wrote: > The branch main has been updated by tuexen: > URL: = https://cgit.FreeBSD.org/src/commit/?id=3De4ea162509e400340a2bc3e755071a92= f3465e2d > commit e4ea162509e400340a2bc3e755071a92f3465e2d > Author: Timo V=C3=B6lker timo.voelker@fh-muenster.de > AuthorDate: 2025-09-01 22:03:47 +0000 > Commit: Michael Tuexen tuexen@FreeBSD.org > CommitDate: 2025-09-01 22:15:51 +0000 > epair: add support for checksum offloading >=20 > Add capabilities RXCSUM and RXCSUM6 as well as TXCSUM and TXCSUM6 for > for receive and transmit checksum offloading for TCP and UDP to the > epair interface and enable them by default. > RXCSUM and RXCSUM6 are enabled because an epair interface may receive > a packet with the csum_flag CSUM_DATA_VALID set, which is expected > only if these capabilities are enabled. Since it seems not helpful to > remove this flag, it is not possible to disable these capabilities. > TXCSUM and TXCSUM6 are synchronized between the two epair interface > ends. If enabled/disabled on one end, it will be enabled/disabled on > the other end. If the sending epair interface end has TXCSUM or = TXCSUM6 > enabled and the receiving end is in a bridge, it is assumed that all > interfaces in the bridge have that capability enabled. Otherwise the > bridge would have disabled that capability on the receiving epair > interface end in the bridge which would have disabled that capability > on the sending epair interface end as well due to the synchronization. >=20 > Reviewed by: bcr, Seyed Pouria Mousavizadeh Tehrani > MFC after: 4 weeks > Differential Revision: https://reviews.freebsd.org/D51639 >=20 > This seems to be causing a lot of pf test failures, especially in the = route_to tests. > All of these now fail, unless this commit is reverted: I have reverted the commit. We will investigate what is going wrong. Thank for the report! Best regards Michael > nat:binat_compat -> failed: atf-check failed; see the output of the = test for details [4.423s] > nat:binat_match -> failed: atf-check failed; see the output of the = test for details [7.535s] > nat:nat_match -> failed: atf-check failed; see the output of the test = for details [4.511s] > nat:nat_pass -> failed: atf-check failed; see the output of the test = for details [7.337s] > nat64:tcp_in_floating -> failed: Failed to connect to TCP server = [6.142s] > nat64:tcp_in_if_bound -> failed: Failed to connect to TCP server = [6.048s] > nat64:tcp_out_floating -> failed: Failed to connect to TCP server = [6.268s] > nat64:tcp_out_if_bound -> failed: Failed to connect to TCP server = [6.253s] > nat64:udp_in -> failed: Failed to connect to UDP server [6.097s] > nat64:udp_out -> failed: Failed to connect to UDP server [6.071s] > rdr:tcp_v6_compat -> failed: 0 !=3D 22 ( 0 !=3D 22) [2.736s] > rdr:tcp_v6_pass -> failed: 0 !=3D 23 ( 0 !=3D 23) [1.978s] > route_to:prefer_ipv6_nexthop_ipv4_random_prefix_ipv4 -> failed: = atf-check failed; see the output of the test for details [5.693s] > route_to:prefer_ipv6_nexthop_ipv4_random_table_ipv4 -> failed: = atf-check failed; see the output of the test for details [12.511s] > route_to:prefer_ipv6_nexthop_ipv6_random_prefix_ipv4 -> failed: = atf-check failed; see the output of the test for details [14.865s] > route_to:prefer_ipv6_nexthop_ipv6_random_prefix_ipv6 -> failed: = atf-check failed; see the output of the test for details [7.849s] > route_to:prefer_ipv6_nexthop_mixed_af_random_table_ipv4 -> failed: = atf-check failed; see the output of the test for details [11.843s] > route_to:prefer_ipv6_nexthop_mixed_af_roundrobin_ipv4 -> failed: = atf-check failed; see the output of the test for details [5.566s] > route_to:prefer_ipv6_nexthop_mixed_af_roundrobin_ipv6 -> failed: = atf-check failed; see the output of the test for details [11.089s] > route_to:prefer_ipv6_nexthop_single_ipv4 -> failed: atf-check failed; = see the output of the test for details [6.615s] > route_to:prefer_ipv6_nexthop_single_ipv6 -> failed: atf-check failed; = see the output of the test for details [7.210s] > route_to:random_prefix -> failed: atf-check failed; see the output of = the test for details [6.608s] > route_to:random_table -> failed: atf-check failed; see the output of = the test for details [6.513s] > route_to:roundrobin -> failed: atf-check failed; see the output of the = test for details [6.248s] > route_to:table_loop -> failed: atf-check failed; see the output of the = test for details [6.606s] > src_track:max_src_conn_rule -> failed: atf-check failed; see the = output of the test for details [4.743s] > src_track:max_src_states_global -> failed: atf-check failed; see the = output of the test for details [5.010s] > src_track:max_src_states_rule -> failed: atf-check failed; see the = output of the test for details [5.026s] > src_track:mixed_af -> failed: atf-check failed; see the output of the = test for details [5.532s] >=20 > Best regards, > Kristof From nobody Tue Sep 2 21:10:49 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGdgs64Wnz65RqR; Tue, 02 Sep 2025 21:10: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGdgs5NqGz41q8; Tue, 02 Sep 2025 21:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MQ2bckI7GlV24NiwiQ4no4fX/67IL+RwvOtW1vftkdQ=; b=IvYd0RNSL9Jwhi7nc0AylkbZ8vv/lnPMw8qRwnEtc0wn2Qz/n6qbT5BIGOgvY746j4/KSZ mRg2jVHB2yyXX2Yx/mFKjPQsSwZL28OVBIiiAWnAsXasZcyFZ+4dfROPDLN7kPQQ1rKDKH LPGo9n21u1SLFdTHFSxBxJe6mMlMReSaM2bSq/6n9HqTnfjQbqvhaoceMwpFAdSx1iHKlt hRZiAm5dv9Y+UPfRykxGExKrBA9mav9Wcw5Zvf5jn0ZfzN/X+2HOhT+LmE6PXAtuYCtDzH 0xkKWAgDa8c3MhP/JmYZpubsdxNkzuog+hm9W/+zh87oBE7S4POH6pQ15SVNew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847449; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=MQ2bckI7GlV24NiwiQ4no4fX/67IL+RwvOtW1vftkdQ=; b=bCYHn9fwDz2/zzOLYI8ixhFSCsL03nSyB2zLv2i8VLdDGH1WAoKiVmCEsgUFSssDqVsBG4 94kEx7YaUKeLNVrsPgvVG5+MmUom4SvdCn/ghVxR1++Qj14tIXqZA3zkfUvwKeo7WkFYV6 g1vVu9NpznTOrftqc0LFIU7AkAPabOm1Xe251UePDCesiRytYkosH6RP31vGi+2y5Kp3dj Ub0ukwIVwF6NjfTl6URNJ3ukFclZlkHSATLJkpGNjm4slWwrg/m9ckgVp40qSf/K59KgN8 eRUtyr8Rd69mtxPcy8pEkQMH3uieHx6sbnZG4ETOvqO4mszf/Lp8edX03QEbJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756847449; a=rsa-sha256; cv=none; b=LpK4M1WmRCrafrzY5CU2bl+DKz6anlng57rxPPdvQ6csNQbIIycLdUoVp5vlFJTZRBbAla uwfqdajjxkbjj8Cy4aEn229LEldk2hOsCoCvJnmY2ZLDgVoNGT8kv7vXArgx8qcKP/ZEuf c+PBM7RjRF6hQCYEOJptybBw+uCJR68vYMsFvcoP/+qJEdc5iwfy3SALkmu6j3M1+Uuspt EnpTQEdsk4SQdoh4wAWja2QdELF96aIQpqy+PwETAQLS9w0o/b0ziIXQ/krD5YYjDxPrGR v7QmsyQmiLxwYdmJUXgtOcnYcvfSd1XX1DjhRR6C1sIwcMu8JS063yQwosuW5A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGdgs4nqyz1324; Tue, 02 Sep 2025 21:10:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 582LAnKi036329; Tue, 2 Sep 2025 21:10:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582LAn8j036326; Tue, 2 Sep 2025 21:10:49 GMT (envelope-from git) Date: Tue, 2 Sep 2025 21:10:49 GMT Message-Id: <202509022110.582LAn8j036326@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: 932ec59d9996 - main - pf: fix ICMP type/code representation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 932ec59d9996af2dda50287d56186708d8388539 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=932ec59d9996af2dda50287d56186708d8388539 commit 932ec59d9996af2dda50287d56186708d8388539 Author: Kristof Provost AuthorDate: 2025-08-12 09:35:22 +0000 Commit: Kristof Provost CommitDate: 2025-09-02 21:10:19 +0000 pf: fix ICMP type/code representation internal representation of icmp type/code in pfctl(8)/pf(4) does not fit into u_int8_t. Issue has been noticed and kindly reported by amalinin _at_ bh0.amt.ru via bugs@. OK bluhm@ Obtained from: OpenBSD, sashan , 1fdb608f55 Sponsored by: Rubicon Communications, LLC ("Netgate") --- lib/libpfctl/libpfctl.c | 6 ++++-- lib/libpfctl/libpfctl.h | 4 ++-- sbin/pfctl/parse.y | 4 ++-- sys/net/pfvar.h | 4 ++-- sys/netpfil/pf/pf_nl.c | 6 ++++++ sys/netpfil/pf/pf_nl.h | 2 ++ sys/netpfil/pf/pf_nv.c | 7 +++++-- 7 files changed, 23 insertions(+), 10 deletions(-) diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index 0037f31df04b..190ee46baf21 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -1284,8 +1284,8 @@ snl_add_msg_attr_pf_rule(struct snl_writer *nw, uint32_t type, const struct pfct snl_add_msg_attr_u8(nw, PF_RT_KEEP_STATE, r->keep_state); snl_add_msg_attr_u8(nw, PF_RT_AF, r->af); snl_add_msg_attr_u8(nw, PF_RT_PROTO, r->proto); - snl_add_msg_attr_u8(nw, PF_RT_TYPE, r->type); - snl_add_msg_attr_u8(nw, PF_RT_CODE, r->code); + snl_add_msg_attr_u16(nw, PF_RT_TYPE_2, r->type); + snl_add_msg_attr_u16(nw, PF_RT_CODE_2, r->code); snl_add_msg_attr_u8(nw, PF_RT_FLAGS, r->flags); snl_add_msg_attr_u8(nw, PF_RT_FLAGSET, r->flagset); snl_add_msg_attr_u8(nw, PF_RT_MIN_TTL, r->min_ttl); @@ -1694,6 +1694,8 @@ static struct snl_attr_parser ap_getrule[] = { { .type = PF_RT_SRC_NODES_ROUTE, .off = _OUT(r.src_nodes_type[PF_SN_ROUTE]), .cb = snl_attr_get_uint64 }, { .type = PF_RT_PKTRATE, .off = _OUT(r.pktrate), .arg = &pfctl_threshold_parser, .cb = snl_attr_get_nested }, { .type = PF_RT_MAX_PKT_SIZE, .off =_OUT(r.max_pkt_size), .cb = snl_attr_get_uint16 }, + { .type = PF_RT_TYPE_2, .off = _OUT(r.type), .cb = snl_attr_get_uint16 }, + { .type = PF_RT_CODE_2, .off = _OUT(r.code), .cb = snl_attr_get_uint16 }, }; #undef _OUT SNL_DECLARE_PARSER(getrule_parser, struct genlmsghdr, snl_f_p_empty, ap_getrule); diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index f6c8f6a2ccdb..da16d5179ec0 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -261,8 +261,8 @@ struct pfctl_rule { uint8_t keep_state; sa_family_t af; uint8_t proto; - uint8_t type; - uint8_t code; + uint16_t type; + uint16_t code; uint8_t flags; uint8_t flagset; uint8_t min_ttl; diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 59c27d1f5d7c..dce5800df27a 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -166,8 +166,8 @@ struct node_gid { }; struct node_icmp { - u_int8_t code; - u_int8_t type; + uint16_t code; + uint16_t type; u_int8_t proto; struct node_icmp *next; struct node_icmp *tail; diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index cf6d2508cf65..3761ddae814f 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -860,8 +860,8 @@ struct pf_krule { u_int8_t keep_state; sa_family_t af; u_int8_t proto; - u_int8_t type; - u_int8_t code; + uint16_t type; + uint16_t code; u_int8_t flags; u_int8_t flagset; u_int8_t min_ttl; diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 45b5b8dd5fef..763079ea651a 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -763,6 +763,8 @@ static const struct nlattr_parser nla_p_rule[] = { { .type = PF_RT_RCV_IFNOT, .off = _OUT(rcvifnot), .cb = nlattr_get_bool }, { .type = PF_RT_PKTRATE, .off = _OUT(pktrate), .arg = &threshold_parser, .cb = nlattr_get_nested }, { .type = PF_RT_MAX_PKT_SIZE, .off = _OUT(max_pkt_size), .cb = nlattr_get_uint16 }, + { .type = PF_RT_TYPE_2, .off = _OUT(type), .cb = nlattr_get_uint16 }, + { .type = PF_RT_CODE_2, .off = _OUT(code), .cb = nlattr_get_uint16 }, }; NL_DECLARE_ATTR_PARSER(rule_parser, nla_p_rule); #undef _OUT @@ -984,8 +986,12 @@ pf_handle_getrule(struct nlmsghdr *hdr, struct nl_pstate *npt) nlattr_add_u8(nw, PF_RT_AF, rule->af); nlattr_add_u8(nw, PF_RT_NAF, rule->naf); nlattr_add_u8(nw, PF_RT_PROTO, rule->proto); + nlattr_add_u8(nw, PF_RT_TYPE, rule->type); nlattr_add_u8(nw, PF_RT_CODE, rule->code); + nlattr_add_u16(nw, PF_RT_TYPE_2, rule->type); + nlattr_add_u16(nw, PF_RT_CODE_2, rule->code); + nlattr_add_u8(nw, PF_RT_FLAGS, rule->flags); nlattr_add_u8(nw, PF_RT_FLAGSET, rule->flagset); nlattr_add_u8(nw, PF_RT_MIN_TTL, rule->min_ttl); diff --git a/sys/netpfil/pf/pf_nl.h b/sys/netpfil/pf/pf_nl.h index 87daac393821..b60d3d4797c6 100644 --- a/sys/netpfil/pf/pf_nl.h +++ b/sys/netpfil/pf/pf_nl.h @@ -283,6 +283,8 @@ enum pf_rule_type_t { PF_RT_SRC_NODES_ROUTE = 81, /* u64 */ PF_RT_PKTRATE = 82, /* nested, pf_threshold_type_t */ PF_RT_MAX_PKT_SIZE = 83, /* u16 */ + PF_RT_TYPE_2 = 84, /* u16 */ + PF_RT_CODE_2 = 85, /* u16 */ }; enum pf_addrule_type_t { diff --git a/sys/netpfil/pf/pf_nv.c b/sys/netpfil/pf/pf_nv.c index 89486928e6e1..2f484e2dabc6 100644 --- a/sys/netpfil/pf/pf_nv.c +++ b/sys/netpfil/pf/pf_nv.c @@ -505,6 +505,7 @@ int pf_nvrule_to_krule(const nvlist_t *nvl, struct pf_krule *rule) { int error = 0; + uint8_t tmp; #define ERROUT(x) ERROUT_FUNCTION(errout, x) @@ -610,8 +611,10 @@ pf_nvrule_to_krule(const nvlist_t *nvl, struct pf_krule *rule) PFNV_CHK(pf_nvuint8(nvl, "keep_state", &rule->keep_state)); PFNV_CHK(pf_nvuint8(nvl, "af", &rule->af)); PFNV_CHK(pf_nvuint8(nvl, "proto", &rule->proto)); - PFNV_CHK(pf_nvuint8(nvl, "type", &rule->type)); - PFNV_CHK(pf_nvuint8(nvl, "code", &rule->code)); + PFNV_CHK(pf_nvuint8(nvl, "type", &tmp)); + rule->type = tmp; + PFNV_CHK(pf_nvuint8(nvl, "code", &tmp)); + rule->code = tmp; PFNV_CHK(pf_nvuint8(nvl, "flags", &rule->flags)); PFNV_CHK(pf_nvuint8(nvl, "flagset", &rule->flagset)); PFNV_CHK(pf_nvuint8(nvl, "min_ttl", &rule->min_ttl)); From nobody Tue Sep 2 21:10:50 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGdgv0Wx8z65S4h; Tue, 02 Sep 2025 21:10: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGdgt6cRDz41w5; Tue, 02 Sep 2025 21:10:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+WItCKKnTu9fLdlsuyJD6sytTWO7D3z2uguWJKd6APU=; b=Y72rcICPz+swMRup3xXJlO9xFUAHoRJAKvNHVkaSDc9HYEKprjGPFUqSqU2/F9yhwDrEmY vIpZW+ZM499zEMTIu2JzYOSb20vDcmn8wQQ/Gc0oAepiCnGrIzJMsgb23WBFEY2YTwC8r2 +QSp51ALGtRnd2mjHlG5irAUtySv+VSU4StbwdNzrSp2f6indNSM+Yl3zsg6/dligguhop 05drtl8oph6lqqgkt5t5qj/NQPpXKOYIZC5po+3P+ngEdjyJqdZIDcK5CGHm8LJmEqJ5o/ bH+SAlL8OFMyXQDGrLnJHwsIfXGRsAjx5uQhgn9J3nnWspEPb0zmET2OFwfsQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847451; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+WItCKKnTu9fLdlsuyJD6sytTWO7D3z2uguWJKd6APU=; b=AR2uGVM5162iFAlsEo1u0zBr0zHqQJo5lyk26YRvhzeZSPka5qDkWsQQUa4uxD1GG/xQz1 hojORw6AR6rh882jc+0HUpTjMO1xmPfGZDuoNbZBJiHynRqia1KWiJ+zSkA5AskCNHb18K i5zZwNvmfSSiLC4qKbcVUeZlsDkFHOhJzHoBugqymmXPv9dUwyKWzDn+3cS4B+KQbLCig3 xGeJUDXeMA43EjKVZe5jlU6eWERY7KnpqWbJT+/egl38XnW7DM/ThR5EiEHCE5Ih5J/OgV B62erajYWVSyVjfZseYBXoJoYuPHzS12m3NE/LkK+iwGU0lrB9H9EhjEtfCqAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756847451; a=rsa-sha256; cv=none; b=vAG/SG053wZRB83Fhq0LLwhV92oqae2wbHNgSFQBZxX6RWaSHgdiC731wmN3R0eboUDL0J qZ1pIFHB6iyv7wQba967c7SNQQd82fIP0o3Ods6V3wUDGBjl+DWLRFIkpXJNZFqboqbqOj uL5ZLt3+7QdFl85Tpe2tGfOu4DDuNQS0s8x8IaplC8ByZf46rtev4rWb0eOCISRiaL/zwe MUkY3mpuWbeXoWVJBxaCsh8yLqAh65HzW4TiXdlU1El77uZfJF30Tr3Cai41XUT5kB8sst eY+JCamBjyueZxUNrWTZBGq9R53o1apDUK57VSUbDCPSW64ueylq5Be7/PKBdQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGdgt638xz12Mb; Tue, 02 Sep 2025 21:10: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 582LAocv036367; Tue, 2 Sep 2025 21:10:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582LAoFb036364; Tue, 2 Sep 2025 21:10:50 GMT (envelope-from git) Date: Tue, 2 Sep 2025 21:10:50 GMT Message-Id: <202509022110.582LAoFb036364@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: 67082c75f740 - main - pf: should be enforcing TTL=1 to packets sent to 224.0.0.1 only. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 67082c75f740ac63d068f154ca0f88e71a3ca960 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=67082c75f740ac63d068f154ca0f88e71a3ca960 commit 67082c75f740ac63d068f154ca0f88e71a3ca960 Author: Kristof Provost AuthorDate: 2025-08-12 15:22:30 +0000 Commit: Kristof Provost CommitDate: 2025-09-02 21:10:19 +0000 pf: should be enforcing TTL=1 to packets sent to 224.0.0.1 only. Issue found and kindly reported by Luca Di Gregorio OK bluhm@ Obtained from: OpenBSD, sashan , 58feb3ffc6 Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 9 ++++++--- tests/sys/netpfil/pf/igmp.py | 6 ++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 4325835c7671..a9d89afd58a1 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -9997,9 +9997,12 @@ pf_walk_header(struct pf_pdesc *pd, struct ip *h, u_short *reason) pd->proto = h->ip_p; /* IGMP packets have router alert options, allow them */ if (pd->proto == IPPROTO_IGMP) { - /* According to RFC 1112 ttl must be set to 1. */ - if ((h->ip_ttl != 1) || - !IN_MULTICAST(ntohl(h->ip_dst.s_addr))) { + /* + * According to RFC 1112 ttl must be set to 1 in all IGMP + * packets sent to 224.0.0.1 + */ + if ((h->ip_ttl != 1) && + (h->ip_dst.s_addr == INADDR_ALLHOSTS_GROUP)) { DPFPRINTF(PF_DEBUG_MISC, "Invalid IGMP"); REASON_SET(reason, PFRES_IPOPTIONS); return (PF_DROP); diff --git a/tests/sys/netpfil/pf/igmp.py b/tests/sys/netpfil/pf/igmp.py index b339a2825082..5d72a1c093a7 100644 --- a/tests/sys/netpfil/pf/igmp.py +++ b/tests/sys/netpfil/pf/igmp.py @@ -93,3 +93,9 @@ class TestIGMP(VnetTestTemplate): options=[sp.IPOption_Router_Alert()]) \ / sc.igmp.IGMP(type=0x11, mrcode=1) assert not self.find_igmp_reply(pkt, ifname) + + # Or with the wrong destination address + pkt = sp.IP(dst="224.0.0.2%%%s" % ifname, ttl=2, + options=[sp.IPOption_Router_Alert()]) \ + / sc.igmp.IGMP(type=0x11, mrcode=1) + assert not self.find_igmp_reply(pkt, ifname) From nobody Tue Sep 2 21:10:51 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGdgw1c3jz65RqT; Tue, 02 Sep 2025 21:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGdgw0JzPz426S; Tue, 02 Sep 2025 21:10:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=53jNAHD99KRl0wYXYJ8mgFuOZqlfGHtE5B6f0/Ucgzs=; b=gBk3SwF4rWhd4+LZ/6dlSsOb30LOUjvASj0+7KLBJeaNk1++bZGMjT6vUQS9ziUncSfS3m l713k+vqTkbZK9fFb9ke1Usnh7nu0w7VUWGazWO0xffggwQXZaYlSCbFXgls57rdkDbx6u gwGK8EXif9eDtKeqGqS8WRwh10d6sfbbnaEAvrnmHLJKstx/bbyEJcKuJZMlzejkcSXcQt yMqzeg7p1nK863ZyAj6WzOLtkOicS5jOjCs1gyCmhouOPilWOoPHmxtkIhpnu1TC6ZUxgr rpF/pi8ZOk6DiuGe0pZlzeZXg68r9R85VD1IIivX0R1DIZOdVRqz7Ply2yX9og== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847452; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=53jNAHD99KRl0wYXYJ8mgFuOZqlfGHtE5B6f0/Ucgzs=; b=SjIkpxZQY0cpPJwe7Zm4JXEpSwuT6DeQOkcMRxOE+oWKitKwuRON6wBMXcmz/e1PesZttC Od3/YWC0nLVtPf8RFonBgxP4BmGl5Xza0axpCfuHpQQDSig5FwHbdxsLOd1y58rpNRPN28 zCq3/r6FcbmmQ4InB8EAu/ik/l+nhNebuCFd7yjteNllaBuNMrbU+5Alo31iHVis4RWkYF d0qJk35bHQNNbEVOcDglrLekLZZqlpzy21JJLt3gP18Hkv3qjkCvlcjYESGGEqJBYihpfy 1g8rOF/3c1kv/XgNcWWOt6abGoI8duphJUm4wrsUfpw1fLWoZ/LR70vp1FeOmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756847452; a=rsa-sha256; cv=none; b=v8mlnxshnzUDgXx5vevrRiuSM22RZhD9GFFAyruxHecm0F7bmYv5tAkvygyAkeFbqC0T4k DFAlwZW8XJ1rMGlNP94jTtgHQXdUzThlxEWgonobCqVSltFadn7Ittu8fagUJ9hcgeNw/B gPGxJQYCdvgO7lE4B4nED5/BDxpkCIOLlDt+XU5hNqXliwRRaqgePdSq8V+8PUb4MeXhGC 1T9+DlK+kXwi4EdyRbCNo8en5XzvEOvJLKFer26rj1ODHM/YP000hVexu5m87J5/6vYixW H9h79CkX2E9wTAxwYeBMkFMN2RKzZ8Apumqr2epFtN6Apcj1FBTJh0KwnL4ATw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGdgv71gyz130X; Tue, 02 Sep 2025 21:10: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 582LApJ7036409; Tue, 2 Sep 2025 21:10:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582LApXD036406; Tue, 2 Sep 2025 21:10:51 GMT (envelope-from git) Date: Tue, 2 Sep 2025 21:10:51 GMT Message-Id: <202509022110.582LApXD036406@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: d64ba46792e7 - main - pfctl: Rewrite some ugly for loops List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d64ba46792e786aecbd9a3d5b0579e1e224a0433 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d64ba46792e786aecbd9a3d5b0579e1e224a0433 commit d64ba46792e786aecbd9a3d5b0579e1e224a0433 Author: Kristof Provost AuthorDate: 2025-08-12 15:34:44 +0000 Commit: Kristof Provost CommitDate: 2025-09-02 21:10:19 +0000 pfctl: Rewrite some ugly for loops This fixes a few KNF issues and ugly line wrapping by using a local version of nitems(); fix two bsearch() on top. ok claudio FreeBSD note: we already used nitems(), but now pick up the use of size_t over unsigned int. Obtained from: OpenBSD, tb , 3d49904c6e Sponsored by: Rubicon Communications, LLC ("Netgate") --- sbin/pfctl/pfctl_parser.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sbin/pfctl/pfctl_parser.c b/sbin/pfctl/pfctl_parser.c index 3c4f9f6b4334..ce58e0636022 100644 --- a/sbin/pfctl/pfctl_parser.c +++ b/sbin/pfctl/pfctl_parser.c @@ -242,7 +242,7 @@ copy_satopfaddr(struct pf_addr *pfa, struct sockaddr *sa) const struct icmptypeent * geticmptypebynumber(u_int8_t type, sa_family_t af) { - unsigned int i; + size_t i; if (af != AF_INET6) { for (i=0; i < nitems(icmp_type); i++) { @@ -261,7 +261,7 @@ geticmptypebynumber(u_int8_t type, sa_family_t af) const struct icmptypeent * geticmptypebyname(char *w, sa_family_t af) { - unsigned int i; + size_t i; if (af != AF_INET6) { for (i=0; i < nitems(icmp_type); i++) { @@ -280,7 +280,7 @@ geticmptypebyname(char *w, sa_family_t af) const struct icmpcodeent * geticmpcodebynumber(u_int8_t type, u_int8_t code, sa_family_t af) { - unsigned int i; + size_t i; if (af != AF_INET6) { for (i=0; i < nitems(icmp_code); i++) { @@ -301,7 +301,7 @@ geticmpcodebynumber(u_int8_t type, u_int8_t code, sa_family_t af) const struct icmpcodeent * geticmpcodebyname(u_long type, char *w, sa_family_t af) { - unsigned int i; + size_t i; if (af != AF_INET6) { for (i=0; i < nitems(icmp_code); i++) { From nobody Tue Sep 2 21:10:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGdgx4Kvfz65RpV; Tue, 02 Sep 2025 21:10: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGdgx1mF9z4292; Tue, 02 Sep 2025 21:10:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tRTE6gsKtvhMNr4/xet76xoJoSGS8S/Su/n+g3cT4ys=; b=RWdPRRA93pzcm1f8ItE0UPM+Bw8oZy0u8P+SkNesVqtxRjakl15Uj8jgAYdrGMZF5aOn/z hzeLjKMPNPTdM+p3JUFcsj88xarXOJTw2exO8HB2R92j3oBwCn0cw66gzBXRj/CG0Zqm23 m/X90HGBf/zJ0v9OWeV7oJMFXJ3iiAQacuLqHkHorwCOUnX3gU+XWFOaTdra5OlF8guWnv TbSvaOmtAe/V1J20HW+56v4C26Cy9US3PszG20/I1Bku1g7a58ELiTWtGPSqU2kmK2c7pW Okh1LCHY/deZRQaTO08CrPWcisTzMq46Ork50REwBYxZ1Hm0cYalSmLeUTVyTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847453; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tRTE6gsKtvhMNr4/xet76xoJoSGS8S/Su/n+g3cT4ys=; b=vinMLViQWjzcngK74dNwfUD6NS2Wfbms0adfzbS+JVAw9+FiN6b8/Yz4VlRjZq1Ozr3JjH a8eTwIJe+PTnbct26FczIi+MFSFG6ZrWFhbgJrHmTyf9J5j/zORnNryXtBgD5bD5vC1k4/ YgHv25nBT+XK6qnzWVk0JHY9XTgNdXrtJA075mMX7H474pn8xJh5BaNxCg7uY51QqtXtxm m15P3Kk6UrbLGxyptPYHApQV9ASc2mNw4SN/4+kthsLtLJCof2+2fwDaVmgqWSb+I/ehRe dudeVj3XJA0dGk8s201OyUQoCgPSh5ldVa7moWan2Iv9DFuYiYTV6Zku7kVppQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756847453; a=rsa-sha256; cv=none; b=Q2n3zU0xRr6pLC3KOqBZmEKtiGkyDm3I3e96utT0KfvMOyj37Buzq7Xs6g2sFB4RQWpnRE B8bCZT8NToSwzg7bWQyOw6IK1Hg8t6pkVK79rxQRiVQJl1ByUewaN/C7I2PichwFtWKDSZ rxg96QpVCXU7PzX/vKVemM1k1ThAHO2wKhctp2EFYlpp5v5K+O2ZkChsBnqs/CRx2Fu5Rf YM2EgD72WjlURLL2MSBfN9OykpOVLJac5eYOVY8XrTIe6qA5i+0vvYM5Guh4ubE+Q9VmkT NDUDpNRSNzYcbhGx90FVKoXFPc1RkyeQ+q1VC4w4P3FjMU68jpF3id8w9Fiv3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGdgx0fndz13KC; Tue, 02 Sep 2025 21:10: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 582LAr8k036444; Tue, 2 Sep 2025 21:10:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582LAr4f036441; Tue, 2 Sep 2025 21:10:53 GMT (envelope-from git) Date: Tue, 2 Sep 2025 21:10:53 GMT Message-Id: <202509022110.582LAr4f036441@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: ddd39152743a - main - pf: Introduce M_PF type for pf(4) related memory allocations. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ddd39152743abc3cff05e7475c0ce48aa303956a Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ddd39152743abc3cff05e7475c0ce48aa303956a commit ddd39152743abc3cff05e7475c0ce48aa303956a Author: Kristof Provost AuthorDate: 2025-08-18 12:19:40 +0000 Commit: Kristof Provost CommitDate: 2025-09-02 21:10:20 +0000 pf: Introduce M_PF type for pf(4) related memory allocations. Currently used M_TEMP and M_IFADDR types are unreasonable for that purpose. This dedicated statistics simplify the future pf(4) unlocking work by decreasing search area of possible memory leaks. ok bluhm sashan FreeBSD note: The unlocking work has already been done in FreeBSD, but it's still useful to have all pf malloc() allocations be accounted to pf, not the generic 'temp' bucket. Obtained from: OpenBSD, mvs , 062cda8b8d Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 1 + sys/netpfil/pf/if_pfsync.c | 8 +-- sys/netpfil/pf/pf_ioctl.c | 169 ++++++++++++++++++++++---------------------- sys/netpfil/pf/pf_nl.c | 4 +- sys/netpfil/pf/pf_ruleset.c | 4 +- 5 files changed, 94 insertions(+), 92 deletions(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 3761ddae814f..79855fa84359 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -326,6 +326,7 @@ pf_counter_u64_zero(struct pf_counter_u64 *pfcu64) _Static_assert(sizeof(time_t) == 4 || sizeof(time_t) == 8, "unexpected time_t size"); SYSCTL_DECL(_net_pf); +MALLOC_DECLARE(M_PF); MALLOC_DECLARE(M_PFHASH); MALLOC_DECLARE(M_PF_RULE_ITEM); diff --git a/sys/netpfil/pf/if_pfsync.c b/sys/netpfil/pf/if_pfsync.c index cfc300d99396..7b9405ee1f8d 100644 --- a/sys/netpfil/pf/if_pfsync.c +++ b/sys/netpfil/pf/if_pfsync.c @@ -1743,16 +1743,16 @@ pfsyncioctl(struct ifnet *ifp, u_long cmd, caddr_t data) if (ifr->ifr_cap_nv.length > IFR_CAP_NV_MAXBUFSIZE) return (EINVAL); - data = malloc(ifr->ifr_cap_nv.length, M_TEMP, M_WAITOK); + data = malloc(ifr->ifr_cap_nv.length, M_PF, M_WAITOK); if ((error = copyin(ifr->ifr_cap_nv.buffer, data, ifr->ifr_cap_nv.length)) != 0) { - free(data, M_TEMP); + free(data, M_PF); return (error); } if ((nvl = nvlist_unpack(data, ifr->ifr_cap_nv.length, 0)) == NULL) { - free(data, M_TEMP); + free(data, M_PF); return (EINVAL); } @@ -1760,7 +1760,7 @@ pfsyncioctl(struct ifnet *ifp, u_long cmd, caddr_t data) pfsync_nvstatus_to_kstatus(nvl, &status); nvlist_destroy(nvl); - free(data, M_TEMP); + free(data, M_PF); error = pfsync_kstatus_to_softc(&status, sc); return (error); diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index d395730d6a54..7a14c0946dfc 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -187,6 +187,7 @@ VNET_DEFINE(uma_zone_t, pf_tag_z); #define V_pf_tag_z VNET(pf_tag_z) static MALLOC_DEFINE(M_PFALTQ, "pf_altq", "pf(4) altq configuration db"); static MALLOC_DEFINE(M_PFRULE, "pf_rule", "pf(4) rules"); +MALLOC_DEFINE(M_PF, "pf", "pf(4)"); #if (PF_QNAME_SIZE != PF_TAG_NAME_SIZE) #error PF_QNAME_SIZE must be equal to PF_TAG_NAME_SIZE @@ -1181,7 +1182,7 @@ pf_rule_tree_alloc(int flags) { struct pf_krule_global *tree; - tree = malloc(sizeof(struct pf_krule_global), M_TEMP, flags); + tree = malloc(sizeof(struct pf_krule_global), M_PF, flags); if (tree == NULL) return (NULL); RB_INIT(tree); @@ -1192,7 +1193,7 @@ static void pf_rule_tree_free(struct pf_krule_global *tree) { - free(tree, M_TEMP); + free(tree, M_PF); } static int @@ -1211,7 +1212,7 @@ pf_begin_rules(u_int32_t *ticket, int rs_num, const char *anchor) return (ENOMEM); rs = pf_find_or_create_kruleset(anchor); if (rs == NULL) { - free(tree, M_TEMP); + free(tree, M_PF); return (EINVAL); } pf_rule_tree_free(rs->rules[rs_num].inactive.tree); @@ -1432,7 +1433,7 @@ pf_commit_rules(u_int32_t ticket, int rs_num, char *anchor) rs->rules[rs_num].inactive.rcount = 0; rs->rules[rs_num].inactive.open = 0; pf_remove_if_empty_kruleset(rs); - free(old_tree, M_TEMP); + free(old_tree, M_PF); return (0); } @@ -4077,7 +4078,7 @@ DIOCCHANGERULE_error: out = ps->ps_states; pstore = mallocarray(slice_count, - sizeof(struct pfsync_state_1301), M_TEMP, M_WAITOK | M_ZERO); + sizeof(struct pfsync_state_1301), M_PF, M_WAITOK | M_ZERO); nr = 0; for (i = 0; i <= V_pf_hashmask; i++) { @@ -4099,10 +4100,10 @@ DIOCGETSTATES_retry: if (count > slice_count) { PF_HASHROW_UNLOCK(ih); - free(pstore, M_TEMP); + free(pstore, M_PF); slice_count = count * 2; pstore = mallocarray(slice_count, - sizeof(struct pfsync_state_1301), M_TEMP, + sizeof(struct pfsync_state_1301), M_PF, M_WAITOK | M_ZERO); goto DIOCGETSTATES_retry; } @@ -4130,7 +4131,7 @@ DIOCGETSTATES_retry: } DIOCGETSTATES_full: ps->ps_len = sizeof(struct pfsync_state_1301) * nr; - free(pstore, M_TEMP); + free(pstore, M_PF); break; } @@ -4156,7 +4157,7 @@ DIOCGETSTATES_full: out = ps->ps_states; pstore = mallocarray(slice_count, - sizeof(struct pf_state_export), M_TEMP, M_WAITOK | M_ZERO); + sizeof(struct pf_state_export), M_PF, M_WAITOK | M_ZERO); nr = 0; for (i = 0; i <= V_pf_hashmask; i++) { @@ -4178,10 +4179,10 @@ DIOCGETSTATESV2_retry: if (count > slice_count) { PF_HASHROW_UNLOCK(ih); - free(pstore, M_TEMP); + free(pstore, M_PF); slice_count = count * 2; pstore = mallocarray(slice_count, - sizeof(struct pf_state_export), M_TEMP, + sizeof(struct pf_state_export), M_PF, M_WAITOK | M_ZERO); goto DIOCGETSTATESV2_retry; } @@ -4208,7 +4209,7 @@ DIOCGETSTATESV2_retry: } DIOCGETSTATESV2_full: ps->ps_len = nr * sizeof(struct pf_state_export); - free(pstore, M_TEMP); + free(pstore, M_PF); break; } @@ -4738,17 +4739,17 @@ DIOCCHANGEADDR_error: totlen = io->pfrio_size * sizeof(struct pfr_table); pfrts = mallocarray(io->pfrio_size, sizeof(struct pfr_table), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->pfrio_buffer, pfrts, totlen); if (error) { - free(pfrts, M_TEMP); + free(pfrts, M_PF); goto fail; } PF_RULES_WLOCK(); error = pfr_add_tables(pfrts, io->pfrio_size, &io->pfrio_nadd, io->pfrio_flags | PFR_FLAG_USERIOCTL); PF_RULES_WUNLOCK(); - free(pfrts, M_TEMP); + free(pfrts, M_PF); break; } @@ -4770,17 +4771,17 @@ DIOCCHANGEADDR_error: totlen = io->pfrio_size * sizeof(struct pfr_table); pfrts = mallocarray(io->pfrio_size, sizeof(struct pfr_table), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->pfrio_buffer, pfrts, totlen); if (error) { - free(pfrts, M_TEMP); + free(pfrts, M_PF); goto fail; } PF_RULES_WLOCK(); error = pfr_del_tables(pfrts, io->pfrio_size, &io->pfrio_ndel, io->pfrio_flags | PFR_FLAG_USERIOCTL); PF_RULES_WUNLOCK(); - free(pfrts, M_TEMP); + free(pfrts, M_PF); break; } @@ -4806,7 +4807,7 @@ DIOCCHANGEADDR_error: totlen = io->pfrio_size * sizeof(struct pfr_table); pfrts = mallocarray(io->pfrio_size, sizeof(struct pfr_table), - M_TEMP, M_NOWAIT | M_ZERO); + M_PF, M_NOWAIT | M_ZERO); if (pfrts == NULL) { error = ENOMEM; PF_RULES_RUNLOCK(); @@ -4817,7 +4818,7 @@ DIOCCHANGEADDR_error: PF_RULES_RUNLOCK(); if (error == 0) error = copyout(pfrts, io->pfrio_buffer, totlen); - free(pfrts, M_TEMP); + free(pfrts, M_PF); break; } @@ -4844,7 +4845,7 @@ DIOCCHANGEADDR_error: totlen = io->pfrio_size * sizeof(struct pfr_tstats); pfrtstats = mallocarray(io->pfrio_size, - sizeof(struct pfr_tstats), M_TEMP, M_NOWAIT | M_ZERO); + sizeof(struct pfr_tstats), M_PF, M_NOWAIT | M_ZERO); if (pfrtstats == NULL) { error = ENOMEM; PF_RULES_RUNLOCK(); @@ -4857,7 +4858,7 @@ DIOCCHANGEADDR_error: PF_TABLE_STATS_UNLOCK(); if (error == 0) error = copyout(pfrtstats, io->pfrio_buffer, totlen); - free(pfrtstats, M_TEMP); + free(pfrtstats, M_PF); break; } @@ -4882,10 +4883,10 @@ DIOCCHANGEADDR_error: totlen = io->pfrio_size * sizeof(struct pfr_table); pfrts = mallocarray(io->pfrio_size, sizeof(struct pfr_table), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->pfrio_buffer, pfrts, totlen); if (error) { - free(pfrts, M_TEMP); + free(pfrts, M_PF); goto fail; } @@ -4895,7 +4896,7 @@ DIOCCHANGEADDR_error: &io->pfrio_nzero, io->pfrio_flags | PFR_FLAG_USERIOCTL); PF_RULES_RUNLOCK(); PF_TABLE_STATS_UNLOCK(); - free(pfrts, M_TEMP); + free(pfrts, M_PF); break; } @@ -4923,10 +4924,10 @@ DIOCCHANGEADDR_error: totlen = io->pfrio_size * sizeof(struct pfr_table); pfrts = mallocarray(io->pfrio_size, sizeof(struct pfr_table), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->pfrio_buffer, pfrts, totlen); if (error) { - free(pfrts, M_TEMP); + free(pfrts, M_PF); goto fail; } PF_RULES_WLOCK(); @@ -4934,7 +4935,7 @@ DIOCCHANGEADDR_error: io->pfrio_setflag, io->pfrio_clrflag, &io->pfrio_nchange, &io->pfrio_ndel, io->pfrio_flags | PFR_FLAG_USERIOCTL); PF_RULES_WUNLOCK(); - free(pfrts, M_TEMP); + free(pfrts, M_PF); break; } @@ -4969,10 +4970,10 @@ DIOCCHANGEADDR_error: } totlen = io->pfrio_size * sizeof(struct pfr_addr); pfras = mallocarray(io->pfrio_size, sizeof(struct pfr_addr), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->pfrio_buffer, pfras, totlen); if (error) { - free(pfras, M_TEMP); + free(pfras, M_PF); goto fail; } PF_RULES_WLOCK(); @@ -4983,7 +4984,7 @@ DIOCCHANGEADDR_error: PF_RULES_WUNLOCK(); if (error == 0 && io->pfrio_flags & PFR_FLAG_FEEDBACK) error = copyout(pfras, io->pfrio_buffer, totlen); - free(pfras, M_TEMP); + free(pfras, M_PF); break; } @@ -5004,10 +5005,10 @@ DIOCCHANGEADDR_error: } totlen = io->pfrio_size * sizeof(struct pfr_addr); pfras = mallocarray(io->pfrio_size, sizeof(struct pfr_addr), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->pfrio_buffer, pfras, totlen); if (error) { - free(pfras, M_TEMP); + free(pfras, M_PF); goto fail; } PF_RULES_WLOCK(); @@ -5017,7 +5018,7 @@ DIOCCHANGEADDR_error: PF_RULES_WUNLOCK(); if (error == 0 && io->pfrio_flags & PFR_FLAG_FEEDBACK) error = copyout(pfras, io->pfrio_buffer, totlen); - free(pfras, M_TEMP); + free(pfras, M_PF); break; } @@ -5041,11 +5042,11 @@ DIOCCHANGEADDR_error: goto fail; } totlen = count * sizeof(struct pfr_addr); - pfras = mallocarray(count, sizeof(struct pfr_addr), M_TEMP, + pfras = mallocarray(count, sizeof(struct pfr_addr), M_PF, M_WAITOK); error = copyin(io->pfrio_buffer, pfras, totlen); if (error) { - free(pfras, M_TEMP); + free(pfras, M_PF); goto fail; } PF_RULES_WLOCK(); @@ -5056,7 +5057,7 @@ DIOCCHANGEADDR_error: PF_RULES_WUNLOCK(); if (error == 0 && io->pfrio_flags & PFR_FLAG_FEEDBACK) error = copyout(pfras, io->pfrio_buffer, totlen); - free(pfras, M_TEMP); + free(pfras, M_PF); break; } @@ -5077,14 +5078,14 @@ DIOCCHANGEADDR_error: } totlen = io->pfrio_size * sizeof(struct pfr_addr); pfras = mallocarray(io->pfrio_size, sizeof(struct pfr_addr), - M_TEMP, M_WAITOK | M_ZERO); + M_PF, M_WAITOK | M_ZERO); PF_RULES_RLOCK(); error = pfr_get_addrs(&io->pfrio_table, pfras, &io->pfrio_size, io->pfrio_flags | PFR_FLAG_USERIOCTL); PF_RULES_RUNLOCK(); if (error == 0) error = copyout(pfras, io->pfrio_buffer, totlen); - free(pfras, M_TEMP); + free(pfras, M_PF); break; } @@ -5105,14 +5106,14 @@ DIOCCHANGEADDR_error: } totlen = io->pfrio_size * sizeof(struct pfr_astats); pfrastats = mallocarray(io->pfrio_size, - sizeof(struct pfr_astats), M_TEMP, M_WAITOK | M_ZERO); + sizeof(struct pfr_astats), M_PF, M_WAITOK | M_ZERO); PF_RULES_RLOCK(); error = pfr_get_astats(&io->pfrio_table, pfrastats, &io->pfrio_size, io->pfrio_flags | PFR_FLAG_USERIOCTL); PF_RULES_RUNLOCK(); if (error == 0) error = copyout(pfrastats, io->pfrio_buffer, totlen); - free(pfrastats, M_TEMP); + free(pfrastats, M_PF); break; } @@ -5133,10 +5134,10 @@ DIOCCHANGEADDR_error: } totlen = io->pfrio_size * sizeof(struct pfr_addr); pfras = mallocarray(io->pfrio_size, sizeof(struct pfr_addr), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->pfrio_buffer, pfras, totlen); if (error) { - free(pfras, M_TEMP); + free(pfras, M_PF); goto fail; } PF_RULES_WLOCK(); @@ -5146,7 +5147,7 @@ DIOCCHANGEADDR_error: PF_RULES_WUNLOCK(); if (error == 0 && io->pfrio_flags & PFR_FLAG_FEEDBACK) error = copyout(pfras, io->pfrio_buffer, totlen); - free(pfras, M_TEMP); + free(pfras, M_PF); break; } @@ -5167,10 +5168,10 @@ DIOCCHANGEADDR_error: } totlen = io->pfrio_size * sizeof(struct pfr_addr); pfras = mallocarray(io->pfrio_size, sizeof(struct pfr_addr), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->pfrio_buffer, pfras, totlen); if (error) { - free(pfras, M_TEMP); + free(pfras, M_PF); goto fail; } PF_RULES_RLOCK(); @@ -5180,7 +5181,7 @@ DIOCCHANGEADDR_error: PF_RULES_RUNLOCK(); if (error == 0) error = copyout(pfras, io->pfrio_buffer, totlen); - free(pfras, M_TEMP); + free(pfras, M_PF); break; } @@ -5201,10 +5202,10 @@ DIOCCHANGEADDR_error: } totlen = io->pfrio_size * sizeof(struct pfr_addr); pfras = mallocarray(io->pfrio_size, sizeof(struct pfr_addr), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->pfrio_buffer, pfras, totlen); if (error) { - free(pfras, M_TEMP); + free(pfras, M_PF); goto fail; } PF_RULES_WLOCK(); @@ -5212,7 +5213,7 @@ DIOCCHANGEADDR_error: io->pfrio_size, &io->pfrio_nadd, &io->pfrio_naddr, io->pfrio_ticket, io->pfrio_flags | PFR_FLAG_USERIOCTL); PF_RULES_WUNLOCK(); - free(pfras, M_TEMP); + free(pfras, M_PF); break; } @@ -5250,10 +5251,10 @@ DIOCCHANGEADDR_error: } totlen = sizeof(struct pfioc_trans_e) * io->size; ioes = mallocarray(io->size, sizeof(struct pfioc_trans_e), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->array, ioes, totlen); if (error) { - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; } PF_RULES_WLOCK(); @@ -5263,7 +5264,7 @@ DIOCCHANGEADDR_error: case PF_RULESET_ETH: if ((error = pf_begin_eth(&ioe->ticket, ioe->anchor))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; } break; @@ -5271,13 +5272,13 @@ DIOCCHANGEADDR_error: case PF_RULESET_ALTQ: if (ioe->anchor[0]) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); error = EINVAL; goto fail; } if ((error = pf_begin_altq(&ioe->ticket))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; } break; @@ -5292,7 +5293,7 @@ DIOCCHANGEADDR_error: if ((error = pfr_ina_begin(&table, &ioe->ticket, NULL, 0))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; } break; @@ -5301,7 +5302,7 @@ DIOCCHANGEADDR_error: if ((error = pf_begin_rules(&ioe->ticket, ioe->rs_num, ioe->anchor))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; } break; @@ -5309,7 +5310,7 @@ DIOCCHANGEADDR_error: } PF_RULES_WUNLOCK(); error = copyout(ioes, io->array, totlen); - free(ioes, M_TEMP); + free(ioes, M_PF); break; } @@ -5331,10 +5332,10 @@ DIOCCHANGEADDR_error: } totlen = sizeof(struct pfioc_trans_e) * io->size; ioes = mallocarray(io->size, sizeof(struct pfioc_trans_e), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->array, ioes, totlen); if (error) { - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; } PF_RULES_WLOCK(); @@ -5345,7 +5346,7 @@ DIOCCHANGEADDR_error: if ((error = pf_rollback_eth(ioe->ticket, ioe->anchor))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; /* really bad */ } break; @@ -5353,13 +5354,13 @@ DIOCCHANGEADDR_error: case PF_RULESET_ALTQ: if (ioe->anchor[0]) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); error = EINVAL; goto fail; } if ((error = pf_rollback_altq(ioe->ticket))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; /* really bad */ } break; @@ -5374,7 +5375,7 @@ DIOCCHANGEADDR_error: if ((error = pfr_ina_rollback(&table, ioe->ticket, NULL, 0))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; /* really bad */ } break; @@ -5383,14 +5384,14 @@ DIOCCHANGEADDR_error: if ((error = pf_rollback_rules(ioe->ticket, ioe->rs_num, ioe->anchor))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; /* really bad */ } break; } } PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); break; } @@ -5416,10 +5417,10 @@ DIOCCHANGEADDR_error: totlen = sizeof(struct pfioc_trans_e) * io->size; ioes = mallocarray(io->size, sizeof(struct pfioc_trans_e), - M_TEMP, M_WAITOK); + M_PF, M_WAITOK); error = copyin(io->array, ioes, totlen); if (error) { - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; } PF_RULES_WLOCK(); @@ -5432,7 +5433,7 @@ DIOCCHANGEADDR_error: if (ers == NULL || ioe->ticket == 0 || ioe->ticket != ers->inactive.ticket) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); error = EINVAL; goto fail; } @@ -5441,14 +5442,14 @@ DIOCCHANGEADDR_error: case PF_RULESET_ALTQ: if (ioe->anchor[0]) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); error = EINVAL; goto fail; } if (!V_altqs_inactive_open || ioe->ticket != V_ticket_altqs_inactive) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); error = EBUSY; goto fail; } @@ -5459,7 +5460,7 @@ DIOCCHANGEADDR_error: if (rs == NULL || !rs->topen || ioe->ticket != rs->tticket) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); error = EBUSY; goto fail; } @@ -5468,7 +5469,7 @@ DIOCCHANGEADDR_error: if (ioe->rs_num < 0 || ioe->rs_num >= PF_RULESET_MAX) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); error = EINVAL; goto fail; } @@ -5478,7 +5479,7 @@ DIOCCHANGEADDR_error: rs->rules[ioe->rs_num].inactive.ticket != ioe->ticket) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); error = EBUSY; goto fail; } @@ -5491,7 +5492,7 @@ DIOCCHANGEADDR_error: case PF_RULESET_ETH: if ((error = pf_commit_eth(ioe->ticket, ioe->anchor))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; /* really bad */ } break; @@ -5499,7 +5500,7 @@ DIOCCHANGEADDR_error: case PF_RULESET_ALTQ: if ((error = pf_commit_altq(ioe->ticket))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; /* really bad */ } break; @@ -5514,7 +5515,7 @@ DIOCCHANGEADDR_error: if ((error = pfr_ina_commit(&table, ioe->ticket, NULL, NULL, 0))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; /* really bad */ } break; @@ -5523,7 +5524,7 @@ DIOCCHANGEADDR_error: if ((error = pf_commit_rules(ioe->ticket, ioe->rs_num, ioe->anchor))) { PF_RULES_WUNLOCK(); - free(ioes, M_TEMP); + free(ioes, M_PF); goto fail; /* really bad */ } break; @@ -5537,7 +5538,7 @@ DIOCCHANGEADDR_error: else dehook_pf_eth(); - free(ioes, M_TEMP); + free(ioes, M_PF); break; } @@ -5566,7 +5567,7 @@ DIOCCHANGEADDR_error: nr = 0; - p = pstore = malloc(psn->psn_len, M_TEMP, M_WAITOK | M_ZERO); + p = pstore = malloc(psn->psn_len, M_PF, M_WAITOK | M_ZERO); for (i = 0, sh = V_pf_srchash; i <= V_pf_srchashmask; i++, sh++) { PF_HASHROW_LOCK(sh); @@ -5585,11 +5586,11 @@ DIOCCHANGEADDR_error: error = copyout(pstore, psn->psn_src_nodes, sizeof(struct pf_src_node) * nr); if (error) { - free(pstore, M_TEMP); + free(pstore, M_PF); goto fail; } psn->psn_len = sizeof(struct pf_src_node) * nr; - free(pstore, M_TEMP); + free(pstore, M_PF); break; } @@ -5656,13 +5657,13 @@ DIOCCHANGEADDR_error: bufsiz = io->pfiio_size * sizeof(struct pfi_kif); ifstore = mallocarray(io->pfiio_size, sizeof(struct pfi_kif), - M_TEMP, M_WAITOK | M_ZERO); + M_PF, M_WAITOK | M_ZERO); PF_RULES_RLOCK(); pfi_get_ifaces(io->pfiio_name, ifstore, &io->pfiio_size); PF_RULES_RUNLOCK(); error = copyout(ifstore, io->pfiio_buffer, bufsiz); - free(ifstore, M_TEMP); + free(ifstore, M_PF); break; } diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index 763079ea651a..73f018db0266 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -1951,7 +1951,7 @@ pf_handle_get_tstats(struct nlmsghdr *hdr, struct nl_pstate *npt) n = pfr_table_count(&attrs.pfrio_table, attrs.pfrio_flags); pfrtstats = mallocarray(n, - sizeof(struct pfr_tstats), M_TEMP, M_NOWAIT | M_ZERO); + sizeof(struct pfr_tstats), M_PF, M_NOWAIT | M_ZERO); error = pfr_get_tstats(&attrs.pfrio_table, pfrtstats, &n, attrs.pfrio_flags | PFR_FLAG_USERIOCTL); @@ -2003,7 +2003,7 @@ pf_handle_get_tstats(struct nlmsghdr *hdr, struct nl_pstate *npt) } } } - free(pfrtstats, M_TEMP); + free(pfrtstats, M_PF); if (!nlmsg_end_dump(npt->nw, error, hdr)) { NL_LOG(LOG_DEBUG, "Unable to finalize the dump"); diff --git a/sys/netpfil/pf/pf_ruleset.c b/sys/netpfil/pf/pf_ruleset.c index 039908a53126..259f586fa127 100644 --- a/sys/netpfil/pf/pf_ruleset.c +++ b/sys/netpfil/pf/pf_ruleset.c @@ -59,8 +59,8 @@ #error "Kernel only file. Please use sbin/pfctl/pf_ruleset.c instead." #endif -#define rs_malloc(x) malloc(x, M_TEMP, M_NOWAIT|M_ZERO) -#define rs_free(x) free(x, M_TEMP) +#define rs_malloc(x) malloc(x, M_PF, M_NOWAIT|M_ZERO) +#define rs_free(x) free(x, M_PF) VNET_DEFINE(struct pf_kanchor_global, pf_anchors); VNET_DEFINE(struct pf_kanchor, pf_main_anchor); From nobody Tue Sep 2 21:10:54 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGdgy43BLz65S4k; Tue, 02 Sep 2025 21:10: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGdgy1qQ0z41yQ; Tue, 02 Sep 2025 21:10:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lAjIDq18nXCXEdTXu2qN4zn+OH+c6O2QLSAnH+r8SG8=; b=g0nf3a4YUmZ/P06sebRZXswgeqJViPYwwahsftHkctmHw62z+zgA8aoPqznbIGaEgpHFj2 VXjQ5xz843/vEmDlUkYiWtgOCrnSlpfpkTJhpVCQArQZiP4Fcg9DTz+CO9hYDQLgo233Md tx7Y3NqGRZx7PjMVXTJokk8S/zRr7ZDTHE14My2SmI8DyVf923gUx+Vi5QakOuZmauvo2x N02wgHmjlo/5ndR4eYmXloFpW75aFRNdwa0oZeUN2iFkAT4x8NcM5M9ooEUViJ68ltpAKZ gZirWDGuART+QbQF91Fqi/rAHpHihbsIiXw5p+Arzzpr6HDqKu0SELO/oXccgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lAjIDq18nXCXEdTXu2qN4zn+OH+c6O2QLSAnH+r8SG8=; b=M1J3H6cTOF7Q8crE0AMrZjd/oI//FpYWDPhX/ZN6GnKV16xJdNDdUBE0Mo0EpVURcyCSs2 GroMzr2gEk96DqAr2uKkZjXs8jgTpe96JJsCu0EDie5/DHKR9TrRlOtkyIUK2YstBJm3Xi C6fMR71KayLEIsZwf5uhJj5SEwJTM7TiHOKvy+xUjDBIrte0aKFQ6cZPqouDsvm2WKmdhQ hsyeA0HXQCGwirDOG88ZMYSIwZvTkCss/9bKZeyif0xRyNqvz7CCt4TkNm5ep9aS6zKRk6 bTmnrJ5kuKDCiQbZCof2NdjNygylJyk/tFcCIe5l09Y+tv2VitR2J/UoH/ElAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756847454; a=rsa-sha256; cv=none; b=Fkj4HQJdHnN2Z0PVOzLf0WbmIs+gvj0Z+dey9wYDW3aJ6Nnr6ehqfmz0ucg8uy9xSEmy7y 8Qu23c94sOpIQ6Kj+520Qt3oyymsnweWKqHTJqYubxtdjOuitLt2gGVZM0Qncz3Nlv80x1 L4wAwWzW/THgEPC5Lts1ndVVVBhtIHzJMaZYxZ9PxMljHnKYKwuRL1vNwfQzy+ZcSt7xk8 QtuppeoV2h/DjD++0nWYRo8BW9nDYbvXWGs896LVqngwgHnA5JnJzQcpYk4bCLaVAQU9cv 1p8jQWmc29Ju6lwoXqg5YdHItt8M4c0k/vX+AK8gO3SE2oH3+skPnmIJ+MOArw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGdgy1Ln7z13KD; Tue, 02 Sep 2025 21:10: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 582LAsaS036479; Tue, 2 Sep 2025 21:10:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582LAsIt036476; Tue, 2 Sep 2025 21:10:54 GMT (envelope-from git) Date: Tue, 2 Sep 2025 21:10:54 GMT Message-Id: <202509022110.582LAsIt036476@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: 5af7499b6d81 - main - pf: remove unused 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5af7499b6d81e0514dc79d74a10e2b2a0e3fe08b Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=5af7499b6d81e0514dc79d74a10e2b2a0e3fe08b commit 5af7499b6d81e0514dc79d74a10e2b2a0e3fe08b Author: Kristof Provost AuthorDate: 2025-08-19 09:13:06 +0000 Commit: Kristof Provost CommitDate: 2025-09-02 21:10:20 +0000 pf: remove unused variables We never actually use action or reason in pf_state_key_addr_setup(), so just pass NULL to pf_pull_hdr(). No functional change. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index a9d89afd58a1..e9b73827aa7d 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -1667,7 +1667,6 @@ pf_state_key_addr_setup(struct pf_pdesc *pd, #ifdef INET6 struct nd_neighbor_solicit nd; struct pf_addr *target; - u_short action, reason; if (pd->af == AF_INET || pd->proto != IPPROTO_ICMPV6) goto copy; @@ -1676,7 +1675,8 @@ pf_state_key_addr_setup(struct pf_pdesc *pd, case ND_NEIGHBOR_SOLICIT: if (multi) return (-1); - if (!pf_pull_hdr(pd->m, pd->off, &nd, sizeof(nd), &action, &reason, pd->af)) + if (!pf_pull_hdr(pd->m, pd->off, &nd, sizeof(nd), NULL, + NULL, pd->af)) return (-1); target = (struct pf_addr *)&nd.nd_ns_target; daddr = target; @@ -1684,7 +1684,8 @@ pf_state_key_addr_setup(struct pf_pdesc *pd, case ND_NEIGHBOR_ADVERT: if (multi) return (-1); - if (!pf_pull_hdr(pd->m, pd->off, &nd, sizeof(nd), &action, &reason, pd->af)) + if (!pf_pull_hdr(pd->m, pd->off, &nd, sizeof(nd), NULL, + NULL, pd->af)) return (-1); target = (struct pf_addr *)&nd.nd_ns_target; saddr = target; From nobody Tue Sep 2 21:10:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGdgz55pWz65Rwd; Tue, 02 Sep 2025 21:10: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGdgz2p2Rz4279; Tue, 02 Sep 2025 21:10:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v3Pfowo8DQz8/yY7oVj2Jnd0qAfEqjtimr7uyOmBruA=; b=IN7y6Amwn9C0Vdu4UoeGlOOX46w4jU+0B5dD9GCWPUsFdGqXlhMn33A3FZhlcT90IT8DaO JgL+8uCQemqmPzv2hlyHlPqQn/sFU86ZGtPvgzK2qzTmtM/In6h35PRdh0KcyRe4Lfebe4 XN+xYwcSGRqQFvdKB8EpBqqwhJPeyUkYi7LRQlrE711xTlng3cmZxdGEqWQks/lbG64DZ/ TLtwlUoX4dx5bwnklzHl5Igz+/FF67z8e4JyGdZgI+4AvLxX3nF4JZ4I0r0YlFCZiK0CKE psk2wW78k35MMcHuziAmVZfBnWwEcmLz0K/HvbNhKleLVCf2IPu0tKaSY2Y/lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v3Pfowo8DQz8/yY7oVj2Jnd0qAfEqjtimr7uyOmBruA=; b=HOw4oovTJnPcyTqHLPQtFnR4sKxs6S7cLdMYtuJX1HaU43zTJQDnJPC/h7NA1bpskxP5qV NgfLAnJxn6Ip3rAzV4roYeK5I2qiFX5nZkfN4WG54jPulVzyh4Q9LrGAJTjP9DNJlz/p0e ARrN/IRT8mYpeYXJykpIVfgGVrrkj220bOG/Gi6SYiw+q02wSNqFwIFywNdmBwXNTs7SDQ VpwVZ/Vi57NQSLIeRo9vJT9eU1Jff0OhC4V6yWwb7jykRwVIOFNJdtCfTD4EIgftmAC4sc /beAsyOaJHMDmyUZXnkacYYxNH7pW33zgiv7NDxCPIf5sgT+H5cvBy7BwFv5WA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756847455; a=rsa-sha256; cv=none; b=pMljZfNoqK3taFKzJ+LA7KykcevmL8Ng9NOjfQ8kgcGyXQJo26uacqqYx/a7nXycN4nR3H n03xsHxZF6TQMWEYg7hs+QJSRyraFmOrhI45CUV3QzSmDcikGO+/K6J4moTwHNFJSELPLl 2lTal6NBrBPNsX86J0B/pVLmNQQWw4CnceY6Q2RJEml5vCeOhQyy8sSZBOGQfGaOi8Xr8z 5dXT12hsTgGmF6EDT1EvJdj7WWrfJvEvBUy7wZb0U1l46Ql4sw1u8IK0RgHEWwGa/yyrNB cUcKf9xBArdLdbdMN3nIvQpRLVywOTtoYfEmgiOjVdF39TyKN+k5mUix2hXwnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGdgz2Pvxz134k; Tue, 02 Sep 2025 21:10: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 582LAtcW036518; Tue, 2 Sep 2025 21:10:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582LAtHh036513; Tue, 2 Sep 2025 21:10:55 GMT (envelope-from git) Date: Tue, 2 Sep 2025 21:10:55 GMT Message-Id: <202509022110.582LAtHh036513@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: aa790af10a9a - main - pf(4) when doing af-to translation for ICMP protocol sends packets with TTL field to zero. To fix it function pf_test_state_icmp() must initialize ttl field in pf_pdesc structure for inner packet. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aa790af10a9a2ce36ca0b2bc445a01431b8bc0c4 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=aa790af10a9a2ce36ca0b2bc445a01431b8bc0c4 commit aa790af10a9a2ce36ca0b2bc445a01431b8bc0c4 Author: Kristof Provost AuthorDate: 2025-08-25 08:01:49 +0000 Commit: Kristof Provost CommitDate: 2025-09-02 21:10:20 +0000 pf(4) when doing af-to translation for ICMP protocol sends packets with TTL field to zero. To fix it function pf_test_state_icmp() must initialize ttl field in pf_pdesc structure for inner packet. feedback from bluhm@ OK bluhm@ Obtained from: OpenBSD, sashan , 0d48c46cfe Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index e9b73827aa7d..d15a16c54f81 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8048,6 +8048,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, return (PF_DROP); pd2.tot_len = ntohs(h2.ip_len); + pd2.ttl = h2.ip_ttl; pd2.src = (struct pf_addr *)&h2.ip_src; pd2.dst = (struct pf_addr *)&h2.ip_dst; pd2.ip_sum = &h2.ip_sum; @@ -8070,6 +8071,7 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, pd2.tot_len = ntohs(h2_6.ip6_plen) + sizeof(struct ip6_hdr); + pd2.ttl = h2_6.ip6_hlim; pd2.src = (struct pf_addr *)&h2_6.ip6_src; pd2.dst = (struct pf_addr *)&h2_6.ip6_dst; pd2.ip_sum = NULL; From nobody Tue Sep 2 21:10:56 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGdh05fpTz65RH4; Tue, 02 Sep 2025 21:10: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGdh03Vwtz42FL; Tue, 02 Sep 2025 21:10:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eruA+nMfWfcKhG114iAJ9YiFcb0bOl9iEwzYrf8Jmec=; b=Q2xZI7zKFG6wbCpSZ5DWiZYbvXpQZghoz86vkurcQTGgG1pqvNz1wFEElVvba1FUs6CKYo GL3ca8WB+FinN3ilubotj/mEvxZjG/1jQqLbtlyOKSiTb8PFtI8iOHtXaOWI6hXuX8VcbI qP5LlOhVAj6unTsZw9z0sUjwMw5/A/4Dk1vgmUNckQ+MtuLxkj1O1nG1D0IyPy3dcMPEwu JNTcBVbDzDXmlW5R0uxMnfZvlOqySC6BR+uHMBz1kMXv/xOgj7TGCLfyeGB4xLVnlXim1G Y2Xtn1ymuOu2Od7k9ITqJLa4vJ5shMBg7zqfa0gQkAsqymZN/CKy0QhA4g5g6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847456; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eruA+nMfWfcKhG114iAJ9YiFcb0bOl9iEwzYrf8Jmec=; b=PurqHefp1P6ZTiMZRJ2x6kF95LJmugSRmwRV/B1lUXno68Ok6KTv0ScQaBMnrb3DTplFUb aJc8AlWgLjyMuti3atB1FJiXEPw5d4tF23oJBNC7/IQ99LpYJ8drtCibwjuE6IlrUygEV2 ObTu/Y5wa9TBSoGAp+Rxc7XXMivTuGL3kRliAUl2/lOyO0Ljz5gFbitsEy93btxQwU/1pj 6JDNT7SWR1c14otlxwBDYMJyikcbqiC9MFc2PefMG7RfUN+xbZHF0fywc9v5q5ovQUze+B pfkUdZQNl7g5AFcy74ZfkB014yeoajJ1AF7xON0ljoNKsA5Z1E4W3Nfcu3udeA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756847456; a=rsa-sha256; cv=none; b=CAvf/rxn+QOH0RTFSTigpijcT18seNi9Z9ZU8pTGUE4hOtHmasDd4OW9c2xMG8nja40cDE CM2v93goOw4O0L+s5iP5F4YT6MM8r7oUSnjYhEvR6veM41/Ml2SR8xvlE4N8Xh6Yg2aZab iRpBIoXA4NcCZq7SpvJXmM9vTUPbqv7qxaY39DLsrm7NfA+zF7NyvtfeO0ccudLvgVrNaG j1Ml7zjO8eqakAlAu0lRnqrboE3p3QtE/hnUpL+tt7hPK5ATkmxoFghGzXW781+xeYDvG+ oQuxSCig6amtJGn4xpCbhoQIwUAGvFboFgN4dMZ1AcBWuH6egiEnRZe0QSryQg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGdh034NZz130Y; Tue, 02 Sep 2025 21:10: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 582LAutg036553; Tue, 2 Sep 2025 21:10:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582LAuRa036550; Tue, 2 Sep 2025 21:10:56 GMT (envelope-from git) Date: Tue, 2 Sep 2025 21:10:56 GMT Message-Id: <202509022110.582LAuRa036550@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: ea15fe2e8cbc - main - pf: fix memory leak in legacy getstate calls List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ea15fe2e8cbc3a5d3f62a9d22e0e4bef63f611eb Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=ea15fe2e8cbc3a5d3f62a9d22e0e4bef63f611eb commit ea15fe2e8cbc3a5d3f62a9d22e0e4bef63f611eb Author: Kristof Provost AuthorDate: 2025-08-29 14:27:52 +0000 Commit: Kristof Provost CommitDate: 2025-09-02 21:10:21 +0000 pf: fix memory leak in legacy getstate calls If we fail to copy the data out we didn't free the temporary allocation. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf_ioctl.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 7a14c0946dfc..9ca7c6759e27 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -4125,8 +4125,10 @@ DIOCGETSTATES_retry: PF_HASHROW_UNLOCK(ih); error = copyout(pstore, out, sizeof(struct pfsync_state_1301) * count); - if (error) + if (error) { + free(pstore, M_PF); goto fail; + } out = ps->ps_states + nr; } DIOCGETSTATES_full: @@ -4203,8 +4205,10 @@ DIOCGETSTATESV2_retry: PF_HASHROW_UNLOCK(ih); error = copyout(pstore, out, sizeof(struct pf_state_export) * count); - if (error) + if (error) { + free(pstore, M_PF); goto fail; + } out = ps->ps_states + nr; } DIOCGETSTATESV2_full: From nobody Tue Sep 2 21:10:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGdh171RQz65Rwf; Tue, 02 Sep 2025 21:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGdh144x6z424w; Tue, 02 Sep 2025 21:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FggT3cldPKzgMuT5CiW2O9Nhw8msDj3v1vF0Fewinfk=; b=xDez0PlEoszrbasYEsKlrb++OEl7OGyJct+iq4Yt5QYiCMMrwfy/kptLIuZlSMsTMJA8oP zi0EjQ8pP5oCcjIwWxwl0zo460VQ0WwPREqDwQayQHMWO5GABh4FCgU8fgvf8tzptjBZ0i dpg/GiQDSqlXx4KfztLggFCcogL7OnVdCsSvPMT0q31WJUXwhcdykEwytlE58xEGXpo8IE hS+D0fxX/bmpSyO6KaXFbIZ7Z5dQw4lrkai0w7w4fZTFR54GGoDW4JJykurugX+ZtEPbav J/aZE/VrBYDlHSiTeOE5SMAamqxUSe/v8wi/WRoLRy/YPHjfRVJw7Vi8htA+wQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847457; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FggT3cldPKzgMuT5CiW2O9Nhw8msDj3v1vF0Fewinfk=; b=gK7cvuLedwLvGAW8jRRNXUZC1tk0QjcTStaA7eAH7F/veIlSVF2mNLL5p6wCCMO9MpWRup 7WknsjG4+isfyZ2SoDnAOPnAt9auiLS3oaNPnzcJfLzVJWq9OLGVa8QB9soecyPaPA6yx3 oS+aPer9QmJ2m1w52wzT3jgKyR8iZtwubLZ12mDMiL7VJc0Qln0cIENf6Cld7OUcjFNuYy UkM8iGy6yaGyW9T11uEZqFxWDTcDh9kMyAKqTAX7u36w/8x3KGVqHw/lR5x4c+dtN160CL YCdkW4xtdxcPS+AgKMJvcFzW8ENJmLDKVVIYGVVdknjLZ8g6xg99Slo5eplavA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756847457; a=rsa-sha256; cv=none; b=woi/SJC1kCL6Q4QVSBYEXYnLZjeXjooep5XjJd2/r40+kJSQogsMJAYDDjXf/iIGe1DL0e nfxrNht19ZUUGjXyy/bI53okzVsJXyfjyMKXqFqPxdyFxXBAfE5ndAI0plr4K1mAprs+ah lTvZTtC+f2fKTQE5BeSsjSgWsk+3lRiC+kdZHOTv1uwbqiMo+z7uX+cf5+BaDYQYj6q+p3 cqvTwMfh/qcenwx3Xe2gr6vT6Ke7lj6c/F9O8V/4EqrvLtMW2JMS5/zZgX13UvRi5/rRDi 1KNq8QM7/qLEpXiS/xkC4baDNdbAyLT1gPiUbFWO2AnckKB+dsfnSyxAS4KTEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGdh13gbrz130b; Tue, 02 Sep 2025 21:10:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 582LAv4L036593; Tue, 2 Sep 2025 21:10:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582LAvR6036590; Tue, 2 Sep 2025 21:10:57 GMT (envelope-from git) Date: Tue, 2 Sep 2025 21:10:57 GMT Message-Id: <202509022110.582LAvR6036590@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: 44cc3b273191 - main - pf: free struct pf_krule_global with pf_rule_tree_free() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 44cc3b2731914f94851c0e468a5fa07c5f6ca006 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=44cc3b2731914f94851c0e468a5fa07c5f6ca006 commit 44cc3b2731914f94851c0e468a5fa07c5f6ca006 Author: Kristof Provost AuthorDate: 2025-08-29 16:13:31 +0000 Commit: Kristof Provost CommitDate: 2025-09-02 21:10:21 +0000 pf: free struct pf_krule_global with pf_rule_tree_free() Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf_ioctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 9ca7c6759e27..934eff020074 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1212,7 +1212,7 @@ pf_begin_rules(u_int32_t *ticket, int rs_num, const char *anchor) return (ENOMEM); rs = pf_find_or_create_kruleset(anchor); if (rs == NULL) { - free(tree, M_PF); + pf_rule_tree_free(tree); return (EINVAL); } pf_rule_tree_free(rs->rules[rs_num].inactive.tree); @@ -1433,7 +1433,7 @@ pf_commit_rules(u_int32_t ticket, int rs_num, char *anchor) rs->rules[rs_num].inactive.rcount = 0; rs->rules[rs_num].inactive.open = 0; pf_remove_if_empty_kruleset(rs); - free(old_tree, M_PF); + pf_rule_tree_free(old_tree); return (0); } From nobody Tue Sep 2 21:10:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGdh31DQVz65Rqb; Tue, 02 Sep 2025 21:10:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGdh24NcGz42NL; Tue, 02 Sep 2025 21:10:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=04uml1jC/7BwJC3B/uEXGhA8ufeaE+QKtdP/F+E5XI0=; b=VqcFnjhPxwBkTpncg+8/9qT6x1Z08tnsW0VauvLDYdRZHoG9D5zDdP5VN0dHVH0HVm1hJZ q2xObTsKRArA4bSQBe985D817JYlXPkc5KLljP4yGEmPHX6alV6Ndq6RnLEMy+7Jiq1Qy/ KaR1V9SaRoaWnm0a0GSCkJNAMSvzFv2sGSo8p45UUCbXZbvqcxgm2MvK4QpG5CKB0QoTkR YdXNFppMYipzkC5lsOsTUCHiPB+sUKqc3TaZDVZTcuX86DJKR6qQw/+MQyqiKXOoTXa3yD KJ3zgUUJLAMhNnwpbuN9WoFRo+wvuFWyiv/JKQx1oTzeQZDwzviAB/2bVerXPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756847458; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=04uml1jC/7BwJC3B/uEXGhA8ufeaE+QKtdP/F+E5XI0=; b=yxYTTQOeYYvSPs6LDmJ0Vc/ssWRouDaEJHMeN0rR6AkTE3T78vl+4RnG8N9kgECfoGMr0L Fy+vGwwgwp/PlWJDPInVk1uQyfI6tVHtdiipfAHRZrhLIao/jtgYILfwVC2IxIArD9Jbzg eRT6Z5EhbE6hNl0P8nNVVPUrI4TGyij/sAJGIiyhyoci7xtvnGOjN5n3kJXUvAnbHGBj/i VorKNgMYslvMj/wRve0K1efc/ok0BOo1/LZt3n5u5xCxWwg4ZWLmaUyQwnEMQPfyeYJ5vO SERE12zyIldCsbxHCf2gE2m52vx8aoT3VXvtsCEnz7scyBtmsRDDlEC67QvixQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756847458; a=rsa-sha256; cv=none; b=xqrfEYKyczw5CqLvwlqMOQCxPneQponXtlGwPHxhJ/7D2HF/PFEImGR4kGWs9iKem+Y8r/ //o0TCK8hlq3gARpW7LnxD3tdXH5PiFqZRHfwAWtt8SpEopnC1iWl4XBYEKvL+G/oa4I/a ht1vv5KqiKH+TuTVzg5kDnZYAOyERTuti/gcvNtG+COb7lvWSGzGjYtM4WchFzg6jcg4SH 6Rt+HrVvUaOAoVZRTX7jegz5TNELgoFy/RtZHe/hzfxCm0/K1IZB63JdGeTG3pMsvUzOBq avGCNhWt+G21RCktycITZ0nUh9d9mI7aYPFznKK4o9SGVWPevBMHOMW1il/UAg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGdh23zS1z1325; Tue, 02 Sep 2025 21:10:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 582LAwKl036629; Tue, 2 Sep 2025 21:10:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 582LAw2m036626; Tue, 2 Sep 2025 21:10:58 GMT (envelope-from git) Date: Tue, 2 Sep 2025 21:10:58 GMT Message-Id: <202509022110.582LAw2m036626@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: 275ff85b254c - main - pf: fix struct pf_krule_global 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: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 275ff85b254c1f160f965dd9dbb5801f66022eab Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=275ff85b254c1f160f965dd9dbb5801f66022eab commit 275ff85b254c1f160f965dd9dbb5801f66022eab Author: Kristof Provost AuthorDate: 2025-09-01 08:32:30 +0000 Commit: Kristof Provost CommitDate: 2025-09-02 21:10:21 +0000 pf: fix struct pf_krule_global leak Make sure we free all of the trees we allocated when we free the ruleset. Found by 'kldunload pf' after a test run, now that the allocation is done from a pf-specific malloc type. Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf_ioctl.c | 2 +- sys/netpfil/pf/pf_ruleset.c | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 79855fa84359..f73420494000 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -2614,6 +2614,7 @@ struct pf_kruleset *pf_find_kruleset(const char *); struct pf_kruleset *pf_get_leaf_kruleset(char *, char **); struct pf_kruleset *pf_find_or_create_kruleset(const char *); void pf_rs_initialize(void); +void pf_rule_tree_free(struct pf_krule_global *); struct pf_krule *pf_krule_alloc(void); diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c index 934eff020074..06c40a03f575 100644 --- a/sys/netpfil/pf/pf_ioctl.c +++ b/sys/netpfil/pf/pf_ioctl.c @@ -1189,7 +1189,7 @@ pf_rule_tree_alloc(int flags) return (tree); } -static void +void pf_rule_tree_free(struct pf_krule_global *tree) { diff --git a/sys/netpfil/pf/pf_ruleset.c b/sys/netpfil/pf/pf_ruleset.c index 259f586fa127..1711e690f6bb 100644 --- a/sys/netpfil/pf/pf_ruleset.c +++ b/sys/netpfil/pf/pf_ruleset.c @@ -336,6 +336,12 @@ pf_remove_if_empty_kruleset(struct pf_kruleset *ruleset) int i; while (ruleset != NULL) { + for (int i = 0; i < PF_RULESET_MAX; i++) { + pf_rule_tree_free(ruleset->rules[i].active.tree); + ruleset->rules[i].active.tree = NULL; + pf_rule_tree_free(ruleset->rules[i].inactive.tree); + ruleset->rules[i].inactive.tree = NULL; + } if (ruleset == &pf_main_ruleset || !RB_EMPTY(&ruleset->anchor->children) || ruleset->anchor->refcnt > 0 || ruleset->tables > 0 || From nobody Wed Sep 3 02:01:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGm7V60Glz668tB; Wed, 03 Sep 2025 02:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGm7V5HKSz3fDD; Wed, 03 Sep 2025 02:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756864902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5E6GJkuRhdZZzvA4w+uGC5XoFl1SlfFSF8QiRCjj7EQ=; b=rwTW1SM9cfn/9Q0VlDxoYSQcN+xRHqajXWPZjvJvHVUXjZnhmoRg9AwbRLv7vWLvd+Bth9 uYk9DHZbFCl8QgL8ioQ0kDuf+uDurBJb7rVx1rYI0yolMPmEATfnRhquAtCzcEdyylNBXn SqTlsLaoxCNYsRv5MnAhjYQ/svc8e5633Lwo4/lViijMGZlz1g/h0BUHH3t9rUAR+8tdUw v78vONsbXD5+nQ9vJ18ITHVUjNNpEaJQHUMU/zsFlIt5O1DVkIcLbo7bRFA64gtqCoVz6M AsquUahGQsS52mgGVlxblV1GEKkPwuS8Z0vIAl4hYQaQ0/3L3YoopSVa9WwQAQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756864902; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5E6GJkuRhdZZzvA4w+uGC5XoFl1SlfFSF8QiRCjj7EQ=; b=i3yu/5XDmpPyv9mVoQx38AEbWQU/hr//Rq+lON7gOBXqEWbEKaUxkXOlBWAT8up5V+vffx 784TaYBlsuVhioxA7gK5MnBADqGz/iIvzNjtqy8Yb6mrHR2RxwtkFOvEoZA/SaxeMeVdQB QsB4ThYWwkRK/qbn14PrmxGxb/2mDhTVSUpmVKLOOgdy/A0s/V3Jmm2nz86yxurlGYpjDX cWEexHQJORIkUKnepz/DqYYAu6dTj7uBiqHjDq9LzpU/Fq5U72+xTzuKG0y8k8a6pjIx3z ZluaF7d9h7LAFqisBqaEmEl73+rkHFoiGA15D+3q8NNYLIGPjD4cR4A4afKShw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756864902; a=rsa-sha256; cv=none; b=s8RkOcRRoTKEK0AIDlXWcg24T5JBh3jihUPSJ20JArNrD+fKXDyXMqxcqlvVHmlrZwnWTN 7wA5Lv8Zhd8iJqD/53zHTAP8S9Ig/oFaTvjJVnXkzkanu2PyK1MlFDtkBui5ijvUtETRRf fbhGBP2m3WKI1nMSIA3lfStkqoxYL6f6S4FnYDcWp6OIB/i/NvH3Aa1mkL+dBADBff57RX iqq6QFyc7NFKqT+ekA6LiB22CwgCthl15kgZWfS6lZSt0R8pj0W0A7bUd1Iz7xD68bjwwW VcnXveQnqDXr6WuMk+fvj/+Q+h2QjZCaWhPvTEiL1nH4liZYxoyGKa74N931Wg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGm7V4gszz1BtK; Wed, 03 Sep 2025 02:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 58321gbw085517; Wed, 3 Sep 2025 02:01:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58321gar085501; Wed, 3 Sep 2025 02:01:42 GMT (envelope-from git) Date: Wed, 3 Sep 2025 02:01:42 GMT Message-Id: <202509030201.58321gar085501@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: 5a308afeaf3d - main - vm/vm_fault.c: rename vm_fault_hold_pages_e() to vm_fault_hold_pages() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 5a308afeaf3d12562c6a61e06f112f730f4d7270 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=5a308afeaf3d12562c6a61e06f112f730f4d7270 commit 5a308afeaf3d12562c6a61e06f112f730f4d7270 Author: Konstantin Belousov AuthorDate: 2025-09-02 19:32:05 +0000 Commit: Konstantin Belousov CommitDate: 2025-09-03 02:01:31 +0000 vm/vm_fault.c: rename vm_fault_hold_pages_e() to vm_fault_hold_pages() Suggested by: imp Reviewed by: alc, imp Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D52348 --- sys/vm/vm_extern.h | 2 +- sys/vm/vm_fault.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/vm/vm_extern.h b/sys/vm/vm_extern.h index 2b15a01206a2..1fd6518cf4ed 100644 --- a/sys/vm/vm_extern.h +++ b/sys/vm/vm_extern.h @@ -91,7 +91,7 @@ void vm_fault_copy_entry(vm_map_t, vm_map_t, vm_map_entry_t, vm_map_entry_t, vm_ooffset_t *); int vm_fault_disable_pagefaults(void); void vm_fault_enable_pagefaults(int save); -int vm_fault_hold_pages_e(vm_map_t map, vm_offset_t addr, vm_size_t len, +int vm_fault_hold_pages(vm_map_t map, vm_offset_t addr, vm_size_t len, vm_prot_t prot, vm_page_t *ma, int max_count, int *ppages_count); int vm_fault_quick_hold_pages(vm_map_t map, vm_offset_t addr, vm_size_t len, vm_prot_t prot, vm_page_t *ma, int max_count); diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 2a27f3e674a4..58f8ac16fa0c 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -2012,7 +2012,7 @@ vm_fault_prefault(const struct faultstate *fs, vm_offset_t addra, * (more detailed result from vm_fault() is lost) */ int -vm_fault_hold_pages_e(vm_map_t map, vm_offset_t addr, vm_size_t len, +vm_fault_hold_pages(vm_map_t map, vm_offset_t addr, vm_size_t len, vm_prot_t prot, vm_page_t *ma, int max_count, int *ppages_count) { vm_offset_t end, va; @@ -2108,7 +2108,7 @@ vm_fault_quick_hold_pages(vm_map_t map, vm_offset_t addr, vm_size_t len, { int error, pages_count; - error = vm_fault_hold_pages_e(map, addr, len, prot, ma, + error = vm_fault_hold_pages(map, addr, len, prot, ma, max_count, &pages_count); if (error != 0) { if (error == EINVAL) From nobody Wed Sep 3 04:39:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGqdv28rMz66NZ4; Wed, 03 Sep 2025 04:39:47 +0000 (UTC) (envelope-from glebius@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGqdv1G6Cz3wPw; Wed, 03 Sep 2025 04:39:47 +0000 (UTC) (envelope-from glebius@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756874387; 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=zs2sxMmW6mdmZrpeqjfw5v2KKfRS5FdxmSbXayJPHXg=; b=JNW4Ns4cRMW8QSpMnqNkT/kovOJpKlUXacXREWC0c+Eu1Re3R0LfwQ5RkvRuaXyPxH+/02 Z5wdvBGeZ7L1iO3K6d9Rdptsit+IUMPgij/lLenfCRXIfhuZCCZXEln0bunnsc45eL2PsZ TILHyh1uwbFT1EKDZoau9c1iiEhRoOQgSM8lKyAsY5XeL0mEQCdnNXb+TWKbGMR+oFTgqf 1XnPF6kaZqSv8yT0pEwoyNaaBT3oi3zg06HQD6cUC0MzwEHR+4G/wX4w8liklk20kBulVQ BqOeu+SLT8wzVnCgVd3uaTGr4nzTozwOUcaN7/JXVg/KQeXIi/Bt2BA2W+hkvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756874387; 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=zs2sxMmW6mdmZrpeqjfw5v2KKfRS5FdxmSbXayJPHXg=; b=wCyRM7+WsyxdOFwx7DU+aRJ8+v3rR8qR1fLiTehTBiZM+8+mTgfvTiN+qQ3XuaqrBj1hL+ +wh5YrkWiGRgfx5EPu2Ab/nXpRNxhZOZGr7K8YEEAKQy5SjOoqcCDroCAu2Xl7xlBpuxfH cpszPl009tBQdYOHX2925OmKbbvQoTjR3Gcw9+JvcRbcV3wWb6lehQFkwfOQ8IW/XgEvfz NcjIp6v9TJxNl7vlihBZU/Y6+yWL+wl7oHbZ+MSwn4D33dQ2WNfyKrshbOFHLd3TsLN/fE O2RZ+P7+to9WrVnMGHhmd6KegZMCAFFZGkNqZJFkNWEY5rsfmCXNFHn9VAgJlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756874387; a=rsa-sha256; cv=none; b=ryxD4UWOR4LomDIRlJbveznG7FoiN7ZnQDveNEQqU2oUwUzje5xhW+5gTxuQT3+TuU9FD4 Tk/FvoAtNJbMwirz3a7jFTujOhg/iz/ocbFnWDOVyVFmgLGPCI51CkdEO80ra5tNYRplM8 AZ6zS4EqsPhuU9NQLbv8j3qCI6N+bfSOs3AzvfG77FRLBdGlB6awm3dj4I9pssaGup+PYJ BFoSv85hvvQm3O7QcmWU40xyNYIjV1cSzuD76BbfoAgtbsi3XKd+KJgNqo4JE2aJ8IHyVh DSxqMal/8r0LG1Y9FwiLW51sCzHJK2PbqVPcfdUi4tT/FmlNOY4tmMufHpOrPA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from cell.glebi.us (glebi.us [162.251.186.162]) (using TLSv1.3 with cipher TLS_AES_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: glebius) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cGqdt3YFpzxHd; Wed, 03 Sep 2025 04:39:46 +0000 (UTC) (envelope-from glebius@freebsd.org) Date: Tue, 2 Sep 2025 21:39:43 -0700 From: Gleb Smirnoff To: Kristof Provost Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: ddd39152743a - main - pf: Introduce M_PF type for pf(4) related memory allocations. Message-ID: References: <202509022110.582LAr4f036441@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-Disposition: inline In-Reply-To: <202509022110.582LAr4f036441@gitrepo.freebsd.org> On Tue, Sep 02, 2025 at 09:10:53PM +0000, Kristof Provost wrote: K> The branch main has been updated by kp: K> K> URL: https://cgit.FreeBSD.org/src/commit/?id=ddd39152743abc3cff05e7475c0ce48aa303956a K> K> commit ddd39152743abc3cff05e7475c0ce48aa303956a K> Author: Kristof Provost K> AuthorDate: 2025-08-18 12:19:40 +0000 K> Commit: Kristof Provost K> CommitDate: 2025-09-02 21:10:20 +0000 K> K> pf: Introduce M_PF type for pf(4) related memory allocations. K> K> Currently used M_TEMP and M_IFADDR types are unreasonable for that purpose. K> This dedicated statistics simplify the future pf(4) unlocking work by decreasing K> search area of possible memory leaks. IMHO, going away from M_TEMP to something else for allocations that last for duration of a syscall is a regression rather than an improvement. -- Gleb Smirnoff From nobody Wed Sep 3 05:17:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGrTz21wbz66RXn; Wed, 03 Sep 2025 05:17:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGrTz19zXz43DP; Wed, 03 Sep 2025 05:17:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756876679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ji78xBDzKyu/54c8XukyVXwZq0BF76v34zy0PXIS0fc=; b=az8b28bn6VY7Io026xzHe/j1YoHfzzsdHqYOFkB22lmzd1UD0i6tSF4rBhAwVP8zxA7AVn e7FjYOPN71V4bbpEEurPAPkeG4G3D8rv6nF1pMTnzN1FpUcd/tTE8SvVp2mgJHtiqonPge U6++U5tpGp700WomcvuM/X00Kpt5i8A+g2q9elvEuHtvNikbmaSK2VvcArosY71a51SMGn 6h6FowpGIKAss/C6ID0RstcdEA9kCpzpykvbgU06Rv7EyWXVZn3wobXbKm0C5SAVFiTXLs J78nggHBKdf69WOSL+WXWBhVoHOgJenvVJPtWYkiSdy57TScJc9T9PxP1XmJvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756876679; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ji78xBDzKyu/54c8XukyVXwZq0BF76v34zy0PXIS0fc=; b=y2FnFSZcFVblHDg4TERpvKAvOf10vKKK4im08LQVwlpCIY0p+jxXiJOLbID8ljCxanOEbg /+mtsK7NYtFHY08IK4W59R7uaDIgH/OgDTiD+lCKgtlH0NhOYUMDqfn6NabhDFEg+7ykdc +YCyjagR8xXNTc4HSza0053kUbW/I8y4RdF4zH5gOw3A6D4Lp91rlPdOVSsqO5n1e/wWzd fuM1QxSbSUdszCoF54prGyshR/5kf0dHExOQD7Pjwn4651wl7JpudqzjCzs9T+gRX0347u xUmA+MVwQJSBPvZrkx8pbQtL+jmOjttRPUXTA1rCSzjxnkrtFx6D+wbho21Qtw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756876679; a=rsa-sha256; cv=none; b=xNnYL7Ydr8qQEWNCiBeebGyigMTe62ktSO9goWQAXv6mVwdkIv0PZY09DGl94wfOUEi65D +cyUSOncmRVNmi47sHcn5oJ/boQ+49WkMLCFo9tInsjPeKiEx06ouQ0i4j7a2ELc6wQNsj j0ArBNfwlK3FIm6Wkf42/hqqmKMsmoWjEs7z3Bc1rpKkKwEhl1INeNT/44q2FvBzBBSfCq cGPNlsUo1nS9KlaEozNd0I9Zf0ezzf4PB0exNdnIRhYguT5CreTn9W0WaWjrcd5M+5FNrP 0uYSewm+7BOhdD98HCLDhcjChHLngaSipCmtsDx7Xzb5kF9cQzzSQR2vAJPnDw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGrTz0HbNz1HqG; Wed, 03 Sep 2025 05:17:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5835HwOv048699; Wed, 3 Sep 2025 05:17:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5835Hwsw048696; Wed, 3 Sep 2025 05:17:58 GMT (envelope-from git) Date: Wed, 3 Sep 2025 05:17:58 GMT Message-Id: <202509030517.5835Hwsw048696@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: 4ec251a99a02 - main - rc.d/serial: Remove removed 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: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4ec251a99a02b58d30f194660c37ccb933ac7549 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4ec251a99a02b58d30f194660c37ccb933ac7549 commit 4ec251a99a02b58d30f194660c37ccb933ac7549 Author: Warner Losh AuthorDate: 2025-09-03 05:17:26 +0000 Commit: Warner Losh CommitDate: 2025-09-03 05:18:09 +0000 rc.d/serial: Remove removed drivers. Cyclades and digiboard drivers were removed in 2017 and 2016 respectively. There's no need for these anymore. Sponsored by: Netflix Reviewed by: kevans, emaste Differential Revision: https://reviews.freebsd.org/D52315 --- libexec/rc/rc.d/serial | 9 --------- 1 file changed, 9 deletions(-) diff --git a/libexec/rc/rc.d/serial b/libexec/rc/rc.d/serial index ea60c8aa77da..4eb34a1085eb 100755 --- a/libexec/rc/rc.d/serial +++ b/libexec/rc/rc.d/serial @@ -156,12 +156,3 @@ terminal() { # modem u 1 # terminal u 0 # 3wire u 0 - -# Initialize all ports on a Cyclades-8yo. -# modem c 00 01 02 03 04 05 06 07 - -# Initialize all ports on a Cyclades-16ye. -# modem c 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f - -# Initialize all ports on a Digiboard 8. -# modem D 00 01 02 03 04 05 06 07 From nobody Wed Sep 3 05:17:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGrV013lbz66RdM; Wed, 03 Sep 2025 05:18: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGrV00ZgBz43MS; Wed, 03 Sep 2025 05:18:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756876680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5KrULkht1K8jjWE3yB+MWPpqdmX7t5HOtCrfY5sM8ws=; b=vDY2JbKTsOLro/tyoIo2uJxp40P8s4zp7wEn+GpgxobwvTQX3m3w538E9pzeMeExP72wHK Ha0l7jb0D14Jh8VcZVHO91HcWkFRdY69mlgBC02Vd9gHB22QHq0P1bwNVGgzRsKCD8HNqx 8Nvj1FO+ltiiEzIE/Eo8Ik0+IHsCeauR+uoL3UGpqaCVMn9CtLwKuLILCdtMbZDAornWGw 5bkstmAUzGC7nW0NhW6os1UhStOe0124qLxNABUcQbA9PJEEiPzDvzhO+6GvMvWmx46Xct wWASkS1K9CUqYda0ph0YP9ZB6yu0u+RV2zubyL2i3slubi6TxUPrlIHsij0BTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756876680; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5KrULkht1K8jjWE3yB+MWPpqdmX7t5HOtCrfY5sM8ws=; b=GiMVEzvZowygVTGOSSWSo+ULBgWQr6kHOAL770bk96UGKJx2jo0yLL4wRNSDrRokUw7rdZ cn/vfEhfSa+C9vZgbE49uiLhcs7egv2F0oonTlVFAs/TFIUS2RBBn7NhmaFuwDA15nD3h9 rUir1oFa1RR9zrl+loE5U+XGQ93s618Gbgjeh/Tr7hL7hfcbH0yql0kH7i+1jhSZrZzJL9 3H3Mmefn7EbpV7HSV93qGNZJhwAhhJFn7rAV4vTiGbDxX7XuEIxg5dU0wvINkZ2R1wWcD6 wyLFgZeNDso555Q45Gz0bMkNF3UhwBw0SkMOVtD5u6ipW1Kcgdnl/FaxlV4sSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756876680; a=rsa-sha256; cv=none; b=o9eabx2vrHPJI9h/BSs02FHuaLllybAQeynOimnzuxTpZV69pBmgEzOmKB/oBbcvza8F8P MDSCBzYq9N2+qw4YqOsPt58yBhatHkScjBUi0RPPrKGvzQfn4UyoiEu30lFAFn9nH2QcRg eVJSZEZQpmkxtM9Eo1Sn7UdGCZ0Tpm+4/d9AdmkRdUysQnjNe5KMJIrwv3uUYoweFRUaOq 8aZcYbOz7aEADTRBy/HTaqmdHZlnr7qX5X/hP8OujsCq5mi5HESpvf/im90u9woYutpSvB HXFZWwTT5iXMH3iIC5Q+vEFLyV5NTnD3hVJdGC9pTeOaX1Iu0r+ZZepdZAHrkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGrV00757z1H8n; Wed, 03 Sep 2025 05:18: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 5835HxHc048742; Wed, 3 Sep 2025 05:17:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5835HxcO048739; Wed, 3 Sep 2025 05:17:59 GMT (envelope-from git) Date: Wed, 3 Sep 2025 05:17:59 GMT Message-Id: <202509030517.5835HxcO048739@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: ffe00a05229e - main - rc.d/serial: Kill dtrwait List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: ffe00a05229ef58272669dea141e9fa33e07a5ee Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=ffe00a05229ef58272669dea141e9fa33e07a5ee commit ffe00a05229ef58272669dea141e9fa33e07a5ee Author: Warner Losh AuthorDate: 2025-09-03 05:17:35 +0000 Commit: Warner Losh CommitDate: 2025-09-03 05:18:09 +0000 rc.d/serial: Kill dtrwait The dtrwait wait functionality was dropped in the TTY MPSAFE rewrite for FreeBSD 8. Remove referneces to it here. Also, the sysctl was renamed for drainwait, so use the new name. Given the 16 years between this event and somebody noticing, I strongly suspect this file can just be removed. Sponsored by: Netflix Reviewed by: kevans, emaste Differential Revision: https://reviews.freebsd.org/D52316 --- libexec/rc/rc.d/serial | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libexec/rc/rc.d/serial b/libexec/rc/rc.d/serial index 4eb34a1085eb..f8ddc7ff30d4 100755 --- a/libexec/rc/rc.d/serial +++ b/libexec/rc/rc.d/serial @@ -45,7 +45,7 @@ default() { # Reset everything changed by the other functions to initial defaults. dc=$1; shift # device name character - drainwait=`sysctl -n kern.drainwait` + drainwait=`sysctl -n kern.tty_drainwait` for i in $* do @@ -84,7 +84,7 @@ modem() { for i in $* do # may depend on modem - comcontrol /dev/tty${dc}${i} dtrwait 100 drainwait 180 + comcontrol /dev/tty${dc}${i} drainwait 180 # Lock crtscts on. # Speed reasonable for V42bis. stty < /dev/tty${dc}${i}.init crtscts 115200 From nobody Wed Sep 3 05:18:01 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGrV14Jj2z66RVx; Wed, 03 Sep 2025 05:18: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGrV11n8yz43KV; Wed, 03 Sep 2025 05:18:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756876681; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yVlqvGzFxuYri1IlDPCnc557x6oxozGGOY+yO2upCm0=; b=MWNAxm7UDl1VlNsBtG85dwGRqQX5w8VJs1jCIPoUqZ+W0kceUV0chREt/8gysUG96la2PO 93BP1/gBL3rC7yguP9ZWjzRLI30Kz+eotLxEX9Jx79XegRxRBTLWzISRpAlakuTWlOqvec hYF0KF9zutUvyglTROQeLAAuDcTyuBAinfmsWxcOBJjiX7nJ9S7Y/5xKb0i/IdecQ7K/HI DUWFrTSwoIO4w0d+3WpQ9po7EVoswQrEkK4IZvREtm8RuPuwX9JyRU6oChIrD68qOAn/hk 3y7LTDMuKKUpuU0N98TQ0tx45/RiH6N+vwQsSl+yJJoxuIuAuXDR683HUc0hOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756876681; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yVlqvGzFxuYri1IlDPCnc557x6oxozGGOY+yO2upCm0=; b=ShnMo746Bb2z5v0HBRJ4Zydq14HkllaF/79d6XN1LoBPURi7Btv1Zvbgnmxiv72YOOzXfK 0eHcAx4GeDy9J6shLdIYDsxgD/kJQhyhefKjlfvVRPGwUdbLfEyIKiieB/3aU9HlWkuRIL ozR5IZ8rMYSUNhiSZKpkJwfvlEAeQZTFh9MXhWpQ7Bn/gqsEJBDkW8ztYY4dl4KWaghl1g GkG3K5mMZ2EoSy84vh60cLBAd2aT8Ab6czmaRnsKEVALttboZfMDjfXjiFrIm02RsS8Zmo s0Gx5ImI49XgeU57VwOUkpwCFZqu66Lsi7Ogk3FTQv9N/RaLDdCmIgxQD+/dlg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756876681; a=rsa-sha256; cv=none; b=RvPNAUzjT+cKqHWy4leD6meK2e13Iko0xi5tmTyo+n0L+ulk/qv2W+/s+wIvfTz3fLU5jl 0iMUWMwzFIk4g7FY9miH4xzXokub/QnPmGKEkITF0VFpvQVznUudzKOGLzAfQ4Dh7S5l7/ vNMoRfSArUgxZKlY94OJ908pcFQ2UoVQsvQ5UWv3yNjTauTr/diLEriByHF+1NKpcXbhBd H3VWvIq65J7mRk8R/c7kUkxEpubpTuZ6VyCeInJKB3B0DHebfp5C1PmHf8uv7X3Zxaynyy TeQHomgsyyNjgQtNPqevbr+y0SKPQvINPGv6k+3OQ6dAih/kj1yJh/QCDObuLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGrV11Ljwz1HMD; Wed, 03 Sep 2025 05:18: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 5835I1fW048783; Wed, 3 Sep 2025 05:18:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5835I19q048780; Wed, 3 Sep 2025 05:18:01 GMT (envelope-from git) Date: Wed, 3 Sep 2025 05:18:01 GMT Message-Id: <202509030518.5835I19q048780@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: 4b4cf0d52c43 - main - tty: Retire zombie dtrwait List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 4b4cf0d52c43e33c32983df60a8ea16b3d9e2f20 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4b4cf0d52c43e33c32983df60a8ea16b3d9e2f20 commit 4b4cf0d52c43e33c32983df60a8ea16b3d9e2f20 Author: Warner Losh AuthorDate: 2025-09-03 05:17:43 +0000 Commit: Warner Losh CommitDate: 2025-09-03 05:18:09 +0000 tty: Retire zombie dtrwait Nothing uses dtrwait anymore. This was elimianted with the tty mpsafe rewrite for FreeBSD 8. Only these zombie symbols and functionality remain. GC them. Add comcontrol to the list things to remove in 16.0. Sponsored by: Netflix Reviewed by: kevans, emaste Differential Revision: https://reviews.freebsd.org/D52317 --- sbin/comcontrol/comcontrol.8 | 18 +++++++----------- sbin/comcontrol/comcontrol.c | 30 ++++-------------------------- sys/sys/ttycom.h | 4 ++-- 3 files changed, 13 insertions(+), 39 deletions(-) diff --git a/sbin/comcontrol/comcontrol.8 b/sbin/comcontrol/comcontrol.8 index bee0fdab102b..f51a1f011167 100644 --- a/sbin/comcontrol/comcontrol.8 +++ b/sbin/comcontrol/comcontrol.8 @@ -1,13 +1,17 @@ -.Dd May 15, 1994 +.Dd August 31, 2025 .Dt COMCONTROL 8 .Os .Sh NAME .Nm comcontrol .Nd control a special tty device +.Sh DEPRECATION NOTICE +The +.Nm +utility is deprecated and will be removed in +.Fx 16.0 . .Sh SYNOPSIS .Nm .Ar special_device -.Op dtrwait Ar number .Op drainwait Ar number .Sh DESCRIPTION The @@ -22,13 +26,6 @@ Only the superuser can change the settings. .Pp The following options are available: .Bl -tag -width indent -.It Cm dtrwait Ar number -Set the time to wait after dropping DTR -to the given number. -The units are hundredths of a second. -The default is 300 hundredths, i.e., 3 seconds. -This option needed mainly to set proper recover time after -modem reset. .It Cm drainwait Ar number Set the time to wait for output drain to the given number. @@ -57,7 +54,6 @@ dialout devices Originally part of cgd's com package patches, version 0.2.1, to .Bx 386 0.1 . Once controlled bidirectional capabilities. -Little is left to control now -that these capabilities are standard. +Little is left to control now that these capabilities are standard. .Sh AUTHORS .An Christopher G. Demetriou diff --git a/sbin/comcontrol/comcontrol.c b/sbin/comcontrol/comcontrol.c index 7a03b3a569cf..d6d24e8acab8 100644 --- a/sbin/comcontrol/comcontrol.c +++ b/sbin/comcontrol/comcontrol.c @@ -46,7 +46,7 @@ static void usage(void) { fprintf(stderr, - "usage: comcontrol [dtrwait ] [drainwait ]\n"); + "usage: comcontrol [drainwait ]\n"); exit(1); } @@ -55,8 +55,8 @@ main(int argc, char *argv[]) { int fd; int res = 0; - int print_dtrwait = 1, print_drainwait = 1; - int dtrwait = -1, drainwait = -1; + int print_drainwait = 1; + int drainwait = -1; if (argc < 2) usage(); @@ -71,13 +71,6 @@ main(int argc, char *argv[]) } } if (argc == 2) { - if (ioctl(fd, TIOCMGDTRWAIT, &dtrwait) < 0) { - print_dtrwait = 0; - if (errno != ENOTTY) { - res = 1; - warn("TIOCMGDTRWAIT"); - } - } if (ioctl(fd, TIOCGDRAINWAIT, &drainwait) < 0) { print_drainwait = 0; if (errno != ENOTTY) { @@ -85,21 +78,12 @@ main(int argc, char *argv[]) warn("TIOCGDRAINWAIT"); } } - if (print_dtrwait) - printf("dtrwait %d ", dtrwait); if (print_drainwait) printf("drainwait %d ", drainwait); printf("\n"); } else { while (argv[2] != NULL) { - if (!strcmp(argv[2],"dtrwait")) { - if (dtrwait >= 0) - usage(); - if (argv[3] == NULL || !isdigit(argv[3][0])) - usage(); - dtrwait = atoi(argv[3]); - argv += 2; - } else if (!strcmp(argv[2],"drainwait")) { + if (!strcmp(argv[2],"drainwait")) { if (drainwait >= 0) usage(); if (argv[3] == NULL || !isdigit(argv[3][0])) @@ -109,12 +93,6 @@ main(int argc, char *argv[]) } else usage(); } - if (dtrwait >= 0) { - if (ioctl(fd, TIOCMSDTRWAIT, &dtrwait) < 0) { - res = 1; - warn("TIOCMSDTRWAIT"); - } - } if (drainwait >= 0) { if (ioctl(fd, TIOCSDRAINWAIT, &drainwait) < 0) { res = 1; diff --git a/sys/sys/ttycom.h b/sys/sys/ttycom.h index d7ddc66b09fb..43e8b98a5bc4 100644 --- a/sys/sys/ttycom.h +++ b/sys/sys/ttycom.h @@ -69,8 +69,8 @@ /* 89-91 conflicts: tun and tap */ #define TIOCTIMESTAMP _IOR('t', 89, struct timeval) /* enable/get timestamp * of last input event */ -#define TIOCMGDTRWAIT _IOR('t', 90, int) /* modem: get wait on close */ -#define TIOCMSDTRWAIT _IOW('t', 91, int) /* modem: set wait on close */ +/* TIOCMGDTRWAIT _IOR('t', 90, int) * was modem: get wait on close */ +/* TIOCMSDTRWAIT _IOW('t', 91, int) * was modem: set wait on close */ /* 92-93 tun and tap */ /* 94-97 conflicts: tun and tap */ #define TIOCDRAIN _IO('t', 94) /* wait till output drained */ From nobody Wed Sep 3 06:05:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGsXp1Wywz66W4N; Wed, 03 Sep 2025 06:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGsXp0fL4z49Pw; Wed, 03 Sep 2025 06:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756879530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nska6nQ2GpdNIAHbCNDGEvcUO9sBPrB7cd7thl/xOyM=; b=xpidKK/fva1bJQWfvBsEwQeX7/hiVJgAcG7x0lqtUKQncvffR7M1GA7XrAG1qbkapbeynp 2toPiNrT83Sh6FFa/KUToVbpODXJ0ArDxnytOF2z80qByaz+geXpn84kgkdJ9Co1D8cE0S ZkApQsX4YTEBpJfx+LGbm6SK5oLpvig5EqZHfLzLrTlDiFzLms/vYQbAQrBHaVRYeyA1pr 5c0JLkH4KCu+b5R/rzsBd/syfGTvHg1hLCtCh/6Ypznl0RlATCiWYtyLu/maEwq5ejVGxC Wkiyz/9kQDd/iMvjE5xE6iEECW7Jcrp2orApemwrjSRsYVv//YXskn9ZT7a30w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756879530; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nska6nQ2GpdNIAHbCNDGEvcUO9sBPrB7cd7thl/xOyM=; b=anuBfnl+GYZLMtvZ5GM6j1fKie77dINGLkTlTDENHRwlfaR/GRd3wz6umu14H88QY5xyg8 ehiuL9tz5YekOv9Wo1uAmuvZN8zxYP/Hj93lRy62bY53XzjXHyawzIOIqTJxIosv7j108x oAQ/umeBUaHapoKAkrG3uM0FWFUw7Old4HsHtbx4ehQL9jAAburyjAmoKga5BudSeQJcxi DDZFfP1qiTzzZd+N+zRJctgN/OIzUCrDJiGOZoPDRFgfe/MYL+PsbySE1WQ0qLMnvb/P9z GC0HS3hlQI/1gYBv31Ag0UpjLL3lxyp6Ml2h30Aff+dPkwMlRn5FLr7E3jHjLA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756879530; a=rsa-sha256; cv=none; b=LrgOqjqcqZaxpQ3tGAeY2cb//9J4LU2cauDSb5IYBjMNVRaPGikWDJnf3eX4a6VP9Uncev JlSomqCKcpPpA0qm7C6r3iJEtgHWJHEKgam++IZMN2kLmOYDpNGRVtUO6NvqWzmxC05zXg L17QfLg+6oJQiTgnSQJMgtKZcLhPVF2+1aYeCPeZzwARBl8DtOz3HqsnK57r2x8PBQtewU uviDKBPWtFBjYdY9+kw+6vNvIxel86a1W5xWUa5lWaTLmVS9U0A2lH6t4HgvXEBpZf4MMp +a/nVsFdZVbvf6/K44Gvxrft1ybprva8hRa4e48rbJFyZo0CNgtV6Yp//68okw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGsXp09Stz1JpX; Wed, 03 Sep 2025 06:05:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 58365TJI042635; Wed, 3 Sep 2025 06:05:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58365TsM042632; Wed, 3 Sep 2025 06:05:29 GMT (envelope-from git) Date: Wed, 3 Sep 2025 06:05:29 GMT Message-Id: <202509030605.58365TsM042632@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: bd481f1bc6b3 - main - loader.conf.5: Add reference to kern.msgbufsize List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: bd481f1bc6b38904049039ccbce998a19bfd0fdd Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=bd481f1bc6b38904049039ccbce998a19bfd0fdd commit bd481f1bc6b38904049039ccbce998a19bfd0fdd Author: Warner Losh AuthorDate: 2025-09-03 06:04:54 +0000 Commit: Warner Losh CommitDate: 2025-09-03 06:04:54 +0000 loader.conf.5: Add reference to kern.msgbufsize When booting with boot_verbose, you want a larger msgbuf size. Add a poitner to its tuneable. Suggested by: John De Boskey (Ages ago) Sponsored by: Netflix --- stand/defaults/loader.conf.5 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/stand/defaults/loader.conf.5 b/stand/defaults/loader.conf.5 index dc1c8f7f44e0..b1661e8c1101 100644 --- a/stand/defaults/loader.conf.5 +++ b/stand/defaults/loader.conf.5 @@ -21,7 +21,7 @@ .\" 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 June 12, 2025 +.Dd September 2, 2025 .Dt LOADER.CONF 5 .Os .Sh NAME @@ -127,6 +127,9 @@ since those flags apply to all boot loaders. .It Ar boot_verbose Set to "yes" to get the same effect as boot -v or booting verbose from the loader menu. +See the +.Va kern.msgbufsize +tuneable to ensure enough space for the increased number of messages. .It Ar exec Immediately executes a .Xr loader 8 From nobody Wed Sep 3 09:24:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGxyD1cY4z65n2Q; Wed, 03 Sep 2025 09:24: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGxyD0hwsz3DsL; Wed, 03 Sep 2025 09:24:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756891460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oAVVNZylz39yTEHuDbLLEMmNELnWn/a5BIXB1cDEEpA=; b=MCEZOtqEgG+qdmtldWjlp5IL1Y9njULOC5aaieAhyxsD8THvCz5mVqC2sj0GQNjkCfMPGA A0jvoib4PMdv93L4jmqjTVYotbloBG5owPzcazNITJ6gnMpzxbnkf8gJNzRyVeGdTLPEb5 4vG3RSIh+ZTJlhb4NiOU7aPuQ6ClHYfd2pRm3wOmjIRkQ8Z8TOvB0LTDUI/cFL1pu7xRvr gDX+350Nu8PdEBKJDYqFTK0iSYN77KjuirzijPU6k4r8s8OTJZ8umE1Rd896OKr2ABDcmA VPQpU+5Hp0AGbI6y3uIombhgAcy44D8FkLlk+cqr8C+kqgf/xUO6h3TwUrwBBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756891460; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oAVVNZylz39yTEHuDbLLEMmNELnWn/a5BIXB1cDEEpA=; b=gmwZeR3VkKnNHHugICnxbuLtdYOwHtZ3P4dWus/0vSkkrmgRF0pTPRbYBgL3ILr3pD18XX +qx/+0/jvAZJq0wUAn3POkh9Nu6rgr7KXWrKuVQ4ZfUo0VlCYq/ezSDqB1pgOKniM9+mKD /TNAtWl9m8wWR92DTIGCn8+6rJ032jYnDvslTSu/8LBtMIxXfasHL+uH34WlOdYHD3RCJd 9GYGWsU3OzTnX9QQ51taGRzzNAy0M2/SFwR7QT7D+pUEmRXBg06+bnFyH+JBs5EcADOsX4 IihBGVTV3V/U+twCpol1ksm9s5WrhNqT9p+xAAk9pX4MNH1visJd5l8sKlWdWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756891460; a=rsa-sha256; cv=none; b=Vr8sC+YCSbbtOixRdabfgE5ykCwq+k7GUdL67HWMR9gPnXvAESIB0oGRqMK4uymjEF6ng8 431kE5hOqDZk+ZJLoEUWDAvv6HW5ManfE1BErLU59VYrEV7xTabZ2uV+ge1HIgPam0C+eJ ALwPOta/femyIcU1Uqk76qA1OO4H6M3jROJdUuwegK5dLSL6u9JGI5jxniPzvHYqmo5ZpQ FwGBdrFWjBcZr62QVmnGsAzYxVj7T8mK/Z/DqZCOsxuosLfFVPVJHah1NQPS4g2cSG8Dhp vKIugkw1HosKcxVeuj5+MBHmJ8kxd85H9WX5at0Ob6P9tgzRGemSjhfSq0Fm/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGxyD03MFz1PtD; Wed, 03 Sep 2025 09:24: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 5839OJI7019825; Wed, 3 Sep 2025 09:24:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5839OJYn019822; Wed, 3 Sep 2025 09:24:19 GMT (envelope-from git) Date: Wed, 3 Sep 2025 09:24:19 GMT Message-Id: <202509030924.5839OJYn019822@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 491986942dd2 - main - vtnet.4: remove stray 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: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 491986942dd2b3be8a6f232c487b3bb7c1ea412b Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=491986942dd2b3be8a6f232c487b3bb7c1ea412b commit 491986942dd2b3be8a6f232c487b3bb7c1ea412b Author: Michael Tuexen AuthorDate: 2025-09-03 09:19:48 +0000 Commit: Michael Tuexen CommitDate: 2025-09-03 09:23:51 +0000 vtnet.4: remove stray line Reported by: Timo Völker Fixes: ac87d70563f8 ("vtnet.4: improve existing descriptions and add missing ones") MFC after: 3 days Sponsored by: Netflix, Inc. --- share/man/man4/vtnet.4 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4 index b6f10ddd87cb..073383df11ff 100644 --- a/share/man/man4/vtnet.4 +++ b/share/man/man4/vtnet.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 21, 2025 +.Dd September 3, 2025 .Dt VTNET 4 .Os .Sh NAME @@ -127,7 +127,6 @@ This option applies to all interfaces. The default value is 0. .El .Sh TRANSMIT QUEUE STATISTICS -.Bl -tag -width "xxxxxx" For each transmit queue of each interface the following read-only statistics are provided: .Bl -tag -width "xxxxxx" From nobody Wed Sep 3 09:46:00 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGyRH4tf5z65qFl; Wed, 03 Sep 2025 09:46:03 +0000 (UTC) (envelope-from kp@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGyRH4Mr0z3JpR; Wed, 03 Sep 2025 09:46:03 +0000 (UTC) (envelope-from kp@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756892763; 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=zBpGdT8T/WJUzGVeyKPmWj0yl7BSiLlyy95IW2CRknI=; b=XtSIlHup/oTewy4RB3wNm80OxFS05SMfwe/9mYut7q1mfohWglicvhFlAcPWozzDZkEJ2g F9ThmOJ95E0uahIdwiX/ESePjteaLvSOmO4TUmHOXz0/AJY26moz1nUSgkEMKVr0aUAQDA JmWwLtfYf5IrCc32boO1UXi6pq2pVvistW7cG5XXKds+kGRJpdJ+ehFf7QvYWW7UkXPbhP s01MNBdQND0SRRg30rBncnXqsjev8zzZ7Sqwg82PJjGD8zBEcE0VU0PddyjVMP/0qJRd8+ WJ77nbPKiotvcBP0hLOt52Zf45StBThvc+sVZxKCmrkvfvpPBng5uROru1TiIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756892763; 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=zBpGdT8T/WJUzGVeyKPmWj0yl7BSiLlyy95IW2CRknI=; b=kWAyXN6qFf9iQ7QG689/n5GVyBo0zIAyEFLQh7r3dILcXsX8lEuGLno1JmhAxrEzrR8R7K rZKeO3Z7/C9+IqPQsYRSSrUdiFbQqTw6oKB3OXnrLq0ZKPbjEG5HSKXWsAMEgqdIcBsCue 1SPjpDBclqmr9ysRaxY8z/OAZViX8DvSNci4nTxOR1RiIMdBXjI632kwIen3n+wleChxpp Y9lDcg2lXfAbpODnP5EOmnNofFAJfe+L9q0IbHHOM9vps24TAteAMDOehbrDAoLEFD7vWl +EZ7UW9/wucZhY1o3ll9RjxnHLQV5tjXonPTaJBaj3hn23aIDqtvMTdLj9mSEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756892763; a=rsa-sha256; cv=none; b=o9i5BR016Uauvxz9icnA7z4Wh1Ed03MJGK8R0dXiCFbTNr2nDwpxvkJ6eKmi89RrEO/H5G OC9SZuSJczGNGtaiR6UodAZtDIgukMrW0Kz0TAH+83JDHNNcZBO9QGeyK/1Qce3jDnrcSf HDCFWbnz3trEnRN+6nJy5NgnKE3zbzbDbyP33L0do4DYoIALe8PNKB31GFaiph2cuHTtOx ozpXcfel6Sg6VdD2HetveAQYxr6LWTeQSF3QU1FbSsxa4kJ9N8d91YKLkcxcsZik38D7Aw 3niaia5zrdvBdFWzX8CDMdlPiCh7EzNZtfp81IZV0rEcbeSBZ85wM0eVDId1MA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from venus.codepro.be (venus.codepro.be [5.9.86.228]) (using TLSv1.3 with cipher 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 "mx1.codepro.be", Issuer "R11" (verified OK)) (Authenticated sender: kp) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cGyRH2mPWz140W; Wed, 03 Sep 2025 09:46:03 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: by venus.codepro.be (Postfix, authenticated sender kp) id 815094529F; Wed, 03 Sep 2025 11:46:01 +0200 (CEST) From: Kristof Provost To: Gleb Smirnoff Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: ddd39152743a - main - pf: Introduce M_PF type for pf(4) related memory allocations. Date: Wed, 03 Sep 2025 11:46:00 +0200 X-Mailer: MailMate (2.0r6272) Message-ID: <85886BF4-570F-4F4A-8FE4-3B064C8E8D20@FreeBSD.org> In-Reply-To: References: <202509022110.582LAr4f036441@gitrepo.freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; markup=markdown Content-Transfer-Encoding: quoted-printable On 3 Sep 2025, at 6:39, Gleb Smirnoff wrote: > On Tue, Sep 02, 2025 at 09:10:53PM +0000, Kristof Provost wrote: > K> The branch main has been updated by kp: > K> > K> URL: https://cgit.FreeBSD.org/src/commit/?id=3Dddd39152743abc3cff05e= 7475c0ce48aa303956a > K> > K> commit ddd39152743abc3cff05e7475c0ce48aa303956a > K> Author: Kristof Provost > K> AuthorDate: 2025-08-18 12:19:40 +0000 > K> Commit: Kristof Provost > K> CommitDate: 2025-09-02 21:10:20 +0000 > K> > K> pf: Introduce M_PF type for pf(4) related memory allocations. > K> > K> Currently used M_TEMP and M_IFADDR types are unreasonable for th= at purpose. > K> This dedicated statistics simplify the future pf(4) unlocking wo= rk by decreasing > K> search area of possible memory leaks. > > IMHO, going away from M_TEMP to something else for allocations that las= t for > duration of a syscall is a regression rather than an improvement. > I can see the argument, however, I think there are sufficient reasons for= it anyway. The first is that not all of these allocations are correctly M_TEMP anywa= y. It was used to allocate struct pf_krule_global for example (as well as= anchors). The second is that this indeed revealed memory leaks (since fixed) that w= e wouldn=E2=80=99t have been aware of otherwise (and that does also apply= to allocations that are temporary). See 44cc3b2731914f94851c0e468a5fa07c= 5f6ca006 for that one. And finally, the usual argument of diff reduction with OpenBSD. Although = to be fair, it=E2=80=99s not exactly hard to change the malloc type when = porting patches, but it is yet another opportunity to mess something up. Best regards, Kristof From nobody Wed Sep 3 09:53:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGybd6GgFz65qZs; Wed, 03 Sep 2025 09:53: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGybd5SzDz3KcR; Wed, 03 Sep 2025 09:53:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756893197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NQClLljETzrFfGF6HX6KbGutoNCTRA9XToQoRR9KkEQ=; b=VU0KWM431Dz5nT1s94Wt6sH/Lg+yB8pjvdu2VVo8AXuvkj88AR4KKKbnLhCa3vTX+T05Nb AQgEtdVVMm+v0lYvu/dQeUmEzfJwenhuOis+Hg3kcDq11HiSecd8fdCuJ3zE85nqKe4l0S /WGzQH+0gCFAdeDGrQ+s8lZ7ySrBi0lINEtCoBd/nsB01VKxYo5tGTghb4XtnMCOtFBpF0 3frYLyZqcHM3qHYgnlavKpZNi+HaA1tB8JnfoPO6dbg770jRWRk+XnDCSHZ5FLF3vO31Ji 4Cfs6qg/LWoAqiPZmPWlJmmv9IMRbMi5AIBNoXxNfE6xG6YiN/Qd4duXMCP3bA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756893197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NQClLljETzrFfGF6HX6KbGutoNCTRA9XToQoRR9KkEQ=; b=gfQiFJK/1XeQkzC6Agkskxs6w+pWPrlMBijkSzvJDB3XRp8gdmJdjRf31CwWjfC3+VoO/l 3haIOZFfpCUd1wqzZFeFPuFEdE+MViiA5lz4RH/mqQb7KXolg76bNnrlwdSa1gkcHhgf+M EN6PSAGFF9hkBonL59+pZ7TxS3yaAuPzumrgdE4dOkx4bUzt1HSVb8ZlKTJsPVoi7ZMOLO hXerUkM7H4KNcC3xZsF/sHqtepjfWLPPFe+cUH97CQXJResMEqdi1654WllxrZ6c/e/7tJ SnMHQAR86Zov08s/zBAhxC3tBNLp2MFdmuUuTYrtJSPCYtwB/PmWnNWlZ6FwZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756893197; a=rsa-sha256; cv=none; b=WvImTH1Flcu4o5MpzH4tG3hfM0Ba14FwDY3BszGwaqci2iweXkUAmoWFAkgGTTOlQklJJU 6p9q+/BAij36zyC4e5Z2eDZ7J7iVy/7YW0V48TGub0n1Pf625nBSlFRGIgruqlmNF6QMbM mTK1vyoTtyIGlk6dL4QWyYqIy0qtjQ7bltPzQc13ukUqwLrtuYRU2BBGON68FEzdPKZBXC 1inrhDuk/t5dcor00QxWpT8N1A94jUBrJd+N3YbHu7NXGXvERE6MUq0f+gbY5IS5LmPNWK KDWSfMQuF3w/CXIOK4ucgnr1ShYSrXUJIXkDaFuYo+h4K6SAorm7RvLDsSQd7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGybd4wbvz1QFL; Wed, 03 Sep 2025 09:53: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 5839rH59075861; Wed, 3 Sep 2025 09:53:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5839rHV4075858; Wed, 3 Sep 2025 09:53:17 GMT (envelope-from git) Date: Wed, 3 Sep 2025 09:53:17 GMT Message-Id: <202509030953.5839rHV4075858@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Baptiste Daroussin Subject: git: 245f2abf9488 - main - timeout(1): add license header to unit 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: bapt X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 245f2abf94889d3fd69360c4f49532074ff25fbf Auto-Submitted: auto-generated The branch main has been updated by bapt: URL: https://cgit.FreeBSD.org/src/commit/?id=245f2abf94889d3fd69360c4f49532074ff25fbf commit 245f2abf94889d3fd69360c4f49532074ff25fbf Author: Baptiste Daroussin AuthorDate: 2025-09-03 09:52:46 +0000 Commit: Baptiste Daroussin CommitDate: 2025-09-03 09:52:46 +0000 timeout(1): add license header to unit test Requested by: kevans --- bin/timeout/tests/timeout_test.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bin/timeout/tests/timeout_test.sh b/bin/timeout/tests/timeout_test.sh index b1bf69968e84..88dbaa808043 100644 --- a/bin/timeout/tests/timeout_test.sh +++ b/bin/timeout/tests/timeout_test.sh @@ -1,3 +1,5 @@ +# SPDX-License-Identifier: BSD-2-Clause +# Copyright (c) 2014 Baptiste Daroussin atf_test_case nominal nominal_head() From nobody Wed Sep 3 10:10:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGyzl2jlDz65rt4; Wed, 03 Sep 2025 10:10:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGyzk6fFXz3Lbq; Wed, 03 Sep 2025 10:10:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756894243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YE9g/tNm4+bYrV5wKmLtoddK83JY2Zh60hYMuGglRCY=; b=rix0ZUkGu1PBj09i0GA2HxloZyWYoVPKhYHqhaSAFMvvJ5bJErKQ+9RVdkKhuxjbCmzlCh ptXXMFYcs4qfsHT6Av88Gyr/IzBTeALYXyGgchlrVHgUU6G5L+1YZMfgWLI3+MrhQddMiZ /oX5cSJvHzQMm7pA7fjcKljB0HM1CBX2NUW1kTuz8wHKFeV9z/+IZSQtfUP86g2MaFeybq yk/nEcEhNMwlvViVvLwyDuNHRSqBKVWWdMzyFOM2NDSVnhf7qwJgoQkKN80vWmq5Zb7atr FRUtlCQgmHuFgVORjkfZXTz2rE28HT+0HwiTsjW5EOR7L3FarPkK8Jkd0GdQTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756894243; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YE9g/tNm4+bYrV5wKmLtoddK83JY2Zh60hYMuGglRCY=; b=m6hMSvtnOb2tAGodDp7uouS3IPMqfQo0UfqS0lfWVKYQ45i0aSdoSzAL4H6CvS8GybDSCr VAyetjSHkCmzLxwQjgfA3BoDYqXG24q+sr3otngFTQ//cShVa7V+FnJGfbQOe0CsHDU37/ WEMGyYNE5m8+GAyh2OferiTMtP+yLyx7tmkTsc75f9oDD5FqcGAqHpuWenz1jc/kGkpl+p W3nos2o1tbnQ54WhAocK7CCgyIStTDL2te3Gu8h/1nPkpggNgkauIJ7S3icGw6Ml1s7ZRz O6OVsqyZMUxW91Cq2FjRmN9h6TWQzISb4RISgiymKBiLiOvY2Hq0+ej+6Euftg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756894243; a=rsa-sha256; cv=none; b=QU+8/MO0/hdi3GTauYU91R7EIKulON6XwGBwCs8bTyn5FbWTo+Z9Aw83fI+l5cdHBSImOh 5qSX1UXyFUcsytl00oc+ucggSHRkPTWofw8FyNDD3MJyPurreTY2XPieuIBSyedOh+Kx8b I4sapCXuotofe9YbiVGxIfZPUjvEB0ZgtNWI2lOb6QoJS5lqTfue9VMMITVfn9VfxJrSMF kS9ctxwPWWLlwPphE6AF79z1+JAZRatMw77C5eTz34S5dUuCUxMAwI80sKllc/elTToUIi 2JtHmnrprb3g6ErGUWFD80pG8tFQtca5uU1yOP/m3sp90vFbqYBpZBTfJYC2Zw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGyzk6BRNz1QFl; Wed, 03 Sep 2025 10:10:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 583AAglK006730; Wed, 3 Sep 2025 10:10:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583AAgDQ006727; Wed, 3 Sep 2025 10:10:42 GMT (envelope-from git) Date: Wed, 3 Sep 2025 10:10:42 GMT Message-Id: <202509031010.583AAgDQ006727@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: 512d3c3a2c63 - main - if_ovpn tests: skip float and linklocal test on < 2.7 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 512d3c3a2c6391cee61ff41e3fe6304973346857 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=512d3c3a2c6391cee61ff41e3fe6304973346857 commit 512d3c3a2c6391cee61ff41e3fe6304973346857 Author: Kristof Provost AuthorDate: 2025-08-29 09:19:26 +0000 Commit: Kristof Provost CommitDate: 2025-09-03 10:10:21 +0000 if_ovpn tests: skip float and linklocal test on < 2.7 Earlier versions (than 2.7.0) do not support float notifications or link-local addresses. Skip the relevant tests there. PR: 289150 MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D52234 --- tests/sys/net/if_ovpn/if_ovpn.sh | 2 ++ tests/sys/net/if_ovpn/utils.subr | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/tests/sys/net/if_ovpn/if_ovpn.sh b/tests/sys/net/if_ovpn/if_ovpn.sh index 0281e7fc273d..9dafce2242d8 100644 --- a/tests/sys/net/if_ovpn/if_ovpn.sh +++ b/tests/sys/net/if_ovpn/if_ovpn.sh @@ -510,6 +510,7 @@ linklocal_head() linklocal_body() { ovpn_init + ovpn_check_version 2.7.0 l=$(vnet_mkepair) @@ -1399,6 +1400,7 @@ float_head() float_body() { ovpn_init + ovpn_check_version 2.7.0 l=$(vnet_mkepair) diff --git a/tests/sys/net/if_ovpn/utils.subr b/tests/sys/net/if_ovpn/utils.subr index 0da35119b2bf..fbe7dc98630a 100644 --- a/tests/sys/net/if_ovpn/utils.subr +++ b/tests/sys/net/if_ovpn/utils.subr @@ -40,6 +40,25 @@ ovpn_init() fi } +ovpn_check_version() +{ + expected=$1 + + expected_minor=$(echo $expected | + awk '{ split($1, ver, "\."); print(ver[2]); }') + actual_minor=$(openvpn --version 2>&1 | + awk 'NR == 1 \ + { \ + split($2, ver, "\."); \ + split(ver[2], minor, "_"); \ + print(minor[1]); \ + }') + + if [ ${actual_minor} -lt ${expected_minor} ]; then + atf_skip "OpenVPN version < ${expected}" + fi +} + ovpn_cleanup() { for jail in `cat ovpn_jails.lst | sort -u` From nobody Wed Sep 3 10:15:21 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cGz561LLRz65sRf; Wed, 03 Sep 2025 10:15: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cGz560mjyz3MSM; Wed, 03 Sep 2025 10:15:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756894522; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2CJPJqy6NSGR74n0YGxvykYtMW6ZwnYUWBV4RWFInVQ=; b=ngz5UXAUPb83koQzTieAmtEVgzu2I+Qvf3SOGzqL7aZfBcAnTpVUXNxAG+uW+bHvMCF2Qq Y3WWGXYvoQ9n5z7xxtxOaQv5qkrSsNsN3EI/kCsJR24Bm0QBh21WiYLFlcpZmF/eq0DKLJ u4RppbilkJyjfyLRHx9dP0mjVV/jw0FdehK6qYt+EZ3KxY5c4jx/teAT9Ip1C2OCMtrCZM +ZH/YXYM23kp0Fme49JYsIR64TVP2O1jg9K0uBHAtQW55wbCx5uOPN257MREEbxh5AIyxF Cw6DHRr8Ib2bDYyc/bN9AGsUYyMLgD+Xe4nUf0/7uBppX5qTJQ+xXvY/KOvG2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756894522; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2CJPJqy6NSGR74n0YGxvykYtMW6ZwnYUWBV4RWFInVQ=; b=I0gXKWOZ3qUz0p0dWRkDH7svv5y0W86nFNlwlr0fPK4E6j3yCs+JdCY8qdWtNfcoHu2/du QfzeemJAZlI+LcKJuheo5VWWpKvGSegT/xpw55CQV28xistCdtUQ4h7+xUD2fE6k+0PijN eTiVJn4ezLagOfJBEkeJV2IIGR/vpJ6Dw9J2RKPL8z7TEMP/loG2n35A9/sj2KkOCP5EeS 2OJIudGOsTdbiAc8b7RwAudnMjcgj1lJHUq2hrn+VFLPYPqqOHrgqu6P6rryTIAwgGyX7p 0Cm80qDEMnCnCTSouVD80mxpY0Cwq7gvMkDtZ3i9Lvm4juOHgQEGz/ucpPL9ww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756894522; a=rsa-sha256; cv=none; b=aeoj9DDAXCPqHuCxzJuKXFoiW4Wv3nnmJI3td3vY4oZVyU0oeQ9xVLI00uWZ+7/xWccW06 bgE/f8KqbSvkZ22mMjXQPjclbm3WP7PzJ3750NgZjvrEx5Q6YXrTythky+czIHMl2ZmPMQ QdRO1PJVkeqw6cXWf5vgpBNtNDOe52D/EZmzn/0n9YASbNn/hjTTgs+2ZXuA8JmKJ/qlMN RN5cq7JndrRYXxWB4Sqf4PnFBp/mgBXx6WXv2whTXVgZ5bCJEIBGtTDcS4ZraEzvv+C0BL X/P2w91MfQDdE7qK/6ROPo9vaTNgcQLnGTqx/pVLGaqCU2UQ87WbMYkZxGAMGQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cGz560MmTz1RCY; Wed, 03 Sep 2025 10:15: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 583AFLTI015397; Wed, 3 Sep 2025 10:15:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583AFL1q015394; Wed, 3 Sep 2025 10:15:21 GMT (envelope-from git) Date: Wed, 3 Sep 2025 10:15:21 GMT Message-Id: <202509031015.583AFL1q015394@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: 11f1dd193af5 - main - init_main: Fix logging the subsystem of pre-loaded kernel modules List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 11f1dd193af57dfa5128eadc62b084502292a784 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=11f1dd193af57dfa5128eadc62b084502292a784 commit 11f1dd193af57dfa5128eadc62b084502292a784 Author: Zhenlei Huang AuthorDate: 2025-09-03 10:14:21 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-03 10:14:21 +0000 init_main: Fix logging the subsystem of pre-loaded kernel modules The pre-load, aka linker_preload() runs at the order of SI_SUB_KLD, but a pre-loaded module may have SYSINITs that have startup order prior to SI_SUB_KLD, e.g. TUNABLE_INT() / TUNABLE_LONG(), hence it is possible that we run into abnormal orders. Without this change, the subsystem of the pre-loaded kernel modules will be melted into previous one. That is mostly harmless but confusing. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D47904 --- 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 36ce44b988be..2fa429e6368c 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -296,7 +296,7 @@ mi_startup(void) BOOTTRACE_INIT("sysinit 0x%7x", sip->subsystem); #if defined(VERBOSE_SYSINIT) - if (sip->subsystem > last && verbose_sysinit != 0) { + if (sip->subsystem != last && verbose_sysinit != 0) { verbose = 1; printf("subsystem %x\n", sip->subsystem); } From nobody Wed Sep 3 11:40:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH0zC4dJ7z66FhM; Wed, 03 Sep 2025 11:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH0zC2kB3z3VMH; Wed, 03 Sep 2025 11:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756899623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JvbpKjFqWCwDs0Czs407qRRKiZTwy9HA0esVsNPih54=; b=WosrpFe5IQS212nGQ/ABRhw/ui7/XhhBZth7o/9GJEyCGAJSgxdDH49yDe+QPneOaWyV2L GbEBi+SYlKfFMBdXIT2uQ/aYcNvLY8DvPe0JViMC24n/4chiljTufWQAnc61ytF7mFF799 h339KxIU3+RWKkMINwdBtMYAzqpvsgcxYe9VnyUXsGS2VNpTJhvX9e0IUnaY7gOBFarb8F G6mBCbyi1W3wuZazejho4wg5EYtVNK+Ta34vJgXkPicUXhqnpI3biNxSTgX2RaDkwGo5fr PyoHpZvsjARnivSTw1jqi9OzG2AanHetdRoMBIpGiW4YVsE8nlO5IJI2LzPsWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756899623; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JvbpKjFqWCwDs0Czs407qRRKiZTwy9HA0esVsNPih54=; b=RzCIdEjs2K6Th1UlodYuZM2TVtzRvm5JjuUcSawHgqY5i78DaGpw2pUvI5VukFoHEgG0Fr H21jn/YWSBshM/JPNmtRopk/pqq7RXKgR669t42Nh2yG7rp08JfQSh5X4Iegtkbe7EbNVg 60maXlyDUoCOPwvpQ5LVjYARJnRKBGlSp2OynAVl1Se7A/6VtvC58TlQBXq1XVXXkVgBVe Gk81KgOWOM6Sr5BVzaUqPbYCf5TbqDrkTeHKG6+4HMUSj2p7jS8P9bZ2GwGRVUA2S8C9fx lSFUTcu7uLz1cfzHkD7QRy30PQ1Kmzv/n+cOhOg7gC1j3Qt0fts+9b/x5ndGmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756899623; a=rsa-sha256; cv=none; b=nXfOTeP+kRqv64rOu96WEky1ZxLYK43KddI8qYEr/OeV8q4cS392l9L9mmNlVfYWR5dfFn FJoPuQ1YDL34WzkYS+8lgKAsY+jREkwlevsfUarmXTcHwQ3oVrkr40OrYUy/s6S8XbrbbF LUd1HyvENiB4sDC87YkO9kouwfoW5a3MhDRSXzdAecs47/9TSERo+roUkmNIkKHYWtN8SQ 7Hjsemq4p3lg2EBXEatl/+EpH+Ax947c8oA4slDUb4uJviK/9dvMoMLAf0Kqs8DEbZfSNL upCGiPU2w0JtnWygLztMmbXLH7J9IJL+RqSgNRXnw9rohfv0dIClxCBEo02SNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH0zC2CVRzw6; Wed, 03 Sep 2025 11:40:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 583BeNmC076578; Wed, 3 Sep 2025 11:40:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583BeN6s076575; Wed, 3 Sep 2025 11:40:23 GMT (envelope-from git) Date: Wed, 3 Sep 2025 11:40:23 GMT Message-Id: <202509031140.583BeN6s076575@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: bc222e96d135 - main - LinuxKPI: skbuff: no longer use IEEE80211_DEBUG to turn on debug List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: bc222e96d135687aea4e67ee9b11fb9490f42546 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bc222e96d135687aea4e67ee9b11fb9490f42546 commit bc222e96d135687aea4e67ee9b11fb9490f42546 Author: Bjoern A. Zeeb AuthorDate: 2025-09-03 11:01:01 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-03 11:01:01 +0000 LinuxKPI: skbuff: no longer use IEEE80211_DEBUG to turn on debug A port using linux(kpi) header files but not using skbuffs is hitting the case that it cannot find opt_wlan.h. Give up to the idea that skbuff.h is only used by wireless drivers (or in-tree) and that IEEE80211_DEBUG (via opt_lwan.h) could autmatically compile in debug support. It is likely time to add a LINUXKPI_DEBUG knob in the near future (also for linuxkpi_debug or linuxkpi_debug_rcu). PR: 289268 MFC after: 3 days --- sys/compat/linuxkpi/common/include/linux/skbuff.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/skbuff.h b/sys/compat/linuxkpi/common/include/linux/skbuff.h index 0f192ceab318..6e41c368a8b8 100644 --- a/sys/compat/linuxkpi/common/include/linux/skbuff.h +++ b/sys/compat/linuxkpi/common/include/linux/skbuff.h @@ -1,6 +1,6 @@ /*- * Copyright (c) 2020-2025 The FreeBSD Foundation - * Copyright (c) 2021-2023 Bjoern A. Zeeb + * Copyright (c) 2021-2025 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -47,13 +47,11 @@ #include #include -#include "opt_wlan.h" - -/* Currently this is only used for wlan so we can depend on that. */ -#if defined(IEEE80211_DEBUG) && !defined(SKB_DEBUG) -#define SKB_DEBUG -#endif - +/* + * At least the net/intel-irdma-kmod port pulls this header in; likely through + * if_ether.h (see PR289268). This means we no longer can rely on + * IEEE80211_DEBUG (opt_wlan.h) to automatically set SKB_DEBUG. + */ /* #define SKB_DEBUG */ #ifdef SKB_DEBUG From nobody Wed Sep 3 12:12:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH1hW5snXz66Jk9; Wed, 03 Sep 2025 12:12:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH1hW59zTz3Xkj; Wed, 03 Sep 2025 12:12:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756901563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I/dXz1thJbbRC6VzE0Rojyh+fy4kxsHoXdnGRtznKKk=; b=hcefGYfG93h/L2qx2Ozjr2Qk6SqlTJzhWR6x7WqdMBQjOXimtW7ZBipG6UpTPZUDhdYYSe B38wuQ12L9QgTO1Xb8DX96cBwOGCHvuOYDRwpqvoldQMtXEYsLWcqlCCCxMLyXEtxbMk8o ND4RU9a56D8Ht6WXrLLZ/hI9c7tOSGqahI2Ngmsogd9UNC+t+f6Z4ol1qeSBXS8gMpOrNp VhIhLkUPAEnJkWU2j3kQgwaaHm2Zr5WwL9vfUs5QQTUGoKj5RPFmCA9+hi+03asc0NS4lO 4sTp+mFhi0uPnk8fwLXNUDqG9UKo0A2RlTXAD9Hr65OoXKF1S9MHIboQkhsyHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756901563; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=I/dXz1thJbbRC6VzE0Rojyh+fy4kxsHoXdnGRtznKKk=; b=h8k14bTJeoB7z3GhqD+B7uUUvhZGpFzIfhecrhzlXFAHmhRdAx7Pjvpb8CwagEIWaU50un SDLSg3fcOI5JH6tsItvkFd7eoCCDrOOYvgzRpiQ/Hgx4KALmbYOUd6kXzRFMEI+e893FY6 hzKJ6V9k1c0ovVFBSO+VUCM+E2HFm4fvM9XVThgEV8bGtYkbygX0ZRlSI7qdxd+Mf5t/jK KzO2g5zgY3FK4YYWhY+EAqbvN1AX+3vvJTeRaMOt+bpSAIvFjA+cz4nkWb2t7SjQ+LcGI9 HEJGYtJtmOEC1aPqNvYdgf9Dseh7TebEtbZGGmlSWOow+gCTC86EjXPvb2c69g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756901563; a=rsa-sha256; cv=none; b=U/CY4WnqWdR6Tjn9m/CH2TVDfh+9etJA34HSp0VdIV2VLNk8k6ftKsq57dXsVpEYL5GF2F qqHBjt4hWBLeuevr1lAs5BcotlwjyDM8kkt4n9aEwz2w1+OjxquXbToW9iXzzMINH4H1eE vl8UkrqVCwgNy5bMNmyoIi7X3ccqxomEW6Iz90q8LPnW/OWOFN2VOtOooKromtHr1i9LuS z2qm1mO/DLBuD4mH7ocbKe1E1gsZYFulDgH/fFOXFQ0tQRBp2E0A2aymk9q4P3LYg8IMU+ imrKLBxP0a7MneLEhaxvRAWhRjseIFm5psk5jE2U11Dkk7kvKK3o1nlQMMLfuw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH1hW4V16z211; Wed, 03 Sep 2025 12:12: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 583CCh7r041534; Wed, 3 Sep 2025 12:12:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583CCh6p041531; Wed, 3 Sep 2025 12:12:43 GMT (envelope-from git) Date: Wed, 3 Sep 2025 12:12:43 GMT Message-Id: <202509031212.583CCh6p041531@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: d376524a5d31 - main - tcpdump: get BINDIR from usr.sbin/Makefile.inc [NFC] List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d376524a5d311ddc2a5adee9aec34dd2e4c7a3b9 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=d376524a5d311ddc2a5adee9aec34dd2e4c7a3b9 commit d376524a5d311ddc2a5adee9aec34dd2e4c7a3b9 Author: Brooks Davis AuthorDate: 2025-09-03 12:12:10 +0000 Commit: Brooks Davis CommitDate: 2025-09-03 12:12:10 +0000 tcpdump: get BINDIR from usr.sbin/Makefile.inc [NFC] Reviewed by: jrm, emaste Differential Revision: https://reviews.freebsd.org/D52332 --- usr.sbin/tcpdump/Makefile.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usr.sbin/tcpdump/Makefile.inc b/usr.sbin/tcpdump/Makefile.inc index abbdc366c6a0..454f1869508d 100644 --- a/usr.sbin/tcpdump/Makefile.inc +++ b/usr.sbin/tcpdump/Makefile.inc @@ -1,3 +1,3 @@ -BINDIR?= /usr/sbin - WARNS?= 3 + +.include "../Makefile.inc" From nobody Wed Sep 3 12:12:44 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH1hX5b5Xz66Jh0; Wed, 03 Sep 2025 12:12: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH1hX4vFHz3Xkl; Wed, 03 Sep 2025 12:12:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756901564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AmaZBCe3D2jDOgPBNrZ7XOu1Yuqaq9gD0qDZcUDdh9g=; b=Ffsv5lQ1P6HwknKKdG3i3QedQ1ZrHy7yuchdm22Wu1vhKt1zlB/ZZx+Kd9Rirquf3WNs+Z HucZs9XrPpWqeUp+8mL7GciWBbvHtRDl8NH3eXVuFiT5tmwPd8eUe2hUpNg7ugqK31mBlQ p8l99ePJt+6Jqiqg53dEoES2lYD3t9i7xe+ED6Dku4PBiwxJ4OrV1yszrUbbypt5P8nAgH XG5kDlV96EMrgth+Serd0nAZjZ5f8uoFGZxyoUnIMAKIMAkLjfv22xus4JQLTx98dIaz1v WWm9yDZBhm7AEkG8/G2Sk8+Riuuw7ygj6oePANxY26hJa/j4Y7q8Ru+R36di2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756901564; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AmaZBCe3D2jDOgPBNrZ7XOu1Yuqaq9gD0qDZcUDdh9g=; b=CIncCr+hA/m7ItkZkYz/hAS57UJmS6QShig6XJkmzYr241HunLHfY0nqMtk7QqVI4mXOkh lP8qgaJiaWx2vNNCOvPPyb4fmjBvg1tp55J9k30VZWEvu3kLCffifZZcUTl4rfOMVLmf30 Bu5/97yDSzlxZiAX3Z0EKdJr7rULq4lCym/vBf2cwaxFSuJxA4G0M/tRT0QViSxdD2Ey8s 9GNPyrKe68fxhiSKxMLza2G8thRCgHFzzcYGlOZOvaYeQetUOEg3W9FFTNLL/IwLcl/p2q zBYhC7zCDDUF94TU2ii+owy46g/G0Wg3Mz0C6tqU8vWasMASphgu1gbpwfV9/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756901564; a=rsa-sha256; cv=none; b=BMfikUjhbMdztvwCOCI/MW0ktkFrA2McLo015mefVkSkTO+PPc4Y1dhK7GcgsrFg3g2dHZ 4HCkw/zqvzOFtVx51VfplD0JWnIi2B/a3bmHz+YQtovE5A9odhv9T1P0hHYJERsCnoTCQY a9Rj3UExohPCBZZjO/6ENjL4fxlwqDmy43uw3V5rx8JizXQ4TQp8ICtkerX//1oMu/piGo CW0YVHKWNlcbeTcFSCbddoULwt647wI/wa3Fv2WgIj1owfLxRjvzmN/sM6LCenVmHHh5Ev fR9zVht3SeboKRPlNNRdEsrQ88s2bAb0IUuPal8nh1gAdDWtsiuziA3tLDAdUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH1hX4StVz23Q; Wed, 03 Sep 2025 12:12:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 583CCiFu041568; Wed, 3 Sep 2025 12:12:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583CCise041565; Wed, 3 Sep 2025 12:12:44 GMT (envelope-from git) Date: Wed, 3 Sep 2025 12:12:44 GMT Message-Id: <202509031212.583CCise041565@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: 9f670001410d - main - tcpdump: drop no-op LBL_ALIGN macro List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 9f670001410df3bea19d2d106bf5634ceb54d293 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=9f670001410df3bea19d2d106bf5634ceb54d293 commit 9f670001410df3bea19d2d106bf5634ceb54d293 Author: Brooks Davis AuthorDate: 2025-09-03 12:12:19 +0000 Commit: Brooks Davis CommitDate: 2025-09-03 12:12:19 +0000 tcpdump: drop no-op LBL_ALIGN macro This macro was replaced by a collection of architecture ifdefs in tcpdump 4.99.4 so defining it does nothing. Fixes: 51a183021fce3 ("Import tcpdump 4.99.4") Reviewed by: jrm, emaste Differential Revision: https://reviews.freebsd.org/D52333 --- usr.sbin/tcpdump/tcpdump/Makefile | 3 --- 1 file changed, 3 deletions(-) diff --git a/usr.sbin/tcpdump/tcpdump/Makefile b/usr.sbin/tcpdump/tcpdump/Makefile index bfbe750c25be..b06e05ac8019 100644 --- a/usr.sbin/tcpdump/tcpdump/Makefile +++ b/usr.sbin/tcpdump/tcpdump/Makefile @@ -197,9 +197,6 @@ CFLAGS+= -D_U_="__attribute__((unused))" .if ${MK_INET6_SUPPORT} != "no" CFLAGS+= -DINET6 -DHAVE_OS_IPV6_SUPPORT .endif -.if ${MACHINE_CPUARCH} != "i386" -CFLAGS+= -DLBL_ALIGN -.endif LIBADD= pcap .if ${MK_CASPER} != "no" From nobody Wed Sep 3 12:12:45 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH1hZ28SCz66Jq7; Wed, 03 Sep 2025 12:12: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH1hY5ZbGz3Xky; Wed, 03 Sep 2025 12:12:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756901565; h=from:from:reply-to:subject:subject: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+E8f85U4ONG5AvWK3KdWHhjV7tyqo/D61vUBboCWP8=; b=oE4BmzRNOUZgRlrB7UmzyexBsknCNRyMHx7zWO4mORvz1cUzVUBs7+FtH+XmDIaF4Kyrma C5c/RoeCgRCbvG33SOJd+Dc0FoY1zd4DmUDcYAgw94kwPAiI/TElv5giJyAdMWXPMOdidW TQ7aOj7YNIk+LbRU4UP99r1odYrXa2Vo3pAxc8e3RU0EoHc/sK9u5R9si6gUUZjt5qCW17 IA1HDI1qNcP83L2tYG30o+08PPF7mPzD/oYNMJCbEAg/8vUlWgDWkWhbGVEExtM57amgUC TTTHJauunT071ceL8KNiRfPggXFw/qNipP/Gy87kGzgDn4eJVQ3IV07aU/dSzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756901565; h=from:from:reply-to:subject:subject: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+E8f85U4ONG5AvWK3KdWHhjV7tyqo/D61vUBboCWP8=; b=t2/HDy80VDkjugqbGfahL5sZbuLz5ipzhYDBwtjj1jUf863umfa6O+d/VpjvyhPTpudQgC zZbkmooXx2KeZ4xED4jxPROe966mcQlEVF0vcuo+VtZImF2yp5xyAvzPsHINpggy162myb uZBTkbyI7uaMkkC3odQr5dLB0HS4h08Fw5VZrxJggVyiE/mYI33JFrxJRceLQW2fbKtnyA CSrG3rubpTLeS6XPgomqJGEfFXcNcs6DhXZKYDBvieTjhLN9hSJfUFTMACYMeOjPRBHJNZ hyhbq9Q8hY70I2MrMsl7NqwxFT+s9KxEBsBnYlMA9xK366ufRK5JUI5e8te5bQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756901565; a=rsa-sha256; cv=none; b=o4AB+q44xkwE14u0NfhfbF7Abntq9GyHKDvOEQXK9l2KfCoZ6KTmUE3Nbz6vQEh48w74c5 xOwK5dYZ4WifO2xd+cVOi7sEj9N1k/5c58O0Mp2ayzmHK4oxeBQliJe1B3TNASTUCKpaJq C7TY8y+rqi8dZmnoaFVXIvO3VecbzSD/eVV2sLykMIXI0IzjcX098AAFqdSAAR4ZnWh7KM wgnQpvMOd6rd2vMDXNErSaeB8DoNacmivhS1Jo1pF+pthMMKI8QFa3236MMUS16FeJ/x3r tTi2T7Id+R01zauijri0KW6mYnWfH3MFe6wBN9qcP9k+BBDxu6Ukqk2euAv4zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH1hY53sRz1Tr; Wed, 03 Sep 2025 12:12: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 583CCj8D041610; Wed, 3 Sep 2025 12:12:45 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583CCjDQ041607; Wed, 3 Sep 2025 12:12:45 GMT (envelope-from git) Date: Wed, 3 Sep 2025 12:12:45 GMT Message-Id: <202509031212.583CCjDQ041607@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: 4b8eebe9754a - main - tcpdump: don't create unused version.c List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b8eebe9754a40ab12d265adb17aafec690a29aa Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/src/commit/?id=4b8eebe9754a40ab12d265adb17aafec690a29aa commit 4b8eebe9754a40ab12d265adb17aafec690a29aa Author: Brooks Davis AuthorDate: 2025-09-03 12:11:52 +0000 Commit: Brooks Davis CommitDate: 2025-09-03 12:12:33 +0000 tcpdump: don't create unused version.c The version now comes from the PACKAGE_VERSION macro. Fixes: 0a7e5f1f02aa ("tcpdump: Update to 4.99.5") Reviewed by: jrm, emaste Differential Revision: https://reviews.freebsd.org/D52334 --- usr.sbin/tcpdump/tcpdump/Makefile | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/usr.sbin/tcpdump/tcpdump/Makefile b/usr.sbin/tcpdump/tcpdump/Makefile index b06e05ac8019..21c5f9ac7fdf 100644 --- a/usr.sbin/tcpdump/tcpdump/Makefile +++ b/usr.sbin/tcpdump/tcpdump/Makefile @@ -186,9 +186,9 @@ SRCS= addrtoname.c \ print-unsupported.c \ print-vsock.c \ print-whois.c \ - print-zep.c \ - version.c -CLEANFILES+= version.c ${MAN} + print-zep.c + +CLEANFILES+= ${MAN} CFLAGS+= -I${.CURDIR} -I${TCPDUMP_DISTDIR} CFLAGS+= -DHAVE_CONFIG_H @@ -217,11 +217,6 @@ SRCS+= print-pflog.c \ CFLAGS+= -DHAVE_NET_PFVAR_H -DHAVE_NET_IF_PFLOG_H .endif -version.c: ${TCPDUMP_DISTDIR}/VERSION - rm -f version.c ; \ - sed 's/.*/char version[] = "&";/' ${TCPDUMP_DISTDIR}/VERSION \ - > version.c - .include .for mp in ${MAN} From nobody Wed Sep 3 13:09:49 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH2yP65xjz66P6V; Wed, 03 Sep 2025 13:09: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH2yP5MqLz3f3n; Wed, 03 Sep 2025 13:09:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756904989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ADfaIRSl7WxSNpyOvaZkSEKI2GslCo2ZOSWIoZnCkgQ=; b=VOtYdQyeWZ/LGZcPx4JBS7Z7FTJXaQIFeZVT9a80Dcz3gj3irALb2/g0+ZChSKMP0I0JNu vuwqwPMDAhr8mBGG0fNtn1Zp3+DqiHz3qIDQRgoFYJCcAJsJWs92e/G8Nn5dAXETI/8nHq 79AO4+mHmre3Xv+0nQQh7afY40aoaiQHTyhEz5TrAtAnlV/y9cRhKwpIpv359PUbaBb2rN V0zp2fKQjY33YOsgXmIMQVLCw4ddqfTIoR/ZiDjhME/5aQiAfJjOsBSLDJOpxawMGWuQH+ YafSpShsXSRcAAYqf7NiIWJosRIZyXACcXd4TVkxoq4HjJmUOfQVR05WYqXUeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756904989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ADfaIRSl7WxSNpyOvaZkSEKI2GslCo2ZOSWIoZnCkgQ=; b=Ka9P8kDLQVxO+cUrzvwgoaiEZW2DHCMvPdJ+G3joh/Bb8HEbENPct+++oDUTXLl/LhIDwn NnCZNimisDNoyvdLy86qOrM3XMFJyWfdbWzFNBpP09DW546sRXfIPJLvibWRsVoeEYv7zX 9xXD4dBdhlapSMFgCth4c2/KiKyS/CFvchuPxJRSUoPF1rqZbl0NTjSVAMID4rdG1MDtuM tXNcp6Spup790uLApAMWmzh5dOBpdnS4/II/fpKOaTf4l/q0dai3D71CxGXhni9F0ehFP+ SRV+sP+7/tqU/oOlVWOLgGlsGbhivKCVeEQiN2v038XdhNX+hvDKpbz0pX3QKw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756904989; a=rsa-sha256; cv=none; b=d+qjC11HdWXwjKKOtUvBh4gW7W8zt0o5kcC7pLMzfj+vTcYkPoU2bJOVXiYOh9FbPkwoSZ Io5kMP2yPYY+PTYTFqjx12KfPTKI8EncwDE5djeUNwmVEghD9rVepbRBM/ivq7ByUaCPwP PeGkEj73+sFuClusbwJnBDOxphWUrLaECJMtg6TFgXTuMBmFqTNBWQGolXPW75Ly4Y5ijA VcvPyZnc4Z1ZqWwN7Kw3nHOvNP+/icFUviOCIsvP+obL4yPrez6LqFTdzGgfr0GhMLEm1v 1XE6cL3xrAgkxi+swXQS3U8KtORlrs1EZmqgozqaixq3cmG6lnGMiPGcJDvN/g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH2yP4ylHz35c; Wed, 03 Sep 2025 13:09:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 583D9nuS039322; Wed, 3 Sep 2025 13:09:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583D9ndG039319; Wed, 3 Sep 2025 13:09:49 GMT (envelope-from git) Date: Wed, 3 Sep 2025 13:09:49 GMT Message-Id: <202509031309.583D9ndG039319@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: 92255335d945 - main - sys: Rename BLOAT_KERNEL_WITH_EXTERR to EXTERR_STRINGS List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 92255335d9451bd425074fab4447799113daf676 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=92255335d9451bd425074fab4447799113daf676 commit 92255335d9451bd425074fab4447799113daf676 Author: Ed Maste AuthorDate: 2025-09-02 20:58:29 +0000 Commit: Ed Maste CommitDate: 2025-09-03 13:09:09 +0000 sys: Rename BLOAT_KERNEL_WITH_EXTERR to EXTERR_STRINGS There's no need for an implied value judgement. Suggested by: jhb Reviewed by: kib, jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52351 --- UPDATING | 4 ++++ sys/amd64/conf/GENERIC | 2 +- sys/arm64/conf/std.arm64 | 2 +- sys/conf/options | 2 +- sys/sys/exterrvar.h | 2 +- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/UPDATING b/UPDATING index 34f71af5464e..21c6e92d6454 100644 --- a/UPDATING +++ b/UPDATING @@ -27,6 +27,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20250903: + The BLOAT_KERNEL_WITH_EXTERR kernel config option has been renamed to + EXTERR_STRINGS. + 20250827: The names of pkg repositories defined in /etc/pkg/FreeBSD.conf have changed: "FreeBSD" is now "FreeBSD-ports", and "FreeBSD-kmods" is now diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 81427b5b18b6..786edc4125c9 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -26,7 +26,7 @@ makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support options SCHED_ULE # ULE scheduler options NUMA # Non-Uniform Memory Architecture support options PREEMPTION # Enable kernel thread preemption -options BLOAT_KERNEL_WITH_EXTERR +options EXTERR_STRINGS options VIMAGE # Subsystem virtualization, e.g. VNET options INET # InterNETworking options INET6 # IPv6 communications protocols diff --git a/sys/arm64/conf/std.arm64 b/sys/arm64/conf/std.arm64 index 8c8e3f4ada12..a0568466cfaf 100644 --- a/sys/arm64/conf/std.arm64 +++ b/sys/arm64/conf/std.arm64 @@ -7,7 +7,7 @@ makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support options SCHED_ULE # ULE scheduler options NUMA # Non-Uniform Memory Architecture support options PREEMPTION # Enable kernel thread preemption -options BLOAT_KERNEL_WITH_EXTERR +options EXTERR_STRINGS options VIMAGE # Subsystem virtualization, e.g. VNET options INET # InterNETworking options INET6 # IPv6 communications protocols diff --git a/sys/conf/options b/sys/conf/options index 4009ba2b4843..66f7f2ee2d7e 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -53,7 +53,7 @@ DDB_CAPTURE_MAXBUFSIZE opt_ddb.h DDB_CTF opt_ddb.h DDB_NUMSYM opt_ddb.h EARLY_PRINTF opt_global.h -BLOAT_KERNEL_WITH_EXTERR opt_global.h +EXTERR_STRINGS opt_global.h FULL_BUF_TRACKING opt_global.h GDB KDB opt_global.h diff --git a/sys/sys/exterrvar.h b/sys/sys/exterrvar.h index 7bf1d264ff5e..6783a0d2d84f 100644 --- a/sys/sys/exterrvar.h +++ b/sys/sys/exterrvar.h @@ -31,7 +31,7 @@ #error "Specify error category before including sys/exterrvar.h" #endif -#ifdef BLOAT_KERNEL_WITH_EXTERR +#ifdef EXTERR_STRINGS #define SET_ERROR_MSG(mmsg) (mmsg) #else #define SET_ERROR_MSG(mmsg) NULL From nobody Wed Sep 3 14:37:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH4vq6bg4z66Wb7; Wed, 03 Sep 2025 14:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH4vq60R1z3p0H; Wed, 03 Sep 2025 14:37:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756910263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGQ3gxAPUdlz9SIOWvnZrjsL7AoWSsF28/kWsILcuP8=; b=hcRo0BD9ygktSPOLtASmrAaRmpq7P2vJ3sqkwtOJXNfeBH4aDfq+dxQZE20BV7+5Md4rk+ 0EOzsyyBiI2ucTSXc8SQv0wejH4B7oT7gmS9MMTfp63fAVMFcblQgJ6/ZND+1cdXg+cjFE CsroIviuU+noDvKDDUS1NcQD4jfo17iu3KuP5EBCdsnE9uFHSlI5hYFhhICk33AeDaG7lt KwzYJ1HBytIrPF/7b67yRlfMoJBBr7MzF4MNAaoTaI/jOnq+VEjd9YwIGBmO1GQOCsVOIw rbmYlYfQhSZ34nHI+A5V1EeZ83TDVuUpfCJ6hetotp+KXdYq6nC5j6e8gvyHYA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756910263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGQ3gxAPUdlz9SIOWvnZrjsL7AoWSsF28/kWsILcuP8=; b=NnpN4MU/kt8ZzTltdbB6znaaXkL7S0qglKV/HOXnjFyKGGx1PCnkqbWS3vdu3Eb0Icqy+z EWy0p5F59e2fVAPcH3d0+RjXoX5WDU75gCW2yETmS4z2QMX7O0FU30VnyMR//lz2Oiu+0M YsJzdq0tUpDv7iYmniyi7hlTNLavUwqVF1jgr0OQTa7CTt20VMckpLsTc1MRsVdexD0qqO QYgZsKuHeM/NK+ebAAFzMuHXo28MO1c5YD6EDJpjg5yAtQM9dQegWg6VGM6RLlaaSfYZ6I Rp1A9lYGPe8JNYCQePdl5JP+8df6mAHUF6v+v/cuO2abAvbEoaj+CLmsCj1F8w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756910263; a=rsa-sha256; cv=none; b=avjH4SdMxShSRnoDrIAUJw2iRjBQ5GqsMDRlU/5ygPaWxCMZklVF8dUv9O1l2FcxQ8JiyB WSRvzTV8t05qBMlpDTYupiQXnTsufys7xkdUX314kqe9k3FVbUjJrBstGaLoU09WbBIDVn m8+gUhsVXJo8po7zuFYhUlVz0Jf+N2aPkEXCu2JdYjulaBiMUEwZQlztlVLS+NMZmmj5WQ bsEg3zuVlG97i5BkOvBYtiqNk2AIgHSYawCQD8H6o0LH/HvDKsPBPAhOy1OlZqD3ybAx0T dISsRdAA0COB3bOPV27qU7dukmF2SMX78B88UVdO+xCNSfwIpS0Tag2wXWMwaA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH4vq5BNhz5r7; Wed, 03 Sep 2025 14:37: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 583EbheX008474; Wed, 3 Sep 2025 14:37:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583Ebhtt008471; Wed, 3 Sep 2025 14:37:43 GMT (envelope-from git) Date: Wed, 3 Sep 2025 14:37:43 GMT Message-Id: <202509031437.583Ebhtt008471@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: 64cfafee8dfe - main - arch.7: Clarify older 32-bit arm 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: emaste X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 64cfafee8dfe938b16f12bd8c7f5584d4321ef95 Auto-Submitted: auto-generated The branch main has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=64cfafee8dfe938b16f12bd8c7f5584d4321ef95 commit 64cfafee8dfe938b16f12bd8c7f5584d4321ef95 Author: Ed Maste AuthorDate: 2025-08-29 14:46:07 +0000 Commit: Ed Maste CommitDate: 2025-09-03 14:37:15 +0000 arch.7: Clarify older 32-bit arm support Reviewed by: imp, ziaee Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52239 --- share/man/man7/arch.7 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/share/man/man7/arch.7 b/share/man/man7/arch.7 index fe4e8055a8b1..b29fedbfd4ec 100644 --- a/share/man/man7/arch.7 +++ b/share/man/man7/arch.7 @@ -163,7 +163,10 @@ will support execution of .Dv armv7 binaries if the CPU implements .Dv AArch32 -execution state, however older arm binaries are not supported by +execution state. +Binaries targeting +.Dv armv6 +and earlier are no longer supported by .Fx . .Pp On all supported architectures: From nobody Wed Sep 3 15:44:39 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH6P4151Rz66d4b; Wed, 03 Sep 2025 15:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH6P405Pkz3xH2; Wed, 03 Sep 2025 15:44:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756914280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGLo66UnwQkRoh6nFwBuTgP+VY0P/sAsswigz7vyzXQ=; b=r/OUqM9mnSmY6unOyEhCM6dmx1JjUm0s8hwYT0dyIPd55ScCQQAjLBSPeTj7qCQ2HDXsCg 1csOyTrwQEJAkNMVSTN/fk1GaHTgwjJRiHxl2HT+Q9pG7KggeO65E2GyKwf+lsfMgZgzcx pKdUrZjlXB0SMHQTLw399Dk4lhtTYl9ZHKXSPD22L/vjJkMvkLkFlkmaYW1UenH2xBPIZT t38p4EzSC80Egt2AoKfvOd5QxzFFJZMIBpSk7wJLutViBNKwUidrDZMq6xxmInxjM2TkPH KeJV0ig1a1vbLsUXj0zH84BN5h82ixks0Zzr7rZ0PUF3CQBG9uOugEg5chiB3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756914280; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BGLo66UnwQkRoh6nFwBuTgP+VY0P/sAsswigz7vyzXQ=; b=rG9qRdoLqp3nih4jDh5nIMKbAvn+hm4HDEPP/ETWxSU8uvRCXF3TDRXQ6/uJjJaLays5sE 6J5YE/LpcmK0CQx/Fy+xn1LfvzaXRJHdE4mBZuO4xcMN5LiFcp5hrAnVnIzZN8zzKtGB/R NwaSFa1vGBIppyETR895cwyaDQIYiVcuWIf0472uxuUZ0xoa7MqvAegLWma3Z5lxzuah/T 4QqUr4eA9DjJt3ZnSIcfI21QXzAH6HqA//pX8zEShmKKfd7apsHrsym/Fdd4toGaLct/yo clvNJARgx/+1i2Dd+FkkAd41ZmRAJDasmNYMMcKIVLPtbMr2B57xXpEn2DJRlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756914280; a=rsa-sha256; cv=none; b=gLKqGZJRxBNB7tSRHxAbnLEGL0cHliRjeIrHoeYiv6HPLatG6tExiKzQFh1jK/ZP3xCC93 +355cZIO3jM1+rIIgeiDIDU+yBvEt5E83atG6yDgUIxhPcTD0FrakPbLF6wgbx7srgaa2I b9zAM0cfyyaGdIWVN7aRxGhxymOFNvIhXIlg1QRzH9C00r0wh7JO/ugem/zCYPvRInK5ac qcEvI2MA86B7t+6iI7pEkWSEme/FsUVVY727D8lZUW6u59Am6zPZcCpc/IoQrGjH7vRJOQ d89JtJ+gOe+7T0h5Dp3o0wytd0DghJ7wsgv1kFqIOlKY1NdleezUC/rM2yuoTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH6P36l7sz7Cq; Wed, 03 Sep 2025 15:44:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 583Fidr9039114; Wed, 3 Sep 2025 15:44:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583FidJw039111; Wed, 3 Sep 2025 15:44:39 GMT (envelope-from git) Date: Wed, 3 Sep 2025 15:44:39 GMT Message-Id: <202509031544.583FidJw039111@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: 0e7f8abb4526 - main - bhyve: insert VM name to the VNC screen title List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 0e7f8abb45263c780a4b448fb52af6b6a3cbc9fd Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=0e7f8abb45263c780a4b448fb52af6b6a3cbc9fd commit 0e7f8abb45263c780a4b448fb52af6b6a3cbc9fd Author: Yuichiro NAITO AuthorDate: 2025-09-03 15:43:33 +0000 Commit: Mark Johnston CommitDate: 2025-09-03 15:43:33 +0000 bhyve: insert VM name to the VNC screen title Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D52329 --- usr.sbin/bhyve/rfb.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bhyve/rfb.c b/usr.sbin/bhyve/rfb.c index 6af374a83bbe..716e191e2fc0 100644 --- a/usr.sbin/bhyve/rfb.c +++ b/usr.sbin/bhyve/rfb.c @@ -63,6 +63,7 @@ #include "bhyvegc.h" #include "debug.h" #include "console.h" +#include "config.h" #include "rfb.h" #include "sockstream.h" @@ -152,6 +153,8 @@ struct rfb_softc { struct pixfmt pixfmt; /* owned by the write thread */ struct pixfmt new_pixfmt; /* managed with pixfmt_mtx */ uint32_t *pixrow; + char *fbname; + int fbnamelen; }; struct rfb_pixfmt { @@ -262,7 +265,7 @@ struct rfb_cuttext_msg { }; static void -rfb_send_server_init_msg(int cfd) +rfb_send_server_init_msg(struct rfb_softc *rc, int cfd) { struct bhyvegc_image *gc_image; struct rfb_srvr_info sinfo; @@ -284,9 +287,9 @@ rfb_send_server_init_msg(int cfd) sinfo.pixfmt.pad[0] = 0; sinfo.pixfmt.pad[1] = 0; sinfo.pixfmt.pad[2] = 0; - sinfo.namelen = htonl(strlen("bhyve")); + sinfo.namelen = htonl(rc->fbnamelen); (void)stream_write(cfd, &sinfo, sizeof(sinfo)); - (void)stream_write(cfd, "bhyve", strlen("bhyve")); + (void)stream_write(cfd, rc->fbname, rc->fbnamelen); } static void @@ -1144,7 +1147,7 @@ report_and_done: len = stream_read(cfd, buf, 1); /* 4a. Write server-init info */ - rfb_send_server_init_msg(cfd); + rfb_send_server_init_msg(rc, cfd); if (!rc->zbuf) { rc->zbuf = malloc(RFB_ZLIB_BUFSZ + 16); @@ -1276,6 +1279,13 @@ rfb_init(const char *hostname, int port, int wait, const char *password) rc->password = password; + rc->fbnamelen = asprintf(&rc->fbname, "bhyve:%s", + get_config_value("name")); + if (rc->fbnamelen < 0) { + EPRINTLN("rfb: failed to allocate memory for VNC title"); + goto error; + } + rc->pixrow = malloc(RFB_MAX_WIDTH * sizeof(uint32_t)); if (rc->pixrow == NULL) { EPRINTLN("rfb: failed to allocate memory for pixrow buffer"); @@ -1358,6 +1368,7 @@ rfb_init(const char *hostname, int port, int wait, const char *password) free(rc->crc); free(rc->crc_tmp); free(rc->pixrow); + free(rc->fbname); free(rc); return (-1); } From nobody Wed Sep 3 15:55:37 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH6dj2znXz66f8f; Wed, 03 Sep 2025 15:55: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH6dj2Fh3z40XH; Wed, 03 Sep 2025 15:55:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756914937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=krFmD64c9r1mv74fNy5Llw9OKvzKfDuDKFB9oNXkEdE=; b=SwP5t01J+qIaTVTSoho/F4rR4BbgYGFtPexr4he9MfCrvFglOMolqaK1jpEuA8aduLvlKs G/8+xubZhWavE2kmp7k+EYnCLXwxkkJ84QWTkotjMzhMrYO/LoDkIJPpirM9IgCefPplrR 19Nhd6ajjGIUVA1J20SxV5+N+Cu7/gTslow9XnD6lGAusWhLdFaoDSw6/U2MH2omW57oAc QrZ2QBdfPGAS+7SxBqtz3mKTO/cwKYdMX/rU1oXdSPY+4zepstXZ0xqfSFrdI6v96i30C/ 3S93G6XbFgPhqGsC8/6s7dfiofFQIX8gQsWX23+WhDddDweQUNOvIViZUKTBqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756914937; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=krFmD64c9r1mv74fNy5Llw9OKvzKfDuDKFB9oNXkEdE=; b=jZ8CkZbVeeqe6vPwPOwi07A6ZS9ZSX0l4ZS2N4boXInJk7TgUN9ug+srsAf9GdiZlUUUL9 85UQtQvZnzB8/S1t2mWXK1fs8tbfe/MY9qChgyZgPDOrST0XcS/sY3Plt/KhQRGUzYPr7B z4JrZ+OpLgSGDzQC7U3JngaITSi23NhqyqxFHEmjLH+i6oCVug1BMO0ZnLvfeKPaan6wtt F1Nff/54rid2oCMloe3E9y9Aqdc53yAiWnD3u/Krdka/zeK/mJt5V1c8uY/57c1cnEA0Ne hqqipTiszIENt6MTzC8gZj8PRnrOBD4uqqmsb7i7DFugP+HGnfP3P8YSFDTFHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756914937; a=rsa-sha256; cv=none; b=SEwrbOgUWTa/hAfvCxu3ou9qkkBOJcXPiXcWSN5blpj0hweMY5RmmQ/3cci9CJuHSLJLFW /6Uq2nS7Tl+kNoOtxbTOyQN73qdnIIx+RP220Eqf+FyXx16Ay99utFjV2wz26OQ2rWOJff wvGqMlkKKjfcmP8HCJA7+NPN+hXffOxl+2wpOQvhHjek8ZPv/X+oAAaBUG1QTB0xZQSxrK tKV2OB3BCfNnzvLeOHGlY5+feUnDPnSTSylvgGBKOzO/s1qcmTusZHu/9lNI4jT3q5ITvW RgKt/28P7HAQKu8Q6zoKVtBS1AhWnMT1DNpKSDa+LCdUhWi9/cKTAJ1+5PWHag== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH6dj1LGDz7kR; Wed, 03 Sep 2025 15:55: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 583FtbKF058242; Wed, 3 Sep 2025 15:55:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583FtbZD058239; Wed, 3 Sep 2025 15:55:37 GMT (envelope-from git) Date: Wed, 3 Sep 2025 15:55:37 GMT Message-Id: <202509031555.583FtbZD058239@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: dc74f3003c2d - main - nvme: Call vm_fault_hold_pages instead of vmapbuf List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: dc74f3003c2d1deea654f24b76a1dd932d428ca0 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=dc74f3003c2d1deea654f24b76a1dd932d428ca0 commit dc74f3003c2d1deea654f24b76a1dd932d428ca0 Author: Warner Losh AuthorDate: 2025-09-03 15:06:37 +0000 Commit: Warner Losh CommitDate: 2025-09-03 15:55:24 +0000 nvme: Call vm_fault_hold_pages instead of vmapbuf Use the underlying mechanism of vmapbuf instead of using this legacy interface. This means we don't have to allocate a buf, and can store the page array on the stack as it will be small enough for transfers that the vast majority of cards can do. And those that can do larger (> 512k) have provisions to split up requests. Sponsored by: Netflix Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D52149 --- sys/dev/nvme/nvme_ctrlr.c | 98 ++++++++++++++++++++++++++++------------------- 1 file changed, 59 insertions(+), 39 deletions(-) diff --git a/sys/dev/nvme/nvme_ctrlr.c b/sys/dev/nvme/nvme_ctrlr.c index 49960b0f920a..fc912c1342f4 100644 --- a/sys/dev/nvme/nvme_ctrlr.c +++ b/sys/dev/nvme/nvme_ctrlr.c @@ -41,6 +41,9 @@ #include #include #include +#include +#include +#include #include "nvme_private.h" #include "nvme_linux.h" @@ -1265,6 +1268,34 @@ nvme_ctrlr_shared_handler(void *arg) nvme_mmio_write_4(ctrlr, intmc, 1); } +#define NVME_MAX_PAGES (int)(1024 / sizeof(vm_page_t)) + +static int +nvme_user_ioctl_req(vm_offset_t addr, size_t len, bool is_read, + vm_page_t *upages, int max_pages, int *npagesp, struct nvme_request **req, + nvme_cb_fn_t cb_fn, void *cb_arg) +{ + vm_prot_t prot = VM_PROT_READ; + int err; + + if (is_read) + prot |= VM_PROT_WRITE; /* Device will write to host memory */ + err = vm_fault_hold_pages(&curproc->p_vmspace->vm_map, + addr, len, prot, upages, max_pages, npagesp); + if (err != 0) + return (err); + *req = nvme_allocate_request_null(M_WAITOK, cb_fn, cb_arg); + (*req)->payload = memdesc_vmpages(upages, len, addr & PAGE_MASK); + (*req)->payload_valid = true; + return (0); +} + +static void +nvme_user_ioctl_free(vm_page_t *pages, int npage) +{ + vm_page_unhold_pages(pages, npage); +} + static void nvme_pt_done(void *arg, const struct nvme_completion *cpl) { @@ -1287,30 +1318,28 @@ nvme_pt_done(void *arg, const struct nvme_completion *cpl) int nvme_ctrlr_passthrough_cmd(struct nvme_controller *ctrlr, - struct nvme_pt_command *pt, uint32_t nsid, int is_user_buffer, + struct nvme_pt_command *pt, uint32_t nsid, int is_user, int is_admin_cmd) { - struct nvme_request *req; - struct mtx *mtx; - struct buf *buf = NULL; - int ret = 0; + struct nvme_request *req; + struct mtx *mtx; + int ret = 0; + int npages = 0; + vm_page_t upages[NVME_MAX_PAGES]; if (pt->len > 0) { if (pt->len > ctrlr->max_xfer_size) { - nvme_printf(ctrlr, "pt->len (%d) " - "exceeds max_xfer_size (%d)\n", pt->len, - ctrlr->max_xfer_size); - return EIO; + nvme_printf(ctrlr, + "len (%d) exceeds max_xfer_size (%d)\n", + pt->len, ctrlr->max_xfer_size); + return (EIO); } - if (is_user_buffer) { - buf = uma_zalloc(pbuf_zone, M_WAITOK); - buf->b_iocmd = pt->is_read ? BIO_READ : BIO_WRITE; - if (vmapbuf(buf, pt->buf, pt->len, 1) < 0) { - ret = EFAULT; - goto err; - } - req = nvme_allocate_request_vaddr(buf->b_data, pt->len, - M_WAITOK, nvme_pt_done, pt); + if (is_user) { + ret = nvme_user_ioctl_req((vm_offset_t)pt->buf, pt->len, + pt->is_read, upages, nitems(upages), &npages, &req, + nvme_pt_done, pt); + if (ret != 0) + return (ret); } else req = nvme_allocate_request_vaddr(pt->buf, pt->len, M_WAITOK, nvme_pt_done, pt); @@ -1344,11 +1373,8 @@ nvme_ctrlr_passthrough_cmd(struct nvme_controller *ctrlr, mtx_sleep(pt, mtx, PRIBIO, "nvme_pt", 0); mtx_unlock(mtx); - if (buf != NULL) { - vunmapbuf(buf); -err: - uma_zfree(pbuf_zone, buf); - } + if (npages > 0) + nvme_user_ioctl_free(upages, npages); return (ret); } @@ -1374,8 +1400,9 @@ nvme_ctrlr_linux_passthru_cmd(struct nvme_controller *ctrlr, { struct nvme_request *req; struct mtx *mtx; - struct buf *buf = NULL; int ret = 0; + int npages = 0; + vm_page_t upages[NVME_MAX_PAGES]; /* * We don't support metadata. @@ -1386,7 +1413,7 @@ nvme_ctrlr_linux_passthru_cmd(struct nvme_controller *ctrlr, if (npc->data_len > 0 && npc->addr != 0) { if (npc->data_len > ctrlr->max_xfer_size) { nvme_printf(ctrlr, - "npc->data_len (%d) exceeds max_xfer_size (%d)\n", + "data_len (%d) exceeds max_xfer_size (%d)\n", npc->data_len, ctrlr->max_xfer_size); return (EIO); } @@ -1399,15 +1426,11 @@ nvme_ctrlr_linux_passthru_cmd(struct nvme_controller *ctrlr, if ((npc->opcode & 0x3) == 3) return (EINVAL); if (is_user) { - buf = uma_zalloc(pbuf_zone, M_WAITOK); - buf->b_iocmd = npc->opcode & 1 ? BIO_WRITE : BIO_READ; - if (vmapbuf(buf, (void *)(uintptr_t)npc->addr, - npc->data_len, 1) < 0) { - ret = EFAULT; - goto err; - } - req = nvme_allocate_request_vaddr(buf->b_data, - npc->data_len, M_WAITOK, nvme_npc_done, npc); + ret = nvme_user_ioctl_req(npc->addr, npc->data_len, + npc->opcode & 0x1, upages, nitems(upages), &npages, + &req, nvme_npc_done, npc); + if (ret != 0) + return (ret); } else req = nvme_allocate_request_vaddr( (void *)(uintptr_t)npc->addr, npc->data_len, @@ -1442,11 +1465,8 @@ nvme_ctrlr_linux_passthru_cmd(struct nvme_controller *ctrlr, mtx_sleep(npc, mtx, PRIBIO, "nvme_npc", 0); mtx_unlock(mtx); - if (buf != NULL) { - vunmapbuf(buf); -err: - uma_zfree(pbuf_zone, buf); - } + if (npages > 0) + nvme_user_ioctl_free(upages, npages); return (ret); } From nobody Wed Sep 3 15:55:38 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH6dk33xCz66dmw; Wed, 03 Sep 2025 15:55: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH6dk2QSHz40JH; Wed, 03 Sep 2025 15:55:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756914938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8AYydzQ+Jlakj3c+3xbTKIplDbpnDsqscrBGDjhUzP0=; b=WRneppDR9Sb4Z/3NfV6Pqv+L1jmQH7aki5HIiNGtRwBCCqpbkj01K658BsTRRSTNMWo939 4W+Of+8dVpg6IaATuVcb5viK866OdKLHXGArnDrOOfgUl0PmNu3Ne9hD14h9lTPYqvCKNy GDvBcaLjdyuDjQrdlzJKVo8F9De/74DHA0fHoKOBCXaK8zVyzvNcIbt3nf2K+Qbb6bK5yc mZ4gdCM5NB6D8KCt2qwAm0BYpesyUdAPJwfRc4aN7OrxPQkiajzn20DLOHAvDIioq5g8Sx OhRMDvNpsUGhtsCtHN/S98DNC/m+FihyXZF1qRglcU3pMiiEDtLDHeVR72nm3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756914938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=8AYydzQ+Jlakj3c+3xbTKIplDbpnDsqscrBGDjhUzP0=; b=gnQYx7Ur8VY7Sd7ZH728GvEIe2mNDelbsM5TkwbXqe23owvUC63rPqGEIdh97ZDxwUwgi1 4Sit+hu7u1ADowrwdgjlGq8ZzMO5TdBeS85wlMML0Fs6k0YVq6wWuKu8EBvRnVVym2lCDk nZmuY4zjsXQovzHAg8IcNQF5lk7M1nl0o1BFWkOF276fhJDozNYG9b3ZDEWF0s+vcgLXqM H1vup7c0MWtQBIxHC0Syh465sBlI5baGEoWuUCmZTbo9uHmE1Ov5NjVAvqRLHwxwe2CxpP IL5RETqQQfWNiggxXZaZH2lluBC+Bp/j1PEVp5e6vJKOTOSHhldNw0tKPa+lSw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756914938; a=rsa-sha256; cv=none; b=kpRL1BSv2I72IwrzwQZaABJMCWL81YhTA97Uzc9Y8sVlf7Kn5tAzk0smxt3qibVUbuthg/ 3EL3rjzriFnqJa6dDo6KQn4z/A/ZTBBMsRx9SbswzdAP+v0XmYn0QFHF8lQH9romj4w+po wnfeS7e4NxExu0ZLZDCVPBwl8nua8R/Gi2Jdz47FCd/5laV7APzkKMHrf1rZMaICjhUTvH e0Oi/vS/8haJ1cFFxJJ9lM8eIyKZdmbqzbUqAZDcWQifPpiZMfwNkgcNQA2NheHhI0OvaQ 0GjiCtnq6C4p9lx+K+zslTw/pqngVvWLdjqW0I7+8tydDz0T+aFYanBwAykfSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH6dk1j0dz7X6; Wed, 03 Sep 2025 15:55: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 583FtcJf058277; Wed, 3 Sep 2025 15:55:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583Ftcpm058274; Wed, 3 Sep 2025 15:55:38 GMT (envelope-from git) Date: Wed, 3 Sep 2025 15:55:38 GMT Message-Id: <202509031555.583Ftcpm058274@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: e26521574ecc - main - nvme: Always print the opcode hex and sct/sc hex values List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e26521574eccf1ca4b97d6b7614ea50888434354 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e26521574eccf1ca4b97d6b7614ea50888434354 commit e26521574eccf1ca4b97d6b7614ea50888434354 Author: Warner Losh AuthorDate: 2025-09-03 15:54:49 +0000 Commit: Warner Losh CommitDate: 2025-09-03 15:55:24 +0000 nvme: Always print the opcode hex and sct/sc hex values While we can lookup the opcode and know exactly what we meant, sharing error messages with vendors can lead to some ambiguity. Go ahead and include the hex values for the error messages to aid in debugging. Sponsored by: Netflix Reviewed by: chuck Differential Revision: https://reviews.freebsd.org/D52353 --- sys/dev/nvme/nvme_util.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/sys/dev/nvme/nvme_util.c b/sys/dev/nvme/nvme_util.c index 0a07653a7378..cb0ba729ac96 100644 --- a/sys/dev/nvme/nvme_util.c +++ b/sys/dev/nvme/nvme_util.c @@ -208,31 +208,33 @@ nvme_opcode_sbuf(bool admin, uint8_t opc, struct sbuf *sb) if (s == NULL) sbuf_printf(sb, "%s (%02x)", type, opc); else - sbuf_printf(sb, "%s", s); + sbuf_printf(sb, "%s (%02x)", s, opc); } void nvme_sc_sbuf(const struct nvme_completion *cpl, struct sbuf *sb) { const char *s, *type; - uint16_t status; + uint16_t status, sc, sct; status = le16toh(cpl->status); - switch (NVME_STATUS_GET_SCT(status)) { + sc = NVME_STATUS_GET_SC(status); + sct = NVME_STATUS_GET_SCT(status); + switch (sct) { case NVME_SCT_GENERIC: - s = generic_status[NVME_STATUS_GET_SC(status)]; + s = generic_status[sc]; type = "GENERIC"; break; case NVME_SCT_COMMAND_SPECIFIC: - s = command_specific_status[NVME_STATUS_GET_SC(status)]; + s = command_specific_status[sc]; type = "COMMAND SPECIFIC"; break; case NVME_SCT_MEDIA_ERROR: - s = media_error_status[NVME_STATUS_GET_SC(status)]; + s = media_error_status[sc]; type = "MEDIA ERROR"; break; case NVME_SCT_PATH_RELATED: - s = path_related_status[NVME_STATUS_GET_SC(status)]; + s = path_related_status[sc]; type = "PATH RELATED"; break; case NVME_SCT_VENDOR_SPECIFIC: @@ -246,12 +248,11 @@ nvme_sc_sbuf(const struct nvme_completion *cpl, struct sbuf *sb) } if (type == NULL) - sbuf_printf(sb, "RESERVED (%02x/%02x)", - NVME_STATUS_GET_SCT(status), NVME_STATUS_GET_SC(status)); + sbuf_printf(sb, "RESERVED (%02x/%02x)", sct, sc); else if (s == NULL) - sbuf_printf(sb, "%s (%02x)", type, NVME_STATUS_GET_SC(status)); + sbuf_printf(sb, "%s (%02x/%02x)", type, sct, sc); else - sbuf_printf(sb, "%s", s); + sbuf_printf(sb, "%s (%02x/%02x)", s, sct, sc); } void From nobody Wed Sep 3 16:15:01 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH7455SyZz66g7v; Wed, 03 Sep 2025 16: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH7454Rsjz42tf; Wed, 03 Sep 2025 16:15:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756916101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YMw/NLBSmGCSUby7yv3GlJd2QFomTUN4F+bMCMkzYFE=; b=PdK253KXu4rNBlzwjs/s+ss9X0L/LPyz6Ot07B7yuDpgbPordyljd3HF1h3gQTeYn7Kt+J wyz6xnKje26etalN1rH9NGI0lw7tjeXIUcIGkxC5O/G5iUsXe3Si8lOw561Mr8HKJ89xKJ aDU7swv5ol/ol/v7Jknlf4i3Qe+ZTcZhFkHB+TjEk31FbFykOGNZQClyc2+luaYIJIlUdV lFlxKNIH5XeZD/GK5aXLM4q/KpaOuUDJrFCQn0AycmeZ0hTrJs//Za2Sa5uQNQqzJPyBJX KsYSyUo0EGyRBKh3IWXTyA7bKHaxaRM1mpn4CdP9N6g6qN4GUCPwazQWJtMzOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756916101; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YMw/NLBSmGCSUby7yv3GlJd2QFomTUN4F+bMCMkzYFE=; b=NI4obJU7gif4swx7Jo6eP4JVTd8ef3+ot1bpjjFG9RTNr7G/iGTr918b9V9v7CvCqcAXrs sS2kvnZW9FPGXB489NkpnR0AhaVLY/mOUtCQQux8N0wvHXcpOKBe61qJuEWLmA6jYTZTKr MHNWHeSsMNPROw5ryXYOhSyrdJflLDB6VnhBJywUgbpScEyfUANOrscL2O8Ok+incDvcX0 I1MJzVTngV7YTDf7KBjcdNLmTTRM1QOxND+8LNi0mC3DJGN4wLurU6t1l+u2JbhSIl9Xny nTJmzNLLYRvwsFJbRL7Dk4pqU7Bq5hn9+grU4OpJHbtvnEgxOblWs22iONHvlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756916101; a=rsa-sha256; cv=none; b=CnXfAPodWuL67cUIoB4MNcdxG1DP1Wl28qIZ+E12z9aXl/Jfs4lm0bsQswdsC5N12m789H hR2XfY7L2BcX5M4uLuhVpdrp5rAXXwCqH7KxH+mPRiwjpJZoGd6G9rj24aGUVvGAbxh/VS ZwVeMjoENFB/LKZ1s7WsZTEufh3cysJPoVA1MO3koeg+PDhXp89Qlf31eVI0+RxCEhubK0 zzavHAI4BEw1DI8Q+OQ7ncK8C2Z+wN8vRWZH+ZUQ+xk8CQ9coSK6WycksKTKIxTRJ35gLg za8HTOLXdrTuN1Y3Kjbjq9FC23SaTsUR2o7z1KQtg7l/xcj1yyw39dmF89ik6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH7453xzPz8JP; Wed, 03 Sep 2025 16:15: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 583GF1Mb096794; Wed, 3 Sep 2025 16:15:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583GF13N096791; Wed, 3 Sep 2025 16:15:01 GMT (envelope-from git) Date: Wed, 3 Sep 2025 16:15:01 GMT Message-Id: <202509031615.583GF13N096791@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: 13e7b21901a5 - main - Makefile.inc1: Build openssl as a certctl dependency on old 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 13e7b21901a5e246e4b42d28e930ec80fe6889d0 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=13e7b21901a5e246e4b42d28e930ec80fe6889d0 commit 13e7b21901a5e246e4b42d28e930ec80fe6889d0 Author: Mark Johnston AuthorDate: 2025-09-03 16:14:37 +0000 Commit: Mark Johnston CommitDate: 2025-09-03 16:14:37 +0000 Makefile.inc1: Build openssl as a certctl dependency on old FreeBSD X509_NAME_hash_ex() is not available in OpenSSL 1.x. Reviewed by: des Reported by: syzbot+54c1e57e7184582a8f59@syzkaller.appspotmail.com Fixes: c340ef28fd38 ("certctl: Reimplement in C") Differential Revision: https://reviews.freebsd.org/D52291 --- Makefile.inc1 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 3bbc4afed3fd..01866f949e49 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -2714,9 +2714,10 @@ _basic_bootstrap_tools+=usr.sbin/tzsetup # certctl is needed as an install tool. libcrypto is rather heavy, so we'll # build that alongside it only for platforms that don't expose headers for -# OpenSSL, like macOS. +# OpenSSL, like macOS, or when building on releases with OpenSSL 1.x. .if ${MK_CAROOT} != "no" && ${MK_OPENSSL} != "no" -.if ${.MAKE.OS} == "Darwin" +.if ${.MAKE.OS} == "Darwin" || \ + (${.MAKE.OS} == "FreeBSD" && ${BOOTSTRAPPING} < 1400000) _bootstrap_libcrypto=secure/lib/libcrypto ${_bt}-usr.sbin/certctl: ${_bt}-secure/lib/libcrypto .endif From nobody Wed Sep 3 17:01:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH85d6Kgvz66kbY; Wed, 03 Sep 2025 17:01: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH85d5Ffbz49Sh; Wed, 03 Sep 2025 17:01:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756918885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1dtprEmgh7qlUNP+fYMkfrpxlB06wzXrlKbARf92+qo=; b=t3W+NxnedFAEvaLBw0JlsUgFtfnVAnArYkn0vOWVm0Mjb/bTb/+XoAfX1De3BKoGnz/5/l dRlBcAS6yfG/slfInFFoW6nx4NBinquh/zceVmm3H0ZylNjnlirnvqXDWT6HKLAzZZzyhG EtB+u/TyQywvdtAjslclDDCFT5TwjKFcRHCen+JCZ5d5TBG4nhqCpw7q7d4PTsJ2JOkYhZ xYKjCZ4MisJFIQ+Tn5HoI+OZraA/6W9ZR8g9QWjx5dPi+nfhsYNLviBnAAlEPDenXkIzdS YQDf3rsmQgJssx5hiGrDC7YQEdSh6r0bM6GjhaRi8Yey+rdNiJLLDyYZLOoPyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756918885; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1dtprEmgh7qlUNP+fYMkfrpxlB06wzXrlKbARf92+qo=; b=TIxwgBFW0O67gNKwYy0sdISQZA0vtFVWeo3fugeC/LAfZUyzIu3sEIYBnUvbnuVCUgKd70 rax9nh6dwYNhGrC8AbOYhQdpne/NBnaaUHTo7s8RVLaHK79CmjR5fFTkGcAb3Q79lSB1Td GqAgJfC0gqLDQpO2OHULusr2VGtSP655sGM79j8QMzUKGfAG2npYuvjSztAEBZBw64jv55 zXgzJaEJWam5Nc6Wrpqbk5hegAhEPuZlpH+DnWD25EwDnonviGsMfGQxNvrnCdYRnWwUXr /6iPtLneHv+l11OCJMDjD6JdWSSoqZFtXdf36U5fXacwnwkmC50hz9IxbY9jyA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756918885; a=rsa-sha256; cv=none; b=WeWZASJflyAPLHvblvFpfIWL5NChP/4CN9bVoMPosxX0u7QHezKWJM41MBMwzNQYg2NK9X LUOe6IyI01Z0BPoWkbpB+qqI4mjvvpBbiNgEJYXlvSRIbP23TXRrcvrz5Zi2j9ZttROXBU FaPsr6zF8xozRhwuSW3VXDZPH45ZWZsNdqRpvnbMeB4uhs581Bjhc64f3NTvNd0bNWm5sL 6LJgu2dCLqSpiPN89UB342rsWVfCajC4RgwrETUfKEYJc6+J9VG2pV+YXs6I3hC/DzpQci YA7Z0iQ5Cpv8rHYSKMlLGl+FaXE+LNMS/WU9cdVGyUMhMNifW5IF0BsvXBbl3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH85d4qd7z9ZP; Wed, 03 Sep 2025 17:01: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 583H1P0S085259; Wed, 3 Sep 2025 17:01:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583H1PbI085256; Wed, 3 Sep 2025 17:01:25 GMT (envelope-from git) Date: Wed, 3 Sep 2025 17:01:25 GMT Message-Id: <202509031701.583H1PbI085256@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: f4f42421f38e - main - pf tests: sctp:pfsync robustness improvement List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: f4f42421f38ecf06396332fda563c3dcc8d32143 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=f4f42421f38ecf06396332fda563c3dcc8d32143 commit f4f42421f38ecf06396332fda563c3dcc8d32143 Author: Kristof Provost AuthorDate: 2025-09-03 14:04:41 +0000 Commit: Kristof Provost CommitDate: 2025-09-03 17:01:12 +0000 pf tests: sctp:pfsync robustness improvement Add a wait after we establish the SCTP connection to give pfsync some time to work before we check if it has synced the state to the other jail. PR: 289239 Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/pf/sctp.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/sys/netpfil/pf/sctp.sh b/tests/sys/netpfil/pf/sctp.sh index 57dcdad1d866..78055f5a9dd2 100644 --- a/tests/sys/netpfil/pf/sctp.sh +++ b/tests/sys/netpfil/pf/sctp.sh @@ -673,6 +673,9 @@ pfsync_body() atf_fail "Initial SCTP connection failed" fi + # Give pfsync some time to do its thing + sleep 1 + # Verify that two has the connection too state=$(jexec ${j}two pfctl -ss | grep sctp) if [ -z "${state}" ]; From nobody Wed Sep 3 17:10:22 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH8Hy6Y74z66l52; Wed, 03 Sep 2025 17:10: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH8Hy5W3yz3C7t; Wed, 03 Sep 2025 17:10:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756919422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aTKIpTV6nT0liqer9go5eXgcjsu2w94fQl68Ua8tRyM=; b=fLEovuelLgfRc0QBvoRTcOnJgO7G1yYRuqJS7eN8BTSTHZPjNQ1rPA+1cLI9OAyT5FmWpn 0d5/QgzyUDPytSPFrIb+BUEgJCu3W4IzZt/vUvMzV4t4I76typ03DRkZ1wXd3RQ3/ItZTT vEuEtfog1YquIMIxz3nRXYi1GQwLQbVPeAzLDxnSoaVQ1beqc702XcK16OxpACAlNnoa7l yzq6PAH3OiopWizeFtnAIr6DieZxE61PuJhjTMdA+0JVkm2/XvMMfDd+nFbT/8xiOuwktx PZAT9S937bAzxxZNg+NDRv0QlssACcae7A/2VBMIvmHQ/yoHhaYKYXbOlwGUxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756919422; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aTKIpTV6nT0liqer9go5eXgcjsu2w94fQl68Ua8tRyM=; b=GdahTPBXqTxNWl2s4PJwnXCwm5ux/kt3R9J6Kh7zxRqOcK23fjwbbtU9NKIGFxFl5zrKek n9bOdAcYs3qzo7cGCW7qWJZqPJIAYhOBzxB3fBJeADUoiwbB8S7E+15KG50Wrs9p+YB0nC hIdIzfQSKRGwTHXchAinFuNoFPuoUQWiCQgATWoazY7p4oHw8u8dVeRQQbLLCZ+epXialN CnnMItdjT9PV7BFLzcolkMTR24mhpqjvdNfceQm3saj/hl8B7vNO6jFYEaJLHXTEeshAKV F9inlRP7vRprDQzeSRTrfgKUKOdsD6087Jlz1FDgIGqy2RpXruhqaWpEsuzUXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756919422; a=rsa-sha256; cv=none; b=sNVRnVFLOQZZzuyLDP8WHve/18SH0Uh/ZHuz+R/077t0oqjEa3303OgydsxqGRyDf8X9Pf DLncW42JTRUcBlWcCNivvPla47j7EAJigNh0iF4nMvDoXuZxLgNeOq8ri5hTCc/L1g047F J4v7S+ZEy7/5dq0107NpeVtGxy4uqdBCRZKgZta8jOvqlCfVbBOtank0g8i2KQIz7bQKz3 4REtsSsHXBy3d/hcronXl9T5UufgwFM+AVVH4WlrZa92XX7p/+wfkk7tl/xUSV5KcOJmWE FvzjxmEL+xlFfcL3GFa/g44qsyIeKAl/m4ZS0qkGLqoBvV+doqnHGfNgSA7DjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH8Hy4gSvz9XH; Wed, 03 Sep 2025 17:10: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 583HAM8a001572; Wed, 3 Sep 2025 17:10:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583HAMKw001569; Wed, 3 Sep 2025 17:10:22 GMT (envelope-from git) Date: Wed, 3 Sep 2025 17:10:22 GMT Message-Id: <202509031710.583HAMKw001569@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: 7e38993247f5 - main - init_main: Remove the placeholder 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: 7e38993247f5e82abd4c347079fd256e73a76a00 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=7e38993247f5e82abd4c347079fd256e73a76a00 commit 7e38993247f5e82abd4c347079fd256e73a76a00 Author: Zhenlei Huang AuthorDate: 2025-09-03 17:09:11 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-03 17:09:11 +0000 init_main: Remove the placeholder SYSINIT This was initially introduced to ensure there is at least one entry so that the sysinit_set symbol is not undefined. Well now that the kernel has plenty of SYSINITs and it is unlikely we will have a kernel without any SYSINITs in future, then this placeholder is not relevant anymore. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D47916 --- sys/kern/init_main.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 2fa429e6368c..87ffdb8dbf07 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -144,13 +144,6 @@ int verbose_sysinit = VERBOSE_SYSINIT; FEATURE(invariants, "Kernel compiled with INVARIANTS, may affect performance"); #endif -/* - * This ensures that there is at least one entry so that the sysinit_set - * symbol is not undefined. A sybsystem ID of SI_SUB_DUMMY is never - * executed. - */ -SYSINIT(placeholder, SI_SUB_DUMMY, SI_ORDER_ANY, NULL, NULL); - /* * The sysinit linker set compiled into the kernel. These are placed onto the * sysinit list by mi_startup; sysinit_add can add (e.g., from klds) additional From nobody Wed Sep 3 17:10:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH8Hz6Nvnz66klJ; Wed, 03 Sep 2025 17:10: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH8Hz5BtGz3CH8; Wed, 03 Sep 2025 17:10:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756919423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=72c13hJtRzbJIBBLa7FkBbFOtxYdkneI0Z3CbfRIlOE=; b=Zr03oBtK99YKma+XcYhriOQqO56I/Jm7vpHbOIDXtWo8LkfItEY3tJtfCLtX1w4Vf5iZCE 74uTT8AeXzdkBqWFOCRx0h79+Wu/oqvTSGBmknWn/f+HaIXGBiDQ5XOGMN6JpMlKZia74y PGYfNIUshuWbBS18bkMT9UCXMlNGbRxHLq4avh2h/18dpfW5M4dI/7AAoOCRJhYhIaW6Gx WrDlH5r7y5w5EZJUkrob9P/BmH5ynBS4mR1roxhKMd9pXMsM+PJUesqAa9SFjTI/EMjXQK Mxl/GKeimaJXGWco3YKer6Gx0hNZV24tFsZg+Cik2k8nKm6O0Fvf+j2dpLx7xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756919423; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=72c13hJtRzbJIBBLa7FkBbFOtxYdkneI0Z3CbfRIlOE=; b=FDs7hstJ2k91JmkT6EHH/KuqespoGo5uqaXygoEJFzqOmxoQEMYg7bmvN5EpPHCRvKRzKd khlzdMXOKoti/KUliYgpEYoJMrBtCMkOZjy5oN1QZHT5rOkt8sflLmZ7QrqogZ+bguE+gf CkDSFXWuT0y95Ba+dCAwslkr2B+T7yOHP0zqqRy1qveZkRs4qPPZKEU7ecWvJYINEyMioq RUKkx6AK3iok4f01WmTctj2dUK8v+lyOqAOxE31haq/yA4dsjWzSVQn2TtPagu/e73jhD1 fGx1zo3KM3UXa1S/dhds3c/WCMk1GTnQIyRYbxXvvJ94ySyYrVmiMnP96/nZQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756919423; a=rsa-sha256; cv=none; b=tCos1/ePePvQPqDzQIbczod9/hd5LjUKrCXPRODY3M6bBHHLGPSRzgXh0LrEmh6JNpoCu4 pYbEqU7DvgIqUfQ/vmXp30JmHxCGO9rIb4Dnr0sNbUVedVi4SLLicp17ykdjBso8tGETRT NQAqLqgssCdz9rPE1ExBat0Ur1/Pg3pIlS+kqtVPRAuW5TzSqz/1kmazIBn308A23dY0gZ O4PenzWsebwkNR9u3RxVos+tiOURAiPFCj5neG0tsUXUc4oVJLR7IPPROymni5UxeTgKHV bIcQAxGdUM0j5B+a+VPlylqxBWrVGc2bPk2KNycC1HgGhNPvmVRa2LSHMl97wA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH8Hz4pFPz9JL; Wed, 03 Sep 2025 17:10: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 583HANFX001611; Wed, 3 Sep 2025 17:10:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583HANEc001607; Wed, 3 Sep 2025 17:10:23 GMT (envelope-from git) Date: Wed, 3 Sep 2025 17:10:23 GMT Message-Id: <202509031710.583HANEc001607@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: 51098f0529f0 - main - ethernet: Prefer memcmp() over bcmp() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 51098f0529f0d1cc532512e0eae9bfcffb8e68e4 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=51098f0529f0d1cc532512e0eae9bfcffb8e68e4 commit 51098f0529f0d1cc532512e0eae9bfcffb8e68e4 Author: Zhenlei Huang AuthorDate: 2025-09-03 17:09:11 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-03 17:09:11 +0000 ethernet: Prefer memcmp() over bcmp() The link-level address and the mbuf shall not overlap. Prefer memcmp() over bcmp() for slight performance gain. No functional change intended. Reviewed by: glebius MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D52345 --- sys/net/if_ethersubr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 3ae0c01c0efc..9c157bf3d3c2 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -695,7 +695,7 @@ ether_input_internal(struct ifnet *ifp, struct mbuf *m) * seen by upper protocol layers. */ if (!ETHER_IS_MULTICAST(eh->ether_dhost) && - bcmp(IF_LLADDR(ifp), eh->ether_dhost, ETHER_ADDR_LEN) != 0) + memcmp(IF_LLADDR(ifp), eh->ether_dhost, ETHER_ADDR_LEN) != 0) m->m_flags |= M_PROMISC; } From nobody Wed Sep 3 17:20:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH8WP3PvGz66lg0; Wed, 03 Sep 2025 17:20: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH8WP0yVQz3D4V; Wed, 03 Sep 2025 17:20:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756920017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7/hwJ1BpWRNIvTqxkMdXd3BLbiTfsNvuthYdxIw0XvQ=; b=pW6B8DCixqDmnKODBnUhUdhX5mDV321C5JN4F24D0FpZKETP9Jdfjyf6l23et1tmxYXS+Q 687uouwiklJiYNVbXAqrG1AxMu3i/LDrq0q29q4kVbSZ3gqM9wyvFTZupM6okiUBZUBFaJ 7p41rFl96CgB7K0LUvpGzmDrZZ8dyHIk2EAWhiH7e3/SEWaGBIuTxlzmawz7ZAwOX83qCY aWabDDVAETq2AQCAKrRtE8FHU3WzvhRhkix5RbG9YcjfjUs7RuEW7yJYLDobC0CYkaBE9q N9RnLLhcW1pzot7tZi7U1va5jG4odZyjcMw+QTAxSBoFw91s9ZOmRP7d7aupNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756920017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7/hwJ1BpWRNIvTqxkMdXd3BLbiTfsNvuthYdxIw0XvQ=; b=Yd+S7NX+yJkQYgD/7rrLCcY9yo9Ud8yUBDAKLY4rEWgauYEGKfp2TybPRCHgfdaMAPkTPG Hkg5iU9pMPh5kmzBvdgLD+L9snfOLiDerMEBqRCptvhcQlLdSUvVfg/SuxuLwNvLBfHmXm cRx8+1rc5tNeom6kIXayCF8+rBph8tZ3M1SbfUaODAGCvhZiVEAKR13Rq3Z+8uJWUkdvt1 LbWQL00UebltrDonTP07H9rZXZCV2QtRZN9hRGi3BDPWd4LvLEEuvCASykc/R2Xl6x9t7i goH84IL2aqVLu8KBpo8sgqebtuNrzHgT6SdF3Mj4cFSStRJ+ZuV6VrO0cjr6ow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756920017; a=rsa-sha256; cv=none; b=Ju9LIK7QRURjKzIb5bniAmmA57SThhTg8NShGYbtJ+zUMJKnWoRez4dUUuU17vIO8KZq9X +7OLgXVr/miefVAcZwdBVLzdhoT5nGq0lbra8EjvC72puEtsQ8BgiLP9XJgJEXrPIodIJc eJCr2VGtJTtK6N5UbgzOwIxth0icOLkgKeTUynlc/2L9LebGuxYCB5qnsOHIJ3DDH4L3fb z4Z6xh0YIN160R9T/ze3cYwrELopyCVs9skJoasO4OKSIs11Yu1LMms8Nh1+8nCq2q1E0p guboDXEEUYChzDpQO1j72zBKe/zyfDFKb6YSYID10EMbahIYRUG8sB2Lg3Rfnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH8WN6rxlz9HG; Wed, 03 Sep 2025 17:20: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 583HKGKf019595; Wed, 3 Sep 2025 17:20:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583HKGPY019582; Wed, 3 Sep 2025 17:20:16 GMT (envelope-from git) Date: Wed, 3 Sep 2025 17:20:16 GMT Message-Id: <202509031720.583HKGPY019582@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: e921d2842ee8 - main - umb: Fix setting the input routine List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e921d2842ee8ca9e3dae8952e1cf2645cee785aa Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=e921d2842ee8ca9e3dae8952e1cf2645cee785aa commit e921d2842ee8ca9e3dae8952e1cf2645cee785aa Author: Zhenlei Huang AuthorDate: 2025-09-03 17:19:37 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-03 17:19:37 +0000 umb: Fix setting the input routine This driver does not depend on netmap, and umb_input() works greatly without netmap. Remove the #ifdef DEV_NETMAP so that when "device netmap" is not configured this driver can still correctly pass the inbound packets to the net stack. Otherwise the input routine will be if_input_default() which will silently drop all inbound packets. PR: 263783 Reported by: Andre Albsmeier Tested by: Andre Albsmeier Differential Revision: https://reviews.freebsd.org/D52182 --- sys/dev/usb/net/if_umb.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/dev/usb/net/if_umb.c b/sys/dev/usb/net/if_umb.c index f640b4224aad..b1082b117259 100644 --- a/sys/dev/usb/net/if_umb.c +++ b/sys/dev/usb/net/if_umb.c @@ -177,9 +177,7 @@ static void umb_ncm_setup(struct umb_softc *, struct usb_config *); static void umb_close_bulkpipes(struct umb_softc *); static int umb_ioctl(if_t , u_long, caddr_t); static void umb_init(void *); -#ifdef DEV_NETMAP static void umb_input(if_t , struct mbuf *); -#endif static int umb_output(if_t , struct mbuf *, const struct sockaddr *, struct route *); static void umb_start(if_t ); @@ -585,9 +583,7 @@ umb_attach_task(struct usb_proc_msg *msg) if_setsoftc(ifp, sc); if_setflags(ifp, IFF_SIMPLEX | IFF_MULTICAST | IFF_POINTOPOINT); if_setioctlfn(ifp, umb_ioctl); -#ifdef DEV_NETMAP if_setinputfn(ifp, umb_input); -#endif if_setoutputfn(ifp, umb_output); if_setstartfn(ifp, umb_start); if_setinitfn(ifp, umb_init); From nobody Wed Sep 3 17:30:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH8lh3p0Vz66mBF; Wed, 03 Sep 2025 17:30:56 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH8lh3PYdz3Fg3; Wed, 03 Sep 2025 17:30:56 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756920656; 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=BifbacRBVf8nRdEUJoPhdsBE0W5Mk8DupixRn8RPga8=; b=qPi4KkYWUUnhdtODDfkfnlFjGH/jWyS3M2Te4mWEbSEllhOHzA8S0/Vuiy8Iu66pSxlu6n jbUevA3wkz4mGQoXU+cK7VMksd6wZJyZwgKMjn7sQT8U+7gY2pASIEey3RIhgXkdfkmYgf xAwKOP+lgJISHJ6mJrzjcKug9a/xkb4I6e9RAtEjYl3wO59xjbsCQ7i2zMKgNaSb2bzkiU AJV4yZZyc++xZ3naL/05kcDktW/cRM8QfCZLItXdFjb5gZ5JoJLdl2yoIy5KcdviBFa425 GLOUwMxABEsFdHyGgr/8tjvIyrVCWdT2B/kUOq/OPFP59JtEWD6ac8dADbPPFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756920656; 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=BifbacRBVf8nRdEUJoPhdsBE0W5Mk8DupixRn8RPga8=; b=sQBhyE5NnruXdidsYCxcRXV2zGNU+JLQ82De3OKc+8aBUAvOngVzM27/RjuaXVi0cY6Zuy C1vYNJWrI3BKZLjxXa+LM0/p2tH3e2abJxaQ/fSpSMfCVgvr/vxYySVaCh2lqFR++l5j5E 5GAvv5+dqe0hMiCRfODrydpWGblUaj3LWSyc9pv+nN6g4zJ0bK4zUzWsEoZrsC3v83s6nG O9owPVbyIevs8kQs8zFr/xBNqQAEW/2bthFlTOlATjXXcsZy3XMOQdHBECtF1ITdU2W/cM 7CNkq7S4pIksZiUmGc3imz6vObJ/FBcQ6lklO2HpB00AHEz8b4RT3U7mr49n2A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756920656; a=rsa-sha256; cv=none; b=j7QWWNut09D/kgwjPxP2Nv8xQTOEEeFQltDlISg/vV2zRnm9d8ZEQqYIsY30cVW7ErWLlO 3xmPvv8T3EXEwnw4WOQu2OzfqEM/ISCr8jyNYgq8byMey7kDq98ZHiBqCwHwIJzRo8sAte k2usYyTJ2VArOuVIR9r6lBmZk8Bw0S5e7CdAehCM1mHhQvAWNtxJbjzUBaMo8DB17SN5k4 RQ4qejTX0OayT7aBV4+0yjfLYFfe/ih59k73pUfJUdL2sAoC0dFAtzoCeDcmW6VtFSk9DN Hq1s8G/bD6y5JGOkKywTjDMGZYx5/68oawGPoUj7BrYFXW1X8k5xQDyr2PLEmw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4cH8lc5JZsz1DC8; Wed, 03 Sep 2025 17:30:52 +0000 (UTC) (envelope-from zlei@FreeBSD.org) From: Zhenlei Huang Message-Id: <56905A32-EAE7-4447-B830-AAFF6DD20A5D@FreeBSD.org> Content-Type: multipart/alternative; boundary="Apple-Mail=_B36A27CA-1713-4766-90C7-EF4307A60D7A" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: 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: 458ac2b6e445 - main - umb.4: Improve synposis, add netmap Date: Thu, 4 Sep 2025 01:30:43 +0800 In-Reply-To: <65F7C538-6AF3-429B-AC08-541A7C7CA1D0@FreeBSD.org> Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" To: Alexander Ziaee References: <65F7C538-6AF3-429B-AC08-541A7C7CA1D0@FreeBSD.org> X-Mailer: Apple Mail (2.3696.120.41.1.10) --Apple-Mail=_B36A27CA-1713-4766-90C7-EF4307A60D7A Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Aug 21, 2025, at 11:02 PM, Zhenlei Huang wrote: >=20 >=20 >=20 >> On Aug 21, 2025, at 10:08 PM, Alexander Ziaee > wrote: >>=20 >> On 2025-08-20 23:21 -04:00 EDT, "Zhenlei Huang" > wrote: >>> Hi Alexander, >>>=20 >>> I'd presume umb(4) does not depends on netmap. A quick search of = DEV_NETMAP >>>=20 >>> ``` >>> #ifdef DEV_NETMAP >>> static void umb_input(if_t , struct mbuf *); >>> #endif >>> ... >>> #ifdef DEV_NETMAP >>> if_setinputfn(ifp, umb_input); >>> #endif >>> ``` >>>=20 >>> I think the #ifdef can be removed. I currently do not have that = hardware so I'd appreciate if someone can test it. >>=20 >> I didn't get that far myself, this commit was partially in response = to comment 67 [0] on the original bug where a user got the driver = working on FreeBSD 14 by adding `device netmap` to their kernconf, and = it didn't work without that. >>=20 >> Should we send this to khorben? >>=20 >> [0] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D263783#c67 = >=20 > I replied to PR 263783.=20 Hi Alexander, I have just committed = https://cgit.freebsd.org/src/commit/?id=3De921d2842ee8ca9e3dae8952e1cf2645= cee785aa = . The man page now can be revised, I mean the netmap part should be = removed. > +.Cd "device netmap" Best regards, Zhenlei >=20 >>=20 >> Best, >> Alex >>=20 >>>=20 >>> Best regards, >>> Zhenlei >>>=20 >>>> On Aug 21, 2025, at 9:50 AM, Alexander Ziaee > wrote: >>>>=20 >>>> The branch main has been updated by ziaee: >>>>=20 >>>> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D458ac2b6e4452acc1a614352c8945ecc= 37667aa0 = >>>>=20 >>>> commit 458ac2b6e4452acc1a614352c8945ecc37667aa0 >>>> Author: Alexander Ziaee > >>>> AuthorDate: 2025-08-20 14:45:08 +0000 >>>> Commit: Alexander Ziaee > >>>> CommitDate: 2025-08-21 01:48:13 +0000 >>>>=20 >>>> umb.4: Improve synposis, add netmap >>>>=20 >>>> Rewrite synopsis in a more consistent style, and add "device = netmap", >>>> In FreeBSD 15, netmap is included in = GENERIC/{amd64,arm64,powerpc64}, >>>> but it still needs to be used in FreeBSD 14 or custom kernels = which >>>> don't include GENERIC. >>>>=20 >>>> MFC after: umb does not mfc >>>> Reviewed by: gbe >>>> Differential Revision: https://reviews.freebsd.org/D51732 = >>>> --- >>>> share/man/man4/umb.4 | 28 ++++++++++++++-------------- >>>> 1 file changed, 14 insertions(+), 14 deletions(-) >>>>=20 >>>> diff --git a/share/man/man4/umb.4 b/share/man/man4/umb.4 >>>> index 7ecc9a39c1ca..311a50faf8e7 100644 >>>> --- a/share/man/man4/umb.4 >>>> +++ b/share/man/man4/umb.4 >>>> @@ -17,34 +17,34 @@ >>>> .\" >>>> .\" $NetBSD: umb.4,v 1.4 2019/08/30 09:22:17 wiz Exp $ >>>> .\" >>>> -.Dd May 11, 2025 >>>> +.Dd August 4, 2025 >>>> .Dt UMB 4 >>>> .Os >>>> .Sh NAME >>>> .Nm umb >>>> .Nd USB Mobile Broadband Interface Model (MBIM) cellular modem = driver >>>> .Sh SYNOPSIS >>>> -To compile this driver into the kernel, >>>> -place the following lines in your >>>> -kernel configuration file: >>>> -.Bd -ragged -offset indent >>>> +.Cd "device netmap" >>>> .Cd "device usb" >>>> .Cd "device umb" >>>> -.Ed >>>> .Pp >>>> -Alternatively, to load the driver as a >>>> -module at boot time, place the following line in >>>> +In >>>> .Xr loader.conf 5 : >>>> -.Bd -literal -offset indent >>>> -umb_load=3D"YES" >>>> -.Ed >>>> -.Pp >>>> -If neither of the above is done, the driver will automatically be = loaded >>>> -by devd(8) when the device is connected. >>>> +.Cd umb_load=3D"YES" >>>> .Sh DESCRIPTION >>>> The >>>> .Nm >>>> driver provides support for USB MBIM devices. >>>> +If the appropriate hardware is detected, >>>> +the driver will be loaded automatically by >>>> +.Xr devmatch 8 . >>>> +To load the driver manually, >>>> +.Cm load >>>> +it in >>>> +.Xr loader.conf 5 >>>> +or at the >>>> +.Xr loader 8 >>>> +prompt. >>>> .Pp >>>> MBIM devices establish connections via cellular networks such as >>>> GPRS, UMTS, and LTE. --Apple-Mail=_B36A27CA-1713-4766-90C7-EF4307A60D7A Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii

On Aug 21, 2025, at 11:02 PM, Zhenlei Huang <zlei@FreeBSD.org> = wrote:



On= Aug 21, 2025, at 10:08 PM, Alexander Ziaee <ziaee@FreeBSD.org> = wrote:

On 2025-08-20 23:21 = -04:00 EDT, "Zhenlei Huang" <zlei@FreeBSD.org> wrote:
Hi Alexander,

I'd presume umb(4) = does not depends on netmap. A quick search of DEV_NETMAP
```
#ifdef DEV_NETMAP
static = void      umb_input(if_t , struct mbuf *);
#endif
...
#ifdef DEV_NETMAP
       if_setinputfn(ifp, = umb_input);
#endif
```

I think the #ifdef can be removed. I currently do not have = that hardware so I'd appreciate if someone can test it.

I = didn't get that far myself, this commit was partially in response to = comment 67 [0] on the original bug where a user got the driver working = on FreeBSD 14 by adding `device netmap` to their kernconf, and it didn't = work without that.

Should = we send this to khorben?

[0] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D263783#c67

I = replied to PR 263783. 

Hi Alexander,

The man page now can be = revised, I mean the netmap part should be removed.

> +.Cd "device netmap"

Best regards,
Zhenlei



Best,
Alex


Best regards,
Zhenlei

On Aug 21, 2025, at 9:50 AM, Alexander Ziaee <ziaee@FreeBSD.org> = wrote:

The branch main has been updated by = ziaee:

URL: https://cgit.FreeBSD.org/src/commit/?id=3D458ac2b6e4452acc1a614= 352c8945ecc37667aa0

commit = 458ac2b6e4452acc1a614352c8945ecc37667aa0
Author: =     Alexander Ziaee <ziaee@FreeBSD.org>
AuthorDate: 2025-08-20 14:45:08 +0000
Commit: =     Alexander Ziaee <ziaee@FreeBSD.org>
CommitDate: 2025-08-21 01:48:13 +0000

  umb.4: Improve synposis, add netmap

  Rewrite synopsis in a more = consistent style, and add "device netmap",
  In = FreeBSD 15, netmap is included in GENERIC/{amd64,arm64,powerpc64},
  but it still needs to be used in FreeBSD 14 or = custom kernels which
  don't include GENERIC.

  MFC after: =             &n= bsp;umb does not mfc
  Reviewed by: =            gbe
  Differential Revision:  https://reviews.freebsd.org/D51732
---
share/man/man4/umb.4 | 28 ++++++++++++++--------------
1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/share/man/man4/umb.4 = b/share/man/man4/umb.4
index 7ecc9a39c1ca..311a50faf8e7 = 100644
--- a/share/man/man4/umb.4
+++ = b/share/man/man4/umb.4
@@ -17,34 +17,34 @@
.\"
.\" $NetBSD: umb.4,v 1.4 2019/08/30 = 09:22:17 wiz Exp $
.\"
-.Dd May 11, 2025
+.Dd August 4, 2025
.Dt UMB 4
.Os
.Sh NAME
.Nm umb
.Nd USB Mobile Broadband Interface Model (MBIM) cellular = modem driver
.Sh SYNOPSIS
-To compile this = driver into the kernel,
-place the following lines in = your
-kernel configuration file:
-.Bd = -ragged -offset indent
+.Cd "device netmap"
.Cd "device usb"
.Cd "device umb"
-.Ed
.Pp
-Alternatively, to load = the driver as a
-module at boot time, place the following = line in
+In
.Xr loader.conf 5 :
-.Bd -literal -offset indent
-umb_load=3D"YES"-.Ed
-.Pp
-If neither of the = above is done, the driver will automatically be loaded
-by = devd(8) when the device is connected.
+.Cd = umb_load=3D"YES"
.Sh DESCRIPTION
The
.Nm
driver provides support for USB MBIM = devices.
+If the appropriate hardware is detected,
+the driver will be loaded automatically by
+.Xr = devmatch 8 .
+To load the driver manually,
+.Cm load
+it in
+.Xr loader.conf = 5
+or at the
+.Xr loader 8
+prompt.
.Pp
MBIM devices = establish connections via cellular networks such as
GPRS, = UMTS, and = LTE.
=


= --Apple-Mail=_B36A27CA-1713-4766-90C7-EF4307A60D7A-- From nobody Wed Sep 3 17:50:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH99k2v6Bz66nds; Wed, 03 Sep 2025 17:50: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH99k2BYDz3H5V; Wed, 03 Sep 2025 17:50:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756921802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9pf/z/PPO3geqOQcMK1QSsCghE+yp8/AOXma1Vncjjc=; b=XM3rZNqLfr6bTwqiUbaekoVAVcTzbCksyW1kwVehGN1jwnjFraDY14rVWMQNRTs+REQVWh c0+cdQDkILylB3/P+Xt8zfsZj9DJlS/ha67dKbpvktW8hY/ly93MY1icLhL3/XI/16s8wk Kpz+Dj0+NE/viYOtPj0OBcvISz3Fw12jpzNecVvIKkvlsXziZxSwIAUbDBxqYCcK7TXOO/ /fxl/cfjDECuLOWtacqsKl8TupHB28EWW09U8M7dFniQ6QObZubOHvj8YDjnzJc4k1vRXN vgLj2UcXLR0fMWGu2I3wiUOGyK9H9S5SBrO2ncM7QmIl+ybIIL98GXRgPJVrIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756921802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9pf/z/PPO3geqOQcMK1QSsCghE+yp8/AOXma1Vncjjc=; b=KWjGUmzKJJwuk+KqoJMOCPucY06e3mdZaTANpSuYjGERtuYWYKUFtgVt3tBCcrx78p8XzX W2esruPBpXBL6XT2hfWmt+XGzCXs+TmZSlfRHogXqi2aNFgPWIZrQ4USNr14c0HYWPU1Jb I1i5XywdNNYyii5UZXRceS915eKeQo3pfbXZm6btDELkJyOSV347TA0/7tnDkkO7NTwAlk fS/DF0k8qUS7NypMDVdPqTpYnlazKbNpTAA7eHVcnvlcfvRbcL9DEe9XvrlPgbMyxmms0B ej4y5Ysbu0dN8j7VPlEZpQSrQxS1oRfSFcv3ay/2iw1YK7DbKxtHkRuEVNZq1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756921802; a=rsa-sha256; cv=none; b=LaKYzMNDMVlL0bcowH7J4oHte/Y/z1kejSqrRcNDWumN64Gk/5MDguja/Prdf5+rxV62/0 1ZoNiVVyJwlXs1DWhkgLryom8t6hW/rGwljOQqgnkoZG/v+b0xBZm1ZPgiSNwh0w00VxTa JR0zIrKt7flFDPnR2XgxrzfJEwMSlB6pKr/faluUmuPCF2xXZtOXCArWCptMjq9x+7uYXO Fy3ovmeKBm4OAZc+NA5KBdxgfmg1hWS9a9pEHAR0EFQMpOei/GHZ4DX+31VVnf/sRIuqbG mR1fijkTUCKTmlSJ7C42mshmqADcG/tiSrPC1z76pePb/7nLZ/1iz5BthZfzpA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH99k1nLYzBYW; Wed, 03 Sep 2025 17:50: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 583Ho2an069399; Wed, 3 Sep 2025 17:50:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583Ho2WK069394; Wed, 3 Sep 2025 17:50:02 GMT (envelope-from git) Date: Wed, 3 Sep 2025 17:50:02 GMT Message-Id: <202509031750.583Ho2WK069394@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: e323aaaf3971 - main - dtrace_lockstat.4: Fix description List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e323aaaf397188e3d8e9cb2376af7a083896b441 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=e323aaaf397188e3d8e9cb2376af7a083896b441 commit e323aaaf397188e3d8e9cb2376af7a083896b441 Author: Christos Margiolis AuthorDate: 2025-09-03 17:49:50 +0000 Commit: Christos Margiolis CommitDate: 2025-09-03 17:49:50 +0000 dtrace_lockstat.4: Fix description MFC after: 1 day Reviewed by: ziaee, markj Differential Revision: https://reviews.freebsd.org/D52355 --- share/man/man4/dtrace_lockstat.4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/dtrace_lockstat.4 b/share/man/man4/dtrace_lockstat.4 index e308ca6c22ce..448de91a375f 100644 --- a/share/man/man4/dtrace_lockstat.4 +++ b/share/man/man4/dtrace_lockstat.4 @@ -22,12 +22,12 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 20, 2019 +.Dd September 3, 2025 .Dt DTRACE_LOCKSTAT 4 .Os .Sh NAME .Nm dtrace_lockstat -.Nd a DTrace provider for tracing CPU scheduling events +.Nd a DTrace provider for tracing kernel locking events .Sh SYNOPSIS .Fn lockstat:::adaptive-acquire "struct mtx *" .Fn lockstat:::adaptive-release "struct mtx *" From nobody Wed Sep 3 18:08:34 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cH9b65Pqrz66tB4; Wed, 03 Sep 2025 18:08:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cH9b64hyjz3LZQ; Wed, 03 Sep 2025 18:08:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756922914; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=enRvuANU9YsX4TQcIPougAEAJf8VXHI5M/x4JcDB1AE=; b=IdubCKVsmNFNtfbhb4GvFB1wSrXUheypudSNZcy6FwZkhbYk1MjMhmPswDPx5t6t3BqXTA HBawveohrAhGCMkFL+kdczWhpjfFTJuHBc3+a1QW3JYPQ7st6GRIdWTTQoVnEIBH4mBXXS Z8ZdUDG1CPFqDF4dQmlAGfkQZW4k9jbD5orrduslld+u0V6PiHMtJtuRZL7Ku9Vg83F7Df QgKXN1lD4CTS+boxyzadeA5VPEks4FvxT9VuRWdUtso375TX9hHMuiRJIZE9JN9B8M6XrI f5CUebMHGkgx+Ll+YaXX/S46sqH5r8mawkk4VObIZDI6POaM/0b8pHBfLoxYRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756922914; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=enRvuANU9YsX4TQcIPougAEAJf8VXHI5M/x4JcDB1AE=; b=pzBg4OmU428EfShlXljHFTdjUG40s7rasSsa2Yl4ufF0vz5j/uPyyCps00Y3mR+BW4aThN GUs2FsdbymADy2gHmNWNzqof957Ag764u7b7Vf2ftT+eDrKNyX15h2iVX6l8kwGShRVhSs 19z1mXCYehPco0c1ZU+ChyRlPdunW36szfV6yU/he6gjr7uLwR1kHjhYvcRREacZPDjpfD v4q9twCkTPxjLmepmYZtsteDKcgsuGkBEZkVrxUtceIwhAjgvuxSQssulfKkGtS3kBaMCU VzQ8FCHzAT/5waH7Hgo1Ol0Ign4O1bwwZv15sgmKniKnVdTgiHY8p+AjXp960w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756922914; a=rsa-sha256; cv=none; b=GLMFW3sWJMWhKwSvgSKyXnLPLL1Ie4tzerpPD2cDgbTSh3whb/+3/kRl5CTZp6PZVlPQhl lFXD+kqnf3fZwA9KiDNLMtg5RocHOYQoot5vgxWa9Qk1BQ894K7XMhc3XhVWnM4Zirc4Sg QUtMKH+ZULy2jaNFkMrtcKxKyyanMQ/qDt45PeRa3oy55qdsRommw0Ps/1PKuA14A5dUr6 IoCeq/pwI1pkAopsdBegXjXSEx6FJ+jWltKUnATHkEvOZeeaAa4wk5Lxywf1yxUZ2Snc2G FpWXUzoQyctKoFnFYcr53IN0R6P15Wspr1lOUhWOmPz7KGYb1sJOfUbuk4SyVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cH9b63stWzCJJ; Wed, 03 Sep 2025 18:08:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 583I8Y9u006235; Wed, 3 Sep 2025 18:08:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583I8YlJ006232; Wed, 3 Sep 2025 18:08:34 GMT (envelope-from git) Date: Wed, 3 Sep 2025 18:08:34 GMT Message-Id: <202509031808.583I8YlJ006232@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ahmad Khalifa Subject: git: ccc6cf3b67ed - main - libgpio: Add and document gpio interrupt utility functions List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ccc6cf3b67edb9d50f6edb74c9b0e2c23f8b24d3 Auto-Submitted: auto-generated The branch main has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=ccc6cf3b67edb9d50f6edb74c9b0e2c23f8b24d3 commit ccc6cf3b67edb9d50f6edb74c9b0e2c23f8b24d3 Author: Evgenii Ivanov AuthorDate: 2025-09-03 12:13:59 +0000 Commit: Ahmad Khalifa CommitDate: 2025-09-03 18:01:05 +0000 libgpio: Add and document gpio interrupt utility functions Add utility functions for configuring gpio interrupts and document file operations. Reviewed by: vexeduxr, ziaee Differential Revision: https://reviews.freebsd.org/D52102 --- lib/libgpio/Makefile | 4 ++- lib/libgpio/gpio.3 | 68 +++++++++++++++++++++++++++++++++++++++++++++++++-- lib/libgpio/gpio.c | 20 +++++++++++++++ lib/libgpio/libgpio.h | 13 ++++++++++ 4 files changed, 102 insertions(+), 3 deletions(-) diff --git a/lib/libgpio/Makefile b/lib/libgpio/Makefile index 42f822e97ba0..271595339792 100644 --- a/lib/libgpio/Makefile +++ b/lib/libgpio/Makefile @@ -27,6 +27,8 @@ MLINKS= gpio.3 gpio_open.3 \ gpio.3 gpio_pin_pulldown.3 \ gpio.3 gpio_pin_invin.3 \ gpio.3 gpio_pin_invout.3 \ - gpio.3 gpio_pin_pulsate.3 + gpio.3 gpio_pin_pulsate.3 \ + gpio.3 gpio_configure_events.3 \ + gpio.3 gpio_fileno.3 .include diff --git a/lib/libgpio/gpio.3 b/lib/libgpio/gpio.3 index ed2860776c3c..cb413b838bd0 100644 --- a/lib/libgpio/gpio.3 +++ b/lib/libgpio/gpio.3 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 1, 2015 +.Dd September 3, 2025 .Dt GPIO 3 .Os .Sh NAME @@ -79,6 +79,10 @@ .Fn gpio_pin_invout "gpio_handle_t handle" "gpio_pin_t pin" .Ft int .Fn gpio_pin_pulsate "gpio_handle_t handle" "gpio_pin_t pin" +.Ft int +.Fn gpio_configure_events "gpio_handle_t handle" "uint32_t report_type" "uint32_t fifo_size" +.Ft int +.Fn gpio_fileno "gpio_handle_t handle" .Sh DESCRIPTION The .Nm libgpio @@ -125,7 +129,7 @@ The pin number should also be passed in through the variable. All other structure members will be ignored by this function. The list of flags can be found in -.Pa /usr/include/sys/gpio.h . +.In sys/gpio.h . .Pp The get or set the state of a GPIO pin, the functions .Fn gpio_pin_get @@ -156,6 +160,66 @@ and .Fn gpio_pin_pulsate are wrappers around .Fn gpio_pin_set_flags . +.Pp +The function +.Fn gpio_configure_events +configures the interrupt report type and FIFO size for buffered +gpio interrupts. +The report type is specified by one of the following values: +.Bl -tag -width indent +.It Dv GPIO_EVENT_REPORT_DETAIL +Events are reported using +.Ft struct gpio_event_detail . +.It Dv GPIO_EVENT_REPORT_SUMMARY +Events are reported using +.Ft struct gpio_event_summary . +.El +.Pp +By default, the report type is +.Dv GPIO_EVENT_REPORT_DETAIL , +with a default FIFO size of 2 * number of pins belonging to the +.Ft gpio_device_t +instance. +The FIFO argument is only meaningful when +.Fa report_type +is +.Dv GPIO_EVENT_REPORT_DETAIL . +The structures associated with each report type are defined in +.In sys/gpio.h . +This setting is tracked on a per device instance basis. +The FIFO size cannot be reduced below the default value, +nor can it be decreased after it has been increased. +If any pin on the device has already been configured for interrupts, +.Fn gpio_configure_events +fails and returns -1. +On success 0 is returned. +.Pp +The function +.Fn gpio_fileno +returns the file descriptor associated with the +.Ft gpio_handle_t +instance. +.Pp +File operations have the following semantics: +.Bl -tag -width "read (2)" +.It Xr read 2 +Read one or more gpio interrupts that have occured +since the last successful +.Xr read 2 . +The results are placed into the output buffer +of the type previously established via +.Fn gpio_configure_events . +If there are no pending interrupts, +.Xr read 2 +blocks until an interrupt occurs, unless +.Dv O_NONBLOCK +is set. +.It Xr poll 2 +When receiving notification via +.Xr poll 2 +or similar interfaces, the file descriptor becomes readable when +one or more gpio interrupts are pending. +.El .Sh EXAMPLES The following example shows how to configure pin 16 as output and then drive it high: diff --git a/lib/libgpio/gpio.c b/lib/libgpio/gpio.c index e37ac1cdf8e8..c789bb34cacd 100644 --- a/lib/libgpio/gpio.c +++ b/lib/libgpio/gpio.c @@ -274,3 +274,23 @@ gpio_pin_pulsate(gpio_handle_t handle, gpio_pin_t pin) { return (gpio_pin_set_flag(handle, pin, GPIO_PIN_PULSATE)); } + +int +gpio_configure_events(gpio_handle_t handle, uint32_t report_type, + uint32_t fifo_size) +{ + struct gpio_event_config gpevent_config; + + gpevent_config.gp_report_type = report_type; + gpevent_config.gp_fifo_size = fifo_size; + if (ioctl(handle, GPIOCONFIGEVENTS, &gpevent_config) < 0) + return (-1); + + return (0); +} + +int +gpio_fileno(gpio_handle_t handle) +{ + return (handle); +} diff --git a/lib/libgpio/libgpio.h b/lib/libgpio/libgpio.h index 35651ecd8cca..abffc7b1b6ab 100644 --- a/lib/libgpio/libgpio.h +++ b/lib/libgpio/libgpio.h @@ -102,6 +102,19 @@ int gpio_pin_pulldown(gpio_handle_t, gpio_pin_t); int gpio_pin_invin(gpio_handle_t, gpio_pin_t); int gpio_pin_invout(gpio_handle_t, gpio_pin_t); int gpio_pin_pulsate(gpio_handle_t, gpio_pin_t); +/* + * GPIO event reporting configuration + * + * Set the event reporting type, the default being GPIO_EVENT_REPORT_DETAIL, + * and fifo size of 2 * number of pins belonging to the gpioc device instance. + * FIFO size can only be changed when report_type is GPIO_EVENT_REPORT_DETAIL. + */ +int gpio_configure_events(gpio_handle_t, uint32_t, uint32_t); +/* + * Retrieve the file descriptor associated with gpio_handle_t, which can + * be used for gpio interrupts. + */ +int gpio_fileno(gpio_handle_t); __END_DECLS From nobody Wed Sep 3 18:59:49 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHBkG2Hhfz66x8Z; Wed, 03 Sep 2025 18:59: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHBkG0ljyz3RHD; Wed, 03 Sep 2025 18:59:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756925990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U+hywIYJjgF2aQ5QdigWRQ3axWCFvPq1Zelnmltlka8=; b=Cu1ivxvZBi4+46XL3ahogZuVavBErcKCRqU09/OKPzMn9iWGtlbGXX/gSzLn4mlYzYJ13n M27X1CHOm2jtuw4D90n/MN6R3Ovch4qVuWVKLe0wBIIQaUi8ItGrD40adqRHM6R0KSSD5Q 43+SktKKgydZ5puOuNXoYjMnSF8DCZv/B23/zTSkM7+qcOAc/U3+t9N4Bv5v9+vdfXI/25 qXHAlgI7cdvp6TV6H4QUijFduJdaUBIgYfZL0v/ke/bqivM3YCVqtpvxT96JLEBPvtY4fZ eBZqVLGiZgP8WHakHcDIOB0xNUNn+4pD+kAchZiG8DmMF8Za3QEq4Wz7e8bX4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756925990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=U+hywIYJjgF2aQ5QdigWRQ3axWCFvPq1Zelnmltlka8=; b=U5zm9KIhCmHEr2+E69WjKhlpssjDVVVwsTDMSZD5sHJ4vN4YQtL0AO+snhFRKsnSVTMkQC Sz9q6KrRH6VzhHFiiskw0k1iLberkbufacPRIj+DbaFyDFb98CTHa2vU/NXGq29Y0RIHtw prgxXCJXybsHLzroSwJVlQeN9gAz+2WcZSyIQKMHQ9bJS3KyRMkhLmtsoWh4Pg8Oyzh1km T+9LcehpmoU0EsfZgY0OOxBA7lu8pXt0bjlbdISTyLUBfcDWEH3fezpyHDxnemNqNXC+T9 iv8i8kZlaJLBZQfajk8vpnMYNnqfRO4KOf/4NPfdD+f+JxFnWTt+BfOCwcZDUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756925990; a=rsa-sha256; cv=none; b=ZU1w2W+SIUYlk6bCfxaE5ib1kt26UHCxE5hh/BAxbiFbt0HazJIMWTIQj99KxQtbhzi72X VeRNjzqMAJ4rbVkvxkc/HjIm4TLY7iXJlY12kl7TQh8/yEpCdaFzWXqqlNL3Y4TXwkcPGa T68RdDu7wBmijUYtwqmQFeIkmicG9+7Ko4Ea0JGBQuPOCUyYDCkXRmQ5vvGgpAcDX95cR1 s4GgDJAAmYZN5fx46Q1ki3kjFK51NTHTrsLNUZM3ZkgCMk96LOvI8UUjrXJ/GQuq+bKqC6 tXX4DMiGDjnQNf3K7R+h/suFH2OjXFW5QQkbFx489u/tMsyaNqfqVAGAlBT8+Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHBkG06rczCXR; Wed, 03 Sep 2025 18:59: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 583Ixn1K099826; Wed, 3 Sep 2025 18:59:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583Ixno4099823; Wed, 3 Sep 2025 18:59:49 GMT (envelope-from git) Date: Wed, 3 Sep 2025 18:59:49 GMT Message-Id: <202509031859.583Ixno4099823@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Ziaee Subject: git: 80ab8a4beeb8 - main - umb.4: Remove device netmap from synopsis List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 80ab8a4beeb812adfbf1cb823ab7476d4a17659a Auto-Submitted: auto-generated The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/src/commit/?id=80ab8a4beeb812adfbf1cb823ab7476d4a17659a commit 80ab8a4beeb812adfbf1cb823ab7476d4a17659a Author: Alexander Ziaee AuthorDate: 2025-09-03 18:50:58 +0000 Commit: Alexander Ziaee CommitDate: 2025-09-03 18:59:00 +0000 umb.4: Remove device netmap from synopsis This driver was recently improved to no longer require DEV_NETMAP. PR: 263783 Reported by: zlei Fixes: e921d2842ee8 (umb: Fix setting the input routine) --- share/man/man4/umb.4 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/share/man/man4/umb.4 b/share/man/man4/umb.4 index 311a50faf8e7..37c86b3074f5 100644 --- a/share/man/man4/umb.4 +++ b/share/man/man4/umb.4 @@ -17,14 +17,13 @@ .\" .\" $NetBSD: umb.4,v 1.4 2019/08/30 09:22:17 wiz Exp $ .\" -.Dd August 4, 2025 +.Dd September 3, 2025 .Dt UMB 4 .Os .Sh NAME .Nm umb .Nd USB Mobile Broadband Interface Model (MBIM) cellular modem driver .Sh SYNOPSIS -.Cd "device netmap" .Cd "device usb" .Cd "device umb" .Pp From nobody Wed Sep 3 19:17:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHC6Y6bHTz660d6; Wed, 03 Sep 2025 19:17: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHC6Y5frxz3TVw; Wed, 03 Sep 2025 19:17:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756927045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/8mACImvWHNR/Xo5oCd2bQ+H0haeps1MRpddzrMIqPY=; b=m6bGnZo9su3mXD1Gt8CYmMG1xNpUUIHstngDZprJ0rXyzVZUXEwJy3Kb/EM2xZhtZdpcAP 1I2IkRLNyT7KapPzpNO4f0ds9W+1u/Wzuhsbrz4akR+BBqMFZ20ObO4pQ8mUrX54xeuoo3 Q6pzGD+OjjYsk6qomJWS3aSQqlXS9pqArNJrW4bKyYzrvbBP5guQox1qc8xxHodl/nGqJX S3nb18OvRRF+N6O2IMDVjbPARzJiDm2z2FnbFcTfap5NeOY3Z/TU7dr9StG1E6F88A+6VL LSl4v9OFLZKY4Tts2SdTrq92vM5BKWUHAa50sP8C55betLfSkDyFyNOEFbB06Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756927045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/8mACImvWHNR/Xo5oCd2bQ+H0haeps1MRpddzrMIqPY=; b=UgpWOls2i/dJsV3Y4JJvxVtw1gmXIA+7wIQQ0T7uCxPkrAoddrg3B5ob2cAcZsqmS7XTsK DiOQ+3XqzXfP4llEi1yPSt0yvkerSinwpni1OFQTulnmjbWfpKRQcpoA6GQHUkmtIp/OY7 W7MfE9qfI8gzhjTBdYghNu9KpzLwKT1BSakU8ujRer2oSa0nQsmwH8dSK1A/W3AtSV64iR hFs9jZPwJ5rjXwZcEG6PMdkNL5OsigLMgbGkAAp9tde1z6lbjWOc/dMuzgBZBSbYAM3WUN paTgwBwXfuYMbN+iYfXDDwYgc1KHxvIEsWZkwxjWsV27vvUwXkEFCUkmttfQ0g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756927045; a=rsa-sha256; cv=none; b=jd/pEfRRk0t9I4DJkpqAVZQuWd5/tlVLOa7K55Vbdyp4Hr3nnUXhBCxyw+pTddaMJUOb8l qv36bvUNGKtgBSr7qFacllYrQttSr/1IiDchmxp+V4GQcac3ibhJzqvFqRTdHtShQ/MTiO mDgm8CfxWvrYEdNsZqpl3A5kPuivqGZWIZPg24tPWGZdIcyj4A3/Obf3nkd5ASkQmL6wH/ Jujwk3XRi0143Od12ObQIWgn6tYRRv97wVNg5kbiuLUTNEkEoMFVSCJbXq6axyrCpInqvS hV3JCVQWPQpDd3wqUON98u5yYbOwcQh8j1hd70kUvLdtCmp0ZqqL+bd9hpqyYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHC6Y5DSTzTkM; Wed, 03 Sep 2025 19:17: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 583JHPGZ037835; Wed, 3 Sep 2025 19:17:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 583JHP2x037832; Wed, 3 Sep 2025 19:17:25 GMT (envelope-from git) Date: Wed, 3 Sep 2025 19:17:25 GMT Message-Id: <202509031917.583JHP2x037832@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: b5c46895fddd - main - ifnet: Defer detaching address family dependent data List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: b5c46895fdddcdb7dd1994598925d6989ea7c8f2 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=b5c46895fdddcdb7dd1994598925d6989ea7c8f2 commit b5c46895fdddcdb7dd1994598925d6989ea7c8f2 Author: Zhenlei Huang AuthorDate: 2025-09-03 19:16:40 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-03 19:16:40 +0000 ifnet: Defer detaching address family dependent data While diagnosing PR 279653 and PR 285129, I observed that thread may write to freed memory but the system does not crash. This hides the real problem. A clear NULL pointer derefence is much better than writing to freed memory. PR: 279653 PR: 285129 Reviewed by: glebius MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D49444 --- sys/net/if.c | 26 +++++++++++++++++++++----- sys/netinet/in.c | 2 ++ sys/netinet6/in6.c | 2 ++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/sys/net/if.c b/sys/net/if.c index 0fc30488f1e5..b6a798aa0fab 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -1101,6 +1101,7 @@ if_detach_internal(struct ifnet *ifp, bool vmove) struct ifaddr *ifa; int i; struct domain *dp; + void *if_afdata[AF_MAX]; #ifdef VIMAGE bool shutdown; @@ -1224,15 +1225,30 @@ finish_vnet_shutdown: IF_AFDATA_LOCK(ifp); i = ifp->if_afdata_initialized; ifp->if_afdata_initialized = 0; + if (i != 0) { + /* + * Defer the dom_ifdetach call. + */ + _Static_assert(sizeof(if_afdata) == sizeof(ifp->if_afdata), + "array size mismatch"); + memcpy(if_afdata, ifp->if_afdata, sizeof(if_afdata)); + memset(ifp->if_afdata, 0, sizeof(ifp->if_afdata)); + } IF_AFDATA_UNLOCK(ifp); if (i == 0) return; + /* + * XXXZL: This net epoch wait is not necessary if we have done right. + * But if we do not, at least we can make a guarantee that threads those + * enter net epoch will see NULL address family dependent data, + * e.g. if_afdata[AF_INET6]. A clear NULL pointer derefence is much + * better than writing to freed memory. + */ + NET_EPOCH_WAIT(); SLIST_FOREACH(dp, &domains, dom_next) { - if (dp->dom_ifdetach && ifp->if_afdata[dp->dom_family]) { - (*dp->dom_ifdetach)(ifp, - ifp->if_afdata[dp->dom_family]); - ifp->if_afdata[dp->dom_family] = NULL; - } + if (dp->dom_ifdetach != NULL && + if_afdata[dp->dom_family] != NULL) + (*dp->dom_ifdetach)(ifp, if_afdata[dp->dom_family]); } } diff --git a/sys/netinet/in.c b/sys/netinet/in.c index 0e283a7d099d..75ff1f5f3d68 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -1882,6 +1882,8 @@ in_domifdetach(struct ifnet *ifp, void *aux) { struct in_ifinfo *ii = (struct in_ifinfo *)aux; + MPASS(ifp->if_afdata[AF_INET] == NULL); + igmp_domifdetach(ifp); lltable_free(ii->ii_llt); free(ii, M_IFADDR); diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index a9e6c4eaa51b..be6233d8e4f8 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -2618,6 +2618,8 @@ in6_domifdetach(struct ifnet *ifp, void *aux) { struct in6_ifextra *ext = (struct in6_ifextra *)aux; + MPASS(ifp->if_afdata[AF_INET6] == NULL); + mld_domifdetach(ifp); scope6_ifdetach(ext->scope6_id); nd6_ifdetach(ifp, ext->nd_ifinfo); From nobody Thu Sep 4 01:51:52 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHMsj1QZlz66YgZ; Thu, 04 Sep 2025 01:51: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHMsj0qtTz3FDZ; Thu, 04 Sep 2025 01:51:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756950713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wMDsq9ui9BuHcmlxmXyE7Ge2Nt11ndV0LVKMU+nsDuI=; b=SiqZJPXTy67xa5yvZgSWzo/jfVa1ayTp9SZTOMQCn20hPgS3DIXCnZq3lUgeJuUbr6vVzO kABeHrwSwUXPcOEN1o2UPtzebGR8b33QyusBeb9AwoiqyiNl8j9DxkpbcgkeWgF292yfEZ 1kHmOr6X7/kvvWTKZxe1GGyYoSU7dafO29pc88B4RLcWdbGQx/8ZLxou4zCu9rcQ6Xq1rT a/EwlaNHw8tkjj8cqXoDjNGNzuNN/Tj21ocI7kQTal4atgfwdsKqUpdUrag5wLaYDFY9Wi dxJ7WIR1VZr1ZKsU444M0PiTv4/UZqu81l9U8+ceCt7OLTGAABPcG31z1sY+/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756950713; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wMDsq9ui9BuHcmlxmXyE7Ge2Nt11ndV0LVKMU+nsDuI=; b=tzYK19QjltHNAVXEnila9ykvM80NZHGyvhrHlXp+QaDWAPDVkI3D2f+AjebhLua3ILY6o5 6MC1n/2cbqefNn5Zi1Nwdcxr3qDH0S8pMlCrM9z8I6tk3iPHhxOkVS0bLWUXkwJnlcCVPK gfIMGiWFkn+/xImQhtohi9caRR2elD8mL7nskR2Ra4D0RqPv52trmuL4if1U/fyBTeTIEm VeV4/k9NCSWb2m0mkmNXFcNFb8c4ig7Imnf1NBC0TOSmBXRY3tNhPOAA7uuCPcCymjS58s XiBFfKcFGtbG7S7JxyPmvJnGcxF/8ISc6Z6mCC0D/uQNlIVmO12s4pocfI90jA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756950713; a=rsa-sha256; cv=none; b=hj7y4ez8kGutECOFSKswKsz/wa7pcdzvVSr6BDRxs82cWhg4Zrg+IXRUsY2YkAwvmv2OCn BDSYxvOMszSHG47KBFRqdJvQfVdtQKmEGMttfFHsMFTZoWIaI6ca+hXbaf0x4VpGAQV5vp +/5gjhj+dmDfYKuKMDDVYh0PZrzcSnj/cGC+yn+w5qwqyX2G49FGXzEIK0HTbTD1hMYRm9 5H0LgLF3waD4yypq1XYXSv+OwdJHqA3OvTD78YyIcKRzQD21K/oHnSoJVKObA0uMm3ee3t ERqswXBXblXyNM9mQrnjSbig0yLo8qyHl16dpT1Dk93k9z2T9CLWcOYIbqPjhA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHMsj09QLzhn4; Thu, 04 Sep 2025 01:51: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 5841pq7h084933; Thu, 4 Sep 2025 01:51:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5841pqCo084930; Thu, 4 Sep 2025 01:51:52 GMT (envelope-from git) Date: Thu, 4 Sep 2025 01:51:52 GMT Message-Id: <202509040151.5841pqCo084930@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: 1c52d525f064 - main - nfsd: Fix the NFSv4 Readdir operation for an empty ZFS dir List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rmacklem X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1c52d525f06411726d7755081f904de64749eb9b Auto-Submitted: auto-generated The branch main has been updated by rmacklem: URL: https://cgit.FreeBSD.org/src/commit/?id=1c52d525f06411726d7755081f904de64749eb9b commit 1c52d525f06411726d7755081f904de64749eb9b Author: Rick Macklem AuthorDate: 2025-09-04 01:48:52 +0000 Commit: Rick Macklem CommitDate: 2025-09-04 01:48:52 +0000 nfsd: Fix the NFSv4 Readdir operation for an empty ZFS dir Commit 9a3edc8 modified the behaviour of ZFS's VOP_READDIR() such that it will reply EINVAL for an offset past EOF on the directory. This exposed a latent bug in the NFSv4 Readdir code, which would attempt a Readdir with an offset beyond EOF for a directory that consists of only "." and "..". This happened because NFSv4 does not reply "." or ".." to the client and, after skipping over them, attempted another VOP_READDIR(). This patch fixes the problem by checking the eofflag for the case where all entries have been skipped over. Reviewed by: kib MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D52370 --- sys/fs/nfsserver/nfs_nfsdport.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c index b2966934f9b7..7040c4afb797 100644 --- a/sys/fs/nfsserver/nfs_nfsdport.c +++ b/sys/fs/nfsserver/nfs_nfsdport.c @@ -2607,6 +2607,7 @@ again: * rpc reply */ if (siz == 0) { +ateof: vput(vp); if (nd->nd_flag & ND_NFSV3) nfsrv_postopattr(nd, getret, &at); @@ -2648,6 +2649,8 @@ again: ncookies--; } if (cpos >= cend || ncookies == 0) { + if (eofflag != 0) + goto ateof; siz = fullsiz; toff = off; goto again; From nobody Thu Sep 4 02:09:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHNGN4Xk2z66ZdB; Thu, 04 Sep 2025 02:09: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHNGN26RHz3GhY; Thu, 04 Sep 2025 02:09:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756951788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5BqQrJTL1PNweVtO4+AY2eiWEAHq1A/XF6deokCSMfA=; b=bnbI6BJO8Qu6WYKoXd7iZnkmc48VOtIZCEINE3y5AGre4U7FsWDZo55ZRYvhLfNOz1BBG6 kGTuK8fIEHs3eWKCMWiNoTQRt5/jZn7xrOs1Vj68oFtTiUkE42x1eScwQu7O2Of9HG0ahR iLXOgE35g9MNNrjS624bP4lQ9XtWUU57vwd67Vog/MioHJICiyrvKQYv42mYLdJK19pOrx DXn7re9nGBcBb2MpSyiAeqZCa7Q4jx9KtL8KuI0JG+CQQtzBEeL1go84ODDrpzd6tgfNNk s1gs+3N8NdeQX8JlX631Y08hkJSh2npJQ56M+hMas5CeRBTni3hPFnuow0Hn3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756951788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5BqQrJTL1PNweVtO4+AY2eiWEAHq1A/XF6deokCSMfA=; b=AaEriVpbFpEsYxP267vSfGHpcgZrYrHhGb12/KYEz8ariDPKq9O/jRhjT6IngsRCjwSQ3F Yf1OXJBawsS53ibSmZj8vKNp3u2cOI8TP2osq3R1O/zLA8iMc4JQWM4XN/zex2ZeVtSy8q aeIPRXGre6Ttyh1uaEugQi4d266ia6MAuALFoDdF6AAywmX3bBiUE1QM5U8Rrr0/T0Nunr yvXVZ/J6YmUHW1g50biJAx20Y55UTEvsMicRGjYISC4NMFGziHAbrskz7y3FvWyt6tuyfE KtLgDaKoneb6FjDFC3QrqkREji4ULFZAXkVO+NUV+H7uLgC4SUsjDWCDlvzO1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756951788; a=rsa-sha256; cv=none; b=heqmkJ0tb9ViIh7NvHKu2hAaCb2GbtyQA+O68OrETElLEBGaFM12eKU6ZtCQkln3bOnR5N qNPF9pg1edfFQKT9XG0TIJlcFt9Z0tsr3gzWqtaZvw4QLxeXN9Cr/eNJO9ZllKL+pk4cJy poX8hfe4o/+dYt/Q6VJAtQi8qHNHU5fdX96B3HOJ6S77a0ajBw9TumGUSMJA/Oq44X9U/W EKaI7wRgRz0OUdFIUXXt535fGzYXKxTEPA1RyyeSrkDY2XoLV1tyf5/BRE1/8x2TUVv7i2 4lYmhNfDHq/Q+ZEMTzrQahVCpPZNl3IMo09MAqm9RvrDN/FjCDaeZVt3zLsv0g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHNGN16D3zk6l; Thu, 04 Sep 2025 02:09: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 58429lBv012257; Thu, 4 Sep 2025 02:09:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58429loV012254; Thu, 4 Sep 2025 02:09:47 GMT (envelope-from git) Date: Thu, 4 Sep 2025 02:09:47 GMT Message-Id: <202509040209.58429loV012254@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 6d33507ff9b8 - main - vfs: handle vfs_init() 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: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6d33507ff9b877f52516df00b012715b55d4e14f Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=6d33507ff9b877f52516df00b012715b55d4e14f commit 6d33507ff9b877f52516df00b012715b55d4e14f Author: Kyle Evans AuthorDate: 2025-09-04 02:08:51 +0000 Commit: Kyle Evans CommitDate: 2025-09-04 02:08:51 +0000 vfs: handle vfs_init() failures Most vfs_init implementations will not fail, with the notable current exception that tmpfs_subr_init() can fail to allocate a new swap pager type, in which case we probably do not want to proceed and keep it registered. linsysfs was a potential consumer, but we opted to go a different direction and move pseudofs init/deinit over to first mount and last mount instead. Reviewed by: fuz, kib Differential Revision: https://reviews.freebsd.org/D52037 --- sys/kern/vfs_init.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/sys/kern/vfs_init.c b/sys/kern/vfs_init.c index 93ac001af8ad..ceda770cb714 100644 --- a/sys/kern/vfs_init.c +++ b/sys/kern/vfs_init.c @@ -399,7 +399,7 @@ vfs_register(struct vfsconf *vfc) static int once; struct vfsconf *tvfc; uint32_t hashval; - int secondpass; + int error, prevmaxconf, secondpass; if (!once) { vattr_null(&va_null); @@ -417,6 +417,7 @@ vfs_register(struct vfsconf *vfc) return (EEXIST); } + prevmaxconf = maxvfsconf; if (vfs_typenumhash != 0) { /* * Calculate a hash on vfc_name to use for vfc_typenum. Unless @@ -509,16 +510,24 @@ vfs_register(struct vfsconf *vfc) vfc->vfc_vfsops = &vfsops_sigdefer; } - if (vfc->vfc_flags & VFCF_JAIL) - prison_add_vfs(vfc); - /* * Call init function for this VFS... */ if ((vfc->vfc_flags & VFCF_SBDRY) != 0) - vfc->vfc_vfsops_sd->vfs_init(vfc); + error = vfc->vfc_vfsops_sd->vfs_init(vfc); else - vfc->vfc_vfsops->vfs_init(vfc); + error = vfc->vfc_vfsops->vfs_init(vfc); + + if (error != 0) { + maxvfsconf = prevmaxconf; + TAILQ_REMOVE(&vfsconf, vfc, vfc_list); + vfsconf_unlock(); + return (error); + } + + if ((vfc->vfc_flags & VFCF_JAIL) != 0) + prison_add_vfs(vfc); + vfsconf_unlock(); /* From nobody Thu Sep 4 02:09:49 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHNGP4mqxz66Zv2; Thu, 04 Sep 2025 02:09: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHNGP2wY9z3GFd; Thu, 04 Sep 2025 02:09:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756951789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Y/Dtpyi01ds29duAy/0XAHmw/C0v46kvDnuUKhb/7A=; b=rP7S1/sFE8n3NcWQlfWQz4RImq9FclHtjmn82Dai3xVe+hzYm191XGdhvd7VYbwV6CH/oe N0jpk8sKo720MsIHTwYGk0ALTlsZd02ZjmJnNugzsLtRbFVNV0h+9wpiUvc6l4/GzfnUh+ 4eq2sa5+dtm/QH6vWwGLeH8NkZc8vfqcwPCGPRTQE1lT74njcI4t928/EkWDbPk5VXyB0x uNllCWSXD8wBBp0jrfO4UMVmbTg717yqM5fRfCgo+wE+x/ShwEtJc/mlT18WE4wt2rXpdJ 7OEhC5hcusk1wP9ffRKqUAnZVpgZNArvnP0fQ/xx09OnR0TPH5grkYLCaj6Xlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756951789; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6Y/Dtpyi01ds29duAy/0XAHmw/C0v46kvDnuUKhb/7A=; b=YaBrfloOpGg98hl+eg/VWg/k+/+dYZQh4zAvW3Ko9f3HQfKt2Cu3Ln2DUN026MMWUyNpIU qO73GXSkRaWmb86wyoC3lzCjvqZuFjrgmPqadtWHfscacscraSI9X0+d8Nquej7AY+OZhE vBv0O2C3keeUFA+wuZZgw7u8weYeKkNyOTz5qcdktMmpoxBiYRmSU8zRtKYXkU2GcBvLrF IGdkGaZrPMUxaJkv+t2ouWu6BDfWc9a04oPEj+4pMNoRm7l4Gp5HtDm5/jalwt+IkFwW/h kopSHaVDpUCJ/0aySPUkSlHkD/YMXkR8soZXckTGsxz30zoOwqBwz/DKrm5APg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756951789; a=rsa-sha256; cv=none; b=Zn+4TX6jm8Kzli62Mx7b/TLlFVV7iEsk/H/dSlorNiMCwlUjFQHDwsBNKYGCDjmxtBS/Mm arnPrhs/oQavZkl8uJSUB3i74PMovg0s1350RLVk4u+vtKTN8NpX6VqKi0RWPF/5wV590m rlqHqTxR0T7rQx2BKzcUKlOSHGOmTd1EYd7RBtXZNFyWYqBVkdzL2qp+D/5q/aOZZ+rb+u aOeP2b62NdqmE6eNdt7oKTjRITIrv4qWpA7CffFmFj/cL7RdV34k1INw1i4GkMCsLPlEGt TONCAJi5y3+4azzWdCp7rHGfi26VS+r+vgHHv3h/dFmcREecz259QGTPmO13kw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHNGP1QQtzjbs; Thu, 04 Sep 2025 02:09:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 58429nnx012290; Thu, 4 Sep 2025 02:09:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58429nGs012287; Thu, 4 Sep 2025 02:09:49 GMT (envelope-from git) Date: Thu, 4 Sep 2025 02:09:49 GMT Message-Id: <202509040209.58429nGs012287@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: cc70c7989bfb - main - linsysfs: error check device-directory creation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cc70c7989bfbc528806a3abce2194f739089286b Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=cc70c7989bfbc528806a3abce2194f739089286b commit cc70c7989bfbc528806a3abce2194f739089286b Author: Kyle Evans AuthorDate: 2025-09-04 02:08:51 +0000 Commit: Kyle Evans CommitDate: 2025-09-04 02:08:51 +0000 linsysfs: error check device-directory creation This one in particular is ripe with opportunities to trigger a duplicate node error in pfs_create_dir(), so we do actually want to error-check it. The rest, more or less, should be expected not to fail. We'll propagate the error from pfs_create_dir() up through linsysfs_run_bus and complain about the device node that caused the error. Note that we avoid failing vfs_init() since a partially-constructed linsysfs with missing devices is probably more useful than missing linsysfs entirely. While we're here, convert two malloc() that weren't being error checked to M_WAITOK -- we already wait in the rest of the function, might as well do the same here. Add a missing newline to the pseudofs error mesage. Reviewed by: fuz, kib Differential Revision: https://reviews.freebsd.org/D52038 --- sys/compat/linsysfs/linsysfs.c | 46 +++++++++++++++++++++++++++++++++--------- sys/fs/pseudofs/pseudofs.c | 2 +- 2 files changed, 38 insertions(+), 10 deletions(-) diff --git a/sys/compat/linsysfs/linsysfs.c b/sys/compat/linsysfs/linsysfs.c index 7f70221b420d..b70cb43d0f9a 100644 --- a/sys/compat/linsysfs/linsysfs.c +++ b/sys/compat/linsysfs/linsysfs.c @@ -267,6 +267,8 @@ linsysfs_run_bus(device_t dev, struct pfs_node *dir, struct pfs_node *scsi, struct pci_devinfo *dinfo; char *device, *host, *new_path, *devname; + children = NULL; + device = host = NULL; new_path = path; devname = malloc(16, M_TEMP, M_WAITOK); @@ -294,6 +296,10 @@ linsysfs_run_bus(device_t dev, struct pfs_node *dir, struct pfs_node *scsi, strcat(new_path, device); dir = pfs_create_dir(dir, device, NULL, NULL, NULL, 0); + if (dir == NULL) { + error = EEXIST; + goto out; + } cur_file = pfs_create_file(dir, "vendor", &linsysfs_fill_vendor, NULL, NULL, NULL, PFS_RD); @@ -338,10 +344,10 @@ linsysfs_run_bus(device_t dev, struct pfs_node *dir, struct pfs_node *scsi, NULL, NULL, NULL, 0); scsi_host = malloc(sizeof( struct scsi_host_queue), - M_DEVBUF, M_NOWAIT); + M_DEVBUF, M_WAITOK); scsi_host->path = malloc( strlen(new_path) + 1, - M_DEVBUF, M_NOWAIT); + M_DEVBUF, M_WAITOK); scsi_host->path[0] = '\000'; bcopy(new_path, scsi_host->path, strlen(new_path) + 1); @@ -360,8 +366,6 @@ linsysfs_run_bus(device_t dev, struct pfs_node *dir, struct pfs_node *scsi, TAILQ_INSERT_TAIL(&scsi_host_q, scsi_host, scsi_host_next); } - free(device, M_TEMP); - free(host, M_TEMP); } } @@ -401,17 +405,37 @@ linsysfs_run_bus(device_t dev, struct pfs_node *dir, struct pfs_node *scsi, error = device_get_children(dev, &children, &nchildren); if (error == 0) { - for (i = 0; i < nchildren; i++) - if (children[i]) - linsysfs_run_bus(children[i], dir, scsi, + for (i = 0; i < nchildren; i++) { + if (children[i]) { + error = linsysfs_run_bus(children[i], dir, scsi, chardev, drm, new_path, prefix); - free(children, M_TEMP); + if (error != 0) { + printf( + "linsysfs_run_bus: %s omitted from sysfs tree, error %d\n", + device_get_nameunit(children[i]), + error); + } + } + } + + /* + * We override the error to avoid cascading failures; the + * innermost device that failed in a tree is probably the most + * significant one for diagnostics, its parents would be noise. + */ + error = 0; } + +out: + free(host, M_TEMP); + free(device, M_TEMP); + if (children != NULL) + free(children, M_TEMP); if (new_path != path) free(new_path, M_TEMP); free(devname, M_TEMP); - return (1); + return (error); } /* @@ -509,6 +533,10 @@ linsysfs_init(PFS_INIT_ARGS) return (0); } + /* + * This assumes that the root node is unlikely to error out in + * linsysfs_run_bus, which may or may not be true. + */ dev = devclass_get_device(devclass, 0); linsysfs_run_bus(dev, pci, scsi, chardev, drm, "/pci0000:00", "0000"); diff --git a/sys/fs/pseudofs/pseudofs.c b/sys/fs/pseudofs/pseudofs.c index ef45f96a6192..cc34489b92f2 100644 --- a/sys/fs/pseudofs/pseudofs.c +++ b/sys/fs/pseudofs/pseudofs.c @@ -133,7 +133,7 @@ pfs_add_node(struct pfs_node *parent, struct pfs_node *pn) for (iter = parent->pn_nodes; iter != NULL; iter = iter->pn_next) { if (strcmp(pn->pn_name, iter->pn_name) != 0) continue; - printf("pfs_add_node: homonymous siblings: '%s/%s' type %d", + printf("pfs_add_node: homonymous siblings: '%s/%s' type %d\n", parent->pn_name, pn->pn_name, pn->pn_type); /* Do not detach, because we are not yet attached. */ pn->pn_parent = NULL; From nobody Thu Sep 4 02:09:50 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHNGQ40fsz66Zgt; Thu, 04 Sep 2025 02:09: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHNGQ2ZYRz3GXh; Thu, 04 Sep 2025 02:09:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756951790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5OXIUTKksC/yeUeAh0YxHTJAPkii7WqLo0+kx0g0tbc=; b=CfMtGISFYhDC6bf/NGXdMBgfM+p12fpq7YQgPC2JnHHj0xtXSmbjqnhF3OWD28Shw9atSB 2R3S3PdqLdnWdRGZ3hNkYOLASImLCGON3twMRU0Sroiaj2iZ6m2ratsysLOULGB1xPXmIF lNJpA+VpOvBacS1f8ix62kFtpKwRYnXp4M78LV9SbFuHr71ePJpEf1qlHPSUIX+Oa8lYVd kWM9B0NQockfQCeaRofIEzxhjD2w0jAFW+eeJZiQ+MbLGnlWHiv3RS2vzlhmZtjdeEmNmD 4Mz2U/1uo3FLN1iUQw/fDV1VfL1lZb/W+UNnjG4xoIjr3uLDelj4cwzWxxo54A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756951790; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5OXIUTKksC/yeUeAh0YxHTJAPkii7WqLo0+kx0g0tbc=; b=lAL7df1dpyarbYa/pnHF8kuiym++Dnhgr6RgLg/wHU2OhEQJq5ubgZeoMOa6uDD2lBzpaX d8RfJk5LG5E1xDTw8hdsQSP5fJD9OvVJSkZrr3vfMOUFJwF7G3Q0+815BvkOLhOwTcJMXd BSonVzIYG2GfuguS5KexqQTxOdMDUNik5R9I1PQUzKJhI4N8dAllSly2LQS/ZHnIdC7HrD zb4l1ESVP8pv3R6LMW62Jrp5Q6akAaCgXb8Q1fWkKaK1GEWmirTGmvkujcNNRUFF8OznGA TrOyog9R7CgiIZ6rDHdehHbCYV/pM7WEorp9I0m8uH8uOOtph+oajPUVbal4Tg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756951790; a=rsa-sha256; cv=none; b=yypfzG1DiX98bW+SmHgmukaZobbR5hoD6NW95M+GwQs38IqqLpjSFR6CvMFmA08GtPUh/l JhNqtq06UzScaTHI8yCnBZb5ysxf2ljSWCPLlIFOraPdbuV6R1+wMzqjtWnjUKELQzGYHj +y0Y60RQnGAP8/z5QgM+CaSIuU4UQpcP2IS8NvXix6T9K60o0GqaO4LKCfMPx4daCMaig+ TGmcI8ABrqVZ/ZsyYfqOz60NkhvjRkPrDM+/34JzMmSY9ZTs06LXLGl/NdhX1L+okz8JEZ m/J3ZOIWpQFxIltP1oeCvtWjKTARrZNLyIAXSuveeZF4Jkwpf2c7HxFlMfpfSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHNGQ22xFzjtB; Thu, 04 Sep 2025 02:09: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 58429oxf012324; Thu, 4 Sep 2025 02:09:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58429oO9012321; Thu, 4 Sep 2025 02:09:50 GMT (envelope-from git) Date: Thu, 4 Sep 2025 02:09:50 GMT Message-Id: <202509040209.58429oO9012321@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: b9746f6185c7 - main - pseudofs: don't leak the unrhdr on error List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b9746f6185c708ebadc9a8b1e640c1deab52b161 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=b9746f6185c708ebadc9a8b1e640c1deab52b161 commit b9746f6185c708ebadc9a8b1e640c1deab52b161 Author: Kyle Evans AuthorDate: 2025-09-04 02:08:52 +0000 Commit: Kyle Evans CommitDate: 2025-09-04 02:08:52 +0000 pseudofs: don't leak the unrhdr on error Reviewed by: des, kib Differential Revision: https://reviews.freebsd.org/D52155 --- sys/fs/pseudofs/pseudofs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/fs/pseudofs/pseudofs.c b/sys/fs/pseudofs/pseudofs.c index cc34489b92f2..efeeb57e6448 100644 --- a/sys/fs/pseudofs/pseudofs.c +++ b/sys/fs/pseudofs/pseudofs.c @@ -475,6 +475,7 @@ pfs_init(struct pfs_info *pi, struct vfsconf *vfc) if (error) { pfs_destroy(root); pi->pi_root = NULL; + pfs_fileno_uninit(pi); return (error); } From nobody Thu Sep 4 02:09:51 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHNGR53xpz66Zgw; Thu, 04 Sep 2025 02:09: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHNGR3gR1z3Gct; Thu, 04 Sep 2025 02:09:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756951791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CUPXYax615U13fFXVHzXw4tTQ0ZvMEIhmCVCI7MAUjU=; b=X1YbtzEa5uaG/tsSvSnvduz0SFMD12HhSDdsxdsdoYcQjBvE7XMPIPdNRa5//ZTkQX6ed4 +TUw0bropU0Gxo2Hjky2ccTPSf5aizXo9Jxzte7kaNKwiw2NShKXPLF018ztKIAjjTNY75 xBPMuwBapL0AHBs1aUFa1uOVcULysQ60sqJrgXQOFLnjRX5zKpmJnlKwZEG3EzvIuGKun9 75wWu8jIzoy1p+si9Fdr3KCJwwKRxrbITaUImrTGT9p7xbbmIfXxCfHPVVW6whEcHk7BlU Xl/c2R5JP0RyjKw0AM4HY7EZX+J7RVv+imi4STUTRz6jCpyVfM8tNOynPxgB4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756951791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=CUPXYax615U13fFXVHzXw4tTQ0ZvMEIhmCVCI7MAUjU=; b=U8xdAoyfr0u23jg9j2aDwjNFBVUQDtmwiBI4KoSD8hWJ85VoYT2CdPKcph1mt+eWPirqCd CtWChefAgZhJ/cfvKm7s6wrFALmxppREma8mnf6d6i9CRCX+jOgugDjMAGo0+nuvbrfkpB 7+r5lNxQRizfJZfB0ipzzJFVQZFhTsv66+76dPEyfecIHOHxYbDBk/4959rS6zIVPq+lRT OExN/WzHXFCYxfM1N5x2wX1SG8IgkuEZkBvp/yLaUjOkEJLbaOv9u37eBvCiCCoDTZ4qcS em5UoPOQldhYIqh3He9ySKc+yNjvUHQOB/BgD20xeLQG3n3FIUJS0Lydn11iBg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756951791; a=rsa-sha256; cv=none; b=WF/oK7CEwAMOIuX9P9j8M6OM1B7A5jJTcxO9ntlfKT9kHRbOVUM2CK6l9uzxwZj/Fs6mqt FlF7TEcaRUJmMituth2wsi35P0UrS9xQEiKQNWqtPDjLXiYrGs+vIdhV3VeP7nLqI3MXA5 0xUaPjL25B9o3HMDi2AlOdmxOfDFbPYcDd5EUG18qObayI/aEdlOzlwKGeMSkcpLTN4nve R+ZZtnwQu0B9J7FYpwZZWHmDGW0MFr0POTYrUIkEojsZLv2CAm8U1ll2mjFrBz8rt69nTM Oa99NjBBYRraqNSuMz9ZgLQKoS8jFuYAii7hvJ5xlWiFbVOPJluGKNbB0WIlVQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHNGR30kMzjHB; Thu, 04 Sep 2025 02:09: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 58429ppC012370; Thu, 4 Sep 2025 02:09:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58429pWl012367; Thu, 4 Sep 2025 02:09:51 GMT (envelope-from git) Date: Thu, 4 Sep 2025 02:09:51 GMT Message-Id: <202509040209.58429pWl012367@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: 65059dd2b6f9 - main - pseudofs: defer initialization until first mount List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65059dd2b6f94e570acc645be82b8ea056316459 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=65059dd2b6f94e570acc645be82b8ea056316459 commit 65059dd2b6f94e570acc645be82b8ea056316459 Author: Kyle Evans AuthorDate: 2025-09-04 02:08:52 +0000 Commit: Kyle Evans CommitDate: 2025-09-04 02:08:52 +0000 pseudofs: defer initialization until first mount Currently, pseudofs all get fully constructed when the module is loaded and vfs registered, but this is pretty unnecessary. Just loading the fs doesn't mean that it will be used so we're adding overhead and risk[0] by fully initializing these at the start, along with committing resources that may not be used. Deferring pfs_init() allows us to reduce the risk of simply loading the module causing problems that are harder to avoid, and existing pseudo filesystems don't really care: configuration that is context-sensitive is generally deferred to access-time with PFS_PROCDEP. To preserve symmetry, we'll also teardown our pseudofs on last unmount, which leaves us with a vfs_uninit() implementation that simply destroys our lock and prints a message. [0] Example of such being recent bugs in linsysfs, which caused a panic as soon as the module was loaded because we're eager to set it up. Reviewed by: des (previous version), kib Differential Revision: https://reviews.freebsd.org/D52156 --- sys/fs/pseudofs/pseudofs.c | 71 ++++++++++++++++++++++++++++++++++++++----- sys/fs/pseudofs/pseudofs.h | 33 +++++++++++--------- sys/modules/pseudofs/Makefile | 4 +-- 3 files changed, 84 insertions(+), 24 deletions(-) diff --git a/sys/fs/pseudofs/pseudofs.c b/sys/fs/pseudofs/pseudofs.c index efeeb57e6448..20cb87c6c6d5 100644 --- a/sys/fs/pseudofs/pseudofs.c +++ b/sys/fs/pseudofs/pseudofs.c @@ -40,13 +40,18 @@ #include #include #include +#include #include +#include #include #include #include #include +static int pfs_setup(struct pfs_info *pi, struct vfsconf *vfc); +static int pfs_teardown(struct pfs_info *pi, struct vfsconf *vfc); + static MALLOC_DEFINE(M_PFSNODES, "pfs_nodes", "pseudofs nodes"); SYSCTL_NODE(_vfs, OID_AUTO, pfs, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, @@ -382,10 +387,20 @@ int pfs_mount(struct pfs_info *pi, struct mount *mp) { struct statfs *sbp; + int error = 0; if (mp->mnt_flag & MNT_UPDATE) return (EOPNOTSUPP); + sx_xlock(&pi->pi_mountlock); + if (pi->pi_root == NULL) + error = pfs_setup(pi, mp->mnt_vfc); + if (error == 0) + refcount_acquire(&pi->pi_mounts); + sx_xunlock(&pi->pi_mountlock); + if (error != 0) + return (error); + MNT_ILOCK(mp); mp->mnt_flag |= MNT_LOCAL; mp->mnt_kern_flag |= MNTK_NOMSYNC; @@ -424,10 +439,23 @@ pfs_cmount(struct mntarg *ma, void *data, uint64_t flags) int pfs_unmount(struct mount *mp, int mntflags) { + struct pfs_info *pi; int error; error = vflush(mp, 0, (mntflags & MNT_FORCE) ? FORCECLOSE : 0, curthread); + if (error != 0) + return (error); + + pi = (struct pfs_info *)mp->mnt_data; + sx_xlock(&pi->pi_mountlock); + if (!refcount_release_if_not_last(&pi->pi_mounts)) { + error = pfs_teardown(pi, mp->mnt_vfc); + if (error == 0) + refcount_release(&pi->pi_mounts); + } + sx_xunlock(&pi->pi_mountlock); + return (error); } @@ -454,10 +482,35 @@ pfs_statfs(struct mount *mp, struct statfs *sbp) } /* - * Initialize a pseudofs instance + * Initialize pseudofs synchronization bits. These will generally be needed + * in order to avoid problems with parallel mounting of pseudofs consumers. */ int -pfs_init(struct pfs_info *pi, struct vfsconf *vfc) +pfs_vfsinit(struct pfs_info *pi, struct vfsconf *vfc) +{ + + sx_init(&pi->pi_mountlock, "pfs mountlock"); + refcount_init(&pi->pi_mounts, 0); + return (0); +} + +int +pfs_vfsuninit(struct pfs_info *pi, struct vfsconf *vfc) +{ + + MPASS(pi->pi_root == NULL); + sx_destroy(&pi->pi_mountlock); + + if (bootverbose) + printf("%s unregistered\n", pi->pi_name); + return (0); +} + +/* + * Initialize a pseudofs instance + */ +static int +pfs_setup(struct pfs_info *pi, struct vfsconf *vfc) { struct pfs_node *root; int error; @@ -487,18 +540,20 @@ pfs_init(struct pfs_info *pi, struct vfsconf *vfc) /* * Destroy a pseudofs instance */ -int -pfs_uninit(struct pfs_info *pi, struct vfsconf *vfc) +static int +pfs_teardown(struct pfs_info *pi, struct vfsconf *vfc) { int error; + MPASS(pi->pi_root != NULL); + error = (pi->pi_uninit)(pi, vfc); + if (error != 0) + return (error); + pfs_destroy(pi->pi_root); pi->pi_root = NULL; pfs_fileno_uninit(pi); - if (bootverbose) - printf("%s unregistered\n", pi->pi_name); - error = (pi->pi_uninit)(pi, vfc); - return (error); + return (0); } /* diff --git a/sys/fs/pseudofs/pseudofs.h b/sys/fs/pseudofs/pseudofs.h index c60dd7b339d1..461a1d2402e4 100644 --- a/sys/fs/pseudofs/pseudofs.h +++ b/sys/fs/pseudofs/pseudofs.h @@ -31,6 +31,7 @@ #ifndef _PSEUDOFS_H_INCLUDED #define _PSEUDOFS_H_INCLUDED +#include #include /* @@ -188,9 +189,11 @@ typedef int (*pfs_destroy_t)(PFS_DESTROY_ARGS); /* * pfs_info: describes a pseudofs instance * - * The pi_mutex is only used to avoid using the global subr_unit lock - * for unrhdr. The rest of struct pfs_info is only modified during - * vfs_init() and vfs_uninit() of the consumer filesystem. + * The pi_mutex is used to avoid using the global subr_unit lock for unrhdr, and + * the pi_mountlock is used to coordinate initialization of the consumer + * filesystem on first mount. The rest of struct pfs_info is only modified + * during pi_init() and pi_uninit() of the consumer filesystem, which are fully + * serialized. */ struct pfs_info { char pi_name[PFS_FSNAMELEN]; @@ -198,9 +201,11 @@ struct pfs_info { pfs_init_t pi_uninit; /* members below this line are initialized at run time */ + struct sx pi_mountlock; struct pfs_node *pi_root; struct mtx pi_mutex; struct unrhdr *pi_unrhdr; + u_int pi_mounts; }; /* @@ -249,8 +254,8 @@ int pfs_unmount (struct mount *mp, int mntflags); int pfs_root (struct mount *mp, int flags, struct vnode **vpp); int pfs_statfs (struct mount *mp, struct statfs *sbp); -int pfs_init (struct pfs_info *pi, struct vfsconf *vfc); -int pfs_uninit (struct pfs_info *pi, struct vfsconf *vfc); +int pfs_vfsinit (struct pfs_info *pi, struct vfsconf *vfc); +int pfs_vfsuninit (struct pfs_info *pi, struct vfsconf *vfc); /* * Directory structure construction and manipulation @@ -276,9 +281,9 @@ int pfs_destroy (struct pfs_node *pn); #define PSEUDOFS(name, version, flags) \ \ static struct pfs_info name##_info = { \ - #name, \ - name##_init, \ - name##_uninit, \ + .pi_name = #name, \ + .pi_init = name##_init, \ + .pi_uninit = name##_uninit, \ }; \ \ static int \ @@ -287,22 +292,22 @@ _##name##_mount(struct mount *mp) { \ } \ \ static int \ -_##name##_init(struct vfsconf *vfc) { \ - return (pfs_init(&name##_info, vfc)); \ +_##name##_vfsinit(struct vfsconf *vfc) { \ + return (pfs_vfsinit(&name##_info, vfc)); \ } \ \ static int \ -_##name##_uninit(struct vfsconf *vfc) { \ - return (pfs_uninit(&name##_info, vfc)); \ +_##name##_vfsuninit(struct vfsconf *vfc) { \ + return (pfs_vfsuninit(&name##_info, vfc)); \ } \ \ static struct vfsops name##_vfsops = { \ .vfs_cmount = pfs_cmount, \ - .vfs_init = _##name##_init, \ + .vfs_init = _##name##_vfsinit, \ .vfs_mount = _##name##_mount, \ .vfs_root = pfs_root, \ .vfs_statfs = pfs_statfs, \ - .vfs_uninit = _##name##_uninit, \ + .vfs_uninit = _##name##_vfsuninit, \ .vfs_unmount = pfs_unmount, \ }; \ VFS_SET(name##_vfsops, name, VFCF_SYNTHETIC | flags); \ diff --git a/sys/modules/pseudofs/Makefile b/sys/modules/pseudofs/Makefile index cb92b8912c86..3928c950ab70 100644 --- a/sys/modules/pseudofs/Makefile +++ b/sys/modules/pseudofs/Makefile @@ -13,8 +13,8 @@ EXPORT_SYMS= pfs_cmount \ pfs_unmount \ pfs_root \ pfs_statfs \ - pfs_init \ - pfs_uninit \ + pfs_vfsinit \ + pfs_vfsuninit \ pfs_create_dir \ pfs_create_file \ pfs_create_link \ From nobody Thu Sep 4 02:09:52 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHNGS6J0bz66ZxN; Thu, 04 Sep 2025 02:09: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHNGS4hLzz3Gl7; Thu, 04 Sep 2025 02:09:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756951792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mgmsWWX+Mwx/i4q1N8NSJBlb1iXEMGCfitJtLSMTNbQ=; b=MFlIG1o5WIPz0SWVmz2uzSu46lYcRHtegyYnNXSHV6GjqSvazbHTrFQXxUxUFINL9o5KG9 +BVQZLyKB9BfifFyYaUKuuQITfCTsnJ3Ulvje6ZEoKy61wMH6D0Nxerd6b5FFtjvxgW2HC XvE3ymLLokhjfly64zLmh3K+JOYfr4Vn/pPu7Pw5SUJeCQ5y4Q22k/GDgAP8FjCVFyFp7o Y+xtCLQwCVbn2jE7dNGGAB5iRLbt6uCrJD20H+OgoLnL+rbnxj/3fUTrrgsGve2J7GTZym Hu+aseLATUtTX+SmOWiyuExrkDfFKfb4Mx/5WcDxJIRiCQwuCRTSXY/7attrFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756951792; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mgmsWWX+Mwx/i4q1N8NSJBlb1iXEMGCfitJtLSMTNbQ=; b=RttQPFutHIkrHRIgxKuCBcZpSzn+cPHwDwM6UKpFKAMNRzyuUpZUlAo7SWaIx6G/nT70RX //atBZJ5mOlz+Yqk/M6I2Wl45dg1FNQXNDSzWj+jbczYBXdJ2hb4BlKxapHz55rMv1X2Wr 9D9tHCC63z5UdatLGXVLIFuT0s21CgJBIe+9Yn2+ZmAkvQpvfk7FfgWStbsTDCTYumED++ 90dEGqKb7WPnAJ9Pxe+KJLqn5JaEoDcI2miPyW/Bpg6UjTGd+C9pHCGIF7Q6Y6uE2TqcOr sgAdXESoo0plL9QTZe4z6ub1kWtVLtcX5nTvNqnIzxG3dZ6t+jQsfGYKAzC+vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756951792; a=rsa-sha256; cv=none; b=RZrz1ld80Izxp6Ue0Cx9yZA54XV8WDFC4PayxZFXF0jDajc7bUW5s+Ejf9XGHwfELIeOo2 /LN9j/cra2U82YpJiPqWP8FyHM1QLgqnhQ7swQyd8Y+Ke4MK9t6Wc7b8ey0AFGd25dlho+ ii5Bepy6mgB9RWiQ9QFqcpt45t3SK596IcZ8UlegweuzNsgSJvEC4VIfELjuJIL83t6Ww8 loW4MiKMlapPYT3c0EG2tJ3TcCZsHINFpqcwD2zIt3FCY0C46DKjlHzBQ1dOv2DAKe1RZ8 LOwSLqltYPjYHpvCsgjzRUFRrDPCsdw3pRjflmPl1tnGITfpRKFewuteapiu0Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHNGS3lSBzjtC; Thu, 04 Sep 2025 02:09: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 58429qnG012405; Thu, 4 Sep 2025 02:09:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58429qZY012402; Thu, 4 Sep 2025 02:09:52 GMT (envelope-from git) Date: Thu, 4 Sep 2025 02:09:52 GMT Message-Id: <202509040209.58429qZY012402@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: a2f08d0ddc29 - main - pseudofs: return errors from pfs_create_*() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a2f08d0ddc29e4da15f614bdb6a5072b3fd6332c Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=a2f08d0ddc29e4da15f614bdb6a5072b3fd6332c commit a2f08d0ddc29e4da15f614bdb6a5072b3fd6332c Author: Kyle Evans AuthorDate: 2025-09-04 02:08:52 +0000 Commit: Kyle Evans CommitDate: 2025-09-04 02:08:52 +0000 pseudofs: return errors from pfs_create_*() In D52038, we kind of guess at the reason that pfs_create_dir() failed, which isn't great: it could be EEXISTS, or it could even be ENOMEM. Change the pfs_create_*() interfaces to return an error and use a double pointer to return the new node as requested. Outside of the changes in sys/fs/pseudofs, this diff is the result of running the added coccinelle script against in-tree pseudofs and fixing all of the style(9) violations that spatch added. We set *opn to NULL in the failure cases to avoid breaking callers that did actually error-check their results, since the cocci patch does not attempt to handle that in any way. Reviewed by: des (previous version), kib Differential Revision: https://reviews.freebsd.org/D52157 --- sys/compat/lindebugfs/lindebugfs.c | 8 +- sys/compat/linprocfs/linprocfs.c | 256 ++++++++++++++++----------------- sys/compat/linsysfs/linsysfs.c | 119 +++++++-------- sys/compat/linsysfs/linsysfs_net.c | 24 ++-- sys/fs/procfs/procfs.c | 68 ++++----- sys/fs/pseudofs/pseudofs.c | 66 ++++++--- sys/fs/pseudofs/pseudofs.h | 19 +-- tools/coccinelle/pseudofs-create.cocci | 35 +++++ 8 files changed, 327 insertions(+), 268 deletions(-) diff --git a/sys/compat/lindebugfs/lindebugfs.c b/sys/compat/lindebugfs/lindebugfs.c index 50f9377ffec3..8cddc6f390bc 100644 --- a/sys/compat/lindebugfs/lindebugfs.c +++ b/sys/compat/lindebugfs/lindebugfs.c @@ -206,7 +206,7 @@ debugfs_create_file(const char *name, umode_t mode, pnode = debugfs_root; flags = fops->write ? PFS_RDWR : PFS_RD; - dnode->d_pfs_node = pfs_create_file(pnode, name, debugfs_fill, + pfs_create_file(pnode, &dnode->d_pfs_node, name, debugfs_fill, debugfs_attr, NULL, debugfs_destroy, flags | PFS_NOWAIT); if (dnode->d_pfs_node == NULL) { free(dm, M_DFSINT); @@ -283,7 +283,8 @@ debugfs_create_dir(const char *name, struct dentry *parent) else pnode = debugfs_root; - dnode->d_pfs_node = pfs_create_dir(pnode, name, debugfs_attr, NULL, debugfs_destroy, PFS_RD | PFS_NOWAIT); + pfs_create_dir(pnode, &dnode->d_pfs_node, name, debugfs_attr, NULL, + debugfs_destroy, PFS_RD | PFS_NOWAIT); if (dnode->d_pfs_node == NULL) { free(dm, M_DFSINT); return (NULL); @@ -316,7 +317,8 @@ debugfs_create_symlink(const char *name, struct dentry *parent, else pnode = debugfs_root; - dnode->d_pfs_node = pfs_create_link(pnode, name, &debugfs_fill_data, NULL, NULL, NULL, PFS_NOWAIT); + pfs_create_link(pnode, &dnode->d_pfs_node, name, &debugfs_fill_data, + NULL, NULL, NULL, PFS_NOWAIT); if (dnode->d_pfs_node == NULL) goto fail; dnode->d_pfs_node->pn_data = dm; diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index 1c6d64d6b8bc..95b212be1306 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -2320,165 +2320,165 @@ linprocfs_init(PFS_INIT_ARGS) root = pi->pi_root; /* /proc/... */ - pfs_create_file(root, "cmdline", &linprocfs_docmdline, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "cpuinfo", &linprocfs_docpuinfo, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "devices", &linprocfs_dodevices, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "filesystems", &linprocfs_dofilesystems, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "loadavg", &linprocfs_doloadavg, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "meminfo", &linprocfs_domeminfo, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "modules", &linprocfs_domodules, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "mounts", &linprocfs_domtab, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "mtab", &linprocfs_domtab, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "partitions", &linprocfs_dopartitions, - NULL, NULL, NULL, PFS_RD); - pfs_create_link(root, "self", &procfs_docurproc, - NULL, NULL, NULL, 0); - pfs_create_file(root, "stat", &linprocfs_dostat, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "swaps", &linprocfs_doswaps, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "uptime", &linprocfs_douptime, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(root, "version", &linprocfs_doversion, + pfs_create_file(root, NULL, "cmdline", &linprocfs_docmdline, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(root, NULL, "cpuinfo", &linprocfs_docpuinfo, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(root, NULL, "devices", &linprocfs_dodevices, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(root, NULL, "filesystems", &linprocfs_dofilesystems, NULL, NULL, NULL, PFS_RD); + pfs_create_file(root, NULL, "loadavg", &linprocfs_doloadavg, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(root, NULL, "meminfo", &linprocfs_domeminfo, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(root, NULL, "modules", &linprocfs_domodules, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(root, NULL, "mounts", &linprocfs_domtab, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(root, NULL, "mtab", &linprocfs_domtab, NULL, NULL, NULL, + PFS_RD); + pfs_create_file(root, NULL, "partitions", &linprocfs_dopartitions, NULL, + NULL, NULL, PFS_RD); + pfs_create_link(root, NULL, "self", &procfs_docurproc, NULL, NULL, NULL, + 0); + pfs_create_file(root, NULL, "stat", &linprocfs_dostat, NULL, NULL, NULL, + PFS_RD); + pfs_create_file(root, NULL, "swaps", &linprocfs_doswaps, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(root, NULL, "uptime", &linprocfs_douptime, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(root, NULL, "version", &linprocfs_doversion, NULL, NULL, + NULL, PFS_RD); /* /proc/bus/... */ - dir = pfs_create_dir(root, "bus", NULL, NULL, NULL, 0); - dir = pfs_create_dir(dir, "pci", NULL, NULL, NULL, 0); - dir = pfs_create_dir(dir, "devices", NULL, NULL, NULL, 0); + pfs_create_dir(root, &dir, "bus", NULL, NULL, NULL, 0); + pfs_create_dir(dir, &dir, "pci", NULL, NULL, NULL, 0); + pfs_create_dir(dir, &dir, "devices", NULL, NULL, NULL, 0); /* /proc/net/... */ - dir = pfs_create_dir(root, "net", NULL, NULL, NULL, 0); - pfs_create_file(dir, "dev", &linprocfs_donetdev, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "route", &linprocfs_donetroute, - NULL, NULL, NULL, PFS_RD); + pfs_create_dir(root, &dir, "net", NULL, NULL, NULL, 0); + pfs_create_file(dir, NULL, "dev", &linprocfs_donetdev, NULL, NULL, NULL, + PFS_RD); + pfs_create_file(dir, NULL, "route", &linprocfs_donetroute, NULL, NULL, + NULL, PFS_RD); /* /proc//... */ - dir = pfs_create_dir(root, "pid", NULL, NULL, NULL, PFS_PROCDEP); - pfs_create_file(dir, "cmdline", &linprocfs_doproccmdline, - NULL, NULL, NULL, PFS_RD); - pfs_create_link(dir, "cwd", &linprocfs_doproccwd, - NULL, NULL, NULL, 0); - pfs_create_file(dir, "environ", &linprocfs_doprocenviron, - NULL, &procfs_candebug, NULL, PFS_RD); - pfs_create_link(dir, "exe", &procfs_doprocfile, - NULL, &procfs_notsystem, NULL, 0); - pfs_create_file(dir, "maps", &linprocfs_doprocmaps, - NULL, NULL, NULL, PFS_RD | PFS_AUTODRAIN); - pfs_create_file(dir, "mem", &linprocfs_doprocmem, - procfs_attr_rw, &procfs_candebug, NULL, PFS_RDWR | PFS_RAW); - pfs_create_file(dir, "mountinfo", &linprocfs_doprocmountinfo, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "mounts", &linprocfs_domtab, + pfs_create_dir(root, &dir, "pid", NULL, NULL, NULL, PFS_PROCDEP); + pfs_create_file(dir, NULL, "cmdline", &linprocfs_doproccmdline, NULL, + NULL, NULL, PFS_RD); + pfs_create_link(dir, NULL, "cwd", &linprocfs_doproccwd, NULL, NULL, + NULL, 0); + pfs_create_file(dir, NULL, "environ", &linprocfs_doprocenviron, NULL, + &procfs_candebug, NULL, PFS_RD); + pfs_create_link(dir, NULL, "exe", &procfs_doprocfile, NULL, + &procfs_notsystem, NULL, 0); + pfs_create_file(dir, NULL, "maps", &linprocfs_doprocmaps, NULL, NULL, + NULL, PFS_RD | PFS_AUTODRAIN); + pfs_create_file(dir, NULL, "mem", &linprocfs_doprocmem, procfs_attr_rw, + &procfs_candebug, NULL, PFS_RDWR | PFS_RAW); + pfs_create_file(dir, NULL, "mountinfo", &linprocfs_doprocmountinfo, NULL, NULL, NULL, PFS_RD); - pfs_create_link(dir, "root", &linprocfs_doprocroot, - NULL, NULL, NULL, 0); - pfs_create_file(dir, "stat", &linprocfs_doprocstat, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "statm", &linprocfs_doprocstatm, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "status", &linprocfs_doprocstatus, - NULL, NULL, NULL, PFS_RD); - pfs_create_link(dir, "fd", &linprocfs_dofdescfs, - NULL, NULL, NULL, 0); - pfs_create_file(dir, "auxv", &linprocfs_doauxv, - NULL, &procfs_candebug, NULL, PFS_RD|PFS_RAWRD); - pfs_create_file(dir, "limits", &linprocfs_doproclimits, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "oom_score_adj", &linprocfs_do_oom_score_adj, + pfs_create_file(dir, NULL, "mounts", &linprocfs_domtab, NULL, NULL, + NULL, PFS_RD); + pfs_create_link(dir, NULL, "root", &linprocfs_doprocroot, NULL, NULL, + NULL, 0); + pfs_create_file(dir, NULL, "stat", &linprocfs_doprocstat, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "statm", &linprocfs_doprocstatm, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "status", &linprocfs_doprocstatus, NULL, + NULL, NULL, PFS_RD); + pfs_create_link(dir, NULL, "fd", &linprocfs_dofdescfs, NULL, NULL, NULL, + 0); + pfs_create_file(dir, NULL, "auxv", &linprocfs_doauxv, NULL, + &procfs_candebug, NULL, PFS_RD | PFS_RAWRD); + pfs_create_file(dir, NULL, "limits", &linprocfs_doproclimits, NULL, + NULL, NULL, PFS_RD); + pfs_create_file(dir, NULL, "oom_score_adj", &linprocfs_do_oom_score_adj, procfs_attr_rw, &procfs_candebug, NULL, PFS_RDWR); /* /proc//task/... */ - dir = pfs_create_dir(dir, "task", linprocfs_dotaskattr, NULL, NULL, 0); - pfs_create_file(dir, ".dummy", &linprocfs_dotaskdummy, - NULL, NULL, NULL, PFS_RD); + pfs_create_dir(dir, &dir, "task", linprocfs_dotaskattr, NULL, NULL, 0); + pfs_create_file(dir, NULL, ".dummy", &linprocfs_dotaskdummy, NULL, NULL, + NULL, PFS_RD); /* /proc/scsi/... */ - dir = pfs_create_dir(root, "scsi", NULL, NULL, NULL, 0); - pfs_create_file(dir, "device_info", &linprocfs_doscsidevinfo, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "scsi", &linprocfs_doscsiscsi, + pfs_create_dir(root, &dir, "scsi", NULL, NULL, NULL, 0); + pfs_create_file(dir, NULL, "device_info", &linprocfs_doscsidevinfo, NULL, NULL, NULL, PFS_RD); + pfs_create_file(dir, NULL, "scsi", &linprocfs_doscsiscsi, NULL, NULL, + NULL, PFS_RD); /* /proc/sys/... */ - sys = pfs_create_dir(root, "sys", NULL, NULL, NULL, 0); + pfs_create_dir(root, &sys, "sys", NULL, NULL, NULL, 0); /* /proc/sys/kernel/... */ - dir = pfs_create_dir(sys, "kernel", NULL, NULL, NULL, 0); - pfs_create_file(dir, "osrelease", &linprocfs_doosrelease, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "ostype", &linprocfs_doostype, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "version", &linprocfs_doosbuild, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "msgmax", &linprocfs_domsgmax, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "msgmni", &linprocfs_domsgmni, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "msgmnb", &linprocfs_domsgmnb, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "ngroups_max", &linprocfs_dongroups_max, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "pid_max", &linprocfs_dopid_max, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "sem", &linprocfs_dosem, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "shmall", &linprocfs_doshmall, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "shmmax", &linprocfs_doshmmax, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "shmmni", &linprocfs_doshmmni, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "tainted", &linprocfs_dotainted, + pfs_create_dir(sys, &dir, "kernel", NULL, NULL, NULL, 0); + pfs_create_file(dir, NULL, "osrelease", &linprocfs_doosrelease, NULL, + NULL, NULL, PFS_RD); + pfs_create_file(dir, NULL, "ostype", &linprocfs_doostype, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "version", &linprocfs_doosbuild, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "msgmax", &linprocfs_domsgmax, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "msgmni", &linprocfs_domsgmni, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "msgmnb", &linprocfs_domsgmnb, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "ngroups_max", &linprocfs_dongroups_max, NULL, NULL, NULL, PFS_RD); + pfs_create_file(dir, NULL, "pid_max", &linprocfs_dopid_max, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "sem", &linprocfs_dosem, NULL, NULL, NULL, + PFS_RD); + pfs_create_file(dir, NULL, "shmall", &linprocfs_doshmall, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "shmmax", &linprocfs_doshmmax, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "shmmni", &linprocfs_doshmmni, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "tainted", &linprocfs_dotainted, NULL, NULL, + NULL, PFS_RD); /* /proc/sys/kernel/random/... */ - dir = pfs_create_dir(dir, "random", NULL, NULL, NULL, 0); - pfs_create_file(dir, "uuid", &linprocfs_douuid, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "boot_id", &linprocfs_doboot_id, - NULL, NULL, NULL, PFS_RD); + pfs_create_dir(dir, &dir, "random", NULL, NULL, NULL, 0); + pfs_create_file(dir, NULL, "uuid", &linprocfs_douuid, NULL, NULL, NULL, + PFS_RD); + pfs_create_file(dir, NULL, "boot_id", &linprocfs_doboot_id, NULL, NULL, + NULL, PFS_RD); /* /proc/sys/vm/.... */ - dir = pfs_create_dir(sys, "vm", NULL, NULL, NULL, 0); - pfs_create_file(dir, "min_free_kbytes", &linprocfs_dominfree, + pfs_create_dir(sys, &dir, "vm", NULL, NULL, NULL, 0); + pfs_create_file(dir, NULL, "min_free_kbytes", &linprocfs_dominfree, NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "max_map_count", &linprocfs_domax_map_cnt, + pfs_create_file(dir, NULL, "max_map_count", &linprocfs_domax_map_cnt, NULL, NULL, NULL, PFS_RD); /* /proc/sysvipc/... */ - dir = pfs_create_dir(root, "sysvipc", NULL, NULL, NULL, 0); - pfs_create_file(dir, "msg", &linprocfs_dosysvipc_msg, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "sem", &linprocfs_dosysvipc_sem, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "shm", &linprocfs_dosysvipc_shm, - NULL, NULL, NULL, PFS_RD); + pfs_create_dir(root, &dir, "sysvipc", NULL, NULL, NULL, 0); + pfs_create_file(dir, NULL, "msg", &linprocfs_dosysvipc_msg, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "sem", &linprocfs_dosysvipc_sem, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "shm", &linprocfs_dosysvipc_shm, NULL, NULL, + NULL, PFS_RD); /* /proc/sys/fs/... */ - dir = pfs_create_dir(sys, "fs", NULL, NULL, NULL, 0); + pfs_create_dir(sys, &dir, "fs", NULL, NULL, NULL, 0); /* /proc/sys/fs/mqueue/... */ - dir = pfs_create_dir(dir, "mqueue", NULL, NULL, NULL, 0); - pfs_create_file(dir, "msg_default", &linprocfs_domqueue_msg_default, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "msgsize_default", &linprocfs_domqueue_msgsize_default, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "msg_max", &linprocfs_domqueue_msg_max, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "msgsize_max", &linprocfs_domqueue_msgsize_max, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "queues_max", &linprocfs_domqueue_queues_max, + pfs_create_dir(dir, &dir, "mqueue", NULL, NULL, NULL, 0); + pfs_create_file(dir, NULL, "msg_default", + &linprocfs_domqueue_msg_default, NULL, NULL, NULL, PFS_RD); + pfs_create_file(dir, NULL, "msgsize_default", + &linprocfs_domqueue_msgsize_default, NULL, NULL, NULL, PFS_RD); + pfs_create_file(dir, NULL, "msg_max", &linprocfs_domqueue_msg_max, NULL, + NULL, NULL, PFS_RD); + pfs_create_file(dir, NULL, "msgsize_max", + &linprocfs_domqueue_msgsize_max, NULL, NULL, NULL, PFS_RD); + pfs_create_file(dir, NULL, "queues_max", &linprocfs_domqueue_queues_max, NULL, NULL, NULL, PFS_RD); return (0); diff --git a/sys/compat/linsysfs/linsysfs.c b/sys/compat/linsysfs/linsysfs.c index b70cb43d0f9a..5a41c5193415 100644 --- a/sys/compat/linsysfs/linsysfs.c +++ b/sys/compat/linsysfs/linsysfs.c @@ -294,43 +294,43 @@ linsysfs_run_bus(device_t dev, struct pfs_node *dir, struct pfs_node *scsi, dinfo->cfg.func); strcat(new_path, "/"); strcat(new_path, device); - dir = pfs_create_dir(dir, device, + error = pfs_create_dir(dir, &dir, device, NULL, NULL, NULL, 0); - if (dir == NULL) { - error = EEXIST; + if (error != 0) goto out; - } - cur_file = pfs_create_file(dir, "vendor", + pfs_create_dir(dir, &dir, device, NULL, NULL, + NULL, 0); + pfs_create_file(dir, &cur_file, "vendor", &linsysfs_fill_vendor, NULL, NULL, NULL, PFS_RD); cur_file->pn_data = (void*)dev; - cur_file = pfs_create_file(dir, "device", + pfs_create_file(dir, &cur_file, "device", &linsysfs_fill_device, NULL, NULL, NULL, PFS_RD); cur_file->pn_data = (void*)dev; - cur_file = pfs_create_file(dir, + pfs_create_file(dir, &cur_file, "subsystem_vendor", &linsysfs_fill_subvendor, NULL, NULL, NULL, PFS_RD); cur_file->pn_data = (void*)dev; - cur_file = pfs_create_file(dir, + pfs_create_file(dir, &cur_file, "subsystem_device", &linsysfs_fill_subdevice, NULL, NULL, NULL, PFS_RD); cur_file->pn_data = (void*)dev; - cur_file = pfs_create_file(dir, "revision", + pfs_create_file(dir, &cur_file, "revision", &linsysfs_fill_revid, NULL, NULL, NULL, PFS_RD); cur_file->pn_data = (void*)dev; - cur_file = pfs_create_file(dir, "config", + pfs_create_file(dir, &cur_file, "config", &linsysfs_fill_config, NULL, NULL, NULL, PFS_RD); cur_file->pn_data = (void*)dev; - cur_file = pfs_create_file(dir, "uevent", - &linsysfs_fill_uevent_pci, NULL, NULL, - NULL, PFS_RD); + pfs_create_file(dir, &cur_file, "uevent", + &linsysfs_fill_uevent_pci, NULL, NULL, NULL, + PFS_RD); cur_file->pn_data = (void*)dev; - cur_file = pfs_create_link(dir, "subsystem", + pfs_create_link(dir, &cur_file, "subsystem", &linsysfs_fill_data, NULL, NULL, NULL, 0); /* libdrm just checks that the link ends in "/pci" */ cur_file->pn_data = "/sys/bus/pci"; @@ -340,8 +340,8 @@ linsysfs_run_bus(device_t dev, struct pfs_node *dir, struct pfs_node *scsi, sprintf(host, "host%d", host_number++); strcat(new_path, "/"); strcat(new_path, host); - pfs_create_dir(dir, host, - NULL, NULL, NULL, 0); + pfs_create_dir(dir, NULL, host, NULL, + NULL, NULL, 0); scsi_host = malloc(sizeof( struct scsi_host_queue), M_DEVBUF, M_WAITOK); @@ -353,13 +353,13 @@ linsysfs_run_bus(device_t dev, struct pfs_node *dir, struct pfs_node *scsi, strlen(new_path) + 1); scsi_host->name = "unknown"; - sub_dir = pfs_create_dir(scsi, host, - NULL, NULL, NULL, 0); - pfs_create_link(sub_dir, "device", - &linsysfs_link_scsi_host, + pfs_create_dir(scsi, &sub_dir, host, NULL, NULL, NULL, 0); - pfs_create_file(sub_dir, "proc_name", - &linsysfs_scsiname, + pfs_create_link(sub_dir, NULL, "device", + &linsysfs_link_scsi_host, NULL, + NULL, NULL, 0); + pfs_create_file(sub_dir, NULL, + "proc_name", &linsysfs_scsiname, NULL, NULL, NULL, PFS_RD); scsi_host->name = linux_driver_get_name_dev(dev); @@ -378,26 +378,27 @@ linsysfs_run_bus(device_t dev, struct pfs_node *dir, struct pfs_node *scsi, device_get_unit(dev) >= 0) { dinfo = device_get_ivars(parent); if (dinfo != NULL && dinfo->cfg.baseclass == PCIC_DISPLAY) { - pfs_create_dir(dir, "drm", NULL, NULL, NULL, 0); + pfs_create_dir(dir, NULL, "drm", NULL, NULL, + NULL, 0); sprintf(devname, "226:%d", device_get_unit(dev)); - sub_dir = pfs_create_dir(chardev, - devname, NULL, NULL, NULL, 0); - cur_file = pfs_create_link(sub_dir, - "device", &linsysfs_fill_vgapci, NULL, - NULL, NULL, PFS_RD); + pfs_create_dir(chardev, &sub_dir, devname, NULL, + NULL, NULL, 0); + pfs_create_link(sub_dir, &cur_file, "device", + &linsysfs_fill_vgapci, NULL, NULL, NULL, + PFS_RD); cur_file->pn_data = (void*)dir; - cur_file = pfs_create_file(sub_dir, - "uevent", &linsysfs_fill_uevent_drm, NULL, - NULL, NULL, PFS_RD); + pfs_create_file(sub_dir, &cur_file, "uevent", + &linsysfs_fill_uevent_drm, NULL, NULL, NULL, + PFS_RD); cur_file->pn_data = (void*)dev; sprintf(devname, "card%d", device_get_unit(dev)); - sub_dir = pfs_create_dir(drm, - devname, NULL, NULL, NULL, 0); - cur_file = pfs_create_link(sub_dir, - "device", &linsysfs_fill_vgapci, NULL, - NULL, NULL, PFS_RD); + pfs_create_dir(drm, &sub_dir, devname, NULL, + NULL, NULL, 0); + pfs_create_link(sub_dir, &cur_file, "device", + &linsysfs_fill_vgapci, NULL, NULL, NULL, + PFS_RD); cur_file->pn_data = (void*)dir; } } @@ -479,10 +480,10 @@ linsysfs_listcpus(struct pfs_node *dir) for (i = 0; i < mp_ncpus; ++i) { /* /sys/devices/system/cpu/cpuX */ sprintf(name, "cpu%d", i); - cpu = pfs_create_dir(dir, name, NULL, NULL, NULL, 0); + pfs_create_dir(dir, &cpu, name, NULL, NULL, NULL, 0); - pfs_create_file(cpu, "online", &linsysfs_cpuxonline, - NULL, NULL, NULL, PFS_RD); + pfs_create_file(cpu, NULL, "online", &linsysfs_cpuxonline, NULL, + NULL, NULL, PFS_RD); } free(name, M_TEMP); } @@ -509,24 +510,24 @@ linsysfs_init(PFS_INIT_ARGS) root = pi->pi_root; /* /sys/bus/... */ - dir = pfs_create_dir(root, "bus", NULL, NULL, NULL, 0); + pfs_create_dir(root, &dir, "bus", NULL, NULL, NULL, 0); /* /sys/class/... */ - class = pfs_create_dir(root, "class", NULL, NULL, NULL, 0); - scsi = pfs_create_dir(class, "scsi_host", NULL, NULL, NULL, 0); - drm = pfs_create_dir(class, "drm", NULL, NULL, NULL, 0); - pfs_create_dir(class, "power_supply", NULL, NULL, NULL, 0); + pfs_create_dir(root, &class, "class", NULL, NULL, NULL, 0); + pfs_create_dir(class, &scsi, "scsi_host", NULL, NULL, NULL, 0); + pfs_create_dir(class, &drm, "drm", NULL, NULL, NULL, 0); + pfs_create_dir(class, NULL, "power_supply", NULL, NULL, NULL, 0); /* /sys/class/net/.. */ - net = pfs_create_dir(class, "net", NULL, NULL, NULL, 0); + pfs_create_dir(class, &net, "net", NULL, NULL, NULL, 0); /* /sys/dev/... */ - devdir = pfs_create_dir(root, "dev", NULL, NULL, NULL, 0); - chardev = pfs_create_dir(devdir, "char", NULL, NULL, NULL, 0); + pfs_create_dir(root, &devdir, "dev", NULL, NULL, NULL, 0); + pfs_create_dir(devdir, &chardev, "char", NULL, NULL, NULL, 0); /* /sys/devices/... */ - dir = pfs_create_dir(root, "devices", NULL, NULL, NULL, 0); - pci = pfs_create_dir(dir, "pci0000:00", NULL, NULL, NULL, 0); + pfs_create_dir(root, &dir, "devices", NULL, NULL, NULL, 0); + pfs_create_dir(dir, &pci, "pci0000:00", NULL, NULL, NULL, 0); devclass = devclass_find("root"); if (devclass == NULL) { @@ -541,24 +542,24 @@ linsysfs_init(PFS_INIT_ARGS) linsysfs_run_bus(dev, pci, scsi, chardev, drm, "/pci0000:00", "0000"); /* /sys/devices/system */ - sys = pfs_create_dir(dir, "system", NULL, NULL, NULL, 0); + pfs_create_dir(dir, &sys, "system", NULL, NULL, NULL, 0); /* /sys/devices/system/cpu */ - cpu = pfs_create_dir(sys, "cpu", NULL, NULL, NULL, 0); + pfs_create_dir(sys, &cpu, "cpu", NULL, NULL, NULL, 0); - pfs_create_file(cpu, "online", &linsysfs_cpuonline, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(cpu, "possible", &linsysfs_cpuonline, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(cpu, "present", &linsysfs_cpuonline, - NULL, NULL, NULL, PFS_RD); + pfs_create_file(cpu, NULL, "online", &linsysfs_cpuonline, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(cpu, NULL, "possible", &linsysfs_cpuonline, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(cpu, NULL, "present", &linsysfs_cpuonline, NULL, NULL, + NULL, PFS_RD); linsysfs_listcpus(cpu); /* /sys/kernel */ - kernel = pfs_create_dir(root, "kernel", NULL, NULL, NULL, 0); + pfs_create_dir(root, &kernel, "kernel", NULL, NULL, NULL, 0); /* /sys/kernel/debug, mountpoint for lindebugfs. */ - pfs_create_dir(kernel, "debug", NULL, NULL, NULL, 0); + pfs_create_dir(kernel, NULL, "debug", NULL, NULL, NULL, 0); linsysfs_net_init(); diff --git a/sys/compat/linsysfs/linsysfs_net.c b/sys/compat/linsysfs/linsysfs_net.c index 73602b0132a4..751dbb5b3713 100644 --- a/sys/compat/linsysfs/linsysfs_net.c +++ b/sys/compat/linsysfs/linsysfs_net.c @@ -237,22 +237,22 @@ linsysfs_net_addif(if_t ifp, void *arg) nic = pfs_find_node(dir, ifname); if (nic == NULL) { - nic = pfs_create_dir(dir, ifname, NULL, linsysfs_if_visible, + pfs_create_dir(dir, &nic, ifname, NULL, linsysfs_if_visible, NULL, 0); - pfs_create_file(nic, "address", &linsysfs_if_addr, + pfs_create_file(nic, NULL, "address", &linsysfs_if_addr, NULL, + NULL, NULL, PFS_RD); + pfs_create_file(nic, NULL, "addr_len", &linsysfs_if_addrlen, NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "addr_len", &linsysfs_if_addrlen, + pfs_create_file(nic, NULL, "flags", &linsysfs_if_flags, NULL, + NULL, NULL, PFS_RD); + pfs_create_file(nic, NULL, "ifindex", &linsysfs_if_ifindex, NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "flags", &linsysfs_if_flags, + pfs_create_file(nic, NULL, "mtu", &linsysfs_if_mtu, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(nic, NULL, "tx_queue_len", &linsysfs_if_txq_len, NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "ifindex", &linsysfs_if_ifindex, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "mtu", &linsysfs_if_mtu, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "tx_queue_len", &linsysfs_if_txq_len, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "type", &linsysfs_if_type, - NULL, NULL, NULL, PFS_RD); + pfs_create_file(nic, NULL, "type", &linsysfs_if_type, NULL, + NULL, NULL, PFS_RD); } /* * There is a small window between registering the if_arrival diff --git a/sys/fs/procfs/procfs.c b/sys/fs/procfs/procfs.c index ab60ba47f322..cd66dd6f8b3b 100644 --- a/sys/fs/procfs/procfs.c +++ b/sys/fs/procfs/procfs.c @@ -156,42 +156,42 @@ procfs_init(PFS_INIT_ARGS) root = pi->pi_root; - pfs_create_link(root, "curproc", procfs_docurproc, - NULL, NULL, NULL, 0); - pfs_create_link(root, "self", procfs_docurproc, - NULL, NULL, NULL, 0); - - dir = pfs_create_dir(root, "pid", - procfs_attr_all_rx, NULL, NULL, PFS_PROCDEP); - pfs_create_file(dir, "cmdline", procfs_doproccmdline, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "dbregs", procfs_doprocdbregs, + pfs_create_link(root, NULL, "curproc", procfs_docurproc, NULL, NULL, + NULL, 0); + pfs_create_link(root, NULL, "self", procfs_docurproc, NULL, NULL, NULL, + 0); + + pfs_create_dir(root, &dir, "pid", procfs_attr_all_rx, NULL, NULL, + PFS_PROCDEP); + pfs_create_file(dir, NULL, "cmdline", procfs_doproccmdline, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "dbregs", procfs_doprocdbregs, procfs_attr_rw, procfs_candebug, NULL, PFS_RDWR | PFS_RAW); - pfs_create_file(dir, "etype", procfs_doproctype, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "fpregs", procfs_doprocfpregs, + pfs_create_file(dir, NULL, "etype", procfs_doproctype, NULL, NULL, NULL, + PFS_RD); + pfs_create_file(dir, NULL, "fpregs", procfs_doprocfpregs, procfs_attr_rw, procfs_candebug, NULL, PFS_RDWR | PFS_RAW); - pfs_create_file(dir, "map", procfs_doprocmap, - NULL, procfs_notsystem, NULL, PFS_RD); - pfs_create_file(dir, "mem", procfs_doprocmem, - procfs_attr_rw, procfs_candebug, NULL, PFS_RDWR | PFS_RAW); - pfs_create_file(dir, "note", procfs_doprocnote, - procfs_attr_w, procfs_candebug, NULL, PFS_WR); - pfs_create_file(dir, "notepg", procfs_doprocnote, - procfs_attr_w, procfs_candebug, NULL, PFS_WR); - pfs_create_file(dir, "regs", procfs_doprocregs, - procfs_attr_rw, procfs_candebug, NULL, PFS_RDWR | PFS_RAW); - pfs_create_file(dir, "rlimit", procfs_doprocrlimit, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "status", procfs_doprocstatus, - NULL, NULL, NULL, PFS_RD); - pfs_create_file(dir, "osrel", procfs_doosrel, - procfs_attr_rw, procfs_candebug, NULL, PFS_RDWR); - - pfs_create_link(dir, "file", procfs_doprocfile, - NULL, procfs_notsystem, NULL, 0); - pfs_create_link(dir, "exe", procfs_doprocfile, - NULL, procfs_notsystem, NULL, 0); + pfs_create_file(dir, NULL, "map", procfs_doprocmap, NULL, + procfs_notsystem, NULL, PFS_RD); + pfs_create_file(dir, NULL, "mem", procfs_doprocmem, procfs_attr_rw, + procfs_candebug, NULL, PFS_RDWR | PFS_RAW); + pfs_create_file(dir, NULL, "note", procfs_doprocnote, procfs_attr_w, + procfs_candebug, NULL, PFS_WR); + pfs_create_file(dir, NULL, "notepg", procfs_doprocnote, procfs_attr_w, + procfs_candebug, NULL, PFS_WR); + pfs_create_file(dir, NULL, "regs", procfs_doprocregs, procfs_attr_rw, + procfs_candebug, NULL, PFS_RDWR | PFS_RAW); + pfs_create_file(dir, NULL, "rlimit", procfs_doprocrlimit, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "status", procfs_doprocstatus, NULL, NULL, + NULL, PFS_RD); + pfs_create_file(dir, NULL, "osrel", procfs_doosrel, procfs_attr_rw, + procfs_candebug, NULL, PFS_RDWR); + + pfs_create_link(dir, NULL, "file", procfs_doprocfile, NULL, + procfs_notsystem, NULL, 0); + pfs_create_link(dir, NULL, "exe", procfs_doprocfile, NULL, + procfs_notsystem, NULL, 0); return (0); } diff --git a/sys/fs/pseudofs/pseudofs.c b/sys/fs/pseudofs/pseudofs.c index 20cb87c6c6d5..26a1dcd4ad39 100644 --- a/sys/fs/pseudofs/pseudofs.c +++ b/sys/fs/pseudofs/pseudofs.c @@ -239,81 +239,101 @@ pfs_fixup_dir(struct pfs_node *parent) /* * Create a directory */ -struct pfs_node * -pfs_create_dir(struct pfs_node *parent, const char *name, - pfs_attr_t attr, pfs_vis_t vis, pfs_destroy_t destroy, - int flags) +int +pfs_create_dir(struct pfs_node *parent, struct pfs_node **opn, + const char *name, pfs_attr_t attr, pfs_vis_t vis, + pfs_destroy_t destroy, int flags) { - struct pfs_node *pn; + struct pfs_node *pdir, *pn; int rc; - pn = pfs_alloc_node_flags(parent->pn_info, name, + /* Preserve in case the caller is reusing the one pointer for both. */ + pdir = parent; + if (opn != NULL) + *opn = NULL; + pn = pfs_alloc_node_flags(pdir->pn_info, name, (flags & PFS_PROCDEP) ? pfstype_procdir : pfstype_dir, flags); if (pn == NULL) - return (NULL); + return (ENOMEM); pn->pn_attr = attr; pn->pn_vis = vis; pn->pn_destroy = destroy; pn->pn_flags = flags; - rc = pfs_add_node(parent, pn); + rc = pfs_add_node(pdir, pn); if (rc == 0) rc = pfs_fixup_dir_flags(pn, flags); if (rc != 0) { pfs_destroy(pn); pn = NULL; + } else if (opn != NULL) { + *opn = pn; } - return (pn); + + return (rc); } /* * Create a file */ -struct pfs_node * -pfs_create_file(struct pfs_node *parent, const char *name, pfs_fill_t fill, - pfs_attr_t attr, pfs_vis_t vis, pfs_destroy_t destroy, - int flags) +int +pfs_create_file(struct pfs_node *parent, struct pfs_node **opn, + const char *name, pfs_fill_t fill, pfs_attr_t attr, + pfs_vis_t vis, pfs_destroy_t destroy, int flags) { struct pfs_node *pn; + int rc; + if (opn != NULL) + *opn = NULL; pn = pfs_alloc_node_flags(parent->pn_info, name, pfstype_file, flags); if (pn == NULL) - return (NULL); + return (ENOMEM); + pn->pn_fill = fill; pn->pn_attr = attr; pn->pn_vis = vis; pn->pn_destroy = destroy; pn->pn_flags = flags; - if (pfs_add_node(parent, pn) != 0) { + if ((rc = pfs_add_node(parent, pn)) != 0) { pfs_destroy(pn); pn = NULL; + } else if (opn != NULL) { + *opn = pn; } - return (pn); + + return (rc); } /* * Create a symlink */ -struct pfs_node * -pfs_create_link(struct pfs_node *parent, const char *name, pfs_fill_t fill, - pfs_attr_t attr, pfs_vis_t vis, pfs_destroy_t destroy, - int flags) +int +pfs_create_link(struct pfs_node *parent, struct pfs_node **opn, + const char *name, pfs_fill_t fill, pfs_attr_t attr, + pfs_vis_t vis, pfs_destroy_t destroy, int flags) { struct pfs_node *pn; + int rc; + if (opn != NULL) + *opn = NULL; pn = pfs_alloc_node_flags(parent->pn_info, name, pfstype_symlink, flags); if (pn == NULL) - return (NULL); + return (ENOMEM); + pn->pn_fill = fill; pn->pn_attr = attr; pn->pn_vis = vis; pn->pn_destroy = destroy; pn->pn_flags = flags; - if (pfs_add_node(parent, pn) != 0) { + if ((rc = pfs_add_node(parent, pn)) != 0) { pfs_destroy(pn); pn = NULL; + } else if (opn != NULL) { + *opn = pn; } - return (pn); + return (rc); } /* diff --git a/sys/fs/pseudofs/pseudofs.h b/sys/fs/pseudofs/pseudofs.h index 461a1d2402e4..e060f89b580f 100644 --- a/sys/fs/pseudofs/pseudofs.h +++ b/sys/fs/pseudofs/pseudofs.h @@ -260,17 +260,18 @@ int pfs_vfsuninit (struct pfs_info *pi, struct vfsconf *vfc); /* * Directory structure construction and manipulation */ -struct pfs_node *pfs_create_dir (struct pfs_node *parent, const char *name, - pfs_attr_t attr, pfs_vis_t vis, - pfs_destroy_t destroy, int flags); -struct pfs_node *pfs_create_file(struct pfs_node *parent, const char *name, - pfs_fill_t fill, pfs_attr_t attr, - pfs_vis_t vis, pfs_destroy_t destroy, - int flags); -struct pfs_node *pfs_create_link(struct pfs_node *parent, const char *name, - pfs_fill_t fill, pfs_attr_t attr, +int pfs_create_dir (struct pfs_node *parent, struct pfs_node **opn, + const char *name, pfs_attr_t attr, pfs_vis_t vis, pfs_destroy_t destroy, int flags); +int pfs_create_file (struct pfs_node *parent, struct pfs_node **opn, + const char *name, pfs_fill_t fill, + pfs_attr_t attr, pfs_vis_t vis, + pfs_destroy_t destroy, int flags); +int pfs_create_link (struct pfs_node *parent, struct pfs_node **opn, + const char *name, pfs_fill_t fill, + pfs_attr_t attr, pfs_vis_t vis, + pfs_destroy_t destroy, int flags); struct pfs_node *pfs_find_node (struct pfs_node *parent, const char *name); void pfs_purge (struct pfs_node *pn); int pfs_destroy (struct pfs_node *pn); diff --git a/tools/coccinelle/pseudofs-create.cocci b/tools/coccinelle/pseudofs-create.cocci new file mode 100644 index 000000000000..ba5870f38732 --- /dev/null +++ b/tools/coccinelle/pseudofs-create.cocci @@ -0,0 +1,35 @@ +@ pfs_create_dir_ret_ident @ + expression _pfn, E1, E2, E3, E4, E5, E6; +@@ +-_pfn = pfs_create_dir(E1, E2, E3, E4, E5, E6); ++pfs_create_dir(E1, &_pfn, E2, E3, E4, E5, E6); + +@ pfs_create_file_ret @ + expression _pfn, E1, E2, E3, E4, E5, E6, E7; +@@ +-_pfn = pfs_create_file(E1, E2, E3, E4, E5, E6, E7); ++pfs_create_file(E1, &_pfn, E2, E3, E4, E5, E6, E7); + +@ pfs_create_link_ret @ + expression _pfn, E1, E2, E3, E4, E5, E6, E7; +@@ +-_pfn = pfs_create_link(E1, E2, E3, E4, E5, E6, E7); ++pfs_create_link(E1, &_pfn, E2, E3, E4, E5, E6, E7); + +@ pfs_create_dir_noret @ + expression E1, E2, E3, E4, E5, E6; +@@ +-pfs_create_dir(E1, E2, E3, E4, E5, E6); ++pfs_create_dir(E1, NULL, E2, E3, E4, E5, E6); + +@ pfs_create_file_noret @ + expression E1, E2, E3, E4, E5, E6, E7; +@@ +-pfs_create_file(E1, E2, E3, E4, E5, E6, E7); ++pfs_create_file(E1, NULL, E2, E3, E4, E5, E6, E7); + +@ pfs_create_link_noret @ + expression E1, E2, E3, E4, E5, E6, E7; +@@ +-pfs_create_link(E1, E2, E3, E4, E5, E6, E7); ++pfs_create_link(E1, NULL, E2, E3, E4, E5, E6, E7); From nobody Thu Sep 4 02:45:33 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHP3d51pqz66cv5; Thu, 04 Sep 2025 02:45: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHP3d3RD3z3M6X; Thu, 04 Sep 2025 02:45:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756953933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ow7p1cunQvOsNWXL+maDh04og+kDEQvH4dgmknCujhA=; b=jyoh4TB4Nba3TQngnEPc7fIilVjwxLpXqDY14NjK/CsaoFmbOCRB6T2ZSpXi5Ydd4zS0z6 ibXuzY84YD+Qtmp1+6QtptcOYTFlnUgVm24aQw1j/jM4oCjDWX7Z7X1sAyUPqVSoamHyXN rBll/54yDXBYgufZLcP6uk7GY+t1Zp7Zf/dR15eRv3gCu7o551uRZf+LEYO003obv/oRUb uOFFUjzYb4tHISu82H0RZQxxMpiDMn5Sx3aL62FGi7RWsyge0FscGt/4RtQ1lMdyGVLL4H r3V+wVZCv+pNS1Mm2Z+MWB4XKDKEM/0fcAMaHc5n6tLKeUVHsQdby8EkdUCVnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756953933; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ow7p1cunQvOsNWXL+maDh04og+kDEQvH4dgmknCujhA=; b=gKRNVdC1xeE8oInd8kJGFithaoWGWgaahw51UUb0sCgYahAevS1XqkdtnJ2o+pvzAGS4Pa JVjKJsm503GsrwrcREJ6g/ynraUAURwNGbID4L2pf9RUMmfXXUdZnvBC7pIx6OvM5UmoNx VjQ+UyQLMy3xC2HzX8z7khDNAy2EKCUpAJxxyVkWfmJCmnECgDGc3hNaQYZVYFwipt/Mwz H4woPkRxF8Nx4wOky9/QRA1p1W0+cUWBZBnxip76tz5+LGb2nBzzPoNi5H6vr5Gf8j4lgd HVF5cgmKeFRT3cIMMEdmlYxSDRs5uuLJEkp0pHAlgPhlWZVsIMuJqQ1IfnT/Bg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756953933; a=rsa-sha256; cv=none; b=pz3qOCWOpT3UjIVvKaWzKibcDMzXDgcsZNLS+xsq20vYJYPKNpPapDRJHBZtt6pKbC6uYT 1zEAxukI/eJxah6DHu+Wcrl9x7ntW0lud6d2mu4puSuLnSgDMpEMFiDPBtn0ZU4XTyaNbL ZNKLO10osyW0uVSRqD/urCCPBkLb0i7hozLwRIbPUZ4QwAXedi/FIxrAVFyTOtCB/VxGME vXsNINVCMOIUaZBLM9dSupn/Z8FJ380oJ74T63Qw4Y/8ynvwYoeLmuC7Tk4KYPUpqh5BX1 IVU1Ib65tdasPjUb21T1NIxK7rnaXkrFfNxrY58iv60Ib0hvAbxHXUzqtKZvUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHP3d2c0xzklS; Thu, 04 Sep 2025 02:45: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 5842jXhx085514; Thu, 4 Sep 2025 02:45:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5842jXvV085511; Thu, 4 Sep 2025 02:45:33 GMT (envelope-from git) Date: Thu, 4 Sep 2025 02:45:33 GMT Message-Id: <202509040245.5842jXvV085511@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jake Freeland Subject: git: 9404c479946c - main - pci_user: Report NUMA domain List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jfree X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9404c479946c00b6ac94253d2037c47251dc606c Auto-Submitted: auto-generated The branch main has been updated by jfree: URL: https://cgit.FreeBSD.org/src/commit/?id=9404c479946c00b6ac94253d2037c47251dc606c commit 9404c479946c00b6ac94253d2037c47251dc606c Author: Jake Freeland AuthorDate: 2025-09-04 02:42:23 +0000 Commit: Jake Freeland CommitDate: 2025-09-04 02:42:23 +0000 pci_user: Report NUMA domain A PCI device's NUMA domain is now accessible via the pd_numa_domain member of struct pci_conf when using the PCIOCGETCONF ioctl. A new ioctl number has been assigned to PCIOCGETCONF to preserve compatibility with binaries compiled on FreeBSD versions 7 through 14. Such binaries can continue to use the PCIOCGETCONF ioctl number that they were compiled with and experience no ABI repercussions. Reviewed by: imp, markj Differential Revision: https://reviews.freebsd.org/D44289 --- share/man/man4/pci.4 | 4 +- sys/dev/pci/pci_user.c | 113 ++++++++++++++++++++++++++++++++++++++++++++++++- sys/sys/pciio.h | 3 +- 3 files changed, 116 insertions(+), 4 deletions(-) diff --git a/share/man/man4/pci.4 b/share/man/man4/pci.4 index 91fbb557f644..5237b6bc7adc 100644 --- a/share/man/man4/pci.4 +++ b/share/man/man4/pci.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd April 2, 2025 +.Dd August 20, 2025 .Dt PCI 4 .Os .Sh NAME @@ -235,6 +235,8 @@ revision ID. Driver name. .It pd_unit Driver unit number. +.It pd_numa_domain +Driver NUMA domain. .El .It offset The offset is passed in by the user to tell the kernel where it should diff --git a/sys/dev/pci/pci_user.c b/sys/dev/pci/pci_user.c index f68b5b7e71ff..5090ecb3dd7c 100644 --- a/sys/dev/pci/pci_user.c +++ b/sys/dev/pci/pci_user.c @@ -79,6 +79,7 @@ struct pci_conf32 { u_int8_t pc_revid; /* chip revision ID */ char pd_name[PCI_MAXNAMELEN + 1]; /* device name */ u_int32_t pd_unit; /* device unit number */ + int pd_numa_domain; /* device NUMA domain */ }; struct pci_match_conf32 { @@ -502,11 +503,58 @@ pci_conf_match_freebsd6_32(struct pci_match_conf_freebsd6_32 *matches, int num_m #endif /* COMPAT_FREEBSD32 */ #endif /* !PRE7_COMPAT */ +#ifdef COMPAT_FREEBSD14 +struct pci_conf_freebsd14 { + struct pcisel pc_sel; /* domain+bus+slot+function */ + u_int8_t pc_hdr; /* PCI header type */ + u_int16_t pc_subvendor; /* card vendor ID */ + u_int16_t pc_subdevice; /* card device ID, assigned by + card vendor */ + u_int16_t pc_vendor; /* chip vendor ID */ + u_int16_t pc_device; /* chip device ID, assigned by + chip vendor */ + u_int8_t pc_class; /* chip PCI class */ + u_int8_t pc_subclass; /* chip PCI subclass */ + u_int8_t pc_progif; /* chip PCI programming interface */ + u_int8_t pc_revid; /* chip revision ID */ + char pd_name[PCI_MAXNAMELEN + 1]; /* device name */ + u_long pd_unit; /* device unit number */ +}; +#define PCIOCGETCONF_FREEBSD14 _IOWR('p', 5, struct pci_conf_io) + +#ifdef COMPAT_FREEBSD32 +struct pci_conf_freebsd14_32 { + struct pcisel pc_sel; /* domain+bus+slot+function */ + u_int8_t pc_hdr; /* PCI header type */ + u_int16_t pc_subvendor; /* card vendor ID */ + u_int16_t pc_subdevice; /* card device ID, assigned by + card vendor */ + u_int16_t pc_vendor; /* chip vendor ID */ + u_int16_t pc_device; /* chip device ID, assigned by + chip vendor */ + u_int8_t pc_class; /* chip PCI class */ + u_int8_t pc_subclass; /* chip PCI subclass */ + u_int8_t pc_progif; /* chip PCI programming interface */ + u_int8_t pc_revid; /* chip revision ID */ + char pd_name[PCI_MAXNAMELEN + 1]; /* device name */ + u_int32_t pd_unit; /* device unit number */ +}; +#define PCIOCGETCONF_FREEBSD14_32 \ + _IOC_NEWTYPE(PCIOCGETCONF_FREEBSD14, struct pci_conf_io32) +#endif /* COMPAT_FREEBSD32 */ +#endif /* COMPAT_FREEBSD14 */ + union pci_conf_union { struct pci_conf pc; #ifdef COMPAT_FREEBSD32 struct pci_conf32 pc32; #endif +#ifdef COMPAT_FREEBSD14 + struct pci_conf_freebsd14 pc14; +#ifdef COMPAT_FREEBSD32 + struct pci_conf_freebsd14_32 pc14_32; +#endif +#endif #ifdef PRE7_COMPAT struct pci_conf_freebsd6 pco; #ifdef COMPAT_FREEBSD32 @@ -522,10 +570,16 @@ pci_conf_match(u_long cmd, struct pci_match_conf *matches, int num_matches, switch (cmd) { case PCIOCGETCONF: +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14: +#endif return (pci_conf_match_native( (struct pci_match_conf *)matches, num_matches, match_buf)); #ifdef COMPAT_FREEBSD32 case PCIOCGETCONF32: +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14_32: +#endif return (pci_conf_match32((struct pci_match_conf32 *)matches, num_matches, match_buf)); #endif @@ -645,9 +699,15 @@ pci_match_conf_size(u_long cmd) switch (cmd) { case PCIOCGETCONF: +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14: +#endif return (sizeof(struct pci_match_conf)); #ifdef COMPAT_FREEBSD32 case PCIOCGETCONF32: +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14_32: +#endif return (sizeof(struct pci_match_conf32)); #endif #ifdef PRE7_COMPAT @@ -675,6 +735,14 @@ pci_conf_size(u_long cmd) case PCIOCGETCONF32: return (sizeof(struct pci_conf32)); #endif +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14: + return (sizeof(struct pci_conf_freebsd14)); +#ifdef COMPAT_FREEBSD32 + case PCIOCGETCONF_FREEBSD14_32: + return (sizeof(struct pci_conf_freebsd14_32)); +#endif +#endif #ifdef PRE7_COMPAT case PCIOCGETCONF_FREEBSD6: return (sizeof(struct pci_conf_freebsd6)); @@ -698,6 +766,9 @@ pci_conf_io_init(struct pci_conf_io *cio, caddr_t data, u_long cmd) switch (cmd) { case PCIOCGETCONF: +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14: +#endif #ifdef PRE7_COMPAT case PCIOCGETCONF_FREEBSD6: #endif @@ -706,6 +777,9 @@ pci_conf_io_init(struct pci_conf_io *cio, caddr_t data, u_long cmd) #ifdef COMPAT_FREEBSD32 case PCIOCGETCONF32: +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14_32: +#endif #ifdef PRE7_COMPAT case PCIOCGETCONF_FREEBSD6_32: #endif @@ -739,6 +813,9 @@ pci_conf_io_update_data(const struct pci_conf_io *cio, caddr_t data, switch (cmd) { case PCIOCGETCONF: +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14: +#endif #ifdef PRE7_COMPAT case PCIOCGETCONF_FREEBSD6: #endif @@ -751,6 +828,9 @@ pci_conf_io_update_data(const struct pci_conf_io *cio, caddr_t data, #ifdef COMPAT_FREEBSD32 case PCIOCGETCONF32: +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14_32: +#endif #ifdef PRE7_COMPAT case PCIOCGETCONF_FREEBSD6_32: #endif @@ -781,8 +861,17 @@ pci_conf_for_copyout(const struct pci_conf *pcp, union pci_conf_union *pcup, pcup->pc = *pcp; return; +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14: + memcpy(&pcup->pc14, pcp, sizeof(pcup->pc14)); + return; +#endif + #ifdef COMPAT_FREEBSD32 case PCIOCGETCONF32: +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14_32: +#endif pcup->pc32.pc_sel = pcp->pc_sel; pcup->pc32.pc_hdr = pcp->pc_hdr; pcup->pc32.pc_subvendor = pcp->pc_subvendor; @@ -796,8 +885,10 @@ pci_conf_for_copyout(const struct pci_conf *pcp, union pci_conf_union *pcup, strlcpy(pcup->pc32.pd_name, pcp->pd_name, sizeof(pcup->pc32.pd_name)); pcup->pc32.pd_unit = (uint32_t)pcp->pd_unit; + if (cmd == PCIOCGETCONF32) + pcup->pc32.pd_numa_domain = pcp->pd_numa_domain; return; -#endif +#endif /* COMPAT_FREEBSD32 */ #ifdef PRE7_COMPAT #ifdef COMPAT_FREEBSD32 @@ -1024,7 +1115,7 @@ pci_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *t struct pci_map *pm; struct pci_bar_mmap *pbm; size_t confsz, iolen; - int error, ionum, i, num_patterns; + int domain, error, ionum, i, num_patterns; union pci_conf_union pcu; #ifdef PRE7_COMPAT struct pci_io iodata; @@ -1044,6 +1135,12 @@ pci_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *t #ifdef COMPAT_FREEBSD32 case PCIOCGETCONF32: #endif +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14: +#ifdef COMPAT_FREEBSD32 + case PCIOCGETCONF_FREEBSD14_32: +#endif +#endif #ifdef PRE7_COMPAT case PCIOCGETCONF_FREEBSD6: #ifdef COMPAT_FREEBSD32 @@ -1069,6 +1166,12 @@ pci_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *t #ifdef COMPAT_FREEBSD32 case PCIOCGETCONF32: #endif +#ifdef COMPAT_FREEBSD14 + case PCIOCGETCONF_FREEBSD14: +#ifdef COMPAT_FREEBSD32 + case PCIOCGETCONF_FREEBSD14_32: +#endif +#endif #ifdef PRE7_COMPAT case PCIOCGETCONF_FREEBSD6: #ifdef COMPAT_FREEBSD32 @@ -1201,6 +1304,12 @@ pci_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *t dinfo->conf.pd_unit = 0; } + if (dinfo->cfg.dev != NULL && + bus_get_domain(dinfo->cfg.dev, &domain) == 0) + dinfo->conf.pd_numa_domain = domain; + else + dinfo->conf.pd_numa_domain = 0; + if (pattern_buf == NULL || pci_conf_match(cmd, pattern_buf, num_patterns, &dinfo->conf) == 0) { diff --git a/sys/sys/pciio.h b/sys/sys/pciio.h index 6467e82b1b3d..351397ab9d9b 100644 --- a/sys/sys/pciio.h +++ b/sys/sys/pciio.h @@ -77,6 +77,7 @@ struct pci_conf { u_int8_t pc_revid; /* chip revision ID */ char pd_name[PCI_MAXNAMELEN + 1]; /* device name */ u_long pd_unit; /* device unit number */ + int pd_numa_domain; /* device NUMA domain */ }; struct pci_match_conf { @@ -165,7 +166,6 @@ struct pci_bar_ioreq { #define PCIIO_BAR_MMAP_RW 0x04 #define PCIIO_BAR_MMAP_ACTIVATE 0x08 -#define PCIOCGETCONF _IOWR('p', 5, struct pci_conf_io) #define PCIOCREAD _IOWR('p', 2, struct pci_io) #define PCIOCWRITE _IOWR('p', 3, struct pci_io) #define PCIOCATTACHED _IOWR('p', 4, struct pci_io) @@ -173,5 +173,6 @@ struct pci_bar_ioreq { #define PCIOCLISTVPD _IOWR('p', 7, struct pci_list_vpd_io) #define PCIOCBARMMAP _IOWR('p', 8, struct pci_bar_mmap) #define PCIOCBARIO _IOWR('p', 9, struct pci_bar_ioreq) +#define PCIOCGETCONF _IOWR('p', 10, struct pci_conf_io) #endif /* !_SYS_PCIIO_H_ */ From nobody Thu Sep 4 02:45:34 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHP3f55HVz66cxG; Thu, 04 Sep 2025 02:45: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHP3f3Xbgz3MBB; Thu, 04 Sep 2025 02:45:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756953934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kYS9oCfxmAbiEZnsAXK4wd3hQEbXxbtZk9YsBLqtCl8=; b=u8X+lFtJtUor+NOyOFcH9XzI91RZVOadbuL04tndjjhU0+ffBdpDwwdZ3PNP18YH8UOXUa Co7ADZaiejpgAtUUUwaoGVDcKMaicN9+gMe6j4Lf4lPy77DMqQyzgp5Q1s1JLZIex8nzgK EUqj7i4rHfO6ylxjssB+3rgTNUz6cb7FOlFHjoLFxi1UoEVXSQguEvjCX/e6z0zolgTw0R XvNxk7AXrH2KHiPjhwgOZikcifr9xOEYqMYZK/TJ92ceaurgCPq873DU7ijE8clInAlWyF sRW4na7vC5dIHALsTVuFgSDMCL3C2DKBgp56laLJfSYCuYGoGqaGjQ819zsS4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756953934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kYS9oCfxmAbiEZnsAXK4wd3hQEbXxbtZk9YsBLqtCl8=; b=knE7g49VW7p7L9IjKnMY4mFCZT1Bv+5N81mwXqSgb1UPsHa5Ut7XPiIzFkV47AvYZa7STZ 8R1KohhxVwv9S9ZdI+YObjV1JCnzwD/Am0r1MVqw2dEEIjnfw9mMq8zdOM5yiloSBIHel0 Qirec2H9/e4ZEpB+IWuSIZUvz/V65gXrlLDgs6qEacO6UYRhToISNJmIKJFB9bN+G6tD2p sKkwpVAQd3WsUF2yRSVLc/1qVgpqrWou0P6lpcAbgn5jxIEd7N2eY3YURMw6AuLOvjN7yJ K4WAiRaN0OnZpGTo4ssrXBlgrHxL3oqWXZrLB2I3chsMjPL+e87lmaSoSlfOhw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756953934; a=rsa-sha256; cv=none; b=Rn/AsuZ6YbhqWha3U8ogvg1zDvnXxcfdcWu9qeHfEopp7TQSruluHOaQlhDoJ/KybzZuMu xt/sIGQJQzaYzGCx/b5sy+O4tOEkzSYSb/2cBrihgCmakxWThiiOXt1+UacHn+eceFWYc7 wnRgap1GhSW0HTx5VsQ+xDMMsXNJxny7YGLmpe/DbyM3vwInApZdv3zs6gnndsodGSRs3+ 391ti+nWQuZsWUu9Ryv1bjB3Nq4SimRrKJxRbZDAckyQedFVPS0/sPymjW1/csKYN6Bpyz iFwFjNEwexOYwW5UEVJuQDUPcnfPq5bHevDIVkPrrKJZt4pFrFF6ZOMNRotlfw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHP3f2ybkzkSC; Thu, 04 Sep 2025 02:45: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 5842jYiE085550; Thu, 4 Sep 2025 02:45:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5842jY1Q085547; Thu, 4 Sep 2025 02:45:34 GMT (envelope-from git) Date: Thu, 4 Sep 2025 02:45:34 GMT Message-Id: <202509040245.5842jY1Q085547@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jake Freeland Subject: git: 4f6f4aacaf97 - main - pci_user: Add compatibility padding List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jfree X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4f6f4aacaf97f301e5c5646649a1217ca8099349 Auto-Submitted: auto-generated The branch main has been updated by jfree: URL: https://cgit.FreeBSD.org/src/commit/?id=4f6f4aacaf97f301e5c5646649a1217ca8099349 commit 4f6f4aacaf97f301e5c5646649a1217ca8099349 Author: Jake Freeland AuthorDate: 2025-09-04 02:42:48 +0000 Commit: Jake Freeland CommitDate: 2025-09-04 02:42:48 +0000 pci_user: Add compatibility padding Avoid future compatibility churn when adding new members to struct pci_conf by introducing some padding. An additional member, pc_reported_len, has also been added to report the length of the valid portion of an encompassing pci_conf. This allows users to verify that their definition of pci_conf matches the kernel's, preventing the use of invalid data. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D52313 --- share/man/man4/pci.4 | 11 ++++++++++- sys/dev/pci/pci_user.c | 10 +++++++++- sys/sys/pciio.h | 2 ++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/share/man/man4/pci.4 b/share/man/man4/pci.4 index 5237b6bc7adc..b99747969035 100644 --- a/share/man/man4/pci.4 +++ b/share/man/man4/pci.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 20, 2025 +.Dd August 31, 2025 .Dt PCI 4 .Os .Sh NAME @@ -237,6 +237,15 @@ Driver name. Driver unit number. .It pd_numa_domain Driver NUMA domain. +.It pc_reported_len +Length of the valid portion of the encompassing +.Vt pci_conf +structure. +This should always be equivalent to the offset of the +.Va pc_spare +member. +.It pc_spare +Reserved for future use. .El .It offset The offset is passed in by the user to tell the kernel where it should diff --git a/sys/dev/pci/pci_user.c b/sys/dev/pci/pci_user.c index 5090ecb3dd7c..9768030995e7 100644 --- a/sys/dev/pci/pci_user.c +++ b/sys/dev/pci/pci_user.c @@ -80,6 +80,8 @@ struct pci_conf32 { char pd_name[PCI_MAXNAMELEN + 1]; /* device name */ u_int32_t pd_unit; /* device unit number */ int pd_numa_domain; /* device NUMA domain */ + u_int32_t pc_reported_len;/* length of PCI data reported */ + char pc_spare[64]; /* space for future fields */ }; struct pci_match_conf32 { @@ -885,8 +887,11 @@ pci_conf_for_copyout(const struct pci_conf *pcp, union pci_conf_union *pcup, strlcpy(pcup->pc32.pd_name, pcp->pd_name, sizeof(pcup->pc32.pd_name)); pcup->pc32.pd_unit = (uint32_t)pcp->pd_unit; - if (cmd == PCIOCGETCONF32) + if (cmd == PCIOCGETCONF32) { pcup->pc32.pd_numa_domain = pcp->pd_numa_domain; + pcup->pc32.pc_reported_len = + (uint32_t)offsetof(struct pci_conf32, pc_spare); + } return; #endif /* COMPAT_FREEBSD32 */ @@ -1326,6 +1331,9 @@ pci_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *t break; } + dinfo->conf.pc_reported_len = + offsetof(struct pci_conf, pc_spare); + pci_conf_for_copyout(&dinfo->conf, &pcu, cmd); error = copyout(&pcu, (caddr_t)cio->matches + diff --git a/sys/sys/pciio.h b/sys/sys/pciio.h index 351397ab9d9b..64c0b32cb8e2 100644 --- a/sys/sys/pciio.h +++ b/sys/sys/pciio.h @@ -78,6 +78,8 @@ struct pci_conf { char pd_name[PCI_MAXNAMELEN + 1]; /* device name */ u_long pd_unit; /* device unit number */ int pd_numa_domain; /* device NUMA domain */ + size_t pc_reported_len;/* length of PCI data reported */ + char pc_spare[64]; /* space for future fields */ }; struct pci_match_conf { From nobody Thu Sep 4 06:00:00 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHTN0602nz66ssS; Thu, 04 Sep 2025 06:00:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHTN05MGHz3d40; Thu, 04 Sep 2025 06:00:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756965600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6VFJc3uL5tz7WLVTxD8JwR8aGDy8RYrvNZ+4w3LkBLw=; b=V4VkG2ggsFfZ7oaNaKtqbg35NADNN3SqKRgNZ4IVoTi2ljlecN9qWP8VPrTzfCl5vvtb7a jUDPWUaK3DDQlabbs7bGxdwmv55uJoVP45BkImU113wFWKuumPBBqHgarv11X53wO6bvJp 9PAZFWTRVIkl8cWu9fJPYws/qQ6jo6AD43L/Wtzj8MAOQ4q7+9HKoDImh4JtGzlSOPchK3 7w226w4FJEUqydTkdYdV+BPzWsvyfILg/qQRqHHE+t0p0Spry6Bb600HgzLksqGy6Feyqz 8aFBcZEPsxobI3/Ge5rJawjawY5cW/x+WJydqvxVvLTlLnRezD5/H5YiK9ruTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756965600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6VFJc3uL5tz7WLVTxD8JwR8aGDy8RYrvNZ+4w3LkBLw=; b=muZe193q+zHzqwHkT+doSI0h7AP5ckyf2YYEXr5CkPjljpH0+FDnQr57Qaz5EbhnMehiUZ WeueuAZwNQTEPzji8UpjlXtufJ3nevp1GlzZ2lg+LnApN1ZDfnDiO1LbWl8DsH+JLtO29c fddcA2ZymKkYlSH1YxY/mq6Cia/z3uV3ucv9YYMWr8GQ/a2N0JtuXC0K+7WwkC7OsYrTnQ 1P2C3oVrEv2sSm5bg1Qa0qmpZwMDCSCt2Fipw1YQ8crY87d0dtG7+nIs24wheaCI68XsZ+ 9B+0v2MiXY/FxC7FVf0EDcGyxmDON0ZCDLT3AsGd7mBQyCLWXtXgVowsm/Y+JQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756965600; a=rsa-sha256; cv=none; b=Y3C+ZrKJ91wC2hT3zppjASN3m5URvavDxIM+++heriGQqbv7HtiOKEAWepe7p15BQa4lKp k1LdBcKQ2x4ocKLHUflmN5GuWS4fLviyMXCzu2MptF5VK3tTm05wjY/8NUhC1w7ASw+swf s8f6EQ4wtlhGUAq3MkEoMPrXRIkPmxgpmZp/RCWBvbMMzYtZ4fJXhRoKE0nNVkq5id+dD9 hLGgrxe+dxUqfI8b90INcyV8/p6DqGS8Jowa7bMwMBEb8ua0KzxKYlVf9Ya2hJ8yMQYjlh HxQdkleYDwhPpwpFSRU/rWvn+hYO5qtIjfyItsguomFzFlPZa05FSJEnRx7YkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHTN04b8zzqhw; Thu, 04 Sep 2025 06:00: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 5846000U048094; Thu, 4 Sep 2025 06:00:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5846008F048068; Thu, 4 Sep 2025 06:00:00 GMT (envelope-from git) Date: Thu, 4 Sep 2025 06:00:00 GMT Message-Id: <202509040600.5846008F048068@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: e7a04a110724 - main - awk: Merge upstream manpage updates List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e7a04a110724183c72e25c5c8461f89f50b4d08a Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=e7a04a110724183c72e25c5c8461f89f50b4d08a commit e7a04a110724183c72e25c5c8461f89f50b4d08a Author: Warner Losh AuthorDate: 2025-09-04 05:44:33 +0000 Commit: Warner Losh CommitDate: 2025-09-04 05:59:48 +0000 awk: Merge upstream manpage updates Merge the upstream manpage upades into awk.1. This goes through upstream hash 9acc510. Upstream man page is written in raw nroff with "an" macros, rather than in mandoc, so convert to mandoc as well. The man page isn't updated on imports automatically, plus our man page has diverged somewhat from upstraem's so it's not a mechanical change... PR: 230730 Sponsored by: Netflix --- usr.bin/awk/awk.1 | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 127 insertions(+), 9 deletions(-) diff --git a/usr.bin/awk/awk.1 b/usr.bin/awk/awk.1 index 65c91738966b..612669629a02 100644 --- a/usr.bin/awk/awk.1 +++ b/usr.bin/awk/awk.1 @@ -21,7 +21,7 @@ .\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, .\" ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF .\" THIS SOFTWARE. -.Dd July 30, 2021 +.Dd September 3, 2025 .Dt AWK 1 .Os .Sh NAME @@ -32,7 +32,7 @@ .Op Fl safe .Op Fl version .Op Fl d Ns Op Ar n -.Op Fl F Ar fs +.Op Fl F Ar fs | Fl -csv .Op Fl v Ar var Ns = Ns Ar value .Op Ar prog | Fl f Ar progfile .Ar @@ -42,9 +42,11 @@ scans each input .Ar file for lines that match any of a set of patterns specified literally in .Ar prog -or in one or more files specified as +or in one or more files +specified as .Fl f Ar progfile . -With each pattern there can be an associated action that will be performed +With each pattern +there can be an associated action that will be performed when a line of a .Ar file matches the pattern. @@ -76,6 +78,11 @@ to dump core on fatal errors. .It Fl F Ar fs Define the input field separator to be the regular expression .Ar fs . +.It Fl -csv +causes +.Nm +to process records using (more or less) standard comma-separated values +(CSV) format. .It Fl f Ar progfile Read program code from the specified file .Ar progfile @@ -178,7 +185,7 @@ as the field separator, use the option with a value of .Sq [t] . .Pp -A pattern-action statement has the form +A pattern-action statement has the form: .Pp .D1 Ar pattern Ic \&{ Ar action Ic \&} .Pp @@ -347,7 +354,7 @@ in a pattern. A pattern may consist of two patterns separated by a comma; in this case, the action is performed for all lines from an occurrence of the first pattern -through an occurrence of the second. +through an occurrence of the second, inclusive. .Pp A relational expression is one of the following: .Pp @@ -363,7 +370,8 @@ A relational expression is one of the following: .Pp where a .Ar relop -is any of the six relational operators in C, and a +is any of the six relational operators in C, +and a .Ar matchop is either .Ic ~ @@ -386,6 +394,9 @@ and after the last. and .Ic END do not combine with other patterns. +They may appear multiple times in a program and execute +in the order they are read by +.Nm .Pp Variable names with special meanings: .Pp @@ -428,6 +439,11 @@ The length of the string matched by the function. .It Va RS Input record separator (default newline). +If empty, blank lines separate records. +If more than one character long, +.Va RS +is treated as a regular expression, and records are +separated by text matching the expression. .It Va RSTART The starting position of the string matched by the .Fn match @@ -515,7 +531,8 @@ occurs, or 0 if it does not. The length of .Fa s taken as a string, -or of +number of elements in an array for an array argument, +or length of .Va $0 if no argument is given. .It Fn match s r @@ -696,10 +713,44 @@ records from .Ar file remains open until explicitly closed with a call to .Fn close . +.It Fn systime +returns the current date and time as a standard +.Dq seconds since the epoch +value. +.It Fn strftime fmt timestamp +formats +.Fa timestamp +(a value in seconds since the epoch) +according to +Fa fmt , +which is a format string as supported by +.Xr strftime 3 . +Both +.Fa timestamp +and +.Fa fmt +may be omitted; if no +.Fa timestamp , +the current time of day is used, and if no +.Fa fmt , +a default format of +.Dq %a %b %e %H:%M:%S %Z %Y +is used. .It Fn system cmd Executes .Fa cmd and returns its exit status. +This will be -1 upon error, +.Fa cmd 's +exit status upon a normal exit, +256 + +.Va sig +upon death-by-signal, where +.Va sig +is the number of the murdering signal, +or 512 + +.Va sig +if there was a core dump. .El .Ss Bit-Operation Functions .Bl -tag -width "lshift(a, b)" @@ -725,6 +776,16 @@ Returns integer argument x shifted by n bits to the right. But note that the .Ic exit expression can modify the exit status. +.Sh ENVIRONMENT VARIABLES +If +.Va POSIXLY_CORRECT +is set in the environment, then +.Nm +follows the POSIX rules for +.Fn sub +and +.Fn gsub +with respect to consecutive backslashes and ampersands. .Sh EXAMPLES Print lines longer than 72 characters: .Pp @@ -734,7 +795,7 @@ Print first two fields in opposite order: .Pp .Dl { print $2, $1 } .Pp -Same, with input fields separated by comma and/or blanks and tabs: +Same, with input fields separated by comma and/or spaces and tabs: .Bd -literal -offset indent BEGIN { FS = ",[ \et]*|[ \et]+" } { print $2, $1 } @@ -810,6 +871,63 @@ to it. .Pp The scope rules for variables in functions are a botch; the syntax is worse. +.Pp +Input is expected to be UTF-8 encoded. +Other multibyte character sets are not handled. +However, in eight-bit locales, +.Nm +treats each input byte as a separate character. +.Sh UNUSUAL FLOATING-POINT VALUES +.Nm +was designed before IEEE 754 arithmetic defined Not-A-Number (NaN) +and Infinity values, which are supported by all modern floating-point +hardware. +.Pp +Because +.Nm +uses +.Xr strtod 3 +and +.Xr atof 3 +to convert string values to double-precision floating-point values, +modern C libraries also convert strings starting with +.Va inf +and +.Va nan +into infinity and NaN values respectively. +This led to strange results, +with something like this: +.Bd -literal -offset indent +echo nancy | awk '{ print $1 + 0 }' +.Ed +.Pp +printing +.Dq nan +instead of zero. +.Pp +.Nm +now follows GNU AWK, and prefilters string values before attempting +to convert them to numbers, as follows: +.Bl -tag -width "Hexadecimal values" +.It Hexadecimal values +Hexadecimal values (allowed since C99) convert to zero, as they did +prior to C99. +.It NaN values +The two strings +.Dq +nan +and +.Dq -nan +(case independent) convert to NaN. +No others do. +(NaNs can have signs.) +.It Infinity values +The two strings +.Dq +inf +and +.Dq -inf +(case independent) convert to positive and negative infinity, respectively. +No others do. +.El .Sh DEPRECATED BEHAVIOR One True Awk has accepted .Fl F Ar t From nobody Thu Sep 4 11:26:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHccN1Y6Rz65pbH; Thu, 04 Sep 2025 11:26: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHccM6JSjz4GF9; Thu, 04 Sep 2025 11:26:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756985171; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wv16h+h2FJVrhIIociEDZjZUlZAUUGWLWDzo7sztATg=; b=l1W3K5PME93TiAFwQuOcwKijBEtPZGAA5MjOZLKSikcI5pozC8vankCtcpntg8fYcVDrhr umnOJhmFIvKpYg5HMjwVUbFSZXKJ/fk7yWf0dsfaqf/+FJ21s8Ap1FuP8TP4JaVa14+0/n fmo3GCy6p0yTnynAy6BblL8QW1LWuaQeDyjfiaQIP6sgoSnmOsH+WTU2ujM4+YDdRkDLOm GwhOHfS4etQ4cBhUz5aXNj867zGGX4Y1QQELFyvbn6mterce+SGg9tn8HC+FUIm3cMHmXX 6rXpCrM9EFtOHEcxpWvcJOkZZcysiSJL5l+jXATJDmjv+dGBLwav/xXurBn/VA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756985171; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wv16h+h2FJVrhIIociEDZjZUlZAUUGWLWDzo7sztATg=; b=WxreLpIbxV9MzwPD+ifkKIGA2eedfNcbR6VIzWS0qs7Au8rh8CbiH6qkhiGg5tirXQIwJd 0IeoqfkxvwsrnM+a1os9SVPXY/wromUNYptvHcKXWulrwHwLmaQo5QMWfjLSmzA+LxbDdv 6Ss98AWbcbtVqFfzWAVa8tXpJJdmpFPN5V5KWvRCqvatmm4XEe/66OrEeXtCfcp7hga4Eu zeKyWa1PDyZmLn2EFXhaBYxrjcJ5tiKS6QduDp+S2SI9370mXxtXDoGGKptMvFsxVcdXbS A48Quw7gjECMLQJFf0n59/WBVP5I14C/tA11vL2x76x8DdYejRVa+6tQbtTj4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756985171; a=rsa-sha256; cv=none; b=ynVEUFNap9skgbxyL6JFoSkRZH8JeIC30dIEiMiYJRvIlKWCdfTJX9A3sfOKhBYpkVCS0P Ekmn/r+ZCJWMDTT1YQ0leT7zmrtAiViExJL1i+E68uapoQmmurjN8sMLG6mR3PW3XWDNQk HModuXMMPbHmpOyUNlDV1Ab+NHAatkDkt1hrfhc99V7CxGbc5HmuBpUTVgicBUpQKZSY8y QnSo8BtWFHZvJgRT0qSbv1Ngixdfvheg/8J7m/YqXn9KT5vdQrf5+RdFtevwC1Rn7J4PPW TYeDvyJ86kuFsvypbwxc4cKYNszXD51hwcrV1T+VU+wh7PGjAUzgsa03eubM1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHccM5kNvz10sm; Thu, 04 Sep 2025 11:26: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 584BQBKN067766; Thu, 4 Sep 2025 11:26:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584BQBBt067763; Thu, 4 Sep 2025 11:26:11 GMT (envelope-from git) Date: Thu, 4 Sep 2025 11:26:11 GMT Message-Id: <202509041126.584BQBBt067763@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 1c23d8f9f398 - main - vtnet: improve checksum offloading List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1c23d8f9f39870951c1d0dfbb112fc4e53237737 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=1c23d8f9f39870951c1d0dfbb112fc4e53237737 commit 1c23d8f9f39870951c1d0dfbb112fc4e53237737 Author: Michael Tuexen AuthorDate: 2025-09-04 11:16:46 +0000 Commit: Michael Tuexen CommitDate: 2025-09-04 11:16:46 +0000 vtnet: improve checksum offloading When transmitting a packet over the vtnet interface, map the csum flags CSUM_DATA_VALID | CSUM_PSEUDO_HDR to the virtio flag VIRTIO_NET_HDR_F_DATA_VALID. When receiving a packet over the virtio network channel, translate the virtio flag VIRTIO_NET_HDR_F_NEEDS_CSUM not to CSUM_DATA_VALID | CSUM_PSEUDO_HDR, but to CSUM_TCP, CSUM_TCP_IPV6, CSUM_UDP, or CSUM_UDP_IPV6. The second change fixes a series of issue related to checksum offloading for if_vtnet. While there, improve the stats counters to allow a detailed view on what is going on in relation to checksum offloading. PR: 165059 Reviewed by: tuexen, manpages MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D51686 --- share/man/man4/vtnet.4 | 28 +++-- sys/dev/virtio/network/if_vtnet.c | 220 ++++++++++++++++++----------------- sys/dev/virtio/network/if_vtnetvar.h | 2 +- 3 files changed, 132 insertions(+), 118 deletions(-) diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4 index 073383df11ff..67a835050422 100644 --- a/share/man/man4/vtnet.4 +++ b/share/man/man4/vtnet.4 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd September 3, 2025 +.Dd September 4, 2025 .Dt VTNET 4 .Os .Sh NAME @@ -153,7 +153,14 @@ The number of times the receive interrupt handler was rescheduled. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .host_lro The number of times TCP large receive offload was performed. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed -Currently not used. +The number of times a packet with a request for receive or transmit checksum +offloading was received and this request failed. +The different reasons for the failure are counted by +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto , +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto , +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype , +and +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset . .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum The number of times receive checksum offloading for UDP or TCP was performed. .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .ierrors @@ -213,18 +220,21 @@ over all receive queues of the interface. The sum of .Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed over all receive queues of the interface. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_proto -Currently unused. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto +The number of times a packet with a request for receive or transmit checksum +offloading was received where the IP protocol was not accessible. .It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset -Currently unused. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto -Currently unused. -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype The number of times fixing the checksum required by .Va hw.vtnet.fixup_needs_csum or .Va hw.vtnet. Ns Ar X Ns Va .fixup_needs_csum -was attempted for a packet with an EtherType other than IPv4 or IPv6. +was attempted for a packet where the csum is not located in the first mbuf. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto +The number of times a packet with a request for receive or transmit checksum +offloading was received where the IP protocol was neither TCP nor UDP. +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype +The number of times a packet with a request for receive or transmit checksum +offloading was received where the EtherType was neither IPv4 nor IPv6. .It Va dev.vtnet. Ns Ar X Ns Va .rx_mergeable_failed The number of times receiving a mergable buffer failed. .It Va dev.vtnet. Ns Ar X Ns Va .rx_enq_replacement_failed diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 867da80a53a8..4f19af6281a3 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -134,9 +134,9 @@ static int vtnet_rxq_replace_buf(struct vtnet_rxq *, struct mbuf *, int); static int vtnet_rxq_enqueue_buf(struct vtnet_rxq *, struct mbuf *); static int vtnet_rxq_new_buf(struct vtnet_rxq *); static int vtnet_rxq_csum_needs_csum(struct vtnet_rxq *, struct mbuf *, - uint16_t, int, struct virtio_net_hdr *); -static int vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf *, - uint16_t, int, struct virtio_net_hdr *); + bool, int, struct virtio_net_hdr *); +static void vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf *, + int); static int vtnet_rxq_csum(struct vtnet_rxq *, struct mbuf *, struct virtio_net_hdr *); static void vtnet_rxq_discard_merged_bufs(struct vtnet_rxq *, int); @@ -1761,162 +1761,161 @@ vtnet_rxq_new_buf(struct vtnet_rxq *rxq) } static int -vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, uint16_t etype, - int hoff, struct virtio_net_hdr *hdr) +vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, bool isipv6, + int protocol, struct virtio_net_hdr *hdr) { struct vtnet_softc *sc; - int error; - sc = rxq->vtnrx_sc; + /* + * The packet is likely from another VM on the same host or from the + * host that itself performed checksum offloading so Tx/Rx is basically + * a memcpy and the checksum has little value so far. + */ + + KASSERT(protocol == IPPROTO_TCP || protocol == IPPROTO_UDP, + ("%s: unsupported IP protocol %d", __func__, protocol)); /* - * NEEDS_CSUM corresponds to Linux's CHECKSUM_PARTIAL, but FreeBSD does - * not have an analogous CSUM flag. The checksum has been validated, - * but is incomplete (TCP/UDP pseudo header). - * - * The packet is likely from another VM on the same host that itself - * performed checksum offloading so Tx/Rx is basically a memcpy and - * the checksum has little value. - * - * Default to receiving the packet as-is for performance reasons, but - * this can cause issues if the packet is to be forwarded because it - * does not contain a valid checksum. This patch may be helpful: - * https://reviews.freebsd.org/D6611. In the meantime, have the driver - * compute the checksum if requested. - * - * BMV: Need to add an CSUM_PARTIAL flag? + * If the user don't want us to fix it up here by computing the + * checksum, just forward the order to compute the checksum by setting + * the corresponding mbuf flag (e.g., CSUM_TCP). */ + sc = rxq->vtnrx_sc; if ((sc->vtnet_flags & VTNET_FLAG_FIXUP_NEEDS_CSUM) == 0) { - error = vtnet_rxq_csum_data_valid(rxq, m, etype, hoff, hdr); - return (error); + switch (protocol) { + case IPPROTO_TCP: + m->m_pkthdr.csum_flags |= + (isipv6 ? CSUM_TCP_IPV6 : CSUM_TCP); + break; + case IPPROTO_UDP: + m->m_pkthdr.csum_flags |= + (isipv6 ? CSUM_UDP_IPV6 : CSUM_UDP); + break; + } + m->m_pkthdr.csum_data = hdr->csum_offset; + return (0); } /* * Compute the checksum in the driver so the packet will contain a * valid checksum. The checksum is at csum_offset from csum_start. */ - switch (etype) { -#if defined(INET) || defined(INET6) - case ETHERTYPE_IP: - case ETHERTYPE_IPV6: { - int csum_off, csum_end; - uint16_t csum; + int csum_off, csum_end; + uint16_t csum; - csum_off = hdr->csum_start + hdr->csum_offset; - csum_end = csum_off + sizeof(uint16_t); + csum_off = hdr->csum_start + hdr->csum_offset; + csum_end = csum_off + sizeof(uint16_t); - /* Assume checksum will be in the first mbuf. */ - if (m->m_len < csum_end || m->m_pkthdr.len < csum_end) - return (1); - - /* - * Like in_delayed_cksum()/in6_delayed_cksum(), compute the - * checksum and write it at the specified offset. We could - * try to verify the packet: csum_start should probably - * correspond to the start of the TCP/UDP header. - * - * BMV: Need to properly handle UDP with zero checksum. Is - * the IPv4 header checksum implicitly validated? - */ - csum = in_cksum_skip(m, m->m_pkthdr.len, hdr->csum_start); - *(uint16_t *)(mtodo(m, csum_off)) = csum; - m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; - m->m_pkthdr.csum_data = 0xFFFF; - break; - } -#endif - default: - sc->vtnet_stats.rx_csum_bad_ethtype++; + /* Assume checksum will be in the first mbuf. */ + if (m->m_len < csum_end || m->m_pkthdr.len < csum_end) { + sc->vtnet_stats.rx_csum_bad_offset++; return (1); } + /* + * Like in_delayed_cksum()/in6_delayed_cksum(), compute the + * checksum and write it at the specified offset. We could + * try to verify the packet: csum_start should probably + * correspond to the start of the TCP/UDP header. + * + * BMV: Need to properly handle UDP with zero checksum. Is + * the IPv4 header checksum implicitly validated? + */ + csum = in_cksum_skip(m, m->m_pkthdr.len, hdr->csum_start); + *(uint16_t *)(mtodo(m, csum_off)) = csum; + m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; + m->m_pkthdr.csum_data = 0xFFFF; + return (0); } +static void +vtnet_rxq_csum_data_valid(struct vtnet_rxq *rxq, struct mbuf *m, int protocol) +{ + KASSERT(protocol == IPPROTO_TCP || protocol == IPPROTO_UDP, + ("%s: unsupported IP protocol %d", __func__, protocol)); + + m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; + m->m_pkthdr.csum_data = 0xFFFF; +} + static int -vtnet_rxq_csum_data_valid(struct vtnet_rxq *rxq, struct mbuf *m, - uint16_t etype, int hoff, struct virtio_net_hdr *hdr __unused) +vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, + struct virtio_net_hdr *hdr) { -#if 0 + const struct ether_header *eh; struct vtnet_softc *sc; -#endif - int protocol; + int hoff, protocol; + uint16_t etype; + bool isipv6; + + KASSERT(hdr->flags & + (VIRTIO_NET_HDR_F_NEEDS_CSUM | VIRTIO_NET_HDR_F_DATA_VALID), + ("%s: missing checksum offloading flag %x", __func__, hdr->flags)); + + eh = mtod(m, const struct ether_header *); + etype = ntohs(eh->ether_type); + if (etype == ETHERTYPE_VLAN) { + /* TODO BMV: Handle QinQ. */ + const struct ether_vlan_header *evh = + mtod(m, const struct ether_vlan_header *); + etype = ntohs(evh->evl_proto); + hoff = sizeof(struct ether_vlan_header); + } else + hoff = sizeof(struct ether_header); -#if 0 sc = rxq->vtnrx_sc; -#endif + /* Check whether ethernet type is IP or IPv6, and get protocol. */ switch (etype) { #if defined(INET) case ETHERTYPE_IP: - if (__predict_false(m->m_len < hoff + sizeof(struct ip))) - protocol = IPPROTO_DONE; - else { + if (__predict_false(m->m_len < hoff + sizeof(struct ip))) { + sc->vtnet_stats.rx_csum_inaccessible_ipproto++; + return (1); + } else { struct ip *ip = (struct ip *)(m->m_data + hoff); protocol = ip->ip_p; } + isipv6 = false; break; #endif #if defined(INET6) case ETHERTYPE_IPV6: if (__predict_false(m->m_len < hoff + sizeof(struct ip6_hdr)) - || ip6_lasthdr(m, hoff, IPPROTO_IPV6, &protocol) < 0) - protocol = IPPROTO_DONE; + || ip6_lasthdr(m, hoff, IPPROTO_IPV6, &protocol) < 0) { + sc->vtnet_stats.rx_csum_inaccessible_ipproto++; + return (1); + } + isipv6 = true; break; #endif default: - protocol = IPPROTO_DONE; - break; + sc->vtnet_stats.rx_csum_bad_ethtype++; + return (1); } + /* Check whether protocol is TCP or UDP. */ switch (protocol) { case IPPROTO_TCP: case IPPROTO_UDP: - m->m_pkthdr.csum_flags |= CSUM_DATA_VALID | CSUM_PSEUDO_HDR; - m->m_pkthdr.csum_data = 0xFFFF; break; default: /* * FreeBSD does not support checksum offloading of this - * protocol. Let the stack re-verify the checksum later - * if the protocol is supported. + * protocol here. */ -#if 0 - if_printf(sc->vtnet_ifp, - "%s: checksum offload of unsupported protocol " - "etype=%#x protocol=%d csum_start=%d csum_offset=%d\n", - __func__, etype, protocol, hdr->csum_start, - hdr->csum_offset); -#endif - break; + sc->vtnet_stats.rx_csum_bad_ipproto++; + return (1); } - return (0); -} - -static int -vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, - struct virtio_net_hdr *hdr) -{ - const struct ether_header *eh; - int hoff; - uint16_t etype; - - eh = mtod(m, const struct ether_header *); - etype = ntohs(eh->ether_type); - if (etype == ETHERTYPE_VLAN) { - /* TODO BMV: Handle QinQ. */ - const struct ether_vlan_header *evh = - mtod(m, const struct ether_vlan_header *); - etype = ntohs(evh->evl_proto); - hoff = sizeof(struct ether_vlan_header); - } else - hoff = sizeof(struct ether_header); - if (hdr->flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) - return (vtnet_rxq_csum_needs_csum(rxq, m, etype, hoff, hdr)); + return (vtnet_rxq_csum_needs_csum(rxq, m, isipv6, protocol, + hdr)); else /* VIRTIO_NET_HDR_F_DATA_VALID */ - return (vtnet_rxq_csum_data_valid(rxq, m, etype, hoff, hdr)); + vtnet_rxq_csum_data_valid(rxq, m, protocol); + + return (0); } static void @@ -2497,6 +2496,10 @@ vtnet_txq_offload(struct vtnet_txq *txq, struct mbuf *m, hdr->csum_start = vtnet_gtoh16(sc, csum_start); hdr->csum_offset = vtnet_gtoh16(sc, m->m_pkthdr.csum_data); txq->vtntx_stats.vtxs_csum++; + } else if ((flags & (CSUM_DATA_VALID | CSUM_PSEUDO_HDR)) && + (proto == IPPROTO_TCP || proto == IPPROTO_UDP) && + (m->m_pkthdr.csum_data == 0xFFFF)) { + hdr->flags |= VIRTIO_NET_HDR_F_DATA_VALID; } if (flags & (CSUM_IP_TSO | CSUM_IP6_TSO)) { @@ -2610,7 +2613,8 @@ vtnet_txq_encap(struct vtnet_txq *txq, struct mbuf **m_head, int flags) m->m_flags &= ~M_VLANTAG; } - if (m->m_pkthdr.csum_flags & VTNET_CSUM_ALL_OFFLOAD) { + if (m->m_pkthdr.csum_flags & + (VTNET_CSUM_ALL_OFFLOAD | CSUM_DATA_VALID)) { m = vtnet_txq_offload(txq, m, hdr); if ((*m_head = m) == NULL) { error = ENOBUFS; @@ -4322,9 +4326,9 @@ vtnet_setup_stat_sysctl(struct sysctl_ctx_list *ctx, SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_bad_offset", CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_bad_offset, "Received checksum offloaded buffer with incorrect offset"); - SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_bad_proto", - CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_bad_proto, - "Received checksum offloaded buffer with incorrect protocol"); + SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_inaccessible_ipproto", + CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_inaccessible_ipproto, + "Received checksum offloaded buffer with inaccessible IP protocol"); SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_csum_failed", CTLTYPE_U64 | CTLFLAG_RD | CTLFLAG_STATS, sc, 0, vtnet_sysctl_rx_csum_failed, "QU", diff --git a/sys/dev/virtio/network/if_vtnetvar.h b/sys/dev/virtio/network/if_vtnetvar.h index 0144b0f3232d..cab7ced639a7 100644 --- a/sys/dev/virtio/network/if_vtnetvar.h +++ b/sys/dev/virtio/network/if_vtnetvar.h @@ -46,7 +46,7 @@ struct vtnet_statistics { uint64_t rx_csum_bad_ethtype; uint64_t rx_csum_bad_ipproto; uint64_t rx_csum_bad_offset; - uint64_t rx_csum_bad_proto; + uint64_t rx_csum_inaccessible_ipproto; uint64_t tx_csum_unknown_ethtype; uint64_t tx_csum_proto_mismatch; uint64_t tx_tso_not_tcp; From nobody Thu Sep 4 11:42:34 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHczG3snjz65rql; Thu, 04 Sep 2025 11:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHczG2tVGz4JDb; Thu, 04 Sep 2025 11:42:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756986154; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wb0FiHxYNtAKFSXaiyx5wzsJ77g2lI4wldQh+Z18B7o=; b=AmXdeQAjXwi1OuZJdZDd5vL2tjBhGMKdfKDGFofLS/os8tBtFKRmrE63+bQ1u4MGeeQbd4 EnvyETLfDfXMzLct0+4kVSjliM4hCN0d4cxyrtzH01zBen8dNetZ2KBPnS19FlmnILMjsG 14G4oM80uWJXEhcDNt1VnfRA8PZ+DNEiJZxVn/lZ3F0seixnNp4+CxEkFimwWQdNBZW6Dk W6uFWJZMibZnpvpvpcqOXHqhLPX5PmmfGDfGOPebumvURG0Hr19tezVBusYhXkbfdrcMpf RPfSdElzz+QW4dgfIx4OopgKXCZq18i2pIM9fSB7DDCfxY0VI9U7ZJ5PE95R8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756986154; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wb0FiHxYNtAKFSXaiyx5wzsJ77g2lI4wldQh+Z18B7o=; b=tBGkJ1UBKXryY6RBjdkYLfXC/0IGi9Wp99F/jGsVnXcDWESIrRbrn3fexN4ZzlQFpyCJKi nNuHnmMG9B+QeoJNnkPvqdWUpwb2o/KRDKF1wgLtQY/Mi06ZIAIkR5+SZ6ogOYzhcrju7d fXCrPC18P1klAq3RBaXrHtWtbzfzVc+O3oGZaxx1fWc6cKnEvXHv+DI+k2aF+CTqY+I+QU slwdw0NXNk/7r/KWPiqmxGih27dhk8j6PENUp/zEGkdUlvviKhpir46QI69su84i4/wZQg MjmJttV8sYgXEp/bGYhGs+Er3KsJtH99GOr7AFPED9sTsINdsujjNNT3jkoubw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756986154; a=rsa-sha256; cv=none; b=ZIMj3vkLUczA7U09LqZi7wdFuiK2zGhh73acJ552bD0Bp3HFtUoIqoK7s5hjELtxovEWNi z7keYsJelcMdkBZLHKkpV6tPyx4ophO2gn4hq2BiAqlsyo0lLxNTm3kmm4nrZIYwFPoJ94 Mez4RlN4yIbo236CfW+lRAt8s0PNF16m5fjllQzXxFty7WJM1tdoAEeMJ4RVZfFp2jSozK ZMOjXQFTFgMC/H56w/8/bC7vtZYNT4qS0bzhKhccxaLEpLXKxXEXE5sXHSk+jtVLFHYZgb KVFo72K0rqjx87zBAeF4iSxMOEgRFuL+swnqyZQnkBK3Rbkct7iWt/Q9gQdniQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHczG2TWBz119b; Thu, 04 Sep 2025 11:42: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 584BgYEw003576; Thu, 4 Sep 2025 11:42:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584BgYAL003573; Thu, 4 Sep 2025 11:42:34 GMT (envelope-from git) Date: Thu, 4 Sep 2025 11:42:34 GMT Message-Id: <202509041142.584BgYAL003573@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: e21c3dae6767 - main - pf: map checksum offloading flags for NAT64 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e21c3dae676776518b2abf69ef960084c13a21c1 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=e21c3dae676776518b2abf69ef960084c13a21c1 commit e21c3dae676776518b2abf69ef960084c13a21c1 Author: Timo Völker AuthorDate: 2025-09-04 11:35:00 +0000 Commit: Michael Tuexen CommitDate: 2025-09-04 11:35:00 +0000 pf: map checksum offloading flags for NAT64 When doing NAT64, not only map the packet, but also map the csum_flags in the mbuf header. This fixes NAT64 when pf is used in combination with transmit checksum offloading. Reviewed by: kp, tuexen MFC after: 1 week --- sys/netpfil/pf/pf.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index d15a16c54f81..242152f17db0 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -3633,6 +3633,18 @@ pf_translate_af(struct pf_pdesc *pd) pd->src = (struct pf_addr *)&ip4->ip_src; pd->dst = (struct pf_addr *)&ip4->ip_dst; pd->off = sizeof(struct ip); + if (pd->m->m_pkthdr.csum_flags & CSUM_TCP_IPV6) { + pd->m->m_pkthdr.csum_flags &= ~CSUM_TCP_IPV6; + pd->m->m_pkthdr.csum_flags |= CSUM_TCP; + } + if (pd->m->m_pkthdr.csum_flags & CSUM_UDP_IPV6) { + pd->m->m_pkthdr.csum_flags &= ~CSUM_UDP_IPV6; + pd->m->m_pkthdr.csum_flags |= CSUM_UDP; + } + if (pd->m->m_pkthdr.csum_flags & CSUM_SCTP_IPV6) { + pd->m->m_pkthdr.csum_flags &= ~CSUM_SCTP_IPV6; + pd->m->m_pkthdr.csum_flags |= CSUM_SCTP; + } break; case AF_INET6: ip6 = mtod(pd->m, struct ip6_hdr *); @@ -3650,6 +3662,18 @@ pf_translate_af(struct pf_pdesc *pd) pd->src = (struct pf_addr *)&ip6->ip6_src; pd->dst = (struct pf_addr *)&ip6->ip6_dst; pd->off = sizeof(struct ip6_hdr); + if (pd->m->m_pkthdr.csum_flags & CSUM_TCP) { + pd->m->m_pkthdr.csum_flags &= ~CSUM_TCP; + pd->m->m_pkthdr.csum_flags |= CSUM_TCP_IPV6; + } + if (pd->m->m_pkthdr.csum_flags & CSUM_UDP) { + pd->m->m_pkthdr.csum_flags &= ~CSUM_UDP; + pd->m->m_pkthdr.csum_flags |= CSUM_UDP_IPV6; + } + if (pd->m->m_pkthdr.csum_flags & CSUM_SCTP) { + pd->m->m_pkthdr.csum_flags &= ~CSUM_SCTP; + pd->m->m_pkthdr.csum_flags |= CSUM_SCTP_IPV6; + } /* * If we're dealing with a reassembled packet we need to adjust From nobody Thu Sep 4 11:59:54 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHdMH21K5z65sYD; Thu, 04 Sep 2025 11:59: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHdMH11yfz4KwH; Thu, 04 Sep 2025 11:59:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756987195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zXQCgzzyuLa/MvkR01ASA/nJLZ7ucoroCq82cUHQHXA=; b=rLPlmlYLoM44XgldpqQbmDmdzRFkv06WoEX/Od9VcrBKEyp5iLcga80zb/VyOW5an9Q1cr Jz1e2dYIwIpFmGiFz7+3oycEZcMzQaAvbaMaUneKHu75TEc3UWno2brIulDrwo4Uv/r/7K JN/PBcWtVBcr+EwRwHRmHsHK0AalQiE/USAWZYiMPSn9zaRekxsu/dIP12CUpk/5dUXInP cKIZn8XbqrtX6aqnL0+W0zWiNPgheb0Mfndf0S1L0pI4isjoP/55dgWiRnfdUUpLyllo6g KE8BcxpyrIix9rRULe5gTVgn4BqwNjcqnSRxKVqc8BPz5nwqrrOpigJ3pSL75A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756987195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zXQCgzzyuLa/MvkR01ASA/nJLZ7ucoroCq82cUHQHXA=; b=gD0QJLw+yL3zhGroD0t0VI2GMNG+M8IXrUBYA/eYu5XeJU7wdBV3hKED7+pOOEZXbRQMPL 9c5KCzGZUcgKgoCaN8QWdRwIu4SishxX3teicNGz7on3pSmcbFSWGuqUobS8G+tVcADdiH K27VWeqdEC/XsI/dMePpHzmZQZfGfuhFy8zHOeV9IpCg+9NSQJDLjZFjlyMQ1M8Gdttoxy mQd/Ha3eRjRsDCb2PbUuLXUZhYdAShpBQp8b3KsYLjaswttO/NosGVH3rHdcSXLlniNo9b wsPhkMgKW4wn6GLjsBCDN82Eyy1g2mTIodtcwV37mrF7zpx1jRX250In/lNXVw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756987195; a=rsa-sha256; cv=none; b=Vqh7EKhz5BvpH3Oxl6MXJ+/oEwxYKf3BLJFVUJFDR55Eon3pLlA33uDP5wLp+8tcVo3lWg ofd8ZbsDMiW1c3+ZjuCwc5r66fPM0Ly7W0vfbpPIPeNPWg2wL/2X5QXsRe519olxE0sWpQ WMc3eutve0Ab2ObXOSq2VqfkgKtvr9gbv/1D99Am5IZ1/7RYOM4QGWbFNNtnBbS07jORzG m+Qs9aUIv6gKajH3mhMhDZPBG7aMOq6aX7YqlOhOAKvHGed0Ur+T1qb8zOXVkzXJ9O20Yq DMQdBfVTrz5mf8kBnPLAzufeOIPn2zSglbzbLqQdlhxsPn3bC8TQPMDa12+2AA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHdMH02yBz11Sm; Thu, 04 Sep 2025 11:59: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 584BxsX1025170; Thu, 4 Sep 2025 11:59:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584Bxs1d025167; Thu, 4 Sep 2025 11:59:54 GMT (envelope-from git) Date: Thu, 4 Sep 2025 11:59:54 GMT Message-Id: <202509041159.584Bxs1d025167@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: bd8296e7173a - main - tests: disable transmit checksum offloading for epair interfaces List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd8296e7173aa625f6d4d766aac2df6be639e49a Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=bd8296e7173aa625f6d4d766aac2df6be639e49a commit bd8296e7173aa625f6d4d766aac2df6be639e49a Author: Michael Tuexen AuthorDate: 2025-09-04 11:52:37 +0000 Commit: Michael Tuexen CommitDate: 2025-09-04 11:52:37 +0000 tests: disable transmit checksum offloading for epair interfaces When transmit checksum offloading is enabled, if_epair does not compute checksums, it just marks packets that this computation still needs to be done. However, some test cases verify the checksum. Therefore disable this for IPv4 and IPv6. Reviewed by: kp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D52379 --- tests/atf_python/sys/net/vnet.py | 1 + tests/sys/common/vnet.subr | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/tests/atf_python/sys/net/vnet.py b/tests/atf_python/sys/net/vnet.py index 7afb5c721bf3..c96eb5d671fc 100644 --- a/tests/atf_python/sys/net/vnet.py +++ b/tests/atf_python/sys/net/vnet.py @@ -103,6 +103,7 @@ class VnetInterface(object): if1 = cls(alias_name, name) ret = [if1] if name.startswith("epair"): + run_cmd("/sbin/ifconfig {} -txcsum -txcsum6".format(name)) if2 = cls(alias_name, name[:-1] + "b") if1.epairb = if2 ret.append(if2); diff --git a/tests/sys/common/vnet.subr b/tests/sys/common/vnet.subr index bd98b02da33f..0a32e6caf813 100644 --- a/tests/sys/common/vnet.subr +++ b/tests/sys/common/vnet.subr @@ -42,6 +42,11 @@ vnet_init() vnet_mkepair() { ifname=$(ifconfig epair create) + # When transmit checksum offloading is enabled, if_epair does not + # compute checksums, it just marks packets that this computation still + # needs to be done. However, some test cases verify the checksum. + # Therefore disable this for IPv4 and IPv6. + ifconfig ${ifname} -txcsum -txcsum6 list_interface $ifname list_interface ${ifname%a}b echo ${ifname%a} From nobody Thu Sep 4 12:14:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHdgl4Qnmz65tmX; Thu, 04 Sep 2025 12:14:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHdgl3dgNz4MQl; Thu, 04 Sep 2025 12:14:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756988051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qsYEPXtv1FJtB4Oh7tdOQehZdfN1F8PI3usqbevRXsc=; b=DdO25Vh7JBCzWPFy2TN1+TPyKgpMUkRJb6vleELHpGNDBpyKrlaFI4Hj+1UKRX61TSmhrR mDOItqtm6ZJuZOxRHp50uYcs4+TctZgMslpaZ9bM6CrJvUzls0iT80+XOX868/mvVsd395 s/TzUYqEkkTqTBcBbrX7IDGL4nRSax5eIVjmOin7IQiDv3G0P8BRp6QSVVZvKfIJCl2uWp NNrOEf7evVI3yyUeNAgaZ7TINsbaCD4cxiP6Se7RO4l6vs14jVvi6MVIIp6PosBv1xm5Ko zgKKZYryKnnM1UOICvqyGCScOU6TmxMsb7F1eCNompDzJaxMZQRubY2zcLSHWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756988051; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qsYEPXtv1FJtB4Oh7tdOQehZdfN1F8PI3usqbevRXsc=; b=S23ZHS4JYG8Z2qEtKxx2uMXSG043mUJXiBRYb0NvkN+myV9UO2niuaErzQuCU6S5wPVknk 5CFyUIOap8nMO8suSXFjJOLicZcFPbxELvKYzgpoyUhGXeIU7UqveRI9ZIDb7OMOqgv4lY 9h02zudka60yUc+v4I02yfExFIoh9gP97ty/7f8KjuEUUM4Oj0fpgANiL9PELFMBbLiXI1 7zETCqBPdUdPHL7+w+0d69/pGN8stc2IbC5BtbRyJhvnQ5AU86R+BI9dmxb9IrX4VOiAbi 0notFOue3BRnhu2630yx2MZYVi3M+rLleSq1EXNb/0HfxafNFkQiCojEVxZ3pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756988051; a=rsa-sha256; cv=none; b=UAFu98tzq1LO2xbSelsbEt5+gzWG90BIhTUZ+Q3pqvkpkUguiFJdhtZ7GK48JNgY31fyZW bh/U5Tc3uAMmK/cKfOuGNUb4nkzeAUE4f/ARmcy7mOHleTcJNnKYpAM/miLi6Mh+URCoAi kKIBLcAPlR6Q0IHfDcZTltICdSZQ3THiIZ42a56iRnGtKVnnoJfkfyVWpbsLzgBJihoplI +pklZ6MIBF5hfL4jNSV9XzPZxT4xW8Ntr+HS9Q/tY24hUSHYTR/8ttzZiseAzlpytESlY1 zslc4pWPdMDaQ/fh4EPrVfPFNBETCrvDLiLoX25r7ND95z2LcYxvm6h7xX3gwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHdgl30MMz12Tc; Thu, 04 Sep 2025 12:14: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 584CEBeT061054; Thu, 4 Sep 2025 12:14:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584CEB7d061051; Thu, 4 Sep 2025 12:14:11 GMT (envelope-from git) Date: Thu, 4 Sep 2025 12:14:11 GMT Message-Id: <202509041214.584CEB7d061051@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 39d4094173f9 - main - epair: add support for checksum offloading List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 39d4094173f9a49ff52f5f4408e4dbd5d6ef0409 Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=39d4094173f9a49ff52f5f4408e4dbd5d6ef0409 commit 39d4094173f9a49ff52f5f4408e4dbd5d6ef0409 Author: Timo Völker AuthorDate: 2025-09-04 12:06:20 +0000 Commit: Michael Tuexen CommitDate: 2025-09-04 12:06:20 +0000 epair: add support for checksum offloading Add capabilities RXCSUM and RXCSUM6 as well as TXCSUM and TXCSUM6 for for receive and transmit checksum offloading for TCP and UDP to the epair interface and enable them by default. RXCSUM and RXCSUM6 are enabled because an epair interface may receive a packet with the csum_flag CSUM_DATA_VALID set, which is expected only if these capabilities are enabled. Since it seems not helpful to remove this flag, it is not possible to disable these capabilities. TXCSUM and TXCSUM6 are synchronized between the two epair interface ends. If enabled/disabled on one end, it will be enabled/disabled on the other end. If the sending epair interface end has TXCSUM or TXCSUM6 enabled and the receiving end is in a bridge, it is assumed that all interfaces in the bridge have that capability enabled. Otherwise the bridge would have disabled that capability on the receiving epair interface end in the bridge which would have disabled that capability on the sending epair interface end as well due to the synchronization. This change was committed and reverted earlier, since several pf tests were failing. This has been addressed. Reviewed by: bcr, Seyed Pouria Mousavizadeh Tehrani, tuexen MFC after: 4 weeks Differential Revision: https://reviews.freebsd.org/D51639 --- share/man/man4/epair.4 | 25 ++++++++++++++++++++- sys/net/if_epair.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 83 insertions(+), 3 deletions(-) diff --git a/share/man/man4/epair.4 b/share/man/man4/epair.4 index 342b15b5612a..b406c423361b 100644 --- a/share/man/man4/epair.4 +++ b/share/man/man4/epair.4 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd August 12, 2025 +.Dd September 4, 2025 .Dt EPAIR 4 .Os .Sh NAME @@ -108,6 +108,29 @@ As with any other Ethernet interface, can have a .Xr vlan 4 configured on top of it. +.Pp +The +.Nm +has RXCSUM and RXCSUM6 enabled because it may receive a packet where the +checksum has already been validated by a physical interface. +The +.Nm +supports TXCSUM and TXCSUM6 for TCP and UDP, but only by forwarding the order +to compute the checksum. +Thus, when using an +.Nm +interface, a TCP or UDP sender can offload checksum computation +to a physical interface. +Note that, in case the packet does not leave the host, the checksum is +unnecessary and will be ignored if offloaded. +Such packets contain an incorrect checksum, since it is not computed yet. +TXCSUM and TXCSUM6 are synchronized between the +.Nm +interface pair (i.e., enabling/disabling the capability on one end +enables/disables it on the other end). +In case one end is in a bridge and the bridge disabled TXCSUM or TXCSUM6, +this avoids a sender to send packets with checksum offloading into the +bridge by using the other end. .Sh SEE ALSO .Xr ioctl 2 , .Xr altq 4 , diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index 581c2434b8fb..fbffa8f359a0 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -69,6 +69,7 @@ #include #include #include +#include #include #ifdef RSS #include @@ -434,6 +435,21 @@ epair_media_status(struct ifnet *ifp __unused, struct ifmediareq *imr) imr->ifm_active = IFM_ETHER | IFM_10G_T | IFM_FDX; } +/* + * Update ifp->if_hwassist according to the current value of ifp->if_capenable. + */ +static void +epair_caps_changed(struct ifnet *ifp) +{ + uint64_t hwassist = 0; + + if (ifp->if_capenable & IFCAP_TXCSUM) + hwassist |= CSUM_IP_TCP | CSUM_IP_UDP; + if (ifp->if_capenable & IFCAP_TXCSUM_IPV6) + hwassist |= CSUM_IP6_TCP | CSUM_IP6_UDP; + ifp->if_hwassist = hwassist; +} + static int epair_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) { @@ -461,6 +477,44 @@ epair_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) error = 0; break; + case SIOCGIFCAP: + ifr->ifr_reqcap = ifp->if_capabilities; + ifr->ifr_curcap = ifp->if_capenable; + error = 0; + break; + case SIOCSIFCAP: + /* + * Enable/disable capabilities as requested, besides + * IFCAP_RXCSUM(_IPV6), which always remain enabled. + * Incoming packets may have the mbuf flag CSUM_DATA_VALID set. + * Without IFCAP_RXCSUM(_IPV6), this flag would have to be + * removed, which does not seem helpful. + */ + ifp->if_capenable = ifr->ifr_reqcap | IFCAP_RXCSUM | + IFCAP_RXCSUM_IPV6; + epair_caps_changed(ifp); + /* + * If IFCAP_TXCSUM(_IPV6) has been changed, change it on the + * other epair interface as well. + * A bridge disables IFCAP_TXCSUM(_IPV6) when adding one epair + * interface if another interface in the bridge has it disabled. + * In that case this capability needs to be disabled on the + * other epair interface to avoid sending packets in the bridge + * that rely on this capability. + */ + sc = ifp->if_softc; + if ((ifp->if_capenable ^ sc->oifp->if_capenable) & + (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6)) { + sc->oifp->if_capenable &= + ~(IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); + sc->oifp->if_capenable |= ifp->if_capenable & + (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); + epair_caps_changed(sc->oifp); + } + VLAN_CAPABILITIES(ifp); + error = 0; + break; + default: /* Let the common ethernet handler process this. */ error = ether_ioctl(ifp, cmd, data); @@ -572,8 +626,11 @@ epair_setup_ifp(struct epair_softc *sc, char *name, int unit) ifp->if_dname = epairname; ifp->if_dunit = unit; ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_capabilities = IFCAP_VLAN_MTU; - ifp->if_capenable = IFCAP_VLAN_MTU; + ifp->if_capabilities = IFCAP_VLAN_MTU | IFCAP_TXCSUM | + IFCAP_TXCSUM_IPV6 | IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; + ifp->if_capenable = IFCAP_VLAN_MTU | IFCAP_TXCSUM | + IFCAP_TXCSUM_IPV6 | IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6; + epair_caps_changed(ifp); ifp->if_transmit = epair_transmit; ifp->if_qflush = epair_qflush; ifp->if_start = epair_start; From nobody Thu Sep 4 12:52:36 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHfX52jV5z65xvR; Thu, 04 Sep 2025 12:52: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHfX46wd1z3Ky2; Thu, 04 Sep 2025 12:52:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756990357; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2jBgdO7R4AFGLwlBnGfz8JRFsXSOH/BZql5exTNfRsg=; b=cU5eO8yaUevzLub4pYvi+TdsGMUOM+cXa3g4jH2q7RuW33+RZSHx+FcGHUkLfsi3u9F8l4 sVbiiVbnIiLEhuYtKCoIn2jHdJhB1SAZ/lC7QKrA2nSLjY22ROaY26R4UtFj5INDrJ+Vyq yZdLWBNqJJXzEafFxybFMu2z+4f7LFr4xhID9auuqNQyfgJMfebVlsLCJ4XVypbft1uemh 0APBB61cJ128inxLEhW+sG+koetMYuawXFLwESeNZ0Zva5QS62YRIIc/PIqMV/oV/9T7/O mVq5A1utFTczPynHNoryuKYIS8eSBlUjpoqqtRjfZAGqMt8NwBaYXqWnA7lSsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756990357; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2jBgdO7R4AFGLwlBnGfz8JRFsXSOH/BZql5exTNfRsg=; b=AuHVynbw3txLNTa5B4dgl84dVzvIX7myPoa078P8pcU2H/SvNjGwmHm1LVUf7BEywMMejT edjDt0SbOIxhI+2pFEnb2QQXMX8ZnZsGFxvkIR7dpnMGVqMoZntVDaaRF7rNv26TqImPw3 hpuJfr6mld9Y7IDw1G0mxZLS6oNwbjWoCTfI4Ze1M1zMjODt7rfck421+MGv5h1/GIONO5 sqOUgfIZOV+R+WKM60WqojDKqCBXttWUujDn+3IQvVxYjtUQkr+85gPpFgqt5ZuTJGkQLu r3jXZToU7FAcl4ahS7HW9XjomxjJnnGGrzQyQC0lQ1JPsLDRbrVyfs2Qe4vZAA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756990357; a=rsa-sha256; cv=none; b=Cg7P7X2M2hHkUz8qFCjLEghRzpGP11csLMtWloIyUMR2YG9A+iP5lLgN+jomxn1yZJuJWX y2nBiRHl6yxa+h095s8JBDIsqKflyJZktzUdvjT7tO+ShD+puy8n6EXMX7RPiYhqxc/iNd YHA3PVDi3UcM4TNoe/CS4aj4B0mlI5Y0h9PnnncfUjcBRiAGtbOXKAr90wQgZ4ISdVapYq 78mRodR2wsJWye+3pUP0iQRa1FQA0AKLG4zqZQm5L8nZJJdpMAcMFpFo3YFLFuKZ8wHCPe eI6GLcvf9jmGflj2bXcsq1monxLE1z8/nI12s5jH89VOrCuLJYOpRCz5sJQXsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHfX45yxWz13Ry; Thu, 04 Sep 2025 12:52: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 584Cqa1W035003; Thu, 4 Sep 2025 12:52:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584Cqaeh035000; Thu, 4 Sep 2025 12:52:36 GMT (envelope-from git) Date: Thu, 4 Sep 2025 12:52:36 GMT Message-Id: <202509041252.584Cqaeh035000@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: d3462294c1f0 - main - Revert "pseudofs: defer initialization until first mount" List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d3462294c1f02ca20cc1869d618bde57559f5914 Auto-Submitted: auto-generated The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=d3462294c1f02ca20cc1869d618bde57559f5914 commit d3462294c1f02ca20cc1869d618bde57559f5914 Author: Kyle Evans AuthorDate: 2025-09-04 12:48:18 +0000 Commit: Kyle Evans CommitDate: 2025-09-04 12:51:41 +0000 Revert "pseudofs: defer initialization until first mount" This reverts commit 65059dd2b6f94e570acc645be82b8ea056316459. lindebugfs does he vast majority of its pseudofs initialization nearly everywhere but pseudofs, so let's defer this to post-brsnching. --- sys/fs/pseudofs/pseudofs.c | 71 +++++-------------------------------------- sys/fs/pseudofs/pseudofs.h | 33 +++++++++----------- sys/modules/pseudofs/Makefile | 4 +-- 3 files changed, 24 insertions(+), 84 deletions(-) diff --git a/sys/fs/pseudofs/pseudofs.c b/sys/fs/pseudofs/pseudofs.c index 26a1dcd4ad39..7a4e67455214 100644 --- a/sys/fs/pseudofs/pseudofs.c +++ b/sys/fs/pseudofs/pseudofs.c @@ -40,18 +40,13 @@ #include #include #include -#include #include -#include #include #include #include #include -static int pfs_setup(struct pfs_info *pi, struct vfsconf *vfc); -static int pfs_teardown(struct pfs_info *pi, struct vfsconf *vfc); - static MALLOC_DEFINE(M_PFSNODES, "pfs_nodes", "pseudofs nodes"); SYSCTL_NODE(_vfs, OID_AUTO, pfs, CTLFLAG_RW | CTLFLAG_MPSAFE, 0, @@ -407,20 +402,10 @@ int pfs_mount(struct pfs_info *pi, struct mount *mp) { struct statfs *sbp; - int error = 0; if (mp->mnt_flag & MNT_UPDATE) return (EOPNOTSUPP); - sx_xlock(&pi->pi_mountlock); - if (pi->pi_root == NULL) - error = pfs_setup(pi, mp->mnt_vfc); - if (error == 0) - refcount_acquire(&pi->pi_mounts); - sx_xunlock(&pi->pi_mountlock); - if (error != 0) - return (error); - MNT_ILOCK(mp); mp->mnt_flag |= MNT_LOCAL; mp->mnt_kern_flag |= MNTK_NOMSYNC; @@ -459,23 +444,10 @@ pfs_cmount(struct mntarg *ma, void *data, uint64_t flags) int pfs_unmount(struct mount *mp, int mntflags) { - struct pfs_info *pi; int error; error = vflush(mp, 0, (mntflags & MNT_FORCE) ? FORCECLOSE : 0, curthread); - if (error != 0) - return (error); - - pi = (struct pfs_info *)mp->mnt_data; - sx_xlock(&pi->pi_mountlock); - if (!refcount_release_if_not_last(&pi->pi_mounts)) { - error = pfs_teardown(pi, mp->mnt_vfc); - if (error == 0) - refcount_release(&pi->pi_mounts); - } - sx_xunlock(&pi->pi_mountlock); - return (error); } @@ -501,36 +473,11 @@ pfs_statfs(struct mount *mp, struct statfs *sbp) return (0); } -/* - * Initialize pseudofs synchronization bits. These will generally be needed - * in order to avoid problems with parallel mounting of pseudofs consumers. - */ -int -pfs_vfsinit(struct pfs_info *pi, struct vfsconf *vfc) -{ - - sx_init(&pi->pi_mountlock, "pfs mountlock"); - refcount_init(&pi->pi_mounts, 0); - return (0); -} - -int -pfs_vfsuninit(struct pfs_info *pi, struct vfsconf *vfc) -{ - - MPASS(pi->pi_root == NULL); - sx_destroy(&pi->pi_mountlock); - - if (bootverbose) - printf("%s unregistered\n", pi->pi_name); - return (0); -} - /* * Initialize a pseudofs instance */ -static int -pfs_setup(struct pfs_info *pi, struct vfsconf *vfc) +int +pfs_init(struct pfs_info *pi, struct vfsconf *vfc) { struct pfs_node *root; int error; @@ -560,20 +507,18 @@ pfs_setup(struct pfs_info *pi, struct vfsconf *vfc) /* * Destroy a pseudofs instance */ -static int -pfs_teardown(struct pfs_info *pi, struct vfsconf *vfc) +int +pfs_uninit(struct pfs_info *pi, struct vfsconf *vfc) { int error; - MPASS(pi->pi_root != NULL); - error = (pi->pi_uninit)(pi, vfc); - if (error != 0) - return (error); - pfs_destroy(pi->pi_root); pi->pi_root = NULL; pfs_fileno_uninit(pi); - return (0); + if (bootverbose) + printf("%s unregistered\n", pi->pi_name); + error = (pi->pi_uninit)(pi, vfc); + return (error); } /* diff --git a/sys/fs/pseudofs/pseudofs.h b/sys/fs/pseudofs/pseudofs.h index e060f89b580f..2b08dcad978d 100644 --- a/sys/fs/pseudofs/pseudofs.h +++ b/sys/fs/pseudofs/pseudofs.h @@ -31,7 +31,6 @@ #ifndef _PSEUDOFS_H_INCLUDED #define _PSEUDOFS_H_INCLUDED -#include #include /* @@ -189,11 +188,9 @@ typedef int (*pfs_destroy_t)(PFS_DESTROY_ARGS); /* * pfs_info: describes a pseudofs instance * - * The pi_mutex is used to avoid using the global subr_unit lock for unrhdr, and - * the pi_mountlock is used to coordinate initialization of the consumer - * filesystem on first mount. The rest of struct pfs_info is only modified - * during pi_init() and pi_uninit() of the consumer filesystem, which are fully - * serialized. + * The pi_mutex is only used to avoid using the global subr_unit lock + * for unrhdr. The rest of struct pfs_info is only modified during + * vfs_init() and vfs_uninit() of the consumer filesystem. */ struct pfs_info { char pi_name[PFS_FSNAMELEN]; @@ -201,11 +198,9 @@ struct pfs_info { pfs_init_t pi_uninit; /* members below this line are initialized at run time */ - struct sx pi_mountlock; struct pfs_node *pi_root; struct mtx pi_mutex; struct unrhdr *pi_unrhdr; - u_int pi_mounts; }; /* @@ -254,8 +249,8 @@ int pfs_unmount (struct mount *mp, int mntflags); int pfs_root (struct mount *mp, int flags, struct vnode **vpp); int pfs_statfs (struct mount *mp, struct statfs *sbp); -int pfs_vfsinit (struct pfs_info *pi, struct vfsconf *vfc); -int pfs_vfsuninit (struct pfs_info *pi, struct vfsconf *vfc); +int pfs_init (struct pfs_info *pi, struct vfsconf *vfc); +int pfs_uninit (struct pfs_info *pi, struct vfsconf *vfc); /* * Directory structure construction and manipulation @@ -282,9 +277,9 @@ int pfs_destroy (struct pfs_node *pn); #define PSEUDOFS(name, version, flags) \ \ static struct pfs_info name##_info = { \ - .pi_name = #name, \ - .pi_init = name##_init, \ - .pi_uninit = name##_uninit, \ + #name, \ + name##_init, \ + name##_uninit, \ }; \ \ static int \ @@ -293,22 +288,22 @@ _##name##_mount(struct mount *mp) { \ } \ \ static int \ -_##name##_vfsinit(struct vfsconf *vfc) { \ - return (pfs_vfsinit(&name##_info, vfc)); \ +_##name##_init(struct vfsconf *vfc) { \ + return (pfs_init(&name##_info, vfc)); \ } \ \ static int \ -_##name##_vfsuninit(struct vfsconf *vfc) { \ - return (pfs_vfsuninit(&name##_info, vfc)); \ +_##name##_uninit(struct vfsconf *vfc) { \ + return (pfs_uninit(&name##_info, vfc)); \ } \ \ static struct vfsops name##_vfsops = { \ .vfs_cmount = pfs_cmount, \ - .vfs_init = _##name##_vfsinit, \ + .vfs_init = _##name##_init, \ .vfs_mount = _##name##_mount, \ .vfs_root = pfs_root, \ .vfs_statfs = pfs_statfs, \ - .vfs_uninit = _##name##_vfsuninit, \ + .vfs_uninit = _##name##_uninit, \ .vfs_unmount = pfs_unmount, \ }; \ VFS_SET(name##_vfsops, name, VFCF_SYNTHETIC | flags); \ diff --git a/sys/modules/pseudofs/Makefile b/sys/modules/pseudofs/Makefile index 3928c950ab70..cb92b8912c86 100644 --- a/sys/modules/pseudofs/Makefile +++ b/sys/modules/pseudofs/Makefile @@ -13,8 +13,8 @@ EXPORT_SYMS= pfs_cmount \ pfs_unmount \ pfs_root \ pfs_statfs \ - pfs_vfsinit \ - pfs_vfsuninit \ + pfs_init \ + pfs_uninit \ pfs_create_dir \ pfs_create_file \ pfs_create_link \ From nobody Thu Sep 4 13:29:26 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHgLZ2k95z66204; Thu, 04 Sep 2025 13:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHgLZ23Y6z3RNd; Thu, 04 Sep 2025 13:29:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756992566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cAVBKMDsK5dr5BKr1roW3VEhEE8jg3Z+f8j038ClNBs=; b=YR98pultuzPIMIvKqvi0bHBfRzHJD3iVDUOSfyMXQ8hjJYYLyGNzDD4kirOW00nw3Et4Cr BaEkdhPHAy7pHa1cm/fclp2HU6FbOa8RjGGddjlPKnlshGqcB8aw1a7vBsKP9909vuULSX em7MV9YhWx8lHQrzhROhl4AckX7izK8lyIo7EUs4Go45tkn+FiC1ZMcu+6WkvpDiAoDC98 5lVMgve13BYQ3ou93mhASmf1i88ae1smU+xPq5dRGVmKs8b7fhel49FbRjZcP06RH1ZyV+ XDd/Map8Xf72QvSJOhM0IjHz4fCLIDmPybm9hEBcdoS2fiL9Xy5X6UdRMPdphg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756992566; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cAVBKMDsK5dr5BKr1roW3VEhEE8jg3Z+f8j038ClNBs=; b=j8Dm1n0KonxVX8TiIXuFIFlszPyzGGcoG4GDNK02mPYa+LEJyEULl+jSB6lnqKmVd5UyW2 Cwd7jpocfd3PjC7ayq0hM2MfFk4ckgclOXl5cMDue/lxkNHFBj4drAhEeTlUDCYBODLrUA KNYPjXhfw8/o6vQSASAeGgnAH7KNR9Q8cWcgrCvK9LLYSJltlCRMFQOT/AOujfMVs/PEpj EgfRqW4YdvcIHTXekQ44/RsG24S0C+mSwzXCXOWvVCaFp32IWCXG2NzQOGZ+7y26w9ObN4 Aoch/A4YsMElxsvqEOGL3E+dJduJggJLMik7NgQ3sRigI6Tv/EMLcNOVYhy0bA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756992566; a=rsa-sha256; cv=none; b=CxD3mTqJHN3QJpYXtNiuEZ8SvGNwKzahe4GiNyJ8VqhYB/TeGs7yqUD2DxwvP8RyuHdFQ8 r3hO0++RGvFy3ijEwGvx2YPF5nkA8sLf3yE+4TReEz1UGDHGm6KTi6juB0ii1G/irgj688 ApXu0q8sU/NT8ltqw81ZjuvLJDQVd4ZdzZNTqO157nCRbOsXuNj8K7BprTCnjzj2VcP5BS 6yzU6G/Rts6nYW0QIzhNRTVXSLBTnEJ93v83OUCpaoNkmazHSeisZXxFCjnrLEDd5CONlB VtPeg93X1MBybkSAiGY41Dn+OI3Wvw0XupGH2g9OyRO/vwKefoFM4I4PjRmTFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHgLZ1f1Vz14VB; Thu, 04 Sep 2025 13:29: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 584DTQWg094877; Thu, 4 Sep 2025 13:29:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584DTQem094874; Thu, 4 Sep 2025 13:29:26 GMT (envelope-from git) Date: Thu, 4 Sep 2025 13:29:26 GMT Message-Id: <202509041329.584DTQem094874@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: 407c4d1eeb80 - main - openssl: Disable KTLS in bootstrap 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 407c4d1eeb80caadcf24e60b827ea6686d3adf3a Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=407c4d1eeb80caadcf24e60b827ea6686d3adf3a commit 407c4d1eeb80caadcf24e60b827ea6686d3adf3a Author: Mark Johnston AuthorDate: 2025-09-04 13:28:39 +0000 Commit: Mark Johnston CommitDate: 2025-09-04 13:28:39 +0000 openssl: Disable KTLS in bootstrap libraries We need to build OpenSSL when bootstrapping certctl. On MacOS ktls_enable() isn't defined anywhere, so without this the build fails. We don't need KTLS in the bootstrap library, so just disable it. Reviewed by: khorben, ngie Differential Revision: https://reviews.freebsd.org/D52341 --- secure/lib/libcrypto/Makefile | 3 ++- secure/lib/libssl/Makefile | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile index f8f8d291ee9e..75ebb6e65327 100644 --- a/secure/lib/libcrypto/Makefile +++ b/secure/lib/libcrypto/Makefile @@ -649,10 +649,11 @@ _cmd1=/%%NO_ASM%%/d .else _cmd1=s/%%NO_ASM%%// .endif -.if ${MK_OPENSSL_KTLS} != "no" +.if ${MK_OPENSSL_KTLS} != "no" && !defined(BOOTSTRAPPING) _cmd2=/%%NO_KTLS%%/d .else _cmd2=s/%%NO_KTLS%%// +CFLAGS+= -DOPENSSL_NO_KTLS .endif buildinf.h: Makefile diff --git a/secure/lib/libssl/Makefile b/secure/lib/libssl/Makefile index acb63549c1c8..b0ca31644279 100644 --- a/secure/lib/libssl/Makefile +++ b/secure/lib/libssl/Makefile @@ -70,7 +70,7 @@ SRSC+= tls_pad.c SRCS+= poll_immediate.c SRCS+= rio_notifier.c poll_builder.c -.if ${MK_OPENSSL_KTLS} == "no" +.if ${MK_OPENSSL_KTLS} == "no" || defined(BOOTSTRAPPING) CFLAGS+=-DOPENSSL_NO_KTLS .else SRCS+= ktls_meth.c From nobody Thu Sep 4 13:53:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHgtn41hyz663fh; Thu, 04 Sep 2025 13:53: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHgtn3StYz3Wg3; Thu, 04 Sep 2025 13:53:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756994033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=no+lkZvKrzgW6XWDLPFIgXik2tidxbnsBviaTHO4rfM=; b=K4CMozGXLO/kiMC1yvyRNP6ATGLbs2Y4Evw7Ng55cQUBL5HNje+fKZyveTEVLSfweh2F8G HLHrMFl7IJl13pzzY6VnyTR5ZyIWWd7Z/m/lWZN4gKG3Z9uq+g2CV/9lo89RLmzeYKyOhG ZNnrHKVQ8ApzorAD5GI+gt3tdK3g+/aHwNBm3W4DHIqlKSC6Oj2Hgw0qIiKBuA5aUcp7vH zcFdVH7Yhb2TpDrbb1v+HKRupCMD4An0ZkefJc2IxrJD4xqsLWuOkewBnOJtFVRQsIHPvA H1OF5H1VKz6zDDL3nAC0Rl90Xsro7vochYZVN2DChEOBiLmINo3tKUD8hh12HQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756994033; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=no+lkZvKrzgW6XWDLPFIgXik2tidxbnsBviaTHO4rfM=; b=oIoLbfrkXDUjk0CzURykFNZa71AN9011DBzyTyFYzhXwG+GYpbqG28fgowL0Zl0I/ARMAB vR9Q00ettlGscrwQJEhWW3P0l6LTNU6uGdvoecRqv576DNj/n7jrP8B/93r/fa3nPG3j53 StXajTjhDwNRyj93ijoQ/cbfUPfyPnTpHrb1MHlCQDlLru+d94HkHrqmN/J4Vj1yvZJucO Pc0dl63mIyQ08z+PAX7MX17cwnm5kAQzM0ni77+ykkHPoY7c9DFCB2bNByTwaWMiW1Qps2 m3rqMwioCGGEyvhG5xuf5QxRfvSn+yEowFF5+zITSBleNarAg3TPfCIpB1LVrA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756994033; a=rsa-sha256; cv=none; b=N082a/babKhUTdSgZ8S7hUnU0GDBXKwbHeESXT6uQ+65zxG+UBRZvTgYFhpl5uOkCp9o7i 2/eRXVosQnpy3S9d/GU5/wmaqj1a0/ohUfMS+q16TRl6XD8Qd2I83IltY7mTZkccIcXd42 HZD+wkcO0uPs0+BPE0iMQf+8kb7soxS9FZXRWMUtw3W0+bv5YnQwmJ1yt09VOj7H/ZdaPq BHqp7CPv6H5UDWz7nxRWpi0r1dWeMwzPCXyYDY9L3pbG2Ik+AAOMxe7Ib06aAoJDAdzgZa lJdYWCZKrFSeVdZ3afbeNqGy5NAhvne93eMaMu03XgqOhOzFpfNw4vtyKdfNQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHgtn2rqtz14Kw; Thu, 04 Sep 2025 13:53: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 584DrrBS049210; Thu, 4 Sep 2025 13:53:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584DrrPS049207; Thu, 4 Sep 2025 13:53:53 GMT (envelope-from git) Date: Thu, 4 Sep 2025 13:53:53 GMT Message-Id: <202509041353.584DrrPS049207@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 7e97c6adffde - main - kerberos5: Fix the Heimdal pkgbase 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: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7e97c6adffde3bd6f60f042ed2603335c005c6a7 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=7e97c6adffde3bd6f60f042ed2603335c005c6a7 commit 7e97c6adffde3bd6f60f042ed2603335c005c6a7 Author: Lexi Winter AuthorDate: 2025-09-04 13:53:02 +0000 Commit: Lexi Winter CommitDate: 2025-09-04 13:53:02 +0000 kerberos5: Fix the Heimdal pkgbase build When LIB_PACKAGE was added, MIT Kerberos was updated to use it but Heimdal was not, so it still used PACKAGE=kerberos-lib. Since we deleted kerberos-lib-all.ucl, this caused update-packages to fail when WITHOUT_MITKRB5 is set. Change the Heimdal libraries to use LIB_PACKAGE by setting this in kerberos5/lib/Makefile.inc, and remove PACKAGE=kerberos-lib from the individual Makefiles for each library. This means Heimdal gets the same set of packages as MIT Kerberos, except for kerberos-kdc which we don't create for Heimdal. Fixes: 929f5966a9fd ("packages: Improve handling of -lib packages") Reported by: jlduran Reviewed by: jlduran, cy Differential Revision: https://reviews.freebsd.org/D52371 --- kerberos5/lib/Makefile.inc | 2 ++ kerberos5/lib/libasn1/Makefile | 2 -- kerberos5/lib/libgssapi_krb5/Makefile | 2 -- kerberos5/lib/libgssapi_ntlm/Makefile | 2 -- kerberos5/lib/libgssapi_spnego/Makefile | 2 -- kerberos5/lib/libhdb/Makefile | 2 -- kerberos5/lib/libheimbase/Makefile | 2 -- kerberos5/lib/libheimipcc/Makefile | 2 -- kerberos5/lib/libheimipcs/Makefile | 2 -- kerberos5/lib/libheimntlm/Makefile | 2 -- kerberos5/lib/libhx509/Makefile | 2 -- kerberos5/lib/libkadm5clnt/Makefile | 2 -- kerberos5/lib/libkadm5srv/Makefile | 2 -- kerberos5/lib/libkafs5/Makefile | 2 -- kerberos5/lib/libkdc/Makefile | 2 -- kerberos5/lib/libkrb5/Makefile | 2 -- kerberos5/lib/libroken/Makefile | 2 -- kerberos5/lib/libsl/Makefile | 2 -- kerberos5/lib/libvers/Makefile | 2 -- kerberos5/lib/libwind/Makefile | 2 -- lib/libcom_err/Makefile | 3 ++- 21 files changed, 4 insertions(+), 39 deletions(-) diff --git a/kerberos5/lib/Makefile.inc b/kerberos5/lib/Makefile.inc index 7c74af1e9742..a7d76580f56e 100644 --- a/kerberos5/lib/Makefile.inc +++ b/kerberos5/lib/Makefile.inc @@ -1,3 +1,5 @@ +PACKAGE= kerberos +LIB_PACKAGE= SHLIB_MAJOR?= 11 .include "../Makefile.inc" diff --git a/kerberos5/lib/libasn1/Makefile b/kerberos5/lib/libasn1/Makefile index 0398ed185481..e30aa20b3c21 100644 --- a/kerberos5/lib/libasn1/Makefile +++ b/kerberos5/lib/libasn1/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= asn1 LDFLAGS+= -Wl,--no-undefined INCS= asn1_err.h asn1-common.h heim_asn1.h der.h der-protos.h der-private.h diff --git a/kerberos5/lib/libgssapi_krb5/Makefile b/kerberos5/lib/libgssapi_krb5/Makefile index 6f74f6516c4e..2e7767ec9309 100644 --- a/kerberos5/lib/libgssapi_krb5/Makefile +++ b/kerberos5/lib/libgssapi_krb5/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= gssapi_krb5 LDFLAGS+= -Wl,-Bsymbolic -Wl,--no-undefined LIBADD= gssapi krb5 crypto roken asn1 com_err diff --git a/kerberos5/lib/libgssapi_ntlm/Makefile b/kerberos5/lib/libgssapi_ntlm/Makefile index 51da17339620..e4721d73403b 100644 --- a/kerberos5/lib/libgssapi_ntlm/Makefile +++ b/kerberos5/lib/libgssapi_ntlm/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= gssapi_ntlm LDFLAGS+= -Wl,-Bsymbolic -Wl,--no-undefined LIBADD= crypto gssapi krb5 heimntlm roken diff --git a/kerberos5/lib/libgssapi_spnego/Makefile b/kerberos5/lib/libgssapi_spnego/Makefile index 2cf73285cd37..371e7a2fc423 100644 --- a/kerberos5/lib/libgssapi_spnego/Makefile +++ b/kerberos5/lib/libgssapi_spnego/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= gssapi_spnego LDFLAGS+= -Wl,-Bsymbolic -Wl,--no-undefined LIBADD= gssapi heimbase asn1 roken diff --git a/kerberos5/lib/libhdb/Makefile b/kerberos5/lib/libhdb/Makefile index 04e3a4739ef9..bcc3f75206bc 100644 --- a/kerberos5/lib/libhdb/Makefile +++ b/kerberos5/lib/libhdb/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= hdb LDFLAGS+= -Wl,--no-undefined ${LDAPLDFLAGS} VERSION_MAP= ${KRB5DIR}/lib/hdb/version-script.map diff --git a/kerberos5/lib/libheimbase/Makefile b/kerberos5/lib/libheimbase/Makefile index 9870fe1d6204..e5c391e32d24 100644 --- a/kerberos5/lib/libheimbase/Makefile +++ b/kerberos5/lib/libheimbase/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= heimbase LDFLAGS+= -Wl,--no-undefined LIBADD= pthread diff --git a/kerberos5/lib/libheimipcc/Makefile b/kerberos5/lib/libheimipcc/Makefile index 8eb2b2b3756a..848518da303d 100644 --- a/kerberos5/lib/libheimipcc/Makefile +++ b/kerberos5/lib/libheimipcc/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= heimipcc PRIVATELIB= LIBADD= heimbase roken pthread diff --git a/kerberos5/lib/libheimipcs/Makefile b/kerberos5/lib/libheimipcs/Makefile index e689ac06a601..68cdf97c9f60 100644 --- a/kerberos5/lib/libheimipcs/Makefile +++ b/kerberos5/lib/libheimipcs/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= heimipcs PRIVATELIB= LIBADD= heimbase roken pthread diff --git a/kerberos5/lib/libheimntlm/Makefile b/kerberos5/lib/libheimntlm/Makefile index cc32e4c5e509..1b5002479ffd 100644 --- a/kerberos5/lib/libheimntlm/Makefile +++ b/kerberos5/lib/libheimntlm/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= heimntlm LDFLAGS+= -Wl,--no-undefined LIBADD= crypto com_err krb5 roken diff --git a/kerberos5/lib/libhx509/Makefile b/kerberos5/lib/libhx509/Makefile index 7713b4897170..eedc8765ec42 100644 --- a/kerberos5/lib/libhx509/Makefile +++ b/kerberos5/lib/libhx509/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= hx509 LDFLAGS+= -Wl,--no-undefined VERSION_MAP= ${KRB5DIR}/lib/hx509/version-script.map diff --git a/kerberos5/lib/libkadm5clnt/Makefile b/kerberos5/lib/libkadm5clnt/Makefile index 182d60c9843c..b6a5b70171b2 100644 --- a/kerberos5/lib/libkadm5clnt/Makefile +++ b/kerberos5/lib/libkadm5clnt/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= kadm5clnt LDFLAGS+= -Wl,--no-undefined LIBADD= com_err krb5 roken diff --git a/kerberos5/lib/libkadm5srv/Makefile b/kerberos5/lib/libkadm5srv/Makefile index 05006288220c..92734b439f8b 100644 --- a/kerberos5/lib/libkadm5srv/Makefile +++ b/kerberos5/lib/libkadm5srv/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= kadm5srv LDFLAGS+= -Wl,--no-undefined LIBADD= com_err hdb krb5 roken diff --git a/kerberos5/lib/libkafs5/Makefile b/kerberos5/lib/libkafs5/Makefile index 91e06d5d777a..6f52b8a8ac98 100644 --- a/kerberos5/lib/libkafs5/Makefile +++ b/kerberos5/lib/libkafs5/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= kafs5 LDFLAGS+= -Wl,--no-undefined LIBADD= asn1 krb5 roken diff --git a/kerberos5/lib/libkdc/Makefile b/kerberos5/lib/libkdc/Makefile index 72bd7d183a29..d6a1e90654ae 100644 --- a/kerberos5/lib/libkdc/Makefile +++ b/kerberos5/lib/libkdc/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= kdc LDFLAGS+= -Wl,--no-undefined VERSION_MAP= ${KRB5DIR}/kdc/version-script.map diff --git a/kerberos5/lib/libkrb5/Makefile b/kerberos5/lib/libkrb5/Makefile index d377446cd437..4ea5bfc2f86f 100644 --- a/kerberos5/lib/libkrb5/Makefile +++ b/kerberos5/lib/libkrb5/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= krb5 LDFLAGS+= -Wl,--no-undefined VERSION_MAP= ${KRB5DIR}/lib/krb5/version-script.map diff --git a/kerberos5/lib/libroken/Makefile b/kerberos5/lib/libroken/Makefile index 2299beed67a1..08733ac80774 100644 --- a/kerberos5/lib/libroken/Makefile +++ b/kerberos5/lib/libroken/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= roken LIBADD= crypt VERSION_MAP= ${KRB5DIR}/lib/roken/version-script.map diff --git a/kerberos5/lib/libsl/Makefile b/kerberos5/lib/libsl/Makefile index 159e16089294..c104bb6d64b6 100644 --- a/kerberos5/lib/libsl/Makefile +++ b/kerberos5/lib/libsl/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= sl INTERNALLIB= SRCS= sl.c diff --git a/kerberos5/lib/libvers/Makefile b/kerberos5/lib/libvers/Makefile index d7fe0a001659..514b8abe6a32 100644 --- a/kerberos5/lib/libvers/Makefile +++ b/kerberos5/lib/libvers/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= vers INTERNALLIB= SRCS= print_version.c roken.h diff --git a/kerberos5/lib/libwind/Makefile b/kerberos5/lib/libwind/Makefile index b57d62dc830f..0bf1f7a9613c 100644 --- a/kerberos5/lib/libwind/Makefile +++ b/kerberos5/lib/libwind/Makefile @@ -1,5 +1,3 @@ -PACKAGE= kerberos-lib - LIB= wind LDFLAGS+= -Wl,--no-undefined VERSION_MAP= ${KRB5DIR}/lib/wind/version-script.map diff --git a/lib/libcom_err/Makefile b/lib/libcom_err/Makefile index f070fd534469..dab4794fcded 100644 --- a/lib/libcom_err/Makefile +++ b/lib/libcom_err/Makefile @@ -1,4 +1,5 @@ -PACKAGE= kerberos-lib +PACKAGE= kerberos +LIB_PACKAGE= LIB= com_err SRCS= com_err.c error.c From nobody Thu Sep 4 14:00:03 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHh1v52vkz664fH; Thu, 04 Sep 2025 14:00: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHh1v2wLmz3XSh; Thu, 04 Sep 2025 14:00:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756994403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jGYTcz5tRisIWSpvtFTzYwrGu7xbtQVBzp8MgNR812c=; b=M86oDV6vQBnzh8ekoz1KOOYf0KHYiyIzISZYO5hz3ttDydSSL2Cr6lpFqJjrF0ka/rX0lf qV53lT428N87UY42baoq7TGtM/Ego4PvCB7g9DWc9BegB8ggtZCXXaxHbSeDRd3fn0s44s i2V8MYFC8q+OnayvPBuYsyB/j+07ezJHdLyAgjdviAJqIHOgaxGBiqiYnmlr7O8bc7KkfR fzIRZxXHxxzdsrHuclLFfv4ea1CXI5gpFWtGkHLbyZZzjcQHB/sWeaIS2tnFvN9uZmF5/S 1mf2hkyI8ITai9KRiByyL2WHsIu6Y9cv7K+s4SM07QJmFPq6ojAX1G2BKiuEkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756994403; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=jGYTcz5tRisIWSpvtFTzYwrGu7xbtQVBzp8MgNR812c=; b=kFJiIcMCLEZejU7y9KDWLaZyzyil6N01f7RFTOAaamFogAOSnsYQkvHNuTgOoOSfAiY4G2 +gbS74ZBmGQMStV9W/XOhUNHLjKapVKjUGVBNpahfXZIoiKEM2GzwwASlEAGqSI7fp9Ace j6Gp5BSdLEaxIaG93qZuD1M58WIV4D5p9TvieTbDMroWKpoqYvoUNsZ1mdlu43vNiKr8DG dKo8B/jsp2Yj+ShXowIkF74ALHaJxdu2pzvUROxCCUiAOoN3EkO541xYH4IASttK3dpL2S 9W2GKQwTBsxPvNoi5+40Nce5KcRdlxbiw7JV9Qcv7ph5ZrSODxUYKgA7+nRGmg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756994403; a=rsa-sha256; cv=none; b=GSvDjk13qY6Goa642B2gLcSnRXh19Z1UVwwtIeECI/hd5w+/5eH30W0yPq7BDECCPDHv7M w4tNkfNfsHmBF7C/bCIRbvoaKe8QHngd4/5Yd7bvmXIhFhRJuIWAXSHQWo9HsqjBN4wHAN 4OQIrARCLHs824Lq7L0R0PORgFNZMix+81VlyIT7D2/cQUE62LX80zZb5dGCosaQIgJfjd yHd7awhXnV7LT4TS+HKhPXOpWXluGsjekNci7jzS7W578YQ8RETeeRteNd64VRsvekChJb bibvv62XhdBX147kLHjORs+crW1jr19eA6KIXl/x/TD1KFnCYtdDSDq0ksUnWQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHh1v2KtRz14ch; Thu, 04 Sep 2025 14:00: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 584E03KU054232; Thu, 4 Sep 2025 14:00:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584E03JL054224; Thu, 4 Sep 2025 14:00:03 GMT (envelope-from git) Date: Thu, 4 Sep 2025 14:00:03 GMT Message-Id: <202509041400.584E03JL054224@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: b21629dfcaf0 - main - arm64: Make the padding in struct ms_page explicit List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b21629dfcaf008923d03d7ff15c9d6828eeb95f8 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b21629dfcaf008923d03d7ff15c9d6828eeb95f8 commit b21629dfcaf008923d03d7ff15c9d6828eeb95f8 Author: Andrew Turner AuthorDate: 2025-09-04 13:33:11 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 13:55:05 +0000 arm64: Make the padding in struct ms_page explicit Mark the unused space after pv_memattr as reserved. This doesn't change the size of the struct as this padding was already inserted by the compiler. Sponsored by: Arm Ltd --- sys/arm64/include/pmap.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index 0f23f200f0f6..357c1a0d8232 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -69,6 +69,7 @@ struct md_page { TAILQ_HEAD(,pv_entry) pv_list; int pv_gen; vm_memattr_t pv_memattr; + uint8_t pv_reserve[3]; }; enum pmap_stage { From nobody Thu Sep 4 14:00:04 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHh1w5B7Xz664fJ; Thu, 04 Sep 2025 14:00: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHh1w3Dqrz3XXM; Thu, 04 Sep 2025 14:00:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756994404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gIUtrl3QkoM9YqTP3CQOF+GAlblKaraYxTaho3TURR4=; b=gl8/4USKhK1EMet2w+yfezV4RQ+M8g1Ozy5W72sMptdvWqmkzP8CkY1Yc/Ufnvv5aDJAkj DlVRn04TjduHhNP4q2944YWc9CvH7Paq4Us/X08YwefSSNsH8tYM6GBzIapRBOETBVDWZJ LLtVAu3FGgRViN8/VtUHz1s+3FeBIYtqwdIZoE8m2gt1vQnARtLzSuqKvL3akph4zU61oK J9Sddn27JCj4o+Z/KGvgFD8LuzIG/HSZGYcP6F8Bf8oI+WNEQlMOoBwHRyGQ6XnU6EnfjX cN08fpK0oOQ3/AgsgWrzl54yLRpCd0vvyn3gHbdo/6DuTe3+lHiyxUWsIdYKZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756994404; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gIUtrl3QkoM9YqTP3CQOF+GAlblKaraYxTaho3TURR4=; b=UV+iBS1Wzi1s7Ca+EHhBtIvr8C3BJcA+MO3wPQMEKK7UJiHjyqMQUA8iHCOZNoCWglpMqX ucqT4DrkVHmYiYDsMt76ydi689rgL2LwBgZxGUkO7NI9i8KkYYyM/j7eFWfrKs0wZx6jXD 6Lj9+fBE9PtrSxHIRmJS07v+zKq5j1YqkMB5h0m2YMTqeaHJi+QCDwb+Vlgrqr4bj/q+ZK 0WmmQdrKHv5stpSn/AtolJKz60LUggMLo1W8RfUT39yHkLaMCu8SwA0Y0mplhlSyGUY1eN rSHGCytvLbRk5nA0gHBzgN4+lcBkUIe/VWh2n3ZyBx+H8IF8PTkBUJsqRMhXwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756994404; a=rsa-sha256; cv=none; b=pgVB+2DGmRLW1vq/5j2NYNw3cDNabgcVwDhvOSsxwh3xDOiWIG43ixgdwPzHasgyKIJwjh Dio8gBH+hk5dMHT44jg64OV/gjTQm7u2zPS71j8w0/pJLOej5sQw5c/Ow251dHNOH2cyx6 m6ZdSoT0XfEHlDRM8H7EYLAHDHV01yYwaPgUQNxJ/NxuLeSnKh70nMLVvMr2tUyfB6ghAz FqeBJ6+PGooA9InO+Njn32SQ/841fKu6a9gEqCtKJZK7XveUS/JmyVW2/JpwvDSmBSz1+l dE+0JEfRTDZa8nsYpo6ddglHLsJOLZ3FvhRolClOnvbzF954D4XFCxukdQBxMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHh1w2rTNz14v5; Thu, 04 Sep 2025 14:00:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 584E04M0054629; Thu, 4 Sep 2025 14:00:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584E04fB054625; Thu, 4 Sep 2025 14:00:04 GMT (envelope-from git) Date: Thu, 4 Sep 2025 14:00:04 GMT Message-Id: <202509041400.584E04fB054625@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 59ddbef26238 - main - arm64: Add padding to struct mdproc List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 59ddbef262388db4f36e1e1a34039d079ecdc833 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=59ddbef262388db4f36e1e1a34039d079ecdc833 commit 59ddbef262388db4f36e1e1a34039d079ecdc833 Author: Andrew Turner AuthorDate: 2025-09-04 13:36:45 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 13:55:05 +0000 arm64: Add padding to struct mdproc To allow for possible future use add reserved fields to struct mdproc. Sponsored by: Arm Ltd --- sys/arm64/include/proc.h | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/arm64/include/proc.h b/sys/arm64/include/proc.h index 184743d4cc80..b40990e89385 100644 --- a/sys/arm64/include/proc.h +++ b/sys/arm64/include/proc.h @@ -75,6 +75,7 @@ struct mdthread { struct mdproc { uint64_t md_tcr; /* TCR_EL1 fields to update */ + uint64_t md_reserved[2]; }; #endif /* !LOCORE */ From nobody Thu Sep 4 14:14:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHhL34wpvz6667Q; Thu, 04 Sep 2025 14:14:03 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHhL34Mr5z3bvK; Thu, 04 Sep 2025 14:14:03 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756995243; h=from:from:reply-to:subject: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=r8cl38QZU2+nyHOR7l5BKyjeTlCcAbx83Y5BcBveykE=; b=yXw9fBL/wBL4MVOtNGiyBHJ5n73as+/MIiBzgV8I3URm4z7rqp45ynZeeZ/9nOap7Xursf uirWUf1XQ6iPhlVSNPoz5MTHr1Y7qAl/gtHLt/p6Rvb4jZlE6+4EZxRQH0P4okYl2+CeJN yXmfqoRozo3H+jbbaLvtSGvTNu3GZuyYXBeKdxopf67NVD23nw6vPy9iALKCV5YIFkyl4u pXe0RFMeGymFV659I9BRS83OAcREUdmvCmXcXt8tkil+sEfBzetJP7I3q5cZaw5GYkKpBM L0VzK1G/NfxCcCtjV6Jz3bbKCWF7iHYzfpwkzmTEn30bdDSDSOFcb7nv6zAYTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756995243; h=from:from:reply-to:subject: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=r8cl38QZU2+nyHOR7l5BKyjeTlCcAbx83Y5BcBveykE=; b=qRndhI8ne2/1n3vj7oUSUZ1fFnIV8IKsreUnDi28Ck1d1mKZkRthlybBY2VViifroiPbhu 7o6feWaoBfOxQWVsRjipbtj4koh5/AM6EDC+Toy279UPMsOp9RTOJknAwlAP7lcL4thZSb FQUQHLGPtoi86bDHaeKhWkNVWHMfpERmRIbpv9Vdqz0pqq/knnXMJdiRIwJIhVHErQOTIN cKC908tJuFCBXSzY/bQ7HHOUASpiL65W3xnFNUXm6SpgImA63wlF4IzMa9d1JIZ/cENL7d r0c+7mR2YcyzicQ7sIurN5XhHUeIxhS5A+bXOHlnnWZBzqd7hCnUeFZEDI0yMg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756995243; a=rsa-sha256; cv=none; b=DIyLCKK8QFH5IwiXlfGEkGhUKO6JdZte4hXHueVu/lJT7G/tjxnh1+EkQbjHoYAdMfQUBP JItOawriAq8YMkQYghF2od0+ZVsS7S55eSWLhPOLmaewRW7UVAT/GcJrTEwi8AAPgN8d8/ CWFYMm4T8mqtlP0TmWwP6rz4lZI7swRkGNPdZcK0IRROBo9kgM4tci5czZeXzAhyXlIr8n 9TJ0W0jNnnYyMXUh9blg7Jq0eudjAvWx0LFwWHX9Jnfo9ql3OpWYkUsFx2io8rSszFMAgc ZnDLiaCsS/UUwHj6npR9sOdiIo6hH8urwmBBa7jlbYexJEm7GhP6WW6+72fMBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2601:5c0:4202:5670:343b:392c:5012:89d2] (unknown [IPv6:2601:5c0:4202:5670:343b:392c:5012:89d2]) (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 4cHhL32R9DzD3g; Thu, 04 Sep 2025 14:14:03 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Thu, 4 Sep 2025 10:14:02 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 9404c479946c - main - pci_user: Report NUMA domain Content-Language: en-US To: Jake Freeland , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202509040245.5842jXvV085511@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202509040245.5842jXvV085511@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 9/3/25 22:45, Jake Freeland wrote: > The branch main has been updated by jfree: > > URL: https://cgit.FreeBSD.org/src/commit/?id=9404c479946c00b6ac94253d2037c47251dc606c > > commit 9404c479946c00b6ac94253d2037c47251dc606c > Author: Jake Freeland > AuthorDate: 2025-09-04 02:42:23 +0000 > Commit: Jake Freeland > CommitDate: 2025-09-04 02:42:23 +0000 > > pci_user: Report NUMA domain > > A PCI device's NUMA domain is now accessible via the pd_numa_domain > member of struct pci_conf when using the PCIOCGETCONF ioctl. > > A new ioctl number has been assigned to PCIOCGETCONF to preserve > compatibility with binaries compiled on FreeBSD versions 7 through 14. > Such binaries can continue to use the PCIOCGETCONF ioctl number > that they were compiled with and experience no ABI repercussions. > > Reviewed by: imp, markj > Differential Revision: https://reviews.freebsd.org/D44289 For future reference: you didn't need to bump to a new number for the ioctl since the size of the argument is encoded in the ioctl as well. This feature of ioctls also means that we generally don't add padding (as you did in the followup commit) as you will naturally get a new ioctl cmd value anytime you add more fields in the future. This avoids the one point Warner raised in the review about how do you define the semantics of the padding as that approach defers reserving space in the structure until the semantics of that space is known. -- John Baldwin From nobody Thu Sep 4 14:33:14 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHhmC0P1bz667hs; Thu, 04 Sep 2025 14:33: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHhmB72k2z3g4p; Thu, 04 Sep 2025 14: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=1756996395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yUGSqIlaPsQYxaNio7POigHvHIOvfH4puqmV93e6F+0=; b=QXdhFjzVDe3xy/1cH/nVUXx7MAy7i4gj6oCoeOpQ3psofy5J74zGBWxGCpyCKck+xr4+vv qDpmCOKctd1o+wcG6k3KydHUgYLe5D81k/kh9GEpamI2kOuzVy03d1zMakYygyqYBxf/Tz M5qd5F1SOct9JBHKS8iK6A4lR0zPZ8zAtjspjtFdz7qJZO1nFdshN6ygdzXoVGrdVBViSI jniJYtlekmZgB6TSog338qfGQj35JJeqmyPzayUR92CWtxxdnP5CCdbRhVa0ctEwj0ZuW/ GZLOhWlS1HzegZCpBRV2tuVHuMRbI/Jcav9nM0hc0Bqt3QXelJIj4dNt1ubssw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1756996395; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yUGSqIlaPsQYxaNio7POigHvHIOvfH4puqmV93e6F+0=; b=verQG2hZoU6DzqFZnFTmY9K4Wipd8HcmGeBS3pEhQf++FCKmKy7ehlil7MarXewQt7wdYe Q8vuUVD2msJJPatVBVvqJLS1wtDjlvDFYDmEuYFfj78TTO9FicPqzpjX2AbHObUXApehat FcoxQzQSVz5kbcadE0jrDhETRR1zOdEUe9GbAVLqSxVIN8/jfrcIlSZqzqhccdoYY2fKtg ZI6JXGAdToVPIGi+pmOA07kzZOQiFADWRCXY5h81fZkQu9J7QedUTjZuk3H1JENmVObGnC RmHoUyMfHZ/FNGfVKx/z6YCFX2T4TwUUMrb+ytL0vlAQsSlr+f7YN3uwPz77tA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1756996395; a=rsa-sha256; cv=none; b=bVYcqMAPpS98HrpyHjMbD7PUKJtIW6b/KrvgJJM2XNMyrn46cankf1CoJWOOAIKFyndV6I 157ReRIJplUkt5DKteI5TtFLUfCL4HzL7QDVkyY9bwbwE8mlhEHuwXqRacsR4jcqGIiiTs c9eZecj5SFDvyNO1kJ7crcitycDATt8grCc6Yw/Z/v2WwYo6D3ao+PJ07TdM67/u55P5TU QXS6wO3lvQvVGi3g8V/zSkh4HmQSNLYNvjFr0M3gdNrM6suzF+KJC4IrhqKQ8h5Aqs39Vg /lCn4P2dZ0fV4YQgW9ZLxta+quw75iSeiPXwEvYCLJxsHgBVq9697oOJDp4bWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHhmB6cxjz15cj; Thu, 04 Sep 2025 14:33: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 584EXEUp025273; Thu, 4 Sep 2025 14:33:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584EXEcD025270; Thu, 4 Sep 2025 14:33:14 GMT (envelope-from git) Date: Thu, 4 Sep 2025 14:33:14 GMT Message-Id: <202509041433.584EXEcD025270@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: e2761a8567f3 - main - rtw89: Remove an unneeded __DECONST List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: e2761a8567f3bd93e4c363c2a1360eb89dd5f85b Auto-Submitted: auto-generated The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=e2761a8567f3bd93e4c363c2a1360eb89dd5f85b commit e2761a8567f3bd93e4c363c2a1360eb89dd5f85b Author: John Baldwin AuthorDate: 2025-09-04 14:25:46 +0000 Commit: John Baldwin CommitDate: 2025-09-04 14:30:15 +0000 rtw89: Remove an unneeded __DECONST Originally in e2340276fc73 the function argument was a "const void *data" which we changed to "const int" in FreeBSD. The Linux version simply cast the const void * to (enum rtw89_rf_path) both losing the const and changing the type. When later the function argument became a const union rtw89_fw_element_arg in 5b760eaecd6c3 it seems we tried to undo the older FreeBSD specific part and initially mismerged it leading to the const void *; but when fixing the type we did not undo the __DECONST but did a mechanical copy. Reviewed by: bz Co-authored-by: bz (commit message) Obtained from: CheriBSD Sponsored by: AFRL, DARPA Fixes: 6d67aabd6355 ("rtw89: update Realtek's rtw89 driver.") Differential Revision: https://reviews.freebsd.org/D52359 --- sys/contrib/dev/rtw89/fw.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sys/contrib/dev/rtw89/fw.c b/sys/contrib/dev/rtw89/fw.c index e360f27c2ade..b4c0f864bc75 100644 --- a/sys/contrib/dev/rtw89/fw.c +++ b/sys/contrib/dev/rtw89/fw.c @@ -908,11 +908,7 @@ int rtw89_build_phy_tbl_from_elm(struct rtw89_dev *rtwdev, case RTW89_FW_ELEMENT_ID_RADIO_B: case RTW89_FW_ELEMENT_ID_RADIO_C: case RTW89_FW_ELEMENT_ID_RADIO_D: -#if defined(__linux__) rf_path = arg.rf_path; -#elif defined(__FreeBSD__) - rf_path = __DECONST(enum rtw89_rf_path, arg.rf_path); -#endif idx = elm->u.reg2.idx; elm_info->rf_radio[idx] = tbl; From nobody Thu Sep 4 16:28:46 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHlKV6hlCz66NBk; Thu, 04 Sep 2025 16:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHlKV66cSz40fS; Thu, 04 Sep 2025 16:28:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wf6KIeIu2ilkDWTSffn+jfEfdMmRh//Cqe+MMaJoj0o=; b=tpBY1sTEUS+w59vBrekMHrTuLU2Txjcrd7JxoOhHFa+w65CIlv3djmMxNQ6ih5ekSsegKe xKDBHuqgrRnHje+2OwQj6s8QZO3756NemubKnWwIEaGYLG8VGve/CVbOG1aYDCIYQxiIdD R1y1owcxzOGSF2nXKg4zNP5gVBm/Mpcd41/eoGsba9dT6khaQoPcuJre8uLebLkLp08Zza n3dKqTDPxDw+2q82p6iED4OGzXEwYP68Gaj9mnw6wk2pNzJPcemJdMIhs8dN/Y7CwUgO/F JBkq2IQ9Ubtvfx/zdeuJCNhwKlrY60maPQbO0hC5Guqhyg2qQyi92N6pRqpgCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003326; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wf6KIeIu2ilkDWTSffn+jfEfdMmRh//Cqe+MMaJoj0o=; b=oBcrN48KwNY/CZ8D7l1dbZko7I5fKvGgP/owUu4u+xg4u5eG9vKtZ0DVNot8XaKbzdoK7p qdjYMczP9VpqRqwn6tz+Y8QtzPH0OptHB4MR46irhDkvYqitNaiMaaAt/bEgD+bxrrXFl9 Z8r+OXor6ia8zI+7cv8z/W0UbL3/NgNc/d2xzsMp6YwYWaOUckKuzjPtVj0AwFZQTCFRSY 92xCBUiXshE6hQyYE2wau7KWBr7ifyFDm5/37yPCNP6cNAwK1r2XDYwE5+8TC33xVvRjJH sC6BTi2z+0Ck1zvH9l+tr4S26HhXVgL+uAcI0ff9Ji27BOVHW7ldUdz8VTitJg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757003326; a=rsa-sha256; cv=none; b=Y3JO1clc0JZsFu3vl7Q4pBY26vQo/gM74EhkASXENMX3lpohD/e3mQaKM0UxP4dyW6qQj2 FD2xlFc7TPXcpg/4l+fm1QEzv2hrIr+mJCoBsGACh23H37e7mVPKAZdpchOY221tZK3/OB xrXKz2XP3ipi3uBV7PqPZlHCnWa/Wn6bCFXsWz0olcqpE5bs2QceS9gy5UazaJwIWOpr+x 1ZolMS0cFrS3258cMdiFTNHdekRgPUfH72WPaBovh/Ykj+Mfr1sLP08bohPvgrCItcs286 AwHfGthmwYiGx7UZBQDao4l7+wcMssCg0K0ZS/ufwXws+lz5Y6nLDPOKk+liBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHlKV5d2xz18xW; Thu, 04 Sep 2025 16:28: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 584GSk5h033038; Thu, 4 Sep 2025 16:28:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584GSkpV033035; Thu, 4 Sep 2025 16:28:46 GMT (envelope-from git) Date: Thu, 4 Sep 2025 16:28:46 GMT Message-Id: <202509041628.584GSkpV033035@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: b3605a7bb6f8 - main - arm64: Add a macro to create cpu_feat List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b3605a7bb6f8c58d939e642671ce70b0ce39b95e Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=b3605a7bb6f8c58d939e642671ce70b0ce39b95e commit b3605a7bb6f8c58d939e642671ce70b0ce39b95e Author: Andrew Turner AuthorDate: 2025-09-04 14:23:23 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 14:25:41 +0000 arm64: Add a macro to create cpu_feat This will be used later to extend cpu feature detection Reviewed by: imp (earlier version) Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52356 --- sys/arm/arm/generic_timer.c | 10 +++------- sys/arm64/arm64/identcpu.c | 11 +++-------- sys/arm64/arm64/machdep.c | 10 +++------- sys/arm64/arm64/pmap.c | 11 +++-------- sys/arm64/arm64/ptrauth.c | 11 +++-------- sys/arm64/include/cpu_feat.h | 10 ++++++++++ 6 files changed, 25 insertions(+), 38 deletions(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index a8c779dcba6d..841e5f9e96aa 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -901,13 +901,9 @@ wfxt_enable(const struct cpu_feat *feat __unused, enable_wfxt = true; } -static struct cpu_feat feat_wfxt = { - .feat_name = "FEAT_WFXT", - .feat_check = wfxt_check, - .feat_enable = wfxt_enable, - .feat_flags = CPU_FEAT_AFTER_DEV | CPU_FEAT_SYSTEM, -}; -DATA_SET(cpu_feat_set, feat_wfxt); +CPU_FEAT(feat_wfxt, + wfxt_check, NULL, wfxt_enable, + CPU_FEAT_AFTER_DEV | CPU_FEAT_SYSTEM); #endif static uint32_t diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index bcacea43ad2f..f823cbce37ed 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2358,14 +2358,9 @@ user_ctr_enable(const struct cpu_feat *feat __unused, isb(); } -static struct cpu_feat user_ctr = { - .feat_name = "Trap CTR_EL0", - .feat_check = user_ctr_check, - .feat_has_errata = user_ctr_has_errata, - .feat_enable = user_ctr_enable, - .feat_flags = CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU, -}; -DATA_SET(cpu_feat_set, user_ctr); +CPU_FEAT(trap_ctr, + user_ctr_check, user_ctr_has_errata, user_ctr_enable, + CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU); static bool user_ctr_handler(uint64_t esr, struct trapframe *frame) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 53856dd90cae..8a83185df9b1 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -202,13 +202,9 @@ pan_enable(const struct cpu_feat *feat __unused, ".arch_extension nopan \n"); } -static struct cpu_feat feat_pan = { - .feat_name = "FEAT_PAN", - .feat_check = pan_check, - .feat_enable = pan_enable, - .feat_flags = CPU_FEAT_EARLY_BOOT | CPU_FEAT_PER_CPU, -}; -DATA_SET(cpu_feat_set, feat_pan); +CPU_FEAT(feat_pan, + pan_check, NULL, pan_enable, + CPU_FEAT_EARLY_BOOT | CPU_FEAT_PER_CPU); bool has_hyp(void) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index ec89c4573799..77169e122106 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -1716,14 +1716,9 @@ pmap_dbm_enable(const struct cpu_feat *feat __unused, isb(); } -static struct cpu_feat feat_dbm = { - .feat_name = "FEAT_HAFDBS (DBM)", - .feat_check = pmap_dbm_check, - .feat_has_errata = pmap_dbm_has_errata, - .feat_enable = pmap_dbm_enable, - .feat_flags = CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU, -}; -DATA_SET(cpu_feat_set, feat_dbm); +CPU_FEAT(feat_hafdbs, + pmap_dbm_check, pmap_dbm_has_errata, pmap_dbm_enable, + CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU); /* * Initialize the pmap module. diff --git a/sys/arm64/arm64/ptrauth.c b/sys/arm64/arm64/ptrauth.c index dbe0c69b8d60..7f7a1dd41d8d 100644 --- a/sys/arm64/arm64/ptrauth.c +++ b/sys/arm64/arm64/ptrauth.c @@ -155,14 +155,9 @@ ptrauth_enable(const struct cpu_feat *feat __unused, #endif } - -static struct cpu_feat feat_pauth = { - .feat_name = "FEAT_PAuth", - .feat_check = ptrauth_check, - .feat_enable = ptrauth_enable, - .feat_flags = CPU_FEAT_EARLY_BOOT | CPU_FEAT_SYSTEM, -}; -DATA_SET(cpu_feat_set, feat_pauth); +CPU_FEAT(feat_pauth, + ptrauth_check, NULL, ptrauth_enable, + CPU_FEAT_EARLY_BOOT | CPU_FEAT_SYSTEM); /* Copy the keys when forking a new process */ void diff --git a/sys/arm64/include/cpu_feat.h b/sys/arm64/include/cpu_feat.h index 9fe6a9dd95d9..6a0b2d78f526 100644 --- a/sys/arm64/include/cpu_feat.h +++ b/sys/arm64/include/cpu_feat.h @@ -64,6 +64,16 @@ struct cpu_feat { }; SET_DECLARE(cpu_feat_set, struct cpu_feat); +#define CPU_FEAT(name, check, has_errata, enable, flags) \ +static struct cpu_feat name = { \ + .feat_name = #name, \ + .feat_check = check, \ + .feat_has_errata = has_errata, \ + .feat_enable = enable, \ + .feat_flags = flags, \ +}; \ +DATA_SET(cpu_feat_set, name) + /* * Allow drivers to mark an erratum as worked around, e.g. the Errata * Management ABI may know the workaround isn't needed on a given system. From nobody Thu Sep 4 16:28:47 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHlKX1Kw8z66MsN; Thu, 04 Sep 2025 16:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHlKX0R2Gz40VM; Thu, 04 Sep 2025 16:28:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=15ZpC+QF0qYpPkacQIVMBtuFeD9RDvY4tkIh/i0VhpY=; b=NqH7M4oUePdv75AK+fAM/ecX0LL/oRb73z/5vtqiexvdkzxr7FD/mh0QiIy/mgUiJhRTB6 0DnoRCLOoa8LKm3FjpI52hCNKMruyNEhYutjuFrM2HTSDxl7KllRE2O6Nd82omtgP9IksR +vY7+PxfmY9XMlf6mNyjs61h9E494WR1HKhvELuAmC8eRiK6gm6s+6yiOlKMp7AN4cvlN6 ZvgNMOoCeX3FenMLCRVwSwDzCBUZpMqi4jLVkMPa0WFnIyqEHyqaWk0xbzK1GWzcVlTnPF ni2stEtov5U6m/T8YRzDMlgmzAo4hg79BZ1rps4nJOv51w+T5gCG8CE2dWKsow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003328; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=15ZpC+QF0qYpPkacQIVMBtuFeD9RDvY4tkIh/i0VhpY=; b=CWXLqJD55PeTNh+4yogVziu4HhSEL/C6SgPN43iiILTQt7dPBAgDMeHNEwGaXccYmlfTkp X2cbCsVGWPHRi0qjvmljLtb8GAQwKLnzoigKIC1b7A8IiGFMOnxZf2Tfr91pfr9sg1US1S 4oyAIyTzTogxbm0ftq+dIoYvtEqBDWin7kpka41E5W8+7uPOtX9v6v4vBwzdEYHbk5yQ6x qTppuUY1pGcn9Zoy3nuNEWGhCkANH2jM7jQsvK58iDFvtja70bwB+LiHQJEtRgxD+hg8v+ uc2I5q6bMsx4uSlmmey6cBy/NsBXSjagXsQjV36UA0MP3V3m7vjYqW+trdAqoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757003328; a=rsa-sha256; cv=none; b=N4ZxfKI6bitBh65utrv5a33/nHYNhWxzUvYwszhYjbbZeYbc6CdGNyJHoX40eTtTSeyWv4 SlJGQlDqFst1qMzGMORlnQ41vVrBjvidgRRuCllEJI+XBE5+PYIWUjfdnCDxFFLg8uRGlE BA71K/gHlolSd5AcNAEau+h4LsamFHtX/pyS/qgNz5B4V+8sGcHDsiH+fZRQS4cMXHwYbY XiVObeoxqAyofDQi6Z3MK8JcGaD1ksajMuWzd2c/TCDLVccNQ1TiDxukoI1KNYkeGku4y7 0dUtF+p8GKp5kXZ8FgxOqicUF/hHabxowUzklgyG732883F9XL4oLTolJ9v89w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHlKW6vFZz18fk; Thu, 04 Sep 2025 16:28: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 584GSlkN033072; Thu, 4 Sep 2025 16:28:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584GSlpZ033069; Thu, 4 Sep 2025 16:28:47 GMT (envelope-from git) Date: Thu, 4 Sep 2025 16:28:47 GMT Message-Id: <202509041628.584GSlpZ033069@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 9204a315a71c - main - arm64: Add a sysctl to see if features are enabled List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9204a315a71c5aa9a9b8c11f2dcefb155dd5fc34 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=9204a315a71c5aa9a9b8c11f2dcefb155dd5fc34 commit 9204a315a71c5aa9a9b8c11f2dcefb155dd5fc34 Author: Andrew Turner AuthorDate: 2025-09-04 14:44:31 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 14:44:39 +0000 arm64: Add a sysctl to see if features are enabled This will also be used as a tunable to control features in a later change. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52357 --- sys/arm/arm/generic_timer.c | 5 +++-- sys/arm64/arm64/cpu_feat.c | 7 +++++-- sys/arm64/arm64/identcpu.c | 6 ++++-- sys/arm64/arm64/machdep.c | 6 ++++-- sys/arm64/arm64/pmap.c | 8 +++++--- sys/arm64/arm64/ptrauth.c | 6 ++++-- sys/arm64/include/cpu_feat.h | 13 ++++++++++--- 7 files changed, 35 insertions(+), 16 deletions(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index 841e5f9e96aa..27c985c5fcbe 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -892,16 +892,17 @@ wfxt_check(const struct cpu_feat *feat __unused, u_int midr __unused) return (ID_AA64ISAR2_WFxT_VAL(id_aa64isar2) != ID_AA64ISAR2_WFxT_NONE); } -static void +static bool wfxt_enable(const struct cpu_feat *feat __unused, cpu_feat_errata errata_status __unused, u_int *errata_list __unused, u_int errata_count __unused) { /* will be called if wfxt_check returns true */ enable_wfxt = true; + return (true); } -CPU_FEAT(feat_wfxt, +CPU_FEAT(feat_wfxt, "WFE and WFI instructions with timeout", wfxt_check, NULL, wfxt_enable, CPU_FEAT_AFTER_DEV | CPU_FEAT_SYSTEM); #endif diff --git a/sys/arm64/arm64/cpu_feat.c b/sys/arm64/arm64/cpu_feat.c index cc262394913d..fd1b8429295f 100644 --- a/sys/arm64/arm64/cpu_feat.c +++ b/sys/arm64/arm64/cpu_feat.c @@ -32,6 +32,8 @@ #include #include +SYSCTL_NODE(_hw, OID_AUTO, feat, CTLFLAG_RD, 0, "CPU features/errata"); + /* TODO: Make this a list if we ever grow a callback other than smccc_errata */ static cpu_feat_errata_check_fn cpu_feat_check_cb = NULL; @@ -97,8 +99,9 @@ enable_cpu_feat(uint32_t stage) /* Shouldn't be possible */ MPASS(errata_status != ERRATA_UNKNOWN); - feat->feat_enable(feat, errata_status, errata_list, - errata_count); + if (feat->feat_enable(feat, errata_status, errata_list, + errata_count)) + feat->feat_enabled = true; } } diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index f823cbce37ed..6d70692fdf5d 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2320,7 +2320,7 @@ user_ctr_has_errata(const struct cpu_feat *feat __unused, u_int midr, return (false); } -static void +static bool user_ctr_enable(const struct cpu_feat *feat __unused, cpu_feat_errata errata_status, u_int *errata_list, u_int errata_count) { @@ -2356,9 +2356,11 @@ user_ctr_enable(const struct cpu_feat *feat __unused, WRITE_SPECIALREG(sctlr_el1, READ_SPECIALREG(sctlr_el1) & ~SCTLR_UCT); isb(); + + return (true); } -CPU_FEAT(trap_ctr, +CPU_FEAT(trap_ctr, "Trap CTR_EL0", user_ctr_check, user_ctr_has_errata, user_ctr_enable, CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU); diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 8a83185df9b1..c0aeae072570 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -182,7 +182,7 @@ pan_check(const struct cpu_feat *feat __unused, u_int midr __unused) return (ID_AA64MMFR1_PAN_VAL(id_aa64mfr1) != ID_AA64MMFR1_PAN_NONE); } -static void +static bool pan_enable(const struct cpu_feat *feat __unused, cpu_feat_errata errata_status __unused, u_int *errata_list __unused, u_int errata_count __unused) @@ -200,9 +200,11 @@ pan_enable(const struct cpu_feat *feat __unused, ".arch_extension pan \n" "msr pan, #1 \n" ".arch_extension nopan \n"); + + return (true); } -CPU_FEAT(feat_pan, +CPU_FEAT(feat_pan, "Privileged access never", pan_check, NULL, pan_enable, CPU_FEAT_EARLY_BOOT | CPU_FEAT_PER_CPU); diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 77169e122106..96bde42d2711 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -1695,7 +1695,7 @@ pmap_dbm_has_errata(const struct cpu_feat *feat __unused, u_int midr, return (false); } -static void +static bool pmap_dbm_enable(const struct cpu_feat *feat __unused, cpu_feat_errata errata_status, u_int *errata_list __unused, u_int errata_count) @@ -1704,7 +1704,7 @@ pmap_dbm_enable(const struct cpu_feat *feat __unused, /* Skip if there is an erratum affecting DBM */ if (errata_status != ERRATA_NONE) - return; + return (false); tcr = READ_SPECIALREG(tcr_el1) | TCR_HD; WRITE_SPECIALREG(tcr_el1, tcr); @@ -1714,9 +1714,11 @@ pmap_dbm_enable(const struct cpu_feat *feat __unused, __asm __volatile("tlbi vmalle1"); dsb(nsh); isb(); + + return (true); } -CPU_FEAT(feat_hafdbs, +CPU_FEAT(feat_hafdbs, "Hardware management of the Access flag and dirty state", pmap_dbm_check, pmap_dbm_has_errata, pmap_dbm_enable, CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU); diff --git a/sys/arm64/arm64/ptrauth.c b/sys/arm64/arm64/ptrauth.c index 7f7a1dd41d8d..7f453dfa278d 100644 --- a/sys/arm64/arm64/ptrauth.c +++ b/sys/arm64/arm64/ptrauth.c @@ -141,7 +141,7 @@ out: return (false); } -static void +static bool ptrauth_enable(const struct cpu_feat *feat __unused, cpu_feat_errata errata_status __unused, u_int *errata_list __unused, u_int errata_count __unused) @@ -153,9 +153,11 @@ ptrauth_enable(const struct cpu_feat *feat __unused, elf64_addr_mask_14.code |= PAC_ADDR_MASK_14; elf64_addr_mask_14.data |= PAC_ADDR_MASK_14; #endif + + return (true); } -CPU_FEAT(feat_pauth, +CPU_FEAT(feat_pauth, "Pointer Authentication", ptrauth_check, NULL, ptrauth_enable, CPU_FEAT_EARLY_BOOT | CPU_FEAT_SYSTEM); diff --git a/sys/arm64/include/cpu_feat.h b/sys/arm64/include/cpu_feat.h index 6a0b2d78f526..f62f3e334dc1 100644 --- a/sys/arm64/include/cpu_feat.h +++ b/sys/arm64/include/cpu_feat.h @@ -29,6 +29,7 @@ #define _MACHINE_CPU_FEAT_H_ #include +#include typedef enum { ERRATA_UNKNOWN, /* Unknown erratum */ @@ -52,7 +53,7 @@ struct cpu_feat; typedef bool (cpu_feat_check)(const struct cpu_feat *, u_int); typedef bool (cpu_feat_has_errata)(const struct cpu_feat *, u_int, u_int **, u_int *); -typedef void (cpu_feat_enable)(const struct cpu_feat *, cpu_feat_errata, +typedef bool (cpu_feat_enable)(const struct cpu_feat *, cpu_feat_errata, u_int *, u_int); struct cpu_feat { @@ -61,18 +62,24 @@ struct cpu_feat { cpu_feat_has_errata *feat_has_errata; cpu_feat_enable *feat_enable; uint32_t feat_flags; + bool feat_enabled; }; SET_DECLARE(cpu_feat_set, struct cpu_feat); -#define CPU_FEAT(name, check, has_errata, enable, flags) \ +SYSCTL_DECL(_hw_feat); + +#define CPU_FEAT(name, descr, check, has_errata, enable, flags) \ static struct cpu_feat name = { \ .feat_name = #name, \ .feat_check = check, \ .feat_has_errata = has_errata, \ .feat_enable = enable, \ .feat_flags = flags, \ + .feat_enabled = false, \ }; \ -DATA_SET(cpu_feat_set, name) +DATA_SET(cpu_feat_set, name); \ +SYSCTL_BOOL(_hw_feat, OID_AUTO, name, CTLFLAG_RD, &name.feat_enabled, \ + 0, descr) /* * Allow drivers to mark an erratum as worked around, e.g. the Errata From nobody Thu Sep 4 16:28:48 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHlKY21hHz66NBp; Thu, 04 Sep 2025 16:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHlKY1BBLz40PS; Thu, 04 Sep 2025 16:28:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lbuFmhgbI+o/qZtLa6qwy41CI3NFCA1Le2/X8tzvlsc=; b=AcefcQtvpSpRTJuJvbyd77iDSBcvN8fat68IeOCwX19NT4tgKlxbEl0Inzc66VFvq/0zTz JfEDPVOxqteGGE7LbBIe6s1NAS0L+OhSxtRZeZ7t19G0PeTJ96gWPlm0Jif10Oyfflfd1O vzvVt3KgyPwfCX5rFFN/FzsnbUZUAaXdtNJ38b8zvCKEvV1kmpn0cvvrtMJZ9Ciksu+MlD ZssqY7+p4KJCA/RRq9EF1Bv6yRLEWBUvm9BeOSA1hTAGXhOd0QCE7bW77UrLGla4gvHUhm WjsmektOQP3kjgIb3oVRAJQspcED+JSgVLA2N3xneqqV7rjv80v0dHOwzq90zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lbuFmhgbI+o/qZtLa6qwy41CI3NFCA1Le2/X8tzvlsc=; b=EZE9PeRSu2isGG8jDQXqLt65OR+D1lW6BBP5kxUJBEczkS3NdKB01PRkS8fKW/0UPVjw0z V/3iaxMSWl2s873rcCT/L52g+JtudCwg3yEANny4UmWDkbbv6nroH+QXR00OBS2s5O3kKx jVYBlyV9UGvvnMC+RYp2ACtai1zYiWQK1p/eXuY2BFaO/1KSEKdoXtTRwV3Dgy1VmisQ54 vHuFIVxoUKiCpdnPsPGY2j11D/F1AzE+wfbiwXNMh+jPiKfLf/EpjNeHVF54fwVVduRjY0 l8j1cgXyYlfscTzVVtr3IbuUiderT4pqKJvXrtsYWcbGB+C+fGVQkF3SF2Y/kQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757003329; a=rsa-sha256; cv=none; b=Y87cVZJI1eXL6FhKKdM0CVUVT3djYyimOdBbQQIFFoYsIvtTQ78Q6DYcAWe00ZaZmYN900 z0gMt2A51jdDC4oVPejAebxrDjoz/KFuX5OK2NFr5M1WGQ6qVCFm7in9bFFbfGPe9pKNqz ySNB/1HKFiw5LzBEu4yDk5F2FOpAQ9YdLrbzRh/agQI3mek7r6NXfBecCkKp2sYB3PnvVc m7/3P7/MFnLQsx0TziBqLvG33n9S+l38zGwKCjM/nLXgS5obQTBY04sUWFfAvMg98x1TLu 8OEQu97vxzKZEwF8JaojghGtrifzP9PmhVEy4jnUM8K9qEmLQhZ8HEFR7OOsEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHlKY0jKcz18xX; Thu, 04 Sep 2025 16:28:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 584GSnDr033106; Thu, 4 Sep 2025 16:28:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584GSmPL033103; Thu, 4 Sep 2025 16:28:48 GMT (envelope-from git) Date: Thu, 4 Sep 2025 16:28:48 GMT Message-Id: <202509041628.584GSmPL033103@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 4bc68fa98f68 - main - arm64: Support managing features from loader List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4bc68fa98f68211ee7943d77cfc91f60ccb5880d Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=4bc68fa98f68211ee7943d77cfc91f60ccb5880d commit 4bc68fa98f68211ee7943d77cfc91f60ccb5880d Author: Andrew Turner AuthorDate: 2025-09-04 14:45:09 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 14:45:09 +0000 arm64: Support managing features from loader Allow the user to enable/disable supported cpu features/errata from a known tunable. This will allow the user to disable features, e.g. to work around broken firmware. It can also be used to enable workarounds for rare errata. Reviewed by: imp Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52358 --- sys/arm/arm/generic_timer.c | 9 ++++++--- sys/arm64/arm64/cpu_feat.c | 22 +++++++++++++++++++++- sys/arm64/arm64/identcpu.c | 10 +++++----- sys/arm64/arm64/machdep.c | 7 +++++-- sys/arm64/arm64/pmap.c | 9 ++++++--- sys/arm64/arm64/ptrauth.c | 8 ++++---- sys/arm64/include/cpu_feat.h | 27 ++++++++++++++++++++++++++- 7 files changed, 73 insertions(+), 19 deletions(-) diff --git a/sys/arm/arm/generic_timer.c b/sys/arm/arm/generic_timer.c index 27c985c5fcbe..97976408c943 100644 --- a/sys/arm/arm/generic_timer.c +++ b/sys/arm/arm/generic_timer.c @@ -882,14 +882,17 @@ DELAY(int usec) TSEXIT(); } -static bool +static cpu_feat_en wfxt_check(const struct cpu_feat *feat __unused, u_int midr __unused) { uint64_t id_aa64isar2; if (!get_kernel_reg(ID_AA64ISAR2_EL1, &id_aa64isar2)) - return (false); - return (ID_AA64ISAR2_WFxT_VAL(id_aa64isar2) != ID_AA64ISAR2_WFxT_NONE); + return (FEAT_ALWAYS_DISABLE); + if (ID_AA64ISAR2_WFxT_VAL(id_aa64isar2) >= ID_AA64ISAR2_WFxT_NONE) + return (FEAT_DEFAULT_ENABLE); + + return (FEAT_ALWAYS_DISABLE); } static bool diff --git a/sys/arm64/arm64/cpu_feat.c b/sys/arm64/arm64/cpu_feat.c index fd1b8429295f..986d5079e980 100644 --- a/sys/arm64/arm64/cpu_feat.c +++ b/sys/arm64/arm64/cpu_feat.c @@ -40,10 +40,13 @@ static cpu_feat_errata_check_fn cpu_feat_check_cb = NULL; void enable_cpu_feat(uint32_t stage) { + char tunable[32]; struct cpu_feat **featp, *feat; uint32_t midr; u_int errata_count, *errata_list; cpu_feat_errata errata_status; + cpu_feat_en check_status; + bool val; MPASS((stage & ~CPU_FEAT_STAGE_MASK) == 0); @@ -60,9 +63,26 @@ enable_cpu_feat(uint32_t stage) PCPU_GET(cpuid) != 0) continue; - if (feat->feat_check != NULL && !feat->feat_check(feat, midr)) + if (feat->feat_check != NULL) continue; + check_status = feat->feat_check(feat, midr); + /* Ignore features that are not present */ + if (check_status == FEAT_ALWAYS_DISABLE) + continue; + + snprintf(tunable, sizeof(tunable), "hw.feat.%s", + feat->feat_name); + if (TUNABLE_BOOL_FETCH(tunable, &val)) { + /* Is the feature disabled by the tunable? */ + if (!val) + continue; + /* If enabled by the tunable then enable it */ + } else if (check_status == FEAT_DEFAULT_DISABLE) { + /* No tunable set and disabled by default */ + continue; + } + /* * Check if the feature has any errata that may need a * workaround applied (or it is to install the workaround for diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index 6d70692fdf5d..f271891f423d 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2293,16 +2293,16 @@ user_ctr_has_neoverse_n1_1542419(uint32_t midr, uint64_t ctr) return (false); } -static bool -user_ctr_check(const struct cpu_feat *feat __unused, u_int midr __unused) +static cpu_feat_en +user_ctr_check(const struct cpu_feat *feat __unused, u_int midr) { if (emulate_ctr) - return (true); + return (FEAT_DEFAULT_ENABLE); if (user_ctr_has_neoverse_n1_1542419(midr, READ_SPECIALREG(ctr_el0))) - return (true); + return (FEAT_DEFAULT_ENABLE); - return (false); + return (FEAT_ALWAYS_DISABLE); } static bool diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index c0aeae072570..627b02e82d34 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -173,13 +173,16 @@ SYSINIT(ssp_warn, SI_SUB_COPYRIGHT, SI_ORDER_ANY, print_ssp_warning, NULL); SYSINIT(ssp_warn2, SI_SUB_LAST, SI_ORDER_ANY, print_ssp_warning, NULL); #endif -static bool +static cpu_feat_en pan_check(const struct cpu_feat *feat __unused, u_int midr __unused) { uint64_t id_aa64mfr1; id_aa64mfr1 = READ_SPECIALREG(id_aa64mmfr1_el1); - return (ID_AA64MMFR1_PAN_VAL(id_aa64mfr1) != ID_AA64MMFR1_PAN_NONE); + if (ID_AA64MMFR1_PAN_VAL(id_aa64mfr1) == ID_AA64MMFR1_PAN_NONE) + return (FEAT_ALWAYS_DISABLE); + + return (FEAT_DEFAULT_ENABLE); } static bool diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 96bde42d2711..0ef23edbc0bf 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -1656,14 +1656,17 @@ pmap_init_pv_table(void) } } -static bool +static cpu_feat_en pmap_dbm_check(const struct cpu_feat *feat __unused, u_int midr __unused) { uint64_t id_aa64mmfr1; id_aa64mmfr1 = READ_SPECIALREG(id_aa64mmfr1_el1); - return (ID_AA64MMFR1_HAFDBS_VAL(id_aa64mmfr1) >= - ID_AA64MMFR1_HAFDBS_AF_DBS); + if (ID_AA64MMFR1_HAFDBS_VAL(id_aa64mmfr1) >= + ID_AA64MMFR1_HAFDBS_AF_DBS) + return (FEAT_DEFAULT_ENABLE); + + return (FEAT_ALWAYS_DISABLE); } static bool diff --git a/sys/arm64/arm64/ptrauth.c b/sys/arm64/arm64/ptrauth.c index 7f453dfa278d..fdab5414e24c 100644 --- a/sys/arm64/arm64/ptrauth.c +++ b/sys/arm64/arm64/ptrauth.c @@ -82,7 +82,7 @@ ptrauth_disable(void) return (false); } -static bool +static cpu_feat_en ptrauth_check(const struct cpu_feat *feat __unused, u_int midr __unused) { uint64_t isar; @@ -116,14 +116,14 @@ ptrauth_check(const struct cpu_feat *feat __unused, u_int midr __unused) if (get_kernel_reg(ID_AA64ISAR1_EL1, &isar)) { if (ID_AA64ISAR1_APA_VAL(isar) > 0 || ID_AA64ISAR1_API_VAL(isar) > 0) { - return (true); + return (FEAT_DEFAULT_ENABLE); } } /* The QARMA3 algorithm is reported in ID_AA64ISAR2_EL1. */ if (get_kernel_reg(ID_AA64ISAR2_EL1, &isar)) { if (ID_AA64ISAR2_APA3_VAL(isar) > 0) { - return (true); + return (FEAT_DEFAULT_ENABLE); } } @@ -138,7 +138,7 @@ out: ID_AA64ISAR1_GPI_MASK, 0); update_special_reg(ID_AA64ISAR2_EL1, ID_AA64ISAR2_APA3_MASK, 0); - return (false); + return (FEAT_ALWAYS_DISABLE); } static bool diff --git a/sys/arm64/include/cpu_feat.h b/sys/arm64/include/cpu_feat.h index f62f3e334dc1..6a554b6baedf 100644 --- a/sys/arm64/include/cpu_feat.h +++ b/sys/arm64/include/cpu_feat.h @@ -40,6 +40,31 @@ typedef enum { /* kernel component. */ } cpu_feat_errata; +typedef enum { + /* + * Don't implement the feature or erratum wrokarount, + * e.g. the feature is not implemented or erratum is + * for another CPU. + */ + FEAT_ALWAYS_DISABLE, + + /* + * Disable by default, but allow the user to enable, + * e.g. For a rare erratum with a workaround, Arm + * Category B (rare) or similar. + */ + FEAT_DEFAULT_DISABLE, + + /* + * Enabled by default, bit allow the user to disable, + * e.g. For a common erratum with a workaround, Arm + * Category A or B or similar. + */ + FEAT_DEFAULT_ENABLE, + + /* We could add FEAT_ALWAYS_ENABLE if a need was found. */ +} cpu_feat_en; + #define CPU_FEAT_STAGE_MASK 0x00000001 #define CPU_FEAT_EARLY_BOOT 0x00000000 #define CPU_FEAT_AFTER_DEV 0x00000001 @@ -50,7 +75,7 @@ typedef enum { struct cpu_feat; -typedef bool (cpu_feat_check)(const struct cpu_feat *, u_int); +typedef cpu_feat_en (cpu_feat_check)(const struct cpu_feat *, u_int); typedef bool (cpu_feat_has_errata)(const struct cpu_feat *, u_int, u_int **, u_int *); typedef bool (cpu_feat_enable)(const struct cpu_feat *, cpu_feat_errata, From nobody Thu Sep 4 16:28:50 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHlKb219Nz66NMt; Thu, 04 Sep 2025 16:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHlKZ2160z40lc; Thu, 04 Sep 2025 16:28:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W0ptyFDOScMI8681g5yVH7Lc8PHMPeEGu/9eukOHLcA=; b=axt8b8+MV2HZPUrlVQn4LrPmaTbDG+0RUfVu8xcZSwSpaiVcYOiZGmnv8e43dIS5Zy+hmB 2xrYg5I1WRofmGOdGVNyeNT070EPvN0/z/24fTKz2QhI8M+qtuQ3g/i7wUgrVSrEidDVC9 KEyL6MRfpFMbvTIsusUfVxPCyng42XCrKm7tVyNqeiTY2Zt5vlDRSPfJ3LmB+EY+SPqyna arD7yFPyAJt4SAynajgyDVZyAzgB8lbvPYUYx+MEOK/VQcoNeWp+ic0B3c9epeld0hWF9K lk+ijJzJ0yr2psg/fp6SRdLmzdqgfl2JEnlbKMgX83Pw6yUfn+iVEvfU2WIdmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003330; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=W0ptyFDOScMI8681g5yVH7Lc8PHMPeEGu/9eukOHLcA=; b=dXuJs7RwO6zD7n4rF+9SPKu0GFsHml0XQSiR2eE1ziypWUZR7vkqdgwAo1xzr+cpux+RcJ Yep/4xSefGxuwTmTiT7mUXbIdTWWlWrpYIpPicZhTTGiG4DjUaMUzK7LepsyihMh1V35Dk jjjarySEANhNFUmLCT2WwZvFEhqglXhG2P12RR6kE6+cun46CzioEGGhsBuUhmhbksyc10 88PvJFcpW6Ba9sjtBOW+46yhjMbLfGruF4RGa1arfKNgN78yptvuHAp/pw0YexSh6xlEZG q+Ufq0zJ9U7KTF8ix922dvZD3BCpZkEjwof43+g0GjZLtzFX4ewYkY8oGR3M/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757003330; a=rsa-sha256; cv=none; b=Wsi5y2d+m69N+oWoni/u0Qs0ypQbxm/EvMWQa6r/QjwK/F00xBpPCHhmblEYljdiPuiiKi sJGiXXs8/zqMkhiQgFrRF3Hu+yFBAjiAAFRSaMSx1s1ECmbPuSdyo5n4uOQs8s35v6z9Hc d1PcgZsQ1j/O4KVf5VBSiQ06oLvYIW0v7Kmsb6t5ZSmB6fIUCaCAVenvKbTwptXCkqXD2v 71XtI6RMqOTViERpLmiU6YvrgdlJctsThdf+sPwttB8YqKYr46QX0jprq6LXJ3vD88PFrY PZD9H7/IiaGY6RxL1vQhFHV1cN6Y33j0B+CAfSb6iHeNJwQvIvNcVHQDb1VXMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHlKZ1b32z18hk; Thu, 04 Sep 2025 16:28: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 584GSoNa033140; Thu, 4 Sep 2025 16:28:50 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584GSokv033137; Thu, 4 Sep 2025 16:28:50 GMT (envelope-from git) Date: Thu, 4 Sep 2025 16:28:50 GMT Message-Id: <202509041628.584GSokv033137@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: c76b0247a95e - main - arm64: Add a function to check a range of CPU revs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c76b0247a95ed090cc0d83b2698228d2937af3e6 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c76b0247a95ed090cc0d83b2698228d2937af3e6 commit c76b0247a95ed090cc0d83b2698228d2937af3e6 Author: Andrew Turner AuthorDate: 2025-09-04 14:57:41 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 14:58:25 +0000 arm64: Add a function to check a range of CPU revs Add a function that can check if a given midr is within a range of revisions. This will be used to check if a CPU is affected by a known erratum. Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52187 --- sys/arm64/include/cpu.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h index 59cda36f275e..f07b67d18abf 100644 --- a/sys/arm64/include/cpu.h +++ b/sys/arm64/include/cpu.h @@ -196,6 +196,31 @@ #define CPU_MATCH_RAW(mask, devid) \ (((mask) & PCPU_GET(midr)) == ((mask) & (devid))) +#if !defined(__ASSEMBLER__) +static inline bool +midr_check_var_part_range(u_int midr, u_int impl, u_int part, u_int var_low, + u_int part_low, u_int var_high, u_int part_high) +{ + /* Check for the correct part */ + if (CPU_IMPL(midr) != impl || CPU_PART(midr) != part) + return (false); + + /* Check if the variant is between var_low and var_high inclusive */ + if (CPU_VAR(midr) < var_low || CPU_VAR(midr) > var_high) + return (false); + + /* If the variant is the low value, check if the part is high enough */ + if (CPU_VAR(midr) == var_low && CPU_PART(midr) < part_low) + return (false); + + /* If the variant is the high value, check if the part is low enough */ + if (CPU_VAR(midr) == var_high && CPU_PART(midr) > part_high) + return (false); + + return (true); +} +#endif + /* * Chip-specific errata. This defines are intended to be * booleans used within if statements. When an appropriate From nobody Thu Sep 4 16:28:51 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHlKb42vDz66NMv; Thu, 04 Sep 2025 16:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHlKb3DrYz40pG; Thu, 04 Sep 2025 16:28:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g6I3H5ZpNT4qni5EDTg5i7Mi6e7dMh96osQMbbQWDZ0=; b=XyRRdGrofMmWz75/g1HisQl7ACHrcpBDZSnQgcUFvPPCAPcl/O8F5RR6KQmTt3JhZj6FQh P11vu/x1f4EGWc3mHwn1DjFs/pQg5gDzFtjso6mMCctStirR1AzMaSvb2j4tQbo5hqhKhm p6u6Q76UZhfhtmiMuhW9KBrrkb8xb0Wdl8xxZbBydZD3N3XR4E2aJlbWPT6jBPH/T5NwjO ZdbQ9EdcLirIaSaGASReSiuE57ummqKAHNTxc0SxTI3FAGBMtH7mcwRV8OuddBO889ImGJ 4uyvQ2Xl+UoBqZTjgTdCw6HyNNJQjWEnRDVkM/JPDdgVXSrkfAebimcDo9GcZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003331; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g6I3H5ZpNT4qni5EDTg5i7Mi6e7dMh96osQMbbQWDZ0=; b=c7MdyHI4/pnpmus4fSi8R61hu/t7Kwbei017TVPjYUd1Oz9T9ZRnHHr/2KwU/7tniMZiMw b4sFsinwvHa/t9UzaSZoy+U8y4qLMoIjy5EEEyiwsoydBCBElBovRlXE/49ffjxZ/4SsH/ dDbBCwvn2t2QcMOmt77TGJ8ySitdXNr/XkSVbLRUz3/AakW8W54D7/Yq/aPNugVpNVrxbe Kxbu5o4QZmG9P9PbfNb3dJfzA6fYDy1Y0I21h2QzTpgG3P3nubD3tAyAbkOZ1dclrnZw9y A+d8BdZDvIi7obyDosMha1AWt3DZ47thKVdNGf73x4G4//6J2yiyJu1KTbW9xg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757003331; a=rsa-sha256; cv=none; b=BjCWVWt6HKT+4MRcRRGEI6wys+bbNIDhyDYK0r/T0+jt9RIk3DjBFRmLlTJ96Ls0e2sHBt GvOs7g/l1RpvzSBz+Hy4IlqZkJEFbMACLbXjreOl1WwuPq6jO0TJUXAp6lW9CeWgSRfJ3C FRqqYggv1eLrKy3eRnkpWYimTyaF6ivtSEawG32lktZKIMeVXIPMR1BSXgvqhr+sX8FMzu EcAlYqR9CwaK/8TUTQ/KjzBP2UO7qEXI1IfIwPDBNr/TQY8NUuX7hnxemmmI7h7241ijQ+ awJI9+0mXzZEOwOOKkPiTigo25nKPZ9bY2ilEDl3PbuQp1ch0oyooNuc5gm9YQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHlKb2ZxCz18xY; Thu, 04 Sep 2025 16:28: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 584GSpiP033174; Thu, 4 Sep 2025 16:28:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584GSpmR033171; Thu, 4 Sep 2025 16:28:51 GMT (envelope-from git) Date: Thu, 4 Sep 2025 16:28:51 GMT Message-Id: <202509041628.584GSpmR033171@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 1ae3694edb8b - main - arm64: Clean up HW DBM errata detection List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1ae3694edb8bb5f4d4831a18878677eb491861fb Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=1ae3694edb8bb5f4d4831a18878677eb491861fb commit 1ae3694edb8bb5f4d4831a18878677eb491861fb Author: Andrew Turner AuthorDate: 2025-09-04 14:56:04 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 14:58:25 +0000 arm64: Clean up HW DBM errata detection - Use the passed in midr rather than reading from pcpu - Use the new midr_check_var_part_range function to check if the midr is within the range of affected CPUs Reviewed by: alc Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52188 --- sys/arm64/arm64/pmap.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 0ef23edbc0bf..48b62442e68f 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -1674,8 +1674,8 @@ pmap_dbm_has_errata(const struct cpu_feat *feat __unused, u_int midr, u_int **errata_list, u_int *errata_count) { /* Disable on Cortex-A55 for erratum 1024718 - all revisions */ - if (CPU_MATCH(CPU_IMPL_MASK | CPU_PART_MASK, CPU_IMPL_ARM, - CPU_PART_CORTEX_A55, 0, 0)) { + if (CPU_IMPL(midr) == CPU_IMPL_ARM && + CPU_PART(midr) == CPU_PART_CORTEX_A55) { static u_int errata_id = 1024718; *errata_list = &errata_id; @@ -1684,15 +1684,13 @@ pmap_dbm_has_errata(const struct cpu_feat *feat __unused, u_int midr, } /* Disable on Cortex-A510 for erratum 2051678 - r0p0 to r0p2 */ - if (CPU_MATCH(CPU_IMPL_MASK | CPU_PART_MASK | CPU_VAR_MASK, - CPU_IMPL_ARM, CPU_PART_CORTEX_A510, 0, 0)) { - if (CPU_REV(PCPU_GET(midr)) < 3) { - static u_int errata_id = 2051678; + if (midr_check_var_part_range(midr, CPU_IMPL_ARM, CPU_PART_CORTEX_A510, + 0, 0, 0, 2)) { + static u_int errata_id = 2051678; - *errata_list = &errata_id; - *errata_count = 1; - return (true); - } + *errata_list = &errata_id; + *errata_count = 1; + return (true); } return (false); From nobody Thu Sep 4 16:28:52 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHlKc5Zgtz66NC1; Thu, 04 Sep 2025 16:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHlKc46d1z40kH; Thu, 04 Sep 2025 16:28:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IxPCJbjrITQWLVoOTN1tDq0EfBSWECIX8/rT8365rHA=; b=nYHYwCt6dirgTjZOaYG2nRpPJ6WPLsp4FXy1KvBF0aM/uQYfj1NE2jNBcAZ0jOszruwYbZ JVm8Ld2VZ8KRCYmFJfAR4zrcnpZywU1vEENSJ0YhP3My3BROAArE4tuvYal8gR3Y8BHwAm uFAz+auZ0VmhTcZlPWEof8hvsdhabCDqKiAdIxW+cJFMKYA5YqS1dDezuo37TNcOZI1Pzk wNBIDDpSCd/rMK5EQWZe5Hou3FD7/3GGZz1aBNPKtcjqVxxkpYlCZkZBq5q15T6vL5yMI1 KLeiApsF/evYTbp+QwySy9VIDjxqYD80tfH9nMVpkT3XEWdhDijn5WgL2adVag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003332; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IxPCJbjrITQWLVoOTN1tDq0EfBSWECIX8/rT8365rHA=; b=OJW1W53bfH88SilaY9MZcW0/HUIev6U45c0FdAsU6foCsDu6vUGGek/JePpm2x9XxMEvtE VZMOy8QhBPx0bihij85SZ0umMmauckbNqJqfQ7Hl12annroeal/3zrNc6dufSLMTHWmv91 QrWOcSJPZCX7za1W2zxT2fS3/qhpePB8ZqlI+YONR1k258xYsr5lzocZNoHeXLOrEu3mZN OW0pj74uXOso4y/0nx4xpwne1RM6lR1JsblYEYfRSFAuCwcFwYt/UeSgxdUwVVL5rksQDo jXUFEjpFla90O48tMKNm3kwb3bSmVW9LHR2woSTCARjBjFpY8gguqf2OQE+tIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757003332; a=rsa-sha256; cv=none; b=PLap6TzCk/unlDu+e2gal9f9kXiWQ2QQKVgFZ6V0QY6WFB5oRNws1n2R2aoKuBxvA5S63k utFT8HcSvBmUeUdlBuiws2+DGv+IWaiVrY41MfA6fQiueLW9Dzp9FmOreHWRrCKCIVhTaZ ZaKTfYVDW1nOxyCulVLuktLHJ7t8EQSQ9xMvKk86gybwXpG6VYczicaX8NUa4piqWgCafC zURJhs4Nqk9LCkBCodzfDYhR8kjwzqoU3nXdHqiisC31dewh0BMMY/ViY2fdNpGkcW8Tvr /hQ2lS9jkWhKojPPWwExOMIHHkoHcF/8QUGtzcaIfcuAuVLR90kOqxh0/IJUBg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHlKc3W3Nz197F; Thu, 04 Sep 2025 16:28: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 584GSqJV033209; Thu, 4 Sep 2025 16:28:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584GSque033206; Thu, 4 Sep 2025 16:28:52 GMT (envelope-from git) Date: Thu, 4 Sep 2025 16:28:52 GMT Message-Id: <202509041628.584GSque033206@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: efb1c4bac122 - main - arm64: Update the Neoverse-N1 1542419 errata 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: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: efb1c4bac122e7acb6aa4e180db66e14cfd19810 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=efb1c4bac122e7acb6aa4e180db66e14cfd19810 commit efb1c4bac122e7acb6aa4e180db66e14cfd19810 Author: Andrew Turner AuthorDate: 2025-09-04 14:58:54 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 14:58:54 +0000 arm64: Update the Neoverse-N1 1542419 errata check Use the new midr_check_var_part_range function to check if running on an affected Neoverse-N1 CPU. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52189 --- sys/arm64/arm64/identcpu.c | 26 +++++++------------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/sys/arm64/arm64/identcpu.c b/sys/arm64/arm64/identcpu.c index f271891f423d..a001be200518 100644 --- a/sys/arm64/arm64/identcpu.c +++ b/sys/arm64/arm64/identcpu.c @@ -2272,25 +2272,13 @@ static const struct mrs_user_reg user_regs[] = { static bool user_ctr_has_neoverse_n1_1542419(uint32_t midr, uint64_t ctr) { - /* Skip non-Neoverse-N1 */ - if (!CPU_MATCH(CPU_IMPL_MASK | CPU_PART_MASK, CPU_IMPL_ARM, - CPU_PART_NEOVERSE_N1, 0, 0)) - return (false); - - switch (CPU_VAR(midr)) { - default: - break; - case 4: - /* Fixed in r4p1 */ - if (CPU_REV(midr) > 0) - break; - /* FALLTHROUGH */ - case 3: - /* If DIC is enabled (coherent icache) then we are affected */ - return (CTR_DIC_VAL(ctr) != 0); - } - - return (false); + /* + * Neoverse-N1 erratum 1542419 + * Present in r3p0 - r4p0 + * Fixed in r4p1 + */ + return (midr_check_var_part_range(midr, CPU_IMPL_ARM, + CPU_PART_NEOVERSE_N1, 3, 0, 4, 0) && CTR_DIC_VAL(ctr) != 0); } static cpu_feat_en From nobody Thu Sep 4 16:33:56 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHlRS6cN2z66NLw; Thu, 04 Sep 2025 16:33: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHlRS5spWz42jW; Thu, 04 Sep 2025 16:33:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fX9IFAh9ctYBxnZu1j9faVmlSMzbOGK/+lPFKO7CLYw=; b=iK/lBcNbZY5zehNCypQQ7RJX2T84j5tZzKzCDA8P8Uq5b8BcMwx4UvDLRP3Oyd7cSFTlzT fuS4M/7HjeC//vmfmmAEinS1/pXv3fGbdRPQWfSUr5EiCkyeTok8qQrNQMBJ5K3Evji1NL ulp7Uxkik3gmNv4T6t+JxZPgPr1/AEEQBH7F6iv2R0yiMw8h1kutXbPgxwgWvlVI5a4d5+ +IqzCKLWTeIqARikydsJHQpFIP7pfkRjVCUKUvmQ48Ce/2OUHRHB4s6L7W97+EZLY9KB2x 1c4Pzqaj29Yu2Yad6vMKPO4PD+f4x0xwKIQQvFVYzx0zBHZne/o10cakgDeJ3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003636; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fX9IFAh9ctYBxnZu1j9faVmlSMzbOGK/+lPFKO7CLYw=; b=qRmuTBvYp0Iwq17hftk4tB6m1Nlfw188W6Kn4AZMzZPsJrQwEZaDdQ5MdDGaDrHKWa4oG+ +hqdmPukTL9czxgstILgHGzXcKfszjLSRoPihki1YrqovizbEkGu1KO2ZvH4/xO0ErfO2n KR8IgAVMCM+XSLldf4nGPt0QcFqD4saJWg92+ZBpqbJ/AdbQUmGGeeYXgCZNDpeM+rqezO zFcd/e3KjV/v+2zXIrSPQAjT2wmxDCXfQFhDzM0/AoY4zsG9XbBJFOmGU/1Vee7p4jmR7C mR95x1q0IuWzuTzZofoEIaEggkHil0LSuaxbq725pqk4TKf0HLXBngwK/aNXJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757003636; a=rsa-sha256; cv=none; b=hv1cNwvQsUSbnVmcwb+ZrJaL7aahzdlnSuzWVnELsFiAUObU1RUaB2vHYU9itT08sjtbHl +cvkEb8H1VP4zhdxUlYM6nPnqH6l3T2I8g81fJaBpvifbtmSuibAVNi1CEt6b0eOMPMKII bSYFlSqpfV2CXnz3FdKcGzxe0WGlr5WNyvrCVqA2/e+zztDfBiXfdF0SWPecGp5iN0z6vm P6rgIESNZPwm+t5tvLP5HVoGJU7SFq3XcxA6xa/NE64YhP8yjboa7Ncf2Uy/bSXyopdO0P 8vaCG0OmodE2PukWRdqMQkgwGDsdK85Ccpwb1DTg4kXVnRKEyBR04vyQ+OiGew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHlRS5KH9z19QB; Thu, 04 Sep 2025 16:33: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 584GXuqj049724; Thu, 4 Sep 2025 16:33:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584GXu2D049721; Thu, 4 Sep 2025 16:33:56 GMT (envelope-from git) Date: Thu, 4 Sep 2025 16:33:56 GMT Message-Id: <202509041633.584GXu2D049721@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 7156a5f1af9e - main - bridge: Print a warning if member_ifaddrs=1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7156a5f1af9e55cb0fcd409fd4555d1ca5cf34ab Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=7156a5f1af9e55cb0fcd409fd4555d1ca5cf34ab commit 7156a5f1af9e55cb0fcd409fd4555d1ca5cf34ab Author: Lexi Winter AuthorDate: 2025-09-04 16:22:36 +0000 Commit: Lexi Winter CommitDate: 2025-09-04 16:33:39 +0000 bridge: Print a warning if member_ifaddrs=1 When adding an interface with an IP address to a bridge, or assigning an IP address to an interface which is in a bridge, and member_ifaddrs=1, print a warning so users are informed this is deprecated. Also add "(deprecated)" to the sysctl description. MFC after: 9 hours Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D52335 --- sys/net/if_bridge.c | 34 ++++++++++++++++++++-------------- sys/netinet/in.c | 11 +++++++++-- sys/netinet6/in6.c | 17 +++++++++++++---- 3 files changed, 42 insertions(+), 20 deletions(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index a854bbb96394..41847131c73d 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -526,7 +526,7 @@ VNET_DEFINE_STATIC(bool, member_ifaddrs) = false; #define V_member_ifaddrs VNET(member_ifaddrs) SYSCTL_BOOL(_net_link_bridge, OID_AUTO, member_ifaddrs, CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), false, - "Allow layer 3 addresses on bridge members"); + "Allow layer 3 addresses on bridge members (deprecated)"); static bool bridge_member_ifaddrs(void) @@ -1447,25 +1447,31 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg) #endif /* - * If member_ifaddrs is disabled, do not allow an Ethernet-like - * interface with assigned IP addresses to be added to a bridge. + * If member_ifaddrs is disabled, do not allow an interface with + * assigned IP addresses to be added to a bridge. Skip this check + * for gif interfaces, because the IP address assigned to a gif + * interface is separate from the bridge's Ethernet segment. */ - if (!V_member_ifaddrs && ifs->if_type != IFT_GIF) { + if (ifs->if_type != IFT_GIF) { struct ifaddr *ifa; CK_STAILQ_FOREACH(ifa, &ifs->if_addrhead, ifa_link) { -#ifdef INET - if (ifa->ifa_addr->sa_family == AF_INET) - return (EXTERROR(EINVAL, - "Member interface may not have " - "an IPv4 address configured")); -#endif -#ifdef INET6 - if (ifa->ifa_addr->sa_family == AF_INET6) + if (ifa->ifa_addr->sa_family != AF_INET && + ifa->ifa_addr->sa_family != AF_INET6) + continue; + + if (V_member_ifaddrs) { + if_printf(sc->sc_ifp, + "WARNING: Adding member interface %s which " + "has an IP address assigned is deprecated " + "and will be unsupported in a future " + "release.\n", ifs->if_xname); + break; + } else { return (EXTERROR(EINVAL, "Member interface may not have " - "an IPv6 address configured")); -#endif + "an IP address assigned")); + } } } diff --git a/sys/netinet/in.c b/sys/netinet/in.c index 75ff1f5f3d68..70a61dbf93a3 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -523,8 +523,15 @@ in_aifaddr_ioctl(u_long cmd, caddr_t data, struct ifnet *ifp, struct ucred *cred * Check if bridge wants to allow adding addrs to member interfaces. */ if (ifp->if_bridge != NULL && ifp->if_type != IFT_GIF && - bridge_member_ifaddrs_p != NULL && !bridge_member_ifaddrs_p()) - return (EINVAL); + bridge_member_ifaddrs_p != NULL) { + if (bridge_member_ifaddrs_p()) + if_printf(ifp, "WARNING: Assigning an IP address to " + "an interface which is also a bridge member is " + "deprecated and will be unsupported in a future " + "release.\n"); + else + return (EINVAL); + } /* * See whether address already exist. diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index be6233d8e4f8..4f756a75fac7 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1235,11 +1235,20 @@ in6_addifaddr(struct ifnet *ifp, struct in6_aliasreq *ifra, struct in6_ifaddr *i int carp_attached = 0; int error; - /* Check if this interface is a bridge member */ + /* + * Check if bridge wants to allow adding addrs to member interfaces. + */ if (ifp->if_bridge != NULL && ifp->if_type != IFT_GIF && - bridge_member_ifaddrs_p != NULL && !bridge_member_ifaddrs_p()) { - error = EINVAL; - goto out; + bridge_member_ifaddrs_p != NULL) { + if (bridge_member_ifaddrs_p()) { + if_printf(ifp, "WARNING: Assigning an IP address to " + "an interface which is also a bridge member is " + "deprecated and will be unsupported in a future " + "release.\n"); + } else { + error = EINVAL; + goto out; + } } /* From nobody Thu Sep 4 16:33:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHlRV1ptWz66Nrd; Thu, 04 Sep 2025 16:33: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHlRV00Tqz42ms; Thu, 04 Sep 2025 16:33:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u+7MnDG6+z5iiynFPRvEDOofHzBbEMNXpEyEmJfVY8U=; b=e48EUff9NKl8/trVP36a91hQjFc3NX+WRm2zAr6XLyvUMOBwHPUMfHgACwJ6S0uIbIydGA sXs9bjyhFHt/gynDdY+IriDNWW+w4TlmwS8/oMJnwUDe1VJ9IWtKfTgZ/4npDs7QDHCgI4 npLXV8J++hFjcyIKpOAKzAfEE6HBSPhra+sQZXJdHM6rMro/q2CKjDM8E5IXpE9qkyZf2j 0AMBtiy15T200AWEGMKaoBO0Lm2tIBYVu9zp+aAKsudRM5CCk0fwQlEXHBOo4iobNbRQyF +ebm+FvoVFZou0bu7QaDi/f5nNmdHlwDShhLep5Pshvdo989FXcCfw/rtxj6Vw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757003638; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u+7MnDG6+z5iiynFPRvEDOofHzBbEMNXpEyEmJfVY8U=; b=kLFKCW5l/NfLDBLygS2plF+dqFnuDmc77ilnr/lBwUG2SOIIl9bUf7uKhQsyVGVQ1disg/ vUIxwgamlr3zZYLSxWjF1rVzQD/Tx2cd3IOpeNl3lc1aPoBoBCJ8W43RvhXRPbs5RHBMmM 5shz9sjPr01IJWuFfb/sVkSHLTkkeDQB7O2wmW2v+z1stsZWmCl/S4h5WZDfmZ4PaqLT9W jRXVw5n+JJkv7uw6ARkm4QOTwS2S+KHH+BKYitRdU1Yc7iIJstRcDsrppm4mrRdp0RFMm4 D0CRl8dGl13gTUMnAjZg9h4mWI02DOX2keq8tZ3eSl3JmRjNy0EHVrXCRFoW1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757003638; a=rsa-sha256; cv=none; b=c6TsxAkGwGDRaM3izfE8UJUHiZaF81GUFzp6tqXxrKMvY3+jG/4RBRHsrQynK8OlKWntJX uuCHryKccXWA58q6P3RgixwCICfYgBix/qH2kkKfDtd0gychIYMt01a+q0yCCqIUnbrgHu qoV5HUnxEoQ8Qhex5kdy/gHfYBIqdl+/13xLgU2tVA24SJqBupp4OCIe5wZQ2Vk7k5dpx3 /DarYYKZBY5Ax6yE8Za4KSc0PL5zPRIPEUdnmNuHChg+5SMGJQCaOattTCjIT3CQmWmKGP FVHU5kggnH2P3IS05KpWD4I1YG91g1LNNBshvTIvdLqXflddMN9PvorUIKFnjg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHlRT6djFz18m1; Thu, 04 Sep 2025 16:33: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 584GXvfV049759; Thu, 4 Sep 2025 16:33:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584GXven049756; Thu, 4 Sep 2025 16:33:57 GMT (envelope-from git) Date: Thu, 4 Sep 2025 16:33:57 GMT Message-Id: <202509041633.584GXven049756@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: 93a734f07a22 - main - bridge: Set member_ifaddrs=1 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: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 93a734f07a22464952b35ad0888c6fdb6e099921 Auto-Submitted: auto-generated The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=93a734f07a22464952b35ad0888c6fdb6e099921 commit 93a734f07a22464952b35ad0888c6fdb6e099921 Author: Lexi Winter AuthorDate: 2025-09-04 16:23:18 +0000 Commit: Lexi Winter CommitDate: 2025-09-04 16:33:39 +0000 bridge: Set member_ifaddrs=1 by default We aren't ready to release with this set to 0: there's no solution for running DHCP on a bridge from a devd hook, there are missing edge cases like network boot with the boot interface in a bridge, and third-party tools (e.g., vm-bhyve) still direct users to use the incorrect configuration and/or don't support the correct configuration. Based on popular vote, we'll set this back to 0 in both main and for stable/15. MFC after: 9 hours Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D52336 --- sys/net/if_bridge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 41847131c73d..cea7f1cb5e23 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -522,7 +522,7 @@ SYSCTL_BOOL(_net_link_bridge, OID_AUTO, log_mac_flap, "Log MAC address port flapping"); /* allow IP addresses on bridge members */ -VNET_DEFINE_STATIC(bool, member_ifaddrs) = false; +VNET_DEFINE_STATIC(bool, member_ifaddrs) = true; #define V_member_ifaddrs VNET(member_ifaddrs) SYSCTL_BOOL(_net_link_bridge, OID_AUTO, member_ifaddrs, CTLFLAG_RW | CTLFLAG_VNET, &VNET_NAME(member_ifaddrs), false, From nobody Thu Sep 4 17:09:40 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHmDh4NlKz66R8S; Thu, 04 Sep 2025 17:09: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHmDh2dkZz4797; Thu, 04 Sep 2025 17:09:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757005780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T4T061XyCQ0IcLJCA3YMUjov4hE+RY/ulFq8sUhKM3U=; b=Xa7DJbzhjvipi5joWex6Al43eNV7/CX+vSTqIzUiQF0unQHF4QrOGnLy+mvhUyk/7izSwk PGrZPRdVfSMfCmKq0gqm/A2Kde1XJILi3zeIUk4YfY+SQvkn0YogEYh1hVvEES9oJf8KkN QuUPEhrT+Q3WaOHj6A33KkYsn1vzH+fFhnrhqQmwLOp6LDsUaLkyuzddLHt+C5TlUHGnqi P7cvnJckipNrxg53/dNvPZmHllJSFyg6XFtLVqFNcEvuTmONgjph4PhQCk3RSLZR1XBi2d hC7JMj6FezVNovQNSII3lesvo93+PdsiL5mggo64znyfGardJ+KJroH/U4rO9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757005780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T4T061XyCQ0IcLJCA3YMUjov4hE+RY/ulFq8sUhKM3U=; b=v/qCeGJ2d8ZMIXHM1JRtBr7Uls4+8YMs8H6TOAq2QDKXjTSsuR8mh1BHUdZH7GKEQ1oqxo OiJLCfHbB22x0UBMiYskvQKtt3HIWbHXcqHL2n++41DGqer18+Z8YVJzuVdeDnZeU5jqRr jfbe/R5QbDrzhxA41Izk9RVvb2JsgITz9xUeggxIXMcadSyA38OdHLbqJ0FFa8eVuozWlr sHz65h1S2xNA3SbMy/w02F7nLuUosbaRjXn9SrmInoXGUbWfmS66as/yOYrPYj7fH6w8cx RcQYLgLtNscFbVTnq+l8aDfSNU/66DOePAfm46rNWzsDUm3plm+ebFbTBjL3Nw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757005780; a=rsa-sha256; cv=none; b=kqiSJNKxWQs9sbewUQVcws2uFZ2gHqNC8PKHDrDpJE5mcZ2EifBVBCK4SUabT4s2pW0/yz yq7YXVSIhKNX6uhYh5H0D8T9z+v5Mae3rgVYwkZLO2QaOTXGorMI+LhNwPUhEJZFhFICTa VYvg+VRMrgRcpx73jS6EmahcS2xEAsO4hXD6ihhfgWe8dTj68p6E2XxpaG1a8j1Qa4YfhI ZzxFqkrxLxsOMrnAEeVyHLae6PUPtG7lcTmoeDe9oe8x07/zHi3YARyb4GdNfnwLLgGd0k 52fCaBZMx4mqwslg3o7ceBiQj0WjD4sOOZ+k2s/qQGaXIfu0SBzP5zPN2FgCSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHmDh25L1z19yC; Thu, 04 Sep 2025 17:09:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 584H9ess006909; Thu, 4 Sep 2025 17:09:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584H9eJc006906; Thu, 4 Sep 2025 17:09:40 GMT (envelope-from git) Date: Thu, 4 Sep 2025 17:09:40 GMT Message-Id: <202509041709.584H9eJc006906@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: f6d4c9c45a28 - main - arm64: Remove CPU_MATCH_RAW List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: f6d4c9c45a282978e99faebcf1abb1e0f8eab8cb Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=f6d4c9c45a282978e99faebcf1abb1e0f8eab8cb commit f6d4c9c45a282978e99faebcf1abb1e0f8eab8cb Author: Andrew Turner AuthorDate: 2025-09-04 16:51:07 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 17:08:46 +0000 arm64: Remove CPU_MATCH_RAW It's unused. Reviewed by: emaste Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52191 --- sys/arm64/include/cpu.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/sys/arm64/include/cpu.h b/sys/arm64/include/cpu.h index f07b67d18abf..07a783138f42 100644 --- a/sys/arm64/include/cpu.h +++ b/sys/arm64/include/cpu.h @@ -193,9 +193,6 @@ (((mask) & PCPU_GET(midr)) == \ ((mask) & CPU_ID_RAW((impl), (part), (var), (rev)))) -#define CPU_MATCH_RAW(mask, devid) \ - (((mask) & PCPU_GET(midr)) == ((mask) & (devid))) - #if !defined(__ASSEMBLER__) static inline bool midr_check_var_part_range(u_int midr, u_int impl, u_int part, u_int var_low, From nobody Thu Sep 4 17:41:41 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHmxf1rMfz66TMy; Thu, 04 Sep 2025 17:41:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHmxf13lnz3Cp4; Thu, 04 Sep 2025 17:41:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757007702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wu2HMrGXZY8XMqvYA9OG+/UlxAct6tp3TGkFsntnK50=; b=Z83qQjiFGZgMn3Dh5hjqtWv+yA6SP126BZlBrFZI3GONkHbQnRRhRgp+DvZ4VoJkKEEwgh b1SqaiFQrzOgIjkQDaOvwTAjL/tywh42SGJaGdrZ99me7dfxfu7a48VkSeTqDDF2NUpnFP VA0zip0k7zoWOnng5uzG7UCE5eqSl8VnQ4OCmhOLm2yQUtOYmGzDYaMNVHiP/SxzE0RbRB 0x3ngAwP1n/8Omcomrg3q4Tf7iaW+UQFi46N/DMrBGCsmQ7zjTsXBsidiVQr4s3pF9U8ln fN3K0pBsBMYvExBm4dI4+5zh9Dg/RQ8RHGLODOD8cnPGB8Q5rbaaIAgFebEf0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757007702; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wu2HMrGXZY8XMqvYA9OG+/UlxAct6tp3TGkFsntnK50=; b=biJqlkArnly245Frydu5S3wARRhH8aFT4XK418snOa5iZpFkD9rJHlsHzwqvUoPhRzQwqn gMPIEb8L9fidrhkpaGKDZL8sK5gyXND8NcyvDtiiEsX4vrB9Cg4Ofn5HgggRLdLIPyr9QE 46kOhV84zZ5X2w86UeNqZNRoO9wlVs1qH7GIKRBn5ZwqVOYoBQE/JJRG3FUSsj6oM1gEGC FRLlktrreKa4hP9uLcnXG2SCRWTbFJ0M4Op5yjJO0LSEqiicsaNGB0q5tJYUYetfRKoMfc cwcSE4Kex3iRjp4Tu7hlwYKDUCyPExl2PgfGMyQGM0yeXm6i68poDw/sjgEawQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757007702; a=rsa-sha256; cv=none; b=yWETaYl7bf9Yfp7YZrY8BfWidK9uKsDYZaz6UUAXwcySRHzdHIq/Yfe8U7uIMTQyHvWXss XPYFqQCG1Z2DJy57dhYkzpYNMFGiBfs+kzO96f5A/CU9jeVgI2pcVbOAjVtMA6YTACIXNm Q7ofxTSNMDhBauj3kZWEtt46Qiq5i17xSDYYPxT1CPRo2o6ltqCoR38zX6pIiIQaBXSdkh qrrbvMm4I+hqGQVskfepf4Xo8gkofJC6cXyT7cpzwCV3xC8Sx1gKU45adsYGqo/6qlq+TW jwWjIW7doqRI985wEgLigXZs5hJwfKtZcrBxMjw4tS2ievQhnzAIIMmh8+GrUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHmxf0N3Xz1BjK; Thu, 04 Sep 2025 17:41:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 584HfflB074089; Thu, 4 Sep 2025 17:41:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584HffrV074086; Thu, 4 Sep 2025 17:41:41 GMT (envelope-from git) Date: Thu, 4 Sep 2025 17:41:41 GMT Message-Id: <202509041741.584HffrV074086@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: 8df4dc90952b - main - arm64: Create a TLBI invalidate for the kernel List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8df4dc90952be7afee36e3cc80c1a76e2c66fbac Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=8df4dc90952be7afee36e3cc80c1a76e2c66fbac commit 8df4dc90952be7afee36e3cc80c1a76e2c66fbac Author: Andrew Turner AuthorDate: 2025-09-04 17:24:07 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 17:24:07 +0000 arm64: Create a TLBI invalidate for the kernel Add pmap_s1_invalidate_all_kernel to remove the need to check for the kernel_pmap when it's passed in. While here replace pmap calls to cpu_tlb_flushID with pmap_s1_invalidate_all_kernel as they are identical. Reviewed by: kib Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52183 --- sys/arm64/arm64/pmap.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 48b62442e68f..af156727d9d2 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -201,6 +201,8 @@ __exclusive_cache_line static struct pmap_large_md_page pv_dummy_large; #define pv_dummy pv_dummy_large.pv_page __read_mostly static struct pmap_large_md_page *pv_table; +static __inline void pmap_s1_invalidate_all_kernel(void); + static struct pmap_large_md_page * _pa_to_pmdp(vm_paddr_t pa) { @@ -1297,7 +1299,7 @@ pmap_bootstrap_dmap(vm_size_t kernlen) } } - cpu_tlb_flushID(); + pmap_s1_invalidate_all_kernel(); bs_state.dmap_valid = true; @@ -1399,7 +1401,7 @@ pmap_bootstrap(void) /* And the l3 tables for the early devmap */ pmap_bootstrap_l3(VM_MAX_KERNEL_ADDRESS - (PMAP_MAPDEV_EARLY_SIZE)); - cpu_tlb_flushID(); + pmap_s1_invalidate_all_kernel(); #define alloc_pages(var, np) \ (var) = bs_state.freemempos; \ @@ -1961,6 +1963,15 @@ pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, pmap_s2_invalidate_range(pmap, sva, eva, final_only); } +static __inline void +pmap_s1_invalidate_all_kernel(void) +{ + dsb(ishst); + __asm __volatile("tlbi vmalle1is"); + dsb(ish); + isb(); +} + /* * Invalidates all cached intermediate- and final-level TLB entries for the * given virtual address space. @@ -7965,7 +7976,7 @@ pmap_mapbios(vm_paddr_t pa, vm_size_t size) pa += L2_SIZE; } if ((old_l2e & ATTR_DESCR_VALID) != 0) - pmap_s1_invalidate_all(kernel_pmap); + pmap_s1_invalidate_all_kernel(); else { /* * Because the old entries were invalid and the new @@ -8056,7 +8067,7 @@ pmap_unmapbios(void *p, vm_size_t size) } } if (preinit_map) { - pmap_s1_invalidate_all(kernel_pmap); + pmap_s1_invalidate_all_kernel(); return; } From nobody Thu Sep 4 17:41:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHmxg3m8Hz66TH0; Thu, 04 Sep 2025 17:41:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHmxg20Z6z3CYs; Thu, 04 Sep 2025 17:41:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757007703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=arveBWZQGN1op22xKyCJE882mzdr2ddsRzsAX/CCMGU=; b=trZGNP66z2DRWMr/QLQW6a92Oy8Zbhv0eJk5Xx881nYjrLMZZAy6vKVkNREbqHCgRvxfpx hF0INiKBYBVA2wkcPVqbYvSwfDgbhjNzcWYb1kHCHaAgb58xnLZ+LPHrTJ11mCnEQKlwA3 XXn45o7lYFJ4UTqAKyS49Iplar68oCKOH4fBU3HPPWLg3ljQ4L0X0MpEmkj0obMyYDPys+ EEeH0j6Nx9mYDdATmHkzIHySo+CZUHcRp071+msF6gC+xY4NDIJzCxedzXsT7epVCxGXqp MM1/qWJVC45aR1yePY4sz7lABhdQO8SUTaMGKdNf7RJqc71Aaq/EY1KQzLeLSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757007703; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=arveBWZQGN1op22xKyCJE882mzdr2ddsRzsAX/CCMGU=; b=LmqrVsLYHWMF+ge3T9fcuZYRNH4lenpySB1a8lKDZqzCczxIWgHnLYxazF1b1OVRSkQ4My EdCBHIRCJPPP90IBxotb0or+eFXa7YruAodlRtn/uZDaEEAP3NLUCGVETJQO+wnOqWpB4e LaKwmi7sj9Ezgu0udJwiZn9CDvbaKIM7yrV0B2S9Bu3jrm9YZb9s57EIy0nUSH+Ri4iSWs P9toobvT8JMCA9smc5ZcH+7jmcluIGTpnYZ5xNssiXm8GLZfAx7zfEdCMlLmKTV0e+aN9h p61kMOBBqk57VczhfhQ4RhG1cpfBbCIdmZ5RAgUdBvaHo08ofU5d4Si4177flA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757007703; a=rsa-sha256; cv=none; b=efgFi0o+8MPhFJZcu3MwAA0AzQPYsbGfTrM1mOIOKtJm/rB21ZFjJkjqfgX+DJzkGDrCpF dmZxUUT69fiHiBbALdEPeE6wT3TMLjXBc1tocZIzX+u8OMz/QvfRc0r0hg5sNEgJ2bNGOh v/XKkfDSC5ADkZhz6I6/FbRjfwgnAT7N7cvJ0g299FOafLsRV7hAmhjFPDhs5JSnj9a+iF RPAUAH0WW6kwKWrt+E+qwbxyQ6kg6bAeFw3ID89OZlbFQPCsVNcUEdJai243uc7WedIBis Q8ILOlMwj0JQZ6DKiZgALFQMC2Cz3sSi5y3svmFymjGV2VsGBwB5Pv4qd0pQSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHmxg1KQlz1BXT; Thu, 04 Sep 2025 17:41: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 584HfhwC074122; Thu, 4 Sep 2025 17:41:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584Hfh3h074119; Thu, 4 Sep 2025 17:41:43 GMT (envelope-from git) Date: Thu, 4 Sep 2025 17:41:43 GMT Message-Id: <202509041741.584Hfh3h074119@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: fa23bfb425d5 - main - arm64: Replace cpu_tlb_flushID in initarm List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: fa23bfb425d53a87064d86ec9ae0ae5e31aa5d5b Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=fa23bfb425d53a87064d86ec9ae0ae5e31aa5d5b commit fa23bfb425d53a87064d86ec9ae0ae5e31aa5d5b Author: Andrew Turner AuthorDate: 2025-09-04 17:24:30 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 17:24:30 +0000 arm64: Replace cpu_tlb_flushID in initarm Replace cpu_tlb_flushID with pmap_s1_invalidate_all_kernel in initarm. They are identical in the SMP case. Reviewed by: alc Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52184 --- sys/arm64/arm64/machdep.c | 2 +- sys/arm64/arm64/pmap.c | 4 +--- sys/arm64/include/pmap.h | 2 ++ 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index 627b02e82d34..47c701e8588c 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -858,7 +858,7 @@ initarm(struct arm64_bootparams *abp) cninit(); set_ttbr0(abp->kern_ttbr0); - cpu_tlb_flushID(); + pmap_s1_invalidate_all_kernel(); if (!valid) panic("Invalid bus configuration: %s", diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index af156727d9d2..0c359c6eea01 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -201,8 +201,6 @@ __exclusive_cache_line static struct pmap_large_md_page pv_dummy_large; #define pv_dummy pv_dummy_large.pv_page __read_mostly static struct pmap_large_md_page *pv_table; -static __inline void pmap_s1_invalidate_all_kernel(void); - static struct pmap_large_md_page * _pa_to_pmdp(vm_paddr_t pa) { @@ -1963,7 +1961,7 @@ pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, pmap_s2_invalidate_range(pmap, sva, eva, final_only); } -static __inline void +void pmap_s1_invalidate_all_kernel(void) { dsb(ishst); diff --git a/sys/arm64/include/pmap.h b/sys/arm64/include/pmap.h index 357c1a0d8232..406b6e2c5e0a 100644 --- a/sys/arm64/include/pmap.h +++ b/sys/arm64/include/pmap.h @@ -175,6 +175,8 @@ int pmap_fault(pmap_t, uint64_t, uint64_t); struct pcb *pmap_switch(struct thread *); +void pmap_s1_invalidate_all_kernel(void); + extern void (*pmap_clean_stage2_tlbi)(void); extern void (*pmap_stage2_invalidate_range)(uint64_t, vm_offset_t, vm_offset_t, bool); From nobody Thu Sep 4 17:41:44 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHmxh6mMMz66TN0; Thu, 04 Sep 2025 17:41: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHmxh4b9hz3Cch; Thu, 04 Sep 2025 17:41:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757007704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sXUYPnrbUNifNzCGjbQ0jO2GfEh6l8UTVvBViI7pU/k=; b=MagOK/cocncKZNOFLf2/ULJ2S1BUi+lCzYDtyCYOUP8XuutG4Zcszb9JyonZ4qAeFCUfQ7 cMuEG+y5axhzXSM0/R/sOG+ts8YIDWiG2GZBJwEjUI4ChLZnCk0R4UnJlIq9rMRGzJSsD3 XAgSWM+dvz4aqSjIHMIb5ClGJ3UYS7aCU8UaUyAGkDEh28xnXIZKjDzZRtqSw7MsgkSUri snxiFROPQR+YOCDLMmmZsgtyD5e3L50cXAY+G8SfYh40Ze/aScjWioccw/O7DOIXjticiX FNyvPrESEVCu74lF9bCSCIYNBQx3hH5NeEm2lQwuCVGDFe3SwgmqyWsjNLoa4g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757007704; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sXUYPnrbUNifNzCGjbQ0jO2GfEh6l8UTVvBViI7pU/k=; b=NqyNcbUYjM7tgaOmYqWKG2e7HL2HIszVnZVYN2BKwszDpOsU9+3z4pa6vcuJfbob2IGT/K SKu2OjoVZpgM+WnlSGofU5CRoZWCLB1HK1M/Pyc2BUmE6fNZC7JWcod5KNMdfHBx4Y3lXT CqofTWEfyd39nwinG7NbWV5/Jh6RbHn2HqUaF9phNoaHZzJDM1B5v/WumOcIqVwfROqkUJ 2oLqCgedBejqBP4z7uoCI5dz/rdoFR8dcOutSOcqvbRJxa+PdCClMUNeDAPPDOQlNEpijg hBlJn03rKGHWRH5zywcXwioEWVbIRAQ7xF7Hy+2FpvZTbfZY0F46wPPnOEuqyQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757007704; a=rsa-sha256; cv=none; b=fVRz7liXLahb7HnH/Lup/RQQUm2P5GNqd49lbylfa+KGIsuouYqb08nDYzQfeL1ImnVPmk DziOF3dU0aOZ/2jrazPvvDa3WR8N8B7nnJ4y7hHvFPRhHI1W0k/s+rkTTFC5J+l263qlfK 18xdNxUU1bhmIGwA66yYN+fwZtvqxBlZ1g6RRsj9paBfhMjGx8LfyJU/7s81Xhguk0oM+V zEhdwe/oTRwoDnMZyKusHlBH/z0KWNjwe8tgwWjJ1l0iIV4Kayvpd8Sxkkq0f6+BJ/5Ag3 OxY35UJkVH8+jJaj6j+naQGrflRBYcSULG/B3wFs8ygs2iBEj7V1pcOvTAGL+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHmxh2KbZz1BxC; Thu, 04 Sep 2025 17:41:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 584HfijS074155; Thu, 4 Sep 2025 17:41:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584HfiVv074152; Thu, 4 Sep 2025 17:41:44 GMT (envelope-from git) Date: Thu, 4 Sep 2025 17:41:44 GMT Message-Id: <202509041741.584HfiVv074152@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: a884f699e4bf - main - arm64: Add a multiple TLBI workaround List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a884f699e4bfc1be4e721d3ec4fa93915be18a86 Auto-Submitted: auto-generated The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=a884f699e4bfc1be4e721d3ec4fa93915be18a86 commit a884f699e4bfc1be4e721d3ec4fa93915be18a86 Author: Andrew Turner AuthorDate: 2025-09-04 17:24:56 +0000 Commit: Andrew Turner CommitDate: 2025-09-04 17:25:25 +0000 arm64: Add a multiple TLBI workaround The Arm Cortex-A55, Cortex-A76, and Cortex-A510 CPUs have errata that require multiple TLBI, DSB instructions to workaround. Add support to pmap to implement these. As it appears that all affected TLBI calls are via pmap.c this should be sufficient. As all variants of this erratum are Category-B (rare) require the user to enable it at boot time. Reviewed by: alc Sponsored by: Arm Ltd Differential Revision: https://reviews.freebsd.org/D52190 --- sys/arm64/arm64/pmap.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c index 0c359c6eea01..8a4395aa1c89 100644 --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -190,6 +190,8 @@ pt_entry_t __read_mostly pmap_gp_attr; #define PMAP_SAN_PTE_BITS (ATTR_AF | ATTR_S1_XN | pmap_sh_attr | \ ATTR_KERN_GP | ATTR_S1_IDX(VM_MEMATTR_WRITE_BACK) | ATTR_S1_AP(ATTR_S1_AP_RW)) +static bool __read_mostly pmap_multiple_tlbi = false; + struct pmap_large_md_page { struct rwlock pv_lock; struct md_page pv_page; @@ -1723,6 +1725,51 @@ CPU_FEAT(feat_hafdbs, "Hardware management of the Access flag and dirty state", pmap_dbm_check, pmap_dbm_has_errata, pmap_dbm_enable, CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU); +static cpu_feat_en +pmap_multiple_tlbi_check(const struct cpu_feat *feat __unused, u_int midr) +{ + /* + * Cortex-A55 erratum 2441007 (Cat B rare) + * Present in all revisions + */ + if (CPU_IMPL(midr) == CPU_IMPL_ARM && + CPU_PART(midr) == CPU_PART_CORTEX_A55) + return (FEAT_DEFAULT_DISABLE); + + /* + * Cortex-A76 erratum 1286807 (Cat B rare) + * Present in r0p0 - r3p0 + * Fixed in r3p1 + */ + if (midr_check_var_part_range(midr, CPU_IMPL_ARM, CPU_PART_CORTEX_A76, + 0, 0, 3, 0)) + return (FEAT_DEFAULT_DISABLE); + + /* + * Cortex-A510 erratum 2441009 (Cat B rare) + * Present in r0p0 - r1p1 + * Fixed in r1p2 + */ + if (midr_check_var_part_range(midr, CPU_IMPL_ARM, CPU_PART_CORTEX_A510, + 0, 0, 1, 1)) + return (FEAT_DEFAULT_DISABLE); + + return (FEAT_ALWAYS_DISABLE); +} + +static bool +pmap_multiple_tlbi_enable(const struct cpu_feat *feat __unused, + cpu_feat_errata errata_status, u_int *errata_list __unused, + u_int errata_count __unused) +{ + pmap_multiple_tlbi = true; + return (true); +} + +CPU_FEAT(errata_multi_tlbi, "Multiple TLBI errata", + pmap_multiple_tlbi_check, NULL, pmap_multiple_tlbi_enable, + CPU_FEAT_EARLY_BOOT | CPU_FEAT_PER_CPU); + /* * Initialize the pmap module. * @@ -1876,9 +1923,17 @@ pmap_s1_invalidate_page(pmap_t pmap, vm_offset_t va, bool final_only) r = TLBI_VA(va); if (pmap == kernel_pmap) { pmap_s1_invalidate_kernel(r, final_only); + if (pmap_multiple_tlbi) { + dsb(ish); + pmap_s1_invalidate_kernel(r, final_only); + } } else { r |= ASID_TO_OPERAND(COOKIE_TO_ASID(pmap->pm_cookie)); pmap_s1_invalidate_user(r, final_only); + if (pmap_multiple_tlbi) { + dsb(ish); + pmap_s1_invalidate_user(r, final_only); + } } dsb(ish); isb(); @@ -1920,12 +1975,24 @@ pmap_s1_invalidate_strided(pmap_t pmap, vm_offset_t sva, vm_offset_t eva, end = TLBI_VA(eva); for (r = start; r < end; r += TLBI_VA(stride)) pmap_s1_invalidate_kernel(r, final_only); + + if (pmap_multiple_tlbi) { + dsb(ish); + for (r = start; r < end; r += TLBI_VA(stride)) + pmap_s1_invalidate_kernel(r, final_only); + } } else { start = end = ASID_TO_OPERAND(COOKIE_TO_ASID(pmap->pm_cookie)); start |= TLBI_VA(sva); end |= TLBI_VA(eva); for (r = start; r < end; r += TLBI_VA(stride)) pmap_s1_invalidate_user(r, final_only); + + if (pmap_multiple_tlbi) { + dsb(ish); + for (r = start; r < end; r += TLBI_VA(stride)) + pmap_s1_invalidate_user(r, final_only); + } } dsb(ish); isb(); @@ -1967,6 +2034,10 @@ pmap_s1_invalidate_all_kernel(void) dsb(ishst); __asm __volatile("tlbi vmalle1is"); dsb(ish); + if (pmap_multiple_tlbi) { + __asm __volatile("tlbi vmalle1is"); + dsb(ish); + } isb(); } @@ -1984,9 +2055,17 @@ pmap_s1_invalidate_all(pmap_t pmap) dsb(ishst); if (pmap == kernel_pmap) { __asm __volatile("tlbi vmalle1is"); + if (pmap_multiple_tlbi) { + dsb(ish); + __asm __volatile("tlbi vmalle1is"); + } } else { r = ASID_TO_OPERAND(COOKIE_TO_ASID(pmap->pm_cookie)); __asm __volatile("tlbi aside1is, %0" : : "r" (r)); + if (pmap_multiple_tlbi) { + dsb(ish); + __asm __volatile("tlbi aside1is, %0" : : "r" (r)); + } } dsb(ish); isb(); From nobody Thu Sep 4 18:08:37 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHnXj3dc7z66WTL; Thu, 04 Sep 2025 18:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHnXj2Rjmz3H7F; Thu, 04 Sep 2025 18:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757009317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PNgau+ZXLdZ59swjfTdkAsewlwq+62ZylcX/sey7kQU=; b=wfeRFxidbf0HcLkGWuxtLWd7yiz3r3Cl1qatogathtYy+23KSyzmTxvs88CEMgYicz/l1F HNdrV9s1dcBcKBLXDvV4yg2O2Ft2dr/iAUdjGKrzDYDFDlzfqUBFl+7kfqtV80zOVAmhCl vwP8n9rvyXKcbDmdi4eRs1yp7B/Mz1AteUszsEVFk2Ll+XpbG0YrLLzbM6PemtbkL+tM+o Ah9eKE2xUTIispznniLheq8QM8r0KPGycDY9FKBT4sK66OFM7ajfiHg04g80XjCgVu+h74 egzeIoCshkPgarxvVutPUBUWPq16MX1WYuNehMnyH0SopC7zeTJeE01AWMd0Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757009317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PNgau+ZXLdZ59swjfTdkAsewlwq+62ZylcX/sey7kQU=; b=b75iBo9Y64+EgtW1jiO/I2L1VxrKnBT/X4ikbuBwymJRMXK3+uCKKHPw/e8tLFBYGs/4ZY skwjqysa2R7U3NbDBdT68Pt6OWpAtFBna2B+w6BybBGH8dBP/yrOtoDCim/1zE+I73t+Qo OkcZRbezpgP6kvKZqcLODr5g5BKDc8Mc7fr3KiImVFpmQF73oXSffSNzc/L3gWHCLPP5d7 /Ad8wcL4iX7wLubcN4F+yFy0frpept4EGEradexuVXagMTKZtvVGbAKdC7LeSFP7utY6o6 PrpQJsT5g3K+grhDC64dEQSBwv9pkoXy56tG+GLKeQkHbrWYvUHQR2ogUiYZcA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757009317; a=rsa-sha256; cv=none; b=LQ5bRcnv8fpwVK7vxePZwBS0BmxBijuQ2cpPVFq4cmtU0kz58YyOIU+FVW7H5kVGAumCUG kJNGl82iVKeI9m3dPvXMkNgRK8dVLlv5XIPkNbxFgEnw+Z9eBjbYfeOwtxi7r5XCHcYlPo AcLDhvxCNgKy8aGNq2VGfresk+E2bCaAcxPjeGG5ljsc0Ti4iv0atQZnYZGyTuFqFxvK31 V2UMjjWHR0jtCXfzdJceu2eCo0SWOyLIYTOfvmWubZitcrVx2QRqWEjmyM6aSuvKvCmZnG QyznUbkVHPP+2fWG1scImDKOCNvfUKI4N5lgBREiUb4rpoLo5FtHOULYnCzm0w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHnXj1tbfz1CKS; Thu, 04 Sep 2025 18:08:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 584I8blc021114; Thu, 4 Sep 2025 18:08:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584I8bCF021111; Thu, 4 Sep 2025 18:08:37 GMT (envelope-from git) Date: Thu, 4 Sep 2025 18:08:37 GMT Message-Id: <202509041808.584I8bCF021111@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: 65688fcb79ee - main - share/sendmail: Use consistent ordering when processing 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 65688fcb79eee1711fa2a83bee4bd2cd0b851d19 Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=65688fcb79eee1711fa2a83bee4bd2cd0b851d19 commit 65688fcb79eee1711fa2a83bee4bd2cd0b851d19 Author: Mark Johnston AuthorDate: 2025-09-04 18:02:21 +0000 Commit: Mark Johnston CommitDate: 2025-09-04 18:06:28 +0000 share/sendmail: Use consistent ordering when processing files Otherwise files are handled in the order returned by find(1). This in turn results in inconsistent ordering of files in the METALOG mtree file produced by "make installworld -DNO_ROOT", which results in non-reproducible filesystem images. Reviewed by: gshapiro, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D52349 --- share/sendmail/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/sendmail/Makefile b/share/sendmail/Makefile index b6b4d2ec726c..db868b7b33b9 100644 --- a/share/sendmail/Makefile +++ b/share/sendmail/Makefile @@ -6,8 +6,8 @@ FILESGROUPS+= SM SENDMAIL_DIR= ${SRCTOP}/contrib/sendmail CFDIR= cf CFPACKAGE= sendmail -CFDIRS!= (cd ${SENDMAIL_DIR}; find -L ${CFDIR} \( \( -name CVS -o -name .svn \) -prune \) -o -type d -print) -CFFILES!= (cd ${SENDMAIL_DIR}; find -L ${CFDIR} \( \( -name CVS -o -name .svn \) -prune \) -o -type f -print) +CFDIRS!= (cd ${SENDMAIL_DIR}; find -s -L ${CFDIR} \( \( -name CVS -o -name .svn \) -prune \) -o -type d -print) +CFFILES!= (cd ${SENDMAIL_DIR}; find -s -L ${CFDIR} \( \( -name CVS -o -name .svn \) -prune \) -o -type f -print) SMFILES= ${CFFILES} SMFILESDIR= ${DDIR} From nobody Thu Sep 4 18:59:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHpgz0FXgz66b1W; Thu, 04 Sep 2025 18:59: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHpgy70yJz3Nw2; Thu, 04 Sep 2025 18:59:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757012398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yWp8LA14fewfa0XMrK/roXPXsfBKGNHYPqvYmeN8tt4=; b=pPDZpXEwrZednGmqakFOtEsgNr330mF6TECxevNyECZrbFpZ9OUa+4bttaPG2tP/ZskNU3 aeM2X9EuLzViPm4EPyZ7zEvfeNPMSyzUHCG7NRc9RrA99VzrwYU03klLK9Ea3dR6FjZCCT l9TJ0OzcTH9Cc7ZmQwJNj9kUK3W3HPWsk9WZYPaWFij/thJ16QR3M3OKMPCUEJ/i+WzB+J e8hdc1ldN1aSpOr4lVXLt/RKzODVemj1uTYBx4yeZeimNnvEcSrQaLmaqslZV9MBjdbP2X fkh+PJakE+1g39vlfuMpSjy/IyKePUrD3owz8n8ZRtB1OD5Q8cUXNPkv/6M8CA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757012398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yWp8LA14fewfa0XMrK/roXPXsfBKGNHYPqvYmeN8tt4=; b=dHaYAhdrOTO+lycJUQU4Oyilzbv+NJHZmw6yunCrUSDQfRFe5h+I/5J/IbBdjPyQk5Tv51 1L3dYvUHaIrchAO674Gix/CBYo8vOMKLMPJXHxydx8LbjFL+yyI1YcOw/RBDvrflifBzdL OACxkzlCMmaH2pkECLyVAbWu4S8EPBi4uRR5yxnpk6Bfr9wlgV3RfdCgYXpa7li4jrQ5Re 4Q2dgH6zi/LBA0Vy/rawVhi9egRMEzRJKQ21GwZ5YWnZswFbxXmT+v0carbTJLEmXMKMBt frYFmU/Iu8tZdt2jx/H+Te7SXoTUrt/HqoIaOuVHTRXu95LqLTNKTFfFXI4TIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757012398; a=rsa-sha256; cv=none; b=UATc27nqyv9bemig9kHQg96GI8TBDwmmngPyG4RrEuRBMAIajYxTMsIiU+QV+7hGi7fMwN TBMNrrldrnPEjKZ7FqZtJeg555q6jZF/6IqTHmyWpVT9zwn6iBoubMYYngttl6ZWWofr8c BoGtob6c2Sq/HggtKLxsu9iUR23Kqb1U9i3izLeZcozSl6/UCq8cyChG0MEluI4QZ3CRuF lpJXopfzgQOspQ0oV7xw7x0UX6ZLImWIGxkDfgJxa3uIJ5elHNnh8yQlkDGbZ7BihIxwWK t1j26U2/gzdhlTuTjNna3lPmIoLSL2u3QDdlqh7dOkoLrMdqHsk1N/P3C/+ofw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHpgy612BzpG; Thu, 04 Sep 2025 18:59: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 584IxwAw014958; Thu, 4 Sep 2025 18:59:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584Ixw2G014955; Thu, 4 Sep 2025 18:59:58 GMT (envelope-from git) Date: Thu, 4 Sep 2025 18:59:58 GMT Message-Id: <202509041859.584Ixw2G014955@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jamie Gritton Subject: git: 1bd74d201a53 - main - jail: add kqueue(2) support for jails List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jamie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1bd74d201a534540614663686890ab96a3bbe2c7 Auto-Submitted: auto-generated The branch main has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=1bd74d201a534540614663686890ab96a3bbe2c7 commit 1bd74d201a534540614663686890ab96a3bbe2c7 Author: Jamie Gritton AuthorDate: 2025-09-04 18:56:56 +0000 Commit: Jamie Gritton CommitDate: 2025-09-04 18:56:56 +0000 jail: add kqueue(2) support for jails Add kqueue tracking to jails, inspired by how it's done with processes. EVFILT_JAIL takes a jail ID, and tracks with NOTE_JAIL_SET, NOTE_JAIL_ATTACH, NOTE_JAIL_REMOVE, and NOTE_JAIL_CHILD. It also uses the NOTE_TRACK mechanism that EVFILT_PROC uses, using the same result flags (NOTE_CHILD and NOTE_TRACKERR). Relnotes: yes Differential Revision: https://reviews.freebsd.org/D51940 --- lib/libsys/kqueue.2 | 58 ++++++++++++++++++++- sys/kern/kern_event.c | 139 ++++++++++++++++++++++++++++++++++++++++++++++++-- sys/kern/kern_jail.c | 64 ++++++++++++++++++++--- sys/sys/event.h | 19 +++++-- sys/sys/jail.h | 7 ++- 5 files changed, 270 insertions(+), 17 deletions(-) diff --git a/lib/libsys/kqueue.2 b/lib/libsys/kqueue.2 index d6e949baa24c..e413f7d4fbca 100644 --- a/lib/libsys/kqueue.2 +++ b/lib/libsys/kqueue.2 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 26, 2023 +.Dd September 4, 2025 .Dt KQUEUE 2 .Os .Sh NAME @@ -593,6 +593,62 @@ returns the number of times the signal has occurred since the last call to This filter automatically sets the .Dv EV_CLEAR flag internally. +.It Dv EVFILT_JAIL +Takes the jail ID to monitor as the identifier and the events to watch for +in +.Va fflags , +and returns when the jail performs one or more of the requested events. +If a process can normally see a jail, it can attach an event to it. +An identifier of zero will watch the process's own jail. +The events to monitor are: +.Bl -tag -width "Dv NOTE_JAIL_ATTACH" +.It Dv NOTE_JAIL_SET +The jail has been changed via +.Xr jail_set 2 . +.It Dv NOTE_JAIL_ATTACH +A process has attached to the jail via +.Xr jail_attach 2 +or a similar call. +The process ID will be stored in +.Va data . +If more than one process has attached since the last call to +.Fn kevent , +.Va data +will contain the most recently attached process ID, +with +.Dv NOTE_JAIL_ATTACH_MULTI +set in +.Va fflags . +.It Dv NOTE_JAIL_REMOVE +The jail has been removed. +.It Dv NOTE_JAIL_CHILD +A child of the watched jail has been created. +.It Dv NOTE_TRACK +Follow child jails created under this jail. +Register a new kevent to monitor the child jail using the same +.Va fflags +as the original event. +The child jail will signal an event with +.Dv NOTE_CHILD +set in +.Va fflags +and the parent JID in +.Va data . +.Pp +If registering a new kevent fails +.Pq usually due to resource limitations , +it will signal an event with +.Dv NOTE_TRACKERR +set in +.Va fflags , +and the child jail will not signal a +.Dv NOTE_CHILD +event. +.El +.Pp +On return, +.Va fflags +contains the events which triggered the filter. .It Dv EVFILT_TIMER Establishes an arbitrary timer identified by .Va ident . diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c index eb77a5064113..501adc151d44 100644 --- a/sys/kern/kern_event.c +++ b/sys/kern/kern_event.c @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -163,6 +164,9 @@ static int filt_kqueue(struct knote *kn, long hint); static int filt_procattach(struct knote *kn); static void filt_procdetach(struct knote *kn); static int filt_proc(struct knote *kn, long hint); +static int filt_jailattach(struct knote *kn); +static void filt_jaildetach(struct knote *kn); +static int filt_jail(struct knote *kn, long hint); static int filt_fileattach(struct knote *kn); static void filt_timerexpire(void *knx); static void filt_timerexpire_l(struct knote *kn, bool proc_locked); @@ -195,6 +199,12 @@ static const struct filterops proc_filtops = { .f_detach = filt_procdetach, .f_event = filt_proc, }; +static const struct filterops jail_filtops = { + .f_isfd = 0, + .f_attach = filt_jailattach, + .f_detach = filt_jaildetach, + .f_event = filt_jail, +}; static const struct filterops timer_filtops = { .f_isfd = 0, .f_attach = filt_timerattach, @@ -365,6 +375,7 @@ static struct { [~EVFILT_USER] = { &user_filtops, 1 }, [~EVFILT_SENDFILE] = { &null_filtops }, [~EVFILT_EMPTY] = { &file_filtops, 1 }, + [~EVFILT_JAIL] = { &jail_filtops, 1 }, }; /* @@ -528,7 +539,8 @@ filt_proc(struct knote *kn, long hint) * process forked. Additionally, for each knote attached to the * parent, check whether user wants to track the new process. If so * attach a new knote to it, and immediately report an event with the - * child's pid. + * child's pid. This is also called on jail creation, which is treated + * the same way by jail events. */ void knote_fork(struct knlist *list, int pid) @@ -555,6 +567,8 @@ knote_fork(struct knlist *list, int pid) /* * The same as knote(), activate the event. */ + _Static_assert(NOTE_JAIL_CHILD == NOTE_FORK, + "NOTE_JAIL_CHILD should be the same as NOTE_FORK"); if ((kn->kn_sfflags & NOTE_TRACK) == 0) { if (kn->kn_fop->f_event(kn, NOTE_FORK)) KNOTE_ACTIVATE(kn, 1); @@ -614,6 +628,124 @@ knote_fork(struct knlist *list, int pid) } } +int +filt_jailattach(struct knote *kn) +{ + struct prison *pr; + bool immediate; + + immediate = false; + if (kn->kn_id == 0) { + /* Let jid=0 watch the current prison (including prison0). */ + pr = curthread->td_ucred->cr_prison; + mtx_lock(&pr->pr_mtx); + } else if (kn->kn_flags & (EV_FLAG1 | EV_FLAG2)) { + /* + * The kernel registers prisons before they are valid, + * so prison_find_child will fail. + */ + TAILQ_FOREACH(pr, &allprison, pr_list) { + if (pr->pr_id < kn->kn_id) + continue; + if (pr->pr_id > kn->kn_id) { + pr = NULL; + break; + } + mtx_lock(&pr->pr_mtx); + break; + } + if (pr == NULL) + return (ENOENT); + } else { + sx_slock(&allprison_lock); + pr = prison_find_child(curthread->td_ucred->cr_prison, + kn->kn_id); + sx_sunlock(&allprison_lock); + if (pr == NULL) + return (ENOENT); + if (!prison_isalive(pr)) { + mtx_unlock(&pr->pr_mtx); + return (ENOENT); + } + } + kn->kn_ptr.p_prison = pr; + kn->kn_flags |= EV_CLEAR; + + /* + * Internal flag indicating registration done by kernel for the + * purposes of getting a NOTE_CHILD notification. + */ + if (kn->kn_flags & EV_FLAG2) { + kn->kn_flags &= ~EV_FLAG2; + kn->kn_data = kn->kn_sdata; /* parent id */ + kn->kn_fflags = NOTE_CHILD; + kn->kn_sfflags &= ~NOTE_JAIL_CTRLMASK; + immediate = true; /* Force immediate activation of child note. */ + } + /* + * Internal flag indicating registration done by kernel (for other than + * NOTE_CHILD). + */ + if (kn->kn_flags & EV_FLAG1) { + kn->kn_flags &= ~EV_FLAG1; + } + + knlist_add(pr->pr_klist, kn, 1); + + /* Immediately activate any child notes. */ + if (immediate) + KNOTE_ACTIVATE(kn, 0); + + mtx_unlock(&pr->pr_mtx); + return (0); +} + +void +filt_jaildetach(struct knote *kn) +{ + if (kn->kn_ptr.p_prison != NULL) { + knlist_remove(kn->kn_knlist, kn, 0); + kn->kn_ptr.p_prison = NULL; + } else + kn->kn_status |= KN_DETACHED; +} + +int +filt_jail(struct knote *kn, long hint) +{ + struct prison *pr; + u_int event; + + pr = kn->kn_ptr.p_prison; + if (pr == NULL) /* already activated, from attach filter */ + return (0); + + /* Mask off extra data. */ + event = (u_int)hint & NOTE_JAIL_CTRLMASK; + + /* If the user is interested in this event, record it. */ + if (kn->kn_sfflags & event) + kn->kn_fflags |= event; + + /* Report the attached process id. */ + if (event == NOTE_JAIL_ATTACH) { + if (kn->kn_data != 0) + kn->kn_fflags |= NOTE_JAIL_ATTACH_MULTI; + kn->kn_data = hint & NOTE_JAIL_DATAMASK; + } + + /* Prison is gone, so flag the event as finished. */ + if (event == NOTE_JAIL_REMOVE) { + kn->kn_flags |= EV_EOF | EV_ONESHOT; + kn->kn_ptr.p_prison = NULL; + if (kn->kn_fflags == 0) + kn->kn_flags |= EV_DROP; + return (1); + } + + return (kn->kn_fflags != 0); +} + /* * XXX: EVFILT_TIMER should perhaps live in kern_time.c beside the * interval timer support code. @@ -1597,8 +1729,8 @@ findkn: /* * If possible, find an existing knote to use for this kevent. */ - if (kev->filter == EVFILT_PROC && - (kev->flags & (EV_FLAG1 | EV_FLAG2)) != 0) { + if ((kev->filter == EVFILT_PROC || kev->filter == EVFILT_JAIL) + && (kev->flags & (EV_FLAG1 | EV_FLAG2)) != 0) { /* This is an internal creation of a process tracking * note. Don't attempt to coalesce this with an * existing note. @@ -2800,6 +2932,7 @@ knote_init(void) knote_zone = uma_zcreate("KNOTE", sizeof(struct knote), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); ast_register(TDA_KQUEUE, ASTR_ASTF_REQUIRED, 0, ast_kqueue); + prison0.pr_klist = knlist_alloc(&prison0.pr_mtx); } SYSINIT(knote, SI_SUB_PSEUDO, SI_ORDER_ANY, knote_init, NULL); diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 7c9a15ae18f3..52210553016b 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -154,7 +155,8 @@ static void prison_complete(void *context, int pending); static void prison_deref(struct prison *pr, int flags); static void prison_deref_kill(struct prison *pr, struct prisonlist *freeprison); static int prison_lock_xlock(struct prison *pr, int flags); -static void prison_cleanup(struct prison *pr); +static void prison_cleanup_locked(struct prison *pr); +static void prison_cleanup_unlocked(struct prison *pr); static void prison_free_not_last(struct prison *pr); static void prison_proc_free_not_last(struct prison *pr); static void prison_proc_relink(struct prison *opr, struct prison *npr, @@ -167,6 +169,7 @@ static void prison_racct_attach(struct prison *pr); static void prison_racct_modify(struct prison *pr); static void prison_racct_detach(struct prison *pr); #endif +static void prison_knote(struct prison *pr, long hint); /* Flags for prison_deref */ #define PD_DEREF 0x01 /* Decrement pr_ref */ @@ -1018,6 +1021,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) int ip6s; bool redo_ip6; #endif + bool maybe_changed; uint64_t pr_allow, ch_allow, pr_flags, ch_flags; uint64_t pr_allow_diff; unsigned tallow; @@ -1422,6 +1426,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) pr = NULL; inspr = NULL; deadpr = NULL; + maybe_changed = false; if (cuflags == JAIL_CREATE && jid == 0 && name != NULL) { namelc = strrchr(name, '.'); jid = strtoul(namelc != NULL ? namelc + 1 : name, &p, 10); @@ -1643,6 +1648,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) LIST_INSERT_HEAD(&ppr->pr_children, pr, pr_sibling); for (tpr = ppr; tpr != NULL; tpr = tpr->pr_parent) tpr->pr_childcount++; + pr->pr_klist = knlist_alloc(&pr->pr_mtx); /* Set some default values, and inherit some from the parent. */ if (namelc == NULL) @@ -1880,6 +1886,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) goto done_deref; } } + maybe_changed = true; /* Set the parameters of the prison. */ #ifdef INET @@ -2112,7 +2119,12 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) * reference via persistence, or is about to gain one via attachment. */ if (created) { - drflags = prison_lock_xlock(pr, drflags); + sx_assert(&allprison_lock, SX_XLOCKED); + mtx_lock(&ppr->pr_mtx); + knote_fork(ppr->pr_klist, pr->pr_id); + mtx_unlock(&ppr->pr_mtx); + mtx_lock(&pr->pr_mtx); + drflags |= PD_LOCKED; pr->pr_state = PRISON_STATE_ALIVE; } @@ -2150,6 +2162,13 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) td->td_retval[0] = pr->pr_id; done_deref: + /* + * Report changes to kevent. This can happen even if the + * system call fails, as changes might have been made before + * the failure. + */ + if (maybe_changed && !created) + prison_knote(pr, NOTE_JAIL_SET); /* Release any temporary prison holds and/or locks. */ if (pr != NULL) prison_deref(pr, drflags); @@ -2755,6 +2774,7 @@ do_jail_attach(struct thread *td, struct prison *pr, int drflags) prison_proc_relink(oldcred->cr_prison, pr, p); prison_deref(oldcred->cr_prison, drflags); crfree(oldcred); + prison_knote(pr, NOTE_JAIL_ATTACH | td->td_proc->p_pid); /* * If the prison was killed while changing credentials, die along @@ -3182,9 +3202,10 @@ prison_deref(struct prison *pr, int flags) refcount_load(&prison0.pr_uref) > 0, ("prison0 pr_uref=0")); pr->pr_state = PRISON_STATE_DYING; + prison_cleanup_locked(pr); mtx_unlock(&pr->pr_mtx); flags &= ~PD_LOCKED; - prison_cleanup(pr); + prison_cleanup_unlocked(pr); } } } @@ -3327,8 +3348,9 @@ prison_deref_kill(struct prison *pr, struct prisonlist *freeprison) } if (!(cpr->pr_flags & PR_REMOVE)) continue; - prison_cleanup(cpr); + prison_cleanup_unlocked(cpr); mtx_lock(&cpr->pr_mtx); + prison_cleanup_locked(cpr); cpr->pr_flags &= ~PR_REMOVE; if (cpr->pr_flags & PR_PERSIST) { cpr->pr_flags &= ~PR_PERSIST; @@ -3363,8 +3385,9 @@ prison_deref_kill(struct prison *pr, struct prisonlist *freeprison) if (rpr != NULL) LIST_REMOVE(rpr, pr_sibling); - prison_cleanup(pr); + prison_cleanup_unlocked(pr); mtx_lock(&pr->pr_mtx); + prison_cleanup_locked(pr); if (pr->pr_flags & PR_PERSIST) { pr->pr_flags &= ~PR_PERSIST; prison_proc_free_not_last(pr); @@ -3411,10 +3434,21 @@ prison_lock_xlock(struct prison *pr, int flags) /* * Release a prison's resources when it starts dying (when the last user - * reference is dropped, or when it is killed). + * reference is dropped, or when it is killed). Two functions are called, + * for work that requires a locked prison or an unlocked one. */ static void -prison_cleanup(struct prison *pr) +prison_cleanup_locked(struct prison *pr) +{ + sx_assert(&allprison_lock, SA_XLOCKED); + mtx_assert(&pr->pr_mtx, MA_OWNED); + prison_knote(pr, NOTE_JAIL_REMOVE); + knlist_detach(pr->pr_klist); + pr->pr_klist = NULL; +} + +static void +prison_cleanup_unlocked(struct prison *pr) { sx_assert(&allprison_lock, SA_XLOCKED); mtx_assert(&pr->pr_mtx, MA_NOTOWNED); @@ -5039,6 +5073,22 @@ prison_racct_detach(struct prison *pr) } #endif /* RACCT */ +/* + * Submit a knote for a prison, locking if necessary. + */ +static void +prison_knote(struct prison *pr, long hint) +{ + int locked; + + locked = mtx_owned(&pr->pr_mtx); + if (!locked) + mtx_lock(&pr->pr_mtx); + KNOTE_LOCKED(pr->pr_klist, hint); + if (!locked) + mtx_unlock(&pr->pr_mtx); +} + #ifdef DDB static void diff --git a/sys/sys/event.h b/sys/sys/event.h index 1b30e4292de8..f161d2c938c1 100644 --- a/sys/sys/event.h +++ b/sys/sys/event.h @@ -45,7 +45,8 @@ #define EVFILT_USER (-11) /* User events */ #define EVFILT_SENDFILE (-12) /* attached to sendfile requests */ #define EVFILT_EMPTY (-13) /* empty send socket buf */ -#define EVFILT_SYSCOUNT 13 +#define EVFILT_JAIL (-14) /* attached to struct prison */ +#define EVFILT_SYSCOUNT 14 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #define EV_SET(kevp_, a, b, c, d, e, f) do { \ @@ -204,10 +205,19 @@ struct freebsd11_kevent32 { #define NOTE_PCTRLMASK 0xf0000000 /* mask for hint bits */ #define NOTE_PDATAMASK 0x000fffff /* mask for pid */ -/* additional flags for EVFILT_PROC */ -#define NOTE_TRACK 0x00000001 /* follow across forks */ +/* data/hint flags for EVFILT_JAIL */ +#define NOTE_JAIL_SET 0x80000000 /* jail was modified */ +#define NOTE_JAIL_CHILD 0x40000000 /* child jail was created */ +#define NOTE_JAIL_ATTACH 0x20000000 /* jail was attached to */ +#define NOTE_JAIL_REMOVE 0x10000000 /* jail was removed */ +#define NOTE_JAIL_ATTACH_MULTI 0x08000000 /* multiple procs attached */ +#define NOTE_JAIL_CTRLMASK 0xf0000000 /* mask for hint bits */ +#define NOTE_JAIL_DATAMASK 0x000fffff /* mask for pid */ + +/* additional flags for EVFILT_PROC and EVFILT_JAIL */ +#define NOTE_TRACK 0x00000001 /* follow across fork/create */ #define NOTE_TRACKERR 0x00000002 /* could not track child */ -#define NOTE_CHILD 0x00000004 /* am a child process */ +#define NOTE_CHILD 0x00000004 /* am a child process/jail */ /* additional flags for EVFILT_TIMER */ #define NOTE_SECONDS 0x00000001 /* data is seconds */ @@ -309,6 +319,7 @@ struct knote { struct proc *p_proc; /* proc pointer */ struct kaiocb *p_aio; /* AIO job pointer */ struct aioliojob *p_lio; /* LIO job pointer */ + struct prison *p_prison; /* prison pointer */ void *p_v; /* generic other pointer */ } kn_ptr; const struct filterops *kn_fop; diff --git a/sys/sys/jail.h b/sys/sys/jail.h index d2655c52e832..4512e43a2866 100644 --- a/sys/sys/jail.h +++ b/sys/sys/jail.h @@ -144,6 +144,7 @@ MALLOC_DECLARE(M_PRISON); #define JAIL_META_PRIVATE "meta" #define JAIL_META_SHARED "env" +struct knlist; struct racct; struct prison_racct; @@ -189,7 +190,8 @@ struct prison { struct vnode *pr_root; /* (c) vnode to rdir */ struct prison_ip *pr_addrs[PR_FAMILY_MAX]; /* (p,n) IPs of jail */ struct prison_racct *pr_prison_racct; /* (c) racct jail proxy */ - void *pr_sparep[3]; + struct knlist *pr_klist; /* (m) attached knotes */ + void *pr_sparep[2]; int pr_childcount; /* (a) number of child jails */ int pr_childmax; /* (p) maximum child jails */ unsigned pr_allow; /* (p) PR_ALLOW_* flags */ @@ -425,10 +427,11 @@ SYSCTL_DECL(_security_jail_param); /* * Kernel support functions for jail(). */ -struct ucred; +struct knote; struct mount; struct sockaddr; struct statfs; +struct ucred; struct vfsconf; /* From nobody Thu Sep 4 19:31:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHqMp3m1rz66d09; Thu, 04 Sep 2025 19:31: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHqMp2Qq7z3SfH; Thu, 04 Sep 2025 19:31:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757014262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lL1Mxpl5XC1d/vHEqPw6x8X7RkBCka1ruzXys3tA6jY=; b=i2sHENERYYXDrRdfeCBY+0clXeJIr6WfSxYJMz0keHHqJ0Cl2tAIUahDxzfcd8TAW6ZcH3 mFqP8ORQ8rIHdn7QqnBVWbWKUAuYgIbmWWKl9de1Od8h1WqxxnkCkKCzjb35ov/pnmhB7T uXegUGCqRdBcmxDhy8nCYUTkHUPNI7N2nqCdIwhKfXkH1l41OaVBnqTURh4Y5LrxKsstUv 1kZYppPzMm4YlUHhnSIekAeOkkEbns+3LE5j33nAg3WVxH0iCpgHTTRkuxsvJIVhJ13SES JzK9TsOZz1XgT7JaN8N3TPsfBdoIr4oYbo0/N/B9lixO0NjqC/zQgpWuTcC4QA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757014262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lL1Mxpl5XC1d/vHEqPw6x8X7RkBCka1ruzXys3tA6jY=; b=lBivA7fmLIp+VJ/J6VUImNT6WC+pfq4hmoQcyjZigOPbD2AWAbiiKP9mH61BnmOVEF9aPF QwqR6KBX+TYIrhlVN7CeLwsoA8jP43W/Hb2Jr2bBqombpnhPGlwrFfyUfJFKVq+quE23pd fkVgw08EqQvs2ao+vdr6cNgXxchxv0nUk3Hr0dvmJXvm2zSCpLVFEV/Rv9hXcjkYmA/HI0 OIPaRvQOQsNWG0U1lOFZKxb96I6af5RbZSd/xykkO6MUldhsqgdh/keFIM0AgnQd+qhhTn 4MTxVjwhYv2b8eGs465pRcmw16r3yGMmlGfITw6aQ1J0pZHXtawhlMMksAUGKQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757014262; a=rsa-sha256; cv=none; b=eUY6adzghgcAKUq+hQRZwrJnIp6malKZhjJonzZasMKQSDar6LsGiWu33kuzOdkLF/uzkn SqVjTrlqbTtkqEZV0/V4k0Z00DjsralmM3HvxnLF+pRjECsHO5XLYXdoA7iZL3WDoMj1nA Y8ECog0vPZNP7mXcqL4BAQEjxbm6PQ0T0yfwq6Ztkb7qR2AsGB+aeiHGEW6bIffv9ymAco tgI1S3yatPLwxoACvhffmBHvxB1E1N08+vIpe2pB3zaV2S0FFmIsMlAK41zUnChcD+eCCR c6/nMXBRZ1TyBr+28jPgnR5Q9L+gu701PxWgQs3lkVV/GrA8DWZhl08hVDsllA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHqMp22Vnz1bJ; Thu, 04 Sep 2025 19:31: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 584JV2Dg084005; Thu, 4 Sep 2025 19:31:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584JV2r2083988; Thu, 4 Sep 2025 19:31:02 GMT (envelope-from git) Date: Thu, 4 Sep 2025 19:31:02 GMT Message-Id: <202509041931.584JV2r2083988@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jens Schweikhardt Subject: git: d5dd6ad6baa6 - main - Like for -P et al, state that -deElL are syscons only options. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: schweikh X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d5dd6ad6baa6753a1f2040c41702e71a91de8ce4 Auto-Submitted: auto-generated The branch main has been updated by schweikh: URL: https://cgit.FreeBSD.org/src/commit/?id=d5dd6ad6baa6753a1f2040c41702e71a91de8ce4 commit d5dd6ad6baa6753a1f2040c41702e71a91de8ce4 Author: Jens Schweikhardt AuthorDate: 2025-09-04 19:28:33 +0000 Commit: Jens Schweikhardt CommitDate: 2025-09-04 19:28:33 +0000 Like for -P et al, state that -deElL are syscons only options. --- usr.sbin/vidcontrol/vidcontrol.1 | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/usr.sbin/vidcontrol/vidcontrol.1 b/usr.sbin/vidcontrol/vidcontrol.1 index 09855df6b60f..91804facce8e 100644 --- a/usr.sbin/vidcontrol/vidcontrol.1 +++ b/usr.sbin/vidcontrol/vidcontrol.1 @@ -282,11 +282,17 @@ Show the current changes. .El .It Fl d Print out current output screen map. +Supported only with +.Xr syscons 4 . .It Fl E Ar emulator Set the terminal emulator to .Ar emulator . +Supported only with +.Xr syscons 4 . .It Fl e Show the active and available terminal emulators. +Supported only with +.Xr syscons 4 . .It Xo .Fl f .Oo @@ -358,13 +364,12 @@ Shows the possible video modes with the current video hardware. .It Fl l Ar screen_map Install screen output map file from .Ar screen_map . -See also -.Xr syscons 4 -or -.Xr vt 4 -(depending on which driver you use). +Supported only with +.Xr syscons 4 . .It Fl L Install default screen output map. +Supported only with +.Xr syscons 4 . .It Fl M Ar char Sets the base character used to render the mouse pointer to .Ar char . From nobody Thu Sep 4 20:01:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHr3B4k4rz66gRW; Thu, 04 Sep 2025 20:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHr3B3DtCz3YKY; Thu, 04 Sep 2025 20:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757016102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zl9kqc9bhKaYhJq0/SaAJZsLcfobfO/lYQoDm3ZtcCw=; b=VQ2Rm0We+PiI5HHUEozzPBpEjDiYVKAkAbBzDjp9u/sAKdDGV5wPFb1g9dmwmj5E+e+siL 616KGixcxXp2Sl6/pP+d1VzsDcN8fBQQNljqVfkO8smy/NeS5m7BY6mgFkO5H/u6cTwmWD tVYHYmadaF1912zDWgJjlFq40NsbaBCPnTVc8fNMkAFAxZrs2rvINQU/ANga4Sm57/8LSi QY4GNEhfK0Ntzf36RLLS/8xy5LdCyaqHFUvVAv7DnUHO0cV19XFJmamAm6jB2crPCHkwiP xSqxmxXbw6szLHDBjjKt71gxJst2hgmSjz8JEcCHlZYyo8YfvGWnFzX1aezFuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757016102; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=zl9kqc9bhKaYhJq0/SaAJZsLcfobfO/lYQoDm3ZtcCw=; b=YJHJqIXxUYGbsQLr7oa3iXtkWqFLZfPqZcK9iW2kFwK2wrtMZhb8UDWa7jx9+k9qPSQtkG paW9/A6P796+3XG76TUlwapxhAR/etDMzrjNjcSME+lpGazPC4/f0wtjUoNs/StWHSDrte YTJugLazF8E3momemx3t9D20ysXULpHFSEj2IvahiuJWO/pG3TJfUAweWB20MiT74QGRXM eKGQERWkt6nQIu6soPaq3BH/2Tn+SDFkLgP4FJlJeMUomRhm2L5Oj4c6yEUpuL7iFPm8mB lssbHq7LNGyyeuuL0bbWeO4rMAoCag7wOOninKVpDkZcLMDXwpa4/dlvyJKiYA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757016102; a=rsa-sha256; cv=none; b=hnv0PxlXGGM0Bkf40yYbr4qrE9er2LxUMknVE3lyrb6QQ6K1KEEa1EliCily+xBLri9gMv MPp/ghxyFnXaOdKw/zCp2hJrR9HmWrXNQ3yR8YLa/ra38EzO4Ruw7mlBKUYdKgzCy9CBCh 9wObgbjf1oNekqdheYvQRZkFK9eDxtWA8+exWehQQhHGFCLZG2F8ZVtUKsIKZfNL4L9N/p JhDLiFEc1RSIczHEVqSBjNBC75ubBh2I1gmNGWA1Tng78qprkuPUS1z8fpFy+m3ZYVRlbn Zjqg1hRhxqhKPRVAd0cIimX0xWSO9lbYITyHU5Ju8u8x1GvuHS2y9WVKHkwBMg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHr3B2YQHz2d8; Thu, 04 Sep 2025 20:01:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 584K1g7I042030; Thu, 4 Sep 2025 20:01:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584K1g0G042027; Thu, 4 Sep 2025 20:01:42 GMT (envelope-from git) Date: Thu, 4 Sep 2025 20:01:42 GMT Message-Id: <202509042001.584K1g0G042027@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: a14d561e5852 - main - vtnet: Do "hardware" accounting for the total number of received octets List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: a14d561e58529c9686a2efc47f4828ad82026e63 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=a14d561e58529c9686a2efc47f4828ad82026e63 commit a14d561e58529c9686a2efc47f4828ad82026e63 Author: Joyu Liao AuthorDate: 2025-09-04 20:00:27 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-04 20:00:27 +0000 vtnet: Do "hardware" accounting for the total number of received octets While here, advertise the IFCAP_HWSTATS capability to avoid the net stack from double counting it. Co-authored-by: zlei Reviewed by: zlei MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D44816 --- sys/dev/virtio/network/if_vtnet.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 4f19af6281a3..ec4282e0741a 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -1178,6 +1178,7 @@ vtnet_setup_interface(struct vtnet_softc *sc) if (sc->vtnet_max_mtu >= ETHERMTU_JUMBO) if_setcapabilitiesbit(ifp, IFCAP_JUMBO_MTU, 0); if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0); + if_setcapabilitiesbit(ifp, IFCAP_HWSTATS, 0); /* * Capabilities after here are not enabled by default. @@ -3036,6 +3037,8 @@ vtnet_get_counter(if_t ifp, ift_counter cnt) return (rxaccum.vrxs_iqdrops); case IFCOUNTER_IERRORS: return (rxaccum.vrxs_ierrors); + case IFCOUNTER_IBYTES: + return (rxaccum.vrxs_ibytes); case IFCOUNTER_OPACKETS: return (txaccum.vtxs_opackets); case IFCOUNTER_OBYTES: From nobody Thu Sep 4 20:01:43 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHr3C6855z66gkC; Thu, 04 Sep 2025 20:01:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHr3C4Cq6z3YGq; Thu, 04 Sep 2025 20:01:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757016103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nn2ENZf9QrWSKzrn7MYLweSvx7mhRTGC5aMCBIQq5tI=; b=eV9rnaVmVT4s5jeS4p+WIoL+xd/igS3fMI5o76IWTV+Ziyu5SzlI2JmeJ+LnFmnD4mkGR5 zZf2ZHz3BSptc7kqOB6mq+lwtQW40+6VnwR3C+FtxlpELkkQCKuv7fGD+yrlBA4hVDMHj+ u3FlTRSgzKVz4YAZ0ma1+3KWcAHB5BBdnNqoZUO31F0dNuFPRXyhB3z7gCcTDOw9s/aV7E 8xLrPlH1RBTVnJHqy33HbP8aP5v0BLl7BDHDdaHvD7mECYMS4srOUR6WR/2bpS4NyVjKmw 86lgWny0FfKU8wP6bO4W2UuGjxlaYinPkdixYDUJrQkKA0p9RgXZO0LnNQiSpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757016103; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nn2ENZf9QrWSKzrn7MYLweSvx7mhRTGC5aMCBIQq5tI=; b=aMZY2uDIUqHgOnbOLGO4tRBx/PT5jQ4Zz4kkMN93x+dhSVn4092V1DC2fZ+tCgron8EJAk WhZxOYD3J1vpQw46oP0Gdvt3JFUHt5zyGdS9zYYaicSwdF8l4gAnCGrgGBA2bvEDS0TPHp QtdlrRyvgboVabRcrNpyqf4p2NrgZz/mqfFIKt4ULPIKdoT80lxHpTk5hGxcXDBaQ3qsoV jpEMbFYFWDM7lFI/PtFFnSTXqjFwW9ONzf7II2AkPC8UrCGeA5jMYSRWQQQ8ZjqDibYT+6 QfBrLyWi4sdvTmGRRD7JXhp7bgHnJEK/hWhplTjBGX4l4cTvFQYdE6LPNieNJQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757016103; a=rsa-sha256; cv=none; b=XM+LZYD5hn1rBRVC7AQhD7PLYCMY0EE81bjSspVmWGR/HpmKaVnqTU/WhVb0h5KzRaXdef 9JTAKz7C4Xnlx3kL/SFVaPHYIqL4vF/RPCpMRXdtQbVdcj+NVnAWIDIErDPUrr2qLARAaO Xs65GJm0TBDoALBKnyhkKhg5pCal0uk4hz98mBHqs22TEuXekq5f8QovjXjPS3GQnGeYZ6 PaV73RZ3X2qWIJsRqCO7jR49SCI+36uQLlv/P/HvRcCCIEzDfTOjCqxmKoIa7XX7F6HQzr yNqiaqu4YCML+4uIPgzJfubornYQq1tL3ikToNEBSV+rJi4+QTHsAe4XCHhsoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHr3C3pjJz2pW; Thu, 04 Sep 2025 20:01: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 584K1hxT042068; Thu, 4 Sep 2025 20:01:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584K1hnf042065; Thu, 4 Sep 2025 20:01:43 GMT (envelope-from git) Date: Thu, 4 Sep 2025 20:01:43 GMT Message-Id: <202509042001.584K1hnf042065@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: 2a346c8993cb - main - vtnet: Prefer "hardware" accounting for the multicast and total number of octets sent List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2a346c8993cbb92a321a7c25bd9ac4dcaae352d1 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=2a346c8993cbb92a321a7c25bd9ac4dcaae352d1 commit 2a346c8993cbb92a321a7c25bd9ac4dcaae352d1 Author: Joyu Liao AuthorDate: 2025-09-04 20:00:28 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-04 20:00:28 +0000 vtnet: Prefer "hardware" accounting for the multicast and total number of octets sent When ALTQ is enabled, this driver does "hardware" accounting and soft accounting at the same time. Prefer the "hardware" one to make the logic simpler. Reviewed by: zlei MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D44817 --- sys/dev/virtio/network/if_vtnet.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index ec4282e0741a..73f27ac147ff 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -3042,13 +3042,9 @@ vtnet_get_counter(if_t ifp, ift_counter cnt) case IFCOUNTER_OPACKETS: return (txaccum.vtxs_opackets); case IFCOUNTER_OBYTES: - if (!VTNET_ALTQ_ENABLED) - return (txaccum.vtxs_obytes); - /* FALLTHROUGH */ + return (txaccum.vtxs_obytes); case IFCOUNTER_OMCASTS: - if (!VTNET_ALTQ_ENABLED) - return (txaccum.vtxs_omcasts); - /* FALLTHROUGH */ + return (txaccum.vtxs_omcasts); default: return (if_get_counter_default(ifp, cnt)); } From nobody Thu Sep 4 20:31:51 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHrjz2Bydz66Spk; Thu, 04 Sep 2025 20:31: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHrjz20CYz3gkC; Thu, 04 Sep 2025 20:31:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757017911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ct5DcqRnFj1CKZEuZbhn46y+8/Z1meLnqoeOo13JcJY=; b=vyKH2xQ5LaTf+MvEWyTESVQXbR6nXzjt6IEa2yVgVeV4QYAwfpVyo+SRJ+f0rL7w9EoOFN 4n3fY0pR2YQX+Or0wX51My3avSxKR6xMxrhl7OHfNEhdt6xZ4E0SChp79m8wbaae4gv/n6 Re9BtcJwKWJV1ViPWqFsydOZ1zDX/ivB8BDGG6SEKeuJM83527tO3LFFnGyLQHDNbw3mzp uUImRlvviZYbusCE1rV1XgGziAZa1uJHj8syxh77fGKKim8T/OPweYuGuHZc2vEII6sxJj 9xizYUf4C+m1k36k1ea0MqidHkxpU9QH/54zcg9zdgz2sKphaI7RVxddjEsMAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757017911; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ct5DcqRnFj1CKZEuZbhn46y+8/Z1meLnqoeOo13JcJY=; b=KCY+EFvjIi/N7rHtZy569/PN3j/g1YdAh7SDOvM20j+OGOvTTY3zQsV6ZZI4+iX0DkIqUt yMS+XBBXRIYT1DoOUNDtslyAH8NVDvxw3Pg6teRsaXoB0qT11IXsy77dynY0rQBmPpemRv T/jiL134qxVsanEmswAfxJDp27feXb+B6GkBTLPolxd+NfzAwNI9IlbumPiMYGgEWE2wpO 33bfDtHU9BSyi2Cc/RdpEHRM6+twNEs0In8MyBgaLLVe+tSJ4uJitcScMfVUhUW5Jkqut8 BVAHjoy/+eaJrzmidW6fP/i5nP1fD+AWymiH/0ITy+r7Jso8Cm+2fVfmTa73Ag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757017911; a=rsa-sha256; cv=none; b=TSAgy3Hu4+0dKYoemiMOvJAtr1r2fXCe/toOjqHovxsoMKM2Avy+XhsTOlrdSvLzjKaqBV C33JfyyJmnH+bkj9UH2inklr6mPLvMIDjNkN5p5ZjKifdfpfkd6tDTQHaAAhl8vZtR0GEA 7HMkZWNIITimaS+BXZN6nVtHxDEYoze65nIJzGFh4sFTeUKDMwzhDy08RY8KXzb7OSlAJ+ xY6eiHlyIAAN9mQqrEGjgla7MoMiDwM2W+KWmgVJ7OMS0tugNGZ/AZe4XCP27xNj4UUJrB lno5E1Wt77uG6/98H3/BVIzi0CPEPWu2GjT9XCSn3C4RrrJIalIsee1mSgk70g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHrjz1X9Kz3b6; Thu, 04 Sep 2025 20:31: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 584KVpdc000411; Thu, 4 Sep 2025 20:31:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584KVpxY000408; Thu, 4 Sep 2025 20:31:51 GMT (envelope-from git) Date: Thu, 4 Sep 2025 20:31:51 GMT Message-Id: <202509042031.584KVpxY000408@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jamie Gritton Subject: git: 851dc7f859c2 - main - jail: add jail descriptors List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jamie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 851dc7f859c23cab09a348bca03ab655534fb7e0 Auto-Submitted: auto-generated The branch main has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=851dc7f859c23cab09a348bca03ab655534fb7e0 commit 851dc7f859c23cab09a348bca03ab655534fb7e0 Author: Jamie Gritton AuthorDate: 2025-09-04 20:27:47 +0000 Commit: Jamie Gritton CommitDate: 2025-09-04 20:27:47 +0000 jail: add jail descriptors Similar to process descriptors, jail desriptors are allow jail administration using the file descriptor interface instead of JIDs. They come from and can be used by jail_set(2) and jail_get(2), and there are two new system calls, jail_attach_jd(2) and jail_remove_jd(2). Reviewed by: bz, brooks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D43696 --- lib/libjail/jail.c | 64 +++- lib/libsys/Symbol.sys.map | 2 + lib/libsys/_libsys.h | 4 + lib/libsys/jail.2 | 267 ++++++++++++++++- lib/libsys/syscalls.map | 4 + sys/compat/freebsd32/freebsd32_syscall.h | 4 +- sys/compat/freebsd32/freebsd32_syscalls.c | 2 + sys/compat/freebsd32/freebsd32_sysent.c | 2 + sys/compat/freebsd32/freebsd32_systrace_args.c | 44 +++ sys/conf/files | 1 + sys/kern/init_sysent.c | 2 + sys/kern/kern_descrip.c | 2 + sys/kern/kern_jail.c | 396 +++++++++++++++++++++++-- sys/kern/kern_jaildesc.c | 337 +++++++++++++++++++++ sys/kern/syscalls.c | 2 + sys/kern/syscalls.master | 10 + sys/kern/systrace_args.c | 44 +++ sys/sys/file.h | 1 + sys/sys/jail.h | 15 +- sys/sys/jaildesc.h | 85 ++++++ sys/sys/syscall.h | 4 +- sys/sys/syscall.mk | 4 +- sys/sys/sysproto.h | 10 + sys/sys/user.h | 4 + 24 files changed, 1256 insertions(+), 54 deletions(-) diff --git a/lib/libjail/jail.c b/lib/libjail/jail.c index 30282e67866c..931391055919 100644 --- a/lib/libjail/jail.c +++ b/lib/libjail/jail.c @@ -75,8 +75,9 @@ int jail_setv(int flags, ...) { va_list ap, tap; - struct jailparam *jp; - const char *name, *value; + struct jailparam *jp, *jp_desc; + const char *name; + char *value, *desc_value; int njp, jid; /* Create the parameter list and import the parameters. */ @@ -86,15 +87,24 @@ jail_setv(int flags, ...) (void)va_arg(tap, char *); va_end(tap); jp = alloca(njp * sizeof(struct jailparam)); - for (njp = 0; (name = va_arg(ap, char *)) != NULL;) { + jp_desc = NULL; + desc_value = NULL; + for (njp = 0; (name = va_arg(ap, char *)) != NULL; njp++) { value = va_arg(ap, char *); if (jailparam_init(jp + njp, name) < 0) goto error; - if (jailparam_import(jp + njp++, value) < 0) + if (jailparam_import(jp + njp, value) < 0) goto error; + if (!strcmp(name, "desc") + && (flags & (JAIL_GET_DESC | JAIL_OWN_DESC))) { + jp_desc = jp + njp; + desc_value = value; + } } va_end(ap); jid = jailparam_set(jp, njp, flags); + if (jid > 0 && jp_desc != NULL) + sprintf(desc_value, "%d", *(int *)jp_desc->jp_value); jailparam_free(jp, njp); return (jid); @@ -112,9 +122,10 @@ int jail_getv(int flags, ...) { va_list ap, tap; - struct jailparam *jp, *jp_lastjid, *jp_jid, *jp_name, *jp_key; + struct jailparam *jp, *jp_desc, *jp_lastjid, *jp_jid, *jp_name, *jp_key; char *valarg, *value; - const char *name, *key_value, *lastjid_value, *jid_value, *name_value; + const char *name, *key_value, *desc_value, *lastjid_value, *jid_value; + const char *name_value; int njp, i, jid; /* Create the parameter list and find the key. */ @@ -126,15 +137,19 @@ jail_getv(int flags, ...) jp = alloca(njp * sizeof(struct jailparam)); va_copy(tap, ap); - jp_lastjid = jp_jid = jp_name = NULL; - lastjid_value = jid_value = name_value = NULL; + jp_desc = jp_lastjid = jp_jid = jp_name = NULL; + desc_value = lastjid_value = jid_value = name_value = NULL; for (njp = 0; (name = va_arg(tap, char *)) != NULL; njp++) { value = va_arg(tap, char *); if (jailparam_init(jp + njp, name) < 0) { va_end(tap); goto error; } - if (!strcmp(jp[njp].jp_name, "lastjid")) { + if (!strcmp(jp[njp].jp_name, "desc") + && (flags & (JAIL_USE_DESC | JAIL_AT_DESC))) { + jp_desc = jp + njp; + desc_value = value; + } else if (!strcmp(jp[njp].jp_name, "lastjid")) { jp_lastjid = jp + njp; lastjid_value = value; } else if (!strcmp(jp[njp].jp_name, "jid")) { @@ -147,7 +162,10 @@ jail_getv(int flags, ...) } va_end(tap); /* Import the key parameter. */ - if (jp_lastjid != NULL) { + if (jp_desc != NULL && (flags & JAIL_USE_DESC)) { + jp_key = jp_desc; + key_value = desc_value; + } else if (jp_lastjid != NULL) { jp_key = jp_lastjid; key_value = lastjid_value; } else if (jp_jid != NULL && strtol(jid_value, NULL, 10) != 0) { @@ -163,6 +181,9 @@ jail_getv(int flags, ...) } if (jailparam_import(jp_key, key_value) < 0) goto error; + if (jp_desc != NULL && jp_desc != jp_key + && jailparam_import(jp_desc, desc_value) < 0) + goto error; /* Get the jail and export the parameters. */ jid = jailparam_get(jp, njp, flags); if (jid < 0) @@ -571,7 +592,7 @@ int jailparam_get(struct jailparam *jp, unsigned njp, int flags) { struct iovec *jiov; - struct jailparam *jp_lastjid, *jp_jid, *jp_name, *jp_key; + struct jailparam *jp_desc, *jp_lastjid, *jp_jid, *jp_name, *jp_key; int i, ai, ki, jid, arrays, sanity; unsigned j; @@ -580,10 +601,13 @@ jailparam_get(struct jailparam *jp, unsigned njp, int flags) * Find the key and any array parameters. */ jiov = alloca(sizeof(struct iovec) * 2 * (njp + 1)); - jp_lastjid = jp_jid = jp_name = NULL; + jp_desc = jp_lastjid = jp_jid = jp_name = NULL; arrays = 0; for (ai = j = 0; j < njp; j++) { - if (!strcmp(jp[j].jp_name, "lastjid")) + if (!strcmp(jp[j].jp_name, "desc") + && (flags & (JAIL_USE_DESC | JAIL_AT_DESC))) + jp_desc = jp + j; + else if (!strcmp(jp[j].jp_name, "lastjid")) jp_lastjid = jp + j; else if (!strcmp(jp[j].jp_name, "jid")) jp_jid = jp + j; @@ -599,7 +623,9 @@ jailparam_get(struct jailparam *jp, unsigned njp, int flags) ai++; } } - jp_key = jp_lastjid ? jp_lastjid : + jp_key = jp_desc && jp_desc->jp_valuelen == sizeof(int) && + jp_desc->jp_value && (flags & JAIL_USE_DESC) ? jp_desc : + jp_lastjid ? jp_lastjid : jp_jid && jp_jid->jp_valuelen == sizeof(int) && jp_jid->jp_value && *(int *)jp_jid->jp_value ? jp_jid : jp_name; if (jp_key == NULL || jp_key->jp_value == NULL) { @@ -622,6 +648,14 @@ jailparam_get(struct jailparam *jp, unsigned njp, int flags) jiov[ki].iov_len = JAIL_ERRMSGLEN; ki++; jail_errmsg[0] = 0; + if (jp_desc != NULL && jp_desc != jp_key) { + jiov[ki].iov_base = jp_desc->jp_name; + jiov[ki].iov_len = strlen(jp_desc->jp_name) + 1; + ki++; + jiov[ki].iov_base = jp_desc->jp_value; + jiov[ki].iov_len = jp_desc->jp_valuelen; + ki++; + } if (arrays && jail_get(jiov, ki, flags) < 0) { if (!jail_errmsg[0]) snprintf(jail_errmsg, sizeof(jail_errmsg), @@ -649,7 +683,7 @@ jailparam_get(struct jailparam *jp, unsigned njp, int flags) jiov[ai].iov_base = jp[j].jp_value; memset(jiov[ai].iov_base, 0, jiov[ai].iov_len); ai++; - } else if (jp + j != jp_key) { + } else if (jp + j != jp_key && jp + j != jp_desc) { jiov[i].iov_base = jp[j].jp_name; jiov[i].iov_len = strlen(jp[j].jp_name) + 1; i++; diff --git a/lib/libsys/Symbol.sys.map b/lib/libsys/Symbol.sys.map index 1a297f9df581..e3fd8ac10621 100644 --- a/lib/libsys/Symbol.sys.map +++ b/lib/libsys/Symbol.sys.map @@ -382,6 +382,8 @@ FBSD_1.8 { getrlimitusage; inotify_add_watch_at; inotify_rm_watch; + jail_attach_jd; + jail_remove_jd; kcmp; setcred; setgroups; diff --git a/lib/libsys/_libsys.h b/lib/libsys/_libsys.h index 34eebc1aa67a..6bd768708a78 100644 --- a/lib/libsys/_libsys.h +++ b/lib/libsys/_libsys.h @@ -468,6 +468,8 @@ typedef int (__sys_inotify_add_watch_at_t)(int, int, const char *, uint32_t); typedef int (__sys_inotify_rm_watch_t)(int, int); typedef int (__sys_getgroups_t)(int, gid_t *); typedef int (__sys_setgroups_t)(int, const gid_t *); +typedef int (__sys_jail_attach_jd_t)(int); +typedef int (__sys_jail_remove_jd_t)(int); _Noreturn void __sys__exit(int rval); int __sys_fork(void); @@ -872,6 +874,8 @@ int __sys_inotify_add_watch_at(int fd, int dfd, const char * path, uint32_t mask int __sys_inotify_rm_watch(int fd, int wd); int __sys_getgroups(int gidsetsize, gid_t * gidset); int __sys_setgroups(int gidsetsize, const gid_t * gidset); +int __sys_jail_attach_jd(int fd); +int __sys_jail_remove_jd(int fd); __END_DECLS #endif /* __LIBSYS_H_ */ diff --git a/lib/libsys/jail.2 b/lib/libsys/jail.2 index 8f8b9925c712..a0f47cc61cb3 100644 --- a/lib/libsys/jail.2 +++ b/lib/libsys/jail.2 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd November 29, 2023 +.Dd September 4, 2025 .Dt JAIL 2 .Os .Sh NAME @@ -31,7 +31,9 @@ .Nm jail_get , .Nm jail_set , .Nm jail_remove , -.Nm jail_attach +.Nm jail_attach , +.Nm jail_remove_jd , +.Nm jail_attach_jd .Nd create and manage system jails .Sh LIBRARY .Lb libc @@ -44,6 +46,10 @@ .Fn jail_attach "int jid" .Ft int .Fn jail_remove "int jid" +.Ft int +.Fn jail_attach_jd "int fd" +.Ft int +.Fn jail_remove_jd "int fd" .In sys/uio.h .Ft int .Fn jail_get "struct iovec *iov" "u_int niov" "int flags" @@ -188,6 +194,29 @@ system call. This is deprecated in .Fn jail_set and has no effect. +.It Dv JAIL_USE_DESC +Identify the jail by a descriptor in the +.Va desc +parameter. +.It Dv JAIL_AT_DESC +Operate in the context of the jail described by the +.Va desc +parameter, instead of the current jail. +Only one of +.Dv JAIL_USE_DESC +or +.Dv JAIL_AT_DESC +may be specified. +.It Dv JAIL_GET_DESC +Return a new jail descriptor for the jail in the +.Va desc +parameter. +.It Dv JAIL_OWN_DESC +Return an +.Dq owning +jail descriptor in the +.Va desc +parameter. .El .Pp The @@ -221,6 +250,9 @@ arguments consists of one or more following flags: .Bl -tag -width indent .It Dv JAIL_DYING Allow getting a jail that is in the process of being removed. +.It Dv JAIL_USE_DESC , Dv JAIL_AT_DESC , Dv JAIL_GET_DESC , Dv JAIL_OWN_DESC +These have the same meaning as they do in +.Fn jail_set . .El .Pp The @@ -238,6 +270,101 @@ system call removes the jail identified by .Fa jid . It will kill all processes belonging to the jail, and remove any children of that jail. +.Pp +The +.Fn jail_attach_fd +and +.Fn jail_remove_fd +system calls work the same as +.Fn jail_attach +and +.Fn jail_remove , +except that they operate on the jail identified by jail descriptor +.Fa fd . +.Ss Jail Descriptors +In addition to the jail ID, +jails can be referred to using a jail descriptor, +a type of file descriptor tied to a particular jail. +Jail descriptors are created by calling +.Fn jail_set +or +.Fn jail_get +with the special parameter +.Va desc , +and either the +.Dv JAIL_GET_DESC +or +.Dv JAIL_OWN_DESC +flags set. +The difference between the two flags is that descriptors created with +.Dv JAIL_OWN_DESC +.Po +called +.Dq owning +descriptors +.Pc +will automatically remove the jail when the descriptor is closed. +.Pp +Jail descriptors can be passed back to +.Fn jail_set +or +.Fm jail_get +with the +.Va desc +parameter, +and either the +.Dv JAIL_USE_DESC +or +.Dv JAIL_AT_DESC +flags set. +With +.Dv JAIL_USE_DESC , +the descriptor identifies the jail to operate on, +instead of the +.Va jid +or +.Va name +parameter. +With +.Dv JAIL_AT_DESC , +the descriptor is used in place of the current jail, +allowing accessing or creating jails that are children of the +descriptor jail. +.Pp +The system calls +.Fn jail_attach_jd +and +.Fn jail_aremove_jd +work the same as +.Fn jail_attach +and +.Fn jail_remove , +except that they operate on the jail referred to by the passed descriptor. +.Pp +Jail operations via descriptors can be done by processes that do not +normally have permission to see or affect the jail, +as long as they are allowed by the file permissions of the jail +descriptor itself. +These permissions can be changed by the descriptor owner via +.Xr fchmod 2 +and +.Xr fchown 2 . +.Fn jail_get +requires read permission, +.Fn jail_set +and +.Fn jail_remove +require write permission, +and +.Fn jail_attach +requires execute permission. +Also, use of a descriptor with the +.Dv JAIL_AT_DESC +flag requires execute permission. +An owning descriptor is identified by the +.Em sticky bit , +which may also be changed via +.Xr fchmod 2 . .Sh RETURN VALUES If successful, .Fn jail , @@ -249,7 +376,7 @@ They return \-1 on failure, and set .Va errno to indicate the error. .Pp -.Rv -std jail_attach jail_remove +.Rv -std jail_attach jail_remove jail_attach_jd jail_remove_jd .Sh ERRORS The .Fn jail @@ -275,12 +402,44 @@ The system call will fail if: .Bl -tag -width Er +.It Bq Er EBADF +The +.Va desc +parameter does not refer to a valid jail descriptor, +and either the +.Dv JAIL_USE_DESC +or +.Dv JAIL_AT_DESC +flag was set. +.It Bq Er EACCES +Write permission is denied on the jail descriptor in the +.Va desc +parameter, +and the +.Dv JAIL_USE_DESC +flag was set. +.It Bq Er EACCES +Execute permission is denied on the jail descriptor in the +.Va desc +parameter, +and either the +.Dv JAIL_AT_DESC +or +.Dv JAIL_ATTACH +flag was set. .It Bq Er EPERM This process is not allowed to create a jail, either because it is not the super-user, or because it would exceed the jail's .Va children.max limit. .It Bq Er EPERM +The jail descriptor in the +.Va desc +parameter was created by a user other than the super-user, +and the +.Dv JAIL_USE_DESC +flag was set. +.It Bq Er EPERM A jail parameter was set to a less restrictive value then the current environment. .It Bq Er EFAULT @@ -298,8 +457,12 @@ flag is not set. .It Bq Er ENOENT The jail referred to by a .Va jid -is not accessible by the process, because the process is in a different -jail. +parameter is not accessible by the process, because the process is in a +different jail. +.It Bq Er ENOENT +The jail referred to by a +.Va desc +parameter has been removed. .It Bq Er EEXIST The jail referred to by a .Va jid @@ -326,6 +489,24 @@ flags is not set. A supplied string parameter is longer than allowed. .It Bq Er EAGAIN There are no jail IDs left. +.It Bq Er EMFILE +A jail descriptor could not be created for the +.Va desc +parameter with either the +.Dv JAIL_GET_DESC +or +.Dv JAIL_OWN_DESC +flag set, +because the process has already reached its limit for open file descriptors. +.It Bq Er ENFILE +A jail descriptor could not be created for the +.Va desc +parameter with either the +.Dv JAIL_GET_DESC +or +.Dv JAIL_OWN_DESC +flag set, +because the system file table is full. .El .Pp The @@ -333,6 +514,29 @@ The system call will fail if: .Bl -tag -width Er +.It Bq Er EBADF +The +.Va desc +parameter does not refer to a valid jail descriptor, +and either the +.Dv JAIL_USE_DESC +or +.Dv JAIL_AT_DESC +flag was set. +.It Bq Er EACCES +Read permission is denied on the jail descriptor in the +.Va desc +parameter, +and the +.Dv JAIL_USE_DESC +flag was set. +.It Bq Er EACCES +Execute permission is denied on the jail descriptor in the +.Va desc +parameter, +and the +.Dv JAIL_AT_DESC +flag was set. .It Bq Er EFAULT .Fa Iov , or one of the addresses contained within it, @@ -352,10 +556,33 @@ jail. The .Va lastjid parameter is greater than the highest current jail ID. +.It Bq Er ENOENT +The jail referred to by a +.Va desc +parameter has been removed +.Pq even if the Dv JAIL_CREATE flag has been set . .It Bq Er EINVAL A supplied parameter is the wrong size. .It Bq Er EINVAL A supplied parameter name does not match any known parameters. +.It Bq Er EMFILE +A jail descriptor could not be created for the +.Va desc +parameter with either the +.Dv JAIL_GET_DESC +or +.Dv JAIL_OWN_DESC +flag set, +because the process has already reached its limit for open file descriptors. +.It Bq Er ENFILE +A jail descriptor could not be created for the +.Va desc +parameter with either the +.Dv JAIL_GET_DESC +or +.Dv JAIL_OWN_DESC +flag set, +because the system file table is full. .El .Pp The @@ -373,11 +600,39 @@ The jail specified by does not exist. .El .Pp +The +.Fn jail_attach_jd +and +.Fn jail_remove_jd +system calls +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +The +.Fa fd +argument is not a valid jail descriptor. +.It Bq Er EACCES +Permission is denied on the jail descriptor +.Po +execute permission for +.Fn jail_attach_fd , +or write permission for +.Fn jail_remove_fd +.Pc . +.It Bq Er EPERM +The jail descriptor was created by a user other than the super-user. +.It Bq Er EINVAL +The jail specified by +.Fa jid +has been removed. +.El +.Pp Further .Fn jail , .Fn jail_set , +.Fn jail_attach , and -.Fn jail_attach +.Fn jail_attach_jd call .Xr chroot 2 internally, so they can fail for all the same reasons. diff --git a/lib/libsys/syscalls.map b/lib/libsys/syscalls.map index 4cf80a2ffc69..b5400b9849b3 100644 --- a/lib/libsys/syscalls.map +++ b/lib/libsys/syscalls.map @@ -813,4 +813,8 @@ FBSDprivate_1.0 { __sys_getgroups; _setgroups; __sys_setgroups; + _jail_attach_jd; + __sys_jail_attach_jd; + _jail_remove_jd; + __sys_jail_remove_jd; }; diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h index 90cd21a80923..54063150eef9 100644 --- a/sys/compat/freebsd32/freebsd32_syscall.h +++ b/sys/compat/freebsd32/freebsd32_syscall.h @@ -515,4 +515,6 @@ #define FREEBSD32_SYS_inotify_rm_watch 594 #define FREEBSD32_SYS_getgroups 595 #define FREEBSD32_SYS_setgroups 596 -#define FREEBSD32_SYS_MAXSYSCALL 597 +#define FREEBSD32_SYS_jail_attach_jd 597 +#define FREEBSD32_SYS_jail_remove_jd 598 +#define FREEBSD32_SYS_MAXSYSCALL 599 diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c index f0f8d26554b5..f7cc4c284e4d 100644 --- a/sys/compat/freebsd32/freebsd32_syscalls.c +++ b/sys/compat/freebsd32/freebsd32_syscalls.c @@ -602,4 +602,6 @@ const char *freebsd32_syscallnames[] = { "inotify_rm_watch", /* 594 = inotify_rm_watch */ "getgroups", /* 595 = getgroups */ "setgroups", /* 596 = setgroups */ + "jail_attach_jd", /* 597 = jail_attach_jd */ + "jail_remove_jd", /* 598 = jail_remove_jd */ }; diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c index 12f1a346c3e9..18f809ef04e3 100644 --- a/sys/compat/freebsd32/freebsd32_sysent.c +++ b/sys/compat/freebsd32/freebsd32_sysent.c @@ -664,4 +664,6 @@ struct sysent freebsd32_sysent[] = { { .sy_narg = AS(inotify_rm_watch_args), .sy_call = (sy_call_t *)sys_inotify_rm_watch, .sy_auevent = AUE_INOTIFY, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 594 = inotify_rm_watch */ { .sy_narg = AS(getgroups_args), .sy_call = (sy_call_t *)sys_getgroups, .sy_auevent = AUE_GETGROUPS, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 595 = getgroups */ { .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, .sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 596 = setgroups */ + { .sy_narg = AS(jail_attach_jd_args), .sy_call = (sy_call_t *)sys_jail_attach_jd, .sy_auevent = AUE_JAIL_ATTACH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 597 = jail_attach_jd */ + { .sy_narg = AS(jail_remove_jd_args), .sy_call = (sy_call_t *)sys_jail_remove_jd, .sy_auevent = AUE_JAIL_REMOVE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 598 = jail_remove_jd */ }; diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c index e471c5148021..29a5497e9efa 100644 --- a/sys/compat/freebsd32/freebsd32_systrace_args.c +++ b/sys/compat/freebsd32/freebsd32_systrace_args.c @@ -3413,6 +3413,20 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) *n_args = 2; break; } + /* jail_attach_jd */ + case 597: { + struct jail_attach_jd_args *p = params; + iarg[a++] = p->fd; /* int */ + *n_args = 1; + break; + } + /* jail_remove_jd */ + case 598: { + struct jail_remove_jd_args *p = params; + iarg[a++] = p->fd; /* int */ + *n_args = 1; + break; + } default: *n_args = 0; break; @@ -9222,6 +9236,26 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* jail_attach_jd */ + case 597: + switch (ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; + /* jail_remove_jd */ + case 598: + switch (ndx) { + case 0: + p = "int"; + break; + default: + break; + }; + break; default: break; }; @@ -11130,6 +11164,16 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* jail_attach_jd */ + case 597: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* jail_remove_jd */ + case 598: + if (ndx == 0 || ndx == 1) + p = "int"; + break; default: break; }; diff --git a/sys/conf/files b/sys/conf/files index d89813c70355..9661bafea8f9 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3808,6 +3808,7 @@ kern/kern_hhook.c standard kern/kern_idle.c standard kern/kern_intr.c standard kern/kern_jail.c standard +kern/kern_jaildesc.c standard kern/kern_jailmeta.c standard kern/kern_kcov.c optional kcov \ compile-with "${NOSAN_C} ${MSAN_CFLAGS}" diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c index fcd232cde21e..e42e7dcf8b44 100644 --- a/sys/kern/init_sysent.c +++ b/sys/kern/init_sysent.c @@ -663,4 +663,6 @@ struct sysent sysent[] = { { .sy_narg = AS(inotify_rm_watch_args), .sy_call = (sy_call_t *)sys_inotify_rm_watch, .sy_auevent = AUE_INOTIFY, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 594 = inotify_rm_watch */ { .sy_narg = AS(getgroups_args), .sy_call = (sy_call_t *)sys_getgroups, .sy_auevent = AUE_GETGROUPS, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 595 = getgroups */ { .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, .sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 596 = setgroups */ + { .sy_narg = AS(jail_attach_jd_args), .sy_call = (sy_call_t *)sys_jail_attach_jd, .sy_auevent = AUE_JAIL_ATTACH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 597 = jail_attach_jd */ + { .sy_narg = AS(jail_remove_jd_args), .sy_call = (sy_call_t *)sys_jail_remove_jd, .sy_auevent = AUE_JAIL_REMOVE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 598 = jail_remove_jd */ }; diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index a27ab33b34da..057235574eb5 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -5250,6 +5250,8 @@ file_type_to_name(short type) return ("eventfd"); case DTYPE_TIMERFD: return ("timerfd"); + case DTYPE_JAILDESC: + return ("jail"); default: return ("unkn"); } diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 52210553016b..5a1fbe23ddeb 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -49,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -988,6 +990,8 @@ prison_ip_cnt(const struct prison *pr, const pr_family_t af) int kern_jail_set(struct thread *td, struct uio *optuio, int flags) { + struct file *jfp_out; + struct jaildesc *desc_in; struct nameidata nd; #ifdef INET struct prison_ip *ip4; @@ -998,6 +1002,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) struct vfsopt *opt; struct vfsoptlist *opts; struct prison *pr, *deadpr, *dinspr, *inspr, *mypr, *ppr, *tpr; + struct ucred *jdcred; struct vnode *root; char *domain, *errmsg, *host, *name, *namelc, *p, *path, *uuid; char *g_path, *osrelstr; @@ -1011,7 +1016,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) int created, cuflags, descend, drflags, enforce; int error, errmsg_len, errmsg_pos; int gotchildmax, gotenforce, gothid, gotrsnum, gotslevel; - int deadid, jid, jsys, len, level; + int deadid, jfd_in, jfd_out, jfd_pos, jid, jsys, len, level; int childmax, osreldt, rsnum, slevel; #ifdef INET int ip4s; @@ -1027,17 +1032,26 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) unsigned tallow; char numbuf[12]; - error = priv_check(td, PRIV_JAIL_SET); - if (!error && (flags & JAIL_ATTACH)) - error = priv_check(td, PRIV_JAIL_ATTACH); - if (error) - return (error); mypr = td->td_ucred->cr_prison; - if ((flags & JAIL_CREATE) && mypr->pr_childmax == 0) + if (((flags & (JAIL_CREATE | JAIL_AT_DESC)) == JAIL_CREATE) + && mypr->pr_childmax == 0) return (EPERM); if (flags & ~JAIL_SET_MASK) return (EINVAL); + if ((flags & (JAIL_USE_DESC | JAIL_AT_DESC)) + == (JAIL_USE_DESC | JAIL_AT_DESC)) + return (EINVAL); + prison_hold(mypr); +#ifdef INET + ip4 = NULL; +#endif +#ifdef INET6 + ip6 = NULL; +#endif + g_path = NULL; + jfp_out = NULL; + jfd_out = -1; /* * Check all the parameters before committing to anything. Not all * errors can be caught early, but we may as well try. Also, this @@ -1050,14 +1064,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) */ error = vfs_buildopts(optuio, &opts); if (error) - return (error); -#ifdef INET - ip4 = NULL; -#endif -#ifdef INET6 - ip6 = NULL; -#endif - g_path = NULL; + goto done_free; cuflags = flags & (JAIL_CREATE | JAIL_UPDATE); if (!cuflags) { @@ -1066,6 +1073,72 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) goto done_errmsg; } + error = vfs_copyopt(opts, "desc", &jfd_in, sizeof(jfd_in)); + if (error == ENOENT) { + if (flags & (JAIL_USE_DESC | JAIL_AT_DESC | JAIL_GET_DESC | + JAIL_OWN_DESC)) { + vfs_opterror(opts, "missing desc"); + goto done_errmsg; + } + jfd_in = -1; + } else if (error != 0) + goto done_free; + else { + if (!(flags & (JAIL_USE_DESC | JAIL_AT_DESC | JAIL_GET_DESC | + JAIL_OWN_DESC))) { + vfs_opterror(opts, "unexpected desc"); + goto done_errmsg; + } + if (flags & JAIL_AT_DESC) { + /* + * Look up and create jails based on the + * descriptor's prison. + */ + prison_free(mypr); + error = jaildesc_find(td, jfd_in, &desc_in, &mypr, + NULL); + if (error != 0) { + vfs_opterror(opts, error == ENOENT + ? "descriptor to dead jail" + : "not a jail descriptor"); + goto done_errmsg; + } + /* + * Check file permissions using the current + * credentials, and operation permissions + * using the descriptor's credentials. + */ + error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, + desc_in->jd_gid, VEXEC, td->td_ucred); + JAILDESC_UNLOCK(desc_in); + if (error != 0) + goto done_free; + if ((flags & JAIL_CREATE) && mypr->pr_childmax == 0) { + error = EPERM; + goto done_free; + } + } + if (flags & (JAIL_GET_DESC | JAIL_OWN_DESC)) { + /* Allocate a jail descriptor to return later. */ + error = jaildesc_alloc(td, &jfp_out, &jfd_out, + flags & JAIL_OWN_DESC); + if (error) + goto done_free; + } + } + + /* + * Delay the permission check if using a jail descriptor, + * until we get the descriptor's credentials. + */ + if (!(flags & JAIL_USE_DESC)) { + error = priv_check(td, PRIV_JAIL_SET); + if (error == 0 && (flags & JAIL_ATTACH)) + error = priv_check(td, PRIV_JAIL_ATTACH); + if (error) + goto done_free; + } + error = vfs_copyopt(opts, "jid", &jid, sizeof(jid)); if (error == ENOENT) jid = 0; @@ -1441,7 +1514,57 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) error = EAGAIN; goto done_deref; } - if (jid != 0) { + if (flags & JAIL_USE_DESC) { + /* Get the jail from its descriptor. */ + error = jaildesc_find(td, jfd_in, &desc_in, &pr, &jdcred); + if (error) { + vfs_opterror(opts, error == ENOENT + ? "descriptor to dead jail" + : "not a jail descriptor"); + goto done_deref; + } + drflags |= PD_DEREF; + /* + * Check file permissions using the current credentials, + * and operation permissions using the descriptor's + * credentials. + */ + error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, + desc_in->jd_gid, VWRITE, td->td_ucred); + if (error == 0 && (flags & JAIL_ATTACH)) + error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, + desc_in->jd_gid, VEXEC, td->td_ucred); + JAILDESC_UNLOCK(desc_in); + if (error == 0) + error = priv_check_cred(jdcred, PRIV_JAIL_SET); + if (error == 0 && (flags & JAIL_ATTACH)) + error = priv_check_cred(jdcred, PRIV_JAIL_ATTACH); + crfree(jdcred); + if (error) + goto done_deref; + mtx_lock(&pr->pr_mtx); + drflags |= PD_LOCKED; + if (cuflags == JAIL_CREATE) { + error = EEXIST; + vfs_opterror(opts, "jail %d already exists", + pr->pr_id); + goto done_deref; + } + if (!prison_isalive(pr)) { + /* While a jid can be resurrected, the prison + * itself cannot. + */ + error = ENOENT; + vfs_opterror(opts, "jail %d is dying", pr->pr_id); *** 1065 LINES SKIPPED *** From nobody Thu Sep 4 20:40:13 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHrvd6Rv9z66THS; Thu, 04 Sep 2025 20:40: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHrvd5mlLz3hmG; Thu, 04 Sep 2025 20:40:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757018413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PLZ3l9hgRKQumyd+K0CDlZPjaQVG552QNg86ihRG5C4=; b=dDdWiZfXP+g8FL6fBL20lGcuLQDz1qIW1yVTmQaczI+bQs8QSLl09uRuDoHlkbR8kZAl4l 52kOcnHzbB2oVYp2/+TceMFv0lIdhPrUxiiUnieaddswzkXDpheAQKwFDxZaekJHSdzA8b 1UY4r4ZedfYn4W2kFmVvWjCWSvuDIHGSdTIHk7Hw4QPVUMswuC78PAtQ3Eev9FfbjWPLWl nyWQ8cY0SOJyN/whrJ0LiQXZlLBhigqcZAwYYHOyuzGNEa/VDDHGIaDAJizfGVINfufluf WLBMASvhgQ0wy6YwGLjvPr+XAHHE1CrkmBh3hK48hieH8r42SiOAFW1dRQwjVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757018413; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PLZ3l9hgRKQumyd+K0CDlZPjaQVG552QNg86ihRG5C4=; b=pfl9tIlgXv2kNZKVPXhS45uROjzgRu6Z+4rUidIKw8x6Ta74QDBwf7JSd/s93MB/wgi9v4 Gt7pOVIc3AaiOlV7Qri4HPBPT5mD+96TppxabkWDrqkqEkfgiTvknK7sa1p9DXVN82L1cH Q5irE+lHVVSgbqoYNGoei8cZAQHgYJgF6J4sUo5ttSAcanJE+Ryxl9nS5l9xVoWWeFT3cY 5iBEF6S9XOOpL1AfvEPBYgqa0H/mtqHqaeb5J9W+lgNlkoAdlg8wcxe0d9n0K/rI0YeBT9 SVeLAWt7GqWEEckGSDmivyOVN7k0iH5zwU2vOdT9JmIJIXrgZyXasHgyIwTWfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757018413; a=rsa-sha256; cv=none; b=Gd8w2XbH8FL9HQ4mEjHNckqMDvEdF3M2FbJ+7BmTyRRhPLgGlDYqdWW2rO6eArMLkXHKZ3 ezcXVWuyOhLUQNmvxam1vsw6Uo9Gcgcin/0FetTh1TfpeSYRk8VK/GU4gpjOyu6jRC28Fc k35itTk3oIfOnWa4ktodvubfqcrDJrra21HCg0VAb3uqrMO2bb6qCJAo9COVFwCRV1wk6c +flq51HEEfXD/3L4Na0JeC5VtelSxQJy0SHmmqH87d7YRX0ICHpDjZ17+nGFuJQQPQZwpH sCv7fTAKidW4f+BbyFn4mh5Dr7eVAf4ubsdX811ikAKrohEQW1jwSzLvi0JvKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHrvd53skz3gZ; Thu, 04 Sep 2025 20:40: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 584KeDwC010454; Thu, 4 Sep 2025 20:40:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584KeDbH010446; Thu, 4 Sep 2025 20:40:13 GMT (envelope-from git) Date: Thu, 4 Sep 2025 20:40:13 GMT Message-Id: <202509042040.584KeDbH010446@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: d4bfebf917bc - main - snd_hda: Fix a sporadic panic during kldunload List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: d4bfebf917bcecf23892bb5069ee91bec75bef71 Auto-Submitted: auto-generated The branch main has been updated by tijl: URL: https://cgit.FreeBSD.org/src/commit/?id=d4bfebf917bcecf23892bb5069ee91bec75bef71 commit d4bfebf917bcecf23892bb5069ee91bec75bef71 Author: Tijl Coosemans AuthorDate: 2025-05-24 10:58:29 +0000 Commit: Tijl Coosemans CommitDate: 2025-09-04 20:35:07 +0000 snd_hda: Fix a sporadic panic during kldunload The interrupt handler releases the device lock in hdaa_stream_intr to avoid a lock order reversal. This allows child devices to be detached and destroyed and then the interrupt handler panics. Let hdac_detach take down the interrupt handler before detaching child devices and order hdac_driver so hdac_detach is called first. Remove duplicate hdac_if.h from the module Makefile. PR: 286385 Reviewed by: christos Differential Revision: https://reviews.freebsd.org/D50393 --- sys/dev/sound/pci/hda/hdac.c | 10 +++++----- sys/modules/sound/driver/hda/Makefile | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c index 900578b73de4..90cd74d28b3d 100644 --- a/sys/dev/sound/pci/hda/hdac.c +++ b/sys/dev/sound/pci/hda/hdac.c @@ -1773,17 +1773,17 @@ hdac_detach(device_t dev) struct hdac_softc *sc = device_get_softc(dev); int i, error; + callout_drain(&sc->poll_callout); + hdac_irq_free(sc); + taskqueue_drain(taskqueue_thread, &sc->unsolq_task); + error = bus_generic_detach(dev); if (error != 0) return (error); hdac_lock(sc); - callout_stop(&sc->poll_callout); hdac_reset(sc, false); hdac_unlock(sc); - callout_drain(&sc->poll_callout); - taskqueue_drain(taskqueue_thread, &sc->unsolq_task); - hdac_irq_free(sc); for (i = 0; i < sc->num_ss; i++) hdac_dma_free(sc, &sc->streams[i].bdl); @@ -2206,4 +2206,4 @@ static driver_t hdac_driver = { sizeof(struct hdac_softc), }; -DRIVER_MODULE(snd_hda, pci, hdac_driver, NULL, NULL); +DRIVER_MODULE_ORDERED(snd_hda, pci, hdac_driver, NULL, NULL, SI_ORDER_ANY); diff --git a/sys/modules/sound/driver/hda/Makefile b/sys/modules/sound/driver/hda/Makefile index 0eec98fc53e1..1e137dc5671c 100644 --- a/sys/modules/sound/driver/hda/Makefile +++ b/sys/modules/sound/driver/hda/Makefile @@ -2,7 +2,7 @@ KMOD= snd_hda SRCS= device_if.h bus_if.h pci_if.h channel_if.h mixer_if.h hdac_if.h -SRCS+= hdaa.c hdaa.h hdaa_patches.c hdac.c hdac_if.h hdac_if.c -SRCS+= hdacc.c hdac_private.h hdac_reg.h hda_reg.h hdac.h +SRCS+= hdaa.c hdaa.h hdaa_patches.c hdacc.c hdac.c hdac_if.c +SRCS+= hdac_private.h hdac_reg.h hda_reg.h hdac.h .include From nobody Thu Sep 4 21:08:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHsWp4z7kz66WKW; Thu, 04 Sep 2025 21:08:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHsWp4h0fz3ljR; Thu, 04 Sep 2025 21:08:06 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757020086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=spdV9gBehk6beVKsiEgibu59Fb1g38KuF5U1i2aibTk=; b=PjujdxJD9ALOp2oZV+DQinJF0jqjQB8kp2hUMH46PZjZ/fL4dwFfmQpjkiW5ZAgOYI8iyD bym3VM+LZv1Ssq6hEF7RkWwoXREdWHlVr8uAAgzufumGops4RBfRGRYIEQlZnMA8zEDaF/ ou3d6xXVb9jp7Up4NI1hK+JJp9QbiZvoIMMUujBd//gT8YW6Mflqb1Y9uW5ZWm7Z9nPO1T EeAZf/UyWMxCXQRLtHT2sN6KMSX16izZVrhg8yiOCNj6YYzr89Bd9u+4penrB2aYEXALVq Le30ZBJLIUc/ID2ROdNjoGAvqUvATvDYnhFd4gImAIJuNWJ3nGFvbnzBAKZGBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757020086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=spdV9gBehk6beVKsiEgibu59Fb1g38KuF5U1i2aibTk=; b=WzGHW98i3RqgfIKDyiBVgee8B4BqG8nkbCX5RWntEv3I0I+b1JLOuZ/vDes305gG9yAF5x Fo8lzPrB6Ust3+HLUDajUNkzPcYEkaCDSxR1GvN9MJmh6e477Qj1qaRCHpqENozXN8wqWD VU9a3pwTtFmJf2D3q9qUgCbsehPjhVE3MrSX1ZFo9U8OjfiaccsSsoSKixiVOjIGkiW2vJ 91upAsFdIQHbimZId3FuRB772BZUFCAsCVOo7md4wf8hDETjOWZxtEEqA4V27EmFGfIQWR tyQ5+a8W9Lhile+9u65A8739WUanwwURKK9kX/FnAcB75zcl08cl3ppw14uldQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757020086; a=rsa-sha256; cv=none; b=FuKOVz6k6CXOmgigkBv6L5HUudpqNUZ/fCkwkTWznHB7PsQjJRsnk89MOoKwo0iQ4NOV/s Krb4MyVTgq6CZOFfB0yqWhfF+xTP/wdWVTYsJW8pcLbk05cdDzDudEAxM9tpxkH26madG+ NPGuYbBqAT31gDb7tXHsOx0YKLuaFCy2fe8x73FmVsVWrki0+lQRs8lTG/c0W8END4lgkQ q+CGPJwcruZdAJyi8mv2lAkEDTvQ3MvO7/sE557Z0lKoAKHv5sjgjCiY5DPI1Je71Bjmc3 fw5+JwIXpX+VE7nKbPiTpe8oLgz0NGNI4xBrd+XqD2JIdNx17T72jlqf4hrc4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHsWp4CDCz3DT; Thu, 04 Sep 2025 21:08:06 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 584L86VC060947; Thu, 4 Sep 2025 21:08:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584L86Ro060944; Thu, 4 Sep 2025 21:08:06 GMT (envelope-from git) Date: Thu, 4 Sep 2025 21:08:06 GMT Message-Id: <202509042108.584L86Ro060944@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: aef807876c30 - main - moused(8): Add support for evdev protocol List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: aef807876c305587c60f73e2cd914115d22a53fd Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=aef807876c305587c60f73e2cd914115d22a53fd commit aef807876c305587c60f73e2cd914115d22a53fd Author: Vladimir Kondratyev AuthorDate: 2025-09-04 21:07:25 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-09-04 21:07:25 +0000 moused(8): Add support for evdev protocol The new daemon have following properties as compared with previous incarnation: - evdev protocol support for mices and touchpads. Additionally to relative PS/2 and USB devices it enables console support for I2C/USB touchpads and bluetooth mices. - Other aged protocols like COM, raw PS/2 and X10 are dropped with only exception of sysmouse. For those who still use them there is an utility called msconvd(8). - single daemon per system where hotplug is processed via devd socket. Per device mode still supported too. - Configuration and quirks files in libinput-compatible format. Actually, the new moused config parser is taken from libinput. The moused(8) can work in 2 modes: 1. Evdev support mode. It enables all previously mentioned devices. It is enabled by deault. 2. Sysmouse support mode. All should work as before. No new devices supported. To enable it add following lines to /etc/rc.conf: moused_port="/dev/psm0" moused_nondefault_enable="YES" One may add hw.usb.usbhid.enable=0 to /boot/loader.conf to enable ums(4) driver which supports sysmouse protocol. Differential Revision: https://reviews.freebsd.org/D52164 --- libexec/rc/rc.conf | 8 +- libexec/rc/rc.d/Makefile | 1 + libexec/rc/rc.d/msconvd | 61 + tools/build/mk/OptionalObsoleteFiles.inc | 7 + usr.sbin/moused/Makefile | 12 +- usr.sbin/moused/Makefile.depend | 17 - usr.sbin/moused/moused/Makefile | 28 + usr.sbin/moused/moused/event-names.h | 1656 ++++++++++ usr.sbin/moused/moused/moused.8 | 538 ++++ usr.sbin/moused/moused/moused.c | 3205 ++++++++++++++++++++ usr.sbin/moused/moused/moused.conf | 43 + usr.sbin/moused/moused/moused.conf.5 | 422 +++ usr.sbin/moused/moused/quirks.c | 2033 +++++++++++++ usr.sbin/moused/moused/quirks.h | 369 +++ .../moused/moused/quirks/5-generic-touchpad.quirks | 9 + usr.sbin/moused/moused/util-evdev.c | 173 ++ usr.sbin/moused/moused/util-evdev.h | 35 + usr.sbin/moused/moused/util-list.c | 86 + usr.sbin/moused/moused/util-list.h | 194 ++ usr.sbin/moused/moused/util.c | 423 +++ usr.sbin/moused/moused/util.h | 413 +++ usr.sbin/moused/msconvd/Makefile | 8 + usr.sbin/moused/{moused.8 => msconvd/msconvd.8} | 395 +-- usr.sbin/moused/{moused.c => msconvd/msconvd.c} | 1212 ++------ 24 files changed, 10008 insertions(+), 1340 deletions(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index bfa46bd343a6..0ef3012892dd 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -586,15 +586,19 @@ font8x14="NO" # font 8x14 from /usr/share/{syscons,vt}/fonts/* (or NO). font8x8="NO" # font 8x8 from /usr/share/{syscons,vt}/fonts/* (or NO). blanktime="300" # blank time (in seconds) or "NO" to turn it off. saver="NO" # screen saver: Uses /boot/kernel/${saver}_saver.ko -moused_nondefault_enable="YES" # Treat non-default mice as enabled unless +moused_nondefault_enable="NO" # Treat non-default mice as enabled unless # specifically overridden in rc.conf(5). moused_enable="NO" # Run the mouse daemon. moused_type="auto" # See man page for rc.conf(5) for available settings. -moused_port="/dev/psm0" # Set to your mouse port. +moused_port="auto" # Set to your mouse port. moused_flags="" # Any additional flags to moused. mousechar_start="NO" # if 0xd0-0xd3 default range is occupied in your # language code table, specify alternative range # start like mousechar_start=3, see vidcontrol(1) +msconvd_enable="NO" # Run the mouse protocol conversion daemon. +msconvd_type="auto" # See rc.conf(5) man page for available moused_type-s. +msconvd_ports="" # List of msconvd ports. +msconvd_flags="" # Any additional flags to msconvd. allscreens_flags="" # Set this vidcontrol mode for all virtual screens allscreens_kbdflags="" # Set this kbdcontrol mode for all virtual screens diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile index 7c1f50b027a9..e5ee34e62185 100644 --- a/libexec/rc/rc.d/Makefile +++ b/libexec/rc/rc.d/Makefile @@ -273,6 +273,7 @@ JAILPACKAGE= jail .if ${MK_LEGACY_CONSOLE} != "no" CONFGROUPS+= CONSOLE CONSOLE+= moused +CONSOLE+= msconvd CONSOLE+= syscons CONSOLEPACKAGE= console-tools .endif diff --git a/libexec/rc/rc.d/msconvd b/libexec/rc/rc.d/msconvd new file mode 100755 index 000000000000..c2a96bf2eb68 --- /dev/null +++ b/libexec/rc/rc.d/msconvd @@ -0,0 +1,61 @@ +#!/bin/sh +# +# + +# PROVIDE: msconvd +# REQUIRE: DAEMON FILESYSTEMS +# KEYWORD: nojail shutdown + +. /etc/rc.subr + +name="msconvd" +desc="Mouse protocol conversion daemon" +command="/usr/sbin/${name}" +start_cmd="msconvd_start" +pidprefix="/var/run/msconvd" +load_rc_config $name + +: ${msconvd_enable="NO"} +: ${msconvd_type="auto"} + +# doesn't make sense to run in a svcj: nojail keyword +# XXX: How does msconvd communiacte with the kernel? +# XXX: Does the kernel prevent this communcation in jails? +msconvd_svcj="NO" + +# Set the pid file and variable name. The second argument, if it exists, is +# expected to be the mouse device. +# +if [ -n "$2" ]; then + eval msconvd_$2_enable=\${msconvd_$2_enable-${msconvd_enable}} + rcvar="msconvd_$2_enable" + pidfile="${pidprefix}.$2.pid" +else + for ms in ${msconvd_ports}; do + /etc/rc.d/msconvd $1 ${ms} + done + exit 0 +fi + +msconvd_start() +{ + local ms myflags myport mytype + + # Set the mouse device and get any related variables. If + # a msconvd device has been specified on the commandline, then + # rc.conf(5) variables defined for that device take precedence + # over the generic msconvd_* variables. The only exception is + # the msconvd_port variable, which if not defined sets it to + # the passed in device name. + # + ms=$1 + eval myflags=\${msconvd_${ms}_flags-$msconvd_flags} + eval myport=\${msconvd_${ms}_port-/dev/${ms}} + eval mytype=\${msconvd_${ms}_type-$msconvd_type} + + startmsg -n "Starting ${ms} ${name}" + ${command} ${myflags} -p ${myport} -t ${mytype} -I ${pidfile} + startmsg '.' +} + +run_rc_command $* diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc index 5eea402c4526..a2fb28f1a186 100644 --- a/tools/build/mk/OptionalObsoleteFiles.inc +++ b/tools/build/mk/OptionalObsoleteFiles.inc @@ -3793,11 +3793,14 @@ OLD_FILES+=usr/share/man/man1/host.1.gz .endif .if ${MK_LEGACY_CONSOLE} == no +OLD_FILES+=etc/moused.conf OLD_FILES+=etc/rc.d/moused +OLD_FILES+=etc/rc.d/msconvd OLD_FILES+=etc/rc.d/syscons OLD_FILES+=usr/sbin/kbdcontrol OLD_FILES+=usr/sbin/kbdmap OLD_FILES+=usr/sbin/moused +OLD_FILES+=usr/sbin/msconvd OLD_FILES+=usr/sbin/vidcontrol OLD_FILES+=usr/sbin/vidfont OLD_FILES+=usr/share/man/man1/kbdcontrol.1.gz @@ -3806,7 +3809,11 @@ OLD_FILES+=usr/share/man/man1/vidcontrol.1.gz OLD_FILES+=usr/share/man/man1/vidfont.1.gz OLD_FILES+=usr/share/man/man5/kbdmap.5.gz OLD_FILES+=usr/share/man/man5/keymap.5.gz +OLD_FILES+=usr/share/man/man5/moused.conf.5.gz OLD_FILES+=usr/share/man/man8/moused.8.gz +OLD_FILES+=usr/share/man/man8/msconvd.8.gz +OLD_FILES+=usr/share/moused/5-generic-touchpad.quirks +OLD_DIRS+=usr/share/moused .endif .for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats} diff --git a/usr.sbin/moused/Makefile b/usr.sbin/moused/Makefile index 2a7aa0484542..b6319b6fef20 100644 --- a/usr.sbin/moused/Makefile +++ b/usr.sbin/moused/Makefile @@ -1,10 +1,4 @@ -PACKAGE= console-tools -PROG= moused -MAN= moused.8 +SUBDIR+=moused +SUBDIR+=msconvd -LIBADD= m util - -#BINMODE=4555 -#PRECIOUSPROG= - -.include +.include diff --git a/usr.sbin/moused/Makefile.depend b/usr.sbin/moused/Makefile.depend deleted file mode 100644 index af3b7054df7a..000000000000 --- a/usr.sbin/moused/Makefile.depend +++ /dev/null @@ -1,17 +0,0 @@ -# Autogenerated - do NOT edit! - -DIRDEPS = \ - include \ - include/xlocale \ - lib/${CSU_DIR} \ - lib/libc \ - lib/libcompiler_rt \ - lib/libutil \ - lib/msun \ - - -.include - -.if ${DEP_RELDIR} == ${_DEP_RELDIR} -# local dependencies - needed for -jN in clean tree -.endif diff --git a/usr.sbin/moused/moused/Makefile b/usr.sbin/moused/moused/Makefile new file mode 100644 index 000000000000..8479764b710b --- /dev/null +++ b/usr.sbin/moused/moused/Makefile @@ -0,0 +1,28 @@ +PACKAGE= console-tools +PROG= moused + +SRCS= moused.c \ + event-names.h \ + quirks.c \ + quirks.h \ + util.c \ + util.h \ + util-evdev.c \ + util-evdev.h \ + util-list.c \ + util-list.h +MAN= moused.8 \ + moused.conf.5 +CONFS= moused.conf +QUIRKS= 5-generic-touchpad.quirks + +CWARNFLAGS.quirks.c+= -Wno-cast-align -Wno-shadow -Wno-cast-qual \ + -Wno-unused-variable -Wno-unused-parameter +CWARNFLAGS.util.c+= -Wno-shadow +LIBADD= m util +BINDIR= /usr/sbin + +FILES= ${QUIRKS:S|^|quirks/|} +FILESDIR= /usr/share/${PROG} + +.include diff --git a/usr.sbin/moused/moused/event-names.h b/usr.sbin/moused/moused/event-names.h new file mode 100644 index 000000000000..05093a1d0db3 --- /dev/null +++ b/usr.sbin/moused/moused/event-names.h @@ -0,0 +1,1656 @@ +/* THIS FILE IS GENERATED, DO NOT EDIT */ + +#ifndef EVENT_NAMES_H +#define EVENT_NAMES_H + +static const char * const ev_map[EV_MAX + 1] = { + [EV_SYN] = "EV_SYN", + [EV_KEY] = "EV_KEY", + [EV_REL] = "EV_REL", + [EV_ABS] = "EV_ABS", + [EV_MSC] = "EV_MSC", + [EV_SW] = "EV_SW", + [EV_LED] = "EV_LED", + [EV_SND] = "EV_SND", + [EV_REP] = "EV_REP", + [EV_FF] = "EV_FF", + [EV_PWR] = "EV_PWR", + [EV_FF_STATUS] = "EV_FF_STATUS", + [EV_MAX] = "EV_MAX", +}; + +static const char * const rel_map[REL_MAX + 1] = { + [REL_X] = "REL_X", + [REL_Y] = "REL_Y", + [REL_Z] = "REL_Z", + [REL_RX] = "REL_RX", + [REL_RY] = "REL_RY", + [REL_RZ] = "REL_RZ", + [REL_HWHEEL] = "REL_HWHEEL", + [REL_DIAL] = "REL_DIAL", + [REL_WHEEL] = "REL_WHEEL", + [REL_MISC] = "REL_MISC", + [REL_RESERVED] = "REL_RESERVED", + [REL_WHEEL_HI_RES] = "REL_WHEEL_HI_RES", + [REL_HWHEEL_HI_RES] = "REL_HWHEEL_HI_RES", + [REL_MAX] = "REL_MAX", +}; + +static const char * const abs_map[ABS_MAX + 1] = { + [ABS_X] = "ABS_X", + [ABS_Y] = "ABS_Y", + [ABS_Z] = "ABS_Z", + [ABS_RX] = "ABS_RX", + [ABS_RY] = "ABS_RY", + [ABS_RZ] = "ABS_RZ", + [ABS_THROTTLE] = "ABS_THROTTLE", + [ABS_RUDDER] = "ABS_RUDDER", + [ABS_WHEEL] = "ABS_WHEEL", + [ABS_GAS] = "ABS_GAS", + [ABS_BRAKE] = "ABS_BRAKE", + [ABS_HAT0X] = "ABS_HAT0X", + [ABS_HAT0Y] = "ABS_HAT0Y", + [ABS_HAT1X] = "ABS_HAT1X", + [ABS_HAT1Y] = "ABS_HAT1Y", + [ABS_HAT2X] = "ABS_HAT2X", + [ABS_HAT2Y] = "ABS_HAT2Y", + [ABS_HAT3X] = "ABS_HAT3X", + [ABS_HAT3Y] = "ABS_HAT3Y", + [ABS_PRESSURE] = "ABS_PRESSURE", + [ABS_DISTANCE] = "ABS_DISTANCE", + [ABS_TILT_X] = "ABS_TILT_X", + [ABS_TILT_Y] = "ABS_TILT_Y", + [ABS_TOOL_WIDTH] = "ABS_TOOL_WIDTH", + [ABS_VOLUME] = "ABS_VOLUME", + // [ABS_PROFILE] = "ABS_PROFILE", + [ABS_MISC] = "ABS_MISC", + [ABS_RESERVED] = "ABS_RESERVED", + [ABS_MT_SLOT] = "ABS_MT_SLOT", + [ABS_MT_TOUCH_MAJOR] = "ABS_MT_TOUCH_MAJOR", + [ABS_MT_TOUCH_MINOR] = "ABS_MT_TOUCH_MINOR", + [ABS_MT_WIDTH_MAJOR] = "ABS_MT_WIDTH_MAJOR", + [ABS_MT_WIDTH_MINOR] = "ABS_MT_WIDTH_MINOR", + [ABS_MT_ORIENTATION] = "ABS_MT_ORIENTATION", + [ABS_MT_POSITION_X] = "ABS_MT_POSITION_X", + [ABS_MT_POSITION_Y] = "ABS_MT_POSITION_Y", + [ABS_MT_TOOL_TYPE] = "ABS_MT_TOOL_TYPE", + [ABS_MT_BLOB_ID] = "ABS_MT_BLOB_ID", + [ABS_MT_TRACKING_ID] = "ABS_MT_TRACKING_ID", + [ABS_MT_PRESSURE] = "ABS_MT_PRESSURE", + [ABS_MT_DISTANCE] = "ABS_MT_DISTANCE", + [ABS_MT_TOOL_X] = "ABS_MT_TOOL_X", + [ABS_MT_TOOL_Y] = "ABS_MT_TOOL_Y", + [ABS_MAX] = "ABS_MAX", +}; + +static const char * const key_map[KEY_MAX + 1] = { + [KEY_RESERVED] = "KEY_RESERVED", + [KEY_ESC] = "KEY_ESC", + [KEY_1] = "KEY_1", + [KEY_2] = "KEY_2", + [KEY_3] = "KEY_3", + [KEY_4] = "KEY_4", + [KEY_5] = "KEY_5", + [KEY_6] = "KEY_6", + [KEY_7] = "KEY_7", + [KEY_8] = "KEY_8", + [KEY_9] = "KEY_9", + [KEY_0] = "KEY_0", + [KEY_MINUS] = "KEY_MINUS", + [KEY_EQUAL] = "KEY_EQUAL", + [KEY_BACKSPACE] = "KEY_BACKSPACE", + [KEY_TAB] = "KEY_TAB", + [KEY_Q] = "KEY_Q", + [KEY_W] = "KEY_W", + [KEY_E] = "KEY_E", + [KEY_R] = "KEY_R", + [KEY_T] = "KEY_T", + [KEY_Y] = "KEY_Y", + [KEY_U] = "KEY_U", + [KEY_I] = "KEY_I", + [KEY_O] = "KEY_O", + [KEY_P] = "KEY_P", + [KEY_LEFTBRACE] = "KEY_LEFTBRACE", + [KEY_RIGHTBRACE] = "KEY_RIGHTBRACE", + [KEY_ENTER] = "KEY_ENTER", + [KEY_LEFTCTRL] = "KEY_LEFTCTRL", + [KEY_A] = "KEY_A", + [KEY_S] = "KEY_S", + [KEY_D] = "KEY_D", + [KEY_F] = "KEY_F", + [KEY_G] = "KEY_G", + [KEY_H] = "KEY_H", + [KEY_J] = "KEY_J", + [KEY_K] = "KEY_K", + [KEY_L] = "KEY_L", + [KEY_SEMICOLON] = "KEY_SEMICOLON", + [KEY_APOSTROPHE] = "KEY_APOSTROPHE", + [KEY_GRAVE] = "KEY_GRAVE", + [KEY_LEFTSHIFT] = "KEY_LEFTSHIFT", + [KEY_BACKSLASH] = "KEY_BACKSLASH", + [KEY_Z] = "KEY_Z", + [KEY_X] = "KEY_X", + [KEY_C] = "KEY_C", + [KEY_V] = "KEY_V", + [KEY_B] = "KEY_B", + [KEY_N] = "KEY_N", + [KEY_M] = "KEY_M", + [KEY_COMMA] = "KEY_COMMA", + [KEY_DOT] = "KEY_DOT", + [KEY_SLASH] = "KEY_SLASH", + [KEY_RIGHTSHIFT] = "KEY_RIGHTSHIFT", + [KEY_KPASTERISK] = "KEY_KPASTERISK", + [KEY_LEFTALT] = "KEY_LEFTALT", + [KEY_SPACE] = "KEY_SPACE", + [KEY_CAPSLOCK] = "KEY_CAPSLOCK", + [KEY_F1] = "KEY_F1", + [KEY_F2] = "KEY_F2", + [KEY_F3] = "KEY_F3", + [KEY_F4] = "KEY_F4", + [KEY_F5] = "KEY_F5", + [KEY_F6] = "KEY_F6", + [KEY_F7] = "KEY_F7", + [KEY_F8] = "KEY_F8", + [KEY_F9] = "KEY_F9", + [KEY_F10] = "KEY_F10", + [KEY_NUMLOCK] = "KEY_NUMLOCK", + [KEY_SCROLLLOCK] = "KEY_SCROLLLOCK", + [KEY_KP7] = "KEY_KP7", + [KEY_KP8] = "KEY_KP8", + [KEY_KP9] = "KEY_KP9", + [KEY_KPMINUS] = "KEY_KPMINUS", + [KEY_KP4] = "KEY_KP4", + [KEY_KP5] = "KEY_KP5", + [KEY_KP6] = "KEY_KP6", + [KEY_KPPLUS] = "KEY_KPPLUS", + [KEY_KP1] = "KEY_KP1", + [KEY_KP2] = "KEY_KP2", + [KEY_KP3] = "KEY_KP3", + [KEY_KP0] = "KEY_KP0", + [KEY_KPDOT] = "KEY_KPDOT", + [KEY_ZENKAKUHANKAKU] = "KEY_ZENKAKUHANKAKU", + [KEY_102ND] = "KEY_102ND", + [KEY_F11] = "KEY_F11", + [KEY_F12] = "KEY_F12", + [KEY_RO] = "KEY_RO", + [KEY_KATAKANA] = "KEY_KATAKANA", + [KEY_HIRAGANA] = "KEY_HIRAGANA", + [KEY_HENKAN] = "KEY_HENKAN", + [KEY_KATAKANAHIRAGANA] = "KEY_KATAKANAHIRAGANA", + [KEY_MUHENKAN] = "KEY_MUHENKAN", + [KEY_KPJPCOMMA] = "KEY_KPJPCOMMA", + [KEY_KPENTER] = "KEY_KPENTER", + [KEY_RIGHTCTRL] = "KEY_RIGHTCTRL", + [KEY_KPSLASH] = "KEY_KPSLASH", + [KEY_SYSRQ] = "KEY_SYSRQ", + [KEY_RIGHTALT] = "KEY_RIGHTALT", + [KEY_LINEFEED] = "KEY_LINEFEED", + [KEY_HOME] = "KEY_HOME", + [KEY_UP] = "KEY_UP", + [KEY_PAGEUP] = "KEY_PAGEUP", + [KEY_LEFT] = "KEY_LEFT", + [KEY_RIGHT] = "KEY_RIGHT", + [KEY_END] = "KEY_END", + [KEY_DOWN] = "KEY_DOWN", + [KEY_PAGEDOWN] = "KEY_PAGEDOWN", + [KEY_INSERT] = "KEY_INSERT", + [KEY_DELETE] = "KEY_DELETE", + [KEY_MACRO] = "KEY_MACRO", + [KEY_MUTE] = "KEY_MUTE", + [KEY_VOLUMEDOWN] = "KEY_VOLUMEDOWN", + [KEY_VOLUMEUP] = "KEY_VOLUMEUP", + [KEY_POWER] = "KEY_POWER", + [KEY_KPEQUAL] = "KEY_KPEQUAL", + [KEY_KPPLUSMINUS] = "KEY_KPPLUSMINUS", + [KEY_PAUSE] = "KEY_PAUSE", + [KEY_SCALE] = "KEY_SCALE", + [KEY_KPCOMMA] = "KEY_KPCOMMA", + [KEY_HANGEUL] = "KEY_HANGEUL", + [KEY_HANJA] = "KEY_HANJA", + [KEY_YEN] = "KEY_YEN", + [KEY_LEFTMETA] = "KEY_LEFTMETA", + [KEY_RIGHTMETA] = "KEY_RIGHTMETA", + [KEY_COMPOSE] = "KEY_COMPOSE", + [KEY_STOP] = "KEY_STOP", + [KEY_AGAIN] = "KEY_AGAIN", + [KEY_PROPS] = "KEY_PROPS", + [KEY_UNDO] = "KEY_UNDO", + [KEY_FRONT] = "KEY_FRONT", + [KEY_COPY] = "KEY_COPY", + [KEY_OPEN] = "KEY_OPEN", + [KEY_PASTE] = "KEY_PASTE", + [KEY_FIND] = "KEY_FIND", + [KEY_CUT] = "KEY_CUT", + [KEY_HELP] = "KEY_HELP", + [KEY_MENU] = "KEY_MENU", + [KEY_CALC] = "KEY_CALC", + [KEY_SETUP] = "KEY_SETUP", + [KEY_SLEEP] = "KEY_SLEEP", + [KEY_WAKEUP] = "KEY_WAKEUP", + [KEY_FILE] = "KEY_FILE", + [KEY_SENDFILE] = "KEY_SENDFILE", + [KEY_DELETEFILE] = "KEY_DELETEFILE", + [KEY_XFER] = "KEY_XFER", + [KEY_PROG1] = "KEY_PROG1", + [KEY_PROG2] = "KEY_PROG2", + [KEY_WWW] = "KEY_WWW", + [KEY_MSDOS] = "KEY_MSDOS", + [KEY_COFFEE] = "KEY_COFFEE", + [KEY_ROTATE_DISPLAY] = "KEY_ROTATE_DISPLAY", + [KEY_CYCLEWINDOWS] = "KEY_CYCLEWINDOWS", + [KEY_MAIL] = "KEY_MAIL", + [KEY_BOOKMARKS] = "KEY_BOOKMARKS", + [KEY_COMPUTER] = "KEY_COMPUTER", + [KEY_BACK] = "KEY_BACK", + [KEY_FORWARD] = "KEY_FORWARD", + [KEY_CLOSECD] = "KEY_CLOSECD", + [KEY_EJECTCD] = "KEY_EJECTCD", + [KEY_EJECTCLOSECD] = "KEY_EJECTCLOSECD", + [KEY_NEXTSONG] = "KEY_NEXTSONG", + [KEY_PLAYPAUSE] = "KEY_PLAYPAUSE", + [KEY_PREVIOUSSONG] = "KEY_PREVIOUSSONG", + [KEY_STOPCD] = "KEY_STOPCD", + [KEY_RECORD] = "KEY_RECORD", + [KEY_REWIND] = "KEY_REWIND", + [KEY_PHONE] = "KEY_PHONE", + [KEY_ISO] = "KEY_ISO", + [KEY_CONFIG] = "KEY_CONFIG", + [KEY_HOMEPAGE] = "KEY_HOMEPAGE", + [KEY_REFRESH] = "KEY_REFRESH", + [KEY_EXIT] = "KEY_EXIT", + [KEY_MOVE] = "KEY_MOVE", + [KEY_EDIT] = "KEY_EDIT", + [KEY_SCROLLUP] = "KEY_SCROLLUP", + [KEY_SCROLLDOWN] = "KEY_SCROLLDOWN", + [KEY_KPLEFTPAREN] = "KEY_KPLEFTPAREN", + [KEY_KPRIGHTPAREN] = "KEY_KPRIGHTPAREN", + [KEY_NEW] = "KEY_NEW", + [KEY_REDO] = "KEY_REDO", + [KEY_F13] = "KEY_F13", + [KEY_F14] = "KEY_F14", + [KEY_F15] = "KEY_F15", + [KEY_F16] = "KEY_F16", + [KEY_F17] = "KEY_F17", + [KEY_F18] = "KEY_F18", + [KEY_F19] = "KEY_F19", + [KEY_F20] = "KEY_F20", + [KEY_F21] = "KEY_F21", + [KEY_F22] = "KEY_F22", + [KEY_F23] = "KEY_F23", + [KEY_F24] = "KEY_F24", + [KEY_PLAYCD] = "KEY_PLAYCD", + [KEY_PAUSECD] = "KEY_PAUSECD", + [KEY_PROG3] = "KEY_PROG3", + [KEY_PROG4] = "KEY_PROG4", + // [KEY_ALL_APPLICATIONS] = "KEY_ALL_APPLICATIONS", + [KEY_SUSPEND] = "KEY_SUSPEND", + [KEY_CLOSE] = "KEY_CLOSE", + [KEY_PLAY] = "KEY_PLAY", + [KEY_FASTFORWARD] = "KEY_FASTFORWARD", + [KEY_BASSBOOST] = "KEY_BASSBOOST", + [KEY_PRINT] = "KEY_PRINT", + [KEY_HP] = "KEY_HP", + [KEY_CAMERA] = "KEY_CAMERA", + [KEY_SOUND] = "KEY_SOUND", + [KEY_QUESTION] = "KEY_QUESTION", + [KEY_EMAIL] = "KEY_EMAIL", + [KEY_CHAT] = "KEY_CHAT", + [KEY_SEARCH] = "KEY_SEARCH", + [KEY_CONNECT] = "KEY_CONNECT", + [KEY_FINANCE] = "KEY_FINANCE", + [KEY_SPORT] = "KEY_SPORT", + [KEY_SHOP] = "KEY_SHOP", + [KEY_ALTERASE] = "KEY_ALTERASE", + [KEY_CANCEL] = "KEY_CANCEL", + [KEY_BRIGHTNESSDOWN] = "KEY_BRIGHTNESSDOWN", + [KEY_BRIGHTNESSUP] = "KEY_BRIGHTNESSUP", + [KEY_MEDIA] = "KEY_MEDIA", + [KEY_SWITCHVIDEOMODE] = "KEY_SWITCHVIDEOMODE", + [KEY_KBDILLUMTOGGLE] = "KEY_KBDILLUMTOGGLE", + [KEY_KBDILLUMDOWN] = "KEY_KBDILLUMDOWN", + [KEY_KBDILLUMUP] = "KEY_KBDILLUMUP", + [KEY_SEND] = "KEY_SEND", + [KEY_REPLY] = "KEY_REPLY", + [KEY_FORWARDMAIL] = "KEY_FORWARDMAIL", + [KEY_SAVE] = "KEY_SAVE", + [KEY_DOCUMENTS] = "KEY_DOCUMENTS", + [KEY_BATTERY] = "KEY_BATTERY", + [KEY_BLUETOOTH] = "KEY_BLUETOOTH", + [KEY_WLAN] = "KEY_WLAN", + [KEY_UWB] = "KEY_UWB", + [KEY_UNKNOWN] = "KEY_UNKNOWN", + [KEY_VIDEO_NEXT] = "KEY_VIDEO_NEXT", + [KEY_VIDEO_PREV] = "KEY_VIDEO_PREV", + [KEY_BRIGHTNESS_CYCLE] = "KEY_BRIGHTNESS_CYCLE", + [KEY_BRIGHTNESS_AUTO] = "KEY_BRIGHTNESS_AUTO", + [KEY_DISPLAY_OFF] = "KEY_DISPLAY_OFF", + [KEY_WWAN] = "KEY_WWAN", + [KEY_RFKILL] = "KEY_RFKILL", + [KEY_MICMUTE] = "KEY_MICMUTE", + [KEY_OK] = "KEY_OK", + [KEY_SELECT] = "KEY_SELECT", + [KEY_GOTO] = "KEY_GOTO", + [KEY_CLEAR] = "KEY_CLEAR", + [KEY_POWER2] = "KEY_POWER2", + [KEY_OPTION] = "KEY_OPTION", + [KEY_INFO] = "KEY_INFO", + [KEY_TIME] = "KEY_TIME", + [KEY_VENDOR] = "KEY_VENDOR", + [KEY_ARCHIVE] = "KEY_ARCHIVE", + [KEY_PROGRAM] = "KEY_PROGRAM", + [KEY_CHANNEL] = "KEY_CHANNEL", + [KEY_FAVORITES] = "KEY_FAVORITES", + [KEY_EPG] = "KEY_EPG", + [KEY_PVR] = "KEY_PVR", + [KEY_MHP] = "KEY_MHP", + [KEY_LANGUAGE] = "KEY_LANGUAGE", + [KEY_TITLE] = "KEY_TITLE", + [KEY_SUBTITLE] = "KEY_SUBTITLE", + [KEY_ANGLE] = "KEY_ANGLE", + [KEY_FULL_SCREEN] = "KEY_FULL_SCREEN", + [KEY_MODE] = "KEY_MODE", + [KEY_KEYBOARD] = "KEY_KEYBOARD", + [KEY_ASPECT_RATIO] = "KEY_ASPECT_RATIO", + [KEY_PC] = "KEY_PC", + [KEY_TV] = "KEY_TV", + [KEY_TV2] = "KEY_TV2", + [KEY_VCR] = "KEY_VCR", + [KEY_VCR2] = "KEY_VCR2", + [KEY_SAT] = "KEY_SAT", + [KEY_SAT2] = "KEY_SAT2", + [KEY_CD] = "KEY_CD", + [KEY_TAPE] = "KEY_TAPE", + [KEY_RADIO] = "KEY_RADIO", + [KEY_TUNER] = "KEY_TUNER", + [KEY_PLAYER] = "KEY_PLAYER", + [KEY_TEXT] = "KEY_TEXT", + [KEY_DVD] = "KEY_DVD", + [KEY_AUX] = "KEY_AUX", + [KEY_MP3] = "KEY_MP3", + [KEY_AUDIO] = "KEY_AUDIO", + [KEY_VIDEO] = "KEY_VIDEO", + [KEY_DIRECTORY] = "KEY_DIRECTORY", + [KEY_LIST] = "KEY_LIST", + [KEY_MEMO] = "KEY_MEMO", + [KEY_CALENDAR] = "KEY_CALENDAR", + [KEY_RED] = "KEY_RED", + [KEY_GREEN] = "KEY_GREEN", + [KEY_YELLOW] = "KEY_YELLOW", + [KEY_BLUE] = "KEY_BLUE", + [KEY_CHANNELUP] = "KEY_CHANNELUP", + [KEY_CHANNELDOWN] = "KEY_CHANNELDOWN", + [KEY_FIRST] = "KEY_FIRST", + [KEY_LAST] = "KEY_LAST", + [KEY_AB] = "KEY_AB", + [KEY_NEXT] = "KEY_NEXT", + [KEY_RESTART] = "KEY_RESTART", + [KEY_SLOW] = "KEY_SLOW", + [KEY_SHUFFLE] = "KEY_SHUFFLE", + [KEY_BREAK] = "KEY_BREAK", + [KEY_PREVIOUS] = "KEY_PREVIOUS", + [KEY_DIGITS] = "KEY_DIGITS", + [KEY_TEEN] = "KEY_TEEN", + [KEY_TWEN] = "KEY_TWEN", + [KEY_VIDEOPHONE] = "KEY_VIDEOPHONE", + [KEY_GAMES] = "KEY_GAMES", + [KEY_ZOOMIN] = "KEY_ZOOMIN", + [KEY_ZOOMOUT] = "KEY_ZOOMOUT", + [KEY_ZOOMRESET] = "KEY_ZOOMRESET", + [KEY_WORDPROCESSOR] = "KEY_WORDPROCESSOR", + [KEY_EDITOR] = "KEY_EDITOR", + [KEY_SPREADSHEET] = "KEY_SPREADSHEET", + [KEY_GRAPHICSEDITOR] = "KEY_GRAPHICSEDITOR", + [KEY_PRESENTATION] = "KEY_PRESENTATION", + [KEY_DATABASE] = "KEY_DATABASE", + [KEY_NEWS] = "KEY_NEWS", + [KEY_VOICEMAIL] = "KEY_VOICEMAIL", + [KEY_ADDRESSBOOK] = "KEY_ADDRESSBOOK", + [KEY_MESSENGER] = "KEY_MESSENGER", + [KEY_DISPLAYTOGGLE] = "KEY_DISPLAYTOGGLE", + [KEY_SPELLCHECK] = "KEY_SPELLCHECK", + [KEY_LOGOFF] = "KEY_LOGOFF", + [KEY_DOLLAR] = "KEY_DOLLAR", + [KEY_EURO] = "KEY_EURO", + [KEY_FRAMEBACK] = "KEY_FRAMEBACK", + [KEY_FRAMEFORWARD] = "KEY_FRAMEFORWARD", + [KEY_CONTEXT_MENU] = "KEY_CONTEXT_MENU", + [KEY_MEDIA_REPEAT] = "KEY_MEDIA_REPEAT", + [KEY_10CHANNELSUP] = "KEY_10CHANNELSUP", + [KEY_10CHANNELSDOWN] = "KEY_10CHANNELSDOWN", + [KEY_IMAGES] = "KEY_IMAGES", + // [KEY_NOTIFICATION_CENTER] = "KEY_NOTIFICATION_CENTER", + // [KEY_PICKUP_PHONE] = "KEY_PICKUP_PHONE", + // [KEY_HANGUP_PHONE] = "KEY_HANGUP_PHONE", + [KEY_DEL_EOL] = "KEY_DEL_EOL", + [KEY_DEL_EOS] = "KEY_DEL_EOS", + [KEY_INS_LINE] = "KEY_INS_LINE", + [KEY_DEL_LINE] = "KEY_DEL_LINE", + [KEY_FN] = "KEY_FN", + [KEY_FN_ESC] = "KEY_FN_ESC", + [KEY_FN_F1] = "KEY_FN_F1", + [KEY_FN_F2] = "KEY_FN_F2", + [KEY_FN_F3] = "KEY_FN_F3", + [KEY_FN_F4] = "KEY_FN_F4", + [KEY_FN_F5] = "KEY_FN_F5", + [KEY_FN_F6] = "KEY_FN_F6", + [KEY_FN_F7] = "KEY_FN_F7", + [KEY_FN_F8] = "KEY_FN_F8", + [KEY_FN_F9] = "KEY_FN_F9", + [KEY_FN_F10] = "KEY_FN_F10", + [KEY_FN_F11] = "KEY_FN_F11", + [KEY_FN_F12] = "KEY_FN_F12", + [KEY_FN_1] = "KEY_FN_1", + [KEY_FN_2] = "KEY_FN_2", + [KEY_FN_D] = "KEY_FN_D", + [KEY_FN_E] = "KEY_FN_E", + [KEY_FN_F] = "KEY_FN_F", + [KEY_FN_S] = "KEY_FN_S", + [KEY_FN_B] = "KEY_FN_B", + // [KEY_FN_RIGHT_SHIFT] = "KEY_FN_RIGHT_SHIFT", + [KEY_BRL_DOT1] = "KEY_BRL_DOT1", + [KEY_BRL_DOT2] = "KEY_BRL_DOT2", + [KEY_BRL_DOT3] = "KEY_BRL_DOT3", + [KEY_BRL_DOT4] = "KEY_BRL_DOT4", + [KEY_BRL_DOT5] = "KEY_BRL_DOT5", + [KEY_BRL_DOT6] = "KEY_BRL_DOT6", + [KEY_BRL_DOT7] = "KEY_BRL_DOT7", + [KEY_BRL_DOT8] = "KEY_BRL_DOT8", + [KEY_BRL_DOT9] = "KEY_BRL_DOT9", + [KEY_BRL_DOT10] = "KEY_BRL_DOT10", + [KEY_NUMERIC_0] = "KEY_NUMERIC_0", + [KEY_NUMERIC_1] = "KEY_NUMERIC_1", + [KEY_NUMERIC_2] = "KEY_NUMERIC_2", + [KEY_NUMERIC_3] = "KEY_NUMERIC_3", + [KEY_NUMERIC_4] = "KEY_NUMERIC_4", + [KEY_NUMERIC_5] = "KEY_NUMERIC_5", + [KEY_NUMERIC_6] = "KEY_NUMERIC_6", + [KEY_NUMERIC_7] = "KEY_NUMERIC_7", + [KEY_NUMERIC_8] = "KEY_NUMERIC_8", + [KEY_NUMERIC_9] = "KEY_NUMERIC_9", + [KEY_NUMERIC_STAR] = "KEY_NUMERIC_STAR", + [KEY_NUMERIC_POUND] = "KEY_NUMERIC_POUND", + [KEY_NUMERIC_A] = "KEY_NUMERIC_A", + [KEY_NUMERIC_B] = "KEY_NUMERIC_B", + [KEY_NUMERIC_C] = "KEY_NUMERIC_C", + [KEY_NUMERIC_D] = "KEY_NUMERIC_D", + [KEY_CAMERA_FOCUS] = "KEY_CAMERA_FOCUS", + [KEY_WPS_BUTTON] = "KEY_WPS_BUTTON", + [KEY_TOUCHPAD_TOGGLE] = "KEY_TOUCHPAD_TOGGLE", + [KEY_TOUCHPAD_ON] = "KEY_TOUCHPAD_ON", + [KEY_TOUCHPAD_OFF] = "KEY_TOUCHPAD_OFF", + [KEY_CAMERA_ZOOMIN] = "KEY_CAMERA_ZOOMIN", + [KEY_CAMERA_ZOOMOUT] = "KEY_CAMERA_ZOOMOUT", + [KEY_CAMERA_UP] = "KEY_CAMERA_UP", + [KEY_CAMERA_DOWN] = "KEY_CAMERA_DOWN", + [KEY_CAMERA_LEFT] = "KEY_CAMERA_LEFT", + [KEY_CAMERA_RIGHT] = "KEY_CAMERA_RIGHT", + [KEY_ATTENDANT_ON] = "KEY_ATTENDANT_ON", + [KEY_ATTENDANT_OFF] = "KEY_ATTENDANT_OFF", + [KEY_ATTENDANT_TOGGLE] = "KEY_ATTENDANT_TOGGLE", + [KEY_LIGHTS_TOGGLE] = "KEY_LIGHTS_TOGGLE", + [KEY_ALS_TOGGLE] = "KEY_ALS_TOGGLE", + [KEY_ROTATE_LOCK_TOGGLE] = "KEY_ROTATE_LOCK_TOGGLE", + [KEY_BUTTONCONFIG] = "KEY_BUTTONCONFIG", + [KEY_TASKMANAGER] = "KEY_TASKMANAGER", + [KEY_JOURNAL] = "KEY_JOURNAL", + [KEY_CONTROLPANEL] = "KEY_CONTROLPANEL", + [KEY_APPSELECT] = "KEY_APPSELECT", + [KEY_SCREENSAVER] = "KEY_SCREENSAVER", + [KEY_VOICECOMMAND] = "KEY_VOICECOMMAND", + [KEY_ASSISTANT] = "KEY_ASSISTANT", + [KEY_KBD_LAYOUT_NEXT] = "KEY_KBD_LAYOUT_NEXT", + // [KEY_EMOJI_PICKER] = "KEY_EMOJI_PICKER", + //[KEY_DICTATE] = "KEY_DICTATE", + //[KEY_CAMERA_ACCESS_ENABLE] = "KEY_CAMERA_ACCESS_ENABLE", + //[KEY_CAMERA_ACCESS_DISABLE] = "KEY_CAMERA_ACCESS_DISABLE", + //[KEY_CAMERA_ACCESS_TOGGLE] = "KEY_CAMERA_ACCESS_TOGGLE", + [KEY_BRIGHTNESS_MIN] = "KEY_BRIGHTNESS_MIN", + [KEY_BRIGHTNESS_MAX] = "KEY_BRIGHTNESS_MAX", + [KEY_KBDINPUTASSIST_PREV] = "KEY_KBDINPUTASSIST_PREV", + [KEY_KBDINPUTASSIST_NEXT] = "KEY_KBDINPUTASSIST_NEXT", + [KEY_KBDINPUTASSIST_PREVGROUP] = "KEY_KBDINPUTASSIST_PREVGROUP", + [KEY_KBDINPUTASSIST_NEXTGROUP] = "KEY_KBDINPUTASSIST_NEXTGROUP", + [KEY_KBDINPUTASSIST_ACCEPT] = "KEY_KBDINPUTASSIST_ACCEPT", + [KEY_KBDINPUTASSIST_CANCEL] = "KEY_KBDINPUTASSIST_CANCEL", + [KEY_RIGHT_UP] = "KEY_RIGHT_UP", + [KEY_RIGHT_DOWN] = "KEY_RIGHT_DOWN", + [KEY_LEFT_UP] = "KEY_LEFT_UP", + [KEY_LEFT_DOWN] = "KEY_LEFT_DOWN", + [KEY_ROOT_MENU] = "KEY_ROOT_MENU", + [KEY_MEDIA_TOP_MENU] = "KEY_MEDIA_TOP_MENU", + [KEY_NUMERIC_11] = "KEY_NUMERIC_11", + [KEY_NUMERIC_12] = "KEY_NUMERIC_12", + [KEY_AUDIO_DESC] = "KEY_AUDIO_DESC", + [KEY_3D_MODE] = "KEY_3D_MODE", + [KEY_NEXT_FAVORITE] = "KEY_NEXT_FAVORITE", + [KEY_STOP_RECORD] = "KEY_STOP_RECORD", + [KEY_PAUSE_RECORD] = "KEY_PAUSE_RECORD", + [KEY_VOD] = "KEY_VOD", + [KEY_UNMUTE] = "KEY_UNMUTE", + [KEY_FASTREVERSE] = "KEY_FASTREVERSE", + [KEY_SLOWREVERSE] = "KEY_SLOWREVERSE", + [KEY_DATA] = "KEY_DATA", + [KEY_ONSCREEN_KEYBOARD] = "KEY_ONSCREEN_KEYBOARD", + [KEY_PRIVACY_SCREEN_TOGGLE] = "KEY_PRIVACY_SCREEN_TOGGLE", + [KEY_SELECTIVE_SCREENSHOT] = "KEY_SELECTIVE_SCREENSHOT", + // [KEY_NEXT_ELEMENT] = "KEY_NEXT_ELEMENT", + // [KEY_PREVIOUS_ELEMENT] = "KEY_PREVIOUS_ELEMENT", + // [KEY_AUTOPILOT_ENGAGE_TOGGLE] = "KEY_AUTOPILOT_ENGAGE_TOGGLE", + // [KEY_MARK_WAYPOINT] = "KEY_MARK_WAYPOINT", + // [KEY_SOS] = "KEY_SOS", + // [KEY_NAV_CHART] = "KEY_NAV_CHART", + // [KEY_FISHING_CHART] = "KEY_FISHING_CHART", + // [KEY_SINGLE_RANGE_RADAR] = "KEY_SINGLE_RANGE_RADAR", + // [KEY_DUAL_RANGE_RADAR] = "KEY_DUAL_RANGE_RADAR", + // [KEY_RADAR_OVERLAY] = "KEY_RADAR_OVERLAY", + // [KEY_TRADITIONAL_SONAR] = "KEY_TRADITIONAL_SONAR", + // [KEY_CLEARVU_SONAR] = "KEY_CLEARVU_SONAR", + // [KEY_SIDEVU_SONAR] = "KEY_SIDEVU_SONAR", + // [KEY_NAV_INFO] = "KEY_NAV_INFO", + // [KEY_BRIGHTNESS_MENU] = "KEY_BRIGHTNESS_MENU", + [KEY_MACRO1] = "KEY_MACRO1", + [KEY_MACRO2] = "KEY_MACRO2", + [KEY_MACRO3] = "KEY_MACRO3", + [KEY_MACRO4] = "KEY_MACRO4", + [KEY_MACRO5] = "KEY_MACRO5", + [KEY_MACRO6] = "KEY_MACRO6", + [KEY_MACRO7] = "KEY_MACRO7", + [KEY_MACRO8] = "KEY_MACRO8", + [KEY_MACRO9] = "KEY_MACRO9", + [KEY_MACRO10] = "KEY_MACRO10", + [KEY_MACRO11] = "KEY_MACRO11", + [KEY_MACRO12] = "KEY_MACRO12", + [KEY_MACRO13] = "KEY_MACRO13", + [KEY_MACRO14] = "KEY_MACRO14", + [KEY_MACRO15] = "KEY_MACRO15", + [KEY_MACRO16] = "KEY_MACRO16", + [KEY_MACRO17] = "KEY_MACRO17", + [KEY_MACRO18] = "KEY_MACRO18", + [KEY_MACRO19] = "KEY_MACRO19", + [KEY_MACRO20] = "KEY_MACRO20", + [KEY_MACRO21] = "KEY_MACRO21", + [KEY_MACRO22] = "KEY_MACRO22", + [KEY_MACRO23] = "KEY_MACRO23", + [KEY_MACRO24] = "KEY_MACRO24", + [KEY_MACRO25] = "KEY_MACRO25", + [KEY_MACRO26] = "KEY_MACRO26", + [KEY_MACRO27] = "KEY_MACRO27", + [KEY_MACRO28] = "KEY_MACRO28", + [KEY_MACRO29] = "KEY_MACRO29", + [KEY_MACRO30] = "KEY_MACRO30", + [KEY_MACRO_RECORD_START] = "KEY_MACRO_RECORD_START", + [KEY_MACRO_RECORD_STOP] = "KEY_MACRO_RECORD_STOP", + [KEY_MACRO_PRESET_CYCLE] = "KEY_MACRO_PRESET_CYCLE", + [KEY_MACRO_PRESET1] = "KEY_MACRO_PRESET1", + [KEY_MACRO_PRESET2] = "KEY_MACRO_PRESET2", + [KEY_MACRO_PRESET3] = "KEY_MACRO_PRESET3", + [KEY_KBD_LCD_MENU1] = "KEY_KBD_LCD_MENU1", + [KEY_KBD_LCD_MENU2] = "KEY_KBD_LCD_MENU2", + [KEY_KBD_LCD_MENU3] = "KEY_KBD_LCD_MENU3", + [KEY_KBD_LCD_MENU4] = "KEY_KBD_LCD_MENU4", + [KEY_KBD_LCD_MENU5] = "KEY_KBD_LCD_MENU5", + [KEY_MAX] = "KEY_MAX", + [BTN_0] = "BTN_0", + [BTN_1] = "BTN_1", + [BTN_2] = "BTN_2", + [BTN_3] = "BTN_3", + [BTN_4] = "BTN_4", + [BTN_5] = "BTN_5", + [BTN_6] = "BTN_6", + [BTN_7] = "BTN_7", + [BTN_8] = "BTN_8", + [BTN_9] = "BTN_9", + [BTN_LEFT] = "BTN_LEFT", + [BTN_RIGHT] = "BTN_RIGHT", + [BTN_MIDDLE] = "BTN_MIDDLE", + [BTN_SIDE] = "BTN_SIDE", + [BTN_EXTRA] = "BTN_EXTRA", + [BTN_FORWARD] = "BTN_FORWARD", + [BTN_BACK] = "BTN_BACK", + [BTN_TASK] = "BTN_TASK", + [BTN_TRIGGER] = "BTN_TRIGGER", + [BTN_THUMB] = "BTN_THUMB", + [BTN_THUMB2] = "BTN_THUMB2", + [BTN_TOP] = "BTN_TOP", + [BTN_TOP2] = "BTN_TOP2", + [BTN_PINKIE] = "BTN_PINKIE", + [BTN_BASE] = "BTN_BASE", + [BTN_BASE2] = "BTN_BASE2", + [BTN_BASE3] = "BTN_BASE3", + [BTN_BASE4] = "BTN_BASE4", + [BTN_BASE5] = "BTN_BASE5", + [BTN_BASE6] = "BTN_BASE6", + [BTN_DEAD] = "BTN_DEAD", + [BTN_SOUTH] = "BTN_SOUTH", + [BTN_EAST] = "BTN_EAST", + [BTN_C] = "BTN_C", + [BTN_NORTH] = "BTN_NORTH", + [BTN_WEST] = "BTN_WEST", + [BTN_Z] = "BTN_Z", + [BTN_TL] = "BTN_TL", + [BTN_TR] = "BTN_TR", + [BTN_TL2] = "BTN_TL2", + [BTN_TR2] = "BTN_TR2", + [BTN_SELECT] = "BTN_SELECT", + [BTN_START] = "BTN_START", + [BTN_MODE] = "BTN_MODE", + [BTN_THUMBL] = "BTN_THUMBL", + [BTN_THUMBR] = "BTN_THUMBR", + [BTN_TOOL_PEN] = "BTN_TOOL_PEN", + [BTN_TOOL_RUBBER] = "BTN_TOOL_RUBBER", + [BTN_TOOL_BRUSH] = "BTN_TOOL_BRUSH", + [BTN_TOOL_PENCIL] = "BTN_TOOL_PENCIL", + [BTN_TOOL_AIRBRUSH] = "BTN_TOOL_AIRBRUSH", + [BTN_TOOL_FINGER] = "BTN_TOOL_FINGER", + [BTN_TOOL_MOUSE] = "BTN_TOOL_MOUSE", + [BTN_TOOL_LENS] = "BTN_TOOL_LENS", + [BTN_TOOL_QUINTTAP] = "BTN_TOOL_QUINTTAP", + [BTN_STYLUS3] = "BTN_STYLUS3", + [BTN_TOUCH] = "BTN_TOUCH", + [BTN_STYLUS] = "BTN_STYLUS", + [BTN_STYLUS2] = "BTN_STYLUS2", + [BTN_TOOL_DOUBLETAP] = "BTN_TOOL_DOUBLETAP", + [BTN_TOOL_TRIPLETAP] = "BTN_TOOL_TRIPLETAP", + [BTN_TOOL_QUADTAP] = "BTN_TOOL_QUADTAP", + [BTN_GEAR_DOWN] = "BTN_GEAR_DOWN", + [BTN_GEAR_UP] = "BTN_GEAR_UP", + [BTN_DPAD_UP] = "BTN_DPAD_UP", + [BTN_DPAD_DOWN] = "BTN_DPAD_DOWN", + [BTN_DPAD_LEFT] = "BTN_DPAD_LEFT", + [BTN_DPAD_RIGHT] = "BTN_DPAD_RIGHT", + [BTN_TRIGGER_HAPPY1] = "BTN_TRIGGER_HAPPY1", + [BTN_TRIGGER_HAPPY2] = "BTN_TRIGGER_HAPPY2", + [BTN_TRIGGER_HAPPY3] = "BTN_TRIGGER_HAPPY3", + [BTN_TRIGGER_HAPPY4] = "BTN_TRIGGER_HAPPY4", + [BTN_TRIGGER_HAPPY5] = "BTN_TRIGGER_HAPPY5", + [BTN_TRIGGER_HAPPY6] = "BTN_TRIGGER_HAPPY6", + [BTN_TRIGGER_HAPPY7] = "BTN_TRIGGER_HAPPY7", + [BTN_TRIGGER_HAPPY8] = "BTN_TRIGGER_HAPPY8", + [BTN_TRIGGER_HAPPY9] = "BTN_TRIGGER_HAPPY9", + [BTN_TRIGGER_HAPPY10] = "BTN_TRIGGER_HAPPY10", + [BTN_TRIGGER_HAPPY11] = "BTN_TRIGGER_HAPPY11", + [BTN_TRIGGER_HAPPY12] = "BTN_TRIGGER_HAPPY12", + [BTN_TRIGGER_HAPPY13] = "BTN_TRIGGER_HAPPY13", + [BTN_TRIGGER_HAPPY14] = "BTN_TRIGGER_HAPPY14", + [BTN_TRIGGER_HAPPY15] = "BTN_TRIGGER_HAPPY15", + [BTN_TRIGGER_HAPPY16] = "BTN_TRIGGER_HAPPY16", + [BTN_TRIGGER_HAPPY17] = "BTN_TRIGGER_HAPPY17", + [BTN_TRIGGER_HAPPY18] = "BTN_TRIGGER_HAPPY18", + [BTN_TRIGGER_HAPPY19] = "BTN_TRIGGER_HAPPY19", + [BTN_TRIGGER_HAPPY20] = "BTN_TRIGGER_HAPPY20", + [BTN_TRIGGER_HAPPY21] = "BTN_TRIGGER_HAPPY21", + [BTN_TRIGGER_HAPPY22] = "BTN_TRIGGER_HAPPY22", + [BTN_TRIGGER_HAPPY23] = "BTN_TRIGGER_HAPPY23", + [BTN_TRIGGER_HAPPY24] = "BTN_TRIGGER_HAPPY24", + [BTN_TRIGGER_HAPPY25] = "BTN_TRIGGER_HAPPY25", + [BTN_TRIGGER_HAPPY26] = "BTN_TRIGGER_HAPPY26", + [BTN_TRIGGER_HAPPY27] = "BTN_TRIGGER_HAPPY27", + [BTN_TRIGGER_HAPPY28] = "BTN_TRIGGER_HAPPY28", + [BTN_TRIGGER_HAPPY29] = "BTN_TRIGGER_HAPPY29", + [BTN_TRIGGER_HAPPY30] = "BTN_TRIGGER_HAPPY30", + [BTN_TRIGGER_HAPPY31] = "BTN_TRIGGER_HAPPY31", + [BTN_TRIGGER_HAPPY32] = "BTN_TRIGGER_HAPPY32", + [BTN_TRIGGER_HAPPY33] = "BTN_TRIGGER_HAPPY33", + [BTN_TRIGGER_HAPPY34] = "BTN_TRIGGER_HAPPY34", + [BTN_TRIGGER_HAPPY35] = "BTN_TRIGGER_HAPPY35", + [BTN_TRIGGER_HAPPY36] = "BTN_TRIGGER_HAPPY36", + [BTN_TRIGGER_HAPPY37] = "BTN_TRIGGER_HAPPY37", + [BTN_TRIGGER_HAPPY38] = "BTN_TRIGGER_HAPPY38", + [BTN_TRIGGER_HAPPY39] = "BTN_TRIGGER_HAPPY39", + [BTN_TRIGGER_HAPPY40] = "BTN_TRIGGER_HAPPY40", +}; + +static const char * const led_map[LED_MAX + 1] = { + [LED_NUML] = "LED_NUML", + [LED_CAPSL] = "LED_CAPSL", *** 11201 LINES SKIPPED *** From nobody Thu Sep 4 21:08:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHsWr0Bklz66WVT; Thu, 04 Sep 2025 21:08: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHsWq5kR5z3lFQ; Thu, 04 Sep 2025 21:08:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757020087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3keDLJ/AW1uEosyUYylayVOXFWdLNci37yXsKxNzcUk=; b=B3LayWdOHm7K6sk0SRwpdlsQhXERieUgckJdXVSv8BREH/NgXFYlVfv9Gh6jrGn9ZH+4Dl pAh6RXJCS63D+X+c1modifBquIL8b/n/X2HlPuPIwnebkgo6DPa0h5/IMdlOvH1MzN3eJ9 NWFMkBTVzGiRsXp607xlcDphRa85APLyKUsid5jnXn6sMUVoA+t/y4gdNHcJYnTSBB4iQ2 QbINHQuJ1JjAjTQp9SsM5Z+13SQPOmwHDScgmunuYp2sZsCugWp4SDngVCqOFuKMXBZypK 1j6j60jUTUyBkQ9rHerdLaufaeaVlk9Dz6EksXwg8R9PL/qfqCoDmrlsvVsM5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757020087; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3keDLJ/AW1uEosyUYylayVOXFWdLNci37yXsKxNzcUk=; b=GaAO69jCd7DlOLtHRgze7d2jTYiVM3fwweJ9SdDxIH4f3ev02H5p4jjmoZySn9xpXV58F2 kuGnitRkyDUj/RccZ/u8EcQyrKcyXdXB7tY2hHDEH1x4bp/5hGAMRDah3tdzTFyNjI7eqb HPZeI9Po4JzAvRJ3OMV68cekFUY5P+wxgj2U5i4Xky4zjCldXfu3ydc39R+ZUsVPi8ZeJq vI49mzfm0rRLqbFmFEKvhAZ+peEAzpX2khKxqyC9EWC/K9ne9Rh7AjSJYd9pMF4D86hC0f v16Uvnuan0R3TETRcgxOyH+pWtybN2Mr4kN+lXQNuz0UinIwhoauueekqVLqNA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757020087; a=rsa-sha256; cv=none; b=WLvX9cSZOkoEKDkVjYbv5zhJ3lhy/umQn/To288swVG+bOrWZP7ZssMvjszF5AVzcDKDCm foY+hi8CXA2qL6A/qVJPOpffG6mOBr4XgKedYiyKmu6FCozlFvidcVcnof4xk9Tymc0SLm s9amr/QM+pfySpERV7DQSI84HWwEm9NBXP2Yr8uUN0yTLyLlWhAMssol/TA9W7hhuOBZQi 3cicTWc+8rybtl5/9NcDTdAcrSQyVY1g58dZiEOg4CpV1tCCunyuMRgvBnJimjMVLZlkB7 gBsqfRNUu8BYzZ4Ee9vo9OJrkN84TFdQ4nqQQLHN+NESWKn3xxu60YaO/AeZNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHsWq5Bkpz48N; Thu, 04 Sep 2025 21:08:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 584L87PF060980; Thu, 4 Sep 2025 21:08:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584L87n2060977; Thu, 4 Sep 2025 21:08:07 GMT (envelope-from git) Date: Thu, 4 Sep 2025 21:08:07 GMT Message-Id: <202509042108.584L87n2060977@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Vladimir Kondratyev Subject: git: 641f525a87c9 - main - cyapa(4): Add support for reporting data with sysmouse protocol List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: wulf X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 641f525a87c9a32635ce51a102ebb5c0aa9ff921 Auto-Submitted: auto-generated The branch main has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=641f525a87c9a32635ce51a102ebb5c0aa9ff921 commit 641f525a87c9a32635ce51a102ebb5c0aa9ff921 Author: Vladimir Kondratyev AuthorDate: 2025-09-04 21:07:25 +0000 Commit: Vladimir Kondratyev CommitDate: 2025-09-04 21:07:25 +0000 cyapa(4): Add support for reporting data with sysmouse protocol Earlier only intellimouse protocol was supported. --- sys/dev/cyapa/cyapa.c | 95 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 59 insertions(+), 36 deletions(-) diff --git a/sys/dev/cyapa/cyapa.c b/sys/dev/cyapa/cyapa.c index 50fa4faa560a..ed755f992949 100644 --- a/sys/dev/cyapa/cyapa.c +++ b/sys/dev/cyapa/cyapa.c @@ -761,42 +761,60 @@ again: /* * Generate report */ - c0 = 0; - if (delta_x < 0) - c0 |= 0x10; - if (delta_y < 0) - c0 |= 0x20; - c0 |= 0x08; - if (but & CYAPA_FNGR_LEFT) - c0 |= 0x01; - if (but & CYAPA_FNGR_MIDDLE) - c0 |= 0x04; - if (but & CYAPA_FNGR_RIGHT) - c0 |= 0x02; - - fifo_write_char(sc, &sc->rfifo, c0); - fifo_write_char(sc, &sc->rfifo, (uint8_t)delta_x); - fifo_write_char(sc, &sc->rfifo, (uint8_t)delta_y); - switch(sc->zenabled) { - case 1: - /* Z axis all 8 bits */ - fifo_write_char(sc, &sc->rfifo, (uint8_t)delta_z); - break; - case 2: - /* - * Z axis low 4 bits + 4th button and 5th button - * (high 2 bits must be left 0). Auto-scale - * delta_z to fit to avoid a wrong-direction - * overflow (don't try to retain the remainder). - */ - while (delta_z > 7 || delta_z < -8) - delta_z >>= 1; - c0 = (uint8_t)delta_z & 0x0F; + if (sc->mode.level == 1) { + c0 = MOUSE_SYS_SYNC; + if (but & CYAPA_FNGR_LEFT) + c0 |= MOUSE_SYS_BUTTON1UP; + if (but & CYAPA_FNGR_MIDDLE) + c0 |= MOUSE_SYS_BUTTON2UP; + if (but & CYAPA_FNGR_RIGHT) + c0 |= MOUSE_SYS_BUTTON3UP; fifo_write_char(sc, &sc->rfifo, c0); - break; - default: - /* basic PS/2 */ - break; + fifo_write_char(sc, &sc->rfifo, delta_x >> 1); + fifo_write_char(sc, &sc->rfifo, delta_y >> 1); + fifo_write_char(sc, &sc->rfifo, delta_x - (delta_x >> 1)); + fifo_write_char(sc, &sc->rfifo, delta_y - (delta_y >> 1)); + fifo_write_char(sc, &sc->rfifo, delta_z >> 1); + fifo_write_char(sc, &sc->rfifo, delta_z - (delta_z >> 1)); + fifo_write_char(sc, &sc->rfifo, MOUSE_SYS_EXTBUTTONS); + } else { + c0 = 0; + if (delta_x < 0) + c0 |= 0x10; + if (delta_y < 0) + c0 |= 0x20; + c0 |= 0x08; + if (but & CYAPA_FNGR_LEFT) + c0 |= 0x01; + if (but & CYAPA_FNGR_MIDDLE) + c0 |= 0x04; + if (but & CYAPA_FNGR_RIGHT) + c0 |= 0x02; + + fifo_write_char(sc, &sc->rfifo, c0); + fifo_write_char(sc, &sc->rfifo, (uint8_t)delta_x); + fifo_write_char(sc, &sc->rfifo, (uint8_t)delta_y); + switch(sc->zenabled) { + case 1: + /* Z axis all 8 bits */ + fifo_write_char(sc, &sc->rfifo, (uint8_t)delta_z); + break; + case 2: + /* + * Z axis low 4 bits + 4th button and 5th button + * (high 2 bits must be left 0). Auto-scale + * delta_z to fit to avoid a wrong-direction + * overflow (don't try to retain the remainder). + */ + while (delta_z > 7 || delta_z < -8) + delta_z >>= 1; + c0 = (uint8_t)delta_z & 0x0F; + fifo_write_char(sc, &sc->rfifo, c0); + break; + default: + /* basic PS/2 */ + break; + } } cyapa_notify(sc); } @@ -1205,6 +1223,11 @@ cyapaioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread ((mousemode_t *)data)->packetsize = MOUSE_PS2_PACKETSIZE; break; + case 1: + ((mousemode_t *)data)->protocol = MOUSE_PROTO_SYSMOUSE; + ((mousemode_t *)data)->packetsize = + MOUSE_SYS_PACKETSIZE; + break; case 2: ((mousemode_t *)data)->protocol = MOUSE_PROTO_PS2; ((mousemode_t *)data)->packetsize = @@ -1223,7 +1246,7 @@ cyapaioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, struct thread error = EINVAL; break; } - sc->mode.level = *(int *)data ? 2 : 0; + sc->mode.level = *(int *)data; sc->zenabled = sc->mode.level ? 1 : 0; break; From nobody Thu Sep 4 22:26:10 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHvFv0jQGz66cfm; Thu, 04 Sep 2025 22:26:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHvFv04kGz3vf9; Thu, 04 Sep 2025 22:26:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757024771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hbAYZsHHrXWtTcrxk2BPvuPUQf+5Uy75IyxKoI4iQ9A=; b=jVghpjeFCOgl6lE2RU2Yp/kx5zXdEdoWWxDvJIDEQ62Lo3UOyRCsYMfObf+dFcc/9CiAj+ LYSBB4U9KsDGj0qPIZayqzDjeDzEjHagoDiEhShkOAxbcRCADxFKuaN7m5D9r1jaOgIHnc 5mZ7hVLajQ3DBr1l8hpVIY8Xuk3KlhRN+jSFehBEKcyYAMz98OBsjEPcn+ezUsgS9FL7om 50NM/cRJIvwZBt+fJRiaigWHTOxGxshUQyvEpkL796yDRqoZKCZfASxPF0dS8Spa1ArQfO o1plBHpG9dppNM9/tk2CJlIB6rotgCPObnOiRgWxZGwSbrk9a1cgB18wE0O54Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757024771; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hbAYZsHHrXWtTcrxk2BPvuPUQf+5Uy75IyxKoI4iQ9A=; b=i9SCQ7BE6/txaZ0t2ALTB7a7TXItyjOXSL61tPkLZx9hsRN0TaOaNAN6nlxtWpWlSDn8OI ZcPoSQa50Z3i58Rx4c8yLMi+DH4I02dz1y5kp0fq2Ox+puYw+9AVroKObLjxYKRv0bI2RB KKLAKGfaW69ZwgtKi3MeQAz2GCz+RIsDXWyP9hIg8irx7ML7gchuKjfCn21XpNakZiFaFe MqBbEAaT6ulXJFqGYCDdp7Ru3AWT5Y8bmerxpBY6t6stTykzkNmzLlyn912Bv9O3hSGk5K PGDGmazZLJ+bon/meNJXsMCMpF9KxHzoKcIuhHi7RKUpoWBOjVzE+BdS/IVEzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757024771; a=rsa-sha256; cv=none; b=pzi51Ji/8XsLtCHHwuxxZRonOpbzWY50fJElTs/u6fd8MeTnYAmAoU15WHDdcNyr7/V1b1 5JmMfRAWDLp1Vt4U3I8jYmr8Ipjt1XPYn4Gu/mTh2Nta1wAC5vc5Dz6Uq78hZ+xD00ZFJO aM2Ki/NJ9/WHzuYjqVKwHhL/ihOtch8jKTL6wqb96aTwQcBI4jGEcimVLGlZ0NinM0JbBc az8vWUu22hrzkKXLGg+Vt8/u9CGW1oJBTEan9zt/zelXLBupcy6OE0ozOA59583EfRI8bN VSy/ZyLkrRA9OM6PW5uLU0XzwNrOFOXDuK2O0yD7gu3Dt70/UKzK2mTODM2PJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHvFt6mTbz6RM; Thu, 04 Sep 2025 22:26: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 584MQAio009723; Thu, 4 Sep 2025 22:26:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 584MQAc6009720; Thu, 4 Sep 2025 22:26:10 GMT (envelope-from git) Date: Thu, 4 Sep 2025 22:26:10 GMT Message-Id: <202509042226.584MQAc6009720@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Richard Scheffenegger Subject: git: 3aa0a0aaa23b - main - tcp: add gone_in note for net.inet.tcp.sack.revised for fbsd16 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rscheff X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3aa0a0aaa23b95dbf0ef58b16b313637f515b460 Auto-Submitted: auto-generated The branch main has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=3aa0a0aaa23b95dbf0ef58b16b313637f515b460 commit 3aa0a0aaa23b95dbf0ef58b16b313637f515b460 Author: Richard Scheffenegger AuthorDate: 2025-09-04 22:23:14 +0000 Commit: Richard Scheffenegger CommitDate: 2025-09-04 22:23:52 +0000 tcp: add gone_in note for net.inet.tcp.sack.revised for fbsd16 Depricate the support for the old RFC3517 behavior of SACK loss recovery, and simplfy the code to always adhere to RFC6675. Reviewed By: tuexen, cc, #transport Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D52383 --- share/man/man4/tcp.4 | 10 ++++++---- sys/netinet/tcp_sack.c | 21 +++++++++++++++++++-- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/share/man/man4/tcp.4 b/share/man/man4/tcp.4 index fcfda42908d8..3c9f4ff83f3d 100644 --- a/share/man/man4/tcp.4 +++ b/share/man/man4/tcp.4 @@ -31,7 +31,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd June 27, 2025 +.Dd September 5, 2025 .Dt TCP 4 .Os .Sh NAME @@ -940,9 +940,6 @@ maximum segment size. This helps throughput in general, but particularly affects short transfers and high-bandwidth large propagation-delay connections. -.It Va rfc6675_pipe -Deprecated and superseded by -.Va sack.revised .It Va sack.enable Enable support for RFC 2018, TCP Selective Acknowledgment option, which allows the receiver to inform the sender about all successfully @@ -974,6 +971,11 @@ recovery, the trailing segment is immediately resent, rather than waiting for a Retransmission timeout. Finally, SACK loss recovery is also engaged, once two segments plus one byte are SACKed - even if no traditional duplicate ACKs were observed. +.Va sack.revised +is deprecated and will be removed in +.Fx 16 . +.Va sack.enable +will always follow RFC6675. .It Va sendbuf_auto Enable automatic send buffer sizing. .It Va sendbuf_auto_lowat diff --git a/sys/netinet/tcp_sack.c b/sys/netinet/tcp_sack.c index b6c55fac50b3..6e08ad2796a8 100644 --- a/sys/netinet/tcp_sack.c +++ b/sys/netinet/tcp_sack.c @@ -128,8 +128,25 @@ SYSCTL_INT(_net_inet_tcp_sack, OID_AUTO, enable, CTLFLAG_VNET | CTLFLAG_RW, "Enable/Disable TCP SACK support"); VNET_DEFINE(int, tcp_do_newsack) = 1; -SYSCTL_INT(_net_inet_tcp_sack, OID_AUTO, revised, CTLFLAG_VNET | CTLFLAG_RW, - &VNET_NAME(tcp_do_newsack), 0, + +static int +sysctl_net_inet_tcp_sack_revised(SYSCTL_HANDLER_ARGS) +{ + int error; + int new; + + new = V_tcp_do_newsack; + error = sysctl_handle_int(oidp, &new, 0, req); + if (error == 0 && req->newptr) { + V_tcp_do_newsack = new; + gone_in(16, "net.inet.tcp.sack.revised will be deprecated." + " net.inet.tcp.sack.enable will always follow RFC6675 SACK.\n"); + } + return (error); +} + +SYSCTL_PROC(_net_inet_tcp_sack, OID_AUTO, revised, CTLFLAG_VNET | CTLFLAG_RW | CTLTYPE_INT, + &VNET_NAME(tcp_do_newsack), 0, sysctl_net_inet_tcp_sack_revised, "CU", "Use revised SACK loss recovery per RFC 6675"); VNET_DEFINE(int, tcp_do_lrd) = 1; From nobody Thu Sep 4 23:43:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHwzG5SYzz66k0x; Thu, 04 Sep 2025 23:43:38 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHwzG1sGxz44TY; Thu, 04 Sep 2025 23:43:38 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 584NhO06067037; Fri, 5 Sep 2025 02:43:27 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 584NhO06067037 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 584NhOmh067036; Fri, 5 Sep 2025 02:43:24 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 5 Sep 2025 02:43:24 +0300 From: Konstantin Belousov To: Jamie Gritton Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 851dc7f859c2 - main - jail: add jail descriptors Message-ID: References: <202509042031.584KVpxY000408@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-Disposition: inline In-Reply-To: <202509042031.584KVpxY000408@gitrepo.freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on tom.home X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cHwzG1sGxz44TY On Thu, Sep 04, 2025 at 08:31:51PM +0000, Jamie Gritton wrote: > The branch main has been updated by jamie: > > URL: https://cgit.FreeBSD.org/src/commit/?id=851dc7f859c23cab09a348bca03ab655534fb7e0 > > commit 851dc7f859c23cab09a348bca03ab655534fb7e0 > Author: Jamie Gritton > AuthorDate: 2025-09-04 20:27:47 +0000 > Commit: Jamie Gritton > CommitDate: 2025-09-04 20:27:47 +0000 > > jail: add jail descriptors > > Similar to process descriptors, jail desriptors are allow jail > administration using the file descriptor interface instead of JIDs. > They come from and can be used by jail_set(2) and jail_get(2), > and there are two new system calls, jail_attach_jd(2) and > jail_remove_jd(2). > > Reviewed by: bz, brooks The code is from jaildesc_alloc(): jd = malloc(sizeof(*jd), M_JAILDESC, M_WAITOK | M_ZERO); error = falloc_caps(td, &fp, fdp, 0, NULL); finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 ? FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); ^^^^^^^^^^^ '?' should be placed on the previous line if (error != 0) { free(jd, M_JAILDESC); return (error); } If falloc_caps() returned error, fp does not point to a valid file. Then finit() operates on random memory. Generated files should have been committed as a follow-up, not in the same commit as written code. jaildesc_find() returns EBADF when passed file type is not DTYPE_JAIL. Normally EBADF means that the object underlying the file is invalidated, like vnode is reclaimed, tty is revoked, etc. For the wrong type, EINVAL should be returned. jaildesc_close() does finit(fp, 0, DTYPE_NONE, NULL, &badfileops); that is not needed, same as cleaning f_data. There are fo_chown/fo_chmod methods that are semantically applied to the jail files, instead of the underlying object. This is quite strange, files do not have concept of owner. From nobody Fri Sep 5 00:10:19 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cHxZ36Swwz66lKG; Fri, 05 Sep 2025 00:10: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cHxZ35wHZz46mq; Fri, 05 Sep 2025 00:10:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757031019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A2W4+YMzJ8zgREBURGRoOyOblN0i8jF7I/az16ErsqA=; b=naJNwZ2lbcDz7VaiGPtnc2XIVvX8LsLt+HOLuDfUheKwFuErrS20Vikv4knTHl8PwRTMyf GGvVn0/ajMYbbQxDd5XSYXa19pevR1IiIhKV/fRb9D6eQRsEVHTppj8n7gPN9Yq5TgsDKs 8DvwQ/p0xuQkYS8KeGnjo9vfJezMZMyOBjySYIwPJaAlKzVPafYzZflLYXxxO61vfksKuB rqU3WZtIcCLEyoRqVUbLWiWJ6xQYHhyTkWkK8Kdj+Yk3c/bc/tEJOFSkGdAfBIBJlCG1x+ XVDTzCuer9Ox1xfJGvYH5rbrsaTkYLnNoLFjkZCDeMRMgKE5EDbnOBTChzvxYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757031019; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=A2W4+YMzJ8zgREBURGRoOyOblN0i8jF7I/az16ErsqA=; b=rQUH7lR0Nv0m+hrT+aa/rrCJkn9iQtHfJEzsrtTVxqN448wRFCf+oSVGIAaxNfYHPxqOhy lXUuYdMWi1IILnlhDnBJp2CoQSAgUajPIsg9plzGOpqXbcvpW5eRDZErD5YDi7zwKNWnL4 72iz10MGYnWqgpb/7Q1f+DoBGHPZJEKp3OPR0yoSvouLZ8cq9x122UL7Qxa7CWB6C9XlQn i4aM07qNbivpc0a+uS07nE3IbmP1OCfvNNs01ksJYjb7LXeXJWxVdPybOr0cqGC+5cToEm 3UMPuau4etOc0bw3L3dAydHSAyTJRXMgNX5IDDIdfj6dVaWWnj8FDDJLSGcFGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757031019; a=rsa-sha256; cv=none; b=jvUtBR2U1VbVUnvbRFgwaa0LtlN9iKCTXC34lISPYINrhM/bBeXiccYPpIdUdyw4LgIorJ dklbwAofAkvzQda6MUa2i+IoZNNgBYILd9oh6VRRjRhWhn4LrwondQWCUmOT49D+6wypII rPuD2k0JVTGpJ/mReR2lIJY1Galc4T4WI5T9ANV5yy/0yzCFeMAIRxnQXa8eHABfyAaz8X Tb8nPkmsBiCHk7fS0NldECRGFSKYa9W6Ge2DqKT9mYWNOeDlJUQSKe9X+k5fwKQm5zRG0u CcoXIPFBan47fAJwyFrTXaVrUbRWrJZlC19czAE8Donya1S8xxHSuqPMERjAWA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cHxZ35J9Jz9Gk; Fri, 05 Sep 2025 00:10:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5850AJXt005985; Fri, 5 Sep 2025 00:10:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5850AJch005982; Fri, 5 Sep 2025 00:10:19 GMT (envelope-from git) Date: Fri, 5 Sep 2025 00:10:19 GMT Message-Id: <202509050010.5850AJch005982@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 8b4e4c273730 - main - Update main to 16 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8b4e4c2737305df8807abc6cd054a32586085c93 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=8b4e4c2737305df8807abc6cd054a32586085c93 commit 8b4e4c2737305df8807abc6cd054a32586085c93 Author: Colin Percival AuthorDate: 2025-09-04 23:06:47 +0000 Commit: Colin Percival CommitDate: 2025-09-04 23:06:47 +0000 Update main to 16 * Bumps to versions in lib/clang * Bumps to sys/conf/newvers.sh and sys/sys/param.h * Update to UPDATING Approved by: re (implicit) Sponsored by: https://www.patreon.com/cperciva --- UPDATING | 7 +++++-- lib/clang/freebsd_cc_version.h | 2 +- lib/clang/include/lld/Common/Version.inc | 2 +- sys/conf/newvers.sh | 4 ++-- sys/sys/param.h | 2 +- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/UPDATING b/UPDATING index 21c6e92d6454..57f6b2e66387 100644 --- a/UPDATING +++ b/UPDATING @@ -12,8 +12,8 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before updating system packages and/or ports. -NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: - FreeBSD 15.x has many debugging features turned on, in both the kernel +NOTE TO PEOPLE WHO THINK THAT FreeBSD 16.x IS SLOW: + FreeBSD 16.x has many debugging features turned on, in both the kernel and userland. These features attempt to detect incorrect use of system primitives, and encourage loud failure through extra sanity checking and fail stop semantics. They also substantially impact @@ -27,6 +27,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 15.x IS SLOW: world, or to merely disable the most expensive debugging functionality at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20250905: + FreeBSD 16.0-CURRENT. + 20250903: The BLOAT_KERNEL_WITH_EXTERR kernel config option has been renamed to EXTERR_STRINGS. diff --git a/lib/clang/freebsd_cc_version.h b/lib/clang/freebsd_cc_version.h index 277744ae8624..b493dc96db5e 100644 --- a/lib/clang/freebsd_cc_version.h +++ b/lib/clang/freebsd_cc_version.h @@ -1 +1 @@ -#define FREEBSD_CC_VERSION 1500000 +#define FREEBSD_CC_VERSION 1600000 diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc index 0643da4abbf4..0def3da7469c 100644 --- a/lib/clang/include/lld/Common/Version.inc +++ b/lib/clang/include/lld/Common/Version.inc @@ -1,4 +1,4 @@ // Local identifier in __FreeBSD_version style -#define LLD_FREEBSD_VERSION 1500001 +#define LLD_FREEBSD_VERSION 1600000 #define LLD_VERSION_STRING "19.1.7 (FreeBSD llvmorg-19.1.7-0-gcd708029e0b2-" __XSTRING(LLD_FREEBSD_VERSION) ")" diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 8b60da95741e..145377c1e75e 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -50,8 +50,8 @@ # TYPE="FreeBSD" -REVISION="15.0" -BRANCH="PRERELEASE" +REVISION="16.0" +BRANCH="CURRENT" if [ -n "${BRANCH_OVERRIDE}" ]; then BRANCH=${BRANCH_OVERRIDE} fi diff --git a/sys/sys/param.h b/sys/sys/param.h index fc2a78883f1e..ce91430909ce 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -74,7 +74,7 @@ * cannot include sys/param.h and should only be updated here. */ #undef __FreeBSD_version -#define __FreeBSD_version 1500063 +#define __FreeBSD_version 1600000 /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From nobody Fri Sep 5 04:13:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJ2z711Qjz672CF; Fri, 05 Sep 2025 04:13:55 +0000 (UTC) (envelope-from freebsd@walstatt-de.de) Received: from smtp052.goneo.de (smtp5.goneo.de [IPv6:2001:1640:5::8:30]) (using TLSv1.3 with cipher TLS_AES_256_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 4cJ2z644d3z3YrL; Fri, 05 Sep 2025 04:13:54 +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 smtp5.goneo.de (Postfix) with ESMTPS id 8A7DA240870; Fri, 5 Sep 2025 06:13:46 +0200 (CEST) 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 B206424016A; Fri, 5 Sep 2025 06:13:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walstatt-de.de; s=DKIM001; t=1757045624; 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=JocN3Iibp1/eR2WimwLyRwl3jI5hahJhTbPcIMcZjEg=; b=Q6xcLQIr/ERZMCWd7Wrc6X9ifKHNt6Fh8GguSa+xVRbuKnrjfKDjJiprkTFEf/qB63V5Fu NXg+DjxTtb6J3HzNyBRswt7vhzngy/c/gOhGaDz/TMpOI+uiaIhbqUAXF/K+b0HVkfp3Sy pxjSo+XJf1sGtU9Hkay9M7Bld5e58KX+LFY5uKp5d4Ckcg6OcBPaw0ge0HW5xSfZPXT7Kn NgXvkvnuLS0P4Dy1k4Y/J2PnsyPPrAs2dF45PFZqYwnie6EsGEigvWD6IlaUAFZ2GuTT6O bmXWthOO8uOpdMRcbMxGSUURCXeTHDsGLomitb8EKcCov7H86dYF/JoCeo1CXQ== Received: from thor.sb211.local (dynamic-2a02-3100-1d84-1d02-171d-382e-6b11-fc18.310.pool.telefonica.de [IPv6:2a02:3100:1d84:1d02:171d:382e:6b11:fc18]) (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 4FEE3240167; Fri, 5 Sep 2025 06:13:44 +0200 (CEST) Date: Fri, 5 Sep 2025 06:13:16 +0200 From: A FreeBSD User To: Vladimir Kondratyev Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: aef807876c30 - main - moused(8): Add support for evdev protocol Message-ID: <20250905061122.69e01f1a@thor.sb211.local> In-Reply-To: <202509042108.584L86Ro060944@gitrepo.freebsd.org> References: <202509042108.584L86Ro060944@gitrepo.freebsd.org> X-Mailer: Claws Mail 3.21.0 (GTK+ 2.24.33; amd64-portbld-freebsd15.0) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/QAGe5stV.sJC7IFS=VQTixK"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Rspamd-UID: 56516c X-Rspamd-UID: a7569f X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:25394, ipnet:2001:1640::/32, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cJ2z644d3z3YrL --Sig_/QAGe5stV.sJC7IFS=VQTixK Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Am Tage des Herren Thu, 4 Sep 2025 21:08:06 GMT Vladimir Kondratyev schrieb: > The branch main has been updated by wulf: >=20 > URL: https://cgit.FreeBSD.org/src/commit/?id=3Daef807876c305587c60f73e2cd= 914115d22a53fd >=20 > commit aef807876c305587c60f73e2cd914115d22a53fd > Author: Vladimir Kondratyev > AuthorDate: 2025-09-04 21:07:25 +0000 > Commit: Vladimir Kondratyev > CommitDate: 2025-09-04 21:07:25 +0000 >=20 > moused(8): Add support for evdev protocol > =20 > The new daemon have following properties as compared with previous > incarnation: > - evdev protocol support for mices and touchpads. Additionally to > relative PS/2 and USB devices it enables console support for I2C/USB > touchpads and bluetooth mices. > - Other aged protocols like COM, raw PS/2 and X10 are dropped with on= ly > exception of sysmouse. For those who still use them there is an > utility called msconvd(8). > - single daemon per system where hotplug is processed via devd socket. > Per device mode still supported too. > - Configuration and quirks files in libinput-compatible format. > Actually, the new moused config parser is taken from libinput. > =20 > The moused(8) can work in 2 modes: > 1. Evdev support mode. It enables all previously mentioned devices. > It is enabled by deault. > 2. Sysmouse support mode. All should work as before. > No new devices supported. To enable it add following lines to > /etc/rc.conf: > moused_port=3D"/dev/psm0" > moused_nondefault_enable=3D"YES" > One may add hw.usb.usbhid.enable=3D0 to /boot/loader.conf to enable > ums(4) driver which supports sysmouse protocol. > =20 > Differential Revision: https://reviews.freebsd.org/D52164 > --- > libexec/rc/rc.conf | 8 +- > libexec/rc/rc.d/Makefile | 1 + > libexec/rc/rc.d/msconvd | 61 + > tools/build/mk/OptionalObsoleteFiles.inc | 7 + > usr.sbin/moused/Makefile | 12 +- > usr.sbin/moused/Makefile.depend | 17 - > usr.sbin/moused/moused/Makefile | 28 + > usr.sbin/moused/moused/event-names.h | 1656 ++++++++++ > usr.sbin/moused/moused/moused.8 | 538 ++++ > usr.sbin/moused/moused/moused.c | 3205 ++++++++++++++= ++++++ > usr.sbin/moused/moused/moused.conf | 43 + > usr.sbin/moused/moused/moused.conf.5 | 422 +++ > usr.sbin/moused/moused/quirks.c | 2033 +++++++++++++ > usr.sbin/moused/moused/quirks.h | 369 +++ > .../moused/moused/quirks/5-generic-touchpad.quirks | 9 + > usr.sbin/moused/moused/util-evdev.c | 173 ++ > usr.sbin/moused/moused/util-evdev.h | 35 + > usr.sbin/moused/moused/util-list.c | 86 + > usr.sbin/moused/moused/util-list.h | 194 ++ > usr.sbin/moused/moused/util.c | 423 +++ > usr.sbin/moused/moused/util.h | 413 +++ > usr.sbin/moused/msconvd/Makefile | 8 + > usr.sbin/moused/{moused.8 =3D> msconvd/msconvd.8} | 395 +-- > usr.sbin/moused/{moused.c =3D> msconvd/msconvd.c} | 1212 ++------ > 24 files changed, 10008 insertions(+), 1340 deletions(-) >=20 > diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf > index bfa46bd343a6..0ef3012892dd 100644 > --- a/libexec/rc/rc.conf > +++ b/libexec/rc/rc.conf > @@ -586,15 +586,19 @@ font8x14=3D"NO" # font 8x14 from > /usr/share/{syscons,vt}/fonts/* (or NO). font8x8=3D"NO" # font 8x8 from > /usr/share/{syscons,vt}/fonts/* (or NO). blanktime=3D"300" # blank time = (in > seconds) or "NO" to turn it off. saver=3D"NO" # screen saver: Uses > /boot/kernel/${saver}_saver.ko -moused_nondefault_enable=3D"YES" # Treat = non-default mice as > enabled unless +moused_nondefault_enable=3D"NO" # Treat non-default mice = as enabled unless > # specifically overridden in rc.conf(5). > moused_enable=3D"NO" # Run the mouse daemon. > moused_type=3D"auto" # See man page for rc.conf(5) for available setting= s. > -moused_port=3D"/dev/psm0" # Set to your mouse port. > +moused_port=3D"auto" # Set to your mouse port. > moused_flags=3D"" # Any additional flags to moused. > mousechar_start=3D"NO" # if 0xd0-0xd3 default range is occupied in your > # language code table, specify alternative range > # start like mousechar_start=3D3, see vidcontrol(1) > +msconvd_enable=3D"NO" # Run the mouse protocol conversion daemon. > +msconvd_type=3D"auto" # See rc.conf(5) man page for available moused_typ= e-s. > +msconvd_ports=3D"" # List of msconvd ports. > +msconvd_flags=3D"" # Any additional flags to msconvd. > allscreens_flags=3D"" # Set this vidcontrol mode for all virtual screens > allscreens_kbdflags=3D"" # Set this kbdcontrol mode for all virtual scre= ens > =20 > diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile > index 7c1f50b027a9..e5ee34e62185 100644 > --- a/libexec/rc/rc.d/Makefile > +++ b/libexec/rc/rc.d/Makefile > @@ -273,6 +273,7 @@ JAILPACKAGE=3D jail > .if ${MK_LEGACY_CONSOLE} !=3D "no" > CONFGROUPS+=3D CONSOLE > CONSOLE+=3D moused > +CONSOLE+=3D msconvd > CONSOLE+=3D syscons > CONSOLEPACKAGE=3D console-tools > .endif > diff --git a/libexec/rc/rc.d/msconvd b/libexec/rc/rc.d/msconvd > new file mode 100755 > index 000000000000..c2a96bf2eb68 > --- /dev/null > +++ b/libexec/rc/rc.d/msconvd > @@ -0,0 +1,61 @@ > +#!/bin/sh > +# > +# > + > +# PROVIDE: msconvd > +# REQUIRE: DAEMON FILESYSTEMS > +# KEYWORD: nojail shutdown > + > +. /etc/rc.subr > + > +name=3D"msconvd" > +desc=3D"Mouse protocol conversion daemon" > +command=3D"/usr/sbin/${name}" > +start_cmd=3D"msconvd_start" > +pidprefix=3D"/var/run/msconvd" > +load_rc_config $name > + > +: ${msconvd_enable=3D"NO"} > +: ${msconvd_type=3D"auto"} > + > +# doesn't make sense to run in a svcj: nojail keyword > +# XXX: How does msconvd communiacte with the kernel? > +# XXX: Does the kernel prevent this communcation in jails? > +msconvd_svcj=3D"NO" > + > +# Set the pid file and variable name. The second argument, if it exists,= is > +# expected to be the mouse device. > +# > +if [ -n "$2" ]; then > + eval msconvd_$2_enable=3D\${msconvd_$2_enable-${msconvd_enable}} > + rcvar=3D"msconvd_$2_enable" > + pidfile=3D"${pidprefix}.$2.pid" > +else > + for ms in ${msconvd_ports}; do > + /etc/rc.d/msconvd $1 ${ms} > + done > + exit 0 > +fi > + > +msconvd_start() > +{ > + local ms myflags myport mytype > + > + # Set the mouse device and get any related variables. If > + # a msconvd device has been specified on the commandline, then > + # rc.conf(5) variables defined for that device take precedence > + # over the generic msconvd_* variables. The only exception is > + # the msconvd_port variable, which if not defined sets it to > + # the passed in device name. > + # > + ms=3D$1 > + eval myflags=3D\${msconvd_${ms}_flags-$msconvd_flags} > + eval myport=3D\${msconvd_${ms}_port-/dev/${ms}} > + eval mytype=3D\${msconvd_${ms}_type-$msconvd_type} > + > + startmsg -n "Starting ${ms} ${name}" > + ${command} ${myflags} -p ${myport} -t ${mytype} -I ${pidfile} > + startmsg '.' > +} > + > +run_rc_command $* > diff --git a/tools/build/mk/OptionalObsoleteFiles.inc > b/tools/build/mk/OptionalObsoleteFiles.inc index 5eea402c4526..a2fb28f1a1= 86 100644 > --- a/tools/build/mk/OptionalObsoleteFiles.inc > +++ b/tools/build/mk/OptionalObsoleteFiles.inc > @@ -3793,11 +3793,14 @@ OLD_FILES+=3Dusr/share/man/man1/host.1.gz > .endif > =20 > .if ${MK_LEGACY_CONSOLE} =3D=3D no > +OLD_FILES+=3Detc/moused.conf > OLD_FILES+=3Detc/rc.d/moused > +OLD_FILES+=3Detc/rc.d/msconvd > OLD_FILES+=3Detc/rc.d/syscons > OLD_FILES+=3Dusr/sbin/kbdcontrol > OLD_FILES+=3Dusr/sbin/kbdmap > OLD_FILES+=3Dusr/sbin/moused > +OLD_FILES+=3Dusr/sbin/msconvd > OLD_FILES+=3Dusr/sbin/vidcontrol > OLD_FILES+=3Dusr/sbin/vidfont > OLD_FILES+=3Dusr/share/man/man1/kbdcontrol.1.gz > @@ -3806,7 +3809,11 @@ OLD_FILES+=3Dusr/share/man/man1/vidcontrol.1.gz > OLD_FILES+=3Dusr/share/man/man1/vidfont.1.gz > OLD_FILES+=3Dusr/share/man/man5/kbdmap.5.gz > OLD_FILES+=3Dusr/share/man/man5/keymap.5.gz > +OLD_FILES+=3Dusr/share/man/man5/moused.conf.5.gz > OLD_FILES+=3Dusr/share/man/man8/moused.8.gz > +OLD_FILES+=3Dusr/share/man/man8/msconvd.8.gz > +OLD_FILES+=3Dusr/share/moused/5-generic-touchpad.quirks > +OLD_DIRS+=3Dusr/share/moused > .endif > =20 > .for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats} > diff --git a/usr.sbin/moused/Makefile b/usr.sbin/moused/Makefile > index 2a7aa0484542..b6319b6fef20 100644 > --- a/usr.sbin/moused/Makefile > +++ b/usr.sbin/moused/Makefile > @@ -1,10 +1,4 @@ > -PACKAGE=3D console-tools > -PROG=3D moused > -MAN=3D moused.8 > +SUBDIR+=3Dmoused > +SUBDIR+=3Dmsconvd > =20 > -LIBADD=3D m util > - > -#BINMODE=3D4555 > -#PRECIOUSPROG=3D > - > -.include > +.include > diff --git a/usr.sbin/moused/Makefile.depend b/usr.sbin/moused/Makefile.d= epend > deleted file mode 100644 > index af3b7054df7a..000000000000 > --- a/usr.sbin/moused/Makefile.depend > +++ /dev/null > @@ -1,17 +0,0 @@ > -# Autogenerated - do NOT edit! > - > -DIRDEPS =3D \ > - include \ > - include/xlocale \ > - lib/${CSU_DIR} \ > - lib/libc \ > - lib/libcompiler_rt \ > - lib/libutil \ > - lib/msun \ > - > - > -.include > - > -.if ${DEP_RELDIR} =3D=3D ${_DEP_RELDIR} > -# local dependencies - needed for -jN in clean tree > -.endif > diff --git a/usr.sbin/moused/moused/Makefile b/usr.sbin/moused/moused/Mak= efile > new file mode 100644 > index 000000000000..8479764b710b > --- /dev/null > +++ b/usr.sbin/moused/moused/Makefile > @@ -0,0 +1,28 @@ > +PACKAGE=3D console-tools > +PROG=3D moused > + > +SRCS=3D moused.c \ > + event-names.h \ > + quirks.c \ > + quirks.h \ > + util.c \ > + util.h \ > + util-evdev.c \ > + util-evdev.h \ > + util-list.c \ > + util-list.h > +MAN=3D moused.8 \ > + moused.conf.5 > +CONFS=3D moused.conf > +QUIRKS=3D 5-generic-touchpad.quirks > + > +CWARNFLAGS.quirks.c+=3D -Wno-cast-align -Wno-shadow -Wno-cast-qual \ > + -Wno-unused-variable -Wno-unused-parameter > +CWARNFLAGS.util.c+=3D -Wno-shadow > +LIBADD=3D m util > +BINDIR=3D /usr/sbin > + > +FILES=3D ${QUIRKS:S|^|quirks/|} > +FILESDIR=3D /usr/share/${PROG} > + > +.include > diff --git a/usr.sbin/moused/moused/event-names.h b/usr.sbin/moused/mouse= d/event-names.h > new file mode 100644 > index 000000000000..05093a1d0db3 > --- /dev/null > +++ b/usr.sbin/moused/moused/event-names.h > @@ -0,0 +1,1656 @@ > +/* THIS FILE IS GENERATED, DO NOT EDIT */ > + > +#ifndef EVENT_NAMES_H > +#define EVENT_NAMES_H > + > +static const char * const ev_map[EV_MAX + 1] =3D { > + [EV_SYN] =3D "EV_SYN", > + [EV_KEY] =3D "EV_KEY", > + [EV_REL] =3D "EV_REL", > + [EV_ABS] =3D "EV_ABS", > + [EV_MSC] =3D "EV_MSC", > + [EV_SW] =3D "EV_SW", > + [EV_LED] =3D "EV_LED", > + [EV_SND] =3D "EV_SND", > + [EV_REP] =3D "EV_REP", > + [EV_FF] =3D "EV_FF", > + [EV_PWR] =3D "EV_PWR", > + [EV_FF_STATUS] =3D "EV_FF_STATUS", > + [EV_MAX] =3D "EV_MAX", > +}; > + > +static const char * const rel_map[REL_MAX + 1] =3D { > + [REL_X] =3D "REL_X", > + [REL_Y] =3D "REL_Y", > + [REL_Z] =3D "REL_Z", > + [REL_RX] =3D "REL_RX", > + [REL_RY] =3D "REL_RY", > + [REL_RZ] =3D "REL_RZ", > + [REL_HWHEEL] =3D "REL_HWHEEL", > + [REL_DIAL] =3D "REL_DIAL", > + [REL_WHEEL] =3D "REL_WHEEL", > + [REL_MISC] =3D "REL_MISC", > + [REL_RESERVED] =3D "REL_RESERVED", > + [REL_WHEEL_HI_RES] =3D "REL_WHEEL_HI_RES", > + [REL_HWHEEL_HI_RES] =3D "REL_HWHEEL_HI_RES", > + [REL_MAX] =3D "REL_MAX", > +}; > + > +static const char * const abs_map[ABS_MAX + 1] =3D { > + [ABS_X] =3D "ABS_X", > + [ABS_Y] =3D "ABS_Y", > + [ABS_Z] =3D "ABS_Z", > + [ABS_RX] =3D "ABS_RX", > + [ABS_RY] =3D "ABS_RY", > + [ABS_RZ] =3D "ABS_RZ", > + [ABS_THROTTLE] =3D "ABS_THROTTLE", > + [ABS_RUDDER] =3D "ABS_RUDDER", > + [ABS_WHEEL] =3D "ABS_WHEEL", > + [ABS_GAS] =3D "ABS_GAS", > + [ABS_BRAKE] =3D "ABS_BRAKE", > + [ABS_HAT0X] =3D "ABS_HAT0X", > + [ABS_HAT0Y] =3D "ABS_HAT0Y", > + [ABS_HAT1X] =3D "ABS_HAT1X", > + [ABS_HAT1Y] =3D "ABS_HAT1Y", > + [ABS_HAT2X] =3D "ABS_HAT2X", > + [ABS_HAT2Y] =3D "ABS_HAT2Y", > + [ABS_HAT3X] =3D "ABS_HAT3X", > + [ABS_HAT3Y] =3D "ABS_HAT3Y", > + [ABS_PRESSURE] =3D "ABS_PRESSURE", > + [ABS_DISTANCE] =3D "ABS_DISTANCE", > + [ABS_TILT_X] =3D "ABS_TILT_X", > + [ABS_TILT_Y] =3D "ABS_TILT_Y", > + [ABS_TOOL_WIDTH] =3D "ABS_TOOL_WIDTH", > + [ABS_VOLUME] =3D "ABS_VOLUME", > + // [ABS_PROFILE] =3D "ABS_PROFILE", > + [ABS_MISC] =3D "ABS_MISC", > + [ABS_RESERVED] =3D "ABS_RESERVED", > + [ABS_MT_SLOT] =3D "ABS_MT_SLOT", > + [ABS_MT_TOUCH_MAJOR] =3D "ABS_MT_TOUCH_MAJOR", > + [ABS_MT_TOUCH_MINOR] =3D "ABS_MT_TOUCH_MINOR", > + [ABS_MT_WIDTH_MAJOR] =3D "ABS_MT_WIDTH_MAJOR", > + [ABS_MT_WIDTH_MINOR] =3D "ABS_MT_WIDTH_MINOR", > + [ABS_MT_ORIENTATION] =3D "ABS_MT_ORIENTATION", > + [ABS_MT_POSITION_X] =3D "ABS_MT_POSITION_X", > + [ABS_MT_POSITION_Y] =3D "ABS_MT_POSITION_Y", > + [ABS_MT_TOOL_TYPE] =3D "ABS_MT_TOOL_TYPE", > + [ABS_MT_BLOB_ID] =3D "ABS_MT_BLOB_ID", > + [ABS_MT_TRACKING_ID] =3D "ABS_MT_TRACKING_ID", > + [ABS_MT_PRESSURE] =3D "ABS_MT_PRESSURE", > + [ABS_MT_DISTANCE] =3D "ABS_MT_DISTANCE", > + [ABS_MT_TOOL_X] =3D "ABS_MT_TOOL_X", > + [ABS_MT_TOOL_Y] =3D "ABS_MT_TOOL_Y", > + [ABS_MAX] =3D "ABS_MAX", > +}; > + > +static const char * const key_map[KEY_MAX + 1] =3D { > + [KEY_RESERVED] =3D "KEY_RESERVED", > + [KEY_ESC] =3D "KEY_ESC", > + [KEY_1] =3D "KEY_1", > + [KEY_2] =3D "KEY_2", > + [KEY_3] =3D "KEY_3", > + [KEY_4] =3D "KEY_4", > + [KEY_5] =3D "KEY_5", > + [KEY_6] =3D "KEY_6", > + [KEY_7] =3D "KEY_7", > + [KEY_8] =3D "KEY_8", > + [KEY_9] =3D "KEY_9", > + [KEY_0] =3D "KEY_0", > + [KEY_MINUS] =3D "KEY_MINUS", > + [KEY_EQUAL] =3D "KEY_EQUAL", > + [KEY_BACKSPACE] =3D "KEY_BACKSPACE", > + [KEY_TAB] =3D "KEY_TAB", > + [KEY_Q] =3D "KEY_Q", > + [KEY_W] =3D "KEY_W", > + [KEY_E] =3D "KEY_E", > + [KEY_R] =3D "KEY_R", > + [KEY_T] =3D "KEY_T", > + [KEY_Y] =3D "KEY_Y", > + [KEY_U] =3D "KEY_U", > + [KEY_I] =3D "KEY_I", > + [KEY_O] =3D "KEY_O", > + [KEY_P] =3D "KEY_P", > + [KEY_LEFTBRACE] =3D "KEY_LEFTBRACE", > + [KEY_RIGHTBRACE] =3D "KEY_RIGHTBRACE", > + [KEY_ENTER] =3D "KEY_ENTER", > + [KEY_LEFTCTRL] =3D "KEY_LEFTCTRL", > + [KEY_A] =3D "KEY_A", > + [KEY_S] =3D "KEY_S", > + [KEY_D] =3D "KEY_D", > + [KEY_F] =3D "KEY_F", > + [KEY_G] =3D "KEY_G", > + [KEY_H] =3D "KEY_H", > + [KEY_J] =3D "KEY_J", > + [KEY_K] =3D "KEY_K", > + [KEY_L] =3D "KEY_L", > + [KEY_SEMICOLON] =3D "KEY_SEMICOLON", > + [KEY_APOSTROPHE] =3D "KEY_APOSTROPHE", > + [KEY_GRAVE] =3D "KEY_GRAVE", > + [KEY_LEFTSHIFT] =3D "KEY_LEFTSHIFT", > + [KEY_BACKSLASH] =3D "KEY_BACKSLASH", > + [KEY_Z] =3D "KEY_Z", > + [KEY_X] =3D "KEY_X", > + [KEY_C] =3D "KEY_C", > + [KEY_V] =3D "KEY_V", > + [KEY_B] =3D "KEY_B", > + [KEY_N] =3D "KEY_N", > + [KEY_M] =3D "KEY_M", > + [KEY_COMMA] =3D "KEY_COMMA", > + [KEY_DOT] =3D "KEY_DOT", > + [KEY_SLASH] =3D "KEY_SLASH", > + [KEY_RIGHTSHIFT] =3D "KEY_RIGHTSHIFT", > + [KEY_KPASTERISK] =3D "KEY_KPASTERISK", > + [KEY_LEFTALT] =3D "KEY_LEFTALT", > + [KEY_SPACE] =3D "KEY_SPACE", > + [KEY_CAPSLOCK] =3D "KEY_CAPSLOCK", > + [KEY_F1] =3D "KEY_F1", > + [KEY_F2] =3D "KEY_F2", > + [KEY_F3] =3D "KEY_F3", > + [KEY_F4] =3D "KEY_F4", > + [KEY_F5] =3D "KEY_F5", > + [KEY_F6] =3D "KEY_F6", > + [KEY_F7] =3D "KEY_F7", > + [KEY_F8] =3D "KEY_F8", > + [KEY_F9] =3D "KEY_F9", > + [KEY_F10] =3D "KEY_F10", > + [KEY_NUMLOCK] =3D "KEY_NUMLOCK", > + [KEY_SCROLLLOCK] =3D "KEY_SCROLLLOCK", > + [KEY_KP7] =3D "KEY_KP7", > + [KEY_KP8] =3D "KEY_KP8", > + [KEY_KP9] =3D "KEY_KP9", > + [KEY_KPMINUS] =3D "KEY_KPMINUS", > + [KEY_KP4] =3D "KEY_KP4", > + [KEY_KP5] =3D "KEY_KP5", > + [KEY_KP6] =3D "KEY_KP6", > + [KEY_KPPLUS] =3D "KEY_KPPLUS", > + [KEY_KP1] =3D "KEY_KP1", > + [KEY_KP2] =3D "KEY_KP2", > + [KEY_KP3] =3D "KEY_KP3", > + [KEY_KP0] =3D "KEY_KP0", > + [KEY_KPDOT] =3D "KEY_KPDOT", > + [KEY_ZENKAKUHANKAKU] =3D "KEY_ZENKAKUHANKAKU", > + [KEY_102ND] =3D "KEY_102ND", > + [KEY_F11] =3D "KEY_F11", > + [KEY_F12] =3D "KEY_F12", > + [KEY_RO] =3D "KEY_RO", > + [KEY_KATAKANA] =3D "KEY_KATAKANA", > + [KEY_HIRAGANA] =3D "KEY_HIRAGANA", > + [KEY_HENKAN] =3D "KEY_HENKAN", > + [KEY_KATAKANAHIRAGANA] =3D "KEY_KATAKANAHIRAGANA", > + [KEY_MUHENKAN] =3D "KEY_MUHENKAN", > + [KEY_KPJPCOMMA] =3D "KEY_KPJPCOMMA", > + [KEY_KPENTER] =3D "KEY_KPENTER", > + [KEY_RIGHTCTRL] =3D "KEY_RIGHTCTRL", > + [KEY_KPSLASH] =3D "KEY_KPSLASH", > + [KEY_SYSRQ] =3D "KEY_SYSRQ", > + [KEY_RIGHTALT] =3D "KEY_RIGHTALT", > + [KEY_LINEFEED] =3D "KEY_LINEFEED", > + [KEY_HOME] =3D "KEY_HOME", > + [KEY_UP] =3D "KEY_UP", > + [KEY_PAGEUP] =3D "KEY_PAGEUP", > + [KEY_LEFT] =3D "KEY_LEFT", > + [KEY_RIGHT] =3D "KEY_RIGHT", > + [KEY_END] =3D "KEY_END", > + [KEY_DOWN] =3D "KEY_DOWN", > + [KEY_PAGEDOWN] =3D "KEY_PAGEDOWN", > + [KEY_INSERT] =3D "KEY_INSERT", > + [KEY_DELETE] =3D "KEY_DELETE", > + [KEY_MACRO] =3D "KEY_MACRO", > + [KEY_MUTE] =3D "KEY_MUTE", > + [KEY_VOLUMEDOWN] =3D "KEY_VOLUMEDOWN", > + [KEY_VOLUMEUP] =3D "KEY_VOLUMEUP", > + [KEY_POWER] =3D "KEY_POWER", > + [KEY_KPEQUAL] =3D "KEY_KPEQUAL", > + [KEY_KPPLUSMINUS] =3D "KEY_KPPLUSMINUS", > + [KEY_PAUSE] =3D "KEY_PAUSE", > + [KEY_SCALE] =3D "KEY_SCALE", > + [KEY_KPCOMMA] =3D "KEY_KPCOMMA", > + [KEY_HANGEUL] =3D "KEY_HANGEUL", > + [KEY_HANJA] =3D "KEY_HANJA", > + [KEY_YEN] =3D "KEY_YEN", > + [KEY_LEFTMETA] =3D "KEY_LEFTMETA", > + [KEY_RIGHTMETA] =3D "KEY_RIGHTMETA", > + [KEY_COMPOSE] =3D "KEY_COMPOSE", > + [KEY_STOP] =3D "KEY_STOP", > + [KEY_AGAIN] =3D "KEY_AGAIN", > + [KEY_PROPS] =3D "KEY_PROPS", > + [KEY_UNDO] =3D "KEY_UNDO", > + [KEY_FRONT] =3D "KEY_FRONT", > + [KEY_COPY] =3D "KEY_COPY", > + [KEY_OPEN] =3D "KEY_OPEN", > + [KEY_PASTE] =3D "KEY_PASTE", > + [KEY_FIND] =3D "KEY_FIND", > + [KEY_CUT] =3D "KEY_CUT", > + [KEY_HELP] =3D "KEY_HELP", > + [KEY_MENU] =3D "KEY_MENU", > + [KEY_CALC] =3D "KEY_CALC", > + [KEY_SETUP] =3D "KEY_SETUP", > + [KEY_SLEEP] =3D "KEY_SLEEP", > + [KEY_WAKEUP] =3D "KEY_WAKEUP", > + [KEY_FILE] =3D "KEY_FILE", > + [KEY_SENDFILE] =3D "KEY_SENDFILE", > + [KEY_DELETEFILE] =3D "KEY_DELETEFILE", > + [KEY_XFER] =3D "KEY_XFER", > + [KEY_PROG1] =3D "KEY_PROG1", > + [KEY_PROG2] =3D "KEY_PROG2", > + [KEY_WWW] =3D "KEY_WWW", > + [KEY_MSDOS] =3D "KEY_MSDOS", > + [KEY_COFFEE] =3D "KEY_COFFEE", > + [KEY_ROTATE_DISPLAY] =3D "KEY_ROTATE_DISPLAY", > + [KEY_CYCLEWINDOWS] =3D "KEY_CYCLEWINDOWS", > + [KEY_MAIL] =3D "KEY_MAIL", > + [KEY_BOOKMARKS] =3D "KEY_BOOKMARKS", > + [KEY_COMPUTER] =3D "KEY_COMPUTER", > + [KEY_BACK] =3D "KEY_BACK", > + [KEY_FORWARD] =3D "KEY_FORWARD", > + [KEY_CLOSECD] =3D "KEY_CLOSECD", > + [KEY_EJECTCD] =3D "KEY_EJECTCD", > + [KEY_EJECTCLOSECD] =3D "KEY_EJECTCLOSECD", > + [KEY_NEXTSONG] =3D "KEY_NEXTSONG", > + [KEY_PLAYPAUSE] =3D "KEY_PLAYPAUSE", > + [KEY_PREVIOUSSONG] =3D "KEY_PREVIOUSSONG", > + [KEY_STOPCD] =3D "KEY_STOPCD", > + [KEY_RECORD] =3D "KEY_RECORD", > + [KEY_REWIND] =3D "KEY_REWIND", > + [KEY_PHONE] =3D "KEY_PHONE", > + [KEY_ISO] =3D "KEY_ISO", > + [KEY_CONFIG] =3D "KEY_CONFIG", > + [KEY_HOMEPAGE] =3D "KEY_HOMEPAGE", > + [KEY_REFRESH] =3D "KEY_REFRESH", > + [KEY_EXIT] =3D "KEY_EXIT", > + [KEY_MOVE] =3D "KEY_MOVE", > + [KEY_EDIT] =3D "KEY_EDIT", > + [KEY_SCROLLUP] =3D "KEY_SCROLLUP", > + [KEY_SCROLLDOWN] =3D "KEY_SCROLLDOWN", > + [KEY_KPLEFTPAREN] =3D "KEY_KPLEFTPAREN", > + [KEY_KPRIGHTPAREN] =3D "KEY_KPRIGHTPAREN", > + [KEY_NEW] =3D "KEY_NEW", > + [KEY_REDO] =3D "KEY_REDO", > + [KEY_F13] =3D "KEY_F13", > + [KEY_F14] =3D "KEY_F14", > + [KEY_F15] =3D "KEY_F15", > + [KEY_F16] =3D "KEY_F16", > + [KEY_F17] =3D "KEY_F17", > + [KEY_F18] =3D "KEY_F18", > + [KEY_F19] =3D "KEY_F19", > + [KEY_F20] =3D "KEY_F20", > + [KEY_F21] =3D "KEY_F21", > + [KEY_F22] =3D "KEY_F22", > + [KEY_F23] =3D "KEY_F23", > + [KEY_F24] =3D "KEY_F24", > + [KEY_PLAYCD] =3D "KEY_PLAYCD", > + [KEY_PAUSECD] =3D "KEY_PAUSECD", > + [KEY_PROG3] =3D "KEY_PROG3", > + [KEY_PROG4] =3D "KEY_PROG4", > + // [KEY_ALL_APPLICATIONS] =3D "KEY_ALL_APPLICATIONS", > + [KEY_SUSPEND] =3D "KEY_SUSPEND", > + [KEY_CLOSE] =3D "KEY_CLOSE", > + [KEY_PLAY] =3D "KEY_PLAY", > + [KEY_FASTFORWARD] =3D "KEY_FASTFORWARD", > + [KEY_BASSBOOST] =3D "KEY_BASSBOOST", > + [KEY_PRINT] =3D "KEY_PRINT", > + [KEY_HP] =3D "KEY_HP", > + [KEY_CAMERA] =3D "KEY_CAMERA", > + [KEY_SOUND] =3D "KEY_SOUND", > + [KEY_QUESTION] =3D "KEY_QUESTION", > + [KEY_EMAIL] =3D "KEY_EMAIL", > + [KEY_CHAT] =3D "KEY_CHAT", > + [KEY_SEARCH] =3D "KEY_SEARCH", > + [KEY_CONNECT] =3D "KEY_CONNECT", > + [KEY_FINANCE] =3D "KEY_FINANCE", > + [KEY_SPORT] =3D "KEY_SPORT", > + [KEY_SHOP] =3D "KEY_SHOP", > + [KEY_ALTERASE] =3D "KEY_ALTERASE", > + [KEY_CANCEL] =3D "KEY_CANCEL", > + [KEY_BRIGHTNESSDOWN] =3D "KEY_BRIGHTNESSDOWN", > + [KEY_BRIGHTNESSUP] =3D "KEY_BRIGHTNESSUP", > + [KEY_MEDIA] =3D "KEY_MEDIA", > + [KEY_SWITCHVIDEOMODE] =3D "KEY_SWITCHVIDEOMODE", > + [KEY_KBDILLUMTOGGLE] =3D "KEY_KBDILLUMTOGGLE", > + [KEY_KBDILLUMDOWN] =3D "KEY_KBDILLUMDOWN", > + [KEY_KBDILLUMUP] =3D "KEY_KBDILLUMUP", > + [KEY_SEND] =3D "KEY_SEND", > + [KEY_REPLY] =3D "KEY_REPLY", > + [KEY_FORWARDMAIL] =3D "KEY_FORWARDMAIL", > + [KEY_SAVE] =3D "KEY_SAVE", > + [KEY_DOCUMENTS] =3D "KEY_DOCUMENTS", > + [KEY_BATTERY] =3D "KEY_BATTERY", > + [KEY_BLUETOOTH] =3D "KEY_BLUETOOTH", > + [KEY_WLAN] =3D "KEY_WLAN", > + [KEY_UWB] =3D "KEY_UWB", > + [KEY_UNKNOWN] =3D "KEY_UNKNOWN", > + [KEY_VIDEO_NEXT] =3D "KEY_VIDEO_NEXT", > + [KEY_VIDEO_PREV] =3D "KEY_VIDEO_PREV", > + [KEY_BRIGHTNESS_CYCLE] =3D "KEY_BRIGHTNESS_CYCLE", > + [KEY_BRIGHTNESS_AUTO] =3D "KEY_BRIGHTNESS_AUTO", > + [KEY_DISPLAY_OFF] =3D "KEY_DISPLAY_OFF", > + [KEY_WWAN] =3D "KEY_WWAN", > + [KEY_RFKILL] =3D "KEY_RFKILL", > + [KEY_MICMUTE] =3D "KEY_MICMUTE", > + [KEY_OK] =3D "KEY_OK", > + [KEY_SELECT] =3D "KEY_SELECT", > + [KEY_GOTO] =3D "KEY_GOTO", > + [KEY_CLEAR] =3D "KEY_CLEAR", > + [KEY_POWER2] =3D "KEY_POWER2", > + [KEY_OPTION] =3D "KEY_OPTION", > + [KEY_INFO] =3D "KEY_INFO", > + [KEY_TIME] =3D "KEY_TIME", > + [KEY_VENDOR] =3D "KEY_VENDOR", > + [KEY_ARCHIVE] =3D "KEY_ARCHIVE", > + [KEY_PROGRAM] =3D "KEY_PROGRAM", > + [KEY_CHANNEL] =3D "KEY_CHANNEL", > + [KEY_FAVORITES] =3D "KEY_FAVORITES", > + [KEY_EPG] =3D "KEY_EPG", > + [KEY_PVR] =3D "KEY_PVR", > + [KEY_MHP] =3D "KEY_MHP", > + [KEY_LANGUAGE] =3D "KEY_LANGUAGE", > + [KEY_TITLE] =3D "KEY_TITLE", > + [KEY_SUBTITLE] =3D "KEY_SUBTITLE", > + [KEY_ANGLE] =3D "KEY_ANGLE", > + [KEY_FULL_SCREEN] =3D "KEY_FULL_SCREEN", > + [KEY_MODE] =3D "KEY_MODE", > + [KEY_KEYBOARD] =3D "KEY_KEYBOARD", > + [KEY_ASPECT_RATIO] =3D "KEY_ASPECT_RATIO", > + [KEY_PC] =3D "KEY_PC", > + [KEY_TV] =3D "KEY_TV", > + [KEY_TV2] =3D "KEY_TV2", > + [KEY_VCR] =3D "KEY_VCR", > + [KEY_VCR2] =3D "KEY_VCR2", > + [KEY_SAT] =3D "KEY_SAT", > + [KEY_SAT2] =3D "KEY_SAT2", > + [KEY_CD] =3D "KEY_CD", > + [KEY_TAPE] =3D "KEY_TAPE", > + [KEY_RADIO] =3D "KEY_RADIO", > + [KEY_TUNER] =3D "KEY_TUNER", > + [KEY_PLAYER] =3D "KEY_PLAYER", > + [KEY_TEXT] =3D "KEY_TEXT", > + [KEY_DVD] =3D "KEY_DVD", > + [KEY_AUX] =3D "KEY_AUX", > + [KEY_MP3] =3D "KEY_MP3", > + [KEY_AUDIO] =3D "KEY_AUDIO", > + [KEY_VIDEO] =3D "KEY_VIDEO", > + [KEY_DIRECTORY] =3D "KEY_DIRECTORY", > + [KEY_LIST] =3D "KEY_LIST", > + [KEY_MEMO] =3D "KEY_MEMO", > + [KEY_CALENDAR] =3D "KEY_CALENDAR", > + [KEY_RED] =3D "KEY_RED", > + [KEY_GREEN] =3D "KEY_GREEN", > + [KEY_YELLOW] =3D "KEY_YELLOW", > + [KEY_BLUE] =3D "KEY_BLUE", > + [KEY_CHANNELUP] =3D "KEY_CHANNELUP", > + [KEY_CHANNELDOWN] =3D "KEY_CHANNELDOWN", > + [KEY_FIRST] =3D "KEY_FIRST", > + [KEY_LAST] =3D "KEY_LAST", > + [KEY_AB] =3D "KEY_AB", > + [KEY_NEXT] =3D "KEY_NEXT", > + [KEY_RESTART] =3D "KEY_RESTART", > + [KEY_SLOW] =3D "KEY_SLOW", > + [KEY_SHUFFLE] =3D "KEY_SHUFFLE", > + [KEY_BREAK] =3D "KEY_BREAK", > + [KEY_PREVIOUS] =3D "KEY_PREVIOUS", > + [KEY_DIGITS] =3D "KEY_DIGITS", > + [KEY_TEEN] =3D "KEY_TEEN", > + [KEY_TWEN] =3D "KEY_TWEN", > + [KEY_VIDEOPHONE] =3D "KEY_VIDEOPHONE", > + [KEY_GAMES] =3D "KEY_GAMES", > + [KEY_ZOOMIN] =3D "KEY_ZOOMIN", > + [KEY_ZOOMOUT] =3D "KEY_ZOOMOUT", > + [KEY_ZOOMRESET] =3D "KEY_ZOOMRESET", > + [KEY_WORDPROCESSOR] =3D "KEY_WORDPROCESSOR", > + [KEY_EDITOR] =3D "KEY_EDITOR", > + [KEY_SPREADSHEET] =3D "KEY_SPREADSHEET", > + [KEY_GRAPHICSEDITOR] =3D "KEY_GRAPHICSEDITOR", > + [KEY_PRESENTATION] =3D "KEY_PRESENTATION", > + [KEY_DATABASE] =3D "KEY_DATABASE", > + [KEY_NEWS] =3D "KEY_NEWS", > + [KEY_VOICEMAIL] =3D "KEY_VOICEMAIL", > + [KEY_ADDRESSBOOK] =3D "KEY_ADDRESSBOOK", > + [KEY_MESSENGER] =3D "KEY_MESSENGER", > + [KEY_DISPLAYTOGGLE] =3D "KEY_DISPLAYTOGGLE", > + [KEY_SPELLCHECK] =3D "KEY_SPELLCHECK", > + [KEY_LOGOFF] =3D "KEY_LOGOFF", > + [KEY_DOLLAR] =3D "KEY_DOLLAR", > + [KEY_EURO] =3D "KEY_EURO", > + [KEY_FRAMEBACK] =3D "KEY_FRAMEBACK", > + [KEY_FRAMEFORWARD] =3D "KEY_FRAMEFORWARD", > + [KEY_CONTEXT_MENU] =3D "KEY_CONTEXT_MENU", > + [KEY_MEDIA_REPEAT] =3D "KEY_MEDIA_REPEAT", > + [KEY_10CHANNELSUP] =3D "KEY_10CHANNELSUP", > + [KEY_10CHANNELSDOWN] =3D "KEY_10CHANNELSDOWN", > + [KEY_IMAGES] =3D "KEY_IMAGES", > + // [KEY_NOTIFICATION_CENTER] =3D "KEY_NOTIFICATION_CENTER", > + // [KEY_PICKUP_PHONE] =3D "KEY_PICKUP_PHONE", > + // [KEY_HANGUP_PHONE] =3D "KEY_HANGUP_PHONE", > + [KEY_DEL_EOL] =3D "KEY_DEL_EOL", > + [KEY_DEL_EOS] =3D "KEY_DEL_EOS", > + [KEY_INS_LINE] =3D "KEY_INS_LINE", > + [KEY_DEL_LINE] =3D "KEY_DEL_LINE", > + [KEY_FN] =3D "KEY_FN", > + [KEY_FN_ESC] =3D "KEY_FN_ESC", > + [KEY_FN_F1] =3D "KEY_FN_F1", > + [KEY_FN_F2] =3D "KEY_FN_F2", > + [KEY_FN_F3] =3D "KEY_FN_F3", > + [KEY_FN_F4] =3D "KEY_FN_F4", > + [KEY_FN_F5] =3D "KEY_FN_F5", > + [KEY_FN_F6] =3D "KEY_FN_F6", > + [KEY_FN_F7] =3D "KEY_FN_F7", > + [KEY_FN_F8] =3D "KEY_FN_F8", > + [KEY_FN_F9] =3D "KEY_FN_F9", > + [KEY_FN_F10] =3D "KEY_FN_F10", > + [KEY_FN_F11] =3D "KEY_FN_F11", > + [KEY_FN_F12] =3D "KEY_FN_F12", > + [KEY_FN_1] =3D "KEY_FN_1", > + [KEY_FN_2] =3D "KEY_FN_2", > + [KEY_FN_D] =3D "KEY_FN_D", > + [KEY_FN_E] =3D "KEY_FN_E", > + [KEY_FN_F] =3D "KEY_FN_F", > + [KEY_FN_S] =3D "KEY_FN_S", > + [KEY_FN_B] =3D "KEY_FN_B", > + // [KEY_FN_RIGHT_SHIFT] =3D "KEY_FN_RIGHT_SHIFT", > + [KEY_BRL_DOT1] =3D "KEY_BRL_DOT1", > + [KEY_BRL_DOT2] =3D "KEY_BRL_DOT2", > + [KEY_BRL_DOT3] =3D "KEY_BRL_DOT3", > + [KEY_BRL_DOT4] =3D "KEY_BRL_DOT4", > + [KEY_BRL_DOT5] =3D "KEY_BRL_DOT5", > + [KEY_BRL_DOT6] =3D "KEY_BRL_DOT6", > + [KEY_BRL_DOT7] =3D "KEY_BRL_DOT7", > + [KEY_BRL_DOT8] =3D "KEY_BRL_DOT8", > + [KEY_BRL_DOT9] =3D "KEY_BRL_DOT9", > + [KEY_BRL_DOT10] =3D "KEY_BRL_DOT10", > + [KEY_NUMERIC_0] =3D "KEY_NUMERIC_0", > + [KEY_NUMERIC_1] =3D "KEY_NUMERIC_1", > + [KEY_NUMERIC_2] =3D "KEY_NUMERIC_2", > + [KEY_NUMERIC_3] =3D "KEY_NUMERIC_3", > + [KEY_NUMERIC_4] =3D "KEY_NUMERIC_4", > + [KEY_NUMERIC_5] =3D "KEY_NUMERIC_5", > + [KEY_NUMERIC_6] =3D "KEY_NUMERIC_6", > + [KEY_NUMERIC_7] =3D "KEY_NUMERIC_7", > + [KEY_NUMERIC_8] =3D "KEY_NUMERIC_8", > + [KEY_NUMERIC_9] =3D "KEY_NUMERIC_9", > + [KEY_NUMERIC_STAR] =3D "KEY_NUMERIC_STAR", > + [KEY_NUMERIC_POUND] =3D "KEY_NUMERIC_POUND", > + [KEY_NUMERIC_A] =3D "KEY_NUMERIC_A", > + [KEY_NUMERIC_B] =3D "KEY_NUMERIC_B", > + [KEY_NUMERIC_C] =3D "KEY_NUMERIC_C", > + [KEY_NUMERIC_D] =3D "KEY_NUMERIC_D", > + [KEY_CAMERA_FOCUS] =3D "KEY_CAMERA_FOCUS", > + [KEY_WPS_BUTTON] =3D "KEY_WPS_BUTTON", > + [KEY_TOUCHPAD_TOGGLE] =3D "KEY_TOUCHPAD_TOGGLE", > + [KEY_TOUCHPAD_ON] =3D "KEY_TOUCHPAD_ON", > + [KEY_TOUCHPAD_OFF] =3D "KEY_TOUCHPAD_OFF", > + [KEY_CAMERA_ZOOMIN] =3D "KEY_CAMERA_ZOOMIN", > + [KEY_CAMERA_ZOOMOUT] =3D "KEY_CAMERA_ZOOMOUT", > + [KEY_CAMERA_UP] =3D "KEY_CAMERA_UP", > + [KEY_CAMERA_DOWN] =3D "KEY_CAMERA_DOWN", > + [KEY_CAMERA_LEFT] =3D "KEY_CAMERA_LEFT", > + [KEY_CAMERA_RIGHT] =3D "KEY_CAMERA_RIGHT", > + [KEY_ATTENDANT_ON] =3D "KEY_ATTENDANT_ON", > + [KEY_ATTENDANT_OFF] =3D "KEY_ATTENDANT_OFF", > + [KEY_ATTENDANT_TOGGLE] =3D "KEY_ATTENDANT_TOGGLE", > + [KEY_LIGHTS_TOGGLE] =3D "KEY_LIGHTS_TOGGLE", > + [KEY_ALS_TOGGLE] =3D "KEY_ALS_TOGGLE", > + [KEY_ROTATE_LOCK_TOGGLE] =3D "KEY_ROTATE_LOCK_TOGGLE", > + [KEY_BUTTONCONFIG] =3D "KEY_BUTTONCONFIG", > + [KEY_TASKMANAGER] =3D "KEY_TASKMANAGER", > + [KEY_JOURNAL] =3D "KEY_JOURNAL", > + [KEY_CONTROLPANEL] =3D "KEY_CONTROLPANEL", > + [KEY_APPSELECT] =3D "KEY_APPSELECT", > + [KEY_SCREENSAVER] =3D "KEY_SCREENSAVER", > + [KEY_VOICECOMMAND] =3D "KEY_VOICECOMMAND", > + [KEY_ASSISTANT] =3D "KEY_ASSISTANT", > + [KEY_KBD_LAYOUT_NEXT] =3D "KEY_KBD_LAYOUT_NEXT", > + // [KEY_EMOJI_PICKER] =3D "KEY_EMOJI_PICKER", > + //[KEY_DICTATE] =3D "KEY_DICTATE", > + //[KEY_CAMERA_ACCESS_ENABLE] =3D "KEY_CAMERA_ACCESS_ENABLE", > + //[KEY_CAMERA_ACCESS_DISABLE] =3D "KEY_CAMERA_ACCESS_DISABLE", > + //[KEY_CAMERA_ACCESS_TOGGLE] =3D "KEY_CAMERA_ACCESS_TOGGLE", > + [KEY_BRIGHTNESS_MIN] =3D "KEY_BRIGHTNESS_MIN", > + [KEY_BRIGHTNESS_MAX] =3D "KEY_BRIGHTNESS_MAX", > + [KEY_KBDINPUTASSIST_PREV] =3D "KEY_KBDINPUTASSIST_PREV", > + [KEY_KBDINPUTASSIST_NEXT] =3D "KEY_KBDINPUTASSIST_NEXT", > + [KEY_KBDINPUTASSIST_PREVGROUP] =3D "KEY_KBDINPUTASSIST_PREVGROUP", > + [KEY_KBDINPUTASSIST_NEXTGROUP] =3D "KEY_KBDINPUTASSIST_NEXTGROUP", > + [KEY_KBDINPUTASSIST_ACCEPT] =3D "KEY_KBDINPUTASSIST_ACCEPT", > + [KEY_KBDINPUTASSIST_CANCEL] =3D "KEY_KBDINPUTASSIST_CANCEL", > + [KEY_RIGHT_UP] =3D "KEY_RIGHT_UP", > + [KEY_RIGHT_DOWN] =3D "KEY_RIGHT_DOWN", > + [KEY_LEFT_UP] =3D "KEY_LEFT_UP", > + [KEY_LEFT_DOWN] =3D "KEY_LEFT_DOWN", > + [KEY_ROOT_MENU] =3D "KEY_ROOT_MENU", > + [KEY_MEDIA_TOP_MENU] =3D "KEY_MEDIA_TOP_MENU", > + [KEY_NUMERIC_11] =3D "KEY_NUMERIC_11", > + [KEY_NUMERIC_12] =3D "KEY_NUMERIC_12", > + [KEY_AUDIO_DESC] =3D "KEY_AUDIO_DESC", > + [KEY_3D_MODE] =3D "KEY_3D_MODE", > + [KEY_NEXT_FAVORITE] =3D "KEY_NEXT_FAVORITE", > + [KEY_STOP_RECORD] =3D "KEY_STOP_RECORD", > + [KEY_PAUSE_RECORD] =3D "KEY_PAUSE_RECORD", > + [KEY_VOD] =3D "KEY_VOD", > + [KEY_UNMUTE] =3D "KEY_UNMUTE", > + [KEY_FASTREVERSE] =3D "KEY_FASTREVERSE", > + [KEY_SLOWREVERSE] =3D "KEY_SLOWREVERSE", > + [KEY_DATA] =3D "KEY_DATA", > + [KEY_ONSCREEN_KEYBOARD] =3D "KEY_ONSCREEN_KEYBOARD", > + [KEY_PRIVACY_SCREEN_TOGGLE] =3D "KEY_PRIVACY_SCREEN_TOGGLE", > + [KEY_SELECTIVE_SCREENSHOT] =3D "KEY_SELECTIVE_SCREENSHOT", > + // [KEY_NEXT_ELEMENT] =3D "KEY_NEXT_ELEMENT", > + // [KEY_PREVIOUS_ELEMENT] =3D "KEY_PREVIOUS_ELEMENT", > + // [KEY_AUTOPILOT_ENGAGE_TOGGLE] =3D "KEY_AUTOPILOT_ENGAGE_TOGGLE", > + // [KEY_MARK_WAYPOINT] =3D "KEY_MARK_WAYPOINT", > + // [KEY_SOS] =3D "KEY_SOS", > + // [KEY_NAV_CHART] =3D "KEY_NAV_CHART", > + // [KEY_FISHING_CHART] =3D "KEY_FISHING_CHART", > + // [KEY_SINGLE_RANGE_RADAR] =3D "KEY_SINGLE_RANGE_RADAR", > + // [KEY_DUAL_RANGE_RADAR] =3D "KEY_DUAL_RANGE_RADAR", > + // [KEY_RADAR_OVERLAY] =3D "KEY_RADAR_OVERLAY", > + // [KEY_TRADITIONAL_SONAR] =3D "KEY_TRADITIONAL_SONAR", > + // [KEY_CLEARVU_SONAR] =3D "KEY_CLEARVU_SONAR", > + // [KEY_SIDEVU_SONAR] =3D "KEY_SIDEVU_SONAR", > + // [KEY_NAV_INFO] =3D "KEY_NAV_INFO", > + // [KEY_BRIGHTNESS_MENU] =3D "KEY_BRIGHTNESS_MENU", > + [KEY_MACRO1] =3D "KEY_MACRO1", > + [KEY_MACRO2] =3D "KEY_MACRO2", > + [KEY_MACRO3] =3D "KEY_MACRO3", > + [KEY_MACRO4] =3D "KEY_MACRO4", > + [KEY_MACRO5] =3D "KEY_MACRO5", > + [KEY_MACRO6] =3D "KEY_MACRO6", > + [KEY_MACRO7] =3D "KEY_MACRO7", > + [KEY_MACRO8] =3D "KEY_MACRO8", > + [KEY_MACRO9] =3D "KEY_MACRO9", > + [KEY_MACRO10] =3D "KEY_MACRO10", > + [KEY_MACRO11] =3D "KEY_MACRO11", > + [KEY_MACRO12] =3D "KEY_MACRO12", > + [KEY_MACRO13] =3D "KEY_MACRO13", > + [KEY_MACRO14] =3D "KEY_MACRO14", > + [KEY_MACRO15] =3D "KEY_MACRO15", > + [KEY_MACRO16] =3D "KEY_MACRO16", > + [KEY_MACRO17] =3D "KEY_MACRO17", > + [KEY_MACRO18] =3D "KEY_MACRO18", > + [KEY_MACRO19] =3D "KEY_MACRO19", > + [KEY_MACRO20] =3D "KEY_MACRO20", > + [KEY_MACRO21] =3D "KEY_MACRO21", > + [KEY_MACRO22] =3D "KEY_MACRO22", > + [KEY_MACRO23] =3D "KEY_MACRO23", > + [KEY_MACRO24] =3D "KEY_MACRO24", > + [KEY_MACRO25] =3D "KEY_MACRO25", > + [KEY_MACRO26] =3D "KEY_MACRO26", > + [KEY_MACRO27] =3D "KEY_MACRO27", > + [KEY_MACRO28] =3D "KEY_MACRO28", > + [KEY_MACRO29] =3D "KEY_MACRO29", > + [KEY_MACRO30] =3D "KEY_MACRO30", > + [KEY_MACRO_RECORD_START] =3D "KEY_MACRO_RECORD_START", > + [KEY_MACRO_RECORD_STOP] =3D "KEY_MACRO_RECORD_STOP", > + [KEY_MACRO_PRESET_CYCLE] =3D "KEY_MACRO_PRESET_CYCLE", > + [KEY_MACRO_PRESET1] =3D "KEY_MACRO_PRESET1", > + [KEY_MACRO_PRESET2] =3D "KEY_MACRO_PRESET2", > + [KEY_MACRO_PRESET3] =3D "KEY_MACRO_PRESET3", > + [KEY_KBD_LCD_MENU1] =3D "KEY_KBD_LCD_MENU1", > + [KEY_KBD_LCD_MENU2] =3D "KEY_KBD_LCD_MENU2", > + [KEY_KBD_LCD_MENU3] =3D "KEY_KBD_LCD_MENU3", > + [KEY_KBD_LCD_MENU4] =3D "KEY_KBD_LCD_MENU4", > + [KEY_KBD_LCD_MENU5] =3D "KEY_KBD_LCD_MENU5", > + [KEY_MAX] =3D "KEY_MAX", > + [BTN_0] =3D "BTN_0", > + [BTN_1] =3D "BTN_1", > + [BTN_2] =3D "BTN_2", > + [BTN_3] =3D "BTN_3", > + [BTN_4] =3D "BTN_4", > + [BTN_5] =3D "BTN_5", > + [BTN_6] =3D "BTN_6", > + [BTN_7] =3D "BTN_7", > + [BTN_8] =3D "BTN_8", > + [BTN_9] =3D "BTN_9", > + [BTN_LEFT] =3D "BTN_LEFT", > + [BTN_RIGHT] =3D "BTN_RIGHT", > + [BTN_MIDDLE] =3D "BTN_MIDDLE", > + [BTN_SIDE] =3D "BTN_SIDE", > + [BTN_EXTRA] =3D "BTN_EXTRA", > + [BTN_FORWARD] =3D "BTN_FORWARD", > + [BTN_BACK] =3D "BTN_BACK", > + [BTN_TASK] =3D "BTN_TASK", > + [BTN_TRIGGER] =3D "BTN_TRIGGER", > + [BTN_THUMB] =3D "BTN_THUMB", > + [BTN_THUMB2] =3D "BTN_THUMB2", > + [BTN_TOP] =3D "BTN_TOP", > + [BTN_TOP2] =3D "BTN_TOP2", > + [BTN_PINKIE] =3D "BTN_PINKIE", > + [BTN_BASE] =3D "BTN_BASE", > + [BTN_BASE2] =3D "BTN_BASE2", > + [BTN_BASE3] =3D "BTN_BASE3", > + [BTN_BASE4] =3D "BTN_BASE4", > + [BTN_BASE5] =3D "BTN_BASE5", > + [BTN_BASE6] =3D "BTN_BASE6", > + [BTN_DEAD] =3D "BTN_DEAD", > + [BTN_SOUTH] =3D "BTN_SOUTH", > + [BTN_EAST] =3D "BTN_EAST", > + [BTN_C] =3D "BTN_C", > + [BTN_NORTH] =3D "BTN_NORTH", > + [BTN_WEST] =3D "BTN_WEST", > + [BTN_Z] =3D "BTN_Z", > + [BTN_TL] =3D "BTN_TL", > + [BTN_TR] =3D "BTN_TR", > + [BTN_TL2] =3D "BTN_TL2", > + [BTN_TR2] =3D "BTN_TR2", > + [BTN_SELECT] =3D "BTN_SELECT", > + [BTN_START] =3D "BTN_START", > + [BTN_MODE] =3D "BTN_MODE", > + [BTN_THUMBL] =3D "BTN_THUMBL", > + [BTN_THUMBR] =3D "BTN_THUMBR", > + [BTN_TOOL_PEN] =3D "BTN_TOOL_PEN", > + [BTN_TOOL_RUBBER] =3D "BTN_TOOL_RUBBER", > + [BTN_TOOL_BRUSH] =3D "BTN_TOOL_BRUSH", > + [BTN_TOOL_PENCIL] =3D "BTN_TOOL_PENCIL", > + [BTN_TOOL_AIRBRUSH] =3D "BTN_TOOL_AIRBRUSH", > + [BTN_TOOL_FINGER] =3D "BTN_TOOL_FINGER", > + [BTN_TOOL_MOUSE] =3D "BTN_TOOL_MOUSE", > + [BTN_TOOL_LENS] =3D "BTN_TOOL_LENS", > + [BTN_TOOL_QUINTTAP] =3D "BTN_TOOL_QUINTTAP", > + [BTN_STYLUS3] =3D "BTN_STYLUS3", > + [BTN_TOUCH] =3D "BTN_TOUCH", > + [BTN_STYLUS] =3D "BTN_STYLUS", > + [BTN_STYLUS2] =3D "BTN_STYLUS2", > + [BTN_TOOL_DOUBLETAP] =3D "BTN_TOOL_DOUBLETAP", > + [BTN_TOOL_TRIPLETAP] =3D "BTN_TOOL_TRIPLETAP", > + [BTN_TOOL_QUADTAP] =3D "BTN_TOOL_QUADTAP", > + [BTN_GEAR_DOWN] =3D "BTN_GEAR_DOWN", > + [BTN_GEAR_UP] =3D "BTN_GEAR_UP", > + [BTN_DPAD_UP] =3D "BTN_DPAD_UP", > + [BTN_DPAD_DOWN] =3D "BTN_DPAD_DOWN", > + [BTN_DPAD_LEFT] =3D "BTN_DPAD_LEFT", > + [BTN_DPAD_RIGHT] =3D "BTN_DPAD_RIGHT", > + [BTN_TRIGGER_HAPPY1] =3D "BTN_TRIGGER_HAPPY1", > + [BTN_TRIGGER_HAPPY2] =3D "BTN_TRIGGER_HAPPY2", > + [BTN_TRIGGER_HAPPY3] =3D "BTN_TRIGGER_HAPPY3", > + [BTN_TRIGGER_HAPPY4] =3D "BTN_TRIGGER_HAPPY4", > + [BTN_TRIGGER_HAPPY5] =3D "BTN_TRIGGER_HAPPY5", > + [BTN_TRIGGER_HAPPY6] =3D "BTN_TRIGGER_HAPPY6", > + [BTN_TRIGGER_HAPPY7] =3D "BTN_TRIGGER_HAPPY7", > + [BTN_TRIGGER_HAPPY8] =3D "BTN_TRIGGER_HAPPY8", > + [BTN_TRIGGER_HAPPY9] =3D "BTN_TRIGGER_HAPPY9", > + [BTN_TRIGGER_HAPPY10] =3D "BTN_TRIGGER_HAPPY10", > + [BTN_TRIGGER_HAPPY11] =3D "BTN_TRIGGER_HAPPY11", > + [BTN_TRIGGER_HAPPY12] =3D "BTN_TRIGGER_HAPPY12", > + [BTN_TRIGGER_HAPPY13] =3D "BTN_TRIGGER_HAPPY13", > + [BTN_TRIGGER_HAPPY14] =3D "BTN_TRIGGER_HAPPY14", > + [BTN_TRIGGER_HAPPY15] =3D "BTN_TRIGGER_HAPPY15", > + [BTN_TRIGGER_HAPPY16] =3D "BTN_TRIGGER_HAPPY16", > + [BTN_TRIGGER_HAPPY17] =3D "BTN_TRIGGER_HAPPY17", > + [BTN_TRIGGER_HAPPY18] =3D "BTN_TRIGGER_HAPPY18", > + [BTN_TRIGGER_HAPPY19] =3D "BTN_TRIGGER_HAPPY19", > + [BTN_TRIGGER_HAPPY20] =3D "BTN_TRIGGER_HAPPY20", > + [BTN_TRIGGER_HAPPY21] =3D "BTN_TRIGGER_HAPPY21", > + [BTN_TRIGGER_HAPPY22] =3D "BTN_TRIGGER_HAPPY22", > + [BTN_TRIGGER_HAPPY23] =3D "BTN_TRIGGER_HAPPY23", > + [BTN_TRIGGER_HAPPY24] =3D "BTN_TRIGGER_HAPPY24", > + [BTN_TRIGGER_HAPPY25] =3D "BTN_TRIGGER_HAPPY25", > + [BTN_TRIGGER_HAPPY26] =3D "BTN_TRIGGER_HAPPY26", > + [BTN_TRIGGER_HAPPY27] =3D "BTN_TRIGGER_HAPPY27", > + [BTN_TRIGGER_HAPPY28] =3D "BTN_TRIGGER_HAPPY28", > + [BTN_TRIGGER_HAPPY29] =3D "BTN_TRIGGER_HAPPY29", > + [BTN_TRIGGER_HAPPY30] =3D "BTN_TRIGGER_HAPPY30", > + [BTN_TRIGGER_HAPPY31] =3D "BTN_TRIGGER_HAPPY31", > + [BTN_TRIGGER_HAPPY32] =3D "BTN_TRIGGER_HAPPY32", > + [BTN_TRIGGER_HAPPY33] =3D "BTN_TRIGGER_HAPPY33", > + [BTN_TRIGGER_HAPPY34] =3D "BTN_TRIGGER_HAPPY34", > + [BTN_TRIGGER_HAPPY35] =3D "BTN_TRIGGER_HAPPY35", > + [BTN_TRIGGER_HAPPY36] =3D "BTN_TRIGGER_HAPPY36", > + [BTN_TRIGGER_HAPPY37] =3D "BTN_TRIGGER_HAPPY37", > + [BTN_TRIGGER_HAPPY38] =3D "BTN_TRIGGER_HAPPY38", > + [BTN_TRIGGER_HAPPY39] =3D "BTN_TRIGGER_HAPPY39", > + [BTN_TRIGGER_HAPPY40] =3D "BTN_TRIGGER_HAPPY40", > +}; > + > +static const char * const led_map[LED_MAX + 1] =3D { > + [LED_NUML] =3D "LED_NUML", > + [LED_CAPSL] =3D "LED_CAPSL", > *** 11201 LINES SKIPPED *** >=20 make buildworld fails to build due to this error: [...] c++ -target x86_64-unknown-freebsd16.0 --sysroot=3D/usr/obj/usr/src/amd64.= amd64/tmp -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -fpie -O2 -pipe -fno-common -ma= rch=3Dnative -I. -I/usr/src/sbin/devd -fPIE -DNDEBUG -MD -MF.depend.devd.pieo -MTdevd.pieo -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Wall -Wn= o-format-y2k -W -Wno-unused-parameter -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-str= ings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wdate-time -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body -Wno-string= -plus-int -Wno-unused-const-variable -Wno-error=3Dunused-but-set-parameter -Wno-error=3Dcast-function-type-mismatch -Wno-missing-variable-declarations= -Qunused-arguments -march=3Dnative -fPIE -std=3Dgnu++17 -c /usr/src/sbin/devd/devd.cc= -o devd.pieo /usr/src/sbin/devd/devd.cc:1228:2: error: "Remove this gross hack" 1228 | #= error "Remove this gross hack" | ^ 1 error generated. *** Error code 1 Stop. make[4]: stopped making "all" in /usr/src/sbin/devd *** Error code 1 Thanks in advance, oh --=20 A FreeBSD user --Sig_/QAGe5stV.sJC7IFS=VQTixK Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRQheDybVktG5eW/1Kxzvs8OqokrwUCaLpjdwAKCRCxzvs8Oqok r9CvAP99zOqUn56+0jFxdDWHsmYK9oOjldd14w2JfhBYstZg9AEAjAi02gvxjmA3 +Wus1XUZ7itptUnadzEXuimhPfEopQ8= =RA4+ -----END PGP SIGNATURE----- --Sig_/QAGe5stV.sJC7IFS=VQTixK-- From nobody Fri Sep 5 04:17:18 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJ33J30Y2z672dv for ; Fri, 05 Sep 2025 04:17:32 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (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 4cJ33J01t7z3Zqk for ; Fri, 05 Sep 2025 04:17:31 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-3d19699240dso1652631f8f.1 for ; Thu, 04 Sep 2025 21:17:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757045850; x=1757650650; 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=TVWzf4JeBRV57nbKUImKc0OWvum7FbSF9oybQLH89is=; b=o09q5u2o3HsVO9nKlvilOeveMLZ7pJDNrywTteMPjgdb0fhJe57Yva7hrEToSLwGqE 8w5887jc7mjLHtNxrIPszxxiRoWcdX0vJeapvIFC6NlAsjtedLNDOpoH5S9mEt/Xff+8 tqF9hR9GzueSwIXzh3zBmD5EZ3sRISpJpBu+bo4+AwSLD1WnGbUNzi2IJt12sSJfZQWK 4J7wjHZT/oBgiddBV5R4JDKKOBD2w/ihnfb5SFighixqeQrqozhFPf3EEdb8eAfdEi1w WQG1T19L5mg9ksamjpDMGu3o52yURcirYSa/7nar0qHgTVrIS3bdxBHwAIUmhiXatiQ8 GuKw== X-Forwarded-Encrypted: i=1; AJvYcCXKBy/HVrrw22w9kHDEYK3N8SbgsB53O2uUGa0nvIrjQ1t5Ci4usGIAgOFjkKVJmBv7GGkh4bDV4+C4CPFcYOJ4noJNbQ==@freebsd.org X-Gm-Message-State: AOJu0YziLJXqHVGvUxBWSdnapOA5Fu6/rVVuGJEpl8tJ/qfBNNcjO2sZ Fg8rgl589XgCbHDYt2eRKg6z+A92JWp7dEelw+1GW7BMYWmcQSmLSY+u5+2Vhta+//8= X-Gm-Gg: ASbGncsZqB5CSz1JJAbJ+B27YoVAo/gyNqS3LPihIjLKSX8lNXXZiWyj/i/CAoJ8Nuj uIIhz7lhGlNvKqLb+wT6TLBYlrM8rvzG9LSrqVhHuAB0dFn61kOSaYf6SlVgMgG1pCKk6o3JTV+ I4+FgfaEwmyeVeMfPJ6jeIsQ1wc4Qqt1UDTLIOxSNIikQ5fPj/VyFJOfuAT95L0xf1jvatBPwAn vAd58Z6Z6GsjM7sGaJqNMMIBimlZOolyS0F4tG1F0lB+Shglu+SVwQAYv1VoiIshqVTruDsNtBt q+OayaOX5UpD5SgINjAsgJie9jr7sY4E2Sjflx2FiiYziqBYuOjB+D1wxzvaMO6IgYUjgnq/3kq bMY2WNX0pbPhwiJ+ucF+vpZM1cVcpUPYuS0betDxpPvTcpcOUorp6MJseToTtcD+isOldwg== X-Google-Smtp-Source: AGHT+IF0F6oL4+z5ZY+NtUUxJlUVKfRsOZHJYK9x/XyxT81WXG+Pji/p2mREATaqqXHd/gTZRiAQlA== X-Received: by 2002:a05:6000:2903:b0:3dc:280c:51e8 with SMTP id ffacd0b85a97d-3e301d18f1fmr1247033f8f.15.1757045849964; Thu, 04 Sep 2025 21:17:29 -0700 (PDT) Received: from smtpclient.apple (nat-184-7.net.cam.ac.uk. [131.111.184.7]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3cf270fc3fasm29442159f8f.5.2025.09.04.21.17.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Sep 2025 21:17:29 -0700 (PDT) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81\)) Subject: Re: git: aef807876c30 - main - moused(8): Add support for evdev protocol From: Jessica Clarke In-Reply-To: <20250905061122.69e01f1a@thor.sb211.local> Date: Fri, 5 Sep 2025 05:17:18 +0100 Cc: Vladimir Kondratyev , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <4AC13FF6-98EB-41C9-83EC-E8B9FB6A1093@freebsd.org> References: <202509042108.584L86Ro060944@gitrepo.freebsd.org> <20250905061122.69e01f1a@thor.sb211.local> To: A FreeBSD User X-Mailer: Apple Mail (2.3826.700.81) X-Spamd-Bar: ---- 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-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cJ33J01t7z3Zqk On 5 Sep 2025, at 05:13, A FreeBSD User wrote: > Am Tage des Herren Thu, 4 Sep 2025 21:08:06 GMT > Vladimir Kondratyev schrieb: >=20 >> The branch main has been updated by wulf: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3Daef807876c305587c60f73e2cd914115= d22a53fd >>=20 >> commit aef807876c305587c60f73e2cd914115d22a53fd >> Author: Vladimir Kondratyev >> AuthorDate: 2025-09-04 21:07:25 +0000 >> Commit: Vladimir Kondratyev >> CommitDate: 2025-09-04 21:07:25 +0000 >>=20 >> moused(8): Add support for evdev protocol >>=20 >> The new daemon have following properties as compared with previous >> incarnation: >> - evdev protocol support for mices and touchpads. Additionally to >> relative PS/2 and USB devices it enables console support for = I2C/USB >> touchpads and bluetooth mices. >> - Other aged protocols like COM, raw PS/2 and X10 are dropped with = only >> exception of sysmouse. For those who still use them there is an >> utility called msconvd(8). >> - single daemon per system where hotplug is processed via devd = socket. >> Per device mode still supported too. >> - Configuration and quirks files in libinput-compatible format. >> Actually, the new moused config parser is taken from libinput. >>=20 >> The moused(8) can work in 2 modes: >> 1. Evdev support mode. It enables all previously mentioned = devices. >> It is enabled by deault. >> 2. Sysmouse support mode. All should work as before. >> No new devices supported. To enable it add following lines to >> /etc/rc.conf: >> moused_port=3D"/dev/psm0" >> moused_nondefault_enable=3D"YES" >> One may add hw.usb.usbhid.enable=3D0 to /boot/loader.conf to = enable >> ums(4) driver which supports sysmouse protocol. >>=20 >> Differential Revision: https://reviews.freebsd.org/D52164 >> --- >> libexec/rc/rc.conf | 8 +- >> libexec/rc/rc.d/Makefile | 1 + >> libexec/rc/rc.d/msconvd | 61 + >> tools/build/mk/OptionalObsoleteFiles.inc | 7 + >> usr.sbin/moused/Makefile | 12 +- >> usr.sbin/moused/Makefile.depend | 17 - >> usr.sbin/moused/moused/Makefile | 28 + >> usr.sbin/moused/moused/event-names.h | 1656 ++++++++++ >> usr.sbin/moused/moused/moused.8 | 538 ++++ >> usr.sbin/moused/moused/moused.c | 3205 = ++++++++++++++++++++ >> usr.sbin/moused/moused/moused.conf | 43 + >> usr.sbin/moused/moused/moused.conf.5 | 422 +++ >> usr.sbin/moused/moused/quirks.c | 2033 = +++++++++++++ >> usr.sbin/moused/moused/quirks.h | 369 +++ >> .../moused/moused/quirks/5-generic-touchpad.quirks | 9 + >> usr.sbin/moused/moused/util-evdev.c | 173 ++ >> usr.sbin/moused/moused/util-evdev.h | 35 + >> usr.sbin/moused/moused/util-list.c | 86 + >> usr.sbin/moused/moused/util-list.h | 194 ++ >> usr.sbin/moused/moused/util.c | 423 +++ >> usr.sbin/moused/moused/util.h | 413 +++ >> usr.sbin/moused/msconvd/Makefile | 8 + >> usr.sbin/moused/{moused.8 =3D> msconvd/msconvd.8} | 395 +-- >> usr.sbin/moused/{moused.c =3D> msconvd/msconvd.c} | 1212 ++------ >> 24 files changed, 10008 insertions(+), 1340 deletions(-) >>=20 >> diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf >> index bfa46bd343a6..0ef3012892dd 100644 >> --- a/libexec/rc/rc.conf >> +++ b/libexec/rc/rc.conf >> @@ -586,15 +586,19 @@ font8x14=3D"NO" # font 8x14 from >> /usr/share/{syscons,vt}/fonts/* (or NO). font8x8=3D"NO" # font 8x8 = from >> /usr/share/{syscons,vt}/fonts/* (or NO). blanktime=3D"300" # blank = time (in >> seconds) or "NO" to turn it off. saver=3D"NO" # screen saver: Uses >> /boot/kernel/${saver}_saver.ko -moused_nondefault_enable=3D"YES" # = Treat non-default mice as >> enabled unless +moused_nondefault_enable=3D"NO" # Treat non-default = mice as enabled unless >> # specifically overridden in rc.conf(5). >> moused_enable=3D"NO" # Run the mouse daemon. >> moused_type=3D"auto" # See man page for rc.conf(5) for available = settings. >> -moused_port=3D"/dev/psm0" # Set to your mouse port. >> +moused_port=3D"auto" # Set to your mouse port. >> moused_flags=3D"" # Any additional flags to moused. >> mousechar_start=3D"NO" # if 0xd0-0xd3 default range is occupied in = your >> # language code table, specify alternative range >> # start like mousechar_start=3D3, see vidcontrol(1) >> +msconvd_enable=3D"NO" # Run the mouse protocol conversion daemon. >> +msconvd_type=3D"auto" # See rc.conf(5) man page for available = moused_type-s. >> +msconvd_ports=3D"" # List of msconvd ports. >> +msconvd_flags=3D"" # Any additional flags to msconvd. >> allscreens_flags=3D"" # Set this vidcontrol mode for all virtual = screens >> allscreens_kbdflags=3D"" # Set this kbdcontrol mode for all virtual = screens >>=20 >> diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile >> index 7c1f50b027a9..e5ee34e62185 100644 >> --- a/libexec/rc/rc.d/Makefile >> +++ b/libexec/rc/rc.d/Makefile >> @@ -273,6 +273,7 @@ JAILPACKAGE=3D jail >> .if ${MK_LEGACY_CONSOLE} !=3D "no" >> CONFGROUPS+=3D CONSOLE >> CONSOLE+=3D moused >> +CONSOLE+=3D msconvd >> CONSOLE+=3D syscons >> CONSOLEPACKAGE=3D console-tools >> .endif >> diff --git a/libexec/rc/rc.d/msconvd b/libexec/rc/rc.d/msconvd >> new file mode 100755 >> index 000000000000..c2a96bf2eb68 >> --- /dev/null >> +++ b/libexec/rc/rc.d/msconvd >> @@ -0,0 +1,61 @@ >> +#!/bin/sh >> +# >> +# >> + >> +# PROVIDE: msconvd >> +# REQUIRE: DAEMON FILESYSTEMS >> +# KEYWORD: nojail shutdown >> + >> +. /etc/rc.subr >> + >> +name=3D"msconvd" >> +desc=3D"Mouse protocol conversion daemon" >> +command=3D"/usr/sbin/${name}" >> +start_cmd=3D"msconvd_start" >> +pidprefix=3D"/var/run/msconvd" >> +load_rc_config $name >> + >> +: ${msconvd_enable=3D"NO"} >> +: ${msconvd_type=3D"auto"} >> + >> +# doesn't make sense to run in a svcj: nojail keyword >> +# XXX: How does msconvd communiacte with the kernel? >> +# XXX: Does the kernel prevent this communcation in jails? >> +msconvd_svcj=3D"NO" >> + >> +# Set the pid file and variable name. The second argument, if it = exists, is >> +# expected to be the mouse device. >> +# >> +if [ -n "$2" ]; then >> + eval msconvd_$2_enable=3D\${msconvd_$2_enable-${msconvd_enable}} >> + rcvar=3D"msconvd_$2_enable" >> + pidfile=3D"${pidprefix}.$2.pid" >> +else >> + for ms in ${msconvd_ports}; do >> + /etc/rc.d/msconvd $1 ${ms} >> + done >> + exit 0 >> +fi >> + >> +msconvd_start() >> +{ >> + local ms myflags myport mytype >> + >> + # Set the mouse device and get any related variables. If >> + # a msconvd device has been specified on the commandline, then >> + # rc.conf(5) variables defined for that device take precedence >> + # over the generic msconvd_* variables. The only exception is >> + # the msconvd_port variable, which if not defined sets it to >> + # the passed in device name. >> + # >> + ms=3D$1 >> + eval myflags=3D\${msconvd_${ms}_flags-$msconvd_flags} >> + eval myport=3D\${msconvd_${ms}_port-/dev/${ms}} >> + eval mytype=3D\${msconvd_${ms}_type-$msconvd_type} >> + >> + startmsg -n "Starting ${ms} ${name}" >> + ${command} ${myflags} -p ${myport} -t ${mytype} -I ${pidfile} >> + startmsg '.' >> +} >> + >> +run_rc_command $* >> diff --git a/tools/build/mk/OptionalObsoleteFiles.inc >> b/tools/build/mk/OptionalObsoleteFiles.inc index = 5eea402c4526..a2fb28f1a186 100644 >> --- a/tools/build/mk/OptionalObsoleteFiles.inc >> +++ b/tools/build/mk/OptionalObsoleteFiles.inc >> @@ -3793,11 +3793,14 @@ OLD_FILES+=3Dusr/share/man/man1/host.1.gz >> .endif >>=20 >> .if ${MK_LEGACY_CONSOLE} =3D=3D no >> +OLD_FILES+=3Detc/moused.conf >> OLD_FILES+=3Detc/rc.d/moused >> +OLD_FILES+=3Detc/rc.d/msconvd >> OLD_FILES+=3Detc/rc.d/syscons >> OLD_FILES+=3Dusr/sbin/kbdcontrol >> OLD_FILES+=3Dusr/sbin/kbdmap >> OLD_FILES+=3Dusr/sbin/moused >> +OLD_FILES+=3Dusr/sbin/msconvd >> OLD_FILES+=3Dusr/sbin/vidcontrol >> OLD_FILES+=3Dusr/sbin/vidfont >> OLD_FILES+=3Dusr/share/man/man1/kbdcontrol.1.gz >> @@ -3806,7 +3809,11 @@ OLD_FILES+=3Dusr/share/man/man1/vidcontrol.1.gz >> OLD_FILES+=3Dusr/share/man/man1/vidfont.1.gz >> OLD_FILES+=3Dusr/share/man/man5/kbdmap.5.gz >> OLD_FILES+=3Dusr/share/man/man5/keymap.5.gz >> +OLD_FILES+=3Dusr/share/man/man5/moused.conf.5.gz >> OLD_FILES+=3Dusr/share/man/man8/moused.8.gz >> +OLD_FILES+=3Dusr/share/man/man8/msconvd.8.gz >> +OLD_FILES+=3Dusr/share/moused/5-generic-touchpad.quirks >> +OLD_DIRS+=3Dusr/share/moused >> .endif >>=20 >> .for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats} >> diff --git a/usr.sbin/moused/Makefile b/usr.sbin/moused/Makefile >> index 2a7aa0484542..b6319b6fef20 100644 >> --- a/usr.sbin/moused/Makefile >> +++ b/usr.sbin/moused/Makefile >> @@ -1,10 +1,4 @@ >> -PACKAGE=3D console-tools >> -PROG=3D moused >> -MAN=3D moused.8 >> +SUBDIR+=3Dmoused >> +SUBDIR+=3Dmsconvd >>=20 >> -LIBADD=3D m util >> - >> -#BINMODE=3D4555 >> -#PRECIOUSPROG=3D >> - >> -.include >> +.include >> diff --git a/usr.sbin/moused/Makefile.depend = b/usr.sbin/moused/Makefile.depend >> deleted file mode 100644 >> index af3b7054df7a..000000000000 >> --- a/usr.sbin/moused/Makefile.depend >> +++ /dev/null >> @@ -1,17 +0,0 @@ >> -# Autogenerated - do NOT edit! >> - >> -DIRDEPS =3D \ >> - include \ >> - include/xlocale \ >> - lib/${CSU_DIR} \ >> - lib/libc \ >> - lib/libcompiler_rt \ >> - lib/libutil \ >> - lib/msun \ >> - >> - >> -.include >> - >> -.if ${DEP_RELDIR} =3D=3D ${_DEP_RELDIR} >> -# local dependencies - needed for -jN in clean tree >> -.endif >> diff --git a/usr.sbin/moused/moused/Makefile = b/usr.sbin/moused/moused/Makefile >> new file mode 100644 >> index 000000000000..8479764b710b >> --- /dev/null >> +++ b/usr.sbin/moused/moused/Makefile >> @@ -0,0 +1,28 @@ >> +PACKAGE=3D console-tools >> +PROG=3D moused >> + >> +SRCS=3D moused.c \ >> + event-names.h \ >> + quirks.c \ >> + quirks.h \ >> + util.c \ >> + util.h \ >> + util-evdev.c \ >> + util-evdev.h \ >> + util-list.c \ >> + util-list.h >> +MAN=3D moused.8 \ >> + moused.conf.5 >> +CONFS=3D moused.conf >> +QUIRKS=3D 5-generic-touchpad.quirks >> + >> +CWARNFLAGS.quirks.c+=3D -Wno-cast-align -Wno-shadow -Wno-cast-qual \ >> + -Wno-unused-variable -Wno-unused-parameter >> +CWARNFLAGS.util.c+=3D -Wno-shadow >> +LIBADD=3D m util >> +BINDIR=3D /usr/sbin >> + >> +FILES=3D ${QUIRKS:S|^|quirks/|} >> +FILESDIR=3D /usr/share/${PROG} >> + >> +.include >> diff --git a/usr.sbin/moused/moused/event-names.h = b/usr.sbin/moused/moused/event-names.h >> new file mode 100644 >> index 000000000000..05093a1d0db3 >> --- /dev/null >> +++ b/usr.sbin/moused/moused/event-names.h >> @@ -0,0 +1,1656 @@ >> +/* THIS FILE IS GENERATED, DO NOT EDIT */ >> + >> +#ifndef EVENT_NAMES_H >> +#define EVENT_NAMES_H >> + >> +static const char * const ev_map[EV_MAX + 1] =3D { >> + [EV_SYN] =3D "EV_SYN", >> + [EV_KEY] =3D "EV_KEY", >> + [EV_REL] =3D "EV_REL", >> + [EV_ABS] =3D "EV_ABS", >> + [EV_MSC] =3D "EV_MSC", >> + [EV_SW] =3D "EV_SW", >> + [EV_LED] =3D "EV_LED", >> + [EV_SND] =3D "EV_SND", >> + [EV_REP] =3D "EV_REP", >> + [EV_FF] =3D "EV_FF", >> + [EV_PWR] =3D "EV_PWR", >> + [EV_FF_STATUS] =3D "EV_FF_STATUS", >> + [EV_MAX] =3D "EV_MAX", >> +}; >> + >> +static const char * const rel_map[REL_MAX + 1] =3D { >> + [REL_X] =3D "REL_X", >> + [REL_Y] =3D "REL_Y", >> + [REL_Z] =3D "REL_Z", >> + [REL_RX] =3D "REL_RX", >> + [REL_RY] =3D "REL_RY", >> + [REL_RZ] =3D "REL_RZ", >> + [REL_HWHEEL] =3D "REL_HWHEEL", >> + [REL_DIAL] =3D "REL_DIAL", >> + [REL_WHEEL] =3D "REL_WHEEL", >> + [REL_MISC] =3D "REL_MISC", >> + [REL_RESERVED] =3D "REL_RESERVED", >> + [REL_WHEEL_HI_RES] =3D "REL_WHEEL_HI_RES", >> + [REL_HWHEEL_HI_RES] =3D "REL_HWHEEL_HI_RES", >> + [REL_MAX] =3D "REL_MAX", >> +}; >> + >> +static const char * const abs_map[ABS_MAX + 1] =3D { >> + [ABS_X] =3D "ABS_X", >> + [ABS_Y] =3D "ABS_Y", >> + [ABS_Z] =3D "ABS_Z", >> + [ABS_RX] =3D "ABS_RX", >> + [ABS_RY] =3D "ABS_RY", >> + [ABS_RZ] =3D "ABS_RZ", >> + [ABS_THROTTLE] =3D "ABS_THROTTLE", >> + [ABS_RUDDER] =3D "ABS_RUDDER", >> + [ABS_WHEEL] =3D "ABS_WHEEL", >> + [ABS_GAS] =3D "ABS_GAS", >> + [ABS_BRAKE] =3D "ABS_BRAKE", >> + [ABS_HAT0X] =3D "ABS_HAT0X", >> + [ABS_HAT0Y] =3D "ABS_HAT0Y", >> + [ABS_HAT1X] =3D "ABS_HAT1X", >> + [ABS_HAT1Y] =3D "ABS_HAT1Y", >> + [ABS_HAT2X] =3D "ABS_HAT2X", >> + [ABS_HAT2Y] =3D "ABS_HAT2Y", >> + [ABS_HAT3X] =3D "ABS_HAT3X", >> + [ABS_HAT3Y] =3D "ABS_HAT3Y", >> + [ABS_PRESSURE] =3D "ABS_PRESSURE", >> + [ABS_DISTANCE] =3D "ABS_DISTANCE", >> + [ABS_TILT_X] =3D "ABS_TILT_X", >> + [ABS_TILT_Y] =3D "ABS_TILT_Y", >> + [ABS_TOOL_WIDTH] =3D "ABS_TOOL_WIDTH", >> + [ABS_VOLUME] =3D "ABS_VOLUME", >> + // [ABS_PROFILE] =3D "ABS_PROFILE", >> + [ABS_MISC] =3D "ABS_MISC", >> + [ABS_RESERVED] =3D "ABS_RESERVED", >> + [ABS_MT_SLOT] =3D "ABS_MT_SLOT", >> + [ABS_MT_TOUCH_MAJOR] =3D "ABS_MT_TOUCH_MAJOR", >> + [ABS_MT_TOUCH_MINOR] =3D "ABS_MT_TOUCH_MINOR", >> + [ABS_MT_WIDTH_MAJOR] =3D "ABS_MT_WIDTH_MAJOR", >> + [ABS_MT_WIDTH_MINOR] =3D "ABS_MT_WIDTH_MINOR", >> + [ABS_MT_ORIENTATION] =3D "ABS_MT_ORIENTATION", >> + [ABS_MT_POSITION_X] =3D "ABS_MT_POSITION_X", >> + [ABS_MT_POSITION_Y] =3D "ABS_MT_POSITION_Y", >> + [ABS_MT_TOOL_TYPE] =3D "ABS_MT_TOOL_TYPE", >> + [ABS_MT_BLOB_ID] =3D "ABS_MT_BLOB_ID", >> + [ABS_MT_TRACKING_ID] =3D "ABS_MT_TRACKING_ID", >> + [ABS_MT_PRESSURE] =3D "ABS_MT_PRESSURE", >> + [ABS_MT_DISTANCE] =3D "ABS_MT_DISTANCE", >> + [ABS_MT_TOOL_X] =3D "ABS_MT_TOOL_X", >> + [ABS_MT_TOOL_Y] =3D "ABS_MT_TOOL_Y", >> + [ABS_MAX] =3D "ABS_MAX", >> +}; >> + >> +static const char * const key_map[KEY_MAX + 1] =3D { >> + [KEY_RESERVED] =3D "KEY_RESERVED", >> + [KEY_ESC] =3D "KEY_ESC", >> + [KEY_1] =3D "KEY_1", >> + [KEY_2] =3D "KEY_2", >> + [KEY_3] =3D "KEY_3", >> + [KEY_4] =3D "KEY_4", >> + [KEY_5] =3D "KEY_5", >> + [KEY_6] =3D "KEY_6", >> + [KEY_7] =3D "KEY_7", >> + [KEY_8] =3D "KEY_8", >> + [KEY_9] =3D "KEY_9", >> + [KEY_0] =3D "KEY_0", >> + [KEY_MINUS] =3D "KEY_MINUS", >> + [KEY_EQUAL] =3D "KEY_EQUAL", >> + [KEY_BACKSPACE] =3D "KEY_BACKSPACE", >> + [KEY_TAB] =3D "KEY_TAB", >> + [KEY_Q] =3D "KEY_Q", >> + [KEY_W] =3D "KEY_W", >> + [KEY_E] =3D "KEY_E", >> + [KEY_R] =3D "KEY_R", >> + [KEY_T] =3D "KEY_T", >> + [KEY_Y] =3D "KEY_Y", >> + [KEY_U] =3D "KEY_U", >> + [KEY_I] =3D "KEY_I", >> + [KEY_O] =3D "KEY_O", >> + [KEY_P] =3D "KEY_P", >> + [KEY_LEFTBRACE] =3D "KEY_LEFTBRACE", >> + [KEY_RIGHTBRACE] =3D "KEY_RIGHTBRACE", >> + [KEY_ENTER] =3D "KEY_ENTER", >> + [KEY_LEFTCTRL] =3D "KEY_LEFTCTRL", >> + [KEY_A] =3D "KEY_A", >> + [KEY_S] =3D "KEY_S", >> + [KEY_D] =3D "KEY_D", >> + [KEY_F] =3D "KEY_F", >> + [KEY_G] =3D "KEY_G", >> + [KEY_H] =3D "KEY_H", >> + [KEY_J] =3D "KEY_J", >> + [KEY_K] =3D "KEY_K", >> + [KEY_L] =3D "KEY_L", >> + [KEY_SEMICOLON] =3D "KEY_SEMICOLON", >> + [KEY_APOSTROPHE] =3D "KEY_APOSTROPHE", >> + [KEY_GRAVE] =3D "KEY_GRAVE", >> + [KEY_LEFTSHIFT] =3D "KEY_LEFTSHIFT", >> + [KEY_BACKSLASH] =3D "KEY_BACKSLASH", >> + [KEY_Z] =3D "KEY_Z", >> + [KEY_X] =3D "KEY_X", >> + [KEY_C] =3D "KEY_C", >> + [KEY_V] =3D "KEY_V", >> + [KEY_B] =3D "KEY_B", >> + [KEY_N] =3D "KEY_N", >> + [KEY_M] =3D "KEY_M", >> + [KEY_COMMA] =3D "KEY_COMMA", >> + [KEY_DOT] =3D "KEY_DOT", >> + [KEY_SLASH] =3D "KEY_SLASH", >> + [KEY_RIGHTSHIFT] =3D "KEY_RIGHTSHIFT", >> + [KEY_KPASTERISK] =3D "KEY_KPASTERISK", >> + [KEY_LEFTALT] =3D "KEY_LEFTALT", >> + [KEY_SPACE] =3D "KEY_SPACE", >> + [KEY_CAPSLOCK] =3D "KEY_CAPSLOCK", >> + [KEY_F1] =3D "KEY_F1", >> + [KEY_F2] =3D "KEY_F2", >> + [KEY_F3] =3D "KEY_F3", >> + [KEY_F4] =3D "KEY_F4", >> + [KEY_F5] =3D "KEY_F5", >> + [KEY_F6] =3D "KEY_F6", >> + [KEY_F7] =3D "KEY_F7", >> + [KEY_F8] =3D "KEY_F8", >> + [KEY_F9] =3D "KEY_F9", >> + [KEY_F10] =3D "KEY_F10", >> + [KEY_NUMLOCK] =3D "KEY_NUMLOCK", >> + [KEY_SCROLLLOCK] =3D "KEY_SCROLLLOCK", >> + [KEY_KP7] =3D "KEY_KP7", >> + [KEY_KP8] =3D "KEY_KP8", >> + [KEY_KP9] =3D "KEY_KP9", >> + [KEY_KPMINUS] =3D "KEY_KPMINUS", >> + [KEY_KP4] =3D "KEY_KP4", >> + [KEY_KP5] =3D "KEY_KP5", >> + [KEY_KP6] =3D "KEY_KP6", >> + [KEY_KPPLUS] =3D "KEY_KPPLUS", >> + [KEY_KP1] =3D "KEY_KP1", >> + [KEY_KP2] =3D "KEY_KP2", >> + [KEY_KP3] =3D "KEY_KP3", >> + [KEY_KP0] =3D "KEY_KP0", >> + [KEY_KPDOT] =3D "KEY_KPDOT", >> + [KEY_ZENKAKUHANKAKU] =3D "KEY_ZENKAKUHANKAKU", >> + [KEY_102ND] =3D "KEY_102ND", >> + [KEY_F11] =3D "KEY_F11", >> + [KEY_F12] =3D "KEY_F12", >> + [KEY_RO] =3D "KEY_RO", >> + [KEY_KATAKANA] =3D "KEY_KATAKANA", >> + [KEY_HIRAGANA] =3D "KEY_HIRAGANA", >> + [KEY_HENKAN] =3D "KEY_HENKAN", >> + [KEY_KATAKANAHIRAGANA] =3D "KEY_KATAKANAHIRAGANA", >> + [KEY_MUHENKAN] =3D "KEY_MUHENKAN", >> + [KEY_KPJPCOMMA] =3D "KEY_KPJPCOMMA", >> + [KEY_KPENTER] =3D "KEY_KPENTER", >> + [KEY_RIGHTCTRL] =3D "KEY_RIGHTCTRL", >> + [KEY_KPSLASH] =3D "KEY_KPSLASH", >> + [KEY_SYSRQ] =3D "KEY_SYSRQ", >> + [KEY_RIGHTALT] =3D "KEY_RIGHTALT", >> + [KEY_LINEFEED] =3D "KEY_LINEFEED", >> + [KEY_HOME] =3D "KEY_HOME", >> + [KEY_UP] =3D "KEY_UP", >> + [KEY_PAGEUP] =3D "KEY_PAGEUP", >> + [KEY_LEFT] =3D "KEY_LEFT", >> + [KEY_RIGHT] =3D "KEY_RIGHT", >> + [KEY_END] =3D "KEY_END", >> + [KEY_DOWN] =3D "KEY_DOWN", >> + [KEY_PAGEDOWN] =3D "KEY_PAGEDOWN", >> + [KEY_INSERT] =3D "KEY_INSERT", >> + [KEY_DELETE] =3D "KEY_DELETE", >> + [KEY_MACRO] =3D "KEY_MACRO", >> + [KEY_MUTE] =3D "KEY_MUTE", >> + [KEY_VOLUMEDOWN] =3D "KEY_VOLUMEDOWN", >> + [KEY_VOLUMEUP] =3D "KEY_VOLUMEUP", >> + [KEY_POWER] =3D "KEY_POWER", >> + [KEY_KPEQUAL] =3D "KEY_KPEQUAL", >> + [KEY_KPPLUSMINUS] =3D "KEY_KPPLUSMINUS", >> + [KEY_PAUSE] =3D "KEY_PAUSE", >> + [KEY_SCALE] =3D "KEY_SCALE", >> + [KEY_KPCOMMA] =3D "KEY_KPCOMMA", >> + [KEY_HANGEUL] =3D "KEY_HANGEUL", >> + [KEY_HANJA] =3D "KEY_HANJA", >> + [KEY_YEN] =3D "KEY_YEN", >> + [KEY_LEFTMETA] =3D "KEY_LEFTMETA", >> + [KEY_RIGHTMETA] =3D "KEY_RIGHTMETA", >> + [KEY_COMPOSE] =3D "KEY_COMPOSE", >> + [KEY_STOP] =3D "KEY_STOP", >> + [KEY_AGAIN] =3D "KEY_AGAIN", >> + [KEY_PROPS] =3D "KEY_PROPS", >> + [KEY_UNDO] =3D "KEY_UNDO", >> + [KEY_FRONT] =3D "KEY_FRONT", >> + [KEY_COPY] =3D "KEY_COPY", >> + [KEY_OPEN] =3D "KEY_OPEN", >> + [KEY_PASTE] =3D "KEY_PASTE", >> + [KEY_FIND] =3D "KEY_FIND", >> + [KEY_CUT] =3D "KEY_CUT", >> + [KEY_HELP] =3D "KEY_HELP", >> + [KEY_MENU] =3D "KEY_MENU", >> + [KEY_CALC] =3D "KEY_CALC", >> + [KEY_SETUP] =3D "KEY_SETUP", >> + [KEY_SLEEP] =3D "KEY_SLEEP", >> + [KEY_WAKEUP] =3D "KEY_WAKEUP", >> + [KEY_FILE] =3D "KEY_FILE", >> + [KEY_SENDFILE] =3D "KEY_SENDFILE", >> + [KEY_DELETEFILE] =3D "KEY_DELETEFILE", >> + [KEY_XFER] =3D "KEY_XFER", >> + [KEY_PROG1] =3D "KEY_PROG1", >> + [KEY_PROG2] =3D "KEY_PROG2", >> + [KEY_WWW] =3D "KEY_WWW", >> + [KEY_MSDOS] =3D "KEY_MSDOS", >> + [KEY_COFFEE] =3D "KEY_COFFEE", >> + [KEY_ROTATE_DISPLAY] =3D "KEY_ROTATE_DISPLAY", >> + [KEY_CYCLEWINDOWS] =3D "KEY_CYCLEWINDOWS", >> + [KEY_MAIL] =3D "KEY_MAIL", >> + [KEY_BOOKMARKS] =3D "KEY_BOOKMARKS", >> + [KEY_COMPUTER] =3D "KEY_COMPUTER", >> + [KEY_BACK] =3D "KEY_BACK", >> + [KEY_FORWARD] =3D "KEY_FORWARD", >> + [KEY_CLOSECD] =3D "KEY_CLOSECD", >> + [KEY_EJECTCD] =3D "KEY_EJECTCD", >> + [KEY_EJECTCLOSECD] =3D "KEY_EJECTCLOSECD", >> + [KEY_NEXTSONG] =3D "KEY_NEXTSONG", >> + [KEY_PLAYPAUSE] =3D "KEY_PLAYPAUSE", >> + [KEY_PREVIOUSSONG] =3D "KEY_PREVIOUSSONG", >> + [KEY_STOPCD] =3D "KEY_STOPCD", >> + [KEY_RECORD] =3D "KEY_RECORD", >> + [KEY_REWIND] =3D "KEY_REWIND", >> + [KEY_PHONE] =3D "KEY_PHONE", >> + [KEY_ISO] =3D "KEY_ISO", >> + [KEY_CONFIG] =3D "KEY_CONFIG", >> + [KEY_HOMEPAGE] =3D "KEY_HOMEPAGE", >> + [KEY_REFRESH] =3D "KEY_REFRESH", >> + [KEY_EXIT] =3D "KEY_EXIT", >> + [KEY_MOVE] =3D "KEY_MOVE", >> + [KEY_EDIT] =3D "KEY_EDIT", >> + [KEY_SCROLLUP] =3D "KEY_SCROLLUP", >> + [KEY_SCROLLDOWN] =3D "KEY_SCROLLDOWN", >> + [KEY_KPLEFTPAREN] =3D "KEY_KPLEFTPAREN", >> + [KEY_KPRIGHTPAREN] =3D "KEY_KPRIGHTPAREN", >> + [KEY_NEW] =3D "KEY_NEW", >> + [KEY_REDO] =3D "KEY_REDO", >> + [KEY_F13] =3D "KEY_F13", >> + [KEY_F14] =3D "KEY_F14", >> + [KEY_F15] =3D "KEY_F15", >> + [KEY_F16] =3D "KEY_F16", >> + [KEY_F17] =3D "KEY_F17", >> + [KEY_F18] =3D "KEY_F18", >> + [KEY_F19] =3D "KEY_F19", >> + [KEY_F20] =3D "KEY_F20", >> + [KEY_F21] =3D "KEY_F21", >> + [KEY_F22] =3D "KEY_F22", >> + [KEY_F23] =3D "KEY_F23", >> + [KEY_F24] =3D "KEY_F24", >> + [KEY_PLAYCD] =3D "KEY_PLAYCD", >> + [KEY_PAUSECD] =3D "KEY_PAUSECD", >> + [KEY_PROG3] =3D "KEY_PROG3", >> + [KEY_PROG4] =3D "KEY_PROG4", >> + // [KEY_ALL_APPLICATIONS] =3D "KEY_ALL_APPLICATIONS", >> + [KEY_SUSPEND] =3D "KEY_SUSPEND", >> + [KEY_CLOSE] =3D "KEY_CLOSE", >> + [KEY_PLAY] =3D "KEY_PLAY", >> + [KEY_FASTFORWARD] =3D "KEY_FASTFORWARD", >> + [KEY_BASSBOOST] =3D "KEY_BASSBOOST", >> + [KEY_PRINT] =3D "KEY_PRINT", >> + [KEY_HP] =3D "KEY_HP", >> + [KEY_CAMERA] =3D "KEY_CAMERA", >> + [KEY_SOUND] =3D "KEY_SOUND", >> + [KEY_QUESTION] =3D "KEY_QUESTION", >> + [KEY_EMAIL] =3D "KEY_EMAIL", >> + [KEY_CHAT] =3D "KEY_CHAT", >> + [KEY_SEARCH] =3D "KEY_SEARCH", >> + [KEY_CONNECT] =3D "KEY_CONNECT", >> + [KEY_FINANCE] =3D "KEY_FINANCE", >> + [KEY_SPORT] =3D "KEY_SPORT", >> + [KEY_SHOP] =3D "KEY_SHOP", >> + [KEY_ALTERASE] =3D "KEY_ALTERASE", >> + [KEY_CANCEL] =3D "KEY_CANCEL", >> + [KEY_BRIGHTNESSDOWN] =3D "KEY_BRIGHTNESSDOWN", >> + [KEY_BRIGHTNESSUP] =3D "KEY_BRIGHTNESSUP", >> + [KEY_MEDIA] =3D "KEY_MEDIA", >> + [KEY_SWITCHVIDEOMODE] =3D "KEY_SWITCHVIDEOMODE", >> + [KEY_KBDILLUMTOGGLE] =3D "KEY_KBDILLUMTOGGLE", >> + [KEY_KBDILLUMDOWN] =3D "KEY_KBDILLUMDOWN", >> + [KEY_KBDILLUMUP] =3D "KEY_KBDILLUMUP", >> + [KEY_SEND] =3D "KEY_SEND", >> + [KEY_REPLY] =3D "KEY_REPLY", >> + [KEY_FORWARDMAIL] =3D "KEY_FORWARDMAIL", >> + [KEY_SAVE] =3D "KEY_SAVE", >> + [KEY_DOCUMENTS] =3D "KEY_DOCUMENTS", >> + [KEY_BATTERY] =3D "KEY_BATTERY", >> + [KEY_BLUETOOTH] =3D "KEY_BLUETOOTH", >> + [KEY_WLAN] =3D "KEY_WLAN", >> + [KEY_UWB] =3D "KEY_UWB", >> + [KEY_UNKNOWN] =3D "KEY_UNKNOWN", >> + [KEY_VIDEO_NEXT] =3D "KEY_VIDEO_NEXT", >> + [KEY_VIDEO_PREV] =3D "KEY_VIDEO_PREV", >> + [KEY_BRIGHTNESS_CYCLE] =3D "KEY_BRIGHTNESS_CYCLE", >> + [KEY_BRIGHTNESS_AUTO] =3D "KEY_BRIGHTNESS_AUTO", >> + [KEY_DISPLAY_OFF] =3D "KEY_DISPLAY_OFF", >> + [KEY_WWAN] =3D "KEY_WWAN", >> + [KEY_RFKILL] =3D "KEY_RFKILL", >> + [KEY_MICMUTE] =3D "KEY_MICMUTE", >> + [KEY_OK] =3D "KEY_OK", >> + [KEY_SELECT] =3D "KEY_SELECT", >> + [KEY_GOTO] =3D "KEY_GOTO", >> + [KEY_CLEAR] =3D "KEY_CLEAR", >> + [KEY_POWER2] =3D "KEY_POWER2", >> + [KEY_OPTION] =3D "KEY_OPTION", >> + [KEY_INFO] =3D "KEY_INFO", >> + [KEY_TIME] =3D "KEY_TIME", >> + [KEY_VENDOR] =3D "KEY_VENDOR", >> + [KEY_ARCHIVE] =3D "KEY_ARCHIVE", >> + [KEY_PROGRAM] =3D "KEY_PROGRAM", >> + [KEY_CHANNEL] =3D "KEY_CHANNEL", >> + [KEY_FAVORITES] =3D "KEY_FAVORITES", >> + [KEY_EPG] =3D "KEY_EPG", >> + [KEY_PVR] =3D "KEY_PVR", >> + [KEY_MHP] =3D "KEY_MHP", >> + [KEY_LANGUAGE] =3D "KEY_LANGUAGE", >> + [KEY_TITLE] =3D "KEY_TITLE", >> + [KEY_SUBTITLE] =3D "KEY_SUBTITLE", >> + [KEY_ANGLE] =3D "KEY_ANGLE", >> + [KEY_FULL_SCREEN] =3D "KEY_FULL_SCREEN", >> + [KEY_MODE] =3D "KEY_MODE", >> + [KEY_KEYBOARD] =3D "KEY_KEYBOARD", >> + [KEY_ASPECT_RATIO] =3D "KEY_ASPECT_RATIO", >> + [KEY_PC] =3D "KEY_PC", >> + [KEY_TV] =3D "KEY_TV", >> + [KEY_TV2] =3D "KEY_TV2", >> + [KEY_VCR] =3D "KEY_VCR", >> + [KEY_VCR2] =3D "KEY_VCR2", >> + [KEY_SAT] =3D "KEY_SAT", >> + [KEY_SAT2] =3D "KEY_SAT2", >> + [KEY_CD] =3D "KEY_CD", >> + [KEY_TAPE] =3D "KEY_TAPE", >> + [KEY_RADIO] =3D "KEY_RADIO", >> + [KEY_TUNER] =3D "KEY_TUNER", >> + [KEY_PLAYER] =3D "KEY_PLAYER", >> + [KEY_TEXT] =3D "KEY_TEXT", >> + [KEY_DVD] =3D "KEY_DVD", >> + [KEY_AUX] =3D "KEY_AUX", >> + [KEY_MP3] =3D "KEY_MP3", >> + [KEY_AUDIO] =3D "KEY_AUDIO", >> + [KEY_VIDEO] =3D "KEY_VIDEO", >> + [KEY_DIRECTORY] =3D "KEY_DIRECTORY", >> + [KEY_LIST] =3D "KEY_LIST", >> + [KEY_MEMO] =3D "KEY_MEMO", >> + [KEY_CALENDAR] =3D "KEY_CALENDAR", >> + [KEY_RED] =3D "KEY_RED", >> + [KEY_GREEN] =3D "KEY_GREEN", >> + [KEY_YELLOW] =3D "KEY_YELLOW", >> + [KEY_BLUE] =3D "KEY_BLUE", >> + [KEY_CHANNELUP] =3D "KEY_CHANNELUP", >> + [KEY_CHANNELDOWN] =3D "KEY_CHANNELDOWN", >> + [KEY_FIRST] =3D "KEY_FIRST", >> + [KEY_LAST] =3D "KEY_LAST", >> + [KEY_AB] =3D "KEY_AB", >> + [KEY_NEXT] =3D "KEY_NEXT", >> + [KEY_RESTART] =3D "KEY_RESTART", >> + [KEY_SLOW] =3D "KEY_SLOW", >> + [KEY_SHUFFLE] =3D "KEY_SHUFFLE", >> + [KEY_BREAK] =3D "KEY_BREAK", >> + [KEY_PREVIOUS] =3D "KEY_PREVIOUS", >> + [KEY_DIGITS] =3D "KEY_DIGITS", >> + [KEY_TEEN] =3D "KEY_TEEN", >> + [KEY_TWEN] =3D "KEY_TWEN", >> + [KEY_VIDEOPHONE] =3D "KEY_VIDEOPHONE", >> + [KEY_GAMES] =3D "KEY_GAMES", >> + [KEY_ZOOMIN] =3D "KEY_ZOOMIN", >> + [KEY_ZOOMOUT] =3D "KEY_ZOOMOUT", >> + [KEY_ZOOMRESET] =3D "KEY_ZOOMRESET", >> + [KEY_WORDPROCESSOR] =3D "KEY_WORDPROCESSOR", >> + [KEY_EDITOR] =3D "KEY_EDITOR", >> + [KEY_SPREADSHEET] =3D "KEY_SPREADSHEET", >> + [KEY_GRAPHICSEDITOR] =3D "KEY_GRAPHICSEDITOR", >> + [KEY_PRESENTATION] =3D "KEY_PRESENTATION", >> + [KEY_DATABASE] =3D "KEY_DATABASE", >> + [KEY_NEWS] =3D "KEY_NEWS", >> + [KEY_VOICEMAIL] =3D "KEY_VOICEMAIL", >> + [KEY_ADDRESSBOOK] =3D "KEY_ADDRESSBOOK", >> + [KEY_MESSENGER] =3D "KEY_MESSENGER", >> + [KEY_DISPLAYTOGGLE] =3D "KEY_DISPLAYTOGGLE", >> + [KEY_SPELLCHECK] =3D "KEY_SPELLCHECK", >> + [KEY_LOGOFF] =3D "KEY_LOGOFF", >> + [KEY_DOLLAR] =3D "KEY_DOLLAR", >> + [KEY_EURO] =3D "KEY_EURO", >> + [KEY_FRAMEBACK] =3D "KEY_FRAMEBACK", >> + [KEY_FRAMEFORWARD] =3D "KEY_FRAMEFORWARD", >> + [KEY_CONTEXT_MENU] =3D "KEY_CONTEXT_MENU", >> + [KEY_MEDIA_REPEAT] =3D "KEY_MEDIA_REPEAT", >> + [KEY_10CHANNELSUP] =3D "KEY_10CHANNELSUP", >> + [KEY_10CHANNELSDOWN] =3D "KEY_10CHANNELSDOWN", >> + [KEY_IMAGES] =3D "KEY_IMAGES", >> + // [KEY_NOTIFICATION_CENTER] =3D "KEY_NOTIFICATION_CENTER", >> + // [KEY_PICKUP_PHONE] =3D "KEY_PICKUP_PHONE", >> + // [KEY_HANGUP_PHONE] =3D "KEY_HANGUP_PHONE", >> + [KEY_DEL_EOL] =3D "KEY_DEL_EOL", >> + [KEY_DEL_EOS] =3D "KEY_DEL_EOS", >> + [KEY_INS_LINE] =3D "KEY_INS_LINE", >> + [KEY_DEL_LINE] =3D "KEY_DEL_LINE", >> + [KEY_FN] =3D "KEY_FN", >> + [KEY_FN_ESC] =3D "KEY_FN_ESC", >> + [KEY_FN_F1] =3D "KEY_FN_F1", >> + [KEY_FN_F2] =3D "KEY_FN_F2", >> + [KEY_FN_F3] =3D "KEY_FN_F3", >> + [KEY_FN_F4] =3D "KEY_FN_F4", >> + [KEY_FN_F5] =3D "KEY_FN_F5", >> + [KEY_FN_F6] =3D "KEY_FN_F6", >> + [KEY_FN_F7] =3D "KEY_FN_F7", >> + [KEY_FN_F8] =3D "KEY_FN_F8", >> + [KEY_FN_F9] =3D "KEY_FN_F9", >> + [KEY_FN_F10] =3D "KEY_FN_F10", >> + [KEY_FN_F11] =3D "KEY_FN_F11", >> + [KEY_FN_F12] =3D "KEY_FN_F12", >> + [KEY_FN_1] =3D "KEY_FN_1", >> + [KEY_FN_2] =3D "KEY_FN_2", >> + [KEY_FN_D] =3D "KEY_FN_D", >> + [KEY_FN_E] =3D "KEY_FN_E", >> + [KEY_FN_F] =3D "KEY_FN_F", >> + [KEY_FN_S] =3D "KEY_FN_S", >> + [KEY_FN_B] =3D "KEY_FN_B", >> + // [KEY_FN_RIGHT_SHIFT] =3D "KEY_FN_RIGHT_SHIFT", >> + [KEY_BRL_DOT1] =3D "KEY_BRL_DOT1", >> + [KEY_BRL_DOT2] =3D "KEY_BRL_DOT2", >> + [KEY_BRL_DOT3] =3D "KEY_BRL_DOT3", >> + [KEY_BRL_DOT4] =3D "KEY_BRL_DOT4", >> + [KEY_BRL_DOT5] =3D "KEY_BRL_DOT5", >> + [KEY_BRL_DOT6] =3D "KEY_BRL_DOT6", >> + [KEY_BRL_DOT7] =3D "KEY_BRL_DOT7", >> + [KEY_BRL_DOT8] =3D "KEY_BRL_DOT8", >> + [KEY_BRL_DOT9] =3D "KEY_BRL_DOT9", >> + [KEY_BRL_DOT10] =3D "KEY_BRL_DOT10", >> + [KEY_NUMERIC_0] =3D "KEY_NUMERIC_0", >> + [KEY_NUMERIC_1] =3D "KEY_NUMERIC_1", >> + [KEY_NUMERIC_2] =3D "KEY_NUMERIC_2", >> + [KEY_NUMERIC_3] =3D "KEY_NUMERIC_3", >> + [KEY_NUMERIC_4] =3D "KEY_NUMERIC_4", >> + [KEY_NUMERIC_5] =3D "KEY_NUMERIC_5", >> + [KEY_NUMERIC_6] =3D "KEY_NUMERIC_6", >> + [KEY_NUMERIC_7] =3D "KEY_NUMERIC_7", >> + [KEY_NUMERIC_8] =3D "KEY_NUMERIC_8", >> + [KEY_NUMERIC_9] =3D "KEY_NUMERIC_9", >> + [KEY_NUMERIC_STAR] =3D "KEY_NUMERIC_STAR", >> + [KEY_NUMERIC_POUND] =3D "KEY_NUMERIC_POUND", >> + [KEY_NUMERIC_A] =3D "KEY_NUMERIC_A", >> + [KEY_NUMERIC_B] =3D "KEY_NUMERIC_B", >> + [KEY_NUMERIC_C] =3D "KEY_NUMERIC_C", >> + [KEY_NUMERIC_D] =3D "KEY_NUMERIC_D", >> + [KEY_CAMERA_FOCUS] =3D "KEY_CAMERA_FOCUS", >> + [KEY_WPS_BUTTON] =3D "KEY_WPS_BUTTON", >> + [KEY_TOUCHPAD_TOGGLE] =3D "KEY_TOUCHPAD_TOGGLE", >> + [KEY_TOUCHPAD_ON] =3D "KEY_TOUCHPAD_ON", >> + [KEY_TOUCHPAD_OFF] =3D "KEY_TOUCHPAD_OFF", >> + [KEY_CAMERA_ZOOMIN] =3D "KEY_CAMERA_ZOOMIN", >> + [KEY_CAMERA_ZOOMOUT] =3D "KEY_CAMERA_ZOOMOUT", >> + [KEY_CAMERA_UP] =3D "KEY_CAMERA_UP", >> + [KEY_CAMERA_DOWN] =3D "KEY_CAMERA_DOWN", >> + [KEY_CAMERA_LEFT] =3D "KEY_CAMERA_LEFT", >> + [KEY_CAMERA_RIGHT] =3D "KEY_CAMERA_RIGHT", >> + [KEY_ATTENDANT_ON] =3D "KEY_ATTENDANT_ON", >> + [KEY_ATTENDANT_OFF] =3D "KEY_ATTENDANT_OFF", >> + [KEY_ATTENDANT_TOGGLE] =3D "KEY_ATTENDANT_TOGGLE", >> + [KEY_LIGHTS_TOGGLE] =3D "KEY_LIGHTS_TOGGLE", >> + [KEY_ALS_TOGGLE] =3D "KEY_ALS_TOGGLE", >> + [KEY_ROTATE_LOCK_TOGGLE] =3D "KEY_ROTATE_LOCK_TOGGLE", >> + [KEY_BUTTONCONFIG] =3D "KEY_BUTTONCONFIG", >> + [KEY_TASKMANAGER] =3D "KEY_TASKMANAGER", >> + [KEY_JOURNAL] =3D "KEY_JOURNAL", >> + [KEY_CONTROLPANEL] =3D "KEY_CONTROLPANEL", >> + [KEY_APPSELECT] =3D "KEY_APPSELECT", >> + [KEY_SCREENSAVER] =3D "KEY_SCREENSAVER", >> + [KEY_VOICECOMMAND] =3D "KEY_VOICECOMMAND", >> + [KEY_ASSISTANT] =3D "KEY_ASSISTANT", >> + [KEY_KBD_LAYOUT_NEXT] =3D "KEY_KBD_LAYOUT_NEXT", >> + // [KEY_EMOJI_PICKER] =3D "KEY_EMOJI_PICKER", >> + //[KEY_DICTATE] =3D "KEY_DICTATE", >> + //[KEY_CAMERA_ACCESS_ENABLE] =3D "KEY_CAMERA_ACCESS_ENABLE", >> + //[KEY_CAMERA_ACCESS_DISABLE] =3D "KEY_CAMERA_ACCESS_DISABLE", >> + //[KEY_CAMERA_ACCESS_TOGGLE] =3D "KEY_CAMERA_ACCESS_TOGGLE", >> + [KEY_BRIGHTNESS_MIN] =3D "KEY_BRIGHTNESS_MIN", >> + [KEY_BRIGHTNESS_MAX] =3D "KEY_BRIGHTNESS_MAX", >> + [KEY_KBDINPUTASSIST_PREV] =3D "KEY_KBDINPUTASSIST_PREV", >> + [KEY_KBDINPUTASSIST_NEXT] =3D "KEY_KBDINPUTASSIST_NEXT", >> + [KEY_KBDINPUTASSIST_PREVGROUP] =3D = "KEY_KBDINPUTASSIST_PREVGROUP", >> + [KEY_KBDINPUTASSIST_NEXTGROUP] =3D = "KEY_KBDINPUTASSIST_NEXTGROUP", >> + [KEY_KBDINPUTASSIST_ACCEPT] =3D "KEY_KBDINPUTASSIST_ACCEPT", >> + [KEY_KBDINPUTASSIST_CANCEL] =3D "KEY_KBDINPUTASSIST_CANCEL", >> + [KEY_RIGHT_UP] =3D "KEY_RIGHT_UP", >> + [KEY_RIGHT_DOWN] =3D "KEY_RIGHT_DOWN", >> + [KEY_LEFT_UP] =3D "KEY_LEFT_UP", >> + [KEY_LEFT_DOWN] =3D "KEY_LEFT_DOWN", >> + [KEY_ROOT_MENU] =3D "KEY_ROOT_MENU", >> + [KEY_MEDIA_TOP_MENU] =3D "KEY_MEDIA_TOP_MENU", >> + [KEY_NUMERIC_11] =3D "KEY_NUMERIC_11", >> + [KEY_NUMERIC_12] =3D "KEY_NUMERIC_12", >> + [KEY_AUDIO_DESC] =3D "KEY_AUDIO_DESC", >> + [KEY_3D_MODE] =3D "KEY_3D_MODE", >> + [KEY_NEXT_FAVORITE] =3D "KEY_NEXT_FAVORITE", >> + [KEY_STOP_RECORD] =3D "KEY_STOP_RECORD", >> + [KEY_PAUSE_RECORD] =3D "KEY_PAUSE_RECORD", >> + [KEY_VOD] =3D "KEY_VOD", >> + [KEY_UNMUTE] =3D "KEY_UNMUTE", >> + [KEY_FASTREVERSE] =3D "KEY_FASTREVERSE", >> + [KEY_SLOWREVERSE] =3D "KEY_SLOWREVERSE", >> + [KEY_DATA] =3D "KEY_DATA", >> + [KEY_ONSCREEN_KEYBOARD] =3D "KEY_ONSCREEN_KEYBOARD", >> + [KEY_PRIVACY_SCREEN_TOGGLE] =3D "KEY_PRIVACY_SCREEN_TOGGLE", >> + [KEY_SELECTIVE_SCREENSHOT] =3D "KEY_SELECTIVE_SCREENSHOT", >> + // [KEY_NEXT_ELEMENT] =3D "KEY_NEXT_ELEMENT", >> + // [KEY_PREVIOUS_ELEMENT] =3D "KEY_PREVIOUS_ELEMENT", >> + // [KEY_AUTOPILOT_ENGAGE_TOGGLE] =3D = "KEY_AUTOPILOT_ENGAGE_TOGGLE", >> + // [KEY_MARK_WAYPOINT] =3D "KEY_MARK_WAYPOINT", >> + // [KEY_SOS] =3D "KEY_SOS", >> + // [KEY_NAV_CHART] =3D "KEY_NAV_CHART", >> + // [KEY_FISHING_CHART] =3D "KEY_FISHING_CHART", >> + // [KEY_SINGLE_RANGE_RADAR] =3D "KEY_SINGLE_RANGE_RADAR", >> + // [KEY_DUAL_RANGE_RADAR] =3D "KEY_DUAL_RANGE_RADAR", >> + // [KEY_RADAR_OVERLAY] =3D "KEY_RADAR_OVERLAY", >> + // [KEY_TRADITIONAL_SONAR] =3D "KEY_TRADITIONAL_SONAR", >> + // [KEY_CLEARVU_SONAR] =3D "KEY_CLEARVU_SONAR", >> + // [KEY_SIDEVU_SONAR] =3D "KEY_SIDEVU_SONAR", >> + // [KEY_NAV_INFO] =3D "KEY_NAV_INFO", >> + // [KEY_BRIGHTNESS_MENU] =3D "KEY_BRIGHTNESS_MENU", >> + [KEY_MACRO1] =3D "KEY_MACRO1", >> + [KEY_MACRO2] =3D "KEY_MACRO2", >> + [KEY_MACRO3] =3D "KEY_MACRO3", >> + [KEY_MACRO4] =3D "KEY_MACRO4", >> + [KEY_MACRO5] =3D "KEY_MACRO5", >> + [KEY_MACRO6] =3D "KEY_MACRO6", >> + [KEY_MACRO7] =3D "KEY_MACRO7", >> + [KEY_MACRO8] =3D "KEY_MACRO8", >> + [KEY_MACRO9] =3D "KEY_MACRO9", >> + [KEY_MACRO10] =3D "KEY_MACRO10", >> + [KEY_MACRO11] =3D "KEY_MACRO11", >> + [KEY_MACRO12] =3D "KEY_MACRO12", >> + [KEY_MACRO13] =3D "KEY_MACRO13", >> + [KEY_MACRO14] =3D "KEY_MACRO14", >> + [KEY_MACRO15] =3D "KEY_MACRO15", >> + [KEY_MACRO16] =3D "KEY_MACRO16", >> + [KEY_MACRO17] =3D "KEY_MACRO17", >> + [KEY_MACRO18] =3D "KEY_MACRO18", >> + [KEY_MACRO19] =3D "KEY_MACRO19", >> + [KEY_MACRO20] =3D "KEY_MACRO20", >> + [KEY_MACRO21] =3D "KEY_MACRO21", >> + [KEY_MACRO22] =3D "KEY_MACRO22", >> + [KEY_MACRO23] =3D "KEY_MACRO23", >> + [KEY_MACRO24] =3D "KEY_MACRO24", >> + [KEY_MACRO25] =3D "KEY_MACRO25", >> + [KEY_MACRO26] =3D "KEY_MACRO26", >> + [KEY_MACRO27] =3D "KEY_MACRO27", >> + [KEY_MACRO28] =3D "KEY_MACRO28", >> + [KEY_MACRO29] =3D "KEY_MACRO29", >> + [KEY_MACRO30] =3D "KEY_MACRO30", >> + [KEY_MACRO_RECORD_START] =3D "KEY_MACRO_RECORD_START", >> + [KEY_MACRO_RECORD_STOP] =3D "KEY_MACRO_RECORD_STOP", >> + [KEY_MACRO_PRESET_CYCLE] =3D "KEY_MACRO_PRESET_CYCLE", >> + [KEY_MACRO_PRESET1] =3D "KEY_MACRO_PRESET1", >> + [KEY_MACRO_PRESET2] =3D "KEY_MACRO_PRESET2", >> + [KEY_MACRO_PRESET3] =3D "KEY_MACRO_PRESET3", >> + [KEY_KBD_LCD_MENU1] =3D "KEY_KBD_LCD_MENU1", >> + [KEY_KBD_LCD_MENU2] =3D "KEY_KBD_LCD_MENU2", >> + [KEY_KBD_LCD_MENU3] =3D "KEY_KBD_LCD_MENU3", >> + [KEY_KBD_LCD_MENU4] =3D "KEY_KBD_LCD_MENU4", >> + [KEY_KBD_LCD_MENU5] =3D "KEY_KBD_LCD_MENU5", >> + [KEY_MAX] =3D "KEY_MAX", >> + [BTN_0] =3D "BTN_0", >> + [BTN_1] =3D "BTN_1", >> + [BTN_2] =3D "BTN_2", >> + [BTN_3] =3D "BTN_3", >> + [BTN_4] =3D "BTN_4", >> + [BTN_5] =3D "BTN_5", >> + [BTN_6] =3D "BTN_6", >> + [BTN_7] =3D "BTN_7", >> + [BTN_8] =3D "BTN_8", >> + [BTN_9] =3D "BTN_9", >> + [BTN_LEFT] =3D "BTN_LEFT", >> + [BTN_RIGHT] =3D "BTN_RIGHT", >> + [BTN_MIDDLE] =3D "BTN_MIDDLE", >> + [BTN_SIDE] =3D "BTN_SIDE", >> + [BTN_EXTRA] =3D "BTN_EXTRA", >> + [BTN_FORWARD] =3D "BTN_FORWARD", >> + [BTN_BACK] =3D "BTN_BACK", >> + [BTN_TASK] =3D "BTN_TASK", >> + [BTN_TRIGGER] =3D "BTN_TRIGGER", >> + [BTN_THUMB] =3D "BTN_THUMB", >> + [BTN_THUMB2] =3D "BTN_THUMB2", >> + [BTN_TOP] =3D "BTN_TOP", >> + [BTN_TOP2] =3D "BTN_TOP2", >> + [BTN_PINKIE] =3D "BTN_PINKIE", >> + [BTN_BASE] =3D "BTN_BASE", >> + [BTN_BASE2] =3D "BTN_BASE2", >> + [BTN_BASE3] =3D "BTN_BASE3", >> + [BTN_BASE4] =3D "BTN_BASE4", >> + [BTN_BASE5] =3D "BTN_BASE5", >> + [BTN_BASE6] =3D "BTN_BASE6", >> + [BTN_DEAD] =3D "BTN_DEAD", >> + [BTN_SOUTH] =3D "BTN_SOUTH", >> + [BTN_EAST] =3D "BTN_EAST", >> + [BTN_C] =3D "BTN_C", >> + [BTN_NORTH] =3D "BTN_NORTH", >> + [BTN_WEST] =3D "BTN_WEST", >> + [BTN_Z] =3D "BTN_Z", >> + [BTN_TL] =3D "BTN_TL", >> + [BTN_TR] =3D "BTN_TR", >> + [BTN_TL2] =3D "BTN_TL2", >> + [BTN_TR2] =3D "BTN_TR2", >> + [BTN_SELECT] =3D "BTN_SELECT", >> + [BTN_START] =3D "BTN_START", >> + [BTN_MODE] =3D "BTN_MODE", >> + [BTN_THUMBL] =3D "BTN_THUMBL", >> + [BTN_THUMBR] =3D "BTN_THUMBR", >> + [BTN_TOOL_PEN] =3D "BTN_TOOL_PEN", >> + [BTN_TOOL_RUBBER] =3D "BTN_TOOL_RUBBER", >> + [BTN_TOOL_BRUSH] =3D "BTN_TOOL_BRUSH", >> + [BTN_TOOL_PENCIL] =3D "BTN_TOOL_PENCIL", >> + [BTN_TOOL_AIRBRUSH] =3D "BTN_TOOL_AIRBRUSH", >> + [BTN_TOOL_FINGER] =3D "BTN_TOOL_FINGER", >> + [BTN_TOOL_MOUSE] =3D "BTN_TOOL_MOUSE", >> + [BTN_TOOL_LENS] =3D "BTN_TOOL_LENS", >> + [BTN_TOOL_QUINTTAP] =3D "BTN_TOOL_QUINTTAP", >> + [BTN_STYLUS3] =3D "BTN_STYLUS3", >> + [BTN_TOUCH] =3D "BTN_TOUCH", >> + [BTN_STYLUS] =3D "BTN_STYLUS", >> + [BTN_STYLUS2] =3D "BTN_STYLUS2", >> + [BTN_TOOL_DOUBLETAP] =3D "BTN_TOOL_DOUBLETAP", >> + [BTN_TOOL_TRIPLETAP] =3D "BTN_TOOL_TRIPLETAP", >> + [BTN_TOOL_QUADTAP] =3D "BTN_TOOL_QUADTAP", >> + [BTN_GEAR_DOWN] =3D "BTN_GEAR_DOWN", >> + [BTN_GEAR_UP] =3D "BTN_GEAR_UP", >> + [BTN_DPAD_UP] =3D "BTN_DPAD_UP", >> + [BTN_DPAD_DOWN] =3D "BTN_DPAD_DOWN", >> + [BTN_DPAD_LEFT] =3D "BTN_DPAD_LEFT", >> + [BTN_DPAD_RIGHT] =3D "BTN_DPAD_RIGHT", >> + [BTN_TRIGGER_HAPPY1] =3D "BTN_TRIGGER_HAPPY1", >> + [BTN_TRIGGER_HAPPY2] =3D "BTN_TRIGGER_HAPPY2", >> + [BTN_TRIGGER_HAPPY3] =3D "BTN_TRIGGER_HAPPY3", >> + [BTN_TRIGGER_HAPPY4] =3D "BTN_TRIGGER_HAPPY4", >> + [BTN_TRIGGER_HAPPY5] =3D "BTN_TRIGGER_HAPPY5", >> + [BTN_TRIGGER_HAPPY6] =3D "BTN_TRIGGER_HAPPY6", >> + [BTN_TRIGGER_HAPPY7] =3D "BTN_TRIGGER_HAPPY7", >> + [BTN_TRIGGER_HAPPY8] =3D "BTN_TRIGGER_HAPPY8", >> + [BTN_TRIGGER_HAPPY9] =3D "BTN_TRIGGER_HAPPY9", >> + [BTN_TRIGGER_HAPPY10] =3D "BTN_TRIGGER_HAPPY10", >> + [BTN_TRIGGER_HAPPY11] =3D "BTN_TRIGGER_HAPPY11", >> + [BTN_TRIGGER_HAPPY12] =3D "BTN_TRIGGER_HAPPY12", >> + [BTN_TRIGGER_HAPPY13] =3D "BTN_TRIGGER_HAPPY13", >> + [BTN_TRIGGER_HAPPY14] =3D "BTN_TRIGGER_HAPPY14", >> + [BTN_TRIGGER_HAPPY15] =3D "BTN_TRIGGER_HAPPY15", >> + [BTN_TRIGGER_HAPPY16] =3D "BTN_TRIGGER_HAPPY16", >> + [BTN_TRIGGER_HAPPY17] =3D "BTN_TRIGGER_HAPPY17", >> + [BTN_TRIGGER_HAPPY18] =3D "BTN_TRIGGER_HAPPY18", >> + [BTN_TRIGGER_HAPPY19] =3D "BTN_TRIGGER_HAPPY19", >> + [BTN_TRIGGER_HAPPY20] =3D "BTN_TRIGGER_HAPPY20", >> + [BTN_TRIGGER_HAPPY21] =3D "BTN_TRIGGER_HAPPY21", >> + [BTN_TRIGGER_HAPPY22] =3D "BTN_TRIGGER_HAPPY22", >> + [BTN_TRIGGER_HAPPY23] =3D "BTN_TRIGGER_HAPPY23", >> + [BTN_TRIGGER_HAPPY24] =3D "BTN_TRIGGER_HAPPY24", >> + [BTN_TRIGGER_HAPPY25] =3D "BTN_TRIGGER_HAPPY25", >> + [BTN_TRIGGER_HAPPY26] =3D "BTN_TRIGGER_HAPPY26", >> + [BTN_TRIGGER_HAPPY27] =3D "BTN_TRIGGER_HAPPY27", >> + [BTN_TRIGGER_HAPPY28] =3D "BTN_TRIGGER_HAPPY28", >> + [BTN_TRIGGER_HAPPY29] =3D "BTN_TRIGGER_HAPPY29", >> + [BTN_TRIGGER_HAPPY30] =3D "BTN_TRIGGER_HAPPY30", >> + [BTN_TRIGGER_HAPPY31] =3D "BTN_TRIGGER_HAPPY31", >> + [BTN_TRIGGER_HAPPY32] =3D "BTN_TRIGGER_HAPPY32", >> + [BTN_TRIGGER_HAPPY33] =3D "BTN_TRIGGER_HAPPY33", >> + [BTN_TRIGGER_HAPPY34] =3D "BTN_TRIGGER_HAPPY34", >> + [BTN_TRIGGER_HAPPY35] =3D "BTN_TRIGGER_HAPPY35", >> + [BTN_TRIGGER_HAPPY36] =3D "BTN_TRIGGER_HAPPY36", >> + [BTN_TRIGGER_HAPPY37] =3D "BTN_TRIGGER_HAPPY37", >> + [BTN_TRIGGER_HAPPY38] =3D "BTN_TRIGGER_HAPPY38", >> + [BTN_TRIGGER_HAPPY39] =3D "BTN_TRIGGER_HAPPY39", >> + [BTN_TRIGGER_HAPPY40] =3D "BTN_TRIGGER_HAPPY40", >> +}; >> + >> +static const char * const led_map[LED_MAX + 1] =3D { >> + [LED_NUML] =3D "LED_NUML", >> + [LED_CAPSL] =3D "LED_CAPSL", >> *** 11201 LINES SKIPPED *** >>=20 >=20 > make buildworld fails to build due to this error: >=20 > [...] > c++ -target x86_64-unknown-freebsd16.0 = --sysroot=3D/usr/obj/usr/src/amd64.amd64/tmp > -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -fpie -O2 -pipe = -fno-common -march=3Dnative -I. > -I/usr/src/sbin/devd -fPIE -DNDEBUG -MD -MF.depend.devd.pieo = -MTdevd.pieo > -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers = -Wall -Wno-format-y2k -W > -Wno-unused-parameter -Wpointer-arith -Wreturn-type -Wcast-qual = -Wwrite-strings -Wswitch > -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wdate-time > -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body = -Wno-string-plus-int > -Wno-unused-const-variable -Wno-error=3Dunused-but-set-parameter > -Wno-error=3Dcast-function-type-mismatch = -Wno-missing-variable-declarations -Qunused-arguments > -march=3Dnative -fPIE -std=3Dgnu++17 -c = /usr/src/sbin/devd/devd.cc -o devd.pieo > /usr/src/sbin/devd/devd.cc:1228:2: error: "Remove this gross hack" = 1228 | #error "Remove this > gross hack" | ^ 1 error generated. *** Error code 1 Unrelated. This is because __FreeBSD_version was bumped now 15 branched, and this was left in to scream at people to do something for FreeBSD 16. I guess that worked, though a bit of an unfortunate way to start the 16 cycle :) Jessica From nobody Fri Sep 5 04:37:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJ3WB0DDZz673JV for ; Fri, 05 Sep 2025 04:38:14 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) (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 4cJ3W93NTzz3c8C for ; Fri, 05 Sep 2025 04:38:13 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pj1-x102c.google.com with SMTP id 98e67ed59e1d1-324e6daaa39so1681036a91.0 for ; Thu, 04 Sep 2025 21:38:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1757047087; x=1757651887; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Rs6j3ZG5LTUL7V6stFb/FhaiIxZAYF+pRk2htYuWzZs=; b=KTNJ3Rytbd2oLIXIUs+ibkQCbcZcSN02BOfCgHmENLACiM21JKSf8DmJYe1mND0VOl efTEkpCXcXBkDm1BzYNerHq7q1w0arag92H3VkvBpwTbkEWyKVSqeUjTlpKG47q2Bv5H eRnav2smOZObMBL+UPR6Iw/uo4iHZs1RaY5EANbHwDx9kYejVkbND+W9HOJJCbvqxofZ np/uk0WSyFld+UDWfZjSbDsqtZhp/JlOwi57aQimRw8TvzT8/l5Ouj7UFoUkd2XQ/gMA /3ARp6bGccKzlG9GIS+N1iH/pDi/HdRUzZLfJS7d9t9T01Ym1gYG8vDA+9D3fvg+9iBM 3/pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757047087; x=1757651887; 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=Rs6j3ZG5LTUL7V6stFb/FhaiIxZAYF+pRk2htYuWzZs=; b=JLi+QEKumCsedSh3vtJj57farUm9Zo0VmTtSTTWap8Ypn1gVmmqU0m4RSICOmZPJdZ M98qTFTGEwMfOtgNC22cd/jxfncbcUuYM472AOBeIUoz1AKnwoGHTSL7dx5nvNkAkBb0 i2nzDbWT5/+nUnTsSyZNtIxID/0or8K9T2PenFeoUmZ455CKzByInJJdP7XBT0JpviuH FGZhbv5PA1hMLiREPgi5fanlb1mfaLYfsfiFtqgJEhRGZUdiBhORd/2aidyGLxq1IIjg xAcgNo9lMdwmMfr6kg1w0arm4ZmUanclTPMJg5Hal7ug1Ese3wRSubae/3fi3q7YvQ9F IhwA== X-Forwarded-Encrypted: i=1; AJvYcCVvwnWh24jZQ+KYL/Nb1MyXjmLw9fm0vCYrG5nzQkonrA6B1w87Ra/I/NPWRc86uj2EaeRRm/VFqGmDmBLkHd/6V9vmlw==@freebsd.org X-Gm-Message-State: AOJu0YxNe5/3aAwbK3axkQ9DRE/X3g6nI5elnZE+cA7u099IQ2yzBgfX uiV5ebK1OjWHVilchTpDu9Nt5yI236pgoe3Fle70PuGw6lot0m1lKq2bkZHUtffha0d0n7f/CPI 484jgZVg0FRaBS2lvfK8JE7UiHIRrLw/w5tJkZHh+xnsTfL8PvWvWtQU= X-Gm-Gg: ASbGncsVXjeuRSYdYawlz1M6pvb39+F+4TaskqtEW/BeT//K/qixWJN9P9FL5my2D4S NVn2W9bM3KRqM0bCYF/S4h0YplYXsccwqTxzDN/saKzQQ/3BgMDAeah96Eg9xZEOL+w9yiNooyn VsAYDEOsg2FaMY6Gmnr7qU9aqp4l7YapLCVvAVmtLmuuzelI8AEenx1djdPH17+IkCyrA0m/Fqk ziPDMjDzA8bLLfLBOc32fi0yJlCO2/3bLCaabn7lrOgoembGdiprsRlIdzj X-Google-Smtp-Source: AGHT+IGEE+VhtuAIuCza/mXjQ13EpAGNIZZISlL7EVh9NCTgdf0IE7BM48yIjTXqdePTiadE+P0YHD+zNXXPq11ef6U= X-Received: by 2002:a17:90a:c88e:b0:32b:8466:a66d with SMTP id 98e67ed59e1d1-32b8466a746mr7333504a91.28.1757047086535; Thu, 04 Sep 2025 21:38:06 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202509042108.584L86Ro060944@gitrepo.freebsd.org> <20250905061122.69e01f1a@thor.sb211.local> <4AC13FF6-98EB-41C9-83EC-E8B9FB6A1093@freebsd.org> In-Reply-To: <4AC13FF6-98EB-41C9-83EC-E8B9FB6A1093@freebsd.org> From: Warner Losh Date: Thu, 4 Sep 2025 22:37:55 -0600 X-Gm-Features: Ac12FXwHcPeiefsYQXJPg_rDkzJZKsBHtMaRTGLFvt55lnd863X9gCbaac04ZWs Message-ID: Subject: Re: git: aef807876c30 - main - moused(8): Add support for evdev protocol To: Jessica Clarke Cc: A FreeBSD User , Vladimir Kondratyev , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: multipart/alternative; boundary="000000000000726764063e066722" X-Spamd-Bar: ---- 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-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cJ3W93NTzz3c8C --000000000000726764063e066722 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Sep 4, 2025 at 10:17=E2=80=AFPM Jessica Clarke = wrote: > On 5 Sep 2025, at 05:13, A FreeBSD User wrote: > > > Am Tage des Herren Thu, 4 Sep 2025 21:08:06 GMT > > Vladimir Kondratyev schrieb: > > > >> The branch main has been updated by wulf: > >> > >> URL: > https://cgit.FreeBSD.org/src/commit/?id=3Daef807876c305587c60f73e2cd91411= 5d22a53fd > >> > >> commit aef807876c305587c60f73e2cd914115d22a53fd > >> Author: Vladimir Kondratyev > >> AuthorDate: 2025-09-04 21:07:25 +0000 > >> Commit: Vladimir Kondratyev > >> CommitDate: 2025-09-04 21:07:25 +0000 > >> > >> moused(8): Add support for evdev protocol > >> > >> The new daemon have following properties as compared with previous > >> incarnation: > >> - evdev protocol support for mices and touchpads. Additionally to > >> relative PS/2 and USB devices it enables console support for > I2C/USB > >> touchpads and bluetooth mices. > >> - Other aged protocols like COM, raw PS/2 and X10 are dropped with > only > >> exception of sysmouse. For those who still use them there is an > >> utility called msconvd(8). > >> - single daemon per system where hotplug is processed via devd > socket. > >> Per device mode still supported too. > >> - Configuration and quirks files in libinput-compatible format. > >> Actually, the new moused config parser is taken from libinput. > >> > >> The moused(8) can work in 2 modes: > >> 1. Evdev support mode. It enables all previously mentioned devices. > >> It is enabled by deault. > >> 2. Sysmouse support mode. All should work as before. > >> No new devices supported. To enable it add following lines to > >> /etc/rc.conf: > >> moused_port=3D"/dev/psm0" > >> moused_nondefault_enable=3D"YES" > >> One may add hw.usb.usbhid.enable=3D0 to /boot/loader.conf to ena= ble > >> ums(4) driver which supports sysmouse protocol. > >> > >> Differential Revision: https://reviews.freebsd.org/D52164 > >> --- > >> libexec/rc/rc.conf | 8 +- > >> libexec/rc/rc.d/Makefile | 1 + > >> libexec/rc/rc.d/msconvd | 61 + > >> tools/build/mk/OptionalObsoleteFiles.inc | 7 + > >> usr.sbin/moused/Makefile | 12 +- > >> usr.sbin/moused/Makefile.depend | 17 - > >> usr.sbin/moused/moused/Makefile | 28 + > >> usr.sbin/moused/moused/event-names.h | 1656 ++++++++++ > >> usr.sbin/moused/moused/moused.8 | 538 ++++ > >> usr.sbin/moused/moused/moused.c | 3205 > ++++++++++++++++++++ > >> usr.sbin/moused/moused/moused.conf | 43 + > >> usr.sbin/moused/moused/moused.conf.5 | 422 +++ > >> usr.sbin/moused/moused/quirks.c | 2033 ++++++++++++= + > >> usr.sbin/moused/moused/quirks.h | 369 +++ > >> .../moused/moused/quirks/5-generic-touchpad.quirks | 9 + > >> usr.sbin/moused/moused/util-evdev.c | 173 ++ > >> usr.sbin/moused/moused/util-evdev.h | 35 + > >> usr.sbin/moused/moused/util-list.c | 86 + > >> usr.sbin/moused/moused/util-list.h | 194 ++ > >> usr.sbin/moused/moused/util.c | 423 +++ > >> usr.sbin/moused/moused/util.h | 413 +++ > >> usr.sbin/moused/msconvd/Makefile | 8 + > >> usr.sbin/moused/{moused.8 =3D> msconvd/msconvd.8} | 395 +-- > >> usr.sbin/moused/{moused.c =3D> msconvd/msconvd.c} | 1212 ++------ > >> 24 files changed, 10008 insertions(+), 1340 deletions(-) > >> > >> diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf > >> index bfa46bd343a6..0ef3012892dd 100644 > >> --- a/libexec/rc/rc.conf > >> +++ b/libexec/rc/rc.conf > >> @@ -586,15 +586,19 @@ font8x14=3D"NO" # font 8x14 from > >> /usr/share/{syscons,vt}/fonts/* (or NO). font8x8=3D"NO" # font 8x8 fro= m > >> /usr/share/{syscons,vt}/fonts/* (or NO). blanktime=3D"300" # blank tim= e > (in > >> seconds) or "NO" to turn it off. saver=3D"NO" # screen saver: Uses > >> /boot/kernel/${saver}_saver.ko -moused_nondefault_enable=3D"YES" # Tre= at > non-default mice as > >> enabled unless +moused_nondefault_enable=3D"NO" # Treat non-default mi= ce > as enabled unless > >> # specifically overridden in rc.conf(5). > >> moused_enable=3D"NO" # Run the mouse daemon. > >> moused_type=3D"auto" # See man page for rc.conf(5) for available setti= ngs. > >> -moused_port=3D"/dev/psm0" # Set to your mouse port. > >> +moused_port=3D"auto" # Set to your mouse port. > >> moused_flags=3D"" # Any additional flags to moused. > >> mousechar_start=3D"NO" # if 0xd0-0xd3 default range is occupied in you= r > >> # language code table, specify alternative range > >> # start like mousechar_start=3D3, see vidcontrol(1) > >> +msconvd_enable=3D"NO" # Run the mouse protocol conversion daemon. > >> +msconvd_type=3D"auto" # See rc.conf(5) man page for available > moused_type-s. > >> +msconvd_ports=3D"" # List of msconvd ports. > >> +msconvd_flags=3D"" # Any additional flags to msconvd. > >> allscreens_flags=3D"" # Set this vidcontrol mode for all virtual scree= ns > >> allscreens_kbdflags=3D"" # Set this kbdcontrol mode for all virtual > screens > >> > >> diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile > >> index 7c1f50b027a9..e5ee34e62185 100644 > >> --- a/libexec/rc/rc.d/Makefile > >> +++ b/libexec/rc/rc.d/Makefile > >> @@ -273,6 +273,7 @@ JAILPACKAGE=3D jail > >> .if ${MK_LEGACY_CONSOLE} !=3D "no" > >> CONFGROUPS+=3D CONSOLE > >> CONSOLE+=3D moused > >> +CONSOLE+=3D msconvd > >> CONSOLE+=3D syscons > >> CONSOLEPACKAGE=3D console-tools > >> .endif > >> diff --git a/libexec/rc/rc.d/msconvd b/libexec/rc/rc.d/msconvd > >> new file mode 100755 > >> index 000000000000..c2a96bf2eb68 > >> --- /dev/null > >> +++ b/libexec/rc/rc.d/msconvd > >> @@ -0,0 +1,61 @@ > >> +#!/bin/sh > >> +# > >> +# > >> + > >> +# PROVIDE: msconvd > >> +# REQUIRE: DAEMON FILESYSTEMS > >> +# KEYWORD: nojail shutdown > >> + > >> +. /etc/rc.subr > >> + > >> +name=3D"msconvd" > >> +desc=3D"Mouse protocol conversion daemon" > >> +command=3D"/usr/sbin/${name}" > >> +start_cmd=3D"msconvd_start" > >> +pidprefix=3D"/var/run/msconvd" > >> +load_rc_config $name > >> + > >> +: ${msconvd_enable=3D"NO"} > >> +: ${msconvd_type=3D"auto"} > >> + > >> +# doesn't make sense to run in a svcj: nojail keyword > >> +# XXX: How does msconvd communiacte with the kernel? > >> +# XXX: Does the kernel prevent this communcation in jails? > >> +msconvd_svcj=3D"NO" > >> + > >> +# Set the pid file and variable name. The second argument, if it > exists, is > >> +# expected to be the mouse device. > >> +# > >> +if [ -n "$2" ]; then > >> + eval msconvd_$2_enable=3D\${msconvd_$2_enable-${msconvd_enable}} > >> + rcvar=3D"msconvd_$2_enable" > >> + pidfile=3D"${pidprefix}.$2.pid" > >> +else > >> + for ms in ${msconvd_ports}; do > >> + /etc/rc.d/msconvd $1 ${ms} > >> + done > >> + exit 0 > >> +fi > >> + > >> +msconvd_start() > >> +{ > >> + local ms myflags myport mytype > >> + > >> + # Set the mouse device and get any related variables. If > >> + # a msconvd device has been specified on the commandline, then > >> + # rc.conf(5) variables defined for that device take precedence > >> + # over the generic msconvd_* variables. The only exception is > >> + # the msconvd_port variable, which if not defined sets it to > >> + # the passed in device name. > >> + # > >> + ms=3D$1 > >> + eval myflags=3D\${msconvd_${ms}_flags-$msconvd_flags} > >> + eval myport=3D\${msconvd_${ms}_port-/dev/${ms}} > >> + eval mytype=3D\${msconvd_${ms}_type-$msconvd_type} > >> + > >> + startmsg -n "Starting ${ms} ${name}" > >> + ${command} ${myflags} -p ${myport} -t ${mytype} -I ${pidfile} > >> + startmsg '.' > >> +} > >> + > >> +run_rc_command $* > >> diff --git a/tools/build/mk/OptionalObsoleteFiles.inc > >> b/tools/build/mk/OptionalObsoleteFiles.inc index > 5eea402c4526..a2fb28f1a186 100644 > >> --- a/tools/build/mk/OptionalObsoleteFiles.inc > >> +++ b/tools/build/mk/OptionalObsoleteFiles.inc > >> @@ -3793,11 +3793,14 @@ OLD_FILES+=3Dusr/share/man/man1/host.1.gz > >> .endif > >> > >> .if ${MK_LEGACY_CONSOLE} =3D=3D no > >> +OLD_FILES+=3Detc/moused.conf > >> OLD_FILES+=3Detc/rc.d/moused > >> +OLD_FILES+=3Detc/rc.d/msconvd > >> OLD_FILES+=3Detc/rc.d/syscons > >> OLD_FILES+=3Dusr/sbin/kbdcontrol > >> OLD_FILES+=3Dusr/sbin/kbdmap > >> OLD_FILES+=3Dusr/sbin/moused > >> +OLD_FILES+=3Dusr/sbin/msconvd > >> OLD_FILES+=3Dusr/sbin/vidcontrol > >> OLD_FILES+=3Dusr/sbin/vidfont > >> OLD_FILES+=3Dusr/share/man/man1/kbdcontrol.1.gz > >> @@ -3806,7 +3809,11 @@ OLD_FILES+=3Dusr/share/man/man1/vidcontrol.1.gz > >> OLD_FILES+=3Dusr/share/man/man1/vidfont.1.gz > >> OLD_FILES+=3Dusr/share/man/man5/kbdmap.5.gz > >> OLD_FILES+=3Dusr/share/man/man5/keymap.5.gz > >> +OLD_FILES+=3Dusr/share/man/man5/moused.conf.5.gz > >> OLD_FILES+=3Dusr/share/man/man8/moused.8.gz > >> +OLD_FILES+=3Dusr/share/man/man8/msconvd.8.gz > >> +OLD_FILES+=3Dusr/share/moused/5-generic-touchpad.quirks > >> +OLD_DIRS+=3Dusr/share/moused > >> .endif > >> > >> .for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats} > >> diff --git a/usr.sbin/moused/Makefile b/usr.sbin/moused/Makefile > >> index 2a7aa0484542..b6319b6fef20 100644 > >> --- a/usr.sbin/moused/Makefile > >> +++ b/usr.sbin/moused/Makefile > >> @@ -1,10 +1,4 @@ > >> -PACKAGE=3D console-tools > >> -PROG=3D moused > >> -MAN=3D moused.8 > >> +SUBDIR+=3Dmoused > >> +SUBDIR+=3Dmsconvd > >> > >> -LIBADD=3D m util > >> - > >> -#BINMODE=3D4555 > >> -#PRECIOUSPROG=3D > >> - > >> -.include > >> +.include > >> diff --git a/usr.sbin/moused/Makefile.depend > b/usr.sbin/moused/Makefile.depend > >> deleted file mode 100644 > >> index af3b7054df7a..000000000000 > >> --- a/usr.sbin/moused/Makefile.depend > >> +++ /dev/null > >> @@ -1,17 +0,0 @@ > >> -# Autogenerated - do NOT edit! > >> - > >> -DIRDEPS =3D \ > >> - include \ > >> - include/xlocale \ > >> - lib/${CSU_DIR} \ > >> - lib/libc \ > >> - lib/libcompiler_rt \ > >> - lib/libutil \ > >> - lib/msun \ > >> - > >> - > >> -.include > >> - > >> -.if ${DEP_RELDIR} =3D=3D ${_DEP_RELDIR} > >> -# local dependencies - needed for -jN in clean tree > >> -.endif > >> diff --git a/usr.sbin/moused/moused/Makefile > b/usr.sbin/moused/moused/Makefile > >> new file mode 100644 > >> index 000000000000..8479764b710b > >> --- /dev/null > >> +++ b/usr.sbin/moused/moused/Makefile > >> @@ -0,0 +1,28 @@ > >> +PACKAGE=3D console-tools > >> +PROG=3D moused > >> + > >> +SRCS=3D moused.c \ > >> + event-names.h \ > >> + quirks.c \ > >> + quirks.h \ > >> + util.c \ > >> + util.h \ > >> + util-evdev.c \ > >> + util-evdev.h \ > >> + util-list.c \ > >> + util-list.h > >> +MAN=3D moused.8 \ > >> + moused.conf.5 > >> +CONFS=3D moused.conf > >> +QUIRKS=3D 5-generic-touchpad.quirks > >> + > >> +CWARNFLAGS.quirks.c+=3D -Wno-cast-align -Wno-shadow -Wno-cast-qual \ > >> + -Wno-unused-variable -Wno-unused-parameter > >> +CWARNFLAGS.util.c+=3D -Wno-shadow > >> +LIBADD=3D m util > >> +BINDIR=3D /usr/sbin > >> + > >> +FILES=3D ${QUIRKS:S|^|quirks/|} > >> +FILESDIR=3D /usr/share/${PROG} > >> + > >> +.include > >> diff --git a/usr.sbin/moused/moused/event-names.h > b/usr.sbin/moused/moused/event-names.h > >> new file mode 100644 > >> index 000000000000..05093a1d0db3 > >> --- /dev/null > >> +++ b/usr.sbin/moused/moused/event-names.h > >> @@ -0,0 +1,1656 @@ > >> +/* THIS FILE IS GENERATED, DO NOT EDIT */ > >> + > >> +#ifndef EVENT_NAMES_H > >> +#define EVENT_NAMES_H > >> + > >> +static const char * const ev_map[EV_MAX + 1] =3D { > >> + [EV_SYN] =3D "EV_SYN", > >> + [EV_KEY] =3D "EV_KEY", > >> + [EV_REL] =3D "EV_REL", > >> + [EV_ABS] =3D "EV_ABS", > >> + [EV_MSC] =3D "EV_MSC", > >> + [EV_SW] =3D "EV_SW", > >> + [EV_LED] =3D "EV_LED", > >> + [EV_SND] =3D "EV_SND", > >> + [EV_REP] =3D "EV_REP", > >> + [EV_FF] =3D "EV_FF", > >> + [EV_PWR] =3D "EV_PWR", > >> + [EV_FF_STATUS] =3D "EV_FF_STATUS", > >> + [EV_MAX] =3D "EV_MAX", > >> +}; > >> + > >> +static const char * const rel_map[REL_MAX + 1] =3D { > >> + [REL_X] =3D "REL_X", > >> + [REL_Y] =3D "REL_Y", > >> + [REL_Z] =3D "REL_Z", > >> + [REL_RX] =3D "REL_RX", > >> + [REL_RY] =3D "REL_RY", > >> + [REL_RZ] =3D "REL_RZ", > >> + [REL_HWHEEL] =3D "REL_HWHEEL", > >> + [REL_DIAL] =3D "REL_DIAL", > >> + [REL_WHEEL] =3D "REL_WHEEL", > >> + [REL_MISC] =3D "REL_MISC", > >> + [REL_RESERVED] =3D "REL_RESERVED", > >> + [REL_WHEEL_HI_RES] =3D "REL_WHEEL_HI_RES", > >> + [REL_HWHEEL_HI_RES] =3D "REL_HWHEEL_HI_RES", > >> + [REL_MAX] =3D "REL_MAX", > >> +}; > >> + > >> +static const char * const abs_map[ABS_MAX + 1] =3D { > >> + [ABS_X] =3D "ABS_X", > >> + [ABS_Y] =3D "ABS_Y", > >> + [ABS_Z] =3D "ABS_Z", > >> + [ABS_RX] =3D "ABS_RX", > >> + [ABS_RY] =3D "ABS_RY", > >> + [ABS_RZ] =3D "ABS_RZ", > >> + [ABS_THROTTLE] =3D "ABS_THROTTLE", > >> + [ABS_RUDDER] =3D "ABS_RUDDER", > >> + [ABS_WHEEL] =3D "ABS_WHEEL", > >> + [ABS_GAS] =3D "ABS_GAS", > >> + [ABS_BRAKE] =3D "ABS_BRAKE", > >> + [ABS_HAT0X] =3D "ABS_HAT0X", > >> + [ABS_HAT0Y] =3D "ABS_HAT0Y", > >> + [ABS_HAT1X] =3D "ABS_HAT1X", > >> + [ABS_HAT1Y] =3D "ABS_HAT1Y", > >> + [ABS_HAT2X] =3D "ABS_HAT2X", > >> + [ABS_HAT2Y] =3D "ABS_HAT2Y", > >> + [ABS_HAT3X] =3D "ABS_HAT3X", > >> + [ABS_HAT3Y] =3D "ABS_HAT3Y", > >> + [ABS_PRESSURE] =3D "ABS_PRESSURE", > >> + [ABS_DISTANCE] =3D "ABS_DISTANCE", > >> + [ABS_TILT_X] =3D "ABS_TILT_X", > >> + [ABS_TILT_Y] =3D "ABS_TILT_Y", > >> + [ABS_TOOL_WIDTH] =3D "ABS_TOOL_WIDTH", > >> + [ABS_VOLUME] =3D "ABS_VOLUME", > >> + // [ABS_PROFILE] =3D "ABS_PROFILE", > >> + [ABS_MISC] =3D "ABS_MISC", > >> + [ABS_RESERVED] =3D "ABS_RESERVED", > >> + [ABS_MT_SLOT] =3D "ABS_MT_SLOT", > >> + [ABS_MT_TOUCH_MAJOR] =3D "ABS_MT_TOUCH_MAJOR", > >> + [ABS_MT_TOUCH_MINOR] =3D "ABS_MT_TOUCH_MINOR", > >> + [ABS_MT_WIDTH_MAJOR] =3D "ABS_MT_WIDTH_MAJOR", > >> + [ABS_MT_WIDTH_MINOR] =3D "ABS_MT_WIDTH_MINOR", > >> + [ABS_MT_ORIENTATION] =3D "ABS_MT_ORIENTATION", > >> + [ABS_MT_POSITION_X] =3D "ABS_MT_POSITION_X", > >> + [ABS_MT_POSITION_Y] =3D "ABS_MT_POSITION_Y", > >> + [ABS_MT_TOOL_TYPE] =3D "ABS_MT_TOOL_TYPE", > >> + [ABS_MT_BLOB_ID] =3D "ABS_MT_BLOB_ID", > >> + [ABS_MT_TRACKING_ID] =3D "ABS_MT_TRACKING_ID", > >> + [ABS_MT_PRESSURE] =3D "ABS_MT_PRESSURE", > >> + [ABS_MT_DISTANCE] =3D "ABS_MT_DISTANCE", > >> + [ABS_MT_TOOL_X] =3D "ABS_MT_TOOL_X", > >> + [ABS_MT_TOOL_Y] =3D "ABS_MT_TOOL_Y", > >> + [ABS_MAX] =3D "ABS_MAX", > >> +}; > >> + > >> +static const char * const key_map[KEY_MAX + 1] =3D { > >> + [KEY_RESERVED] =3D "KEY_RESERVED", > >> + [KEY_ESC] =3D "KEY_ESC", > >> + [KEY_1] =3D "KEY_1", > >> + [KEY_2] =3D "KEY_2", > >> + [KEY_3] =3D "KEY_3", > >> + [KEY_4] =3D "KEY_4", > >> + [KEY_5] =3D "KEY_5", > >> + [KEY_6] =3D "KEY_6", > >> + [KEY_7] =3D "KEY_7", > >> + [KEY_8] =3D "KEY_8", > >> + [KEY_9] =3D "KEY_9", > >> + [KEY_0] =3D "KEY_0", > >> + [KEY_MINUS] =3D "KEY_MINUS", > >> + [KEY_EQUAL] =3D "KEY_EQUAL", > >> + [KEY_BACKSPACE] =3D "KEY_BACKSPACE", > >> + [KEY_TAB] =3D "KEY_TAB", > >> + [KEY_Q] =3D "KEY_Q", > >> + [KEY_W] =3D "KEY_W", > >> + [KEY_E] =3D "KEY_E", > >> + [KEY_R] =3D "KEY_R", > >> + [KEY_T] =3D "KEY_T", > >> + [KEY_Y] =3D "KEY_Y", > >> + [KEY_U] =3D "KEY_U", > >> + [KEY_I] =3D "KEY_I", > >> + [KEY_O] =3D "KEY_O", > >> + [KEY_P] =3D "KEY_P", > >> + [KEY_LEFTBRACE] =3D "KEY_LEFTBRACE", > >> + [KEY_RIGHTBRACE] =3D "KEY_RIGHTBRACE", > >> + [KEY_ENTER] =3D "KEY_ENTER", > >> + [KEY_LEFTCTRL] =3D "KEY_LEFTCTRL", > >> + [KEY_A] =3D "KEY_A", > >> + [KEY_S] =3D "KEY_S", > >> + [KEY_D] =3D "KEY_D", > >> + [KEY_F] =3D "KEY_F", > >> + [KEY_G] =3D "KEY_G", > >> + [KEY_H] =3D "KEY_H", > >> + [KEY_J] =3D "KEY_J", > >> + [KEY_K] =3D "KEY_K", > >> + [KEY_L] =3D "KEY_L", > >> + [KEY_SEMICOLON] =3D "KEY_SEMICOLON", > >> + [KEY_APOSTROPHE] =3D "KEY_APOSTROPHE", > >> + [KEY_GRAVE] =3D "KEY_GRAVE", > >> + [KEY_LEFTSHIFT] =3D "KEY_LEFTSHIFT", > >> + [KEY_BACKSLASH] =3D "KEY_BACKSLASH", > >> + [KEY_Z] =3D "KEY_Z", > >> + [KEY_X] =3D "KEY_X", > >> + [KEY_C] =3D "KEY_C", > >> + [KEY_V] =3D "KEY_V", > >> + [KEY_B] =3D "KEY_B", > >> + [KEY_N] =3D "KEY_N", > >> + [KEY_M] =3D "KEY_M", > >> + [KEY_COMMA] =3D "KEY_COMMA", > >> + [KEY_DOT] =3D "KEY_DOT", > >> + [KEY_SLASH] =3D "KEY_SLASH", > >> + [KEY_RIGHTSHIFT] =3D "KEY_RIGHTSHIFT", > >> + [KEY_KPASTERISK] =3D "KEY_KPASTERISK", > >> + [KEY_LEFTALT] =3D "KEY_LEFTALT", > >> + [KEY_SPACE] =3D "KEY_SPACE", > >> + [KEY_CAPSLOCK] =3D "KEY_CAPSLOCK", > >> + [KEY_F1] =3D "KEY_F1", > >> + [KEY_F2] =3D "KEY_F2", > >> + [KEY_F3] =3D "KEY_F3", > >> + [KEY_F4] =3D "KEY_F4", > >> + [KEY_F5] =3D "KEY_F5", > >> + [KEY_F6] =3D "KEY_F6", > >> + [KEY_F7] =3D "KEY_F7", > >> + [KEY_F8] =3D "KEY_F8", > >> + [KEY_F9] =3D "KEY_F9", > >> + [KEY_F10] =3D "KEY_F10", > >> + [KEY_NUMLOCK] =3D "KEY_NUMLOCK", > >> + [KEY_SCROLLLOCK] =3D "KEY_SCROLLLOCK", > >> + [KEY_KP7] =3D "KEY_KP7", > >> + [KEY_KP8] =3D "KEY_KP8", > >> + [KEY_KP9] =3D "KEY_KP9", > >> + [KEY_KPMINUS] =3D "KEY_KPMINUS", > >> + [KEY_KP4] =3D "KEY_KP4", > >> + [KEY_KP5] =3D "KEY_KP5", > >> + [KEY_KP6] =3D "KEY_KP6", > >> + [KEY_KPPLUS] =3D "KEY_KPPLUS", > >> + [KEY_KP1] =3D "KEY_KP1", > >> + [KEY_KP2] =3D "KEY_KP2", > >> + [KEY_KP3] =3D "KEY_KP3", > >> + [KEY_KP0] =3D "KEY_KP0", > >> + [KEY_KPDOT] =3D "KEY_KPDOT", > >> + [KEY_ZENKAKUHANKAKU] =3D "KEY_ZENKAKUHANKAKU", > >> + [KEY_102ND] =3D "KEY_102ND", > >> + [KEY_F11] =3D "KEY_F11", > >> + [KEY_F12] =3D "KEY_F12", > >> + [KEY_RO] =3D "KEY_RO", > >> + [KEY_KATAKANA] =3D "KEY_KATAKANA", > >> + [KEY_HIRAGANA] =3D "KEY_HIRAGANA", > >> + [KEY_HENKAN] =3D "KEY_HENKAN", > >> + [KEY_KATAKANAHIRAGANA] =3D "KEY_KATAKANAHIRAGANA", > >> + [KEY_MUHENKAN] =3D "KEY_MUHENKAN", > >> + [KEY_KPJPCOMMA] =3D "KEY_KPJPCOMMA", > >> + [KEY_KPENTER] =3D "KEY_KPENTER", > >> + [KEY_RIGHTCTRL] =3D "KEY_RIGHTCTRL", > >> + [KEY_KPSLASH] =3D "KEY_KPSLASH", > >> + [KEY_SYSRQ] =3D "KEY_SYSRQ", > >> + [KEY_RIGHTALT] =3D "KEY_RIGHTALT", > >> + [KEY_LINEFEED] =3D "KEY_LINEFEED", > >> + [KEY_HOME] =3D "KEY_HOME", > >> + [KEY_UP] =3D "KEY_UP", > >> + [KEY_PAGEUP] =3D "KEY_PAGEUP", > >> + [KEY_LEFT] =3D "KEY_LEFT", > >> + [KEY_RIGHT] =3D "KEY_RIGHT", > >> + [KEY_END] =3D "KEY_END", > >> + [KEY_DOWN] =3D "KEY_DOWN", > >> + [KEY_PAGEDOWN] =3D "KEY_PAGEDOWN", > >> + [KEY_INSERT] =3D "KEY_INSERT", > >> + [KEY_DELETE] =3D "KEY_DELETE", > >> + [KEY_MACRO] =3D "KEY_MACRO", > >> + [KEY_MUTE] =3D "KEY_MUTE", > >> + [KEY_VOLUMEDOWN] =3D "KEY_VOLUMEDOWN", > >> + [KEY_VOLUMEUP] =3D "KEY_VOLUMEUP", > >> + [KEY_POWER] =3D "KEY_POWER", > >> + [KEY_KPEQUAL] =3D "KEY_KPEQUAL", > >> + [KEY_KPPLUSMINUS] =3D "KEY_KPPLUSMINUS", > >> + [KEY_PAUSE] =3D "KEY_PAUSE", > >> + [KEY_SCALE] =3D "KEY_SCALE", > >> + [KEY_KPCOMMA] =3D "KEY_KPCOMMA", > >> + [KEY_HANGEUL] =3D "KEY_HANGEUL", > >> + [KEY_HANJA] =3D "KEY_HANJA", > >> + [KEY_YEN] =3D "KEY_YEN", > >> + [KEY_LEFTMETA] =3D "KEY_LEFTMETA", > >> + [KEY_RIGHTMETA] =3D "KEY_RIGHTMETA", > >> + [KEY_COMPOSE] =3D "KEY_COMPOSE", > >> + [KEY_STOP] =3D "KEY_STOP", > >> + [KEY_AGAIN] =3D "KEY_AGAIN", > >> + [KEY_PROPS] =3D "KEY_PROPS", > >> + [KEY_UNDO] =3D "KEY_UNDO", > >> + [KEY_FRONT] =3D "KEY_FRONT", > >> + [KEY_COPY] =3D "KEY_COPY", > >> + [KEY_OPEN] =3D "KEY_OPEN", > >> + [KEY_PASTE] =3D "KEY_PASTE", > >> + [KEY_FIND] =3D "KEY_FIND", > >> + [KEY_CUT] =3D "KEY_CUT", > >> + [KEY_HELP] =3D "KEY_HELP", > >> + [KEY_MENU] =3D "KEY_MENU", > >> + [KEY_CALC] =3D "KEY_CALC", > >> + [KEY_SETUP] =3D "KEY_SETUP", > >> + [KEY_SLEEP] =3D "KEY_SLEEP", > >> + [KEY_WAKEUP] =3D "KEY_WAKEUP", > >> + [KEY_FILE] =3D "KEY_FILE", > >> + [KEY_SENDFILE] =3D "KEY_SENDFILE", > >> + [KEY_DELETEFILE] =3D "KEY_DELETEFILE", > >> + [KEY_XFER] =3D "KEY_XFER", > >> + [KEY_PROG1] =3D "KEY_PROG1", > >> + [KEY_PROG2] =3D "KEY_PROG2", > >> + [KEY_WWW] =3D "KEY_WWW", > >> + [KEY_MSDOS] =3D "KEY_MSDOS", > >> + [KEY_COFFEE] =3D "KEY_COFFEE", > >> + [KEY_ROTATE_DISPLAY] =3D "KEY_ROTATE_DISPLAY", > >> + [KEY_CYCLEWINDOWS] =3D "KEY_CYCLEWINDOWS", > >> + [KEY_MAIL] =3D "KEY_MAIL", > >> + [KEY_BOOKMARKS] =3D "KEY_BOOKMARKS", > >> + [KEY_COMPUTER] =3D "KEY_COMPUTER", > >> + [KEY_BACK] =3D "KEY_BACK", > >> + [KEY_FORWARD] =3D "KEY_FORWARD", > >> + [KEY_CLOSECD] =3D "KEY_CLOSECD", > >> + [KEY_EJECTCD] =3D "KEY_EJECTCD", > >> + [KEY_EJECTCLOSECD] =3D "KEY_EJECTCLOSECD", > >> + [KEY_NEXTSONG] =3D "KEY_NEXTSONG", > >> + [KEY_PLAYPAUSE] =3D "KEY_PLAYPAUSE", > >> + [KEY_PREVIOUSSONG] =3D "KEY_PREVIOUSSONG", > >> + [KEY_STOPCD] =3D "KEY_STOPCD", > >> + [KEY_RECORD] =3D "KEY_RECORD", > >> + [KEY_REWIND] =3D "KEY_REWIND", > >> + [KEY_PHONE] =3D "KEY_PHONE", > >> + [KEY_ISO] =3D "KEY_ISO", > >> + [KEY_CONFIG] =3D "KEY_CONFIG", > >> + [KEY_HOMEPAGE] =3D "KEY_HOMEPAGE", > >> + [KEY_REFRESH] =3D "KEY_REFRESH", > >> + [KEY_EXIT] =3D "KEY_EXIT", > >> + [KEY_MOVE] =3D "KEY_MOVE", > >> + [KEY_EDIT] =3D "KEY_EDIT", > >> + [KEY_SCROLLUP] =3D "KEY_SCROLLUP", > >> + [KEY_SCROLLDOWN] =3D "KEY_SCROLLDOWN", > >> + [KEY_KPLEFTPAREN] =3D "KEY_KPLEFTPAREN", > >> + [KEY_KPRIGHTPAREN] =3D "KEY_KPRIGHTPAREN", > >> + [KEY_NEW] =3D "KEY_NEW", > >> + [KEY_REDO] =3D "KEY_REDO", > >> + [KEY_F13] =3D "KEY_F13", > >> + [KEY_F14] =3D "KEY_F14", > >> + [KEY_F15] =3D "KEY_F15", > >> + [KEY_F16] =3D "KEY_F16", > >> + [KEY_F17] =3D "KEY_F17", > >> + [KEY_F18] =3D "KEY_F18", > >> + [KEY_F19] =3D "KEY_F19", > >> + [KEY_F20] =3D "KEY_F20", > >> + [KEY_F21] =3D "KEY_F21", > >> + [KEY_F22] =3D "KEY_F22", > >> + [KEY_F23] =3D "KEY_F23", > >> + [KEY_F24] =3D "KEY_F24", > >> + [KEY_PLAYCD] =3D "KEY_PLAYCD", > >> + [KEY_PAUSECD] =3D "KEY_PAUSECD", > >> + [KEY_PROG3] =3D "KEY_PROG3", > >> + [KEY_PROG4] =3D "KEY_PROG4", > >> + // [KEY_ALL_APPLICATIONS] =3D "KEY_ALL_APPLICATIONS", > >> + [KEY_SUSPEND] =3D "KEY_SUSPEND", > >> + [KEY_CLOSE] =3D "KEY_CLOSE", > >> + [KEY_PLAY] =3D "KEY_PLAY", > >> + [KEY_FASTFORWARD] =3D "KEY_FASTFORWARD", > >> + [KEY_BASSBOOST] =3D "KEY_BASSBOOST", > >> + [KEY_PRINT] =3D "KEY_PRINT", > >> + [KEY_HP] =3D "KEY_HP", > >> + [KEY_CAMERA] =3D "KEY_CAMERA", > >> + [KEY_SOUND] =3D "KEY_SOUND", > >> + [KEY_QUESTION] =3D "KEY_QUESTION", > >> + [KEY_EMAIL] =3D "KEY_EMAIL", > >> + [KEY_CHAT] =3D "KEY_CHAT", > >> + [KEY_SEARCH] =3D "KEY_SEARCH", > >> + [KEY_CONNECT] =3D "KEY_CONNECT", > >> + [KEY_FINANCE] =3D "KEY_FINANCE", > >> + [KEY_SPORT] =3D "KEY_SPORT", > >> + [KEY_SHOP] =3D "KEY_SHOP", > >> + [KEY_ALTERASE] =3D "KEY_ALTERASE", > >> + [KEY_CANCEL] =3D "KEY_CANCEL", > >> + [KEY_BRIGHTNESSDOWN] =3D "KEY_BRIGHTNESSDOWN", > >> + [KEY_BRIGHTNESSUP] =3D "KEY_BRIGHTNESSUP", > >> + [KEY_MEDIA] =3D "KEY_MEDIA", > >> + [KEY_SWITCHVIDEOMODE] =3D "KEY_SWITCHVIDEOMODE", > >> + [KEY_KBDILLUMTOGGLE] =3D "KEY_KBDILLUMTOGGLE", > >> + [KEY_KBDILLUMDOWN] =3D "KEY_KBDILLUMDOWN", > >> + [KEY_KBDILLUMUP] =3D "KEY_KBDILLUMUP", > >> + [KEY_SEND] =3D "KEY_SEND", > >> + [KEY_REPLY] =3D "KEY_REPLY", > >> + [KEY_FORWARDMAIL] =3D "KEY_FORWARDMAIL", > >> + [KEY_SAVE] =3D "KEY_SAVE", > >> + [KEY_DOCUMENTS] =3D "KEY_DOCUMENTS", > >> + [KEY_BATTERY] =3D "KEY_BATTERY", > >> + [KEY_BLUETOOTH] =3D "KEY_BLUETOOTH", > >> + [KEY_WLAN] =3D "KEY_WLAN", > >> + [KEY_UWB] =3D "KEY_UWB", > >> + [KEY_UNKNOWN] =3D "KEY_UNKNOWN", > >> + [KEY_VIDEO_NEXT] =3D "KEY_VIDEO_NEXT", > >> + [KEY_VIDEO_PREV] =3D "KEY_VIDEO_PREV", > >> + [KEY_BRIGHTNESS_CYCLE] =3D "KEY_BRIGHTNESS_CYCLE", > >> + [KEY_BRIGHTNESS_AUTO] =3D "KEY_BRIGHTNESS_AUTO", > >> + [KEY_DISPLAY_OFF] =3D "KEY_DISPLAY_OFF", > >> + [KEY_WWAN] =3D "KEY_WWAN", > >> + [KEY_RFKILL] =3D "KEY_RFKILL", > >> + [KEY_MICMUTE] =3D "KEY_MICMUTE", > >> + [KEY_OK] =3D "KEY_OK", > >> + [KEY_SELECT] =3D "KEY_SELECT", > >> + [KEY_GOTO] =3D "KEY_GOTO", > >> + [KEY_CLEAR] =3D "KEY_CLEAR", > >> + [KEY_POWER2] =3D "KEY_POWER2", > >> + [KEY_OPTION] =3D "KEY_OPTION", > >> + [KEY_INFO] =3D "KEY_INFO", > >> + [KEY_TIME] =3D "KEY_TIME", > >> + [KEY_VENDOR] =3D "KEY_VENDOR", > >> + [KEY_ARCHIVE] =3D "KEY_ARCHIVE", > >> + [KEY_PROGRAM] =3D "KEY_PROGRAM", > >> + [KEY_CHANNEL] =3D "KEY_CHANNEL", > >> + [KEY_FAVORITES] =3D "KEY_FAVORITES", > >> + [KEY_EPG] =3D "KEY_EPG", > >> + [KEY_PVR] =3D "KEY_PVR", > >> + [KEY_MHP] =3D "KEY_MHP", > >> + [KEY_LANGUAGE] =3D "KEY_LANGUAGE", > >> + [KEY_TITLE] =3D "KEY_TITLE", > >> + [KEY_SUBTITLE] =3D "KEY_SUBTITLE", > >> + [KEY_ANGLE] =3D "KEY_ANGLE", > >> + [KEY_FULL_SCREEN] =3D "KEY_FULL_SCREEN", > >> + [KEY_MODE] =3D "KEY_MODE", > >> + [KEY_KEYBOARD] =3D "KEY_KEYBOARD", > >> + [KEY_ASPECT_RATIO] =3D "KEY_ASPECT_RATIO", > >> + [KEY_PC] =3D "KEY_PC", > >> + [KEY_TV] =3D "KEY_TV", > >> + [KEY_TV2] =3D "KEY_TV2", > >> + [KEY_VCR] =3D "KEY_VCR", > >> + [KEY_VCR2] =3D "KEY_VCR2", > >> + [KEY_SAT] =3D "KEY_SAT", > >> + [KEY_SAT2] =3D "KEY_SAT2", > >> + [KEY_CD] =3D "KEY_CD", > >> + [KEY_TAPE] =3D "KEY_TAPE", > >> + [KEY_RADIO] =3D "KEY_RADIO", > >> + [KEY_TUNER] =3D "KEY_TUNER", > >> + [KEY_PLAYER] =3D "KEY_PLAYER", > >> + [KEY_TEXT] =3D "KEY_TEXT", > >> + [KEY_DVD] =3D "KEY_DVD", > >> + [KEY_AUX] =3D "KEY_AUX", > >> + [KEY_MP3] =3D "KEY_MP3", > >> + [KEY_AUDIO] =3D "KEY_AUDIO", > >> + [KEY_VIDEO] =3D "KEY_VIDEO", > >> + [KEY_DIRECTORY] =3D "KEY_DIRECTORY", > >> + [KEY_LIST] =3D "KEY_LIST", > >> + [KEY_MEMO] =3D "KEY_MEMO", > >> + [KEY_CALENDAR] =3D "KEY_CALENDAR", > >> + [KEY_RED] =3D "KEY_RED", > >> + [KEY_GREEN] =3D "KEY_GREEN", > >> + [KEY_YELLOW] =3D "KEY_YELLOW", > >> + [KEY_BLUE] =3D "KEY_BLUE", > >> + [KEY_CHANNELUP] =3D "KEY_CHANNELUP", > >> + [KEY_CHANNELDOWN] =3D "KEY_CHANNELDOWN", > >> + [KEY_FIRST] =3D "KEY_FIRST", > >> + [KEY_LAST] =3D "KEY_LAST", > >> + [KEY_AB] =3D "KEY_AB", > >> + [KEY_NEXT] =3D "KEY_NEXT", > >> + [KEY_RESTART] =3D "KEY_RESTART", > >> + [KEY_SLOW] =3D "KEY_SLOW", > >> + [KEY_SHUFFLE] =3D "KEY_SHUFFLE", > >> + [KEY_BREAK] =3D "KEY_BREAK", > >> + [KEY_PREVIOUS] =3D "KEY_PREVIOUS", > >> + [KEY_DIGITS] =3D "KEY_DIGITS", > >> + [KEY_TEEN] =3D "KEY_TEEN", > >> + [KEY_TWEN] =3D "KEY_TWEN", > >> + [KEY_VIDEOPHONE] =3D "KEY_VIDEOPHONE", > >> + [KEY_GAMES] =3D "KEY_GAMES", > >> + [KEY_ZOOMIN] =3D "KEY_ZOOMIN", > >> + [KEY_ZOOMOUT] =3D "KEY_ZOOMOUT", > >> + [KEY_ZOOMRESET] =3D "KEY_ZOOMRESET", > >> + [KEY_WORDPROCESSOR] =3D "KEY_WORDPROCESSOR", > >> + [KEY_EDITOR] =3D "KEY_EDITOR", > >> + [KEY_SPREADSHEET] =3D "KEY_SPREADSHEET", > >> + [KEY_GRAPHICSEDITOR] =3D "KEY_GRAPHICSEDITOR", > >> + [KEY_PRESENTATION] =3D "KEY_PRESENTATION", > >> + [KEY_DATABASE] =3D "KEY_DATABASE", > >> + [KEY_NEWS] =3D "KEY_NEWS", > >> + [KEY_VOICEMAIL] =3D "KEY_VOICEMAIL", > >> + [KEY_ADDRESSBOOK] =3D "KEY_ADDRESSBOOK", > >> + [KEY_MESSENGER] =3D "KEY_MESSENGER", > >> + [KEY_DISPLAYTOGGLE] =3D "KEY_DISPLAYTOGGLE", > >> + [KEY_SPELLCHECK] =3D "KEY_SPELLCHECK", > >> + [KEY_LOGOFF] =3D "KEY_LOGOFF", > >> + [KEY_DOLLAR] =3D "KEY_DOLLAR", > >> + [KEY_EURO] =3D "KEY_EURO", > >> + [KEY_FRAMEBACK] =3D "KEY_FRAMEBACK", > >> + [KEY_FRAMEFORWARD] =3D "KEY_FRAMEFORWARD", > >> + [KEY_CONTEXT_MENU] =3D "KEY_CONTEXT_MENU", > >> + [KEY_MEDIA_REPEAT] =3D "KEY_MEDIA_REPEAT", > >> + [KEY_10CHANNELSUP] =3D "KEY_10CHANNELSUP", > >> + [KEY_10CHANNELSDOWN] =3D "KEY_10CHANNELSDOWN", > >> + [KEY_IMAGES] =3D "KEY_IMAGES", > >> + // [KEY_NOTIFICATION_CENTER] =3D "KEY_NOTIFICATION_CENTER", > >> + // [KEY_PICKUP_PHONE] =3D "KEY_PICKUP_PHONE", > >> + // [KEY_HANGUP_PHONE] =3D "KEY_HANGUP_PHONE", > >> + [KEY_DEL_EOL] =3D "KEY_DEL_EOL", > >> + [KEY_DEL_EOS] =3D "KEY_DEL_EOS", > >> + [KEY_INS_LINE] =3D "KEY_INS_LINE", > >> + [KEY_DEL_LINE] =3D "KEY_DEL_LINE", > >> + [KEY_FN] =3D "KEY_FN", > >> + [KEY_FN_ESC] =3D "KEY_FN_ESC", > >> + [KEY_FN_F1] =3D "KEY_FN_F1", > >> + [KEY_FN_F2] =3D "KEY_FN_F2", > >> + [KEY_FN_F3] =3D "KEY_FN_F3", > >> + [KEY_FN_F4] =3D "KEY_FN_F4", > >> + [KEY_FN_F5] =3D "KEY_FN_F5", > >> + [KEY_FN_F6] =3D "KEY_FN_F6", > >> + [KEY_FN_F7] =3D "KEY_FN_F7", > >> + [KEY_FN_F8] =3D "KEY_FN_F8", > >> + [KEY_FN_F9] =3D "KEY_FN_F9", > >> + [KEY_FN_F10] =3D "KEY_FN_F10", > >> + [KEY_FN_F11] =3D "KEY_FN_F11", > >> + [KEY_FN_F12] =3D "KEY_FN_F12", > >> + [KEY_FN_1] =3D "KEY_FN_1", > >> + [KEY_FN_2] =3D "KEY_FN_2", > >> + [KEY_FN_D] =3D "KEY_FN_D", > >> + [KEY_FN_E] =3D "KEY_FN_E", > >> + [KEY_FN_F] =3D "KEY_FN_F", > >> + [KEY_FN_S] =3D "KEY_FN_S", > >> + [KEY_FN_B] =3D "KEY_FN_B", > >> + // [KEY_FN_RIGHT_SHIFT] =3D "KEY_FN_RIGHT_SHIFT", > >> + [KEY_BRL_DOT1] =3D "KEY_BRL_DOT1", > >> + [KEY_BRL_DOT2] =3D "KEY_BRL_DOT2", > >> + [KEY_BRL_DOT3] =3D "KEY_BRL_DOT3", > >> + [KEY_BRL_DOT4] =3D "KEY_BRL_DOT4", > >> + [KEY_BRL_DOT5] =3D "KEY_BRL_DOT5", > >> + [KEY_BRL_DOT6] =3D "KEY_BRL_DOT6", > >> + [KEY_BRL_DOT7] =3D "KEY_BRL_DOT7", > >> + [KEY_BRL_DOT8] =3D "KEY_BRL_DOT8", > >> + [KEY_BRL_DOT9] =3D "KEY_BRL_DOT9", > >> + [KEY_BRL_DOT10] =3D "KEY_BRL_DOT10", > >> + [KEY_NUMERIC_0] =3D "KEY_NUMERIC_0", > >> + [KEY_NUMERIC_1] =3D "KEY_NUMERIC_1", > >> + [KEY_NUMERIC_2] =3D "KEY_NUMERIC_2", > >> + [KEY_NUMERIC_3] =3D "KEY_NUMERIC_3", > >> + [KEY_NUMERIC_4] =3D "KEY_NUMERIC_4", > >> + [KEY_NUMERIC_5] =3D "KEY_NUMERIC_5", > >> + [KEY_NUMERIC_6] =3D "KEY_NUMERIC_6", > >> + [KEY_NUMERIC_7] =3D "KEY_NUMERIC_7", > >> + [KEY_NUMERIC_8] =3D "KEY_NUMERIC_8", > >> + [KEY_NUMERIC_9] =3D "KEY_NUMERIC_9", > >> + [KEY_NUMERIC_STAR] =3D "KEY_NUMERIC_STAR", > >> + [KEY_NUMERIC_POUND] =3D "KEY_NUMERIC_POUND", > >> + [KEY_NUMERIC_A] =3D "KEY_NUMERIC_A", > >> + [KEY_NUMERIC_B] =3D "KEY_NUMERIC_B", > >> + [KEY_NUMERIC_C] =3D "KEY_NUMERIC_C", > >> + [KEY_NUMERIC_D] =3D "KEY_NUMERIC_D", > >> + [KEY_CAMERA_FOCUS] =3D "KEY_CAMERA_FOCUS", > >> + [KEY_WPS_BUTTON] =3D "KEY_WPS_BUTTON", > >> + [KEY_TOUCHPAD_TOGGLE] =3D "KEY_TOUCHPAD_TOGGLE", > >> + [KEY_TOUCHPAD_ON] =3D "KEY_TOUCHPAD_ON", > >> + [KEY_TOUCHPAD_OFF] =3D "KEY_TOUCHPAD_OFF", > >> + [KEY_CAMERA_ZOOMIN] =3D "KEY_CAMERA_ZOOMIN", > >> + [KEY_CAMERA_ZOOMOUT] =3D "KEY_CAMERA_ZOOMOUT", > >> + [KEY_CAMERA_UP] =3D "KEY_CAMERA_UP", > >> + [KEY_CAMERA_DOWN] =3D "KEY_CAMERA_DOWN", > >> + [KEY_CAMERA_LEFT] =3D "KEY_CAMERA_LEFT", > >> + [KEY_CAMERA_RIGHT] =3D "KEY_CAMERA_RIGHT", > >> + [KEY_ATTENDANT_ON] =3D "KEY_ATTENDANT_ON", > >> + [KEY_ATTENDANT_OFF] =3D "KEY_ATTENDANT_OFF", > >> + [KEY_ATTENDANT_TOGGLE] =3D "KEY_ATTENDANT_TOGGLE", > >> + [KEY_LIGHTS_TOGGLE] =3D "KEY_LIGHTS_TOGGLE", > >> + [KEY_ALS_TOGGLE] =3D "KEY_ALS_TOGGLE", > >> + [KEY_ROTATE_LOCK_TOGGLE] =3D "KEY_ROTATE_LOCK_TOGGLE", > >> + [KEY_BUTTONCONFIG] =3D "KEY_BUTTONCONFIG", > >> + [KEY_TASKMANAGER] =3D "KEY_TASKMANAGER", > >> + [KEY_JOURNAL] =3D "KEY_JOURNAL", > >> + [KEY_CONTROLPANEL] =3D "KEY_CONTROLPANEL", > >> + [KEY_APPSELECT] =3D "KEY_APPSELECT", > >> + [KEY_SCREENSAVER] =3D "KEY_SCREENSAVER", > >> + [KEY_VOICECOMMAND] =3D "KEY_VOICECOMMAND", > >> + [KEY_ASSISTANT] =3D "KEY_ASSISTANT", > >> + [KEY_KBD_LAYOUT_NEXT] =3D "KEY_KBD_LAYOUT_NEXT", > >> + // [KEY_EMOJI_PICKER] =3D "KEY_EMOJI_PICKER", > >> + //[KEY_DICTATE] =3D "KEY_DICTATE", > >> + //[KEY_CAMERA_ACCESS_ENABLE] =3D "KEY_CAMERA_ACCESS_ENABLE", > >> + //[KEY_CAMERA_ACCESS_DISABLE] =3D "KEY_CAMERA_ACCESS_DISABLE", > >> + //[KEY_CAMERA_ACCESS_TOGGLE] =3D "KEY_CAMERA_ACCESS_TOGGLE", > >> + [KEY_BRIGHTNESS_MIN] =3D "KEY_BRIGHTNESS_MIN", > >> + [KEY_BRIGHTNESS_MAX] =3D "KEY_BRIGHTNESS_MAX", > >> + [KEY_KBDINPUTASSIST_PREV] =3D "KEY_KBDINPUTASSIST_PREV", > >> + [KEY_KBDINPUTASSIST_NEXT] =3D "KEY_KBDINPUTASSIST_NEXT", > >> + [KEY_KBDINPUTASSIST_PREVGROUP] =3D "KEY_KBDINPUTASSIST_PREVGROUP"= , > >> + [KEY_KBDINPUTASSIST_NEXTGROUP] =3D "KEY_KBDINPUTASSIST_NEXTGROUP"= , > >> + [KEY_KBDINPUTASSIST_ACCEPT] =3D "KEY_KBDINPUTASSIST_ACCEPT", > >> + [KEY_KBDINPUTASSIST_CANCEL] =3D "KEY_KBDINPUTASSIST_CANCEL", > >> + [KEY_RIGHT_UP] =3D "KEY_RIGHT_UP", > >> + [KEY_RIGHT_DOWN] =3D "KEY_RIGHT_DOWN", > >> + [KEY_LEFT_UP] =3D "KEY_LEFT_UP", > >> + [KEY_LEFT_DOWN] =3D "KEY_LEFT_DOWN", > >> + [KEY_ROOT_MENU] =3D "KEY_ROOT_MENU", > >> + [KEY_MEDIA_TOP_MENU] =3D "KEY_MEDIA_TOP_MENU", > >> + [KEY_NUMERIC_11] =3D "KEY_NUMERIC_11", > >> + [KEY_NUMERIC_12] =3D "KEY_NUMERIC_12", > >> + [KEY_AUDIO_DESC] =3D "KEY_AUDIO_DESC", > >> + [KEY_3D_MODE] =3D "KEY_3D_MODE", > >> + [KEY_NEXT_FAVORITE] =3D "KEY_NEXT_FAVORITE", > >> + [KEY_STOP_RECORD] =3D "KEY_STOP_RECORD", > >> + [KEY_PAUSE_RECORD] =3D "KEY_PAUSE_RECORD", > >> + [KEY_VOD] =3D "KEY_VOD", > >> + [KEY_UNMUTE] =3D "KEY_UNMUTE", > >> + [KEY_FASTREVERSE] =3D "KEY_FASTREVERSE", > >> + [KEY_SLOWREVERSE] =3D "KEY_SLOWREVERSE", > >> + [KEY_DATA] =3D "KEY_DATA", > >> + [KEY_ONSCREEN_KEYBOARD] =3D "KEY_ONSCREEN_KEYBOARD", > >> + [KEY_PRIVACY_SCREEN_TOGGLE] =3D "KEY_PRIVACY_SCREEN_TOGGLE", > >> + [KEY_SELECTIVE_SCREENSHOT] =3D "KEY_SELECTIVE_SCREENSHOT", > >> + // [KEY_NEXT_ELEMENT] =3D "KEY_NEXT_ELEMENT", > >> + // [KEY_PREVIOUS_ELEMENT] =3D "KEY_PREVIOUS_ELEMENT", > >> + // [KEY_AUTOPILOT_ENGAGE_TOGGLE] =3D "KEY_AUTOPILOT_ENGAGE_TOGGLE= ", > >> + // [KEY_MARK_WAYPOINT] =3D "KEY_MARK_WAYPOINT", > >> + // [KEY_SOS] =3D "KEY_SOS", > >> + // [KEY_NAV_CHART] =3D "KEY_NAV_CHART", > >> + // [KEY_FISHING_CHART] =3D "KEY_FISHING_CHART", > >> + // [KEY_SINGLE_RANGE_RADAR] =3D "KEY_SINGLE_RANGE_RADAR", > >> + // [KEY_DUAL_RANGE_RADAR] =3D "KEY_DUAL_RANGE_RADAR", > >> + // [KEY_RADAR_OVERLAY] =3D "KEY_RADAR_OVERLAY", > >> + // [KEY_TRADITIONAL_SONAR] =3D "KEY_TRADITIONAL_SONAR", > >> + // [KEY_CLEARVU_SONAR] =3D "KEY_CLEARVU_SONAR", > >> + // [KEY_SIDEVU_SONAR] =3D "KEY_SIDEVU_SONAR", > >> + // [KEY_NAV_INFO] =3D "KEY_NAV_INFO", > >> + // [KEY_BRIGHTNESS_MENU] =3D "KEY_BRIGHTNESS_MENU", > >> + [KEY_MACRO1] =3D "KEY_MACRO1", > >> + [KEY_MACRO2] =3D "KEY_MACRO2", > >> + [KEY_MACRO3] =3D "KEY_MACRO3", > >> + [KEY_MACRO4] =3D "KEY_MACRO4", > >> + [KEY_MACRO5] =3D "KEY_MACRO5", > >> + [KEY_MACRO6] =3D "KEY_MACRO6", > >> + [KEY_MACRO7] =3D "KEY_MACRO7", > >> + [KEY_MACRO8] =3D "KEY_MACRO8", > >> + [KEY_MACRO9] =3D "KEY_MACRO9", > >> + [KEY_MACRO10] =3D "KEY_MACRO10", > >> + [KEY_MACRO11] =3D "KEY_MACRO11", > >> + [KEY_MACRO12] =3D "KEY_MACRO12", > >> + [KEY_MACRO13] =3D "KEY_MACRO13", > >> + [KEY_MACRO14] =3D "KEY_MACRO14", > >> + [KEY_MACRO15] =3D "KEY_MACRO15", > >> + [KEY_MACRO16] =3D "KEY_MACRO16", > >> + [KEY_MACRO17] =3D "KEY_MACRO17", > >> + [KEY_MACRO18] =3D "KEY_MACRO18", > >> + [KEY_MACRO19] =3D "KEY_MACRO19", > >> + [KEY_MACRO20] =3D "KEY_MACRO20", > >> + [KEY_MACRO21] =3D "KEY_MACRO21", > >> + [KEY_MACRO22] =3D "KEY_MACRO22", > >> + [KEY_MACRO23] =3D "KEY_MACRO23", > >> + [KEY_MACRO24] =3D "KEY_MACRO24", > >> + [KEY_MACRO25] =3D "KEY_MACRO25", > >> + [KEY_MACRO26] =3D "KEY_MACRO26", > >> + [KEY_MACRO27] =3D "KEY_MACRO27", > >> + [KEY_MACRO28] =3D "KEY_MACRO28", > >> + [KEY_MACRO29] =3D "KEY_MACRO29", > >> + [KEY_MACRO30] =3D "KEY_MACRO30", > >> + [KEY_MACRO_RECORD_START] =3D "KEY_MACRO_RECORD_START", > >> + [KEY_MACRO_RECORD_STOP] =3D "KEY_MACRO_RECORD_STOP", > >> + [KEY_MACRO_PRESET_CYCLE] =3D "KEY_MACRO_PRESET_CYCLE", > >> + [KEY_MACRO_PRESET1] =3D "KEY_MACRO_PRESET1", > >> + [KEY_MACRO_PRESET2] =3D "KEY_MACRO_PRESET2", > >> + [KEY_MACRO_PRESET3] =3D "KEY_MACRO_PRESET3", > >> + [KEY_KBD_LCD_MENU1] =3D "KEY_KBD_LCD_MENU1", > >> + [KEY_KBD_LCD_MENU2] =3D "KEY_KBD_LCD_MENU2", > >> + [KEY_KBD_LCD_MENU3] =3D "KEY_KBD_LCD_MENU3", > >> + [KEY_KBD_LCD_MENU4] =3D "KEY_KBD_LCD_MENU4", > >> + [KEY_KBD_LCD_MENU5] =3D "KEY_KBD_LCD_MENU5", > >> + [KEY_MAX] =3D "KEY_MAX", > >> + [BTN_0] =3D "BTN_0", > >> + [BTN_1] =3D "BTN_1", > >> + [BTN_2] =3D "BTN_2", > >> + [BTN_3] =3D "BTN_3", > >> + [BTN_4] =3D "BTN_4", > >> + [BTN_5] =3D "BTN_5", > >> + [BTN_6] =3D "BTN_6", > >> + [BTN_7] =3D "BTN_7", > >> + [BTN_8] =3D "BTN_8", > >> + [BTN_9] =3D "BTN_9", > >> + [BTN_LEFT] =3D "BTN_LEFT", > >> + [BTN_RIGHT] =3D "BTN_RIGHT", > >> + [BTN_MIDDLE] =3D "BTN_MIDDLE", > >> + [BTN_SIDE] =3D "BTN_SIDE", > >> + [BTN_EXTRA] =3D "BTN_EXTRA", > >> + [BTN_FORWARD] =3D "BTN_FORWARD", > >> + [BTN_BACK] =3D "BTN_BACK", > >> + [BTN_TASK] =3D "BTN_TASK", > >> + [BTN_TRIGGER] =3D "BTN_TRIGGER", > >> + [BTN_THUMB] =3D "BTN_THUMB", > >> + [BTN_THUMB2] =3D "BTN_THUMB2", > >> + [BTN_TOP] =3D "BTN_TOP", > >> + [BTN_TOP2] =3D "BTN_TOP2", > >> + [BTN_PINKIE] =3D "BTN_PINKIE", > >> + [BTN_BASE] =3D "BTN_BASE", > >> + [BTN_BASE2] =3D "BTN_BASE2", > >> + [BTN_BASE3] =3D "BTN_BASE3", > >> + [BTN_BASE4] =3D "BTN_BASE4", > >> + [BTN_BASE5] =3D "BTN_BASE5", > >> + [BTN_BASE6] =3D "BTN_BASE6", > >> + [BTN_DEAD] =3D "BTN_DEAD", > >> + [BTN_SOUTH] =3D "BTN_SOUTH", > >> + [BTN_EAST] =3D "BTN_EAST", > >> + [BTN_C] =3D "BTN_C", > >> + [BTN_NORTH] =3D "BTN_NORTH", > >> + [BTN_WEST] =3D "BTN_WEST", > >> + [BTN_Z] =3D "BTN_Z", > >> + [BTN_TL] =3D "BTN_TL", > >> + [BTN_TR] =3D "BTN_TR", > >> + [BTN_TL2] =3D "BTN_TL2", > >> + [BTN_TR2] =3D "BTN_TR2", > >> + [BTN_SELECT] =3D "BTN_SELECT", > >> + [BTN_START] =3D "BTN_START", > >> + [BTN_MODE] =3D "BTN_MODE", > >> + [BTN_THUMBL] =3D "BTN_THUMBL", > >> + [BTN_THUMBR] =3D "BTN_THUMBR", > >> + [BTN_TOOL_PEN] =3D "BTN_TOOL_PEN", > >> + [BTN_TOOL_RUBBER] =3D "BTN_TOOL_RUBBER", > >> + [BTN_TOOL_BRUSH] =3D "BTN_TOOL_BRUSH", > >> + [BTN_TOOL_PENCIL] =3D "BTN_TOOL_PENCIL", > >> + [BTN_TOOL_AIRBRUSH] =3D "BTN_TOOL_AIRBRUSH", > >> + [BTN_TOOL_FINGER] =3D "BTN_TOOL_FINGER", > >> + [BTN_TOOL_MOUSE] =3D "BTN_TOOL_MOUSE", > >> + [BTN_TOOL_LENS] =3D "BTN_TOOL_LENS", > >> + [BTN_TOOL_QUINTTAP] =3D "BTN_TOOL_QUINTTAP", > >> + [BTN_STYLUS3] =3D "BTN_STYLUS3", > >> + [BTN_TOUCH] =3D "BTN_TOUCH", > >> + [BTN_STYLUS] =3D "BTN_STYLUS", > >> + [BTN_STYLUS2] =3D "BTN_STYLUS2", > >> + [BTN_TOOL_DOUBLETAP] =3D "BTN_TOOL_DOUBLETAP", > >> + [BTN_TOOL_TRIPLETAP] =3D "BTN_TOOL_TRIPLETAP", > >> + [BTN_TOOL_QUADTAP] =3D "BTN_TOOL_QUADTAP", > >> + [BTN_GEAR_DOWN] =3D "BTN_GEAR_DOWN", > >> + [BTN_GEAR_UP] =3D "BTN_GEAR_UP", > >> + [BTN_DPAD_UP] =3D "BTN_DPAD_UP", > >> + [BTN_DPAD_DOWN] =3D "BTN_DPAD_DOWN", > >> + [BTN_DPAD_LEFT] =3D "BTN_DPAD_LEFT", > >> + [BTN_DPAD_RIGHT] =3D "BTN_DPAD_RIGHT", > >> + [BTN_TRIGGER_HAPPY1] =3D "BTN_TRIGGER_HAPPY1", > >> + [BTN_TRIGGER_HAPPY2] =3D "BTN_TRIGGER_HAPPY2", > >> + [BTN_TRIGGER_HAPPY3] =3D "BTN_TRIGGER_HAPPY3", > >> + [BTN_TRIGGER_HAPPY4] =3D "BTN_TRIGGER_HAPPY4", > >> + [BTN_TRIGGER_HAPPY5] =3D "BTN_TRIGGER_HAPPY5", > >> + [BTN_TRIGGER_HAPPY6] =3D "BTN_TRIGGER_HAPPY6", > >> + [BTN_TRIGGER_HAPPY7] =3D "BTN_TRIGGER_HAPPY7", > >> + [BTN_TRIGGER_HAPPY8] =3D "BTN_TRIGGER_HAPPY8", > >> + [BTN_TRIGGER_HAPPY9] =3D "BTN_TRIGGER_HAPPY9", > >> + [BTN_TRIGGER_HAPPY10] =3D "BTN_TRIGGER_HAPPY10", > >> + [BTN_TRIGGER_HAPPY11] =3D "BTN_TRIGGER_HAPPY11", > >> + [BTN_TRIGGER_HAPPY12] =3D "BTN_TRIGGER_HAPPY12", > >> + [BTN_TRIGGER_HAPPY13] =3D "BTN_TRIGGER_HAPPY13", > >> + [BTN_TRIGGER_HAPPY14] =3D "BTN_TRIGGER_HAPPY14", > >> + [BTN_TRIGGER_HAPPY15] =3D "BTN_TRIGGER_HAPPY15", > >> + [BTN_TRIGGER_HAPPY16] =3D "BTN_TRIGGER_HAPPY16", > >> + [BTN_TRIGGER_HAPPY17] =3D "BTN_TRIGGER_HAPPY17", > >> + [BTN_TRIGGER_HAPPY18] =3D "BTN_TRIGGER_HAPPY18", > >> + [BTN_TRIGGER_HAPPY19] =3D "BTN_TRIGGER_HAPPY19", > >> + [BTN_TRIGGER_HAPPY20] =3D "BTN_TRIGGER_HAPPY20", > >> + [BTN_TRIGGER_HAPPY21] =3D "BTN_TRIGGER_HAPPY21", > >> + [BTN_TRIGGER_HAPPY22] =3D "BTN_TRIGGER_HAPPY22", > >> + [BTN_TRIGGER_HAPPY23] =3D "BTN_TRIGGER_HAPPY23", > >> + [BTN_TRIGGER_HAPPY24] =3D "BTN_TRIGGER_HAPPY24", > >> + [BTN_TRIGGER_HAPPY25] =3D "BTN_TRIGGER_HAPPY25", > >> + [BTN_TRIGGER_HAPPY26] =3D "BTN_TRIGGER_HAPPY26", > >> + [BTN_TRIGGER_HAPPY27] =3D "BTN_TRIGGER_HAPPY27", > >> + [BTN_TRIGGER_HAPPY28] =3D "BTN_TRIGGER_HAPPY28", > >> + [BTN_TRIGGER_HAPPY29] =3D "BTN_TRIGGER_HAPPY29", > >> + [BTN_TRIGGER_HAPPY30] =3D "BTN_TRIGGER_HAPPY30", > >> + [BTN_TRIGGER_HAPPY31] =3D "BTN_TRIGGER_HAPPY31", > >> + [BTN_TRIGGER_HAPPY32] =3D "BTN_TRIGGER_HAPPY32", > >> + [BTN_TRIGGER_HAPPY33] =3D "BTN_TRIGGER_HAPPY33", > >> + [BTN_TRIGGER_HAPPY34] =3D "BTN_TRIGGER_HAPPY34", > >> + [BTN_TRIGGER_HAPPY35] =3D "BTN_TRIGGER_HAPPY35", > >> + [BTN_TRIGGER_HAPPY36] =3D "BTN_TRIGGER_HAPPY36", > >> + [BTN_TRIGGER_HAPPY37] =3D "BTN_TRIGGER_HAPPY37", > >> + [BTN_TRIGGER_HAPPY38] =3D "BTN_TRIGGER_HAPPY38", > >> + [BTN_TRIGGER_HAPPY39] =3D "BTN_TRIGGER_HAPPY39", > >> + [BTN_TRIGGER_HAPPY40] =3D "BTN_TRIGGER_HAPPY40", > >> +}; > >> + > >> +static const char * const led_map[LED_MAX + 1] =3D { > >> + [LED_NUML] =3D "LED_NUML", > >> + [LED_CAPSL] =3D "LED_CAPSL", > >> *** 11201 LINES SKIPPED *** > >> > > > > make buildworld fails to build due to this error: > > > > [...] > > c++ -target x86_64-unknown-freebsd16.0 > --sysroot=3D/usr/obj/usr/src/amd64.amd64/tmp > > -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -fpie -O2 -pipe -fno-common > -march=3Dnative -I. > > -I/usr/src/sbin/devd -fPIE -DNDEBUG -MD -MF.depend.devd.pieo -MTdevd.pi= eo > > -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Wall > -Wno-format-y2k -W > > -Wno-unused-parameter -Wpointer-arith -Wreturn-type -Wcast-qual > -Wwrite-strings -Wswitch > > -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wdate-time > > -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body > -Wno-string-plus-int > > -Wno-unused-const-variable -Wno-error=3Dunused-but-set-parameter > > -Wno-error=3Dcast-function-type-mismatch > -Wno-missing-variable-declarations -Qunused-arguments > > -march=3Dnative -fPIE -std=3Dgnu++17 -c /usr/src/sbin/devd/dev= d.cc > -o devd.pieo > > /usr/src/sbin/devd/devd.cc:1228:2: error: "Remove this gross hack" 1228 > | #error "Remove this > > gross hack" | ^ 1 error generated. *** Error code 1 > > Unrelated. This is because __FreeBSD_version was bumped now 15 > branched, and this was left in to scream at people to do something for > FreeBSD 16. I guess that worked, though a bit of an unfortunate way to > start the 16 cycle :) > Works as designed. Warner --000000000000726764063e066722 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Thu, Sep 4, = 2025 at 10:17=E2=80=AFPM Jessica Clarke <jrtc27@freebsd.org> wrote:
On 5 Sep 2025, at 05:13, A FreeBSD User <freebsd@walstatt-de.d= e> wrote:

> Am Tage des Herren Thu, 4 Sep 2025 21:08:06 GMT
> Vladimir Kondratyev <wulf@FreeBSD.org> schrieb:
>
>> The branch main has been updated by wulf:
>>
>> URL: http= s://cgit.FreeBSD.org/src/commit/?id=3Daef807876c305587c60f73e2cd914115d22a5= 3fd
>>
>> commit aef807876c305587c60f73e2cd914115d22a53fd
>> Author:=C2=A0 =C2=A0 =C2=A0Vladimir Kondratyev <wulf@FreeBSD.or= g>
>> AuthorDate: 2025-09-04 21:07:25 +0000
>> Commit:=C2=A0 =C2=A0 =C2=A0Vladimir Kondratyev <wulf@FreeBSD.or= g>
>> CommitDate: 2025-09-04 21:07:25 +0000
>>
>>=C2=A0 =C2=A0 moused(8): Add support for evdev protocol
>>
>>=C2=A0 =C2=A0 The new daemon have following properties as compared = with previous
>>=C2=A0 =C2=A0 incarnation:
>>=C2=A0 =C2=A0 - evdev protocol support for mices and touchpads. Add= itionally to
>>=C2=A0 =C2=A0 =C2=A0 relative PS/2 and USB devices it enables conso= le support for I2C/USB
>>=C2=A0 =C2=A0 =C2=A0 touchpads and bluetooth mices.
>>=C2=A0 =C2=A0 - Other aged protocols like COM, raw PS/2 and X10 are= dropped with only
>>=C2=A0 =C2=A0 =C2=A0 exception of sysmouse. For those who still use= them there is an
>>=C2=A0 =C2=A0 =C2=A0 utility called msconvd(8).
>>=C2=A0 =C2=A0 - single daemon per system where hotplug is processed= via devd socket.
>>=C2=A0 =C2=A0 =C2=A0 Per device mode still supported too.
>>=C2=A0 =C2=A0 - Configuration and quirks files in libinput-compatib= le format.
>>=C2=A0 =C2=A0 =C2=A0 Actually, the new moused config parser is take= n from libinput.
>>
>>=C2=A0 =C2=A0 The moused(8) can work in 2 modes:
>>=C2=A0 =C2=A0 1. Evdev support mode. It enables all previously ment= ioned devices.
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0It is enabled by deault.
>>=C2=A0 =C2=A0 2. Sysmouse support mode. All should work as before.<= br> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0No new devices supported. To enable it a= dd following lines to
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0/etc/rc.conf:
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 moused_port=3D"/dev/psm0&qu= ot;
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 moused_nondefault_enable=3D"= ;YES"
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0One may add hw.usb.usbhid.enable=3D0 to = /boot/loader.conf to enable
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0ums(4) driver which supports sysmouse pr= otocol.
>>
>>=C2=A0 =C2=A0 Differential Revision:=C2=A0 https://reviews= .freebsd.org/D52164
>> ---
>> libexec/rc/rc.conf=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|=C2= =A0 =C2=A0 8 +-
>> libexec/rc/rc.d/Makefile=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 1 + >> libexec/rc/rc.d/msconvd=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=A061 +<= br> >> tools/build/mk/OptionalObsoleteFiles.inc=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 7 +
>> usr.sbin/moused/Makefile=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=A012 +-<= br> >> usr.sbin/moused/Makefile.depend=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A017 -
>> usr.sbin/moused/moused/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A028 +
>> usr.sbin/moused/moused/event-names.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0| 1656 ++++++++++
>> usr.sbin/moused/moused/moused.8=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 538 ++++
>> usr.sbin/moused/moused/moused.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 3205 ++++++++++++++++++++
>> usr.sbin/moused/moused/moused.conf=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A043 +
>> usr.sbin/moused/moused/moused.conf.5=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 422 +++
>> usr.sbin/moused/moused/quirks.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 2033 +++++++++++++
>> usr.sbin/moused/moused/quirks.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 369 +++
>> .../moused/moused/quirks/5-generic-touchpad.quirks |=C2=A0 =C2=A0 = 9 +
>> usr.sbin/moused/moused/util-evdev.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 173 ++
>> usr.sbin/moused/moused/util-evdev.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A035 +
>> usr.sbin/moused/moused/util-list.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A086 +
>> usr.sbin/moused/moused/util-list.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 194 ++
>> usr.sbin/moused/moused/util.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 423 +++
>> usr.sbin/moused/moused/util.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 413 +++
>> usr.sbin/moused/msconvd/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +
>> usr.sbin/moused/{moused.8 =3D> msconvd/msconvd.8}=C2=A0 =C2=A0 = |=C2=A0 395 +--
>> usr.sbin/moused/{moused.c =3D> msconvd/msconvd.c}=C2=A0 =C2=A0 = | 1212 ++------
>> 24 files changed, 10008 insertions(+), 1340 deletions(-)
>>
>> diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf
>> index bfa46bd343a6..0ef3012892dd 100644
>> --- a/libexec/rc/rc.conf
>> +++ b/libexec/rc/rc.conf
>> @@ -586,15 +586,19 @@ font8x14=3D"NO" # font 8x14 from >> /usr/share/{syscons,vt}/fonts/* (or NO). font8x8=3D"NO" = # font 8x8 from
>> /usr/share/{syscons,vt}/fonts/* (or NO). blanktime=3D"300&quo= t; # blank time (in
>> seconds) or "NO" to turn it off. saver=3D"NO" = # screen saver: Uses
>> /boot/kernel/${saver}_saver.ko -moused_nondefault_enable=3D"Y= ES" # Treat non-default mice as
>> enabled unless +moused_nondefault_enable=3D"NO" # Treat = non-default mice as enabled unless
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0# specifically overridden in rc.conf(5).=
>> moused_enable=3D"NO" # Run the mouse daemon.
>> moused_type=3D"auto" # See man page for rc.conf(5) for a= vailable settings.
>> -moused_port=3D"/dev/psm0" # Set to your mouse port.
>> +moused_port=3D"auto" # Set to your mouse port.
>> moused_flags=3D"" # Any additional flags to moused.
>> mousechar_start=3D"NO" # if 0xd0-0xd3 default range is o= ccupied in your
>> # language code table, specify alternative range
>> # start like mousechar_start=3D3, see vidcontrol(1)
>> +msconvd_enable=3D"NO" # Run the mouse protocol conversi= on daemon.
>> +msconvd_type=3D"auto" # See rc.conf(5) man page for ava= ilable moused_type-s.
>> +msconvd_ports=3D"" # List of msconvd ports.
>> +msconvd_flags=3D"" # Any additional flags to msconvd. >> allscreens_flags=3D"" # Set this vidcontrol mode for all= virtual screens
>> allscreens_kbdflags=3D"" # Set this kbdcontrol mode for = all virtual screens
>>
>> diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile >> index 7c1f50b027a9..e5ee34e62185 100644
>> --- a/libexec/rc/rc.d/Makefile
>> +++ b/libexec/rc/rc.d/Makefile
>> @@ -273,6 +273,7 @@ JAILPACKAGE=3D jail
>> .if ${MK_LEGACY_CONSOLE} !=3D "no"
>> CONFGROUPS+=3D CONSOLE
>> CONSOLE+=3D moused
>> +CONSOLE+=3D msconvd
>> CONSOLE+=3D syscons
>> CONSOLEPACKAGE=3D console-tools
>> .endif
>> diff --git a/libexec/rc/rc.d/msconvd b/libexec/rc/rc.d/msconvd
>> new file mode 100755
>> index 000000000000..c2a96bf2eb68
>> --- /dev/null
>> +++ b/libexec/rc/rc.d/msconvd
>> @@ -0,0 +1,61 @@
>> +#!/bin/sh
>> +#
>> +#
>> +
>> +# PROVIDE: msconvd
>> +# REQUIRE: DAEMON FILESYSTEMS
>> +# KEYWORD: nojail shutdown
>> +
>> +. /etc/rc.subr
>> +
>> +name=3D"msconvd"
>> +desc=3D"Mouse protocol conversion daemon"
>> +command=3D"/usr/sbin/${name}"
>> +start_cmd=3D"msconvd_start"
>> +pidprefix=3D"/var/run/msconvd"
>> +load_rc_config $name
>> +
>> +: ${msconvd_enable=3D"NO"}
>> +: ${msconvd_type=3D"auto"}
>> +
>> +# doesn't make sense to run in a svcj: nojail keyword
>> +# XXX: How does msconvd communiacte with the kernel?
>> +# XXX: Does the kernel prevent this communcation in jails?
>> +msconvd_svcj=3D"NO"
>> +
>> +# Set the pid file and variable name. The second argument, if it = exists, is
>> +# expected to be the mouse device.
>> +#
>> +if [ -n "$2" ]; then
>> + eval msconvd_$2_enable=3D\${msconvd_$2_enable-${msconvd_enable}}=
>> + rcvar=3D"msconvd_$2_enable"
>> + pidfile=3D"${pidprefix}.$2.pid"
>> +else
>> + for ms in ${msconvd_ports}; do
>> + /etc/rc.d/msconvd $1 ${ms}
>> + done
>> + exit 0
>> +fi
>> +
>> +msconvd_start()
>> +{
>> + local ms myflags myport mytype
>> +
>> + # Set the mouse device and get any related variables. If
>> + # a msconvd device has been specified on the commandline, then >> + # rc.conf(5) variables defined for that device take precedence >> + # over the generic msconvd_* variables. The only exception is >> + # the msconvd_port variable, which if not defined sets it to
>> + # the passed in device name.
>> + #
>> + ms=3D$1
>> + eval myflags=3D\${msconvd_${ms}_flags-$msconvd_flags}
>> + eval myport=3D\${msconvd_${ms}_port-/dev/${ms}}
>> + eval mytype=3D\${msconvd_${ms}_type-$msconvd_type}
>> +
>> + startmsg -n "Starting ${ms} ${name}"
>> + ${command} ${myflags} -p ${myport} -t ${mytype} -I ${pidfile} >> + startmsg '.'
>> +}
>> +
>> +run_rc_command $*
>> diff --git a/tools/build/mk/OptionalObsoleteFiles.inc
>> b/tools/build/mk/OptionalObsoleteFiles.inc index 5eea402c4526..a2f= b28f1a186 100644
>> --- a/tools/build/mk/OptionalObsoleteFiles.inc
>> +++ b/tools/build/mk/OptionalObsoleteFiles.inc
>> @@ -3793,11 +3793,14 @@ OLD_FILES+=3Dusr/share/man/man1/host.1.gz<= br> >> .endif
>>
>> .if ${MK_LEGACY_CONSOLE} =3D=3D no
>> +OLD_FILES+=3Detc/moused.conf
>> OLD_FILES+=3Detc/rc.d/moused
>> +OLD_FILES+=3Detc/rc.d/msconvd
>> OLD_FILES+=3Detc/rc.d/syscons
>> OLD_FILES+=3Dusr/sbin/kbdcontrol
>> OLD_FILES+=3Dusr/sbin/kbdmap
>> OLD_FILES+=3Dusr/sbin/moused
>> +OLD_FILES+=3Dusr/sbin/msconvd
>> OLD_FILES+=3Dusr/sbin/vidcontrol
>> OLD_FILES+=3Dusr/sbin/vidfont
>> OLD_FILES+=3Dusr/share/man/man1/kbdcontrol.1.gz
>> @@ -3806,7 +3809,11 @@ OLD_FILES+=3Dusr/share/man/man1/vidcontrol.= 1.gz
>> OLD_FILES+=3Dusr/share/man/man1/vidfont.1.gz
>> OLD_FILES+=3Dusr/share/man/man5/kbdmap.5.gz
>> OLD_FILES+=3Dusr/share/man/man5/keymap.5.gz
>> +OLD_FILES+=3Dusr/share/man/man5/moused.conf.5.gz
>> OLD_FILES+=3Dusr/share/man/man8/moused.8.gz
>> +OLD_FILES+=3Dusr/share/man/man8/msconvd.8.gz
>> +OLD_FILES+=3Dusr/share/moused/5-generic-touchpad.quirks
>> +OLD_DIRS+=3Dusr/share/moused
>> .endif
>>
>> .for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats}
>> diff --git a/usr.sbin/moused/Makefile b/usr.sbin/moused/Makefile >> index 2a7aa0484542..b6319b6fef20 100644
>> --- a/usr.sbin/moused/Makefile
>> +++ b/usr.sbin/moused/Makefile
>> @@ -1,10 +1,4 @@
>> -PACKAGE=3D console-tools
>> -PROG=3D moused
>> -MAN=3D moused.8
>> +SUBDIR+=3Dmoused
>> +SUBDIR+=3Dmsconvd
>>
>> -LIBADD=3D m util
>> -
>> -#BINMODE=3D4555
>> -#PRECIOUSPROG=3D
>> -
>> -.include <bsd.prog.mk>
>> +.include <bsd.subdir.mk>
>> diff --git a/usr.sbin/moused/Makefile.depend b/usr.sbin/moused/Mak= efile.depend
>> deleted file mode 100644
>> index af3b7054df7a..000000000000
>> --- a/usr.sbin/moused/Makefile.depend
>> +++ /dev/null
>> @@ -1,17 +0,0 @@
>> -# Autogenerated - do NOT edit!
>> -
>> -DIRDEPS =3D \
>> - include \
>> - include/xlocale \
>> - lib/${CSU_DIR} \
>> - lib/libc \
>> - lib/libcompiler_rt \
>> - lib/libutil \
>> - lib/msun \
>> -
>> -
>> -.include <dirdeps.mk>
>> -
>> -.if ${DEP_RELDIR} =3D=3D ${_DEP_RELDIR}
>> -# local dependencies - needed for -jN in clean tree
>> -.endif
>> diff --git a/usr.sbin/moused/moused/Makefile b/usr.sbin/moused/mou= sed/Makefile
>> new file mode 100644
>> index 000000000000..8479764b710b
>> --- /dev/null
>> +++ b/usr.sbin/moused/moused/Makefile
>> @@ -0,0 +1,28 @@
>> +PACKAGE=3D console-tools
>> +PROG=3D moused
>> +
>> +SRCS=3D moused.c \
>> + event-names.h \
>> + quirks.c \
>> + quirks.h \
>> + util.c \
>> + util.h \
>> + util-evdev.c \
>> + util-evdev.h \
>> + util-list.c \
>> + util-list.h
>> +MAN=3D moused.8 \
>> + moused.conf.5
>> +CONFS=3D moused.conf
>> +QUIRKS=3D 5-generic-touchpad.quirks
>> +
>> +CWARNFLAGS.quirks.c+=3D -Wno-cast-align -Wno-shadow -Wno-cast-qua= l \
>> + -Wno-unused-variable -Wno-unused-parameter
>> +CWARNFLAGS.util.c+=3D -Wno-shadow
>> +LIBADD=3D m util
>> +BINDIR=3D /usr/sbin
>> +
>> +FILES=3D ${QUIRKS:S|^|quirks/|}
>> +FILESDIR=3D /usr/share/${PROG}
>> +
>> +.include <bsd.prog.mk>
>> diff --git a/usr.sbin/moused/moused/event-names.h b/usr.sbin/mouse= d/moused/event-names.h
>> new file mode 100644
>> index 000000000000..05093a1d0db3
>> --- /dev/null
>> +++ b/usr.sbin/moused/moused/event-names.h
>> @@ -0,0 +1,1656 @@
>> +/* THIS FILE IS GENERATED, DO NOT EDIT */
>> +
>> +#ifndef EVENT_NAMES_H
>> +#define EVENT_NAMES_H
>> +
>> +static const char * const ev_map[EV_MAX + 1] =3D {
>> +=C2=A0 =C2=A0 [EV_SYN] =3D "EV_SYN",
>> +=C2=A0 =C2=A0 [EV_KEY] =3D "EV_KEY",
>> +=C2=A0 =C2=A0 [EV_REL] =3D "EV_REL",
>> +=C2=A0 =C2=A0 [EV_ABS] =3D "EV_ABS",
>> +=C2=A0 =C2=A0 [EV_MSC] =3D "EV_MSC",
>> +=C2=A0 =C2=A0 [EV_SW] =3D "EV_SW",
>> +=C2=A0 =C2=A0 [EV_LED] =3D "EV_LED",
>> +=C2=A0 =C2=A0 [EV_SND] =3D "EV_SND",
>> +=C2=A0 =C2=A0 [EV_REP] =3D "EV_REP",
>> +=C2=A0 =C2=A0 [EV_FF] =3D "EV_FF",
>> +=C2=A0 =C2=A0 [EV_PWR] =3D "EV_PWR",
>> +=C2=A0 =C2=A0 [EV_FF_STATUS] =3D "EV_FF_STATUS",
>> +=C2=A0 =C2=A0 [EV_MAX] =3D "EV_MAX",
>> +};
>> +
>> +static const char * const rel_map[REL_MAX + 1] =3D {
>> +=C2=A0 =C2=A0 [REL_X] =3D "REL_X",
>> +=C2=A0 =C2=A0 [REL_Y] =3D "REL_Y",
>> +=C2=A0 =C2=A0 [REL_Z] =3D "REL_Z",
>> +=C2=A0 =C2=A0 [REL_RX] =3D "REL_RX",
>> +=C2=A0 =C2=A0 [REL_RY] =3D "REL_RY",
>> +=C2=A0 =C2=A0 [REL_RZ] =3D "REL_RZ",
>> +=C2=A0 =C2=A0 [REL_HWHEEL] =3D "REL_HWHEEL",
>> +=C2=A0 =C2=A0 [REL_DIAL] =3D "REL_DIAL",
>> +=C2=A0 =C2=A0 [REL_WHEEL] =3D "REL_WHEEL",
>> +=C2=A0 =C2=A0 [REL_MISC] =3D "REL_MISC",
>> +=C2=A0 =C2=A0 [REL_RESERVED] =3D "REL_RESERVED",
>> +=C2=A0 =C2=A0 [REL_WHEEL_HI_RES] =3D "REL_WHEEL_HI_RES"= ,
>> +=C2=A0 =C2=A0 [REL_HWHEEL_HI_RES] =3D "REL_HWHEEL_HI_RES&quo= t;,
>> +=C2=A0 =C2=A0 [REL_MAX] =3D "REL_MAX",
>> +};
>> +
>> +static const char * const abs_map[ABS_MAX + 1] =3D {
>> +=C2=A0 =C2=A0 [ABS_X] =3D "ABS_X",
>> +=C2=A0 =C2=A0 [ABS_Y] =3D "ABS_Y",
>> +=C2=A0 =C2=A0 [ABS_Z] =3D "ABS_Z",
>> +=C2=A0 =C2=A0 [ABS_RX] =3D "ABS_RX",
>> +=C2=A0 =C2=A0 [ABS_RY] =3D "ABS_RY",
>> +=C2=A0 =C2=A0 [ABS_RZ] =3D "ABS_RZ",
>> +=C2=A0 =C2=A0 [ABS_THROTTLE] =3D "ABS_THROTTLE",
>> +=C2=A0 =C2=A0 [ABS_RUDDER] =3D "ABS_RUDDER",
>> +=C2=A0 =C2=A0 [ABS_WHEEL] =3D "ABS_WHEEL",
>> +=C2=A0 =C2=A0 [ABS_GAS] =3D "ABS_GAS",
>> +=C2=A0 =C2=A0 [ABS_BRAKE] =3D "ABS_BRAKE",
>> +=C2=A0 =C2=A0 [ABS_HAT0X] =3D "ABS_HAT0X",
>> +=C2=A0 =C2=A0 [ABS_HAT0Y] =3D "ABS_HAT0Y",
>> +=C2=A0 =C2=A0 [ABS_HAT1X] =3D "ABS_HAT1X",
>> +=C2=A0 =C2=A0 [ABS_HAT1Y] =3D "ABS_HAT1Y",
>> +=C2=A0 =C2=A0 [ABS_HAT2X] =3D "ABS_HAT2X",
>> +=C2=A0 =C2=A0 [ABS_HAT2Y] =3D "ABS_HAT2Y",
>> +=C2=A0 =C2=A0 [ABS_HAT3X] =3D "ABS_HAT3X",
>> +=C2=A0 =C2=A0 [ABS_HAT3Y] =3D "ABS_HAT3Y",
>> +=C2=A0 =C2=A0 [ABS_PRESSURE] =3D "ABS_PRESSURE",
>> +=C2=A0 =C2=A0 [ABS_DISTANCE] =3D "ABS_DISTANCE",
>> +=C2=A0 =C2=A0 [ABS_TILT_X] =3D "ABS_TILT_X",
>> +=C2=A0 =C2=A0 [ABS_TILT_Y] =3D "ABS_TILT_Y",
>> +=C2=A0 =C2=A0 [ABS_TOOL_WIDTH] =3D "ABS_TOOL_WIDTH", >> +=C2=A0 =C2=A0 [ABS_VOLUME] =3D "ABS_VOLUME",
>> +=C2=A0 =C2=A0 // [ABS_PROFILE] =3D "ABS_PROFILE",
>> +=C2=A0 =C2=A0 [ABS_MISC] =3D "ABS_MISC",
>> +=C2=A0 =C2=A0 [ABS_RESERVED] =3D "ABS_RESERVED",
>> +=C2=A0 =C2=A0 [ABS_MT_SLOT] =3D "ABS_MT_SLOT",
>> +=C2=A0 =C2=A0 [ABS_MT_TOUCH_MAJOR] =3D "ABS_MT_TOUCH_MAJOR&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_TOUCH_MINOR] =3D "ABS_MT_TOUCH_MINOR&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_WIDTH_MAJOR] =3D "ABS_MT_WIDTH_MAJOR&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_WIDTH_MINOR] =3D "ABS_MT_WIDTH_MINOR&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_ORIENTATION] =3D "ABS_MT_ORIENTATION&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_POSITION_X] =3D "ABS_MT_POSITION_X&quo= t;,
>> +=C2=A0 =C2=A0 [ABS_MT_POSITION_Y] =3D "ABS_MT_POSITION_Y&quo= t;,
>> +=C2=A0 =C2=A0 [ABS_MT_TOOL_TYPE] =3D "ABS_MT_TOOL_TYPE"= ,
>> +=C2=A0 =C2=A0 [ABS_MT_BLOB_ID] =3D "ABS_MT_BLOB_ID", >> +=C2=A0 =C2=A0 [ABS_MT_TRACKING_ID] =3D "ABS_MT_TRACKING_ID&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_PRESSURE] =3D "ABS_MT_PRESSURE",<= br> >> +=C2=A0 =C2=A0 [ABS_MT_DISTANCE] =3D "ABS_MT_DISTANCE",<= br> >> +=C2=A0 =C2=A0 [ABS_MT_TOOL_X] =3D "ABS_MT_TOOL_X",
>> +=C2=A0 =C2=A0 [ABS_MT_TOOL_Y] =3D "ABS_MT_TOOL_Y",
>> +=C2=A0 =C2=A0 [ABS_MAX] =3D "ABS_MAX",
>> +};
>> +
>> +static const char * const key_map[KEY_MAX + 1] =3D {
>> +=C2=A0 =C2=A0 [KEY_RESERVED] =3D "KEY_RESERVED",
>> +=C2=A0 =C2=A0 [KEY_ESC] =3D "KEY_ESC",
>> +=C2=A0 =C2=A0 [KEY_1] =3D "KEY_1",
>> +=C2=A0 =C2=A0 [KEY_2] =3D "KEY_2",
>> +=C2=A0 =C2=A0 [KEY_3] =3D "KEY_3",
>> +=C2=A0 =C2=A0 [KEY_4] =3D "KEY_4",
>> +=C2=A0 =C2=A0 [KEY_5] =3D "KEY_5",
>> +=C2=A0 =C2=A0 [KEY_6] =3D "KEY_6",
>> +=C2=A0 =C2=A0 [KEY_7] =3D "KEY_7",
>> +=C2=A0 =C2=A0 [KEY_8] =3D "KEY_8",
>> +=C2=A0 =C2=A0 [KEY_9] =3D "KEY_9",
>> +=C2=A0 =C2=A0 [KEY_0] =3D "KEY_0",
>> +=C2=A0 =C2=A0 [KEY_MINUS] =3D "KEY_MINUS",
>> +=C2=A0 =C2=A0 [KEY_EQUAL] =3D "KEY_EQUAL",
>> +=C2=A0 =C2=A0 [KEY_BACKSPACE] =3D "KEY_BACKSPACE",
>> +=C2=A0 =C2=A0 [KEY_TAB] =3D "KEY_TAB",
>> +=C2=A0 =C2=A0 [KEY_Q] =3D "KEY_Q",
>> +=C2=A0 =C2=A0 [KEY_W] =3D "KEY_W",
>> +=C2=A0 =C2=A0 [KEY_E] =3D "KEY_E",
>> +=C2=A0 =C2=A0 [KEY_R] =3D "KEY_R",
>> +=C2=A0 =C2=A0 [KEY_T] =3D "KEY_T",
>> +=C2=A0 =C2=A0 [KEY_Y] =3D "KEY_Y",
>> +=C2=A0 =C2=A0 [KEY_U] =3D "KEY_U",
>> +=C2=A0 =C2=A0 [KEY_I] =3D "KEY_I",
>> +=C2=A0 =C2=A0 [KEY_O] =3D "KEY_O",
>> +=C2=A0 =C2=A0 [KEY_P] =3D "KEY_P",
>> +=C2=A0 =C2=A0 [KEY_LEFTBRACE] =3D "KEY_LEFTBRACE",
>> +=C2=A0 =C2=A0 [KEY_RIGHTBRACE] =3D "KEY_RIGHTBRACE", >> +=C2=A0 =C2=A0 [KEY_ENTER] =3D "KEY_ENTER",
>> +=C2=A0 =C2=A0 [KEY_LEFTCTRL] =3D "KEY_LEFTCTRL",
>> +=C2=A0 =C2=A0 [KEY_A] =3D "KEY_A",
>> +=C2=A0 =C2=A0 [KEY_S] =3D "KEY_S",
>> +=C2=A0 =C2=A0 [KEY_D] =3D "KEY_D",
>> +=C2=A0 =C2=A0 [KEY_F] =3D "KEY_F",
>> +=C2=A0 =C2=A0 [KEY_G] =3D "KEY_G",
>> +=C2=A0 =C2=A0 [KEY_H] =3D "KEY_H",
>> +=C2=A0 =C2=A0 [KEY_J] =3D "KEY_J",
>> +=C2=A0 =C2=A0 [KEY_K] =3D "KEY_K",
>> +=C2=A0 =C2=A0 [KEY_L] =3D "KEY_L",
>> +=C2=A0 =C2=A0 [KEY_SEMICOLON] =3D "KEY_SEMICOLON",
>> +=C2=A0 =C2=A0 [KEY_APOSTROPHE] =3D "KEY_APOSTROPHE", >> +=C2=A0 =C2=A0 [KEY_GRAVE] =3D "KEY_GRAVE",
>> +=C2=A0 =C2=A0 [KEY_LEFTSHIFT] =3D "KEY_LEFTSHIFT",
>> +=C2=A0 =C2=A0 [KEY_BACKSLASH] =3D "KEY_BACKSLASH",
>> +=C2=A0 =C2=A0 [KEY_Z] =3D "KEY_Z",
>> +=C2=A0 =C2=A0 [KEY_X] =3D "KEY_X",
>> +=C2=A0 =C2=A0 [KEY_C] =3D "KEY_C",
>> +=C2=A0 =C2=A0 [KEY_V] =3D "KEY_V",
>> +=C2=A0 =C2=A0 [KEY_B] =3D "KEY_B",
>> +=C2=A0 =C2=A0 [KEY_N] =3D "KEY_N",
>> +=C2=A0 =C2=A0 [KEY_M] =3D "KEY_M",
>> +=C2=A0 =C2=A0 [KEY_COMMA] =3D "KEY_COMMA",
>> +=C2=A0 =C2=A0 [KEY_DOT] =3D "KEY_DOT",
>> +=C2=A0 =C2=A0 [KEY_SLASH] =3D "KEY_SLASH",
>> +=C2=A0 =C2=A0 [KEY_RIGHTSHIFT] =3D "KEY_RIGHTSHIFT", >> +=C2=A0 =C2=A0 [KEY_KPASTERISK] =3D "KEY_KPASTERISK", >> +=C2=A0 =C2=A0 [KEY_LEFTALT] =3D "KEY_LEFTALT",
>> +=C2=A0 =C2=A0 [KEY_SPACE] =3D "KEY_SPACE",
>> +=C2=A0 =C2=A0 [KEY_CAPSLOCK] =3D "KEY_CAPSLOCK",
>> +=C2=A0 =C2=A0 [KEY_F1] =3D "KEY_F1",
>> +=C2=A0 =C2=A0 [KEY_F2] =3D "KEY_F2",
>> +=C2=A0 =C2=A0 [KEY_F3] =3D "KEY_F3",
>> +=C2=A0 =C2=A0 [KEY_F4] =3D "KEY_F4",
>> +=C2=A0 =C2=A0 [KEY_F5] =3D "KEY_F5",
>> +=C2=A0 =C2=A0 [KEY_F6] =3D "KEY_F6",
>> +=C2=A0 =C2=A0 [KEY_F7] =3D "KEY_F7",
>> +=C2=A0 =C2=A0 [KEY_F8] =3D "KEY_F8",
>> +=C2=A0 =C2=A0 [KEY_F9] =3D "KEY_F9",
>> +=C2=A0 =C2=A0 [KEY_F10] =3D "KEY_F10",
>> +=C2=A0 =C2=A0 [KEY_NUMLOCK] =3D "KEY_NUMLOCK",
>> +=C2=A0 =C2=A0 [KEY_SCROLLLOCK] =3D "KEY_SCROLLLOCK", >> +=C2=A0 =C2=A0 [KEY_KP7] =3D "KEY_KP7",
>> +=C2=A0 =C2=A0 [KEY_KP8] =3D "KEY_KP8",
>> +=C2=A0 =C2=A0 [KEY_KP9] =3D "KEY_KP9",
>> +=C2=A0 =C2=A0 [KEY_KPMINUS] =3D "KEY_KPMINUS",
>> +=C2=A0 =C2=A0 [KEY_KP4] =3D "KEY_KP4",
>> +=C2=A0 =C2=A0 [KEY_KP5] =3D "KEY_KP5",
>> +=C2=A0 =C2=A0 [KEY_KP6] =3D "KEY_KP6",
>> +=C2=A0 =C2=A0 [KEY_KPPLUS] =3D "KEY_KPPLUS",
>> +=C2=A0 =C2=A0 [KEY_KP1] =3D "KEY_KP1",
>> +=C2=A0 =C2=A0 [KEY_KP2] =3D "KEY_KP2",
>> +=C2=A0 =C2=A0 [KEY_KP3] =3D "KEY_KP3",
>> +=C2=A0 =C2=A0 [KEY_KP0] =3D "KEY_KP0",
>> +=C2=A0 =C2=A0 [KEY_KPDOT] =3D "KEY_KPDOT",
>> +=C2=A0 =C2=A0 [KEY_ZENKAKUHANKAKU] =3D "KEY_ZENKAKUHANKAKU&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_102ND] =3D "KEY_102ND",
>> +=C2=A0 =C2=A0 [KEY_F11] =3D "KEY_F11",
>> +=C2=A0 =C2=A0 [KEY_F12] =3D "KEY_F12",
>> +=C2=A0 =C2=A0 [KEY_RO] =3D "KEY_RO",
>> +=C2=A0 =C2=A0 [KEY_KATAKANA] =3D "KEY_KATAKANA",
>> +=C2=A0 =C2=A0 [KEY_HIRAGANA] =3D "KEY_HIRAGANA",
>> +=C2=A0 =C2=A0 [KEY_HENKAN] =3D "KEY_HENKAN",
>> +=C2=A0 =C2=A0 [KEY_KATAKANAHIRAGANA] =3D "KEY_KATAKANAHIRAGA= NA",
>> +=C2=A0 =C2=A0 [KEY_MUHENKAN] =3D "KEY_MUHENKAN",
>> +=C2=A0 =C2=A0 [KEY_KPJPCOMMA] =3D "KEY_KPJPCOMMA",
>> +=C2=A0 =C2=A0 [KEY_KPENTER] =3D "KEY_KPENTER",
>> +=C2=A0 =C2=A0 [KEY_RIGHTCTRL] =3D "KEY_RIGHTCTRL",
>> +=C2=A0 =C2=A0 [KEY_KPSLASH] =3D "KEY_KPSLASH",
>> +=C2=A0 =C2=A0 [KEY_SYSRQ] =3D "KEY_SYSRQ",
>> +=C2=A0 =C2=A0 [KEY_RIGHTALT] =3D "KEY_RIGHTALT",
>> +=C2=A0 =C2=A0 [KEY_LINEFEED] =3D "KEY_LINEFEED",
>> +=C2=A0 =C2=A0 [KEY_HOME] =3D "KEY_HOME",
>> +=C2=A0 =C2=A0 [KEY_UP] =3D "KEY_UP",
>> +=C2=A0 =C2=A0 [KEY_PAGEUP] =3D "KEY_PAGEUP",
>> +=C2=A0 =C2=A0 [KEY_LEFT] =3D "KEY_LEFT",
>> +=C2=A0 =C2=A0 [KEY_RIGHT] =3D "KEY_RIGHT",
>> +=C2=A0 =C2=A0 [KEY_END] =3D "KEY_END",
>> +=C2=A0 =C2=A0 [KEY_DOWN] =3D "KEY_DOWN",
>> +=C2=A0 =C2=A0 [KEY_PAGEDOWN] =3D "KEY_PAGEDOWN",
>> +=C2=A0 =C2=A0 [KEY_INSERT] =3D "KEY_INSERT",
>> +=C2=A0 =C2=A0 [KEY_DELETE] =3D "KEY_DELETE",
>> +=C2=A0 =C2=A0 [KEY_MACRO] =3D "KEY_MACRO",
>> +=C2=A0 =C2=A0 [KEY_MUTE] =3D "KEY_MUTE",
>> +=C2=A0 =C2=A0 [KEY_VOLUMEDOWN] =3D "KEY_VOLUMEDOWN", >> +=C2=A0 =C2=A0 [KEY_VOLUMEUP] =3D "KEY_VOLUMEUP",
>> +=C2=A0 =C2=A0 [KEY_POWER] =3D "KEY_POWER",
>> +=C2=A0 =C2=A0 [KEY_KPEQUAL] =3D "KEY_KPEQUAL",
>> +=C2=A0 =C2=A0 [KEY_KPPLUSMINUS] =3D "KEY_KPPLUSMINUS",<= br> >> +=C2=A0 =C2=A0 [KEY_PAUSE] =3D "KEY_PAUSE",
>> +=C2=A0 =C2=A0 [KEY_SCALE] =3D "KEY_SCALE",
>> +=C2=A0 =C2=A0 [KEY_KPCOMMA] =3D "KEY_KPCOMMA",
>> +=C2=A0 =C2=A0 [KEY_HANGEUL] =3D "KEY_HANGEUL",
>> +=C2=A0 =C2=A0 [KEY_HANJA] =3D "KEY_HANJA",
>> +=C2=A0 =C2=A0 [KEY_YEN] =3D "KEY_YEN",
>> +=C2=A0 =C2=A0 [KEY_LEFTMETA] =3D "KEY_LEFTMETA",
>> +=C2=A0 =C2=A0 [KEY_RIGHTMETA] =3D "KEY_RIGHTMETA",
>> +=C2=A0 =C2=A0 [KEY_COMPOSE] =3D "KEY_COMPOSE",
>> +=C2=A0 =C2=A0 [KEY_STOP] =3D "KEY_STOP",
>> +=C2=A0 =C2=A0 [KEY_AGAIN] =3D "KEY_AGAIN",
>> +=C2=A0 =C2=A0 [KEY_PROPS] =3D "KEY_PROPS",
>> +=C2=A0 =C2=A0 [KEY_UNDO] =3D "KEY_UNDO",
>> +=C2=A0 =C2=A0 [KEY_FRONT] =3D "KEY_FRONT",
>> +=C2=A0 =C2=A0 [KEY_COPY] =3D "KEY_COPY",
>> +=C2=A0 =C2=A0 [KEY_OPEN] =3D "KEY_OPEN",
>> +=C2=A0 =C2=A0 [KEY_PASTE] =3D "KEY_PASTE",
>> +=C2=A0 =C2=A0 [KEY_FIND] =3D "KEY_FIND",
>> +=C2=A0 =C2=A0 [KEY_CUT] =3D "KEY_CUT",
>> +=C2=A0 =C2=A0 [KEY_HELP] =3D "KEY_HELP",
>> +=C2=A0 =C2=A0 [KEY_MENU] =3D "KEY_MENU",
>> +=C2=A0 =C2=A0 [KEY_CALC] =3D "KEY_CALC",
>> +=C2=A0 =C2=A0 [KEY_SETUP] =3D "KEY_SETUP",
>> +=C2=A0 =C2=A0 [KEY_SLEEP] =3D "KEY_SLEEP",
>> +=C2=A0 =C2=A0 [KEY_WAKEUP] =3D "KEY_WAKEUP",
>> +=C2=A0 =C2=A0 [KEY_FILE] =3D "KEY_FILE",
>> +=C2=A0 =C2=A0 [KEY_SENDFILE] =3D "KEY_SENDFILE",
>> +=C2=A0 =C2=A0 [KEY_DELETEFILE] =3D "KEY_DELETEFILE", >> +=C2=A0 =C2=A0 [KEY_XFER] =3D "KEY_XFER",
>> +=C2=A0 =C2=A0 [KEY_PROG1] =3D "KEY_PROG1",
>> +=C2=A0 =C2=A0 [KEY_PROG2] =3D "KEY_PROG2",
>> +=C2=A0 =C2=A0 [KEY_WWW] =3D "KEY_WWW",
>> +=C2=A0 =C2=A0 [KEY_MSDOS] =3D "KEY_MSDOS",
>> +=C2=A0 =C2=A0 [KEY_COFFEE] =3D "KEY_COFFEE",
>> +=C2=A0 =C2=A0 [KEY_ROTATE_DISPLAY] =3D "KEY_ROTATE_DISPLAY&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_CYCLEWINDOWS] =3D "KEY_CYCLEWINDOWS"= ,
>> +=C2=A0 =C2=A0 [KEY_MAIL] =3D "KEY_MAIL",
>> +=C2=A0 =C2=A0 [KEY_BOOKMARKS] =3D "KEY_BOOKMARKS",
>> +=C2=A0 =C2=A0 [KEY_COMPUTER] =3D "KEY_COMPUTER",
>> +=C2=A0 =C2=A0 [KEY_BACK] =3D "KEY_BACK",
>> +=C2=A0 =C2=A0 [KEY_FORWARD] =3D "KEY_FORWARD",
>> +=C2=A0 =C2=A0 [KEY_CLOSECD] =3D "KEY_CLOSECD",
>> +=C2=A0 =C2=A0 [KEY_EJECTCD] =3D "KEY_EJECTCD",
>> +=C2=A0 =C2=A0 [KEY_EJECTCLOSECD] =3D "KEY_EJECTCLOSECD"= ,
>> +=C2=A0 =C2=A0 [KEY_NEXTSONG] =3D "KEY_NEXTSONG",
>> +=C2=A0 =C2=A0 [KEY_PLAYPAUSE] =3D "KEY_PLAYPAUSE",
>> +=C2=A0 =C2=A0 [KEY_PREVIOUSSONG] =3D "KEY_PREVIOUSSONG"= ,
>> +=C2=A0 =C2=A0 [KEY_STOPCD] =3D "KEY_STOPCD",
>> +=C2=A0 =C2=A0 [KEY_RECORD] =3D "KEY_RECORD",
>> +=C2=A0 =C2=A0 [KEY_REWIND] =3D "KEY_REWIND",
>> +=C2=A0 =C2=A0 [KEY_PHONE] =3D "KEY_PHONE",
>> +=C2=A0 =C2=A0 [KEY_ISO] =3D "KEY_ISO",
>> +=C2=A0 =C2=A0 [KEY_CONFIG] =3D "KEY_CONFIG",
>> +=C2=A0 =C2=A0 [KEY_HOMEPAGE] =3D "KEY_HOMEPAGE",
>> +=C2=A0 =C2=A0 [KEY_REFRESH] =3D "KEY_REFRESH",
>> +=C2=A0 =C2=A0 [KEY_EXIT] =3D "KEY_EXIT",
>> +=C2=A0 =C2=A0 [KEY_MOVE] =3D "KEY_MOVE",
>> +=C2=A0 =C2=A0 [KEY_EDIT] =3D "KEY_EDIT",
>> +=C2=A0 =C2=A0 [KEY_SCROLLUP] =3D "KEY_SCROLLUP",
>> +=C2=A0 =C2=A0 [KEY_SCROLLDOWN] =3D "KEY_SCROLLDOWN", >> +=C2=A0 =C2=A0 [KEY_KPLEFTPAREN] =3D "KEY_KPLEFTPAREN",<= br> >> +=C2=A0 =C2=A0 [KEY_KPRIGHTPAREN] =3D "KEY_KPRIGHTPAREN"= ,
>> +=C2=A0 =C2=A0 [KEY_NEW] =3D "KEY_NEW",
>> +=C2=A0 =C2=A0 [KEY_REDO] =3D "KEY_REDO",
>> +=C2=A0 =C2=A0 [KEY_F13] =3D "KEY_F13",
>> +=C2=A0 =C2=A0 [KEY_F14] =3D "KEY_F14",
>> +=C2=A0 =C2=A0 [KEY_F15] =3D "KEY_F15",
>> +=C2=A0 =C2=A0 [KEY_F16] =3D "KEY_F16",
>> +=C2=A0 =C2=A0 [KEY_F17] =3D "KEY_F17",
>> +=C2=A0 =C2=A0 [KEY_F18] =3D "KEY_F18",
>> +=C2=A0 =C2=A0 [KEY_F19] =3D "KEY_F19",
>> +=C2=A0 =C2=A0 [KEY_F20] =3D "KEY_F20",
>> +=C2=A0 =C2=A0 [KEY_F21] =3D "KEY_F21",
>> +=C2=A0 =C2=A0 [KEY_F22] =3D "KEY_F22",
>> +=C2=A0 =C2=A0 [KEY_F23] =3D "KEY_F23",
>> +=C2=A0 =C2=A0 [KEY_F24] =3D "KEY_F24",
>> +=C2=A0 =C2=A0 [KEY_PLAYCD] =3D "KEY_PLAYCD",
>> +=C2=A0 =C2=A0 [KEY_PAUSECD] =3D "KEY_PAUSECD",
>> +=C2=A0 =C2=A0 [KEY_PROG3] =3D "KEY_PROG3",
>> +=C2=A0 =C2=A0 [KEY_PROG4] =3D "KEY_PROG4",
>> +=C2=A0 =C2=A0 // [KEY_ALL_APPLICATIONS] =3D "KEY_ALL_APPLICA= TIONS",
>> +=C2=A0 =C2=A0 [KEY_SUSPEND] =3D "KEY_SUSPEND",
>> +=C2=A0 =C2=A0 [KEY_CLOSE] =3D "KEY_CLOSE",
>> +=C2=A0 =C2=A0 [KEY_PLAY] =3D "KEY_PLAY",
>> +=C2=A0 =C2=A0 [KEY_FASTFORWARD] =3D "KEY_FASTFORWARD",<= br> >> +=C2=A0 =C2=A0 [KEY_BASSBOOST] =3D "KEY_BASSBOOST",
>> +=C2=A0 =C2=A0 [KEY_PRINT] =3D "KEY_PRINT",
>> +=C2=A0 =C2=A0 [KEY_HP] =3D "KEY_HP",
>> +=C2=A0 =C2=A0 [KEY_CAMERA] =3D "KEY_CAMERA",
>> +=C2=A0 =C2=A0 [KEY_SOUND] =3D "KEY_SOUND",
>> +=C2=A0 =C2=A0 [KEY_QUESTION] =3D "KEY_QUESTION",
>> +=C2=A0 =C2=A0 [KEY_EMAIL] =3D "KEY_EMAIL",
>> +=C2=A0 =C2=A0 [KEY_CHAT] =3D "KEY_CHAT",
>> +=C2=A0 =C2=A0 [KEY_SEARCH] =3D "KEY_SEARCH",
>> +=C2=A0 =C2=A0 [KEY_CONNECT] =3D "KEY_CONNECT",
>> +=C2=A0 =C2=A0 [KEY_FINANCE] =3D "KEY_FINANCE",
>> +=C2=A0 =C2=A0 [KEY_SPORT] =3D "KEY_SPORT",
>> +=C2=A0 =C2=A0 [KEY_SHOP] =3D "KEY_SHOP",
>> +=C2=A0 =C2=A0 [KEY_ALTERASE] =3D "KEY_ALTERASE",
>> +=C2=A0 =C2=A0 [KEY_CANCEL] =3D "KEY_CANCEL",
>> +=C2=A0 =C2=A0 [KEY_BRIGHTNESSDOWN] =3D "KEY_BRIGHTNESSDOWN&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_BRIGHTNESSUP] =3D "KEY_BRIGHTNESSUP"= ,
>> +=C2=A0 =C2=A0 [KEY_MEDIA] =3D "KEY_MEDIA",
>> +=C2=A0 =C2=A0 [KEY_SWITCHVIDEOMODE] =3D "KEY_SWITCHVIDEOMODE= ",
>> +=C2=A0 =C2=A0 [KEY_KBDILLUMTOGGLE] =3D "KEY_KBDILLUMTOGGLE&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_KBDILLUMDOWN] =3D "KEY_KBDILLUMDOWN"= ,
>> +=C2=A0 =C2=A0 [KEY_KBDILLUMUP] =3D "KEY_KBDILLUMUP", >> +=C2=A0 =C2=A0 [KEY_SEND] =3D "KEY_SEND",
>> +=C2=A0 =C2=A0 [KEY_REPLY] =3D "KEY_REPLY",
>> +=C2=A0 =C2=A0 [KEY_FORWARDMAIL] =3D "KEY_FORWARDMAIL",<= br> >> +=C2=A0 =C2=A0 [KEY_SAVE] =3D "KEY_SAVE",
>> +=C2=A0 =C2=A0 [KEY_DOCUMENTS] =3D "KEY_DOCUMENTS",
>> +=C2=A0 =C2=A0 [KEY_BATTERY] =3D "KEY_BATTERY",
>> +=C2=A0 =C2=A0 [KEY_BLUETOOTH] =3D "KEY_BLUETOOTH",
>> +=C2=A0 =C2=A0 [KEY_WLAN] =3D "KEY_WLAN",
>> +=C2=A0 =C2=A0 [KEY_UWB] =3D "KEY_UWB",
>> +=C2=A0 =C2=A0 [KEY_UNKNOWN] =3D "KEY_UNKNOWN",
>> +=C2=A0 =C2=A0 [KEY_VIDEO_NEXT] =3D "KEY_VIDEO_NEXT", >> +=C2=A0 =C2=A0 [KEY_VIDEO_PREV] =3D "KEY_VIDEO_PREV", >> +=C2=A0 =C2=A0 [KEY_BRIGHTNESS_CYCLE] =3D "KEY_BRIGHTNESS_CYC= LE",
>> +=C2=A0 =C2=A0 [KEY_BRIGHTNESS_AUTO] =3D "KEY_BRIGHTNESS_AUTO= ",
>> +=C2=A0 =C2=A0 [KEY_DISPLAY_OFF] =3D "KEY_DISPLAY_OFF",<= br> >> +=C2=A0 =C2=A0 [KEY_WWAN] =3D "KEY_WWAN",
>> +=C2=A0 =C2=A0 [KEY_RFKILL] =3D "KEY_RFKILL",
>> +=C2=A0 =C2=A0 [KEY_MICMUTE] =3D "KEY_MICMUTE",
>> +=C2=A0 =C2=A0 [KEY_OK] =3D "KEY_OK",
>> +=C2=A0 =C2=A0 [KEY_SELECT] =3D "KEY_SELECT",
>> +=C2=A0 =C2=A0 [KEY_GOTO] =3D "KEY_GOTO",
>> +=C2=A0 =C2=A0 [KEY_CLEAR] =3D "KEY_CLEAR",
>> +=C2=A0 =C2=A0 [KEY_POWER2] =3D "KEY_POWER2",
>> +=C2=A0 =C2=A0 [KEY_OPTION] =3D "KEY_OPTION",
>> +=C2=A0 =C2=A0 [KEY_INFO] =3D "KEY_INFO",
>> +=C2=A0 =C2=A0 [KEY_TIME] =3D "KEY_TIME",
>> +=C2=A0 =C2=A0 [KEY_VENDOR] =3D "KEY_VENDOR",
>> +=C2=A0 =C2=A0 [KEY_ARCHIVE] =3D "KEY_ARCHIVE",
>> +=C2=A0 =C2=A0 [KEY_PROGRAM] =3D "KEY_PROGRAM",
>> +=C2=A0 =C2=A0 [KEY_CHANNEL] =3D "KEY_CHANNEL",
>> +=C2=A0 =C2=A0 [KEY_FAVORITES] =3D "KEY_FAVORITES",
>> +=C2=A0 =C2=A0 [KEY_EPG] =3D "KEY_EPG",
>> +=C2=A0 =C2=A0 [KEY_PVR] =3D "KEY_PVR",
>> +=C2=A0 =C2=A0 [KEY_MHP] =3D "KEY_MHP",
>> +=C2=A0 =C2=A0 [KEY_LANGUAGE] =3D "KEY_LANGUAGE",
>> +=C2=A0 =C2=A0 [KEY_TITLE] =3D "KEY_TITLE",
>> +=C2=A0 =C2=A0 [KEY_SUBTITLE] =3D "KEY_SUBTITLE",
>> +=C2=A0 =C2=A0 [KEY_ANGLE] =3D "KEY_ANGLE",
>> +=C2=A0 =C2=A0 [KEY_FULL_SCREEN] =3D "KEY_FULL_SCREEN",<= br> >> +=C2=A0 =C2=A0 [KEY_MODE] =3D "KEY_MODE",
>> +=C2=A0 =C2=A0 [KEY_KEYBOARD] =3D "KEY_KEYBOARD",
>> +=C2=A0 =C2=A0 [KEY_ASPECT_RATIO] =3D "KEY_ASPECT_RATIO"= ,
>> +=C2=A0 =C2=A0 [KEY_PC] =3D "KEY_PC",
>> +=C2=A0 =C2=A0 [KEY_TV] =3D "KEY_TV",
>> +=C2=A0 =C2=A0 [KEY_TV2] =3D "KEY_TV2",
>> +=C2=A0 =C2=A0 [KEY_VCR] =3D "KEY_VCR",
>> +=C2=A0 =C2=A0 [KEY_VCR2] =3D "KEY_VCR2",
>> +=C2=A0 =C2=A0 [KEY_SAT] =3D "KEY_SAT",
>> +=C2=A0 =C2=A0 [KEY_SAT2] =3D "KEY_SAT2",
>> +=C2=A0 =C2=A0 [KEY_CD] =3D "KEY_CD",
>> +=C2=A0 =C2=A0 [KEY_TAPE] =3D "KEY_TAPE",
>> +=C2=A0 =C2=A0 [KEY_RADIO] =3D "KEY_RADIO",
>> +=C2=A0 =C2=A0 [KEY_TUNER] =3D "KEY_TUNER",
>> +=C2=A0 =C2=A0 [KEY_PLAYER] =3D "KEY_PLAYER",
>> +=C2=A0 =C2=A0 [KEY_TEXT] =3D "KEY_TEXT",
>> +=C2=A0 =C2=A0 [KEY_DVD] =3D "KEY_DVD",
>> +=C2=A0 =C2=A0 [KEY_AUX] =3D "KEY_AUX",
>> +=C2=A0 =C2=A0 [KEY_MP3] =3D "KEY_MP3",
>> +=C2=A0 =C2=A0 [KEY_AUDIO] =3D "KEY_AUDIO",
>> +=C2=A0 =C2=A0 [KEY_VIDEO] =3D "KEY_VIDEO",
>> +=C2=A0 =C2=A0 [KEY_DIRECTORY] =3D "KEY_DIRECTORY",
>> +=C2=A0 =C2=A0 [KEY_LIST] =3D "KEY_LIST",
>> +=C2=A0 =C2=A0 [KEY_MEMO] =3D "KEY_MEMO",
>> +=C2=A0 =C2=A0 [KEY_CALENDAR] =3D "KEY_CALENDAR",
>> +=C2=A0 =C2=A0 [KEY_RED] =3D "KEY_RED",
>> +=C2=A0 =C2=A0 [KEY_GREEN] =3D "KEY_GREEN",
>> +=C2=A0 =C2=A0 [KEY_YELLOW] =3D "KEY_YELLOW",
>> +=C2=A0 =C2=A0 [KEY_BLUE] =3D "KEY_BLUE",
>> +=C2=A0 =C2=A0 [KEY_CHANNELUP] =3D "KEY_CHANNELUP",
>> +=C2=A0 =C2=A0 [KEY_CHANNELDOWN] =3D "KEY_CHANNELDOWN",<= br> >> +=C2=A0 =C2=A0 [KEY_FIRST] =3D "KEY_FIRST",
>> +=C2=A0 =C2=A0 [KEY_LAST] =3D "KEY_LAST",
>> +=C2=A0 =C2=A0 [KEY_AB] =3D "KEY_AB",
>> +=C2=A0 =C2=A0 [KEY_NEXT] =3D "KEY_NEXT",
>> +=C2=A0 =C2=A0 [KEY_RESTART] =3D "KEY_RESTART",
>> +=C2=A0 =C2=A0 [KEY_SLOW] =3D "KEY_SLOW",
>> +=C2=A0 =C2=A0 [KEY_SHUFFLE] =3D "KEY_SHUFFLE",
>> +=C2=A0 =C2=A0 [KEY_BREAK] =3D "KEY_BREAK",
>> +=C2=A0 =C2=A0 [KEY_PREVIOUS] =3D "KEY_PREVIOUS",
>> +=C2=A0 =C2=A0 [KEY_DIGITS] =3D "KEY_DIGITS",
>> +=C2=A0 =C2=A0 [KEY_TEEN] =3D "KEY_TEEN",
>> +=C2=A0 =C2=A0 [KEY_TWEN] =3D "KEY_TWEN",
>> +=C2=A0 =C2=A0 [KEY_VIDEOPHONE] =3D "KEY_VIDEOPHONE", >> +=C2=A0 =C2=A0 [KEY_GAMES] =3D "KEY_GAMES",
>> +=C2=A0 =C2=A0 [KEY_ZOOMIN] =3D "KEY_ZOOMIN",
>> +=C2=A0 =C2=A0 [KEY_ZOOMOUT] =3D "KEY_ZOOMOUT",
>> +=C2=A0 =C2=A0 [KEY_ZOOMRESET] =3D "KEY_ZOOMRESET",
>> +=C2=A0 =C2=A0 [KEY_WORDPROCESSOR] =3D "KEY_WORDPROCESSOR&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_EDITOR] =3D "KEY_EDITOR",
>> +=C2=A0 =C2=A0 [KEY_SPREADSHEET] =3D "KEY_SPREADSHEET",<= br> >> +=C2=A0 =C2=A0 [KEY_GRAPHICSEDITOR] =3D "KEY_GRAPHICSEDITOR&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_PRESENTATION] =3D "KEY_PRESENTATION"= ,
>> +=C2=A0 =C2=A0 [KEY_DATABASE] =3D "KEY_DATABASE",
>> +=C2=A0 =C2=A0 [KEY_NEWS] =3D "KEY_NEWS",
>> +=C2=A0 =C2=A0 [KEY_VOICEMAIL] =3D "KEY_VOICEMAIL",
>> +=C2=A0 =C2=A0 [KEY_ADDRESSBOOK] =3D "KEY_ADDRESSBOOK",<= br> >> +=C2=A0 =C2=A0 [KEY_MESSENGER] =3D "KEY_MESSENGER",
>> +=C2=A0 =C2=A0 [KEY_DISPLAYTOGGLE] =3D "KEY_DISPLAYTOGGLE&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_SPELLCHECK] =3D "KEY_SPELLCHECK", >> +=C2=A0 =C2=A0 [KEY_LOGOFF] =3D "KEY_LOGOFF",
>> +=C2=A0 =C2=A0 [KEY_DOLLAR] =3D "KEY_DOLLAR",
>> +=C2=A0 =C2=A0 [KEY_EURO] =3D "KEY_EURO",
>> +=C2=A0 =C2=A0 [KEY_FRAMEBACK] =3D "KEY_FRAMEBACK",
>> +=C2=A0 =C2=A0 [KEY_FRAMEFORWARD] =3D "KEY_FRAMEFORWARD"= ,
>> +=C2=A0 =C2=A0 [KEY_CONTEXT_MENU] =3D "KEY_CONTEXT_MENU"= ,
>> +=C2=A0 =C2=A0 [KEY_MEDIA_REPEAT] =3D "KEY_MEDIA_REPEAT"= ,
>> +=C2=A0 =C2=A0 [KEY_10CHANNELSUP] =3D "KEY_10CHANNELSUP"= ,
>> +=C2=A0 =C2=A0 [KEY_10CHANNELSDOWN] =3D "KEY_10CHANNELSDOWN&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_IMAGES] =3D "KEY_IMAGES",
>> +=C2=A0 =C2=A0 // [KEY_NOTIFICATION_CENTER] =3D "KEY_NOTIFICA= TION_CENTER",
>> +=C2=A0 =C2=A0 // [KEY_PICKUP_PHONE] =3D "KEY_PICKUP_PHONE&qu= ot;,
>> +=C2=A0 =C2=A0 // [KEY_HANGUP_PHONE] =3D "KEY_HANGUP_PHONE&qu= ot;,
>> +=C2=A0 =C2=A0 [KEY_DEL_EOL] =3D "KEY_DEL_EOL",
>> +=C2=A0 =C2=A0 [KEY_DEL_EOS] =3D "KEY_DEL_EOS",
>> +=C2=A0 =C2=A0 [KEY_INS_LINE] =3D "KEY_INS_LINE",
>> +=C2=A0 =C2=A0 [KEY_DEL_LINE] =3D "KEY_DEL_LINE",
>> +=C2=A0 =C2=A0 [KEY_FN] =3D "KEY_FN",
>> +=C2=A0 =C2=A0 [KEY_FN_ESC] =3D "KEY_FN_ESC",
>> +=C2=A0 =C2=A0 [KEY_FN_F1] =3D "KEY_FN_F1",
>> +=C2=A0 =C2=A0 [KEY_FN_F2] =3D "KEY_FN_F2",
>> +=C2=A0 =C2=A0 [KEY_FN_F3] =3D "KEY_FN_F3",
>> +=C2=A0 =C2=A0 [KEY_FN_F4] =3D "KEY_FN_F4",
>> +=C2=A0 =C2=A0 [KEY_FN_F5] =3D "KEY_FN_F5",
>> +=C2=A0 =C2=A0 [KEY_FN_F6] =3D "KEY_FN_F6",
>> +=C2=A0 =C2=A0 [KEY_FN_F7] =3D "KEY_FN_F7",
>> +=C2=A0 =C2=A0 [KEY_FN_F8] =3D "KEY_FN_F8",
>> +=C2=A0 =C2=A0 [KEY_FN_F9] =3D "KEY_FN_F9",
>> +=C2=A0 =C2=A0 [KEY_FN_F10] =3D "KEY_FN_F10",
>> +=C2=A0 =C2=A0 [KEY_FN_F11] =3D "KEY_FN_F11",
>> +=C2=A0 =C2=A0 [KEY_FN_F12] =3D "KEY_FN_F12",
>> +=C2=A0 =C2=A0 [KEY_FN_1] =3D "KEY_FN_1",
>> +=C2=A0 =C2=A0 [KEY_FN_2] =3D "KEY_FN_2",
>> +=C2=A0 =C2=A0 [KEY_FN_D] =3D "KEY_FN_D",
>> +=C2=A0 =C2=A0 [KEY_FN_E] =3D "KEY_FN_E",
>> +=C2=A0 =C2=A0 [KEY_FN_F] =3D "KEY_FN_F",
>> +=C2=A0 =C2=A0 [KEY_FN_S] =3D "KEY_FN_S",
>> +=C2=A0 =C2=A0 [KEY_FN_B] =3D "KEY_FN_B",
>> +=C2=A0 =C2=A0 // [KEY_FN_RIGHT_SHIFT] =3D "KEY_FN_RIGHT_SHIF= T",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT1] =3D "KEY_BRL_DOT1",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT2] =3D "KEY_BRL_DOT2",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT3] =3D "KEY_BRL_DOT3",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT4] =3D "KEY_BRL_DOT4",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT5] =3D "KEY_BRL_DOT5",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT6] =3D "KEY_BRL_DOT6",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT7] =3D "KEY_BRL_DOT7",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT8] =3D "KEY_BRL_DOT8",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT9] =3D "KEY_BRL_DOT9",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT10] =3D "KEY_BRL_DOT10",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_0] =3D "KEY_NUMERIC_0",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_1] =3D "KEY_NUMERIC_1",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_2] =3D "KEY_NUMERIC_2",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_3] =3D "KEY_NUMERIC_3",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_4] =3D "KEY_NUMERIC_4",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_5] =3D "KEY_NUMERIC_5",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_6] =3D "KEY_NUMERIC_6",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_7] =3D "KEY_NUMERIC_7",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_8] =3D "KEY_NUMERIC_8",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_9] =3D "KEY_NUMERIC_9",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_STAR] =3D "KEY_NUMERIC_STAR"= ,
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_POUND] =3D "KEY_NUMERIC_POUND&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_A] =3D "KEY_NUMERIC_A",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_B] =3D "KEY_NUMERIC_B",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_C] =3D "KEY_NUMERIC_C",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_D] =3D "KEY_NUMERIC_D",
>> +=C2=A0 =C2=A0 [KEY_CAMERA_FOCUS] =3D "KEY_CAMERA_FOCUS"= ,
>> +=C2=A0 =C2=A0 [KEY_WPS_BUTTON] =3D "KEY_WPS_BUTTON", >> +=C2=A0 =C2=A0 [KEY_TOUCHPAD_TOGGLE] =3D "KEY_TOUCHPAD_TOGGLE= ",
>> +=C2=A0 =C2=A0 [KEY_TOUCHPAD_ON] =3D "KEY_TOUCHPAD_ON",<= br> >> +=C2=A0 =C2=A0 [KEY_TOUCHPAD_OFF] =3D "KEY_TOUCHPAD_OFF"= ,
>> +=C2=A0 =C2=A0 [KEY_CAMERA_ZOOMIN] =3D "KEY_CAMERA_ZOOMIN&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_CAMERA_ZOOMOUT] =3D "KEY_CAMERA_ZOOMOUT&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_CAMERA_UP] =3D "KEY_CAMERA_UP",
>> +=C2=A0 =C2=A0 [KEY_CAMERA_DOWN] =3D "KEY_CAMERA_DOWN",<= br> >> +=C2=A0 =C2=A0 [KEY_CAMERA_LEFT] =3D "KEY_CAMERA_LEFT",<= br> >> +=C2=A0 =C2=A0 [KEY_CAMERA_RIGHT] =3D "KEY_CAMERA_RIGHT"= ,
>> +=C2=A0 =C2=A0 [KEY_ATTENDANT_ON] =3D "KEY_ATTENDANT_ON"= ,
>> +=C2=A0 =C2=A0 [KEY_ATTENDANT_OFF] =3D "KEY_ATTENDANT_OFF&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_ATTENDANT_TOGGLE] =3D "KEY_ATTENDANT_TOGG= LE",
>> +=C2=A0 =C2=A0 [KEY_LIGHTS_TOGGLE] =3D "KEY_LIGHTS_TOGGLE&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_ALS_TOGGLE] =3D "KEY_ALS_TOGGLE", >> +=C2=A0 =C2=A0 [KEY_ROTATE_LOCK_TOGGLE] =3D "KEY_ROTATE_LOCK_= TOGGLE",
>> +=C2=A0 =C2=A0 [KEY_BUTTONCONFIG] =3D "KEY_BUTTONCONFIG"= ,
>> +=C2=A0 =C2=A0 [KEY_TASKMANAGER] =3D "KEY_TASKMANAGER",<= br> >> +=C2=A0 =C2=A0 [KEY_JOURNAL] =3D "KEY_JOURNAL",
>> +=C2=A0 =C2=A0 [KEY_CONTROLPANEL] =3D "KEY_CONTROLPANEL"= ,
>> +=C2=A0 =C2=A0 [KEY_APPSELECT] =3D "KEY_APPSELECT",
>> +=C2=A0 =C2=A0 [KEY_SCREENSAVER] =3D "KEY_SCREENSAVER",<= br> >> +=C2=A0 =C2=A0 [KEY_VOICECOMMAND] =3D "KEY_VOICECOMMAND"= ,
>> +=C2=A0 =C2=A0 [KEY_ASSISTANT] =3D "KEY_ASSISTANT",
>> +=C2=A0 =C2=A0 [KEY_KBD_LAYOUT_NEXT] =3D "KEY_KBD_LAYOUT_NEXT= ",
>> +=C2=A0 =C2=A0 // [KEY_EMOJI_PICKER] =3D "KEY_EMOJI_PICKER&qu= ot;,
>> +=C2=A0 =C2=A0 //[KEY_DICTATE] =3D "KEY_DICTATE",
>> +=C2=A0 =C2=A0 //[KEY_CAMERA_ACCESS_ENABLE] =3D "KEY_CAMERA_A= CCESS_ENABLE",
>> +=C2=A0 =C2=A0 //[KEY_CAMERA_ACCESS_DISABLE] =3D "KEY_CAMERA_= ACCESS_DISABLE",
>> +=C2=A0 =C2=A0 //[KEY_CAMERA_ACCESS_TOGGLE] =3D "KEY_CAMERA_A= CCESS_TOGGLE",
>> +=C2=A0 =C2=A0 [KEY_BRIGHTNESS_MIN] =3D "KEY_BRIGHTNESS_MIN&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_BRIGHTNESS_MAX] =3D "KEY_BRIGHTNESS_MAX&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_PREV] =3D "KEY_KBDINPUTASS= IST_PREV",
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_NEXT] =3D "KEY_KBDINPUTASS= IST_NEXT",
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_PREVGROUP] =3D "KEY_KBDINP= UTASSIST_PREVGROUP",
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_NEXTGROUP] =3D "KEY_KBDINP= UTASSIST_NEXTGROUP",
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_ACCEPT] =3D "KEY_KBDINPUTA= SSIST_ACCEPT",
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_CANCEL] =3D "KEY_KBDINPUTA= SSIST_CANCEL",
>> +=C2=A0 =C2=A0 [KEY_RIGHT_UP] =3D "KEY_RIGHT_UP",
>> +=C2=A0 =C2=A0 [KEY_RIGHT_DOWN] =3D "KEY_RIGHT_DOWN", >> +=C2=A0 =C2=A0 [KEY_LEFT_UP] =3D "KEY_LEFT_UP",
>> +=C2=A0 =C2=A0 [KEY_LEFT_DOWN] =3D "KEY_LEFT_DOWN",
>> +=C2=A0 =C2=A0 [KEY_ROOT_MENU] =3D "KEY_ROOT_MENU",
>> +=C2=A0 =C2=A0 [KEY_MEDIA_TOP_MENU] =3D "KEY_MEDIA_TOP_MENU&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_11] =3D "KEY_NUMERIC_11", >> +=C2=A0 =C2=A0 [KEY_NUMERIC_12] =3D "KEY_NUMERIC_12", >> +=C2=A0 =C2=A0 [KEY_AUDIO_DESC] =3D "KEY_AUDIO_DESC", >> +=C2=A0 =C2=A0 [KEY_3D_MODE] =3D "KEY_3D_MODE",
>> +=C2=A0 =C2=A0 [KEY_NEXT_FAVORITE] =3D "KEY_NEXT_FAVORITE&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_STOP_RECORD] =3D "KEY_STOP_RECORD",<= br> >> +=C2=A0 =C2=A0 [KEY_PAUSE_RECORD] =3D "KEY_PAUSE_RECORD"= ,
>> +=C2=A0 =C2=A0 [KEY_VOD] =3D "KEY_VOD",
>> +=C2=A0 =C2=A0 [KEY_UNMUTE] =3D "KEY_UNMUTE",
>> +=C2=A0 =C2=A0 [KEY_FASTREVERSE] =3D "KEY_FASTREVERSE",<= br> >> +=C2=A0 =C2=A0 [KEY_SLOWREVERSE] =3D "KEY_SLOWREVERSE",<= br> >> +=C2=A0 =C2=A0 [KEY_DATA] =3D "KEY_DATA",
>> +=C2=A0 =C2=A0 [KEY_ONSCREEN_KEYBOARD] =3D "KEY_ONSCREEN_KEYB= OARD",
>> +=C2=A0 =C2=A0 [KEY_PRIVACY_SCREEN_TOGGLE] =3D "KEY_PRIVACY_S= CREEN_TOGGLE",
>> +=C2=A0 =C2=A0 [KEY_SELECTIVE_SCREENSHOT] =3D "KEY_SELECTIVE_= SCREENSHOT",
>> +=C2=A0 =C2=A0 // [KEY_NEXT_ELEMENT] =3D "KEY_NEXT_ELEMENT&qu= ot;,
>> +=C2=A0 =C2=A0 // [KEY_PREVIOUS_ELEMENT] =3D "KEY_PREVIOUS_EL= EMENT",
>> +=C2=A0 =C2=A0 // [KEY_AUTOPILOT_ENGAGE_TOGGLE] =3D "KEY_AUTO= PILOT_ENGAGE_TOGGLE",
>> +=C2=A0 =C2=A0 // [KEY_MARK_WAYPOINT] =3D "KEY_MARK_WAYPOINT&= quot;,
>> +=C2=A0 =C2=A0 // [KEY_SOS] =3D "KEY_SOS",
>> +=C2=A0 =C2=A0 // [KEY_NAV_CHART] =3D "KEY_NAV_CHART", >> +=C2=A0 =C2=A0 // [KEY_FISHING_CHART] =3D "KEY_FISHING_CHART&= quot;,
>> +=C2=A0 =C2=A0 // [KEY_SINGLE_RANGE_RADAR] =3D "KEY_SINGLE_RA= NGE_RADAR",
>> +=C2=A0 =C2=A0 // [KEY_DUAL_RANGE_RADAR] =3D "KEY_DUAL_RANGE_= RADAR",
>> +=C2=A0 =C2=A0 // [KEY_RADAR_OVERLAY] =3D "KEY_RADAR_OVERLAY&= quot;,
>> +=C2=A0 =C2=A0 // [KEY_TRADITIONAL_SONAR] =3D "KEY_TRADITIONA= L_SONAR",
>> +=C2=A0 =C2=A0 //=C2=A0 [KEY_CLEARVU_SONAR] =3D "KEY_CLEARVU_= SONAR",
>> +=C2=A0 =C2=A0 // [KEY_SIDEVU_SONAR] =3D "KEY_SIDEVU_SONAR&qu= ot;,
>> +=C2=A0 =C2=A0 // [KEY_NAV_INFO] =3D "KEY_NAV_INFO",
>> +=C2=A0 =C2=A0 // [KEY_BRIGHTNESS_MENU] =3D "KEY_BRIGHTNESS_M= ENU",
>> +=C2=A0 =C2=A0 [KEY_MACRO1] =3D "KEY_MACRO1",
>> +=C2=A0 =C2=A0 [KEY_MACRO2] =3D "KEY_MACRO2",
>> +=C2=A0 =C2=A0 [KEY_MACRO3] =3D "KEY_MACRO3",
>> +=C2=A0 =C2=A0 [KEY_MACRO4] =3D "KEY_MACRO4",
>> +=C2=A0 =C2=A0 [KEY_MACRO5] =3D "KEY_MACRO5",
>> +=C2=A0 =C2=A0 [KEY_MACRO6] =3D "KEY_MACRO6",
>> +=C2=A0 =C2=A0 [KEY_MACRO7] =3D "KEY_MACRO7",
>> +=C2=A0 =C2=A0 [KEY_MACRO8] =3D "KEY_MACRO8",
>> +=C2=A0 =C2=A0 [KEY_MACRO9] =3D "KEY_MACRO9",
>> +=C2=A0 =C2=A0 [KEY_MACRO10] =3D "KEY_MACRO10",
>> +=C2=A0 =C2=A0 [KEY_MACRO11] =3D "KEY_MACRO11",
>> +=C2=A0 =C2=A0 [KEY_MACRO12] =3D "KEY_MACRO12",
>> +=C2=A0 =C2=A0 [KEY_MACRO13] =3D "KEY_MACRO13",
>> +=C2=A0 =C2=A0 [KEY_MACRO14] =3D "KEY_MACRO14",
>> +=C2=A0 =C2=A0 [KEY_MACRO15] =3D "KEY_MACRO15",
>> +=C2=A0 =C2=A0 [KEY_MACRO16] =3D "KEY_MACRO16",
>> +=C2=A0 =C2=A0 [KEY_MACRO17] =3D "KEY_MACRO17",
>> +=C2=A0 =C2=A0 [KEY_MACRO18] =3D "KEY_MACRO18",
>> +=C2=A0 =C2=A0 [KEY_MACRO19] =3D "KEY_MACRO19",
>> +=C2=A0 =C2=A0 [KEY_MACRO20] =3D "KEY_MACRO20",
>> +=C2=A0 =C2=A0 [KEY_MACRO21] =3D "KEY_MACRO21",
>> +=C2=A0 =C2=A0 [KEY_MACRO22] =3D "KEY_MACRO22",
>> +=C2=A0 =C2=A0 [KEY_MACRO23] =3D "KEY_MACRO23",
>> +=C2=A0 =C2=A0 [KEY_MACRO24] =3D "KEY_MACRO24",
>> +=C2=A0 =C2=A0 [KEY_MACRO25] =3D "KEY_MACRO25",
>> +=C2=A0 =C2=A0 [KEY_MACRO26] =3D "KEY_MACRO26",
>> +=C2=A0 =C2=A0 [KEY_MACRO27] =3D "KEY_MACRO27",
>> +=C2=A0 =C2=A0 [KEY_MACRO28] =3D "KEY_MACRO28",
>> +=C2=A0 =C2=A0 [KEY_MACRO29] =3D "KEY_MACRO29",
>> +=C2=A0 =C2=A0 [KEY_MACRO30] =3D "KEY_MACRO30",
>> +=C2=A0 =C2=A0 [KEY_MACRO_RECORD_START] =3D "KEY_MACRO_RECORD= _START",
>> +=C2=A0 =C2=A0 [KEY_MACRO_RECORD_STOP] =3D "KEY_MACRO_RECORD_= STOP",
>> +=C2=A0 =C2=A0 [KEY_MACRO_PRESET_CYCLE] =3D "KEY_MACRO_PRESET= _CYCLE",
>> +=C2=A0 =C2=A0 [KEY_MACRO_PRESET1] =3D "KEY_MACRO_PRESET1&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_MACRO_PRESET2] =3D "KEY_MACRO_PRESET2&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_MACRO_PRESET3] =3D "KEY_MACRO_PRESET3&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_KBD_LCD_MENU1] =3D "KEY_KBD_LCD_MENU1&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_KBD_LCD_MENU2] =3D "KEY_KBD_LCD_MENU2&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_KBD_LCD_MENU3] =3D "KEY_KBD_LCD_MENU3&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_KBD_LCD_MENU4] =3D "KEY_KBD_LCD_MENU4&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_KBD_LCD_MENU5] =3D "KEY_KBD_LCD_MENU5&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_MAX] =3D "KEY_MAX",
>> +=C2=A0 =C2=A0 [BTN_0] =3D "BTN_0",
>> +=C2=A0 =C2=A0 [BTN_1] =3D "BTN_1",
>> +=C2=A0 =C2=A0 [BTN_2] =3D "BTN_2",
>> +=C2=A0 =C2=A0 [BTN_3] =3D "BTN_3",
>> +=C2=A0 =C2=A0 [BTN_4] =3D "BTN_4",
>> +=C2=A0 =C2=A0 [BTN_5] =3D "BTN_5",
>> +=C2=A0 =C2=A0 [BTN_6] =3D "BTN_6",
>> +=C2=A0 =C2=A0 [BTN_7] =3D "BTN_7",
>> +=C2=A0 =C2=A0 [BTN_8] =3D "BTN_8",
>> +=C2=A0 =C2=A0 [BTN_9] =3D "BTN_9",
>> +=C2=A0 =C2=A0 [BTN_LEFT] =3D "BTN_LEFT",
>> +=C2=A0 =C2=A0 [BTN_RIGHT] =3D "BTN_RIGHT",
>> +=C2=A0 =C2=A0 [BTN_MIDDLE] =3D "BTN_MIDDLE",
>> +=C2=A0 =C2=A0 [BTN_SIDE] =3D "BTN_SIDE",
>> +=C2=A0 =C2=A0 [BTN_EXTRA] =3D "BTN_EXTRA",
>> +=C2=A0 =C2=A0 [BTN_FORWARD] =3D "BTN_FORWARD",
>> +=C2=A0 =C2=A0 [BTN_BACK] =3D "BTN_BACK",
>> +=C2=A0 =C2=A0 [BTN_TASK] =3D "BTN_TASK",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER] =3D "BTN_TRIGGER",
>> +=C2=A0 =C2=A0 [BTN_THUMB] =3D "BTN_THUMB",
>> +=C2=A0 =C2=A0 [BTN_THUMB2] =3D "BTN_THUMB2",
>> +=C2=A0 =C2=A0 [BTN_TOP] =3D "BTN_TOP",
>> +=C2=A0 =C2=A0 [BTN_TOP2] =3D "BTN_TOP2",
>> +=C2=A0 =C2=A0 [BTN_PINKIE] =3D "BTN_PINKIE",
>> +=C2=A0 =C2=A0 [BTN_BASE] =3D "BTN_BASE",
>> +=C2=A0 =C2=A0 [BTN_BASE2] =3D "BTN_BASE2",
>> +=C2=A0 =C2=A0 [BTN_BASE3] =3D "BTN_BASE3",
>> +=C2=A0 =C2=A0 [BTN_BASE4] =3D "BTN_BASE4",
>> +=C2=A0 =C2=A0 [BTN_BASE5] =3D "BTN_BASE5",
>> +=C2=A0 =C2=A0 [BTN_BASE6] =3D "BTN_BASE6",
>> +=C2=A0 =C2=A0 [BTN_DEAD] =3D "BTN_DEAD",
>> +=C2=A0 =C2=A0 [BTN_SOUTH] =3D "BTN_SOUTH",
>> +=C2=A0 =C2=A0 [BTN_EAST] =3D "BTN_EAST",
>> +=C2=A0 =C2=A0 [BTN_C] =3D "BTN_C",
>> +=C2=A0 =C2=A0 [BTN_NORTH] =3D "BTN_NORTH",
>> +=C2=A0 =C2=A0 [BTN_WEST] =3D "BTN_WEST",
>> +=C2=A0 =C2=A0 [BTN_Z] =3D "BTN_Z",
>> +=C2=A0 =C2=A0 [BTN_TL] =3D "BTN_TL",
>> +=C2=A0 =C2=A0 [BTN_TR] =3D "BTN_TR",
>> +=C2=A0 =C2=A0 [BTN_TL2] =3D "BTN_TL2",
>> +=C2=A0 =C2=A0 [BTN_TR2] =3D "BTN_TR2",
>> +=C2=A0 =C2=A0 [BTN_SELECT] =3D "BTN_SELECT",
>> +=C2=A0 =C2=A0 [BTN_START] =3D "BTN_START",
>> +=C2=A0 =C2=A0 [BTN_MODE] =3D "BTN_MODE",
>> +=C2=A0 =C2=A0 [BTN_THUMBL] =3D "BTN_THUMBL",
>> +=C2=A0 =C2=A0 [BTN_THUMBR] =3D "BTN_THUMBR",
>> +=C2=A0 =C2=A0 [BTN_TOOL_PEN] =3D "BTN_TOOL_PEN",
>> +=C2=A0 =C2=A0 [BTN_TOOL_RUBBER] =3D "BTN_TOOL_RUBBER",<= br> >> +=C2=A0 =C2=A0 [BTN_TOOL_BRUSH] =3D "BTN_TOOL_BRUSH", >> +=C2=A0 =C2=A0 [BTN_TOOL_PENCIL] =3D "BTN_TOOL_PENCIL",<= br> >> +=C2=A0 =C2=A0 [BTN_TOOL_AIRBRUSH] =3D "BTN_TOOL_AIRBRUSH&quo= t;,
>> +=C2=A0 =C2=A0 [BTN_TOOL_FINGER] =3D "BTN_TOOL_FINGER",<= br> >> +=C2=A0 =C2=A0 [BTN_TOOL_MOUSE] =3D "BTN_TOOL_MOUSE", >> +=C2=A0 =C2=A0 [BTN_TOOL_LENS] =3D "BTN_TOOL_LENS",
>> +=C2=A0 =C2=A0 [BTN_TOOL_QUINTTAP] =3D "BTN_TOOL_QUINTTAP&quo= t;,
>> +=C2=A0 =C2=A0 [BTN_STYLUS3] =3D "BTN_STYLUS3",
>> +=C2=A0 =C2=A0 [BTN_TOUCH] =3D "BTN_TOUCH",
>> +=C2=A0 =C2=A0 [BTN_STYLUS] =3D "BTN_STYLUS",
>> +=C2=A0 =C2=A0 [BTN_STYLUS2] =3D "BTN_STYLUS2",
>> +=C2=A0 =C2=A0 [BTN_TOOL_DOUBLETAP] =3D "BTN_TOOL_DOUBLETAP&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TOOL_TRIPLETAP] =3D "BTN_TOOL_TRIPLETAP&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TOOL_QUADTAP] =3D "BTN_TOOL_QUADTAP"= ,
>> +=C2=A0 =C2=A0 [BTN_GEAR_DOWN] =3D "BTN_GEAR_DOWN",
>> +=C2=A0 =C2=A0 [BTN_GEAR_UP] =3D "BTN_GEAR_UP",
>> +=C2=A0 =C2=A0 [BTN_DPAD_UP] =3D "BTN_DPAD_UP",
>> +=C2=A0 =C2=A0 [BTN_DPAD_DOWN] =3D "BTN_DPAD_DOWN",
>> +=C2=A0 =C2=A0 [BTN_DPAD_LEFT] =3D "BTN_DPAD_LEFT",
>> +=C2=A0 =C2=A0 [BTN_DPAD_RIGHT] =3D "BTN_DPAD_RIGHT", >> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY1] =3D "BTN_TRIGGER_HAPPY1&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY2] =3D "BTN_TRIGGER_HAPPY2&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY3] =3D "BTN_TRIGGER_HAPPY3&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY4] =3D "BTN_TRIGGER_HAPPY4&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY5] =3D "BTN_TRIGGER_HAPPY5&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY6] =3D "BTN_TRIGGER_HAPPY6&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY7] =3D "BTN_TRIGGER_HAPPY7&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY8] =3D "BTN_TRIGGER_HAPPY8&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY9] =3D "BTN_TRIGGER_HAPPY9&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY10] =3D "BTN_TRIGGER_HAPPY10= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY11] =3D "BTN_TRIGGER_HAPPY11= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY12] =3D "BTN_TRIGGER_HAPPY12= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY13] =3D "BTN_TRIGGER_HAPPY13= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY14] =3D "BTN_TRIGGER_HAPPY14= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY15] =3D "BTN_TRIGGER_HAPPY15= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY16] =3D "BTN_TRIGGER_HAPPY16= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY17] =3D "BTN_TRIGGER_HAPPY17= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY18] =3D "BTN_TRIGGER_HAPPY18= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY19] =3D "BTN_TRIGGER_HAPPY19= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY20] =3D "BTN_TRIGGER_HAPPY20= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY21] =3D "BTN_TRIGGER_HAPPY21= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY22] =3D "BTN_TRIGGER_HAPPY22= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY23] =3D "BTN_TRIGGER_HAPPY23= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY24] =3D "BTN_TRIGGER_HAPPY24= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY25] =3D "BTN_TRIGGER_HAPPY25= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY26] =3D "BTN_TRIGGER_HAPPY26= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY27] =3D "BTN_TRIGGER_HAPPY27= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY28] =3D "BTN_TRIGGER_HAPPY28= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY29] =3D "BTN_TRIGGER_HAPPY29= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY30] =3D "BTN_TRIGGER_HAPPY30= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY31] =3D "BTN_TRIGGER_HAPPY31= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY32] =3D "BTN_TRIGGER_HAPPY32= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY33] =3D "BTN_TRIGGER_HAPPY33= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY34] =3D "BTN_TRIGGER_HAPPY34= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY35] =3D "BTN_TRIGGER_HAPPY35= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY36] =3D "BTN_TRIGGER_HAPPY36= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY37] =3D "BTN_TRIGGER_HAPPY37= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY38] =3D "BTN_TRIGGER_HAPPY38= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY39] =3D "BTN_TRIGGER_HAPPY39= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY40] =3D "BTN_TRIGGER_HAPPY40= ",
>> +};
>> +
>> +static const char * const led_map[LED_MAX + 1] =3D {
>> +=C2=A0 =C2=A0 [LED_NUML] =3D "LED_NUML",
>> +=C2=A0 =C2=A0 [LED_CAPSL] =3D "LED_CAPSL",
>> *** 11201 LINES SKIPPED ***
>>
>
> make buildworld fails to build due to this error:
>
> [...]
> c++=C2=A0 -target x86_64-unknown-freebsd16.0 --sysroot=3D/usr/obj/usr/= src/amd64.amd64/tmp
> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -fpie=C2=A0 -O2 -pipe -fno-= common -march=3Dnative -I.
> -I/usr/src/sbin/devd -fPIE -DNDEBUG -MD -MF.depend.devd.pieo -MTdevd.p= ieo
> -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Wal= l -Wno-format-y2k -W
> -Wno-unused-parameter -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrit= e-strings -Wswitch
> -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wdate-time=
> -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body -Wno-s= tring-plus-int
> -Wno-unused-const-variable -Wno-error=3Dunused-but-set-parameter
> -Wno-error=3Dcast-function-type-mismatch -Wno-missing-variable-declara= tions -Qunused-arguments
> -march=3Dnative=C2=A0 -fPIE -std=3Dgnu++17=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0-c /usr/src/sbin/devd/devd.cc -o devd.pieo
> /usr/src/sbin/devd/devd.cc:1228:2: error: "Remove this gross hack= " 1228 | #error "Remove this
> gross hack" |=C2=A0 ^ 1 error generated. *** Error code 1

Unrelated. This is because __FreeBSD_version was bumped now 15
branched, and this was left in to scream at people to do something for
FreeBSD 16. I guess that worked, though a bit of an unfortunate way to
start the 16 cycle :)

Works as designed= .

Warner=C2=A0
--000000000000726764063e066722-- From nobody Fri Sep 5 04:43:13 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJ3cx5mBnz673wT; Fri, 05 Sep 2025 04:43:13 +0000 (UTC) (envelope-from jamie@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJ3cx4sH9z3dDX; Fri, 05 Sep 2025 04:43:13 +0000 (UTC) (envelope-from jamie@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757047393; 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=xIuma+Z/hKjGT3ehL/jzF6GzGIiLWgLCHOMLXcUKANs=; b=eu7pj4aafy5YpHpp8w81n+sVEh14cyycbbGdClYzXX49mY+4jeBKf1ZbmA6ELTpYI+bKFP i0xx8BdeRAoZCIBHZr4KVZZDO77+0ALGRZFLupkseFplkAokfc/J+NX4Zn7eIK4/FZxeTb 1a5uzw09M6WugNwcNHVXMAXzBTYUjefbDFtOAwkLXjFQrw32iIX30c+Jmj/KT9M8nNkCiZ 3jub463Lrk2+Soz+OAQNaagIk4gTHuKssi2BfovS5x6EfIcg0Y8F8G67rqB9C/B+EHF2lm h+yIgggJ6mkO2idTsKkVv9u5aAvDw73h6ZoalG9g9jcS5Qa2s2WhVl68n6TvSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757047393; 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=xIuma+Z/hKjGT3ehL/jzF6GzGIiLWgLCHOMLXcUKANs=; b=MTLi84u7wrsf6ywzkom9R+pHcaxrz+Ao4O9ZaNbPEDVEGt1LVCpRXZMSOLM8C73CkU/h3y sF4KLh6UOfl8sGj6QEW/LrMtNFw+Q9XH5N0JrNwh8kQNmZxAUB+AS6k1pkTxH8NwQlR+jZ Jwb4xv0i49fRIvdaLOlUm+o7DuA9Bv/EC/Y/Hv42Xk/fLZ2Oot9hb1zesMP/xsEHv0vHuL H9+pIi9LiUsJ3lQpHkka4D8BFcmf86rocWM9m7p2ttBJfR/zokk2WIvzqgPGv6qwCU99aZ nfZEmGW7Qvi44Hv57Y5WLXfFdCB1HpW1USvleA6q45qTaKk/FMzMVkWA59kV9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757047393; a=rsa-sha256; cv=none; b=fTwb580Q33pMauFkQLpvRLiiRXi9EWQFlel8emQU+frNNbnrInYELaJOibTy/iLBy2njek MCyuYTUspDW+SU59hmfT6WfCStX6NM/B7YZbIq148J9ufgR5FvVXQyJjVHHhzbTamFpgAT 5kvF15NV1eFvnKKpGCySyytL1KyAK4Yy7ggSTMu+4k4X6lRJ8DYrnepPEzRv+kVNhg570X jcT4yQc52H3pXxnCHyP4ErvAp7hgH6bvVBWSfQxrbDBxH0tAmzV//GCnnVW+7tfmKylbpB es4sq9UwecdRpWPC/dO2aPSlfYQWzPfNPeECLwr7u9quQrgztNSXE9IakKEIBQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from m2.gritton.org (gritton.org [67.43.236.212]) (using TLSv1.3 with cipher TLS_AES_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: jamie) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJ3cx43w2zmQm; Fri, 05 Sep 2025 04:43:13 +0000 (UTC) (envelope-from jamie@freebsd.org) Received: from gritton.org (localgritton [127.0.0.212]) by m2.gritton.org (Postfix) with ESMTPSA id 410607967C; Thu, 4 Sep 2025 21:43:13 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Date: Thu, 04 Sep 2025 21:43:13 -0700 From: James Gritton To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 851dc7f859c2 - main - jail: add jail descriptors In-Reply-To: References: <202509042031.584KVpxY000408@gitrepo.freebsd.org> Message-ID: X-Sender: jamie@freebsd.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit On 2025-09-04 16:43, Konstantin Belousov wrote: > On Thu, Sep 04, 2025 at 08:31:51PM +0000, Jamie Gritton wrote: >> The branch main has been updated by jamie: >> >> URL: >> https://cgit.FreeBSD.org/src/commit/?id=851dc7f859c23cab09a348bca03ab655534fb7e0 >> >> commit 851dc7f859c23cab09a348bca03ab655534fb7e0 >> Author: Jamie Gritton >> AuthorDate: 2025-09-04 20:27:47 +0000 >> Commit: Jamie Gritton >> CommitDate: 2025-09-04 20:27:47 +0000 >> >> jail: add jail descriptors >> >> Similar to process descriptors, jail desriptors are allow jail >> administration using the file descriptor interface instead of >> JIDs. >> They come from and can be used by jail_set(2) and jail_get(2), >> and there are two new system calls, jail_attach_jd(2) and >> jail_remove_jd(2). >> >> Reviewed by: bz, brooks > > The code is from jaildesc_alloc(): > > jd = malloc(sizeof(*jd), M_JAILDESC, M_WAITOK | M_ZERO); > error = falloc_caps(td, &fp, fdp, 0, NULL); > finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 > ? FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); > ^^^^^^^^^^^ '?' should be placed on the previous line I wasn't aware of this requirement; style(9) is silent on it. > if (error != 0) { > free(jd, M_JAILDESC); > return (error); > } > If falloc_caps() returned error, fp does not point to a valid file. > Then finit() operates on random memory. I'll file a fix for that. The error check just needs to be moved up. > Generated files should have been committed as a follow-up, not in the > same commit as written code. The FreeBSD Wiki explicitly allows it in the same commit. > jaildesc_find() returns EBADF when passed file type is not DTYPE_JAIL. > Normally EBADF means that the object underlying the file is > invalidated, > like vnode is reclaimed, tty is revoked, etc. For the wrong type, > EINVAL > should be returned. That's part of the code that I lifted from process descriptors, nearly identical to procdesc_find. A check of other c_type checks shows EBADF isn't uncommon. > jaildesc_close() does > finit(fp, 0, DTYPE_NONE, NULL, &badfileops); > that is not needed, same as cleaning f_data. Yes, that's appears to be overkill, considering it should only be called when the descript is about to be deallocated anyway. I'll remove that. > There are fo_chown/fo_chmod methods that are semantically applied to > the > jail files, instead of the underlying object. This is quite strange, > files > do not have concept of owner. True, it is strange. But jails don't have owners either, and this seemed a good way to control how the descriptors could be used. I see the jail descriptor as an intermediate object between the jail and the file descriptors, like there's a portal to the jail that is owned by its creator, and the file descriptor returned is merely the access to that portal. It's roughly equivalent to a temp file that doesn't exist in the filesystem directory space after its creation, yet is still a thing with ownership and permissions. I could remove this if it's too far out of mainstream practice, but I hope not to have to, since it provides a handy to allow some to (for instance) attach to a prison, but not alter or remove it. Such things are perhaps better left to Capsicum, but I don't have that support in place yet. - Jamie From nobody Fri Sep 5 04:50:35 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJ3nR63X4z674PY; Fri, 05 Sep 2025 04:50: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJ3nR577dz3dkj; Fri, 05 Sep 2025 04:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757047835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Axwh3XH9d/UwVVyyIAkygnfKLqR/nSnvV8SczUfrniI=; b=YbMMT3oiGrRq0BYTDAjCAqCQGi9nspHItMMhOIus2kJFklEAIp4XEfZt1/sDtHn9f4fe34 PeAsEsNilIXIdDr3Jf9CkYabdJXP0JuIDu0oI9JPmUMQvNvdw7wEopjAdSgoo3FUQErlSK bK1ihtiJptrOLBTXHvuKPDceyNPsphwd3FWeIAJH35DlqoFEIN5l4lbgNetv+fp3ZbfQGH EnTPoEtPJ2C+4OmAqzpS2KMXAwBmf0PD201X/iqMK3UBRz+9yCqRByOUhr0zzzz+T/1i/v ePBzRnu1DvFdAtDG3QZs/0L5YBnnYyWI0o3JBx0/n9YDcNc2KpzelpAW+qpgpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757047835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Axwh3XH9d/UwVVyyIAkygnfKLqR/nSnvV8SczUfrniI=; b=Y52A+F1EQzSpFnrulTpq41iYmLXUpxRXILTEAz3iNuC9vL6zwiYLw6JDwgf+EUhqh4v9mC N+ZtNKvAom6/XmX05pk834oBih7Xj9z0R83Qnkj+Y+PdLC1z2ailr2U4mGXAJTxNOi0TLl LX+6sqR34ZWTtA4+jy62rrR0C5vFbtduPJljbB3C9ChI/2A90Y0aPQfraQ01Uzz/p1Ex2O M9tOBG0VXbDcsnxFeWul8xbPkmR7p8nwc371Qm9+edDiFdfBqPvFMgOYnlz1ZI3SWP08fi 8T45TJj0ITo1OqDJGjfz/SBjmpcCX+2P7OA8lE1xuTaYev+QakenWl/UsJjU4Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757047835; a=rsa-sha256; cv=none; b=YRc8xJEkHGO04HxJufcOH83qPxY5UsKqoBkIJCCVXNhjaSgkzmYCKMLrCKS89OK8htajar ORFrpKPNOZkZSyC72+NYEqCx3lI5VNk0cdGeIJ7w4EDhw+OV0DPiz5PJ4ToLL/NRvB6IR4 5sTEDkvKIdLbo1xxCxSRi622RiAZX7cheTgT/+iGrBZMo/G2MOSHyFHDRdO8p3tcCoogw9 78Pw4kTkjl8pt7p3/Sr4Uxl5K1rIIPLL3X5ZD9EAE9KPo2XYhI3hfj/UoN9R5IwqfHBfWe s71E3GihWiybzoyV5GqGV1dDMQK15P3GXIdb+ar4SfkpDEqYmvAGydcNgyi33w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJ3nR4dSnzZwy; Fri, 05 Sep 2025 04:50:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5854oZnT029694; Fri, 5 Sep 2025 04:50:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5854oZZ5029691; Fri, 5 Sep 2025 04:50:35 GMT (envelope-from git) Date: Fri, 5 Sep 2025 04:50:35 GMT Message-Id: <202509050450.5854oZZ5029691@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Jamie Gritton Subject: git: 8ec7a830f10b - main - jaildesc: fix a misplaced error check and a spurious finit call Reported by: kib List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jamie X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ec7a830f10bc0f3b421dfaf6967a1bc996d34fd Auto-Submitted: auto-generated The branch main has been updated by jamie: URL: https://cgit.FreeBSD.org/src/commit/?id=8ec7a830f10bc0f3b421dfaf6967a1bc996d34fd commit 8ec7a830f10bc0f3b421dfaf6967a1bc996d34fd Author: Jamie Gritton AuthorDate: 2025-09-05 04:48:49 +0000 Commit: Jamie Gritton CommitDate: 2025-09-05 04:48:49 +0000 jaildesc: fix a misplaced error check and a spurious finit call Reported by: kib --- sys/kern/kern_jaildesc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_jaildesc.c b/sys/kern/kern_jaildesc.c index e00ec9a4bfff..fec9b5719b2e 100644 --- a/sys/kern/kern_jaildesc.c +++ b/sys/kern/kern_jaildesc.c @@ -133,12 +133,12 @@ jaildesc_alloc(struct thread *td, struct file **fpp, int *fdp, int owning) mode = 0; jd = malloc(sizeof(*jd), M_JAILDESC, M_WAITOK | M_ZERO); error = falloc_caps(td, &fp, fdp, 0, NULL); - finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 - ? FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); if (error != 0) { free(jd, M_JAILDESC); return (error); } + finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 + ? FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); JAILDESC_LOCK_INIT(jd); jd->jd_uid = fp->f_cred->cr_uid; jd->jd_gid = fp->f_cred->cr_gid; @@ -234,7 +234,6 @@ jaildesc_close(struct file *fp, struct thread *td) JAILDESC_LOCK_DESTROY(jd); free(jd, M_JAILDESC); } - finit(fp, 0, DTYPE_NONE, NULL, &badfileops); return (0); } From nobody Fri Sep 5 05:10:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJ4FJ58k6z6759f for ; Fri, 05 Sep 2025 05:11:16 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com [IPv6:2607:f8b0:4864:20::102d]) (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 4cJ4FG6hHZz3hYw for ; Fri, 05 Sep 2025 05:11:14 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20230601.gappssmtp.com header.s=20230601 header.b=UKchDmk3; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::102d) smtp.mailfrom=wlosh@bsdimp.com Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-32b02d88d80so1554209a91.0 for ; Thu, 04 Sep 2025 22:11:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1757049069; x=1757653869; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=GJ6+THKNMtydbTB+bKbk3OrXyp7M2u7ODUEafjY4nUM=; b=UKchDmk3FpTDpivEclw0ptxuAEcZiIP5aWtaalJyoI5rzf1eXh8Q8KUQU9I/penk91 oh2HwPdm8seM/pvPpjGRc3FmN12m+42ZqE5O9WY582UfDOOt/s1VtrupZ92z4KJu6Nmx F6goksCpQadONDNeJ/fd6DU9sfIQfw5IZ97vqQsoLpZmfG7Khb2cTEiQ6Pq5k//PiOWp EDoYjuCnvKjRqOXfGuk8QPYdtpx/VQ0gk/7dSE9HIuK8iqQl4Errlmq6I8pRmaDnIUrW eMx7txeqwp+Fs4D051+/gqnlVQmg6RIs2yS/b25Cnu0KdlvVD90aQkfMv8HGczNw1n5l T7pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757049069; x=1757653869; 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=GJ6+THKNMtydbTB+bKbk3OrXyp7M2u7ODUEafjY4nUM=; b=A4rWFgI8dxHQuvwQ5hxGbB8680t3xRmQ6fD5UpIcBUzaL07IHZkbBlc/UdBs1Kej6K +4aI5+IHNiTc99rVIi1I1Wi0POOn7KCIYMHzFYME8a+r8TR4sV0zy0YPZcGneUvbY1gT ZpSHQRBrs77MkoZemPj+WTU/JbPXCL0/oBqvRC3xaMu1AKfDBCnaAnWSkuwIXTQdwL/3 kw/uh3+dxplnwQjhjuf4rzF+CCCjmzOQcKPGDte6RD2Ht924XVKdWHMcH9XWX5AT1PFy XiKHORSixOaV5iSd3O4abUrirKJ4a3pZxqzDLFwittH9+44rcuF7YHQSI9+COCORmNg6 QufQ== X-Forwarded-Encrypted: i=1; AJvYcCUvST0NTZe+f34Vh5dX7YNhT20lt3ASo5WrDsJqf+qJQKdQa8hlkbONkcKtSnDrRnCZD8esk/QbzagaSqDprlB61iz4bA==@freebsd.org X-Gm-Message-State: AOJu0YyLJprzaEEZET7GYztbJD0Ss3n39pzRJCPGwsgJ8O5awtKb31GH JAj2dASUz4vczWgcWJhsdZMhZowd/BUWwFIe4MrhrhLThEiG2i87WIKG2809Ot5mToE3M/7WHH9 spvuACDdlkcCJ6auDF+6vfEzk1kA6IS0/j4NNxNgLSQ== X-Gm-Gg: ASbGncsQ1+jSzbsJW3BrKlW2tjaR2J55fRmGTsPsJf+WeHbHR2E3Jpe7Y2ne17uqMnT G9GS6uBuw8InPRRYGN+czbQOq9WkBoK9S3ymc3ffPFBLr/6Blfe/3TX22DxvqcNV1/bAtJrT4ba +CU464ynPU7HkTlqQP4bo7DKsp7kn1L7vIhwYsbn1x5SISB2TTFzL3fn1n6J7DH+KLynzOTsZ+1 nVgi4NXOq3ITXPDd/63wVqAhtQChv4hYj14gPGr7GGMAinggQ== X-Google-Smtp-Source: AGHT+IGohWdM1SQpUsqIvTub3f9SUHIO4gBXRWrmWBgHQG7NM8D8OChy1T0WwFvHDsFuTnUshJERX8qk4iKVKLRhk8I= X-Received: by 2002:a17:90b:51c4:b0:32b:98a3:7409 with SMTP id 98e67ed59e1d1-32b98a37612mr5699776a91.34.1757049068464; Thu, 04 Sep 2025 22:11:08 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202509042108.584L86Ro060944@gitrepo.freebsd.org> <20250905061122.69e01f1a@thor.sb211.local> <4AC13FF6-98EB-41C9-83EC-E8B9FB6A1093@freebsd.org> In-Reply-To: From: Warner Losh Date: Thu, 4 Sep 2025 23:10:57 -0600 X-Gm-Features: Ac12FXyTfkWRulOPYpyz2TmGmUyqLWZbM6fmust4mwpfCj-QPSHX0BTb4vWD934 Message-ID: Subject: Re: git: aef807876c30 - main - moused(8): Add support for evdev protocol To: Jessica Clarke Cc: A FreeBSD User , Vladimir Kondratyev , "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Type: multipart/alternative; boundary="000000000000943e38063e06dd6e" X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.98 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.98)[-0.982]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20230601.gappssmtp.com:s=20230601]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_ONE(0.00)[1]; MIME_TRACE(0.00)[0:+,1:+,2:~]; TO_DN_SOME(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; MISSING_XM_UA(0.00)[]; R_SPF_NA(0.00)[no SPF record]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; RCPT_COUNT_FIVE(0.00)[6]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::102d:from]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; FROM_HAS_DN(0.00)[]; DMARC_NA(0.00)[bsdimp.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[dev-commits-src-main@freebsd.org]; ARC_NA(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20230601.gappssmtp.com:+] X-Rspamd-Queue-Id: 4cJ4FG6hHZz3hYw --000000000000943e38063e06dd6e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Sep 4, 2025 at 10:37=E2=80=AFPM Warner Losh wrote: > > > On Thu, Sep 4, 2025 at 10:17=E2=80=AFPM Jessica Clarke wrote: > >> On 5 Sep 2025, at 05:13, A FreeBSD User wrote: >> >> > Am Tage des Herren Thu, 4 Sep 2025 21:08:06 GMT >> > Vladimir Kondratyev schrieb: >> > >> >> The branch main has been updated by wulf: >> >> >> >> URL: >> https://cgit.FreeBSD.org/src/commit/?id=3Daef807876c305587c60f73e2cd9141= 15d22a53fd >> >> >> >> commit aef807876c305587c60f73e2cd914115d22a53fd >> >> Author: Vladimir Kondratyev >> >> AuthorDate: 2025-09-04 21:07:25 +0000 >> >> Commit: Vladimir Kondratyev >> >> CommitDate: 2025-09-04 21:07:25 +0000 >> >> >> >> moused(8): Add support for evdev protocol >> >> >> >> The new daemon have following properties as compared with previous >> >> incarnation: >> >> - evdev protocol support for mices and touchpads. Additionally to >> >> relative PS/2 and USB devices it enables console support for >> I2C/USB >> >> touchpads and bluetooth mices. >> >> - Other aged protocols like COM, raw PS/2 and X10 are dropped with >> only >> >> exception of sysmouse. For those who still use them there is an >> >> utility called msconvd(8). >> >> - single daemon per system where hotplug is processed via devd >> socket. >> >> Per device mode still supported too. >> >> - Configuration and quirks files in libinput-compatible format. >> >> Actually, the new moused config parser is taken from libinput. >> >> >> >> The moused(8) can work in 2 modes: >> >> 1. Evdev support mode. It enables all previously mentioned devices= . >> >> It is enabled by deault. >> >> 2. Sysmouse support mode. All should work as before. >> >> No new devices supported. To enable it add following lines to >> >> /etc/rc.conf: >> >> moused_port=3D"/dev/psm0" >> >> moused_nondefault_enable=3D"YES" >> >> One may add hw.usb.usbhid.enable=3D0 to /boot/loader.conf to en= able >> >> ums(4) driver which supports sysmouse protocol. >> >> >> >> Differential Revision: https://reviews.freebsd.org/D52164 >> >> --- >> >> libexec/rc/rc.conf | 8 +- >> >> libexec/rc/rc.d/Makefile | 1 + >> >> libexec/rc/rc.d/msconvd | 61 + >> >> tools/build/mk/OptionalObsoleteFiles.inc | 7 + >> >> usr.sbin/moused/Makefile | 12 +- >> >> usr.sbin/moused/Makefile.depend | 17 - >> >> usr.sbin/moused/moused/Makefile | 28 + >> >> usr.sbin/moused/moused/event-names.h | 1656 ++++++++++ >> >> usr.sbin/moused/moused/moused.8 | 538 ++++ >> >> usr.sbin/moused/moused/moused.c | 3205 >> ++++++++++++++++++++ >> >> usr.sbin/moused/moused/moused.conf | 43 + >> >> usr.sbin/moused/moused/moused.conf.5 | 422 +++ >> >> usr.sbin/moused/moused/quirks.c | 2033 +++++++++++= ++ >> >> usr.sbin/moused/moused/quirks.h | 369 +++ >> >> .../moused/moused/quirks/5-generic-touchpad.quirks | 9 + >> >> usr.sbin/moused/moused/util-evdev.c | 173 ++ >> >> usr.sbin/moused/moused/util-evdev.h | 35 + >> >> usr.sbin/moused/moused/util-list.c | 86 + >> >> usr.sbin/moused/moused/util-list.h | 194 ++ >> >> usr.sbin/moused/moused/util.c | 423 +++ >> >> usr.sbin/moused/moused/util.h | 413 +++ >> >> usr.sbin/moused/msconvd/Makefile | 8 + >> >> usr.sbin/moused/{moused.8 =3D> msconvd/msconvd.8} | 395 +-- >> >> usr.sbin/moused/{moused.c =3D> msconvd/msconvd.c} | 1212 ++------ >> >> 24 files changed, 10008 insertions(+), 1340 deletions(-) >> >> >> >> diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf >> >> index bfa46bd343a6..0ef3012892dd 100644 >> >> --- a/libexec/rc/rc.conf >> >> +++ b/libexec/rc/rc.conf >> >> @@ -586,15 +586,19 @@ font8x14=3D"NO" # font 8x14 from >> >> /usr/share/{syscons,vt}/fonts/* (or NO). font8x8=3D"NO" # font 8x8 fr= om >> >> /usr/share/{syscons,vt}/fonts/* (or NO). blanktime=3D"300" # blank ti= me >> (in >> >> seconds) or "NO" to turn it off. saver=3D"NO" # screen saver: Uses >> >> /boot/kernel/${saver}_saver.ko -moused_nondefault_enable=3D"YES" # Tr= eat >> non-default mice as >> >> enabled unless +moused_nondefault_enable=3D"NO" # Treat non-default m= ice >> as enabled unless >> >> # specifically overridden in rc.conf(5). >> >> moused_enable=3D"NO" # Run the mouse daemon. >> >> moused_type=3D"auto" # See man page for rc.conf(5) for available >> settings. >> >> -moused_port=3D"/dev/psm0" # Set to your mouse port. >> >> +moused_port=3D"auto" # Set to your mouse port. >> >> moused_flags=3D"" # Any additional flags to moused. >> >> mousechar_start=3D"NO" # if 0xd0-0xd3 default range is occupied in yo= ur >> >> # language code table, specify alternative range >> >> # start like mousechar_start=3D3, see vidcontrol(1) >> >> +msconvd_enable=3D"NO" # Run the mouse protocol conversion daemon. >> >> +msconvd_type=3D"auto" # See rc.conf(5) man page for available >> moused_type-s. >> >> +msconvd_ports=3D"" # List of msconvd ports. >> >> +msconvd_flags=3D"" # Any additional flags to msconvd. >> >> allscreens_flags=3D"" # Set this vidcontrol mode for all virtual scre= ens >> >> allscreens_kbdflags=3D"" # Set this kbdcontrol mode for all virtual >> screens >> >> >> >> diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile >> >> index 7c1f50b027a9..e5ee34e62185 100644 >> >> --- a/libexec/rc/rc.d/Makefile >> >> +++ b/libexec/rc/rc.d/Makefile >> >> @@ -273,6 +273,7 @@ JAILPACKAGE=3D jail >> >> .if ${MK_LEGACY_CONSOLE} !=3D "no" >> >> CONFGROUPS+=3D CONSOLE >> >> CONSOLE+=3D moused >> >> +CONSOLE+=3D msconvd >> >> CONSOLE+=3D syscons >> >> CONSOLEPACKAGE=3D console-tools >> >> .endif >> >> diff --git a/libexec/rc/rc.d/msconvd b/libexec/rc/rc.d/msconvd >> >> new file mode 100755 >> >> index 000000000000..c2a96bf2eb68 >> >> --- /dev/null >> >> +++ b/libexec/rc/rc.d/msconvd >> >> @@ -0,0 +1,61 @@ >> >> +#!/bin/sh >> >> +# >> >> +# >> >> + >> >> +# PROVIDE: msconvd >> >> +# REQUIRE: DAEMON FILESYSTEMS >> >> +# KEYWORD: nojail shutdown >> >> + >> >> +. /etc/rc.subr >> >> + >> >> +name=3D"msconvd" >> >> +desc=3D"Mouse protocol conversion daemon" >> >> +command=3D"/usr/sbin/${name}" >> >> +start_cmd=3D"msconvd_start" >> >> +pidprefix=3D"/var/run/msconvd" >> >> +load_rc_config $name >> >> + >> >> +: ${msconvd_enable=3D"NO"} >> >> +: ${msconvd_type=3D"auto"} >> >> + >> >> +# doesn't make sense to run in a svcj: nojail keyword >> >> +# XXX: How does msconvd communiacte with the kernel? >> >> +# XXX: Does the kernel prevent this communcation in jails? >> >> +msconvd_svcj=3D"NO" >> >> + >> >> +# Set the pid file and variable name. The second argument, if it >> exists, is >> >> +# expected to be the mouse device. >> >> +# >> >> +if [ -n "$2" ]; then >> >> + eval msconvd_$2_enable=3D\${msconvd_$2_enable-${msconvd_enable}} >> >> + rcvar=3D"msconvd_$2_enable" >> >> + pidfile=3D"${pidprefix}.$2.pid" >> >> +else >> >> + for ms in ${msconvd_ports}; do >> >> + /etc/rc.d/msconvd $1 ${ms} >> >> + done >> >> + exit 0 >> >> +fi >> >> + >> >> +msconvd_start() >> >> +{ >> >> + local ms myflags myport mytype >> >> + >> >> + # Set the mouse device and get any related variables. If >> >> + # a msconvd device has been specified on the commandline, then >> >> + # rc.conf(5) variables defined for that device take precedence >> >> + # over the generic msconvd_* variables. The only exception is >> >> + # the msconvd_port variable, which if not defined sets it to >> >> + # the passed in device name. >> >> + # >> >> + ms=3D$1 >> >> + eval myflags=3D\${msconvd_${ms}_flags-$msconvd_flags} >> >> + eval myport=3D\${msconvd_${ms}_port-/dev/${ms}} >> >> + eval mytype=3D\${msconvd_${ms}_type-$msconvd_type} >> >> + >> >> + startmsg -n "Starting ${ms} ${name}" >> >> + ${command} ${myflags} -p ${myport} -t ${mytype} -I ${pidfile} >> >> + startmsg '.' >> >> +} >> >> + >> >> +run_rc_command $* >> >> diff --git a/tools/build/mk/OptionalObsoleteFiles.inc >> >> b/tools/build/mk/OptionalObsoleteFiles.inc index >> 5eea402c4526..a2fb28f1a186 100644 >> >> --- a/tools/build/mk/OptionalObsoleteFiles.inc >> >> +++ b/tools/build/mk/OptionalObsoleteFiles.inc >> >> @@ -3793,11 +3793,14 @@ OLD_FILES+=3Dusr/share/man/man1/host.1.gz >> >> .endif >> >> >> >> .if ${MK_LEGACY_CONSOLE} =3D=3D no >> >> +OLD_FILES+=3Detc/moused.conf >> >> OLD_FILES+=3Detc/rc.d/moused >> >> +OLD_FILES+=3Detc/rc.d/msconvd >> >> OLD_FILES+=3Detc/rc.d/syscons >> >> OLD_FILES+=3Dusr/sbin/kbdcontrol >> >> OLD_FILES+=3Dusr/sbin/kbdmap >> >> OLD_FILES+=3Dusr/sbin/moused >> >> +OLD_FILES+=3Dusr/sbin/msconvd >> >> OLD_FILES+=3Dusr/sbin/vidcontrol >> >> OLD_FILES+=3Dusr/sbin/vidfont >> >> OLD_FILES+=3Dusr/share/man/man1/kbdcontrol.1.gz >> >> @@ -3806,7 +3809,11 @@ OLD_FILES+=3Dusr/share/man/man1/vidcontrol.1.g= z >> >> OLD_FILES+=3Dusr/share/man/man1/vidfont.1.gz >> >> OLD_FILES+=3Dusr/share/man/man5/kbdmap.5.gz >> >> OLD_FILES+=3Dusr/share/man/man5/keymap.5.gz >> >> +OLD_FILES+=3Dusr/share/man/man5/moused.conf.5.gz >> >> OLD_FILES+=3Dusr/share/man/man8/moused.8.gz >> >> +OLD_FILES+=3Dusr/share/man/man8/msconvd.8.gz >> >> +OLD_FILES+=3Dusr/share/moused/5-generic-touchpad.quirks >> >> +OLD_DIRS+=3Dusr/share/moused >> >> .endif >> >> >> >> .for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats} >> >> diff --git a/usr.sbin/moused/Makefile b/usr.sbin/moused/Makefile >> >> index 2a7aa0484542..b6319b6fef20 100644 >> >> --- a/usr.sbin/moused/Makefile >> >> +++ b/usr.sbin/moused/Makefile >> >> @@ -1,10 +1,4 @@ >> >> -PACKAGE=3D console-tools >> >> -PROG=3D moused >> >> -MAN=3D moused.8 >> >> +SUBDIR+=3Dmoused >> >> +SUBDIR+=3Dmsconvd >> >> >> >> -LIBADD=3D m util >> >> - >> >> -#BINMODE=3D4555 >> >> -#PRECIOUSPROG=3D >> >> - >> >> -.include >> >> +.include >> >> diff --git a/usr.sbin/moused/Makefile.depend >> b/usr.sbin/moused/Makefile.depend >> >> deleted file mode 100644 >> >> index af3b7054df7a..000000000000 >> >> --- a/usr.sbin/moused/Makefile.depend >> >> +++ /dev/null >> >> @@ -1,17 +0,0 @@ >> >> -# Autogenerated - do NOT edit! >> >> - >> >> -DIRDEPS =3D \ >> >> - include \ >> >> - include/xlocale \ >> >> - lib/${CSU_DIR} \ >> >> - lib/libc \ >> >> - lib/libcompiler_rt \ >> >> - lib/libutil \ >> >> - lib/msun \ >> >> - >> >> - >> >> -.include >> >> - >> >> -.if ${DEP_RELDIR} =3D=3D ${_DEP_RELDIR} >> >> -# local dependencies - needed for -jN in clean tree >> >> -.endif >> >> diff --git a/usr.sbin/moused/moused/Makefile >> b/usr.sbin/moused/moused/Makefile >> >> new file mode 100644 >> >> index 000000000000..8479764b710b >> >> --- /dev/null >> >> +++ b/usr.sbin/moused/moused/Makefile >> >> @@ -0,0 +1,28 @@ >> >> +PACKAGE=3D console-tools >> >> +PROG=3D moused >> >> + >> >> +SRCS=3D moused.c \ >> >> + event-names.h \ >> >> + quirks.c \ >> >> + quirks.h \ >> >> + util.c \ >> >> + util.h \ >> >> + util-evdev.c \ >> >> + util-evdev.h \ >> >> + util-list.c \ >> >> + util-list.h >> >> +MAN=3D moused.8 \ >> >> + moused.conf.5 >> >> +CONFS=3D moused.conf >> >> +QUIRKS=3D 5-generic-touchpad.quirks >> >> + >> >> +CWARNFLAGS.quirks.c+=3D -Wno-cast-align -Wno-shadow -Wno-cast-qual \ >> >> + -Wno-unused-variable -Wno-unused-parameter >> >> +CWARNFLAGS.util.c+=3D -Wno-shadow >> >> +LIBADD=3D m util >> >> +BINDIR=3D /usr/sbin >> >> + >> >> +FILES=3D ${QUIRKS:S|^|quirks/|} >> >> +FILESDIR=3D /usr/share/${PROG} >> >> + >> >> +.include >> >> diff --git a/usr.sbin/moused/moused/event-names.h >> b/usr.sbin/moused/moused/event-names.h >> >> new file mode 100644 >> >> index 000000000000..05093a1d0db3 >> >> --- /dev/null >> >> +++ b/usr.sbin/moused/moused/event-names.h >> >> @@ -0,0 +1,1656 @@ >> >> +/* THIS FILE IS GENERATED, DO NOT EDIT */ >> >> + >> >> +#ifndef EVENT_NAMES_H >> >> +#define EVENT_NAMES_H >> >> + >> >> +static const char * const ev_map[EV_MAX + 1] =3D { >> >> + [EV_SYN] =3D "EV_SYN", >> >> + [EV_KEY] =3D "EV_KEY", >> >> + [EV_REL] =3D "EV_REL", >> >> + [EV_ABS] =3D "EV_ABS", >> >> + [EV_MSC] =3D "EV_MSC", >> >> + [EV_SW] =3D "EV_SW", >> >> + [EV_LED] =3D "EV_LED", >> >> + [EV_SND] =3D "EV_SND", >> >> + [EV_REP] =3D "EV_REP", >> >> + [EV_FF] =3D "EV_FF", >> >> + [EV_PWR] =3D "EV_PWR", >> >> + [EV_FF_STATUS] =3D "EV_FF_STATUS", >> >> + [EV_MAX] =3D "EV_MAX", >> >> +}; >> >> + >> >> +static const char * const rel_map[REL_MAX + 1] =3D { >> >> + [REL_X] =3D "REL_X", >> >> + [REL_Y] =3D "REL_Y", >> >> + [REL_Z] =3D "REL_Z", >> >> + [REL_RX] =3D "REL_RX", >> >> + [REL_RY] =3D "REL_RY", >> >> + [REL_RZ] =3D "REL_RZ", >> >> + [REL_HWHEEL] =3D "REL_HWHEEL", >> >> + [REL_DIAL] =3D "REL_DIAL", >> >> + [REL_WHEEL] =3D "REL_WHEEL", >> >> + [REL_MISC] =3D "REL_MISC", >> >> + [REL_RESERVED] =3D "REL_RESERVED", >> >> + [REL_WHEEL_HI_RES] =3D "REL_WHEEL_HI_RES", >> >> + [REL_HWHEEL_HI_RES] =3D "REL_HWHEEL_HI_RES", >> >> + [REL_MAX] =3D "REL_MAX", >> >> +}; >> >> + >> >> +static const char * const abs_map[ABS_MAX + 1] =3D { >> >> + [ABS_X] =3D "ABS_X", >> >> + [ABS_Y] =3D "ABS_Y", >> >> + [ABS_Z] =3D "ABS_Z", >> >> + [ABS_RX] =3D "ABS_RX", >> >> + [ABS_RY] =3D "ABS_RY", >> >> + [ABS_RZ] =3D "ABS_RZ", >> >> + [ABS_THROTTLE] =3D "ABS_THROTTLE", >> >> + [ABS_RUDDER] =3D "ABS_RUDDER", >> >> + [ABS_WHEEL] =3D "ABS_WHEEL", >> >> + [ABS_GAS] =3D "ABS_GAS", >> >> + [ABS_BRAKE] =3D "ABS_BRAKE", >> >> + [ABS_HAT0X] =3D "ABS_HAT0X", >> >> + [ABS_HAT0Y] =3D "ABS_HAT0Y", >> >> + [ABS_HAT1X] =3D "ABS_HAT1X", >> >> + [ABS_HAT1Y] =3D "ABS_HAT1Y", >> >> + [ABS_HAT2X] =3D "ABS_HAT2X", >> >> + [ABS_HAT2Y] =3D "ABS_HAT2Y", >> >> + [ABS_HAT3X] =3D "ABS_HAT3X", >> >> + [ABS_HAT3Y] =3D "ABS_HAT3Y", >> >> + [ABS_PRESSURE] =3D "ABS_PRESSURE", >> >> + [ABS_DISTANCE] =3D "ABS_DISTANCE", >> >> + [ABS_TILT_X] =3D "ABS_TILT_X", >> >> + [ABS_TILT_Y] =3D "ABS_TILT_Y", >> >> + [ABS_TOOL_WIDTH] =3D "ABS_TOOL_WIDTH", >> >> + [ABS_VOLUME] =3D "ABS_VOLUME", >> >> + // [ABS_PROFILE] =3D "ABS_PROFILE", >> >> + [ABS_MISC] =3D "ABS_MISC", >> >> + [ABS_RESERVED] =3D "ABS_RESERVED", >> >> + [ABS_MT_SLOT] =3D "ABS_MT_SLOT", >> >> + [ABS_MT_TOUCH_MAJOR] =3D "ABS_MT_TOUCH_MAJOR", >> >> + [ABS_MT_TOUCH_MINOR] =3D "ABS_MT_TOUCH_MINOR", >> >> + [ABS_MT_WIDTH_MAJOR] =3D "ABS_MT_WIDTH_MAJOR", >> >> + [ABS_MT_WIDTH_MINOR] =3D "ABS_MT_WIDTH_MINOR", >> >> + [ABS_MT_ORIENTATION] =3D "ABS_MT_ORIENTATION", >> >> + [ABS_MT_POSITION_X] =3D "ABS_MT_POSITION_X", >> >> + [ABS_MT_POSITION_Y] =3D "ABS_MT_POSITION_Y", >> >> + [ABS_MT_TOOL_TYPE] =3D "ABS_MT_TOOL_TYPE", >> >> + [ABS_MT_BLOB_ID] =3D "ABS_MT_BLOB_ID", >> >> + [ABS_MT_TRACKING_ID] =3D "ABS_MT_TRACKING_ID", >> >> + [ABS_MT_PRESSURE] =3D "ABS_MT_PRESSURE", >> >> + [ABS_MT_DISTANCE] =3D "ABS_MT_DISTANCE", >> >> + [ABS_MT_TOOL_X] =3D "ABS_MT_TOOL_X", >> >> + [ABS_MT_TOOL_Y] =3D "ABS_MT_TOOL_Y", >> >> + [ABS_MAX] =3D "ABS_MAX", >> >> +}; >> >> + >> >> +static const char * const key_map[KEY_MAX + 1] =3D { >> >> + [KEY_RESERVED] =3D "KEY_RESERVED", >> >> + [KEY_ESC] =3D "KEY_ESC", >> >> + [KEY_1] =3D "KEY_1", >> >> + [KEY_2] =3D "KEY_2", >> >> + [KEY_3] =3D "KEY_3", >> >> + [KEY_4] =3D "KEY_4", >> >> + [KEY_5] =3D "KEY_5", >> >> + [KEY_6] =3D "KEY_6", >> >> + [KEY_7] =3D "KEY_7", >> >> + [KEY_8] =3D "KEY_8", >> >> + [KEY_9] =3D "KEY_9", >> >> + [KEY_0] =3D "KEY_0", >> >> + [KEY_MINUS] =3D "KEY_MINUS", >> >> + [KEY_EQUAL] =3D "KEY_EQUAL", >> >> + [KEY_BACKSPACE] =3D "KEY_BACKSPACE", >> >> + [KEY_TAB] =3D "KEY_TAB", >> >> + [KEY_Q] =3D "KEY_Q", >> >> + [KEY_W] =3D "KEY_W", >> >> + [KEY_E] =3D "KEY_E", >> >> + [KEY_R] =3D "KEY_R", >> >> + [KEY_T] =3D "KEY_T", >> >> + [KEY_Y] =3D "KEY_Y", >> >> + [KEY_U] =3D "KEY_U", >> >> + [KEY_I] =3D "KEY_I", >> >> + [KEY_O] =3D "KEY_O", >> >> + [KEY_P] =3D "KEY_P", >> >> + [KEY_LEFTBRACE] =3D "KEY_LEFTBRACE", >> >> + [KEY_RIGHTBRACE] =3D "KEY_RIGHTBRACE", >> >> + [KEY_ENTER] =3D "KEY_ENTER", >> >> + [KEY_LEFTCTRL] =3D "KEY_LEFTCTRL", >> >> + [KEY_A] =3D "KEY_A", >> >> + [KEY_S] =3D "KEY_S", >> >> + [KEY_D] =3D "KEY_D", >> >> + [KEY_F] =3D "KEY_F", >> >> + [KEY_G] =3D "KEY_G", >> >> + [KEY_H] =3D "KEY_H", >> >> + [KEY_J] =3D "KEY_J", >> >> + [KEY_K] =3D "KEY_K", >> >> + [KEY_L] =3D "KEY_L", >> >> + [KEY_SEMICOLON] =3D "KEY_SEMICOLON", >> >> + [KEY_APOSTROPHE] =3D "KEY_APOSTROPHE", >> >> + [KEY_GRAVE] =3D "KEY_GRAVE", >> >> + [KEY_LEFTSHIFT] =3D "KEY_LEFTSHIFT", >> >> + [KEY_BACKSLASH] =3D "KEY_BACKSLASH", >> >> + [KEY_Z] =3D "KEY_Z", >> >> + [KEY_X] =3D "KEY_X", >> >> + [KEY_C] =3D "KEY_C", >> >> + [KEY_V] =3D "KEY_V", >> >> + [KEY_B] =3D "KEY_B", >> >> + [KEY_N] =3D "KEY_N", >> >> + [KEY_M] =3D "KEY_M", >> >> + [KEY_COMMA] =3D "KEY_COMMA", >> >> + [KEY_DOT] =3D "KEY_DOT", >> >> + [KEY_SLASH] =3D "KEY_SLASH", >> >> + [KEY_RIGHTSHIFT] =3D "KEY_RIGHTSHIFT", >> >> + [KEY_KPASTERISK] =3D "KEY_KPASTERISK", >> >> + [KEY_LEFTALT] =3D "KEY_LEFTALT", >> >> + [KEY_SPACE] =3D "KEY_SPACE", >> >> + [KEY_CAPSLOCK] =3D "KEY_CAPSLOCK", >> >> + [KEY_F1] =3D "KEY_F1", >> >> + [KEY_F2] =3D "KEY_F2", >> >> + [KEY_F3] =3D "KEY_F3", >> >> + [KEY_F4] =3D "KEY_F4", >> >> + [KEY_F5] =3D "KEY_F5", >> >> + [KEY_F6] =3D "KEY_F6", >> >> + [KEY_F7] =3D "KEY_F7", >> >> + [KEY_F8] =3D "KEY_F8", >> >> + [KEY_F9] =3D "KEY_F9", >> >> + [KEY_F10] =3D "KEY_F10", >> >> + [KEY_NUMLOCK] =3D "KEY_NUMLOCK", >> >> + [KEY_SCROLLLOCK] =3D "KEY_SCROLLLOCK", >> >> + [KEY_KP7] =3D "KEY_KP7", >> >> + [KEY_KP8] =3D "KEY_KP8", >> >> + [KEY_KP9] =3D "KEY_KP9", >> >> + [KEY_KPMINUS] =3D "KEY_KPMINUS", >> >> + [KEY_KP4] =3D "KEY_KP4", >> >> + [KEY_KP5] =3D "KEY_KP5", >> >> + [KEY_KP6] =3D "KEY_KP6", >> >> + [KEY_KPPLUS] =3D "KEY_KPPLUS", >> >> + [KEY_KP1] =3D "KEY_KP1", >> >> + [KEY_KP2] =3D "KEY_KP2", >> >> + [KEY_KP3] =3D "KEY_KP3", >> >> + [KEY_KP0] =3D "KEY_KP0", >> >> + [KEY_KPDOT] =3D "KEY_KPDOT", >> >> + [KEY_ZENKAKUHANKAKU] =3D "KEY_ZENKAKUHANKAKU", >> >> + [KEY_102ND] =3D "KEY_102ND", >> >> + [KEY_F11] =3D "KEY_F11", >> >> + [KEY_F12] =3D "KEY_F12", >> >> + [KEY_RO] =3D "KEY_RO", >> >> + [KEY_KATAKANA] =3D "KEY_KATAKANA", >> >> + [KEY_HIRAGANA] =3D "KEY_HIRAGANA", >> >> + [KEY_HENKAN] =3D "KEY_HENKAN", >> >> + [KEY_KATAKANAHIRAGANA] =3D "KEY_KATAKANAHIRAGANA", >> >> + [KEY_MUHENKAN] =3D "KEY_MUHENKAN", >> >> + [KEY_KPJPCOMMA] =3D "KEY_KPJPCOMMA", >> >> + [KEY_KPENTER] =3D "KEY_KPENTER", >> >> + [KEY_RIGHTCTRL] =3D "KEY_RIGHTCTRL", >> >> + [KEY_KPSLASH] =3D "KEY_KPSLASH", >> >> + [KEY_SYSRQ] =3D "KEY_SYSRQ", >> >> + [KEY_RIGHTALT] =3D "KEY_RIGHTALT", >> >> + [KEY_LINEFEED] =3D "KEY_LINEFEED", >> >> + [KEY_HOME] =3D "KEY_HOME", >> >> + [KEY_UP] =3D "KEY_UP", >> >> + [KEY_PAGEUP] =3D "KEY_PAGEUP", >> >> + [KEY_LEFT] =3D "KEY_LEFT", >> >> + [KEY_RIGHT] =3D "KEY_RIGHT", >> >> + [KEY_END] =3D "KEY_END", >> >> + [KEY_DOWN] =3D "KEY_DOWN", >> >> + [KEY_PAGEDOWN] =3D "KEY_PAGEDOWN", >> >> + [KEY_INSERT] =3D "KEY_INSERT", >> >> + [KEY_DELETE] =3D "KEY_DELETE", >> >> + [KEY_MACRO] =3D "KEY_MACRO", >> >> + [KEY_MUTE] =3D "KEY_MUTE", >> >> + [KEY_VOLUMEDOWN] =3D "KEY_VOLUMEDOWN", >> >> + [KEY_VOLUMEUP] =3D "KEY_VOLUMEUP", >> >> + [KEY_POWER] =3D "KEY_POWER", >> >> + [KEY_KPEQUAL] =3D "KEY_KPEQUAL", >> >> + [KEY_KPPLUSMINUS] =3D "KEY_KPPLUSMINUS", >> >> + [KEY_PAUSE] =3D "KEY_PAUSE", >> >> + [KEY_SCALE] =3D "KEY_SCALE", >> >> + [KEY_KPCOMMA] =3D "KEY_KPCOMMA", >> >> + [KEY_HANGEUL] =3D "KEY_HANGEUL", >> >> + [KEY_HANJA] =3D "KEY_HANJA", >> >> + [KEY_YEN] =3D "KEY_YEN", >> >> + [KEY_LEFTMETA] =3D "KEY_LEFTMETA", >> >> + [KEY_RIGHTMETA] =3D "KEY_RIGHTMETA", >> >> + [KEY_COMPOSE] =3D "KEY_COMPOSE", >> >> + [KEY_STOP] =3D "KEY_STOP", >> >> + [KEY_AGAIN] =3D "KEY_AGAIN", >> >> + [KEY_PROPS] =3D "KEY_PROPS", >> >> + [KEY_UNDO] =3D "KEY_UNDO", >> >> + [KEY_FRONT] =3D "KEY_FRONT", >> >> + [KEY_COPY] =3D "KEY_COPY", >> >> + [KEY_OPEN] =3D "KEY_OPEN", >> >> + [KEY_PASTE] =3D "KEY_PASTE", >> >> + [KEY_FIND] =3D "KEY_FIND", >> >> + [KEY_CUT] =3D "KEY_CUT", >> >> + [KEY_HELP] =3D "KEY_HELP", >> >> + [KEY_MENU] =3D "KEY_MENU", >> >> + [KEY_CALC] =3D "KEY_CALC", >> >> + [KEY_SETUP] =3D "KEY_SETUP", >> >> + [KEY_SLEEP] =3D "KEY_SLEEP", >> >> + [KEY_WAKEUP] =3D "KEY_WAKEUP", >> >> + [KEY_FILE] =3D "KEY_FILE", >> >> + [KEY_SENDFILE] =3D "KEY_SENDFILE", >> >> + [KEY_DELETEFILE] =3D "KEY_DELETEFILE", >> >> + [KEY_XFER] =3D "KEY_XFER", >> >> + [KEY_PROG1] =3D "KEY_PROG1", >> >> + [KEY_PROG2] =3D "KEY_PROG2", >> >> + [KEY_WWW] =3D "KEY_WWW", >> >> + [KEY_MSDOS] =3D "KEY_MSDOS", >> >> + [KEY_COFFEE] =3D "KEY_COFFEE", >> >> + [KEY_ROTATE_DISPLAY] =3D "KEY_ROTATE_DISPLAY", >> >> + [KEY_CYCLEWINDOWS] =3D "KEY_CYCLEWINDOWS", >> >> + [KEY_MAIL] =3D "KEY_MAIL", >> >> + [KEY_BOOKMARKS] =3D "KEY_BOOKMARKS", >> >> + [KEY_COMPUTER] =3D "KEY_COMPUTER", >> >> + [KEY_BACK] =3D "KEY_BACK", >> >> + [KEY_FORWARD] =3D "KEY_FORWARD", >> >> + [KEY_CLOSECD] =3D "KEY_CLOSECD", >> >> + [KEY_EJECTCD] =3D "KEY_EJECTCD", >> >> + [KEY_EJECTCLOSECD] =3D "KEY_EJECTCLOSECD", >> >> + [KEY_NEXTSONG] =3D "KEY_NEXTSONG", >> >> + [KEY_PLAYPAUSE] =3D "KEY_PLAYPAUSE", >> >> + [KEY_PREVIOUSSONG] =3D "KEY_PREVIOUSSONG", >> >> + [KEY_STOPCD] =3D "KEY_STOPCD", >> >> + [KEY_RECORD] =3D "KEY_RECORD", >> >> + [KEY_REWIND] =3D "KEY_REWIND", >> >> + [KEY_PHONE] =3D "KEY_PHONE", >> >> + [KEY_ISO] =3D "KEY_ISO", >> >> + [KEY_CONFIG] =3D "KEY_CONFIG", >> >> + [KEY_HOMEPAGE] =3D "KEY_HOMEPAGE", >> >> + [KEY_REFRESH] =3D "KEY_REFRESH", >> >> + [KEY_EXIT] =3D "KEY_EXIT", >> >> + [KEY_MOVE] =3D "KEY_MOVE", >> >> + [KEY_EDIT] =3D "KEY_EDIT", >> >> + [KEY_SCROLLUP] =3D "KEY_SCROLLUP", >> >> + [KEY_SCROLLDOWN] =3D "KEY_SCROLLDOWN", >> >> + [KEY_KPLEFTPAREN] =3D "KEY_KPLEFTPAREN", >> >> + [KEY_KPRIGHTPAREN] =3D "KEY_KPRIGHTPAREN", >> >> + [KEY_NEW] =3D "KEY_NEW", >> >> + [KEY_REDO] =3D "KEY_REDO", >> >> + [KEY_F13] =3D "KEY_F13", >> >> + [KEY_F14] =3D "KEY_F14", >> >> + [KEY_F15] =3D "KEY_F15", >> >> + [KEY_F16] =3D "KEY_F16", >> >> + [KEY_F17] =3D "KEY_F17", >> >> + [KEY_F18] =3D "KEY_F18", >> >> + [KEY_F19] =3D "KEY_F19", >> >> + [KEY_F20] =3D "KEY_F20", >> >> + [KEY_F21] =3D "KEY_F21", >> >> + [KEY_F22] =3D "KEY_F22", >> >> + [KEY_F23] =3D "KEY_F23", >> >> + [KEY_F24] =3D "KEY_F24", >> >> + [KEY_PLAYCD] =3D "KEY_PLAYCD", >> >> + [KEY_PAUSECD] =3D "KEY_PAUSECD", >> >> + [KEY_PROG3] =3D "KEY_PROG3", >> >> + [KEY_PROG4] =3D "KEY_PROG4", >> >> + // [KEY_ALL_APPLICATIONS] =3D "KEY_ALL_APPLICATIONS", >> >> + [KEY_SUSPEND] =3D "KEY_SUSPEND", >> >> + [KEY_CLOSE] =3D "KEY_CLOSE", >> >> + [KEY_PLAY] =3D "KEY_PLAY", >> >> + [KEY_FASTFORWARD] =3D "KEY_FASTFORWARD", >> >> + [KEY_BASSBOOST] =3D "KEY_BASSBOOST", >> >> + [KEY_PRINT] =3D "KEY_PRINT", >> >> + [KEY_HP] =3D "KEY_HP", >> >> + [KEY_CAMERA] =3D "KEY_CAMERA", >> >> + [KEY_SOUND] =3D "KEY_SOUND", >> >> + [KEY_QUESTION] =3D "KEY_QUESTION", >> >> + [KEY_EMAIL] =3D "KEY_EMAIL", >> >> + [KEY_CHAT] =3D "KEY_CHAT", >> >> + [KEY_SEARCH] =3D "KEY_SEARCH", >> >> + [KEY_CONNECT] =3D "KEY_CONNECT", >> >> + [KEY_FINANCE] =3D "KEY_FINANCE", >> >> + [KEY_SPORT] =3D "KEY_SPORT", >> >> + [KEY_SHOP] =3D "KEY_SHOP", >> >> + [KEY_ALTERASE] =3D "KEY_ALTERASE", >> >> + [KEY_CANCEL] =3D "KEY_CANCEL", >> >> + [KEY_BRIGHTNESSDOWN] =3D "KEY_BRIGHTNESSDOWN", >> >> + [KEY_BRIGHTNESSUP] =3D "KEY_BRIGHTNESSUP", >> >> + [KEY_MEDIA] =3D "KEY_MEDIA", >> >> + [KEY_SWITCHVIDEOMODE] =3D "KEY_SWITCHVIDEOMODE", >> >> + [KEY_KBDILLUMTOGGLE] =3D "KEY_KBDILLUMTOGGLE", >> >> + [KEY_KBDILLUMDOWN] =3D "KEY_KBDILLUMDOWN", >> >> + [KEY_KBDILLUMUP] =3D "KEY_KBDILLUMUP", >> >> + [KEY_SEND] =3D "KEY_SEND", >> >> + [KEY_REPLY] =3D "KEY_REPLY", >> >> + [KEY_FORWARDMAIL] =3D "KEY_FORWARDMAIL", >> >> + [KEY_SAVE] =3D "KEY_SAVE", >> >> + [KEY_DOCUMENTS] =3D "KEY_DOCUMENTS", >> >> + [KEY_BATTERY] =3D "KEY_BATTERY", >> >> + [KEY_BLUETOOTH] =3D "KEY_BLUETOOTH", >> >> + [KEY_WLAN] =3D "KEY_WLAN", >> >> + [KEY_UWB] =3D "KEY_UWB", >> >> + [KEY_UNKNOWN] =3D "KEY_UNKNOWN", >> >> + [KEY_VIDEO_NEXT] =3D "KEY_VIDEO_NEXT", >> >> + [KEY_VIDEO_PREV] =3D "KEY_VIDEO_PREV", >> >> + [KEY_BRIGHTNESS_CYCLE] =3D "KEY_BRIGHTNESS_CYCLE", >> >> + [KEY_BRIGHTNESS_AUTO] =3D "KEY_BRIGHTNESS_AUTO", >> >> + [KEY_DISPLAY_OFF] =3D "KEY_DISPLAY_OFF", >> >> + [KEY_WWAN] =3D "KEY_WWAN", >> >> + [KEY_RFKILL] =3D "KEY_RFKILL", >> >> + [KEY_MICMUTE] =3D "KEY_MICMUTE", >> >> + [KEY_OK] =3D "KEY_OK", >> >> + [KEY_SELECT] =3D "KEY_SELECT", >> >> + [KEY_GOTO] =3D "KEY_GOTO", >> >> + [KEY_CLEAR] =3D "KEY_CLEAR", >> >> + [KEY_POWER2] =3D "KEY_POWER2", >> >> + [KEY_OPTION] =3D "KEY_OPTION", >> >> + [KEY_INFO] =3D "KEY_INFO", >> >> + [KEY_TIME] =3D "KEY_TIME", >> >> + [KEY_VENDOR] =3D "KEY_VENDOR", >> >> + [KEY_ARCHIVE] =3D "KEY_ARCHIVE", >> >> + [KEY_PROGRAM] =3D "KEY_PROGRAM", >> >> + [KEY_CHANNEL] =3D "KEY_CHANNEL", >> >> + [KEY_FAVORITES] =3D "KEY_FAVORITES", >> >> + [KEY_EPG] =3D "KEY_EPG", >> >> + [KEY_PVR] =3D "KEY_PVR", >> >> + [KEY_MHP] =3D "KEY_MHP", >> >> + [KEY_LANGUAGE] =3D "KEY_LANGUAGE", >> >> + [KEY_TITLE] =3D "KEY_TITLE", >> >> + [KEY_SUBTITLE] =3D "KEY_SUBTITLE", >> >> + [KEY_ANGLE] =3D "KEY_ANGLE", >> >> + [KEY_FULL_SCREEN] =3D "KEY_FULL_SCREEN", >> >> + [KEY_MODE] =3D "KEY_MODE", >> >> + [KEY_KEYBOARD] =3D "KEY_KEYBOARD", >> >> + [KEY_ASPECT_RATIO] =3D "KEY_ASPECT_RATIO", >> >> + [KEY_PC] =3D "KEY_PC", >> >> + [KEY_TV] =3D "KEY_TV", >> >> + [KEY_TV2] =3D "KEY_TV2", >> >> + [KEY_VCR] =3D "KEY_VCR", >> >> + [KEY_VCR2] =3D "KEY_VCR2", >> >> + [KEY_SAT] =3D "KEY_SAT", >> >> + [KEY_SAT2] =3D "KEY_SAT2", >> >> + [KEY_CD] =3D "KEY_CD", >> >> + [KEY_TAPE] =3D "KEY_TAPE", >> >> + [KEY_RADIO] =3D "KEY_RADIO", >> >> + [KEY_TUNER] =3D "KEY_TUNER", >> >> + [KEY_PLAYER] =3D "KEY_PLAYER", >> >> + [KEY_TEXT] =3D "KEY_TEXT", >> >> + [KEY_DVD] =3D "KEY_DVD", >> >> + [KEY_AUX] =3D "KEY_AUX", >> >> + [KEY_MP3] =3D "KEY_MP3", >> >> + [KEY_AUDIO] =3D "KEY_AUDIO", >> >> + [KEY_VIDEO] =3D "KEY_VIDEO", >> >> + [KEY_DIRECTORY] =3D "KEY_DIRECTORY", >> >> + [KEY_LIST] =3D "KEY_LIST", >> >> + [KEY_MEMO] =3D "KEY_MEMO", >> >> + [KEY_CALENDAR] =3D "KEY_CALENDAR", >> >> + [KEY_RED] =3D "KEY_RED", >> >> + [KEY_GREEN] =3D "KEY_GREEN", >> >> + [KEY_YELLOW] =3D "KEY_YELLOW", >> >> + [KEY_BLUE] =3D "KEY_BLUE", >> >> + [KEY_CHANNELUP] =3D "KEY_CHANNELUP", >> >> + [KEY_CHANNELDOWN] =3D "KEY_CHANNELDOWN", >> >> + [KEY_FIRST] =3D "KEY_FIRST", >> >> + [KEY_LAST] =3D "KEY_LAST", >> >> + [KEY_AB] =3D "KEY_AB", >> >> + [KEY_NEXT] =3D "KEY_NEXT", >> >> + [KEY_RESTART] =3D "KEY_RESTART", >> >> + [KEY_SLOW] =3D "KEY_SLOW", >> >> + [KEY_SHUFFLE] =3D "KEY_SHUFFLE", >> >> + [KEY_BREAK] =3D "KEY_BREAK", >> >> + [KEY_PREVIOUS] =3D "KEY_PREVIOUS", >> >> + [KEY_DIGITS] =3D "KEY_DIGITS", >> >> + [KEY_TEEN] =3D "KEY_TEEN", >> >> + [KEY_TWEN] =3D "KEY_TWEN", >> >> + [KEY_VIDEOPHONE] =3D "KEY_VIDEOPHONE", >> >> + [KEY_GAMES] =3D "KEY_GAMES", >> >> + [KEY_ZOOMIN] =3D "KEY_ZOOMIN", >> >> + [KEY_ZOOMOUT] =3D "KEY_ZOOMOUT", >> >> + [KEY_ZOOMRESET] =3D "KEY_ZOOMRESET", >> >> + [KEY_WORDPROCESSOR] =3D "KEY_WORDPROCESSOR", >> >> + [KEY_EDITOR] =3D "KEY_EDITOR", >> >> + [KEY_SPREADSHEET] =3D "KEY_SPREADSHEET", >> >> + [KEY_GRAPHICSEDITOR] =3D "KEY_GRAPHICSEDITOR", >> >> + [KEY_PRESENTATION] =3D "KEY_PRESENTATION", >> >> + [KEY_DATABASE] =3D "KEY_DATABASE", >> >> + [KEY_NEWS] =3D "KEY_NEWS", >> >> + [KEY_VOICEMAIL] =3D "KEY_VOICEMAIL", >> >> + [KEY_ADDRESSBOOK] =3D "KEY_ADDRESSBOOK", >> >> + [KEY_MESSENGER] =3D "KEY_MESSENGER", >> >> + [KEY_DISPLAYTOGGLE] =3D "KEY_DISPLAYTOGGLE", >> >> + [KEY_SPELLCHECK] =3D "KEY_SPELLCHECK", >> >> + [KEY_LOGOFF] =3D "KEY_LOGOFF", >> >> + [KEY_DOLLAR] =3D "KEY_DOLLAR", >> >> + [KEY_EURO] =3D "KEY_EURO", >> >> + [KEY_FRAMEBACK] =3D "KEY_FRAMEBACK", >> >> + [KEY_FRAMEFORWARD] =3D "KEY_FRAMEFORWARD", >> >> + [KEY_CONTEXT_MENU] =3D "KEY_CONTEXT_MENU", >> >> + [KEY_MEDIA_REPEAT] =3D "KEY_MEDIA_REPEAT", >> >> + [KEY_10CHANNELSUP] =3D "KEY_10CHANNELSUP", >> >> + [KEY_10CHANNELSDOWN] =3D "KEY_10CHANNELSDOWN", >> >> + [KEY_IMAGES] =3D "KEY_IMAGES", >> >> + // [KEY_NOTIFICATION_CENTER] =3D "KEY_NOTIFICATION_CENTER", >> >> + // [KEY_PICKUP_PHONE] =3D "KEY_PICKUP_PHONE", >> >> + // [KEY_HANGUP_PHONE] =3D "KEY_HANGUP_PHONE", >> >> + [KEY_DEL_EOL] =3D "KEY_DEL_EOL", >> >> + [KEY_DEL_EOS] =3D "KEY_DEL_EOS", >> >> + [KEY_INS_LINE] =3D "KEY_INS_LINE", >> >> + [KEY_DEL_LINE] =3D "KEY_DEL_LINE", >> >> + [KEY_FN] =3D "KEY_FN", >> >> + [KEY_FN_ESC] =3D "KEY_FN_ESC", >> >> + [KEY_FN_F1] =3D "KEY_FN_F1", >> >> + [KEY_FN_F2] =3D "KEY_FN_F2", >> >> + [KEY_FN_F3] =3D "KEY_FN_F3", >> >> + [KEY_FN_F4] =3D "KEY_FN_F4", >> >> + [KEY_FN_F5] =3D "KEY_FN_F5", >> >> + [KEY_FN_F6] =3D "KEY_FN_F6", >> >> + [KEY_FN_F7] =3D "KEY_FN_F7", >> >> + [KEY_FN_F8] =3D "KEY_FN_F8", >> >> + [KEY_FN_F9] =3D "KEY_FN_F9", >> >> + [KEY_FN_F10] =3D "KEY_FN_F10", >> >> + [KEY_FN_F11] =3D "KEY_FN_F11", >> >> + [KEY_FN_F12] =3D "KEY_FN_F12", >> >> + [KEY_FN_1] =3D "KEY_FN_1", >> >> + [KEY_FN_2] =3D "KEY_FN_2", >> >> + [KEY_FN_D] =3D "KEY_FN_D", >> >> + [KEY_FN_E] =3D "KEY_FN_E", >> >> + [KEY_FN_F] =3D "KEY_FN_F", >> >> + [KEY_FN_S] =3D "KEY_FN_S", >> >> + [KEY_FN_B] =3D "KEY_FN_B", >> >> + // [KEY_FN_RIGHT_SHIFT] =3D "KEY_FN_RIGHT_SHIFT", >> >> + [KEY_BRL_DOT1] =3D "KEY_BRL_DOT1", >> >> + [KEY_BRL_DOT2] =3D "KEY_BRL_DOT2", >> >> + [KEY_BRL_DOT3] =3D "KEY_BRL_DOT3", >> >> + [KEY_BRL_DOT4] =3D "KEY_BRL_DOT4", >> >> + [KEY_BRL_DOT5] =3D "KEY_BRL_DOT5", >> >> + [KEY_BRL_DOT6] =3D "KEY_BRL_DOT6", >> >> + [KEY_BRL_DOT7] =3D "KEY_BRL_DOT7", >> >> + [KEY_BRL_DOT8] =3D "KEY_BRL_DOT8", >> >> + [KEY_BRL_DOT9] =3D "KEY_BRL_DOT9", >> >> + [KEY_BRL_DOT10] =3D "KEY_BRL_DOT10", >> >> + [KEY_NUMERIC_0] =3D "KEY_NUMERIC_0", >> >> + [KEY_NUMERIC_1] =3D "KEY_NUMERIC_1", >> >> + [KEY_NUMERIC_2] =3D "KEY_NUMERIC_2", >> >> + [KEY_NUMERIC_3] =3D "KEY_NUMERIC_3", >> >> + [KEY_NUMERIC_4] =3D "KEY_NUMERIC_4", >> >> + [KEY_NUMERIC_5] =3D "KEY_NUMERIC_5", >> >> + [KEY_NUMERIC_6] =3D "KEY_NUMERIC_6", >> >> + [KEY_NUMERIC_7] =3D "KEY_NUMERIC_7", >> >> + [KEY_NUMERIC_8] =3D "KEY_NUMERIC_8", >> >> + [KEY_NUMERIC_9] =3D "KEY_NUMERIC_9", >> >> + [KEY_NUMERIC_STAR] =3D "KEY_NUMERIC_STAR", >> >> + [KEY_NUMERIC_POUND] =3D "KEY_NUMERIC_POUND", >> >> + [KEY_NUMERIC_A] =3D "KEY_NUMERIC_A", >> >> + [KEY_NUMERIC_B] =3D "KEY_NUMERIC_B", >> >> + [KEY_NUMERIC_C] =3D "KEY_NUMERIC_C", >> >> + [KEY_NUMERIC_D] =3D "KEY_NUMERIC_D", >> >> + [KEY_CAMERA_FOCUS] =3D "KEY_CAMERA_FOCUS", >> >> + [KEY_WPS_BUTTON] =3D "KEY_WPS_BUTTON", >> >> + [KEY_TOUCHPAD_TOGGLE] =3D "KEY_TOUCHPAD_TOGGLE", >> >> + [KEY_TOUCHPAD_ON] =3D "KEY_TOUCHPAD_ON", >> >> + [KEY_TOUCHPAD_OFF] =3D "KEY_TOUCHPAD_OFF", >> >> + [KEY_CAMERA_ZOOMIN] =3D "KEY_CAMERA_ZOOMIN", >> >> + [KEY_CAMERA_ZOOMOUT] =3D "KEY_CAMERA_ZOOMOUT", >> >> + [KEY_CAMERA_UP] =3D "KEY_CAMERA_UP", >> >> + [KEY_CAMERA_DOWN] =3D "KEY_CAMERA_DOWN", >> >> + [KEY_CAMERA_LEFT] =3D "KEY_CAMERA_LEFT", >> >> + [KEY_CAMERA_RIGHT] =3D "KEY_CAMERA_RIGHT", >> >> + [KEY_ATTENDANT_ON] =3D "KEY_ATTENDANT_ON", >> >> + [KEY_ATTENDANT_OFF] =3D "KEY_ATTENDANT_OFF", >> >> + [KEY_ATTENDANT_TOGGLE] =3D "KEY_ATTENDANT_TOGGLE", >> >> + [KEY_LIGHTS_TOGGLE] =3D "KEY_LIGHTS_TOGGLE", >> >> + [KEY_ALS_TOGGLE] =3D "KEY_ALS_TOGGLE", >> >> + [KEY_ROTATE_LOCK_TOGGLE] =3D "KEY_ROTATE_LOCK_TOGGLE", >> >> + [KEY_BUTTONCONFIG] =3D "KEY_BUTTONCONFIG", >> >> + [KEY_TASKMANAGER] =3D "KEY_TASKMANAGER", >> >> + [KEY_JOURNAL] =3D "KEY_JOURNAL", >> >> + [KEY_CONTROLPANEL] =3D "KEY_CONTROLPANEL", >> >> + [KEY_APPSELECT] =3D "KEY_APPSELECT", >> >> + [KEY_SCREENSAVER] =3D "KEY_SCREENSAVER", >> >> + [KEY_VOICECOMMAND] =3D "KEY_VOICECOMMAND", >> >> + [KEY_ASSISTANT] =3D "KEY_ASSISTANT", >> >> + [KEY_KBD_LAYOUT_NEXT] =3D "KEY_KBD_LAYOUT_NEXT", >> >> + // [KEY_EMOJI_PICKER] =3D "KEY_EMOJI_PICKER", >> >> + //[KEY_DICTATE] =3D "KEY_DICTATE", >> >> + //[KEY_CAMERA_ACCESS_ENABLE] =3D "KEY_CAMERA_ACCESS_ENABLE", >> >> + //[KEY_CAMERA_ACCESS_DISABLE] =3D "KEY_CAMERA_ACCESS_DISABLE", >> >> + //[KEY_CAMERA_ACCESS_TOGGLE] =3D "KEY_CAMERA_ACCESS_TOGGLE", >> >> + [KEY_BRIGHTNESS_MIN] =3D "KEY_BRIGHTNESS_MIN", >> >> + [KEY_BRIGHTNESS_MAX] =3D "KEY_BRIGHTNESS_MAX", >> >> + [KEY_KBDINPUTASSIST_PREV] =3D "KEY_KBDINPUTASSIST_PREV", >> >> + [KEY_KBDINPUTASSIST_NEXT] =3D "KEY_KBDINPUTASSIST_NEXT", >> >> + [KEY_KBDINPUTASSIST_PREVGROUP] =3D "KEY_KBDINPUTASSIST_PREVGROUP= ", >> >> + [KEY_KBDINPUTASSIST_NEXTGROUP] =3D "KEY_KBDINPUTASSIST_NEXTGROUP= ", >> >> + [KEY_KBDINPUTASSIST_ACCEPT] =3D "KEY_KBDINPUTASSIST_ACCEPT", >> >> + [KEY_KBDINPUTASSIST_CANCEL] =3D "KEY_KBDINPUTASSIST_CANCEL", >> >> + [KEY_RIGHT_UP] =3D "KEY_RIGHT_UP", >> >> + [KEY_RIGHT_DOWN] =3D "KEY_RIGHT_DOWN", >> >> + [KEY_LEFT_UP] =3D "KEY_LEFT_UP", >> >> + [KEY_LEFT_DOWN] =3D "KEY_LEFT_DOWN", >> >> + [KEY_ROOT_MENU] =3D "KEY_ROOT_MENU", >> >> + [KEY_MEDIA_TOP_MENU] =3D "KEY_MEDIA_TOP_MENU", >> >> + [KEY_NUMERIC_11] =3D "KEY_NUMERIC_11", >> >> + [KEY_NUMERIC_12] =3D "KEY_NUMERIC_12", >> >> + [KEY_AUDIO_DESC] =3D "KEY_AUDIO_DESC", >> >> + [KEY_3D_MODE] =3D "KEY_3D_MODE", >> >> + [KEY_NEXT_FAVORITE] =3D "KEY_NEXT_FAVORITE", >> >> + [KEY_STOP_RECORD] =3D "KEY_STOP_RECORD", >> >> + [KEY_PAUSE_RECORD] =3D "KEY_PAUSE_RECORD", >> >> + [KEY_VOD] =3D "KEY_VOD", >> >> + [KEY_UNMUTE] =3D "KEY_UNMUTE", >> >> + [KEY_FASTREVERSE] =3D "KEY_FASTREVERSE", >> >> + [KEY_SLOWREVERSE] =3D "KEY_SLOWREVERSE", >> >> + [KEY_DATA] =3D "KEY_DATA", >> >> + [KEY_ONSCREEN_KEYBOARD] =3D "KEY_ONSCREEN_KEYBOARD", >> >> + [KEY_PRIVACY_SCREEN_TOGGLE] =3D "KEY_PRIVACY_SCREEN_TOGGLE", >> >> + [KEY_SELECTIVE_SCREENSHOT] =3D "KEY_SELECTIVE_SCREENSHOT", >> >> + // [KEY_NEXT_ELEMENT] =3D "KEY_NEXT_ELEMENT", >> >> + // [KEY_PREVIOUS_ELEMENT] =3D "KEY_PREVIOUS_ELEMENT", >> >> + // [KEY_AUTOPILOT_ENGAGE_TOGGLE] =3D "KEY_AUTOPILOT_ENGAGE_TOGGL= E", >> >> + // [KEY_MARK_WAYPOINT] =3D "KEY_MARK_WAYPOINT", >> >> + // [KEY_SOS] =3D "KEY_SOS", >> >> + // [KEY_NAV_CHART] =3D "KEY_NAV_CHART", >> >> + // [KEY_FISHING_CHART] =3D "KEY_FISHING_CHART", >> >> + // [KEY_SINGLE_RANGE_RADAR] =3D "KEY_SINGLE_RANGE_RADAR", >> >> + // [KEY_DUAL_RANGE_RADAR] =3D "KEY_DUAL_RANGE_RADAR", >> >> + // [KEY_RADAR_OVERLAY] =3D "KEY_RADAR_OVERLAY", >> >> + // [KEY_TRADITIONAL_SONAR] =3D "KEY_TRADITIONAL_SONAR", >> >> + // [KEY_CLEARVU_SONAR] =3D "KEY_CLEARVU_SONAR", >> >> + // [KEY_SIDEVU_SONAR] =3D "KEY_SIDEVU_SONAR", >> >> + // [KEY_NAV_INFO] =3D "KEY_NAV_INFO", >> >> + // [KEY_BRIGHTNESS_MENU] =3D "KEY_BRIGHTNESS_MENU", >> >> + [KEY_MACRO1] =3D "KEY_MACRO1", >> >> + [KEY_MACRO2] =3D "KEY_MACRO2", >> >> + [KEY_MACRO3] =3D "KEY_MACRO3", >> >> + [KEY_MACRO4] =3D "KEY_MACRO4", >> >> + [KEY_MACRO5] =3D "KEY_MACRO5", >> >> + [KEY_MACRO6] =3D "KEY_MACRO6", >> >> + [KEY_MACRO7] =3D "KEY_MACRO7", >> >> + [KEY_MACRO8] =3D "KEY_MACRO8", >> >> + [KEY_MACRO9] =3D "KEY_MACRO9", >> >> + [KEY_MACRO10] =3D "KEY_MACRO10", >> >> + [KEY_MACRO11] =3D "KEY_MACRO11", >> >> + [KEY_MACRO12] =3D "KEY_MACRO12", >> >> + [KEY_MACRO13] =3D "KEY_MACRO13", >> >> + [KEY_MACRO14] =3D "KEY_MACRO14", >> >> + [KEY_MACRO15] =3D "KEY_MACRO15", >> >> + [KEY_MACRO16] =3D "KEY_MACRO16", >> >> + [KEY_MACRO17] =3D "KEY_MACRO17", >> >> + [KEY_MACRO18] =3D "KEY_MACRO18", >> >> + [KEY_MACRO19] =3D "KEY_MACRO19", >> >> + [KEY_MACRO20] =3D "KEY_MACRO20", >> >> + [KEY_MACRO21] =3D "KEY_MACRO21", >> >> + [KEY_MACRO22] =3D "KEY_MACRO22", >> >> + [KEY_MACRO23] =3D "KEY_MACRO23", >> >> + [KEY_MACRO24] =3D "KEY_MACRO24", >> >> + [KEY_MACRO25] =3D "KEY_MACRO25", >> >> + [KEY_MACRO26] =3D "KEY_MACRO26", >> >> + [KEY_MACRO27] =3D "KEY_MACRO27", >> >> + [KEY_MACRO28] =3D "KEY_MACRO28", >> >> + [KEY_MACRO29] =3D "KEY_MACRO29", >> >> + [KEY_MACRO30] =3D "KEY_MACRO30", >> >> + [KEY_MACRO_RECORD_START] =3D "KEY_MACRO_RECORD_START", >> >> + [KEY_MACRO_RECORD_STOP] =3D "KEY_MACRO_RECORD_STOP", >> >> + [KEY_MACRO_PRESET_CYCLE] =3D "KEY_MACRO_PRESET_CYCLE", >> >> + [KEY_MACRO_PRESET1] =3D "KEY_MACRO_PRESET1", >> >> + [KEY_MACRO_PRESET2] =3D "KEY_MACRO_PRESET2", >> >> + [KEY_MACRO_PRESET3] =3D "KEY_MACRO_PRESET3", >> >> + [KEY_KBD_LCD_MENU1] =3D "KEY_KBD_LCD_MENU1", >> >> + [KEY_KBD_LCD_MENU2] =3D "KEY_KBD_LCD_MENU2", >> >> + [KEY_KBD_LCD_MENU3] =3D "KEY_KBD_LCD_MENU3", >> >> + [KEY_KBD_LCD_MENU4] =3D "KEY_KBD_LCD_MENU4", >> >> + [KEY_KBD_LCD_MENU5] =3D "KEY_KBD_LCD_MENU5", >> >> + [KEY_MAX] =3D "KEY_MAX", >> >> + [BTN_0] =3D "BTN_0", >> >> + [BTN_1] =3D "BTN_1", >> >> + [BTN_2] =3D "BTN_2", >> >> + [BTN_3] =3D "BTN_3", >> >> + [BTN_4] =3D "BTN_4", >> >> + [BTN_5] =3D "BTN_5", >> >> + [BTN_6] =3D "BTN_6", >> >> + [BTN_7] =3D "BTN_7", >> >> + [BTN_8] =3D "BTN_8", >> >> + [BTN_9] =3D "BTN_9", >> >> + [BTN_LEFT] =3D "BTN_LEFT", >> >> + [BTN_RIGHT] =3D "BTN_RIGHT", >> >> + [BTN_MIDDLE] =3D "BTN_MIDDLE", >> >> + [BTN_SIDE] =3D "BTN_SIDE", >> >> + [BTN_EXTRA] =3D "BTN_EXTRA", >> >> + [BTN_FORWARD] =3D "BTN_FORWARD", >> >> + [BTN_BACK] =3D "BTN_BACK", >> >> + [BTN_TASK] =3D "BTN_TASK", >> >> + [BTN_TRIGGER] =3D "BTN_TRIGGER", >> >> + [BTN_THUMB] =3D "BTN_THUMB", >> >> + [BTN_THUMB2] =3D "BTN_THUMB2", >> >> + [BTN_TOP] =3D "BTN_TOP", >> >> + [BTN_TOP2] =3D "BTN_TOP2", >> >> + [BTN_PINKIE] =3D "BTN_PINKIE", >> >> + [BTN_BASE] =3D "BTN_BASE", >> >> + [BTN_BASE2] =3D "BTN_BASE2", >> >> + [BTN_BASE3] =3D "BTN_BASE3", >> >> + [BTN_BASE4] =3D "BTN_BASE4", >> >> + [BTN_BASE5] =3D "BTN_BASE5", >> >> + [BTN_BASE6] =3D "BTN_BASE6", >> >> + [BTN_DEAD] =3D "BTN_DEAD", >> >> + [BTN_SOUTH] =3D "BTN_SOUTH", >> >> + [BTN_EAST] =3D "BTN_EAST", >> >> + [BTN_C] =3D "BTN_C", >> >> + [BTN_NORTH] =3D "BTN_NORTH", >> >> + [BTN_WEST] =3D "BTN_WEST", >> >> + [BTN_Z] =3D "BTN_Z", >> >> + [BTN_TL] =3D "BTN_TL", >> >> + [BTN_TR] =3D "BTN_TR", >> >> + [BTN_TL2] =3D "BTN_TL2", >> >> + [BTN_TR2] =3D "BTN_TR2", >> >> + [BTN_SELECT] =3D "BTN_SELECT", >> >> + [BTN_START] =3D "BTN_START", >> >> + [BTN_MODE] =3D "BTN_MODE", >> >> + [BTN_THUMBL] =3D "BTN_THUMBL", >> >> + [BTN_THUMBR] =3D "BTN_THUMBR", >> >> + [BTN_TOOL_PEN] =3D "BTN_TOOL_PEN", >> >> + [BTN_TOOL_RUBBER] =3D "BTN_TOOL_RUBBER", >> >> + [BTN_TOOL_BRUSH] =3D "BTN_TOOL_BRUSH", >> >> + [BTN_TOOL_PENCIL] =3D "BTN_TOOL_PENCIL", >> >> + [BTN_TOOL_AIRBRUSH] =3D "BTN_TOOL_AIRBRUSH", >> >> + [BTN_TOOL_FINGER] =3D "BTN_TOOL_FINGER", >> >> + [BTN_TOOL_MOUSE] =3D "BTN_TOOL_MOUSE", >> >> + [BTN_TOOL_LENS] =3D "BTN_TOOL_LENS", >> >> + [BTN_TOOL_QUINTTAP] =3D "BTN_TOOL_QUINTTAP", >> >> + [BTN_STYLUS3] =3D "BTN_STYLUS3", >> >> + [BTN_TOUCH] =3D "BTN_TOUCH", >> >> + [BTN_STYLUS] =3D "BTN_STYLUS", >> >> + [BTN_STYLUS2] =3D "BTN_STYLUS2", >> >> + [BTN_TOOL_DOUBLETAP] =3D "BTN_TOOL_DOUBLETAP", >> >> + [BTN_TOOL_TRIPLETAP] =3D "BTN_TOOL_TRIPLETAP", >> >> + [BTN_TOOL_QUADTAP] =3D "BTN_TOOL_QUADTAP", >> >> + [BTN_GEAR_DOWN] =3D "BTN_GEAR_DOWN", >> >> + [BTN_GEAR_UP] =3D "BTN_GEAR_UP", >> >> + [BTN_DPAD_UP] =3D "BTN_DPAD_UP", >> >> + [BTN_DPAD_DOWN] =3D "BTN_DPAD_DOWN", >> >> + [BTN_DPAD_LEFT] =3D "BTN_DPAD_LEFT", >> >> + [BTN_DPAD_RIGHT] =3D "BTN_DPAD_RIGHT", >> >> + [BTN_TRIGGER_HAPPY1] =3D "BTN_TRIGGER_HAPPY1", >> >> + [BTN_TRIGGER_HAPPY2] =3D "BTN_TRIGGER_HAPPY2", >> >> + [BTN_TRIGGER_HAPPY3] =3D "BTN_TRIGGER_HAPPY3", >> >> + [BTN_TRIGGER_HAPPY4] =3D "BTN_TRIGGER_HAPPY4", >> >> + [BTN_TRIGGER_HAPPY5] =3D "BTN_TRIGGER_HAPPY5", >> >> + [BTN_TRIGGER_HAPPY6] =3D "BTN_TRIGGER_HAPPY6", >> >> + [BTN_TRIGGER_HAPPY7] =3D "BTN_TRIGGER_HAPPY7", >> >> + [BTN_TRIGGER_HAPPY8] =3D "BTN_TRIGGER_HAPPY8", >> >> + [BTN_TRIGGER_HAPPY9] =3D "BTN_TRIGGER_HAPPY9", >> >> + [BTN_TRIGGER_HAPPY10] =3D "BTN_TRIGGER_HAPPY10", >> >> + [BTN_TRIGGER_HAPPY11] =3D "BTN_TRIGGER_HAPPY11", >> >> + [BTN_TRIGGER_HAPPY12] =3D "BTN_TRIGGER_HAPPY12", >> >> + [BTN_TRIGGER_HAPPY13] =3D "BTN_TRIGGER_HAPPY13", >> >> + [BTN_TRIGGER_HAPPY14] =3D "BTN_TRIGGER_HAPPY14", >> >> + [BTN_TRIGGER_HAPPY15] =3D "BTN_TRIGGER_HAPPY15", >> >> + [BTN_TRIGGER_HAPPY16] =3D "BTN_TRIGGER_HAPPY16", >> >> + [BTN_TRIGGER_HAPPY17] =3D "BTN_TRIGGER_HAPPY17", >> >> + [BTN_TRIGGER_HAPPY18] =3D "BTN_TRIGGER_HAPPY18", >> >> + [BTN_TRIGGER_HAPPY19] =3D "BTN_TRIGGER_HAPPY19", >> >> + [BTN_TRIGGER_HAPPY20] =3D "BTN_TRIGGER_HAPPY20", >> >> + [BTN_TRIGGER_HAPPY21] =3D "BTN_TRIGGER_HAPPY21", >> >> + [BTN_TRIGGER_HAPPY22] =3D "BTN_TRIGGER_HAPPY22", >> >> + [BTN_TRIGGER_HAPPY23] =3D "BTN_TRIGGER_HAPPY23", >> >> + [BTN_TRIGGER_HAPPY24] =3D "BTN_TRIGGER_HAPPY24", >> >> + [BTN_TRIGGER_HAPPY25] =3D "BTN_TRIGGER_HAPPY25", >> >> + [BTN_TRIGGER_HAPPY26] =3D "BTN_TRIGGER_HAPPY26", >> >> + [BTN_TRIGGER_HAPPY27] =3D "BTN_TRIGGER_HAPPY27", >> >> + [BTN_TRIGGER_HAPPY28] =3D "BTN_TRIGGER_HAPPY28", >> >> + [BTN_TRIGGER_HAPPY29] =3D "BTN_TRIGGER_HAPPY29", >> >> + [BTN_TRIGGER_HAPPY30] =3D "BTN_TRIGGER_HAPPY30", >> >> + [BTN_TRIGGER_HAPPY31] =3D "BTN_TRIGGER_HAPPY31", >> >> + [BTN_TRIGGER_HAPPY32] =3D "BTN_TRIGGER_HAPPY32", >> >> + [BTN_TRIGGER_HAPPY33] =3D "BTN_TRIGGER_HAPPY33", >> >> + [BTN_TRIGGER_HAPPY34] =3D "BTN_TRIGGER_HAPPY34", >> >> + [BTN_TRIGGER_HAPPY35] =3D "BTN_TRIGGER_HAPPY35", >> >> + [BTN_TRIGGER_HAPPY36] =3D "BTN_TRIGGER_HAPPY36", >> >> + [BTN_TRIGGER_HAPPY37] =3D "BTN_TRIGGER_HAPPY37", >> >> + [BTN_TRIGGER_HAPPY38] =3D "BTN_TRIGGER_HAPPY38", >> >> + [BTN_TRIGGER_HAPPY39] =3D "BTN_TRIGGER_HAPPY39", >> >> + [BTN_TRIGGER_HAPPY40] =3D "BTN_TRIGGER_HAPPY40", >> >> +}; >> >> + >> >> +static const char * const led_map[LED_MAX + 1] =3D { >> >> + [LED_NUML] =3D "LED_NUML", >> >> + [LED_CAPSL] =3D "LED_CAPSL", >> >> *** 11201 LINES SKIPPED *** >> >> >> > >> > make buildworld fails to build due to this error: >> > >> > [...] >> > c++ -target x86_64-unknown-freebsd16.0 >> --sysroot=3D/usr/obj/usr/src/amd64.amd64/tmp >> > -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -fpie -O2 -pipe -fno-commo= n >> -march=3Dnative -I. >> > -I/usr/src/sbin/devd -fPIE -DNDEBUG -MD -MF.depend.devd.pieo >> -MTdevd.pieo >> > -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Wal= l >> -Wno-format-y2k -W >> > -Wno-unused-parameter -Wpointer-arith -Wreturn-type -Wcast-qual >> -Wwrite-strings -Wswitch >> > -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wdate-time >> > -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body >> -Wno-string-plus-int >> > -Wno-unused-const-variable -Wno-error=3Dunused-but-set-parameter >> > -Wno-error=3Dcast-function-type-mismatch >> -Wno-missing-variable-declarations -Qunused-arguments >> > -march=3Dnative -fPIE -std=3Dgnu++17 -c /usr/src/sbin/devd/de= vd.cc >> -o devd.pieo >> > /usr/src/sbin/devd/devd.cc:1228:2: error: "Remove this gross hack" 122= 8 >> | #error "Remove this >> > gross hack" | ^ 1 error generated. *** Error code 1 >> >> Unrelated. This is because __FreeBSD_version was bumped now 15 >> branched, and this was left in to scream at people to do something for >> FreeBSD 16. I guess that worked, though a bit of an unfortunate way to >> start the 16 cycle :) >> > > Works as designed. > [Creating objdir /usr/home/imp/obj/usr/home/imp/git/head/amd64.amd64/usr.sbin/moused/moused.= ..] mkdir: /usr/home/imp/obj/usr/home/imp/git/head/amd64.amd64/usr.sbin/moused/moused: File exists [Creating objdir /usr/home/imp/obj/usr/home/imp/git/head/amd64.amd64/usr.sbin/moused/msconvd= ...] make[5]: /usr/home/imp/git/head/share/mk/auto.obj.mk:74: could not use /usr/home/imp/obj/usr/home/imp/git/head/amd64.amd64/usr.sbin/moused/moused: .OBJDIR=3D/usr/home/imp/git/head/usr.sbin/moused/moused in /usr/home/imp/git/head/share/mk/sys.mk:105 in make[5] in directory "/usr/home/imp/git/head/usr.sbin/moused/moused" make[5]: stopped making "includes" in /usr/home/imp/git/head/usr.sbin/moused/moused make[4]: stopped making "includes" in /usr/home/imp/git/head/usr.sbin/mouse= d Is the error I got, though... Because we went from building usr.sbin/moused/moused to that being a directory and make won't overwrite a file with a directory. Warner --000000000000943e38063e06dd6e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Thu, Sep 4, = 2025 at 10:37=E2=80=AFPM Warner Losh <= imp@bsdimp.com> wrote:


On Thu, Sep 4, 2025 at = 10:17=E2=80=AFPM Jessica Clarke <jrtc27@freebsd.org> wrote:
On 5 Sep 2025, at 05:13, A FreeBSD User = <freebsd@wal= statt-de.de> wrote:

> Am Tage des Herren Thu, 4 Sep 2025 21:08:06 GMT
> Vladimir Kondratyev <wulf@FreeBSD.org> schrieb:
>
>> The branch main has been updated by wulf:
>>
>> URL: http= s://cgit.FreeBSD.org/src/commit/?id=3Daef807876c305587c60f73e2cd914115d22a5= 3fd
>>
>> commit aef807876c305587c60f73e2cd914115d22a53fd
>> Author:=C2=A0 =C2=A0 =C2=A0Vladimir Kondratyev <wulf@FreeBSD.or= g>
>> AuthorDate: 2025-09-04 21:07:25 +0000
>> Commit:=C2=A0 =C2=A0 =C2=A0Vladimir Kondratyev <wulf@FreeBSD.or= g>
>> CommitDate: 2025-09-04 21:07:25 +0000
>>
>>=C2=A0 =C2=A0 moused(8): Add support for evdev protocol
>>
>>=C2=A0 =C2=A0 The new daemon have following properties as compared = with previous
>>=C2=A0 =C2=A0 incarnation:
>>=C2=A0 =C2=A0 - evdev protocol support for mices and touchpads. Add= itionally to
>>=C2=A0 =C2=A0 =C2=A0 relative PS/2 and USB devices it enables conso= le support for I2C/USB
>>=C2=A0 =C2=A0 =C2=A0 touchpads and bluetooth mices.
>>=C2=A0 =C2=A0 - Other aged protocols like COM, raw PS/2 and X10 are= dropped with only
>>=C2=A0 =C2=A0 =C2=A0 exception of sysmouse. For those who still use= them there is an
>>=C2=A0 =C2=A0 =C2=A0 utility called msconvd(8).
>>=C2=A0 =C2=A0 - single daemon per system where hotplug is processed= via devd socket.
>>=C2=A0 =C2=A0 =C2=A0 Per device mode still supported too.
>>=C2=A0 =C2=A0 - Configuration and quirks files in libinput-compatib= le format.
>>=C2=A0 =C2=A0 =C2=A0 Actually, the new moused config parser is take= n from libinput.
>>
>>=C2=A0 =C2=A0 The moused(8) can work in 2 modes:
>>=C2=A0 =C2=A0 1. Evdev support mode. It enables all previously ment= ioned devices.
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0It is enabled by deault.
>>=C2=A0 =C2=A0 2. Sysmouse support mode. All should work as before.<= br> >>=C2=A0 =C2=A0 =C2=A0 =C2=A0No new devices supported. To enable it a= dd following lines to
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0/etc/rc.conf:
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 moused_port=3D"/dev/psm0&qu= ot;
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 moused_nondefault_enable=3D"= ;YES"
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0One may add hw.usb.usbhid.enable=3D0 to = /boot/loader.conf to enable
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0ums(4) driver which supports sysmouse pr= otocol.
>>
>>=C2=A0 =C2=A0 Differential Revision:=C2=A0 https://reviews= .freebsd.org/D52164
>> ---
>> libexec/rc/rc.conf=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|=C2= =A0 =C2=A0 8 +-
>> libexec/rc/rc.d/Makefile=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 1 + >> libexec/rc/rc.d/msconvd=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=A061 +<= br> >> tools/build/mk/OptionalObsoleteFiles.inc=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 7 +
>> usr.sbin/moused/Makefile=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=A012 +-<= br> >> usr.sbin/moused/Makefile.depend=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A017 -
>> usr.sbin/moused/moused/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A028 +
>> usr.sbin/moused/moused/event-names.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0| 1656 ++++++++++
>> usr.sbin/moused/moused/moused.8=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 538 ++++
>> usr.sbin/moused/moused/moused.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 3205 ++++++++++++++++++++
>> usr.sbin/moused/moused/moused.conf=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A043 +
>> usr.sbin/moused/moused/moused.conf.5=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 422 +++
>> usr.sbin/moused/moused/quirks.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 2033 +++++++++++++
>> usr.sbin/moused/moused/quirks.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 369 +++
>> .../moused/moused/quirks/5-generic-touchpad.quirks |=C2=A0 =C2=A0 = 9 +
>> usr.sbin/moused/moused/util-evdev.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 173 ++
>> usr.sbin/moused/moused/util-evdev.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 =C2=A035 +
>> usr.sbin/moused/moused/util-list.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A086 +
>> usr.sbin/moused/moused/util-list.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 194 ++
>> usr.sbin/moused/moused/util.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 423 +++
>> usr.sbin/moused/moused/util.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 413 +++
>> usr.sbin/moused/msconvd/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 8 +
>> usr.sbin/moused/{moused.8 =3D> msconvd/msconvd.8}=C2=A0 =C2=A0 = |=C2=A0 395 +--
>> usr.sbin/moused/{moused.c =3D> msconvd/msconvd.c}=C2=A0 =C2=A0 = | 1212 ++------
>> 24 files changed, 10008 insertions(+), 1340 deletions(-)
>>
>> diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf
>> index bfa46bd343a6..0ef3012892dd 100644
>> --- a/libexec/rc/rc.conf
>> +++ b/libexec/rc/rc.conf
>> @@ -586,15 +586,19 @@ font8x14=3D"NO" # font 8x14 from >> /usr/share/{syscons,vt}/fonts/* (or NO). font8x8=3D"NO" = # font 8x8 from
>> /usr/share/{syscons,vt}/fonts/* (or NO). blanktime=3D"300&quo= t; # blank time (in
>> seconds) or "NO" to turn it off. saver=3D"NO" = # screen saver: Uses
>> /boot/kernel/${saver}_saver.ko -moused_nondefault_enable=3D"Y= ES" # Treat non-default mice as
>> enabled unless +moused_nondefault_enable=3D"NO" # Treat = non-default mice as enabled unless
>>=C2=A0 =C2=A0 =C2=A0 =C2=A0# specifically overridden in rc.conf(5).=
>> moused_enable=3D"NO" # Run the mouse daemon.
>> moused_type=3D"auto" # See man page for rc.conf(5) for a= vailable settings.
>> -moused_port=3D"/dev/psm0" # Set to your mouse port.
>> +moused_port=3D"auto" # Set to your mouse port.
>> moused_flags=3D"" # Any additional flags to moused.
>> mousechar_start=3D"NO" # if 0xd0-0xd3 default range is o= ccupied in your
>> # language code table, specify alternative range
>> # start like mousechar_start=3D3, see vidcontrol(1)
>> +msconvd_enable=3D"NO" # Run the mouse protocol conversi= on daemon.
>> +msconvd_type=3D"auto" # See rc.conf(5) man page for ava= ilable moused_type-s.
>> +msconvd_ports=3D"" # List of msconvd ports.
>> +msconvd_flags=3D"" # Any additional flags to msconvd. >> allscreens_flags=3D"" # Set this vidcontrol mode for all= virtual screens
>> allscreens_kbdflags=3D"" # Set this kbdcontrol mode for = all virtual screens
>>
>> diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile >> index 7c1f50b027a9..e5ee34e62185 100644
>> --- a/libexec/rc/rc.d/Makefile
>> +++ b/libexec/rc/rc.d/Makefile
>> @@ -273,6 +273,7 @@ JAILPACKAGE=3D jail
>> .if ${MK_LEGACY_CONSOLE} !=3D "no"
>> CONFGROUPS+=3D CONSOLE
>> CONSOLE+=3D moused
>> +CONSOLE+=3D msconvd
>> CONSOLE+=3D syscons
>> CONSOLEPACKAGE=3D console-tools
>> .endif
>> diff --git a/libexec/rc/rc.d/msconvd b/libexec/rc/rc.d/msconvd
>> new file mode 100755
>> index 000000000000..c2a96bf2eb68
>> --- /dev/null
>> +++ b/libexec/rc/rc.d/msconvd
>> @@ -0,0 +1,61 @@
>> +#!/bin/sh
>> +#
>> +#
>> +
>> +# PROVIDE: msconvd
>> +# REQUIRE: DAEMON FILESYSTEMS
>> +# KEYWORD: nojail shutdown
>> +
>> +. /etc/rc.subr
>> +
>> +name=3D"msconvd"
>> +desc=3D"Mouse protocol conversion daemon"
>> +command=3D"/usr/sbin/${name}"
>> +start_cmd=3D"msconvd_start"
>> +pidprefix=3D"/var/run/msconvd"
>> +load_rc_config $name
>> +
>> +: ${msconvd_enable=3D"NO"}
>> +: ${msconvd_type=3D"auto"}
>> +
>> +# doesn't make sense to run in a svcj: nojail keyword
>> +# XXX: How does msconvd communiacte with the kernel?
>> +# XXX: Does the kernel prevent this communcation in jails?
>> +msconvd_svcj=3D"NO"
>> +
>> +# Set the pid file and variable name. The second argument, if it = exists, is
>> +# expected to be the mouse device.
>> +#
>> +if [ -n "$2" ]; then
>> + eval msconvd_$2_enable=3D\${msconvd_$2_enable-${msconvd_enable}}=
>> + rcvar=3D"msconvd_$2_enable"
>> + pidfile=3D"${pidprefix}.$2.pid"
>> +else
>> + for ms in ${msconvd_ports}; do
>> + /etc/rc.d/msconvd $1 ${ms}
>> + done
>> + exit 0
>> +fi
>> +
>> +msconvd_start()
>> +{
>> + local ms myflags myport mytype
>> +
>> + # Set the mouse device and get any related variables. If
>> + # a msconvd device has been specified on the commandline, then >> + # rc.conf(5) variables defined for that device take precedence >> + # over the generic msconvd_* variables. The only exception is >> + # the msconvd_port variable, which if not defined sets it to
>> + # the passed in device name.
>> + #
>> + ms=3D$1
>> + eval myflags=3D\${msconvd_${ms}_flags-$msconvd_flags}
>> + eval myport=3D\${msconvd_${ms}_port-/dev/${ms}}
>> + eval mytype=3D\${msconvd_${ms}_type-$msconvd_type}
>> +
>> + startmsg -n "Starting ${ms} ${name}"
>> + ${command} ${myflags} -p ${myport} -t ${mytype} -I ${pidfile} >> + startmsg '.'
>> +}
>> +
>> +run_rc_command $*
>> diff --git a/tools/build/mk/OptionalObsoleteFiles.inc
>> b/tools/build/mk/OptionalObsoleteFiles.inc index 5eea402c4526..a2f= b28f1a186 100644
>> --- a/tools/build/mk/OptionalObsoleteFiles.inc
>> +++ b/tools/build/mk/OptionalObsoleteFiles.inc
>> @@ -3793,11 +3793,14 @@ OLD_FILES+=3Dusr/share/man/man1/host.1.gz<= br> >> .endif
>>
>> .if ${MK_LEGACY_CONSOLE} =3D=3D no
>> +OLD_FILES+=3Detc/moused.conf
>> OLD_FILES+=3Detc/rc.d/moused
>> +OLD_FILES+=3Detc/rc.d/msconvd
>> OLD_FILES+=3Detc/rc.d/syscons
>> OLD_FILES+=3Dusr/sbin/kbdcontrol
>> OLD_FILES+=3Dusr/sbin/kbdmap
>> OLD_FILES+=3Dusr/sbin/moused
>> +OLD_FILES+=3Dusr/sbin/msconvd
>> OLD_FILES+=3Dusr/sbin/vidcontrol
>> OLD_FILES+=3Dusr/sbin/vidfont
>> OLD_FILES+=3Dusr/share/man/man1/kbdcontrol.1.gz
>> @@ -3806,7 +3809,11 @@ OLD_FILES+=3Dusr/share/man/man1/vidcontrol.= 1.gz
>> OLD_FILES+=3Dusr/share/man/man1/vidfont.1.gz
>> OLD_FILES+=3Dusr/share/man/man5/kbdmap.5.gz
>> OLD_FILES+=3Dusr/share/man/man5/keymap.5.gz
>> +OLD_FILES+=3Dusr/share/man/man5/moused.conf.5.gz
>> OLD_FILES+=3Dusr/share/man/man8/moused.8.gz
>> +OLD_FILES+=3Dusr/share/man/man8/msconvd.8.gz
>> +OLD_FILES+=3Dusr/share/moused/5-generic-touchpad.quirks
>> +OLD_DIRS+=3Dusr/share/moused
>> .endif
>>
>> .for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats}
>> diff --git a/usr.sbin/moused/Makefile b/usr.sbin/moused/Makefile >> index 2a7aa0484542..b6319b6fef20 100644
>> --- a/usr.sbin/moused/Makefile
>> +++ b/usr.sbin/moused/Makefile
>> @@ -1,10 +1,4 @@
>> -PACKAGE=3D console-tools
>> -PROG=3D moused
>> -MAN=3D moused.8
>> +SUBDIR+=3Dmoused
>> +SUBDIR+=3Dmsconvd
>>
>> -LIBADD=3D m util
>> -
>> -#BINMODE=3D4555
>> -#PRECIOUSPROG=3D
>> -
>> -.include <bsd.prog.mk>
>> +.include <bsd.subdir.mk>
>> diff --git a/usr.sbin/moused/Makefile.depend b/usr.sbin/moused/Mak= efile.depend
>> deleted file mode 100644
>> index af3b7054df7a..000000000000
>> --- a/usr.sbin/moused/Makefile.depend
>> +++ /dev/null
>> @@ -1,17 +0,0 @@
>> -# Autogenerated - do NOT edit!
>> -
>> -DIRDEPS =3D \
>> - include \
>> - include/xlocale \
>> - lib/${CSU_DIR} \
>> - lib/libc \
>> - lib/libcompiler_rt \
>> - lib/libutil \
>> - lib/msun \
>> -
>> -
>> -.include <dirdeps.mk>
>> -
>> -.if ${DEP_RELDIR} =3D=3D ${_DEP_RELDIR}
>> -# local dependencies - needed for -jN in clean tree
>> -.endif
>> diff --git a/usr.sbin/moused/moused/Makefile b/usr.sbin/moused/mou= sed/Makefile
>> new file mode 100644
>> index 000000000000..8479764b710b
>> --- /dev/null
>> +++ b/usr.sbin/moused/moused/Makefile
>> @@ -0,0 +1,28 @@
>> +PACKAGE=3D console-tools
>> +PROG=3D moused
>> +
>> +SRCS=3D moused.c \
>> + event-names.h \
>> + quirks.c \
>> + quirks.h \
>> + util.c \
>> + util.h \
>> + util-evdev.c \
>> + util-evdev.h \
>> + util-list.c \
>> + util-list.h
>> +MAN=3D moused.8 \
>> + moused.conf.5
>> +CONFS=3D moused.conf
>> +QUIRKS=3D 5-generic-touchpad.quirks
>> +
>> +CWARNFLAGS.quirks.c+=3D -Wno-cast-align -Wno-shadow -Wno-cast-qua= l \
>> + -Wno-unused-variable -Wno-unused-parameter
>> +CWARNFLAGS.util.c+=3D -Wno-shadow
>> +LIBADD=3D m util
>> +BINDIR=3D /usr/sbin
>> +
>> +FILES=3D ${QUIRKS:S|^|quirks/|}
>> +FILESDIR=3D /usr/share/${PROG}
>> +
>> +.include <bsd.prog.mk>
>> diff --git a/usr.sbin/moused/moused/event-names.h b/usr.sbin/mouse= d/moused/event-names.h
>> new file mode 100644
>> index 000000000000..05093a1d0db3
>> --- /dev/null
>> +++ b/usr.sbin/moused/moused/event-names.h
>> @@ -0,0 +1,1656 @@
>> +/* THIS FILE IS GENERATED, DO NOT EDIT */
>> +
>> +#ifndef EVENT_NAMES_H
>> +#define EVENT_NAMES_H
>> +
>> +static const char * const ev_map[EV_MAX + 1] =3D {
>> +=C2=A0 =C2=A0 [EV_SYN] =3D "EV_SYN",
>> +=C2=A0 =C2=A0 [EV_KEY] =3D "EV_KEY",
>> +=C2=A0 =C2=A0 [EV_REL] =3D "EV_REL",
>> +=C2=A0 =C2=A0 [EV_ABS] =3D "EV_ABS",
>> +=C2=A0 =C2=A0 [EV_MSC] =3D "EV_MSC",
>> +=C2=A0 =C2=A0 [EV_SW] =3D "EV_SW",
>> +=C2=A0 =C2=A0 [EV_LED] =3D "EV_LED",
>> +=C2=A0 =C2=A0 [EV_SND] =3D "EV_SND",
>> +=C2=A0 =C2=A0 [EV_REP] =3D "EV_REP",
>> +=C2=A0 =C2=A0 [EV_FF] =3D "EV_FF",
>> +=C2=A0 =C2=A0 [EV_PWR] =3D "EV_PWR",
>> +=C2=A0 =C2=A0 [EV_FF_STATUS] =3D "EV_FF_STATUS",
>> +=C2=A0 =C2=A0 [EV_MAX] =3D "EV_MAX",
>> +};
>> +
>> +static const char * const rel_map[REL_MAX + 1] =3D {
>> +=C2=A0 =C2=A0 [REL_X] =3D "REL_X",
>> +=C2=A0 =C2=A0 [REL_Y] =3D "REL_Y",
>> +=C2=A0 =C2=A0 [REL_Z] =3D "REL_Z",
>> +=C2=A0 =C2=A0 [REL_RX] =3D "REL_RX",
>> +=C2=A0 =C2=A0 [REL_RY] =3D "REL_RY",
>> +=C2=A0 =C2=A0 [REL_RZ] =3D "REL_RZ",
>> +=C2=A0 =C2=A0 [REL_HWHEEL] =3D "REL_HWHEEL",
>> +=C2=A0 =C2=A0 [REL_DIAL] =3D "REL_DIAL",
>> +=C2=A0 =C2=A0 [REL_WHEEL] =3D "REL_WHEEL",
>> +=C2=A0 =C2=A0 [REL_MISC] =3D "REL_MISC",
>> +=C2=A0 =C2=A0 [REL_RESERVED] =3D "REL_RESERVED",
>> +=C2=A0 =C2=A0 [REL_WHEEL_HI_RES] =3D "REL_WHEEL_HI_RES"= ,
>> +=C2=A0 =C2=A0 [REL_HWHEEL_HI_RES] =3D "REL_HWHEEL_HI_RES&quo= t;,
>> +=C2=A0 =C2=A0 [REL_MAX] =3D "REL_MAX",
>> +};
>> +
>> +static const char * const abs_map[ABS_MAX + 1] =3D {
>> +=C2=A0 =C2=A0 [ABS_X] =3D "ABS_X",
>> +=C2=A0 =C2=A0 [ABS_Y] =3D "ABS_Y",
>> +=C2=A0 =C2=A0 [ABS_Z] =3D "ABS_Z",
>> +=C2=A0 =C2=A0 [ABS_RX] =3D "ABS_RX",
>> +=C2=A0 =C2=A0 [ABS_RY] =3D "ABS_RY",
>> +=C2=A0 =C2=A0 [ABS_RZ] =3D "ABS_RZ",
>> +=C2=A0 =C2=A0 [ABS_THROTTLE] =3D "ABS_THROTTLE",
>> +=C2=A0 =C2=A0 [ABS_RUDDER] =3D "ABS_RUDDER",
>> +=C2=A0 =C2=A0 [ABS_WHEEL] =3D "ABS_WHEEL",
>> +=C2=A0 =C2=A0 [ABS_GAS] =3D "ABS_GAS",
>> +=C2=A0 =C2=A0 [ABS_BRAKE] =3D "ABS_BRAKE",
>> +=C2=A0 =C2=A0 [ABS_HAT0X] =3D "ABS_HAT0X",
>> +=C2=A0 =C2=A0 [ABS_HAT0Y] =3D "ABS_HAT0Y",
>> +=C2=A0 =C2=A0 [ABS_HAT1X] =3D "ABS_HAT1X",
>> +=C2=A0 =C2=A0 [ABS_HAT1Y] =3D "ABS_HAT1Y",
>> +=C2=A0 =C2=A0 [ABS_HAT2X] =3D "ABS_HAT2X",
>> +=C2=A0 =C2=A0 [ABS_HAT2Y] =3D "ABS_HAT2Y",
>> +=C2=A0 =C2=A0 [ABS_HAT3X] =3D "ABS_HAT3X",
>> +=C2=A0 =C2=A0 [ABS_HAT3Y] =3D "ABS_HAT3Y",
>> +=C2=A0 =C2=A0 [ABS_PRESSURE] =3D "ABS_PRESSURE",
>> +=C2=A0 =C2=A0 [ABS_DISTANCE] =3D "ABS_DISTANCE",
>> +=C2=A0 =C2=A0 [ABS_TILT_X] =3D "ABS_TILT_X",
>> +=C2=A0 =C2=A0 [ABS_TILT_Y] =3D "ABS_TILT_Y",
>> +=C2=A0 =C2=A0 [ABS_TOOL_WIDTH] =3D "ABS_TOOL_WIDTH", >> +=C2=A0 =C2=A0 [ABS_VOLUME] =3D "ABS_VOLUME",
>> +=C2=A0 =C2=A0 // [ABS_PROFILE] =3D "ABS_PROFILE",
>> +=C2=A0 =C2=A0 [ABS_MISC] =3D "ABS_MISC",
>> +=C2=A0 =C2=A0 [ABS_RESERVED] =3D "ABS_RESERVED",
>> +=C2=A0 =C2=A0 [ABS_MT_SLOT] =3D "ABS_MT_SLOT",
>> +=C2=A0 =C2=A0 [ABS_MT_TOUCH_MAJOR] =3D "ABS_MT_TOUCH_MAJOR&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_TOUCH_MINOR] =3D "ABS_MT_TOUCH_MINOR&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_WIDTH_MAJOR] =3D "ABS_MT_WIDTH_MAJOR&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_WIDTH_MINOR] =3D "ABS_MT_WIDTH_MINOR&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_ORIENTATION] =3D "ABS_MT_ORIENTATION&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_POSITION_X] =3D "ABS_MT_POSITION_X&quo= t;,
>> +=C2=A0 =C2=A0 [ABS_MT_POSITION_Y] =3D "ABS_MT_POSITION_Y&quo= t;,
>> +=C2=A0 =C2=A0 [ABS_MT_TOOL_TYPE] =3D "ABS_MT_TOOL_TYPE"= ,
>> +=C2=A0 =C2=A0 [ABS_MT_BLOB_ID] =3D "ABS_MT_BLOB_ID", >> +=C2=A0 =C2=A0 [ABS_MT_TRACKING_ID] =3D "ABS_MT_TRACKING_ID&q= uot;,
>> +=C2=A0 =C2=A0 [ABS_MT_PRESSURE] =3D "ABS_MT_PRESSURE",<= br> >> +=C2=A0 =C2=A0 [ABS_MT_DISTANCE] =3D "ABS_MT_DISTANCE",<= br> >> +=C2=A0 =C2=A0 [ABS_MT_TOOL_X] =3D "ABS_MT_TOOL_X",
>> +=C2=A0 =C2=A0 [ABS_MT_TOOL_Y] =3D "ABS_MT_TOOL_Y",
>> +=C2=A0 =C2=A0 [ABS_MAX] =3D "ABS_MAX",
>> +};
>> +
>> +static const char * const key_map[KEY_MAX + 1] =3D {
>> +=C2=A0 =C2=A0 [KEY_RESERVED] =3D "KEY_RESERVED",
>> +=C2=A0 =C2=A0 [KEY_ESC] =3D "KEY_ESC",
>> +=C2=A0 =C2=A0 [KEY_1] =3D "KEY_1",
>> +=C2=A0 =C2=A0 [KEY_2] =3D "KEY_2",
>> +=C2=A0 =C2=A0 [KEY_3] =3D "KEY_3",
>> +=C2=A0 =C2=A0 [KEY_4] =3D "KEY_4",
>> +=C2=A0 =C2=A0 [KEY_5] =3D "KEY_5",
>> +=C2=A0 =C2=A0 [KEY_6] =3D "KEY_6",
>> +=C2=A0 =C2=A0 [KEY_7] =3D "KEY_7",
>> +=C2=A0 =C2=A0 [KEY_8] =3D "KEY_8",
>> +=C2=A0 =C2=A0 [KEY_9] =3D "KEY_9",
>> +=C2=A0 =C2=A0 [KEY_0] =3D "KEY_0",
>> +=C2=A0 =C2=A0 [KEY_MINUS] =3D "KEY_MINUS",
>> +=C2=A0 =C2=A0 [KEY_EQUAL] =3D "KEY_EQUAL",
>> +=C2=A0 =C2=A0 [KEY_BACKSPACE] =3D "KEY_BACKSPACE",
>> +=C2=A0 =C2=A0 [KEY_TAB] =3D "KEY_TAB",
>> +=C2=A0 =C2=A0 [KEY_Q] =3D "KEY_Q",
>> +=C2=A0 =C2=A0 [KEY_W] =3D "KEY_W",
>> +=C2=A0 =C2=A0 [KEY_E] =3D "KEY_E",
>> +=C2=A0 =C2=A0 [KEY_R] =3D "KEY_R",
>> +=C2=A0 =C2=A0 [KEY_T] =3D "KEY_T",
>> +=C2=A0 =C2=A0 [KEY_Y] =3D "KEY_Y",
>> +=C2=A0 =C2=A0 [KEY_U] =3D "KEY_U",
>> +=C2=A0 =C2=A0 [KEY_I] =3D "KEY_I",
>> +=C2=A0 =C2=A0 [KEY_O] =3D "KEY_O",
>> +=C2=A0 =C2=A0 [KEY_P] =3D "KEY_P",
>> +=C2=A0 =C2=A0 [KEY_LEFTBRACE] =3D "KEY_LEFTBRACE",
>> +=C2=A0 =C2=A0 [KEY_RIGHTBRACE] =3D "KEY_RIGHTBRACE", >> +=C2=A0 =C2=A0 [KEY_ENTER] =3D "KEY_ENTER",
>> +=C2=A0 =C2=A0 [KEY_LEFTCTRL] =3D "KEY_LEFTCTRL",
>> +=C2=A0 =C2=A0 [KEY_A] =3D "KEY_A",
>> +=C2=A0 =C2=A0 [KEY_S] =3D "KEY_S",
>> +=C2=A0 =C2=A0 [KEY_D] =3D "KEY_D",
>> +=C2=A0 =C2=A0 [KEY_F] =3D "KEY_F",
>> +=C2=A0 =C2=A0 [KEY_G] =3D "KEY_G",
>> +=C2=A0 =C2=A0 [KEY_H] =3D "KEY_H",
>> +=C2=A0 =C2=A0 [KEY_J] =3D "KEY_J",
>> +=C2=A0 =C2=A0 [KEY_K] =3D "KEY_K",
>> +=C2=A0 =C2=A0 [KEY_L] =3D "KEY_L",
>> +=C2=A0 =C2=A0 [KEY_SEMICOLON] =3D "KEY_SEMICOLON",
>> +=C2=A0 =C2=A0 [KEY_APOSTROPHE] =3D "KEY_APOSTROPHE", >> +=C2=A0 =C2=A0 [KEY_GRAVE] =3D "KEY_GRAVE",
>> +=C2=A0 =C2=A0 [KEY_LEFTSHIFT] =3D "KEY_LEFTSHIFT",
>> +=C2=A0 =C2=A0 [KEY_BACKSLASH] =3D "KEY_BACKSLASH",
>> +=C2=A0 =C2=A0 [KEY_Z] =3D "KEY_Z",
>> +=C2=A0 =C2=A0 [KEY_X] =3D "KEY_X",
>> +=C2=A0 =C2=A0 [KEY_C] =3D "KEY_C",
>> +=C2=A0 =C2=A0 [KEY_V] =3D "KEY_V",
>> +=C2=A0 =C2=A0 [KEY_B] =3D "KEY_B",
>> +=C2=A0 =C2=A0 [KEY_N] =3D "KEY_N",
>> +=C2=A0 =C2=A0 [KEY_M] =3D "KEY_M",
>> +=C2=A0 =C2=A0 [KEY_COMMA] =3D "KEY_COMMA",
>> +=C2=A0 =C2=A0 [KEY_DOT] =3D "KEY_DOT",
>> +=C2=A0 =C2=A0 [KEY_SLASH] =3D "KEY_SLASH",
>> +=C2=A0 =C2=A0 [KEY_RIGHTSHIFT] =3D "KEY_RIGHTSHIFT", >> +=C2=A0 =C2=A0 [KEY_KPASTERISK] =3D "KEY_KPASTERISK", >> +=C2=A0 =C2=A0 [KEY_LEFTALT] =3D "KEY_LEFTALT",
>> +=C2=A0 =C2=A0 [KEY_SPACE] =3D "KEY_SPACE",
>> +=C2=A0 =C2=A0 [KEY_CAPSLOCK] =3D "KEY_CAPSLOCK",
>> +=C2=A0 =C2=A0 [KEY_F1] =3D "KEY_F1",
>> +=C2=A0 =C2=A0 [KEY_F2] =3D "KEY_F2",
>> +=C2=A0 =C2=A0 [KEY_F3] =3D "KEY_F3",
>> +=C2=A0 =C2=A0 [KEY_F4] =3D "KEY_F4",
>> +=C2=A0 =C2=A0 [KEY_F5] =3D "KEY_F5",
>> +=C2=A0 =C2=A0 [KEY_F6] =3D "KEY_F6",
>> +=C2=A0 =C2=A0 [KEY_F7] =3D "KEY_F7",
>> +=C2=A0 =C2=A0 [KEY_F8] =3D "KEY_F8",
>> +=C2=A0 =C2=A0 [KEY_F9] =3D "KEY_F9",
>> +=C2=A0 =C2=A0 [KEY_F10] =3D "KEY_F10",
>> +=C2=A0 =C2=A0 [KEY_NUMLOCK] =3D "KEY_NUMLOCK",
>> +=C2=A0 =C2=A0 [KEY_SCROLLLOCK] =3D "KEY_SCROLLLOCK", >> +=C2=A0 =C2=A0 [KEY_KP7] =3D "KEY_KP7",
>> +=C2=A0 =C2=A0 [KEY_KP8] =3D "KEY_KP8",
>> +=C2=A0 =C2=A0 [KEY_KP9] =3D "KEY_KP9",
>> +=C2=A0 =C2=A0 [KEY_KPMINUS] =3D "KEY_KPMINUS",
>> +=C2=A0 =C2=A0 [KEY_KP4] =3D "KEY_KP4",
>> +=C2=A0 =C2=A0 [KEY_KP5] =3D "KEY_KP5",
>> +=C2=A0 =C2=A0 [KEY_KP6] =3D "KEY_KP6",
>> +=C2=A0 =C2=A0 [KEY_KPPLUS] =3D "KEY_KPPLUS",
>> +=C2=A0 =C2=A0 [KEY_KP1] =3D "KEY_KP1",
>> +=C2=A0 =C2=A0 [KEY_KP2] =3D "KEY_KP2",
>> +=C2=A0 =C2=A0 [KEY_KP3] =3D "KEY_KP3",
>> +=C2=A0 =C2=A0 [KEY_KP0] =3D "KEY_KP0",
>> +=C2=A0 =C2=A0 [KEY_KPDOT] =3D "KEY_KPDOT",
>> +=C2=A0 =C2=A0 [KEY_ZENKAKUHANKAKU] =3D "KEY_ZENKAKUHANKAKU&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_102ND] =3D "KEY_102ND",
>> +=C2=A0 =C2=A0 [KEY_F11] =3D "KEY_F11",
>> +=C2=A0 =C2=A0 [KEY_F12] =3D "KEY_F12",
>> +=C2=A0 =C2=A0 [KEY_RO] =3D "KEY_RO",
>> +=C2=A0 =C2=A0 [KEY_KATAKANA] =3D "KEY_KATAKANA",
>> +=C2=A0 =C2=A0 [KEY_HIRAGANA] =3D "KEY_HIRAGANA",
>> +=C2=A0 =C2=A0 [KEY_HENKAN] =3D "KEY_HENKAN",
>> +=C2=A0 =C2=A0 [KEY_KATAKANAHIRAGANA] =3D "KEY_KATAKANAHIRAGA= NA",
>> +=C2=A0 =C2=A0 [KEY_MUHENKAN] =3D "KEY_MUHENKAN",
>> +=C2=A0 =C2=A0 [KEY_KPJPCOMMA] =3D "KEY_KPJPCOMMA",
>> +=C2=A0 =C2=A0 [KEY_KPENTER] =3D "KEY_KPENTER",
>> +=C2=A0 =C2=A0 [KEY_RIGHTCTRL] =3D "KEY_RIGHTCTRL",
>> +=C2=A0 =C2=A0 [KEY_KPSLASH] =3D "KEY_KPSLASH",
>> +=C2=A0 =C2=A0 [KEY_SYSRQ] =3D "KEY_SYSRQ",
>> +=C2=A0 =C2=A0 [KEY_RIGHTALT] =3D "KEY_RIGHTALT",
>> +=C2=A0 =C2=A0 [KEY_LINEFEED] =3D "KEY_LINEFEED",
>> +=C2=A0 =C2=A0 [KEY_HOME] =3D "KEY_HOME",
>> +=C2=A0 =C2=A0 [KEY_UP] =3D "KEY_UP",
>> +=C2=A0 =C2=A0 [KEY_PAGEUP] =3D "KEY_PAGEUP",
>> +=C2=A0 =C2=A0 [KEY_LEFT] =3D "KEY_LEFT",
>> +=C2=A0 =C2=A0 [KEY_RIGHT] =3D "KEY_RIGHT",
>> +=C2=A0 =C2=A0 [KEY_END] =3D "KEY_END",
>> +=C2=A0 =C2=A0 [KEY_DOWN] =3D "KEY_DOWN",
>> +=C2=A0 =C2=A0 [KEY_PAGEDOWN] =3D "KEY_PAGEDOWN",
>> +=C2=A0 =C2=A0 [KEY_INSERT] =3D "KEY_INSERT",
>> +=C2=A0 =C2=A0 [KEY_DELETE] =3D "KEY_DELETE",
>> +=C2=A0 =C2=A0 [KEY_MACRO] =3D "KEY_MACRO",
>> +=C2=A0 =C2=A0 [KEY_MUTE] =3D "KEY_MUTE",
>> +=C2=A0 =C2=A0 [KEY_VOLUMEDOWN] =3D "KEY_VOLUMEDOWN", >> +=C2=A0 =C2=A0 [KEY_VOLUMEUP] =3D "KEY_VOLUMEUP",
>> +=C2=A0 =C2=A0 [KEY_POWER] =3D "KEY_POWER",
>> +=C2=A0 =C2=A0 [KEY_KPEQUAL] =3D "KEY_KPEQUAL",
>> +=C2=A0 =C2=A0 [KEY_KPPLUSMINUS] =3D "KEY_KPPLUSMINUS",<= br> >> +=C2=A0 =C2=A0 [KEY_PAUSE] =3D "KEY_PAUSE",
>> +=C2=A0 =C2=A0 [KEY_SCALE] =3D "KEY_SCALE",
>> +=C2=A0 =C2=A0 [KEY_KPCOMMA] =3D "KEY_KPCOMMA",
>> +=C2=A0 =C2=A0 [KEY_HANGEUL] =3D "KEY_HANGEUL",
>> +=C2=A0 =C2=A0 [KEY_HANJA] =3D "KEY_HANJA",
>> +=C2=A0 =C2=A0 [KEY_YEN] =3D "KEY_YEN",
>> +=C2=A0 =C2=A0 [KEY_LEFTMETA] =3D "KEY_LEFTMETA",
>> +=C2=A0 =C2=A0 [KEY_RIGHTMETA] =3D "KEY_RIGHTMETA",
>> +=C2=A0 =C2=A0 [KEY_COMPOSE] =3D "KEY_COMPOSE",
>> +=C2=A0 =C2=A0 [KEY_STOP] =3D "KEY_STOP",
>> +=C2=A0 =C2=A0 [KEY_AGAIN] =3D "KEY_AGAIN",
>> +=C2=A0 =C2=A0 [KEY_PROPS] =3D "KEY_PROPS",
>> +=C2=A0 =C2=A0 [KEY_UNDO] =3D "KEY_UNDO",
>> +=C2=A0 =C2=A0 [KEY_FRONT] =3D "KEY_FRONT",
>> +=C2=A0 =C2=A0 [KEY_COPY] =3D "KEY_COPY",
>> +=C2=A0 =C2=A0 [KEY_OPEN] =3D "KEY_OPEN",
>> +=C2=A0 =C2=A0 [KEY_PASTE] =3D "KEY_PASTE",
>> +=C2=A0 =C2=A0 [KEY_FIND] =3D "KEY_FIND",
>> +=C2=A0 =C2=A0 [KEY_CUT] =3D "KEY_CUT",
>> +=C2=A0 =C2=A0 [KEY_HELP] =3D "KEY_HELP",
>> +=C2=A0 =C2=A0 [KEY_MENU] =3D "KEY_MENU",
>> +=C2=A0 =C2=A0 [KEY_CALC] =3D "KEY_CALC",
>> +=C2=A0 =C2=A0 [KEY_SETUP] =3D "KEY_SETUP",
>> +=C2=A0 =C2=A0 [KEY_SLEEP] =3D "KEY_SLEEP",
>> +=C2=A0 =C2=A0 [KEY_WAKEUP] =3D "KEY_WAKEUP",
>> +=C2=A0 =C2=A0 [KEY_FILE] =3D "KEY_FILE",
>> +=C2=A0 =C2=A0 [KEY_SENDFILE] =3D "KEY_SENDFILE",
>> +=C2=A0 =C2=A0 [KEY_DELETEFILE] =3D "KEY_DELETEFILE", >> +=C2=A0 =C2=A0 [KEY_XFER] =3D "KEY_XFER",
>> +=C2=A0 =C2=A0 [KEY_PROG1] =3D "KEY_PROG1",
>> +=C2=A0 =C2=A0 [KEY_PROG2] =3D "KEY_PROG2",
>> +=C2=A0 =C2=A0 [KEY_WWW] =3D "KEY_WWW",
>> +=C2=A0 =C2=A0 [KEY_MSDOS] =3D "KEY_MSDOS",
>> +=C2=A0 =C2=A0 [KEY_COFFEE] =3D "KEY_COFFEE",
>> +=C2=A0 =C2=A0 [KEY_ROTATE_DISPLAY] =3D "KEY_ROTATE_DISPLAY&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_CYCLEWINDOWS] =3D "KEY_CYCLEWINDOWS"= ,
>> +=C2=A0 =C2=A0 [KEY_MAIL] =3D "KEY_MAIL",
>> +=C2=A0 =C2=A0 [KEY_BOOKMARKS] =3D "KEY_BOOKMARKS",
>> +=C2=A0 =C2=A0 [KEY_COMPUTER] =3D "KEY_COMPUTER",
>> +=C2=A0 =C2=A0 [KEY_BACK] =3D "KEY_BACK",
>> +=C2=A0 =C2=A0 [KEY_FORWARD] =3D "KEY_FORWARD",
>> +=C2=A0 =C2=A0 [KEY_CLOSECD] =3D "KEY_CLOSECD",
>> +=C2=A0 =C2=A0 [KEY_EJECTCD] =3D "KEY_EJECTCD",
>> +=C2=A0 =C2=A0 [KEY_EJECTCLOSECD] =3D "KEY_EJECTCLOSECD"= ,
>> +=C2=A0 =C2=A0 [KEY_NEXTSONG] =3D "KEY_NEXTSONG",
>> +=C2=A0 =C2=A0 [KEY_PLAYPAUSE] =3D "KEY_PLAYPAUSE",
>> +=C2=A0 =C2=A0 [KEY_PREVIOUSSONG] =3D "KEY_PREVIOUSSONG"= ,
>> +=C2=A0 =C2=A0 [KEY_STOPCD] =3D "KEY_STOPCD",
>> +=C2=A0 =C2=A0 [KEY_RECORD] =3D "KEY_RECORD",
>> +=C2=A0 =C2=A0 [KEY_REWIND] =3D "KEY_REWIND",
>> +=C2=A0 =C2=A0 [KEY_PHONE] =3D "KEY_PHONE",
>> +=C2=A0 =C2=A0 [KEY_ISO] =3D "KEY_ISO",
>> +=C2=A0 =C2=A0 [KEY_CONFIG] =3D "KEY_CONFIG",
>> +=C2=A0 =C2=A0 [KEY_HOMEPAGE] =3D "KEY_HOMEPAGE",
>> +=C2=A0 =C2=A0 [KEY_REFRESH] =3D "KEY_REFRESH",
>> +=C2=A0 =C2=A0 [KEY_EXIT] =3D "KEY_EXIT",
>> +=C2=A0 =C2=A0 [KEY_MOVE] =3D "KEY_MOVE",
>> +=C2=A0 =C2=A0 [KEY_EDIT] =3D "KEY_EDIT",
>> +=C2=A0 =C2=A0 [KEY_SCROLLUP] =3D "KEY_SCROLLUP",
>> +=C2=A0 =C2=A0 [KEY_SCROLLDOWN] =3D "KEY_SCROLLDOWN", >> +=C2=A0 =C2=A0 [KEY_KPLEFTPAREN] =3D "KEY_KPLEFTPAREN",<= br> >> +=C2=A0 =C2=A0 [KEY_KPRIGHTPAREN] =3D "KEY_KPRIGHTPAREN"= ,
>> +=C2=A0 =C2=A0 [KEY_NEW] =3D "KEY_NEW",
>> +=C2=A0 =C2=A0 [KEY_REDO] =3D "KEY_REDO",
>> +=C2=A0 =C2=A0 [KEY_F13] =3D "KEY_F13",
>> +=C2=A0 =C2=A0 [KEY_F14] =3D "KEY_F14",
>> +=C2=A0 =C2=A0 [KEY_F15] =3D "KEY_F15",
>> +=C2=A0 =C2=A0 [KEY_F16] =3D "KEY_F16",
>> +=C2=A0 =C2=A0 [KEY_F17] =3D "KEY_F17",
>> +=C2=A0 =C2=A0 [KEY_F18] =3D "KEY_F18",
>> +=C2=A0 =C2=A0 [KEY_F19] =3D "KEY_F19",
>> +=C2=A0 =C2=A0 [KEY_F20] =3D "KEY_F20",
>> +=C2=A0 =C2=A0 [KEY_F21] =3D "KEY_F21",
>> +=C2=A0 =C2=A0 [KEY_F22] =3D "KEY_F22",
>> +=C2=A0 =C2=A0 [KEY_F23] =3D "KEY_F23",
>> +=C2=A0 =C2=A0 [KEY_F24] =3D "KEY_F24",
>> +=C2=A0 =C2=A0 [KEY_PLAYCD] =3D "KEY_PLAYCD",
>> +=C2=A0 =C2=A0 [KEY_PAUSECD] =3D "KEY_PAUSECD",
>> +=C2=A0 =C2=A0 [KEY_PROG3] =3D "KEY_PROG3",
>> +=C2=A0 =C2=A0 [KEY_PROG4] =3D "KEY_PROG4",
>> +=C2=A0 =C2=A0 // [KEY_ALL_APPLICATIONS] =3D "KEY_ALL_APPLICA= TIONS",
>> +=C2=A0 =C2=A0 [KEY_SUSPEND] =3D "KEY_SUSPEND",
>> +=C2=A0 =C2=A0 [KEY_CLOSE] =3D "KEY_CLOSE",
>> +=C2=A0 =C2=A0 [KEY_PLAY] =3D "KEY_PLAY",
>> +=C2=A0 =C2=A0 [KEY_FASTFORWARD] =3D "KEY_FASTFORWARD",<= br> >> +=C2=A0 =C2=A0 [KEY_BASSBOOST] =3D "KEY_BASSBOOST",
>> +=C2=A0 =C2=A0 [KEY_PRINT] =3D "KEY_PRINT",
>> +=C2=A0 =C2=A0 [KEY_HP] =3D "KEY_HP",
>> +=C2=A0 =C2=A0 [KEY_CAMERA] =3D "KEY_CAMERA",
>> +=C2=A0 =C2=A0 [KEY_SOUND] =3D "KEY_SOUND",
>> +=C2=A0 =C2=A0 [KEY_QUESTION] =3D "KEY_QUESTION",
>> +=C2=A0 =C2=A0 [KEY_EMAIL] =3D "KEY_EMAIL",
>> +=C2=A0 =C2=A0 [KEY_CHAT] =3D "KEY_CHAT",
>> +=C2=A0 =C2=A0 [KEY_SEARCH] =3D "KEY_SEARCH",
>> +=C2=A0 =C2=A0 [KEY_CONNECT] =3D "KEY_CONNECT",
>> +=C2=A0 =C2=A0 [KEY_FINANCE] =3D "KEY_FINANCE",
>> +=C2=A0 =C2=A0 [KEY_SPORT] =3D "KEY_SPORT",
>> +=C2=A0 =C2=A0 [KEY_SHOP] =3D "KEY_SHOP",
>> +=C2=A0 =C2=A0 [KEY_ALTERASE] =3D "KEY_ALTERASE",
>> +=C2=A0 =C2=A0 [KEY_CANCEL] =3D "KEY_CANCEL",
>> +=C2=A0 =C2=A0 [KEY_BRIGHTNESSDOWN] =3D "KEY_BRIGHTNESSDOWN&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_BRIGHTNESSUP] =3D "KEY_BRIGHTNESSUP"= ,
>> +=C2=A0 =C2=A0 [KEY_MEDIA] =3D "KEY_MEDIA",
>> +=C2=A0 =C2=A0 [KEY_SWITCHVIDEOMODE] =3D "KEY_SWITCHVIDEOMODE= ",
>> +=C2=A0 =C2=A0 [KEY_KBDILLUMTOGGLE] =3D "KEY_KBDILLUMTOGGLE&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_KBDILLUMDOWN] =3D "KEY_KBDILLUMDOWN"= ,
>> +=C2=A0 =C2=A0 [KEY_KBDILLUMUP] =3D "KEY_KBDILLUMUP", >> +=C2=A0 =C2=A0 [KEY_SEND] =3D "KEY_SEND",
>> +=C2=A0 =C2=A0 [KEY_REPLY] =3D "KEY_REPLY",
>> +=C2=A0 =C2=A0 [KEY_FORWARDMAIL] =3D "KEY_FORWARDMAIL",<= br> >> +=C2=A0 =C2=A0 [KEY_SAVE] =3D "KEY_SAVE",
>> +=C2=A0 =C2=A0 [KEY_DOCUMENTS] =3D "KEY_DOCUMENTS",
>> +=C2=A0 =C2=A0 [KEY_BATTERY] =3D "KEY_BATTERY",
>> +=C2=A0 =C2=A0 [KEY_BLUETOOTH] =3D "KEY_BLUETOOTH",
>> +=C2=A0 =C2=A0 [KEY_WLAN] =3D "KEY_WLAN",
>> +=C2=A0 =C2=A0 [KEY_UWB] =3D "KEY_UWB",
>> +=C2=A0 =C2=A0 [KEY_UNKNOWN] =3D "KEY_UNKNOWN",
>> +=C2=A0 =C2=A0 [KEY_VIDEO_NEXT] =3D "KEY_VIDEO_NEXT", >> +=C2=A0 =C2=A0 [KEY_VIDEO_PREV] =3D "KEY_VIDEO_PREV", >> +=C2=A0 =C2=A0 [KEY_BRIGHTNESS_CYCLE] =3D "KEY_BRIGHTNESS_CYC= LE",
>> +=C2=A0 =C2=A0 [KEY_BRIGHTNESS_AUTO] =3D "KEY_BRIGHTNESS_AUTO= ",
>> +=C2=A0 =C2=A0 [KEY_DISPLAY_OFF] =3D "KEY_DISPLAY_OFF",<= br> >> +=C2=A0 =C2=A0 [KEY_WWAN] =3D "KEY_WWAN",
>> +=C2=A0 =C2=A0 [KEY_RFKILL] =3D "KEY_RFKILL",
>> +=C2=A0 =C2=A0 [KEY_MICMUTE] =3D "KEY_MICMUTE",
>> +=C2=A0 =C2=A0 [KEY_OK] =3D "KEY_OK",
>> +=C2=A0 =C2=A0 [KEY_SELECT] =3D "KEY_SELECT",
>> +=C2=A0 =C2=A0 [KEY_GOTO] =3D "KEY_GOTO",
>> +=C2=A0 =C2=A0 [KEY_CLEAR] =3D "KEY_CLEAR",
>> +=C2=A0 =C2=A0 [KEY_POWER2] =3D "KEY_POWER2",
>> +=C2=A0 =C2=A0 [KEY_OPTION] =3D "KEY_OPTION",
>> +=C2=A0 =C2=A0 [KEY_INFO] =3D "KEY_INFO",
>> +=C2=A0 =C2=A0 [KEY_TIME] =3D "KEY_TIME",
>> +=C2=A0 =C2=A0 [KEY_VENDOR] =3D "KEY_VENDOR",
>> +=C2=A0 =C2=A0 [KEY_ARCHIVE] =3D "KEY_ARCHIVE",
>> +=C2=A0 =C2=A0 [KEY_PROGRAM] =3D "KEY_PROGRAM",
>> +=C2=A0 =C2=A0 [KEY_CHANNEL] =3D "KEY_CHANNEL",
>> +=C2=A0 =C2=A0 [KEY_FAVORITES] =3D "KEY_FAVORITES",
>> +=C2=A0 =C2=A0 [KEY_EPG] =3D "KEY_EPG",
>> +=C2=A0 =C2=A0 [KEY_PVR] =3D "KEY_PVR",
>> +=C2=A0 =C2=A0 [KEY_MHP] =3D "KEY_MHP",
>> +=C2=A0 =C2=A0 [KEY_LANGUAGE] =3D "KEY_LANGUAGE",
>> +=C2=A0 =C2=A0 [KEY_TITLE] =3D "KEY_TITLE",
>> +=C2=A0 =C2=A0 [KEY_SUBTITLE] =3D "KEY_SUBTITLE",
>> +=C2=A0 =C2=A0 [KEY_ANGLE] =3D "KEY_ANGLE",
>> +=C2=A0 =C2=A0 [KEY_FULL_SCREEN] =3D "KEY_FULL_SCREEN",<= br> >> +=C2=A0 =C2=A0 [KEY_MODE] =3D "KEY_MODE",
>> +=C2=A0 =C2=A0 [KEY_KEYBOARD] =3D "KEY_KEYBOARD",
>> +=C2=A0 =C2=A0 [KEY_ASPECT_RATIO] =3D "KEY_ASPECT_RATIO"= ,
>> +=C2=A0 =C2=A0 [KEY_PC] =3D "KEY_PC",
>> +=C2=A0 =C2=A0 [KEY_TV] =3D "KEY_TV",
>> +=C2=A0 =C2=A0 [KEY_TV2] =3D "KEY_TV2",
>> +=C2=A0 =C2=A0 [KEY_VCR] =3D "KEY_VCR",
>> +=C2=A0 =C2=A0 [KEY_VCR2] =3D "KEY_VCR2",
>> +=C2=A0 =C2=A0 [KEY_SAT] =3D "KEY_SAT",
>> +=C2=A0 =C2=A0 [KEY_SAT2] =3D "KEY_SAT2",
>> +=C2=A0 =C2=A0 [KEY_CD] =3D "KEY_CD",
>> +=C2=A0 =C2=A0 [KEY_TAPE] =3D "KEY_TAPE",
>> +=C2=A0 =C2=A0 [KEY_RADIO] =3D "KEY_RADIO",
>> +=C2=A0 =C2=A0 [KEY_TUNER] =3D "KEY_TUNER",
>> +=C2=A0 =C2=A0 [KEY_PLAYER] =3D "KEY_PLAYER",
>> +=C2=A0 =C2=A0 [KEY_TEXT] =3D "KEY_TEXT",
>> +=C2=A0 =C2=A0 [KEY_DVD] =3D "KEY_DVD",
>> +=C2=A0 =C2=A0 [KEY_AUX] =3D "KEY_AUX",
>> +=C2=A0 =C2=A0 [KEY_MP3] =3D "KEY_MP3",
>> +=C2=A0 =C2=A0 [KEY_AUDIO] =3D "KEY_AUDIO",
>> +=C2=A0 =C2=A0 [KEY_VIDEO] =3D "KEY_VIDEO",
>> +=C2=A0 =C2=A0 [KEY_DIRECTORY] =3D "KEY_DIRECTORY",
>> +=C2=A0 =C2=A0 [KEY_LIST] =3D "KEY_LIST",
>> +=C2=A0 =C2=A0 [KEY_MEMO] =3D "KEY_MEMO",
>> +=C2=A0 =C2=A0 [KEY_CALENDAR] =3D "KEY_CALENDAR",
>> +=C2=A0 =C2=A0 [KEY_RED] =3D "KEY_RED",
>> +=C2=A0 =C2=A0 [KEY_GREEN] =3D "KEY_GREEN",
>> +=C2=A0 =C2=A0 [KEY_YELLOW] =3D "KEY_YELLOW",
>> +=C2=A0 =C2=A0 [KEY_BLUE] =3D "KEY_BLUE",
>> +=C2=A0 =C2=A0 [KEY_CHANNELUP] =3D "KEY_CHANNELUP",
>> +=C2=A0 =C2=A0 [KEY_CHANNELDOWN] =3D "KEY_CHANNELDOWN",<= br> >> +=C2=A0 =C2=A0 [KEY_FIRST] =3D "KEY_FIRST",
>> +=C2=A0 =C2=A0 [KEY_LAST] =3D "KEY_LAST",
>> +=C2=A0 =C2=A0 [KEY_AB] =3D "KEY_AB",
>> +=C2=A0 =C2=A0 [KEY_NEXT] =3D "KEY_NEXT",
>> +=C2=A0 =C2=A0 [KEY_RESTART] =3D "KEY_RESTART",
>> +=C2=A0 =C2=A0 [KEY_SLOW] =3D "KEY_SLOW",
>> +=C2=A0 =C2=A0 [KEY_SHUFFLE] =3D "KEY_SHUFFLE",
>> +=C2=A0 =C2=A0 [KEY_BREAK] =3D "KEY_BREAK",
>> +=C2=A0 =C2=A0 [KEY_PREVIOUS] =3D "KEY_PREVIOUS",
>> +=C2=A0 =C2=A0 [KEY_DIGITS] =3D "KEY_DIGITS",
>> +=C2=A0 =C2=A0 [KEY_TEEN] =3D "KEY_TEEN",
>> +=C2=A0 =C2=A0 [KEY_TWEN] =3D "KEY_TWEN",
>> +=C2=A0 =C2=A0 [KEY_VIDEOPHONE] =3D "KEY_VIDEOPHONE", >> +=C2=A0 =C2=A0 [KEY_GAMES] =3D "KEY_GAMES",
>> +=C2=A0 =C2=A0 [KEY_ZOOMIN] =3D "KEY_ZOOMIN",
>> +=C2=A0 =C2=A0 [KEY_ZOOMOUT] =3D "KEY_ZOOMOUT",
>> +=C2=A0 =C2=A0 [KEY_ZOOMRESET] =3D "KEY_ZOOMRESET",
>> +=C2=A0 =C2=A0 [KEY_WORDPROCESSOR] =3D "KEY_WORDPROCESSOR&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_EDITOR] =3D "KEY_EDITOR",
>> +=C2=A0 =C2=A0 [KEY_SPREADSHEET] =3D "KEY_SPREADSHEET",<= br> >> +=C2=A0 =C2=A0 [KEY_GRAPHICSEDITOR] =3D "KEY_GRAPHICSEDITOR&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_PRESENTATION] =3D "KEY_PRESENTATION"= ,
>> +=C2=A0 =C2=A0 [KEY_DATABASE] =3D "KEY_DATABASE",
>> +=C2=A0 =C2=A0 [KEY_NEWS] =3D "KEY_NEWS",
>> +=C2=A0 =C2=A0 [KEY_VOICEMAIL] =3D "KEY_VOICEMAIL",
>> +=C2=A0 =C2=A0 [KEY_ADDRESSBOOK] =3D "KEY_ADDRESSBOOK",<= br> >> +=C2=A0 =C2=A0 [KEY_MESSENGER] =3D "KEY_MESSENGER",
>> +=C2=A0 =C2=A0 [KEY_DISPLAYTOGGLE] =3D "KEY_DISPLAYTOGGLE&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_SPELLCHECK] =3D "KEY_SPELLCHECK", >> +=C2=A0 =C2=A0 [KEY_LOGOFF] =3D "KEY_LOGOFF",
>> +=C2=A0 =C2=A0 [KEY_DOLLAR] =3D "KEY_DOLLAR",
>> +=C2=A0 =C2=A0 [KEY_EURO] =3D "KEY_EURO",
>> +=C2=A0 =C2=A0 [KEY_FRAMEBACK] =3D "KEY_FRAMEBACK",
>> +=C2=A0 =C2=A0 [KEY_FRAMEFORWARD] =3D "KEY_FRAMEFORWARD"= ,
>> +=C2=A0 =C2=A0 [KEY_CONTEXT_MENU] =3D "KEY_CONTEXT_MENU"= ,
>> +=C2=A0 =C2=A0 [KEY_MEDIA_REPEAT] =3D "KEY_MEDIA_REPEAT"= ,
>> +=C2=A0 =C2=A0 [KEY_10CHANNELSUP] =3D "KEY_10CHANNELSUP"= ,
>> +=C2=A0 =C2=A0 [KEY_10CHANNELSDOWN] =3D "KEY_10CHANNELSDOWN&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_IMAGES] =3D "KEY_IMAGES",
>> +=C2=A0 =C2=A0 // [KEY_NOTIFICATION_CENTER] =3D "KEY_NOTIFICA= TION_CENTER",
>> +=C2=A0 =C2=A0 // [KEY_PICKUP_PHONE] =3D "KEY_PICKUP_PHONE&qu= ot;,
>> +=C2=A0 =C2=A0 // [KEY_HANGUP_PHONE] =3D "KEY_HANGUP_PHONE&qu= ot;,
>> +=C2=A0 =C2=A0 [KEY_DEL_EOL] =3D "KEY_DEL_EOL",
>> +=C2=A0 =C2=A0 [KEY_DEL_EOS] =3D "KEY_DEL_EOS",
>> +=C2=A0 =C2=A0 [KEY_INS_LINE] =3D "KEY_INS_LINE",
>> +=C2=A0 =C2=A0 [KEY_DEL_LINE] =3D "KEY_DEL_LINE",
>> +=C2=A0 =C2=A0 [KEY_FN] =3D "KEY_FN",
>> +=C2=A0 =C2=A0 [KEY_FN_ESC] =3D "KEY_FN_ESC",
>> +=C2=A0 =C2=A0 [KEY_FN_F1] =3D "KEY_FN_F1",
>> +=C2=A0 =C2=A0 [KEY_FN_F2] =3D "KEY_FN_F2",
>> +=C2=A0 =C2=A0 [KEY_FN_F3] =3D "KEY_FN_F3",
>> +=C2=A0 =C2=A0 [KEY_FN_F4] =3D "KEY_FN_F4",
>> +=C2=A0 =C2=A0 [KEY_FN_F5] =3D "KEY_FN_F5",
>> +=C2=A0 =C2=A0 [KEY_FN_F6] =3D "KEY_FN_F6",
>> +=C2=A0 =C2=A0 [KEY_FN_F7] =3D "KEY_FN_F7",
>> +=C2=A0 =C2=A0 [KEY_FN_F8] =3D "KEY_FN_F8",
>> +=C2=A0 =C2=A0 [KEY_FN_F9] =3D "KEY_FN_F9",
>> +=C2=A0 =C2=A0 [KEY_FN_F10] =3D "KEY_FN_F10",
>> +=C2=A0 =C2=A0 [KEY_FN_F11] =3D "KEY_FN_F11",
>> +=C2=A0 =C2=A0 [KEY_FN_F12] =3D "KEY_FN_F12",
>> +=C2=A0 =C2=A0 [KEY_FN_1] =3D "KEY_FN_1",
>> +=C2=A0 =C2=A0 [KEY_FN_2] =3D "KEY_FN_2",
>> +=C2=A0 =C2=A0 [KEY_FN_D] =3D "KEY_FN_D",
>> +=C2=A0 =C2=A0 [KEY_FN_E] =3D "KEY_FN_E",
>> +=C2=A0 =C2=A0 [KEY_FN_F] =3D "KEY_FN_F",
>> +=C2=A0 =C2=A0 [KEY_FN_S] =3D "KEY_FN_S",
>> +=C2=A0 =C2=A0 [KEY_FN_B] =3D "KEY_FN_B",
>> +=C2=A0 =C2=A0 // [KEY_FN_RIGHT_SHIFT] =3D "KEY_FN_RIGHT_SHIF= T",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT1] =3D "KEY_BRL_DOT1",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT2] =3D "KEY_BRL_DOT2",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT3] =3D "KEY_BRL_DOT3",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT4] =3D "KEY_BRL_DOT4",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT5] =3D "KEY_BRL_DOT5",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT6] =3D "KEY_BRL_DOT6",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT7] =3D "KEY_BRL_DOT7",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT8] =3D "KEY_BRL_DOT8",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT9] =3D "KEY_BRL_DOT9",
>> +=C2=A0 =C2=A0 [KEY_BRL_DOT10] =3D "KEY_BRL_DOT10",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_0] =3D "KEY_NUMERIC_0",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_1] =3D "KEY_NUMERIC_1",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_2] =3D "KEY_NUMERIC_2",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_3] =3D "KEY_NUMERIC_3",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_4] =3D "KEY_NUMERIC_4",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_5] =3D "KEY_NUMERIC_5",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_6] =3D "KEY_NUMERIC_6",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_7] =3D "KEY_NUMERIC_7",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_8] =3D "KEY_NUMERIC_8",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_9] =3D "KEY_NUMERIC_9",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_STAR] =3D "KEY_NUMERIC_STAR"= ,
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_POUND] =3D "KEY_NUMERIC_POUND&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_A] =3D "KEY_NUMERIC_A",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_B] =3D "KEY_NUMERIC_B",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_C] =3D "KEY_NUMERIC_C",
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_D] =3D "KEY_NUMERIC_D",
>> +=C2=A0 =C2=A0 [KEY_CAMERA_FOCUS] =3D "KEY_CAMERA_FOCUS"= ,
>> +=C2=A0 =C2=A0 [KEY_WPS_BUTTON] =3D "KEY_WPS_BUTTON", >> +=C2=A0 =C2=A0 [KEY_TOUCHPAD_TOGGLE] =3D "KEY_TOUCHPAD_TOGGLE= ",
>> +=C2=A0 =C2=A0 [KEY_TOUCHPAD_ON] =3D "KEY_TOUCHPAD_ON",<= br> >> +=C2=A0 =C2=A0 [KEY_TOUCHPAD_OFF] =3D "KEY_TOUCHPAD_OFF"= ,
>> +=C2=A0 =C2=A0 [KEY_CAMERA_ZOOMIN] =3D "KEY_CAMERA_ZOOMIN&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_CAMERA_ZOOMOUT] =3D "KEY_CAMERA_ZOOMOUT&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_CAMERA_UP] =3D "KEY_CAMERA_UP",
>> +=C2=A0 =C2=A0 [KEY_CAMERA_DOWN] =3D "KEY_CAMERA_DOWN",<= br> >> +=C2=A0 =C2=A0 [KEY_CAMERA_LEFT] =3D "KEY_CAMERA_LEFT",<= br> >> +=C2=A0 =C2=A0 [KEY_CAMERA_RIGHT] =3D "KEY_CAMERA_RIGHT"= ,
>> +=C2=A0 =C2=A0 [KEY_ATTENDANT_ON] =3D "KEY_ATTENDANT_ON"= ,
>> +=C2=A0 =C2=A0 [KEY_ATTENDANT_OFF] =3D "KEY_ATTENDANT_OFF&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_ATTENDANT_TOGGLE] =3D "KEY_ATTENDANT_TOGG= LE",
>> +=C2=A0 =C2=A0 [KEY_LIGHTS_TOGGLE] =3D "KEY_LIGHTS_TOGGLE&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_ALS_TOGGLE] =3D "KEY_ALS_TOGGLE", >> +=C2=A0 =C2=A0 [KEY_ROTATE_LOCK_TOGGLE] =3D "KEY_ROTATE_LOCK_= TOGGLE",
>> +=C2=A0 =C2=A0 [KEY_BUTTONCONFIG] =3D "KEY_BUTTONCONFIG"= ,
>> +=C2=A0 =C2=A0 [KEY_TASKMANAGER] =3D "KEY_TASKMANAGER",<= br> >> +=C2=A0 =C2=A0 [KEY_JOURNAL] =3D "KEY_JOURNAL",
>> +=C2=A0 =C2=A0 [KEY_CONTROLPANEL] =3D "KEY_CONTROLPANEL"= ,
>> +=C2=A0 =C2=A0 [KEY_APPSELECT] =3D "KEY_APPSELECT",
>> +=C2=A0 =C2=A0 [KEY_SCREENSAVER] =3D "KEY_SCREENSAVER",<= br> >> +=C2=A0 =C2=A0 [KEY_VOICECOMMAND] =3D "KEY_VOICECOMMAND"= ,
>> +=C2=A0 =C2=A0 [KEY_ASSISTANT] =3D "KEY_ASSISTANT",
>> +=C2=A0 =C2=A0 [KEY_KBD_LAYOUT_NEXT] =3D "KEY_KBD_LAYOUT_NEXT= ",
>> +=C2=A0 =C2=A0 // [KEY_EMOJI_PICKER] =3D "KEY_EMOJI_PICKER&qu= ot;,
>> +=C2=A0 =C2=A0 //[KEY_DICTATE] =3D "KEY_DICTATE",
>> +=C2=A0 =C2=A0 //[KEY_CAMERA_ACCESS_ENABLE] =3D "KEY_CAMERA_A= CCESS_ENABLE",
>> +=C2=A0 =C2=A0 //[KEY_CAMERA_ACCESS_DISABLE] =3D "KEY_CAMERA_= ACCESS_DISABLE",
>> +=C2=A0 =C2=A0 //[KEY_CAMERA_ACCESS_TOGGLE] =3D "KEY_CAMERA_A= CCESS_TOGGLE",
>> +=C2=A0 =C2=A0 [KEY_BRIGHTNESS_MIN] =3D "KEY_BRIGHTNESS_MIN&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_BRIGHTNESS_MAX] =3D "KEY_BRIGHTNESS_MAX&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_PREV] =3D "KEY_KBDINPUTASS= IST_PREV",
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_NEXT] =3D "KEY_KBDINPUTASS= IST_NEXT",
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_PREVGROUP] =3D "KEY_KBDINP= UTASSIST_PREVGROUP",
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_NEXTGROUP] =3D "KEY_KBDINP= UTASSIST_NEXTGROUP",
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_ACCEPT] =3D "KEY_KBDINPUTA= SSIST_ACCEPT",
>> +=C2=A0 =C2=A0 [KEY_KBDINPUTASSIST_CANCEL] =3D "KEY_KBDINPUTA= SSIST_CANCEL",
>> +=C2=A0 =C2=A0 [KEY_RIGHT_UP] =3D "KEY_RIGHT_UP",
>> +=C2=A0 =C2=A0 [KEY_RIGHT_DOWN] =3D "KEY_RIGHT_DOWN", >> +=C2=A0 =C2=A0 [KEY_LEFT_UP] =3D "KEY_LEFT_UP",
>> +=C2=A0 =C2=A0 [KEY_LEFT_DOWN] =3D "KEY_LEFT_DOWN",
>> +=C2=A0 =C2=A0 [KEY_ROOT_MENU] =3D "KEY_ROOT_MENU",
>> +=C2=A0 =C2=A0 [KEY_MEDIA_TOP_MENU] =3D "KEY_MEDIA_TOP_MENU&q= uot;,
>> +=C2=A0 =C2=A0 [KEY_NUMERIC_11] =3D "KEY_NUMERIC_11", >> +=C2=A0 =C2=A0 [KEY_NUMERIC_12] =3D "KEY_NUMERIC_12", >> +=C2=A0 =C2=A0 [KEY_AUDIO_DESC] =3D "KEY_AUDIO_DESC", >> +=C2=A0 =C2=A0 [KEY_3D_MODE] =3D "KEY_3D_MODE",
>> +=C2=A0 =C2=A0 [KEY_NEXT_FAVORITE] =3D "KEY_NEXT_FAVORITE&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_STOP_RECORD] =3D "KEY_STOP_RECORD",<= br> >> +=C2=A0 =C2=A0 [KEY_PAUSE_RECORD] =3D "KEY_PAUSE_RECORD"= ,
>> +=C2=A0 =C2=A0 [KEY_VOD] =3D "KEY_VOD",
>> +=C2=A0 =C2=A0 [KEY_UNMUTE] =3D "KEY_UNMUTE",
>> +=C2=A0 =C2=A0 [KEY_FASTREVERSE] =3D "KEY_FASTREVERSE",<= br> >> +=C2=A0 =C2=A0 [KEY_SLOWREVERSE] =3D "KEY_SLOWREVERSE",<= br> >> +=C2=A0 =C2=A0 [KEY_DATA] =3D "KEY_DATA",
>> +=C2=A0 =C2=A0 [KEY_ONSCREEN_KEYBOARD] =3D "KEY_ONSCREEN_KEYB= OARD",
>> +=C2=A0 =C2=A0 [KEY_PRIVACY_SCREEN_TOGGLE] =3D "KEY_PRIVACY_S= CREEN_TOGGLE",
>> +=C2=A0 =C2=A0 [KEY_SELECTIVE_SCREENSHOT] =3D "KEY_SELECTIVE_= SCREENSHOT",
>> +=C2=A0 =C2=A0 // [KEY_NEXT_ELEMENT] =3D "KEY_NEXT_ELEMENT&qu= ot;,
>> +=C2=A0 =C2=A0 // [KEY_PREVIOUS_ELEMENT] =3D "KEY_PREVIOUS_EL= EMENT",
>> +=C2=A0 =C2=A0 // [KEY_AUTOPILOT_ENGAGE_TOGGLE] =3D "KEY_AUTO= PILOT_ENGAGE_TOGGLE",
>> +=C2=A0 =C2=A0 // [KEY_MARK_WAYPOINT] =3D "KEY_MARK_WAYPOINT&= quot;,
>> +=C2=A0 =C2=A0 // [KEY_SOS] =3D "KEY_SOS",
>> +=C2=A0 =C2=A0 // [KEY_NAV_CHART] =3D "KEY_NAV_CHART", >> +=C2=A0 =C2=A0 // [KEY_FISHING_CHART] =3D "KEY_FISHING_CHART&= quot;,
>> +=C2=A0 =C2=A0 // [KEY_SINGLE_RANGE_RADAR] =3D "KEY_SINGLE_RA= NGE_RADAR",
>> +=C2=A0 =C2=A0 // [KEY_DUAL_RANGE_RADAR] =3D "KEY_DUAL_RANGE_= RADAR",
>> +=C2=A0 =C2=A0 // [KEY_RADAR_OVERLAY] =3D "KEY_RADAR_OVERLAY&= quot;,
>> +=C2=A0 =C2=A0 // [KEY_TRADITIONAL_SONAR] =3D "KEY_TRADITIONA= L_SONAR",
>> +=C2=A0 =C2=A0 //=C2=A0 [KEY_CLEARVU_SONAR] =3D "KEY_CLEARVU_= SONAR",
>> +=C2=A0 =C2=A0 // [KEY_SIDEVU_SONAR] =3D "KEY_SIDEVU_SONAR&qu= ot;,
>> +=C2=A0 =C2=A0 // [KEY_NAV_INFO] =3D "KEY_NAV_INFO",
>> +=C2=A0 =C2=A0 // [KEY_BRIGHTNESS_MENU] =3D "KEY_BRIGHTNESS_M= ENU",
>> +=C2=A0 =C2=A0 [KEY_MACRO1] =3D "KEY_MACRO1",
>> +=C2=A0 =C2=A0 [KEY_MACRO2] =3D "KEY_MACRO2",
>> +=C2=A0 =C2=A0 [KEY_MACRO3] =3D "KEY_MACRO3",
>> +=C2=A0 =C2=A0 [KEY_MACRO4] =3D "KEY_MACRO4",
>> +=C2=A0 =C2=A0 [KEY_MACRO5] =3D "KEY_MACRO5",
>> +=C2=A0 =C2=A0 [KEY_MACRO6] =3D "KEY_MACRO6",
>> +=C2=A0 =C2=A0 [KEY_MACRO7] =3D "KEY_MACRO7",
>> +=C2=A0 =C2=A0 [KEY_MACRO8] =3D "KEY_MACRO8",
>> +=C2=A0 =C2=A0 [KEY_MACRO9] =3D "KEY_MACRO9",
>> +=C2=A0 =C2=A0 [KEY_MACRO10] =3D "KEY_MACRO10",
>> +=C2=A0 =C2=A0 [KEY_MACRO11] =3D "KEY_MACRO11",
>> +=C2=A0 =C2=A0 [KEY_MACRO12] =3D "KEY_MACRO12",
>> +=C2=A0 =C2=A0 [KEY_MACRO13] =3D "KEY_MACRO13",
>> +=C2=A0 =C2=A0 [KEY_MACRO14] =3D "KEY_MACRO14",
>> +=C2=A0 =C2=A0 [KEY_MACRO15] =3D "KEY_MACRO15",
>> +=C2=A0 =C2=A0 [KEY_MACRO16] =3D "KEY_MACRO16",
>> +=C2=A0 =C2=A0 [KEY_MACRO17] =3D "KEY_MACRO17",
>> +=C2=A0 =C2=A0 [KEY_MACRO18] =3D "KEY_MACRO18",
>> +=C2=A0 =C2=A0 [KEY_MACRO19] =3D "KEY_MACRO19",
>> +=C2=A0 =C2=A0 [KEY_MACRO20] =3D "KEY_MACRO20",
>> +=C2=A0 =C2=A0 [KEY_MACRO21] =3D "KEY_MACRO21",
>> +=C2=A0 =C2=A0 [KEY_MACRO22] =3D "KEY_MACRO22",
>> +=C2=A0 =C2=A0 [KEY_MACRO23] =3D "KEY_MACRO23",
>> +=C2=A0 =C2=A0 [KEY_MACRO24] =3D "KEY_MACRO24",
>> +=C2=A0 =C2=A0 [KEY_MACRO25] =3D "KEY_MACRO25",
>> +=C2=A0 =C2=A0 [KEY_MACRO26] =3D "KEY_MACRO26",
>> +=C2=A0 =C2=A0 [KEY_MACRO27] =3D "KEY_MACRO27",
>> +=C2=A0 =C2=A0 [KEY_MACRO28] =3D "KEY_MACRO28",
>> +=C2=A0 =C2=A0 [KEY_MACRO29] =3D "KEY_MACRO29",
>> +=C2=A0 =C2=A0 [KEY_MACRO30] =3D "KEY_MACRO30",
>> +=C2=A0 =C2=A0 [KEY_MACRO_RECORD_START] =3D "KEY_MACRO_RECORD= _START",
>> +=C2=A0 =C2=A0 [KEY_MACRO_RECORD_STOP] =3D "KEY_MACRO_RECORD_= STOP",
>> +=C2=A0 =C2=A0 [KEY_MACRO_PRESET_CYCLE] =3D "KEY_MACRO_PRESET= _CYCLE",
>> +=C2=A0 =C2=A0 [KEY_MACRO_PRESET1] =3D "KEY_MACRO_PRESET1&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_MACRO_PRESET2] =3D "KEY_MACRO_PRESET2&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_MACRO_PRESET3] =3D "KEY_MACRO_PRESET3&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_KBD_LCD_MENU1] =3D "KEY_KBD_LCD_MENU1&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_KBD_LCD_MENU2] =3D "KEY_KBD_LCD_MENU2&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_KBD_LCD_MENU3] =3D "KEY_KBD_LCD_MENU3&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_KBD_LCD_MENU4] =3D "KEY_KBD_LCD_MENU4&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_KBD_LCD_MENU5] =3D "KEY_KBD_LCD_MENU5&quo= t;,
>> +=C2=A0 =C2=A0 [KEY_MAX] =3D "KEY_MAX",
>> +=C2=A0 =C2=A0 [BTN_0] =3D "BTN_0",
>> +=C2=A0 =C2=A0 [BTN_1] =3D "BTN_1",
>> +=C2=A0 =C2=A0 [BTN_2] =3D "BTN_2",
>> +=C2=A0 =C2=A0 [BTN_3] =3D "BTN_3",
>> +=C2=A0 =C2=A0 [BTN_4] =3D "BTN_4",
>> +=C2=A0 =C2=A0 [BTN_5] =3D "BTN_5",
>> +=C2=A0 =C2=A0 [BTN_6] =3D "BTN_6",
>> +=C2=A0 =C2=A0 [BTN_7] =3D "BTN_7",
>> +=C2=A0 =C2=A0 [BTN_8] =3D "BTN_8",
>> +=C2=A0 =C2=A0 [BTN_9] =3D "BTN_9",
>> +=C2=A0 =C2=A0 [BTN_LEFT] =3D "BTN_LEFT",
>> +=C2=A0 =C2=A0 [BTN_RIGHT] =3D "BTN_RIGHT",
>> +=C2=A0 =C2=A0 [BTN_MIDDLE] =3D "BTN_MIDDLE",
>> +=C2=A0 =C2=A0 [BTN_SIDE] =3D "BTN_SIDE",
>> +=C2=A0 =C2=A0 [BTN_EXTRA] =3D "BTN_EXTRA",
>> +=C2=A0 =C2=A0 [BTN_FORWARD] =3D "BTN_FORWARD",
>> +=C2=A0 =C2=A0 [BTN_BACK] =3D "BTN_BACK",
>> +=C2=A0 =C2=A0 [BTN_TASK] =3D "BTN_TASK",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER] =3D "BTN_TRIGGER",
>> +=C2=A0 =C2=A0 [BTN_THUMB] =3D "BTN_THUMB",
>> +=C2=A0 =C2=A0 [BTN_THUMB2] =3D "BTN_THUMB2",
>> +=C2=A0 =C2=A0 [BTN_TOP] =3D "BTN_TOP",
>> +=C2=A0 =C2=A0 [BTN_TOP2] =3D "BTN_TOP2",
>> +=C2=A0 =C2=A0 [BTN_PINKIE] =3D "BTN_PINKIE",
>> +=C2=A0 =C2=A0 [BTN_BASE] =3D "BTN_BASE",
>> +=C2=A0 =C2=A0 [BTN_BASE2] =3D "BTN_BASE2",
>> +=C2=A0 =C2=A0 [BTN_BASE3] =3D "BTN_BASE3",
>> +=C2=A0 =C2=A0 [BTN_BASE4] =3D "BTN_BASE4",
>> +=C2=A0 =C2=A0 [BTN_BASE5] =3D "BTN_BASE5",
>> +=C2=A0 =C2=A0 [BTN_BASE6] =3D "BTN_BASE6",
>> +=C2=A0 =C2=A0 [BTN_DEAD] =3D "BTN_DEAD",
>> +=C2=A0 =C2=A0 [BTN_SOUTH] =3D "BTN_SOUTH",
>> +=C2=A0 =C2=A0 [BTN_EAST] =3D "BTN_EAST",
>> +=C2=A0 =C2=A0 [BTN_C] =3D "BTN_C",
>> +=C2=A0 =C2=A0 [BTN_NORTH] =3D "BTN_NORTH",
>> +=C2=A0 =C2=A0 [BTN_WEST] =3D "BTN_WEST",
>> +=C2=A0 =C2=A0 [BTN_Z] =3D "BTN_Z",
>> +=C2=A0 =C2=A0 [BTN_TL] =3D "BTN_TL",
>> +=C2=A0 =C2=A0 [BTN_TR] =3D "BTN_TR",
>> +=C2=A0 =C2=A0 [BTN_TL2] =3D "BTN_TL2",
>> +=C2=A0 =C2=A0 [BTN_TR2] =3D "BTN_TR2",
>> +=C2=A0 =C2=A0 [BTN_SELECT] =3D "BTN_SELECT",
>> +=C2=A0 =C2=A0 [BTN_START] =3D "BTN_START",
>> +=C2=A0 =C2=A0 [BTN_MODE] =3D "BTN_MODE",
>> +=C2=A0 =C2=A0 [BTN_THUMBL] =3D "BTN_THUMBL",
>> +=C2=A0 =C2=A0 [BTN_THUMBR] =3D "BTN_THUMBR",
>> +=C2=A0 =C2=A0 [BTN_TOOL_PEN] =3D "BTN_TOOL_PEN",
>> +=C2=A0 =C2=A0 [BTN_TOOL_RUBBER] =3D "BTN_TOOL_RUBBER",<= br> >> +=C2=A0 =C2=A0 [BTN_TOOL_BRUSH] =3D "BTN_TOOL_BRUSH", >> +=C2=A0 =C2=A0 [BTN_TOOL_PENCIL] =3D "BTN_TOOL_PENCIL",<= br> >> +=C2=A0 =C2=A0 [BTN_TOOL_AIRBRUSH] =3D "BTN_TOOL_AIRBRUSH&quo= t;,
>> +=C2=A0 =C2=A0 [BTN_TOOL_FINGER] =3D "BTN_TOOL_FINGER",<= br> >> +=C2=A0 =C2=A0 [BTN_TOOL_MOUSE] =3D "BTN_TOOL_MOUSE", >> +=C2=A0 =C2=A0 [BTN_TOOL_LENS] =3D "BTN_TOOL_LENS",
>> +=C2=A0 =C2=A0 [BTN_TOOL_QUINTTAP] =3D "BTN_TOOL_QUINTTAP&quo= t;,
>> +=C2=A0 =C2=A0 [BTN_STYLUS3] =3D "BTN_STYLUS3",
>> +=C2=A0 =C2=A0 [BTN_TOUCH] =3D "BTN_TOUCH",
>> +=C2=A0 =C2=A0 [BTN_STYLUS] =3D "BTN_STYLUS",
>> +=C2=A0 =C2=A0 [BTN_STYLUS2] =3D "BTN_STYLUS2",
>> +=C2=A0 =C2=A0 [BTN_TOOL_DOUBLETAP] =3D "BTN_TOOL_DOUBLETAP&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TOOL_TRIPLETAP] =3D "BTN_TOOL_TRIPLETAP&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TOOL_QUADTAP] =3D "BTN_TOOL_QUADTAP"= ,
>> +=C2=A0 =C2=A0 [BTN_GEAR_DOWN] =3D "BTN_GEAR_DOWN",
>> +=C2=A0 =C2=A0 [BTN_GEAR_UP] =3D "BTN_GEAR_UP",
>> +=C2=A0 =C2=A0 [BTN_DPAD_UP] =3D "BTN_DPAD_UP",
>> +=C2=A0 =C2=A0 [BTN_DPAD_DOWN] =3D "BTN_DPAD_DOWN",
>> +=C2=A0 =C2=A0 [BTN_DPAD_LEFT] =3D "BTN_DPAD_LEFT",
>> +=C2=A0 =C2=A0 [BTN_DPAD_RIGHT] =3D "BTN_DPAD_RIGHT", >> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY1] =3D "BTN_TRIGGER_HAPPY1&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY2] =3D "BTN_TRIGGER_HAPPY2&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY3] =3D "BTN_TRIGGER_HAPPY3&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY4] =3D "BTN_TRIGGER_HAPPY4&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY5] =3D "BTN_TRIGGER_HAPPY5&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY6] =3D "BTN_TRIGGER_HAPPY6&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY7] =3D "BTN_TRIGGER_HAPPY7&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY8] =3D "BTN_TRIGGER_HAPPY8&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY9] =3D "BTN_TRIGGER_HAPPY9&q= uot;,
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY10] =3D "BTN_TRIGGER_HAPPY10= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY11] =3D "BTN_TRIGGER_HAPPY11= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY12] =3D "BTN_TRIGGER_HAPPY12= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY13] =3D "BTN_TRIGGER_HAPPY13= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY14] =3D "BTN_TRIGGER_HAPPY14= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY15] =3D "BTN_TRIGGER_HAPPY15= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY16] =3D "BTN_TRIGGER_HAPPY16= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY17] =3D "BTN_TRIGGER_HAPPY17= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY18] =3D "BTN_TRIGGER_HAPPY18= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY19] =3D "BTN_TRIGGER_HAPPY19= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY20] =3D "BTN_TRIGGER_HAPPY20= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY21] =3D "BTN_TRIGGER_HAPPY21= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY22] =3D "BTN_TRIGGER_HAPPY22= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY23] =3D "BTN_TRIGGER_HAPPY23= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY24] =3D "BTN_TRIGGER_HAPPY24= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY25] =3D "BTN_TRIGGER_HAPPY25= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY26] =3D "BTN_TRIGGER_HAPPY26= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY27] =3D "BTN_TRIGGER_HAPPY27= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY28] =3D "BTN_TRIGGER_HAPPY28= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY29] =3D "BTN_TRIGGER_HAPPY29= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY30] =3D "BTN_TRIGGER_HAPPY30= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY31] =3D "BTN_TRIGGER_HAPPY31= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY32] =3D "BTN_TRIGGER_HAPPY32= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY33] =3D "BTN_TRIGGER_HAPPY33= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY34] =3D "BTN_TRIGGER_HAPPY34= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY35] =3D "BTN_TRIGGER_HAPPY35= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY36] =3D "BTN_TRIGGER_HAPPY36= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY37] =3D "BTN_TRIGGER_HAPPY37= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY38] =3D "BTN_TRIGGER_HAPPY38= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY39] =3D "BTN_TRIGGER_HAPPY39= ",
>> +=C2=A0 =C2=A0 [BTN_TRIGGER_HAPPY40] =3D "BTN_TRIGGER_HAPPY40= ",
>> +};
>> +
>> +static const char * const led_map[LED_MAX + 1] =3D {
>> +=C2=A0 =C2=A0 [LED_NUML] =3D "LED_NUML",
>> +=C2=A0 =C2=A0 [LED_CAPSL] =3D "LED_CAPSL",
>> *** 11201 LINES SKIPPED ***
>>
>
> make buildworld fails to build due to this error:
>
> [...]
> c++=C2=A0 -target x86_64-unknown-freebsd16.0 --sysroot=3D/usr/obj/usr/= src/amd64.amd64/tmp
> -B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin -fpie=C2=A0 -O2 -pipe -fno-= common -march=3Dnative -I.
> -I/usr/src/sbin/devd -fPIE -DNDEBUG -MD -MF.depend.devd.pieo -MTdevd.p= ieo
> -Wno-format-zero-length -fstack-protector-strong -Wsystem-headers -Wal= l -Wno-format-y2k -W
> -Wno-unused-parameter -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrit= e-strings -Wswitch
> -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Wdate-time=
> -Wmissing-variable-declarations -Wthread-safety -Wno-empty-body -Wno-s= tring-plus-int
> -Wno-unused-const-variable -Wno-error=3Dunused-but-set-parameter
> -Wno-error=3Dcast-function-type-mismatch -Wno-missing-variable-declara= tions -Qunused-arguments
> -march=3Dnative=C2=A0 -fPIE -std=3Dgnu++17=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0-c /usr/src/sbin/devd/devd.cc -o devd.pieo
> /usr/src/sbin/devd/devd.cc:1228:2: error: "Remove this gross hack= " 1228 | #error "Remove this
> gross hack" |=C2=A0 ^ 1 error generated. *** Error code 1

Unrelated. This is because __FreeBSD_version was bumped now 15
branched, and this was left in to scream at people to do something for
FreeBSD 16. I guess that worked, though a bit of an unfortunate way to
start the 16 cycle :)

Works as designed= .

[Creating objdir /usr/home/i= mp/obj/usr/home/imp/git/head/amd64.amd64/usr.sbin/moused/moused...]
mkdi= r: /usr/home/imp/obj/usr/home/imp/git/head/amd64.amd64/usr.sbin/moused/mous= ed: File exists
[Creating objdir /usr/home/imp/obj/usr/home/imp/git/head= /amd64.amd64/usr.sbin/moused/msconvd...]
make[5]: /usr/home/imp/git/head= /share/mk/auto.obj.mk:74: could not u= se /usr/home/imp/obj/usr/home/imp/git/head/amd64.amd64/usr.sbin/moused/mous= ed: .OBJDIR=3D/usr/home/imp/git/head/usr.sbin/moused/moused
in /usr/hom= e/imp/git/head/share/mk/sys.mk:105
in= make[5] in directory "/usr/home/imp/git/head/usr.sbin/moused/moused&q= uot;

make[5]: stopped making "includes" in /usr/home/imp/g= it/head/usr.sbin/moused/moused

make[4]: stopped making "include= s" in /usr/home/imp/git/head/usr.sbin/moused

Is the error I got, though...=C2=A0 Because we went from build= ing usr.sbin/moused/moused to that being a directory and make won't ove= rwrite a file with a directory.

Warner=C2=A0
=
--000000000000943e38063e06dd6e-- From nobody Fri Sep 5 05:14:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJ4Jw0tXRz675Dm; Fri, 05 Sep 2025 05:14:24 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJ4Jv462Yz3j6x; Fri, 05 Sep 2025 05:14:23 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 5855EBQJ077813; Fri, 5 Sep 2025 08:14:14 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 5855EBQJ077813 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 5855EBqU077812; Fri, 5 Sep 2025 08:14:11 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 5 Sep 2025 08:14:11 +0300 From: Konstantin Belousov To: James Gritton Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 851dc7f859c2 - main - jail: add jail descriptors Message-ID: References: <202509042031.584KVpxY000408@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-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on tom.home X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cJ4Jv462Yz3j6x On Thu, Sep 04, 2025 at 09:43:13PM -0700, James Gritton wrote: > On 2025-09-04 16:43, Konstantin Belousov wrote: > > On Thu, Sep 04, 2025 at 08:31:51PM +0000, Jamie Gritton wrote: > > > The branch main has been updated by jamie: > > > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=851dc7f859c23cab09a348bca03ab655534fb7e0 > > > > > > commit 851dc7f859c23cab09a348bca03ab655534fb7e0 > > > Author: Jamie Gritton > > > AuthorDate: 2025-09-04 20:27:47 +0000 > > > Commit: Jamie Gritton > > > CommitDate: 2025-09-04 20:27:47 +0000 > > > > > > jail: add jail descriptors > > > > > > Similar to process descriptors, jail desriptors are allow jail > > > administration using the file descriptor interface instead of > > > JIDs. > > > They come from and can be used by jail_set(2) and jail_get(2), > > > and there are two new system calls, jail_attach_jd(2) and > > > jail_remove_jd(2). > > > > > > Reviewed by: bz, brooks > > > > The code is from jaildesc_alloc(): > > > > jd = malloc(sizeof(*jd), M_JAILDESC, M_WAITOK | M_ZERO); > > error = falloc_caps(td, &fp, fdp, 0, NULL); > > finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 > > ? FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); > > ^^^^^^^^^^^ '?' should be placed on the previous line > > I wasn't aware of this requirement; style(9) is silent on it. In fact style(9) contains the explicit requirement: If you have to wrap a long statement, put the operator at the end of the line. There are a lot more of this pattern repeated in the commit. > > > if (error != 0) { > > free(jd, M_JAILDESC); > > return (error); > > } > > If falloc_caps() returned error, fp does not point to a valid file. > > Then finit() operates on random memory. > > I'll file a fix for that. The error check just needs to be moved up. > > > Generated files should have been committed as a follow-up, not in the > > same commit as written code. > > The FreeBSD Wiki explicitly allows it in the same commit. I always objected against this practice. For instance, the commit message for this commit is even less useful because most of the limit was filled with the auto-generated stuff, instead of the code. Same for reading the commits with log. Could you please point me to the wiki page? > > > jaildesc_find() returns EBADF when passed file type is not DTYPE_JAIL. > > Normally EBADF means that the object underlying the file is invalidated, > > like vnode is reclaimed, tty is revoked, etc. For the wrong type, EINVAL > > should be returned. > > That's part of the code that I lifted from process descriptors, nearly > identical to procdesc_find. A check of other c_type checks shows > EBADF isn't uncommon. So procdesc is wrong as well, I think. > > > jaildesc_close() does > > finit(fp, 0, DTYPE_NONE, NULL, &badfileops); > > that is not needed, same as cleaning f_data. > > Yes, that's appears to be overkill, considering it should only be > called when the descript is about to be deallocated anyway. I'll > remove that. > > > There are fo_chown/fo_chmod methods that are semantically applied to the > > jail files, instead of the underlying object. This is quite strange, > > files > > do not have concept of owner. > > True, it is strange. But jails don't have owners either, and this > seemed a good way to control how the descriptors could be used. I see > the jail descriptor as an intermediate object between the jail and the > file descriptors, like there's a portal to the jail that is owned by > its creator, and the file descriptor returned is merely the access to > that portal. It's roughly equivalent to a temp file that doesn't > exist in the filesystem directory space after its creation, yet is > still a thing with ownership and permissions. > > I could remove this if it's too far out of mainstream practice, but I > hope not to have to, since it provides a handy to allow some to (for > instance) attach to a prison, but not alter or remove it. Such things > are perhaps better left to Capsicum, but I don't have that support in > place yet. Naturally, you would added a jail owner (ucred), and make fo_chown change the owner then. I quite dislike trying to strength filesystem DACs to jail access control. BTW, you added some support for kqueue for jail events, but not to the jail file descriptors. This seems to be backward: if somebody wants to monitor events for jails, then it is more reliable and straightforward to do with the new jail fds rather than with ids. From nobody Fri Sep 5 05:52:12 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJ58Y16HHz677k1; Fri, 05 Sep 2025 05:52: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJ58Y0YSsz3ndR; Fri, 05 Sep 2025 05:52:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757051533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ycYaa8XhcmrExr10JswDhMkLlEKOGOC+ubWdfJh72nA=; b=IgykUaFq8ryrvZ+mm9wZe5c9JsCJRW649Zi1Qp71egdkrLm65G0pa9ONKK7LaSy1UTtaE6 RfnTZ1jkujZIL3cJ7ZbGscgSCdEJLKMP3XBzubbz66nPLKjSu+4Af7boNGH/6r5vCfWp7K /S7FqD34LE6rdqGMusipnGE2LN8sf0ehEXalhhXlnRzBlIxQq+AMOESXtYhe6MMv0JD7am FqTNVx7ezOdl7OTYsxy5qh6l11rgbMjavYA1tD+xVqbT7uQBXqg3Po9KE9w6vxQC5ThdXc t82GFkeK6yud8RpOsv7DuMyJ/5Tc1L1pTBZ2XCW2VljNj7QL02aLwGG/N5E2RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757051533; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ycYaa8XhcmrExr10JswDhMkLlEKOGOC+ubWdfJh72nA=; b=UWXdmMd3P71LDZ64DO451e7xLpmnbeIVOWhSBduG9gma25rz2+HEJhDLkKyOfYPvBMD8tu 9w7gaBECMnTUjjgkQ83iJR+pp1LpLpbfj1kpynv5Mh5pz3x+XrvC4YOYAxSx3jj2MihqZJ ROkJ3Dp9tTBcyvD3O0KIMMYWC4bP95R+JGaboVZQ8M/zHMr6Fs7JfWcos2FKetOYhjl38u 5HzEaeMzFhZ8gXkI7SHIsdgisJ79jlwuQP1uA8uKVIoy3zv3D3c7TSWWiAw2Yv5/i//icZ Sxs0rLxjS7+9pqPc4WKu1sawmaxxnYXrjoAmNehWZx7DOR/bt6bIlnfgvd71mA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757051533; a=rsa-sha256; cv=none; b=Shl6+D/Zyy4ErJBzjTY6/bhfAIO36HrtxgufnpnqpHUF7zM4qpYLefO55cjkleMJmbmFMV 36aq/0BnPNJbVF53FgOVlIKJAT5Xky5/cL0ZxGBXcYBsWt09+P7TOVJXLWkD5HoPq9nTVU uKt8Hr/GjFppi+Rp6wsL2EP49n2vFEQb67+Vjvfhn+HsU4kLt7TBhvDXgJccZ/I25cqURZ JSyD0jxho6IS0459bw9AFoE08zFfaFH+bhWSHOWkyLJ5n9bajjR+TQqV8kzRAhqAL9zBHo yO8UKRQvahXMWxbiyHPM+CnZpYCdS24TnimG16Pp84XoHdm7ZA+3ppbjs1eQVg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJ58X723LzcTY; Fri, 05 Sep 2025 05:52:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5855qCdB049789; Fri, 5 Sep 2025 05:52:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5855qCYt049786; Fri, 5 Sep 2025 05:52:12 GMT (envelope-from git) Date: Fri, 5 Sep 2025 05:52:12 GMT Message-Id: <202509050552.5855qCYt049786@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: f20d12595718 - main - devd: Remove gross hack List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: f20d12595718c56a718d34e1e42cd34a3317121d Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f20d12595718c56a718d34e1e42cd34a3317121d commit f20d12595718c56a718d34e1e42cd34a3317121d Author: Warner Losh AuthorDate: 2025-09-05 04:39:43 +0000 Commit: Warner Losh CommitDate: 2025-09-05 05:52:03 +0000 devd: Remove gross hack Remove hack from FreeBSD 14 that mapped kern->kernel for name. Fixes: 8b4e4c273730 MFC: Never Sponsored by: Netflix --- sbin/devd/devd.cc | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/sbin/devd/devd.cc b/sbin/devd/devd.cc index 1ff405244cde..ee38fbb2ccee 100644 --- a/sbin/devd/devd.cc +++ b/sbin/devd/devd.cc @@ -1208,27 +1208,6 @@ new_action(const char *cmd) eps * new_match(const char *var, const char *re) { - /* - * In FreeBSD 14, we changed the system=kern to system=kernel for the - * resume message to match all the other 'kernel' messages. Generate a - * warning for the life of 14.x that we've 'fixed' the file on the fly, - * but make it a fatal error in 15.x and newer. - */ - if (strcmp(var, "kern") == 0) { -#if __FreeBSD_version < 1500000 - devdlog(LOG_WARNING, - "Changing deprecated system='kern' to new name 'kernel' in %s line %d.", - curr_cf, lineno); - free(const_cast(var)); - var = strdup("kernel"); -#elif __FreeBSD_version < 1600000 - errx(1, "Encountered deprecated system=\"kern\" rule in %s line %d", - curr_cf, lineno); -#else -#error "Remove this gross hack" -#endif - } - eps *e = new match(cfg, var, re); free(const_cast(var)); free(const_cast(re)); From nobody Fri Sep 5 05:52:14 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJ58Z1z58z6788g; Fri, 05 Sep 2025 05:52: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJ58Z1DCQz3nbH; Fri, 05 Sep 2025 05:52:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757051534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VE0OJtGFmUaILsUPDuQKWi3IOhDzX/U+rdUPtszpOMY=; b=fUCeAjbA7+cMCqROMs8TLvU5vtQSd7m67aPGkVAIjEV+YPxBQV4xozOldwv0UjOxTGGYSm QLiO891kGP4ismU+FI91wXt5MHh6AVALVyi5oMk1kB7lht3UqTHK7+QWQbEicReN7IyrtL 95NHeI2jFw8AjgdIk6Mx7Zs/G8ltUHWM7YV0YgYp7v4wlDiYzOwiyl90y46SfXjXEdZ7tS i4MWI4Z/S/QrFhtu17v33ypUApCs0LWfoOyx/TlTtT+INC3BR4ABYbbTrZtY8DSp1MyNKZ EK3415QpNj35Uq88ZiomJ25E/5pBhyWJ9/OvTF6tWwCrqj2tc2RZ9poez5DMRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757051534; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VE0OJtGFmUaILsUPDuQKWi3IOhDzX/U+rdUPtszpOMY=; b=FeonhsxBCluQYV4D3r98SkM5pqENXIk5bWUw2D8LP6rhUxM0Jrr/rqEOsuppMO90RCriaf eDovFB8ZEyFvdfrgmnXbgvgWeby43dLZkIpb1daUTBt0CuJkwgoIH2MhXsR4BrxTiN8KNZ 2GL/Kh94Mnlk2EsFdlCKH4h+uZEkYBf8sGu3JwfR7lEs5I9LmyNYUwDav7MuiB5sqxZ6CY 2Xr+7NPyvaHZAth7qMW90dzJp0bbvEP9rbWoCDpzVwpT+D7O8YXzjIgAY3JqkZfvMIrX7v WxX73l+hAismr+Fisx+4QpK7C7iqbxTangxQCN6Cwq/9UeukFR7rBmERFMgzRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757051534; a=rsa-sha256; cv=none; b=rlpDyb2EgXJL5942fV9Q1Zg/KUEvdrOP7QO2UZ2MlKFAOM1npQnBA3DF5H30YG95w0f8XH LdOIW+SKurBmDlrDjt64gPsX51xwOVJzsa8nhBl7YB8N34WWBBUaut9Wz9Pq+0lrSk87ia Dq68/j/+7zEz3K1Rtb15c5p2badzwLAjoDi6KULIZmECfiKLO1N0PMT+9PhJHGGheePVCH bWPS8QiydeNibOd0/mqHds+z5AYZrK4Ufyl14xjp65qPx3z6sQX61YWc9EeCjQSCO5OmeV J/XMLNAyMG8vvfbJwxtPyAXBTHUD5VlEVgRsYXyGo09znB3mHWQGP5NWM5OMMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJ58Z0qg4zcjk; Fri, 05 Sep 2025 05:52: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 5855qEkA049827; Fri, 5 Sep 2025 05:52:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5855qEcf049824; Fri, 5 Sep 2025 05:52:14 GMT (envelope-from git) Date: Fri, 5 Sep 2025 05:52:14 GMT Message-Id: <202509050552.5855qEcf049824@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: edd8c4c65592 - main - moused: Fix movement of moused/moused to moused/moused/moused List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: edd8c4c655925543e2d881811c544473da463147 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=edd8c4c655925543e2d881811c544473da463147 commit edd8c4c655925543e2d881811c544473da463147 Author: Warner Losh AuthorDate: 2025-09-05 05:49:44 +0000 Commit: Warner Losh CommitDate: 2025-09-05 05:52:10 +0000 moused: Fix movement of moused/moused to moused/moused/moused So aef807876c30 moved moused down a level, so make depend broke. This fixes it. Sponsored by: Netflix --- tools/build/depend-cleanup.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh index 22bf34439758..aa01db6ccc37 100755 --- a/tools/build/depend-cleanup.sh +++ b/tools/build/depend-cleanup.sh @@ -470,3 +470,9 @@ fi # 20250813 4f766afc1ca0 tcopy converted to C++ clean_dep usr.bin/tcopy tcopy c + +# 20250904 aef807876c30 moused binary to directory +if [ -f "$OBJTOP"/usr.sbin/moused/moused ]; then + echo "Removing old moused binary" + run rm -fv "$OBJTOP"/usr.sbin/moused/moused +fi From nobody Fri Sep 5 06:06:54 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJ5TW2fMkz678dv; Fri, 05 Sep 2025 06:06: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJ5TW1vmXz3rMb; Fri, 05 Sep 2025 06:06:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757052415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rvk3+vS81jIr0YvIKEpaqmhyAk5uExCraVfQa2JK3CM=; b=LaAshFWXMj5GUt6xDsBZS3N9cvyXjf/Diqw8RcNgl+LaC9g2+FfMUgbvvHk8hLlAuMMY6K DOSDIWWcdFnndth6IPUI9PUEsxAJnXM1859Xucda0V0VZNbnjzVf5mLj+YN+oRRjn5bdJL atXaoOiKAF1DDzhFlNL3AwO4MlBkWCE9/kPAXQ0qWa540cOAuoCY+c9nLCI89Np4KJ4k4w NJo2dBm8rnwaXSsHmzYC0OOgQdtc5bBCS8pW/6hKQEg1mXngCBpOv8XWy3mkVc7ywCCTR2 CIV/abAPLzgBdS3zeeuA5sKGsRG0b8XXb54a64aKhvzswA0yTQ4+7n9xV5jcIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757052415; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Rvk3+vS81jIr0YvIKEpaqmhyAk5uExCraVfQa2JK3CM=; b=CHuDy3WmwGbTMro8CLO1GXjdw28RnDphcHO2urWAT00IEV2OY6h63rIgkW4zYzM/sjcr4K kqen6woPz6JFXJ1qh6yz2ujBjiFSIlYU7tNYHNPW0/lQFL52Gn2EVPAF5W0ZuJkUFahXDw GJLVD0xvm16whYYQOaXPCi/4i1qlQwe+imtb7UdYQQr/Ft2PEtcZyjXB4oBzCJ5jZUoo2c lF2rYQu82aN9DqD5E+0oFnhCKYmfVvDTdzjjiuLIIjcxXIAmeuC9y9PJdKPhSlc6If2v1q Y3svsy+f3xVHzGcHajn6Wd2xP745HeYJ2HQ7ikZIvsaMan9c1WpFE7/EuzkvpA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757052415; a=rsa-sha256; cv=none; b=rwmWujw/hvG9YQIRJieVCy7F0MxVwWkeii0wl46DZCPMvRIObLek36Toq7YEzn4xRdZEKZ wYNbVE28S+8+nRFq6rJ7SMNaSo1ewMA5DxHrMKtmk51sk4qdXn9rim7lImnaw98hFTlc2x kB3OJDfbFPCprx452o30fyOg8HxKkQcqF0P8cBa6uxdhgqDq65u7VYnFzKGOdruBZUeXSU ETZPWGhz6dhA/AiLubMJloEIJL5I+2p7qSgUPUSHV+47gRVqPgDWQaWjIIiuHdmL34TYuw 3n98Vr472t4oVhvvwkM3lxmbRyqL0flY32vgamuoQ2TXFbvY8ruCaVeqDdSGqw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJ5TW1DYfzcwQ; Fri, 05 Sep 2025 06:06: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 58566sCI071504; Fri, 5 Sep 2025 06:06:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 58566sBF071501; Fri, 5 Sep 2025 06:06:54 GMT (envelope-from git) Date: Fri, 5 Sep 2025 06:06:54 GMT Message-Id: <202509050606.58566sBF071501@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 4cb50d74c19c - main - tcp: improve compilability List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4cb50d74c19c014e8099272777eb20aaf834d61c Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=4cb50d74c19c014e8099272777eb20aaf834d61c commit 4cb50d74c19c014e8099272777eb20aaf834d61c Author: Michael Tuexen AuthorDate: 2025-09-05 06:00:52 +0000 Commit: Michael Tuexen CommitDate: 2025-09-05 06:06:44 +0000 tcp: improve compilability When building with DDB support, the inclusion of in_kdtrace.h is needed. Make this explicit and don't rely on tcp_var.h to do this. This is required for stable/14. Fixes: a62c6b0de48a ("ddb: add optional printing of BBLog entries") MFC after: immediately Sponsored by: Netflix, Inc. --- sys/netinet/tcp_log_buf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netinet/tcp_log_buf.c b/sys/netinet/tcp_log_buf.c index e24790ece43d..473c534ef83d 100644 --- a/sys/netinet/tcp_log_buf.c +++ b/sys/netinet/tcp_log_buf.c @@ -61,6 +61,9 @@ #include #include +#ifdef DDB +#include +#endif #include #include #include From nobody Fri Sep 5 13:33:22 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJHNv6Bkmz67b3Q; Fri, 05 Sep 2025 13:33:35 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJHNv5q1bz3dkf; Fri, 05 Sep 2025 13:33:35 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757079215; 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=UtcxBhvhfWGc3P0LlwYpYniJdgCje7UJYu72PWnHj50=; b=RANFkBNEHX8pQ5fqH1yhu7tvmsU61YH7UFerRANijZVd9j8nKV0clBWeRa4ePEGtStm9h/ jfc7c3acRhqvt1eyoXl3OL93SUGv/N2sl8dG8e3AZDidU+WOwYEZNHiRGLaiNrOVIQjmqq 3/Bo6alcVyIPulGFEHde8BATMjFAZg16k9g7/ilOZIE/MKAcDwNuKE5C7z+m2LAvL8NeFL Qp0g/k+5Mv/yBcSSZAinTc2XAwL7z5fKL/obA8SflToXyCmn6lCX2L+9NdZWoY1EXgSbVs vtwSv2pYD/DzPL8jP3MyowOyyyM0B9t7t5Jb3dKxBwKJRkLB8btULZ41P2Pmmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757079215; 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=UtcxBhvhfWGc3P0LlwYpYniJdgCje7UJYu72PWnHj50=; b=YCO+Ep0txwJSut7aFi936tW88NXzO2fRo6ykGczN3mrml1f39o3d+BccjZHtjDlwj/0Xrt qF9nvi8GlrGFMov+o1Zf0FlQgQYsUTyz4jx4LWS/XHDtYR6Jty9Tthxu0Wg6vzdiDG4SJ/ +zItWr7XDaXmD/vuA2HnH/Mn8i6EtwdQzg0X4v8iiF2lAMxMuJAHrgHl/Jqa3rJdgZRA4b 7c42zmkBUpnwbx8bVRsbRFktxTieKlH7ITWoyHA7cBFZqY3oTLPAhbnz8nZNE9GxYTCSoP cf1iTr7NctSFjOGytBRPMZvSOo4XHkicJd/QsIyNYBANRHTSaheTbOHhCmw9wQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757079215; a=rsa-sha256; cv=none; b=fQ/zXuXEsESlzuOSW85jkkoFYxHSbxBsp4YwvAUzQtofoV5rWi4MpJV3Z5cRKYHJkZWPLM BViy8Rf86P/p5/QU3t0PnYZxuJ2/W4v3rbTeoMildyNOm1DB5YPHoGeJxCoUCh+2ZaWvmp wt1KBdlNqYc0OqYjGT1rzsGoboXIAOgBeesiUIIdTzK6ZyEdQDVOy0RpdvJcjg0VrS7xRq Ox4U9ruYtALSN1n+9pihsGIT87OSfxBRgRhdEboctI0jUaLbCmBw5862HDIE36ALvTlXss /wvgJebrRp5hi6t96ICrZF155BoNYFjOw4HjD8oDt4aQydUycYai5fWGh95Rng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E6" (verified OK)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJHNv1ZL4zylx; Fri, 05 Sep 2025 13:33:35 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id 6A879A64805; Fri, 05 Sep 2025 13:33:19 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 2214E2D029E3; Fri, 5 Sep 2025 13:33:27 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id mwoyICf0MupF; Fri, 5 Sep 2025 13:33:22 +0000 (UTC) Received: from strong-iwl0.sbone.de (strong-iwl0.sbone.de [IPv6:fde9:577b:c1a9:4902:a66b:b6ff:fe40:39a9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 493E12D029D8; Fri, 5 Sep 2025 13:33:22 +0000 (UTC) Date: Fri, 5 Sep 2025 13:33:22 +0000 (UTC) From: "Bjoern A. Zeeb" To: Jamie Gritton cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 851dc7f859c2 - main - jail: add jail descriptors In-Reply-To: <202509042031.584KVpxY000408@gitrepo.freebsd.org> Message-ID: <7nnn754n-7r54-79rp-438n-12nsp9non865@SerrOFQ.bet> References: <202509042031.584KVpxY000408@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII On Thu, 4 Sep 2025, Jamie Gritton wrote: > The branch main has been updated by jamie: > > URL: https://cgit.FreeBSD.org/src/commit/?id=851dc7f859c23cab09a348bca03ab655534fb7e0 > > commit 851dc7f859c23cab09a348bca03ab655534fb7e0 > Author: Jamie Gritton > AuthorDate: 2025-09-04 20:27:47 +0000 > Commit: Jamie Gritton > CommitDate: 2025-09-04 20:27:47 +0000 > > jail: add jail descriptors > > Similar to process descriptors, jail desriptors are allow jail > administration using the file descriptor interface instead of JIDs. > They come from and can be used by jail_set(2) and jail_get(2), > and there are two new system calls, jail_attach_jd(2) and > jail_remove_jd(2). > > Reviewed by: bz, brooks Just for the records, I looked at this more than a year ago but I have not done any (final) review. Still happy that this landed. > Relnotes: yes > Differential Revision: https://reviews.freebsd.org/D43696 > --- > lib/libjail/jail.c | 64 +++- > lib/libsys/Symbol.sys.map | 2 + > lib/libsys/_libsys.h | 4 + > lib/libsys/jail.2 | 267 ++++++++++++++++- > lib/libsys/syscalls.map | 4 + > sys/compat/freebsd32/freebsd32_syscall.h | 4 +- > sys/compat/freebsd32/freebsd32_syscalls.c | 2 + > sys/compat/freebsd32/freebsd32_sysent.c | 2 + > sys/compat/freebsd32/freebsd32_systrace_args.c | 44 +++ > sys/conf/files | 1 + > sys/kern/init_sysent.c | 2 + > sys/kern/kern_descrip.c | 2 + > sys/kern/kern_jail.c | 396 +++++++++++++++++++++++-- > sys/kern/kern_jaildesc.c | 337 +++++++++++++++++++++ > sys/kern/syscalls.c | 2 + > sys/kern/syscalls.master | 10 + > sys/kern/systrace_args.c | 44 +++ > sys/sys/file.h | 1 + > sys/sys/jail.h | 15 +- > sys/sys/jaildesc.h | 85 ++++++ > sys/sys/syscall.h | 4 +- > sys/sys/syscall.mk | 4 +- > sys/sys/sysproto.h | 10 + > sys/sys/user.h | 4 + > 24 files changed, 1256 insertions(+), 54 deletions(-) > > diff --git a/lib/libjail/jail.c b/lib/libjail/jail.c > index 30282e67866c..931391055919 100644 > --- a/lib/libjail/jail.c > +++ b/lib/libjail/jail.c > @@ -75,8 +75,9 @@ int > jail_setv(int flags, ...) > { > va_list ap, tap; > - struct jailparam *jp; > - const char *name, *value; > + struct jailparam *jp, *jp_desc; > + const char *name; > + char *value, *desc_value; > int njp, jid; > > /* Create the parameter list and import the parameters. */ > @@ -86,15 +87,24 @@ jail_setv(int flags, ...) > (void)va_arg(tap, char *); > va_end(tap); > jp = alloca(njp * sizeof(struct jailparam)); > - for (njp = 0; (name = va_arg(ap, char *)) != NULL;) { > + jp_desc = NULL; > + desc_value = NULL; > + for (njp = 0; (name = va_arg(ap, char *)) != NULL; njp++) { > value = va_arg(ap, char *); > if (jailparam_init(jp + njp, name) < 0) > goto error; > - if (jailparam_import(jp + njp++, value) < 0) > + if (jailparam_import(jp + njp, value) < 0) > goto error; > + if (!strcmp(name, "desc") > + && (flags & (JAIL_GET_DESC | JAIL_OWN_DESC))) { > + jp_desc = jp + njp; > + desc_value = value; > + } > } > va_end(ap); > jid = jailparam_set(jp, njp, flags); > + if (jid > 0 && jp_desc != NULL) > + sprintf(desc_value, "%d", *(int *)jp_desc->jp_value); > jailparam_free(jp, njp); > return (jid); > > @@ -112,9 +122,10 @@ int > jail_getv(int flags, ...) > { > va_list ap, tap; > - struct jailparam *jp, *jp_lastjid, *jp_jid, *jp_name, *jp_key; > + struct jailparam *jp, *jp_desc, *jp_lastjid, *jp_jid, *jp_name, *jp_key; > char *valarg, *value; > - const char *name, *key_value, *lastjid_value, *jid_value, *name_value; > + const char *name, *key_value, *desc_value, *lastjid_value, *jid_value; > + const char *name_value; > int njp, i, jid; > > /* Create the parameter list and find the key. */ > @@ -126,15 +137,19 @@ jail_getv(int flags, ...) > > jp = alloca(njp * sizeof(struct jailparam)); > va_copy(tap, ap); > - jp_lastjid = jp_jid = jp_name = NULL; > - lastjid_value = jid_value = name_value = NULL; > + jp_desc = jp_lastjid = jp_jid = jp_name = NULL; > + desc_value = lastjid_value = jid_value = name_value = NULL; > for (njp = 0; (name = va_arg(tap, char *)) != NULL; njp++) { > value = va_arg(tap, char *); > if (jailparam_init(jp + njp, name) < 0) { > va_end(tap); > goto error; > } > - if (!strcmp(jp[njp].jp_name, "lastjid")) { > + if (!strcmp(jp[njp].jp_name, "desc") > + && (flags & (JAIL_USE_DESC | JAIL_AT_DESC))) { > + jp_desc = jp + njp; > + desc_value = value; > + } else if (!strcmp(jp[njp].jp_name, "lastjid")) { > jp_lastjid = jp + njp; > lastjid_value = value; > } else if (!strcmp(jp[njp].jp_name, "jid")) { > @@ -147,7 +162,10 @@ jail_getv(int flags, ...) > } > va_end(tap); > /* Import the key parameter. */ > - if (jp_lastjid != NULL) { > + if (jp_desc != NULL && (flags & JAIL_USE_DESC)) { > + jp_key = jp_desc; > + key_value = desc_value; > + } else if (jp_lastjid != NULL) { > jp_key = jp_lastjid; > key_value = lastjid_value; > } else if (jp_jid != NULL && strtol(jid_value, NULL, 10) != 0) { > @@ -163,6 +181,9 @@ jail_getv(int flags, ...) > } > if (jailparam_import(jp_key, key_value) < 0) > goto error; > + if (jp_desc != NULL && jp_desc != jp_key > + && jailparam_import(jp_desc, desc_value) < 0) > + goto error; > /* Get the jail and export the parameters. */ > jid = jailparam_get(jp, njp, flags); > if (jid < 0) > @@ -571,7 +592,7 @@ int > jailparam_get(struct jailparam *jp, unsigned njp, int flags) > { > struct iovec *jiov; > - struct jailparam *jp_lastjid, *jp_jid, *jp_name, *jp_key; > + struct jailparam *jp_desc, *jp_lastjid, *jp_jid, *jp_name, *jp_key; > int i, ai, ki, jid, arrays, sanity; > unsigned j; > > @@ -580,10 +601,13 @@ jailparam_get(struct jailparam *jp, unsigned njp, int flags) > * Find the key and any array parameters. > */ > jiov = alloca(sizeof(struct iovec) * 2 * (njp + 1)); > - jp_lastjid = jp_jid = jp_name = NULL; > + jp_desc = jp_lastjid = jp_jid = jp_name = NULL; > arrays = 0; > for (ai = j = 0; j < njp; j++) { > - if (!strcmp(jp[j].jp_name, "lastjid")) > + if (!strcmp(jp[j].jp_name, "desc") > + && (flags & (JAIL_USE_DESC | JAIL_AT_DESC))) > + jp_desc = jp + j; > + else if (!strcmp(jp[j].jp_name, "lastjid")) > jp_lastjid = jp + j; > else if (!strcmp(jp[j].jp_name, "jid")) > jp_jid = jp + j; > @@ -599,7 +623,9 @@ jailparam_get(struct jailparam *jp, unsigned njp, int flags) > ai++; > } > } > - jp_key = jp_lastjid ? jp_lastjid : > + jp_key = jp_desc && jp_desc->jp_valuelen == sizeof(int) && > + jp_desc->jp_value && (flags & JAIL_USE_DESC) ? jp_desc : > + jp_lastjid ? jp_lastjid : > jp_jid && jp_jid->jp_valuelen == sizeof(int) && > jp_jid->jp_value && *(int *)jp_jid->jp_value ? jp_jid : jp_name; > if (jp_key == NULL || jp_key->jp_value == NULL) { > @@ -622,6 +648,14 @@ jailparam_get(struct jailparam *jp, unsigned njp, int flags) > jiov[ki].iov_len = JAIL_ERRMSGLEN; > ki++; > jail_errmsg[0] = 0; > + if (jp_desc != NULL && jp_desc != jp_key) { > + jiov[ki].iov_base = jp_desc->jp_name; > + jiov[ki].iov_len = strlen(jp_desc->jp_name) + 1; > + ki++; > + jiov[ki].iov_base = jp_desc->jp_value; > + jiov[ki].iov_len = jp_desc->jp_valuelen; > + ki++; > + } > if (arrays && jail_get(jiov, ki, flags) < 0) { > if (!jail_errmsg[0]) > snprintf(jail_errmsg, sizeof(jail_errmsg), > @@ -649,7 +683,7 @@ jailparam_get(struct jailparam *jp, unsigned njp, int flags) > jiov[ai].iov_base = jp[j].jp_value; > memset(jiov[ai].iov_base, 0, jiov[ai].iov_len); > ai++; > - } else if (jp + j != jp_key) { > + } else if (jp + j != jp_key && jp + j != jp_desc) { > jiov[i].iov_base = jp[j].jp_name; > jiov[i].iov_len = strlen(jp[j].jp_name) + 1; > i++; > diff --git a/lib/libsys/Symbol.sys.map b/lib/libsys/Symbol.sys.map > index 1a297f9df581..e3fd8ac10621 100644 > --- a/lib/libsys/Symbol.sys.map > +++ b/lib/libsys/Symbol.sys.map > @@ -382,6 +382,8 @@ FBSD_1.8 { > getrlimitusage; > inotify_add_watch_at; > inotify_rm_watch; > + jail_attach_jd; > + jail_remove_jd; > kcmp; > setcred; > setgroups; > diff --git a/lib/libsys/_libsys.h b/lib/libsys/_libsys.h > index 34eebc1aa67a..6bd768708a78 100644 > --- a/lib/libsys/_libsys.h > +++ b/lib/libsys/_libsys.h > @@ -468,6 +468,8 @@ typedef int (__sys_inotify_add_watch_at_t)(int, int, const char *, uint32_t); > typedef int (__sys_inotify_rm_watch_t)(int, int); > typedef int (__sys_getgroups_t)(int, gid_t *); > typedef int (__sys_setgroups_t)(int, const gid_t *); > +typedef int (__sys_jail_attach_jd_t)(int); > +typedef int (__sys_jail_remove_jd_t)(int); > > _Noreturn void __sys__exit(int rval); > int __sys_fork(void); > @@ -872,6 +874,8 @@ int __sys_inotify_add_watch_at(int fd, int dfd, const char * path, uint32_t mask > int __sys_inotify_rm_watch(int fd, int wd); > int __sys_getgroups(int gidsetsize, gid_t * gidset); > int __sys_setgroups(int gidsetsize, const gid_t * gidset); > +int __sys_jail_attach_jd(int fd); > +int __sys_jail_remove_jd(int fd); > __END_DECLS > > #endif /* __LIBSYS_H_ */ > diff --git a/lib/libsys/jail.2 b/lib/libsys/jail.2 > index 8f8b9925c712..a0f47cc61cb3 100644 > --- a/lib/libsys/jail.2 > +++ b/lib/libsys/jail.2 > @@ -23,7 +23,7 @@ > .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > .\" SUCH DAMAGE. > .\" > -.Dd November 29, 2023 > +.Dd September 4, 2025 > .Dt JAIL 2 > .Os > .Sh NAME > @@ -31,7 +31,9 @@ > .Nm jail_get , > .Nm jail_set , > .Nm jail_remove , > -.Nm jail_attach > +.Nm jail_attach , > +.Nm jail_remove_jd , > +.Nm jail_attach_jd > .Nd create and manage system jails > .Sh LIBRARY > .Lb libc > @@ -44,6 +46,10 @@ > .Fn jail_attach "int jid" > .Ft int > .Fn jail_remove "int jid" > +.Ft int > +.Fn jail_attach_jd "int fd" > +.Ft int > +.Fn jail_remove_jd "int fd" > .In sys/uio.h > .Ft int > .Fn jail_get "struct iovec *iov" "u_int niov" "int flags" > @@ -188,6 +194,29 @@ system call. > This is deprecated in > .Fn jail_set > and has no effect. > +.It Dv JAIL_USE_DESC > +Identify the jail by a descriptor in the > +.Va desc > +parameter. > +.It Dv JAIL_AT_DESC > +Operate in the context of the jail described by the > +.Va desc > +parameter, instead of the current jail. > +Only one of > +.Dv JAIL_USE_DESC > +or > +.Dv JAIL_AT_DESC > +may be specified. > +.It Dv JAIL_GET_DESC > +Return a new jail descriptor for the jail in the > +.Va desc > +parameter. > +.It Dv JAIL_OWN_DESC > +Return an > +.Dq owning > +jail descriptor in the > +.Va desc > +parameter. > .El > .Pp > The > @@ -221,6 +250,9 @@ arguments consists of one or more following flags: > .Bl -tag -width indent > .It Dv JAIL_DYING > Allow getting a jail that is in the process of being removed. > +.It Dv JAIL_USE_DESC , Dv JAIL_AT_DESC , Dv JAIL_GET_DESC , Dv JAIL_OWN_DESC > +These have the same meaning as they do in > +.Fn jail_set . > .El > .Pp > The > @@ -238,6 +270,101 @@ system call removes the jail identified by > .Fa jid . > It will kill all processes belonging to the jail, and remove any children > of that jail. > +.Pp > +The > +.Fn jail_attach_fd > +and > +.Fn jail_remove_fd > +system calls work the same as > +.Fn jail_attach > +and > +.Fn jail_remove , > +except that they operate on the jail identified by jail descriptor > +.Fa fd . > +.Ss Jail Descriptors > +In addition to the jail ID, > +jails can be referred to using a jail descriptor, > +a type of file descriptor tied to a particular jail. > +Jail descriptors are created by calling > +.Fn jail_set > +or > +.Fn jail_get > +with the special parameter > +.Va desc , > +and either the > +.Dv JAIL_GET_DESC > +or > +.Dv JAIL_OWN_DESC > +flags set. > +The difference between the two flags is that descriptors created with > +.Dv JAIL_OWN_DESC > +.Po > +called > +.Dq owning > +descriptors > +.Pc > +will automatically remove the jail when the descriptor is closed. > +.Pp > +Jail descriptors can be passed back to > +.Fn jail_set > +or > +.Fm jail_get > +with the > +.Va desc > +parameter, > +and either the > +.Dv JAIL_USE_DESC > +or > +.Dv JAIL_AT_DESC > +flags set. > +With > +.Dv JAIL_USE_DESC , > +the descriptor identifies the jail to operate on, > +instead of the > +.Va jid > +or > +.Va name > +parameter. > +With > +.Dv JAIL_AT_DESC , > +the descriptor is used in place of the current jail, > +allowing accessing or creating jails that are children of the > +descriptor jail. > +.Pp > +The system calls > +.Fn jail_attach_jd > +and > +.Fn jail_aremove_jd > +work the same as > +.Fn jail_attach > +and > +.Fn jail_remove , > +except that they operate on the jail referred to by the passed descriptor. > +.Pp > +Jail operations via descriptors can be done by processes that do not > +normally have permission to see or affect the jail, > +as long as they are allowed by the file permissions of the jail > +descriptor itself. > +These permissions can be changed by the descriptor owner via > +.Xr fchmod 2 > +and > +.Xr fchown 2 . > +.Fn jail_get > +requires read permission, > +.Fn jail_set > +and > +.Fn jail_remove > +require write permission, > +and > +.Fn jail_attach > +requires execute permission. > +Also, use of a descriptor with the > +.Dv JAIL_AT_DESC > +flag requires execute permission. > +An owning descriptor is identified by the > +.Em sticky bit , > +which may also be changed via > +.Xr fchmod 2 . > .Sh RETURN VALUES > If successful, > .Fn jail , > @@ -249,7 +376,7 @@ They return \-1 on failure, and set > .Va errno > to indicate the error. > .Pp > -.Rv -std jail_attach jail_remove > +.Rv -std jail_attach jail_remove jail_attach_jd jail_remove_jd > .Sh ERRORS > The > .Fn jail > @@ -275,12 +402,44 @@ The > system call > will fail if: > .Bl -tag -width Er > +.It Bq Er EBADF > +The > +.Va desc > +parameter does not refer to a valid jail descriptor, > +and either the > +.Dv JAIL_USE_DESC > +or > +.Dv JAIL_AT_DESC > +flag was set. > +.It Bq Er EACCES > +Write permission is denied on the jail descriptor in the > +.Va desc > +parameter, > +and the > +.Dv JAIL_USE_DESC > +flag was set. > +.It Bq Er EACCES > +Execute permission is denied on the jail descriptor in the > +.Va desc > +parameter, > +and either the > +.Dv JAIL_AT_DESC > +or > +.Dv JAIL_ATTACH > +flag was set. > .It Bq Er EPERM > This process is not allowed to create a jail, either because it is not > the super-user, or because it would exceed the jail's > .Va children.max > limit. > .It Bq Er EPERM > +The jail descriptor in the > +.Va desc > +parameter was created by a user other than the super-user, > +and the > +.Dv JAIL_USE_DESC > +flag was set. > +.It Bq Er EPERM > A jail parameter was set to a less restrictive value then the current > environment. > .It Bq Er EFAULT > @@ -298,8 +457,12 @@ flag is not set. > .It Bq Er ENOENT > The jail referred to by a > .Va jid > -is not accessible by the process, because the process is in a different > -jail. > +parameter is not accessible by the process, because the process is in a > +different jail. > +.It Bq Er ENOENT > +The jail referred to by a > +.Va desc > +parameter has been removed. > .It Bq Er EEXIST > The jail referred to by a > .Va jid > @@ -326,6 +489,24 @@ flags is not set. > A supplied string parameter is longer than allowed. > .It Bq Er EAGAIN > There are no jail IDs left. > +.It Bq Er EMFILE > +A jail descriptor could not be created for the > +.Va desc > +parameter with either the > +.Dv JAIL_GET_DESC > +or > +.Dv JAIL_OWN_DESC > +flag set, > +because the process has already reached its limit for open file descriptors. > +.It Bq Er ENFILE > +A jail descriptor could not be created for the > +.Va desc > +parameter with either the > +.Dv JAIL_GET_DESC > +or > +.Dv JAIL_OWN_DESC > +flag set, > +because the system file table is full. > .El > .Pp > The > @@ -333,6 +514,29 @@ The > system call > will fail if: > .Bl -tag -width Er > +.It Bq Er EBADF > +The > +.Va desc > +parameter does not refer to a valid jail descriptor, > +and either the > +.Dv JAIL_USE_DESC > +or > +.Dv JAIL_AT_DESC > +flag was set. > +.It Bq Er EACCES > +Read permission is denied on the jail descriptor in the > +.Va desc > +parameter, > +and the > +.Dv JAIL_USE_DESC > +flag was set. > +.It Bq Er EACCES > +Execute permission is denied on the jail descriptor in the > +.Va desc > +parameter, > +and the > +.Dv JAIL_AT_DESC > +flag was set. > .It Bq Er EFAULT > .Fa Iov , > or one of the addresses contained within it, > @@ -352,10 +556,33 @@ jail. > The > .Va lastjid > parameter is greater than the highest current jail ID. > +.It Bq Er ENOENT > +The jail referred to by a > +.Va desc > +parameter has been removed > +.Pq even if the Dv JAIL_CREATE flag has been set . > .It Bq Er EINVAL > A supplied parameter is the wrong size. > .It Bq Er EINVAL > A supplied parameter name does not match any known parameters. > +.It Bq Er EMFILE > +A jail descriptor could not be created for the > +.Va desc > +parameter with either the > +.Dv JAIL_GET_DESC > +or > +.Dv JAIL_OWN_DESC > +flag set, > +because the process has already reached its limit for open file descriptors. > +.It Bq Er ENFILE > +A jail descriptor could not be created for the > +.Va desc > +parameter with either the > +.Dv JAIL_GET_DESC > +or > +.Dv JAIL_OWN_DESC > +flag set, > +because the system file table is full. > .El > .Pp > The > @@ -373,11 +600,39 @@ The jail specified by > does not exist. > .El > .Pp > +The > +.Fn jail_attach_jd > +and > +.Fn jail_remove_jd > +system calls > +will fail if: > +.Bl -tag -width Er > +.It Bq Er EBADF > +The > +.Fa fd > +argument is not a valid jail descriptor. > +.It Bq Er EACCES > +Permission is denied on the jail descriptor > +.Po > +execute permission for > +.Fn jail_attach_fd , > +or write permission for > +.Fn jail_remove_fd > +.Pc . > +.It Bq Er EPERM > +The jail descriptor was created by a user other than the super-user. > +.It Bq Er EINVAL > +The jail specified by > +.Fa jid > +has been removed. > +.El > +.Pp > Further > .Fn jail , > .Fn jail_set , > +.Fn jail_attach , > and > -.Fn jail_attach > +.Fn jail_attach_jd > call > .Xr chroot 2 > internally, so they can fail for all the same reasons. > diff --git a/lib/libsys/syscalls.map b/lib/libsys/syscalls.map > index 4cf80a2ffc69..b5400b9849b3 100644 > --- a/lib/libsys/syscalls.map > +++ b/lib/libsys/syscalls.map > @@ -813,4 +813,8 @@ FBSDprivate_1.0 { > __sys_getgroups; > _setgroups; > __sys_setgroups; > + _jail_attach_jd; > + __sys_jail_attach_jd; > + _jail_remove_jd; > + __sys_jail_remove_jd; > }; > diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h > index 90cd21a80923..54063150eef9 100644 > --- a/sys/compat/freebsd32/freebsd32_syscall.h > +++ b/sys/compat/freebsd32/freebsd32_syscall.h > @@ -515,4 +515,6 @@ > #define FREEBSD32_SYS_inotify_rm_watch 594 > #define FREEBSD32_SYS_getgroups 595 > #define FREEBSD32_SYS_setgroups 596 > -#define FREEBSD32_SYS_MAXSYSCALL 597 > +#define FREEBSD32_SYS_jail_attach_jd 597 > +#define FREEBSD32_SYS_jail_remove_jd 598 > +#define FREEBSD32_SYS_MAXSYSCALL 599 > diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c > index f0f8d26554b5..f7cc4c284e4d 100644 > --- a/sys/compat/freebsd32/freebsd32_syscalls.c > +++ b/sys/compat/freebsd32/freebsd32_syscalls.c > @@ -602,4 +602,6 @@ const char *freebsd32_syscallnames[] = { > "inotify_rm_watch", /* 594 = inotify_rm_watch */ > "getgroups", /* 595 = getgroups */ > "setgroups", /* 596 = setgroups */ > + "jail_attach_jd", /* 597 = jail_attach_jd */ > + "jail_remove_jd", /* 598 = jail_remove_jd */ > }; > diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c > index 12f1a346c3e9..18f809ef04e3 100644 > --- a/sys/compat/freebsd32/freebsd32_sysent.c > +++ b/sys/compat/freebsd32/freebsd32_sysent.c > @@ -664,4 +664,6 @@ struct sysent freebsd32_sysent[] = { > { .sy_narg = AS(inotify_rm_watch_args), .sy_call = (sy_call_t *)sys_inotify_rm_watch, .sy_auevent = AUE_INOTIFY, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 594 = inotify_rm_watch */ > { .sy_narg = AS(getgroups_args), .sy_call = (sy_call_t *)sys_getgroups, .sy_auevent = AUE_GETGROUPS, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 595 = getgroups */ > { .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, .sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 596 = setgroups */ > + { .sy_narg = AS(jail_attach_jd_args), .sy_call = (sy_call_t *)sys_jail_attach_jd, .sy_auevent = AUE_JAIL_ATTACH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 597 = jail_attach_jd */ > + { .sy_narg = AS(jail_remove_jd_args), .sy_call = (sy_call_t *)sys_jail_remove_jd, .sy_auevent = AUE_JAIL_REMOVE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 598 = jail_remove_jd */ > }; > diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c > index e471c5148021..29a5497e9efa 100644 > --- a/sys/compat/freebsd32/freebsd32_systrace_args.c > +++ b/sys/compat/freebsd32/freebsd32_systrace_args.c > @@ -3413,6 +3413,20 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args) > *n_args = 2; > break; > } > + /* jail_attach_jd */ > + case 597: { > + struct jail_attach_jd_args *p = params; > + iarg[a++] = p->fd; /* int */ > + *n_args = 1; > + break; > + } > + /* jail_remove_jd */ > + case 598: { > + struct jail_remove_jd_args *p = params; > + iarg[a++] = p->fd; /* int */ > + *n_args = 1; > + break; > + } > default: > *n_args = 0; > break; > @@ -9222,6 +9236,26 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) > break; > }; > break; > + /* jail_attach_jd */ > + case 597: > + switch (ndx) { > + case 0: > + p = "int"; > + break; > + default: > + break; > + }; > + break; > + /* jail_remove_jd */ > + case 598: > + switch (ndx) { > + case 0: > + p = "int"; > + break; > + default: > + break; > + }; > + break; > default: > break; > }; > @@ -11130,6 +11164,16 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) > if (ndx == 0 || ndx == 1) > p = "int"; > break; > + /* jail_attach_jd */ > + case 597: > + if (ndx == 0 || ndx == 1) > + p = "int"; > + break; > + /* jail_remove_jd */ > + case 598: > + if (ndx == 0 || ndx == 1) > + p = "int"; > + break; > default: > break; > }; > diff --git a/sys/conf/files b/sys/conf/files > index d89813c70355..9661bafea8f9 100644 > --- a/sys/conf/files > +++ b/sys/conf/files > @@ -3808,6 +3808,7 @@ kern/kern_hhook.c standard > kern/kern_idle.c standard > kern/kern_intr.c standard > kern/kern_jail.c standard > +kern/kern_jaildesc.c standard > kern/kern_jailmeta.c standard > kern/kern_kcov.c optional kcov \ > compile-with "${NOSAN_C} ${MSAN_CFLAGS}" > diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c > index fcd232cde21e..e42e7dcf8b44 100644 > --- a/sys/kern/init_sysent.c > +++ b/sys/kern/init_sysent.c > @@ -663,4 +663,6 @@ struct sysent sysent[] = { > { .sy_narg = AS(inotify_rm_watch_args), .sy_call = (sy_call_t *)sys_inotify_rm_watch, .sy_auevent = AUE_INOTIFY, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 594 = inotify_rm_watch */ > { .sy_narg = AS(getgroups_args), .sy_call = (sy_call_t *)sys_getgroups, .sy_auevent = AUE_GETGROUPS, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 595 = getgroups */ > { .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, .sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 596 = setgroups */ > + { .sy_narg = AS(jail_attach_jd_args), .sy_call = (sy_call_t *)sys_jail_attach_jd, .sy_auevent = AUE_JAIL_ATTACH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 597 = jail_attach_jd */ > + { .sy_narg = AS(jail_remove_jd_args), .sy_call = (sy_call_t *)sys_jail_remove_jd, .sy_auevent = AUE_JAIL_REMOVE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 598 = jail_remove_jd */ > }; > diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c > index a27ab33b34da..057235574eb5 100644 > --- a/sys/kern/kern_descrip.c > +++ b/sys/kern/kern_descrip.c > @@ -5250,6 +5250,8 @@ file_type_to_name(short type) > return ("eventfd"); > case DTYPE_TIMERFD: > return ("timerfd"); > + case DTYPE_JAILDESC: > + return ("jail"); > default: > return ("unkn"); > } > diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c > index 52210553016b..5a1fbe23ddeb 100644 > --- a/sys/kern/kern_jail.c > +++ b/sys/kern/kern_jail.c > @@ -39,6 +39,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -49,6 +50,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -988,6 +990,8 @@ prison_ip_cnt(const struct prison *pr, const pr_family_t af) > int > kern_jail_set(struct thread *td, struct uio *optuio, int flags) > { > + struct file *jfp_out; > + struct jaildesc *desc_in; > struct nameidata nd; > #ifdef INET > struct prison_ip *ip4; > @@ -998,6 +1002,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) > struct vfsopt *opt; > struct vfsoptlist *opts; > struct prison *pr, *deadpr, *dinspr, *inspr, *mypr, *ppr, *tpr; > + struct ucred *jdcred; > struct vnode *root; > char *domain, *errmsg, *host, *name, *namelc, *p, *path, *uuid; > char *g_path, *osrelstr; > @@ -1011,7 +1016,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) > int created, cuflags, descend, drflags, enforce; > int error, errmsg_len, errmsg_pos; > int gotchildmax, gotenforce, gothid, gotrsnum, gotslevel; > - int deadid, jid, jsys, len, level; > + int deadid, jfd_in, jfd_out, jfd_pos, jid, jsys, len, level; > int childmax, osreldt, rsnum, slevel; > #ifdef INET > int ip4s; > @@ -1027,17 +1032,26 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) > unsigned tallow; > char numbuf[12]; > > - error = priv_check(td, PRIV_JAIL_SET); > - if (!error && (flags & JAIL_ATTACH)) > - error = priv_check(td, PRIV_JAIL_ATTACH); > - if (error) > - return (error); > mypr = td->td_ucred->cr_prison; > - if ((flags & JAIL_CREATE) && mypr->pr_childmax == 0) > + if (((flags & (JAIL_CREATE | JAIL_AT_DESC)) == JAIL_CREATE) > + && mypr->pr_childmax == 0) > return (EPERM); > if (flags & ~JAIL_SET_MASK) > return (EINVAL); > + if ((flags & (JAIL_USE_DESC | JAIL_AT_DESC)) > + == (JAIL_USE_DESC | JAIL_AT_DESC)) > + return (EINVAL); > + prison_hold(mypr); > > +#ifdef INET > + ip4 = NULL; > +#endif > +#ifdef INET6 > + ip6 = NULL; > +#endif > + g_path = NULL; > + jfp_out = NULL; > + jfd_out = -1; > /* > * Check all the parameters before committing to anything. Not all > * errors can be caught early, but we may as well try. Also, this > @@ -1050,14 +1064,7 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) > */ > error = vfs_buildopts(optuio, &opts); > if (error) > - return (error); > -#ifdef INET > - ip4 = NULL; > -#endif > -#ifdef INET6 > - ip6 = NULL; > -#endif > - g_path = NULL; > + goto done_free; > > cuflags = flags & (JAIL_CREATE | JAIL_UPDATE); > if (!cuflags) { > @@ -1066,6 +1073,72 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) > goto done_errmsg; > } > > + error = vfs_copyopt(opts, "desc", &jfd_in, sizeof(jfd_in)); > + if (error == ENOENT) { > + if (flags & (JAIL_USE_DESC | JAIL_AT_DESC | JAIL_GET_DESC | > + JAIL_OWN_DESC)) { > + vfs_opterror(opts, "missing desc"); > + goto done_errmsg; > + } > + jfd_in = -1; > + } else if (error != 0) > + goto done_free; > + else { > + if (!(flags & (JAIL_USE_DESC | JAIL_AT_DESC | JAIL_GET_DESC | > + JAIL_OWN_DESC))) { > + vfs_opterror(opts, "unexpected desc"); > + goto done_errmsg; > + } > + if (flags & JAIL_AT_DESC) { > + /* > + * Look up and create jails based on the > + * descriptor's prison. > + */ > + prison_free(mypr); > + error = jaildesc_find(td, jfd_in, &desc_in, &mypr, > + NULL); > + if (error != 0) { > + vfs_opterror(opts, error == ENOENT > + ? "descriptor to dead jail" > + : "not a jail descriptor"); > + goto done_errmsg; > + } > + /* > + * Check file permissions using the current > + * credentials, and operation permissions > + * using the descriptor's credentials. > + */ > + error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, > + desc_in->jd_gid, VEXEC, td->td_ucred); > + JAILDESC_UNLOCK(desc_in); > + if (error != 0) > + goto done_free; > + if ((flags & JAIL_CREATE) && mypr->pr_childmax == 0) { > + error = EPERM; > + goto done_free; > + } > + } > + if (flags & (JAIL_GET_DESC | JAIL_OWN_DESC)) { > + /* Allocate a jail descriptor to return later. */ > + error = jaildesc_alloc(td, &jfp_out, &jfd_out, > + flags & JAIL_OWN_DESC); > + if (error) > + goto done_free; > + } > + } > + > + /* > + * Delay the permission check if using a jail descriptor, > + * until we get the descriptor's credentials. > + */ > + if (!(flags & JAIL_USE_DESC)) { > + error = priv_check(td, PRIV_JAIL_SET); > + if (error == 0 && (flags & JAIL_ATTACH)) > + error = priv_check(td, PRIV_JAIL_ATTACH); > + if (error) > + goto done_free; > + } > + > error = vfs_copyopt(opts, "jid", &jid, sizeof(jid)); > if (error == ENOENT) > jid = 0; > @@ -1441,7 +1514,57 @@ kern_jail_set(struct thread *td, struct uio *optuio, int flags) > error = EAGAIN; > goto done_deref; > } > - if (jid != 0) { > + if (flags & JAIL_USE_DESC) { > + /* Get the jail from its descriptor. */ > + error = jaildesc_find(td, jfd_in, &desc_in, &pr, &jdcred); > + if (error) { > + vfs_opterror(opts, error == ENOENT > + ? "descriptor to dead jail" > + : "not a jail descriptor"); > + goto done_deref; > + } > + drflags |= PD_DEREF; > + /* > + * Check file permissions using the current credentials, > + * and operation permissions using the descriptor's > + * credentials. > + */ > + error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, > + desc_in->jd_gid, VWRITE, td->td_ucred); > + if (error == 0 && (flags & JAIL_ATTACH)) > + error = vaccess(VREG, desc_in->jd_mode, desc_in->jd_uid, > + desc_in->jd_gid, VEXEC, td->td_ucred); > + JAILDESC_UNLOCK(desc_in); > + if (error == 0) > + error = priv_check_cred(jdcred, PRIV_JAIL_SET); > + if (error == 0 && (flags & JAIL_ATTACH)) > + error = priv_check_cred(jdcred, PRIV_JAIL_ATTACH); > + crfree(jdcred); > + if (error) > + goto done_deref; > + mtx_lock(&pr->pr_mtx); > + drflags |= PD_LOCKED; > + if (cuflags == JAIL_CREATE) { > + error = EEXIST; > + vfs_opterror(opts, "jail %d already exists", > + pr->pr_id); > + goto done_deref; > + } > + if (!prison_isalive(pr)) { > + /* While a jid can be resurrected, the prison > + * itself cannot. > + */ > + error = ENOENT; > + vfs_opterror(opts, "jail %d is dying", pr->pr_id); > *** 1065 LINES SKIPPED *** > -- Bjoern A. Zeeb r15:7 From nobody Fri Sep 5 13:46:32 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJHhB250Pz67bnF for ; Fri, 05 Sep 2025 13:46:50 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic311-23.consmr.mail.gq1.yahoo.com (sonic311-23.consmr.mail.gq1.yahoo.com [98.137.65.204]) (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 4cJHhB01hYz3gZ4 for ; Fri, 05 Sep 2025 13:46:49 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=aRdI4ugj; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.65.204 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1757080004; bh=cY/1Sg1LjY8q3ZCZkgudy6NvwOCqrWe2TbOAqqY8U0M=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=aRdI4ugjWn4NPYqHxW+qRx3QE8VF2tQx+oNgdnASCGFmT6YCcjpReaKOGu/VRXOdrSCxkLS5VWJPETEIuArTeUKuAA7jwSUfDtPzLqZdNtxydadaSoz/+gTfufZ9z24euirpn1ggTvkuTz+L5WV/3DEP2GP6TJH54JzQwJxNrCLIoYVd68ycdTCH7XoAscx6HF+y+xcO1LexwHiBiXGk6TIfQ2NbcPBxyM5rdW6W9aZUDbIo7BoE8WbfA5LJsPo/KaoiXyi2FGRyT4Pc+KQW8HYmcAiLc848SXRYVZIk1qjqThfgFzNKb9uSzmvsbVGwJoCGFPDd9gbHppSlME5Jug== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1757080004; bh=CJ572sItBw6AUDIceTN/7SAYKz8PWM975EsuP+Il7XT=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=qbYeOLwQvJF92Di5hgibqISPXBtvotfjrLQbaaYR3Sc0+IqGqz94Nx+ishVSZroCqy17rdlQKNmInkCSnPOPHFzizdLNFTe/TAe4Sy/7cat4/U8fHsEOjjnzO4S31GF+Sl1sMAKY/Oyhy+yKPAErgjA70h9QRgJPMGM78w2tyExo+qIVsg6sSiUGIyzIzuKsLJKRqPRGlhRv0z9/jAgRRK69EEXZ7NJHeaK4BsC/C01GkAybYixVqBRMJDhaSlmQpvvQDIvx83EH77oXnqPtWq1GnptjW+YCPM8+X4Kri6T/N85OaFwdNThB2QXPmbMZBIuKNh5/nWp4FTr0yQLqlA== X-YMail-OSG: GSPpaPMVM1mKu7iFfVWcpgAX2xA.N03jFWjOKJLGOTzVXY6Ag3dcEzOEkIDzfR0 7PNUlg3dgJF.J_1iwp4a.GoI4MEcFYLo7YTRDtLGcV7ljDoIQ5c2arMw3jAyMEJvOCSM7XtmFd5b UuAh6czNkD_R5OKc5YWL5gPw.awBNlEnDDCe79OhpwGELKNHZyMu.8egA8H.Os9v7H0WKUtjNL6u iVWZP3cDrmM4I1oqqjcpXnpXcyzwt3ZH0YBvCOXNJHh8KhwdMQCgIOb5ZKDl1ajR4dKXZ3idUoJw pkvt7R1BdMvy21n4xDd64tev0c8TOGLlSLPOjDSQjpezvdZVtv.9sZHsRNZ85QypxwwMwkX4tKjL oDH92w1S5sl5AqfkJqPNK17HzUfrDVYB_BtW_Cc9VPI4wHamT.gzt3V5rorQ2K8T6Nh1FLIfEWrt cumsGGY995qJGafywW.2Vu1Go61yd3mlcbQFx8G24wzBaPnQnYLIAnqlL3ciUz5PX1xhA.ubPUzF Cm8yKekK7x8hkkvz3FY1Qd_s_m6I.yhKxREmcKG09a10vSCVi2TH3Ws_x1stI7DG7r9NHeu7ODHc 0dLfb8TMne9_0nKFHNwTioBHnIIwWR1xRIHRgdFGN7iCj6HnYrXkEGsVQX6tYbpaHHJz4urXRy9K hjPEukaAKuUf8LrulYAwqUEFUVUOFhaz1i2h1uI0STL116YJTs_FdqqTnc82yU2KZojAzbx2v3l2 spRDWMZRd0ZSFMYQo1Zqw5lOuHHSGEEuROD5ATJcyoejlVC8O9YS03eEXX6Uwn42oeFLFQ14coT5 l24QAga_n9m4VgdBIv9AszhTI2T5QaVt9txpHHbcFVDBO9RQzxqA0zHRoZIQXnCBxJx5rjEKU2Sb co3.SW_QPr1dctyPbyu4vtLFvwJPXjwb1ZNE18wAjSFhDTP7BvcmKPNZYCXIhn6Obcfm2JcPPm9S QGlk9FPlivpxkMnS9ZtVsoEMjqYruMES.GDyiGWH00qI7SrFmeqK.dPln8oWLWVJa1YDXrqpbJUH 2MU2avycRdWv0v0kPtjIyA_emCURQvOEkjFsE3MURvIxR745O3ZBrLaHTO02bq9ItYcMYkjSBQnP mXRoTpphiMxOCKZCjVEJp3JJTn2u.Rv47f7cow1bhK6izEzBKvXe5MJnLzdZmZDIciNWHuOUPa75 oKpLljg4vqBlt9HFXkKu4uyJ7aY9wKT7rXJ5fjt2T5iSouNqt6GF21ZY.WjXRN9JAYUUwDlqESIp IlGLdI_2aon3vv4SqBNi.4pfk7rpcT4CilAqoAnZRctMYas8CE.YOP55w7uKF_zlO1c0kV7rV_aC wt9jgNOYSLZ9Ktf2SWe4U2Gj6KsjQfOQ5f6QnWCfxmMboPpYi49HShHwepUr3_MAH7IL42WZ17sD HsDGKE0rVMkf.RkLJpHg_BEqlWQ09y2C_HGFK2NKA2iPxdd4eyo360lDvNZRZQjj0.Jbux4ymWdk 00YMqLUf1sVazTpDcLIQvcUzZ4AJn7KmUx4sS9h3TFcyI1jetI2V3qMEsmNVQ.LM58vifA_Gykrf B5nUNn6Z7t9GH1geqhiFO3Hyv78KD3L6ig7JhMffvBK6A_HOqxMiJMct0JwRC8wXUnTLadhiCm_O A1eg8UcTiuH_D.FWQaDvW3ZTo6mOZDKUmkHu126ym2APYMbiAR_dljdsiOMDtsklwxIOWD8e3i3m iJxIR.3RhjRRM_1GO5WOoLj1uBe4urEjXUlD8PZXASCHb38wdQqLbZ0ebJRukPndFbyYtXz04ih5 NFcwCg40MKccPt8YZrud.JQvZtAERWf.djsJSaZq.lGHfi1HgesGYt0Bk8zf5AL0Xe8bxEm.W6b8 zSBqJxsPRraBT1onl7iVZqFZBv9VPREnnP1r6fbWynSeylRJxRhpA7_jCDpQMopQYfHiw_12XSvv 3IcIvcx9cKTH.My1X_5CSsLcwzW4r3gh5aGa7.aGT8vKLBS3dKHcbpKPjgTT2ZdfmVhAPLIAEmIO l5BJoimGqulYSDr_skwewNHK4C1jyGU_uWwEqYGqA3OfhW043KbZuTVd6k68XK7qj7o17b2XqHSN BNELgFgba.fuEE2Fj2HUlPOytiBc10tH0Ec0Ynr_hBoVzDuM4U9F6.T4UCDfm6RN.WON12LG8gRW .geDsyG_kFP_uNFN.2xxp_h2omIFecnzG3K5DKQDXsHfVZlBlO0Es0bNBqFgiVvWYs7p8KwYoX1k b2JY7o13_VSkNvlePfz.B3EAMotivg5RV9rFoekIqyvbkIA4K4TRTTBMURq8toU8YgFX6LeFS._K .02MSffhNzBWASnbtOA-- X-Sonic-MF: X-Sonic-ID: 7a0d8120-46ca-48d1-9dcc-8ee1cf6c2f46 Received: from sonic.gate.mail.ne1.yahoo.com by sonic311.consmr.mail.gq1.yahoo.com with HTTP; Fri, 5 Sep 2025 13:46:44 +0000 Received: by hermes--production-gq1-7bfc77444d-5m7lw (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID d2f720f281a6c98d1d58723632fccada; Fri, 05 Sep 2025 13:46:43 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: 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.700.81\)) Subject: RE: git: 8b4e4c273730 - main - Update main to 16 [For port-package coverage for main, freshports needs https://pkg.freebsd.org to be updated to include covering 16] Message-Id: <33E2F445-F306-4D7B-94D6-E2ED0A5243AB@yahoo.com> Date: Fri, 5 Sep 2025 06:46:32 -0700 To: Colin Percival , dev-commits-src-main@freebsd.org X-Mailer: Apple Mail (2.3826.700.81) References: <33E2F445-F306-4D7B-94D6-E2ED0A5243AB.ref@yahoo.com> X-Spamd-Bar: -- X-Spamd-Result: default: False [-3.00 / 15.00]; URL_IN_SUBJECT(1.00)[pkg.freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; MIME_TRACE(0.00)[0:+]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; ARC_NA(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.65.204:from]; RCVD_IN_DNSWL_NONE(0.00)[98.137.65.204:from] X-Rspamd-Queue-Id: 4cJHhB01hYz3gZ4 Colin Percival wrote on Date: Fri, 05 Sep 2025 00:10:19 UTC : > The branch main has been updated by cperciva: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D8b4e4c2737305df8807abc6cd054a325= 86085c93 >=20 > commit 8b4e4c2737305df8807abc6cd054a32586085c93 > Author: Colin Percival > AuthorDate: 2025-09-04 23:06:47 +0000 > Commit: Colin Percival > CommitDate: 2025-09-04 23:06:47 +0000 >=20 > Update main to 16 >=20 > * Bumps to versions in lib/clang > * Bumps to sys/conf/newvers.sh and sys/sys/param.h > * Update to UPDATING I'll note that freshports parses the page source of https://pkg.freebsd.org/ to identify what to handle. So main will not be covered until thate page also has its source code updated to cover: =E2=80=A2 FreeBSD:16:amd64 =E2=80=A2 FreeBSD:16:aarch64 and: =E2=80=A2 FreeBSD:16:armv7 =E2=80=A2 FreeBSD:16:powerpc64 =E2=80=A2 FreeBSD:16:powerpc64le (I assumed 32-bit powerpc would be dropped for main. It likely is supposed to be dropped for 15 as well at some point. 15 dropped reference to i386 long ago, even though the port-packages were still actually being made available.) =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Fri Sep 5 14:49:41 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJK563KMwz67g3T; Fri, 05 Sep 2025 14:50:02 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJK562dq0z3pdH; Fri, 05 Sep 2025 14:50:02 +0000 (UTC) (envelope-from zlei@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757083802; 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=y4fDFjbPZ5FHpZ3QR65q3I+FNf0B3q66tsTWZgrzKNU=; b=IvUPsPurjH1XaVEpWGSZBCk5dES0O92r+gSS3G2CLwGdPb97yKosCsfnNA/Xo7clzkHg/p MkA2OQXBqjDOvrXXMWKMqDfliNpl2Yb+LyWlYOmk49+5+tvNp4K33rzkBuShhLhbU2r6+f vvKwPlvxSTiMJo3qhZSEmt0lf7Y69C0jtNQBz7CSzEg4dpbjYfYOacyRyW0A6Yzy7HxXWx fkIHN4jsY2DlmjMmBYc6+kcAmDeksBo8uMXg7M+F315oKemXm0pX8Z6Eyl5aBQtlhPwPuf j2gvhY+JCMUkit2+j9mIf4/2Rv2by3BJV7K0BtGhNTa84xEydAsCFuSm0ZhsIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757083802; 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=y4fDFjbPZ5FHpZ3QR65q3I+FNf0B3q66tsTWZgrzKNU=; b=cbpFvLWqHTaLPZtFB/xmaJrW7RAhhP6St+3ACH+PFilrJzs5RnA/LnvQrU+mGEwxEfnH5B Newx8eszRhr5zezLF0h5R/7JZcbrRVn523KX8e8PdymeGUc4Sjp+K/jrcX5unRgiwxog/e erWcvBRJdADtq8JxzPC4FuLJhAFSgKmwcT2s+/Se7er+i6vVH9DFo+t9cAiOpP9IxqmS6B 5gldxE/awRngvYIW8G+vxzHztHCsLD/jNhZ6GiNQHKTzpZfFjCrmSX76wEsBXHRaV/RKo4 kFskpj/QxA+w1cVLW0ykP2ZUTbGHkAhKINJDQpV92kl1LdgWD6drNvh/WlN1rw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757083802; a=rsa-sha256; cv=none; b=dNyeFyR4cNKGFssal0yvc9oyS6Y8TkmzYFiY/OfxHlgyDLNak7b2UOPdzKHYAPXtErgqlX 13KUvmhJdFyrVmPYwsAmB3vlcuHSBvomSwSR+aqz3OFRH32r5G8hgYttQTbIIyzLpMRxLS SY4IjSrXDFrn6X9pwBM4zoVrS3kqAE8mBCJISdpv+nXNWZJvr+vZJXNUgdPJ6abvgovbCX JzhIaMJnktg+o6kMPbyIvgDxcWU/3m4mMehBP3ZdR/Xe2KgHwF3pvy7ipY1QLFnSbq2Cz6 /SwsMiL6Ct3pQVxxrQxI2zqxYn+KelaxRKnyiAvN3D5/LEvRwvpIesE3sDOOxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4cJK534Hhjz11YN; Fri, 05 Sep 2025 14:49:59 +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: 80ab8a4beeb8 - main - umb.4: Remove device netmap from synopsis From: Zhenlei Huang In-Reply-To: <202509031859.583Ixno4099823@gitrepo.freebsd.org> Date: Fri, 5 Sep 2025 22:49:41 +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: <1C467823-8091-4D3B-92C7-328E75769AED@FreeBSD.org> References: <202509031859.583Ixno4099823@gitrepo.freebsd.org> To: Alexander Ziaee X-Mailer: Apple Mail (2.3696.120.41.1.10) Thanks ! > On Sep 4, 2025, at 2:59 AM, Alexander Ziaee wrote: >=20 > The branch main has been updated by ziaee: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D80ab8a4beeb812adfbf1cb823ab7476d= 4a17659a >=20 > commit 80ab8a4beeb812adfbf1cb823ab7476d4a17659a > Author: Alexander Ziaee > AuthorDate: 2025-09-03 18:50:58 +0000 > Commit: Alexander Ziaee > CommitDate: 2025-09-03 18:59:00 +0000 >=20 > umb.4: Remove device netmap from synopsis >=20 > This driver was recently improved to no longer require DEV_NETMAP. >=20 > PR: 263783 > Reported by: zlei > Fixes: e921d2842ee8 (umb: Fix setting the input routine) > --- > share/man/man4/umb.4 | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) >=20 > diff --git a/share/man/man4/umb.4 b/share/man/man4/umb.4 > index 311a50faf8e7..37c86b3074f5 100644 > --- a/share/man/man4/umb.4 > +++ b/share/man/man4/umb.4 > @@ -17,14 +17,13 @@ > .\" > .\" $NetBSD: umb.4,v 1.4 2019/08/30 09:22:17 wiz Exp $ > .\" > -.Dd August 4, 2025 > +.Dd September 3, 2025 > .Dt UMB 4 > .Os > .Sh NAME > .Nm umb > .Nd USB Mobile Broadband Interface Model (MBIM) cellular modem driver > .Sh SYNOPSIS > -.Cd "device netmap" > .Cd "device usb" > .Cd "device umb" > .Pp From nobody Fri Sep 5 16:01:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJLgD0wpdz65lts; Fri, 05 Sep 2025 16:01: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJLgD0DLNz3wh9; Fri, 05 Sep 2025 16:01:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757088072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xnSE8UtOPSQQknKIeWzPJoyCNAcsKNSD5bui+6cxN9Q=; b=kJAcZXysTBLjhPs9MX3VrKXgXmKURoTbemdjQUV6gSYiJRFiqBs8YJyM6OJ02Pn/gdMbHM gWC966/6RwfAr8xTiZWsEp9viYyHthz6pBiX8jVTA5IhVZv06vsuv4AajhMyY1kpXEUlAJ LvW63hpPV9hUsgdfv30zQfJ3XPmb7E5EbpAxfXIuZv2J2+IoSeDXLDUgtlZuQflDIJHKXe 7QwAGbu/L6sea0g/L5eW7NT2teT6CQT3tRT+pIDeM+oIsqsKkOsOGNPwTwhHcLHjevsWzh CsM/neIGpvSrhnElQOtVWcSfI0bWcEVozcXc1Hq/AYsHFqFw9/xFn4wp7H6ZdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757088072; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xnSE8UtOPSQQknKIeWzPJoyCNAcsKNSD5bui+6cxN9Q=; b=ET82ne9JDykaHKlY1rHqq0qNMzkw77igRWVm2DNJjOVYVkHfRwzTOnBfpuG2KXIx8wQYiQ JnFU6Y3Nz+eDLm2fQWk5/F5mppY+9P422P5Zzlk7Fn5vRZofHW/DbLRoLvbOvpht9TQjj/ SrJtNiqrK7pUhQS5afzCmA3QJmvQpzINZepjyUBIInlzwMQ6p+LchpYzW90JPzEnbtDJXK hq+n3DywV1l98WdJst94jm4fGboJYB0UvwlYYEy1yquNGtmJKGI+1LMYUaHoBMjiJv2OhI 60P6LC2yTvVgb3bZxQLDOoar4JCjLFWrYr8SBb04fqxul0Zr96CEEu68+iYvpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757088072; a=rsa-sha256; cv=none; b=G7LnG3frB18VgDwnGaSG2kKHDL360NHQvQ057/CoZfLNP1gKDQnMIXtcaIDsEed0biOJ/n mO8h4LL3PesVU/7chEpT4kEEKtX7uyJ+jstzXjNJgaRM/V1p8EX5yZyOouwpKl145faSd+ rgKzHTQlm6IlNm++x36KYh+Jb/n6OBNhGqjXMnizrXXsy3vvhI7kAaHyIYkP6VQso57Pu8 gc52ZoPDDMQE7izRZe2yOn+I3MKX34kx3yHa2VK5/g23HXgpD6wFwGLj+4UmIkbT3iN/H5 Xehu2sFVFEU2D1faWKSjnO19dFDon51xNlHeitdZN04ROYpHrg2h1WnULKn+vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJLgC6lyszvbL; Fri, 05 Sep 2025 16:01: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 585G1Bwn087080; Fri, 5 Sep 2025 16:01:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585G1BHt087077; Fri, 5 Sep 2025 16:01:11 GMT (envelope-from git) Date: Fri, 5 Sep 2025 16:01:11 GMT Message-Id: <202509051601.585G1BHt087077@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: 2a0ed0bef264 - main - kenv: Sprinkle const qualifiers where appropriate List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2a0ed0bef264da39b670461809bf027362dfeb80 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=2a0ed0bef264da39b670461809bf027362dfeb80 commit 2a0ed0bef264da39b670461809bf027362dfeb80 Author: Zhenlei Huang AuthorDate: 2025-09-05 16:00:04 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-05 16:00:04 +0000 kenv: Sprinkle const qualifiers where appropriate No functional change intended. MFC after: 2 weeks --- sys/kern/kern_environment.c | 32 ++++++++++++++++---------------- sys/sys/kernel.h | 16 ++++++++-------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c index 0cb0f566a839..7c0654769581 100644 --- a/sys/kern/kern_environment.c +++ b/sys/kern/kern_environment.c @@ -1098,65 +1098,65 @@ kernenv_next(char *cp) } void -tunable_int_init(void *data) +tunable_int_init(const void *data) { - struct tunable_int *d = (struct tunable_int *)data; + const struct tunable_int *d = data; TUNABLE_INT_FETCH(d->path, d->var); } void -tunable_long_init(void *data) +tunable_long_init(const void *data) { - struct tunable_long *d = (struct tunable_long *)data; + const struct tunable_long *d = data; TUNABLE_LONG_FETCH(d->path, d->var); } void -tunable_ulong_init(void *data) +tunable_ulong_init(const void *data) { - struct tunable_ulong *d = (struct tunable_ulong *)data; + const struct tunable_ulong *d = data; TUNABLE_ULONG_FETCH(d->path, d->var); } void -tunable_int64_init(void *data) +tunable_int64_init(const void *data) { - struct tunable_int64 *d = (struct tunable_int64 *)data; + const struct tunable_int64 *d = data; TUNABLE_INT64_FETCH(d->path, d->var); } void -tunable_uint64_init(void *data) +tunable_uint64_init(const void *data) { - struct tunable_uint64 *d = (struct tunable_uint64 *)data; + const struct tunable_uint64 *d = data; TUNABLE_UINT64_FETCH(d->path, d->var); } void -tunable_quad_init(void *data) +tunable_quad_init(const void *data) { - struct tunable_quad *d = (struct tunable_quad *)data; + const struct tunable_quad *d = data; TUNABLE_QUAD_FETCH(d->path, d->var); } void -tunable_bool_init(void *data) +tunable_bool_init(const void *data) { - struct tunable_bool *d = (struct tunable_bool *)data; + const struct tunable_bool *d = data; TUNABLE_BOOL_FETCH(d->path, d->var); } void -tunable_str_init(void *data) +tunable_str_init(const void *data) { - struct tunable_str *d = (struct tunable_str *)data; + const struct tunable_str *d = data; TUNABLE_STR_FETCH(d->path, d->var, d->size); } diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h index 380099092107..675d1195043b 100644 --- a/sys/sys/kernel.h +++ b/sys/sys/kernel.h @@ -322,7 +322,7 @@ void sysinit_add(struct sysinit **set, struct sysinit **set_end); * int * please avoid using for new tunables! */ -extern void tunable_int_init(void *); +extern void tunable_int_init(const void *); struct tunable_int { const char *path; int *var; @@ -341,7 +341,7 @@ struct tunable_int { /* * long */ -extern void tunable_long_init(void *); +extern void tunable_long_init(const void *); struct tunable_long { const char *path; long *var; @@ -360,7 +360,7 @@ struct tunable_long { /* * unsigned long */ -extern void tunable_ulong_init(void *); +extern void tunable_ulong_init(const void *); struct tunable_ulong { const char *path; unsigned long *var; @@ -379,7 +379,7 @@ struct tunable_ulong { /* * int64_t */ -extern void tunable_int64_init(void *); +extern void tunable_int64_init(const void *); struct tunable_int64 { const char *path; int64_t *var; @@ -398,7 +398,7 @@ struct tunable_int64 { /* * uint64_t */ -extern void tunable_uint64_init(void *); +extern void tunable_uint64_init(const void *); struct tunable_uint64 { const char *path; uint64_t *var; @@ -417,7 +417,7 @@ struct tunable_uint64 { /* * quad */ -extern void tunable_quad_init(void *); +extern void tunable_quad_init(const void *); struct tunable_quad { const char *path; quad_t *var; @@ -436,7 +436,7 @@ struct tunable_quad { /* * bool */ -extern void tunable_bool_init(void *); +extern void tunable_bool_init(const void *); struct tunable_bool { const char *path; bool *var; @@ -452,7 +452,7 @@ struct tunable_bool { #define TUNABLE_BOOL_FETCH(path, var) getenv_bool((path), (var)) -extern void tunable_str_init(void *); +extern void tunable_str_init(const void *); struct tunable_str { const char *path; char *var; From nobody Fri Sep 5 16:01:12 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJLgF2NmYz65mLG; Fri, 05 Sep 2025 16:01: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJLgF1B6Vz3wlW; Fri, 05 Sep 2025 16:01:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757088073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WLd+VSw02hdhPQtHhGEcE4Xaw9Hu6tc3JFlv0RE73PE=; b=OyQs+1F/otm2xk0F+TrHxPL4kSbyEStsg6bAp4ytFtLtt37iqan2wYbSV0oPNu+yS4tNv3 Vv8GdTtcOMvXJQQkynTkQczT75OEz3f8lCdIbRpvVHfOKz4GZilVbpV7z09k1lt78KO5Dp 2S/CxvF5tjtE0ZZhU/qPRNOlhgPyYbEXlExsPDklO7ma3sJXx9HwHkI3ZAkk9D+1N4sinx WvzEi6uhRKyRwHpbNcft7BBJymxdiE7Dnd6j56NfqJskuwA/eqfIzaNNVuz5znpkf9oKBx o6A5fwOq/0DPIlV8PCcxWeIVkSoWBTyPlzzlkPJgP943nxP41PGAUg0gHGJ7Kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757088073; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WLd+VSw02hdhPQtHhGEcE4Xaw9Hu6tc3JFlv0RE73PE=; b=Y0UFk7cYKx7LgDjQhOpc9OwCuAk/dl3zcX3mTNjWZuosvKsMer4SeF22gcPyXMcka3Kgnm WHaBkIGu+z57NXra7J2+SVerEpQ4o13eR7EZxDwTIP67AKUeswu70Z8iNC7lOqyjXg0uWP 0NjcuqWq2RS4OjOwzPIYzVPiwi08Pos2caqu60KY7On4d6iT9h9ANLl7J9aXVNe3H9/QF4 jda4wVsnTt52IKlBIXi70AUCMpnxNJOQmPJHmXm8hpEi2ANIaHyEuxhrcG8i730N8lI0W+ TqE0NHWM2MetoFgE9vr7c7CWvciJNZNWLZ2N0t7Nz+wsQcU8zIySGUQGCzp98A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757088073; a=rsa-sha256; cv=none; b=WQUEbqXfOAMavXweKfKHcX9sW6/qWP3skVmA2Mwsyc+DIKRHpdd/MedY5pR4N0vffZEH5w yK+WJsOIpfBeMCBgHgyqZHgcQu74vk/seurENMqj6q3C9/vajsbd/pDVZTPq6oGDw6O/YA TnB3o4swX0aS5LY50kTAyJk6rWaLCsL5I6i5rwfip2JxK4rPJtjewI2ejQv6SI95VIqfi4 IzDH0F8nsVRCS+n0MenViUhCUpJOzkIk9fkusfNjYrjWvHqBml1SyuKu6D707KwGTBIGu7 mZDV5wLYWik1aTV8oOubeQVaZ6q3kgL1UBWnAILbRyYtCW6ZE/SYMOwDnppomw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJLgF0Z7hzwNm; Fri, 05 Sep 2025 16:01: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 585G1Ch3087116; Fri, 5 Sep 2025 16:01:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585G1CU9087113; Fri, 5 Sep 2025 16:01:12 GMT (envelope-from git) Date: Fri, 5 Sep 2025 16:01:12 GMT Message-Id: <202509051601.585G1CU9087113@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: 7bbfcc540810 - main - mtx: Sprinkle const qualifiers where appropriate List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 7bbfcc540810ba08f75b8f04263bb9a25f1cf45e Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=7bbfcc540810ba08f75b8f04263bb9a25f1cf45e commit 7bbfcc540810ba08f75b8f04263bb9a25f1cf45e Author: Zhenlei Huang AuthorDate: 2025-09-05 16:00:04 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-05 16:00:04 +0000 mtx: Sprinkle const qualifiers where appropriate No functional change intended. MFC after: 2 weeks --- sys/kern/kern_mutex.c | 4 ++-- sys/sys/mutex.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_mutex.c b/sys/kern/kern_mutex.c index f952b3fc8805..8b5908f5219a 100644 --- a/sys/kern/kern_mutex.c +++ b/sys/kern/kern_mutex.c @@ -1136,9 +1136,9 @@ __mtx_assert(const volatile uintptr_t *c, int what, const char *file, int line) * General init routine used by the MTX_SYSINIT() macro. */ void -mtx_sysinit(void *arg) +mtx_sysinit(const void *arg) { - struct mtx_args *margs = arg; + const struct mtx_args *margs = arg; mtx_init((struct mtx *)margs->ma_mtx, margs->ma_desc, NULL, margs->ma_opts); diff --git a/sys/sys/mutex.h b/sys/sys/mutex.h index 56c03a1b0be9..08d4e2d28b33 100644 --- a/sys/sys/mutex.h +++ b/sys/sys/mutex.h @@ -91,7 +91,7 @@ void _mtx_init(volatile uintptr_t *c, const char *name, const char *type, int opts); void _mtx_destroy(volatile uintptr_t *c); -void mtx_sysinit(void *arg); +void mtx_sysinit(const void *arg); int _mtx_trylock_flags_int(struct mtx *m, int opts LOCK_FILE_LINE_ARG_DEF); int _mtx_trylock_flags_(volatile uintptr_t *c, int opts, const char *file, int line); From nobody Fri Sep 5 16:01:14 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJLgH07Nqz65mNr; Fri, 05 Sep 2025 16:01: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJLgG5Njqz3wXm; Fri, 05 Sep 2025 16:01:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757088074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T0NnD2JJv4tauYQqMoCDQKNvW5V+8wwwxrfGtDDNX7A=; b=ZUsftX4Ufrw5mxELG/wjKlN2AO/wiwtsy/9jUSE+JWl5NRtEICmtw2Iewk8La6JZw1INEz 91nWsFfqqTPbBT8th2mTyBLe8yxFj+lSPzwD44at4EGWU/Fk7J+o6KP0KxycFOCNxryPph Mc3XDuHU+0eD68hf8NcWx4oENR4039l8FrzWGT4NS5+rTEzgvOKm5YkNMOCTRNlFys1Kk9 kMXOCgrKmrlIV8KphlLCp0bPiXplEqW84Hc0g7ektcC2+aBUG8uwffs8ZWsXt6xSyTRYvB J6KgdWvnYR24Ky0GT0I0hOUq2M+naOdnLHxGZXNcWBQvtUWAPlmFtimaoL2KXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757088074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=T0NnD2JJv4tauYQqMoCDQKNvW5V+8wwwxrfGtDDNX7A=; b=Ox1GgyW2+wE28ex8lxDfeexmamZyPpJ/USxkOsSOTT4f21s5/XtizIxjkbY4nFXGBzfnVD wSk+SOZlEZSb7F4DuwZwog6mk6jgq/51wfyrNNnsYv5FnAPFiVmkvCFa7RTHQbj82YtGPg sXYgD/tGsy3qpkawjZ+vU4Slr5L/yV3DWTQgwHOXaj3TI0VYoPfWk5ubRjL7v5oGqArAYU dp5PoNO9QskkOdLo7b/+02Krqf+VTxVZpawalyBN9mcj99XhsXjn3XZxfCt+ujg3QL3/0+ +PcFtvqzUv7ORdOjhdjjmpF60NhJhrXc63+Cd7AWJduR+0vIhHwL1W0Q50b+8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757088074; a=rsa-sha256; cv=none; b=yXCsmf8AhOmIjhwbye8HKsuLo8LbnMoQ6fxIZwnLNMUkVNFFfm9o/OfPimxUrfhLmripWH S2HiY2j3W7AEGsxaW2VSTeQaMRdAYywqagHLdv3gMN59q/JP6WXdM7PkdKOgKef6+kssF7 ca5/0kcBNIeoJLJvPnWs5yF+mQShGyxfM+sgtBxCdUuZGL74HEBPkbu7r3zsIJN3GN7n5b md1BmL8UE/KwzNx5UrA6EDm3LBfWVRzac6Vag7NUj91hEoyoCxp5YOXlWt36QVTix/+zYc prc7r227cZ2pAuXmxbkvIw+SZJOJW5dxAYX4vqJNz+Kgg/iEbLUf0fgQCWK2eg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJLgG1FWwzvtG; Fri, 05 Sep 2025 16:01: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 585G1EWE087148; Fri, 5 Sep 2025 16:01:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585G1EZW087145; Fri, 5 Sep 2025 16:01:14 GMT (envelope-from git) Date: Fri, 5 Sep 2025 16:01:14 GMT Message-Id: <202509051601.585G1EZW087145@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: bec053201032 - main - rmlock: Sprinkle const qualifiers where appropriate List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: bec053201032b6b200dfe4e545e745af0f2179b4 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=bec053201032b6b200dfe4e545e745af0f2179b4 commit bec053201032b6b200dfe4e545e745af0f2179b4 Author: Zhenlei Huang AuthorDate: 2025-09-05 16:00:04 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-05 16:00:04 +0000 rmlock: Sprinkle const qualifiers where appropriate No functional change intended. MFC after: 2 weeks --- sys/kern/kern_rmlock.c | 4 ++-- sys/sys/rmlock.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_rmlock.c b/sys/kern/kern_rmlock.c index c1633dd19de2..7206572ffc02 100644 --- a/sys/kern/kern_rmlock.c +++ b/sys/kern/kern_rmlock.c @@ -337,9 +337,9 @@ rm_wowned(const struct rmlock *rm) } void -rm_sysinit(void *arg) +rm_sysinit(const void *arg) { - struct rm_args *args; + const struct rm_args *args; args = arg; rm_init_flags(args->ra_rm, args->ra_desc, args->ra_flags); diff --git a/sys/sys/rmlock.h b/sys/sys/rmlock.h index 664356998438..eae7342527e3 100644 --- a/sys/sys/rmlock.h +++ b/sys/sys/rmlock.h @@ -52,7 +52,7 @@ void rm_init(struct rmlock *rm, const char *name); void rm_init_flags(struct rmlock *rm, const char *name, int opts); void rm_destroy(struct rmlock *rm); int rm_wowned(const struct rmlock *rm); -void rm_sysinit(void *arg); +void rm_sysinit(const void *arg); void _rm_wlock_debug(struct rmlock *rm, const char *file, int line); void _rm_wunlock_debug(struct rmlock *rm, const char *file, int line); From nobody Fri Sep 5 16:01:15 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJLgH6Z5Lz65mXC; Fri, 05 Sep 2025 16:01: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJLgH3Rj6z3wkl; Fri, 05 Sep 2025 16:01:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757088075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lpw9QMYfrJXuta444dK8D1UxMW2tbAIViyRJFz07EqQ=; b=L/gzQpGUWwOKb8KQ4vbIbMJXQcMThmtsWK1/coe6zONarhlJITDRE620MV078h+0z7rRBM NBSLAPvd6Y9/gpkxAGQH7mxITXE7f7ptXb5qxiI/skEAP4MLrwpfbT81z0B8/YeEWlamAo wfIlORIZRWHLongkzM5MuIZVFTB/pU7Aj+LaC9T/RAMF+cCDnTZiu3wtQDvWd7qpFCIQHh kY2YtVDKI+uTsedlTs5F/HyH6dkAo4r8IZLmMEBUUEJcFTngNr5knyPybjktmwhsFZbMAG MsooZtkh0PaP/bbYcX9QkUu7gKatVRRXjx2mBh8lTVUNZ8JqXxtXXGciqgQhqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757088075; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lpw9QMYfrJXuta444dK8D1UxMW2tbAIViyRJFz07EqQ=; b=jHpPgNJIBX71QqDAgspKarc9mnPQAdl8IilR4QzlVDCzI58viMOSy73RyOz9zdwGRHWEI2 hhA1z4KUhXcHaicu+XfVTay52xmrZibvfRoZxv+n3Zqdi7ECovapAgUIbYpWiG8rSbNymW LbIFcHiyfDKSYttjVk4VOl97tucag5YTODcKcSkDCpgOln6lQtQ0glEsTo5LhGxgjVDAdc Wbb70tmoBU043hagY+e4YKCKzEnpKB1uEYmWzw5n/ZJMOYVSqFDTQy4vo0DSkdJaSz8bDi K14CzjnaoxnmbZBPOZbRSYpdXqYyyBHkAmPZH+BLDnwxNh1uGRcOzjcex+6fLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757088075; a=rsa-sha256; cv=none; b=KUjkkx+YdA9scCPZDM/HISn5s871/vxoqLCYE/jj11HKB8di2WG8/tacnQqwuCe3uaFPm1 eW9GXXw80iFv/f33udG+7lzHVaSFVYLOxdWm5wCQxjBajMJz+moMGL1m0/X+E9OltRmRrD Dnjdv8m2jKcZKch6LZKt/Y3bX2mqFv/fa9XRmJNWfWB9O8NlqOTWEG/7mAYdkGeHNBz5r8 whwjisOZDg0QOVSCNLUBam8/zmfdFQ1uPv14TFEankSuQaudzJFAuQ79gRu8CG2RLi4USB RF7I2JnFn1kxaF+/K+U7iHDUoIJF2ptz+kLNFZAICwKeD0yd7WewBcZz415R1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJLgH2SFxzvtH; Fri, 05 Sep 2025 16:01: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 585G1FxY087183; Fri, 5 Sep 2025 16:01:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585G1FLd087180; Fri, 5 Sep 2025 16:01:15 GMT (envelope-from git) Date: Fri, 5 Sep 2025 16:01:15 GMT Message-Id: <202509051601.585G1FLd087180@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: 3c3686b3c773 - main - rwlock: Sprinkle const qualifiers where appropriate List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 3c3686b3c773131243d204b4096e484037c7b502 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=3c3686b3c773131243d204b4096e484037c7b502 commit 3c3686b3c773131243d204b4096e484037c7b502 Author: Zhenlei Huang AuthorDate: 2025-09-05 16:00:04 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-05 16:00:04 +0000 rwlock: Sprinkle const qualifiers where appropriate No functional change intended. MFC after: 2 weeks --- sys/kern/kern_rwlock.c | 4 ++-- sys/sys/rwlock.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_rwlock.c b/sys/kern/kern_rwlock.c index e182d1fe9baf..84a3a890be63 100644 --- a/sys/kern/kern_rwlock.c +++ b/sys/kern/kern_rwlock.c @@ -266,9 +266,9 @@ _rw_destroy(volatile uintptr_t *c) } void -rw_sysinit(void *arg) +rw_sysinit(const void *arg) { - struct rw_args *args; + const struct rw_args *args; args = arg; rw_init_flags((struct rwlock *)args->ra_rw, args->ra_desc, diff --git a/sys/sys/rwlock.h b/sys/sys/rwlock.h index 0ebe90e09bed..929f78c1d204 100644 --- a/sys/sys/rwlock.h +++ b/sys/sys/rwlock.h @@ -128,7 +128,7 @@ */ void _rw_init_flags(volatile uintptr_t *c, const char *name, int opts); void _rw_destroy(volatile uintptr_t *c); -void rw_sysinit(void *arg); +void rw_sysinit(const void *arg); int _rw_wowned(const volatile uintptr_t *c); void _rw_wlock_cookie(volatile uintptr_t *c, const char *file, int line); int __rw_try_wlock_int(struct rwlock *rw LOCK_FILE_LINE_ARG_DEF); From nobody Fri Sep 5 16:01:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJLgK1ZvDz65mGB; Fri, 05 Sep 2025 16:01: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJLgJ3Xy5z3wpQ; Fri, 05 Sep 2025 16:01:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757088076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+qyHB9HD5dwNrwxXhA/P2q/Q0+LSLpdnxGrfmR8jTXM=; b=g7z382VrqvbAqEQl1ojTZccu8Eps5NkP3T+lk54glPBniHYHTpgSIMFGlBuibBJHCXN5NB 2f6E99IVaRmE1NYqOEpORgdqxIDec3sU9hkROObW0k8IGu3bdqEu58pO48sWuQu52ZKG3n t9VrUWqBpCAJGXzkdDk5d1bhrwLkFya1O3+cvXgs8MQWrPzyKpZFxH1jBBltfSnj6CHhDl EHOfLuhbCF3929XXas/78a687swB7nhCihWGSWsM2sRXxvRPlbXdbYRxH4XdOvOb73TVQ2 VRBV33q2m8SExxN/uSHLzg+ooIL2hafCAtrOr5hAhxTuemwX9iphm5Amik/TpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757088076; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+qyHB9HD5dwNrwxXhA/P2q/Q0+LSLpdnxGrfmR8jTXM=; b=ud+/fV0DgrJcO30YGv7yFx1CnM5k9fQMRZ2eqy5lMVQji9Y/coHkDBdGbpZb3X3XEVqgDr KzBPdesEnXphReN+06uENZrPl0wvAzEJgSIzYW/ulwSxoXyMSeZrErGKh1wLM11UuLmz7Y mPP/rj0l8JJBbuTFadw8mxcn+zYhK2FstXGnkDbJVZ4XsukTzqlROSbKcEgkWi7T4+MQgI BbnG1s541XkpGloe+hMUY79roHL+rk1t+VYeTxWWzl/0bd5fXZTALYxRx5hnCSPobyI1JE gcU4surY1wRPw3xdymIPnSL37blZGd65Rwa59hJwnNQgn4LQj441YZkXdjveow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757088076; a=rsa-sha256; cv=none; b=b4lwoprLECe3jbOhi3AeQLYWXrsInKf0TP3EFNs/WqFci05XXqiIvwcKyW6RHT5dnkeF3y nJlJfDSIYtvkQdywv/Ynhn+hZLPR9A0JBcYdWRwKUyFACzb5UEdiH/PK4VcUTJBRN0XvVK S0kR7+ohoxVTu7f45L9eHftJWOJgL2dxUPP6Tqj0Jh0rZuWG2fb3lWhZ9f3sJbM956eMEh BpWntzxHuJQuVvO9s3UaIIHhbsYj8f6KKE7A5cFH9o7gePTWRWMpyy2cBb6soFPYDLOlt7 6/mYI8ljxQWD7/kT/CExJ7IvdviPPKqYlbCKmhVWwFuC1+m0eR5tXFGua7iS7w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJLgJ2zvqzvmk; Fri, 05 Sep 2025 16:01: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 585G1GhG087462; Fri, 5 Sep 2025 16:01:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585G1G5x087447; Fri, 5 Sep 2025 16:01:16 GMT (envelope-from git) Date: Fri, 5 Sep 2025 16:01:16 GMT Message-Id: <202509051601.585G1G5x087447@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: 306f0c4cf1a2 - main - sx: Sprinkle const qualifiers where appropriate List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 306f0c4cf1a2f58a56993d29d666b4643326493b Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=306f0c4cf1a2f58a56993d29d666b4643326493b commit 306f0c4cf1a2f58a56993d29d666b4643326493b Author: Zhenlei Huang AuthorDate: 2025-09-05 16:00:05 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-05 16:00:05 +0000 sx: Sprinkle const qualifiers where appropriate No functional change intended. MFC after: 2 weeks --- sys/kern/kern_sx.c | 4 ++-- sys/sys/sx.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/kern/kern_sx.c b/sys/kern/kern_sx.c index accea5d288eb..c005e112d3b9 100644 --- a/sys/kern/kern_sx.c +++ b/sys/kern/kern_sx.c @@ -222,9 +222,9 @@ owner_sx(const struct lock_object *lock, struct thread **owner) #endif void -sx_sysinit(void *arg) +sx_sysinit(const void *arg) { - struct sx_args *sargs = arg; + const struct sx_args *sargs = arg; sx_init_flags(sargs->sa_sx, sargs->sa_desc, sargs->sa_flags); } diff --git a/sys/sys/sx.h b/sys/sys/sx.h index deb277decc75..d28cae9d01e5 100644 --- a/sys/sys/sx.h +++ b/sys/sys/sx.h @@ -99,7 +99,7 @@ * Function prototipes. Routines that start with an underscore are not part * of the public interface and are wrappered with a macro. */ -void sx_sysinit(void *arg); +void sx_sysinit(const void *arg); #define sx_init(sx, desc) sx_init_flags((sx), (desc), 0) void sx_init_flags(struct sx *sx, const char *description, int opts); void sx_destroy(struct sx *sx); From nobody Fri Sep 5 17:02:39 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJN281WRxz65qwr; Fri, 05 Sep 2025 17:02: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJN280vY3z48ZS; Fri, 05 Sep 2025 17:02:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757091760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ezt7HebbBAbbimScXYtPKcy6PUC2PCZ3F2Cw1lqUE5Y=; b=PmovooBCUzL4r+qNEnJvWNeY+Qd98iPwV+Bs2n62p5NEfdmiCSuK4/gW2XtHrbr1aJBuS1 YHnixrJi92iGgNYzpEI7dtVPIWC32T7VISt2iinKxp+ytYy961GfiAy9UNSSga8iZpsLmD xewiIjGMy14OzK3x5AEkNrnyF4aDliuAoYKjE9di+lhQ2yPzBf2mB6tSv124kCGycEjuo1 Qd/C0eJoqptJBuuWPrSE523Wgj7zjVDHTn0wixIXp5hDS97zK44X54bkQKIcyPxUqCJsgi BKgaOVQIkUsw14D/tq8vYiYoEPrzF031yqXmKQJfDVxZ2UvZfjlr2FvBM7P2ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757091760; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ezt7HebbBAbbimScXYtPKcy6PUC2PCZ3F2Cw1lqUE5Y=; b=sSW3oH8PPZjb4gZnEGkCyNUDkyTub8ghFh9b9zyweKbHSZ/vnzOfHOSxr/9WBLvAJ6gyrX LE4FfHv1V4PKHZpAyqsmlmhaAvuZdEich4eMJ7BGNj00JeKle0KvT7L6HBs3XWF5zsERjo WiXkcw4Wj31/k87aSkN5j7t5Xsgm7F+wC0Zn9EMQCJu1ksjVUfetayBS1535BB/rjlUm5h RTept2eioxt/3SjjOLE6IvN01o5W9l0vk5w2Kipzr8YsF8KTpuie979rOVx6v+yfJ6Bj/h VEMKoX9kWO5UkNBDEFSMgzSJ6KsbvozklXxfEbxMSVpv9DbSA2AGmq2LCOBTmA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757091760; a=rsa-sha256; cv=none; b=Hioq/nzIJZSvt+Xru1QGfKmooSaf6YDl7mwR9c5M8NsqYmhFYTzadP21zWEpRQ4q/fwr2d 7QPiH/aEvJFU+EZ/GTSfZpRwJMWEYJOZWJtoCZCDJ42AbdygavhkxHfIVef0O9+4QRKL1o eq4hxQVqAe0lhhBXjYGML7jfDbsZckkQXBm4r9HigJnCwm/XLiA2W4a0fHMEsk+LTygZ5m Wx6h8VzoqAUfbDCGZHq4RPbHu0GiK0tAa9adgEtFNAu757Q4fBOOlCq73Fbzbd65Miwl1u ncTY8xLnxR2gYvzNuTuOI2SJ6cB5TCTwc/Xo8JE68G5aKDG28H0eLSPDLKkH2g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJN280VwxzxQQ; Fri, 05 Sep 2025 17:02:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 585H2ds6008745; Fri, 5 Sep 2025 17:02:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585H2d9s008742; Fri, 5 Sep 2025 17:02:39 GMT (envelope-from git) Date: Fri, 5 Sep 2025 17:02:39 GMT Message-Id: <202509051702.585H2d9s008742@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Aymeric Wibo Subject: git: 7fa1552a6a6d - main - sys/power.h: Add `_KERNEL` guards List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obiwac X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7fa1552a6a6db281ce9c7dd03dc035609a87fb6f Auto-Submitted: auto-generated The branch main has been updated by obiwac: URL: https://cgit.FreeBSD.org/src/commit/?id=7fa1552a6a6db281ce9c7dd03dc035609a87fb6f commit 7fa1552a6a6db281ce9c7dd03dc035609a87fb6f Author: Aymeric Wibo AuthorDate: 2025-09-05 16:54:00 +0000 Commit: Aymeric Wibo CommitDate: 2025-09-05 17:01:05 +0000 sys/power.h: Add `_KERNEL` guards There is no userland interface which would need these, so make header kernel-only. Reviewed by: jrm (mentor), markj Approved by: jrm (mentor), markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52395 --- sys/sys/power.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/sys/power.h b/sys/sys/power.h index 9afa55dd403a..3ee021b0e587 100644 --- a/sys/sys/power.h +++ b/sys/sys/power.h @@ -28,6 +28,7 @@ #ifndef _SYS_POWER_H_ #define _SYS_POWER_H_ +#ifdef _KERNEL #include @@ -60,4 +61,5 @@ extern void power_profile_set_state(int); typedef void (*power_profile_change_hook)(void *, int); EVENTHANDLER_DECLARE(power_profile_change, power_profile_change_hook); +#endif /* _KERNEL */ #endif /* !_SYS_POWER_H_ */ From nobody Fri Sep 5 17:24:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJNW53rY2z65sb9; Fri, 05 Sep 2025 17:24:17 +0000 (UTC) (envelope-from jamie@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJNW538QPz4DS1; Fri, 05 Sep 2025 17:24:17 +0000 (UTC) (envelope-from jamie@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757093057; 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=Ckj7AHvv+gBKkx9lEXZdHPHle98lzwXc1Qt/5GNWQRg=; b=fs7lPRp6mtL7MnZEpEiZVI8ZxYvpBL9dT/iB8jE8IPfj3m/wT/FrsyuSuotYVgZLZfTNIN ZgdGkGCeJHPdDIwP6KZVK+e6gSHRkvpEKO/fvL2HbW61fpbyCb+BeyOygPc8WRO1+aq0se S/QNvHL1HAK5/3T6m7oIU276LAJtoR11VNTp16yYOohx4xNtUHcavOlYmDODxFpazEEMYj dqZuFGYG7O/dBqUXEi4z5MKGsY1jkjcee0sQYclB1b+2zfH/jrjRs4DvlItLeDWhk68xsH dR4ZVMdFzlUDlN1SY0G3A1jqoekxoGXzPyh2QVBGomRDrxDD+xwC7AYvSV33gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757093057; 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=Ckj7AHvv+gBKkx9lEXZdHPHle98lzwXc1Qt/5GNWQRg=; b=fQ22uexjMWBXo/vDbQWNSHOKcnevrSpmoALTlMGLSQib/YT6cOoSBJjQx+A00jrX0m2vRh R0xnxIvt8omPi9tLvct5NZcjBSP9ojPWQA8+2WSyeQLulrsWW/avRvnHnHfdrsgg9cuiIE 8dGRLENsdRMgFCCYsbvHoNPoIfjNhATrnzyEWEyCEFEGuVDmDXDW+25elGbyWYkb6l8epL 9fDFZWXXlpNMp5AsOjnQoy+jW2Pv6IphsR1H4+OWZoPZVZlYGIfVbbX5Qb3btzgRnouSgc JhVouasZA0Awk0qvw70xH4FOIFuJzDvE9rCZfnA4+HEHO11rL9AL8jExxUKoWQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757093057; a=rsa-sha256; cv=none; b=W45B3I38bZgejpEnSRMIHAnVEktdoDUrmhUQbQyJaADUgcE0ML5DgU+IKFYu/v5WqxeEKQ 6FVSctw2Fd21QvwzEMTHLnjdhgC1TNqQFsMNed2N5G+i2rHEZ5uoloF4m3TcC3+ydhhyKd bCv28sikQ/EXXxm5iwerJm8wRbqdGFmNboTYibzy1qGnUkQa8bWDqTA88pzm4i6R+iHFv6 6OYVmlqtlbOxTjMJS+DMlC0i6rVZY50+2IPH4NDqLvPq/sbo50TV/CpkIi7p/afkhMTPSv jW97fdZFCpvQPUPkylCMthGG2MSdl1CB3eaJi4MPybMJANkErihqUgapiZ7FyQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from m2.gritton.org (gritton.org [67.43.236.212]) (using TLSv1.3 with cipher TLS_AES_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: jamie) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJNW52CWHz141T; Fri, 05 Sep 2025 17:24:17 +0000 (UTC) (envelope-from jamie@freebsd.org) Received: from gritton.org (localgritton [127.0.0.212]) by m2.gritton.org (Postfix) with ESMTPSA id AE06479FE8; Fri, 5 Sep 2025 10:24:16 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Date: Fri, 05 Sep 2025 10:24:16 -0700 From: James Gritton To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 851dc7f859c2 - main - jail: add jail descriptors In-Reply-To: References: <202509042031.584KVpxY000408@gitrepo.freebsd.org> Message-ID: <282327ee69d5c26f379961c12e19dfbe@freebsd.org> X-Sender: jamie@freebsd.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit On 2025-09-04 22:14, Konstantin Belousov wrote: > On Thu, Sep 04, 2025 at 09:43:13PM -0700, James Gritton wrote: >> On 2025-09-04 16:43, Konstantin Belousov wrote: >> > jd = malloc(sizeof(*jd), M_JAILDESC, M_WAITOK | M_ZERO); >> > error = falloc_caps(td, &fp, fdp, 0, NULL); >> > finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 >> > ? FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); >> > ^^^^^^^^^^^ '?' should be placed on the previous line >> >> I wasn't aware of this requirement; style(9) is silent on it. > In fact style(9) contains the explicit requirement: > If you have to wrap a long statement, put the operator at the end > of the > line. > There are a lot more of this pattern repeated in the commit. Ah, yes it says that. I was scanning examples looking for the "?", and missed the general statement. I don't think it's the best move for the ?: operator in particular, but I appreciate consistency in style. I can change that in kern_jaildesc.c, but it's a little trickier in kern_jail.c since it's already replete with me having done it wrong over the years. >> > Generated files should have been committed as a follow-up, not in the >> > same commit as written code. >> >> The FreeBSD Wiki explicitly allows it in the same commit. > I always objected against this practice. For instance, the commit > message > for this commit is even less useful because most of the limit was > filled > with the auto-generated stuff, instead of the code. Same for reading > the > commits with log. > > Could you please point me to the wiki page? https://wiki.freebsd.org/AddingSyscalls#Committing >> > jaildesc_find() returns EBADF when passed file type is not DTYPE_JAIL. >> > Normally EBADF means that the object underlying the file is invalidated, >> > like vnode is reclaimed, tty is revoked, etc. For the wrong type, EINVAL >> > should be returned. >> >> That's part of the code that I lifted from process descriptors, nearly >> identical to procdesc_find. A check of other c_type checks shows >> EBADF isn't uncommon. > So procdesc is wrong as well, I think. The existing code base is quite inconsistent. I some EINVAL, some EBADF (procdesc, kqueue, fcntl), also EPERM, ENODEV, ENOTSUPP, EPIPE, and ENOTSOCK. EINVAL is the most common, but there are enough EBADF that I feel I can keep it. - Jamie From nobody Fri Sep 5 17:34:18 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJNkg02hRz65tQM; Fri, 05 Sep 2025 17:34:19 +0000 (UTC) (envelope-from jamie@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJNkf627xz4FmQ; Fri, 05 Sep 2025 17:34:18 +0000 (UTC) (envelope-from jamie@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757093658; 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=E0A4jmODOOjphhkcFf4hQsipUzNIXXoUdH2azgmNZ2M=; b=FRUUaQfrBgMfCHMA3mH5ftwLskFMfFYXZbs0Jg7oFfbCQgCLStd0qiW7WxiQ27dlNpAzjA qB0yZhbAExw5L9nCt3LKom2PuXqis7wDA05mjePFx0sIG7cH3lohibEg+Hqmvgqr3GXseS xiIe3zlyPdenpElka/oKV8JAjxX8jYPUM2enlSELRcf1qCFKKBbbgcx4+YAIxYRZETLDnM IQ6upQ+MaEwEasuNWu7t9+9Hw0RKDrdtbkaMYXhdy5ZiyLMMCzDLFMaz5RRDe7YO78qs4j ghlkR/VDcUcFinhje4eyrVm9tX6BOLdOqgXWtxUa3rZ89u3Gf3szd3EidQRyXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757093658; 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=E0A4jmODOOjphhkcFf4hQsipUzNIXXoUdH2azgmNZ2M=; b=OApFDGtUqfbdN0Jf6TmRZX5GA48l6q2Lzkaez325qmvOH+ZEvB/l6iMg60JDtym35m3C1s VhjTmkdvLwZiCKUmQ7PGAYbXz3OlEPjcXa1gseDfSgl1d6NJMX/7ZRfxW4GVdqfa1KKBq2 Q1PTqLksdjx8vW4TqEES5KRJ0qgFHEE1QLiSo3Tp5P4GiIgPI/u4GM2qywq2avEjL4aQWo W8SM2szazIWJXDNsNCmwh7dev1xitJZeQ2fLEoNvd0EpKJD3hSkndUl42c1dRIHATuvQGn evhKj0jC4JHSfUTgrbykhTwp+fSZsfd+1XZt7Z6PEuEnJWs8M/cMl7mXtZSR4A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757093658; a=rsa-sha256; cv=none; b=O2F+IsLtnhvVBLR+sm7qO4mmTz+GsYg0czL/Axp7vQUPAI5b3NMhDFcW+yB2pMQU/e85dV 0Rp0UaTlr/+h106VIrZyJuCN2xi8wVGkJnfrQtf1AAp2jk9tJUaoFSNJtqN2NC1o37sx+U eA/rSZdnKNp2KYA5/MCssHCUdJ9/Yuy9T7SjaxIN5ZiwaAlkkcmvpbfYEi72NGD0TBbq/W X2qeZl2/UE4dP74YkaT/zAeOt8AbFTdqZXd0IvpCzi4vWdwkozc/sK0pQUezujxGoIyTWI N16Q3PtTuyPMUvDTkKVAPGUPLJUbNXZ6h53ShZ3DqFohAafMwehy2QYfZgpmXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from m2.gritton.org (gritton.org [67.43.236.212]) (using TLSv1.3 with cipher TLS_AES_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: jamie) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJNkf5D13z141d; Fri, 05 Sep 2025 17:34:18 +0000 (UTC) (envelope-from jamie@freebsd.org) Received: from gritton.org (localgritton [127.0.0.212]) by m2.gritton.org (Postfix) with ESMTPSA id 760307A1C8; Fri, 5 Sep 2025 10:34:18 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Date: Fri, 05 Sep 2025 10:34:18 -0700 From: James Gritton To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 851dc7f859c2 - main - jail: add jail descriptors In-Reply-To: References: <202509042031.584KVpxY000408@gitrepo.freebsd.org> Message-ID: <24bbb82cec2509bcfe1d8514500367ab@freebsd.org> X-Sender: jamie@freebsd.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit On 2025-09-04 22:14, Konstantin Belousov wrote: > On Thu, Sep 04, 2025 at 09:43:13PM -0700, James Gritton wrote: >> On 2025-09-04 16:43, Konstantin Belousov wrote: >> > There are fo_chown/fo_chmod methods that are semantically applied to the >> > jail files, instead of the underlying object. This is quite strange, >> > files >> > do not have concept of owner. >> >> True, it is strange. But jails don't have owners either, and this >> seemed a good way to control how the descriptors could be used. I see >> the jail descriptor as an intermediate object between the jail and the >> file descriptors, like there's a portal to the jail that is owned by >> its creator, and the file descriptor returned is merely the access to >> that portal. It's roughly equivalent to a temp file that doesn't >> exist in the filesystem directory space after its creation, yet is >> still a thing with ownership and permissions. >> >> I could remove this if it's too far out of mainstream practice, but I >> hope not to have to, since it provides a handy to allow some to (for >> instance) attach to a prison, but not alter or remove it. Such things >> are perhaps better left to Capsicum, but I don't have that support in >> place yet. > > Naturally, you would added a jail owner (ucred), and make fo_chown > change the owner then. I quite dislike trying to strength filesystem > DACs > to jail access control. You're not the first to object to this repurposing of of permission bits. I guess the proper thing to do is to get the Capsicum support in place, and use that instead. So this hack may well be going away soon. - Jamie From nobody Fri Sep 5 17:57:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJPFQ61h7z65vbX; Fri, 05 Sep 2025 17:57:30 +0000 (UTC) (envelope-from jamie@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJPFQ5LwHz4Hgh; Fri, 05 Sep 2025 17:57:30 +0000 (UTC) (envelope-from jamie@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757095050; 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+jMfh3cjaMj/NqI/8G0Zo6dp3TvcG9mahiB0Z+UEfs=; b=Dj9aId6JbZ44ungWc+2TJUC51OGKxPHiLEpf9UCZjiZFcrFiWDrPRHwVjoXzJDlifNwH+o /4ZJv39eZJxfCDwQEsyJjoakVYlW/TiF9yeOa8Y2qqjQEx+L7N8OBc87//MN/Uo0OTUyQw J+N3kLxP69ghcTKRQj76EiHySJvze3XWNeOoq/xWdUPpzncMfuFpIksoA2kff6UJ3EZ+wu uQOYP0VO7J6punNcOqWYDfvXzufuPhpLUKewvitkBMohcez4heOQ71xhzV7lqzjwQSH4eb mBwUlpSZTjuR91LVhZHukyN66wCQ8x7F3DpE0YkAKjmst9PlEWaFVMhVa8BZ9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757095050; 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+jMfh3cjaMj/NqI/8G0Zo6dp3TvcG9mahiB0Z+UEfs=; b=jFxoHLKdBmDiFqhWhF+e/qxd3q6eLWcVKqajsGgXGUe/rFtAQEPDb9H23QR5Q84V0xlZQP /yd1rCTEEZgD7vThD3LXpH30VrIPFy1SgnyqyDl1IPWkT9IIw+PIamZzEbuXIDdnX6f6sW TH62qBMVdna6CLYuJjWluewr4P9Oy5Xr1SsZeNbK6CuJ09hULXQoFWAQt90oA6dpDGHaMg ALr2WWJl8HntUvU3/GMNCWoz6hACRZoycoyBGua0sbiFNPaSX7WhTgr3C+iL6SejWQF+/R +PLU7UsGISZF1Rd8LYW9FTZDi6CWMX2tFn+Locb/Y0WBpp6Nt59k4+3A9LkoVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757095050; a=rsa-sha256; cv=none; b=iqSjWawoPAZc+00Vt8OPwRV683OqRpMSplhTEpYswi+WIh/rsUOwU3u0+/85qEaMdxGuL8 saSWzs2fYrxn4bgxh6ebLLyUnAmwKoe0gDQhaOcnL0VLwQh3GXyDyZbutnMse77pnzRK+u Pz1lkDpUvNFomgBZAgZuNnPA2gz1+aOv44TzzDUC2Fn+BW2Z/8X/6LSTOEnVMYJrPMx5Nh JrnWpi2Eo8TA5dvlOCL99h3GnVbVAg6BzmBupLLHmr0M9PX4YzgzLwgq7djgEYZJXaT9mX fP60P9ePGQvgoaDzBuuF1qlIsEmqjDJYuBXee2wajvjm4Uqg5rN7RBvLSgtVNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from m2.gritton.org (gritton.org [67.43.236.212]) (using TLSv1.3 with cipher TLS_AES_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: jamie) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJPFQ4Z2Wz14tm; Fri, 05 Sep 2025 17:57:30 +0000 (UTC) (envelope-from jamie@freebsd.org) Received: from gritton.org (localgritton [127.0.0.212]) by m2.gritton.org (Postfix) with ESMTPSA id 587537A24A; Fri, 5 Sep 2025 10:57:30 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Date: Fri, 05 Sep 2025 10:57:30 -0700 From: James Gritton To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 851dc7f859c2 - main - jail: add jail descriptors In-Reply-To: References: <202509042031.584KVpxY000408@gitrepo.freebsd.org> Message-ID: <2f66c886ab44aea5ad2e57cc72c03e3f@freebsd.org> X-Sender: jamie@freebsd.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit On 2025-09-04 22:14, Konstantin Belousov wrote: > BTW, you added some support for kqueue for jail events, but not to the > jail file descriptors. This seems to be backward: if somebody wants to > monitor events for jails, then it is more reliable and straightforward > to do with the new jail fds rather than with ids. It is at least incomplete, and not the state I want things to be at. There's a sticking point with jaildesc kqueue, so while I work that out I went with jid-baseds kqueue as a starter. The trouble is child jails. I took their handling from the existing child process handling, where I register a new kevent under the new jail's id. But that's something I can't do with descriptors, since they have a process-specific identifier, the descriptor number. The code that creates the new event, coming from the jail_set call that created a new jail, has access to the global descriptor (the struct file), but not to the process(es) that have it open, so I have no way of registering one or more events with that descriptor number. One workaround is to have both jid- and jaildesc-based kevents, but both of them register a new jid-based kevent for a newly created child jail. The caller may then get a descriptor with jail_get, and add a kevent for it and remove the old jid-based one. This would work, but feels really klunky. The other idea I've had is to register a temporary event, and then add code to kqueue_scan that converts that into a proper jaildesc event with the expected file descriptor number. That would require either jaildesc-specific code in or around kqueue_scan, or adding another filterops function, neither of which is great. Still, it seems the better solution. With working jaildesc kevent support, the jid-based kevents would be unnecessary, so if I can get this done before 15 is released, they can go away. - Jamie From nobody Fri Sep 5 18:42:16 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQF50MwDz66DFc; Fri, 05 Sep 2025 18: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQF45vGPz4Nj2; Fri, 05 Sep 2025 18:42:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i4VYCABEyuH1T2Ls6DIOCXFmPOSmJHatD69VPnJHcB8=; b=KFm7Rcp1zqAF7gjzW9vANH13Ph6I8YT+TGF+XZEgpLbeSQW/qPccZLelTZAWvRKC0i8S3B czInmccx3QwK8q75Ecmw+GQOfHIm9BM2+6KCVy2d/r58ZwP42xFbxojgGpH1thS87UAwpz vstFc26Qpn2JxAuOKIxIxd3gjISUfOIqMusrViA5R9zK6dGoSUyo2u0Rymk+sZJuhfqYrW CzAy2JMiRMDShfxUpI0ovCatNldvGg/ph00/66160ndaQRckzoWbEZJVwIAH1LRCP5WVwj p3BhHTwNfIYymnDGVb9jcpELS04NDuhMnqFCeosC0hm0UsnedvNwTxedpT0Fuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097736; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i4VYCABEyuH1T2Ls6DIOCXFmPOSmJHatD69VPnJHcB8=; b=O6dTaes6TH1lUTl5alLf6hZQvv4GdVsbVoD7Ah41w1WyZaTE58lEPa2mBp9PpYxWA10Epf 4O16Rxqg5oF5fGVTAucv3BYSaUbTRzHbuqBWJhqq6d6hVbmbaTn/d7LGWTei3Y7dSu7Bqo FbrhAVk9hqjbX5YpQ5DFmDB9zFlauyPh/zzjp6YrUpEPS3GEQaSx2qBFpeKIuA1RC1/+iT 5ukn3CZMXw77+aOr3gDp5/vWXc+oJYQWPvZdeDlzWYluvXAMBu3b1pO+z1uqB+PuKD+/kK tbjhh964oLVj18YHa/8ONAq/hPL6UZ551kYSAZsdJn6Mx5FR8e857nwQhUYDsw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097736; a=rsa-sha256; cv=none; b=Ypb9wMerfu/wBRQS/SwBhE/zqdoHOejwsXSWmOt5apvtMC7FldY4Om2VVPdANdMhCWhq7/ enY2tTW6nT0+ufVJUI8eMFj4Bkvy6wMPe8kL1a6TN0vj1lKpghug7890B0MvHkb7mxKXry bi+zhyfWtZZXcBUElVGgzDhhF3+QfEC/nE6AG4PvaUmJH/k44LNq2qncNAszkvCeJpNeTR As9UwiihY99LISuxdL/eeyGUhoqoVH65naJCgbJaEISgs8eFCThfjl9OeV2mLJ0Y6hEv5b 5TCH78Ccvqittb2NTsjELfhtrJgecpE7eEJMIHDrj+HgKXWGdJRA3xtsnsUCEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQF45LTwz10Zy; Fri, 05 Sep 2025 18:42: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 585IgG8d096202; Fri, 5 Sep 2025 18:42:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgGni096199; Fri, 5 Sep 2025 18:42:16 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:16 GMT Message-Id: <202509051842.585IgGni096199@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: 6714e127945c - main - gstripe: remove bio->bio_ma_n assignment List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6714e127945c736857cd86aff41d9cbd29ce7f7c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6714e127945c736857cd86aff41d9cbd29ce7f7c commit 6714e127945c736857cd86aff41d9cbd29ce7f7c Author: Miroslav Cimerman AuthorDate: 2025-08-02 17:23:40 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:20 +0000 gstripe: remove bio->bio_ma_n assignment We shouldn't be manipulating the parent's bio at all (except to update the number of children). physio() already set this properly as well, in addition. Signed-off-by: Miroslav Cimerman Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1800 --- sys/geom/stripe/g_stripe.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sys/geom/stripe/g_stripe.c b/sys/geom/stripe/g_stripe.c index 6f336c18c8e6..669936ba0dbf 100644 --- a/sys/geom/stripe/g_stripe.c +++ b/sys/geom/stripe/g_stripe.c @@ -454,11 +454,9 @@ g_stripe_start_economic(struct bio *bp, u_int no, off_t offset, off_t length) cbp->bio_done = g_stripe_done; cbp->bio_offset = offset; cbp->bio_length = length; - if ((bp->bio_flags & BIO_UNMAPPED) != 0) { - bp->bio_ma_n = round_page(bp->bio_ma_offset + - bp->bio_length) / PAGE_SIZE; + if ((bp->bio_flags & BIO_UNMAPPED) != 0) addr = NULL; - } else + else addr = bp->bio_data; cbp->bio_caller2 = sc->sc_disks[no]; From nobody Fri Sep 5 18:42:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQF61p3Kz66DC5; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQF571bmz4Nj3; Fri, 05 Sep 2025 18: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=1757097738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BS7tAwj5/YFAMxTmSWY2iU27EFB/z9oy09vAuyFtlKE=; b=RjIMVFmLcYgxHRhwvpjUlLM4u/CbZ6p/z28GIIytynf7+rsfZFg49uGpMvluh4qg5iqH/5 tolQGAkRkY4UbPzAHmX8tGJV0/4v4UfZIEXpicYod/JOQE9e/xOwc/Gv4N8a5Ul57txbB4 7PGJJp9Q85LkdVifKYENUnAEJv2axEGBQCWvbaVtniB2x3oF7j45wlFGYQqnziKzg8WVXU jdCrF/RNH7Yx01/QocSdFa5Rpn+4yAzebMI65xKmPUPu9PIDjIDrkyTYOrbWxJ/h+uNhjZ Y7F3HQuLG6eqsMPIv7H6BQITj8444SxYGhyICjQ43Fu6Yj9jQLMxKhhb16f2/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097738; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BS7tAwj5/YFAMxTmSWY2iU27EFB/z9oy09vAuyFtlKE=; b=pY8KDqt7pOaRAm/cupavssXv+u5UKQoIr1mZM/C0qKY7Xwha/OX1ZuntVHe+lsje78ix4P 81jPxi0YQ0+h7AvCzA4cL1NNwYmEQpYG9cSrWPDsi443T9nvXVZSB+RnVhSWxtXYq34PR3 ovlNw4MkXfMQ4s17lcFqs4rsBzfjhKMQXL9zTaRdXCcGJZgbRh+Lm5UxmMt6VeWdB31AuK lxcbbsSRg+ZSvbsRFNtPMA4Ysk5e7q6KWsvuA9nNq1AI9OWeNTxnTt1y4Eb9cBrGGZFQyE lR83L27a+9QSM5+DM+jzP1kFfGq+K9dBu2sMGgBQS6vFlFy4DcZWcTNZq3zCyw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097738; a=rsa-sha256; cv=none; b=KF1XRTooF5BMyCGVkwqnKIlwXCI4hfblnbDxDPqF+npPUfsf8yREY6/Z1asA6N1pzraVeQ BfJa74LACLYDtLrx6tmFh6fEy+pbFkSAkLuIo0Myb5zK2Z/YjX8e1szgiTX532QYfJ2H9b pvIIJNkqMTUyNs+dfy5BZ4tLuCj9ttarmaBJXMIgq197hxZBWQHHZtcjFpzniu6E82cLBl GZRbQEyAOMWACBNMKIx46mRKtlN/WxyXZjGl8a5r9BfSuBChVYEd3PpqCfEis04EfhRtQd Jy7bNPr2ouTtmTton36Jx3xnwgixFiQhi1ony5lCLXv8QGWFr2B52OUbfvjlKA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQF56ZhJz10FW; Fri, 05 Sep 2025 18: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 585IgH1p096240; Fri, 5 Sep 2025 18: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 585IgHAr096237; Fri, 5 Sep 2025 18:42:17 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:17 GMT Message-Id: <202509051842.585IgHAr096237@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: a930cc8bad64 - main - GEOM_UNION: Should free sc in g_union_ctl_create when error happened. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: a930cc8bad644039cfcfa5ff7c6fe3e8548aa9ae Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a930cc8bad644039cfcfa5ff7c6fe3e8548aa9ae commit a930cc8bad644039cfcfa5ff7c6fe3e8548aa9ae Author: Wuyang Chung AuthorDate: 2025-09-02 06:23:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:20 +0000 GEOM_UNION: Should free sc in g_union_ctl_create when error happened. Signed-off-by: Wuyang Chung Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1835 --- sys/geom/union/g_union.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/geom/union/g_union.c b/sys/geom/union/g_union.c index 9734fc1bcfe3..0701e76db671 100644 --- a/sys/geom/union/g_union.c +++ b/sys/geom/union/g_union.c @@ -358,6 +358,7 @@ fail2: fail1: g_destroy_consumer(lowercp); g_destroy_provider(newpp); + g_free(sc); g_destroy_geom(gp); } From nobody Fri Sep 5 18:42:20 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQF85B29z66DV4; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQF81YqZz4NlH; Fri, 05 Sep 2025 18:42:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t3Zlj96P183opHIU1zuOX7w46kiBZmRSHyOpJqH7hPE=; b=Cnrb7Fa1Z5dLXAaLgMFSlV1b7RfFFhedpiEjPNQ66FvIgCG5vcYGXuMSYulKbyprEko8xe e2XHKhoMUFPJ6O9KwDEvDMtgModh1qSPKluGuHnlLsyWQourUgX/DEDA4cIDhIjojNOFni IitCKKM6B+vwYLRYk+/9tbaE3fUoVoTFJDjM3+bxe16C9sK45pPPqJjtV1NhWwjD4t+DpI uOdeIDnbmgFPFoJioMGFAXIXWUgLvF4FU3KwdUCa1AjxzrMdFe+0lv5mA4q2AB0C1Bbd29 84ofmj1hf5+ZQRaESwzOM+iGPaLq4mW7ra6Akj2/TyFW+qI2GANDfZeBzKTRJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097740; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t3Zlj96P183opHIU1zuOX7w46kiBZmRSHyOpJqH7hPE=; b=BbKqAu/WSHMIoDNfRFQE518THTof7sX7EDrh16nfXeuPJncCIh3uxLcOL6pLXGxSoS+d/J F/cWovkIBj0EPLeG/fOUBMgKCNJL82kYE7O+e9sngd6L52CdvbiPOeAHj9dT5Z2BWzWwh/ +qZwxB6OQdOMSb6l9KNvq33q9sUWic0fmxG6Or8DpZ3UrH1+sSfPkl64KqiMTB0sM/G+DH QMhgd2Qnz/TqPO2bwf2l3XgCR1ObBnGBUbzDm36CunnIZNuWoeZqx3snvcvo/XbZRkfY1a A3YW8609SWjISpBxNlQlC/pPcjm3DfA7vEVqbzV3RJSSdn9M0SJePjcl0dHTQA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097740; a=rsa-sha256; cv=none; b=U4lTA+/k2DuW7TLhA+LZ95j/x4cdueMFK4N3z27Qmtj/xlUMdT5os+4nIw+i4Dt5iNGXmU 0WW7JPAlNWVHs1C9cvejNYsgFwfoUaH7DuCxCei/JuNK4BjywufD76YrKeHg7TpPOGWbqq lx0b31pDRXCUG0WGLpD9JXojYm4XvmWdG6HX7Dfil0oPFyG12EDzywK8YqPDiINdVgmZa7 rQ4UlYtNzGb1f2kqNFmr2UaxcXkDCfl4THudGYiLtG8+hqs85Vh+7v5jIs2L28nwxUS/35 EDzuztJkBd7HtJ5IpW8igZjiTPWpWZSdrX+/KwjbJSRnIMQuI+T9c9Ql8eHFnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQF812SHz117C; Fri, 05 Sep 2025 18:42: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 585IgKwN096306; Fri, 5 Sep 2025 18:42:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgK5D096303; Fri, 5 Sep 2025 18:42:20 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:20 GMT Message-Id: <202509051842.585IgK5D096303@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: 8647a0b37e75 - main - bpi-r2-pro: added support dts for bpi-r2-pro List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 8647a0b37e7518b051e78422f90586125a1eb733 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8647a0b37e7518b051e78422f90586125a1eb733 commit 8647a0b37e7518b051e78422f90586125a1eb733 Author: MartinFx AuthorDate: 2025-08-25 20:45:09 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:21 +0000 bpi-r2-pro: added support dts for bpi-r2-pro Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1822 --- sys/modules/dtb/rockchip/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/modules/dtb/rockchip/Makefile b/sys/modules/dtb/rockchip/Makefile index 33c2048cbb15..9c8ca1acc837 100644 --- a/sys/modules/dtb/rockchip/Makefile +++ b/sys/modules/dtb/rockchip/Makefile @@ -21,7 +21,8 @@ DTS= \ rockchip/rk3566-quartz64-a.dts \ rockchip/rk3568-nanopi-r5s.dts \ rockchip/rk3566-radxa-zero-3e.dts \ - rockchip/rk3566-radxa-zero-3w.dts + rockchip/rk3566-radxa-zero-3w.dts \ + rockchip/rk3568-bpi-r2-pro.dts DTSO= rk3328-analog-sound.dtso \ rk3328-i2c0.dtso \ From nobody Fri Sep 5 18:42:18 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQF819Jzz66DV0; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQF72bVnz4Nl4; Fri, 05 Sep 2025 18:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sUZF605RWQsY2JBFMRDCvK9PKMl1yybO14CkX/M83sE=; b=wYAKZ9mXTURffmvwPWIh3om5sSXe/b9ZWOuTeycNcqCW+xE6Hqz3k1mRiq1sJW/aDgo50h EUb5vvaecCzH7xKA36s9+NGwO/qpSFqTW+AhUQto+mu/pER3TrysyGLh1KwfuLwaj9M26L IcvTnCCx5Mk/CTIpk5Vw05zJBQa6RLr6puFd8QISDzhLoMBJZMJXjVYNGs2OHQLBFxhoW5 LKv2dTShoef0NdgFZeFCj2kFLEI0zeULw58D0Wdvpi7qvBIVZtHk8/4jnx/PUbQHT0j3Hu s31luz3ZOyGLY6UID840TPnQ8/P3FxqHDXOqOiwDwI8u/nQ69jJ1RAcDJ/Oa7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=sUZF605RWQsY2JBFMRDCvK9PKMl1yybO14CkX/M83sE=; b=XeoPxpbSEJiMS3FK+oM50Z323QX8s7J/kiI/cUvfj0SI4XhQax1QmOTPH67hPQ2SbQA+JM 3KhoAyC+GaREpkWv/k0GRhHUQCr/gGLd5xInM7eYrXiiLh9kJGnNj1FNlCI5v/wW8Jn7bD 8hRj8TnrOaPW6EMpQBKMu3T9IEeIeqzCMsx5TQ4HCV9vP8MxTj2xuF2kvPwXXC1C+9cqvK Q3s3K6RvDatDWfzxXI05FXy7LuCZ87A2OFZ7yLsknXBz/iCvhd2UHSMWXDZ01cAooTUGU7 fQ64TaOI9UAC1n0lCOMXpAKh6EhbavsE99y2FXGbbXuKbpjKifk0CTLfwjuUww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097739; a=rsa-sha256; cv=none; b=l4MDBwRLhLDkonVJTJepjgsYtUneZYaB6RJp4doWkKvgOK7KPHb1EuBTg+bBe9jVv9+RBa XA2nSE9e/+Ge7/h62SDF7ZU8ZTU/gSpztfGtrK78/D1ImhqsSKoqYWylUPOWZFT6t/YLKz kz7TdqI01Ey8vgpOQpnWGIXPi4gFFwT2qoAaBlNVPi9daXCU7wPUCeirluHXfgkaRXyu1A H2y3cJ44MoEMga7KaSgcKU/fRCd1D2Z7TfEYF+YIJmV018xvtb/eWznHHzytzle1grC23/ vEgPGQkCmMxlzrWRhw3bxSl4l9ZMzOISgXvAB/F23V74T/7pT+2V2jf76kaWNA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQF707M2z10FX; Fri, 05 Sep 2025 18:42:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 585IgIPj096273; Fri, 5 Sep 2025 18:42:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgIXp096270; Fri, 5 Sep 2025 18:42:18 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:18 GMT Message-Id: <202509051842.585IgIXp096270@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: 3ed0cdf7de79 - main - Update vmimage.subr List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 3ed0cdf7de79fc0f50f57e75cdb9ae178ab0e74c Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=3ed0cdf7de79fc0f50f57e75cdb9ae178ab0e74c commit 3ed0cdf7de79fc0f50f57e75cdb9ae178ab0e74c Author: Unicorn9x AuthorDate: 2025-09-01 11:30:48 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:21 +0000 Update vmimage.subr This "noatime" tweak, reduced the OPNsense constant 50kb - 80kb disk writes that wear down the SSD / NVME. Signed-off-by: Unicorn9x Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1834 --- release/tools/vmimage.subr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr index 156987e33457..20ffe3b2dac7 100644 --- a/release/tools/vmimage.subr +++ b/release/tools/vmimage.subr @@ -82,7 +82,7 @@ vm_install_base() { echo '# Custom /etc/fstab for FreeBSD VM images' \ > ${DESTDIR}/etc/fstab if [ "${VMFS}" != zfs ]; then - echo "/dev/${ROOTLABEL}/rootfs / ${VMFS} rw 1 1" \ + echo "/dev/${ROOTLABEL}/rootfs / ${VMFS} rw,noatime 1 1" \ >> ${DESTDIR}/etc/fstab fi if [ -z "${NOSWAP}" ]; then From nobody Fri Sep 5 18:42:21 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQF966CYz66DTw; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQF92kHqz4NrC; Fri, 05 Sep 2025 18:42:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iR5lzjhAPAwxhsHNf3PCoHB83uT70uJ2OLkkvO4EjGA=; b=sSJbyIgfEobn1+QdhDSUgcm7aa2vr1nBG8UAB6PEovqvrlUTwLFnmM/PE3Xf1EXVGXpqsq GWD0eHv2rJpnVA7zbB8BP0VdjAO26irZrclol8etIPl552bZ7RjU0hHUKlPCMJiDugTfrT wJeLCPycEupTebpDzqpVlDShkhnBiFoDL5ZYTalNU8HpwMcDJoRyoEfLvdOJPMk1VBf+Ut 3g6hZQQXl/Y3LJv++1VfbhOD1QyzidokHyRTZKGcQ7fv5Kg8NRdkYmH0qqjT/ImOc6hjZZ T+d/96EEUD0/03wZaRf4fO33OGOVJhHIWUb8qmx5wzxOENGplaRXnAfiA6xY8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097741; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iR5lzjhAPAwxhsHNf3PCoHB83uT70uJ2OLkkvO4EjGA=; b=LKmY3OSOeN0n94zlzer+1ka68CWFjAloLVzceZoTKG/J9b+ILjf8OWP2LiCanvIoi+V+T4 rhHpP3j6XYsncUdNXPE528oe6a4f3Sf3sDmNcRLx/blQzaP9dgdXeGh7vNK3zr+nV3MpqC T5Lt2Qw3D81FXGw3Nm/D/yC+AWtDz7LaS3B2bH2l6HktA7QDpbFL+OA56lDLv0lOiWeKbf ngz76isRmSLOWk6eewhGqqmfiAXO/uG5PMfp30X2QqC1iSc3v4PYPbZ5JM2F5fz46T0vHM XGKCNtmjYkmnjx3Iz40iF+PHVJW9cvXviAtf7GoR4JX1SKupkFMUQXKBa1DxwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097741; a=rsa-sha256; cv=none; b=N4gidAVaYjPhsH4fecHoOFf0t6W5aZEQ128r1DCtenYbntB4ouRzEdAKm/0PyJu1rSHnBF 8B/885XNQ0vn7tjbWoF5Kw3ylXJtYb9XUT2PZf0O+BAzGfU87shGDMhuBQku1CwdHLAFtx OU/y7RDxUEm9RgIIBu39epSvoivXWEMuyFIOzQtmsXBnfyfGHMb0o6vxg8+FYHtibDdeyX 8SrJS3agPg7H1V0oy9LtofhSKi2RW/L/N1sbmghz1g3OuCZjcOqm2rrEy+/hyXo+KcK/xI heOus0nIDxOzhKBTkeDnykrUVSDvC0jP1znUt2eagZtIGHcxg15cm2DYsl+U7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQF92Hj7z11FX; Fri, 05 Sep 2025 18:42: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 585IgLtZ096342; Fri, 5 Sep 2025 18:42:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgLU8096338; Fri, 5 Sep 2025 18:42:21 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:21 GMT Message-Id: <202509051842.585IgLU8096338@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: 89ff06870840 - main - x86: Fix bug in print_vmx_info() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 89ff06870840b99df70afd56058df7ee2b300474 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=89ff06870840b99df70afd56058df7ee2b300474 commit 89ff06870840b99df70afd56058df7ee2b300474 Author: Aaron LI AuthorDate: 2025-08-22 01:12:35 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:21 +0000 x86: Fix bug in print_vmx_info() The function used the wrong variable (mask) to print the Exit and Entry controls. Fix it. Signed-off-by: Aaron LI Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1820 --- sys/x86/x86/identcpu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/x86/x86/identcpu.c b/sys/x86/x86/identcpu.c index 4d64eaf78b29..7661c82f4394 100644 --- a/sys/x86/x86/identcpu.c +++ b/sys/x86/x86/identcpu.c @@ -2613,7 +2613,7 @@ print_vmx_info(void) "\020EPT#VE" /* EPT-violation #VE */ "\021XSAVES" /* Enable XSAVES/XRSTORS */ ); - printf("\n Exit Controls=0x%b", mask, + printf("\n Exit Controls=0x%b", exit, "\020" "\003DR" /* Save debug controls */ /* Ignore Host address-space size */ @@ -2625,7 +2625,7 @@ print_vmx_info(void) "\026EFER-LD" /* Load MSR_EFER */ "\027PTMR-SV" /* Save VMX-preemption timer value */ ); - printf("\n Entry Controls=0x%b", mask, + printf("\n Entry Controls=0x%b", entry, "\020" "\003DR" /* Save debug controls */ /* Ignore IA-32e mode guest */ From nobody Fri Sep 5 18:42:22 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFB5QCpz66DV5; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFB3ftXz4NrM; Fri, 05 Sep 2025 18:42:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6UuzoTMsFQIulJIYVTGtgXzft/ib8B1j+V2fSwfMOmI=; b=favhebq2QpLYbeab/dx94OT0umB8j03cgZv3HIcYhVQhav7dC8pprogDc3bktgEtPF9bba vattuQs1kg2ciabJ04FfmyYvkKfq2/5V5e/l+ThD/n/oIvNA/JMb9jUoE9mnV071yJGoan 9RHehKCn5gUYRX2cNgcdwWmi/NY9e44s3ABlbZC4Ux4Vne/26r+0xU+60YoKhCNuUVGd35 k9gEsbQnqJ/39HbeeIeNBp9D3piN6NU0U94watzQ2qAnrOlG0Ebme7nNNAqyYzZDm9hYxP B3p5jsWtm+sS0VotG6zLKm42dTV1s0jd35/gqMNjWdEL+PpvOW5LazMTa5IIew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6UuzoTMsFQIulJIYVTGtgXzft/ib8B1j+V2fSwfMOmI=; b=sxbZMRKUv0q1OgiiL9zUrS19gwk5o23IxrJHp2ECRc/3mDnnr77/XdTsctmGzPYWa+kEUB c2ROdpf9FKD3KA3T9cYLmLM67cdLnpDVeeDziRm83T1Nkl/6f/DaoGFrM2QG25n0un2CD8 1nZsb59QiOkWTKvCkilkzr6+UtrxK3+vXEI29izZmHQ5xmCRj69oeX6O2ICP9cYjNXDAex rjmAvgmPzytZ0ZXJZ1/D9PpVfWEaL0x9eCiqPtrHFkG9scp1NKFnNd0mlpSWxgHlA6Uwxm D6Pv5XbCXYoOpXjOXgj8a3firSdEnwyUCw1fK+XQpCAMteWu/GSG6hZjb0OavQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097742; a=rsa-sha256; cv=none; b=eDMG/Rhpgehcs0CL3WTyTzXiTfgoPCThEcY5BcqqT3HmtF5n5eP2ecC13svJbzIvSpLKGB MAaDoPxMCWCFuiCEMAmbiSUJQe10rekmHstLb47wHGTcL9tPjVO8gdqdZWPXIeb+4Owl07 /WDzONq5Ctv/eM0aZ9xR+K3d/ulSWvyvAJCNuv+Lf5faBT/gpAtmgGL4GOKDQdAXno7H+9 PPrW+oUI0wE6ldf6G8F/Mi0vBAC5tVcHFSPyA7FJI9RzmK1u6HdS8qJ4BbevyUAF50XPiL M6sIjudEhqpfYZbSwp1kiplYeXc2HwEN+4nANEXBa7J4jRwD1Kbd7j9A+9Xv5w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFB3Cy6z10FY; Fri, 05 Sep 2025 18:42: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 585IgMKH096375; Fri, 5 Sep 2025 18:42:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgMGY096372; Fri, 5 Sep 2025 18:42:22 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:22 GMT Message-Id: <202509051842.585IgMGY096372@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: 1167a7d065f8 - main - GEOM: add a new function g_new_geom List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 1167a7d065f8a6265cc8e28025944a2f848e3a7e Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=1167a7d065f8a6265cc8e28025944a2f848e3a7e commit 1167a7d065f8a6265cc8e28025944a2f848e3a7e Author: Wuyang Chung AuthorDate: 2025-07-23 09:41:34 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:21 +0000 GEOM: add a new function g_new_geom This function is a variant of g_new_geomf. It accepts a regular string instead of a format string as its input parameter. It can save the time wasted on unnecessary format string processing. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1786 --- share/man/man9/g_geom.9 | 15 ++++++++++++++- sys/geom/geom.h | 5 +++-- sys/geom/geom_subr.c | 33 ++++++++++++++++++++++----------- 3 files changed, 39 insertions(+), 14 deletions(-) diff --git a/share/man/man9/g_geom.9 b/share/man/man9/g_geom.9 index 74c6979fceda..c5b0c0aded2d 100644 --- a/share/man/man9/g_geom.9 +++ b/share/man/man9/g_geom.9 @@ -27,12 +27,15 @@ .Os .Sh NAME .Nm g_new_geomf , +.Nm g_new_geom , .Nm g_destroy_geom .Nd "geom management" .Sh SYNOPSIS .In geom/geom.h .Ft "struct g_geom *" .Fn g_new_geomf "struct g_class *mp" "const char *fmt" ... +.Ft "struct g_geom *" +.Fn g_new_geom "struct g_class *mp" "const char *name" .Ft void .Fn g_destroy_geom "struct g_geom *gp" .Sh DESCRIPTION @@ -58,6 +61,14 @@ The geom's name is created in a -like way from the rest of the arguments. .Pp The +.Fn g_new_geom +function is very similar to +.Fn g_new_geomf +except that it accepts a regular string instead of a +.Xr printf 3 Ns +-like format strng as the geom's name. +.Pp +The .Fn g_destroy_geom function destroys the given geom immediately and cancels all related pending events. @@ -94,7 +105,9 @@ and .Va access for it. .Pp -.Fn g_new_geomf : +.Fn g_new_geomf +and +.Fn g_new_geom : .Bl -item -offset indent .It Class diff --git a/sys/geom/geom.h b/sys/geom/geom.h index 908ce86f03a6..50e6627b0157 100644 --- a/sys/geom/geom.h +++ b/sys/geom/geom.h @@ -289,8 +289,9 @@ int g_handleattr_int(struct bio *bp, const char *attribute, int val); int g_handleattr_off_t(struct bio *bp, const char *attribute, off_t val); int g_handleattr_uint16_t(struct bio *bp, const char *attribute, uint16_t val); int g_handleattr_str(struct bio *bp, const char *attribute, const char *str); -struct g_consumer * g_new_consumer(struct g_geom *gp); -struct g_geom * g_new_geomf(struct g_class *mp, const char *fmt, ...) +struct g_consumer *g_new_consumer(struct g_geom *gp); +struct g_geom *g_new_geom(struct g_class *mp, const char *name); +struct g_geom *g_new_geomf(struct g_class *mp, const char *fmt, ...) __printflike(2, 3); struct g_provider * g_new_providerf(struct g_geom *gp, const char *fmt, ...) __printflike(2, 3); diff --git a/sys/geom/geom_subr.c b/sys/geom/geom_subr.c index 1429c84942ed..2a6ce1ab6486 100644 --- a/sys/geom/geom_subr.c +++ b/sys/geom/geom_subr.c @@ -368,20 +368,15 @@ g_retaste(struct g_class *mp) } struct g_geom * -g_new_geomf(struct g_class *mp, const char *fmt, ...) +g_new_geom(struct g_class *mp, const char *name) { + int len; struct g_geom *gp; - va_list ap; - struct sbuf *sb; g_topology_assert(); G_VALID_CLASS(mp); - sb = sbuf_new_auto(); - va_start(ap, fmt); - sbuf_vprintf(sb, fmt, ap); - va_end(ap); - sbuf_finish(sb); - gp = g_malloc(sizeof(*gp) + sbuf_len(sb) + 1, M_WAITOK | M_ZERO); + len = strlen(name); + gp = g_malloc(sizeof(*gp) + len + 1, M_WAITOK | M_ZERO); gp->name = (char *)(gp + 1); gp->class = mp; gp->rank = 1; @@ -389,8 +384,7 @@ g_new_geomf(struct g_class *mp, const char *fmt, ...) LIST_INIT(&gp->provider); LIST_INSERT_HEAD(&mp->geom, gp, geom); TAILQ_INSERT_HEAD(&geoms, gp, geoms); - strcpy(gp->name, sbuf_data(sb)); - sbuf_delete(sb); + memcpy(gp->name, name, len); /* Fill in defaults from class */ gp->start = mp->start; gp->spoiled = mp->spoiled; @@ -404,6 +398,23 @@ g_new_geomf(struct g_class *mp, const char *fmt, ...) return (gp); } +struct g_geom * +g_new_geomf(struct g_class *mp, const char *fmt, ...) +{ + struct g_geom *gp; + va_list ap; + struct sbuf *sb; + + sb = sbuf_new_auto(); + va_start(ap, fmt); + sbuf_vprintf(sb, fmt, ap); + va_end(ap); + sbuf_finish(sb); + gp = g_new_geom(mp, sbuf_data(sb)); + sbuf_delete(sb); + return (gp); +} + void g_destroy_geom(struct g_geom *gp) { From nobody Fri Sep 5 18:42:23 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFD07HWz66DCL; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFC4Gtwz4NWl; Fri, 05 Sep 2025 18:42:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/deuxAi8BZ8MYx59UNRitFWkGJeOSjexhQzKwy++Unw=; b=buR0Q8CYVa0vQpjetYX0jrSlrYMy1Knue/aZ+dgW7z1w03VraRhQUvSrRLhZ4iMYaTzpJN l9WNZI36d7j2VwXulh99UaWOXxnaLG2ADMlyg1SRtrmXVhNb/M1Sd3b29e8yt2hpGUd3D1 Wj8l6iFjwrMpDDwdheN+1LnO5bUW3yYXPafD9sHGZGPUh4DkJ0bKa7SDsCR2QIKAOSFh80 R3kSQPXpDZDoLNlDQJQyMyNVPDdy0tCKYMP6Re8R4nsIThY65IatZSt4cdc7GcZ+4zUzVh 76LsglqE6DD3vPOIMKUr2Yp+5yWk5NB89V5I0fX897cEJM990up+qUbrF52leQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097743; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/deuxAi8BZ8MYx59UNRitFWkGJeOSjexhQzKwy++Unw=; b=VcHjb83SCyPd1QFrMveGo00hgzaSQZljoneunRtRAkEQCOXoxjsT6ew/QndNybRCT4IhqC xVAwlAE9+MpyaPjdBRsuBdq2fV+EccBlKAiczUfm2nmE5LFnAqouVWYSMre5xlPwWpeVsJ EbM6q6hgUcCjY7k3LmnSmygbBs57mImPXP3ZN6JMNIloURS2p4gMMCRvaEjHMNBye6JED5 bHvtf1f62yS+x7xHElkiehaC50XXExKq7NC3UHAVLNdXhSWQpOiIKJaczrvfxSU7AGLud/ znUJTBxkWVpcRrd4aVlglwnkSLWwvrGgKiU9AMj0edP3MKFohsIWgnYpk3kxcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097743; a=rsa-sha256; cv=none; b=EPqP8C0P+IHx5VQc9h0tjme5QWnbdYEdz/kuqJe+p7ElxMFU2hTw7/FBSS9LSNu+l9w7zy qPhwicCQWFk0KS6sYZ/6D9xT+9HUvBp1GXu5pMJaPAK1+3pLfm+eaOMymttDBc0zfSejGc bQ/LAXpnPR/5JcMEkS3oZoZaQ5b5kAq2Zy3q68Cb5RJuPNg4I3sN0pU/qXwgg3WYYyU+im ycJ1E5Le4AfEhhTsP0scRNp1lMjxE0NUrK9X+DkG+Q/BFBLtifgJMChcnYncXT/GAhk/Fd dYLhDV9j3hEGyXTnzU0uW4orISeEuCT4hziRwMPoCAU5BrXXvO3k51E2oPVJ1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFC3ppSz10yG; Fri, 05 Sep 2025 18:42: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 585IgNVA096408; Fri, 5 Sep 2025 18:42:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgNAe096405; Fri, 5 Sep 2025 18:42:23 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:23 GMT Message-Id: <202509051842.585IgNAe096405@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: 656f7f43f204 - main - call g_new_geom instead for callers that pass regular string to g_new_geomf List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 656f7f43f204ad1e6956f8257f66b50e032a6c61 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=656f7f43f204ad1e6956f8257f66b50e032a6c61 commit 656f7f43f204ad1e6956f8257f66b50e032a6c61 Author: Wuyang Chung AuthorDate: 2025-07-29 03:42:24 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:21 +0000 call g_new_geom instead for callers that pass regular string to g_new_geomf Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1786 --- sys/geom/cache/g_cache.c | 4 ++-- sys/geom/concat/g_concat.c | 4 ++-- sys/geom/eli/g_eli.c | 2 +- sys/geom/gate/g_gate.c | 2 +- sys/geom/geom_dev.c | 2 +- sys/geom/geom_slice.c | 2 +- sys/geom/journal/g_journal.c | 2 +- sys/geom/label/g_label.c | 2 +- sys/geom/linux_lvm/g_linux_lvm.c | 4 ++-- sys/geom/mirror/g_mirror.c | 4 ++-- sys/geom/mirror/g_mirror_ctl.c | 2 +- sys/geom/mountver/g_mountver.c | 2 +- sys/geom/multipath/g_multipath.c | 4 ++-- sys/geom/nop/g_nop.c | 2 +- sys/geom/part/g_part.c | 4 ++-- sys/geom/raid/g_raid.c | 4 ++-- sys/geom/raid3/g_raid3.c | 4 ++-- sys/geom/raid3/g_raid3_ctl.c | 2 +- sys/geom/shsec/g_shsec.c | 4 ++-- sys/geom/stripe/g_stripe.c | 4 ++-- sys/geom/union/g_union.c | 2 +- sys/geom/virstor/g_virstor.c | 4 ++-- sys/geom/zero/g_zero.c | 2 +- 23 files changed, 34 insertions(+), 34 deletions(-) diff --git a/sys/geom/cache/g_cache.c b/sys/geom/cache/g_cache.c index 9d0b10f4192e..c6b80786ade5 100644 --- a/sys/geom/cache/g_cache.c +++ b/sys/geom/cache/g_cache.c @@ -504,7 +504,7 @@ g_cache_create(struct g_class *mp, struct g_provider *pp, return (NULL); } - gp = g_new_geomf(mp, "%s", md->md_name); + gp = g_new_geom(mp, md->md_name); sc = g_malloc(sizeof(*sc), M_WAITOK | M_ZERO); sc->sc_type = type; sc->sc_bshift = bshift; @@ -665,7 +665,7 @@ g_cache_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) G_CACHE_DEBUG(3, "Tasting %s.", pp->name); - gp = g_new_geomf(mp, "cache:taste"); + gp = g_new_geom(mp, "cache:taste"); gp->start = g_cache_start; gp->orphan = g_cache_orphan; gp->access = g_cache_access; diff --git a/sys/geom/concat/g_concat.c b/sys/geom/concat/g_concat.c index 2173a84c7acf..fe83b54953cc 100644 --- a/sys/geom/concat/g_concat.c +++ b/sys/geom/concat/g_concat.c @@ -646,7 +646,7 @@ g_concat_create(struct g_class *mp, const struct g_concat_metadata *md, return (NULL); } } - gp = g_new_geomf(mp, "%s", md->md_name); + gp = g_new_geom(mp, md->md_name); sc = malloc(sizeof(*sc), M_CONCAT, M_WAITOK | M_ZERO); gp->start = g_concat_start; gp->spoiled = g_concat_orphan; @@ -753,7 +753,7 @@ g_concat_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) G_CONCAT_DEBUG(3, "Tasting %s.", pp->name); - gp = g_new_geomf(mp, "concat:taste"); + gp = g_new_geom(mp, "concat:taste"); gp->start = g_concat_start; gp->access = g_concat_access; gp->orphan = g_concat_orphan; diff --git a/sys/geom/eli/g_eli.c b/sys/geom/eli/g_eli.c index 5bd2d465183e..7fca50e7635c 100644 --- a/sys/geom/eli/g_eli.c +++ b/sys/geom/eli/g_eli.c @@ -769,7 +769,7 @@ g_eli_read_metadata_offset(struct g_class *mp, struct g_provider *pp, g_topology_assert(); - gp = g_new_geomf(mp, "eli:taste"); + gp = g_new_geom(mp, "eli:taste"); gp->start = g_eli_start; gp->access = g_std_access; /* diff --git a/sys/geom/gate/g_gate.c b/sys/geom/gate/g_gate.c index ecdcacff6707..76a4328227dd 100644 --- a/sys/geom/gate/g_gate.c +++ b/sys/geom/gate/g_gate.c @@ -571,7 +571,7 @@ g_gate_create(struct g_gate_ctl_create *ggio) } } - gp = g_new_geomf(&g_gate_class, "%s", name); + gp = g_new_geom(&g_gate_class, name); gp->start = g_gate_start; gp->access = g_gate_access; gp->orphan = g_gate_orphan; diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c index 4a2a850c2eab..27c65f15d5e3 100644 --- a/sys/geom/geom_dev.c +++ b/sys/geom/geom_dev.c @@ -355,7 +355,7 @@ g_dev_taste(struct g_class *mp, struct g_provider *pp, int insist __unused) g_trace(G_T_TOPOLOGY, "dev_taste(%s,%s)", mp->name, pp->name); g_topology_assert(); - gp = g_new_geomf(mp, "%s", pp->name); + gp = g_new_geom(mp, pp->name); sc = g_malloc(sizeof(*sc), M_WAITOK | M_ZERO); mtx_init(&sc->sc_mtx, "g_dev", NULL, MTX_DEF); cp = g_new_consumer(gp); diff --git a/sys/geom/geom_slice.c b/sys/geom/geom_slice.c index 0491b0069be4..935293950c37 100644 --- a/sys/geom/geom_slice.c +++ b/sys/geom/geom_slice.c @@ -529,7 +529,7 @@ g_slice_new(struct g_class *mp, u_int slices, struct g_provider *pp, struct g_co g_topology_assert(); vp = (void **)extrap; - gp = g_new_geomf(mp, "%s", pp->name); + gp = g_new_geom(mp, pp->name); gsp = g_slice_alloc(slices, extra); gsp->start = start; gp->softc = gsp; diff --git a/sys/geom/journal/g_journal.c b/sys/geom/journal/g_journal.c index 6d9f6239e632..b520194b7d7c 100644 --- a/sys/geom/journal/g_journal.c +++ b/sys/geom/journal/g_journal.c @@ -2477,7 +2477,7 @@ g_journal_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) if (pp->geom->class == mp) return (NULL); - gp = g_new_geomf(mp, "journal:taste"); + gp = g_new_geom(mp, "journal:taste"); /* This orphan function should be never called. */ gp->orphan = g_journal_taste_orphan; cp = g_new_consumer(gp); diff --git a/sys/geom/label/g_label.c b/sys/geom/label/g_label.c index acb17d40914e..faefbd7c2ef6 100644 --- a/sys/geom/label/g_label.c +++ b/sys/geom/label/g_label.c @@ -399,7 +399,7 @@ g_label_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) if (strcmp(pp->geom->class->name, mp->name) == 0) return (NULL); - gp = g_new_geomf(mp, "label:taste"); + gp = g_new_geom(mp, "label:taste"); gp->start = g_label_start_taste; gp->access = g_label_access_taste; gp->orphan = g_label_orphan_taste; diff --git a/sys/geom/linux_lvm/g_linux_lvm.c b/sys/geom/linux_lvm/g_linux_lvm.c index c63318fed729..f333c08f45d9 100644 --- a/sys/geom/linux_lvm/g_linux_lvm.c +++ b/sys/geom/linux_lvm/g_linux_lvm.c @@ -537,7 +537,7 @@ g_llvm_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) g_topology_assert(); g_trace(G_T_TOPOLOGY, "%s(%s, %s)", __func__, mp->name, pp->name); - gp = g_new_geomf(mp, "linux_lvm:taste"); + gp = g_new_geom(mp, "linux_lvm:taste"); /* This orphan function should be never called. */ gp->orphan = g_llvm_taste_orphan; cp = g_new_consumer(gp); @@ -557,7 +557,7 @@ g_llvm_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) vg = md.md_vg; if (vg->vg_geom == NULL) { /* new volume group */ - gp = g_new_geomf(mp, "%s", vg->vg_name); + gp = g_new_geom(mp, vg->vg_name); gp->start = g_llvm_start; gp->spoiled = g_llvm_orphan; gp->orphan = g_llvm_orphan; diff --git a/sys/geom/mirror/g_mirror.c b/sys/geom/mirror/g_mirror.c index 25c0490938ef..03902a2f2491 100644 --- a/sys/geom/mirror/g_mirror.c +++ b/sys/geom/mirror/g_mirror.c @@ -3149,7 +3149,7 @@ g_mirror_create(struct g_class *mp, const struct g_mirror_metadata *md, /* * Action geom. */ - gp = g_new_geomf(mp, "%s", md->md_name); + gp = g_new_geom(mp, md->md_name); sc = malloc(sizeof(*sc), M_MIRROR, M_WAITOK | M_ZERO); gp->start = g_mirror_start; gp->orphan = g_mirror_orphan; @@ -3290,7 +3290,7 @@ g_mirror_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) g_trace(G_T_TOPOLOGY, "%s(%s, %s)", __func__, mp->name, pp->name); G_MIRROR_DEBUG(2, "Tasting %s.", pp->name); - gp = g_new_geomf(mp, "mirror:taste"); + gp = g_new_geom(mp, "mirror:taste"); /* * This orphan function should be never called. */ diff --git a/sys/geom/mirror/g_mirror_ctl.c b/sys/geom/mirror/g_mirror_ctl.c index 82bc05a142c0..b31bf098ac4b 100644 --- a/sys/geom/mirror/g_mirror_ctl.c +++ b/sys/geom/mirror/g_mirror_ctl.c @@ -433,7 +433,7 @@ g_mirror_ctl_create(struct gctl_req *req, struct g_class *mp) g_topology_lock(); mediasize = OFF_MAX; sectorsize = 0; - gp = g_new_geomf(mp, "%s", md.md_name); + gp = g_new_geom(mp, md.md_name); gp->orphan = g_mirror_create_orphan; cp = g_new_consumer(gp); for (no = 1; no < *nargs; no++) { diff --git a/sys/geom/mountver/g_mountver.c b/sys/geom/mountver/g_mountver.c index de3a298735d4..c7d55c4734a2 100644 --- a/sys/geom/mountver/g_mountver.c +++ b/sys/geom/mountver/g_mountver.c @@ -291,7 +291,7 @@ g_mountver_create(struct gctl_req *req, struct g_class *mp, struct g_provider *p return (EEXIST); } } - gp = g_new_geomf(mp, "%s", name); + gp = g_new_geom(mp, name); sc = g_malloc(sizeof(*sc), M_WAITOK | M_ZERO); mtx_init(&sc->sc_mtx, "gmountver", NULL, MTX_DEF | MTX_RECURSE); TAILQ_INIT(&sc->sc_queue); diff --git a/sys/geom/multipath/g_multipath.c b/sys/geom/multipath/g_multipath.c index a4935df7eaa1..250a2c60ffee 100644 --- a/sys/geom/multipath/g_multipath.c +++ b/sys/geom/multipath/g_multipath.c @@ -549,7 +549,7 @@ g_multipath_create(struct g_class *mp, struct g_multipath_metadata *md) } } - gp = g_new_geomf(mp, "%s", md->md_name); + gp = g_new_geom(mp, md->md_name); sc = g_malloc(sizeof(*sc), M_WAITOK | M_ZERO); mtx_init(&sc->sc_mtx, "multipath", NULL, MTX_DEF); memcpy(sc->sc_uuid, md->md_uuid, sizeof(sc->sc_uuid)); @@ -821,7 +821,7 @@ g_multipath_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) g_topology_assert(); - gp = g_new_geomf(mp, "multipath:taste"); + gp = g_new_geom(mp, "multipath:taste"); gp->start = g_multipath_start; gp->access = g_multipath_access; gp->orphan = g_multipath_orphan; diff --git a/sys/geom/nop/g_nop.c b/sys/geom/nop/g_nop.c index a32111e3a29a..1fb99f4a0a5b 100644 --- a/sys/geom/nop/g_nop.c +++ b/sys/geom/nop/g_nop.c @@ -416,7 +416,7 @@ g_nop_create(struct gctl_req *req, struct g_class *mp, struct g_provider *pp, return (EEXIST); } } - gp = g_new_geomf(mp, "%s", name); + gp = g_new_geom(mp, name); sc = g_malloc(sizeof(*sc), M_WAITOK | M_ZERO); sc->sc_offset = offset; sc->sc_explicitsize = explicitsize; diff --git a/sys/geom/part/g_part.c b/sys/geom/part/g_part.c index 88e44b335b29..8a7f67d8a313 100644 --- a/sys/geom/part/g_part.c +++ b/sys/geom/part/g_part.c @@ -998,7 +998,7 @@ g_part_ctl_create(struct gctl_req *req, struct g_part_parms *gpp) } if (null == NULL) - gp = g_new_geomf(&g_part_class, "%s", pp->name); + gp = g_new_geom(&g_part_class, pp->name); gp->softc = kobj_create((kobj_class_t)gpp->gpp_scheme, M_GEOM, M_WAITOK); table = gp->softc; @@ -1979,7 +1979,7 @@ g_part_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) * With that we become part of the topology. Obtain read access * to the provider. */ - gp = g_new_geomf(mp, "%s", pp->name); + gp = g_new_geom(mp, pp->name); cp = g_new_consumer(gp); cp->flags |= G_CF_DIRECT_SEND | G_CF_DIRECT_RECEIVE; error = g_attach(cp, pp); diff --git a/sys/geom/raid/g_raid.c b/sys/geom/raid/g_raid.c index a483622d14a5..590f28aaa46c 100644 --- a/sys/geom/raid/g_raid.c +++ b/sys/geom/raid/g_raid.c @@ -1876,7 +1876,7 @@ g_raid_create_node(struct g_class *mp, g_topology_assert(); G_RAID_DEBUG(1, "Creating array %s.", name); - gp = g_new_geomf(mp, "%s", name); + gp = g_new_geom(mp, name); sc = malloc(sizeof(*sc), M_RAID, M_WAITOK | M_ZERO); gp->start = g_raid_start; gp->orphan = g_raid_orphan; @@ -2217,7 +2217,7 @@ g_raid_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) geom = NULL; status = G_RAID_MD_TASTE_FAIL; - gp = g_new_geomf(mp, "raid:taste"); + gp = g_new_geom(mp, "raid:taste"); /* * This orphan function should be never called. */ diff --git a/sys/geom/raid3/g_raid3.c b/sys/geom/raid3/g_raid3.c index c2d05b48d80d..64951bd01deb 100644 --- a/sys/geom/raid3/g_raid3.c +++ b/sys/geom/raid3/g_raid3.c @@ -3164,7 +3164,7 @@ g_raid3_create(struct g_class *mp, const struct g_raid3_metadata *md) /* * Action geom. */ - gp = g_new_geomf(mp, "%s", md->md_name); + gp = g_new_geom(mp, md->md_name); sc = malloc(sizeof(*sc), M_RAID3, M_WAITOK | M_ZERO); sc->sc_disks = malloc(sizeof(struct g_raid3_disk) * md->md_all, M_RAID3, M_WAITOK | M_ZERO); @@ -3338,7 +3338,7 @@ g_raid3_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) g_trace(G_T_TOPOLOGY, "%s(%s, %s)", __func__, mp->name, pp->name); G_RAID3_DEBUG(2, "Tasting %s.", pp->name); - gp = g_new_geomf(mp, "raid3:taste"); + gp = g_new_geom(mp, "raid3:taste"); /* This orphan function should be never called. */ gp->orphan = g_raid3_taste_orphan; cp = g_new_consumer(gp); diff --git a/sys/geom/raid3/g_raid3_ctl.c b/sys/geom/raid3/g_raid3_ctl.c index 824de07e4836..5eafcce917cf 100644 --- a/sys/geom/raid3/g_raid3_ctl.c +++ b/sys/geom/raid3/g_raid3_ctl.c @@ -425,7 +425,7 @@ g_raid3_ctl_insert(struct gctl_req *req, struct g_class *mp) no = gctl_get_paraml(req, "number", sizeof(*no)); else no = NULL; - gp = g_new_geomf(mp, "raid3:insert"); + gp = g_new_geom(mp, "raid3:insert"); gp->orphan = g_raid3_ctl_insert_orphan; cp = g_new_consumer(gp); error = g_attach(cp, pp); diff --git a/sys/geom/shsec/g_shsec.c b/sys/geom/shsec/g_shsec.c index 3ccc23e7eb8b..9da814e5eb34 100644 --- a/sys/geom/shsec/g_shsec.c +++ b/sys/geom/shsec/g_shsec.c @@ -545,7 +545,7 @@ g_shsec_create(struct g_class *mp, const struct g_shsec_metadata *md) return (NULL); } } - gp = g_new_geomf(mp, "%s", md->md_name); + gp = g_new_geom(mp, md->md_name); sc = malloc(sizeof(*sc), M_SHSEC, M_WAITOK | M_ZERO); gp->start = g_shsec_start; gp->spoiled = g_shsec_orphan; @@ -643,7 +643,7 @@ g_shsec_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) G_SHSEC_DEBUG(3, "Tasting %s.", pp->name); - gp = g_new_geomf(mp, "shsec:taste"); + gp = g_new_geom(mp, "shsec:taste"); gp->start = g_shsec_start; gp->access = g_shsec_access; gp->orphan = g_shsec_orphan; diff --git a/sys/geom/stripe/g_stripe.c b/sys/geom/stripe/g_stripe.c index 669936ba0dbf..ba1953f036d3 100644 --- a/sys/geom/stripe/g_stripe.c +++ b/sys/geom/stripe/g_stripe.c @@ -862,7 +862,7 @@ g_stripe_create(struct g_class *mp, const struct g_stripe_metadata *md, return (NULL); } } - gp = g_new_geomf(mp, "%s", md->md_name); + gp = g_new_geom(mp, md->md_name); sc = malloc(sizeof(*sc), M_STRIPE, M_WAITOK | M_ZERO); gp->start = g_stripe_start; gp->spoiled = g_stripe_orphan; @@ -963,7 +963,7 @@ g_stripe_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) G_STRIPE_DEBUG(3, "Tasting %s.", pp->name); - gp = g_new_geomf(mp, "stripe:taste"); + gp = g_new_geom(mp, "stripe:taste"); gp->start = g_stripe_start; gp->access = g_stripe_access; gp->orphan = g_stripe_orphan; diff --git a/sys/geom/union/g_union.c b/sys/geom/union/g_union.c index 0701e76db671..302761597f6f 100644 --- a/sys/geom/union/g_union.c +++ b/sys/geom/union/g_union.c @@ -246,7 +246,7 @@ g_union_ctl_create(struct gctl_req *req, struct g_class *mp, bool verbose) return; } } - gp = g_new_geomf(mp, "%s", name); + gp = g_new_geom(mp, name); sc = g_malloc(sizeof(*sc), M_WAITOK | M_ZERO); rw_init(&sc->sc_rwlock, "gunion"); TAILQ_INIT(&sc->sc_wiplist); diff --git a/sys/geom/virstor/g_virstor.c b/sys/geom/virstor/g_virstor.c index c7d737493f11..1490ed103329 100644 --- a/sys/geom/virstor/g_virstor.c +++ b/sys/geom/virstor/g_virstor.c @@ -771,7 +771,7 @@ g_virstor_taste(struct g_class *mp, struct g_provider *pp, int flags) LOG_MSG(LVL_DEBUG, "Tasting %s", pp->name); /* We need a dummy geom to attach a consumer to the given provider */ - gp = g_new_geomf(mp, "virstor:taste.helper"); + gp = g_new_geom(mp, "virstor:taste.helper"); gp->start = (void *)invalid_call; /* XXX: hacked up so the */ gp->access = (void *)invalid_call; /* compiler doesn't complain. */ gp->orphan = (void *)invalid_call; /* I really want these to fail. */ @@ -1085,7 +1085,7 @@ create_virstor_geom(struct g_class *mp, struct g_virstor_metadata *md) return (NULL); } } - gp = g_new_geomf(mp, "%s", md->md_name); + gp = g_new_geom(mp, md->md_name); gp->softc = NULL; /* to circumevent races that test softc */ gp->start = g_virstor_start; diff --git a/sys/geom/zero/g_zero.c b/sys/geom/zero/g_zero.c index 91ef0fb1ef95..e9934ba6c784 100644 --- a/sys/geom/zero/g_zero.c +++ b/sys/geom/zero/g_zero.c @@ -102,7 +102,7 @@ g_zero_init(struct g_class *mp) struct g_provider *pp; g_topology_assert(); - gp = g_new_geomf(mp, "gzero"); + gp = g_new_geom(mp, "gzero"); gp->start = g_zero_start; gp->access = g_std_access; gpp = pp = g_new_providerf(gp, "%s", gp->name); From nobody Fri Sep 5 18:42:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFD6Xt0z65yV1; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFD5fbWz4Ntl; Fri, 05 Sep 2025 18:42:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iWcSWutyllJT8x7TENc/vW67Qy4XOY+RW0gyTF+GhZ0=; b=bAl0MFKx5DNfpmK1JTHMBhQPjJMOUjuSYFrjx4VFDiC3E7oZDHCFfS7pm67vlPPE5QaVrX 6LljRvTb8yFhY3DJM5EPmJ0m/6+u9EIf2AHgWNSDX02N95jNm3cDkVOpmkQWC/B5UypNoK pFEcmgdY7W6SzzvTOB/6tIeQPq4ukipUkiKttlDM4Mxshax79ULqOwu/r2udXCygvTKm4t lHx79bR6ixSEH8phA1GuS13mOQUteDku+re834uPE2APXWm2yavAdxuLA7278PuiU87Db6 DAzJMN+A3fdiWnNQYf277/ap2py0XIsfQB2VqizmooBKfCEvEfu8OJiJayFyfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097744; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=iWcSWutyllJT8x7TENc/vW67Qy4XOY+RW0gyTF+GhZ0=; b=f8TrvglLD2YpbnzeRftIDxa5THZNpMYmQq2uj5TRymZ21SgpD3TgdfrUuLrm1ZxlPRnsv4 AM9KvZGYQESR0eCJsxBY8Drncte+7tpDtFdifdZjnsTYzlh9PexkgdZbRTgVNPB8FPjayy cNg50K4sVYlfTVbvnoBoCTgWg+6RkJw+rDMd5hd7SUoQFs5mJT90dhjW8a7ImaptiVrRdr 9WbYIFozpimQ6QPhMlkgu4Hon2HofOFbNB6AIUVbiEd6wrnGofUsW5ruAziFqY1iEnMi83 1EvFv53Wf/RwG/i7Iva4fhJTJi0PID1dhstrNd/TnZY/VoNNMaD9jDdY4dxx9A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097744; a=rsa-sha256; cv=none; b=dbvThv+DxKERJM+cjuaIhHH/kMqaPacl5soRHKa29sLQnd6uLquia7ONPtmqSuuTy+7Nd3 CQPvlZDrUTUfMGTc1Q4itD3tsUvcui9pW0v5HBedf+h1uOz/PW91cPZE+qPBfN2mPcl/Km qxSHAEAP3I2rMyeNkH1JlscdFmUoH7kTpDU2CHk0oCOWWhI2RWTqX+GkEnkNo6eGrM49zM l1WyW7+XWsl1VdefWAQJKhIix2TxiFMzD/qzmCYnxo2IMfHX7ml2ujyULapYQvhLobrDxC lXNkFQ3TP7J9sAMQIOBmF8lJSyog82WW3P779fzEmAPXXb/C13X5yu4/wdP0BQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFD5323z11FZ; Fri, 05 Sep 2025 18:42: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 585IgOLY096441; Fri, 5 Sep 2025 18:42:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgOlj096438; Fri, 5 Sep 2025 18:42:24 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:24 GMT Message-Id: <202509051842.585IgOlj096438@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: cacfd42b0c57 - main - tests/sys/mqueue: use require.kmods property instead of ad-hoc checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: cacfd42b0c57b3455ca4a23e21de071fa0cc9ed0 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=cacfd42b0c57b3455ca4a23e21de071fa0cc9ed0 commit cacfd42b0c57b3455ca4a23e21de071fa0cc9ed0 Author: Siva Mahadevan AuthorDate: 2025-07-21 13:25:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:21 +0000 tests/sys/mqueue: use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1780 --- tests/sys/mqueue/mqtest1.c | 4 ---- tests/sys/mqueue/mqtest2.c | 6 +----- tests/sys/mqueue/mqtest3.c | 4 ---- tests/sys/mqueue/mqtest4.c | 4 ---- tests/sys/mqueue/mqtest5.c | 4 ---- tests/sys/mqueue/mqueue_test.sh | 14 +++++++------- 6 files changed, 8 insertions(+), 28 deletions(-) diff --git a/tests/sys/mqueue/mqtest1.c b/tests/sys/mqueue/mqtest1.c index 78acde1122ce..7f4ee74f9e8d 100644 --- a/tests/sys/mqueue/mqtest1.c +++ b/tests/sys/mqueue/mqtest1.c @@ -6,8 +6,6 @@ #include #include -#include "freebsd_test_suite/macros.h" - #define MQNAME "/mytstqueue1" int @@ -18,8 +16,6 @@ main(void) mqd_t mq; int status; - PLAIN_REQUIRE_KERNEL_MODULE("mqueuefs", 0); - attr.mq_maxmsg = 2; attr.mq_msgsize = 100; mq = mq_open(MQNAME, O_CREAT | O_RDWR | O_EXCL, 0666, &attr); diff --git a/tests/sys/mqueue/mqtest2.c b/tests/sys/mqueue/mqtest2.c index 08d4d9a8003a..efdca42eb37e 100644 --- a/tests/sys/mqueue/mqtest2.c +++ b/tests/sys/mqueue/mqtest2.c @@ -9,8 +9,6 @@ #include #include -#include "freebsd_test_suite/macros.h" - #define MQNAME "/mytstqueue2" #define LOOPS 1000 #define PRIO 10 @@ -29,9 +27,7 @@ main(void) mqd_t mq; int status; pid_t pid; - - PLAIN_REQUIRE_KERNEL_MODULE("mqueuefs", 0); - + mq_unlink(MQNAME); attr.mq_maxmsg = 5; diff --git a/tests/sys/mqueue/mqtest3.c b/tests/sys/mqueue/mqtest3.c index 65b8f4fcc2b9..b2c9155c37ba 100644 --- a/tests/sys/mqueue/mqtest3.c +++ b/tests/sys/mqueue/mqtest3.c @@ -10,8 +10,6 @@ #include #include -#include "freebsd_test_suite/macros.h" - #define MQNAME "/mytstqueue3" #define LOOPS 1000 #define PRIO 10 @@ -32,8 +30,6 @@ main(void) mqd_t mq; pid_t pid; - PLAIN_REQUIRE_KERNEL_MODULE("mqueuefs", 0); - mq_unlink(MQNAME); attr.mq_maxmsg = 5; diff --git a/tests/sys/mqueue/mqtest4.c b/tests/sys/mqueue/mqtest4.c index 99841c670b5c..68648b01a9e4 100644 --- a/tests/sys/mqueue/mqtest4.c +++ b/tests/sys/mqueue/mqtest4.c @@ -11,8 +11,6 @@ #include #include -#include "freebsd_test_suite/macros.h" - #define MQNAME "/mytstqueue4" #define LOOPS 1000 #define PRIO 10 @@ -33,8 +31,6 @@ main(void) int kq, status; pid_t pid; - PLAIN_REQUIRE_KERNEL_MODULE("mqueuefs", 0); - mq_unlink(MQNAME); attr.mq_maxmsg = 5; diff --git a/tests/sys/mqueue/mqtest5.c b/tests/sys/mqueue/mqtest5.c index f48ef1121289..6671839829bf 100644 --- a/tests/sys/mqueue/mqtest5.c +++ b/tests/sys/mqueue/mqtest5.c @@ -11,8 +11,6 @@ #include #include -#include "freebsd_test_suite/macros.h" - #define MQNAME "/mytstqueue5" #define LOOPS 1000 #define PRIO 10 @@ -35,8 +33,6 @@ main(void) mqd_t mq; pid_t pid; - PLAIN_REQUIRE_KERNEL_MODULE("mqueuefs", 0); - mq_unlink(MQNAME); sigemptyset(&set); diff --git a/tests/sys/mqueue/mqueue_test.sh b/tests/sys/mqueue/mqueue_test.sh index 8b3f45159ad9..4f947dc260ed 100644 --- a/tests/sys/mqueue/mqueue_test.sh +++ b/tests/sys/mqueue/mqueue_test.sh @@ -27,7 +27,7 @@ mqtest1_head() { - : + atf_set require.kmods mqueuefs } mqtest1_body() { @@ -36,7 +36,7 @@ mqtest1_body() mqtest2_head() { - : + atf_set require.kmods mqueuefs } mqtest2_body() { @@ -45,7 +45,7 @@ mqtest2_body() mqtest3_head() { - : + atf_set require.kmods mqueuefs } mqtest3_body() { @@ -54,7 +54,7 @@ mqtest3_body() mqtest4_head() { - : + atf_set require.kmods mqueuefs } mqtest4_body() { @@ -63,7 +63,7 @@ mqtest4_body() mqtest5_head() { - : + atf_set require.kmods mqueuefs } mqtest5_body() { @@ -74,7 +74,7 @@ atf_init_test_cases() { atf_add_test_case mqtest1 atf_add_test_case mqtest2 - #atf_add_test_case mqtest3 - #atf_add_test_case mqtest4 + atf_add_test_case mqtest3 + atf_add_test_case mqtest4 atf_add_test_case mqtest5 } From nobody Fri Sep 5 18:42:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFG3xzyz66DVK; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFF6PFzz4Ns5; Fri, 05 Sep 2025 18:42:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1ibD0fp7JhcnULGCKKi84UO9ft7V+HSlnOlkiN298v0=; b=vC4AnjPTEHe5VHTkiXcfk+1O6iiLYt+jryDfxzkt8jAJW3XibVDKjc7UEoBhJV/hnEC8xc EOFkxcudyeb0oh2oAZL4TEfHaOSuOb8aIHeQaj2QMa/QvTTBFOitdJbX01tqg85V5gXQWJ c0NhVYS0pNnGye5ePf8r2TSyx2k4ckAVHEyfdr6oJLDOAUq556vt/EB/QSV15LhqA3M045 6ZNrt3s67icfNaES5NfgPlYWIMnQB4eXBw6UQyVe//1kgKcsrH2g+e564BPueealLjDR8E WoXuyLg09ynhs7PeIGgTuDtylSYpkTgx2JwYP1FNpfsqja3Hykr3niNwQdeeCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097745; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1ibD0fp7JhcnULGCKKi84UO9ft7V+HSlnOlkiN298v0=; b=iCTqLHg38BLMDTlCMAe5jcGgqgOY/5vIj2p0qzDrm2faXGEKXb0ye2XAIg1WmY1SmlQbbP MxDeXz/Dbc29VuJP1EgZcVxyou+F9KtAQj04H9aWdIhNwFzvED3cEhM6R9Iwenc58XE+ml 4Js/YsDmWGpSx3Sj/ZPwwEBCLXfkKLunHi3nbVSjvemdK7axhvYpVvPrifW81lYtyosbIb yaAnA6hmuJ3zgNe/ilYEkbR3W038xw4Rc0Fzbr2JhhvI5FHBOqRda5mIsEuhICkHcMiIHH X8f1kxDWxUwXnn4setJ3vCd27RB4j2Pfp69vjtaTvNcM/hWT7WjftlVrBJsRww== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097745; a=rsa-sha256; cv=none; b=pkU56SAXf+UiN/3C+1yUILOYhiZRODVxvXvFTQBoOc1ZGqaDNzDaliKR/uphhOTHQ2d++2 RPnqmKwiDCbBS6n62Bn8xTbZTOV2eOQGgsTSyyUO+10Hm8a/5kNOVyP7mo/sXuauldlqxi 7oYga9GmKbdAnEk3ViY7kT3ubAHcI0K/aldHS9gXJC7dLoz972sjyi+ERLD1Ras6OmnTYQ ILEq+BtC2LKgk4bnJNINTag3RcilET4J5wuUdhwtA21XJDL+RjhrVknFdzFlmfIjGqGbLU V0+cvi3NrZVnvXXDefUPYifI68o6Wty6SgK8btWWsxfS7KgBPXyG7OFBn4EoMA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFF5zrDz11CL; Fri, 05 Sep 2025 18:42: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 585IgP0F096475; Fri, 5 Sep 2025 18:42:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgP2G096471; Fri, 5 Sep 2025 18:42:25 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:25 GMT Message-Id: <202509051842.585IgP2G096471@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: 215a06541869 - main - tests/sys/netlink: use require.kmods property instead of ad-hoc checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 215a0654186926b2e4497d83f3eb45b5eefcb23f Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=215a0654186926b2e4497d83f3eb45b5eefcb23f commit 215a0654186926b2e4497d83f3eb45b5eefcb23f Author: Siva Mahadevan AuthorDate: 2025-07-21 13:25:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:22 +0000 tests/sys/netlink: use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1780 --- tests/sys/netlink/netlink_socket.c | 27 ++++++++++++++++++++------- tests/sys/netlink/test_snl.c | 19 ++++--------------- tests/sys/netlink/test_snl_generic.c | 16 +++------------- 3 files changed, 27 insertions(+), 35 deletions(-) diff --git a/tests/sys/netlink/netlink_socket.c b/tests/sys/netlink/netlink_socket.c index 6dcc894b6695..3c2c5f857591 100644 --- a/tests/sys/netlink/netlink_socket.c +++ b/tests/sys/netlink/netlink_socket.c @@ -116,7 +116,11 @@ fullsocket(void) return (fd); } -ATF_TC_WITHOUT_HEAD(overflow); +ATF_TC(overflow); +ATF_TC_HEAD(overflow, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "netlink"); +} ATF_TC_BODY(overflow, tc) { char buf[BUFLEN]; @@ -143,7 +147,11 @@ ATF_TC_BODY(overflow, tc) ATF_REQUIRE(timer_done == 0); } -ATF_TC_WITHOUT_HEAD(peek); +ATF_TC(peek); +ATF_TC_HEAD(peek, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "netlink"); +} ATF_TC_BODY(peek, tc) { char *buf; @@ -185,7 +193,11 @@ cmsg_check(struct msghdr *msg) ATF_REQUIRE((msg->msg_flags & MSG_CTRUNC) == 0); } -ATF_TC_WITHOUT_HEAD(sizes); +ATF_TC(sizes); +ATF_TC_HEAD(sizes, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "netlink"); +} ATF_TC_BODY(sizes, tc) { #define NLMSG_LARGE 2048 /* XXX: match kernel nl_buf */ @@ -273,7 +285,11 @@ nla_RTA_DST(struct nlattr *start, ssize_t len) * Check that NETLINK_ADD_MEMBERSHIP subscribes us. Add & delete a temporary * route and check if announcements came in. */ -ATF_TC_WITHOUT_HEAD(membership); +ATF_TC(membership); +ATF_TC_HEAD(membership, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "netlink"); +} ATF_TC_BODY(membership, tc) { struct { @@ -329,9 +345,6 @@ ATF_TC_BODY(membership, tc) ATF_TP_ADD_TCS(tp) { - if (modfind("netlink") == -1) - atf_tc_skip("netlink module not loaded"); - ATF_TP_ADD_TC(tp, overflow); ATF_TP_ADD_TC(tp, peek); ATF_TP_ADD_TC(tp, sizes); diff --git a/tests/sys/netlink/test_snl.c b/tests/sys/netlink/test_snl.c index 040414a96e2c..3990aa0b075d 100644 --- a/tests/sys/netlink/test_snl.c +++ b/tests/sys/netlink/test_snl.c @@ -25,13 +25,6 @@ static const struct snl_hdr_parser *snl_all_route_parsers[] = { &_addr_fbsd_parser, &snl_rtm_addr_parser, &_nh_fbsd_parser, &snl_nhmsg_parser, }; -static void -require_netlink(void) -{ - if (modfind("netlink") == -1) - atf_tc_skip("netlink module not loaded"); -} - ATF_TC(snl_verify_core_parsers); ATF_TC_HEAD(snl_verify_core_parsers, tc) { @@ -60,6 +53,7 @@ ATF_TC(snl_parse_errmsg_capped); ATF_TC_HEAD(snl_parse_errmsg_capped, tc) { atf_tc_set_md_var(tc, "descr", "Tests snl(3) correctly parsing capped errors"); + atf_tc_set_md_var(tc, "require.kmods", "netlink"); } ATF_TC_BODY(snl_parse_errmsg_capped, tc) @@ -67,8 +61,6 @@ ATF_TC_BODY(snl_parse_errmsg_capped, tc) struct snl_state ss; struct snl_writer nw; - require_netlink(); - if (!snl_init(&ss, NETLINK_ROUTE)) atf_tc_fail("snl_init() failed"); @@ -102,6 +94,7 @@ ATF_TC(snl_parse_errmsg_capped_extack); ATF_TC_HEAD(snl_parse_errmsg_capped_extack, tc) { atf_tc_set_md_var(tc, "descr", "Tests snl(3) correctly parsing capped errors with extack"); + atf_tc_set_md_var(tc, "require.kmods", "netlink"); } ATF_TC_BODY(snl_parse_errmsg_capped_extack, tc) @@ -109,8 +102,6 @@ ATF_TC_BODY(snl_parse_errmsg_capped_extack, tc) struct snl_state ss; struct snl_writer nw; - require_netlink(); - if (!snl_init(&ss, NETLINK_ROUTE)) atf_tc_fail("snl_init() failed"); @@ -145,6 +136,7 @@ ATF_TC(snl_parse_errmsg_uncapped_extack); ATF_TC_HEAD(snl_parse_errmsg_uncapped_extack, tc) { atf_tc_set_md_var(tc, "descr", "Tests snl(3) correctly parsing errors with extack"); + atf_tc_set_md_var(tc, "require.kmods", "netlink"); } ATF_TC_BODY(snl_parse_errmsg_uncapped_extack, tc) @@ -152,8 +144,6 @@ ATF_TC_BODY(snl_parse_errmsg_uncapped_extack, tc) struct snl_state ss; struct snl_writer nw; - require_netlink(); - ATF_CHECK(snl_init(&ss, NETLINK_ROUTE)); int optval = 1; @@ -185,6 +175,7 @@ ATF_TC(snl_list_ifaces); ATF_TC_HEAD(snl_list_ifaces, tc) { atf_tc_set_md_var(tc, "descr", "Tests snl(3) listing interfaces"); + atf_tc_set_md_var(tc, "require.kmods", "netlink"); } struct nl_parsed_link { @@ -212,8 +203,6 @@ ATF_TC_BODY(snl_list_ifaces, tc) struct snl_state ss; struct snl_writer nw; - require_netlink(); - if (!snl_init(&ss, NETLINK_ROUTE)) atf_tc_fail("snl_init() failed"); diff --git a/tests/sys/netlink/test_snl_generic.c b/tests/sys/netlink/test_snl_generic.c index c63b1380f2ad..8613bf04a45c 100644 --- a/tests/sys/netlink/test_snl_generic.c +++ b/tests/sys/netlink/test_snl_generic.c @@ -15,13 +15,6 @@ static const struct snl_hdr_parser *snl_all_genl_parsers[] = { &_genl_ctrl_getfam_parser, &_genl_ctrl_mc_parser, }; -static void -require_netlink(void) -{ - if (modfind("netlink") == -1) - atf_tc_skip("netlink module not loaded"); -} - ATF_TC(snl_verify_genl_parsers); ATF_TC_HEAD(snl_verify_genl_parsers, tc) { @@ -38,14 +31,13 @@ ATF_TC(test_snl_get_genl_family_success); ATF_TC_HEAD(test_snl_get_genl_family_success, tc) { atf_tc_set_md_var(tc, "descr", "Tests successfull resolution of the 'nlctrl' family"); + atf_tc_set_md_var(tc, "require.kmods", "netlink"); } ATF_TC_BODY(test_snl_get_genl_family_success, tc) { struct snl_state ss; - require_netlink(); - if (!snl_init(&ss, NETLINK_GENERIC)) atf_tc_fail("snl_init() failed"); @@ -56,14 +48,13 @@ ATF_TC(test_snl_get_genl_family_failure); ATF_TC_HEAD(test_snl_get_genl_family_failure, tc) { atf_tc_set_md_var(tc, "descr", "Tests unsuccessfull resolution of 'no-such-family' family"); + atf_tc_set_md_var(tc, "require.kmods", "netlink"); } ATF_TC_BODY(test_snl_get_genl_family_failure, tc) { struct snl_state ss; - require_netlink(); - if (!snl_init(&ss, NETLINK_GENERIC)) atf_tc_fail("snl_init() failed"); @@ -74,6 +65,7 @@ ATF_TC(test_snl_get_genl_family_groups); ATF_TC_HEAD(test_snl_get_genl_family_groups, tc) { atf_tc_set_md_var(tc, "descr", "Tests getting 'nlctrl' groups"); + atf_tc_set_md_var(tc, "require.kmods", "netlink"); } ATF_TC_BODY(test_snl_get_genl_family_groups, tc) @@ -82,8 +74,6 @@ ATF_TC_BODY(test_snl_get_genl_family_groups, tc) struct snl_writer nw; struct nlmsghdr *hdr; - require_netlink(); - if (!snl_init(&ss, NETLINK_GENERIC)) atf_tc_fail("snl_init() failed"); From nobody Fri Sep 5 18:42:26 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFH3lnbz65yV6; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFH0P3Tz4NvB; Fri, 05 Sep 2025 18:42:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Aoz2fdZSlamvPmHWdkPa7pcAKCK/I2GyNLG5EiiwbNw=; b=kdaOdIkyuCnYyWyiZkSG6yTjeArh7yJO+tOf7S6aMizr1z0WytrkReUSFtjhVtCZzjwY2/ wFPSFmv3PCXq2oLgdd4XIFlSgHOfLn9jKXusvA84+nU4z1/hm/xAJj24mZI1bcX9wFvIce OlabQ/HbiC1kcKY3+eXxaQmC7xg/081vonmPoryZGmrUFrBzDZ3Fng8Z+JCn0tHfZ65hyu tBMPQ3jydR841MVtKYuox+udBurPWTReWo80W9SgibHyke9CnLSBAqjWolalFLd6ZTEYOO k6n155A6/b6PzTis6Sf2Rq5iTht+jXhb4YaCwtdNMb54zORYs7oWpdFYooS2ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097747; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Aoz2fdZSlamvPmHWdkPa7pcAKCK/I2GyNLG5EiiwbNw=; b=skB62z3oCPDSK87aMhJL4PUYE3Nytf43n7mxSxtjIcCawKlRQieRHywbFvDj/yNhi4Ggg2 MwYLfL/mQcgphDz3mi4HEqkUaYpNZpk1eMpGo3ksuf6lXzZuKN7h1k4drK2rcWxDUY/kdo OefkoYnsN6rU2EyhGUEgOtZjhspxwnHwFgpguLl0ahjxs+lMNXDmDlWzcMCarC/LUPNDMI txkPJjmTc+Ej6go6jygpiqg6cBxZRnGI4bmEZVPmrENboT+DpRjNMh3PmUCk0VHDJ2sI+U wuyPmSp3ZPmeT+8nrpc6RvysiEAxdfn377NihZdM2blC097EWIbEgWGlp7iWcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097747; a=rsa-sha256; cv=none; b=My8OW+AzR6aRRcKWAfGd/aUsW6RBFhgOqB89CaH+OD3riRLrXqHyHZ6eI0qbBWkM//WzUc 78Sox3x9EKLGSuV1VNNS6x3+Z9boX+YmobB9b11DrSR3SDSb8OCmiItftNttdEFkgq9VZb xZeUTWTuHsV7AqpCou2iE/S47ctaYe2k2WUQ6Wb8PBVDU1G95S775T3hXDhb7mskuBMpRz WcZypnIIFVt0doF2OMPSJZ1ytMMII9a5tuz4kbsRN6iApQB+wQkdeL/ntSCbj+yNnVwF62 s+BrmgU1u8cAEB/lFAgblbFLy1fRh+oMgQa+3Tc3OMoIMCIZbl3V5bdCslut7Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFG6zMDz10km; Fri, 05 Sep 2025 18:42: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 585IgQlD096508; Fri, 5 Sep 2025 18:42:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgQAJ096505; Fri, 5 Sep 2025 18:42:26 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:26 GMT Message-Id: <202509051842.585IgQAJ096505@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: 308c9c995794 - main - tests/sys/opencrypto: use require.kmods property instead of ad-hoc checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 308c9c995794f1ae89bba1d43aab9c51f7e90a09 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=308c9c995794f1ae89bba1d43aab9c51f7e90a09 commit 308c9c995794f1ae89bba1d43aab9c51f7e90a09 Author: Siva Mahadevan AuthorDate: 2025-07-21 13:25:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:22 +0000 tests/sys/opencrypto: use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1780 --- tests/sys/opencrypto/blake2_test.c | 42 ++++++++++++++++++++++-------------- tests/sys/opencrypto/poly1305_test.c | 13 +++++------ 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/tests/sys/opencrypto/blake2_test.c b/tests/sys/opencrypto/blake2_test.c index b397f8a8ec4c..0e6943d150cf 100644 --- a/tests/sys/opencrypto/blake2_test.c +++ b/tests/sys/opencrypto/blake2_test.c @@ -126,15 +126,12 @@ do_cryptop(int fd, int ses, size_t inlen, void *out) } static void -test_blake2b_vectors(const char *devname, const char *modname) +test_blake2b_vectors(const char *devname) { uint8_t hash[BLAKE2B_OUTBYTES]; int crid, fd, ses; size_t i; - ATF_REQUIRE_KERNEL_MODULE(modname); - ATF_REQUIRE_KERNEL_MODULE("cryptodev"); - initialize_constant_buffers(); fd = get_handle_fd(); crid = lookup_crid(fd, devname); @@ -150,15 +147,12 @@ test_blake2b_vectors(const char *devname, const char *modname) } static void -test_blake2s_vectors(const char *devname, const char *modname) +test_blake2s_vectors(const char *devname) { uint8_t hash[BLAKE2S_OUTBYTES]; int crid, fd, ses; size_t i; - ATF_REQUIRE_KERNEL_MODULE(modname); - ATF_REQUIRE_KERNEL_MODULE("cryptodev"); - initialize_constant_buffers(); fd = get_handle_fd(); crid = lookup_crid(fd, devname); @@ -173,33 +167,49 @@ test_blake2s_vectors(const char *devname, const char *modname) } } -ATF_TC_WITHOUT_HEAD(blake2b_vectors); +ATF_TC(blake2b_vectors); +ATF_TC_HEAD(blake2b_vectors, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "nexus/cryptosoft cryptodev"); +} ATF_TC_BODY(blake2b_vectors, tc) { ATF_REQUIRE_SYSCTL_INT("kern.crypto.allow_soft", 1); - test_blake2b_vectors("cryptosoft0", "nexus/cryptosoft"); + test_blake2b_vectors("cryptosoft0"); } -ATF_TC_WITHOUT_HEAD(blake2s_vectors); +ATF_TC(blake2s_vectors); +ATF_TC_HEAD(blake2s_vectors, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "nexus/cryptosoft cryptodev"); +} ATF_TC_BODY(blake2s_vectors, tc) { ATF_REQUIRE_SYSCTL_INT("kern.crypto.allow_soft", 1); - test_blake2s_vectors("cryptosoft0", "nexus/cryptosoft"); + test_blake2s_vectors("cryptosoft0"); } #if defined(__i386__) || defined(__amd64__) -ATF_TC_WITHOUT_HEAD(blake2b_vectors_x86); +ATF_TC(blake2b_vectors_x86); +ATF_TC_HEAD(blake2b_vectors_x86, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "nexus/blake2 cryptodev"); +} ATF_TC_BODY(blake2b_vectors_x86, tc) { ATF_REQUIRE_SYSCTL_INT("kern.crypto.allow_soft", 1); - test_blake2b_vectors("blaketwo0", "nexus/blake2"); + test_blake2b_vectors("blaketwo0"); } -ATF_TC_WITHOUT_HEAD(blake2s_vectors_x86); +ATF_TC(blake2s_vectors_x86); +ATF_TC_HEAD(blake2s_vectors_x86, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "nexus/blake2 cryptodev"); +} ATF_TC_BODY(blake2s_vectors_x86, tc) { ATF_REQUIRE_SYSCTL_INT("kern.crypto.allow_soft", 1); - test_blake2s_vectors("blaketwo0", "nexus/blake2"); + test_blake2s_vectors("blaketwo0"); } #endif diff --git a/tests/sys/opencrypto/poly1305_test.c b/tests/sys/opencrypto/poly1305_test.c index ab455784efba..c51ffacfd1cc 100644 --- a/tests/sys/opencrypto/poly1305_test.c +++ b/tests/sys/opencrypto/poly1305_test.c @@ -350,16 +350,13 @@ do_cryptop(int fd, int ses, const void *inp, size_t inlen, void *out) } static void -test_rfc7539_poly1305_vectors(int crid, const char *modname) +test_rfc7539_poly1305_vectors(int crid) { uint8_t comptag[POLY1305_HASH_LEN], exptag[POLY1305_HASH_LEN], key[POLY1305_KEY_LEN], msg[512]; int fd, ses; size_t i; - ATF_REQUIRE_KERNEL_MODULE(modname); - ATF_REQUIRE_KERNEL_MODULE("cryptodev"); - fd = get_handle_fd(); for (i = 0; i < nitems(rfc7539_kats); i++) { @@ -378,11 +375,15 @@ test_rfc7539_poly1305_vectors(int crid, const char *modname) } } -ATF_TC_WITHOUT_HEAD(poly1305_vectors); +ATF_TC(poly1305_vectors); +ATF_TC_HEAD(poly1305_vectors, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "nexus/cryptosoft cryptodev"); +} ATF_TC_BODY(poly1305_vectors, tc) { ATF_REQUIRE_SYSCTL_INT("kern.crypto.allow_soft", 1); - test_rfc7539_poly1305_vectors(CRYPTO_FLAG_SOFTWARE, "nexus/cryptosoft"); + test_rfc7539_poly1305_vectors(CRYPTO_FLAG_SOFTWARE); } ATF_TP_ADD_TCS(tp) From nobody Fri Sep 5 18:42:27 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFJ3zZsz66DXj; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFJ12dKz4NqC; Fri, 05 Sep 2025 18:42:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u5sq54WBeN8+PiGVAhONMmN3YSZsb7y6CC4YeVpc6Y4=; b=EzlzU2DzMQiPPJqY4qsikJPGFTG9U5LMcPbqLjVSxvS6LC8GEHaw+xNRJoDdVUoKBLNO2+ gYuo+eLR540BWlBnYbBGzFpYKQnvrYMotqGdCP7rka7sGcug7uA1NoTYF17EH+MTE+lrFV H6nxc2tgt60JJ5tQtE2Pr/f1RlFE4KkxstEyNQj3FLtTP0DONb0+7tNnSF56yMWeb/LW5x uOCibuH1sAyAlhjNnvt4IqTx070gMgQfp1ylyR44rmE9zsVAOVOfwb5ETAAL6tjn3kDeH6 vYrXq+kEukefnzYiEm3iL3epLvVxbfMHjB9Olv5TtidOKVOv8VYl74bypppX6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097748; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u5sq54WBeN8+PiGVAhONMmN3YSZsb7y6CC4YeVpc6Y4=; b=difcUqG4Rx1bXbTCUkBZv52q4Drpn+2sfH+/DBwIJzzKO+H6G9aRPliAgWH0pHFjST8cTS M0NHcZz191PqIgN0JeVu+0pmneG5pe31QN5vngfimqyaralOomeh0hi33GOlBO6WKen1DF gg/tkQHrJ47obpUymw3eyutgPGRSBbSkem7nYoBVKUE6015VVE1/sIVG8CA/DXjwRXnwgl oz/CRiQzRCRw04SWmyDyqySa9Xzh41vLZInryDGPGpfdQzlSSXSpHnLiIbigxwuQbRa07g PjoiHc1WM/j8UOjDo7PyCee8ov3kqPCi/I+TwfsfZZLMz0T6Mbi48lRqSwotfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097748; a=rsa-sha256; cv=none; b=R4IugV0i7v+1CoQCb99VPZ32u5/yOzyGEzdp2c5hM+rtniVkKunlHe0abnJDqKtlkU8nAK k20YNRd+bBjLOVqCW1T4TXjpZh2Oyd6g6Oizcg6WM8zA6n9SPOPQh9o5Fhn1/MqkMYS10m OYaI8reYvkIZmPvd0QAMSQKU/ZMF3+lunMKlLFzvvO9zsze+KJ9YCDNthcjj135Zw1O2V/ gWs/v2DvWjuRpWNe5oKdZ+cmW7prODXa7E3uz9ChMiJXkXbXy/ksoVbhFtY8c0Pytv1Dzt +8AIkMZe66Wi9kA9RFZ7uUsw3sYxBOm5bJ+ojhVXHPaEcdLgk+D6i455oIhIiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFJ0Zb7z11Cl; Fri, 05 Sep 2025 18:42: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 585IgRBY096541; Fri, 5 Sep 2025 18:42:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgREZ096538; Fri, 5 Sep 2025 18:42:27 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:27 GMT Message-Id: <202509051842.585IgREZ096538@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: 26d3dfa87338 - main - tests/sys/aio: use require.kmods property instead of ad-hoc checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 26d3dfa8733892adf107b045a8c98d480b4bb21d Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=26d3dfa8733892adf107b045a8c98d480b4bb21d commit 26d3dfa8733892adf107b045a8c98d480b4bb21d Author: Siva Mahadevan AuthorDate: 2025-07-21 13:25:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:22 +0000 tests/sys/aio: use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1780 --- tests/sys/aio/Makefile | 1 + tests/sys/aio/aio_kqueue_test.c | 2 -- tests/sys/aio/aio_test.c | 33 ++------------------------------- tests/sys/aio/lio_kqueue_test.c | 2 -- tests/sys/aio/lio_test.c | 2 -- 5 files changed, 3 insertions(+), 37 deletions(-) diff --git a/tests/sys/aio/Makefile b/tests/sys/aio/Makefile index 5cddb28c27a6..578d16b7bf32 100644 --- a/tests/sys/aio/Makefile +++ b/tests/sys/aio/Makefile @@ -2,6 +2,7 @@ TESTSDIR= ${TESTSBASE}/sys/aio ATF_TESTS_C+= aio_test ATF_TESTS_C+= lio_test +TEST_METADATA+= required_kmods="aio" TEST_METADATA.aio_test+= timeout="30" TEST_METADATA.lio_test+= timeout="10" # Some lio_test testcases involve system resource limitations, so cannot run concurrently diff --git a/tests/sys/aio/aio_kqueue_test.c b/tests/sys/aio/aio_kqueue_test.c index 5e5cb40d0752..43a7ebf91f96 100644 --- a/tests/sys/aio/aio_kqueue_test.c +++ b/tests/sys/aio/aio_kqueue_test.c @@ -45,7 +45,6 @@ #include #include -#include "freebsd_test_suite/macros.h" #include "local.h" #define PATH_TEMPLATE "aio.XXXXXXXXXX" @@ -70,7 +69,6 @@ main (int argc, char *argv[]) int tmp_file = 0; int i, j; - PLAIN_REQUIRE_KERNEL_MODULE("aio", 0); PLAIN_REQUIRE_UNSAFE_AIO(0); max_queue_per_proc_size = sizeof(max_queue_per_proc); diff --git a/tests/sys/aio/aio_test.c b/tests/sys/aio/aio_test.c index 64939825ec66..b9f8e7062203 100644 --- a/tests/sys/aio/aio_test.c +++ b/tests/sys/aio/aio_test.c @@ -63,7 +63,6 @@ #include -#include "freebsd_test_suite/macros.h" #include "local.h" /* @@ -452,7 +451,6 @@ aio_file_test(completion comp, struct sigevent *sev, bool vectored) struct aio_context ac; int fd; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); fd = open(FILE_PATHNAME, O_RDWR | O_CREAT, 0600); @@ -514,7 +512,6 @@ aio_fifo_test(completion comp, struct sigevent *sev) int error, read_fd = -1, write_fd = -1; struct aio_context ac; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); ATF_REQUIRE_MSG(mkfifo(FIFO_PATHNAME, 0600) != -1, @@ -588,8 +585,6 @@ aio_unix_socketpair_test(completion comp, struct sigevent *sev, bool vectored) struct rusage ru_before, ru_after; int sockets[2]; - ATF_REQUIRE_KERNEL_MODULE("aio"); - ATF_REQUIRE_MSG(socketpair(PF_UNIX, SOCK_STREAM, 0, sockets) != -1, "socketpair failed: %s", strerror(errno)); @@ -662,7 +657,6 @@ aio_pty_test(completion comp, struct sigevent *sev) struct termios ts; int error; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); ATF_REQUIRE_MSG(openpty(&read_fd, &write_fd, NULL, NULL, NULL) == 0, @@ -732,7 +726,6 @@ aio_pipe_test(completion comp, struct sigevent *sev) struct aio_context ac; int pipes[2]; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); ATF_REQUIRE_MSG(pipe(pipes) != -1, @@ -793,8 +786,6 @@ aio_md_setup(void) struct md_ioctl mdio; char buf[80]; - ATF_REQUIRE_KERNEL_MODULE("aio"); - mdctl_fd = open("/dev/" MDCTL_NAME, O_RDWR, 0); ATF_REQUIRE_MSG(mdctl_fd != -1, "opening /dev/%s failed: %s", MDCTL_NAME, strerror(errno)); @@ -985,9 +976,6 @@ aio_zvol_setup(const char *unique) char zvol_name[160]; char devname[160]; - ATF_REQUIRE_KERNEL_MODULE("aio"); - ATF_REQUIRE_KERNEL_MODULE("zfs"); - pid = getpid(); snprintf(vdev_name, sizeof(vdev_name), "%s", ZVOL_VDEV_PATHNAME); snprintf(pool_name, sizeof(pool_name), "%s_%s.%d", POOL_NAME, unique, @@ -1057,7 +1045,6 @@ ATF_TC_BODY(aio_large_read_test, tc) int clamped; #endif - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); #ifdef __LP64__ @@ -1133,7 +1120,6 @@ ATF_TC_BODY(aio_socket_two_reads, tc) int s[2]; char c; - ATF_REQUIRE_KERNEL_MODULE("aio"); #if __FreeBSD_version < 1100101 aft_tc_skip("kernel version %d is too old (%d required)", __FreeBSD_version, 1100101); @@ -1187,8 +1173,6 @@ aio_socket_blocking_short_write_test(bool vectored) socklen_t len; int s[2]; - ATF_REQUIRE_KERNEL_MODULE("aio"); - ATF_REQUIRE(socketpair(PF_UNIX, SOCK_STREAM, 0, s) != -1); len = sizeof(sb_size); @@ -1356,8 +1340,6 @@ ATF_TC_BODY(aio_socket_short_write_cancel, tc) socklen_t len; int s[2]; - ATF_REQUIRE_KERNEL_MODULE("aio"); - ATF_REQUIRE(socketpair(PF_UNIX, SOCK_STREAM, 0, s) != -1); len = sizeof(sb_size); @@ -1423,8 +1405,6 @@ ATF_TC_BODY(aio_socket_shutdown, tc) size_t bsz; int error, s[2]; - ATF_REQUIRE_KERNEL_MODULE("aio"); - ATF_REQUIRE(socketpair(PF_UNIX, SOCK_STREAM, 0, s) != -1); bsz = 1024; @@ -1485,7 +1465,6 @@ ATF_TC_BODY(aio_fsync_errors, tc) int fd; struct aiocb iocb; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); fd = open(FILE_PATHNAME, O_RDWR | O_CREAT, 0600); @@ -1529,7 +1508,6 @@ aio_fsync_test(int op) unsigned i; int fd; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); fd = open(FILE_PATHNAME, O_RDWR | O_CREAT, 0600); @@ -1618,7 +1596,6 @@ ATF_TC_BODY(aio_writev_dos_iov_len, tc) ssize_t r; int fd; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); fd = open("testfile", O_RDWR | O_CREAT, 0600); @@ -1656,7 +1633,6 @@ ATF_TC_BODY(aio_writev_dos_iovcnt, tc) ssize_t len; int fd; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); fd = open("testfile", O_RDWR | O_CREAT, 0600); @@ -1693,7 +1669,6 @@ ATF_TC_BODY(aio_writev_efault, tc) long seed; int fd; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); fd = aio_md_setup(); @@ -1728,7 +1703,6 @@ ATF_TC_BODY(aio_writev_empty_file_poll, tc) struct aiocb aio; int fd; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); fd = open("testfile", O_RDWR | O_CREAT, 0600); @@ -1751,7 +1725,6 @@ ATF_TC_BODY(aio_writev_empty_file_signal, tc) struct aiocb aio; int fd; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); fd = open("testfile", O_RDWR | O_CREAT, 0600); @@ -1781,8 +1754,6 @@ ATF_TC_BODY(ev_oneshot, tc) struct kevent events[1]; struct timespec timeout; - ATF_REQUIRE_KERNEL_MODULE("aio"); - kq = kqueue(); ATF_REQUIRE(kq >= 0); @@ -1844,7 +1815,6 @@ ATF_TC_BODY(vectored_big_iovcnt, tc) int fd, i; ssize_t sysctl_len = sizeof(max_buf_aio); - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); if (sysctlbyname(oid, &max_buf_aio, &sysctl_len, NULL, 0) == -1) @@ -1946,6 +1916,7 @@ ATF_TC_HEAD(vectored_unaligned, tc) "Vectored AIO should still work even if the iov contains elements " "that aren't a multiple of the sector size."); atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "zfs"); } ATF_TC_BODY(vectored_unaligned, tc) { @@ -1958,7 +1929,6 @@ ATF_TC_BODY(vectored_unaligned, tc) if (atf_tc_get_config_var_as_bool_wd(tc, "ci", false)) atf_tc_skip("https://bugs.freebsd.org/258766"); - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); /* @@ -2045,6 +2015,7 @@ ATF_TC_WITH_CLEANUP(vectored_zvol_poll); ATF_TC_HEAD(vectored_zvol_poll, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "zfs"); } ATF_TC_BODY(vectored_zvol_poll, tc) { diff --git a/tests/sys/aio/lio_kqueue_test.c b/tests/sys/aio/lio_kqueue_test.c index f891ab95f3ca..6ac99af9254c 100644 --- a/tests/sys/aio/lio_kqueue_test.c +++ b/tests/sys/aio/lio_kqueue_test.c @@ -40,7 +40,6 @@ #include #include -#include "freebsd_test_suite/macros.h" #include "local.h" #define PATH_TEMPLATE "aio.XXXXXXXXXX" @@ -68,7 +67,6 @@ main(int argc, char *argv[]) char *file, pathname[sizeof(PATH_TEMPLATE)]; int tmp_file = 0, failed = 0; - PLAIN_REQUIRE_KERNEL_MODULE("aio", 0); PLAIN_REQUIRE_UNSAFE_AIO(0); max_queue_per_proc_size = sizeof(max_queue_per_proc); diff --git a/tests/sys/aio/lio_test.c b/tests/sys/aio/lio_test.c index a59f9bd518bc..546cd6c5b790 100644 --- a/tests/sys/aio/lio_test.c +++ b/tests/sys/aio/lio_test.c @@ -38,7 +38,6 @@ #include #include "local.h" -#include "freebsd_test_suite/macros.h" static sem_t completions; @@ -71,7 +70,6 @@ ATF_TC_BODY(lio_listio_eagain_kevent, tc) const char *path="tempfile"; void *udata[2]; - ATF_REQUIRE_KERNEL_MODULE("aio"); ATF_REQUIRE_UNSAFE_AIO(); max_queue_per_proc_size = sizeof(max_queue_per_proc); From nobody Fri Sep 5 18:42:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFK592rz66DVN; Fri, 05 Sep 2025 18:42:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFK1xBRz4Nvd; Fri, 05 Sep 2025 18:42:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qG4FLH2e+aTe+iqzxTPPOoU6uxve83CMtNrVD6uy9xo=; b=sJ3u1XtTIsnboxV7zxGnuMOQC9hZWaSkFnQqSL8d1pqqaaTT8f1DutdK2NfucHSIXFcn2O 4Wb0ZJq+dYeAUJx9E2P/5wyMIISAkgX+5fWs/0QMwUh738hp7P/tDhm4E04BAcoXSAidl9 0P4sdALBU/mMysLqwyYgMCkiDEmmspy1Xg2tFoPlmZuEFUR/GVXS7b0ktA+4u3CM9vW4CT kiNxY/lbc7ZNR0XQ7K/1N11Z60huLcIQg/QzPhIaZyz8zdFR0UwESks61rk6EEwIVhfves Jsv4y2yhLBg2FPDuM9xdMfqipp8yXT5/LPylVarF2cjVmnKrMmeDvxGec2NJJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097749; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=qG4FLH2e+aTe+iqzxTPPOoU6uxve83CMtNrVD6uy9xo=; b=AKKpZ5e4G6rxDmqMeqJ+1y5LZ+EhM/B+U/D7o4/9MGycAZ7U/w3bkys9crOmSSTriUCXxB ICDT/kJp5yvMkpAkhQMOZZTznLxGhSeEXpqR9kcTTzmeokvgnf3v9h9Yf7Xd2XCmJqe8QE QUHyjaIpOhfweX5B//tTC3IYIP3t4yG8rCijOyBmMwTOzA9kgoGOVBn10PXGPq2g8ob1e4 6/5j4QsOb7tIvhLfrtI8v8ZOhKTn5N/0jKbyZzmZfGnPt6jqSjjFa7rLBE7A25ZYH4ANYf /KvgESKFujfOiE04ngU2vbGkUcXHQMv5l/s5BAskYySDh6hzAgvgMkD9YqNsFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097749; a=rsa-sha256; cv=none; b=jer4Fb3htwCOGdGKGT2K444ot5jT2LvRXu9CBmoi3dLYQQ56uyqOLegAklvyhaLOjv6r/O EbppnxqTOantCoKdGw8TfmrlXklDGlZd8H/W5JSrFSjYnXccpMmtuqJs6Li3F9RdoS/Lv+ KizFT/mYShygaR+dRqGg5neqixPGtfH8i2dRWAQL5Poyn+s9VnBDo9t8raD8BauBKzvoaj wWdpLE+0T5Sn1bIfRoIgrwNn+QWxbV06eS33x+ztyHWRfkXi8MR2lPvTvNOrei/9BouzN9 anLEMchfcPOEsos/ATBaMUbMuzBVh4dUAiz9jGnoieFXujElzjpRgIVJXpzdow== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFK1TwWz11Cn; Fri, 05 Sep 2025 18:42:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 585IgTDa096574; Fri, 5 Sep 2025 18:42:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgTYv096571; Fri, 5 Sep 2025 18:42:29 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:29 GMT Message-Id: <202509051842.585IgTYv096571@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: c444bfca0063 - main - tests/pf/ioctl: use require.kmods property instead of ad-hoc checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c444bfca0063d0820f3fc72cb429809f5f52a970 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=c444bfca0063d0820f3fc72cb429809f5f52a970 commit c444bfca0063d0820f3fc72cb429809f5f52a970 Author: Siva Mahadevan AuthorDate: 2025-07-21 13:25:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:22 +0000 tests/pf/ioctl: use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1780 --- tests/sys/netpfil/pf/ioctl/validation.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/tests/sys/netpfil/pf/ioctl/validation.c b/tests/sys/netpfil/pf/ioctl/validation.c index 18fafe11c6ab..3e03163cc752 100644 --- a/tests/sys/netpfil/pf/ioctl/validation.c +++ b/tests/sys/netpfil/pf/ioctl/validation.c @@ -41,8 +41,6 @@ static int dev; #define COMMON_HEAD() \ - if (modfind("pf") == -1) \ - atf_tc_skip("pf not loaded"); \ dev = open("/dev/pf", O_RDWR); \ if (dev == -1) \ atf_tc_skip("Failed to open /dev/pf"); @@ -64,6 +62,7 @@ ATF_TC_WITH_CLEANUP(addtables); ATF_TC_HEAD(addtables, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(addtables, tc) @@ -116,6 +115,7 @@ ATF_TC_WITH_CLEANUP(deltables); ATF_TC_HEAD(deltables, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(deltables, tc) @@ -159,6 +159,7 @@ ATF_TC_WITH_CLEANUP(gettables); ATF_TC_HEAD(gettables, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(gettables, tc) @@ -197,6 +198,7 @@ ATF_TC_WITH_CLEANUP(gettstats); ATF_TC_HEAD(gettstats, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(gettstats, tc) @@ -235,6 +237,7 @@ ATF_TC_WITH_CLEANUP(clrtstats); ATF_TC_HEAD(clrtstats, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(clrtstats, tc) @@ -280,6 +283,7 @@ ATF_TC_WITH_CLEANUP(settflags); ATF_TC_HEAD(settflags, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(settflags, tc) @@ -325,6 +329,7 @@ ATF_TC_WITH_CLEANUP(addaddrs); ATF_TC_HEAD(addaddrs, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(addaddrs, tc) @@ -360,6 +365,7 @@ ATF_TC_WITH_CLEANUP(deladdrs); ATF_TC_HEAD(deladdrs, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(deladdrs, tc) @@ -395,6 +401,7 @@ ATF_TC_WITH_CLEANUP(setaddrs); ATF_TC_HEAD(setaddrs, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(setaddrs, tc) @@ -430,6 +437,7 @@ ATF_TC_WITH_CLEANUP(getaddrs); ATF_TC_HEAD(getaddrs, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(getaddrs, tc) @@ -467,6 +475,7 @@ ATF_TC_WITH_CLEANUP(getastats); ATF_TC_HEAD(getastats, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(getastats, tc) @@ -504,6 +513,7 @@ ATF_TC_WITH_CLEANUP(clrastats); ATF_TC_HEAD(clrastats, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(clrastats, tc) @@ -541,6 +551,7 @@ ATF_TC_WITH_CLEANUP(tstaddrs); ATF_TC_HEAD(tstaddrs, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(tstaddrs, tc) @@ -578,6 +589,7 @@ ATF_TC_WITH_CLEANUP(inadefine); ATF_TC_HEAD(inadefine, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(inadefine, tc) @@ -615,6 +627,7 @@ ATF_TC_WITH_CLEANUP(igetifaces); ATF_TC_HEAD(igetifaces, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(igetifaces, tc) @@ -649,6 +662,7 @@ ATF_TC_WITH_CLEANUP(cxbegin); ATF_TC_HEAD(cxbegin, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(cxbegin, tc) @@ -688,6 +702,7 @@ ATF_TC_WITH_CLEANUP(cxrollback); ATF_TC_HEAD(cxrollback, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(cxrollback, tc) @@ -727,6 +742,7 @@ ATF_TC_WITH_CLEANUP(commit); ATF_TC_HEAD(commit, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(commit, tc) @@ -766,6 +782,7 @@ ATF_TC_WITH_CLEANUP(getsrcnodes); ATF_TC_HEAD(getsrcnodes, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(getsrcnodes, tc) @@ -798,6 +815,7 @@ ATF_TC_WITH_CLEANUP(tag); ATF_TC_HEAD(tag, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(tag, tc) @@ -835,6 +853,7 @@ ATF_TC_WITH_CLEANUP(rpool_mtx); ATF_TC_HEAD(rpool_mtx, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(rpool_mtx, tc) @@ -872,6 +891,7 @@ ATF_TC_WITH_CLEANUP(rpool_mtx2); ATF_TC_HEAD(rpool_mtx2, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(rpool_mtx2, tc) @@ -898,6 +918,7 @@ ATF_TC_WITH_CLEANUP(natlook); ATF_TC_HEAD(natlook, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "pf"); } ATF_TC_BODY(natlook, tc) From nobody Fri Sep 5 18:42:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFL677tz66DVR; Fri, 05 Sep 2025 18:42:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFL316pz4Nvv; Fri, 05 Sep 2025 18:42:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PQyJ3hx3LjOe57lbSnNzsHSiWBj0f6TVaHpCqMBsNeM=; b=OcHb/wjBiYZe7Jq8p1946ktdbwLVIQ5vOJoGNhCmwT0FEcFAtJpwKdnUskIKExAbSTtqXf GaeGFtdNubZdElEUpFBios9uqDAno0RF9Nz4+dNHvkDHGzpXNLzT9ZVmx0/9K2tPj/noJT U0VT1ZRcUw6eyCFhnzmD6XFUHsjY1t7seANGaRc91xYTPLjmjIsdtAx1LOdDJvPwKE++fS DT2ZCtbbcMmlOfqoWMgWPpp6CxAeU3SjlQI88QOhYME2r6/lU82YQjEHlhPUY6YhDalXhd o9obpGwtHU9Ax26YzfHlSEHQz6kNuN9URM8pT1hJkK5tqBGai9MrLB1br44DBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097750; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PQyJ3hx3LjOe57lbSnNzsHSiWBj0f6TVaHpCqMBsNeM=; b=lQ+igbGo1YWEUpmSPYC17AHxjLhH04PvXQLJ+7Zktu9YcEU4OPKE6crOfOU4jFd6FcGKSj ytF12CEyx+pMhltEictygdxbHRRLgv0K2YLuHZULYrmk21hMR797qMkVDWdSBKzLYO2WsL O6T8PNDKqWSb14cbRRjcq+fPyxx74/zhiqrLvlp0Sy/n2qAyzu4eZkqYzgYLNge1/LhTbe wZxG8/aRdOFjPEmwRx4mWUGx+zhivWJP9Ky+uuE3H4Q7s9r7MeDQhm5n3gcmq2nri663ir yj/MyEHzos/Lsh9oLzF79aAoRHI8Uora5z1m981BzzwswN2eate82ur6HwiBnw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097750; a=rsa-sha256; cv=none; b=wDbmaWGyrb3Z1+J/Xl/saLwPjwrGsX6B/oUw7mNVEn4Ii+9o5eM2uCLqZcQrTfUc8p5h4m DTcqGRO9s4l5YxrBLjRYfFxvsbKv/KZyj+zujBMhzn4eRWDDTSAtQ4uRTAqv6ZaY4WphRR WXDyztkiDZpICuCXfs9Ng543oOW4WKJbaL8mygstuFFlxhYseoBmM9IrjEGAD4i1ZHCtiH o/XQ4mxy1jKoSoX0MoyBkoAnc9QYGbhj4ddF8BuSXpR9Dhr2B1nauxwY0UHSOhHeKdbt6E 6hWCSlyTUsp6Bo/j3+9qAra3ePdUshRxWx7Ni8kvzyL4/zgy1K1euOAkK2W3gg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFL2Rvmz110f; Fri, 05 Sep 2025 18:42:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 585IgU8w096607; Fri, 5 Sep 2025 18:42:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgUo8096604; Fri, 5 Sep 2025 18:42:30 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:30 GMT Message-Id: <202509051842.585IgUo8096604@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: 559b0f6b8286 - main - tests/sys/netmap: use require.kmods property instead of ad-hoc checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 559b0f6b82867b60a2d5cb1b2744114603cb17a7 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=559b0f6b82867b60a2d5cb1b2744114603cb17a7 commit 559b0f6b82867b60a2d5cb1b2744114603cb17a7 Author: Siva Mahadevan AuthorDate: 2025-07-21 13:25:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:22 +0000 tests/sys/netmap: use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1780 --- tests/sys/netmap/Makefile | 1 + tests/sys/netmap/ctrl-api-test.c | 7 ------- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/tests/sys/netmap/Makefile b/tests/sys/netmap/Makefile index ee00d0421620..bd713ff795bc 100644 --- a/tests/sys/netmap/Makefile +++ b/tests/sys/netmap/Makefile @@ -3,6 +3,7 @@ PACKAGE= tests TESTSDIR= ${TESTSBASE}/sys/netmap TEST_METADATA+= required_user="root" TEST_METADATA+= is_exclusive=true +TEST_METADATA+= required_kmods="if_tap netmap" PLAIN_TESTS_C+= ctrl-api-test diff --git a/tests/sys/netmap/ctrl-api-test.c b/tests/sys/netmap/ctrl-api-test.c index 6b45dbb1cfea..36c131980360 100644 --- a/tests/sys/netmap/ctrl-api-test.c +++ b/tests/sys/netmap/ctrl-api-test.c @@ -59,8 +59,6 @@ #include #ifdef __FreeBSD__ -#include "freebsd_test_suite/macros.h" - static int eventfd(int x __unused, int y __unused) { @@ -2199,11 +2197,6 @@ main(int argc, char **argv) int opt; int i; -#ifdef __FreeBSD__ - PLAIN_REQUIRE_KERNEL_MODULE("if_tap", 0); - PLAIN_REQUIRE_KERNEL_MODULE("netmap", 0); -#endif - memset(&ctx_, 0, sizeof(ctx_)); { From nobody Fri Sep 5 18:42:31 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFM6csfz65yVB; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFM3stJz4P8K; Fri, 05 Sep 2025 18:42:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wWT4km9YODFR3KnNa+OGhC3PHXcNA0XsFT9VomdZJGA=; b=kfEjZnk6JE32tI9rENuEEH5Wi/czP+jZEZv9ESep9vHZuCDVCEhPmXpWZRT0o0IMTJmP3N F3QYW9oBhVAJMe7833A2gWrRYCx3kGYow+8bkHqb/Wvs6D88A4UsN5gfNzToXnZmkPki+V q6b/5LXCYps+Kld7VMhdQPWlomr9lbSF/eSUIH/E7/zLk+QsAw8Nh5vwt4xBTIRlK+Cbyo axTxnmjzEAnv/QaRkp6wHTUyoheQgRq64G7neKESSATURdEPH5WSPNP5ggp6XQA5JP4P5y RkLQqAXFPu0biujj4H0j6wjcAotCT+Axl4blVAlduAmcqoWWq1GJ1w/APB1K9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097751; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wWT4km9YODFR3KnNa+OGhC3PHXcNA0XsFT9VomdZJGA=; b=qtit0FRlMhEer618U0cDU28jNAYVBrauRIkIvkY690FtSekLL7XpC9N7BUx5KlnX7hvIyL Zy2jCcBd6GH+KpxhYuFieWgd+6cs01J3AGwD+v4nEDmszCx1/EN2t7/3cAN0k7yk/85tT9 w4lA28cgRH2rjkGIo9iAdJnbchYgwygTwA9Et5H5l3qb0q7Xjl8XyEf8vcdWmrViKJmzxc sKQxE2R8G/oKzyn+lG4yNU666nutSktv4kIdlu2LCopAtO7knFhXYRaWNyulO3Jrvp8xA3 PNIyZihyLnexwdaI8TaoBOJjIvVDa+47CoFn6H6LiWKg2idHv+XPG1PPFbWK3w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097751; a=rsa-sha256; cv=none; b=pw93eatCQcTn9FpbYaMptwvdkDhKcwSzMq4dP5tPkRtJa1kgz0XDjV3UD1J79FCMrUDe8g SP9LwFUf+r8wCihI+FrDxuNRwnk50FF6EcsjyNtOptqTURUGjCpmwZAh4JgVORduTjxDD3 mDcO3n6YlljiGT0ahqzHl33s09Q4jB7RVsBVOdkTxQHdUUubtuOlLxuZshEO3ccw+QbSl/ v5trGM0pRFCUZAInfMEN1/coWhgniTK2YE0/I71oAmIEyqMhBaVirjxI3wMP3LjnSsfNrH 91/zu/+wbcnZDjSBZ+HwCysPBwaalVzi861GIDfyTKJDZbAhYuWpWed2yZcW6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFM3T9Vz11Cq; Fri, 05 Sep 2025 18:42: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 585IgVUs096640; Fri, 5 Sep 2025 18:42:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgVjK096637; Fri, 5 Sep 2025 18:42:31 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:31 GMT Message-Id: <202509051842.585IgVjK096637@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: 74898ce961e1 - main - tests/sndstat: use require.kmods property instead of ad-hoc checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 74898ce961e1f4818eba500dfa3a06bc30c1d9b3 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=74898ce961e1f4818eba500dfa3a06bc30c1d9b3 commit 74898ce961e1f4818eba500dfa3a06bc30c1d9b3 Author: Siva Mahadevan AuthorDate: 2025-07-21 13:25:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:22 +0000 tests/sndstat: use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1780 --- tests/sys/sound/sndstat.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/tests/sys/sound/sndstat.c b/tests/sys/sound/sndstat.c index ed292b570429..bbf18aca2824 100644 --- a/tests/sys/sound/sndstat.c +++ b/tests/sys/sound/sndstat.c @@ -40,17 +40,11 @@ #include #include -static void -load_dummy(void) -{ - if (kldload("snd_dummy.ko") < 0 && errno != EEXIST) - atf_tc_skip("snd_dummy.ko not found"); -} - ATF_TC(sndstat_nv); ATF_TC_HEAD(sndstat_nv, tc) { atf_tc_set_md_var(tc, "descr", "/dev/sndstat nvlist test"); + atf_tc_set_md_var(tc, "require.kmods", "snd_dummy"); } ATF_TC_BODY(sndstat_nv, tc) @@ -62,8 +56,6 @@ ATF_TC_BODY(sndstat_nv, tc) size_t nitems, nchans, i, j; int fd, rc, pchan, rchan; - load_dummy(); - if ((fd = open("/dev/sndstat", O_RDONLY)) < 0) atf_tc_skip("/dev/sndstat not found, load sound(4)"); @@ -223,6 +215,7 @@ ATF_TC(sndstat_udev); ATF_TC_HEAD(sndstat_udev, tc) { atf_tc_set_md_var(tc, "descr", "/dev/sndstat userdev interface test"); + atf_tc_set_md_var(tc, "require.kmods", "snd_dummy"); } ATF_TC_BODY(sndstat_udev, tc) @@ -234,8 +227,6 @@ ATF_TC_BODY(sndstat_udev, tc) size_t nitems, i; int fd, rc, pchan, rchan, n; - load_dummy(); - if ((fd = open("/dev/sndstat", O_RDWR)) < 0) atf_tc_skip("/dev/sndstat not found, load sound(4)"); From nobody Fri Sep 5 18:42:32 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFP14Jgz66DGC; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFN5NMrz4NwD; Fri, 05 Sep 2025 18:42:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eUz+IdAeOFJkKqXGlt6w4724ybcPguoDiw4UG2rnMqE=; b=qtzRIjWSomh45qWOHcR+fXEHAEtuOyck9NTfOaSzoQpjxNwBRKzb2jfsBNN5O5OjWp7sJm R5AicKT0iiGUwnROeEJc+e6/PmUOhIX4HUgQJUf7om/zFYzjeRey/DE4g9MBAk2C7KvbaB 0YykrVkZ3az9JOD6zhSNxkY1JbbvdDofvvIwxMrCrnx74LIE+NpVy7OJqpPxuRS53UjN4S NUqcoYmhCS/GOsLp30ghIN1trb1JupPY3xAacv4ocn9UatJyL/ObQGmAK8oV6FSgERka1S 6sOAKqp6HheJEmOVD+COcphS10xQ3P32sdPcrNIgK3+82lFSDQPot1J0roPbBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097752; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eUz+IdAeOFJkKqXGlt6w4724ybcPguoDiw4UG2rnMqE=; b=MguMAo7RY6rSZTA1/95PULruNJw1F4bFU6T81XWA8gWJ6UGAWCP8o35oNzrXFeIycNLZKu ojr5VgnmQnCO+EXgJLmwmrTdiGeLF5ngkcXWZTl9TRhcLXCqbHeSZh3VEctZxG7/02xEFK OPpOFJbSJnmARN3quElKybfX/KrL0ObdXD94qHFCKeVC7+3Zlj/5Pa/wbexdBsJQeKcc/+ vc9C28807lMPcP5/mLty3Nhd8fp2AFXnh9zAKU1jdUTaJSjYXxs9+HxJjwFkh1nn0kjTtD Jn85AWSA8DO1gm4Ulwj3vfNXfcqnKRw9xnMS7IUixNT3Z9+9V5iSLPrthCQt9w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097752; a=rsa-sha256; cv=none; b=Bi3NYiY8xVBHzGWmlSfJ8TTEq8rsuIpNYoE8YFdoolXOgNlLjJ3j0+Re5A58HLM8Hm2DQr VuBRzgSVjhjHb7uhLa62syWxFaLRv8YlQnZ8HEGg1rzNK+dPrZDGssT+tKrh9XHZnXuymW LNLsLa8MX64eUQrClXpRq5rBYIyVDe3IYQ6PyDyfHCvYhmMC50W0dJFvGSG6CNRPNAYlfv ni7bvIHQq+FUZaIaQ3pa6bnGyLyTrA6pGa2JDCtPxI+aeGaFwy82gMlZF2F+tUxrTg3VX1 avAgu6vkUWx5D+W4Ov+kIqNUNcJ0FQOzulPuQTBWgLmEww2d0Mznf+HHVl54wQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFN4ZLtz11Qb; Fri, 05 Sep 2025 18:42: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 585IgWLf096674; Fri, 5 Sep 2025 18:42:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgWHs096671; Fri, 5 Sep 2025 18:42:32 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:32 GMT Message-Id: <202509051842.585IgWHs096671@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: 7a1a6d1e2a83 - main - tests/socket_accf: use require.kmods property instead of ad-hoc checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 7a1a6d1e2a836d189447ba725b0e256014613ab8 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=7a1a6d1e2a836d189447ba725b0e256014613ab8 commit 7a1a6d1e2a836d189447ba725b0e256014613ab8 Author: Siva Mahadevan AuthorDate: 2025-07-21 13:25:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:22 +0000 tests/socket_accf: use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1780 --- tests/sys/kern/socket_accf.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/tests/sys/kern/socket_accf.c b/tests/sys/kern/socket_accf.c index ae6522397cf7..939ca9495689 100644 --- a/tests/sys/kern/socket_accf.c +++ b/tests/sys/kern/socket_accf.c @@ -69,14 +69,8 @@ clientsock(struct sockaddr_in *sin) static void accfon(int l, struct accept_filter_arg *af) { - if (setsockopt(l, SOL_SOCKET, SO_ACCEPTFILTER, af, sizeof(*af)) != 0) { - if (errno == ENOENT) - atf_tc_skip("Accept filter %s not loaded in kernel", - af->af_name); - else - atf_tc_fail("setsockopt(SO_ACCEPTFILTER): %s", - strerror(errno)); + atf_tc_fail("setsockopt(SO_ACCEPTFILTER): %s", strerror(errno)); } } @@ -95,7 +89,11 @@ usend(int s, const void *msg, size_t len) return (rv); } -ATF_TC_WITHOUT_HEAD(data); +ATF_TC(data); +ATF_TC_HEAD(data, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "accf_data"); +} ATF_TC_BODY(data, tc) { struct accept_filter_arg afa = { @@ -113,7 +111,11 @@ ATF_TC_BODY(data, tc) ATF_REQUIRE((a = accept(l, NULL, 0)) > 0); } -ATF_TC_WITHOUT_HEAD(http); +ATF_TC(http); +ATF_TC_HEAD(http, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "accf_http"); +} ATF_TC_BODY(http, tc) { struct accept_filter_arg afa = { @@ -152,7 +154,11 @@ ATF_TC_BODY(http, tc) ATF_REQUIRE((a = accept(l, NULL, 0)) > 0); } -ATF_TC_WITHOUT_HEAD(tls); +ATF_TC(tls); +ATF_TC_HEAD(tls, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "accf_tls"); +} ATF_TC_BODY(tls, tc) { struct accept_filter_arg afa = { @@ -210,7 +216,11 @@ ATF_TC_BODY(tls, tc) } /* Check changing to a different filter. */ -ATF_TC_WITHOUT_HEAD(change); +ATF_TC(change); +ATF_TC_HEAD(change, tc) +{ + atf_tc_set_md_var(tc, "require.kmods", "accf_data accf_http"); +} ATF_TC_BODY(change, tc) { struct accept_filter_arg dfa = { From nobody Fri Sep 5 18:42:33 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFQ2ypBz66DdY; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFP74Lpz4PFH; Fri, 05 Sep 2025 18:42:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w8IackV4l2XYAI4a9ekFTkPHOGK+YgKIDsNmTFX341o=; b=fot4XIYSeBg+KqEfTStLQsa/OSDLKnipfOqb2Y+bN5zCNFnUdXF+KNQ1tcNOCeNEDWCsRz MLyB/jhW0fROhuVf+gPNHw+60sY7r+Ro3hbQiRHkwtwMwpz25lCGJkyBw8DBDnOL9eAtkm 6ej5Er3EiHcTHjGf4PBmeDENX2v2k4VLj2tbOAiaPEints2TNnnzKZYQYSmeQHfc6lIeoY 5s60ZwONyHhvzUBafb8psX1oSE1BWUuW7f9WPOXrEc+Mk3B/INUg1cHbfazWnjAL79UH3p Laq8hOR6T3SEprOP/EBeCaouSb6mh/TxCx/5H6bpnbna87Sz3fv8a8iIVTN4Sw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097754; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=w8IackV4l2XYAI4a9ekFTkPHOGK+YgKIDsNmTFX341o=; b=hpJg4/2qZ5hXU/hFVACeVWK1spLdwbBNGK0jScCe8fY/W7bMiKIMJYsWZV25uxt+UxZHs6 NYlqptY5aiGDJe8UCbTLhealGZvo7EMJIWWQNmnl0y2QU6SGqCGXdevwE5LA9idNNJRcWe N27aRwdfsEVBCX/lpc329rjRK5RhrdX0bdDgvVhxmd2hho0StY9nzJnpdrAlJBWo8QytuJ 7SpyUoxYNTx6qNzmcHm8IOSy5qnpRr65LvIaK8u1ZCki4v6yAczYvzWoOW0ChCaxmjLWjJ U2/zdOq/x6v6PbzsjTITykZRzMuq7OMOFtU3ZxuE7PEAcXbk01vzVLEKR/3s0A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097754; a=rsa-sha256; cv=none; b=DPF89/8Qkw1NbiXdIDW278DlMzCsbY9kQBKVYQiOyjMqnn6P1lznzodt90a9yUv9NYj92X Kh8+z++lsK4cMKElrruTE6BsHwzs/MWGk6tebELg7nFs22AnHRj6hgu4nT3M0r45iHsFL7 CImgFTurXqe99u/ipLEC+zbGllvMV9xFoIV+fOEqZwXWvSNLpPS6Dp7+pKHBiW9AYj4a2G /rxNt/M9+GzMs4/Je0sLBYxFqVXIXSUDqHH7V/hkIw1qP/DiN6GUJ4HlsYski0IY87ed30 LXZakqbdccyJvLKrjJHmCJkqqaXHmTlzPQ3fPXLIha2hzDEzG+0N2z0L8zqAZw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFP6NT3z11Gp; Fri, 05 Sep 2025 18:42: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 585IgXDn096708; Fri, 5 Sep 2025 18:42:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgXJF096705; Fri, 5 Sep 2025 18:42:33 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:33 GMT Message-Id: <202509051842.585IgXJF096705@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: 4079513328d5 - main - tests/sys/net: use require.kmods property instead of ad-hoc checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 4079513328d5656e31cb853a799176ff2500f79b Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=4079513328d5656e31cb853a799176ff2500f79b commit 4079513328d5656e31cb853a799176ff2500f79b Author: Siva Mahadevan AuthorDate: 2025-07-21 13:25:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:23 +0000 tests/sys/net: use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1780 --- tests/sys/net/if_epair.c | 4 +--- tests/sys/net/if_ovpn/if_ovpn_c.c | 5 +---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/tests/sys/net/if_epair.c b/tests/sys/net/if_epair.c index 0817b298d427..5ee4a48aea86 100644 --- a/tests/sys/net/if_epair.c +++ b/tests/sys/net/if_epair.c @@ -44,6 +44,7 @@ ATF_TC(params); ATF_TC_HEAD(params, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "if_epair"); } ATF_TC_BODY(params, tc) @@ -51,9 +52,6 @@ ATF_TC_BODY(params, tc) struct ifreq ifr; int s; - kldload("if_epair"); - ATF_REQUIRE_KERNEL_MODULE("if_epair"); - s = socket(AF_INET, SOCK_DGRAM, 0); if (s < 0) atf_tc_fail("Failed to create socket"); diff --git a/tests/sys/net/if_ovpn/if_ovpn_c.c b/tests/sys/net/if_ovpn/if_ovpn_c.c index fa8a9a07fa35..7b558f1975dd 100644 --- a/tests/sys/net/if_ovpn/if_ovpn_c.c +++ b/tests/sys/net/if_ovpn/if_ovpn_c.c @@ -78,6 +78,7 @@ ATF_TC_WITH_CLEANUP(tcp); ATF_TC_HEAD(tcp, tc) { atf_tc_set_md_var(tc, "require.user", "root"); + atf_tc_set_md_var(tc, "require.kmods", "if_ovpn"); } ATF_TC_BODY(tcp, tc) @@ -87,10 +88,6 @@ ATF_TC_BODY(tcp, tc) int ret; nvlist_t *nvl; - /* Ensure the module is loaded. */ - if (kldfind("if_ovpn") == -1 && errno == ENOENT) - atf_tc_skip("if_ovpn not loaded"); - ovpn_fd = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0); /* Kick off a connect so there's a local address set, which we need for From nobody Fri Sep 5 18:42:34 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFR2Y3Gz66Ddg; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFR0QdRz4PN0; Fri, 05 Sep 2025 18:42:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xwUF1K2kCDd6gyqCJ7O4m7pKt5ZcC0fh2gr4Grzt/XI=; b=vGKzhNS5icZccz9SJZ0Awxd2bEqiHYFiyTnTl+TqbdmVvx/qzTuBlNqJ4Lrqv2ohmutDFL dajgqXskPREgGcVVIVL0QuCVx73xs81CrEC3sZ0xXVsV7IBsoOy4bAGn1vyLRMTptBgVIF oapxb7o5ffTwtne/FSTod3m2HhvKki2Vsa0DptFYV7UXczXURhKt1MsUSWbEUa0FrRxf8u kSBxb8FAvNYTI8HfxRvBjjMd8H91spve8WJzuVouiTQ8lodjEYe/7+1UjbTbGudR0AaXds JSUwIHXqg4fRps7zeok7r+cnZ4gspJWofQS6B97LYujjnAc1CSf02fnsG0eUJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097755; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xwUF1K2kCDd6gyqCJ7O4m7pKt5ZcC0fh2gr4Grzt/XI=; b=PgXzf0lAEBuOzraNIH4ODR7lXajAIO9eBSUpkGbr3hEWx5QE20GnlqbgoKof2ohZaB63Z+ rS7cC9+vd6xsx3lQ23+DI6QLqEqypTlZQAjL59PLF03kt58wLK4ZOI/op1mTk6kI5vZXiv dZMbodJKqxIhSrBRYdEMetQ86+iJoYr0gGardDQkF9lSRgaKrlZz8+fsfDDrwFfoUVpuh4 mtdDV+6Qv5AQvTIXzGZcbi7c8R89yvtUjdaH7sFzSE7YQ0cnJQR3hKqr/qxGBqVIdn3gpV FXdn4ves1MyotYsqcuaZTGBitKk2SjWHk756GLeLIB9bDnrBuZ9e4vkBxRLCxA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097755; a=rsa-sha256; cv=none; b=pd9DEMLeitE8km4SqlHUCTdkgHtSwN02dU4BdxyajHFJ4TMxHk5MGG2lKUUscZWCe6D/9D 8ps5CQbtcJ10XYBLZ3M12Idi+PNk3YaSmDm9oElNWgGpvAg6y5QGCdgObhMVBzvNgM3Zvu ounF3r+sH7ofFNesrbw9aVpYVvvHmVB77BL6qHp7sncrWOh1Zmas9pkeccTrJUVEERqEAc us6DYMeRwl8bdbF8OPc/iqguuItCdhUtFb6SkRtNvDuuVHnTBO95uiz0cNaXfh9sntcTDo FgQ6wBDqe4NaUShxU1N+m4Kbuu2ybntaMSgkL4Ms3ooBVmiyyx4CSTJLSKE4uw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFQ6fd6z110g; Fri, 05 Sep 2025 18:42: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 585IgYaT096748; Fri, 5 Sep 2025 18:42:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgYG3096745; Fri, 5 Sep 2025 18:42:34 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:34 GMT Message-Id: <202509051842.585IgYG3096745@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: 427be10491e3 - main - tests/sys/netinet: use require.kmods property instead of ad-hoc checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 427be10491e37160a82eef31622676c655a29f1e Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=427be10491e37160a82eef31622676c655a29f1e commit 427be10491e37160a82eef31622676c655a29f1e Author: Siva Mahadevan AuthorDate: 2025-07-21 13:25:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:23 +0000 tests/sys/netinet: use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1780 --- tests/sys/netinet/divert.sh | 11 ++--------- tests/sys/netinet/tcp_md5_getsockopt.c | 5 ++--- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/tests/sys/netinet/divert.sh b/tests/sys/netinet/divert.sh index d50620d94a09..f521038ba687 100755 --- a/tests/sys/netinet/divert.sh +++ b/tests/sys/netinet/divert.sh @@ -29,19 +29,13 @@ . $(atf_get_srcdir)/../common/vnet.subr -load_divert_module() { - kldstat -q -m ipdivert - if [ $? -ne 0 ]; then - atf_skip "ipdivert module is not loaded" - fi -} - atf_test_case "ipdivert_ip_output_remote_success" "cleanup" ipdivert_ip_output_remote_success_head() { atf_set descr 'Test diverting IPv4 packet to remote destination' atf_set require.user root atf_set require.progs python3 scapy + atf_set require.kmods ipdivert } ipdivert_ip_output_remote_success_body() { @@ -62,7 +56,6 @@ ipdivert_ip_output_remote_success_body() { fi vnet_init - load_divert_module ip4a="192.0.2.5" ip4b="192.0.2.6" @@ -97,6 +90,7 @@ ipdivert_ip_input_local_success_head() { atf_set descr 'Test diverting IPv4 packet to remote destination' atf_set require.user root atf_set require.progs python3 scapy + atf_set require.kmods ipdivert } ipdivert_ip_input_local_success_body() { @@ -117,7 +111,6 @@ ipdivert_ip_input_local_success_body() { fi vnet_init - load_divert_module ip4a="192.0.2.5" ip4b="192.0.2.6" diff --git a/tests/sys/netinet/tcp_md5_getsockopt.c b/tests/sys/netinet/tcp_md5_getsockopt.c index deaa4170caea..e23cfa67185a 100644 --- a/tests/sys/netinet/tcp_md5_getsockopt.c +++ b/tests/sys/netinet/tcp_md5_getsockopt.c @@ -45,9 +45,6 @@ void test_tcp_md5_getsockopt(int); void test_tcp_md5_getsockopt(int v6) { - if (kldfind("tcpmd5.ko") == -1) - atf_tc_skip("Test requires the tcpmd5 kernel module to be loaded"); - struct sockaddr_in *s; struct sockaddr_in6 s6 = { 0 }; struct sockaddr_in s4 = { 0 }; @@ -108,6 +105,7 @@ ATF_TC(tcp_md5_getsockopt_v4); ATF_TC_HEAD(tcp_md5_getsockopt_v4, tc) { atf_tc_set_md_var(tc, "descr", "Test getsockopt for TCP MD5 SIG (IPv4)"); + atf_tc_set_md_var(tc, "require.kmods", "tcpmd5"); } ATF_TC_BODY(tcp_md5_getsockopt_v4, tc) @@ -119,6 +117,7 @@ ATF_TC(tcp_md5_getsockopt_v6); ATF_TC_HEAD(tcp_md5_getsockopt_v6, tc) { atf_tc_set_md_var(tc, "descr", "Test getsockopt for TCP MD5 SIG (IPv6)"); + atf_tc_set_md_var(tc, "require.kmods", "tcpmd5"); } ATF_TC_BODY(tcp_md5_getsockopt_v6, tc) From nobody Fri Sep 5 18:42:35 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFS4Dg4z65yQt; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFS0x0gz4PL9; Fri, 05 Sep 2025 18:42:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097756; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JlBVLmhYjQk1IGFCokBmWNkXjH0W3YOzq1Y8CrnYVJ8=; b=t8YQmDLb+P9OpDKj3xMnOUduonrkvYhPfyXmlg96yAkHz9O1cCzsF6pzfAkhalH8fqtJ7d W8hREwY+GaTjnP+nUsRRSLUEl2OY1VBv7VSNcLN7kzCM7ylzU9bvV7Rm4MdVRWGTUavaK4 /7oIjnxOpKRQfOKLP5xseB7eFm/56jAlfkX1ZjcCXrfU3v3tEFB9IM+sKUjafLYNFmHchU OZiDmPIgwWTyPwvr0tx6igCyppFgBV2l526TF9lAgog32MtkQLC8r3SNuDOK50neNS1lNv 23ccwPZi4D2ndIWoFSsol42TjLIqoD7HeYmnrmg1kjfeXQubM/jIxwwFmKxANQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097756; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JlBVLmhYjQk1IGFCokBmWNkXjH0W3YOzq1Y8CrnYVJ8=; b=gDWNLd2xY04DQSvsN1qoEspNrbevRgLJsykOsBFcoUUz5iRyAGsPhLs2n+gpVu2+/HHP4W fXvxkCt7vjNcPKZjoYMgKMhfPuaTh7xfBBvGxy9myNyUSEh5SIO2XWpG+z8V7pI1jaGq8Q tdXMSetCkwKCH3+msCrb8uJoV+zroRYPlhRPSkO/fZepAO6KcrrQcj5HKIgmGx5I7X+EOk R1ZTJY+sY8YMDH8oHOKlx38CzRBpznjLXwenPIQmLY1acEqV49W4HWVmTNLhqQxp9IcEwX JiTJ8Ib7A+B/e3MMQHz+EN6435irATsW34F0SahZWmkFOqamLPl5fAgzqu1/YA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097756; a=rsa-sha256; cv=none; b=lJCN1zRtcQ56iOh/vMv9TOgNQYv++t9COPWOdVHPS/6/YRa2g8Ln/5kmLlUQxbJI/Us/k1 RS/tqLDiqvkLJh9CuHNZr54Dl/S7upt12V1C/320JcFvbTOQSPb5yKnLTT6hTAPpX7J5vS eg4p+W9Vchdm8XDMhfEdJUh0+W+P7ZGzns9E55bslnEbwesWfopXubQnZWPs3KnA6ANcNd x6fL6/nOdEFrt9yMoI7oX2lpHVLC7qXVeBWIg/+d5F+WFVLVanFT46dJBqWihfb8YEy6Ec vTaBvr6ErMqtlvZ8LQmIoRnKtQonVOEdg2QnRgK4xJlwxONr8jeFwX94gw4FCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFS0Wzlz11BH; Fri, 05 Sep 2025 18:42:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 585IgZHv096789; Fri, 5 Sep 2025 18:42:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgZNx096786; Fri, 5 Sep 2025 18:42:35 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:35 GMT Message-Id: <202509051842.585IgZNx096786@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: f53228c4e398 - main - tests/vmm_cred_jail: use require.kmods property instead of ad-hoc checks List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: f53228c4e398468c71d3ed8a372cc29ccae6a0c1 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f53228c4e398468c71d3ed8a372cc29ccae6a0c1 commit f53228c4e398468c71d3ed8a372cc29ccae6a0c1 Author: Siva Mahadevan AuthorDate: 2025-07-21 13:25:26 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:23 +0000 tests/vmm_cred_jail: use require.kmods property instead of ad-hoc checks Signed-off-by: Siva Mahadevan Sponsored by: The FreeBSD Foundation Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1780 --- tests/sys/vmm/vmm_cred_jail.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/tests/sys/vmm/vmm_cred_jail.sh b/tests/sys/vmm/vmm_cred_jail.sh index 5b02b5dc0b42..dd7907b15352 100644 --- a/tests/sys/vmm/vmm_cred_jail.sh +++ b/tests/sys/vmm/vmm_cred_jail.sh @@ -35,12 +35,10 @@ vmm_cred_jail_host_head() { atf_set "descr" "Tests deleting the host's VM from within a jail" atf_set "require.user" "root" + atf_set "require.kmods" "vmm" } vmm_cred_jail_host_body() { - if ! -c /dev/vmmctl; then - atf_skip "vmm is not loaded" - fi bhyvectl --vm=testvm --create vmm_mkjail myjail atf_check -s exit:1 -e ignore jexec myjail bhyvectl --vm=testvm --destroy @@ -56,12 +54,10 @@ vmm_cred_jail_other_head() { atf_set "descr" "Tests deleting a jail's VM from within another jail" atf_set "require.user" "root" + atf_set "require.kmods" "vmm" } vmm_cred_jail_other_body() { - if ! -c /dev/vmmctl; then - atf_skip "vmm is not loaded" - fi vmm_mkjail myjail1 vmm_mkjail myjail2 atf_check -s exit:0 jexec myjail1 bhyvectl --vm=testvm --create From nobody Fri Sep 5 18:42:37 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFT3Bchz66DbR; Fri, 05 Sep 2025 18:42:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFT1pClz4P9L; Fri, 05 Sep 2025 18:42:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GPpVr8iO53riMa9xxWcEI/CKCZIeArpXRttq31INOD4=; b=xZvMF3nHyl1t4FzGrQUTH/N+vWH7FIIr8/Diz+IdQlN1+zMt2JQfE7PeGPbQ0yJAZfW76j ZTVui5168UWpxWc8fsok1M4XM0mNV0BvOctXiBQqrwMMGto4J4AfI45d9equRWaA/vvsT2 434Op4QmpMhEHTQiPTTt7jW5Pu1TAuujDWAi7913YbYtDSsZDZRyQs6hqGiKJOXWckWtIE 7x1+uKn9cnYgW7Cchr57kiBR6eZgl3HZHjTRqSB1OqxuEmfhnS627G8xnuM3VxedIcENV9 btOgc4kkQ7mSDD71p9VWQuYFMBVT0EsJpaeBBa7bdllMs+bcljaM41TQtBERUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097757; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GPpVr8iO53riMa9xxWcEI/CKCZIeArpXRttq31INOD4=; b=eh+OxLK42QyAnKBMh13YD4WywLEdI/SFvw9Y/yliUZ6Aap9PV/oSB+rF3+S/YPtg2HTjsm pd2gAhGfjZ5RE7x8FhD5JuuYHXnlkHTnDBQPmQI1AkvAiiFYVrvs3DRT1+wpvQgrNtovpb pA0GSotbJsN9pOnjI4wRIrarqBHcGIRsBkBcNBNuBHeArRDgpukdyk+PfmVsPhjWPGew58 4vGdBLdPdcDFHcrAab3g+HI2J1K7UuxAC0wVYB6eORGnDpoXzS8S08mHt2EP20qPoB2x6+ SlxjJCtdz3ehHm2ttevUDxQPCOhkXJXRPbioMGLk37POmjhzeLFQZXXnUs2MvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097757; a=rsa-sha256; cv=none; b=Td1T5z4aViUwt0E83GzoqLoDvFsBwz3Xy49KsqVnzhbVYTDQGAmX1XYTIlwuYowDg9fnZE DT1BgTBOwy1Xye1VhBKeqnfvI5YbFiHLS1NVVYsXFpTjx4fDmjZYr41pCBF+gvuLu1bqXD sYVxymyLCo2dtaBEijjMXRydc08c3isiGnF6rY0hVNG8njPruVV49PhYr35xsLK6P6JCgH D/9yzD3m4etXJcxj/DGVnl9Mdd1EJtA1FRTziAEo7r0pFhBGdjjhJDOb5V7gUyMQ+GqrQf 1fpC+hvE9aOZ9hixlpSy49XI89zpXxm8E8abENSr0aqm1DTtEvEQbsTM5XodEw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFT18ztz11JC; Fri, 05 Sep 2025 18:42: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 585Igbe8096823; Fri, 5 Sep 2025 18:42:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585IgbnM096820; Fri, 5 Sep 2025 18:42:37 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:37 GMT Message-Id: <202509051842.585IgbnM096820@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: 9ae3c3010a0d - main - gpioled: use hw pin inversion if available List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 9ae3c3010a0deb80eb96b1184734904ed61fecef Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=9ae3c3010a0deb80eb96b1184734904ed61fecef commit 9ae3c3010a0deb80eb96b1184734904ed61fecef Author: Stéphane Rochoy AuthorDate: 2025-08-12 09:28:49 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:23 +0000 gpioled: use hw pin inversion if available Add hint.gpioled.%d.invmode to allow setting the pin inversion method. Accept the following values: - auto Use hardware pin inversion if available, else fallback to software pin inversion. - hw Use hardware pin inversion. - sw Use software pin inversion. Default is auto. This hint is ignored when no pin inversion is requested (hint.gpioled.%d.invert=0). Signed-off-by: Stéphane Rochoy Sponsored-by: Stormshield Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1805 --- sys/dev/gpio/gpioled.c | 108 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 91 insertions(+), 17 deletions(-) diff --git a/sys/dev/gpio/gpioled.c b/sys/dev/gpio/gpioled.c index ba53cb733971..71af5741b2fe 100644 --- a/sys/dev/gpio/gpioled.c +++ b/sys/dev/gpio/gpioled.c @@ -55,13 +55,13 @@ device_get_nameunit((_sc)->sc_dev), "gpioled", MTX_DEF) #define GPIOLED_LOCK_DESTROY(_sc) mtx_destroy(&(_sc)->sc_mtx) -struct gpioled_softc +struct gpioled_softc { device_t sc_dev; device_t sc_busdev; struct mtx sc_mtx; struct cdev *sc_leddev; - int sc_invert; + int sc_softinvert; }; static void gpioled_control(void *, int); @@ -69,20 +69,19 @@ static int gpioled_probe(device_t); static int gpioled_attach(device_t); static int gpioled_detach(device_t); -static void +static void gpioled_control(void *priv, int onoff) { struct gpioled_softc *sc; sc = (struct gpioled_softc *)priv; + if (onoff == -1) /* Keep the current state. */ + return; + if (sc->sc_softinvert) + onoff = !onoff; GPIOLED_LOCK(sc); - if (GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, GPIOLED_PIN, - GPIO_PIN_OUTPUT) == 0) { - if (sc->sc_invert) - onoff = !onoff; - GPIOBUS_PIN_SET(sc->sc_busdev, sc->sc_dev, GPIOLED_PIN, - onoff ? GPIO_PIN_HIGH : GPIO_PIN_LOW); - } + GPIOBUS_PIN_SET(sc->sc_busdev, sc->sc_dev, GPIOLED_PIN, + onoff ? GPIO_PIN_HIGH : GPIO_PIN_LOW); GPIOLED_UNLOCK(sc); } @@ -94,27 +93,102 @@ gpioled_probe(device_t dev) return (BUS_PROBE_DEFAULT); } +static int +gpioled_inv(device_t dev, uint32_t *pin_flags) +{ + struct gpioled_softc *sc; + int invert; + uint32_t pin_caps; + + sc = device_get_softc(dev); + + if (resource_int_value(device_get_name(dev), + device_get_unit(dev), "invert", &invert)) + invert = 0; + + if (GPIOBUS_PIN_GETCAPS(sc->sc_busdev, sc->sc_dev, GPIOLED_PIN, + &pin_caps) != 0) { + if (bootverbose) + device_printf(sc->sc_dev, "unable to get pin caps\n"); + return (-1); + } + if (pin_caps & GPIO_PIN_INVOUT) + *pin_flags &= ~GPIO_PIN_INVOUT; + sc->sc_softinvert = 0; + if (invert) { + const char *invmode; + + if (resource_string_value(device_get_name(dev), + device_get_unit(dev), "invmode", &invmode)) + invmode = NULL; + + if (invmode) { + if (!strcmp(invmode, "sw")) + sc->sc_softinvert = 1; + else if (!strcmp(invmode, "hw")) { + if (pin_caps & GPIO_PIN_INVOUT) + *pin_flags |= GPIO_PIN_INVOUT; + else { + device_printf(sc->sc_dev, "hardware pin inversion not supported\n"); + return (-1); + } + } else { + if (strcmp(invmode, "auto") != 0) + device_printf(sc->sc_dev, "invalid pin inversion mode\n"); + invmode = NULL; + } + } + /* + * auto inversion mode: use hardware support if available, else fallback to + * software emulation. + */ + if (invmode == NULL) { + if (pin_caps & GPIO_PIN_INVOUT) + *pin_flags |= GPIO_PIN_INVOUT; + else + sc->sc_softinvert = 1; + } + } + MPASS(!invert || + (((*pin_flags & GPIO_PIN_INVOUT) != 0) && !sc->sc_softinvert) || + (((*pin_flags & GPIO_PIN_INVOUT) == 0) && sc->sc_softinvert)); + return (invert); +} + static int gpioled_attach(device_t dev) { struct gpioled_softc *sc; int state; const char *name; + uint32_t pin_flags; + int invert; sc = device_get_softc(dev); sc->sc_dev = dev; sc->sc_busdev = device_get_parent(dev); GPIOLED_LOCK_INIT(sc); - state = 0; - - if (resource_string_value(device_get_name(dev), + if (resource_string_value(device_get_name(dev), device_get_unit(dev), "name", &name)) name = NULL; - resource_int_value(device_get_name(dev), - device_get_unit(dev), "invert", &sc->sc_invert); - resource_int_value(device_get_name(dev), - device_get_unit(dev), "state", &state); + + if (resource_int_value(device_get_name(dev), + device_get_unit(dev), "state", &state)) + state = 0; + + pin_flags = GPIO_PIN_OUTPUT; + invert = gpioled_inv(dev, &pin_flags); + if (invert < 0) + return (ENXIO); + device_printf(sc->sc_dev, "state %d invert %s\n", + state, (invert ? (sc->sc_softinvert ? "sw" : "hw") : "no")); + if (GPIOBUS_PIN_SETFLAGS(sc->sc_busdev, sc->sc_dev, GPIOLED_PIN, + pin_flags) != 0) { + if (bootverbose) + device_printf(sc->sc_dev, "unable to set pin flags, %#x\n", pin_flags); + return (ENXIO); + } sc->sc_leddev = led_create_state(gpioled_control, sc, name ? name : device_get_nameunit(dev), state); From nobody Fri Sep 5 18:42:38 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJQFV57B9z66DY1; Fri, 05 Sep 2025 18:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJQFV3548z4PHy; Fri, 05 Sep 2025 18:42:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097758; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kz3kXimxIYTHgPD0aVimkf0OUEpAfaSmZx3uHUzMSDY=; b=rNFWeQGw3peF4mFSR4X9A9X+yCiSP2vnmDgYzUG2qzEICLnqpzA1voCdm2KWG5UpFOJ31m /n/rnSCt2xLfZSIAQXeaixNOiKAyEZ6f2Nh0CQ2gKFXW16UjklJ5gn6WkbUoRuOYC4AVXi qk+vfGYDNO9cs9tJPhVTjdS99qI4ur09E73FgxYeXQNRNY0T8k5meDIT1Jah++BcukNj+3 ZXjXKQFmmFaaYbnnBlZEjIE+dakgARfv/r73Iw1RUpjwHirL8LQThbQbCNXwE42qI2KL3u TQ2AjQmEfGhxFUnm7mgSii54b8k/LXhKfkpItDQ+weuM222eCPzaQn2t62NkLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757097758; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Kz3kXimxIYTHgPD0aVimkf0OUEpAfaSmZx3uHUzMSDY=; b=uWjqc0E5JjF6DusOHRb+WOjqjdL9RDvRydRaqAcKxILIHKdJb3o3oDB9qjq2iq7RJMaOpw 4aZcdGupSXEEe1RgQrKyYoUHy9t9SHzHVQBIFtqy/+OA6zlVZQWbS8+cMhV/4wFalhPV2B nulajG7WyoTOdDe3HV0TcfdRPDRbEMjedD6Afv9CRv1PU8es1PigjTWBfim9d3Rh9l7p1M UZAS121s+LB8xRsUplgQvBr/zWb6T9nkvwh/hGOQ1n+Y9c/JipuKh6boKgeQjnbpoyqet3 nXyQY+pBGy+1+Gp31TgitPbfZOf5+CONZ+UG5Zu6XD5mTQ3nwcWlLKO+R8gK+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757097758; a=rsa-sha256; cv=none; b=RnGKFC4o3y8y6m5TVB/rgU+0wB0g55RBYe6cefQ9J0KpFPk83N/x65YOb6vcqQZVxOvTjD HgkX8IlCajF0HyyZIHqzUGq+VZt6YdUwHiUmVrDnPgip1KRxeqJd9CGP+J3UNnbKwdvW4V +6T6mRAW/rTKd7rUBZLgRynrWhJkvBR82aZE4rBPB6NgkGh2usSSYejQilA+LHJwkp2ais c3X5CDRhomNYA/CKuzzpnXot/xAX830yCLMcdtZZTaXhzULiVg/g4gp9vpm3Ldu93Oq4ep HGjsETmL3zWoI8/uXTXcBoiPh7dmPc+hbZ310POfebYGBu1or6w/c2HKU0W3PA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJQFV2TSwz11BJ; Fri, 05 Sep 2025 18:42: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 585IgcXH096861; Fri, 5 Sep 2025 18:42:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585Igc0E096857; Fri, 5 Sep 2025 18:42:38 GMT (envelope-from git) Date: Fri, 5 Sep 2025 18:42:38 GMT Message-Id: <202509051842.585Igc0E096857@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: 6a5c193a1aed - main - gpioled: document the invmode hint in gpioled(4) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6a5c193a1aed731c67e65bb17256c086fc5abe65 Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6a5c193a1aed731c67e65bb17256c086fc5abe65 commit 6a5c193a1aed731c67e65bb17256c086fc5abe65 Author: Stéphane Rochoy AuthorDate: 2025-08-12 09:29:05 +0000 Commit: Warner Losh CommitDate: 2025-09-05 18:42:23 +0000 gpioled: document the invmode hint in gpioled(4) Signed-off-by: Stéphane Rochoy Sponsored-by: Stormshield Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1805 --- share/man/man4/gpioled.4 | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/share/man/man4/gpioled.4 b/share/man/man4/gpioled.4 index 646e2ff2a8f0..45457d20d298 100644 --- a/share/man/man4/gpioled.4 +++ b/share/man/man4/gpioled.4 @@ -70,7 +70,20 @@ Which pin on the GPIO interface to map to this instance. Please note that this mask should only ever have one bit set (any other bits - i.e., pins - will be ignored). .It Va hint.gpioled.%d.invert -If set to 1, the pin will be set to 0 to light the LED, and 1 to clear it. +Use pin inversion. If set to 1, the pin will be set to 0 to light the LED, and 1 +to clear it. +.It Va hint.gpioled.%d.invmode +Whether or not to use hardware support when pin inversion is requested. Must be +one of: +.Bl -tag +.It Va auto +Use hardware pin inversion if available, else fallback to software pin +inversion. This is the default. +.It Va hw +Use hardware pin inversion. +.It Va sw +Use software pin inversion. +.El .It Va hint.gpioled.%d.state The initial state of the LED when the driver takes control over it. If set to 1 or 0, the LED will be on or off correspondingly. From nobody Fri Sep 5 19:37:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJRSP4vMcz66J05; Fri, 05 Sep 2025 19:37:09 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJRSP3sYqz3T3W; Fri, 05 Sep 2025 19:37:09 +0000 (UTC) (envelope-from jhb@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757101029; h=from:from:reply-to:subject: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=wMj49MHqraz04hN/JC08vHqMaqBooAWTcj0+hvoy1y8=; b=RLa/YX32dacs74oXIZAbyEuF6/rGgnJJJ6jqP3lSmDVrXF9ZiQ9m42lJ5/+0X6bnFcCnoZ Reao92Cse3+55b7hsXU/TXfmJqpHGVQyg5juZqdnivhJDC5CSLBpwxVK64GfK9wCYwdI31 ai5B3wkxhAYTZvneqPU4/48MN/YVc+qDfFVU8+S1DSrTVvAqyJztsM+y3w8UaOxTTBPBG9 8oPytXkjmJf63YeRq6YSyYGsPc0+JbJYa+oJbBbVC8fvl8fQ5+dHxjC2vJrEMuD66VGOPJ Zk61VEsH+VmuiJ+7TZDWrPUPTWc09ZonlEJYNEZ5TcMiOc9DLNnipVgndkabhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757101029; h=from:from:reply-to:subject: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=wMj49MHqraz04hN/JC08vHqMaqBooAWTcj0+hvoy1y8=; b=a2nJVlLzFMw+1fL3ryUxjgneosqLBtwIpc2xYXmXlbMMUClkc40ECJEvSoJRvh6G6xf2vH D63hH54gdzLlR2+/i2QQWNmHNS/6BpLuqVUOZn7ZAZHndl86+C676MDgSwHLi+Ils/6Lmq 2Upebyv/T2xeGREEBgv6ZHKdtTKmwr6O12GWH68WKFru8BfNlY3OnxvSs3XwWlbqAZQkPv 3tHcw4fT47N0Np9XdrhUQ4okA9cJRtFrg8yOFDozopE0M7Fefi6ErKeCw0uUXbST8ZccW/ USnk2c1Sqgeq3SeBjv3fph31Rtqk6KLnilSl5hvmR9eSOKGqcyqUuVbH8XrSbQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757101029; a=rsa-sha256; cv=none; b=C4cM96+TSmKQxHg+ORsomEDf2C2B6Bd17mRGNHEEWmW3xTTnU7X37TzM19IhnbTNNSBdEH PY+0tlZ3NEHU4an5H2ky1N5hS4zbwG1Hpf49B45HAdojTg1Ji5QI0B9lYot80TrJFm6yKp 8fXRbWVW0ynw2INe2jrtgx4qGdmATMv8onkDb8vhIihRbe28vOaULJib2NYd1nXwAlZMne niMPsJzMniXy0dBPoM2drUGUvIKoU43aqndXJpEqRbG4HxPnLSkoGEAxeqiZgMvt5+swG2 Oqs0o3t9+5SqzIG4evh+6KkK3Rci8TPN0pACjeESJxpsk43t3kMZ++y2UwHfdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2601:5c0:4202:5670:1df4:287d:7dcd:6a55] (unknown [IPv6:2601:5c0:4202:5670:1df4:287d:7dcd:6a55]) (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 4cJRSP1m0Yz16sP; Fri, 05 Sep 2025 19:37:09 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Message-ID: Date: Fri, 5 Sep 2025 15:37:07 -0400 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: a930cc8bad64 - main - GEOM_UNION: Should free sc in g_union_ctl_create when error happened. Content-Language: en-US To: Warner Losh , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202509051842.585IgHAr096237@gitrepo.freebsd.org> From: John Baldwin In-Reply-To: <202509051842.585IgHAr096237@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 9/5/25 14:42, Warner Losh wrote: > The branch main has been updated by imp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=a930cc8bad644039cfcfa5ff7c6fe3e8548aa9ae > > commit a930cc8bad644039cfcfa5ff7c6fe3e8548aa9ae > Author: Wuyang Chung > AuthorDate: 2025-09-02 06:23:26 +0000 > Commit: Warner Losh > CommitDate: 2025-09-05 18:42:20 +0000 > > GEOM_UNION: Should free sc in g_union_ctl_create when error happened. > > Signed-off-by: Wuyang Chung > Reviewed by: imp > Pull Request: https://github.com/freebsd/freebsd-src/pull/1835 > --- > sys/geom/union/g_union.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/sys/geom/union/g_union.c b/sys/geom/union/g_union.c > index 9734fc1bcfe3..0701e76db671 100644 > --- a/sys/geom/union/g_union.c > +++ b/sys/geom/union/g_union.c > @@ -358,6 +358,7 @@ fail2: > fail1: > g_destroy_consumer(lowercp); > g_destroy_provider(newpp); > + g_free(sc); > g_destroy_geom(gp); > } Hmm, as markj@ noted in the review, this also needs an `rw_destroy`. -- John Baldwin From nobody Fri Sep 5 19:40:34 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJRXl2dyFz66JXg for ; Fri, 05 Sep 2025 19:40:55 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 4cJRXl29bjz3Th2 for ; Fri, 05 Sep 2025 19:40:50 +0000 (UTC) (envelope-from jrtc27@jrtc27.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-45dd505a1dfso12205425e9.2 for ; Fri, 05 Sep 2025 12:40:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757101248; x=1757706048; 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=CZCqCO4nheer7q+nzZX8tyW3Cd4OZM+4b9nMWeMIfK4=; b=ESVmd6ML42I1lc8+0eAUbKMcsZXlELd3jJC+Nu1NumY652pYO4Z7EoAHgOnvRgi1Of Lv93W/5JBVQ72hVwx1mWnrDLluBhnS8CgWWQZ77qrUNl6SauFpi9Weiu1uexgdIhYqow u0ldunzwaRBbW8STslwa2ypqf46lJ40BYMlVff9lEeLZey6vx64aQ7INQjB/iqofihp5 6YnNnmKCzb2q/cEvzpbDAxF1LZH5UUxmh5IaXmgxawkGsY9GYJGrbf9QXdRHxZZJUcEA 8e4HGSSDQvjKoCVohsab8tnpK9Fjc6d20wUFLGrO+Ey6Dx8LHDzTOVZqfDmdO31ukV3D hbsw== X-Forwarded-Encrypted: i=1; AJvYcCVz5cWgn73Dajga3i6aUW85Pt0mC39qoH93EMOFETwBeOUHuEFfXwneJSuBNY4vtrBGKoM/m7Kfy4RipVJie+Wqslg0aA==@freebsd.org X-Gm-Message-State: AOJu0YzdGW4IlHryLaydPxU3dwLk0cbAvhshyjt9j51vQx3y0CyA757Y sW44MbBydmHKcLTS9mnRNyP63lCkosWvMBWmsnn2rgp/XxsUdpvHgp90KCjoqsekvzA= X-Gm-Gg: ASbGncsQDooKfsh7LXpWb6JlSoCvD757nUqizVIlvJeiT4IxbxcPYoyU7ZXTWsASc5S 7PFTl5Y0iN6jAk88dfs5V0mP7FUmnEdlbtt8YNsELwMWnMTYrNlx9r3kjPJZyoQE3nw9LeV2qGL k2+okw27E+4FH6yKfWSbD1qNlnJKoOi2E0cF/b80/udLnAEd1AKBitj4QDVOGYkjWQGsxjnXpDS I8v8OPEbq8dypK9hhUoX8QK1aug0Dpp4zyMMUXeWBwplbEZLuRBPpG5aXlALfKBqtazrKzEJj0e 2vIRO+dQorT4w0ROcHCjtY4B0V5zpqD4rjLq1DXY/JZk7pO8v0pzqodE6c5kcJn6s6lLA/7cAq1 vVUz4rBgktL7hApPBAjp1ClIr48IBM3BQ9koU051PXbQ+ZXrs/v88rwtkeFonj7+dzll6Jg== X-Google-Smtp-Source: AGHT+IG1Bly/SNKnW1yvYx6daivlP8EIxf8oEE+BDJ59yE5HZHYgdXaZ4jQgrxpm0aRnfe39ac6qzg== X-Received: by 2002:a05:600c:4f0c:b0:45b:8067:d8ac with SMTP id 5b1f17b1804b1-45ddde94249mr517905e9.13.1757101248387; Fri, 05 Sep 2025 12:40:48 -0700 (PDT) Received: from smtpclient.apple (nat-184-7.net.cam.ac.uk. [131.111.184.7]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45ddbc70fffsm10990385e9.3.2025.09.05.12.40.47 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 05 Sep 2025 12:40:47 -0700 (PDT) Content-Type: text/plain; charset=us-ascii List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81\)) Subject: Re: git: 3ed0cdf7de79 - main - Update vmimage.subr From: Jessica Clarke In-Reply-To: <202509051842.585IgIXp096270@gitrepo.freebsd.org> Date: Fri, 5 Sep 2025 20:40:34 +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: <202509051842.585IgIXp096270@gitrepo.freebsd.org> To: Warner Losh X-Mailer: Apple Mail (2.3826.700.81) X-Spamd-Bar: ---- 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-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cJRXl29bjz3Th2 On 5 Sep 2025, at 19:42, Warner Losh wrote: >=20 > The branch main has been updated by imp: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D3ed0cdf7de79fc0f50f57e75cdb9ae17= 8ab0e74c >=20 > commit 3ed0cdf7de79fc0f50f57e75cdb9ae178ab0e74c > Author: Unicorn9x > AuthorDate: 2025-09-01 11:30:48 +0000 > Commit: Warner Losh > CommitDate: 2025-09-05 18:42:21 +0000 >=20 > Update vmimage.subr >=20 > This "noatime" tweak, reduced the OPNsense constant 50kb - 80kb = disk writes that wear down the SSD / NVME. >=20 > Signed-off-by: Unicorn9x > Reviewed by: imp > Pull Request: https://github.com/freebsd/freebsd-src/pull/1834 > --- > release/tools/vmimage.subr | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr > index 156987e33457..20ffe3b2dac7 100644 > --- a/release/tools/vmimage.subr > +++ b/release/tools/vmimage.subr > @@ -82,7 +82,7 @@ vm_install_base() { > echo '# Custom /etc/fstab for FreeBSD VM images' \ > > ${DESTDIR}/etc/fstab > if [ "${VMFS}" !=3D zfs ]; then > - echo "/dev/${ROOTLABEL}/rootfs / ${VMFS} rw 1 = 1" \ > + echo "/dev/${ROOTLABEL}/rootfs / ${VMFS} rw,noatime 1 = 1" \ Do we really want to be disabling atime for every UFS VM image we produce? With ZFS we can do that because /var/mail is separate, but AFAIK there is no separate /var/mail in the UFS images? Jessica > >> ${DESTDIR}/etc/fstab > fi > if [ -z "${NOSWAP}" ]; then From nobody Fri Sep 5 19:54:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJRs03GQSz66KZS; Fri, 05 Sep 2025 19:55: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJRs01lMyz3WtV; Fri, 05 Sep 2025 19:55:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757102100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rOtBhIPNBSJAaQvwFATnVfJPFykbMraHYEtFEMae6+E=; b=Uz0sJqtLFxDvG++nubNo8utQlLCTg1t9nE42ZoJnECL+xsOjNcE/PY99ta1RptEiTw4/+T OOXasxDy/7s5bvfGGaQmvcbnzjen2nF+Uf/OVBHni5KC8MinEAe2YFpKEpwDtCDfhXtRY/ TNsD/3KW/meeCpFDOBdM3FGHhm5/RjyansgUFYqg6B7E3DLs6ofwkjoQ2BqpGbaYqlDqRn b5kxU/1qr0ZHlEf0rLEj2iKHL4+X1u1i4LzRMCIrBS6lseoF0UYUSpL4IipTx2ZQwzCZFN Fk6N8Qp4vgVqFWAlPHWJyKTNy7l5DflUscBkqgNu7xfag49ETnmAragdQwYhcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757102100; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rOtBhIPNBSJAaQvwFATnVfJPFykbMraHYEtFEMae6+E=; b=bY+hXYmGbTkpApTHHM45XxIG877KDIR8UK4Q3DuhkYF971SfYTX9WJ3J2rQ6sFE+fBqTnn Cf7NLPwMq9G8GQcwX2qD2A8zVMCz6ur1Z2TXMHHt4hCgbBQPLFXUG55iDmW+2ZR7zStxth /Ar5O0ZG/hD+naIAh+Ix+QzR2r2cTYJQXCYHQRhzb/7aWOE/nxFKAwbxWUJPGCPyr/SrEY GcFYAH1siuaPYRte9SziIFq0DGTJMcYZL2SQXa9V4CVfq6kS+ka9G1xpVh6lLrYRyBAfM2 URSvZ34kmOobLW+wNwAMCff3fcTelFlxdhHm7L2DQjgMtdUWeK4svwVGmjY9iQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757102100; a=rsa-sha256; cv=none; b=l4JJTyW7t9PpugT0wajJYnkuMEgyW973cW9G8KNsEXUcbZMlFeilJj9ITe7rAqBD4mBRy2 YJ8kTUH1OMtufVhqNdUQgbBBlx0aNTohqwiC3YmtHtDzbCaTV32Me8VQl74x12hruLayEt 9pVv9yxDUWcsc05NPr3aMi2AfUXqbjBdmHBuiK2jfzIErhp/8wYsd1X4kCkII1Gw7bdTs+ j8tnVpoIaffTxGZP9rENp5PQ0yo+1JvxPC6cUJXRHhE/rRsQ68DBXStojji65lzo278TUo rdkXFQTRSRe/ictkK8Af1eu9uHfncZuf9hJQPrQ2TMlzNIPHkh6TJkx/TJc6Fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJRs00Rwwz12ys; Fri, 05 Sep 2025 19:55: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 585JsxPS031694; Fri, 5 Sep 2025 19:54:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585JsxwK031691; Fri, 5 Sep 2025 19:54:59 GMT (envelope-from git) Date: Fri, 5 Sep 2025 19:54:59 GMT Message-Id: <202509051954.585JsxwK031691@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: c23eda976a8a - main - pf: fix possible pd->pcksum NULL deref List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: c23eda976a8aad6bbd6c2042fa2ba1f0bc640e19 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c23eda976a8aad6bbd6c2042fa2ba1f0bc640e19 commit c23eda976a8aad6bbd6c2042fa2ba1f0bc640e19 Author: Kristof Provost AuthorDate: 2025-09-02 13:14:49 +0000 Commit: Kristof Provost CommitDate: 2025-09-05 19:54:12 +0000 pf: fix possible pd->pcksum NULL deref Ensure that we always populate pcksum, not just for TCP/UDP/SCTP/ICMP. We may end up using it (through pf_change_ap()) if we're doing NAT, so ensure it's available even if it's sometimes just a dummy variable. Reported-by: syzbot+3e73a7cba8cb6cd46f90@syzkaller.appspotmail.com MFC after: 1 week Sponsored by: Rubicon Communications, LLC ("Netgate") --- sys/netpfil/pf/pf.c | 14 ++++++++ tests/sys/netpfil/pf/Makefile | 1 + tests/sys/netpfil/pf/nat44.py | 76 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 242152f17db0..3a047ea44c47 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -8854,6 +8854,11 @@ pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd, default: { int action; + /* + * Placeholder value, so future calls to pf_change_ap() + * don't try to update a NULL checksum pointer. + */ + pd->pcksum = &pd->sctp_dummy_sum; key.af = pd2.af; key.proto = pd2.proto; pf_addrcpy(&key.addr[pd2.sidx], pd2.src, key.af); @@ -10614,6 +10619,13 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, break; } #endif /* INET6 */ + default: + /* + * Placeholder value, so future calls to pf_change_ap() don't + * try to update a NULL checksum pointer. + */ + pd->pcksum = &pd->sctp_dummy_sum; + break; } if (pd->sport) @@ -10621,6 +10633,8 @@ pf_setup_pdesc(sa_family_t af, int dir, struct pf_pdesc *pd, struct mbuf **m0, if (pd->dport) pd->odport = pd->ndport = *pd->dport; + MPASS(pd->pcksum != NULL); + return (0); } diff --git a/tests/sys/netpfil/pf/Makefile b/tests/sys/netpfil/pf/Makefile index 616ffe560b3a..9f993eec61d0 100644 --- a/tests/sys/netpfil/pf/Makefile +++ b/tests/sys/netpfil/pf/Makefile @@ -61,6 +61,7 @@ ATF_TESTS_PYTEST+= header.py ATF_TESTS_PYTEST+= icmp.py ATF_TESTS_PYTEST+= igmp.py ATF_TESTS_PYTEST+= mld.py +ATF_TESTS_PYTEST+= nat44.py ATF_TESTS_PYTEST+= nat64.py ATF_TESTS_PYTEST+= nat66.py ATF_TESTS_PYTEST+= return.py diff --git a/tests/sys/netpfil/pf/nat44.py b/tests/sys/netpfil/pf/nat44.py new file mode 100644 index 000000000000..d69e794a62c3 --- /dev/null +++ b/tests/sys/netpfil/pf/nat44.py @@ -0,0 +1,76 @@ +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2025 Rubicon Communications, LLC (Netgate) +# +# 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. + +import pytest +from atf_python.sys.net.tools import ToolsHelper +from atf_python.sys.net.vnet import VnetTestTemplate + +class TestNAT44(VnetTestTemplate): + REQUIRED_MODULES = [ "pf" ] + TOPOLOGY = { + "vnet1": {"ifaces": ["if1"]}, + "vnet2": {"ifaces": ["if1", "if2"]}, + "vnet3": {"ifaces": ["if2"]}, + "if1": {"prefixes4": [("192.0.2.2/24", "192.0.2.1/24")]}, + "if2": {"prefixes4": [("198.51.100.1/24", "198.51.100.2")]}, + } + + def vnet2_handler(self, vnet): + outifname = vnet.iface_alias_map["if2"].name + ToolsHelper.print_output("/sbin/sysctl net.inet.ip.forwarding=1") + + ToolsHelper.print_output("/sbin/pfctl -e") + ToolsHelper.print_output("/sbin/pfctl -x loud") + ToolsHelper.pf_rules([ + "set reassemble yes", + "nat on {} inet from 192.0.2.0/24 -> ({})".format(outifname, outifname), + "pass"]) + + def vnet3_handler(self, vnet): + pass + + @pytest.mark.require_user("root") + @pytest.mark.require_progs(["scapy"]) + def test_nat_igmp(self): + "Verify that NAT translation of !(TCP|UDP|SCTP|ICMP) doesn't panic" + ToolsHelper.print_output("/sbin/route add default 192.0.2.1") + ToolsHelper.print_output("ping -c 3 198.51.100.2") + + # Import in the correct vnet, so at to not confuse Scapy + import scapy.all as sp + import scapy.contrib as sc + import scapy.contrib.igmp + + pkt = sp.IP(dst="198.51.100.2", ttl=64) \ + / sc.igmp.IGMP(type=0x11, mrcode=1) + sp.send(pkt) + + # This time we'll hit an existing state + pkt = sp.IP(dst="198.51.100.2", ttl=64) \ + / sc.igmp.IGMP(type=0x11, mrcode=1) + reply = sp.sr1(pkt, timeout=3) + if reply: + reply.show() From nobody Fri Sep 5 20:43:36 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJSxQ6bBYz66NJf for ; Fri, 05 Sep 2025 20:43:54 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) (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 4cJSxQ40vCz3c1x for ; Fri, 05 Sep 2025 20:43:54 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pj1-x102e.google.com with SMTP id 98e67ed59e1d1-323267b98a4so2379305a91.1 for ; Fri, 05 Sep 2025 13:43:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1757105028; x=1757709828; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ZOBm/kXH0KWypAUGmiGn2vB1tpcQXtCkjo6jFIxe7Mk=; b=f4hMiMaP4ByIdW2h+Sp5pYpt/H19/mI6Ww9rqT1ipCeYEAXlB9nYkGOVl+wPaaIxzs 1/iG7vXcudTtswKdUiUBjj2bSRA3l1prFOag8xZXdwEWV51/HcRZXMolARXV4z4e/K2N 73fTrmNgyvQxYi94xNe6fYWS1qhoLlYWpdb6oxojJqezYpiDlPZaPhzIQeil0oOwLKeE 7u+HKqNOrLJqtI1cSJ2p3eDRM7oEyOSo4kMihWDC9uhjqV79khV7p+Xk8j+qoMSjpSjA Dv3QnuoDnfZnHdwIii8PZdl/oFC/yuDMSTyuY5HjIVgY/q5ZU3L/YFrF3kiqAY+eapYJ 0PnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757105028; x=1757709828; 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=ZOBm/kXH0KWypAUGmiGn2vB1tpcQXtCkjo6jFIxe7Mk=; b=viZq6mNDXuwA2zLz86xjk7DLgvb7+H9F2ztnhuHOaP25JZiZgIG9e/GeHN3gxubcvH 04lz4n9u42K+InnMNQAhm4Z1BXzQyfzwHekb2qlPMQ9yjMOJwtXlObJAEIAzsIRbBV82 fa1amDl6gJaANHmPvfW/sNYjpKRFRbwEWrWI/ptNBMrjLqkgxePDGHm4DsfGNjJlBbm3 25Oae/JP5VzIv9xRDdbCXmTGkWiyYrT01/LZnPFe5wsXqCj2lgPKRKV2n9ZwUDG+Ag7W GWo4ydPJ1AbeoTdSciR8mjy9PfkEmB8YrHYzBvFIu1cmkj0QtAwJimfG/JX5nguNJ04W 8gJQ== X-Forwarded-Encrypted: i=1; AJvYcCX6k2mF9C4PEtkDYUQip2CFk7ydW8K+H6hMYCAhSBS/P/rKHw8YTJD0Z4VuBwU6ZShp+tXOrwKk0Q/9mhHaiPulNRXdjw==@freebsd.org X-Gm-Message-State: AOJu0YznPf4o2HmdJLEjWXBjDAsIZNn/pj3RvafR9hIVvDlrm296dFRK 8rZaf2kLcYzTLmOKpjUPNgSeUHWEbFyhT5tI+E1BzLzM1amjFM7CEKdiegwQz//2CTkIFZd+mLm b1XTqviYi+A1MTkOBcZjKT1pzooyLVWErbPlf+JaWPg== X-Gm-Gg: ASbGnctx7+CXDxPdx1/ZTAdVfASsT+b9i+QMZrKcBLjBAX5a9yNAJEpSvugvvjATnYu /qeaGhJYtskAatvzewpnXLvB14/41FycSQoBAoK5tFPvvoIRJhMXd+bqb+69cKKDhnvFV042ILP 0CEZS7mX2d1527qg2sjWwk5Ev8BBTv74C07CtN9zVMt9CZOMig5ZSCFa/t0lkr0eK00EcMvpMDH XPu6tbEKvwirj9rKmWyDSCI+ra9qJMqR9HKp9rIog3boDTacIOaPSkBytU/xeJCiShDq+yw X-Google-Smtp-Source: AGHT+IFQ/JLhAiMZsW7YL4QFuNsisKkk2uPIv+3/3ETLEj+EN1lLb9eKI4X/UlsIMHSVyHIesBCmdwtb4DjFgeeFYy4= X-Received: by 2002:a17:90b:33cf:b0:32b:9774:d33d with SMTP id 98e67ed59e1d1-32d43f6658cmr238200a91.20.1757105028160; Fri, 05 Sep 2025 13:43:48 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202509051842.585IgIXp096270@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Fri, 5 Sep 2025 14:43:36 -0600 X-Gm-Features: Ac12FXyvNd2YftT-4UnO58qjfCAt6wQSaj7LepK2SxFudRecbKByYbHZ-QWOrIg Message-ID: Subject: Re: git: 3ed0cdf7de79 - main - Update vmimage.subr To: Jessica Clarke Cc: Warner Losh , src-committers , "" , "" Content-Type: multipart/alternative; boundary="000000000000099eef063e13e57b" X-Spamd-Bar: ---- 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-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cJSxQ40vCz3c1x --000000000000099eef063e13e57b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Sep 5, 2025, 1:40=E2=80=AFPM Jessica Clarke wr= ote: > On 5 Sep 2025, at 19:42, Warner Losh wrote: > > > > The branch main has been updated by imp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D3ed0cdf7de79fc0f50f57e75cdb9ae1= 78ab0e74c > > > > commit 3ed0cdf7de79fc0f50f57e75cdb9ae178ab0e74c > > Author: Unicorn9x > > AuthorDate: 2025-09-01 11:30:48 +0000 > > Commit: Warner Losh > > CommitDate: 2025-09-05 18:42:21 +0000 > > > > Update vmimage.subr > > > > This "noatime" tweak, reduced the OPNsense constant 50kb - 80kb disk > writes that wear down the SSD / NVME. > > > > Signed-off-by: Unicorn9x > > Reviewed by: imp > > Pull Request: https://github.com/freebsd/freebsd-src/pull/1834 > > --- > > release/tools/vmimage.subr | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr > > index 156987e33457..20ffe3b2dac7 100644 > > --- a/release/tools/vmimage.subr > > +++ b/release/tools/vmimage.subr > > @@ -82,7 +82,7 @@ vm_install_base() { > > echo '# Custom /etc/fstab for FreeBSD VM images' \ > > > ${DESTDIR}/etc/fstab > > if [ "${VMFS}" !=3D zfs ]; then > > - echo "/dev/${ROOTLABEL}/rootfs / ${VMFS} rw 1 1"= \ > > + echo "/dev/${ROOTLABEL}/rootfs / ${VMFS} rw,noatime 1 > 1" \ > > Do we really want to be disabling atime for every UFS VM image we > produce? With ZFS we can do that because /var/mail is separate, but > AFAIK there is no separate /var/mail in the UFS images? > I think we do. /var/mail is used by a relatively small group of users. People that need the mail reader features of /var/mail can enable atime. It's the lesser evil. Warner Jessica > > > >> ${DESTDIR}/etc/fstab > > fi > > if [ -z "${NOSWAP}" ]; then > > --000000000000099eef063e13e57b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Fri, Sep 5, 2025, 1:40=E2=80= =AFPM Jessica Clarke <jrtc27@freeb= sd.org> wrote:
On 5 Sep 2025= , at 19:42, Warner Losh <imp@freebsd.org> wrote:
>
> The branch main has been updated by imp:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=3D3ed0cdf7de79fc0f50f57e75cdb9ae= 178ab0e74c
>
> commit 3ed0cdf7de79fc0f50f57e75cdb9ae178ab0e74c
> Author:=C2=A0 =C2=A0 =C2=A0Unicorn9x <unicorn9x@yahoo.com.vn>
> AuthorDate: 2025-09-01 11:30:48 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Warner Losh <imp@FreeBSD.org>
> CommitDate: 2025-09-05 18:42:21 +0000
>
>=C2=A0 =C2=A0 Update vmimage.subr
>
>=C2=A0 =C2=A0 This "noatime" tweak, reduced the OPNsense cons= tant 50kb - 80kb disk writes that wear down the SSD / NVME.
>
>=C2=A0 =C2=A0 Signed-off-by: Unicorn9x
>=C2=A0 =C2=A0 Reviewed by: imp
>=C2=A0 =C2=A0 Pull Request:
https://g= ithub.com/freebsd/freebsd-src/pull/1834
> ---
> release/tools/vmimage.subr | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr > index 156987e33457..20ffe3b2dac7 100644
> --- a/release/tools/vmimage.subr
> +++ b/release/tools/vmimage.subr
> @@ -82,7 +82,7 @@ vm_install_base() {
> echo '# Custom /etc/fstab for FreeBSD VM images' \
> > ${DESTDIR}/etc/fstab
> if [ "${VMFS}" !=3D zfs ]; then
> - echo "/dev/${ROOTLABEL}/rootfs=C2=A0 =C2=A0/=C2=A0 =C2=A0 =C2= =A0 =C2=A0${VMFS}=C2=A0 =C2=A0rw=C2=A0 =C2=A0 =C2=A0 1=C2=A0 =C2=A0 =C2=A0 = =C2=A01" \
> + echo "/dev/${ROOTLABEL}/rootfs=C2=A0 =C2=A0/=C2=A0 =C2=A0 =C2= =A0 =C2=A0${VMFS}=C2=A0 =C2=A0rw,noatime=C2=A0 =C2=A0 =C2=A0 1=C2=A0 =C2=A0= =C2=A0 =C2=A01" \

Do we really want to be disabling atime for every UFS VM image we
produce? With ZFS we can do that because /var/mail is separate, but
AFAIK there is no separate /var/mail in the UFS images?

I think we do. /var/= mail is used by a relatively small group of users. People that need the mai= l reader features of /var/mail can enable atime. It's the lesser evil.<= /div>

Warner

Jessica

> >> ${DESTDIR}/etc/fstab
> fi
> if [ -z "${NOSWAP}" ]; then

--000000000000099eef063e13e57b-- From nobody Fri Sep 5 21:09:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJTVv17nfz66Ptx; Fri, 05 Sep 2025 21:09:27 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E6" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJTVs4NZGz3dSl; Fri, 05 Sep 2025 21:09:25 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=zabbadoz.net header.s=20240622 header.b=LPE98h4D; dmarc=pass (policy=none) header.from=zabbadoz.net; spf=pass (mx1.freebsd.org: domain of bzeeb-lists@lists.zabbadoz.net designates 2003:a:140a:2200:6:594:fffe:19 as permitted sender) smtp.mailfrom=bzeeb-lists@lists.zabbadoz.net Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id 0945AA64806; Fri, 05 Sep 2025 21:09:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zabbadoz.net; s=20240622; t=1757106545; bh=pOb0S8r4WCWR9aHwWE3nsQGjf+/NyeEF9DFjRHoJ9lc=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=LPE98h4D/lfNTU/7MZRafO1p4A0Stny6CTabxKuA01RWOJpm+Nt9c2OFaWzjEW+j8 trZJEbjCRX8zalxb0EEWHIhwkUz6Ir1gwFTFRzq+xE/PfokzwJBlemWD087aCoIfnx LAGDkxGGOMURjMLuoDef0fcRZt68lPSCTf8fEQZIgPCXNVls9/X7+iJZ/tVbZMCRr8 EuBDngnCHl3UZJ1OwvdMa6vuBIKKcuB0n+7EogPG7pUMohxE0fBjHtxEbTlV2kfNNH iZyUlienMYAaibMR+3yzej4u+jPLFJUoJhCYEruilSxl55q4pIbkWOJFZlozE50AIn BhKBHr9R/lKGhsih6F/yPa/vZZEyoLPvj74CduREsTmNxS3/VGplARlJsgAJUqLFSG wRDlR9keLOkaf8F4lPooZL7r5cnKDvQU9OZUuKTXlWgWWEvvXyBoQwmsCY1noB8HpW cEqMR3qNFWscj9fc/y6kYvuCkTVhiLxNQ5Pxe2bTs1GTBxNgSitb/DKfmU8F1fCD/A BbPN/arzddR3rB7Gbsc/vEsH+Mcp8TeM8Rbl6YZKfrWTQ1lkZHgSGfJhpn7WVirYpV y3aqmQtchbRlu3NULK1tsvpFuZN2Oe3PpIDMEMATCKJHVsBCiSeEDlxUDIIFxuLgJU sy0MPIzFQHll183oGExUSO+Q= Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id BCCE32D029E4; Fri, 5 Sep 2025 21:09:12 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id F4gaHEF2fCt3; Fri, 5 Sep 2025 21:09:11 +0000 (UTC) Received: from strong-iwl0.sbone.de (strong-iwl0.sbone.de [IPv6:fde9:577b:c1a9:4902:a66b:b6ff:fe40:39a9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id C9D802D029D8; Fri, 5 Sep 2025 21:09:11 +0000 (UTC) Date: Fri, 5 Sep 2025 21:09:11 +0000 (UTC) From: "Bjoern A. Zeeb" To: Michael Tuexen cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 1c23d8f9f398 - main - vtnet: improve checksum offloading In-Reply-To: <202509041126.584BQBBt067763@gitrepo.freebsd.org> Message-ID: <23rq9r12-75nn-sqs8-06o7-p785s2q915o3@yvfgf.mnoonqbm.arg> References: <202509041126.584BQBBt067763@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.99 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.995]; DMARC_POLICY_ALLOW(-0.50)[zabbadoz.net,none]; R_DKIM_ALLOW(-0.20)[zabbadoz.net:s=20240622]; R_SPF_ALLOW(-0.20)[+ip6:2003:a:140a:2200:6:594:fffe:19]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MISSING_XM_UA(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_SOME(0.00)[]; FROM_HAS_DN(0.00)[]; ASN(0.00)[asn:3320, ipnet:2003::/19, country:DE]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; MLMMJ_DEST(0.00)[dev-commits-src-all@FreeBSD.org,dev-commits-src-main@FreeBSD.org]; DKIM_TRACE(0.00)[zabbadoz.net:+] X-Rspamd-Queue-Id: 4cJTVs4NZGz3dSl On Thu, 4 Sep 2025, Michael Tuexen wrote: > The branch main has been updated by tuexen: > > URL: https://cgit.FreeBSD.org/src/commit/?id=1c23d8f9f39870951c1d0dfbb112fc4e53237737 > > commit 1c23d8f9f39870951c1d0dfbb112fc4e53237737 > Author: Michael Tuexen > AuthorDate: 2025-09-04 11:16:46 +0000 > Commit: Michael Tuexen > CommitDate: 2025-09-04 11:16:46 +0000 > > vtnet: improve checksum offloading > > When transmitting a packet over the vtnet interface, map the > csum flags CSUM_DATA_VALID | CSUM_PSEUDO_HDR to the virtio > flag VIRTIO_NET_HDR_F_DATA_VALID. > When receiving a packet over the virtio network channel, translate > the virtio flag VIRTIO_NET_HDR_F_NEEDS_CSUM not to CSUM_DATA_VALID | > CSUM_PSEUDO_HDR, but to CSUM_TCP, CSUM_TCP_IPV6, CSUM_UDP, or > CSUM_UDP_IPV6. > The second change fixes a series of issue related to checksum > offloading for if_vtnet. > While there, improve the stats counters to allow a detailed view > on what is going on in relation to checksum offloading. > > PR: 165059 > Reviewed by: tuexen, manpages > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D51686 This fails to build a LINT-NOIP now. Makes me wonder what good vtnet is in first place w/o INET and w/o INET6? 33 | ^~~~~~~~~~~ 34 1 warning generated. 35 /tank/users/bz/git/FreeBSD/freebsd-src/sys/dev/virtio/network/if_vtnet.c:1825:9: error: call to undeclared function 'in_cksum_skip'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] 36 1825 | csum = in_cksum_skip(m, m->m_pkthdr.len, hdr->csum_start); 37 | ^ 38 /tank/users/bz/git/FreeBSD/freebsd-src/sys/dev/virtio/network/if_vtnet.c:1849:6: error: variable 'hoff' set but not used [-Werror,-Wunused-but-set-variable] 39 1849 | int hoff, protocol; 40 | ^ 41 2 errors generated. 42 --- if_vtnet.o --- 43 *** [if_vtnet.o] Error code 1 > --- > share/man/man4/vtnet.4 | 28 +++-- > sys/dev/virtio/network/if_vtnet.c | 220 ++++++++++++++++++----------------- > sys/dev/virtio/network/if_vtnetvar.h | 2 +- > 3 files changed, 132 insertions(+), 118 deletions(-) > > diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4 From nobody Fri Sep 5 21:36:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJV5f0PCVz66R1h; Fri, 05 Sep 2025 21:36: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJV5d6sk6z3kH7; Fri, 05 Sep 2025 21:36:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757108166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xn60ABzIWBmzmUAjJgwaq6tvRkmBCBCd24C9FMV0UKE=; b=MxNYfJi67LGwjyRvf0exKXHIgA2aZ0tIDic9lG068FBSzPirPk8ifE8CypJ08pjFwuqjY3 N6QAgNWUHKzv+Vnz5GkB2XThRb751BI5vitBxmD27Hcv5Q6D0qDhe6S+4wQC3BeRWqOZk+ CnuJLnX0CH5Bnek9JXRDZv30vhv4nzKLoH7Y0MwZM+2TSUgR/7Sx9HZf9w5wMp/Yf2Emsy jBBnwy3w3e+FN1pZhiFU/gHgCrSUZr0Ht1fbV4uWf0N9+DQDKf0ehFq5k3d4l+csNlRaCM 3jELubjq+ZMmYuZIkqABHciVtSei/pmZvQOSfwHq6lLU5OR7YarC+uPYM395gA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757108166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Xn60ABzIWBmzmUAjJgwaq6tvRkmBCBCd24C9FMV0UKE=; b=xV+42UDD3fIkzkZTW5oq//vN7MxIQC/FPwY1+3Bqh+I8ShyqZ2OSVi7e+mOCS4yLUyg2qD Ag5xuo/IG3KX/ApF4bTCuBd1i15WabL/ewGDGCGIgx5rFApEoq7uy8k/cKTmm8TlcdeWxQ HPJi8Y+k9deABsH10Nmw/7vXXWZg1jtxUR55oOpH52AuIgJ2siWebB6uLCeRVvitPOCwzv myw3+sPpaujCXyzyvQ1V8bp58J7bNpX4R4T2h6IHn0zRpwTppZSTj3HO7lEVQZQm3yoVQx C0LoCX/UZZ2sUAaNOoGUtodNI64wMYdgCvH47w9hfE24hZbVDxIH0fa7vVAeYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757108166; a=rsa-sha256; cv=none; b=CLF4oP5B4GaCYenx5oM3IWjINFZCPl2TgycUzqkLzOJA2esWhWgOdhCxEzNYj9VTz9GOiR ZnjfL3viQP83qdcwZZc7uHaEp9OuhzxYSdNpjOHme84usYsh/+VYUTf/hJMJU4axGIRLk1 N2tsy1KYGyvOCMlWqPoRO2dSPyntexdgj5CdmAtpJm5m10vUhzOfJl/brRv8VUe6+pAILY UEtffNSTIxQEdAa48SVnZ813a0n+X+eIjCpMu1U3SlSsKts2R7aBUQ5sIj81lQJlTUofIe NRdsteJaR89BDWe4Dm084+gQTC1VKVhmLpp1etL7ZCfisxVNWcvTeYwrLgHjLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJV5d6RZ1z15Zm; Fri, 05 Sep 2025 21:36: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 585La51C020213; Fri, 5 Sep 2025 21:36:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585La5mx020210; Fri, 5 Sep 2025 21:36:05 GMT (envelope-from git) Date: Fri, 5 Sep 2025 21:36:05 GMT Message-Id: <202509052136.585La5mx020210@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: af60084978a4 - main - Add description for WITH_PTHREADS_ASSERTIONS List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: af60084978a43632c5ab2d6e3aca41be7a658d8c Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=af60084978a43632c5ab2d6e3aca41be7a658d8c commit af60084978a43632c5ab2d6e3aca41be7a658d8c Author: Colin Percival AuthorDate: 2025-09-05 21:29:51 +0000 Commit: Colin Percival CommitDate: 2025-09-05 21:35:53 +0000 Add description for WITH_PTHREADS_ASSERTIONS This option is turned on by default in -CURRENT but will be turned off in 15-STABLE; this description will land in the src.conf(5) man page in that branch. MFC after: 1 minute --- tools/build/options/WITH_PTHREADS_ASSERTIONS | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/build/options/WITH_PTHREADS_ASSERTIONS b/tools/build/options/WITH_PTHREADS_ASSERTIONS new file mode 100644 index 000000000000..03c15b76fb85 --- /dev/null +++ b/tools/build/options/WITH_PTHREADS_ASSERTIONS @@ -0,0 +1 @@ +Enable debugging assertions in pthreads library. From nobody Fri Sep 5 21:53:30 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJVTk3zKCz66T85; Fri, 05 Sep 2025 21:53:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJVTk3QG8z3nDG; Fri, 05 Sep 2025 21:53:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757109210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DdY++fxlcNSPFpj1LyfQrLeOZ0IIJZcQt9xe2oU5i7Y=; b=tJ7XGNPN5fr9ltwNRACuGOcU0cHJPiis4utiOPOsPJ74kkpsk/7WgoMALa7fiWOFFGK5N2 46t4jkblp/0/cJMPfUfRhv0w0JgIKlNvLupg56F1qBaawTKhBQxuxH5HmwBg/lcBrXhQIW DPN3Qp7nYffZVJSC/vc71PpwtLCkvwNTmlxc1pUGxw7txSgTgNq6HPYz/0sVkUEMM3p1iH KxrhaMf7F35xsURXk8sSn49Vp5qX3DbSu2traEbyNXPQ26Fd8UaILM4GJPlh8P4WKJdvkR Qn+tCUBM+vKxwS2L17qRV2z7BxUYPw/y99CtGL4IM6DepW1iB1d9v/c/EHY7RQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757109210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DdY++fxlcNSPFpj1LyfQrLeOZ0IIJZcQt9xe2oU5i7Y=; b=NCdOzmfACU6HPGm6y6B+RkMEwXc4JvICXY57kRgAwLJBPEEeUvj/PIX85CnRllUakCDKAm jcifd9IQm0cIkoSapZPs5IVhV3zzWRTOoz3LRGgmeF3n4bcg59/ehMKwWyjn22GFDULV85 jo81EVTtUXl2XvxlWkGTRHD7dUKu63vZ1PIuRG32d3Cqfl6DQrUlMdVOSrYDxFTCxpWTa0 8/+0PNXl3CTDvO6RymT0uOFTd/UrSJep338yLkpyYRdSYKfsdma9zxxb86u8roSM5BvxeS pYgHlLV+iuU5RnYeyZBYjtXyIndyYAgT9KaLGJJJkfb8dlfJfv5URFjXp8u4aA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757109210; a=rsa-sha256; cv=none; b=YD5LPdo1V0ZZy/TheepBTfOlloA3bT7Xo9i4n3t5q4f+NOIsNc0lcUi/SPZuTbzNNWDmmA tXLSzP30kg3DNULfgafbPmKy7wC0ZRotXOwWTMGJyDvbIXDEGZdzUXfRW0Yi7X8S1Jxqvc R7zLhpOMG4/1HWf1ADUt3F8OMg/VHrp0Dx36qkgNNXg0lar3Awu4sg1jKgbZ/2Z7ZUNQMG gnGc5Ra3PjjWP4Qp2CIF/vXIrBAF/bGZCTWHED0AulD4RojmxQ05UeGPxOhiTWW0uOY9Qg /qzb27zMhrJ3E4Bdi36KFFRrbZikmO1Pf4yJV56jWmWWEg8UzgU+MltVm3jCEA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJVTk2y96z15WS; Fri, 05 Sep 2025 21:53:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 585LrUWU056476; Fri, 5 Sep 2025 21:53:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585LrUjo056473; Fri, 5 Sep 2025 21:53:30 GMT (envelope-from git) Date: Fri, 5 Sep 2025 21:53:30 GMT Message-Id: <202509052153.585LrUjo056473@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: 9e792f7ef729 - main - sys/netinet6: Fix SLAAC for interfaces with no /64 LL address List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9e792f7ef7298080c058fbc2d36a4e60e596dae9 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9e792f7ef7298080c058fbc2d36a4e60e596dae9 commit 9e792f7ef7298080c058fbc2d36a4e60e596dae9 Author: Reid Linnemann AuthorDate: 2025-09-05 19:57:44 +0000 Commit: Kristof Provost CommitDate: 2025-09-05 21:48:48 +0000 sys/netinet6: Fix SLAAC for interfaces with no /64 LL address in6_ifadd() asserts that an interface has an existing LL address with a /64 prefix from which to extract the ifid for SLAAC address selection (even though the comments suggest that an ifid will be generated if one does not exist). This is adequate for most generic cases, however to support PPP links with /128 LL addresses we must be able to fall back on another source for the ifid since we cannot assume the /128 LL has a unique ifid in the lower 64 bits. To do this, the static function get_ifid() in in6_ifattach.c is renamed to non-static in6_get_ifid(), and this is used in lieu of a proper /64 LL address to attempt to obtain a valid ifid. Reviewed by kp Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D51778 --- sys/netinet6/in6_ifattach.c | 7 +++--- sys/netinet6/in6_ifattach.h | 1 + sys/netinet6/nd6_rtr.c | 54 ++++++++++++++++++++++++++++++++------------- 3 files changed, 43 insertions(+), 19 deletions(-) diff --git a/sys/netinet6/in6_ifattach.c b/sys/netinet6/in6_ifattach.c index f284f7fa5ffc..cc149616006e 100644 --- a/sys/netinet6/in6_ifattach.c +++ b/sys/netinet6/in6_ifattach.c @@ -83,7 +83,6 @@ VNET_DECLARE(struct inpcbinfo, ripcbinfo); #define V_ripcbinfo VNET(ripcbinfo) static int get_rand_ifid(struct ifnet *, struct in6_addr *); -static int get_ifid(struct ifnet *, struct ifnet *, struct in6_addr *); static int in6_ifattach_linklocal(struct ifnet *, struct ifnet *); static int in6_ifattach_loopback(struct ifnet *); static void in6_purgemaddrs(struct ifnet *); @@ -271,8 +270,8 @@ found: * * altifp - secondary EUI64 source */ -static int -get_ifid(struct ifnet *ifp0, struct ifnet *altifp, +int +in6_get_ifid(struct ifnet *ifp0, struct ifnet *altifp, struct in6_addr *in6) { struct ifnet *ifp; @@ -356,7 +355,7 @@ in6_ifattach_linklocal(struct ifnet *ifp, struct ifnet *altifp) ifra.ifra_addr.sin6_addr.s6_addr32[3] = htonl(1); } else { NET_EPOCH_ENTER(et); - error = get_ifid(ifp, altifp, &ifra.ifra_addr.sin6_addr); + error = in6_get_ifid(ifp, altifp, &ifra.ifra_addr.sin6_addr); NET_EPOCH_EXIT(et); if (error != 0) { nd6log((LOG_ERR, diff --git a/sys/netinet6/in6_ifattach.h b/sys/netinet6/in6_ifattach.h index 897926e90078..fd52422b10be 100644 --- a/sys/netinet6/in6_ifattach.h +++ b/sys/netinet6/in6_ifattach.h @@ -41,6 +41,7 @@ void in6_ifdetach(struct ifnet *); void in6_ifdetach_destroy(struct ifnet *); void in6_tmpaddrtimer(void *); int in6_get_hw_ifid(struct ifnet *, struct in6_addr *); +int in6_get_ifid(struct ifnet *, struct ifnet *, struct in6_addr *); int in6_nigroup(struct ifnet *, const char *, int, struct in6_addr *); int in6_nigroup_oldmcprefix(struct ifnet *, const char *, int, struct in6_addr *); #endif /* _KERNEL */ diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c index b9af0a78a584..6fe78083df23 100644 --- a/sys/netinet6/nd6_rtr.c +++ b/sys/netinet6/nd6_rtr.c @@ -1182,9 +1182,9 @@ in6_ifadd(struct nd_prefixctl *pr, int mcast) struct ifnet *ifp = pr->ndpr_ifp; struct ifaddr *ifa; struct in6_aliasreq ifra; - struct in6_ifaddr *ia, *ib; + struct in6_ifaddr *ia = NULL, *ib = NULL; int error, plen0; - struct in6_addr mask; + struct in6_addr *ifid_addr = NULL, mask; int prefixlen = pr->ndpr_plen; int updateflags; char ip6buf[INET6_ADDRSTRLEN]; @@ -1212,18 +1212,42 @@ in6_ifadd(struct nd_prefixctl *pr, int mcast) * with different interface identifiers. */ ifa = (struct ifaddr *)in6ifa_ifpforlinklocal(ifp, 0); /* 0 is OK? */ - if (ifa) + if (ifa) { ib = (struct in6_ifaddr *)ifa; - else - return NULL; + ifid_addr = &ib->ia_addr.sin6_addr; + + /* prefixlen + ifidlen must be equal to 128 */ + plen0 = in6_mask2len(&ib->ia_prefixmask.sin6_addr, NULL); + if (prefixlen != plen0) { + ifa_free(ifa); + ifid_addr = NULL; + nd6log((LOG_DEBUG, + "%s: wrong prefixlen for %s (prefix=%d ifid=%d)\n", + __func__, if_name(ifp), prefixlen, 128 - plen0)); + } + } - /* prefixlen + ifidlen must be equal to 128 */ - plen0 = in6_mask2len(&ib->ia_prefixmask.sin6_addr, NULL); - if (prefixlen != plen0) { - ifa_free(ifa); + /* No suitable LL address, get the ifid directly */ + if (ifid_addr == NULL) { + struct in6_addr taddr; + ifa = ifa_alloc(sizeof(taddr), M_WAITOK); + if (ifa) { + ib = (struct in6_ifaddr *)ifa; + ifid_addr = &ib->ia_addr.sin6_addr; + if(in6_get_ifid(ifp, NULL, ifid_addr) != 0) { + nd6log((LOG_DEBUG, + "%s: failed to get ifid for %s\n", + __func__, if_name(ifp))); + ifa_free(ifa); + ifid_addr = NULL; + } + } + } + + if (ifid_addr == NULL) { nd6log((LOG_INFO, - "%s: wrong prefixlen for %s (prefix=%d ifid=%d)\n", - __func__, if_name(ifp), prefixlen, 128 - plen0)); + "%s: could not determine ifid for %s\n", + __func__, if_name(ifp))); return NULL; } @@ -1233,13 +1257,13 @@ in6_ifadd(struct nd_prefixctl *pr, int mcast) IN6_MASK_ADDR(&ifra.ifra_addr.sin6_addr, &mask); /* interface ID */ ifra.ifra_addr.sin6_addr.s6_addr32[0] |= - (ib->ia_addr.sin6_addr.s6_addr32[0] & ~mask.s6_addr32[0]); + (ifid_addr->s6_addr32[0] & ~mask.s6_addr32[0]); ifra.ifra_addr.sin6_addr.s6_addr32[1] |= - (ib->ia_addr.sin6_addr.s6_addr32[1] & ~mask.s6_addr32[1]); + (ifid_addr->s6_addr32[1] & ~mask.s6_addr32[1]); ifra.ifra_addr.sin6_addr.s6_addr32[2] |= - (ib->ia_addr.sin6_addr.s6_addr32[2] & ~mask.s6_addr32[2]); + (ifid_addr->s6_addr32[2] & ~mask.s6_addr32[2]); ifra.ifra_addr.sin6_addr.s6_addr32[3] |= - (ib->ia_addr.sin6_addr.s6_addr32[3] & ~mask.s6_addr32[3]); + (ifid_addr->s6_addr32[3] & ~mask.s6_addr32[3]); ifa_free(ifa); /* lifetimes. */ From nobody Fri Sep 5 21:57:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJVZS4qdwz66T9W; Fri, 05 Sep 2025 21:57:36 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJVZS38V7z3nfY; Fri, 05 Sep 2025 21:57:36 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757109456; 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=d9CTcnAHqMrQrsokHjjV3S+rwESGB3nwP6uDD8h7yUQ=; b=iefMfWk0TyYWZWpQxGo6g5IgSO5XSTRxJy5z+yKA/wTFyM9zrxnRvsT1mWSl1rR4YqBaKe /CDMHBeBXlE3xUqEkXGamJfHfia8sTb5rtPAIgVd/lFsblMKkmrWh0M6GwPBcaLzmLzwFk nnwq8houwZ3sQKX0nRnPl6SXp2g2qXDa1r1PdKTjcmC+Zrr3sbMm9gp572E8xcuYkJPTQh dIC09/IW2Bj2hXhXwHx0YjMzSKSK+VM0BktnuGIKqYlXYM9DvJ533GDjUB0Fxvl251ukTw XYsDdPkNHlwFb698350Cgw8KYFnAKLjmnEsEeNzfSN5hizRwDwAnPpi2+gjfuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757109456; 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=d9CTcnAHqMrQrsokHjjV3S+rwESGB3nwP6uDD8h7yUQ=; b=Z8sKq3kJFmEwdyLBwWwUi9H3yV4/HePdVwH7cqmcRRsUMW8t4BGgAHRaZJL4/rSe/XVrrN LYskv9vAMdU/xk7263r4zhcvu/HpvPygKzMiWDeCxOJAx4Xjn+6+GluwAKk9azzhxn5o0D nGqxDblHx+FDNeYUVe6p3Ld6u1zZ82vFiAdPpMKCTAQsnRD7f6w62DfwqZQ2RC5c2Gk456 xOYfM0ks47Ml2Ub4pdQpinCiu1u0FmSIGvM0oDk8H92leypXJmEHf7/ADMOo9gI21UpqHU Q6LS+e+TP1WLoEWA84Tx7vgVvbeVUj3V4BGmTtGMlOllyxjSSbIEMtPNle0Sng== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757109456; a=rsa-sha256; cv=none; b=kPkSqeEwl2+wD6L9YYa0WcnTN89EaIOx3xIx8mWncwic6Bj55nrStu0WF2caqByWVCROGx Ydo3Tk0uLTxFntgodjCvuLgUai3wz0AXcbbiPlW0Ub1hz3WAYuin/tH1t84d74WQrgnGep TvtB+UVfg82xPEy9Jg6BA700Y7AsihPfhqZCJShxxT1iBP9F8aTNuo4U9DwNPYV3yZWN2+ kZnEWv55I4eR6mOdCouevuTsS3OZoc4KP4KWz4FLBbb/6GCG8nCstSjR7fYjd3DMlbqBHZ v2BX49BHFh6n45anh3smGfAanQuaS4B+nE575sdfqGzz7puxAKq4WkAOvYgmjw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) (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 4cJVZS279Pz19KW; Fri, 05 Sep 2025 21:57:36 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-qv1-f47.google.com with SMTP id 6a1803df08f44-70df87f7beeso1639726d6.1; Fri, 05 Sep 2025 14:57:36 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCUCCm+WCIND654+4qoUl+b6mvH63bjpgKFfGZ5jJJ3Wuu/pZ3JEpSvlBgF4JrjHZUBnwb8cG1M33bIyV0tL4kw/G5UFJpE=@freebsd.org, AJvYcCUaXuX80N82sMNqQIxTom2SyCyhazAx1ousutSd3BnSU70iiZ9OYIsd9GuL9xpzgivDuyOCdh6PaeCdjbPhmLMrHVfI@freebsd.org X-Gm-Message-State: AOJu0YyOD4Sc3rqMxeqPwqUwK1RXD1VBLhqIeEUzEOcNQYLOc75aD0CU LBVS+/w23zZVdlG+0esEd3OzQ7s9DSRpTSCY8taFIYq2XXA9JrrKRv2NTp1awuUd/kkVyEpnHmO 6N9m7zRYPvd58kEBONF8hRZz/to8ikPU= X-Google-Smtp-Source: AGHT+IEkeEuCLyx++nIrBIsxgnW26oAsSceA6Zy2br/BHGc3Hv62tjNAH/e8L6cPLETMcDKWqGtI/Wh4KOhTyyesckI= X-Received: by 2002:a05:620a:444f:b0:809:f60d:83f6 with SMTP id af79cd13be357-813beffa4e8mr14364185a.6.1757109455662; Fri, 05 Sep 2025 14:57:35 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202509052136.585La5mx020210@gitrepo.freebsd.org> In-Reply-To: <202509052136.585La5mx020210@gitrepo.freebsd.org> From: Nuno Teixeira Date: Fri, 5 Sep 2025 22:57:24 +0100 X-Gmail-Original-Message-ID: X-Gm-Features: Ac12FXwCuY8YyayZMVXdv8FuPYUWCptiZfQScrYD9CycCwJdfgFFEhpqCCS1j74 Message-ID: Subject: Re: git: af60084978a4 - main - Add description for WITH_PTHREADS_ASSERTIONS To: Colin Percival Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000efbb4c063e14ec95" --000000000000efbb4c063e14ec95 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello Colin, For people that turn off debug on main, should WITH_PTHREADS_ASSERTIONS be turned off? e.g. /etc/src.conf: WITH_MALLOC_PRODUCTION=3Dyes WITHOUT_LLVM_ASSERTIONS=3Dyes Thanks, Colin Percival escreveu (sexta, 5/09/2025 =C3=A0(s) 22:36): > The branch main has been updated by cperciva: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3Daf60084978a43632c5ab2d6e3aca41b= e7a658d8c > > commit af60084978a43632c5ab2d6e3aca41be7a658d8c > Author: Colin Percival > AuthorDate: 2025-09-05 21:29:51 +0000 > Commit: Colin Percival > CommitDate: 2025-09-05 21:35:53 +0000 > > Add description for WITH_PTHREADS_ASSERTIONS > > This option is turned on by default in -CURRENT but will be turned of= f > in 15-STABLE; this description will land in the src.conf(5) man page > in that branch. > > MFC after: 1 minute > --- > tools/build/options/WITH_PTHREADS_ASSERTIONS | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/build/options/WITH_PTHREADS_ASSERTIONS > b/tools/build/options/WITH_PTHREADS_ASSERTIONS > new file mode 100644 > index 000000000000..03c15b76fb85 > --- /dev/null > +++ b/tools/build/options/WITH_PTHREADS_ASSERTIONS > @@ -0,0 +1 @@ > +Enable debugging assertions in pthreads library. > > --=20 Nuno Teixeira FreeBSD UNIX: Web: https://FreeBSD.org --000000000000efbb4c063e14ec95 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello Colin,

For people that= turn off debug on main, should=C2=A0WITH_PTHREADS_ASSERTIONS be turned off= ?=C2=A0

e.g.
/etc/src.conf:
WITH_MALLOC_PRODUCTION=3Dyes
WITHOUT_LLVM_ASSERTIONS=3Dyes

Thanks,

Colin Percival <cperciva@freebsd.org> escreveu (sexta, 5/0= 9/2025 =C3=A0(s) 22:36):
The branch main has been updated by cperciva:

URL: https://cgit.= FreeBSD.org/src/commit/?id=3Daf60084978a43632c5ab2d6e3aca41be7a658d8c
commit af60084978a43632c5ab2d6e3aca41be7a658d8c
Author:=C2=A0 =C2=A0 =C2=A0Colin Percival <cperciva@FreeBSD.org>
AuthorDate: 2025-09-05 21:29:51 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2025-09-05 21:35:53 +0000

=C2=A0 =C2=A0 Add description for WITH_PTHREADS_ASSERTIONS

=C2=A0 =C2=A0 This option is turned on by default in -CURRENT but will be t= urned off
=C2=A0 =C2=A0 in 15-STABLE; this description will land in the src.conf(5) m= an page
=C2=A0 =C2=A0 in that branch.

=C2=A0 =C2=A0 MFC after:=C2=A0 =C2=A0 =C2=A0 1 minute
---
=C2=A0tools/build/options/WITH_PTHREADS_ASSERTIONS | 1 +
=C2=A01 file changed, 1 insertion(+)

diff --git a/tools/build/options/WITH_PTHREADS_ASSERTIONS b/tools/build/opt= ions/WITH_PTHREADS_ASSERTIONS
new file mode 100644
index 000000000000..03c15b76fb85
--- /dev/null
+++ b/tools/build/options/WITH_PTHREADS_ASSERTIONS
@@ -0,0 +1 @@
+Enable debugging assertions in pthreads library.



--
Nuno Teixeira
=
FreeBSD UNIX:=C2=A0 <eduardo@FreeBSD.org>=C2=A0 =C2=A0Web:=C2=A0 https://Fr= eeBSD.org
--000000000000efbb4c063e14ec95-- From nobody Fri Sep 5 22:07:39 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJVp517gGz66Tl7; Fri, 05 Sep 2025 22:07:41 +0000 (UTC) (envelope-from cperciva@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJVp50Hq1z3qvS; Fri, 05 Sep 2025 22:07:41 +0000 (UTC) (envelope-from cperciva@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757110061; 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:autocrypt:autocrypt; bh=+T+cQZs8TviIQtcyUHpvMcUhaotFBTRVfEzucV25Vxc=; b=FmQh/H8/DGtBBsWjhGeGy3O/h6+L1mQ8mmX6KE9mlyBPuhukM4rBYCgwocMAv9YgHkG63G Q9MB5ZUN0BIW2lhOT0hotB43HPjzxI8PFZrGdMAdYpZhdj80RrNyDbYQMiivk/zF/3g90C QKPuuTIDiTOaRPVCDLmcOuGL9Or0BrP/wnkKOgvfxH+3wyagCidBpLYxig9lqldMMLm8ye /AR1I//gRnOgLzbbCGTcua9u1v72uCWQEnneVY7GyrXRcyUaLYtwq9mDWakTDruibdUpRx l5YuivN+rHU4PkcU3jWG6m9UMTqaYYLZ8tKmT0HNG/pbaTj/qEWbwFxxTW+ixg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757110061; 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:autocrypt:autocrypt; bh=+T+cQZs8TviIQtcyUHpvMcUhaotFBTRVfEzucV25Vxc=; b=ThMx54Z35IaNuy8hPpqpmcbgknojf9/jwrYDrpfO+ZiX1OzaYlWcpPriZ774I+ulpsR2a9 HBulxJw5aQNECGfQszETeZg6wqfTsPUTH9V1H3vLoAB1dVBHxd7b3xRxtrzGXhWH52cY83 BbJNKLATnWHn8+kYx3CTOWWFRWaa6Ypf3156RLlF+qTmQmUteujdJtUuPYcOnaPAfqSZvd H6rK/6yBhBTYlqZNmHK7kPTzCC0fkT0dhy1rUoEhmfHLrwygmQ9OS8a4QMADv8MzmaUt0b 7j43S0W6cKEj5iDbUkTZXOjoDoT20nnxYyCDxBcNDS7GgYQoowS2SxoLf41M8Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757110061; a=rsa-sha256; cv=none; b=a4hvY65qguQ2Jg8xlr9H3V1XMGDnqQWRxB8w+rqlQPr2D14B81uJapVn1A8Uu5W+2Rws6h rXApFN5FqKoleHTyenvQrfS3AwLiN85lIiJoxXIcghjafsz1XW+K6sPKY85dYXWDNFJJGY SkRtFX4fRX31ApJtU2x8n8QCAy9jcPHXrBWJJ5SLJB7uG/u8GzsaIUmx6nrj7vWCLguMIl vuSYA49uXNUU+mxKCYRPUsOPCRPQnkmm7fsIhQaRTpSzjRteEZpvKPIxZ4yxPNHYaH0VUA 25KJFJkXeo1FShojDE5fWo+V7nkX+7fVA9Ymlve77Oce0EC7DlMCJeEOsBDCbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [192.168.6.36] (S0106684a76304d01.vf.shawcable.net [70.69.240.84]) (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: cperciva/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJVp43FFzz1BH3; Fri, 05 Sep 2025 22:07:40 +0000 (UTC) (envelope-from cperciva@freebsd.org) Message-ID: <61bbeec6-6784-4c17-ac14-c1f5f5b68366@freebsd.org> Date: Fri, 5 Sep 2025 15:07:39 -0700 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: 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: af60084978a4 - main - Add description for WITH_PTHREADS_ASSERTIONS To: Nuno Teixeira Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202509052136.585La5mx020210@gitrepo.freebsd.org> Content-Language: en-US From: Colin Percival Autocrypt: addr=cperciva@freebsd.org; keydata= xsFNBGWMSrYBEACdWRqDn3B3SKO7IG0/fGHYtfs26f3Q5QeAcasy1fQLniwGQWn5rlILhbCD K/jdNoDm5Zxq20eqyffoDNObCjnHgg4tGANdi+RmDy+7CDpE789H8dss9y7Pt5DlGGAXQQnt hxush3EYS/Ctprd9UUL/lzOOLOU1aNtzB84tNrJBtcJmL7OYHfyTSNFxvedqJrrasejIQOLI t/DQ89BPzz+vsKHz7FJPXh3fsVkzLA00DJYcfkgxyABfJNA7U6yMwd4DVSdx/SsvfIDMVXnu UXCXswo106WPZbYGlZPpq0wW6iibtTerJix+8AeuwXvl9O1p8yESK4ErkIxCnmghTSz+pdzj z/6xBRkdDM9VdZ0r+CzsaNXMpDOzFuKyjaiYBdgCLljbDnXIHFcqXenrZ7Xwkm09g/M4uVSh pIUG2RYa6tsHSQoGCp3f2RZv1znfViKQFbbL83QjtPA20AhseZSYbHp1FPhXyy9J0wkGL16L e99g6gdGeIRE82BZjBjKGDkoyDPq+oDRSFl8NtzmIKy+cfz00nViqcTF4bREXEawFGhlpO0X O9q8mijI9iFB6zaPBiSdJGBL5ML5qLTNCl8Zlf4m1TBvmRTqF/lzMHVXHidDoUhpSh/y3AFZ 1KrYc27ztJQywDJPJPWPbtY8YhFLFs377gfP8WldsZjzp8nvoQARAQABzSVDb2xpbiBQZXJj aXZhbCA8Y3BlcmNpdmFARnJlZUJTRC5vcmc+wsGRBBMBCAA7FiEEglY7hNBiDtwN+4ZBOJfy 4i5lrT8FAmWMSrYCGwMICwkNCAwHCwMFFQoJCAsFFgMCAQACHgUCF4AACgkQOJfy4i5lrT++ ig/9GZKdN2fHSyrANKZX38ivd7IX2wAYouqH9DrQM94W8IciaDLmarN4Pl9mY+aucMwQUSyp uNtKOJwKqhVVaalF9Zw0sRMH4CJuvT7vKCtZ3q1Okb7soRvFte4d+vXhvPxCvBFDA5JzU7Lg DR5eqqcvF1dN1OuCq16pl0zCOSH/Jr5ToE3LM3Av1KBGcZD7ZSzHRWsFjV5AOUJKySuA3GwJ e/jASQcQ0YfCnru8ntLmYg/2SKvZFlfthZiCBnAppMt4n4BUAw3TDvf10HIDtdneejawcbLS gofLCvGqumwbZYAMKWrFzT4+7KQvr0pOw8QD7EbxnB4f9hQ7UiVF8qWsyKU3iv6b5JLhbS59 ooKRccyOvdMLcVJ0ZdpqoxrNv061ZUqLL5RiWjBlc1qjBnDxeg5oyM0rT8WLftdgvyH6RQt0 KWngumBAT5AT2DUYL8Uz1490cqfO9K4yEGZAJB9XRVX1g2IWTOjae+0g9ZII+h91UngFz+Rz aKDeseKBbCGDOFXx1TqKiHl2g255ZnUxKYTlucFtguv4gDGBgEk4G9JaEWBw1IWblcKhxH7L 2vWsUhvwghjIxHdO/RkeIeHvSp4YZxCJ7a3TaJLYAlwYopfTKVzNhcDY5h5syEuoHjyJCxXK SyoJYAVu8Yl2KUhvOtOmL1VZ6xyHnpdMRWKJZ5jOwU0EZYxKtgEQANYfgbtUMVnhjxDHhWLp g5kLHK3YW0TfJKzpXqDB7NiqxHofn4OcbZnVC3MKggcbs9o1/UtsjnlsG8550PfiYkDXvPiO RJwgbGs6MGIDK797C6cnBLQ8xwBa9SL4cl5iQFnhWmt6vwnJ+an/cm5JpYves3wL7jV09qU9 57hkHXEUcl38r4FssZzVcLKPUVTa3Un+QGRTGDGe/f4ctjMaqv0ZCM+l2ixPhf/vqESrfSLv V/+T3dmtUfXjazO3SABvsHwxgGuTTYOlKoPCaebr+BRdqm0xeIShoIlhvTI8y4clchqx/Uxg UG5X2kvU13k3DS3Q8uLE4Et9x1CcZT6WGgBZSR6R0WfD0SDnzufNnRWJ0dEPA2MtJHE7+85R Vi9j/IgZV+y5Ur+bnPkjDG1s2SVciX5v9HQ0oilcBhvx0j5lGE9hhurD9F+fCvkr4KdbCknE 6Y8ce8pCNBUoB/DqibJivOzTk9K9MGB5x0De5TerIrFiaw3/mQC9nGeO9dtE7wvDJetWeoTq 4BEaCzpufNqbkpOaTQILr4V6Gp7M6v97g83TVAwZntz/q8ptwuKQPZ2JaSFLZn7oWUpYXA5s +SIODFHLn6iMoYpBQskHQjnj4lEPJadl4qj+ZKA89iDAKsniyoFXsbJe2CPbMS1yzBxKZq6K D/jpt7BOnuHr/JrXABEBAAHCwXYEGAEIACAWIQSCVjuE0GIO3A37hkE4l/LiLmWtPwUCZYxK tgIbDAAKCRA4l/LiLmWtP3jmEACQrh9gWe8F1Tkw3m6VoHKwLc5he4tX3WpQa//soPO6iGG3 S3WPruQ46NrAaAojoOcKI9UONDO5rxG0ZTX53S+lu2EO47jbcLwOCjaEpjKpDRt9ZXBQE8Xl mtBE9Bp3W9gpjB1nE3KNM1mJYgsK0QdRpwwfh4pVgGpOj8j23I6MCK+v99zEBnpgCn2GX8W/ kctRXHqWwndHysOJtRP/zrl7dDaABF1f9efUl0LL3TD3GJ9VDz+DNOin/uK2a1hiJo8QzTRk PpfUQ2ebzDsrd1i/pOWkMSkdH+rEu4AGrXWtaBwrMyrGkL6Icb6yO+P9/z0W2wlgBf3P1YRt JPgQt/Dj3yvA/UnaV/QmuVQPjl13o24UnJGsZM8XGnNdfWBKkC1Q6VXC4QT+dyBHYH9MuE9d 6oGl8pFM1+cTfEfbM62/rRoPkF1yHMsI/903VxEvuUIKfhEZAVLFyHldooNxuchntHQP9y8J 8Ou9bWYQP7MnEn+kwSwrZkjurfPkan+xQvp6dDYnj3V0GwA5pprBMaB928VIDVOv+1PNQI3t Cvk5VPv/skq+TJRMHW7bFSt8PRa91cUf1FOLIz9APDiJOzXkwxUEHGV3zPSaUhs1JYjyBeGT wDAvtLUdjOnRhEUOwlnIrztmvyciutjJoVzKEEjj5WXnHk9L9kQ1bpAjkjTONw== In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 9/5/25 14:57, Nuno Teixeira wrote: > For people that turn off debug on main, should WITH_PTHREADS_ASSERTIONS be > turned off? > > e.g. > /etc/src.conf: > WITH_MALLOC_PRODUCTION=yes > WITHOUT_LLVM_ASSERTIONS=yes According to commit 642cd511028b running WITHOUT_PTHREADS_ASSERTIONS improves mutex performance by 5-18%. So yes if you want maximal performance on HEAD you should probably turn this off. Colin Percival > > Thanks, > > Colin Percival > escreveu > (sexta, 5/09/2025 à(s) 22:36): > > The branch main has been updated by cperciva: > > URL: https://cgit.FreeBSD.org/src/commit/? > id=af60084978a43632c5ab2d6e3aca41be7a658d8c commit/?id=af60084978a43632c5ab2d6e3aca41be7a658d8c> > > commit af60084978a43632c5ab2d6e3aca41be7a658d8c > Author:     Colin Percival > AuthorDate: 2025-09-05 21:29:51 +0000 > Commit:     Colin Percival > CommitDate: 2025-09-05 21:35:53 +0000 > >     Add description for WITH_PTHREADS_ASSERTIONS > >     This option is turned on by default in -CURRENT but will be turned off >     in 15-STABLE; this description will land in the src.conf(5) man page >     in that branch. > >     MFC after:      1 minute > --- >  tools/build/options/WITH_PTHREADS_ASSERTIONS | 1 + >  1 file changed, 1 insertion(+) > > diff --git a/tools/build/options/WITH_PTHREADS_ASSERTIONS b/tools/build/ > options/WITH_PTHREADS_ASSERTIONS > new file mode 100644 > index 000000000000..03c15b76fb85 > --- /dev/null > +++ b/tools/build/options/WITH_PTHREADS_ASSERTIONS > @@ -0,0 +1 @@ > +Enable debugging assertions in pthreads library. > > > > -- > Nuno Teixeira > FreeBSD UNIX:     Web: https://FreeBSD.org FreeBSD.org> -- Colin Percival FreeBSD Release Engineering Lead & EC2 platform maintainer Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid From nobody Fri Sep 5 22:27:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJWDl6pZ2z66VZg for ; Fri, 05 Sep 2025 22:27:19 +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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJWDl6F6xz3snq for ; Fri, 05 Sep 2025 22:27:19 +0000 (UTC) (envelope-from eduardo@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757111239; 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=+VspQllLwpa2bo5N3/9whfwCPaQopHiQgTvaH238TvM=; b=WQqvrJahH48WmNSS9CIVdOXYYx54Z2K/s+tYB+B+FzgPpxeRIoOj92ZsIheNTDFPv3XXq2 J9rDOOJOLTC9xW1o5743ZX8JpOQddugoMQUltJZQgvXbqF8BVHr+BQNAV31FllVHbXEPfS VESqiKl8pVuiRiKfHzB4lgSQObOobsG5EMACDJ08UEDYlxfpwsUD9jw/Enq5NKkZOViD18 QMNIFKnPdaimzHgN4/En+KA0QD4MdPJQfCbpR19VnVordUGnj32AHPYVZTbnj3Hti6xST8 4LOXjJN8oAfTJBK24DwHtxMcok/cg5la53ooNwCO63Qxz7PRutPd/hFdSQyKlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757111239; 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=+VspQllLwpa2bo5N3/9whfwCPaQopHiQgTvaH238TvM=; b=Av2l9fbTIKbFTmcDzMShYKbFlhkAXOY2DVKiINKULceXqvKe6xjnOazsPe9PzcD+feV98C gql5+uD+0H9hX9moWA8/s+bQ5Mk7sMQnw2vbpja2zelumA3SYhK4sAECFcamUwKUaqmJxC R8sPVna9Pp6xTMjbRSyhPdrIwyC8RmTwEM/axHJyTUKF6Wf0v2Vo1a3NMiOzzBnnxpbZ5a sAqiwp9UtjlRoEVNQXv9NOjYmzJnmjaNkNb/qiSC0i2ermuB5YiX72VW+NjV8fj6AJtpM6 IaDLfsIBhO8kDHpw2fZwsfIJCx+qrQ8tNf4wySfdOxZIN+vs/JK4vGWnJDcVIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757111239; a=rsa-sha256; cv=none; b=xUAsEfGEnUbvQUl0NW8UMLp2Q3aovp/ywLpeiNupBT9o2V3xtSIqA1wK1II9hbURS4kVs1 /2VdaHa4un+oYm+veaU7UKicUn9RZrxhCdX5ATjguYLHrJTP7fi79qQbUfiJUfyif5g//5 gpegWcVuvt766b2V4XDpVonWPMJRw8wASmJlhDC8qh6wW8eDLMR4BGcjyjBQUm61HWwBsU 4FZT+/YjOBt+4Fn4m8GA97azDjHf29h0q68VXA6fMmQXZWC8rcLC1t8k/g2zkVDmgruZ2B HBISP73xSuwb/vhE1bgdr5s+wUe1SSfCx6IRKGb1tIj4RUt20UOocWIOU5WXcA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from mail-qk1-f170.google.com (mail-qk1-f170.google.com [209.85.222.170]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) (Authenticated sender: eduardo) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJWDl5VMTz1BM4 for ; Fri, 05 Sep 2025 22:27:19 +0000 (UTC) (envelope-from eduardo@freebsd.org) Received: by mail-qk1-f170.google.com with SMTP id af79cd13be357-80ad43a6ac9so30748385a.2 for ; Fri, 05 Sep 2025 15:27:19 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCVtm8mNUaXU/xvHn8GfFOCdsOezLFWNVkf5L3PhXfCPqu4YgDMibvcU+4tcbVBCVYmgZ93jPnxv9DfeSQzDhPr6u71org==@freebsd.org X-Gm-Message-State: AOJu0Ywny+12gFvrxe8D+WDOmO8v/DRu8YeyQ0SZ4fb0G8Zwj6rdkPgK V6cIAvYEYpYyh6YGVjBLtUuDRl9XOwVuhOq+rj3thSGh7UYfmJfK3FcMvUcC+u/FUvANUXBnkhJ YdSMofWv/yVifDkW5lXRHCSZhgXlJKuI= X-Google-Smtp-Source: AGHT+IFI9WzDmIS846WBnkVYCNnOoeLgwmMGB9E168y2YFhwNQszQCeq4so2Ubuu4HmKdmsmxMCxsclvIFFYj9cNn4I= X-Received: by 2002:a05:622a:24f:b0:4b5:f066:13d0 with SMTP id d75a77b69052e-4b5f83da97fmr2418941cf.6.1757111239265; Fri, 05 Sep 2025 15:27:19 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202509052136.585La5mx020210@gitrepo.freebsd.org> <61bbeec6-6784-4c17-ac14-c1f5f5b68366@freebsd.org> In-Reply-To: <61bbeec6-6784-4c17-ac14-c1f5f5b68366@freebsd.org> From: Nuno Teixeira Date: Fri, 5 Sep 2025 23:27:07 +0100 X-Gmail-Original-Message-ID: X-Gm-Features: Ac12FXzGgAu79aDXQYposjeS0kcWj74T3YYknX0JI2Y40kH5jWflCuzbqQwvl-o Message-ID: Subject: Re: git: af60084978a4 - main - Add description for WITH_PTHREADS_ASSERTIONS To: Colin Percival Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000003f5638063e155769" --0000000000003f5638063e155769 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks for the hint, I missed 642cd511028b . Think I'm good now: /etc/src.conf WITH_MALLOC_PRODUCTION=3Dyes WITHOUT_LLVM_ASSERTIONS=3Dyes WITHOUT_PTHREADS_ASSERTIONS=3Dyes Cheers! Colin Percival escreveu (sexta, 5/09/2025 =C3=A0(s) 23:07): > On 9/5/25 14:57, Nuno Teixeira wrote: > > For people that turn off debug on main, should WITH_PTHREADS_ASSERTIONS > be > > turned off? > > > > e.g. > > /etc/src.conf: > > WITH_MALLOC_PRODUCTION=3Dyes > > WITHOUT_LLVM_ASSERTIONS=3Dyes > > According to commit 642cd511028b running WITHOUT_PTHREADS_ASSERTIONS > improves > mutex performance by 5-18%. So yes if you want maximal performance on HE= AD > you should probably turn this off. > > Colin Percival --0000000000003f5638063e155769 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks for the hint, I missed=C2=A0642cd511028b .

Think I'm good now:

/etc= /src.conf
WITH_MALLOC_PRODUCTION=3Dyes
WITHOUT_LLVM_ASSERTIONS= =3Dyes
WITHOUT_PTHREADS_ASSERTIONS=3Dyes

Cheers!


Colin Percival <= cperciva@freebsd.org> escrev= eu (sexta, 5/09/2025 =C3=A0(s) 23:07):
On 9/5/25 14:57, Nuno Teixeira wrote:
> For people that turn off debug on main, should=C2=A0WITH_PTHREADS_ASSE= RTIONS be
> turned off?
>
> e.g.
> /etc/src.conf:
> WITH_MALLOC_PRODUCTION=3Dyes
> WITHOUT_LLVM_ASSERTIONS=3Dyes

According to commit 642cd511028b running WITHOUT_PTHREADS_ASSERTIONS improv= es
mutex performance by 5-18%.=C2=A0 So yes if you want maximal performance on= HEAD
you should probably turn this off.

Colin Percival
--0000000000003f5638063e155769-- From nobody Fri Sep 5 23:17:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXLN2LPMz66Y8j; Fri, 05 Sep 2025 23:17:16 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXLN1Ry4z3xvN; Fri, 05 Sep 2025 23:17:16 +0000 (UTC) (envelope-from bz@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114236; 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=rkaxw/EzKNrNh0q3FYjzMys7aaVu/42ci/ANk6bijZI=; b=kFs/7kV7Q524wdbIPu9aymo4Flt2aBbX5H8lkUqDWFazDLXrHhbRGHJtuJKmaynRBTGr3O hkWi1Gl1v029AdvVGmMzLXoI+Id6VPCblhUkfkoJaD8lCcL0fzZSbht7yiKLuNJ5BVsCYM X/Z6XCJ8QEhHEB39K7s7jzTWwMNh2pVjO1Z5greeJiSKI7IPNZ8s600ZmbX6q7FGBQg4Bk 75zWmhFJXKr0A+UCE3Hh4r1KPO2I5SRR+R0T0tF8FzxXflSCXxpdx2yqReRSkt80FZE/0f w86nwRbAbWGjHU5tVYqo0PgjPNaG08OAVjfr2r7QjWZKeE9Q+yPk1w8f//jvpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114236; 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=rkaxw/EzKNrNh0q3FYjzMys7aaVu/42ci/ANk6bijZI=; b=FGxt5qoMz6Yx52zBEnXhjhLI6ST9mpde8cSjZOhuozxfZ3WLy23cWo/ZgAoG8K07r1//dd /iBJUMDiTs4yGDwYp+xALzFX7r2asX77afU3Hd9pHybLh2fptnvaUFnMd2R7ZpsTz6c0QI fqvmnGWIPl6laNZTI4jlS87bT/tBU9wif9C/f0Qdq4D/y6Zi37UkaUmQl75oh+cTVnDQae DSWZ5EuKpUKdPz+Bibgn0vJr6rB8BwxCeAg3wWABVsVJEi0JzmRRC9yDAkS19SN/eFDR7s /jpyOEJXmKChVBTWrfjCFOyuDzOCc/kQGDNcyOSqRVgoQLTEFlZvPUvkCO0X7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114236; a=rsa-sha256; cv=none; b=OPvQ2ORPVOW+b4WFTWvVZlvvlo3IpTyugC3APVVxWJEZnPnOcfvcjYWYcEe4fY0NjgM0LZ BnFwhznv6n6i49j1CMkEYmOBMuqHbPXiFPOD/CY/3B82/kh17Xn4PZVYyZ1qd4usL2cka8 NqzZSUGYtC0Ik/3222OUvIg0aQO5coN2fahiNQRAVSa9ZhhLukwhndL4IldnR7ripzHBao IlHTXgFYvKV3PetpqAKXtYxofJIRTC5q6sOT3L/4iWVu6wXxQO7TBKpTTbTZQhpaRWxpWF pEDln0aQAl9caVtUXiHMnCDiN4tvgVotPW/A4kpPW+FuLTxYmOJMCPiPV5mPSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E6" (verified OK)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJXLM5NdDz1CSt; Fri, 05 Sep 2025 23:17:15 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id 54E42A64805; Fri, 05 Sep 2025 23:17:05 +0000 (UTC) Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 0EF8C2D029E3; Fri, 5 Sep 2025 23:17:13 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id Ml97G5KF7cr9; Fri, 5 Sep 2025 23:17:11 +0000 (UTC) Received: from strong-iwl0.sbone.de (strong-iwl0.sbone.de [IPv6:fde9:577b:c1a9:4902:a66b:b6ff:fe40:39a9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id AA3FB2D029D8; Fri, 5 Sep 2025 23:17:11 +0000 (UTC) Date: Fri, 5 Sep 2025 23:17:11 +0000 (UTC) From: "Bjoern A. Zeeb" To: Kristof Provost , Reid Linnemann cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 9e792f7ef729 - main - sys/netinet6: Fix SLAAC for interfaces with no /64 LL address In-Reply-To: <202509052153.585LrUjo056473@gitrepo.freebsd.org> Message-ID: <8rq4s287-pq47-58no-9r1o-p3o7659s0n60@SerrOFQ.bet> References: <202509052153.585LrUjo056473@gitrepo.freebsd.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset=US-ASCII On Fri, 5 Sep 2025, Kristof Provost wrote: Hi, > The branch main has been updated by kp: > > URL: https://cgit.FreeBSD.org/src/commit/?id=9e792f7ef7298080c058fbc2d36a4e60e596dae9 > > commit 9e792f7ef7298080c058fbc2d36a4e60e596dae9 > Author: Reid Linnemann > AuthorDate: 2025-09-05 19:57:44 +0000 > Commit: Kristof Provost > CommitDate: 2025-09-05 21:48:48 +0000 > > sys/netinet6: Fix SLAAC for interfaces with no /64 LL address > > in6_ifadd() asserts that an interface has an existing LL address with a /64 > prefix from which to extract the ifid for SLAAC address selection (even though > the comments suggest that an ifid will be generated if one does not exist). This > is adequate for most generic cases, however to support PPP links with /128 LL > addresses we must be able to fall back on another source for the ifid since we > cannot assume the /128 LL has a unique ifid in the lower 64 bits. Excuse my ignorance but where do you have a IPv6 LL/128 on a PPP link? I am totally suprised given this hasn't been a problem in about 25 years and I wonder what software this is or what got broken where? Okay, I scrolled through the review. I see I am the third person asking the same question as the intial intuitive reply. I was intiially tempted to say 'please back this out' but see the end. For (1) do not start applying IPv4 to IPv6 just because. It's not just a different number, it is also different concepts. People said this 20 years ago and still do. (2) Both of you talk about PPPoE in the review which tells me something got wrong as that is a totally different protocol and has nothing to do with IIDs. Selecting an appropriate LL for IPV6CP can be done entirely in user space for protocol negotiations. And to my memory we have no IPV6CP implementation in the kernel to require anything different. I don't know what the mentioned if_pppoe.ko is but if this is a convoluted implenentation in-kernel incl. protocol negotiations then I am tempted to say you are off on your own with that, especially if you want to do things differently. Looking what Linux is doing is not always the best source of truth. Please follow what the IPV6CP RFC (got updated since I last implemented it 20-something years ago I have to admit) says and you end up with a /64 LL on the interface and your problem is solved. Your negotiated LOCAL_LL (fe80::LOCAL_IID/64) address goes onto the IF: IF: flags=1008051 metric 0 mtu 1492 options=80000 inet ... inet6 LOCAL_LL%IF prefixlen 64 scopeid 0x inet6 ... nd6 options=122 You get an entry in the routing table: fe80::%IF/64 link#11 US IF and possibly a default REMOTE_LL%IF UGS IF if you decide to install a default route. Other routes I would assume are installed on the link but I assume you could chose the REMOTE_LL%IF as well if you wanted to complicate things. So I crystal-ball that your real problem could have been stated that you may need to get the IID for IPV6CP negotiations in-kernel? If that is not the case, then I am still lost as-to what you are trying to accomplish. But then you'd still never need the /128. So maybe I am just lsot. .. > To do this, the static function get_ifid() in in6_ifattach.c is renamed to > non-static in6_get_ifid(), and this is used in lieu of a proper /64 LL address > to attempt to obtain a valid ifid. .. Now we can start arguing if we forget most of the explanation about PPP[not oE], if it makes sense to keep this? But then we should fix style, avoid unneeded initializations, etc. which should have been caught in proper review in first place. I assume the entire thing up there and in review distracted from the actual case more than it was good for. Sadly the commit message also kept carrying that forward. So the change is probably right, the description is not? If I am guessing right, are you going to fix style, etc.? Might want a test case for the extra condition added which I have not cross-checked yet either for all possible cases? ... > Reviewed by kp > Sponsored by: Rubicon Communications, LLC ("Netgate") > Differential Revision: https://reviews.freebsd.org/D51778 > --- > sys/netinet6/in6_ifattach.c | 7 +++--- > sys/netinet6/in6_ifattach.h | 1 + > sys/netinet6/nd6_rtr.c | 54 ++++++++++++++++++++++++++++++++------------- > 3 files changed, 43 insertions(+), 19 deletions(-) -- Bjoern A. Zeeb r15:7 From nobody Fri Sep 5 23:28:54 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXbp59Xnz66YlB; Fri, 05 Sep 2025 23:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXbp4RZCz40d0; Fri, 05 Sep 2025 23:28:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ierpl8s0/NYGFCIU2ebi0HGnvgGo7LJtYNuJLdZwUl0=; b=p+n9hhmDsZu9dBRqUNPeuHtjG0YpQ4jSkdmjNNbdKlUKW6HbAz87FlgLuwrIdKqVYSUq4T +zV37dYw0FA0CSWg0S4RfaBQGqHD2CxW5jadHRFTCNyauJrdGF6mdZTH8Ik5M5ID/hY3Ex dmIQ7VyK5l41X3F+K9uwjAgyoZeAsAvezpO9f7i/nWuK2xW0KBdSLEigRO9/BmNrtij2cl 3pfV5C4X6IE//seziztUypwQoXJa72vQ13DnNVq02qGKU3xXmhlANumWEi4zmma0EVghcK OJ4hnts0bh20W426IjbAchWWRSmNCViiO1jzqQVcP/lgH7YwwenYATDuWKJ4NA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ierpl8s0/NYGFCIU2ebi0HGnvgGo7LJtYNuJLdZwUl0=; b=WlaCn+J6Gr0K66xzuE6r7NzWzOhkh72KATpb5VyaKIS6rbuBKVxgR1A8sT2KIMRLV2g65V P4PtTwE8Ojjr5KUKaAR9YAfDMSg/O6JiAIFl6jx4VpwM3cKaeFIGLbhqW9H11OOxOt9wKt fNk13jd/aaMvNw3uyeQoCVOwZfFB7YyeD+bxwYwLMO8hK1+HRJLunvN6g5mHyr77WR5HwN DYCyiuerz8dT+Os8lV28Dp6FiH9eMqxubxSLjskV9G/pM0+62WtghWGYNcM1wA/NR4PCgU 8RgERBBU6zvDo38lSSnRrfYPUAQ3QyjXuwqBP+Jj1fYnQUtqICGMv9VoWoRocw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114934; a=rsa-sha256; cv=none; b=hy3CzG5YmdqPdmXR1x+4xpurTnnNr6x4VHDWQTT+4b0j6ldoIGjgf214ffl8ersG26QlH0 oU9AQfsCHdGAxtZT0ynxdcOemWULFew4O5O6/sMCv9wmoDn6y15iogma8QUSKrNmxFe7ZK HfRmZjCVPxS15YG3fJnnfT7no2XfEh4TaiGbxWlPB2wX9ecsg333IoQ2yX0msdafGjPTjk yy7jhBRpyUIhjv6y2Szo78PAvudJhRnAXpxFm14PaA6Y51EaDd/hlLCTshwx1HkZnJ0QYt ByfcvMKsQEm6exqDinwMyWSMkvaNWzht5z9QEm07VeYFmrHkrxU+OzvHAngcUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXbp42rJz18Pv; Fri, 05 Sep 2025 23:28: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 585NSs9o029008; Fri, 5 Sep 2025 23:28:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NSs1h029005; Fri, 5 Sep 2025 23:28:54 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:28:54 GMT Message-Id: <202509052328.585NSs1h029005@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: 910cf345d0ee - main - LinuxKPI: pci: implement for_each_pci_dev() and improve pci_get_device() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 910cf345d0ee9a5d72856a1ba35382eb4f0db951 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=910cf345d0ee9a5d72856a1ba35382eb4f0db951 commit 910cf345d0ee9a5d72856a1ba35382eb4f0db951 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:20:15 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:13 +0000 LinuxKPI: pci: implement for_each_pci_dev() and improve pci_get_device() Implement for_each_pci_dev() needed by a wireless driver update. For that also improve pci_get_device() and add the functionality to support the odev argument to start searching from that. Sponsored by: The FreeBSD Foundation (intially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52066 --- sys/compat/linuxkpi/common/include/linux/pci.h | 3 +++ sys/compat/linuxkpi/common/src/linux_pci.c | 12 +++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 3fd4191b9917..df29af87f160 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -1445,6 +1445,9 @@ linuxkpi_pci_get_device(uint32_t vendor, uint32_t device, struct pci_dev *odev) return (lkpi_pci_get_device(vendor, device, odev)); } +#define for_each_pci_dev(_pdev) \ + while ((_pdev = linuxkpi_pci_get_device(PCI_ANY_ID, PCI_ANY_ID, _pdev)) != NULL) + /* This is a FreeBSD extension so we can use bus_*(). */ static inline void linuxkpi_pcim_want_to_use_bus_functions(struct pci_dev *pdev) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index d5bbbea1eb2c..00d4a25e86ed 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -289,12 +289,18 @@ lkpi_pci_get_device(uint32_t vendor, uint32_t device, struct pci_dev *odev) { struct pci_dev *pdev, *found; - KASSERT(odev == NULL, ("%s: odev argument not yet supported\n", __func__)); - found = NULL; spin_lock(&pci_lock); list_for_each_entry(pdev, &pci_devices, links) { - if (pdev->vendor == vendor && pdev->device == device) { + /* Walk until we find odev. */ + if (odev != NULL) { + if (pdev == odev) + odev = NULL; + continue; + } + + if ((pdev->vendor == vendor || vendor == PCI_ANY_ID) && + (pdev->device == device || device == PCI_ANY_ID)) { found = pdev; break; } From nobody Fri Sep 5 23:28:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXbq6qFYz66Yhb; Fri, 05 Sep 2025 23:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXbq5QJdz40PG; Fri, 05 Sep 2025 23:28:55 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nUIXpuDKpHu/tb3WCvxmidYRQNIfx8g4DRe8aCfeni0=; b=kbQPJJX2BPtb7SK3csK3lLd8PgZl6+GuZPyzABkrTsU62WBaPAP9uMqVHsyE7Or57+doPR jYbl71EVVzlu4jogDFSDaf3T7W5j0G4W0dNw+9A46ISOPsxRuFMh4I1t7erZI32YEUMeIb cNQ1UOZNyCluZkJDFQSwBSfEensxGT8LnaPcnEXrTBX2S2YCWEvVqecTBpzSSm6/RPxBW0 1iMKRwbq9ETjkh5hX+sg36w9zAQHNxeuN4fkPA7qa4kUW9nYHeVGEujUWkO0F6+dbCN4DD QrVV7u6GG+4nvm4vCQFnRxlUvBovmdKxQT3DcIP8S1JlnxlNlKkXF90uop1t6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114935; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nUIXpuDKpHu/tb3WCvxmidYRQNIfx8g4DRe8aCfeni0=; b=E23cV9lsH7NV8dIqaXyqYT6tJFCz/LWqM6URwZN2bPX1boTrRvQG7qVx6L3fDw0Ro50ku6 ESsPaoz74MBVOkogp7RB+40l0VKjT/wqfcPL3+j+kReX4MEO5RF3EZUUSFukU7ZjQkj3+S 22O6rJlGQiN4I7Ul6jeeu/TVjDbkEPZQTiR+suYuEytQ44zJ1Cc4x4oqnjBZoLmCXc6iHd /Vn0titzZMULQBDLzf0rtoSKINtWsguR+Q4rh3Awmt6f7t08EUwhUpI0ooPeFG7xhVmAr1 ubeVWUnmcYn+7uc+fGzJxXGJSB9UzpmR6SzdUqh3l7bWr7Tt1SuFzJzyJNk9pQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114935; a=rsa-sha256; cv=none; b=krJ6WSWedDwPvktHnDo+q7C682tgVS3WI5al5WeeGBjDhSRE7WvHomjZEuPQV1B3J4+F9K kbnVr7oVuG+nvVI+minwD2UApz5rfg/5L8FzV1MfWM6o40OKykGShfKKlu1BFS0KhjAefC AoKu4l1jYocsmOxiqriDdbtsMXc7XpkLBoXvlTVvpQBm9Rdvi2a9MAAruEDSPHPms5S0c/ WEySrHLS9Qt3BSNyotaZBJNU9oavhWHzUsl9WyrYkmsiz+2XZz+9lqlOOGgsnEuS+rU2CS Sldf7nABqth7D6Ayxkq081GVJxLJBv3KlVgO6ReVHqTZlzvSIRXe7eVKMQDy4Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXbq51XDz18Pw; Fri, 05 Sep 2025 23:28: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 585NStAu029050; Fri, 5 Sep 2025 23:28:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NStlC029045; Fri, 5 Sep 2025 23:28:55 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:28:55 GMT Message-Id: <202509052328.585NStlC029045@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: 2f9064a5d2b5 - main - LinuxKPI: pci: implement pcim_iomap() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2f9064a5d2b50f292cc8699d2be5c66c317f1dc7 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=2f9064a5d2b50f292cc8699d2be5c66c317f1dc7 commit 2f9064a5d2b50f292cc8699d2be5c66c317f1dc7 Author: Bjoern A. Zeeb AuthorDate: 2025-07-31 17:45:26 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:13 +0000 LinuxKPI: pci: implement pcim_iomap() Like pci_iomap() add the devres version pcim_iomap() using the former to get the resource. Add a helper function to validate that the bar is within a valid range and sprinkle that check also to other related functions. Sponsored by: The FreeBSD Foundation (intially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52067 --- sys/compat/linuxkpi/common/include/linux/pci.h | 3 ++ sys/compat/linuxkpi/common/src/linux_pci.c | 58 +++++++++++++++++++++++++- 2 files changed, 59 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index df29af87f160..49d2cd79d474 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -365,6 +365,7 @@ void __iomem **linuxkpi_pcim_iomap_table(struct pci_dev *pdev); void *linuxkpi_pci_iomap_range(struct pci_dev *, int, unsigned long, unsigned long); void *linuxkpi_pci_iomap(struct pci_dev *, int, unsigned long); +void *linuxkpi_pcim_iomap(struct pci_dev *, int, unsigned long); void linuxkpi_pci_iounmap(struct pci_dev *pdev, void *res); int linuxkpi_pcim_iomap_regions(struct pci_dev *pdev, uint32_t mask, const char *name); @@ -803,6 +804,8 @@ static inline void pci_disable_sriov(struct pci_dev *dev) linuxkpi_pci_iomap_range(pdev, mmio_bar, mmio_off, mmio_size) #define pci_iomap(pdev, mmio_bar, mmio_size) \ linuxkpi_pci_iomap(pdev, mmio_bar, mmio_size) +#define pcim_iomap(pdev, bar, maxlen) \ + linuxkpi_pcim_iomap(pdev, bar, maxlen) #define pci_iounmap(pdev, res) \ linuxkpi_pci_iounmap(pdev, res) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 00d4a25e86ed..44024e495bb2 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -145,6 +145,23 @@ struct linux_dma_priv { #define DMA_PRIV_LOCK(priv) mtx_lock(&(priv)->lock) #define DMA_PRIV_UNLOCK(priv) mtx_unlock(&(priv)->lock) +static void +lkpi_set_pcim_iomap_devres(struct pcim_iomap_devres *dr, int bar, + void *res) +{ + dr->mmio_table[bar] = (void *)rman_get_bushandle(res); + dr->res_table[bar] = res; +} + +static bool +lkpi_pci_bar_id_valid(int bar) +{ + if (bar < 0 || bar > PCIR_MAX_BAR_0) + return (false); + + return (true); +} + static int linux_pdev_dma_uninit(struct pci_dev *pdev) { @@ -763,6 +780,9 @@ _lkpi_pci_iomap(struct pci_dev *pdev, int bar, unsigned long maxlen __unused) struct pci_mmio_region *mmio, *p; int type; + if (!lkpi_pci_bar_id_valid(bar)) + return (NULL); + type = pci_resource_type(pdev, bar); if (type < 0) { device_printf(pdev->dev.bsddev, "%s: bar %d type %d\n", @@ -803,6 +823,9 @@ linuxkpi_pci_iomap_range(struct pci_dev *pdev, int bar, { struct resource *res; + if (!lkpi_pci_bar_id_valid(bar)) + return (NULL); + res = _lkpi_pci_iomap(pdev, bar, maxlen); if (res == NULL) return (NULL); @@ -816,9 +839,41 @@ linuxkpi_pci_iomap_range(struct pci_dev *pdev, int bar, void * linuxkpi_pci_iomap(struct pci_dev *pdev, int bar, unsigned long maxlen) { + if (!lkpi_pci_bar_id_valid(bar)) + return (NULL); + return (linuxkpi_pci_iomap_range(pdev, bar, 0, maxlen)); } +void * +linuxkpi_pcim_iomap(struct pci_dev *pdev, int bar, unsigned long maxlen) +{ + struct pcim_iomap_devres *dr; + void *res; + + if (!lkpi_pci_bar_id_valid(bar)) + return (NULL); + + dr = lkpi_pcim_iomap_devres_find(pdev); + if (dr == NULL) + return (NULL); + + if (dr->res_table[bar] != NULL) + return (dr->res_table[bar]); + + res = linuxkpi_pci_iomap(pdev, bar, maxlen); + if (res == NULL) { + /* + * Do not free the devres in case there were + * other valid mappings before already. + */ + return (NULL); + } + lkpi_set_pcim_iomap_devres(dr, bar, res); + + return (res); +} + void linuxkpi_pci_iounmap(struct pci_dev *pdev, void *res) { @@ -870,8 +925,7 @@ linuxkpi_pcim_iomap_regions(struct pci_dev *pdev, uint32_t mask, const char *nam res = _lkpi_pci_iomap(pdev, bar, 0); if (res == NULL) goto err; - dr->mmio_table[bar] = (void *)rman_get_bushandle(res); - dr->res_table[bar] = res; + lkpi_set_pcim_iomap_devres(dr, bar, res); mappings |= (1 << bar); } From nobody Fri Sep 5 23:28:56 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXbs0zD1z66Yhg; Fri, 05 Sep 2025 23:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXbr687Gz40TL; Fri, 05 Sep 2025 23:28:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Of8rpB2aFu4lGH/uw4A2n/NwxUaaSa3lW3ASo8wxAgo=; b=jBnymP2Ok/5kFVlVCaiZyM41GglQICE0iKE2eN+RmQVTtvSmo38HoZddRIsEsIDATgyn3Q jwTWNzdQ6ZsMH1LrzKUAnC27XSJoPwHLRYAiAqNXkJ3umaQogeIigsryPWs9e4VpX2ecHM XEtftw9nbsLaBfB3+HkWnAsz3MRNohYW6R8ESk1nju2SJu5M5yJH+pMKsT5sI/vqHm2N8D JkEanwyVerjm81EuyOzmobOKLDDlp4JzwjkyFZDdwLQWa+OkUH4hVMviO8dosuLmB/oMLy 87nWdFn0uTaHqtUpWucjmX8x7lX0+mfjbv324pcXjMJVAtX4nvWPwzMJcqfhGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114936; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Of8rpB2aFu4lGH/uw4A2n/NwxUaaSa3lW3ASo8wxAgo=; b=eE3CMCoew9UljTY/qguXRHvALO0vVXPLIxCN3jgeuy6v0QKF22XCBHrkUbMNoGwWe3P5rh 0qOnpFL8WX0rl3KC1yypC/djsDSVtjee7CvbOcB/Qw2yKZQXi68+7RsSmdyszKxriJ6y0Q zVKUHDryIe7Ol0B9th4paKCiy6FBLJchpKW7gVMHn7YogsSAjFOBua8DXiJIgQGOkl1Kl0 Qpkf6hoNYSe7F5q8DxOT9439QUSEYAm2RR5eiTRuAsxgeL+CIsmlmfxZCVMdNpXAQWuWGs UP7iwSGOeuDQT+F94tCoXEY0EHiUQVD1fWAojPjkP3JY+GoxWdhN8VHGFmSFVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114936; a=rsa-sha256; cv=none; b=PRuvowuW4B4JnWZwRuoid4WGztwpHSdtQXeqPaG45qKdhQJYdt1Ovrr5QC8pTzeRHyKGxQ gXRRA90DMbxf9x2MDn6lTkGGsyrVLDlKPugDjP6igD0KPhqabaZcMR/AKPE5Vri1c1zjWQ wCmHaMAqHEpg2khMqvuvy2zN0966JXiXBm2qi2aZp9PqmdlLG8tCGdAZJ68tWzA6MGIZiu CNcSI0vOKOjI/piJpR+xlhs1eSUb6eYE1LSMMxJFwQc543P+ierIwWDngMcKBTU4a7ZZfY NUcaVjjOKuijTsS8PTliIzxyr8bWedcdOvkSFHJI50NM2YwC2WlbRoMIzVs5PQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXbr5fMSz17n0; Fri, 05 Sep 2025 23:28: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 585NSutD029089; Fri, 5 Sep 2025 23:28:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NSuUB029086; Fri, 5 Sep 2025 23:28:56 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:28:56 GMT Message-Id: <202509052328.585NSuUB029086@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: 7e21158d44cd - main - LinuxKPI: pci: implement [linuxkpi_]pcim_request_all_regions() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 7e21158d44cd46e720395604ca6f00f2fa36b20c Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7e21158d44cd46e720395604ca6f00f2fa36b20c commit 7e21158d44cd46e720395604ca6f00f2fa36b20c Author: Bjoern A. Zeeb AuthorDate: 2025-07-31 18:28:22 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:13 +0000 LinuxKPI: pci: implement [linuxkpi_]pcim_request_all_regions() Factor out the pci_request_region() implementation into an internal function and make pci_request_region() a simple wrapperaround it. Likewise implement pcim_request_all_regions() as a loop calling pci_request_region() for each entry. In two cases which we returned an error before (bar index is valid but bar is not (no len), and neither IO nor MEM) we now reutrn success (nothing to do for us). Otherwise callers, especially pcim_request_all_regions() would error out for the wrong reasons. This seems to also match the expected behaviour of pci_request_region(). Sponsored by: The FreeBSD Foundation (intially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52068 --- sys/compat/linuxkpi/common/include/linux/pci.h | 11 ++++-- sys/compat/linuxkpi/common/src/linux_pci.c | 55 ++++++++++++++++++++++---- 2 files changed, 56 insertions(+), 10 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h index 49d2cd79d474..d891d0df3546 100644 --- a/sys/compat/linuxkpi/common/include/linux/pci.h +++ b/sys/compat/linuxkpi/common/include/linux/pci.h @@ -355,7 +355,6 @@ struct pci_dev { TAILQ_HEAD(, pci_mmio_region) mmio; }; -int pci_request_region(struct pci_dev *pdev, int bar, const char *res_name); int pci_alloc_irq_vectors(struct pci_dev *pdev, int minv, int maxv, unsigned int flags); bool pci_device_is_present(struct pci_dev *pdev); @@ -369,7 +368,9 @@ void *linuxkpi_pcim_iomap(struct pci_dev *, int, unsigned long); void linuxkpi_pci_iounmap(struct pci_dev *pdev, void *res); int linuxkpi_pcim_iomap_regions(struct pci_dev *pdev, uint32_t mask, const char *name); +int linuxkpi_pci_request_region(struct pci_dev *, int, const char *); int linuxkpi_pci_request_regions(struct pci_dev *pdev, const char *res_name); +int linuxkpi_pcim_request_all_regions(struct pci_dev *, const char *); void linuxkpi_pci_release_region(struct pci_dev *pdev, int bar); void linuxkpi_pci_release_regions(struct pci_dev *pdev); int linuxkpi_pci_enable_msix(struct pci_dev *pdev, struct msix_entry *entries, @@ -562,12 +563,16 @@ done: return (pdev->bus->self); } +#define pci_request_region(pdev, bar, res_name) \ + linuxkpi_pci_request_region(pdev, bar, res_name) #define pci_release_region(pdev, bar) \ linuxkpi_pci_release_region(pdev, bar) -#define pci_release_regions(pdev) \ - linuxkpi_pci_release_regions(pdev) #define pci_request_regions(pdev, res_name) \ linuxkpi_pci_request_regions(pdev, res_name) +#define pci_release_regions(pdev) \ + linuxkpi_pci_release_regions(pdev) +#define pcim_request_all_regions(pdev, name) \ + linuxkpi_pcim_request_all_regions(pdev, name) static inline void lkpi_pci_disable_msix(struct pci_dev *pdev) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 44024e495bb2..7db8af8e88f9 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -1159,8 +1159,9 @@ pci_resource_len(struct pci_dev *pdev, int bar) return (rle->count); } -int -pci_request_region(struct pci_dev *pdev, int bar, const char *res_name) +static int +lkpi_pci_request_region(struct pci_dev *pdev, int bar, const char *res_name, + bool managed) { struct resource *res; struct pci_devres *dr; @@ -1168,9 +1169,20 @@ pci_request_region(struct pci_dev *pdev, int bar, const char *res_name) int rid; int type; + if (!lkpi_pci_bar_id_valid(bar)) + return (-EINVAL); + + /* + * If the bar is not valid, return success without adding the BAR; + * otherwise linuxkpi_pcim_request_all_regions() will error. + */ + if (pci_resource_len(pdev, bar) == 0) + return (0); + /* Likewise if it is neither IO nor MEM, nothing to do for us. */ type = pci_resource_type(pdev, bar); if (type < 0) - return (-ENODEV); + return (0); + rid = PCIR_BAR(bar); res = bus_alloc_resource_any(pdev->dev.bsddev, type, &rid, RF_ACTIVE|RF_SHAREABLE); @@ -1183,11 +1195,16 @@ pci_request_region(struct pci_dev *pdev, int bar, const char *res_name) /* * It seems there is an implicit devres tracking on these if the device - * is managed; otherwise the resources are not automatiaclly freed on - * FreeBSD/LinuxKPI tough they should be/are expected to be by Linux - * drivers. + * is managed (lkpi_pci_devres_find() case); otherwise the resources are + * not automatically freed on FreeBSD/LinuxKPI though they should be/are + * expected to be by Linux drivers. + * Otherwise if we are called from a pcim-function with the managed + * argument set, we need to track devres independent of pdev->managed. */ - dr = lkpi_pci_devres_find(pdev); + if (managed) + dr = lkpi_pci_devres_get_alloc(pdev); + else + dr = lkpi_pci_devres_find(pdev); if (dr != NULL) { dr->region_mask |= (1 << bar); dr->region_table[bar] = res; @@ -1203,6 +1220,12 @@ pci_request_region(struct pci_dev *pdev, int bar, const char *res_name) return (0); } +int +linuxkpi_pci_request_region(struct pci_dev *pdev, int bar, const char *res_name) +{ + return (lkpi_pci_request_region(pdev, bar, res_name, false)); +} + int linuxkpi_pci_request_regions(struct pci_dev *pdev, const char *res_name) { @@ -1219,6 +1242,24 @@ linuxkpi_pci_request_regions(struct pci_dev *pdev, const char *res_name) return (0); } +int +linuxkpi_pcim_request_all_regions(struct pci_dev *pdev, const char *res_name) +{ + int bar, error; + + for (bar = 0; bar <= PCIR_MAX_BAR_0; bar++) { + error = lkpi_pci_request_region(pdev, bar, res_name, true); + if (error != 0) { + device_printf(pdev->dev.bsddev, "%s: bar %d res_name '%s': " + "lkpi_pci_request_region returned %d\n", __func__, + bar, res_name, error); + pci_release_regions(pdev); + return (error); + } + } + return (0); +} + void linuxkpi_pci_release_region(struct pci_dev *pdev, int bar) { From nobody Fri Sep 5 23:28:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXbt29Rlz66Z3P; Fri, 05 Sep 2025 23:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXbs6qH6z40dQ; Fri, 05 Sep 2025 23:28:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nKnueqAzzfM2Zd3JxVzzmjcn0CB97CPeBcet/WBwpL8=; b=gmZOTl7Zt3dkrKDala9dpsZFFCA779kQa7zJTpajHRfVa8xw4S85fYdS9/HkzAM+aBZDjt 7OaonHoJM58/ugnWDMEUJiqVrICipT1ott6DtaZRkJFLDzxBL4TFOg1XH55LIwjPGqb31l vkjHsix9m9pw/TvnwNkjGSIYRm2oeMXuT2otaURvrI1dTcUDx/+jGxiU8LagL3T+A5XQ9t 4dzhIOEGyDZ6XjWRluv8VVBmFmGWPdgCDBEkFWfUY8OuUo0zBcAlpX8K5DAa83a3zX44ur NbZ5kY2dxdxBPVQPoT+A+qjZN1AHgzTRDnPlvOStlO12t3G0JPJcAkuvn6z2DQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nKnueqAzzfM2Zd3JxVzzmjcn0CB97CPeBcet/WBwpL8=; b=ZbL3EqDZjowUd6VGSkXVu6U3Wf8uQBrfXh3PhvI7SVF+mXBT0Sq41xuyd/gMrKIZ29n0Qr +NNnuI5cl0oHZNAmttzUTushV6/71m80eI5mXSxU+XO3XDZN8V8c1ADFRy05gOo3s2dEhs 355NvAUJwcCkQ8OC9GgLM3BMPbKuqhVClH/dEgxj9QDU4jMKFlOggK817hXOlXVwBTqBXx lvzLpMtSsutuMBCOET2pg88A9myY0+LqWrTPt5dQ1d/Cm0I20TepaiElNdWAiwqS58tmXE hbefTTdqQTmgJq8NLGEU7fmxANqbVNKM6FgtV5/pe3u4cgYwz6PBx55cP1SZzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114938; a=rsa-sha256; cv=none; b=mRsTCm36Wvu2rPJeomIhzsoTkMiqyzHAHxZti7Pcu7yC8IN9WOVP/fieWjGpu+pUvdnhAY 6Vku01onnxZ6INqN5ExjnIepZfEu57EGHc22g6lE5cEkuVJ/Hb6gB0zOO5rC1TIUKr/bSp 32CufbnzsMSDCmYZTd4uF/D0wUeiOI6FHvq1qsFbhbrPqWsjoRYeInO/TvN6XPHLnlf9B2 ByLMgu78GDZvwZ/4gOvRaeEd9SxNmyjz27uvYG2ZXSGoUFt+KvOMCbaWAT7yWjzPOeequH 5E1FJ5Cxh5Op125msqNi9HqMiL4YZ8mNABVMW/3OuvrgpWweOX1A8BrYsO8WtQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXbs6CXxz17wT; Fri, 05 Sep 2025 23:28: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 585NSv9a029133; Fri, 5 Sep 2025 23:28:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NSvds029130; Fri, 5 Sep 2025 23:28:57 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:28:57 GMT Message-Id: <202509052328.585NSvds029130@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: bbeeb5853156 - main - LinuxKPI: pci: allocate entire pci_dev hiereachy up to root port on attach List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bbeeb585315645db20118ef349a4e3dc83b148cc Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=bbeeb585315645db20118ef349a4e3dc83b148cc commit bbeeb585315645db20118ef349a4e3dc83b148cc Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:22:00 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:14 +0000 LinuxKPI: pci: allocate entire pci_dev hiereachy up to root port on attach In linux_pci_attach_device() allocate a LinuxKPI pci_dev for each device in the hierarchy up to the root port[1] as we cannot do that later on demand as we may be in a context where we may not sleep. Take special care of DRM as there is a non-PCI device in the chain which needs to be skipped. iwlwifi(4) can hit this case called from a callout. While here leave a comment sa the cleanup order of linux_pci_attach_device() needs correction seperately. Sponsored by: The FreeBSD Foundation (initially) PR: 283027 Suggested by: jhb [1] MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52069 --- sys/compat/linuxkpi/common/src/linux_pci.c | 47 +++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 7db8af8e88f9..863f44a384e5 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -339,6 +339,7 @@ lkpi_pci_dev_release(struct device *dev) static int lkpifill_pci_dev(device_t dev, struct pci_dev *pdev) { + struct pci_devinfo *dinfo; int error; error = kobject_init_and_add(&pdev->dev.kobj, &linux_dev_ktype, @@ -359,15 +360,24 @@ lkpifill_pci_dev(device_t dev, struct pci_dev *pdev) pdev->path_name = kasprintf(GFP_KERNEL, "%04d:%02d:%02d.%d", pci_get_domain(dev), pci_get_bus(dev), pci_get_slot(dev), pci_get_function(dev)); + pdev->bus = malloc(sizeof(*pdev->bus), M_DEVBUF, M_WAITOK | M_ZERO); - /* - * This should be the upstream bridge; pci_upstream_bridge() - * handles that case on demand as otherwise we'll shadow the - * entire PCI hierarchy. - */ - pdev->bus->self = pdev; pdev->bus->number = pci_get_bus(dev); pdev->bus->domain = pci_get_domain(dev); + + /* Check if we have reached the root to satisfy pci_is_root_bus() */ + dinfo = device_get_ivars(dev); + if (dinfo->cfg.pcie.pcie_location != 0 && + dinfo->cfg.pcie.pcie_type == PCIEM_TYPE_ROOT_PORT) { + pdev->bus->self = NULL; + } else { + /* + * This should be the upstream bridge; pci_upstream_bridge() + * handles that case on demand as otherwise we'll shadow the + * entire PCI hierarchy. + */ + pdev->bus->self = pdev; + } pdev->dev.bsddev = dev; pdev->dev.parent = &linux_root_device; pdev->dev.release = lkpi_pci_dev_release; @@ -392,7 +402,7 @@ lkpinew_pci_dev_release(struct device *dev) pdev = to_pci_dev(dev); if (pdev->root != NULL) pci_dev_put(pdev->root); - if (pdev->bus->self != pdev) + if (pdev->bus->self != pdev && pdev->bus->self != NULL) pci_dev_put(pdev->bus->self); free(pdev->bus, M_DEVBUF); if (pdev->msi_desc != NULL) { @@ -548,6 +558,7 @@ linux_pci_attach_device(device_t dev, struct pci_driver *pdrv, { struct resource_list_entry *rle; device_t parent; + struct pci_dev *pbus, *ppbus; uintptr_t rid; int error; bool isdrm; @@ -591,6 +602,27 @@ linux_pci_attach_device(device_t dev, struct pci_driver *pdrv, list_add(&pdev->links, &pci_devices); spin_unlock(&pci_lock); + /* + * Create the hierarchy now as we cannot on demand later. + * Take special care of DRM as there is a non-PCI device in the chain. + */ + pbus = pdev; + if (isdrm) { + pbus = lkpinew_pci_dev(parent); + if (pbus == NULL) { + error = ENXIO; + goto out_dma_init; + } + } + pcie_find_root_port(pbus); + if (isdrm) + pdev->root = pbus->root; + ppbus = pci_upstream_bridge(pbus); + while (ppbus != NULL && ppbus != pbus) { + pbus = ppbus; + ppbus = pci_upstream_bridge(pbus); + } + if (pdrv != NULL) { error = pdrv->probe(pdev, id); if (error) @@ -598,6 +630,7 @@ linux_pci_attach_device(device_t dev, struct pci_driver *pdrv, } return (0); +/* XXX the cleanup does not match the allocation up there. */ out_probe: free(pdev->bus, M_DEVBUF); spin_lock_destroy(&pdev->pcie_cap_lock); From nobody Fri Sep 5 23:28:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXbv13G5z66YbW; Fri, 05 Sep 2025 23:28: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXbv0Dbhz40bB; Fri, 05 Sep 2025 23:28:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hkM86CDihkuSTZ+SgM05Ur+P7psfbjeahs8xuh3NU1k=; b=YGvuaPznhFUN8kFrDwP8E/BKoaHMr8j2m/Yc9Pwkb2Szzu2Th+Gw1fVq1iNuegdXXABrWr bwwWqDrSthH/qKH7JmNE9ENEwMx6rpQbZdbI5z6NxuClZjlwuuA6k6tOUSQ0ktq4vT752a tHIR4kN4hWFb7eLouqSZ8QHjkVy+Fp01Z44OUTrqEhfLdH8osiYHAcONM4GVuvgFWMdi+F 8QImBm0oBMmK9ZyrKmOYvHd4VQ0pwgZpJrgiEubu33BrN3pzPTxVKuz846gd0SSIMOf3vl wwRU1zzsvznv6oWi3VuEJZ3x8Wx5MpXfKRr2X6uTguam0pPwZ4rgK2CrepgTGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114939; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hkM86CDihkuSTZ+SgM05Ur+P7psfbjeahs8xuh3NU1k=; b=QDNRwTR9/XNbAu0ZJsT6KEzLeu9iAigMVDN5IUDLZaCZxDfLSHdCyOm22BpxmTFr18ysWA EPfYo+QKUWVx+EhDS6N9VrNsQERwqXCVA4c2syCyBsIDwD1qnQOSRsYTqHqN8KByrwNjxD MLCBX4o1CDR4wGxNVlw4BVFVlJiLP2f5Mwo/a5VV4arB4JdvEExyVJc2JLrBqy4bAB58s2 XN100HCb6a/RqI2/UjvaXfhO38noiG81486Po+luckK2GPLiVNyZiSZPvpJdipE4HYUfrm 7P0WtSQzAHM/JU9qm9+0q2dIGPlma7qzgCUDpTLFrr3rj22uYnFSCn1oyta1Yg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114939; a=rsa-sha256; cv=none; b=sCFs/TrA0NV+i5MFmBppy90G7nCYf8UZrruzp7uICNiyCcElXb3gmKt2JMFAemSyFXprhW wH3fJSumgEbBJuTqcoQIE3DBB9IPeEvOWYBBbM+6X0WYCOj5CUul0MizMIsDir5MuI2Rr9 n0lXUX5riLJmHDyLqOiCOLv51USf6RuYBbLc2ViqQI9rRFJzuF3O1P7p1QPaM5riKR9gRK emuq4dNWQu+6/7qeMi6MeSeV/yfyGTCUOW5XIbSQk4pNdDTlRBTtfgGxDCiTkNmAETFGYe VziNMAJOa7ytQEwQFh8qZYdDo80pF97Jt7TIK8dVRehVSR5I/fXfAEdFSueXog== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXbt6ttkz17jx; Fri, 05 Sep 2025 23:28: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 585NSwob029170; Fri, 5 Sep 2025 23:28:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NSwrf029167; Fri, 5 Sep 2025 23:28:58 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:28:58 GMT Message-Id: <202509052328.585NSwrf029167@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: 627234627b51 - main - LinuxKPI: pci: allow children to be attached to a pci_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: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 627234627b51c2f12c29d10617d7bbd18936ea55 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=627234627b51c2f12c29d10617d7bbd18936ea55 commit 627234627b51c2f12c29d10617d7bbd18936ea55 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:22:30 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:14 +0000 LinuxKPI: pci: allow children to be attached to a pci_dev This will be used for hooking suspend/resume in for LinuxKPI 802.11 based drivers. Sponsored by: The FreeBSD Foundation (initially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52070 --- sys/compat/linuxkpi/common/src/linux_pci.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c index 863f44a384e5..d0f1d5e3f9c5 100644 --- a/sys/compat/linuxkpi/common/src/linux_pci.c +++ b/sys/compat/linuxkpi/common/src/linux_pci.c @@ -111,6 +111,9 @@ static device_method_t pci_methods[] = { DEVMETHOD(pci_iov_uninit, linux_pci_iov_uninit), DEVMETHOD(pci_iov_add_vf, linux_pci_iov_add_vf), + /* Bus interface. */ + DEVMETHOD(bus_add_child, bus_generic_add_child), + /* backlight interface */ DEVMETHOD(backlight_update_status, linux_backlight_update_status), DEVMETHOD(backlight_get_status, linux_backlight_get_status), From nobody Fri Sep 5 23:29:00 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXbw3Cggz66Z3J; Fri, 05 Sep 2025 23:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXbw182Nz40j4; Fri, 05 Sep 2025 23:29:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b0YoK5j4wZVyBIBfErF3ttVuSZjX6SuLSUtYi1acuU4=; b=e0UBMuxWEUTs72sYryHNVNPDxrpCzfexD9ZqtPUjBkRnjCzZQPsVgzIAVK7Q5zc5m4q7Wv OTKE+POMcWNSu9xmhU1i+FEjYoYjq/zdbZRT5ZKI/yfsKLqTQJeGcLwC3AMa5X6Lj/yyZu hO5ZvMuqpvG4aUM+9rkKlBFTXqENGwIC8RfTfiZf4Pujl1US85GolAcb/HqiCccn91YPlW 4RQKQtrxzQbHurtrXZmpH2KXm30A3usRkZcgjRqmCRx1CyWPMMFn30Flx8vIDqDXf4/2C5 +CgA/msm/XaWrSu4PWTukWSPw1dgKCNJIk6m0BJZ800Zqy2QMzs96wIjWRHmCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=b0YoK5j4wZVyBIBfErF3ttVuSZjX6SuLSUtYi1acuU4=; b=dAffW2o1iRApjP/tpK/ZFhGG6qsgxhHnpxQkcybaaoaVlDTQjF+ZG5lZqQ4rcn/2jCN+S+ QXZWZ5UqhN4ELW/7HiPWqm3jYNR2Wm8U96OF7p4JD1Wq4ETvyBNbzAiufMXYVGZW0nfHtV NHuU35jQdohdAPUCByVdL0wGbvilQMFVCVTsltqLETUH5K5HlT//kxgVXhiZ1Sq8EUnaav j1vXcWeeEPrqXNejoYaRjUzfUUBrWSeOPekf1SPaO3s5irxvHMoqmwAkz7G9wXxfbniUu/ xF+GhGT7gXSKS6Aj0+cH8l+Zd5iho5UQkWjjr+TTyEPAX5vfY4XZkTupJcdTOg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114940; a=rsa-sha256; cv=none; b=hqz05xbzWvNRz+6xWjJmHY3/kSECIUEt5BpN6hGfse06ivJB6u9twe0fAhb0pQRmzNbB7p aWuTKp3MjEgzHi7q4jhCN5PiOkBZG3+lQhXwxmYB35Y2PLQhmXk7tWdSQR+aSwwrwVsaDO a3E5Xo/YXdquMs2UDINHexr3Cwdv9HnWQ0wKJjkwp0EUvJtwK6y6rDHQq/d5CDk01rPJhb 1zleDBIywhPJX2iTqCQRmyJuRORz8q6iA7+3XIjM42AjICEUpGn2IhjGeIt5tTcL+CWNIP hlWw82NUCmx+hxBgFPrbAOrxEhsNYbtZzg7X9CaBKo5qlh/D0sKGhM+gScHeYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXbw0jCMz17q7; Fri, 05 Sep 2025 23:29: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 585NT0Qq029214; Fri, 5 Sep 2025 23:29:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NT0AC029211; Fri, 5 Sep 2025 23:29:00 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:29:00 GMT Message-Id: <202509052329.585NT0AC029211@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: 736b16e88d23 - main - LinuxKPI: correct the LINUXKPI_VERSION check for abs_diff() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 736b16e88d2384f9dd0ec11c0492e825b8d42193 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=736b16e88d2384f9dd0ec11c0492e825b8d42193 commit 736b16e88d2384f9dd0ec11c0492e825b8d42193 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:23:00 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:14 +0000 LinuxKPI: correct the LINUXKPI_VERSION check for abs_diff() The code introduced abs_diff() as migrated from drm to standard linux headers. The LINUXKPI_VERSION check did not allow this to be visible by default in-tree. Make sure the v6.6 check is optional. drm-kmod always defines LINUXKPI_VERSION so this should be fine. Sponsored by: The FreeBSD Foundation (initially) Fixes: afc450fac9f04 MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52071 --- sys/compat/linuxkpi/common/include/linux/math.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/math.h b/sys/compat/linuxkpi/common/include/linux/math.h index 5a348a57747b..1d50e011f66d 100644 --- a/sys/compat/linuxkpi/common/include/linux/math.h +++ b/sys/compat/linuxkpi/common/include/linux/math.h @@ -56,7 +56,7 @@ __ret; \ }) -#if defined(LINUXKPI_VERSION) && LINUXKPI_VERSION >= 60600 +#if !defined(LINUXKPI_VERSION) || (LINUXKPI_VERSION >= 60600) #define abs_diff(x, y) ({ \ __typeof(x) _x = (x); \ __typeof(y) _y = (y); \ From nobody Fri Sep 5 23:29:01 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXbx5Tw6z66Z3N; Fri, 05 Sep 2025 23:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXbx2GZzz40nx; Fri, 05 Sep 2025 23:29:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H8ix5J8OpFjaYAzK5224UjY8UaCTK6Y3WIiYGfj9wcI=; b=xvkvnHv6tiE3nBa56GG2LnNEqqI+VRM9WDJtjUBNOLUnvyNNsYzCRbi4zIicQw0AjISlYe VsVaaasUjXSV3sl9Vbe8PYzFRiK2GTjUGABbFZFVwLqmVKPgI+vjZrjDneoa/1gtHeGOs5 HdjM761r3RZWBfkdUaLtD+Ej6vd8zPu+vTQTYSdBRuBhWurtphJovi/c6lghODsxFvTXSl /A74l1e/IbLotlcTTcadqVZAI9YNS6l8iprkhLFrbp+V5fb7l0jze0z0UMympzW7C6fZTQ Eve8ErJd7CN6ijxE9UGF0k2/jicleboIkY2mNl62v7NOH5bpPXtMCpgmTaQBxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=H8ix5J8OpFjaYAzK5224UjY8UaCTK6Y3WIiYGfj9wcI=; b=R7ok3MONMmFyHNObMPETKOyMLzk+gQJo/cubIycoulInXKPWRWxd4H/nw/521tDloTHG4n 9lTxPyZwEBcjl7OJ6t18vAA6qTuxw3Q9lbsrjI2r6OuqMa1rN4rh7LQ+Kgk6bOmumcmOB6 DFsxyC77UynldtoPZjFTCPawKZnYVZUx3kD01qvgACO9X4vjYAKCBRH1FJCwx7K6mhYh0T uP1oEUf1o53GcDNX3NZfU3oQL4Vvhbo/2DUgPdOXqsPtQLatj7JQN11U90XwCx75vrToWU JajWUPQgF6F7jV7vYkaMzjTO9pdrmZH34RrNo9sjA8/qFsVlmkWCvil4Z6zUZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114941; a=rsa-sha256; cv=none; b=FA23S8xEYv/1XLalG6lw1Kv8gjQnP5IWPpRCwcu8KlI/VejaSW0fHl0do4Z+h4susgQIKg oPuAHSaERXCHIftUwrTDrhVYj0heteDKxNVu1aYNLnvbfvoWTpRVvSHn5qGfPvO8aSMsJN 8XD1KkSj2pVafWG4OFcVRwRaGlj4Oh+xaDezVqCfegj7wMk2PRBcQHeDszQLIiSGlkhovI 4oJis+oGr89OuPvoQ2DcqJiN1XPu75OGKvbyCC59X4y3SQw6mZeqEOB6i8Q3/XKppAuFof r4XuSHbNxzT/X7dt7gE4FAqywv/Ujl2m0gVkc0c+BvKakadzyDI3OhoLho2yDg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXbx1dwYz18HF; Fri, 05 Sep 2025 23:29: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 585NT19m029253; Fri, 5 Sep 2025 23:29:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NT1XX029250; Fri, 5 Sep 2025 23:29:01 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:29:01 GMT Message-Id: <202509052329.585NT1XX029250@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: c1264b6238c9 - main - LinuxKPI: acpi; fix type to acpi_get_handle() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c1264b6238c97810849bc38818d27c1ade1d4fc1 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c1264b6238c97810849bc38818d27c1ade1d4fc1 commit c1264b6238c97810849bc38818d27c1ade1d4fc1 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:23:31 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:14 +0000 LinuxKPI: acpi; fix type to acpi_get_handle() The native AcpiGetHandle() and acpi_get_handle() take a const char * argument for pathname and not an acpi_string (char *). For that they spell it out fully as 'const char *', so should we. Sponsored by: The FreeBSD Foundation (intially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52072 --- sys/compat/linuxkpi/common/include/acpi/acpi.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/acpi/acpi.h b/sys/compat/linuxkpi/common/include/acpi/acpi.h index 016c7ede0f6e..9bb435591daa 100644 --- a/sys/compat/linuxkpi/common/include/acpi/acpi.h +++ b/sys/compat/linuxkpi/common/include/acpi/acpi.h @@ -131,7 +131,7 @@ acpi_format_exception(ACPI_STATUS Exception) } static inline ACPI_STATUS -acpi_get_handle(ACPI_HANDLE Parent, ACPI_STRING Pathname, +acpi_get_handle(ACPI_HANDLE Parent, const char *Pathname, ACPI_HANDLE *RetHandle) { return (AcpiGetHandle(Parent, Pathname, RetHandle)); From nobody Fri Sep 5 23:29:02 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXby6y6Rz66Yht; Fri, 05 Sep 2025 23:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXby3dr8z40ls; Fri, 05 Sep 2025 23:29:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n6Pzzt5F5fZS05TlJQgXiZ/i+yU0MyDbG1YsvqMVIsY=; b=CbfOBMZLMmDJ/CD+Lk+z3nRO9Jqnnh6ywvWThMcBh8vuIatrPg5yxDzWDXWwB/oy04xK9o pSpoHllAMp9cIh08m+3VOEXQqJyYnS+xQ7NCRI+hVQjmCJmRaIUZjaZNUvtXK9B+s1XLes jrtxYb359SIN5H/Q7BQrqevbvW+uSY0BUF/hrDX0qMfrUEeaAe6ZOvoW8sLU/Fcd4nFQfk jC6+yJCG3ftOxl8XFwBgpX58waRdk4hkmEW6bp4Y3E7/r9vMoEMZZu80RFIRgmQjc9q7E3 mru8h8JUEVPr61YereVh5iPVeK91/fsoqpgn81xfjTO5Uh1t6+2ZUKiVoaYzUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n6Pzzt5F5fZS05TlJQgXiZ/i+yU0MyDbG1YsvqMVIsY=; b=lkyaFBDD/J/knD1wuJNon8r4b0LwgfQiqYKJHLK4sIATi+5mEOJm3ZvmHii/sBVtObPG7D J8O2dm2bCpqi9yILpL5EdJ4D7YB195g5HTbx02RfsoJyv6Kq7xTy04W3Mr1IRv5gFd+Nd3 3kTe4UmKcs5iVCv89sTB/akyGqX84TC86kf5peZ3MtNkE0chbMTSzWluWunoLSef/2Bq5z xnC1neiq4ha2xtXMHzX69JQFMC6UDvaaJ5tp7gj8akvL/huv1JkTfTISVr9KwnIW5nWzWr MpfoeNrhXuIyS4MbWB57uKqh8vbO5NBChKuP1FON4/2+JV1Ddys/3P1293mstA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114942; a=rsa-sha256; cv=none; b=IbpGv2EC/Ncc8djhXigaeB13kFnLqoQnXoUFCZyKQpfkN2fKacbi4ZodpYONlI3oJ76hy5 Ys9JQ/a6noisJKEIBosjLWbp4h6IVQfImxpXXegrQCQMRsBPz1EnBfXNeG2/Q7KNgoXM2e thzpf3tJmEHw65wvsihrLdqFN00oeQrEedEBUpAQM91rtR86eDehOaEeo7nofpev3pNWAt YQEhnGmOOgX6++I6e/62lZTo4ljpPwB/MUHOpXZf4aIkYD11AgPunzzyBQZOKdG4GFdpDq fHhhps6A35oagW7y+oRW3a54CCP/p8/D/SpJmmlqdNsdEFjvLWBoWRSjyad+SA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXby31zVz17wV; Fri, 05 Sep 2025 23:29: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 585NT2f3029294; Fri, 5 Sep 2025 23:29:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NT2ph029291; Fri, 5 Sep 2025 23:29:02 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:29:02 GMT Message-Id: <202509052329.585NT2ph029291@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: 81cb7c4c8e7b - main - LinuxKPI: rename from_timer() to timer_container_of() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 81cb7c4c8e7bc4951c77fe64a63a847ed6abee38 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=81cb7c4c8e7bc4951c77fe64a63a847ed6abee38 commit 81cb7c4c8e7bc4951c77fe64a63a847ed6abee38 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:23:57 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:15 +0000 LinuxKPI: rename from_timer() to timer_container_of() With Linux 6.16 from_timer() got renamed to timer_container_of(); add the LINUXKPI_VERSION check with a default to the current version. Update all in-tree consumers (apart from wireless drivers managed otherwise). Sponsored by: The FreeBSD Foundation (initially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52073 --- sys/compat/linuxkpi/common/include/linux/timer.h | 5 +++++ sys/compat/linuxkpi/common/src/linux_80211.c | 2 +- sys/dev/irdma/irdma_cm.c | 2 +- sys/dev/irdma/irdma_utils.c | 4 ++-- sys/dev/qat/qat_common/adf_gen4_timer.c | 2 +- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/timer.h b/sys/compat/linuxkpi/common/include/linux/timer.h index a635f0faea59..bd06e3158fa3 100644 --- a/sys/compat/linuxkpi/common/include/linux/timer.h +++ b/sys/compat/linuxkpi/common/include/linux/timer.h @@ -49,8 +49,13 @@ extern unsigned long linux_timer_hz_mask; #define TIMER_IRQSAFE 0x0001 +#if defined(LINUXKPI_VERSION) && (LINUXKPI_VERSION < 61600) #define from_timer(var, arg, field) \ container_of(arg, typeof(*(var)), field) +#else +#define timer_container_of(var, arg, field) \ + container_of(arg, typeof(*(var)), field) +#endif #define timer_setup(timer, func, flags) do { \ CTASSERT(((flags) & ~TIMER_IRQSAFE) == 0); \ diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index f0881773726f..d00734001a59 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -7814,7 +7814,7 @@ lkpi_wiphy_delayed_work_timer(struct timer_list *tl) { struct wiphy_delayed_work *wdwk; - wdwk = from_timer(wdwk, tl, timer); + wdwk = timer_container_of(wdwk, tl, timer); wiphy_work_queue(wdwk->wiphy, &wdwk->work); } diff --git a/sys/dev/irdma/irdma_cm.c b/sys/dev/irdma/irdma_cm.c index 450fae662dd8..d4d4f328fb43 100644 --- a/sys/dev/irdma/irdma_cm.c +++ b/sys/dev/irdma/irdma_cm.c @@ -1316,7 +1316,7 @@ irdma_cm_timer_tick(struct timer_list *t) struct irdma_timer_entry *send_entry, *close_entry; struct list_head *list_core_temp; struct list_head *list_node; - struct irdma_cm_core *cm_core = from_timer(cm_core, t, tcp_timer); + struct irdma_cm_core *cm_core = timer_container_of(cm_core, t, tcp_timer); struct irdma_sc_vsi *vsi; u32 settimer = 0; unsigned long timetosend; diff --git a/sys/dev/irdma/irdma_utils.c b/sys/dev/irdma/irdma_utils.c index 5fc37022981f..038f1980082b 100644 --- a/sys/dev/irdma/irdma_utils.c +++ b/sys/dev/irdma/irdma_utils.c @@ -876,7 +876,7 @@ irdma_terminate_done(struct irdma_sc_qp *qp, int timeout_occurred) static void irdma_terminate_timeout(struct timer_list *t) { - struct irdma_qp *iwqp = from_timer(iwqp, t, terminate_timer); + struct irdma_qp *iwqp = timer_container_of(iwqp, t, terminate_timer); struct irdma_sc_qp *qp = &iwqp->sc_qp; irdma_terminate_done(qp, 1); @@ -1528,7 +1528,7 @@ static void irdma_hw_stats_timeout(struct timer_list *t) { struct irdma_vsi_pestat *pf_devstat = - from_timer(pf_devstat, t, stats_timer); + timer_container_of(pf_devstat, t, stats_timer); struct irdma_sc_vsi *sc_vsi = pf_devstat->vsi; if (sc_vsi->dev->hw_attrs.uk_attrs.hw_rev >= IRDMA_GEN_2) diff --git a/sys/dev/qat/qat_common/adf_gen4_timer.c b/sys/dev/qat/qat_common/adf_gen4_timer.c index 96b65cdff181..2c74d09418e5 100644 --- a/sys/dev/qat/qat_common/adf_gen4_timer.c +++ b/sys/dev/qat/qat_common/adf_gen4_timer.c @@ -57,7 +57,7 @@ end: static void timer_handler(struct timer_list *tl) { - struct adf_int_timer *int_timer = from_timer(int_timer, tl, timer); + struct adf_int_timer *int_timer = timer_container_of(int_timer, tl, timer); struct adf_accel_dev *accel_dev = int_timer->accel_dev; struct adf_hb_timer_data *hb_timer_data = NULL; u64 timeout_val = adf_get_next_timeout(int_timer->timeout_val); From nobody Fri Sep 5 23:29:03 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXbz73qmz66Yhv; Fri, 05 Sep 2025 23:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXbz4d2nz40hd; Fri, 05 Sep 2025 23:29:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6LLcYy+mGrf/DC9xFVMsn5f2A+bvQhzGA6Si7BSoOR8=; b=u37XTj6LVtHyNoTVnJE/yxVxdcJL6HSFnCth4dxE3K2f6H5OyEgqVNTnna9JOHKtOFztHL FD7VbmYLs3hAp8kflRBvh70wB2/lwkTzWhZ9KN1g4dp46bzIZ9WfwTqW+/d4hstprw5PfB Q0G1Su2ZDcm9HfSDdAT3PxUarggn5JR2KBfzZ8FO5CxHN+bQtZVUH5OHRUuzMxgGkA4+un PlC7eyUbadJ8qZiFkVYsYu8GFMdiY7QGUms8hRsxhpO2p1tlBpg2CHmJqtMFe6rtUk5J9P RKZsqECn651x2+KXB73HZJJK970dRvWF6fRnMjY2CLnhlsYKcXNcOTBeUyf3+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114943; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6LLcYy+mGrf/DC9xFVMsn5f2A+bvQhzGA6Si7BSoOR8=; b=Iz4XgoA5Gv7nB37C3T2p4oAiLeUj2EGvSIVk0ZGfixCi3zyvRgs4bv3G0t27Cl0tvaHMFZ DKREkHr/wCvgLbo+M2xSO36gfczZcb5HeKY3pAv/Tf9RinI4eru9mKtVUPPxnhI74fEb3d 0Uji8ZpCs3WZWvT8R49BmwqFk+XUWbHSr1KHV7XvsQ4b7iwjCkxIm0VW5L+KIuYNurqhR8 wIzDb14sTE8REbuWnuqoUGTSwzZU46ILNZGyW+b4X4h6EYkXBaYeM+3C90ZW1Yink3faXv TN80yaznKSjknNE1WTE+hb9s6wOvTSf385MQzLcUU+Xk/r/xrBUGEO4aCthZwA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114943; a=rsa-sha256; cv=none; b=Od2EaQCK8xa+dTqsmki0JeReE8xELEcuUlEj2/J6l1vAA7LhTswFkm+YG4fREq69lAV3iI DrXa2kASfD/MzhLIK51i/uswv8EncWS9aVLt2LcFHgkZWo9eoH6fWczMIcgYYiGZlyfABm paT+9YrEIVVHEPfJ/NQbdXBSp1Js0QkV2rC6wCM5R7WKIitWjq6UgMuU2tA8JelKHpTh2Y UsjgfVK89ynOmhHNR5CsuGaiWzFoFVn8HVh9x0VcY0kLeyrHT0RQzH2zKG5ZxvVTJi4cxU 7zd2QuPRKWkekkamoqMeth5MJc61BmQ9n0FrssEOQxiEWJ2YPL3LoffUzMFN9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXbz3xr9z183b; Fri, 05 Sep 2025 23:29: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 585NT3EL029332; Fri, 5 Sep 2025 23:29:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NT3Pr029329; Fri, 5 Sep 2025 23:29:03 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:29:03 GMT Message-Id: <202509052329.585NT3Pr029329@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: 5cb64a1d3fe7 - main - LinuxKPI: timer KPI *_timer -> timer_* List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 5cb64a1d3fe75526fb879ef4dce5860bbb4e4aea Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=5cb64a1d3fe75526fb879ef4dce5860bbb4e4aea commit 5cb64a1d3fe75526fb879ef4dce5860bbb4e4aea Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:24:26 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:15 +0000 LinuxKPI: timer KPI *_timer -> timer_* del_timer() got renamed to timer_delete() approximately in Linux 6.2 (similar for *_sync and likely others). Keep the old functions as compat; unclear when we can gc them. We should also re-define them with a linuxkpi_ prefix to avoid possible conflicts in the future if we do a full pass over this at some point. Sponsored by: The FreeBSD Foundation (intiially) MFC after: 3 days X-MFC; preserve symbols, not inline Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52074 --- sys/compat/linuxkpi/common/include/linux/timer.h | 16 ++++++++++++++-- sys/compat/linuxkpi/common/src/linux_compat.c | 11 ++--------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/timer.h b/sys/compat/linuxkpi/common/include/linux/timer.h index bd06e3158fa3..d48939e28a02 100644 --- a/sys/compat/linuxkpi/common/include/linux/timer.h +++ b/sys/compat/linuxkpi/common/include/linux/timer.h @@ -84,11 +84,23 @@ extern unsigned long linux_timer_hz_mask; extern int mod_timer(struct timer_list *, unsigned long); extern void add_timer(struct timer_list *); extern void add_timer_on(struct timer_list *, int cpu); -extern int del_timer(struct timer_list *); -extern int del_timer_sync(struct timer_list *); + +extern int timer_delete(struct timer_list *); extern int timer_delete_sync(struct timer_list *); extern int timer_shutdown_sync(struct timer_list *); +static inline int +del_timer(struct timer_list *tl) +{ + return (timer_delete(tl)); +} + +static inline int +del_timer_sync(struct timer_list *tl) +{ + return (timer_delete_sync(tl)); +} + #define timer_pending(timer) callout_pending(&(timer)->callout) #define round_jiffies(j) \ ((unsigned long)(((j) + linux_timer_hz_mask) & ~linux_timer_hz_mask)) diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index dcdec0dfcc78..458744a9fec6 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -2120,7 +2120,7 @@ add_timer_on(struct timer_list *timer, int cpu) } int -del_timer(struct timer_list *timer) +timer_delete(struct timer_list *timer) { if (callout_stop(&(timer)->callout) == -1) @@ -2129,7 +2129,7 @@ del_timer(struct timer_list *timer) } int -del_timer_sync(struct timer_list *timer) +timer_delete_sync(struct timer_list *timer) { if (callout_drain(&(timer)->callout) == -1) @@ -2137,13 +2137,6 @@ del_timer_sync(struct timer_list *timer) return (1); } -int -timer_delete_sync(struct timer_list *timer) -{ - - return (del_timer_sync(timer)); -} - int timer_shutdown_sync(struct timer_list *timer) { From nobody Fri Sep 5 23:29:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXc20g77z66Ybj; Fri, 05 Sep 2025 23:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXc16GWVz40xn; Fri, 05 Sep 2025 23:29:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0/vlZyjS4n/Ppjl62kbgCNZXRJBsjfBjxVJIOadeSo=; b=oW8Zkywy+VEnj7+Bxm4fBt5qIZoCRgDlK8d428g1VGB7mZR1I9ZznIh1p/9ZiDCO6CGmnT FaDlq5zUGXE6DEnAC6J4mW7ouoOaAcPEQ8fqO+pizI6wqfLhzhcp0i/SZ42sR/aUs3GDiK 7Qkh8qFk4dXm3lVLSan6wQ5vqb3ZFzIdWUaUx+00H45kLwFXbcglWNirjMmlDaYZDwwtf7 tPXDckDPqXlM01FTjDY16Br+N6vqlN/s5C/I8cXaopcu5fHuuNTS2pGgGuuAijIX04bd7R M3FA3ho3z/1RaGKauRMdHfjT78cK6JRV2AIIKf9xZCUxO1AAtvfmxW4t5MdB5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114945; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=v0/vlZyjS4n/Ppjl62kbgCNZXRJBsjfBjxVJIOadeSo=; b=Z4RqI46SaT+vGn6RRExQQO3Rl6rRbEvhys7mpqzbjECs3ddwk4M7GKb78lrzhCeVol4PVG i4+MgRRm619HyrWzqEH8UBhENYCY4EQ6eKUhVHOHWng3LXTr3UMOUybL45LShnp94tYRej 9XxU3TUZ3v+u13NhgUb/NLm2xeev1jvHDNt9Tj98RecbQs87k5OV6bMHl+UuZy5H8Z6wFD YVyXLX7oHOBwKILuZ5YaKkxtUCO+tGP424OcjMFMH3dQiljZYS/CfPXjCmAXngsbT278xH fQTzLYSVturR82/gchUuj1Cl8j9khp5Nertj8yonVtQBSrt8fCrq0C8T+6Jwkg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114945; a=rsa-sha256; cv=none; b=TCmtAgGxAZjYTQiuOFZ4MPukWQB0zzpUrWhabbsZI0iHpV0uLtHX88xkdO4261m2SH1hU6 YcMHFCUgUnvmv98QQMwYuSuf/KRzrmAiseIAiRblyZ6/fNS/53Y7Vweteuo6DDDHq5xYlZ o44JFyVVG/1N0R4xQ7rrlhnCw2adFHaHdeJkJ0Z9PnATYmKGsER7TKc0vWw645vkxh7z+A 4tlngLP53hNAoRgZCulcvffeZ10IF9JhM2IN68soB2u7LLPAtzQxVFdE0uf3c2Kx3dEPX+ CLrYhbqIBKcBVdTHKNJmE50HDQA1B5OkdLs6qwEIoBq1tOCMSgzAHi/pZaIQYw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXc15sjZz1808; Fri, 05 Sep 2025 23:29: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 585NT5ij029404; Fri, 5 Sep 2025 23:29:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NT5Wn029401; Fri, 5 Sep 2025 23:29:05 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:29:05 GMT Message-Id: <202509052329.585NT5Wn029401@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: 3f48a0fe53ca - main - LinuxKPI: add DEFINE_LOCK_GUARD_0 for rcu List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 3f48a0fe53ca7e001852f4a406c1bdfab1cd2f6d Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=3f48a0fe53ca7e001852f4a406c1bdfab1cd2f6d commit 3f48a0fe53ca7e001852f4a406c1bdfab1cd2f6d Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:25:30 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:15 +0000 LinuxKPI: add DEFINE_LOCK_GUARD_0 for rcu This adds guard support for non-real-types like rcu locking meaning that we need to keep the lock state separately ourselves. _T is still special and needs to be updated. Given it may not be used it needs an __unused attribute (we are using the LinuxKPI __maybe_unused which indeed is more expressive in this case). Sponsored by: The FreeBSD Foundation (initially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52076 --- sys/compat/linuxkpi/common/include/linux/cleanup.h | 35 ++++++++++++++++++++++ .../linuxkpi/common/include/linux/rcupdate.h | 5 +++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/cleanup.h b/sys/compat/linuxkpi/common/include/linux/cleanup.h index 45c2a2359ddf..5bb146f082ed 100644 --- a/sys/compat/linuxkpi/common/include/linux/cleanup.h +++ b/sys/compat/linuxkpi/common/include/linux/cleanup.h @@ -55,4 +55,39 @@ #define __free(_n) __cleanup(__free_##_n) +/* + * Given this is a _0 version it should likely be broken up into parts. + * But we have no idead what a _1, _2, ... version would do different + * until we see a call. + * This is used for a not-real-type (rcu). We use a bool to "simulate" + * the lock held. Also _T still special, may not always be used, so tag + * with __unused (or better the LinuxKPI __maybe_unused). + */ +#define DEFINE_LOCK_GUARD_0(_n, _lock, _unlock, ...) \ + \ + typedef struct { \ + bool lock; \ + __VA_ARGS__; \ + } guard_ ## _n ## _t; \ + \ + static inline void \ + guard_ ## _n ## _destroy(guard_ ## _n ## _t *_T) \ + { \ + if (_T->lock) { \ + _unlock; \ + } \ + } \ + \ + static inline guard_ ## _n ## _t \ + guard_ ## _n ## _create(void) \ + { \ + guard_ ## _n ## _t _tmp; \ + guard_ ## _n ## _t *_T __maybe_unused; \ + \ + _tmp.lock = true; \ + _T = &_tmp; \ + _lock; \ + return (_tmp); \ + } + #endif /* _LINUXKPI_LINUX_CLEANUP_H */ diff --git a/sys/compat/linuxkpi/common/include/linux/rcupdate.h b/sys/compat/linuxkpi/common/include/linux/rcupdate.h index 85d766c8dbc9..4aceb7296cd6 100644 --- a/sys/compat/linuxkpi/common/include/linux/rcupdate.h +++ b/sys/compat/linuxkpi/common/include/linux/rcupdate.h @@ -1,7 +1,7 @@ /*- * Copyright (c) 2016-2017 Mellanox Technologies, Ltd. * All rights reserved. - * Copyright (c) 2024 The FreeBSD Foundation + * Copyright (c) 2024-2025 The FreeBSD Foundation * * Portions of this software were developed by Björn Zeeb * under sponsorship from the FreeBSD Foundation. @@ -35,6 +35,7 @@ #include #include #include +#include #include @@ -162,4 +163,6 @@ void linux_synchronize_rcu(unsigned type); #define init_rcu_head_on_stack(...) #define destroy_rcu_head_on_stack(...) +DEFINE_LOCK_GUARD_0(rcu, rcu_read_lock(), rcu_read_unlock()) + #endif /* _LINUXKPI_LINUX_RCUPDATE_H_ */ From nobody Fri Sep 5 23:29:04 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXc10FKxz66Ydf; Fri, 05 Sep 2025 23:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXc05Fvzz40sB; Fri, 05 Sep 2025 23:29:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XnENN7ZySUpyQSf9c/JZtjVrt/KzpInjezxErih3Pf0=; b=tDm3BAMXf0zo8syZzEExgtOTxXS0VK3WNDSSqf+l+2U54jiWZPSiNM/0iYuL9d7g1mUMmm 7L4GxXQDZaCdYRbcBaYYsKm9pmoBbY8QvihWXm1Azev0nVVlj4XSwF850hjeqb+BleaMzc xHWOsDWI3TYPg0U3KR0jxa4jVJKMUiZ213FTrjLOJaNyYpD3xGUvyPauf56L09RYAICPwB aJXFHHeKIazIhlWRjMPU02roFQUsUVEJ/QHk8MU1STZPBwOLGkM0tau5R3iby16BXe35id yLvz/zkYIJidlDM2qOBA2kgyxhfx7x6hFUVjkpBsam6jT97roINCvwOOD0mE9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XnENN7ZySUpyQSf9c/JZtjVrt/KzpInjezxErih3Pf0=; b=CogCmJj/t1W5NneVVTcfURjo4+fIWh3+oNxdFklAH4Q8Q0FfBXAbaDyuwafm4YfqcV3p0C n1fjainKJ2wYSnY+EqdSRzzXWxNZlXSNxZ7C4OzclLKvJfTN4f5UR861dF8tvdHeCCm5eH 2rhhc+jcIa6OuL2VRm6K7NH3BJ5B5i9x4EwhlW4e0DBkCMCYQOuQGfbZTIFZeSgvh5CBix gGrIPXoXkUhK082kYm00R3M4y47uxymXXNX4h1/tlCC2WPRGWx6xzsHKQwP5cNLu4bhv3G UfNuFbEBZ8JfKL3yCTejQvux6kdv9ZchYsLWw2eje5woSl9R+TuPw1F5vvoSlQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114944; a=rsa-sha256; cv=none; b=reUOeuqbGUXUKz92IF05pfJryJe5NyBFaq+60x9p7+MhcHpKpxdcHy4y1mxEXusYCai4M9 7/iMs0aKQ7vTYBLXWlJUPoXce0T+lcknUvOAp0LLXaDwd1s/z3ScM68TOIyEnA/yEyn0k1 TncdYlA4LwZRhwLfjR5H9UeioWylNrsYJMavn63UEP08HwzBRbacPZFZRSoGVzNTljcImy uE9Wn8K40Od59meOHprDmGEai1yNneE1G+8Ar8zr9Ql4Ww47tGK60xkpDZC03APe3wLLwU 7ofcA22c1GQNNo7cNYtfDJnEpebzl2ZeXqHDHilLEJCWS8fg1U0KVY25JMmhoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXc04sR4z17q8; Fri, 05 Sep 2025 23:29: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 585NT4ZR029368; Fri, 5 Sep 2025 23:29:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NT42u029365; Fri, 5 Sep 2025 23:29:04 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:29:04 GMT Message-Id: <202509052329.585NT42u029365@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: 39e9290d890b - main - LinuxKPI: cleanup: implement __free() and DEFINE_FREE(); use for kfree() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 39e9290d890b2aa07b68f2fe956b96e5df9a1da2 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=39e9290d890b2aa07b68f2fe956b96e5df9a1da2 commit 39e9290d890b2aa07b68f2fe956b96e5df9a1da2 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:24:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:15 +0000 LinuxKPI: cleanup: implement __free() and DEFINE_FREE(); use for kfree() A wifi driver update needs this. Sponsored by: The FreeBSD Foundation (initially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52075 --- sys/compat/linuxkpi/common/include/linux/cleanup.h | 14 +++++++++++++- sys/compat/linuxkpi/common/include/linux/slab.h | 4 ++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/include/linux/cleanup.h b/sys/compat/linuxkpi/common/include/linux/cleanup.h index 01f234f0cbe7..45c2a2359ddf 100644 --- a/sys/compat/linuxkpi/common/include/linux/cleanup.h +++ b/sys/compat/linuxkpi/common/include/linux/cleanup.h @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2024 The FreeBSD Foundation + * Copyright (c) 2024-2025 The FreeBSD Foundation * * This software was developed by Björn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -43,4 +43,16 @@ guard_ ## _n ## _t guard_ ## _n ## _ ## __COUNTER__ \ __cleanup(guard_ ## _n ## _destroy) = guard_ ## _n ## _create +#define DEFINE_FREE(_n, _t, _f) \ + static inline void \ + __free_ ## _n(void *p) \ + { \ + _t _T; \ + \ + _T = *(_t *)p; \ + _f; \ + } + +#define __free(_n) __cleanup(__free_##_n) + #endif /* _LINUXKPI_LINUX_CLEANUP_H */ diff --git a/sys/compat/linuxkpi/common/include/linux/slab.h b/sys/compat/linuxkpi/common/include/linux/slab.h index 47e3d133eb6c..0e649e1e3c4a 100644 --- a/sys/compat/linuxkpi/common/include/linux/slab.h +++ b/sys/compat/linuxkpi/common/include/linux/slab.h @@ -40,8 +40,10 @@ #include #include #include +#include #include #include +#include MALLOC_DECLARE(M_KMALLOC); @@ -153,6 +155,8 @@ kfree(const void *ptr) lkpi_kfree(ptr); } +DEFINE_FREE(kfree, void *, if (!IS_ERR_OR_NULL(_T)) kfree(_T)) + /* * Other k*alloc() funtions using the above as underlying allocator. */ From nobody Fri Sep 5 23:29:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXc33lNWz66Ybm; Fri, 05 Sep 2025 23:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXc30BPpz40nQ; Fri, 05 Sep 2025 23:29:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P3FEnZmfvBQxuUWyLfPocpZV1dyblojtXQxorTEcbYs=; b=EgQxya9oBwgW9eOBTwzyLUONhdicVeKYuq2BSw1fmD/Wf/24VXgXLCQy0QQE0x4p5j3SaF 0eCWMUT4j0cCVwflCIuaW6E91M0FySDPQ5sOtPj7nvrNj7kF3pQGs1Rywnvr0EPJoGhLDB 4oGO36A04vvK0Bt6jE9BBXMOa1FinCU98FGSt/Y9Bh1Nc8gsywp6bKvB64/EQhrIxJOu7r 1/QKULMr2uH1HVKTj1L2UzFXD6Rf14CEZd+S+1+/WsScuaN0OoowkYPE62CK7qky+gbv0A to7RwSn2vTx7/rIQ59PcuYuJcK3fldyR758WzM2cKxWvZw0srwucUIzmxEOWPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=P3FEnZmfvBQxuUWyLfPocpZV1dyblojtXQxorTEcbYs=; b=hId8fDK/vzKqBc8NUCqoCwckYVuyu+BY9c/J2/AuDcSzjlcrf/YEspo3f2G8VmXW9Dj+b5 8iSW1Ql9zTJXaXz1AIGPMgTwUPUw2AJrB/YFx5hUTa69tygIvrpxDrWpgHZglburi6LKkD b8hi/CTrtyLoHOcJ5EZhK+lWSEI/DUSSuSdu9AGsVs6tQnlp2qWMXN9z/LF5UQOrD8f5cM 5weBlTVnu5lIAOx/6rYxH440ksmY2VC4WeSTsF9PZGiNBJ4F3XE9+L0JzZvsPhHiYhcjDr I9XxGLv8rjXrp3UPuWLXrUKGDweLYvSalZvrwEiGC4WhQ2adbkU8pGGoOdCHCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114947; a=rsa-sha256; cv=none; b=wdg67G+ACL2/89/68PAuDeMiweUbeSDhbitKxZvnrtVEwbTsz9Gvm2ZpHMs8fuP5fERTzv gI5OSNv4DwIeiyTIGm+cnIuC9m/VWjKaLipvq8SK1NNDsXomHVhONocC+UwrPH+tplZPTW v6t0Z3RHur15oMEMh40nRWKeqUhJpOVm2Czcm6J8bb1A5GyKtxTEvzquLm2Sg0KqlP5umD bHcExlQAFqY3zQhRdHkO+yYSyffBJn09Jc23hExPVM9P2uLntWUmItloYADIIFyXJcPYU7 38qrqSDXYOjw9PsQusyOp5TXny+IgeiEBO3ClmfeNaUYfqJVxA+cGzSOKJFgig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXc26pMmz17wW; Fri, 05 Sep 2025 23:29: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 585NT6E0029440; Fri, 5 Sep 2025 23:29:06 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NT6dF029437; Fri, 5 Sep 2025 23:29:06 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:29:06 GMT Message-Id: <202509052329.585NT6dF029437@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: ff5bcb742899 - main - LinuxKPI: add __struct_size List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ff5bcb742899f8398ccb1b9e292b2e5aeeb7fedb Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=ff5bcb742899f8398ccb1b9e292b2e5aeeb7fedb commit ff5bcb742899f8398ccb1b9e292b2e5aeeb7fedb Author: Bjoern A. Zeeb AuthorDate: 2025-08-18 19:53:55 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:16 +0000 LinuxKPI: add __struct_size Use __builtin_object_size() by default. If __builtin_dynamic_object_size() is available use that instead. I would hope that in a future version we can remove the conditional checks but in order to be able to MFC this without checking all compiler versions simply keep it this way for now. Sponsored by: The FreeBSD Foundation (initially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52077 --- sys/compat/linuxkpi/common/include/linux/compiler.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/compiler.h b/sys/compat/linuxkpi/common/include/linux/compiler.h index fb5ad3bf4fe4..948396144ad6 100644 --- a/sys/compat/linuxkpi/common/include/linux/compiler.h +++ b/sys/compat/linuxkpi/common/include/linux/compiler.h @@ -130,4 +130,10 @@ #define is_signed_type(t) ((t)-1 < (t)1) #define is_unsigned_type(t) ((t)-1 > (t)1) +#if __has_builtin(__builtin_dynamic_object_size) +#define __struct_size(_s) __builtin_dynamic_object_size(_s, 0) +#else +#define __struct_size(_s) __builtin_object_size(_s, 0) +#endif + #endif /* _LINUXKPI_LINUX_COMPILER_H_ */ From nobody Fri Sep 5 23:29:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXc436Wvz66Yj4; Fri, 05 Sep 2025 23:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXc417dCz40tB; Fri, 05 Sep 2025 23:29:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=osvU/ZnU/R5+GTh+eJ4A3QYtloMZJWrCSLEZqy0TSB0=; b=kU8RsZM6IAj2I+DBoqowD+y7/UXWHaoOFNJU4YV/EwV4Y0DtNTIPdA6/q8wTXnliFtqVJ4 EvIW5UhUiT2WLltKaD+ECMuvxzouf4Px/RQofCOyLx2kIWOsYi4xXQ+qJ5NwfbU8Ubsvus tHnO8Hko/4LZ4Po9vBs5yTZOdVPOfEXRUc39HIJakchhUqUAKt5qVs319U0yRfTf9/UYtO cY1f9DeHusCHb9hCuBag5pmKM7xSJA0iLBKK7AlR+HZnxzK/SbP+dS4LGJHOtSR4B163O8 y83UX11D+DFe7tTDUQGRn1OK1dsbfXwnXNbVGQO22pOvuhwDlwixizAnDwoZlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114948; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=osvU/ZnU/R5+GTh+eJ4A3QYtloMZJWrCSLEZqy0TSB0=; b=fe3SR1Mmw+hTLgXX5uPU3IzkNZP2353b0k9FS1UGPGRfBX1dOFKcFHKHoGVKglNXTvTl3f xUf7A593e3gR5PDnY9vv46REZBJkkfLHGH92qA0L2cfAdFKUFs0BuUn8M3S1vd9GIkF2dY GzqggEViZEO3hTZttXXORDvwMv8eDdrfnf4EH3Yu/U8Nvi2kMFVO6rc+OTpR9DDy/u+98E +p0c0Yi7Qk51U/K2tWJBnY5N/IfNnxqLQ+8dcHuvSM7JIaCm96mCjRGRKrCPBwl0Tny3FJ WP0Cq6IrV6OdK1ucEg65fP6dCQB48dMssrIVXYiXznBsBzn/e45ZgHIFAsqUOw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114948; a=rsa-sha256; cv=none; b=dvv+9C2q0kk9z+QbnR95WzWqHcwnL79Ve2z1/M6+sfQS7wGd0oWp6hbuBKAtmm2b5DN+NG 6FapQO++LWBicNXKNF2+cvZGlr86k9AnvCm36AJBTF85me3jXPYZW+Tk0rhX+njmNBFoY6 tbiwQVv8EAH4fa40KxSxMWvIWqqxFVEPT0vGCRCqHxV/t9J/N3Qk41zhGBo2avag3fPsOS TWjTg+M/j5o75H2yPZ0SxnhNl+sekqRMdg1aeaBucFOIjUATkaSJ0fLrIluo2W2Qv6IjtA FBcA1y03vNdFbdu7WJQn1bskD5gPd/dZt86eXyzNCCay8vd37D6CgHalxEJW8Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXc40Nckz17wX; Fri, 05 Sep 2025 23:29: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 585NT7dG029477; Fri, 5 Sep 2025 23:29:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NT7Ul029474; Fri, 5 Sep 2025 23:29:07 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:29:07 GMT Message-Id: <202509052329.585NT7Ul029474@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: 70c508e691de - main - LinuxKPI: sync overflow.h from Linux v6.16 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 70c508e691de1ed0f70b4a6f0773bfb5d627050d Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=70c508e691de1ed0f70b4a6f0773bfb5d627050d commit 70c508e691de1ed0f70b4a6f0773bfb5d627050d Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:26:32 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:16 +0000 LinuxKPI: sync overflow.h from Linux v6.16 It seems overflow.h wsa imported directly from Linux in 3208d4ad2b8320a. Update the file to the newer version as needed for wireless driver updates. Sponsored by: The FreeBSD Foundation (initially) MFC after: 3 days Obtained from: git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 038d61fd642278 (tag: v6.16) Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52078 --- .../linuxkpi/common/include/linux/overflow.h | 180 +++++++++++++++++---- 1 file changed, 153 insertions(+), 27 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/overflow.h b/sys/compat/linuxkpi/common/include/linux/overflow.h index 9ba9b9500f11..e811037b8ecc 100644 --- a/sys/compat/linuxkpi/common/include/linux/overflow.h +++ b/sys/compat/linuxkpi/common/include/linux/overflow.h @@ -33,8 +33,10 @@ * credit to Christian Biere. */ #define __type_half_max(type) ((type)1 << (8*sizeof(type) - 1 - is_signed_type(type))) -#define type_max(T) ((T)((__type_half_max(T) - 1) + __type_half_max(T))) -#define type_min(T) ((T)((T)-type_max(T)-(T)1)) +#define __type_max(T) ((T)((__type_half_max(T) - 1) + __type_half_max(T))) +#define type_max(t) __type_max(typeof(t)) +#define __type_min(T) ((T)((T)-type_max(T)-(T)1)) +#define type_min(t) __type_min(typeof(t)) /* * Avoids triggering -Wtype-limits compilation warning, @@ -59,45 +61,122 @@ static inline bool __must_check __must_check_overflow(bool overflow) * @b: second addend * @d: pointer to store sum * - * Returns 0 on success. + * Returns true on wrap-around, false otherwise. * - * *@d holds the results of the attempted addition, but is not considered - * "safe for use" on a non-zero return value, which indicates that the - * sum has overflowed or been truncated. + * *@d holds the results of the attempted addition, regardless of whether + * wrap-around occurred. */ #define check_add_overflow(a, b, d) \ __must_check_overflow(__builtin_add_overflow(a, b, d)) +/** + * wrapping_add() - Intentionally perform a wrapping addition + * @type: type for result of calculation + * @a: first addend + * @b: second addend + * + * Return the potentially wrapped-around addition without + * tripping any wrap-around sanitizers that may be enabled. + */ +#define wrapping_add(type, a, b) \ + ({ \ + type __val; \ + __builtin_add_overflow(a, b, &__val); \ + __val; \ + }) + +/** + * wrapping_assign_add() - Intentionally perform a wrapping increment assignment + * @var: variable to be incremented + * @offset: amount to add + * + * Increments @var by @offset with wrap-around. Returns the resulting + * value of @var. Will not trip any wrap-around sanitizers. + * + * Returns the new value of @var. + */ +#define wrapping_assign_add(var, offset) \ + ({ \ + typeof(var) *__ptr = &(var); \ + *__ptr = wrapping_add(typeof(var), *__ptr, offset); \ + }) + /** * check_sub_overflow() - Calculate subtraction with overflow checking * @a: minuend; value to subtract from * @b: subtrahend; value to subtract from @a * @d: pointer to store difference * - * Returns 0 on success. + * Returns true on wrap-around, false otherwise. * - * *@d holds the results of the attempted subtraction, but is not considered - * "safe for use" on a non-zero return value, which indicates that the - * difference has underflowed or been truncated. + * *@d holds the results of the attempted subtraction, regardless of whether + * wrap-around occurred. */ #define check_sub_overflow(a, b, d) \ __must_check_overflow(__builtin_sub_overflow(a, b, d)) +/** + * wrapping_sub() - Intentionally perform a wrapping subtraction + * @type: type for result of calculation + * @a: minuend; value to subtract from + * @b: subtrahend; value to subtract from @a + * + * Return the potentially wrapped-around subtraction without + * tripping any wrap-around sanitizers that may be enabled. + */ +#define wrapping_sub(type, a, b) \ + ({ \ + type __val; \ + __builtin_sub_overflow(a, b, &__val); \ + __val; \ + }) + +/** + * wrapping_assign_sub() - Intentionally perform a wrapping decrement assign + * @var: variable to be decremented + * @offset: amount to subtract + * + * Decrements @var by @offset with wrap-around. Returns the resulting + * value of @var. Will not trip any wrap-around sanitizers. + * + * Returns the new value of @var. + */ +#define wrapping_assign_sub(var, offset) \ + ({ \ + typeof(var) *__ptr = &(var); \ + *__ptr = wrapping_sub(typeof(var), *__ptr, offset); \ + }) + /** * check_mul_overflow() - Calculate multiplication with overflow checking * @a: first factor * @b: second factor * @d: pointer to store product * - * Returns 0 on success. + * Returns true on wrap-around, false otherwise. * - * *@d holds the results of the attempted multiplication, but is not - * considered "safe for use" on a non-zero return value, which indicates - * that the product has overflowed or been truncated. + * *@d holds the results of the attempted multiplication, regardless of whether + * wrap-around occurred. */ #define check_mul_overflow(a, b, d) \ __must_check_overflow(__builtin_mul_overflow(a, b, d)) +/** + * wrapping_mul() - Intentionally perform a wrapping multiplication + * @type: type for result of calculation + * @a: first factor + * @b: second factor + * + * Return the potentially wrapped-around multiplication without + * tripping any wrap-around sanitizers that may be enabled. + */ +#define wrapping_mul(type, a, b) \ + ({ \ + type __val; \ + __builtin_mul_overflow(a, b, &__val); \ + __val; \ + }) + /** * check_shl_overflow() - Calculate a left-shifted value and check overflow * @a: Value to be shifted @@ -122,7 +201,7 @@ static inline bool __must_check __must_check_overflow(bool overflow) typeof(a) _a = a; \ typeof(s) _s = s; \ typeof(d) _d = d; \ - u64 _a_full = _a; \ + unsigned long long _a_full = _a; \ unsigned int _to_shift = \ is_non_negative(_s) && _s < 8 * sizeof(*d) ? _s : 0; \ *_d = (_a_full << _to_shift); \ @@ -132,10 +211,10 @@ static inline bool __must_check __must_check_overflow(bool overflow) #define __overflows_type_constexpr(x, T) ( \ is_unsigned_type(typeof(x)) ? \ - (x) > type_max(typeof(T)) : \ + (x) > type_max(T) : \ is_unsigned_type(typeof(T)) ? \ - (x) < 0 || (x) > type_max(typeof(T)) : \ - (x) < type_min(typeof(T)) || (x) > type_max(typeof(T))) + (x) < 0 || (x) > type_max(T) : \ + (x) < type_min(T) || (x) > type_max(T)) #define __overflows_type(x, T) ({ \ typeof(T) v = 0; \ @@ -312,27 +391,40 @@ static inline size_t __must_check size_sub(size_t minuend, size_t subtrahend) struct_size((type *)NULL, member, count) /** - * _DEFINE_FLEX() - helper macro for DEFINE_FLEX() family. - * Enables caller macro to pass (different) initializer. + * __DEFINE_FLEX() - helper macro for DEFINE_FLEX() family. + * Enables caller macro to pass arbitrary trailing expressions * * @type: structure type name, including "struct" keyword. * @name: Name for a variable to define. * @member: Name of the array member. * @count: Number of elements in the array; must be compile-time const. - * @initializer: initializer expression (could be empty for no init). + * @trailer: Trailing expressions for attributes and/or initializers. */ -#define _DEFINE_FLEX(type, name, member, count, initializer) \ +#define __DEFINE_FLEX(type, name, member, count, trailer...) \ _Static_assert(__builtin_constant_p(count), \ "onstack flex array members require compile-time const count"); \ union { \ u8 bytes[struct_size_t(type, member, count)]; \ type obj; \ - } name##_u initializer; \ + } name##_u trailer; \ type *name = (type *)&name##_u /** - * DEFINE_FLEX() - Define an on-stack instance of structure with a trailing - * flexible array member. + * _DEFINE_FLEX() - helper macro for DEFINE_FLEX() family. + * Enables caller macro to pass (different) initializer. + * + * @type: structure type name, including "struct" keyword. + * @name: Name for a variable to define. + * @member: Name of the array member. + * @count: Number of elements in the array; must be compile-time const. + * @initializer: Initializer expression (e.g., pass `= { }` at minimum). + */ +#define _DEFINE_FLEX(type, name, member, count, initializer...) \ + __DEFINE_FLEX(type, name, member, count, = { .obj initializer }) + +/** + * DEFINE_RAW_FLEX() - Define an on-stack instance of structure with a trailing + * flexible array member, when it does not have a __counted_by annotation. * * @type: structure type name, including "struct" keyword. * @name: Name for a variable to define. @@ -342,8 +434,42 @@ static inline size_t __must_check size_sub(size_t minuend, size_t subtrahend) * Define a zeroed, on-stack, instance of @type structure with a trailing * flexible array member. * Use __struct_size(@name) to get compile-time size of it afterwards. + * Use __member_size(@name->member) to get compile-time size of @name members. + * Use STACK_FLEX_ARRAY_SIZE(@name, @member) to get compile-time number of + * elements in array @member. + */ +#define DEFINE_RAW_FLEX(type, name, member, count) \ + __DEFINE_FLEX(type, name, member, count, = { }) + +/** + * DEFINE_FLEX() - Define an on-stack instance of structure with a trailing + * flexible array member. + * + * @TYPE: structure type name, including "struct" keyword. + * @NAME: Name for a variable to define. + * @MEMBER: Name of the array member. + * @COUNTER: Name of the __counted_by member. + * @COUNT: Number of elements in the array; must be compile-time const. + * + * Define a zeroed, on-stack, instance of @TYPE structure with a trailing + * flexible array member. + * Use __struct_size(@NAME) to get compile-time size of it afterwards. + * Use __member_size(@NAME->member) to get compile-time size of @NAME members. + * Use STACK_FLEX_ARRAY_SIZE(@name, @member) to get compile-time number of + * elements in array @member. + */ +#define DEFINE_FLEX(TYPE, NAME, MEMBER, COUNTER, COUNT) \ + _DEFINE_FLEX(TYPE, NAME, MEMBER, COUNT, = { .COUNTER = COUNT, }) + +/** + * STACK_FLEX_ARRAY_SIZE() - helper macro for DEFINE_FLEX() family. + * Returns the number of elements in @array. + * + * @name: Name for a variable defined in DEFINE_RAW_FLEX()/DEFINE_FLEX(). + * @array: Name of the array member. */ -#define DEFINE_FLEX(type, name, member, count) \ - _DEFINE_FLEX(type, name, member, count, = {}) +#define STACK_FLEX_ARRAY_SIZE(name, array) \ + (__member_size((name)->array) / sizeof(*(name)->array) + \ + __must_be_array((name)->array)) #endif /* _LINUXKPI_LINUX_OVERFLOW_H */ From nobody Fri Sep 5 23:29:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXc5404zz66YlP; Fri, 05 Sep 2025 23:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXc51vwGz40kn; Fri, 05 Sep 2025 23:29:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aP13T8KJl/G8wMqFuJHLEsUBVOxWwSSkWpHrEYyMExI=; b=Wq4ZjTaaHxsSRb2K6gowH3H5IYtPFL3lY9ejbBpLVg80eym38M1trMbW6qdIsCxuUniuvX d1Vi2/jQg/t4tq8BQ8dXTpauF2ZHxRskVcA19Y+GxQKB5DhWcYbqmuw+f0yn7bi8r6nD1o 0adDYxsJ+HuPtT+rWezZ7yFZWJQdvC+0QdQmex9p/suKcdQg7m8H7yf+lS/ykewDJOjShD KCddzJPl1Su/xDWDQzUnoOv8OJ2pXN9lpbotH1QBopU1ZXEeAcMUAHH4OKLNtx+Wh/cL5F Ir6j/Bjth/xairzR4HQE65/be2rwrgCDP/jG2pIQHZGJgKI2zCRtdJx/MtFjdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aP13T8KJl/G8wMqFuJHLEsUBVOxWwSSkWpHrEYyMExI=; b=Ns7cPDuxqAtPOFDhwIR/kN2uK0qLl+bZoryQt9nCX5JzTL6I2Qbn0FTDW2PdtFi0TdevA5 1UPel8a2mdeHr30UeRae3LVEMy5ZjbUJ8lqkYGeDGO1k54hbcpVCF8WOz0/uPGW/egTBjI sHFY6y8DM5TXAlKVcMDSZOr29NhkMpSe7Wk5kUAKn8cVpvJ/GqtKYwzE4i35JvyLdMic8z gC4Owbq+t59/C1ssR+oU3Qnt6j/CPdmRjShIny6puBGDk7lG7dehoOGN49cqntfT77MLuv 2Qv08scMLhoFPApbaxFQKLaVKKo0GdUBWZi0BnYFAJ4gBDhP6Huop+n/mQ+ZqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114949; a=rsa-sha256; cv=none; b=b0P4OX2tGTSoLiz0KkcQJwub9Ky3wi19hWydtOq1Qebpv2VQHAt9Ie2NYZBhk46gOyFHiD 3Isj4cGsAvTBbkruS982C7VcPyEP7A4Bv6uDmkMFgsB48nDHV4BNf1Thejk/QEcPNekRxv 6mmBqnWv2cVVVytz7ZIUhX2m3C2LWwZq+eQcmK5JDQhIBwq2V5xOUHtjyh4Q7cMK6YiCca nCl6EiPpjaXdSVZBTs+H6DvVVnO5OtgGJU4c4UxSK/WChbfAogqHE3GnAXOFy2CVZ3aPR3 BLjKh/k4QuX5U2eW8snzb+YfiAwRIGNkY4+DKg4M8Lp1YMIAMx3mAvuIDlt/Cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXc51NHNz183c; Fri, 05 Sep 2025 23:29: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 585NT9Cp029512; Fri, 5 Sep 2025 23:29:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NT9iV029509; Fri, 5 Sep 2025 23:29:09 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:29:09 GMT Message-Id: <202509052329.585NT9iV029509@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: 7c473933624f - main - LinuxKPI: kunit: add static_stub.h and more dummy 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: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c473933624f701263a83da526cac680b1ca69ed Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=7c473933624f701263a83da526cac680b1ca69ed commit 7c473933624f701263a83da526cac680b1ca69ed Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:27:16 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:16 +0000 LinuxKPI: kunit: add static_stub.h and more dummy headers These came up during a wifi driver update. Sponsored by: The FreeBSD Foundation (initially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52079 --- sys/compat/linuxkpi/common/include/kunit/static_stub.h | 15 +++++++++++++++ sys/compat/linuxkpi/dummy/include/kunit/skbuff.h | 0 sys/compat/linuxkpi/dummy/include/kunit/test-bug.h | 0 sys/compat/linuxkpi/dummy/include/kunit/test.h | 0 4 files changed, 15 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/kunit/static_stub.h b/sys/compat/linuxkpi/common/include/kunit/static_stub.h new file mode 100644 index 000000000000..9d425d46dbb0 --- /dev/null +++ b/sys/compat/linuxkpi/common/include/kunit/static_stub.h @@ -0,0 +1,15 @@ +/* + * Copyright (c) 2025 The FreeBSD Foundation + * + * This software was developed by Björn Zeeb under sponsorship from + * the FreeBSD Foundation. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#ifndef _LINUXKPI_KUNIT_STATIC_STUB_H +#define _LINUXKPI_KUNIT_STATIC_STUB_H + +#define KUNIT_STATIC_STUB_REDIRECT(_fn, ...) do { } while(0) + +#endif /* _LINUXKPI_KUNIT_STATIC_STUB_H */ diff --git a/sys/compat/linuxkpi/dummy/include/kunit/skbuff.h b/sys/compat/linuxkpi/dummy/include/kunit/skbuff.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/kunit/test-bug.h b/sys/compat/linuxkpi/dummy/include/kunit/test-bug.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/sys/compat/linuxkpi/dummy/include/kunit/test.h b/sys/compat/linuxkpi/dummy/include/kunit/test.h new file mode 100644 index 000000000000..e69de29bb2d1 From nobody Fri Sep 5 23:29:11 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXc767qCz66YlV; Fri, 05 Sep 2025 23:29:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXc74Dxqz41C4; Fri, 05 Sep 2025 23:29:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GX7hWqTbOxGFIL4xVERYlBm1D2jqikNgfwqjKZm0bNQ=; b=TkKVuMkASuQmnHUTKvLRRpfRC4xLkQ4kXQC3ApPer5mP8p85OsV4J8FPbnpGZuZyo57nG3 XcuCfDD1yVoV82iNHsdpJcR7f1aS1ix3MTxb157ZCfmZt6JtaSEzyxvJiwMx4Pl5HT/0il nUu7q7GJNxkVFcsbTk1eov4QQsnUIunI3hUVUby3YP+Ut5MghT3DdQf1ONa/AOzdAWKFDX SH58EgDT0xAGIKQcpYOBAe3NmK7YtftIHrlEqTBJHMVUEZbDweIB3CLjFulmMO6QKMFTVq MMeL3Cx29TWYRvg1X7CU0CSELNZZnEdjgIAr1zeki3ofqtADWUyqJsNA3OCrWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GX7hWqTbOxGFIL4xVERYlBm1D2jqikNgfwqjKZm0bNQ=; b=o+AYKTgmt9896ehgU2AGR3FQExxsSr5Pvcj0MNY7PNFZ9pg+R+f1m9ZlPo/OaEe2cn+jx1 MWaA5zqdEMTQwJoMB+ZgKpimHQj5fMLac2N6Gjpf5x0F7ArgveOMD9+K7haQeYxxNzcH2R hrvdmdBYB/NeJMoMeHarGd/5fECH1WiTcLGk7nn8dVBAfLXadfmOQ3nGp4eixQx4+Kk3ZL zEcRjhez1k8c0tVIXs/mll1aUHcCSKuODgYX6Lw5LUUioJc2cXBE2uUC/sFZT7Tr6hg5o9 HJtlWgbuv0lFYirzbWbVJ1rRFmLMoBrHSslVm6whppNuJJfsbJ2bD7n1ClW8GA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114951; a=rsa-sha256; cv=none; b=BTQkAfejHqkwhuYg71aYuC1kHEjDDEYZk7ndrcpuOb8ohBXD686PwuIOXdbTtalg7p+sQo bnCt0BvkJIbKwWgvRfcfbX4xzZfbpSYJKn5+MfmF7p2rT4P73jcmALLl6/AzYE35vOfARv 1aQnqSNiNJiZgABdrH7dgPqORWtlX0oK+tuJ2UvSFLlrdDz4LxISbmFs/6/wr2igdFpJP7 We4Zc6HBxxasgGl2dpRl7G76Fh6zMkAQB3cLtnNod98uk8+UyfMqAZOaE8jPY+M9x/xztg WgMK79pCQ/M1JWl23FX/P53Rhoj6cKn0quBEcobB2IxA8kaYpYjeLhV2Ct90XA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXc73Q7Qz183d; Fri, 05 Sep 2025 23:29: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 585NTBxe029584; Fri, 5 Sep 2025 23:29:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NTBrH029581; Fri, 5 Sep 2025 23:29:11 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:29:11 GMT Message-Id: <202509052329.585NTBrH029581@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: 4ab64e34911a - main - LinuxKPI: devres: divorce dem_kfree from lkpi_devm_kmalloc_release List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4ab64e34911ab06e567caaf07ed18f7770a61cc8 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=4ab64e34911ab06e567caaf07ed18f7770a61cc8 commit 4ab64e34911ab06e567caaf07ed18f7770a61cc8 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:28:18 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:17 +0000 LinuxKPI: devres: divorce dem_kfree from lkpi_devm_kmalloc_release dem_kfree() is called from all over the place and should actually do something; contrary to lkpi_devm_kmalloc_release() it can also take a const void *. We have to __DECONST() that though as the entire devres framework does otherwise not take a const argument. This was discovered during the rtw89 upadte to 6.16. Sponsored by: The FreeBSD Foundation (initially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52082 --- sys/compat/linuxkpi/common/include/linux/device.h | 5 +++-- sys/compat/linuxkpi/common/src/linux_devres.c | 26 ++++++++++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/device.h b/sys/compat/linuxkpi/common/include/linux/device.h index 2556b0c45e49..7dd6340746d2 100644 --- a/sys/compat/linuxkpi/common/include/linux/device.h +++ b/sys/compat/linuxkpi/common/include/linux/device.h @@ -4,7 +4,7 @@ * Copyright (c) 2010 Panasas, Inc. * Copyright (c) 2013-2016 Mellanox Technologies, Ltd. * All rights reserved. - * Copyright (c) 2021-2022 The FreeBSD Foundation + * Copyright (c) 2021-2025 The FreeBSD Foundation * * Portions of this software were developed by Björn Zeeb * under sponsorship from the FreeBSD Foundation. @@ -284,7 +284,8 @@ int lkpi_devres_destroy(struct device *, void(*release)(struct device *, void *) void lkpi_devres_release_free_list(struct device *); void lkpi_devres_unlink(struct device *, void *); void lkpi_devm_kmalloc_release(struct device *, void *); -#define devm_kfree(_d, _p) lkpi_devm_kmalloc_release(_d, _p) +void lkpi_devm_kfree(struct device *, const void *); +#define devm_kfree(_d, _p) lkpi_devm_kfree(_d, _p) static inline const char * dev_driver_string(const struct device *dev) diff --git a/sys/compat/linuxkpi/common/src/linux_devres.c b/sys/compat/linuxkpi/common/src/linux_devres.c index 84f03ba0dd7d..23c91cb5ab2f 100644 --- a/sys/compat/linuxkpi/common/src/linux_devres.c +++ b/sys/compat/linuxkpi/common/src/linux_devres.c @@ -1,7 +1,7 @@ /*- * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2020-2021 The FreeBSD Foundation + * Copyright (c) 2020-2025 The FreeBSD Foundation * * This software was developed by Bj\xc3\xb6rn Zeeb under sponsorship from * the FreeBSD Foundation. @@ -223,6 +223,30 @@ lkpi_devm_kmalloc_release(struct device *dev __unused, void *p __unused) /* Nothing to do. Freed with the devres. */ } +static int +lkpi_devm_kmalloc_match(struct device *dev __unused, void *p, void *mp) +{ + return (p == mp); +} + +void +lkpi_devm_kfree(struct device *dev, const void *p) +{ + void *mp; + int error; + + if (p == NULL) + return; + + /* I assume Linux simply casts the const away... */ + mp = __DECONST(void *, p); + error = lkpi_devres_destroy(dev, lkpi_devm_kmalloc_release, + lkpi_devm_kmalloc_match, mp); + if (error != 0) + dev_warn(dev, "%s: lkpi_devres_destroy failed with %d\n", + __func__, error); +} + struct devres_action { void *data; void (*action)(void *); From nobody Fri Sep 5 23:29:10 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJXc64PQnz66YjH; Fri, 05 Sep 2025 23:29: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJXc636TVz411v; Fri, 05 Sep 2025 23:29:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZIYmwdNQiI2khW1wBOuDj6ePKOCuFIOwq7tvE7deNIk=; b=EGHqhEVtzyTXjBKhGdqMYuDZsyjOjgIExVuhFvSSAv47LVdTKL7/s9n8X+IYyCxF4Xux8o ZUw2Bmso/frh99InAAslmjlmEMSioMnK9N+R3q9A3xbpz+O50NXHMjjhqnIZJui8FhF2R6 VJFIwXnauBS1+iwzm4Ae2PGavEzHliV99vmKHJtSxTnzJbaRvSMWmdUmkZ7THM3AgD3IRb aXq13ZH6O0Yt+i7S60eWBpIU/P6f2PD7hECseh7kYNyUsYqVPUllZAyPBwTe/b70GLq9v6 B1hdTWGWZ1D5U8/npnTzqGV/Hu8PM9vmchn/U6KFU/tg3BVG6JUIGDAy3BSsbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757114950; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZIYmwdNQiI2khW1wBOuDj6ePKOCuFIOwq7tvE7deNIk=; b=KfOa9CHD+Se4OQYHflvFfCUZgTe7DacYFzft6RjrIR15Nlis8+AWfaWg/OVljozXBzq2aH A/Kcr08+2Y0p1ZitI8QOatAQnDFHsF9AxWBaAO17AZ1Sw9hDtT86XHghR8n9ULszq5IcvX 5OwyBrdsSER8jSrif2/WFo2ZUPVzMUUwG8t2Ad2rIlkNgm8sehIWVxxmHFWUHYiZz5yedx X2eGX7Zpw+tO0cQrTFFXXns2Sy8MOu+E14B3o9re6DtQKnyMzVAIf0dwH4SyWFPw61A37c icAsGem2mz9Vl8hlPdk2wpQ3y81FIXcRookELa6XSKShXwsAqf/SplukImLzGw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757114950; a=rsa-sha256; cv=none; b=m5E3dzBd7vKdF64b0spnE7tnrd5AxqRzTdPXXKFkwmYFpXtDku5pCEH/DblsxmKtqbBgTJ 5/PbfsCK4gvEj8TFdCFYHMUXC0tNviEj/xOdqHetUG6/Ox2xip3WVmtABrNUpEDOc7ThtL hB2EBf4eMHAOGk+mn2EJQSwZXUEOup9pjv7dBRP2yjahLZOScHgLSp5A62+uf2+UXW8I1M kGpY0J4saHCtoT8uhyHyWYGSnUs0yma8TsBs8fK2U2PazBJ6psjvfc68DC1DMnrPq34I6T d7V0l9QB4B78pVaXJgZmAoWp0UXMinvFmb5XShgPvnsFbVfhU1tskCFwRZL74A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJXc62ckxz1809; Fri, 05 Sep 2025 23:29: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 585NTARO029547; Fri, 5 Sep 2025 23:29:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 585NTAT1029544; Fri, 5 Sep 2025 23:29:10 GMT (envelope-from git) Date: Fri, 5 Sep 2025 23:29:10 GMT Message-Id: <202509052329.585NTAT1029544@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: 2a44e10edb13 - main - LinuxKPI: maths64: implement roundup_u64() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 2a44e10edb13e6b2be7fa2814b418a6959cb1171 Auto-Submitted: auto-generated The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=2a44e10edb13e6b2be7fa2814b418a6959cb1171 commit 2a44e10edb13e6b2be7fa2814b418a6959cb1171 Author: Bjoern A. Zeeb AuthorDate: 2025-09-04 20:27:48 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-09-05 23:24:16 +0000 LinuxKPI: maths64: implement roundup_u64() Needed by a wifi driver update. Sponsored by: The FreeBSD Foundation (initially) MFC after: 3 days Reviewed by: dumbbell Differential Revision: https://reviews.freebsd.org/D52080 --- sys/compat/linuxkpi/common/include/linux/math64.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sys/compat/linuxkpi/common/include/linux/math64.h b/sys/compat/linuxkpi/common/include/linux/math64.h index a216d350570f..25ca9da1b622 100644 --- a/sys/compat/linuxkpi/common/include/linux/math64.h +++ b/sys/compat/linuxkpi/common/include/linux/math64.h @@ -98,6 +98,12 @@ div64_u64_round_up(uint64_t dividend, uint64_t divisor) return ((dividend + divisor - 1) / divisor); } +static inline uint64_t +roundup_u64(uint64_t x1, uint32_t x2) +{ + return (div_u64(x1 + x2 - 1, x2) * x2); +} + #define DIV64_U64_ROUND_UP(...) \ div64_u64_round_up(__VA_ARGS__) From nobody Sat Sep 6 02:29:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJcc10gFVz66nF9; Sat, 06 Sep 2025 02:29:21 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJcc04bV4z3P35; Sat, 06 Sep 2025 02:29:20 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 5862T6u1019878; Sat, 6 Sep 2025 05:29:09 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 5862T6u1019878 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 5862T6bA019877; Sat, 6 Sep 2025 05:29:06 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 6 Sep 2025 05:29:05 +0300 From: Konstantin Belousov To: James Gritton Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 851dc7f859c2 - main - jail: add jail descriptors Message-ID: References: <202509042031.584KVpxY000408@gitrepo.freebsd.org> <282327ee69d5c26f379961c12e19dfbe@freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <282327ee69d5c26f379961c12e19dfbe@freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on tom.home X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cJcc04bV4z3P35 On Fri, Sep 05, 2025 at 10:24:16AM -0700, James Gritton wrote: > On 2025-09-04 22:14, Konstantin Belousov wrote: > > On Thu, Sep 04, 2025 at 09:43:13PM -0700, James Gritton wrote: > > > On 2025-09-04 16:43, Konstantin Belousov wrote: > > > > jd = malloc(sizeof(*jd), M_JAILDESC, M_WAITOK | M_ZERO); > > > > error = falloc_caps(td, &fp, fdp, 0, NULL); > > > > finit(fp, priv_check_cred(fp->f_cred, PRIV_JAIL_SET) == 0 > > > > ? FREAD | FWRITE : FREAD, DTYPE_JAILDESC, jd, &jaildesc_ops); > > > > ^^^^^^^^^^^ '?' should be placed on the previous line > > > > > > I wasn't aware of this requirement; style(9) is silent on it. > > In fact style(9) contains the explicit requirement: > > If you have to wrap a long statement, put the operator at the end > > of the > > line. > > There are a lot more of this pattern repeated in the commit. > > Ah, yes it says that. I was scanning examples looking for the "?", > and missed the general statement. I don't think it's the best move > for the ?: operator in particular, but I appreciate consistency in > style. I can change that in kern_jaildesc.c, but it's a little > trickier in kern_jail.c since it's already replete with me having done > it wrong over the years. > > > > > Generated files should have been committed as a follow-up, not in the > > > > same commit as written code. > > > > > > The FreeBSD Wiki explicitly allows it in the same commit. > > I always objected against this practice. For instance, the commit > > message > > for this commit is even less useful because most of the limit was > > filled > > with the auto-generated stuff, instead of the code. Same for reading > > the > > commits with log. > > > > Could you please point me to the wiki page? > > https://wiki.freebsd.org/AddingSyscalls#Committing > > > > > jaildesc_find() returns EBADF when passed file type is not DTYPE_JAIL. > > > > Normally EBADF means that the object underlying the file is invalidated, > > > > like vnode is reclaimed, tty is revoked, etc. For the wrong type, EINVAL > > > > should be returned. > > > > > > That's part of the code that I lifted from process descriptors, nearly > > > identical to procdesc_find. A check of other c_type checks shows > > > EBADF isn't uncommon. > > So procdesc is wrong as well, I think. > > The existing code base is quite inconsistent. I some EINVAL, some > EBADF (procdesc, kqueue, fcntl), also EPERM, ENODEV, ENOTSUPP, EPIPE, > and ENOTSOCK. EINVAL is the most common, but there are enough EBADF > that I feel I can keep it. kern_event.c is relatively consistent to report EBADF when kqueue(2) is called on closing kqueue, which essentially means that it is reclaimed under it. kern_descrip.c' EBADFs are right: mostly EBADF is returned when fget() failed. The only incorrect use EBADF are two places in sys_procdesc.c, and I will fix them. So no, I do not agree with the frivolous use of EBADF in new code. From nobody Sat Sep 6 02:32:48 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJch76C6kz66nGb; Sat, 06 Sep 2025 02:32:55 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJch74RMxz3Pry; Sat, 06 Sep 2025 02:32:55 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 5862Wm98020025; Sat, 6 Sep 2025 05:32:51 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 5862Wm98020025 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 5862Wmm3020024; Sat, 6 Sep 2025 05:32:48 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sat, 6 Sep 2025 05:32:48 +0300 From: Konstantin Belousov To: James Gritton Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 851dc7f859c2 - main - jail: add jail descriptors Message-ID: References: <202509042031.584KVpxY000408@gitrepo.freebsd.org> <24bbb82cec2509bcfe1d8514500367ab@freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <24bbb82cec2509bcfe1d8514500367ab@freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on tom.home X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cJch74RMxz3Pry On Fri, Sep 05, 2025 at 10:34:18AM -0700, James Gritton wrote: > On 2025-09-04 22:14, Konstantin Belousov wrote: > > On Thu, Sep 04, 2025 at 09:43:13PM -0700, James Gritton wrote: > > > On 2025-09-04 16:43, Konstantin Belousov wrote: > > > > There are fo_chown/fo_chmod methods that are semantically applied to the > > > > jail files, instead of the underlying object. This is quite strange, > > > > files > > > > do not have concept of owner. > > > > > > True, it is strange. But jails don't have owners either, and this > > > seemed a good way to control how the descriptors could be used. I see > > > the jail descriptor as an intermediate object between the jail and the > > > file descriptors, like there's a portal to the jail that is owned by > > > its creator, and the file descriptor returned is merely the access to > > > that portal. It's roughly equivalent to a temp file that doesn't > > > exist in the filesystem directory space after its creation, yet is > > > still a thing with ownership and permissions. > > > > > > I could remove this if it's too far out of mainstream practice, but I > > > hope not to have to, since it provides a handy to allow some to (for > > > instance) attach to a prison, but not alter or remove it. Such things > > > are perhaps better left to Capsicum, but I don't have that support in > > > place yet. > > > > Naturally, you would added a jail owner (ucred), and make fo_chown > > change the owner then. I quite dislike trying to strength filesystem > > DACs > > to jail access control. > > You're not the first to object to this repurposing of of permission > bits. I guess the proper thing to do is to get the Capsicum support > in place, and use that instead. So this hack may well be going away > soon. Well, I am not objecting assigning some permission and giving access control over the jail's manipulations ops. My claim is that trying to overload fs ownership and related syscalls to do it for different objects (jails) is not correct. If you lower the ownership down to the jail object itself, from the file object (which is not appropriate place), and then provide specific semantic for fchmod/fchown, it is debatable. But the the current state should not be left until some undetermine future. From nobody Sat Sep 6 03:20:48 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJdlk0ZJJz66r4Q for ; Sat, 06 Sep 2025 03:21:06 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic317-21.consmr.mail.gq1.yahoo.com (sonic317-21.consmr.mail.gq1.yahoo.com [98.137.66.147]) (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 4cJdlg2rRjz3Tk2 for ; Sat, 06 Sep 2025 03:21:03 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=rqDmfAHO; dmarc=pass (policy=reject) header.from=yahoo.com; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.66.147 as permitted sender) smtp.mailfrom=marklmi@yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1757128861; bh=i4Zlq1fQgU3H917ObDn/7RibXZERHsyDD+lGZgRWlTs=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=rqDmfAHOSfx123vpCXj78cvmKFPa2OwZ/6qqGKyfKzKBMiskdLfzg53/uHNDBZB9Sbnf2qVoM2i6TROi+3jz4neU7YE4QBKJrvgMnC2youZMfQLNEDp3rtPKM1Wb3kdbAGF1gIebGJya3IrV+MUK/AEm1XcE9n4Wi+Wibl5s6zX45EvvWP0A/rxXrvctF0ANckMt04779jqaXG1s3c2oFMdHP14zdOGTGc3E1Hy4wRODM0xydQd7F2mSC+q5t2GT57taQWzlaRqxei2YUPYim2PzlfndU3OrDhtdtaw2jwJwV1RrfC4zoNCykjS0tvj9HJQtU+uUoEsloU/rpMzXEg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1757128861; bh=VwUXwvcTF5Vcs84rOCHSHcOWJubLeNkysr4gjJ8ES61=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=Yey/+NSGV1tSKkZRg6os3djg2dUGoMpDwaQHdHK5A8ShMqWMRSSsqkADevzduVUvmC9bEr+Oa4AOXgfSXcW+I9UGVxA6rwL7iPjgMB/WeRilTirpnnTdgckFSQ4IAFkqKzgNqb24Q2uB5sHyr6CC4pQW/5jxijDQ4z/GkF8oawVIEx0M3hwMB56CYqPJYZ7imBqcqTtvVq0Rrl7iMtn02EjbZjPco6Njiu7ixigUMYHj+tCJfDuJ8moMkew8/FY6JwcZheVWuihiJe59/RZDge2PsDSUfh4jCPFq6OccN77CfPlK3IeHIaWjepF4HS65sXU9afINwoMUZnC3rbUjCg== X-YMail-OSG: ILYsDxoVM1nyDco1lHrTE4j2U.RgflrKc0eGOH6xMjvFEXbWQUKpgeNvrRgjh5v gDf1ospjqgCBDFavoNnbRooYtX3vHT.JmkE.4dfXCsZZ6J6gK3mfmL9k7LSpZsd9doYjhRtRCr7t ietnYobFFb97OtVxWlODiVm5VAw5GZhNua89YnkCbyDsi.6bXmarIq0OeZUFIAm7BXMsMTwvt4Ho F.LnXzmgUT59nA2iukJonfYfdLrGFd297LU4nQTn8EkgptX7vl5Nckw08QqmlugfxfKKd7HOOlIL zWqVBvd27aVmxjOOVoMlDk4l_MzD4epKYfmrJxnSB7pIQd1pXhWzGMD1WzKAFMk_zS3nCNus8wfz 7wDxfoqbFNvoZQRu_rsxPV1859IDQJXWbjy0YdNLe.aa4WihxLSIIl66mSB0T23.fmEQU8TqyVK7 Lr40gNtwvOH_L7lZ0phffdOrGFZs1dTJlf2C.8YGmCNfdlrF2WiutjIJ9RR7CkpwRJD1gz9pJk9s SicssgH8HYyvbukxF8_4FjdZ5lsNoTXkY1xFgCsinGw7u57hpXuRq7IsHeEx1MV52L6Ik4ZrjoAZ VmO6T.xLsUpNjgqIxm1YX7VBniaeKqeCpQZ66LmtKazXZNZiKJZbuDC5i53v54c7Rf7fJUpagMCb yPhU00UEJGcOP2NZSOZ5csuudofMtlmM40LY8kRcVsUz.cc4hk_9NMJjGOrInW3fBlUsQG6j5zKT gu2Errdisj_aCs_d481Z2W0KULdiK0qY50diZFhFRmv00U7yhfqXrxhYUGq9B2RF.Uv1PHWQnPZC mn2Ar5jgMfq02jUGwXeN2pUb5Qyu7FtXfO45e3GdZ5a4zkWQ8oW2c2BEjSzW.vHyhIS919cBBhUF dyAiAPc_UzgtQ18rkqADa0z9rFqT7JbKqMfnnD5_YnYey3dNTRRhmXwhqU7It4Is5_bdP8MgLgeo LNhVjeQDKKGyrRim8qS27fMMPhP1ZjTE9NtRPzbRuRQGOc5Icm8D_5hiHtDMrgNR4gJLFJoIYDex IftPUj3vS4Z4tE4awwkHk8J.lTw1XPYfCa04tEAugsrpZIUjgRqlTd81YC4DE_FmVpFagEpjAllb pprZMpP4RRaI.2.RakS5d7o269BCY_3tkwDPbWHrMO_V8BTU9B8geaGymCWjRCyRGYzdvWTqTWkM eMQIH.yDS2xXS1kJ44RCx9P4fXlzA5YN9srvkGtVI.mAaOcU6nn9gjRdwLaJpVFkaHNLQm8u.YeO N88mY4TPR2lsSdx.vBwwgiDbaZQFF3Xquus70PZxHcGDtk88AulMlDiXJPQWSNtv_CUIR70y9Y79 gBIsFM3m92Er8zBJ_b_7UcFA1zwSpCsUiuvAv7F2LD8xE8wgi8.d1QzRjWp5_asPnbmvdx.tu3vs xWvGigXLOmjAY.01KJOVR5J3oMmGEXCYasFDtf0mact1vqprdzqTR43dY_vSabYvO9ItCtMronzy yZIUHAG6WPFHZN.C_PPz3y6X2gORCAoVRfQQzj06z3ugUaGZGT3G9qBu7Q3XkNE1JO66jSHMkQQc BSzfBQQ4FrxwunFIpN250sAauRJ1ZwbGcCygSgEeTY0RqBmbl2AcZQP4j6fD_lj3Mw8cdm9Qul7G LC3p5mN5w1KeHfvAhneMYHIn8mU5TF0CQw2lQBrmyF0EbeXwAf54JXxIXgWRiMV73qOMtADJMXcU wNRjY9eK8aBfNOHMNkqS7WsnuRqXgboF1Bo.w0GguEfWIP8efmbI77s0afHQ9xCT0FH.gcJBUG2w IGBYzKt.oxOS3cS3kCklOnqvvHoBFUX9X5QpAGjvw8OHta8BroGSLilti.SO.7CtttLwXW_Kou3B CZCmBzxSmPKIUKDOH2cKp2e0HrjCBfq.aj917yffL5jQr.yM13O1VRRt361QlKtx4UcQ6Jin5rmo pC3Qm.McuCRWS4UL6bgcwkv0KRJIEJTNx0kdJYi9GHwiOGjCDCmq6WtzXI4km0gVIt1Fe9RigA7Y ruWTnFAGEC_Cir0Zbs3LAodQm_5WaIsSzuMcNk.bCqhjWos4fysfK2TQ58eOyu9riEkJHrYHwaYl lMrkN2LA7e8V8emC3RjiScbJthCt0Aa4AQaF1wr8QeQdwNccaWcPfYjWAbgdyaTpDAQyF8vQObWB 39m.NtwaXd6ZRX8WJXCCTVH.1kP_1iobM7r2axEVOkPIB93mBdI84jwclXVRSOkKBMe3rUXH6jb7 AoGqqXcGicFDEokSfaXtcC67W0wK47AInbXcp_XstWwqbssYBUeNh0.3WsQplfg8S_ckjipQhIdw b2x3AR3Nanl2BVt9yh1o- X-Sonic-MF: X-Sonic-ID: 0844b82d-3b20-4b86-a1c3-439c4b6415af Received: from sonic.gate.mail.ne1.yahoo.com by sonic317.consmr.mail.gq1.yahoo.com with HTTP; Sat, 6 Sep 2025 03:21:01 +0000 Received: by hermes--production-gq1-7bfc77444d-cwxvw (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID f942884e5440b2adebcf766596a35d6c; Sat, 06 Sep 2025 03:20:59 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: 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.700.81\)) Subject: RE: git: 8b4e4c273730 - main - Update main to 16 [beefy18's just started build of a "16" main-amd64-default (latest) may later need to be restarted] Message-Id: <0BA0E85E-981D-44A5-972E-E61D718C4216@yahoo.com> Date: Fri, 5 Sep 2025 20:20:48 -0700 To: Colin Percival , dev-commits-src-main@freebsd.org X-Mailer: Apple Mail (2.3826.700.81) References: <0BA0E85E-981D-44A5-972E-E61D718C4216.ref@yahoo.com> X-Spamd-Bar: --- X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; ARC_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; RCPT_COUNT_TWO(0.00)[2]; FREEMAIL_FROM(0.00)[yahoo.com]; TO_DN_SOME(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; MLMMJ_DEST(0.00)[dev-commits-src-main@freebsd.org]; APPLE_MAILER_COMMON(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.66.147:from]; RCVD_IN_DNSWL_NONE(0.00)[98.137.66.147:from] X-Rspamd-Queue-Id: 4cJdlg2rRjz3Tk2 Colin Percival wrote on Date: Fri, 05 Sep 2025 00:10:19 UTC : > The branch main has been updated by cperciva: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D8b4e4c2737305df8807abc6cd054a325= 86085c93 >=20 > commit 8b4e4c2737305df8807abc6cd054a32586085c93 > Author: Colin Percival > AuthorDate: 2025-09-04 23:06:47 +0000 > Commit: Colin Percival > CommitDate: 2025-09-04 23:06:47 +0000 >=20 > Update main to 16 >=20 > * Bumps to versions in lib/clang > * Bumps to sys/conf/newvers.sh and sys/sys/param.h > * Update to UPDATING An FYI: A much faster build of main-amd64-default (beefy18) may be soon possible (and main-*-default more generally). https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D289269 is for: [exp-run] update pkg to 2.3.0 that has turned off the time-expensive provides/requires functionality that was involved for "pkg add". 142amd64 (gohan06) and 135i386 (gohan05) have completed and 142i386 (package18) and 135amd64 (gohan04) have mostly completed (each is still processing). beefy18 builds may well be back to more like 100 Hrs as it was for pkg 2.0.6 being involved --and less like 420+ hrs and 250+ Hrs for pkg 2.2.2 being involved. In other words: if pkg 2.3.0 is released, stopping the build and starting over could well finish much sooner than waiting for the pkg 2.2.2 based build that now is in progress. I also expect non-main builds to be faster than they have been with pkg 2.2.2, but not with as big of a difference. main-*-default have been the longest builds for 2.2.2 being involved. =3D=3D=3D Mark Millard marklmi at yahoo.com From nobody Sat Sep 6 03:36:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJf5G1rFBz66sB6; Sat, 06 Sep 2025 03:36: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJf5G18Hfz3VgZ; Sat, 06 Sep 2025 03:36:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757129778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=axUW8gQqLRo91ovHvy1adOEkbjOFjG4Z9hhR2tpRmeo=; b=H1XsnPFqiI8qDOQv+PNqDuld6C9BXZf8m61aZhXPvyG0doJN+QLxsoJL6LPOodeWqD/25Y BOUfRVoLbNlCi+QhCQsxGhaKepVbChfJ8U8PAvp7VqYTQfetReYS2SUk1Js83HCAQ7WzWg 6KKu7VYnKOiksTPXIVmF97eyL3TE3f9GJKrTW7ohmJNLppiUpxtR2oD5hvE5x6t1b9jud4 E3iFU0bwgNW5NS6NWebnDwkCn/v3Zzjqq1UfB+++K3Zpoy7T5A4WsKT8NWi1VXXhRZ/R5X aV5pbFpnS/5NDQBtK0TvXbyMgQyhDMfElwNbPoKvuMcd+N/6/ghWbAzAeUML6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757129778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=axUW8gQqLRo91ovHvy1adOEkbjOFjG4Z9hhR2tpRmeo=; b=Zduk1LwsIswfMQZk+WTLrPpEv37to9KQ5xbkoKJvt1z4jmDFWGNyr5v+OiN+0na/xqoeL1 VqTzN/rxQM8bdkVM6ffyr8LpI9vi02u86N5mnbbB8fNXxtDWXlv8D6MBZDf2kU3yUfPHhi IsLLT3vbLhxJc22N77eBLC4FhuZHA8rybzlQugfIcTtweaY07IpHx2OcqB20pobLUX+qcN 27vmRXfEXY2N/mr+TqtAwZ0v4o5Mzdd5RlcHMhMbsCC0gfzbAKp3C3ezddzwVX+49OlLdw /vy9f6DbL6sZ7oUzC6oBI1JN2ErjhAk2iMiDJBTHpgNF6NwaNv4lCvHRLDyk/w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757129778; a=rsa-sha256; cv=none; b=dYhrl18O+727yPJm15YihKI6MTSKOAWx4tAFME7sUqA1y5KcXx3vXYUl80r79jErQSscBf TpdTkkSnF1wN+FK8erBtwbb2whCq2wXkm6K2V3AnRB7F6EalbKB4p7wa0yjStqFgDpDwAU v2EX6YzPSR9NjMi8UZ58xXaahH4JaNCp7x6A2pLXTVSYxZjf7NWsWR1RPtpKZEpJqVVqDx 1H7GZyoMJaCotmdS0pktc9HvJ6jM4Yq8x9gM77dy70QU3gTNC8w+KDboEsDl+ExLXMMWvc HU2tT2eXVtI3APnOCQ6iqX7pILbscU0R8IlayrTQ3E1GbOus+KOBFZv+BrRCwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJf5G0ZqMz32v; Sat, 06 Sep 2025 03:36: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 5863aH7Q098679; Sat, 6 Sep 2025 03:36:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5863aHNC098676; Sat, 6 Sep 2025 03:36:17 GMT (envelope-from git) Date: Sat, 6 Sep 2025 03:36:17 GMT Message-Id: <202509060336.5863aHNC098676@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Joseph Mingrone Subject: git: 5e82eeccd252 - main - stand: Remove Spleen 32x64 fonts from INDEX List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jrm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5e82eeccd252e96370e8b73603b609622497000c Auto-Submitted: auto-generated The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/src/commit/?id=5e82eeccd252e96370e8b73603b609622497000c commit 5e82eeccd252e96370e8b73603b609622497000c Author: Joseph Mingrone AuthorDate: 2025-09-05 19:50:39 +0000 Commit: Joseph Mingrone CommitDate: 2025-09-06 03:34:55 +0000 stand: Remove Spleen 32x64 fonts from INDEX The Spleen 32x64 fonts cause some systems such as the AMD Framework 16 to boot extremely slowly. Adding screen.font="16x32" to /boot/loader.conf is a partial workaround, but text displayed before the boot menu still takes ~30 seconds to render on that laptop. With this change, the same text renders immediately. By leaving the font files in place but removing them from the INDEX, users who want to use them can still load them manually. Once pending work is committed to allow normal booting with these fonts, they can be added back to the INDEX. PR: 289007 Reviewed by: emaste, kevans, tsoome, ziaee Fixes: 1ec2c8b2f364 (stand: Enable Spleen 32x64 font in the bootloader) Sponsored by: The FreeBSD Foundation --- stand/fonts/INDEX.fonts | 3 --- 1 file changed, 3 deletions(-) diff --git a/stand/fonts/INDEX.fonts b/stand/fonts/INDEX.fonts index 66a6d8a9a3f5..fc035c6b2e4e 100644 --- a/stand/fonts/INDEX.fonts +++ b/stand/fonts/INDEX.fonts @@ -60,9 +60,6 @@ FONT:en:8x16v.fnt 16x32.fnt:en:Terminus BSD Console, size 32 16x32.fnt:da:Terminus BSD-konsol, størrelse 32 16x32.fnt:de:Terminus BSD Console, Größe 32 -32x64.fnt:en:Spleen BSD Console, size 64 -32x64.fnt:da:Spleen BSD-konsol, størrelse 64 -32x64.fnt:de:Spleen BSD Console, Größe 64 # (fset 'langnew # "\M-}\C-p\C-k\C-y\C-m\C-y\M-}") From nobody Sat Sep 6 04:03:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJfhj0M4rz66tZf for ; Sat, 06 Sep 2025 04:03:33 +0000 (UTC) (envelope-from rlinnemann@netgate.com) Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) (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 4cJfhh4Dyqz3YHV for ; Sat, 06 Sep 2025 04:03:27 +0000 (UTC) (envelope-from rlinnemann@netgate.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-61d3d622a2bso5102954a12.0 for ; Fri, 05 Sep 2025 21:03:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netgate.com; s=google; t=1757131400; x=1757736200; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=An/IToYiMg9ak1M0gmgaX22CnA1ZzzvKDxp9uTcUFtU=; b=A14EjK+Ax0XLRLVjhsxpgJoZ0gQmvLRjqHcBP4SS2W+cFQjXU45OPv4uabXJKpoL6U qXwdxwZYf6ReQvx+Xpx8qeNszwj+UMlKdyTunA61YxeoKatsBl9ZCiY7EuGRfSNBcfpH dxDYoJB91tpZy46JluFLKRpbQLIGknjgEdWgw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757131400; x=1757736200; 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=An/IToYiMg9ak1M0gmgaX22CnA1ZzzvKDxp9uTcUFtU=; b=tT9a/C1b3uByMGSLzCGSkjZRBzXkQrqh463L7S59I8gLL3AjQDc5GGu2ZYQwopNavv /KEpcN8+UCHtqDkzDGUJHpjUtb5HkRGwplMoNg6FqJ/Kh3y4Da1veSx1WR/mvpH3lTqm AhjPiWXSXsuht71d8ti6/GQ9w7RVkD0LUNhy8aSjgrc/5sw+wvE4WDprmXk1tzwL9hhH thW2DK0ItpZR5a4WqqAU/1NgISB/brCzETlZ1MsDfFVqS6Y8qMRPbAtjJhOJ+KQT538L c0EorYWeWMezWB7qMJggT9CQB2L9AtDsMhdT8n7n8rK8g9AkrgsLrurYTbY2cXIuGyMZ bNGg== X-Forwarded-Encrypted: i=1; AJvYcCWByteftW6Eg9XB6sv/SC1z9fUjwQIt2IQ7hv9ai5BUZXLJyclIPC669V1EZk7K73WFO6I6tKR9mU8wL5ZJV8GvB9NL1g==@freebsd.org X-Gm-Message-State: AOJu0YwHdGQr5klYGLjBtGmhlBGszYNqt2zWLxCqmoO4k58JTZQ2z1lH xD2Lf5aOSRqbyslUJD2nShhgRTV1gFmj5e7ZKWYvpk8Gy5R582/YjInm3r4YD0rN5KMXjV+TVV2 7aMWbXb/ISRWmSPXkFFJPO8L2nReec3/sP23ATn+d X-Gm-Gg: ASbGnctYgSLFN46Qld7HlI6iaI2cCJnm7B9SHj/tOxqugccAsAUWKU//Wn0KcTzH2eQ PyKewzixbQCF6cpT0WYpNQ67NEXGn4/W/vhPbVVdwrqEGUDBVpsesVyTUdR1dtakqclyYQp09Ds nV9ofKz9eh22wDRZt7vGgMfz63wFcuWaobL/p6S1O6ikZjzooX64oxolvi2M+y3r6OsJZt4BpzP WxhTMeswZuYDtI= X-Google-Smtp-Source: AGHT+IH0KiJnxPiI4A45XdC5HeZsFtIwTIZ1fCfgkFpmNMpRlX/NxGVvhesIbmYPAzRzQZAYBRNfal0/NlyEl+mAUow= X-Received: by 2002:a05:6402:5110:b0:61c:6e16:4d73 with SMTP id 4fb4d7f45d1cf-623db077218mr726893a12.2.1757131399628; Fri, 05 Sep 2025 21:03:19 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202509052153.585LrUjo056473@gitrepo.freebsd.org> <8rq4s287-pq47-58no-9r1o-p3o7659s0n60@SerrOFQ.bet> In-Reply-To: <8rq4s287-pq47-58no-9r1o-p3o7659s0n60@SerrOFQ.bet> From: Reid Linnemann Date: Fri, 5 Sep 2025 22:03:07 -0600 X-Gm-Features: Ac12FXzItGWa95LCsek9Lsp1SyuNeCYWfeyYTrRNCIw3ozf-UxlMVYFBz43plTg Message-ID: Subject: Re: git: 9e792f7ef729 - main - sys/netinet6: Fix SLAAC for interfaces with no /64 LL address To: "Bjoern A. Zeeb" Cc: Kristof Provost , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="000000000000e62010063e1a089a" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cJfhh4Dyqz3YHV --000000000000e62010063e1a089a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Bjoern, See responses inline below: On Fri, Sep 5, 2025 at 5:17=E2=80=AFPM Bjoern A. Zeeb wrot= e: > On Fri, 5 Sep 2025, Kristof Provost wrote: > > Hi, > > > The branch main has been updated by kp: > > > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D9e792f7ef7298080c058fbc2d36a4e6= 0e596dae9 > > > > commit 9e792f7ef7298080c058fbc2d36a4e60e596dae9 > > Author: Reid Linnemann > > AuthorDate: 2025-09-05 19:57:44 +0000 > > Commit: Kristof Provost > > CommitDate: 2025-09-05 21:48:48 +0000 > > > > sys/netinet6: Fix SLAAC for interfaces with no /64 LL address > > > > in6_ifadd() asserts that an interface has an existing LL address wit= h > a /64 > > prefix from which to extract the ifid for SLAAC address selection > (even though > > the comments suggest that an ifid will be generated if one does not > exist). This > > is adequate for most generic cases, however to support PPP links wit= h > /128 LL > > addresses we must be able to fall back on another source for the ifi= d > since we > > cannot assume the /128 LL has a unique ifid in the lower 64 bits. > > Excuse my ignorance but where do you have a IPv6 LL/128 on a PPP link? > > I am totally suprised given this hasn't been a problem in about 25 > years and I wonder what software this is or what got broken where? > > Okay, I scrolled through the review. I see I am the third person asking > the same question as the intial intuitive reply. > > I was intiially tempted to say 'please back this out' but see the end. > > While the impetus for this change was PPPoE, you can effectively ignore it. The IID selection is equally valid for any other scenario where the LLA prefix and RA prefix do not match, in which case *in6_ifadd()* originally would just throw its hands up and return an error. > For (1) do not start applying IPv4 to IPv6 just because. It's not just > a different number, it is also different concepts. People said this 20 > years ago and still do. > > I'm not comparing IPv4 to IPv6, the specific PPP(oE) problem I'm addressing that prompted this change is at the generic level of the struct ifaddr, in which any p2p address has a source and destination address. PPP(oE) implementations simply have to work around some of the behavior in the v6 implementation right now, primarily that only addresses with a /128 prefix are permitted to have a dstaddr (see *in6_validate_ifra()*), RA processing previously gave up if it could not get a IID from a /64 LLA, and an existing LLA prefix cannot be changed from /64 to /128, requiring the PPP(oE) client software to first remove an existing LLA (for instance if net.inet6.ip6.auto_linklocal is enabled) once address negotiation is complete in order to add a proper ifaddr to the address list. Either /64 dstaddrs needed to be permitted (which is not sensible as a p2p address is by definition composed solely of two endpoints), or RA processing should work in the case where the RA prefix doesn't match the LLA prefix (which I would argue should have been done since the original KAME implementation). > (2) Both of you talk about PPPoE in the review which tells me something > got wrong as that is a totally different protocol and has nothing to do > with IIDs. > > Selecting an appropriate LL for IPV6CP can be done entirely in user > space for protocol negotiations. And to my memory we have no IPV6CP > implementation in the kernel to require anything different. > > I don't know what the mentioned if_pppoe.ko is but if this is a convolute= d > implenentation in-kernel incl. protocol negotiations then I am tempted to > say you are off on your own with that, especially if you want to do thing= s > differently. Looking what Linux is doing is not always the best source o= f > truth. > > Please follow what the IPV6CP RFC (got updated since I last implemented i= t > 20-something years ago I have to admit) says and you end up with a /64 LL > on the interface and your problem is solved. > > I did refer to RFC5072, however I don't see any mention at all of prefix selection for the negotiated address. Regardless, let's ignore PPPoE for the purpose of this conversation because IID selection for SLAAC is not specific to this case. With regard to address selection for SLAAC, RFC2462 section 5.5.3 states: "d) *If the prefix advertised does not match the prefix of an address* * already in the list*, and the Valid Lifetime is not 0, form an address (and add it to the list) by combining the advertised prefix with the link's interface identifier as follows:" This is perfectly applicable to the situation that prompted the change, as the LLA prefix does not match the RA prefix. In such a case, rather than giving up and going home when the LLA prefix doesn't match the advertised prefix, we should take the bare minimum effort and try to get it from the horse's mouth before returning an error. Your negotiated LOCAL_LL (fe80::LOCAL_IID/64) address goes onto the IF: > > IF: flags=3D1008051 metric 0 m= tu > 1492 > options=3D80000 > inet ... > inet6 LOCAL_LL%IF prefixlen 64 scopeid 0x > inet6 ... > nd6 options=3D122 > > You get an entry in the routing table: > fe80::%IF/64 link#11 US IF > > and possibly a > default REMOTE_LL%IF UGS IF > > if you decide to install a default route. > > Other routes I would assume are installed on the link but I assume you > could > chose the REMOTE_LL%IF as well if you wanted to complicate things. > > So I crystal-ball that your real problem could have been stated that you > may need to get the IID for IPV6CP negotiations in-kernel? If that is no= t > the case, then I am still lost as-to what you are trying to accomplish. > But then you'd still never need the /128. So maybe I am just lsot. > > Again, we can forget PPPoE. PPPoE, whether in-kernel or in-userland handles IID selection itself for IPV6CP negotiation. The issue I'm addressing is SLAAC on interfaces with LLA prefixes that do not match the prefix in the RA. As PPP or PPPoE are both point-to-point links the ifaddr for the link should consist of a srcaddr and dstaddr, regardless of the specific IP protocol, and I think it follows that for either protocol the host address should be fully masked for the same reason. > .. > > > To do this, the static function get_ifid() in in6_ifattach.c is > renamed to > > non-static in6_get_ifid(), and this is used in lieu of a proper /64 > LL address > > to attempt to obtain a valid ifid. > > .. > > Now we can start arguing if we forget most of the explanation about > PPP[not oE], if it makes sense to keep this? But then we should fix > style, avoid unneeded initializations, etc. which should have been caught > in proper review in first place. > I assume the entire thing up there and in review distracted from the actu= al > case more than it was good for. > Sadly the commit message also kept carrying that forward. > > That's a fair criticism, I can submit another diff to correct style. Aside from the verbose initializations, was there anything else I missed? I hear what you are saying about the commit message, I intended to change it but I neglected to do so, that's my fault and I apologize for the confusion. > So the change is probably right, the description is not? > > If I am guessing right, are you going to fix style, etc.? Might want a > test > case for the extra condition added which I have not cross-checked yet > either > for all possible cases? ... > > > > Reviewed by kp > > Sponsored by: Rubicon Communications, LLC ("Netgate") > > Differential Revision: https://reviews.freebsd.org/D51778 > > --- > > sys/netinet6/in6_ifattach.c | 7 +++--- > > sys/netinet6/in6_ifattach.h | 1 + > > sys/netinet6/nd6_rtr.c | 54 > ++++++++++++++++++++++++++++++++------------- > > 3 files changed, 43 insertions(+), 19 deletions(-) > > -- > Bjoern A. Zeeb r15:7 > Thanks, -Reid --=20 Reid Linnemann Senior Software Engineer rlinnemann@netgate.com --000000000000e62010063e1a089a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Bjoern,

See responses inl= ine below:

On Fri, Sep 5, 2025 at 5:17=E2=80=AFPM Bjoe= rn A. Zeeb <bz@freebsd.org> wro= te:
On Fri, 5 Se= p 2025, Kristof Provost wrote:

Hi,

> The branch main has been updated by kp:
>
> URL: https://= cgit.FreeBSD.org/src/commit/?id=3D9e792f7ef7298080c058fbc2d36a4e60e596dae9<= /a>
>
> commit 9e792f7ef7298080c058fbc2d36a4e60e596dae9
> Author:=C2=A0 =C2=A0 =C2=A0Reid Linnemann <
rlinnemann@netgate.com>
> AuthorDate: 2025-09-05 19:57:44 +0000
> Commit:=C2=A0 =C2=A0 =C2=A0Kristof Provost <kp@FreeBSD.org>
> CommitDate: 2025-09-05 21:48:48 +0000
>
>=C2=A0 =C2=A0 sys/netinet6: Fix SLAAC for interfaces with no /64 LL add= ress
>
>=C2=A0 =C2=A0 in6_ifadd() asserts that an interface has an existing LL = address with a /64
>=C2=A0 =C2=A0 prefix from which to extract the ifid for SLAAC address s= election (even though
>=C2=A0 =C2=A0 the comments suggest that an ifid will be generated if on= e does not exist). This
>=C2=A0 =C2=A0 is adequate for most generic cases, however to support PP= P links with /128 LL
>=C2=A0 =C2=A0 addresses we must be able to fall back on another source = for the ifid since we
>=C2=A0 =C2=A0 cannot assume the /128 LL has a unique ifid in the lower = 64 bits.

Excuse my ignorance but where do you have a IPv6 LL/128 on a PPP link?

I am totally suprised given this hasn't been a problem in about 25
years and I wonder what software this is or what got broken where?

Okay, I scrolled through the review.=C2=A0 I see I am the third person aski= ng
the same question as the intial intuitive reply.

I was intiially tempted to say 'please back this out' but see the e= nd.


While the impetus for this change was = PPPoE, you can effectively ignore it. The IID selection is equally valid fo= r any other scenario where the LLA prefix and RA prefix do not match,=C2=A0= in which case in6_ifadd()=C2=A0originally would just throw its=C2=A0= hands up and return an error.
=C2=A0
For (1) do not start applying IPv4 to IPv6 just because.=C2=A0 It's not= just
a different number, it is also different concepts. People said this 20
years ago and still do.


I'm not comparing IPv4 to IPv6, th= e specific PPP(oE) problem I'm addressing that prompted this change is = at the generic level of the struct ifaddr, in which any p2p address has a s= ource and destination address.

PPP(oE) implementat= ions simply have to work around some of the behavior in the v6 implementati= on right now, primarily that only addresses with a /128 prefix are permitte= d to have a dstaddr (see in6_validate_ifra()), RA processing previou= sly gave up if it could not get a IID from a /64 LLA, and an existing LLA p= refix cannot be changed from /64 to /128, requiring the PPP(oE) client soft= ware to first remove an existing LLA (for instance if net.inet6.ip6.auto_li= nklocal is enabled) once address negotiation is complete in order to add a = proper ifaddr to the address list.

Either /64 dsta= ddrs needed to be permitted (which is not sensible as a p2p address is by d= efinition composed solely of two endpoints), or RA processing should work i= n the case where the RA prefix doesn't match the LLA prefix (which I wo= uld argue should have been done since the original KAME implementation).
=C2=A0
(2) Both of you talk about PPPoE in the review which tells me something
got wrong as that is a totally different protocol and has nothing to do
with IIDs.

Selecting an appropriate LL for IPV6CP can be done entirely in user
space for protocol negotiations.=C2=A0 And to my memory we have no IPV6CP implementation in the kernel to require anything different.

I don't know what the mentioned if_pppoe.ko is but if this is a convolu= ted
implenentation in-kernel incl. protocol negotiations then I am tempted to say you are off on your own with that, especially if you want to do things<= br> differently.=C2=A0 Looking what Linux is doing is not always the best sourc= e of
truth.

Please follow what the IPV6CP RFC (got updated since I last implemented it<= br> 20-something years ago I have to admit) says and you end up with a /64 LL on the interface and your problem is solved.


I did refer to RFC5072, however I don&= #39;t see any mention at all of prefix selection for the negotiated address= . Regardless, let's ignore PPPoE for the purpose of this conversation b= ecause IID selection for SLAAC is not specific to this case.

=
With regard to address selection for SLAAC, RFC2462 section 5.5.= 3 states:
=C2=A0 "d) If the prefix advertised does not ma= tch the prefix of an address
=C2=A0 =C2=A0 =C2=A0 =C2=A0already= in the list, and the Valid Lifetime is not 0, form an
=C2=A0 =C2=A0= =C2=A0 =C2=A0address (and add it to the list) by combining the advertised<= br>=C2=A0 =C2=A0 =C2=A0 =C2=A0prefix with the link's interface identifi= er as follows:"
=
This is perfectl= y applicable to the situation that prompted the change, as the LLA prefix d= oes not match the RA prefix. In such a case, rather than giving up and goin= g home when the LLA prefix=C2=A0doesn't match the=C2=A0advertised prefi= x, we should take the bare minimum effort and try to get it from the horse&= #39;s mouth before returning an error.

Your negotiated LOCAL_LL (fe80::LOCAL_IID/64) address goes onto the IF:

IF: flags=3D1008051<UP,POINTOPOINT,RUNNING,MULTICAST,LOWER_UP> metric= 0 mtu 1492
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0options=3D80000<LINKSTATE>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 inet ...
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0inet6 LOCAL_LL%IF prefixlen 64 scopeid 0x= <n>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 inet6 ...
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0nd6 options=3D122<ACCEPT_RTADV,AUTO_LI= NKLOCAL,NO_DAD>

You get an entry in the routing table:
=C2=A0 =C2=A0 =C2=A0 =C2=A0 fe80::%IF/64=C2=A0 link#11=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0US=C2=A0 IF

and possibly a
=C2=A0 =C2=A0 =C2=A0 =C2=A0 default=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0REMOTE_LL%IF=C2=A0 =C2=A0 =C2=A0 UGS IF

if you decide to install a default route.

Other routes I would assume are installed on the link but I assume you coul= d
chose the REMOTE_LL%IF as well if you wanted to complicate things.

So I crystal-ball that your real problem could have been stated that you may need to get the IID for IPV6CP negotiations in-kernel?=C2=A0 If that is= not
the case, then I am still lost as-to what you are trying to accomplish.
But then you'd still never need the /128.=C2=A0 So maybe I am just lsot= .


Again, we can forget PPPoE. PPPoE, whe= ther in-kernel or in-userland handles IID selection itself for IPV6CP negot= iation. The issue I'm addressing is SLAAC on interfaces with LLA prefix= es that do not match the prefix in the RA.

As PPP = or PPPoE are both point-to-point links the ifaddr for the link should consi= st of a srcaddr and dstaddr, regardless of the specific IP protocol, and I = think it follows that for either protocol the host address should be fully = masked for the same reason.
=C2=A0
..

>=C2=A0 =C2=A0 To do this, the static function get_ifid() in in6_ifattac= h.c is renamed to
>=C2=A0 =C2=A0 non-static in6_get_ifid(), and this is used in lieu of a = proper /64 LL address
>=C2=A0 =C2=A0 to attempt to obtain a valid ifid.

..

Now we can start arguing if we forget most of the explanation about
PPP[not oE], if it makes sense to keep this?=C2=A0 But then we should fix style, avoid unneeded initializations, etc. which should have been caught in proper review in first place.
I assume the entire thing up there and in review distracted from the actual=
case more than it was good for.
Sadly the commit message also kept carrying that forward.


That's a fair=C2=A0criticism,=C2= =A0I can submit another diff to=C2=A0correct style. Aside from the verbose = initializations, was there anything else I missed? I hear what you are sayi= ng about the commit message, I intended to change it but I neglected to do = so, that's my fault and I apologize for the confusion.
=C2=A0=
So the change is probably right, the description is not?

If I am guessing right, are you going to fix style, etc.?=C2=A0 Might want = a test
case for the extra condition added which I have not cross-checked yet eithe= r
for all possible cases? ...


>=C2=A0 =C2=A0 Reviewed by=C2=A0 =C2=A0 =C2=A0kp
>=C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0Rubicon Communications, LLC (&q= uot;Netgate")
>=C2=A0 =C2=A0 Differential Revision:=C2=A0 https://reviews.fre= ebsd.org/D51778
> ---
> sys/netinet6/in6_ifattach.c |=C2=A0 7 +++---
> sys/netinet6/in6_ifattach.h |=C2=A0 1 +
> sys/netinet6/nd6_rtr.c=C2=A0 =C2=A0 =C2=A0 | 54 ++++++++++++++++++++++= ++++++++++-------------
> 3 files changed, 43 insertions(+), 19 deletions(-)

--
Bjoern A. Zeeb=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 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0r15:7


Thanks,=

-Reid

--
Reid Linnemann
Senior Software Engineer
3D""<= br>
--000000000000e62010063e1a089a-- From nobody Sat Sep 6 06:23:13 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJjns75dxz65qTx; Sat, 06 Sep 2025 06:23: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJjns589Pz3pjF; Sat, 06 Sep 2025 06:23:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757139793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UBPEGZIBnM3KLSsAOJ6U4Dej0a85O20tf2S4m4x8MR4=; b=mavw+CifmEnOUkRfXLLqF/UdBvUcPoaLxd7ax2gWNoqH7kRxm4aCuUm3PDP/5v5ZPoWtsN OXnovXtBQDFsoB4OWNfd15Msz//IBiyxbx9jaOokWUYbqWtci/5FjVL1mlMxU0wEAqmvCr pPOImi1El7QttZOwVTyOImsrSkvZ5U7rmFrNXX/SHfGp0U9hpB6P4etoxAC3nErBeO769W W7UYiTUH4/yKnNcLrDgR7B3pLo8JyJ/4/4fTINxHoEuHqgP6wFN/2rGF5zSd3cPjztQuJl j1NOvEe97VtFNXSBGqylDomoQRjSDl8zwiuhF4zOfZD8Y5HhAsR/eUqPlwBTzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757139793; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=UBPEGZIBnM3KLSsAOJ6U4Dej0a85O20tf2S4m4x8MR4=; b=rQpkEKiY93i/QXvlgPZKDZW1RDkQRrynz8GL+hn+DtfzCJ7TKD5Uy6ftELC7go7Mu9MyRf dPRKX/SyxObC2mx4ezNL4GHnpqIHTnPBI+zrCpPfYBKfQuuXX0Z5TM7TTmzF7EXKqTZhTO 88TSHq5gIHKtf+1KhY5z0o2504v+QQV7/LJ48varGAj6zRX0y83ByXzqpDnDKhGzSnjrnC O8tZQTo8tEoyYMFd4jfKAdzKkxkfF5bS4DUkJk/3AhMmoX/PuksnY4uTg20VdQpDmo6noN 0pUqD4Rj/PjJF01OlP926JhqjeZRZdXggsUlGXOYQPh3tFyFymLDZpraqnlKuw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757139793; a=rsa-sha256; cv=none; b=to5+zy59i6F26PzPfuSKHAjzEpNl9rARQs6jM8I8lLqYWp6+cZ+3gCrABPxYgjt3I8p0oU nYHZP7oquc0ROJmhaCvYHWTiOZYEMTZ7TaeGOXpT6mmtPAzZaFA8Qp4BuGgP5644zqx12y XI997vUoCGVkdjqujWFlC9bV9kviNcXWwWWbcRSQQeo0fu/ayO+MAgFQFk7KZxSPUBUtt4 GBqiHKZ+J0G1qtNsefy/IBEimdmWZ31rXulefVynETSi+4wULYtbm/bg3eA250tqxyIXRw e4xucLKCaQ1NjO6VV0v25Cn1TtbRiVw+LprGOfO2DmbZwJrlpB0Qc4G82cIxrg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJjns4Yxhz7jG; Sat, 06 Sep 2025 06:23: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 5866NDfZ016371; Sat, 6 Sep 2025 06:23:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5866NDZS016368; Sat, 6 Sep 2025 06:23:13 GMT (envelope-from git) Date: Sat, 6 Sep 2025 06:23:13 GMT Message-Id: <202509060623.5866NDZS016368@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: dff11c4f8007 - main - rtwn: enable seqno offload; migrate to use ieee80211_output_seqno_assign() List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: dff11c4f8007841484748af08e11e110c541fd7d Auto-Submitted: auto-generated The branch main has been updated by adrian: URL: https://cgit.FreeBSD.org/src/commit/?id=dff11c4f8007841484748af08e11e110c541fd7d commit dff11c4f8007841484748af08e11e110c541fd7d Author: Adrian Chadd AuthorDate: 2025-06-05 00:47:14 +0000 Commit: Adrian Chadd CommitDate: 2025-09-06 06:15:47 +0000 rtwn: enable seqno offload; migrate to use ieee80211_output_seqno_assign() This should both enable the sequence number offloading and disable the net80211 TX lock from being acquired/released/checked. Locally tested: * RTL8812AU, STA mode Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D52301 Differential Revision: https://reviews.freebsd.org/D50693 --- sys/dev/rtwn/if_rtwn.c | 3 +++ sys/dev/rtwn/if_rtwn_tx.c | 8 ++++++++ sys/dev/rtwn/rtl8192c/r92c_tx.c | 11 +++++------ sys/dev/rtwn/rtl8812a/r12a_tx.c | 12 ++++-------- 4 files changed, 20 insertions(+), 14 deletions(-) diff --git a/sys/dev/rtwn/if_rtwn.c b/sys/dev/rtwn/if_rtwn.c index 7a547e13cafa..25287f222270 100644 --- a/sys/dev/rtwn/if_rtwn.c +++ b/sys/dev/rtwn/if_rtwn.c @@ -268,6 +268,9 @@ rtwn_attach(struct rtwn_softc *sc) ic->ic_flags_ext |= IEEE80211_FEXT_WATCHDOG; #endif + /* Enable seqno offload */ + ic->ic_flags_ext |= IEEE80211_FEXT_SEQNO_OFFLOAD; + /* Adjust capabilities. */ rtwn_adj_devcaps(sc); diff --git a/sys/dev/rtwn/if_rtwn_tx.c b/sys/dev/rtwn/if_rtwn_tx.c index 2c9c246dfbb4..fa7f35f2de83 100644 --- a/sys/dev/rtwn/if_rtwn_tx.c +++ b/sys/dev/rtwn/if_rtwn_tx.c @@ -183,6 +183,10 @@ rtwn_tx_data(struct rtwn_softc *sc, struct ieee80211_node *ni, } } + /* seqno allocate, only if AMPDU isn't running */ + if ((m->m_flags & M_AMPDU_MPDU) == 0) + ieee80211_output_seqno_assign(ni, -1, m); + cipher = IEEE80211_CIPHER_NONE; if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) { k = ieee80211_crypto_encap(ni, m); @@ -229,6 +233,10 @@ rtwn_tx_raw(struct rtwn_softc *sc, struct ieee80211_node *ni, uint8_t type; u_int cipher; + /* seqno allocate, only if AMPDU isn't running */ + if ((m->m_flags & M_AMPDU_MPDU) == 0) + ieee80211_output_seqno_assign(ni, -1, m); + /* Encrypt the frame if need be. */ cipher = IEEE80211_CIPHER_NONE; if (params->ibp_flags & IEEE80211_BPF_CRYPTO) { diff --git a/sys/dev/rtwn/rtl8192c/r92c_tx.c b/sys/dev/rtwn/rtl8192c/r92c_tx.c index 6b013de0c536..ba2f60bd9295 100644 --- a/sys/dev/rtwn/rtl8192c/r92c_tx.c +++ b/sys/dev/rtwn/rtl8192c/r92c_tx.c @@ -452,11 +452,10 @@ r92c_fill_tx_desc(struct rtwn_softc *sc, struct ieee80211_node *ni, } else { uint16_t seqno; - if (m->m_flags & M_AMPDU_MPDU) { - seqno = ni->ni_txseqs[tid] % IEEE80211_SEQ_RANGE; - ni->ni_txseqs[tid]++; - } else - seqno = M_SEQNO_GET(m) % IEEE80211_SEQ_RANGE; + if (m->m_flags & M_AMPDU_MPDU) + ieee80211_output_seqno_assign(ni, -1, m); + + seqno = M_SEQNO_GET(m); /* Set sequence number. */ txd->txdseq = htole16(seqno); @@ -511,7 +510,7 @@ r92c_fill_tx_desc_raw(struct rtwn_softc *sc, struct ieee80211_node *ni, rtwn_r92c_tx_setup_hwseq(sc, txd); } else { /* Set sequence number. */ - txd->txdseq |= htole16(M_SEQNO_GET(m) % IEEE80211_SEQ_RANGE); + txd->txdseq |= htole16(M_SEQNO_GET(m)); } } diff --git a/sys/dev/rtwn/rtl8812a/r12a_tx.c b/sys/dev/rtwn/rtl8812a/r12a_tx.c index 0ca1ebd37757..6a7af0a9b674 100644 --- a/sys/dev/rtwn/rtl8812a/r12a_tx.c +++ b/sys/dev/rtwn/rtl8812a/r12a_tx.c @@ -433,12 +433,9 @@ r12a_fill_tx_desc(struct rtwn_softc *sc, struct ieee80211_node *ni, } else { uint16_t seqno; - if (m->m_flags & M_AMPDU_MPDU) { - seqno = ni->ni_txseqs[tid]; - ni->ni_txseqs[tid]++; - } else - seqno = M_SEQNO_GET(m) % IEEE80211_SEQ_RANGE; - + if (m->m_flags & M_AMPDU_MPDU) + ieee80211_output_seqno_assign(ni, -1, m); + seqno = M_SEQNO_GET(m); /* Set sequence number. */ txd->txdw9 |= htole32(SM(R12A_TXDW9_SEQ, seqno)); } @@ -493,8 +490,7 @@ r12a_fill_tx_desc_raw(struct rtwn_softc *sc, struct ieee80211_node *ni, txd->txdw3 |= htole32(SM(R12A_TXDW3_SEQ_SEL, uvp->id)); } else { /* Set sequence number. */ - txd->txdw9 |= htole32(SM(R12A_TXDW9_SEQ, - M_SEQNO_GET(m) % IEEE80211_SEQ_RANGE)); + txd->txdw9 |= htole32(SM(R12A_TXDW9_SEQ, M_SEQNO_GET(m))); } } From nobody Sat Sep 6 06:32:03 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJk060tkQz65r3S; Sat, 06 Sep 2025 06:32:06 +0000 (UTC) (envelope-from tuexen@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJk056XXfz3qgl; Sat, 06 Sep 2025 06:32:05 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757140325; 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=eoWbLB9vhCX2LqA/uNB6uiO+8gUOP79UnADKO8OQ0o4=; b=PhXW8pdcP1vEZ09PB5gc9T8DuvRSnV8X0gY22M5RSZvyhlptkQ7tiPMUg2RZQyHxUliuFg zt5uo7DQ8g3HZOFuZrgwndwaf95ZZunLxiw+5PhO7XuqykUtYrVkLfAM1y7JRzVRAWmhjA WC1AJO5CtmVAQVrgFRP2b9skKdd9HsdxrruU/sczlzaPGJzY374VmbmnP6XQn/OzBJDHJs kEZH0RND8iW5haBa8tU48YiX3xiafl7T6H7CRnI3svmIQ+OC0wg5Y3iVYEy4ATHdZEGniG i6iAElrNWvkhQCo2rTaaz9Nv0iyrtNlvFred4PtTPeezrkE9tOAZ00sSZzKrQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757140325; 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=eoWbLB9vhCX2LqA/uNB6uiO+8gUOP79UnADKO8OQ0o4=; b=k1hJwPrMuRBhSApNONcjbZKzJqPwL63LD6yEnuZz93vaFyMjAYSza6OhG/y9uabn8ECoQu nFFjbBu4R2t6CLdMowNxMossiGJDej0AuVs7HCmmrPRmCyP1InfvWTb80fR4nGAp4Qr1TG EUNW1kPCM1A6QYiSEm8eThd1CqjCYEeMALhCVtmqQ6tNGD0nbSz1DPlaGy3b4/t0DE+rll P4cjq4XK4Pj319HEGv6z6jRbvY1J4eDK2nuNUzeDOWhU8i2D7E976fH1d2FBK8wljkvwnn zVcdCPWLqpo+eFtRtO/1SZtBL2tCaaFnqISCz4cK1NomU9gCktujEnVUvCseoA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757140325; a=rsa-sha256; cv=none; b=Hq1gNilSqgOFKH8vMLVLdDk6cs7GZsDrOUsVaiDrg5EQK+stw/iH4jrj46PuhXUvCVmNat qUqLjpIbnntgmAPsoc1FtOG58h8heD8gbQPHUs9hbvlf2tezWPy0iFrqkg0NNQ8gCONyVr dAlpqA/RuKZE+YHYQyxV3F0xRyjs2nxkJfoIcmCpGLT/a9Vnp7NkFNTXmlKEAhrP1Iztvw in3bXi6oz0vyVR1V9/lLCDcl4FZP1z58XMO9a0FTGNmrguQw6L6rDppeL22mBvU0tQeHSY gQbYxaPDNa9MiVXjxsPuBQCKVQlnS8dg6nw2KlrYn2aEnX/dGQGAn9hyPs0PLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from smtpclient.apple (unknown [IPv6:2a02:8109:1101:be00:c08a:2eed:fd3d:59e7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: tuexen) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJk052QyPz79y; Sat, 06 Sep 2025 06:32:05 +0000 (UTC) (envelope-from tuexen@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 \(3826.700.81\)) Subject: Re: git: 1c23d8f9f398 - main - vtnet: improve checksum offloading From: Michael Tuexen In-Reply-To: <23rq9r12-75nn-sqs8-06o7-p785s2q915o3@yvfgf.mnoonqbm.arg> Date: Sat, 6 Sep 2025 08:32:03 +0200 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: <202509041126.584BQBBt067763@gitrepo.freebsd.org> <23rq9r12-75nn-sqs8-06o7-p785s2q915o3@yvfgf.mnoonqbm.arg> To: "Bjoern A. Zeeb" X-Mailer: Apple Mail (2.3826.700.81) > On 5. Sep 2025, at 23:09, Bjoern A. Zeeb = wrote: >=20 > On Thu, 4 Sep 2025, Michael Tuexen wrote: >=20 >> The branch main has been updated by tuexen: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D1c23d8f9f39870951c1d0dfbb112fc4e= 53237737 >>=20 >> commit 1c23d8f9f39870951c1d0dfbb112fc4e53237737 >> Author: Michael Tuexen >> AuthorDate: 2025-09-04 11:16:46 +0000 >> Commit: Michael Tuexen >> CommitDate: 2025-09-04 11:16:46 +0000 >>=20 >> vtnet: improve checksum offloading >>=20 >> When transmitting a packet over the vtnet interface, map the >> csum flags CSUM_DATA_VALID | CSUM_PSEUDO_HDR to the virtio >> flag VIRTIO_NET_HDR_F_DATA_VALID. >> When receiving a packet over the virtio network channel, translate >> the virtio flag VIRTIO_NET_HDR_F_NEEDS_CSUM not to CSUM_DATA_VALID = | >> CSUM_PSEUDO_HDR, but to CSUM_TCP, CSUM_TCP_IPV6, CSUM_UDP, or >> CSUM_UDP_IPV6. >> The second change fixes a series of issue related to checksum >> offloading for if_vtnet. >> While there, improve the stats counters to allow a detailed view >> on what is going on in relation to checksum offloading. >>=20 >> PR: 165059 >> Reviewed by: tuexen, manpages >> MFC after: 1 week >> Differential Revision: https://reviews.freebsd.org/D51686 >=20 >=20 > This fails to build a LINT-NOIP now. Makes me wonder what good vtnet = is > in first place w/o INET and w/o INET6? Hi Bjoern, let me double check this and fix it. Thanks for reporting! Best regards Michael >=20 > 33 | ^~~~~~~~~~~ > 34 1 warning generated. > 35 = /tank/users/bz/git/FreeBSD/freebsd-src/sys/dev/virtio/network/if_vtnet.c:1= 825:9: error: call to undeclared function 'in_cksum_skip'; ISO C99 and = later do not support implicit function declarations = [-Werror,-Wimplicit-function-declaration] > 36 1825 | csum =3D in_cksum_skip(m, m->m_pkthdr.len, = hdr->csum_start); > 37 | ^ > 38 = /tank/users/bz/git/FreeBSD/freebsd-src/sys/dev/virtio/network/if_vtnet.c:1= 849:6: error: variable 'hoff' set but not used = [-Werror,-Wunused-but-set-variable] > 39 1849 | int hoff, protocol; > 40 | ^ > 41 2 errors generated. > 42 --- if_vtnet.o --- > 43 *** [if_vtnet.o] Error code 1 >=20 >=20 >> --- >> share/man/man4/vtnet.4 | 28 +++-- >> sys/dev/virtio/network/if_vtnet.c | 220 = ++++++++++++++++++----------------- >> sys/dev/virtio/network/if_vtnetvar.h | 2 +- >> 3 files changed, 132 insertions(+), 118 deletions(-) >>=20 >> diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4 From nobody Sat Sep 6 08:20:09 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJmNp3n5Sz66F65; Sat, 06 Sep 2025 08:20: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJmNp1yY4z40C7; Sat, 06 Sep 2025 08:20:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757146810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ELdKadXABoeeWWk3PWBe/8FfW0MJcZ4wm+lsIMSMhck=; b=M7Xp8e96oRc++C4k0I5OwL8GCK5iq+qik2sWr774m9y+b+Te8TAN3Aug34IUcBvN6OT+CG vEvTCF3PvhWTLe570rEKafnMrDHzqNIXZvHUh2wNnYDjv5Mm5UK77mxCbmw6flocFMgk69 iX2L/Y8xc83hZVEJ+nbHznI/ULY/I0gnKBhmaL889LOLESdSgIZxQ1fM+H0opvIgRYsQmj 0ldVes563q5K9UnIoQiYtxBsaB/yRPljM5JAziIPWLftqe5zDimtebG2VPynxlCKMBdBXV 5JnlrkC/e4QqG8u6TqSox0khifI0TR3BZ8kNikyNX5U4nvXv+FEStIk6dhpLbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757146810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ELdKadXABoeeWWk3PWBe/8FfW0MJcZ4wm+lsIMSMhck=; b=hQNkwbZh+meU3rLPNDLVdYBBosKjPqwGxn+O6ni5LqvXlxS922wufsXvE9IGTErfgfjryr 5XAro2QIwNjHPo3qBgQ8I7bxKJ1Ib1+PprW21lEgVLeG1D5h/CIwfjUYKQ8MKhbROeShjA /zyd9kc/QHfoOcl8kxU4LVoA470hNZIAFiM2tAWQWIBQEG2RkXXTBbVK0bDxGpCmgUh9Gq Ks4Dnxg9q/l11PSXXgRu0cR1E7oOPtZmKi9tOuTgTUnI1gaa2i4hp02yMcUwz6neBguOml kU5gz/oj/gncb8slYp8mPkjfubzsZzAbg48Wsb+Bats/rjH3nkKX1MDk7ysJpw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757146810; a=rsa-sha256; cv=none; b=EWoiqp5mP8eFOs7XzrdBhw0PJZRx14gs3TkjgiwraO2DKYo0CKjRwW9R49p5dczOVwH1CF qsOjjMZIKPXBlwoQuOc0oLrVUW8075/cCREhMIgasMri/2hhCw1RC+UUIO8E2qq7Lf+8EE ydcKI1jvYJFris7SCteZMRZN8Xw7bgrGokbZgGvboBnbiMzkcwCL9cum/pp/QdG3AusWj9 131PragsSKXb+M8zMqYdfo4JICvjQzStzDeQSY9dfZXQWt9gY7BEngDjcd6ZenMipaUkho WTQ3Fqe/IrrS8S5XvAPldqApNtpLfBxfi4VRrtMyJAwpFhp33150MNjhidJiwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cJmNp170PzBCn; Sat, 06 Sep 2025 08:20: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 5868K9tM029467; Sat, 6 Sep 2025 08:20:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5868K9uo029459; Sat, 6 Sep 2025 08:20:09 GMT (envelope-from git) Date: Sat, 6 Sep 2025 08:20:09 GMT Message-Id: <202509060820.5868K9uo029459@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Michael Tuexen Subject: git: 7c448f5aab8b - main - vtnet: fix compilation for NOIP configs List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: tuexen X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7c448f5aab8be6977d0860e608e7d497b495d28c Auto-Submitted: auto-generated The branch main has been updated by tuexen: URL: https://cgit.FreeBSD.org/src/commit/?id=7c448f5aab8be6977d0860e608e7d497b495d28c commit 7c448f5aab8be6977d0860e608e7d497b495d28c Author: Michael Tuexen AuthorDate: 2025-09-06 06:11:02 +0000 Commit: Michael Tuexen CommitDate: 2025-09-06 06:11:02 +0000 vtnet: fix compilation for NOIP configs Reported by: bz Fixes: 1c23d8f9f398 ("vtnet: improve checksum offloading") MFC after: 3 days Sponsored by: Netflix, Inc. --- sys/dev/virtio/network/if_vtnet.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/dev/virtio/network/if_vtnet.c b/sys/dev/virtio/network/if_vtnet.c index 73f27ac147ff..528ff3372097 100644 --- a/sys/dev/virtio/network/if_vtnet.c +++ b/sys/dev/virtio/network/if_vtnet.c @@ -133,12 +133,14 @@ static int vtnet_rxq_replace_lro_nomrg_buf(struct vtnet_rxq *, static int vtnet_rxq_replace_buf(struct vtnet_rxq *, struct mbuf *, int); static int vtnet_rxq_enqueue_buf(struct vtnet_rxq *, struct mbuf *); static int vtnet_rxq_new_buf(struct vtnet_rxq *); +#if defined(INET) || defined(INET6) static int vtnet_rxq_csum_needs_csum(struct vtnet_rxq *, struct mbuf *, bool, int, struct virtio_net_hdr *); static void vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf *, int); static int vtnet_rxq_csum(struct vtnet_rxq *, struct mbuf *, struct virtio_net_hdr *); +#endif static void vtnet_rxq_discard_merged_bufs(struct vtnet_rxq *, int); static void vtnet_rxq_discard_buf(struct vtnet_rxq *, struct mbuf *); static int vtnet_rxq_merged_eof(struct vtnet_rxq *, struct mbuf *, int); @@ -1761,6 +1763,7 @@ vtnet_rxq_new_buf(struct vtnet_rxq *rxq) return (error); } +#if defined(INET) || defined(INET6) static int vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, bool isipv6, int protocol, struct virtio_net_hdr *hdr) @@ -1918,6 +1921,7 @@ vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, return (0); } +#endif static void vtnet_rxq_discard_merged_bufs(struct vtnet_rxq *rxq, int nbufs) @@ -2040,10 +2044,15 @@ vtnet_rxq_input(struct vtnet_rxq *rxq, struct mbuf *m, if (hdr->flags & (VIRTIO_NET_HDR_F_NEEDS_CSUM | VIRTIO_NET_HDR_F_DATA_VALID)) { +#if defined(INET) || defined(INET6) if (vtnet_rxq_csum(rxq, m, hdr) == 0) rxq->vtnrx_stats.vrxs_csum++; else rxq->vtnrx_stats.vrxs_csum_failed++; +#else + sc->vtnet_stats.rx_csum_bad_ethtype++; + rxq->vtnrx_stats.vrxs_csum_failed++; +#endif } if (hdr->gso_size != 0) { From nobody Sat Sep 6 08:23:53 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJmT74RMgz66FYN; Sat, 06 Sep 2025 08:23:55 +0000 (UTC) (envelope-from tuexen@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJmT72C63z419n; Sat, 06 Sep 2025 08:23:55 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757147035; 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=PS3VjRLFPm598vfn7I2MTN5rjr2uXrTmOIER/QxFHzs=; b=eFmNCMhUJtRt2J/BTjSzo8oJjmwz6U9mPYhut7g6y4hjMTa2BEE2AOjkJ+/sP7XIyBsxcx U9eHFWMxU/vX98I3/Sn8INr0mUpmDjHHDA+zLkXBeenivp8WVDuKZngT5e3bor+cEo02/V nVz3Ih1LROIQvFG0BynPL+uNrS6h0qUC2ahXSfAPAX9ZhitQMGHupAFJrx4Fxeaw3zMe6a /8I4MQy3OzSrE/DFKgqn6oYs9bM5lN1zyPorvz95XOGBU78x+seXipUPsoj4H/uk5U3s+w yDcE7PEWjkgxsA7gZIKP5oR/lUEr6oKKaVFZBXaPLu9mG6m+qKpTRPn0SSMMHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757147035; 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=PS3VjRLFPm598vfn7I2MTN5rjr2uXrTmOIER/QxFHzs=; b=yMjWjx2UJ1OWja2315vbKbeIU/hDyW/42wYKiH6G5ddOhOgwyHupEnjMglJdh2a8MamVD0 P24nLZTVJhuzNfqC+yhVqlFKhsOmaKI9nUXUmOK/fbqB6dWJRZ/GacgY16OUuFwaSNgicV Gd4h8Ew9jQNWvoFC/y4+4oRgXWSs7is74JF1EO+HP0Cm8MjZjvhh1deTRC5tyubX9Ujc/X K9VKYTnjoPhFMZ1+sZESoaztNayDe+CRKh/c2kCY4twCLG3VuTCxf3jaT8HaTAKNN9j/pe k3ulrSZkVSe00Pd7pZrVDp9CGoCjjm6Ko/RG61d8tVbfjJBqnijWqcts5oyziw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757147035; a=rsa-sha256; cv=none; b=pSr3IAyFE+r2gFvNlG81ONRrqerKEqlJG/18dshvuqtwes8MQJnCsm7+P6dZGgJXl6UMrT KipiZxGca0HynScFQ94QEp8fhJxhvordV0husEUVM/onesGha8230XYW+5MM/+KdeKNU0R QEpO+RAjP29J2c7iSaAFYHu7WldGS6dJxy1H8j4adZkD3fQNz0Wp1Su1+P5XrUZarQGmtJ PVecXp80QwFVtDovZm0H3FbQlABgeLgGKQI0a55pcPs3TbZZ1bEhYN0ow2OJ9F1FYnDAh/ eilALoZE5Ri3rZbohg/Woj8HeIbZNwqjzlvzYBYjhi75CrRYwVuJP+Yq6YBytQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from smtpclient.apple (unknown [IPv6:2a02:8109:1101:be00:c08a:2eed:fd3d:59e7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: tuexen) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJmT64qHfz9hK; Sat, 06 Sep 2025 08:23:54 +0000 (UTC) (envelope-from tuexen@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 \(3826.700.81\)) Subject: Re: git: 1c23d8f9f398 - main - vtnet: improve checksum offloading From: Michael Tuexen In-Reply-To: <23rq9r12-75nn-sqs8-06o7-p785s2q915o3@yvfgf.mnoonqbm.arg> Date: Sat, 6 Sep 2025 10:23:53 +0200 Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: <8A4EFC13-ABA3-471B-9726-5940E2B88DED@FreeBSD.org> References: <202509041126.584BQBBt067763@gitrepo.freebsd.org> <23rq9r12-75nn-sqs8-06o7-p785s2q915o3@yvfgf.mnoonqbm.arg> To: "Bjoern A. Zeeb" X-Mailer: Apple Mail (2.3826.700.81) > On 5. Sep 2025, at 23:09, Bjoern A. Zeeb = wrote: >=20 > On Thu, 4 Sep 2025, Michael Tuexen wrote: >=20 >> The branch main has been updated by tuexen: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D1c23d8f9f39870951c1d0dfbb112fc4e= 53237737 >>=20 >> commit 1c23d8f9f39870951c1d0dfbb112fc4e53237737 >> Author: Michael Tuexen >> AuthorDate: 2025-09-04 11:16:46 +0000 >> Commit: Michael Tuexen >> CommitDate: 2025-09-04 11:16:46 +0000 >>=20 >> vtnet: improve checksum offloading >>=20 >> When transmitting a packet over the vtnet interface, map the >> csum flags CSUM_DATA_VALID | CSUM_PSEUDO_HDR to the virtio >> flag VIRTIO_NET_HDR_F_DATA_VALID. >> When receiving a packet over the virtio network channel, translate >> the virtio flag VIRTIO_NET_HDR_F_NEEDS_CSUM not to CSUM_DATA_VALID = | >> CSUM_PSEUDO_HDR, but to CSUM_TCP, CSUM_TCP_IPV6, CSUM_UDP, or >> CSUM_UDP_IPV6. >> The second change fixes a series of issue related to checksum >> offloading for if_vtnet. >> While there, improve the stats counters to allow a detailed view >> on what is going on in relation to checksum offloading. >>=20 >> PR: 165059 >> Reviewed by: tuexen, manpages >> MFC after: 1 week >> Differential Revision: https://reviews.freebsd.org/D51686 >=20 >=20 > This fails to build a LINT-NOIP now. Makes me wonder what good vtnet = is > in first place w/o INET and w/o INET6? >=20 > 33 | ^~~~~~~~~~~ > 34 1 warning generated. > 35 = /tank/users/bz/git/FreeBSD/freebsd-src/sys/dev/virtio/network/if_vtnet.c:1= 825:9: error: call to undeclared function 'in_cksum_skip'; ISO C99 and = later do not support implicit function declarations = [-Werror,-Wimplicit-function-declaration] > 36 1825 | csum =3D in_cksum_skip(m, m->m_pkthdr.len, = hdr->csum_start); > 37 | ^ > 38 = /tank/users/bz/git/FreeBSD/freebsd-src/sys/dev/virtio/network/if_vtnet.c:1= 849:6: error: variable 'hoff' set but not used = [-Werror,-Wunused-but-set-variable] > 39 1849 | int hoff, protocol; > 40 | ^ > 41 2 errors generated. > 42 --- if_vtnet.o --- > 43 *** [if_vtnet.o] Error code 1 OK, that is fixed in = https://cgit.FreeBSD.org/src/commit/?id=3D7c448f5aab8be6977d0860e608e7d497= b495d28c = Thanks again for reporting and I am sorry for breaking the NOIP (again). BTW: Is there a reason we don't have the NOINET, NOINET6, and NOIP = kernel configs for arm64? Best regards Michael >=20 >=20 >> --- >> share/man/man4/vtnet.4 | 28 +++-- >> sys/dev/virtio/network/if_vtnet.c | 220 = ++++++++++++++++++----------------- >> sys/dev/virtio/network/if_vtnetvar.h | 2 +- >> 3 files changed, 132 insertions(+), 118 deletions(-) >>=20 >> diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4 From nobody Sat Sep 6 08:31:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJmfY3snWz66GRD; Sat, 06 Sep 2025 08:32:05 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Received: from mx-01.divo.sbone.de (mx-01.divo.sbone.de [IPv6:2003:a:140a:2200:6:594:fffe:19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature ECDSA (prime256v1) client-digest SHA256) (Client CN "mx-01.divo.sbone.de", Issuer "E6" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJmfY0m37z422w; Sat, 06 Sep 2025 08:32:04 +0000 (UTC) (envelope-from bzeeb-lists@lists.zabbadoz.net) Authentication-Results: mx1.freebsd.org; none Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx-01.divo.sbone.de (Postfix) with ESMTPS id 871E7A64805; Sat, 06 Sep 2025 08:31:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zabbadoz.net; s=20240622; t=1757147508; bh=wj9b26ZQR9hu43S0cr4x0SsQYbQgeAUhPJhZm5nrlks=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=i/rCEpRh6cM/u09p06B4l3asHATONbIagAGChW9SNycJT5Z/WFxukz+GvVHzz53+i XYC+5oXQJ9IB1NSr3VLw6y7Mp+dRiLigpoXMj426XQipa8Sqf+QYvgGoNSh+uwbDQ3 duMYqXVHBy20ianXI1Zs8Tsqmj2eBPCNpglDovKwPLtbAAH+dIJHO5XgX32mHLM7gI eot1s863eV3BNiYNm3Ps/0OZQxrLeJ3RVVyX8DA65aUFUNlI4eDbZm0nsolsYuL8Ec I+OLl/tfzotwEEROEaM71xIe7wzD/mY1oUAXePhksG69dib/y5i7EBA3eGkEStSVvg 1lRg6xPlaMwBeAa7CNZgdGu/bJoD66HP+JszZTpQc1PW98txvhdlLzWyiRIPxHcCoN xhpCwMhSGOXKFvOsPvDq6W2ZuXqKHuuCKapsMCtyJS05XGeKKMgZi1Gh+aN6Rffic8 u5PQKjXJJn7XDmEY0rH6GlaHxQ9zFSFhkmw2KyUVDz8UmGejQM3JaVL3WTd+oVA0q0 8UUL2i5F1EfsOwAoFVY2ooISH6EOeJZjU04WHOheOx7uoeF4FjbjmqlTDQ+ZCykWxT jkZuvx49W8F0nGpfkip9vOArcpIcvco3tU08mLYDec8SeNu2hvCVDdccwiwayBuccn pRvgcPPwsaviJRkir5+ZwvL8= Received: from content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 48B322D029E3; Sat, 6 Sep 2025 08:31:56 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:4902:0:7404:2:1025]) by content-filter.t4-02.sbone.de (content-filter.t4-02.sbone.de [IPv6:fde9:577b:c1a9:4902:0:7404:2:2742]) (amavisd-new, port 10024) with ESMTP id uCZYShxiyKG8; Sat, 6 Sep 2025 08:31:55 +0000 (UTC) Received: from strong-iwl0.sbone.de (strong-iwl0.sbone.de [IPv6:fde9:577b:c1a9:4902:a66b:b6ff:fe40:39a9]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 589162D029D8; Sat, 6 Sep 2025 08:31:55 +0000 (UTC) Date: Sat, 6 Sep 2025 08:31:55 +0000 (UTC) From: "Bjoern A. Zeeb" To: Michael Tuexen , srcmgr@freebsd.org cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: NOIP/NOINET/... for arm64 too? [was: Re: git: 1c23d8f9f398 - main - vtnet: improve checksum offloading] In-Reply-To: <8A4EFC13-ABA3-471B-9726-5940E2B88DED@FreeBSD.org> Message-ID: <0p6ns5r7-ss8q-n81s-s83n-6n16o6pr37p2@yvfgf.mnoonqbm.arg> References: <202509041126.584BQBBt067763@gitrepo.freebsd.org> <23rq9r12-75nn-sqs8-06o7-p785s2q915o3@yvfgf.mnoonqbm.arg> <8A4EFC13-ABA3-471B-9726-5940E2B88DED@FreeBSD.org> X-OpenPGP-Key-Id: 0x14003F198FEFA3E77207EE8D2B58B8F83CCF1842 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:3320, ipnet:2003::/19, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cJmfY0m37z422w On Sat, 6 Sep 2025, Michael Tuexen wrote: > OK, that is fixed in > https://cgit.FreeBSD.org/src/commit/?id=7c448f5aab8be6977d0860e608e7d497b495d28c Thanks! > Thanks again for reporting and I am sorry for breaking the NOIP (again). > BTW: Is there a reason we don't have the NOINET, NOINET6, and NOIP kernel > configs for arm64? I think initially we only added all the extra kernel configs 10-15 years ago to amd64 as that was the fastest way to build a universe (for a target). I am likely guilty for NOINET and VIMAGE and NOIP... initially generating them if I do not misremember. Adding them to a 2nd arch would increase full make universe build times but given a lot of people have started to do native builds on higher core arm64 machines I wonder if it would be time to add them there? I'll Cc: source manager and see how they feel about this... -- Bjoern A. Zeeb r15:7 From nobody Sat Sep 6 08:34:29 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJmjN2w6fz66GXr; Sat, 06 Sep 2025 08:34:32 +0000 (UTC) (envelope-from tuexen@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJmjN0QD5z42S6; Sat, 06 Sep 2025 08:34:32 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757147672; h=from:from:reply-to:subject: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=v5IPxB+It1O9C3DCOg/rJwoCCumbTfBXX+ntkokwfxo=; b=ub9sUYltjx/8TzlwAiO57EyU9/NCrz3Ae38dIOthWyDztS5XbFTHqDxI0TQkouLkpRGtz2 EnTPyZzLBCCUlHKVmfB+aVyViHmMfAh8xC6USX5QdZ776Nd7edTmbJp1voU93vKuA+9uv3 17nGK6NBAcsrKZ6Ww4STF9QSmnkLodF2HNWHFeNOr0zflME1lZVLYRZyyTWhtZN/9lFkiy nz8MP3lsM1MaPYXOA20sUKo+8fDwiDZmVPJxmnLH2Rn/4TAb8IkUys0KdJTHCsivK37L90 6LOxBNGb+tS6xt8xFWmWlJrq81wmpiwaE/YTuLz7znBqf8AJcELC66yDHpYoTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757147672; h=from:from:reply-to:subject: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=v5IPxB+It1O9C3DCOg/rJwoCCumbTfBXX+ntkokwfxo=; b=nykFIFEOUjyuzBBvcIgRKk1LQ/IQY3m6yashXXztWlnKLFqAOF9zwRT7EQqK4mQx1TuzSb X5w+F+G8nrvscZp2iovELMCahAgArY0U2RsmAoOFtmAKGLwDvYfe2JiWOlVJ/7pdAVfYPH RE04z9uVqrKFjkZIyJZepRcGXEMU8zuljFjv9gp6zyKEChnQJgbx0z7iAcjYAgxkn4cvqL tTY9jbdV3C+oXfR/Jpgbpip5NJ5JSySZ8+Leynm00K69brJ5uK7xdEozVkdSM/n1w7OzIS VZLxFqVEvkfPyUA1uybkaXp3wk3DQLSjiyKgWfHtE53wLL+JHWm8JqpMAmgYtA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757147672; a=rsa-sha256; cv=none; b=jBm0IrVqNUxzxP4GCc6OpLlRnmMHMX+M4X46U4o86bsbO/CrDfDtgdnIXd4iCDj+W36Kum lAkZ+sMF8xflYPBo4R0JgCc3KtMHiMGLoKpbxp06PiNCiJ4bybhUo3+Y36CaKRAGdtQObH ExCAPDyZBet5cGRfDjZj1eu5GMlOmL2C+y/EqbJPJz60HG9rPUWc/Bc1Nf1/HKS+a9kUiF P7wdKnczaInO0mywZtUPmiS4/onTbWjtJaU/3PJtSc/526IKaBsdYOadGFqpWhesYPAgzj ykEQrABLgP6/liqkKSTEgJbnX9wwYGSSTvE3cIbpTExzEp/p8umPJ5OU+xjQqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from smtpclient.apple (unknown [IPv6:2a02:8109:1101:be00:c08a:2eed:fd3d:59e7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: tuexen) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJmjM396PzB60; Sat, 06 Sep 2025 08:34:31 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) From: Michael Tuexen Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: 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.700.81\)) Subject: Re: git: 1c23d8f9f398 - main - vtnet: improve checksum offloading Date: Sat, 6 Sep 2025 10:34:29 +0200 References: <202509041126.584BQBBt067763@gitrepo.freebsd.org> To: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" In-Reply-To: <202509041126.584BQBBt067763@gitrepo.freebsd.org> Message-Id: <61A7CADA-9ED8-4636-B282-A193703918AB@FreeBSD.org> X-Mailer: Apple Mail (2.3826.700.81) > On 4. Sep 2025, at 13:26, Michael Tuexen wrote: >=20 > The branch main has been updated by tuexen: >=20 > URL: = https://cgit.FreeBSD.org/src/commit/?id=3D1c23d8f9f39870951c1d0dfbb112fc4e= 53237737 >=20 > commit 1c23d8f9f39870951c1d0dfbb112fc4e53237737 > Author: Michael Tuexen This patch was developed by Timo V=C3=B6lker = >. I missed to specify that when committing the patch. Best regards Michael > AuthorDate: 2025-09-04 11:16:46 +0000 > Commit: Michael Tuexen > CommitDate: 2025-09-04 11:16:46 +0000 >=20 > vtnet: improve checksum offloading >=20 > When transmitting a packet over the vtnet interface, map the > csum flags CSUM_DATA_VALID | CSUM_PSEUDO_HDR to the virtio > flag VIRTIO_NET_HDR_F_DATA_VALID. > When receiving a packet over the virtio network channel, translate > the virtio flag VIRTIO_NET_HDR_F_NEEDS_CSUM not to CSUM_DATA_VALID = | > CSUM_PSEUDO_HDR, but to CSUM_TCP, CSUM_TCP_IPV6, CSUM_UDP, or > CSUM_UDP_IPV6. > The second change fixes a series of issue related to checksum > offloading for if_vtnet. > While there, improve the stats counters to allow a detailed view > on what is going on in relation to checksum offloading. >=20 > PR: 165059 > Reviewed by: tuexen, manpages > MFC after: 1 week > Differential Revision: https://reviews.freebsd.org/D51686 > --- > share/man/man4/vtnet.4 | 28 +++-- > sys/dev/virtio/network/if_vtnet.c | 220 = ++++++++++++++++++----------------- > sys/dev/virtio/network/if_vtnetvar.h | 2 +- > 3 files changed, 132 insertions(+), 118 deletions(-) >=20 > diff --git a/share/man/man4/vtnet.4 b/share/man/man4/vtnet.4 > index 073383df11ff..67a835050422 100644 > --- a/share/man/man4/vtnet.4 > +++ b/share/man/man4/vtnet.4 > @@ -22,7 +22,7 @@ > .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE = POSSIBILITY OF > .\" SUCH DAMAGE. > .\" > -.Dd September 3, 2025 > +.Dd September 4, 2025 > .Dt VTNET 4 > .Os > .Sh NAME > @@ -153,7 +153,14 @@ The number of times the receive interrupt handler = was rescheduled. > .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .host_lro > The number of times TCP large receive offload was performed. > .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed > -Currently not used. > +The number of times a packet with a request for receive or transmit = checksum > +offloading was received and this request failed. > +The different reasons for the failure are counted by > +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto , > +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto , > +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype , > +and > +.Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset . > .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum > The number of times receive checksum offloading for UDP or TCP was = performed. > .It Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .ierrors > @@ -213,18 +220,21 @@ over all receive queues of the interface. > The sum of > .Va dev.vtnet. Ns Ar X Ns Va .rxq Ns Ar Y Ns Va .csum_failed > over all receive queues of the interface. > -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_proto > -Currently unused. > +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_inaccessible_ipproto > +The number of times a packet with a request for receive or transmit = checksum > +offloading was received where the IP protocol was not accessible. > .It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_offset > -Currently unused. > -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto > -Currently unused. > -.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype > The number of times fixing the checksum required by > .Va hw.vtnet.fixup_needs_csum > or > .Va hw.vtnet. Ns Ar X Ns Va .fixup_needs_csum > -was attempted for a packet with an EtherType other than IPv4 or IPv6. > +was attempted for a packet where the csum is not located in the first = mbuf. > +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ipproto > +The number of times a packet with a request for receive or transmit = checksum > +offloading was received where the IP protocol was neither TCP nor = UDP. > +.It Va dev.vtnet. Ns Ar X Ns Va .rx_csum_bad_ethtype > +The number of times a packet with a request for receive or transmit = checksum > +offloading was received where the EtherType was neither IPv4 nor = IPv6. > .It Va dev.vtnet. Ns Ar X Ns Va .rx_mergeable_failed > The number of times receiving a mergable buffer failed. > .It Va dev.vtnet. Ns Ar X Ns Va .rx_enq_replacement_failed > diff --git a/sys/dev/virtio/network/if_vtnet.c = b/sys/dev/virtio/network/if_vtnet.c > index 867da80a53a8..4f19af6281a3 100644 > --- a/sys/dev/virtio/network/if_vtnet.c > +++ b/sys/dev/virtio/network/if_vtnet.c > @@ -134,9 +134,9 @@ static int vtnet_rxq_replace_buf(struct vtnet_rxq = *, struct mbuf *, int); > static int vtnet_rxq_enqueue_buf(struct vtnet_rxq *, struct mbuf *); > static int vtnet_rxq_new_buf(struct vtnet_rxq *); > static int vtnet_rxq_csum_needs_csum(struct vtnet_rxq *, struct mbuf = *, > - uint16_t, int, struct virtio_net_hdr *); > -static int vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf = *, > - uint16_t, int, struct virtio_net_hdr *); > + bool, int, struct virtio_net_hdr *); > +static void vtnet_rxq_csum_data_valid(struct vtnet_rxq *, struct mbuf = *, > + int); > static int vtnet_rxq_csum(struct vtnet_rxq *, struct mbuf *, > struct virtio_net_hdr *); > static void vtnet_rxq_discard_merged_bufs(struct vtnet_rxq *, int); > @@ -1761,162 +1761,161 @@ vtnet_rxq_new_buf(struct vtnet_rxq *rxq) > } >=20 > static int > -vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, = uint16_t etype, > - int hoff, struct virtio_net_hdr *hdr) > +vtnet_rxq_csum_needs_csum(struct vtnet_rxq *rxq, struct mbuf *m, bool = isipv6, > + int protocol, struct virtio_net_hdr *hdr) > { > struct vtnet_softc *sc; > - int error; >=20 > - sc =3D rxq->vtnrx_sc; > + /* > + * The packet is likely from another VM on the same host or from the > + * host that itself performed checksum offloading so Tx/Rx is = basically > + * a memcpy and the checksum has little value so far. > + */ > + > + KASSERT(protocol =3D=3D IPPROTO_TCP || protocol =3D=3D IPPROTO_UDP, > + ("%s: unsupported IP protocol %d", __func__, protocol)); >=20 > /* > - * NEEDS_CSUM corresponds to Linux's CHECKSUM_PARTIAL, but FreeBSD = does > - * not have an analogous CSUM flag. The checksum has been validated, > - * but is incomplete (TCP/UDP pseudo header). > - * > - * The packet is likely from another VM on the same host that itself > - * performed checksum offloading so Tx/Rx is basically a memcpy and > - * the checksum has little value. > - * > - * Default to receiving the packet as-is for performance reasons, but > - * this can cause issues if the packet is to be forwarded because it > - * does not contain a valid checksum. This patch may be helpful: > - * https://reviews.freebsd.org/D6611. In the meantime, have the = driver > - * compute the checksum if requested. > - * > - * BMV: Need to add an CSUM_PARTIAL flag? > + * If the user don't want us to fix it up here by computing the > + * checksum, just forward the order to compute the checksum by = setting > + * the corresponding mbuf flag (e.g., CSUM_TCP). > */ > + sc =3D rxq->vtnrx_sc; > if ((sc->vtnet_flags & VTNET_FLAG_FIXUP_NEEDS_CSUM) =3D=3D 0) { > - error =3D vtnet_rxq_csum_data_valid(rxq, m, etype, hoff, hdr); > - return (error); > + switch (protocol) { > + case IPPROTO_TCP: > + m->m_pkthdr.csum_flags |=3D > + (isipv6 ? CSUM_TCP_IPV6 : CSUM_TCP); > + break; > + case IPPROTO_UDP: > + m->m_pkthdr.csum_flags |=3D > + (isipv6 ? CSUM_UDP_IPV6 : CSUM_UDP); > + break; > + } > + m->m_pkthdr.csum_data =3D hdr->csum_offset; > + return (0); > } >=20 > /* > * Compute the checksum in the driver so the packet will contain a > * valid checksum. The checksum is at csum_offset from csum_start. > */ > - switch (etype) { > -#if defined(INET) || defined(INET6) > - case ETHERTYPE_IP: > - case ETHERTYPE_IPV6: { > - int csum_off, csum_end; > - uint16_t csum; > + int csum_off, csum_end; > + uint16_t csum; >=20 > - csum_off =3D hdr->csum_start + hdr->csum_offset; > - csum_end =3D csum_off + sizeof(uint16_t); > + csum_off =3D hdr->csum_start + hdr->csum_offset; > + csum_end =3D csum_off + sizeof(uint16_t); >=20 > - /* Assume checksum will be in the first mbuf. */ > - if (m->m_len < csum_end || m->m_pkthdr.len < csum_end) > - return (1); > - > - /* > - * Like in_delayed_cksum()/in6_delayed_cksum(), compute the > - * checksum and write it at the specified offset. We could > - * try to verify the packet: csum_start should probably > - * correspond to the start of the TCP/UDP header. > - * > - * BMV: Need to properly handle UDP with zero checksum. Is > - * the IPv4 header checksum implicitly validated? > - */ > - csum =3D in_cksum_skip(m, m->m_pkthdr.len, hdr->csum_start); > - *(uint16_t *)(mtodo(m, csum_off)) =3D csum; > - m->m_pkthdr.csum_flags |=3D CSUM_DATA_VALID | CSUM_PSEUDO_HDR; > - m->m_pkthdr.csum_data =3D 0xFFFF; > - break; > - } > -#endif > - default: > - sc->vtnet_stats.rx_csum_bad_ethtype++; > + /* Assume checksum will be in the first mbuf. */ > + if (m->m_len < csum_end || m->m_pkthdr.len < csum_end) { > + sc->vtnet_stats.rx_csum_bad_offset++; > return (1); > } >=20 > + /* > + * Like in_delayed_cksum()/in6_delayed_cksum(), compute the > + * checksum and write it at the specified offset. We could > + * try to verify the packet: csum_start should probably > + * correspond to the start of the TCP/UDP header. > + * > + * BMV: Need to properly handle UDP with zero checksum. Is > + * the IPv4 header checksum implicitly validated? > + */ > + csum =3D in_cksum_skip(m, m->m_pkthdr.len, hdr->csum_start); > + *(uint16_t *)(mtodo(m, csum_off)) =3D csum; > + m->m_pkthdr.csum_flags |=3D CSUM_DATA_VALID | CSUM_PSEUDO_HDR; > + m->m_pkthdr.csum_data =3D 0xFFFF; > + > return (0); > } >=20 > +static void > +vtnet_rxq_csum_data_valid(struct vtnet_rxq *rxq, struct mbuf *m, int = protocol) > +{ > + KASSERT(protocol =3D=3D IPPROTO_TCP || protocol =3D=3D IPPROTO_UDP, > + ("%s: unsupported IP protocol %d", __func__, protocol)); > + > + m->m_pkthdr.csum_flags |=3D CSUM_DATA_VALID | CSUM_PSEUDO_HDR; > + m->m_pkthdr.csum_data =3D 0xFFFF; > +} > + > static int > -vtnet_rxq_csum_data_valid(struct vtnet_rxq *rxq, struct mbuf *m, > - uint16_t etype, int hoff, struct virtio_net_hdr *hdr __unused) > +vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, > + struct virtio_net_hdr *hdr) > { > -#if 0 > + const struct ether_header *eh; > struct vtnet_softc *sc; > -#endif > - int protocol; > + int hoff, protocol; > + uint16_t etype; > + bool isipv6; > + > + KASSERT(hdr->flags & > + (VIRTIO_NET_HDR_F_NEEDS_CSUM | VIRTIO_NET_HDR_F_DATA_VALID), > + ("%s: missing checksum offloading flag %x", __func__, = hdr->flags)); > + > + eh =3D mtod(m, const struct ether_header *); > + etype =3D ntohs(eh->ether_type); > + if (etype =3D=3D ETHERTYPE_VLAN) { > + /* TODO BMV: Handle QinQ. */ > + const struct ether_vlan_header *evh =3D > + mtod(m, const struct ether_vlan_header *); > + etype =3D ntohs(evh->evl_proto); > + hoff =3D sizeof(struct ether_vlan_header); > + } else > + hoff =3D sizeof(struct ether_header); >=20 > -#if 0 > sc =3D rxq->vtnrx_sc; > -#endif >=20 > + /* Check whether ethernet type is IP or IPv6, and get protocol. */ > switch (etype) { > #if defined(INET) > case ETHERTYPE_IP: > - if (__predict_false(m->m_len < hoff + sizeof(struct ip))) > - protocol =3D IPPROTO_DONE; > - else { > + if (__predict_false(m->m_len < hoff + sizeof(struct ip))) { > + sc->vtnet_stats.rx_csum_inaccessible_ipproto++; > + return (1); > + } else { > struct ip *ip =3D (struct ip *)(m->m_data + hoff); > protocol =3D ip->ip_p; > } > + isipv6 =3D false; > break; > #endif > #if defined(INET6) > case ETHERTYPE_IPV6: > if (__predict_false(m->m_len < hoff + sizeof(struct ip6_hdr)) > - || ip6_lasthdr(m, hoff, IPPROTO_IPV6, &protocol) < 0) > - protocol =3D IPPROTO_DONE; > + || ip6_lasthdr(m, hoff, IPPROTO_IPV6, &protocol) < 0) { > + sc->vtnet_stats.rx_csum_inaccessible_ipproto++; > + return (1); > + } > + isipv6 =3D true; > break; > #endif > default: > - protocol =3D IPPROTO_DONE; > - break; > + sc->vtnet_stats.rx_csum_bad_ethtype++; > + return (1); > } >=20 > + /* Check whether protocol is TCP or UDP. */ > switch (protocol) { > case IPPROTO_TCP: > case IPPROTO_UDP: > - m->m_pkthdr.csum_flags |=3D CSUM_DATA_VALID | CSUM_PSEUDO_HDR; > - m->m_pkthdr.csum_data =3D 0xFFFF; > break; > default: > /* > * FreeBSD does not support checksum offloading of this > - * protocol. Let the stack re-verify the checksum later > - * if the protocol is supported. > + * protocol here. > */ > -#if 0 > - if_printf(sc->vtnet_ifp, > - "%s: checksum offload of unsupported protocol " > - "etype=3D%#x protocol=3D%d csum_start=3D%d csum_offset=3D%d\n", > - __func__, etype, protocol, hdr->csum_start, > - hdr->csum_offset); > -#endif > - break; > + sc->vtnet_stats.rx_csum_bad_ipproto++; > + return (1); > } >=20 > - return (0); > -} > - > -static int > -vtnet_rxq_csum(struct vtnet_rxq *rxq, struct mbuf *m, > - struct virtio_net_hdr *hdr) > -{ > - const struct ether_header *eh; > - int hoff; > - uint16_t etype; > - > - eh =3D mtod(m, const struct ether_header *); > - etype =3D ntohs(eh->ether_type); > - if (etype =3D=3D ETHERTYPE_VLAN) { > - /* TODO BMV: Handle QinQ. */ > - const struct ether_vlan_header *evh =3D > - mtod(m, const struct ether_vlan_header *); > - etype =3D ntohs(evh->evl_proto); > - hoff =3D sizeof(struct ether_vlan_header); > - } else > - hoff =3D sizeof(struct ether_header); > - > if (hdr->flags & VIRTIO_NET_HDR_F_NEEDS_CSUM) > - return (vtnet_rxq_csum_needs_csum(rxq, m, etype, hoff, hdr)); > + return (vtnet_rxq_csum_needs_csum(rxq, m, isipv6, protocol, > + hdr)); > else /* VIRTIO_NET_HDR_F_DATA_VALID */ > - return (vtnet_rxq_csum_data_valid(rxq, m, etype, hoff, hdr)); > + vtnet_rxq_csum_data_valid(rxq, m, protocol); > + > + return (0); > } >=20 > static void > @@ -2497,6 +2496,10 @@ vtnet_txq_offload(struct vtnet_txq *txq, struct = mbuf *m, > hdr->csum_start =3D vtnet_gtoh16(sc, csum_start); > hdr->csum_offset =3D vtnet_gtoh16(sc, m->m_pkthdr.csum_data); > txq->vtntx_stats.vtxs_csum++; > + } else if ((flags & (CSUM_DATA_VALID | CSUM_PSEUDO_HDR)) && > + (proto =3D=3D IPPROTO_TCP || proto =3D=3D IPPROTO_UDP) && > + (m->m_pkthdr.csum_data =3D=3D 0xFFFF)) { > + hdr->flags |=3D VIRTIO_NET_HDR_F_DATA_VALID; > } >=20 > if (flags & (CSUM_IP_TSO | CSUM_IP6_TSO)) { > @@ -2610,7 +2613,8 @@ vtnet_txq_encap(struct vtnet_txq *txq, struct = mbuf **m_head, int flags) > m->m_flags &=3D ~M_VLANTAG; > } >=20 > - if (m->m_pkthdr.csum_flags & VTNET_CSUM_ALL_OFFLOAD) { > + if (m->m_pkthdr.csum_flags & > + (VTNET_CSUM_ALL_OFFLOAD | CSUM_DATA_VALID)) { > m =3D vtnet_txq_offload(txq, m, hdr); > if ((*m_head =3D m) =3D=3D NULL) { > error =3D ENOBUFS; > @@ -4322,9 +4326,9 @@ vtnet_setup_stat_sysctl(struct sysctl_ctx_list = *ctx, > SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_bad_offset", > CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_bad_offset, > "Received checksum offloaded buffer with incorrect offset"); > - SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, "rx_csum_bad_proto", > - CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_bad_proto, > - "Received checksum offloaded buffer with incorrect protocol"); > + SYSCTL_ADD_UQUAD(ctx, child, OID_AUTO, = "rx_csum_inaccessible_ipproto", > + CTLFLAG_RD | CTLFLAG_STATS, &stats->rx_csum_inaccessible_ipproto, > + "Received checksum offloaded buffer with inaccessible IP = protocol"); > SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "rx_csum_failed", > CTLTYPE_U64 | CTLFLAG_RD | CTLFLAG_STATS, > sc, 0, vtnet_sysctl_rx_csum_failed, "QU", > diff --git a/sys/dev/virtio/network/if_vtnetvar.h = b/sys/dev/virtio/network/if_vtnetvar.h > index 0144b0f3232d..cab7ced639a7 100644 > --- a/sys/dev/virtio/network/if_vtnetvar.h > +++ b/sys/dev/virtio/network/if_vtnetvar.h > @@ -46,7 +46,7 @@ struct vtnet_statistics { > uint64_t rx_csum_bad_ethtype; > uint64_t rx_csum_bad_ipproto; > uint64_t rx_csum_bad_offset; > - uint64_t rx_csum_bad_proto; > + uint64_t rx_csum_inaccessible_ipproto; > uint64_t tx_csum_unknown_ethtype; > uint64_t tx_csum_proto_mismatch; > uint64_t tx_tso_not_tcp; From nobody Sat Sep 6 12:59:25 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cJtb456Mhz66Zdr; Sat, 06 Sep 2025 12:59:28 +0000 (UTC) (envelope-from tuexen@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cJtb43MtPz3XDy; Sat, 06 Sep 2025 12:59:28 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757163568; 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=H4o3ao8tvPxw709/jsJvKasGxx/aoMMjsAK6EeZNWYM=; b=EP+TvUtsNPRL6mSZDdC+0GOOrtgbyEwTm/ltDHDjzMGCocnKCknV9KXU3rbXjIxkSMw69/ iY0lk8RpEq52R39yDACmfLkGO5R9gwuTFaSWOnj7kCWYZl3VvCRyAZYneVcP0N8UxKRv6M 4LpmmEIu3cI1csHp4pHioUiWHMr63MSIi/fBmGG4S0oT6dS4bgwFhvZzMdihyoyPmnYIDM 3YsXnXHMBVYvrcZhGmNXrEpteyUdIo1EdLcLjHxtBZTmdU2tvGYWjkjz8vK1i5UfN3sHj9 UDyyu6LI+e/aPcvEss38JxDOXCnSH99g4+x5ewd5KwYQvPfCi+ItXIx/MSBh1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757163568; 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=H4o3ao8tvPxw709/jsJvKasGxx/aoMMjsAK6EeZNWYM=; b=k/PfSiZ5D3twd9utZrzopUfh7qwVlNE+LNOfZuf79Iv/ObLB4EUYGQaMCjKYkqxH7QBmB8 M79MENEyynhjb+Mizm1Wy7cNtrV9JvqqvZmqTkC1FX6qGLi6TLI90HK3CuRV9L0XK3+7g+ e28LjL1BzB9RJ79zn5HfizLfaM6YieIn7C+HzlmG+As9iKloXoaLhgHn/KEfBNVG3829O2 sB5SCxH1/Y+iVSOYDSiry2uDY2ly9VA/6eHIJcJaCb/9zkZkfFrN6ZQEkWPDsNccyD+jyF eRYszR/YdaNeDkdNxPdLysDorQOYDDz9a+AYAZ0XmwZYRjGdFnPcw6zyGcsEcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757163568; a=rsa-sha256; cv=none; b=rKVNi614u4cL1jg4Q8jUxaZ8nl2gp0u/5mBmycw/hLypzxF6ZIPXYIEKhzqlz3QU4EnUsD h9Ty5y3UHeiKnmqvYPe92MqpR/coeX4kJjGnTk1IIBPZWDglHNtcSj6x5badzIe5yLgfWU juQ/0+FdIcsZHWc9HOFYta2FGM1pvXkr6kjbSk2rigUawk28SRvA33fwx1tFl4oZYMgKxj hDBxJC/AOrE32AIAheTw3CptA8zBifshbCKLhV7wU1bvm6Ri4S1BH53ZOtV+23oU69RwOp ZDD4DXgsGTRZ6AmXXKT5UboBTUF+XMsfplCt3Cd/kddGPVBJZtKO3iYhzuLFsQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from smtpclient.apple (unknown [IPv6:2a02:8109:1101:be00:c08a:2eed:fd3d:59e7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: tuexen) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cJtb35HYJzGZX; Sat, 06 Sep 2025 12:59:27 +0000 (UTC) (envelope-from tuexen@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 \(3826.700.81\)) Subject: Re: NOIP/NOINET/... for arm64 too? [was: Re: git: 1c23d8f9f398 - main - vtnet: improve checksum offloading] From: Michael Tuexen In-Reply-To: <0p6ns5r7-ss8q-n81s-s83n-6n16o6pr37p2@yvfgf.mnoonqbm.arg> Date: Sat, 6 Sep 2025 14:59:25 +0200 Cc: srcmgr@freebsd.org, "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Content-Transfer-Encoding: quoted-printable Message-Id: References: <202509041126.584BQBBt067763@gitrepo.freebsd.org> <23rq9r12-75nn-sqs8-06o7-p785s2q915o3@yvfgf.mnoonqbm.arg> <8A4EFC13-ABA3-471B-9726-5940E2B88DED@FreeBSD.org> <0p6ns5r7-ss8q-n81s-s83n-6n16o6pr37p2@yvfgf.mnoonqbm.arg> To: "Bjoern A. Zeeb" X-Mailer: Apple Mail (2.3826.700.81) > On 6. Sep 2025, at 10:31, Bjoern A. Zeeb = wrote: >=20 > On Sat, 6 Sep 2025, Michael Tuexen wrote: >=20 >> OK, that is fixed in >> = https://cgit.FreeBSD.org/src/commit/?id=3D7c448f5aab8be6977d0860e608e7d497= b495d28c = >=20 > Thanks! >=20 >> Thanks again for reporting and I am sorry for breaking the NOIP = (again). >> BTW: Is there a reason we don't have the NOINET, NOINET6, and NOIP = kernel >> configs for arm64? >=20 > I think initially we only added all the extra kernel configs 10-15 = years > ago to amd64 as that was the fastest way to build a universe (for a > target). I am likely guilty for NOINET and VIMAGE and NOIP... > initially generating them if I do not misremember. >=20 > Adding them to a 2nd arch would increase full make universe build = times but > given a lot of people have started to do native builds on higher core = arm64 > machines I wonder if it would be time to add them there? Does adding a kernel config also requires it to activate it in make = universe? arm64 is now tier one and I use arm64 platforms more often then amd64 = for development. >=20 > I'll Cc: source manager and see how they feel about this... Good idea. Best regards Michael >=20 > --=20 > Bjoern A. Zeeb = r15:7 From nobody Sat Sep 6 17:07:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cK05n6lQ0z66sQB; Sat, 06 Sep 2025 17:07: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cK05n4g2Wz40m6; Sat, 06 Sep 2025 17:07:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757178477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=juFZ3K52sqy7VOtqJGsc3JA9HslQAQvEi3XFc7wPmcQ=; b=dKjiSE+JqtDk5weclgFvEQ/qaVtesmHIgoefivamiAQPXnBAV0s5rRGep2DdQ+OvP4Kmw3 x2JtSgIe4ludxT7r3eVBptLhcHU686u3AjZUttOQn32Bp9WIYEJrykYl1KHM0GVySWWPqh t01Gq1SRi3wFJP2WMTQeW480ZKuA6MCeBuOEUjuvm0ke1rZB8NYYl0Fluw5h73nw0D+6ZP 0L5dgDfs9M+QwJPREQ9Pgeu3W6uEwU15hQqo1zolELDYxXMvwG+UpUfNaCzlHrHFY4dspU WHqISzCqWYAskfS0L+U0dMyAcBYz/bK4QpUW4VrL5c9l1FYD4unIBY10HmDHOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757178477; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=juFZ3K52sqy7VOtqJGsc3JA9HslQAQvEi3XFc7wPmcQ=; b=GWGa0vcaXyUCJ2uSjX0fPZbYsSqd8jCk8erXk3SvfMg7q5PhPR/iP9nGB48PQ9dIqcs7gc nK2yfPswxzSVa13A4LWGA8oATIxgb8GZLaMMTv7mDuGI06/x5b8oa/Mo+fTPIZHDlZT/Zk dQUnQbXNBDLX1qRWJQQLZ2gMv5uB7/YUXuS3heXuYV+dA5eU2v+HUm5hvIKVpKbI5N8QxH zJhASfPOWO4nXfKaShDvFFQdsMyBx8ahHbJPNqVrpBEZrrG/b/u7wWw6i8e07EJAt59Dsd uvLmC4ji3ew8wBTBV920YjFYzC6BMXrk7j58hfKX/HD7ICtRoSlIiDNSELFG1Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757178477; a=rsa-sha256; cv=none; b=J9jisRTue2F0w5bsYCWU2G+Y+VEBNk7ZXoOuyjA7J3QpB7QbcGNE8jcU5hDJsSeyUS/aWq D/A0QmQSIfHg67K8k5ZnIriuhJlOEy1ehYdVd7RoaCd0JbVgApXq98px8y26TohGTc9SNy SahFeYcUaNzOzMSQhCNi21Z34oue62Mt3E8gD1EWkf/XqyrE9RPAbPQFTld9q/5s6+P4Wn oRuY8eJ6JMd9lMPsbZZm9B6beymZn47HBjV7bRSDPbAV1k9rTDQAzEy53dYmgKBeQYxjsQ ARvSJFmdmfBWUtR1x3N2zDEUoxUYqB5KgO5zVWL+qHv2dz3sZxys4Zy4SbL26Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cK05n4BwYzkgH; Sat, 06 Sep 2025 17:07: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 586H7veF020665; Sat, 6 Sep 2025 17:07:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 586H7vmr020662; Sat, 6 Sep 2025 17:07:57 GMT (envelope-from git) Date: Sat, 6 Sep 2025 17:07:57 GMT Message-Id: <202509061707.586H7vmr020662@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: 0737e2a961cd - main - sys/cpu.h: Some style(9) 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: 0737e2a961cd712fff5b548bb6b823e48a8b527d Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=0737e2a961cd712fff5b548bb6b823e48a8b527d commit 0737e2a961cd712fff5b548bb6b823e48a8b527d Author: Zhenlei Huang AuthorDate: 2025-09-06 17:02:33 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-06 17:02:33 +0000 sys/cpu.h: Some style(9) fixes MFC after: 3 days --- sys/sys/cpu.h | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/sys/sys/cpu.h b/sys/sys/cpu.h index b6a0094f0c51..5bb55679a05b 100644 --- a/sys/sys/cpu.h +++ b/sys/sys/cpu.h @@ -40,25 +40,31 @@ #define CPU_IVAR_CPUID_SIZE 3 #define CPU_IVAR_CPUID 4 -static __inline struct pcpu *cpu_get_pcpu(device_t dev) +static __inline struct pcpu * +cpu_get_pcpu(device_t dev) { uintptr_t v = 0; + BUS_READ_IVAR(device_get_parent(dev), dev, CPU_IVAR_PCPU, &v); return ((struct pcpu *)v); } -static __inline int32_t cpu_get_nominal_mhz(device_t dev) +static __inline int32_t +cpu_get_nominal_mhz(device_t dev) { uintptr_t v = 0; + if (BUS_READ_IVAR(device_get_parent(dev), dev, CPU_IVAR_NOMINAL_MHZ, &v) != 0) return (-1); return ((int32_t)v); } -static __inline const uint32_t *cpu_get_cpuid(device_t dev, size_t *count) +static __inline const uint32_t * +cpu_get_cpuid(device_t dev, size_t *count) { uintptr_t v = 0; + if (BUS_READ_IVAR(device_get_parent(dev), dev, CPU_IVAR_CPUID_SIZE, &v) != 0) return (NULL); @@ -124,10 +130,10 @@ TAILQ_HEAD(cf_level_lst, cf_level); * state. It is probably a bug to not combine this with "info only" */ #define CPUFREQ_TYPE_MASK 0xffff -#define CPUFREQ_TYPE_RELATIVE (1<<0) -#define CPUFREQ_TYPE_ABSOLUTE (1<<1) -#define CPUFREQ_FLAG_INFO_ONLY (1<<16) -#define CPUFREQ_FLAG_UNCACHED (1<<17) +#define CPUFREQ_TYPE_RELATIVE (1 << 0) +#define CPUFREQ_TYPE_ABSOLUTE (1 << 1) +#define CPUFREQ_FLAG_INFO_ONLY (1 << 16) +#define CPUFREQ_FLAG_UNCACHED (1 << 17) /* * When setting a level, the caller indicates the priority of this request. @@ -162,7 +168,7 @@ int cpufreq_settings_changed(device_t dev); * The new level and the result of the change (0 is success) is passed in. * If the driver wishes to revoke the change from cpufreq_pre_change, it * stores a non-zero error code in the result parameter and the change will - * not be made. If the post-change eventhandler gets a non-zero result, + * not be made. If the post-change eventhandler gets a non-zero result, * no change was made and the previous level remains in effect. If a change * is revoked, the post-change eventhandler is still called with the error * value supplied by the revoking driver. This gives listeners who cached From nobody Sat Sep 6 17:07:58 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cK05p6tfPz66sFv; Sat, 06 Sep 2025 17:07:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cK05p5jgPz411s; Sat, 06 Sep 2025 17:07:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757178478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tfFQTdlUWXxuHX6q1PVZXL40tcb/p6+XXVk5lY2phMI=; b=wa7nJQcLKE5yY1MNGR8RAZy95g5a88R5wtcySH/K11sKwu1aot+LrpSUWKZXE9hW+FhM9g W+DUbJhJWEyM4UKKcXbD/hrYXwEaj1zcigMJHv0UGmRA7Y805tptpsKqLxdCz7Bcfmqxwq NHMWCSfoJQ8K71Nu+EjU5xoaKhoVvrNdkfmk+hsZyuVC9qbptPopYW+r5ZS4SF2u/TV56F NEqO9MgKIeesk+oti2qD5vsqlfki+B189wx0JlruVTLc0htuNsdLW7jF27ohP6vb8z/LU+ mPm6dLyjz9QTxRAGXdVTWcTP2aUP+KX41CRgQSCYpXAsq9BFzREIEfIfBoptEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757178478; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tfFQTdlUWXxuHX6q1PVZXL40tcb/p6+XXVk5lY2phMI=; b=Mj+kPK9Bg/x8UtuoFX+faI7EGBv0tFg+NcrJA8Ia0ioZe0fz5+KNfEAS06E86jBul2HVyU XlE6zu0mPxwQnOQFCkRmaXcOPtMI20W3oTr+dpyZXZWrVl2fX1PgmE4a0vEt8tGaculFb/ 18519NlxAHZVOzA7am9jnypfphJ/fFC6cfdpzbYdGS1t0P4oH8zAuQ3/yAOygu20ZhZcIj +ObqXgzBZ+2DTrNeYndWIsecyfyFo7nNKdr6CVjpGWDabb5+GRb0kd/kQ/d6YqGHlmyh+w mn3NmhRcR+DKPZ2TSuX5VcJzVJjARwqw6BFW6VAazP0Trw1iOhdHP2oqgBdeEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757178478; a=rsa-sha256; cv=none; b=vsoRvg8MxbT76VLvBctSSdS6ksrPJIBJYvbNNb3Lhy43Yj/zx/Cws0EIq897i7DWT94Uzx 3YSOJ0F4JRyPwMhC2Jnq2Yc3t+L3Hm6r/JtLhVORy8p3yQqqP9arkUSkJz+TTav47JgmxM /1xJvxTlGRP84l4UM52LtHEGEZlcSf8XQGbJtKb+5s7vOVQFnM1VHj1F8LHOnzDhu4aXs3 Vrox6OaUvzX2rANLQrR5OpcyamLcs2AnDMYzyrFBjqgdKy4hqk68KNLHmJptknPF+yWjPC ulAeNwrCWiitwAJRkZZIx2pRuq8zQ0+VJd6nZUx+QsRCWjgVA8uYseWAyxeEjA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cK05p58JzzkgJ; Sat, 06 Sep 2025 17:07:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 586H7wrk020699; Sat, 6 Sep 2025 17:07:58 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 586H7wt7020696; Sat, 6 Sep 2025 17:07:58 GMT (envelope-from git) Date: Sat, 6 Sep 2025 17:07:58 GMT Message-Id: <202509061707.586H7wt7020696@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: 7b4562e12f7e - main - git-blame-ignore-revs: sys/cpu.h style(9) 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: 7b4562e12f7e9ea40a268b7af2b26c4cc58be802 Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=7b4562e12f7e9ea40a268b7af2b26c4cc58be802 commit 7b4562e12f7e9ea40a268b7af2b26c4cc58be802 Author: Zhenlei Huang AuthorDate: 2025-09-06 17:04:55 +0000 Commit: Zhenlei Huang CommitDate: 2025-09-06 17:04:55 +0000 git-blame-ignore-revs: sys/cpu.h style(9) fixes MFC after: 3 days --- .git-blame-ignore-revs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 7b832c253b56..0cd1884c0bbf 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). +# sys/cpu.h style(9) fixes +0737e2a961cd712fff5b548bb6b823e48a8b527d # witness white space cleanup and style(9) tweeks f5377665253b2b107ee8a4690ad2e6682375b304 # style fixes for device_if.m From nobody Sun Sep 7 00:26:49 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cK9rP6xJkz65rsw; Sun, 07 Sep 2025 00:27:01 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4cK9rP0Xfmz3Td6; Sun, 07 Sep 2025 00:27:00 +0000 (UTC) (envelope-from kostikbel@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="No valid SPF, No valid DKIM" header.from=gmail.com (policy=none); spf=softfail (mx1.freebsd.org: 2001:470:d5e7:1::1 is neither permitted nor denied by domain of kostikbel@gmail.com) smtp.mailfrom=kostikbel@gmail.com Received: from tom.home (kib@localhost [127.0.0.1] (may be forged)) by kib.kiev.ua (8.18.1/8.18.1) with ESMTP id 5870Qn4C061474; Sun, 7 Sep 2025 03:26:52 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua 5870Qn4C061474 Received: (from kostik@localhost) by tom.home (8.18.1/8.18.1/Submit) id 5870Qn2E061473; Sun, 7 Sep 2025 03:26:49 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Sun, 7 Sep 2025 03:26:49 +0300 From: Konstantin Belousov To: James Gritton Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 851dc7f859c2 - main - jail: add jail descriptors Message-ID: References: <202509042031.584KVpxY000408@gitrepo.freebsd.org> <2f66c886ab44aea5ad2e57cc72c03e3f@freebsd.org> List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2f66c886ab44aea5ad2e57cc72c03e3f@freebsd.org> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FROM, NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on tom.home X-Spamd-Bar: / X-Spamd-Result: default: False [-0.99 / 15.00]; NEURAL_HAM_MEDIUM(-0.98)[-0.984]; NEURAL_HAM_SHORT(-0.56)[-0.562]; NEURAL_SPAM_LONG(0.56)[0.559]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[gmail.com : No valid SPF, No valid DKIM,none]; ARC_NA(0.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; MIME_TRACE(0.00)[0:+]; MISSING_XM_UA(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; HAS_XAW(0.00)[]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; FREEMAIL_ENVFROM(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_SOFTFAIL(0.00)[~all]; RCVD_TLS_LAST(0.00)[]; RCPT_COUNT_THREE(0.00)[4] X-Rspamd-Queue-Id: 4cK9rP0Xfmz3Td6 On Fri, Sep 05, 2025 at 10:57:30AM -0700, James Gritton wrote: > On 2025-09-04 22:14, Konstantin Belousov wrote: > > BTW, you added some support for kqueue for jail events, but not to the > > jail file descriptors. This seems to be backward: if somebody wants to > > monitor events for jails, then it is more reliable and straightforward > > to do with the new jail fds rather than with ids. > > It is at least incomplete, and not the state I want things to be at. > There's a sticking point with jaildesc kqueue, so while I work that > out I went with jid-baseds kqueue as a starter. > > The trouble is child jails. I took their handling from the existing > child process handling, where I register a new kevent under the new > jail's id. But that's something I can't do with descriptors, since > they have a process-specific identifier, the descriptor number. The > code that creates the new event, coming from the jail_set call that > created a new jail, has access to the global descriptor (the struct > file), but not to the process(es) that have it open, so I have no > way of registering one or more events with that descriptor number. > > One workaround is to have both jid- and jaildesc-based kevents, but > both of them register a new jid-based kevent for a newly created child > jail. The caller may then get a descriptor with jail_get, and add a > kevent for it and remove the old jid-based one. This would work, but > feels really klunky. > > The other idea I've had is to register a temporary event, and then add > code to kqueue_scan that converts that into a proper jaildesc event > with the expected file descriptor number. That would require either > jaildesc-specific code in or around kqueue_scan, or adding another > filterops function, neither of which is great. Still, it seems the > better solution. This is not how the monitoring APIs work in general. For instance, when you register a listening socket in kqueue (or mark it for select or poll), you do not get back a new connected file descriptor. Kqueue only provides a notification that new connection arrived, and then code needs to accept it and get the file descriptor for new connection using dedicated socket API. > > With working jaildesc kevent support, the jid-based kevents would be > unnecessary, so if I can get this done before 15 is released, they can > go away. > Then what is the point in adding something that app writers can't rely upon, since this something is going away soon? IMO, this whole commit series is not ready and the most lacking part is the discussion of the architecture of the feature. From nobody Sun Sep 7 06:41:06 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKL8P3Mp0z66Yyh; Sun, 07 Sep 2025 06:41:25 +0000 (UTC) (envelope-from oleg.nauman@gmail.com) Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) (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 4cKL8N56Cbz417T; Sun, 07 Sep 2025 06:41:24 +0000 (UTC) (envelope-from oleg.nauman@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20230601 header.b=jjXLhKUU; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of oleg.nauman@gmail.com designates 2607:f8b0:4864:20::52b as permitted sender) smtp.mailfrom=oleg.nauman@gmail.com Received: by mail-pg1-x52b.google.com with SMTP id 41be03b00d2f7-b47052620a6so3128327a12.1; Sat, 06 Sep 2025 23:41:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757227278; x=1757832078; 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=bmoTwxi9CnbPNAx5w0Co+jRQ3i9wMArYOJwXyq+JhWA=; b=jjXLhKUUMZIraODdEKkiYlZxDDlijovqe8n5yLyLgezd5/Lgt62VmDqMwZsVE04O1d dDU2xLmfe5lU9h9fwx9wJRzY+Ei0eHtteqTS9LKXpOKbAiurHxepa8gOMMyZPJlqIlX/ TD/BYfU6aoINVB+9qzANqjuSXpGarU512t0TaGsCiVC/WveLceMMMsfl9q14Kteij3Gb 3mC5MdXm2yE4BUt34C4cys/eOopunczuyPvt5XlV2twzdlhCu01s7wtrtdwLwkJMSeqT LSsRdQFNeskuDUdUEN1kNgool5ve7KaOApgMfcBz/Pm4CaWcWSyqa1si3pxWwJR8VvD/ 6Cxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757227278; x=1757832078; 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=bmoTwxi9CnbPNAx5w0Co+jRQ3i9wMArYOJwXyq+JhWA=; b=gBvqDSj9Orv2e35usUgGkWR8OQGjwva4k46nTZAe1t1dErCcMiWHPB74zyOz5S959m Tt/EtpsPu1UKJWz2z6vfNmBxE1KkgKsaqJj9d4Y28egOjXDfRPckbaxIri/GTZkZlxUx QE0EL/Zyw1Z4DLzZaQVN2xezOu05x+lZyvSi1nQ67kbXOikjggy1tLZpPXq0deAi08Gd qfShVV/2E1prolIQRtjzP5TelITa0vTCIMHs91kd5tIkqHIz3Qa4a/8m2x9qg9lh2hk3 PnDEyb3Bipj10dFB1CsDLNjGl4QUrPBCZYozMNn3WDMPmF6MTP22OOnIB929XeTw5yaA pTUA== X-Forwarded-Encrypted: i=1; AJvYcCW7Ao9cPJ2qQulAonAxA5DrC3shk9AmfgW6FZtAmZom0X5PQIdg/AvGFRPOl/7SP1UQDlA5tAsrDWWQS2ZfYP6gz8qJ@freebsd.org, AJvYcCWLoQwrVH+PHg3UlEUn2rxftdQnR+W3hXVVn7zuOwuRRq9ra11RnSGW7nYYrCdhIBQDPKfBILsZaXTRwrao4DbhOI9T8fY=@freebsd.org X-Gm-Message-State: AOJu0YznAg7Ul+IhsImZxfzT58UVAEL0yR/aBZbDzWn49Vlyu2Qfi/BH WepUYi4KS86eFLLEyYZyvhDK7BbvkQf2XlTz8NgFcejCBMANUOHiOltyzr9RI3lzfACm/USIAIP olhijS4LivebfEZJYjYy6vq/RUQu0nSvOXn0H X-Gm-Gg: ASbGnctdEtEe8ZtzndN6ZzOC/MqRyiSH/Famz6MNKkAMXIyMIgpSN7M1Bv3EF7T+vhp VV1/OP2Egdage84C40Kg2/Ocuh4yXXRpEumiaBBWY8P03YPtHp6rQ8hvQXO1gBsXQIdz+V9gnoG ZPpzcMRu+0q+D+RjIgZfG+eMdWaN4p9XJoKefkDEum+LTjIIiJ3Ksv65OJ5iwWVINYkYdZXHLnV 5IzD7whQuUZNK6n X-Google-Smtp-Source: AGHT+IFnRkpmwt4dmkcPF9p+Gpsp2qYnPeSKQxOlCIloHjaD5f9FK1wsnJnPoVqTTlAsm1+ocDYhDver3Dq6iTu3NhU= X-Received: by 2002:a17:903:ace:b0:24a:4560:49be with SMTP id d9443c01a7336-2517a4fd733mr52875605ad.28.1757227277543; Sat, 06 Sep 2025 23:41:17 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202509042108.584L86Ro060944@gitrepo.freebsd.org> In-Reply-To: <202509042108.584L86Ro060944@gitrepo.freebsd.org> From: Oleg Nauman Date: Sun, 7 Sep 2025 09:41:06 +0300 X-Gm-Features: AS18NWAdrbH_tLgac9Mw1Fy9GoXwAuVgu2rADBL6Uo6dgsSSV8uSyvcZROlgVsY Message-ID: Subject: Re: git: aef807876c30 - main - moused(8): Add support for evdev protocol To: Vladimir Kondratyev Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: --- X-Spamd-Result: default: False [-4.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20230601]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; MIME_GOOD(-0.10)[text/plain]; ARC_NA(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; FREEMAIL_FROM(0.00)[gmail.com]; TAGGED_FROM(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::52b:from]; MID_RHS_MATCH_FROMTLD(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; RCVD_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MISSING_XM_UA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com] X-Rspamd-Queue-Id: 4cKL8N56Cbz417T On Fri, Sep 5, 2025 at 12:08=E2=80=AFAM Vladimir Kondratyev wrote: > > The branch main has been updated by wulf: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3Daef807876c305587c60f73e2cd= 914115d22a53fd > > commit aef807876c305587c60f73e2cd914115d22a53fd > Author: Vladimir Kondratyev > AuthorDate: 2025-09-04 21:07:25 +0000 > Commit: Vladimir Kondratyev > CommitDate: 2025-09-04 21:07:25 +0000 > > moused(8): Add support for evdev protocol > > The new daemon have following properties as compared with previous > incarnation: > - evdev protocol support for mices and touchpads. Additionally to > relative PS/2 and USB devices it enables console support for I2C/US= B > touchpads and bluetooth mices. > - Other aged protocols like COM, raw PS/2 and X10 are dropped with on= ly > exception of sysmouse. For those who still use them there is an > utility called msconvd(8). > - single daemon per system where hotplug is processed via devd socket= . > Per device mode still supported too. > - Configuration and quirks files in libinput-compatible format. > Actually, the new moused config parser is taken from libinput. > > The moused(8) can work in 2 modes: > 1. Evdev support mode. It enables all previously mentioned devices. > It is enabled by deault. I think it is require hms driver corresponding entries to be added to /etc/devd/moused.conf otherwise it breaks existing installations and require moused_enable=3D"YES" to be set as workaround of this issue Thank you From nobody Sun Sep 7 06:54:42 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKLSF28Yyz66Z2N; Sun, 07 Sep 2025 06:55:09 +0000 (UTC) (envelope-from wulf@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cKLSF1JPTz42TD; Sun, 07 Sep 2025 06:55:09 +0000 (UTC) (envelope-from wulf@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757228109; 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=FLpH3YrXvxza9bM0NBaiFEfV/20uJwuiDjncr0qmD80=; b=QYo0TxcfUwwfCUfBnb/lOrHbGJQeyMaMD25U2N45HPS6BoNxHGkxGJxcmNeI6dFTiZKTax oDmb3CM/3GznsVBdHALOnjpdnQFrhCqENMDdzve1lBlaqh17FrwoAnu60MZH98ZP5SLuSh SIQ0M5BQstpnHXjooz+NHU5ja4uZm1yOUBaToOgWbwaocbX4alo3I/OBKPo8ewOFY+O9XB jjBE+svKQ1DzacqO1oZaPH/MT5dRAwa3WDw+hy5+2X6jxp1dcjwGtm9LL196oXD4Svh81j iPtL85fvIqE0qdqMPNC6OfWUpy1oS7262PtBujInZo8bWPK2olkN2tg5cQdJjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757228109; 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=FLpH3YrXvxza9bM0NBaiFEfV/20uJwuiDjncr0qmD80=; b=oQytYjpZuRi+MiujO4IfQrv74RD06hGEs57A3FTV5+9S6+D3sgciN64z78ULqIx/x7qz/K /48sBuy/SUxw7K6MFzkQ4C4DwaTmgX3ZaMsqvNrmeC2F1hGc9M1w7wT2SaGCvp8eh7c/BP oznyUyMyQFvYx8VuRQIsZE8IoUBOJeMhwvE90IveIlLLlYarCVZmkkRjbPOtbIIEqvMyHK 0Q8eWHM/3a7JJ1tjv8BRUB8CkRTCQ3xjP79jYvdj5kuyK3m+hitWwhfka9R1P0NyxnC5DL N2ymYmTan2Gk3JXKUciouKqoBn+vXg28k3peTWbRJFk8i6UFU8MZhAIXnFQiEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757228109; a=rsa-sha256; cv=none; b=EN3neVbe/pe4XpBWHVsQ7XvV4tuNrRdjdAWeNvia5TBxaob9FQcriWvMTXNp3JnIDN3cJu EmyJ4EX7yIoU8gqSSV3w+Hfh/o5/5A2Hy4/9sxl5HPbYfhqJu27ih3xKwo8AmQ1+OtsMWr bQVidjqY1jids1XI5mWZ8L0/QSvsjAy/MyftTQCI4F5Jls4UP8yMzVAbVpL1o1yf/SDkh0 phQicKIluCGc9b53NNR0rTW1lToFnYWdcmpEAppJqgpSlIYZwTIumaV1FLXKD6eLQBw28I D18a75TPft4Hw2oQB2tiD0bX1vG72noESZGMckMWWv/URMse7jWBrD52um+tdA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [192.168.0.30] (unknown [176.120.234.124]) (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: wulf) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cKLSD3C0XzvRD; Sun, 07 Sep 2025 06:55:08 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Message-ID: <6ce0043d-2e1c-458f-9c8b-75605ee931b3@FreeBSD.org> Date: Sun, 7 Sep 2025 09:54:42 +0300 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: 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: aef807876c30 - main - moused(8): Add support for evdev protocol To: Oleg Nauman Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org References: <202509042108.584L86Ro060944@gitrepo.freebsd.org> Content-Language: en-US From: Vladimir Kondratyev In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 9/7/25 09:41, Oleg Nauman wrote: > On Fri, Sep 5, 2025 at 12:08 AM Vladimir Kondratyev wrote: >> >> The branch main has been updated by wulf: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=aef807876c305587c60f73e2cd914115d22a53fd >> >> commit aef807876c305587c60f73e2cd914115d22a53fd >> Author: Vladimir Kondratyev >> AuthorDate: 2025-09-04 21:07:25 +0000 >> Commit: Vladimir Kondratyev >> CommitDate: 2025-09-04 21:07:25 +0000 >> >> moused(8): Add support for evdev protocol >> >> The new daemon have following properties as compared with previous >> incarnation: >> - evdev protocol support for mices and touchpads. Additionally to >> relative PS/2 and USB devices it enables console support for I2C/USB >> touchpads and bluetooth mices. >> - Other aged protocols like COM, raw PS/2 and X10 are dropped with only >> exception of sysmouse. For those who still use them there is an >> utility called msconvd(8). >> - single daemon per system where hotplug is processed via devd socket. >> Per device mode still supported too. >> - Configuration and quirks files in libinput-compatible format. >> Actually, the new moused config parser is taken from libinput. >> >> The moused(8) can work in 2 modes: >> 1. Evdev support mode. It enables all previously mentioned devices. >> It is enabled by deault. > > I think it is require hms driver corresponding entries to be added to > /etc/devd/moused.conf otherwise it breaks existing installations and > require > moused_enable="YES" to be set as workaround of this issue hms is loaded with devmatch entry in devd.conf rather than with moused one. moused entries are legacy and disabled by default with moused_nondefault_enable="NO" in /etc/defaults/rc.conf And moused_enable="YES" is not a workaround. It is how things supposed to be. -- WBR Vladimir Kondratyev From nobody Sun Sep 7 07:12:56 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKLs35W9jz66bl4; Sun, 07 Sep 2025 07:13:11 +0000 (UTC) (envelope-from oleg.nauman@gmail.com) Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) (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 4cKLs33Sh1z42vP; Sun, 07 Sep 2025 07:13:11 +0000 (UTC) (envelope-from oleg.nauman@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-pg1-x530.google.com with SMTP id 41be03b00d2f7-b4c6fee41c9so2584522a12.1; Sun, 07 Sep 2025 00:13:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757229188; x=1757833988; 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=dgfxUBJwsyA/oF/Ib6OKgkf07IWLmi4ZWYPFXML2NEs=; b=IDlLgH0B0a5RmZeQTNxXQuRBgG4RQYhChp8zDtINOsZ7dHr7uJtlAszxOwHDoBwC2R UxiH6eJ6WuUjkCcDvbOZSLLosYnZ0x5YX7jwsbIQ/Biwapp/KpCNI/NSXlw6stnTF5uv TATiqyU1PYZ3ApHFjNKjEpDDCNUjtNeaQp9sfP/WbOsGu+2Duuumuof4TazTquiXE637 5K9DIuOPAE6J7zk8FNFHbsMYKpEjf97NdPhX24cucQbRQOu9sbF+qJcu0XNKT8VozNan flgbNIZb2NIuNsyUXArFpcRUA9k+X8HsfdArCsN33RB1cQP/yYIp4cVuLRJCIE0EDNr0 AlTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757229188; x=1757833988; 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=dgfxUBJwsyA/oF/Ib6OKgkf07IWLmi4ZWYPFXML2NEs=; b=DO8oC/l+xb44qoSHu1k1w/4V4cgKpVvpg9FHEtOpO9OQDAWl75KChecxNYMa5RJ9b7 O2kreuEzJEU1MXkAg86/0pgBZAcQb9woTuj+kvTB/qd807gPCmutRxlKlGTUAAO7Y3T3 f7PHKsQ7xAaVAVnIhMf5PhqvSMhgLZXNdXmLZxsqZgv0bKqKoPSFpD9DPZ84+Z3GlqhJ tbGMC+BO/yXIyQim3MHnhIYU1aJcdBsxJv26XZtuSBPnoB/jT9c2vTg0ImswBn6ZJWd/ /cjD3Wj4QAHLR7aTtP0I3NG57pjVEFyEJ36EF4q23MskWd1VzvpP70ueBelKmUqjf5LT eJuQ== X-Forwarded-Encrypted: i=1; AJvYcCU5cKrqLySsrxz2qgeNyx4w+m+ILZyo+N1TU7S48xh9XTYhjXf6yza1pwduGR443SxaO9w01BwrIx1Ovnwg+8swXjqR074=@freebsd.org, AJvYcCWwBrdaC8ITV8VwVJo7x0Z57zhzrdJhX2eZGU6Ev6/k5E85Zv7nPiiHigFHSbRKZnAmxqF4XSHO9IPjYhOwtaEvpLBR@freebsd.org X-Gm-Message-State: AOJu0Yy8SOQHt5kPD3sxg2S+v6w9Z48kW1Ob2eTtgjOy2Uo+D4emF8IF EXIi9obi0VLI8AOHCu6wp6XGIBfLIyTZSQSVJDZgg83WsBvpQZymDzcCRzkfQ5xcPnbUQFx/hok 2WoZzy2QHzK/xyTHboSGxxBK1HUfV7PxKODZF X-Gm-Gg: ASbGncsdI+po50bsHULd+sSa4aKsI/Asmh8LwZ0/hrvduP4DduN4vz2yEE+ZAGJjDh+ TcB05mXhcYniCr7GoBY4VivD5n7nd2r98/AvRJdXRrWlnh+Zd01JgkAZHJ64FTQ5nw0sjFWC430 YTmmAFGocLsq06+1QExq0HVxKReV+f9txiCpvbnFetXFDlrDFLThLqU8QjSAYc9x3XIYlFZB4u3 DpYUg== X-Google-Smtp-Source: AGHT+IEijNHZh88xDHcjt5Xk4WG+nQ3ucNxy82CKScn1n8y4rSqRdwiLGGmLF76xEOwXWcABHGxMPpsCxjRFcGKpuGs= X-Received: by 2002:a05:6a20:3d85:b0:249:d3d:a4ce with SMTP id adf61e73a8af0-2533bedbbfamr6801687637.3.1757229188215; Sun, 07 Sep 2025 00:13:08 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202509042108.584L86Ro060944@gitrepo.freebsd.org> <6ce0043d-2e1c-458f-9c8b-75605ee931b3@FreeBSD.org> In-Reply-To: <6ce0043d-2e1c-458f-9c8b-75605ee931b3@FreeBSD.org> From: Oleg Nauman Date: Sun, 7 Sep 2025 10:12:56 +0300 X-Gm-Features: AS18NWDj7bZkrS2JPjRtv55NaXuadZpfs29u-v0eXfqQ5i7nv4utWHHW_yhX61Q Message-ID: Subject: Re: git: aef807876c30 - main - moused(8): Add support for evdev protocol To: Vladimir Kondratyev Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cKLs33Sh1z42vP On Sun, Sep 7, 2025 at 9:55=E2=80=AFAM Vladimir Kondratyev wrote: > > On 9/7/25 09:41, Oleg Nauman wrote: > > On Fri, Sep 5, 2025 at 12:08=E2=80=AFAM Vladimir Kondratyev wrote: > >> > >> The branch main has been updated by wulf: > >> > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3Daef807876c305587c60f73e= 2cd914115d22a53fd > >> > >> commit aef807876c305587c60f73e2cd914115d22a53fd > >> Author: Vladimir Kondratyev > >> AuthorDate: 2025-09-04 21:07:25 +0000 > >> Commit: Vladimir Kondratyev > >> CommitDate: 2025-09-04 21:07:25 +0000 > >> > >> moused(8): Add support for evdev protocol > >> > >> The new daemon have following properties as compared with previou= s > >> incarnation: > >> - evdev protocol support for mices and touchpads. Additionally to > >> relative PS/2 and USB devices it enables console support for I2= C/USB > >> touchpads and bluetooth mices. > >> - Other aged protocols like COM, raw PS/2 and X10 are dropped wit= h only > >> exception of sysmouse. For those who still use them there is an > >> utility called msconvd(8). > >> - single daemon per system where hotplug is processed via devd so= cket. > >> Per device mode still supported too. > >> - Configuration and quirks files in libinput-compatible format. > >> Actually, the new moused config parser is taken from libinput. > >> > >> The moused(8) can work in 2 modes: > >> 1. Evdev support mode. It enables all previously mentioned device= s. > >> It is enabled by deault. > > > > I think it is require hms driver corresponding entries to be added to > > /etc/devd/moused.conf otherwise it breaks existing installations and > > require > > moused_enable=3D"YES" to be set as workaround of this issue > > > hms is loaded with devmatch entry in devd.conf rather than with moused on= e. > moused entries are legacy and disabled by default with > moused_nondefault_enable=3D"NO" in /etc/defaults/rc.conf > And moused_enable=3D"YES" is not a workaround. It is how things supposed = to be. Well, sorry I was not clear so I think it is some misunderstanding devmatch supposed to load mouse support driver ( hms or ums ) while devd entry supposed to unattended load moused if device supported by ums driver was attached, so moused_enable=3D"YES" was not required Thank you > > -- > WBR > Vladimir Kondratyev From nobody Sun Sep 7 14:38:21 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKXkj456Sz66K6x; Sun, 07 Sep 2025 14:38: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cKXkj3YCvz3Xjx; Sun, 07 Sep 2025 14:38:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757255901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/cv4ysB1n47XuT3mmLs1Yf7bxyhFUE7lKqQSLG448Ew=; b=LL6yKQ2+ATU4News6fq12ks/q1hBNEc5imAHM9FsGCLV+vJpLtI/YU15FhP7Vf1oeZMg7F WFx8bj3Wwz1WBUZS6ReSkRh7bzr1a2RDLzplZx5Y7EJwkbDg2Vp319Wm5Hh4U8naXMBmne NPhDEoYYvYv+ZUxWthflu/1xGD2ED5s+UzJQBtjJ8xPuewkbD8GQoGVaONMCPEgiAxGK8H 3kUM+l6/Ngenf9IEqIpzdqHICod4Q3IN0Og5gbJaNVdVg3v0TqB3acDsuSsJKjtntzavqN kZAYAmpVL9NoIQMrENQM06m3fEwYJ149maAVTxeBhkpwsMtJQG1nxuYm2o574Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757255901; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/cv4ysB1n47XuT3mmLs1Yf7bxyhFUE7lKqQSLG448Ew=; b=oin5cntPymj98Oiwjq4ZuBIXeHAphK6ojIdVlvW4Eb9zmPA3Cm+aKC39GyaWC+jGbipZUS Kw2R8gbRVoU+3deGBfgVUY8A1oomoXHZJmZZUr/DWCHia9DyI88rK59pcgQRmpFQtvIu/5 4Yh3fItd1q32py9cZ2L9Vy2H+k/UXgL9pO3myVTF2Et3O1JzkW4KzbfRyDsouESifgmwFe WO/O9ZkJy2tur4SlTPrbeMNmhOt2J0RvTFF/fEIAHjxvB6PTQ106UWvWjIglE7mBf7qyJw S5LLaKou3G+msTk1CTkmIGFhbpg9oDOy+marHftc6/QvaaDt0cehWrvqodw3CA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757255901; a=rsa-sha256; cv=none; b=rrdZzkP8+8yhX50TeboPlA2fIJfYnk2IguiGE0KuaY0RTdPa8O1u9KngyLP150UuL6s4FS yWdu3UJn+ISXFflX1lz1NAQSY2WHHOssQl3ma/7NbPPOmAGvycPIBWLeGxk+zWQZE+C5aB nl+4X4S1QljAJirwv+en0yGgzZIuIdZsSDnFnzw/wwuEWwr7ZBlqTCCeLJWkZ7TSKHRt1K ZNRF2YPjlAZiJz8pa8nf8RLNQlIzsz0G+VWxNZonphZJgQEdSIO1rtHSKBCSOMWhAiVpYQ lYTUJsPLHZd5An7NCW/+UnhsCLGVKPRTQ8343DBCKDdjzYqy53NgYfHtrrawkQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cKXkj38q1z8SQ; Sun, 07 Sep 2025 14:38: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 587EcLk0033998; Sun, 7 Sep 2025 14:38:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 587EcLZF033995; Sun, 7 Sep 2025 14:38:21 GMT (envelope-from git) Date: Sun, 7 Sep 2025 14:38:21 GMT Message-Id: <202509071438.587EcLZF033995@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: ac2f284258e4 - main - BSD.usr.dist: remove obsolete usr/share/examples/drivers 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ac2f284258e4c6d5867aa6a411bd44df349fe416 Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=ac2f284258e4c6d5867aa6a411bd44df349fe416 commit ac2f284258e4c6d5867aa6a411bd44df349fe416 Author: Dimitry Andric AuthorDate: 2025-09-07 14:37:48 +0000 Commit: Dimitry Andric CommitDate: 2025-09-07 14:37:48 +0000 BSD.usr.dist: remove obsolete usr/share/examples/drivers entry In base 8f0a6a9aadb1f, usr/share/examples/drivers was cleaned up, because it contained unmaintained scripts. The directory itself is cleaned up by ObsoleteFiles.inc, but there was still an entry in BSD.usr.dist that re-created the directory. Remove it. Fixes: 8f0a6a9aadb1 MFC after: 3 days --- etc/mtree/BSD.usr.dist | 2 -- 1 file changed, 2 deletions(-) diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist index ffdd82ae9911..7d3a72f43fa1 100644 --- a/etc/mtree/BSD.usr.dist +++ b/etc/mtree/BSD.usr.dist @@ -286,8 +286,6 @@ .. dma .. - drivers - .. dwatch .. etc From nobody Sun Sep 7 16:08:04 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKZkD4dhDz66QGt; Sun, 07 Sep 2025 16:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cKZkD43F9z3jp5; Sun, 07 Sep 2025 16:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757261284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i677iLjQYuqqhU2Crw5+yoA6oCHYyjGIhmnXYH2EpOw=; b=p46QtlDN3AbBqcZhaVNNlnHjsXlhtsQwORkcPDbp3lyBVWzdjg2UJBCx8oDC+OpgE/A5J9 ScZFG/MJUWGzgd6BS2xySPjRIgEdBIyXEl6XKGKT7KCmBQFeP47k4R0hYc5eVV1Ef6dhup T64tnOih2Rk9LdkWd6VfYOznFCDFNHeqjJCgcw5pybTZy391Dj/rRvxypMDKpBQEr8RQwS UDlrHK5rY6FuRe+1l/1eNnTdVGpB1fX4ToKgLa/xzaOq7JxGOx7PbT5PljYA5UgnYqA5Pt XMK/ITYWfCvuOdpyqyHixmNu44F0jo4my+I/TtQC9eA/CAco31uXK3Tkd2lqRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757261284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i677iLjQYuqqhU2Crw5+yoA6oCHYyjGIhmnXYH2EpOw=; b=gQ9Y2T/1K7fILF6pkLjstAttR48espwK/JbTOGGpFx8znM0fI2/JCV0nu7U9qysboaIbuZ oQ7JIOTOsAWQ6NlgaCDRWyZrbWwl9Qp7mrouEis/WmYXFMuKkmhum/01eJc6ZFIlik9QqK KPCCRpSKr+xJB+QmMFP3R+2UYIwn9ihvzgt0AQC5xzX0D5MHXhbdrBOmzPhFYm8/O3Pnhf ZElLW9sFMnvynmHS+Z2T/iTSZjLpC2i+tQ5/d8UEWMX3rcfpAb6FU6+xebMAsyCMozkp67 r6OEapEbpovwxUYDc2sP1kM06vNXZCH/HSrEEiKK0gvRJjNYfoOFTwscDTjYVA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757261284; a=rsa-sha256; cv=none; b=Mwx66c07vqg7W9MWiXP8Q3dCP0sIQklFIA88JEVNz5s9q6O4Joi6ShGWbW2naZB+aW3qGL eel2jyOs/YDvuP5FfPlc5VgjKoF22Gzoif1GaBX3OekR/JuWmtpZTNYQ/KrXFGr5BEJrDe o01dAhe/Lnas1+/bj4vMJZJ9bZqkgELbyBxoZAwx6Nm2urnPqunB5sIY3uRtNYZWeyNSV2 mfCkgiKsZCqzPDKxBrNEtb7NR5i8liLo1H1x9Iw9qnBiWokpREy7JnNMQaEuXir5lvm+B6 2mmFtm7Jv8DZJtoR6DVOCRyuPJU32bErS7EwLBkxK4O4b6zFe6l9xulF9ePwtA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cKZkD3Qh7zBLh; Sun, 07 Sep 2025 16:08:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 587G84iN004326; Sun, 7 Sep 2025 16:08:04 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 587G84tM004323; Sun, 7 Sep 2025 16:08:04 GMT (envelope-from git) Date: Sun, 7 Sep 2025 16:08:04 GMT Message-Id: <202509071608.587G84tM004323@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: 4341f92251ae - main - share/mk: Fix a heuristic in bsd.cpu.mk List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4341f92251ae00c3f82904623bfd561bb8ea49fb Auto-Submitted: auto-generated The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=4341f92251ae00c3f82904623bfd561bb8ea49fb commit 4341f92251ae00c3f82904623bfd561bb8ea49fb Author: Mark Johnston AuthorDate: 2025-09-07 16:07:32 +0000 Commit: Mark Johnston CommitDate: 2025-09-07 16:07:46 +0000 share/mk: Fix a heuristic in bsd.cpu.mk When cross-building from MacOS we have MACHINE=arm64 MACHINE_ARCH=arm, so bsd.cpu.mk infers that sizeof(long) == 4, but of course it isn't. This breaks the bootstrap build of openssl, which tests MACHINE_ABI:Mlong64 to decide whether to build ecp_nistp224.c. It doesn't, and crypto/openssl/freebsd/include/openssl/configuration.h undefines OPENSSL_NO_EC_NISTP_64_GCC_128, so we end up with a link error. Reviewed by: ngie, emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D52340 --- share/mk/bsd.cpu.mk | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk index f6599a0ad802..1225d690e908 100644 --- a/share/mk/bsd.cpu.mk +++ b/share/mk/bsd.cpu.mk @@ -391,8 +391,11 @@ MACHINE_ABI+= soft-float .else MACHINE_ABI+= hard-float .endif -# Currently all 64-bit architectures include 64 in their name (see arch(7)). -.if ${MACHINE_ARCH:M*64*} +# Currently all 64-bit FreeBSD architectures include 64 in their name +# (see arch(7)). We need a special case for cross-building from macOS +# (which uses arm64/arm). +.if ${MACHINE_ARCH:M*64*} || \ + (defined(BOOTSTRAPPING) && ${.MAKE.OS} == "Darwin" && ${MACHINE} == "arm64") MACHINE_ABI+= long64 .else MACHINE_ABI+= long32 From nobody Sun Sep 7 16:25:59 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKb6w2fjSz66RP8; Sun, 07 Sep 2025 16:26:00 +0000 (UTC) (envelope-from jamie@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cKb6w13QBz3lST; Sun, 07 Sep 2025 16:26:00 +0000 (UTC) (envelope-from jamie@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757262360; 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=nQKGO/YuU4deXnJ3zifEAJx/DwrBQ9uXih+tZjr6wFA=; b=cslTM3YPCh2TJoS45M/fhxD/UAOtS9TWuxzt4/hlnOq+2Cvj50eWaeKa4G5mscj8DGi1hn V5U8LTMrsjYcoOgVrS4PqjQuxh9qEnLmD++amo8IfTkRVsWQ8grCvSgBKfGkYt9+JeXWAf e38hS+3APCaz6YbRpGP/qUdtS3VqXhoCoP8Q2hEJoJNmfK8GBjex1nsis6UwU4jUN9Sm69 7eNtjwLlu8ceZbvtAsrbBcGZMvRZCzGCgZYYN0PWnkzqUB/s4cQ8uwj0MTHKRWvqmG3AR5 hzZctFscwdhEC0Fiuw9lfa1/fPNOe/8xOUHLwb2YTGlUyxiZ7q+v+ZbkYAdT9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757262360; 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=nQKGO/YuU4deXnJ3zifEAJx/DwrBQ9uXih+tZjr6wFA=; b=XYQgUE8pTBy+JB6MEXbwd6kbOspHY4X4PdfOzwfvDCe9UUcpbYo209X7Zsr8rK5q9xf55l 5DMCMG/XLTlGTfq2Jjmbx+94SrOuCcxr9KGzt3e6dhyG/a8KYACgzwfiUSPOOIkWM8LfK7 c+vvefZiGX0UoGRM3ui085B4nwWXREQwbxKwHBrRu8BqNXguIqHLDV3Fq1au9pyePfm/tW a7HKzoucDtYHZ5nwm+lglv77jfrOfdOW0JZoh4iDjPiaeCVdAQDiHfUjk0ODlxSYieiIXv KuZjHA/M1Luh0UfX73eh1TSWIV7rCB2R3Gl157kmDjuiLjun+eOcBu7e/9HIow== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757262360; a=rsa-sha256; cv=none; b=JWZdYP2KQvbNhODLr+mrzZyKMSwBl6tr1mkhxSsSQ+lNuEl2sbYbwRMzS1zP+ABR9jbgiK M+jP+f95o53ua6gMDG15HuQUmuAWQNStwFPTbGQH0R587wyIZ9cl+1hY4SXeA7edAgYQ76 5M2t7JOu7/uS7SvxyC11GlpwM85z05WpABejH6DGQ5xBnbdL6B/dVf15ZfM6Rf6aZliQT1 1a7wKhkzVTbKPK25q92dQdXo6SmGmTrjCw+r7hKYismnSDaXFHBp3enEW92122fB0ZA+Y8 RViUAL5zNgOG7vg+tyP+PUgSLIXs3eMyk92IeIzQi3yRjTkOZetqg2PmcMga1A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from m2.gritton.org (gritton.org [67.43.236.212]) (using TLSv1.3 with cipher TLS_AES_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: jamie) by smtp.freebsd.org (Postfix) with ESMTPSA id 4cKb6w06Dfz17gt; Sun, 07 Sep 2025 16:25:59 +0000 (UTC) (envelope-from jamie@freebsd.org) Received: from gritton.org (localgritton [127.0.0.212]) by m2.gritton.org (Postfix) with ESMTPSA id 7454179B7D; Sun, 7 Sep 2025 09:25:59 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Date: Sun, 07 Sep 2025 09:25:59 -0700 From: James Gritton To: Konstantin Belousov Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 851dc7f859c2 - main - jail: add jail descriptors In-Reply-To: References: <202509042031.584KVpxY000408@gitrepo.freebsd.org> <2f66c886ab44aea5ad2e57cc72c03e3f@freebsd.org> Message-ID: <24a1f2413af24eea3fb5e9be9c05c4bd@freebsd.org> X-Sender: jamie@freebsd.org Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit On 2025-09-06 17:26, Konstantin Belousov wrote: > On Fri, Sep 05, 2025 at 10:57:30AM -0700, James Gritton wrote: >> On 2025-09-04 22:14, Konstantin Belousov wrote: >> > BTW, you added some support for kqueue for jail events, but not to the >> > jail file descriptors. This seems to be backward: if somebody wants to >> > monitor events for jails, then it is more reliable and straightforward >> > to do with the new jail fds rather than with ids. >> >> It is at least incomplete, and not the state I want things to be at. >> There's a sticking point with jaildesc kqueue, so while I work that >> out I went with jid-baseds kqueue as a starter. >> >> The trouble is child jails. I took their handling from the existing >> child process handling, where I register a new kevent under the new >> jail's id. But that's something I can't do with descriptors, since >> they have a process-specific identifier, the descriptor number. The >> code that creates the new event, coming from the jail_set call that >> created a new jail, has access to the global descriptor (the struct >> file), but not to the process(es) that have it open, so I have no >> way of registering one or more events with that descriptor number. >> >> One workaround is to have both jid- and jaildesc-based kevents, but >> both of them register a new jid-based kevent for a newly created child >> jail. The caller may then get a descriptor with jail_get, and add a >> kevent for it and remove the old jid-based one. This would work, but >> feels really klunky. >> >> The other idea I've had is to register a temporary event, and then add >> code to kqueue_scan that converts that into a proper jaildesc event >> with the expected file descriptor number. That would require either >> jaildesc-specific code in or around kqueue_scan, or adding another >> filterops function, neither of which is great. Still, it seems the >> better solution. > > This is not how the monitoring APIs work in general. For instance, > when you register a listening socket in kqueue (or mark it for select > or > poll), you do not get back a new connected file descriptor. Kqueue > only > provides a notification that new connection arrived, and then code > needs to accept it and get the file descriptor for new connection using > dedicated socket API. True. An accepted connection changes the network state, both locally and remotely, and automatically establishing that connection wouldn't be the right things to do. The existence of a listen queue also fits well with a notification system that doesn't do its own queueing. Jail descriptors, on the other hand, only exist as a veiw to an existing jail, and don't establish anything other than that view. Jail creation also has no associated queue, so loss-free noficiation relies on the same hack that process forking already established, but requiring a little more in the way of making it fit. An alternate way of solving the problem would be to create such a queue, allowing a single notification of such things as a jail attachment or child jail creation, or possibly more than one of them by the time the process reads the queue. - Jamie From nobody Sun Sep 7 17:42:57 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKcqj53S0z66WbK; Sun, 07 Sep 2025 17:42: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cKcqj3xKfz3tw4; Sun, 07 Sep 2025 17:42:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757266977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u+9QmUWQ17kBvPX62pvrgJvpaFeG27iWitNEOPyjew0=; b=qt0T/8VjX97ENfnDB9bUWtgHbZxxHLuYSg+dlamsP+pjAOi6sLnTXem1Z2zqiKtmgbAsoA CdUfuVRTV8H+Vz0S2Sv5nkG1CbyM3AsvzDlqPIPcxbIHdMWBRvEhQdx5INF4PYLaR8r854 TVfNJm3NbRM+oXeQHyEgCeOJ/0PRFctyq5EDNegE1IRdzQ8Lx0zKC17YzJKECJ1FdxkJrp iuJm8/5iVZdgk3tdGv8HI4p9I3hWBO/xx85Gm4/bUMcdJNNMnWj80FrWqTKv/EsTsbJHsG Uie8NusyDbYw/eViGNp1oVj5jNtLQIoG1uVu0eIbOizADc6rOBF65zqvx+KAYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757266977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=u+9QmUWQ17kBvPX62pvrgJvpaFeG27iWitNEOPyjew0=; b=MOpSTZuS35Yn1AlvGQ8qTyjSLAJeVYD6qTid75GiEBIWtWLj5+ACQ36RuAhNxUNUJL3rbL bAb1dCtSCDcHlXHEfsm4oo4FJXu44SlzfpKuZmzeMKxHQbAXSesUuabkE4ikOEWXk1bAfd nlFcNk3f7AP8+LApHyJO1c1ArrRk1iKQg+eDigmAeyhvkQikYE5be/Qy5OsV58K6o6z36o BsbCRquI9AyrIQ+w7qLWf4H56ZIOIO2/B+pOPpNh5p/9nJ32ZlSFPHED3tAJ8pqw2SRy2y qMpi1VWLp+U9KRO1lffJHlWlyfLNLfKnBHJMw73mF97zblWPwato+avoCFnVvg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757266977; a=rsa-sha256; cv=none; b=t6XOsCSSDK49KDeJlo/uFo3DZNlyz4O/FJWXppOFzTXoYpQ93/OxzKmjPlD3K17W0XUo8S nzbLLfUo13CXLVQy392SK2eBHlFJf0rgrsd3OoR40nHXuOL8vHzVyizaj31pEvEUXP8xkG YTVBETOFDeSRZsgG0ssti1tHQOEUx6+WSu+rlVTH64SVWHbsoyrEdSr38SKsDSoEiaKvLt 7ZYXF6xcXUVudIj7coMAOPTLu1szRDOfoxlyYXbWQV0kbRBDIqIfxo8lynFE9dkvhKIMAf eR+KGhhm9IAEcIha7Dm+DdHXUmGNMe0PTT2qCxN45cja75EIDjiMsVKgf6GnFg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cKcqj3FFWzVZP; Sun, 07 Sep 2025 17:42: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 587Hgvl9089510; Sun, 7 Sep 2025 17:42:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 587HgvmO089507; Sun, 7 Sep 2025 17:42:57 GMT (envelope-from git) Date: Sun, 7 Sep 2025 17:42:57 GMT Message-Id: <202509071742.587HgvmO089507@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: 6d624634ac1d - main - newsyslog.conf(5): Don't suppress space after directive List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-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: 6d624634ac1d28e89568e7f2be0df08ea7c7471c Auto-Submitted: auto-generated The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=6d624634ac1d28e89568e7f2be0df08ea7c7471c commit 6d624634ac1d28e89568e7f2be0df08ea7c7471c Author: Dimitry Andric AuthorDate: 2025-09-07 15:44:34 +0000 Commit: Dimitry Andric CommitDate: 2025-09-07 17:42:27 +0000 newsyslog.conf(5): Don't suppress space after directive Because newsyslog(8) actually _requires_ a space after the directive. Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D52414 --- usr.sbin/newsyslog/newsyslog.conf.5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.sbin/newsyslog/newsyslog.conf.5 b/usr.sbin/newsyslog/newsyslog.conf.5 index d94c39332597..0a47af7285c6 100644 --- a/usr.sbin/newsyslog/newsyslog.conf.5 +++ b/usr.sbin/newsyslog/newsyslog.conf.5 @@ -69,7 +69,7 @@ and .Dq Ar lines are defined as follows: .Bl -tag -width indent -.It Ar Ns Ar none Ns | Ns Ar legacy Ns | Ns Ar bzip2 Ns | Ns Ar gzip Ns | Ns Ar xz Ns | Ns Ar zstd +.It Ar Ar none Ns | Ns Ar legacy Ns | Ns Ar bzip2 Ns | Ns Ar gzip Ns | Ns Ar xz Ns | Ns Ar zstd This special option sets the global compress method, it should be placed before all log file entries in .Nm From nobody Sun Sep 7 18:42:17 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKf894DRkz66b99; Sun, 07 Sep 2025 18: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cKf893clZz40wN; Sun, 07 Sep 2025 18: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=1757270537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/uytDiKurCTxuJGaGYukoGkflpS/A/A+rHNDZsvAwnE=; b=MpvDwLP+V1m0a9kNVqCYSlJrQPTifUp3factANFWk/eF+bH7qqA/h2ImHlORKnsmM6Dq3a MRZU4JwzUuIRAtdxFvDM/r/g1Tx8ON8mkJYif67iMe2XKALBH3ui6E11ukbdd1L50NVBc6 fonmFxDmt0qQvUgkP3i5gpb5pYGZef3UXdWoKpJsfsKeuQ6SSCGqskyu85kDYVGbx8sRZA lZWx/hSjxg7JEpCLEbRVcHpN85UryWj2JB0nmEsfsbCdRCl7CloxVKbarCQkQePVK4vQxF OCdJ1A91NQCPlzujGKgE/44/quHbNy9LWYPq1ifNExe07TXcRAnf01q8SJLG6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757270537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/uytDiKurCTxuJGaGYukoGkflpS/A/A+rHNDZsvAwnE=; b=uv44VOr3rF8id+Wfn4fyUIMTc2WbANvU+AlqxrOZaexVZ2gUfOuIJ3VqGbB7n9NRFLUcU0 UO9yBVa20Dmkun1EDnxWQ85utdi67CmaKKu37KW7rMH5ZsP5XXuYCRCk7vptt1SwhHv3sO aA9WHWGsjDyfk1VuPnwX7cstB3/8bamiiYe4p2CrzM8ysa7n+tuAfb6qJHVdmyjWmDJeLT mMmXAs0QLjq5DBl4DNm9xSa7QGcO3NaVp4LxW8uJN/i4EF3XHYgdfvG2RqlHdTP44s0K3l oKP0ZUNELqr5mBWgZfVjFRHBl9Z/iLvcNtnvnM7JYfHOriyB+xxwdJuLRFUFyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757270537; a=rsa-sha256; cv=none; b=hMB2GrnWMKOcfvdG5r1g8ESfLlw7OKa5CRUljGPXGoYcGT6URbnhK1h2VeVz9hGgGxyD2e INH4s9hBPJ5LkkkDWCDfamF73cxYgepuI9of9JwVj+hpV0KIEoN8A+GNjqU7y+cRVJNQtZ iB8Ne4CEXWMRa5AOfqjCIJAm2MFw17IXTagsnENUfMJHD3MhVrGiTNfZTuK0BFGQveWOSj zdgM3e5ccLkE3UJaqI6Nln/LpXIvtU4ROjPoJuzfZyLs3LHebKrfy4GAIdVDZZbWXgZQWu VYUTDGwLbDukacPgjWSxP5c3GpmfpQSZBTOCmWK7QkpELzhbGnkRo2wZfUANQw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cKf893B6szYBs; Sun, 07 Sep 2025 18: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 587IgHD5001640; Sun, 7 Sep 2025 18: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 587IgHbm001636; Sun, 7 Sep 2025 18:42:17 GMT (envelope-from git) Date: Sun, 7 Sep 2025 18:42:17 GMT Message-Id: <202509071842.587IgHbm001636@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ka Ho Ng Subject: git: 11ace56fa030 - main - contrib/libxo: fix API header files inclusions in C++ source 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: khng X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 11ace56fa030185025936c795d5cf7c57b266835 Auto-Submitted: auto-generated The branch main has been updated by khng: URL: https://cgit.FreeBSD.org/src/commit/?id=11ace56fa030185025936c795d5cf7c57b266835 commit 11ace56fa030185025936c795d5cf7c57b266835 Author: ShengYi Hung AuthorDate: 2025-09-07 18:33:01 +0000 Commit: Ka Ho Ng CommitDate: 2025-09-07 18:33:01 +0000 contrib/libxo: fix API header files inclusions in C++ source files C++ source files need `extern "C"` to disable C++ name mangling. MFC after: 1 week Reviewed by: aokblast (previous version), phil, imp (previous version) Differential Revision: https://reviews.freebsd.org/D47930 --- contrib/libxo/libxo/xo.h | 8 ++++++++ contrib/libxo/libxo/xo_encoder.h | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/contrib/libxo/libxo/xo.h b/contrib/libxo/libxo/xo.h index 6a61a16c7cae..7f37b469b54e 100644 --- a/contrib/libxo/libxo/xo.h +++ b/contrib/libxo/libxo/xo.h @@ -27,6 +27,10 @@ #include #include +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + #ifdef __dead2 #define NORETURN __dead2 #else @@ -699,4 +703,8 @@ xo_retain_clear_all (void); void xo_retain_clear (const char *fmt); +#ifdef __cplusplus +} +#endif /* __cplusplus */ + #endif /* INCLUDE_XO_H */ diff --git a/contrib/libxo/libxo/xo_encoder.h b/contrib/libxo/libxo/xo_encoder.h index 099248ae13a6..bb57194ab030 100644 --- a/contrib/libxo/libxo/xo_encoder.h +++ b/contrib/libxo/libxo/xo_encoder.h @@ -20,6 +20,10 @@ #include +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + /* * Expose libxo's memory allocation functions */ @@ -167,4 +171,8 @@ xo_encoder_op_name (xo_encoder_op_t op); void xo_failure (xo_handle_t *xop, const char *fmt, ...); +#ifdef __cplusplus +} +#endif /* __cplusplus */ + #endif /* XO_ENCODER_H */ From nobody Sun Sep 7 19:38:05 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKgNs37JTz66fkF; Sun, 07 Sep 2025 19:38:21 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cKgNr4Dfcz44hP; Sun, 07 Sep 2025 19:38:20 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.208.41 as permitted sender) smtp.mailfrom=asomers@gmail.com Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-627b85e4c0fso843138a12.1; Sun, 07 Sep 2025 12:38:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757273898; x=1757878698; 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=FRP72IuDzoZ/XfbA/0wEkxk9POPHt2w20fSdf11AIDc=; b=BxFoGeusaaTST3yG2d/Rh6BP4KbJCxwokNDC27v6Q0srmZjjZ53hHpPpo99rVm4uAX ixB7wl1tL6QgF/t2Jj9e0sMs4r1fLsZBhbAwc3ajagnTaJXTddGraLrxjnV78dZe+ufp 0XDV6wsy3VRHKpYtG0c/4ABwUHAaX6HfqOb3eH6ZgVMaUb87HsX2Luj8Afjv+W10zzrz a5tbWcjNtIM0xzKiFhmClKDPvARixKCswOPZMrJjFNxs0tGHglhyzGxF3uogRu9oy06v BHWEaSokjU13VfIpSaCAvm2saTHnyXmzxgW3Y5Hzvq8Rbo2W/l6EvihoAm3xknWea3nt muzQ== X-Forwarded-Encrypted: i=1; AJvYcCUOIdVb8I4wHbaQm4BVRinMK6EznRPsDbKjbTe9W+zyu1yHuGHPJlln2wB7bt5P1N6/IVQkdwVzqMy0HqCJcp/UEkNn25E=@freebsd.org, AJvYcCURT6AhGLSt6hZxAYO8qXIl2mjDoxahVZkPult9HrjpZndOYZtYrBbzHZAFhDYKpdhArSXCFSli05mJi7bL56cPmKfX@freebsd.org X-Gm-Message-State: AOJu0YxuSqedxY/vuNT2OWGmbrpyIX+ZKiLycBRH4FbFzVrTaAz2LO9E nGqP6BJHGzhEhefL41HK3j6fmiPX9roK/YHjv6V60Tm6rWIgrmG2DiE1fyKWWf1OBD6xOLy36h7 nzkNajxnxbht7a1xXlnpYXXj1OEueuBpohg== X-Gm-Gg: ASbGncuq/fJRWzwowKoctv/CN3295cihw4noaD2Lu1HUef7WOX8so2jj0GBmp0mChcF HEtL+OlNX8IvKRHAA8YYHDqzW4JORJUJ1OxXuIKvGRgS1TKOkaCYfKHvkZF2e2kzvBUgYexCwXD vQPSeEgJZzZTuiu1TGUw9j/haQt5l5o6NjuciyDVGOl08etPW8VT0JYh7Ihfx7YbhbnAvZlV9/Q ptrCZg= X-Google-Smtp-Source: AGHT+IGOJ8c+MKp8gJTg5nJbBxIZ8iRTE/zT50VyPR84rHBXbmdk58vqbK7/FTNObace1kXzp9ffZCA3B9S9zQdhJHo= X-Received: by 2002:a05:6402:2185:b0:626:f59b:fca2 with SMTP id 4fb4d7f45d1cf-626f59c07camr2776733a12.15.1757273897569; Sun, 07 Sep 2025 12:38:17 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202509022034.582KYMeX068298@gitrepo.freebsd.org> In-Reply-To: <202509022034.582KYMeX068298@gitrepo.freebsd.org> From: Alan Somers Date: Sun, 7 Sep 2025 13:38:05 -0600 X-Gm-Features: AS18NWCP1wqxufwX2ZyXOo4szxjaWV0AOyTpwEsVx3LRZJeXwzr2wSFY7KerBxo Message-ID: Subject: Re: git: 60d5a4216b34 - main - unix/stream: fix EVFILT_WRITE after we did shutdown(2) To: Gleb Smirnoff Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="00000000000070162c063e3b3607" X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.81 / 15.00]; NEURAL_HAM_MEDIUM(-0.99)[-0.987]; NEURAL_HAM_LONG(-0.97)[-0.970]; NEURAL_HAM_SHORT(-0.96)[-0.956]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; ARC_NA(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; RCVD_TLS_LAST(0.00)[]; TO_DN_SOME(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FROM_HAS_DN(0.00)[]; RCVD_COUNT_ONE(0.00)[1]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MLMMJ_DEST(0.00)[dev-commits-src-all@freebsd.org,dev-commits-src-main@freebsd.org]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; MISSING_XM_UA(0.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.208.41:from]; FREEFALL_USER(0.00)[asomers]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.41:from] X-Rspamd-Queue-Id: 4cKgNr4Dfcz44hP --00000000000070162c063e3b3607 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Sep 2, 2025 at 2:34=E2=80=AFPM Gleb Smirnoff = wrote: > The branch main has been updated by glebius: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D60d5a4216b3479a2d62eb65f2cb03b7= 99546dcbb > > commit 60d5a4216b3479a2d62eb65f2cb03b799546dcbb > Author: Gleb Smirnoff > AuthorDate: 2025-09-02 20:34:12 +0000 > Commit: Gleb Smirnoff > CommitDate: 2025-09-02 20:34:12 +0000 > > unix/stream: fix EVFILT_WRITE after we did shutdown(2) > > When fixing bug 286692, the change eafe5967ac558, that fixed a case > when > peer side does close(), also had regressed a case when our side does > shutdown(SHUT_WR). These actually are two independent code paths, an= d > the > eafe5967ac558 shouldn't have touched the second block. The removal o= f > 'kn->kn_flags |=3D EV_EOF' was incorrect and the statement on origina= l > behavior in the commit message was also incorrect. > > Do not add back so_error setting, since I failed to find a test case > that > would return anything but 0 in kevent.fflags when run on stable/14. > > This was found with help of https://github.com/tokio-rs/mio. Add a > test > case into our test suite for that. > > Fixes: eafe5967ac558de142d91660e18e9238289890e3 > > Reviewed by: markj > Differential Revision: https://reviews.freebsd.org/D52327 > Thanks, Gleb. I can confirm that this fixes mio for me. --00000000000070162c063e3b3607 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Tue, Sep 2, 2025 at 2:34=E2=80=AFPM Gleb S= mirnoff <glebius@freebsd.org&= gt; wrote:
The b= ranch main has been updated by glebius:

URL: https://cgit.= FreeBSD.org/src/commit/?id=3D60d5a4216b3479a2d62eb65f2cb03b799546dcbb
commit 60d5a4216b3479a2d62eb65f2cb03b799546dcbb
Author:=C2=A0 =C2=A0 =C2=A0Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2025-09-02 20:34:12 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2025-09-02 20:34:12 +0000

=C2=A0 =C2=A0 unix/stream: fix EVFILT_WRITE after we did shutdown(2)

=C2=A0 =C2=A0 When fixing bug 286692, the change eafe5967ac558, that fixed = a case when
=C2=A0 =C2=A0 peer side does close(), also had regressed a case when our si= de does
=C2=A0 =C2=A0 shutdown(SHUT_WR).=C2=A0 These actually are two independent c= ode paths, and the
=C2=A0 =C2=A0 eafe5967ac558 shouldn't have touched the second block.=C2= =A0 The removal of
=C2=A0 =C2=A0 'kn->kn_flags |=3D EV_EOF' was incorrect and the s= tatement on original
=C2=A0 =C2=A0 behavior in the commit message was also incorrect.

=C2=A0 =C2=A0 Do not add back so_error setting, since I failed to find a te= st case that
=C2=A0 =C2=A0 would return anything but 0 in kevent.fflags when run on stab= le/14.

=C2=A0 =C2=A0 This was found with help of https://github.com/tokio-rs= /mio.=C2=A0 Add a test
=C2=A0 =C2=A0 case into our test suite for that.

=C2=A0 =C2=A0 Fixes:=C2=A0 eafe5967ac558de142d91660e18e9238289890e3

=C2=A0 =C2=A0 Reviewed by:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 markj =C2=A0 =C2=A0 Differential Revision:=C2=A0 https://reviews.freebsd= .org/D52327

Thanks, Gleb.=C2=A0 I can confirm that= this fixes mio for me.=C2=A0
--00000000000070162c063e3b3607-- From nobody Sun Sep 7 20:34:24 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKhdX3GJgz66jgV; Sun, 07 Sep 2025 20:34: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cKhdX2X7Yz3Bvq; Sun, 07 Sep 2025 20:34:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757277264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=43XEMHp4C95hq8bSoL+KpXQd3X2a7fX4lI+pJ+7rJgo=; b=DY9uLSMtJKPP0fzo43TCXrTulBVgItrlt3iNVthh3NMkxp5Du29CQX3nVCeK6YQvDYJ+rE UTbJTe7YG4eBVsNPdqzjxIuBwfeRvnf9SAK86Qqhud4Mc7ahlg0TQWNUH1Tm++/MXl4xvr h2CHmpdIA15tZ6y7Nu6M98d+tMCnyRKOA2dhQAIWftzAJHa63GqENJv2hChI2Kh+neTdFh FdDJf+O1oYa8TMRQCNehw3hgkxXqTgL73dlYsMoEI6zY4bQ4J2F6wF2MLpSE3xGN0BMbdt iZtjt3evTB4XgpV06/eKX7qVsd6ntbOmS+QFj6WExUQ8pGaWKkyqaQ9MmGNNEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757277264; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=43XEMHp4C95hq8bSoL+KpXQd3X2a7fX4lI+pJ+7rJgo=; b=PAqqFoZCuRtgcYNn13+trUc9pt4FiK0yHdYiCLGYPeGCvSAuSc5It7705MjNiwdo/M9A/n WN4FNPLPFGeog93lC+belPgKn/AFJcvGHIGvPJYyQSHPVl+RANp38tgDONd/SvD8R0Vafj JhUEqbSl6bFAbyxkWaRBujrk4ZoIx5EqaFEu+lplhDvIwmRqZDsOEEc+koSKuwMzwoBrC9 hD26BuzyshMU5IHrXPTQIm1LBuS5lU1lCv1hhbBOnJFIGHJR7mBShYFziv9U2nUffFvJHi HVTBBlo7Gq7hLdgIPs0TFOMOJ6pJVX8Q/YtdQAI6dCl772e4Ca9WqLL6e6BUqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757277264; a=rsa-sha256; cv=none; b=IThW/EJ4K1wQPENzYumz7KdLfPs/f4hUoN++syKMNsI/lFmSwafZFF4vkM9BvlUsIP1lbT cedpIIzB8D1kPm6vxPYgwRwZWT5mVO80VBMI7MERjsYos52GM70Ln6StgfuRklTiXutgHq Y9zAAMxZoJ4l069imy/1/wZH9dyyGhAx84EjM/NRbojVgwGuOO13ccq1qKwPVEctEsEdwC qBmO4kU/Yc8RNNVSb0pL4xBJXQd5xPcJ3FOp+twHoX7EJMbQMMiAP+4Q94tAsewxEi0Uer sZ3kk5zzY7joIjone5M96anb0mridsj7mfXM4+k9VeKNPwy3GThA9yPdvY18rg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cKhdX1s0Szc18; Sun, 07 Sep 2025 20:34: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 587KYO9D009649; Sun, 7 Sep 2025 20:34:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 587KYOcP009646; Sun, 7 Sep 2025 20:34:24 GMT (envelope-from git) Date: Sun, 7 Sep 2025 20:34:24 GMT Message-Id: <202509072034.587KYOcP009646@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: 5a0119491adb - main - unbound: Update to 1.23.1 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a0119491adbea0876d9d6dc0ef3e71f3d64a20b Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=5a0119491adbea0876d9d6dc0ef3e71f3d64a20b commit 5a0119491adbea0876d9d6dc0ef3e71f3d64a20b Author: Dag-Erling Smørgrav AuthorDate: 2025-09-07 18:59:20 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-09-07 20:05:17 +0000 unbound: Update to 1.23.1 Release notes at https://nlnetlabs.nl/news/2025/Jul/16/unbound-1.23.1-released/ Since we don't enable ECS, this is mostly a nop for us. Merge commit 'c8864f6ba46ff3271d97b4ae1c3cc6ce01eaf18a' MFC after: 3 days --- contrib/unbound/config.guess | 17 +- contrib/unbound/config.h.in | 360 +- contrib/unbound/config.sub | 28 +- contrib/unbound/configure | 4467 ++++++++++++--------- contrib/unbound/configure.ac | 5 +- contrib/unbound/doc/README | 2 +- contrib/unbound/doc/example.conf | 300 +- contrib/unbound/doc/example.conf.in | 2 +- contrib/unbound/doc/libunbound.3 | 4 +- contrib/unbound/doc/libunbound.3.in | 4 +- contrib/unbound/doc/unbound-anchor.8 | 14 +- contrib/unbound/doc/unbound-anchor.8.in | 2 +- contrib/unbound/doc/unbound-checkconf.8 | 8 +- contrib/unbound/doc/unbound-checkconf.8.in | 2 +- contrib/unbound/doc/unbound-control.8 | 343 +- contrib/unbound/doc/unbound-control.8.in | 2 +- contrib/unbound/doc/unbound-host.1 | 4 +- contrib/unbound/doc/unbound-host.1.in | 2 +- contrib/unbound/doc/unbound.8 | 8 +- contrib/unbound/doc/unbound.8.in | 4 +- contrib/unbound/doc/unbound.conf.5 | 741 +++- contrib/unbound/doc/unbound.conf.5.in | 2 +- contrib/unbound/edns-subnet/subnetmod.c | 152 +- contrib/unbound/edns-subnet/subnetmod.h | 4 + contrib/unbound/ltmain.sh | 1555 ++++--- contrib/unbound/smallapp/unbound-control-setup.sh | 227 +- lib/libunbound/Makefile | 31 +- lib/libunbound/config.h | 521 ++- 28 files changed, 5633 insertions(+), 3178 deletions(-) diff --git a/contrib/unbound/config.guess b/contrib/unbound/config.guess index 48a684601bd2..a9d01fde4617 100755 --- a/contrib/unbound/config.guess +++ b/contrib/unbound/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2024 Free Software Foundation, Inc. +# Copyright 1992-2025 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2024-07-27' +timestamp='2025-07-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -60,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2024 Free Software Foundation, Inc. +Copyright 1992-2025 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -1597,8 +1597,11 @@ EOF *:Unleashed:*:*) GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE ;; - *:Ironclad:*:*) - GUESS=$UNAME_MACHINE-unknown-ironclad + x86_64:[Ii]ronclad:*:*|i?86:[Ii]ronclad:*:*) + GUESS=$UNAME_MACHINE-pc-ironclad-mlibc + ;; + *:[Ii]ronclad:*:*) + GUESS=$UNAME_MACHINE-unknown-ironclad-mlibc ;; esac @@ -1808,8 +1811,8 @@ fi exit 1 # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-format: "%Y-%02m-%02d" # time-stamp-end: "'" # End: diff --git a/contrib/unbound/config.h.in b/contrib/unbound/config.h.in index f2dc8c8b92b3..584810398b91 100644 --- a/contrib/unbound/config.h.in +++ b/contrib/unbound/config.h.in @@ -48,13 +48,13 @@ internal symbols */ #undef EXPORT_ALL_SYMBOLS -/* Define to 1 if you have the `accept4' function. */ +/* Define to 1 if you have the 'accept4' function. */ #undef HAVE_ACCEPT4 -/* Define to 1 if you have the `arc4random' function. */ +/* Define to 1 if you have the 'arc4random' function. */ #undef HAVE_ARC4RANDOM -/* Define to 1 if you have the `arc4random_uniform' function. */ +/* Define to 1 if you have the 'arc4random_uniform' function. */ #undef HAVE_ARC4RANDOM_UNIFORM /* Define to 1 if you have the header file. */ @@ -78,7 +78,7 @@ /* If we have be64toh */ #undef HAVE_BE64TOH -/* Define to 1 if you have the `BIO_set_callback_ex' function. */ +/* Define to 1 if you have the 'BIO_set_callback_ex' function. */ #undef HAVE_BIO_SET_CALLBACK_EX /* Define to 1 if you have the header file. */ @@ -87,241 +87,241 @@ /* Define to 1 if you have the header file. */ #undef HAVE_BSD_STRING_H -/* Define to 1 if you have the `chown' function. */ +/* Define to 1 if you have the 'chown' function. */ #undef HAVE_CHOWN -/* Define to 1 if you have the `chroot' function. */ +/* Define to 1 if you have the 'chroot' function. */ #undef HAVE_CHROOT -/* Define to 1 if you have the `CRYPTO_cleanup_all_ex_data' function. */ +/* Define to 1 if you have the 'CRYPTO_cleanup_all_ex_data' function. */ #undef HAVE_CRYPTO_CLEANUP_ALL_EX_DATA -/* Define to 1 if you have the `CRYPTO_THREADID_set_callback' function. */ +/* Define to 1 if you have the 'CRYPTO_THREADID_set_callback' function. */ #undef HAVE_CRYPTO_THREADID_SET_CALLBACK -/* Define to 1 if you have the `ctime_r' function. */ +/* Define to 1 if you have the 'ctime_r' function. */ #undef HAVE_CTIME_R -/* Define to 1 if you have the `daemon' function. */ +/* Define to 1 if you have the 'daemon' function. */ #undef HAVE_DAEMON -/* Define to 1 if you have the declaration of `arc4random', and to 0 if you +/* Define to 1 if you have the declaration of 'arc4random', and to 0 if you don't. */ #undef HAVE_DECL_ARC4RANDOM -/* Define to 1 if you have the declaration of `arc4random_uniform', and to 0 +/* Define to 1 if you have the declaration of 'arc4random_uniform', and to 0 if you don't. */ #undef HAVE_DECL_ARC4RANDOM_UNIFORM -/* Define to 1 if you have the declaration of `evsignal_assign', and to 0 if +/* Define to 1 if you have the declaration of 'evsignal_assign', and to 0 if you don't. */ #undef HAVE_DECL_EVSIGNAL_ASSIGN -/* Define to 1 if you have the declaration of `inet_ntop', and to 0 if you +/* Define to 1 if you have the declaration of 'inet_ntop', and to 0 if you don't. */ #undef HAVE_DECL_INET_NTOP -/* Define to 1 if you have the declaration of `inet_pton', and to 0 if you +/* Define to 1 if you have the declaration of 'inet_pton', and to 0 if you don't. */ #undef HAVE_DECL_INET_PTON -/* Define to 1 if you have the declaration of `nghttp2_session_server_new', +/* Define to 1 if you have the declaration of 'nghttp2_session_server_new', and to 0 if you don't. */ #undef HAVE_DECL_NGHTTP2_SESSION_SERVER_NEW -/* Define to 1 if you have the declaration of `ngtcp2_conn_server_new', and to +/* Define to 1 if you have the declaration of 'ngtcp2_conn_server_new', and to 0 if you don't. */ #undef HAVE_DECL_NGTCP2_CONN_SERVER_NEW -/* Define to 1 if you have the declaration of `ngtcp2_crypto_encrypt_cb', and +/* Define to 1 if you have the declaration of 'ngtcp2_crypto_encrypt_cb', and to 0 if you don't. */ #undef HAVE_DECL_NGTCP2_CRYPTO_ENCRYPT_CB -/* Define to 1 if you have the declaration of `NID_ED25519', and to 0 if you +/* Define to 1 if you have the declaration of 'NID_ED25519', and to 0 if you don't. */ #undef HAVE_DECL_NID_ED25519 -/* Define to 1 if you have the declaration of `NID_ED448', and to 0 if you +/* Define to 1 if you have the declaration of 'NID_ED448', and to 0 if you don't. */ #undef HAVE_DECL_NID_ED448 -/* Define to 1 if you have the declaration of `NID_secp384r1', and to 0 if you +/* Define to 1 if you have the declaration of 'NID_secp384r1', and to 0 if you don't. */ #undef HAVE_DECL_NID_SECP384R1 -/* Define to 1 if you have the declaration of `NID_X9_62_prime256v1', and to 0 +/* Define to 1 if you have the declaration of 'NID_X9_62_prime256v1', and to 0 if you don't. */ #undef HAVE_DECL_NID_X9_62_PRIME256V1 -/* Define to 1 if you have the declaration of `reallocarray', and to 0 if you +/* Define to 1 if you have the declaration of 'reallocarray', and to 0 if you don't. */ #undef HAVE_DECL_REALLOCARRAY -/* Define to 1 if you have the declaration of `redisConnect', and to 0 if you +/* Define to 1 if you have the declaration of 'redisConnect', and to 0 if you don't. */ #undef HAVE_DECL_REDISCONNECT -/* Define to 1 if you have the declaration of `sk_SSL_COMP_pop_free', and to 0 +/* Define to 1 if you have the declaration of 'sk_SSL_COMP_pop_free', and to 0 if you don't. */ #undef HAVE_DECL_SK_SSL_COMP_POP_FREE /* Define to 1 if you have the declaration of - `SSL_COMP_get_compression_methods', and to 0 if you don't. */ + 'SSL_COMP_get_compression_methods', and to 0 if you don't. */ #undef HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS -/* Define to 1 if you have the declaration of `SSL_CTX_set_ecdh_auto', and to +/* Define to 1 if you have the declaration of 'SSL_CTX_set_ecdh_auto', and to 0 if you don't. */ #undef HAVE_DECL_SSL_CTX_SET_ECDH_AUTO -/* Define to 1 if you have the declaration of `strlcat', and to 0 if you +/* Define to 1 if you have the declaration of 'strlcat', and to 0 if you don't. */ #undef HAVE_DECL_STRLCAT -/* Define to 1 if you have the declaration of `strlcpy', and to 0 if you +/* Define to 1 if you have the declaration of 'strlcpy', and to 0 if you don't. */ #undef HAVE_DECL_STRLCPY -/* Define to 1 if you have the declaration of `XML_StopParser', and to 0 if +/* Define to 1 if you have the declaration of 'XML_StopParser', and to 0 if you don't. */ #undef HAVE_DECL_XML_STOPPARSER /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H -/* Define to 1 if you have the `DSA_SIG_set0' function. */ +/* Define to 1 if you have the 'DSA_SIG_set0' function. */ #undef HAVE_DSA_SIG_SET0 /* Define to 1 if you have the header file. */ #undef HAVE_ENDIAN_H -/* Define to 1 if you have the `endprotoent' function. */ +/* Define to 1 if you have the 'endprotoent' function. */ #undef HAVE_ENDPROTOENT -/* Define to 1 if you have the `endpwent' function. */ +/* Define to 1 if you have the 'endpwent' function. */ #undef HAVE_ENDPWENT -/* Define to 1 if you have the `endservent' function. */ +/* Define to 1 if you have the 'endservent' function. */ #undef HAVE_ENDSERVENT -/* Define to 1 if you have the `ENGINE_cleanup' function. */ +/* Define to 1 if you have the 'ENGINE_cleanup' function. */ #undef HAVE_ENGINE_CLEANUP -/* Define to 1 if you have the `ERR_free_strings' function. */ +/* Define to 1 if you have the 'ERR_free_strings' function. */ #undef HAVE_ERR_FREE_STRINGS -/* Define to 1 if you have the `ERR_load_crypto_strings' function. */ +/* Define to 1 if you have the 'ERR_load_crypto_strings' function. */ #undef HAVE_ERR_LOAD_CRYPTO_STRINGS -/* Define to 1 if you have the `event_assign' function. */ +/* Define to 1 if you have the 'event_assign' function. */ #undef HAVE_EVENT_ASSIGN -/* Define to 1 if you have the `event_base_free' function. */ +/* Define to 1 if you have the 'event_base_free' function. */ #undef HAVE_EVENT_BASE_FREE -/* Define to 1 if you have the `event_base_get_method' function. */ +/* Define to 1 if you have the 'event_base_get_method' function. */ #undef HAVE_EVENT_BASE_GET_METHOD -/* Define to 1 if you have the `event_base_new' function. */ +/* Define to 1 if you have the 'event_base_new' function. */ #undef HAVE_EVENT_BASE_NEW -/* Define to 1 if you have the `event_base_once' function. */ +/* Define to 1 if you have the 'event_base_once' function. */ #undef HAVE_EVENT_BASE_ONCE /* Define to 1 if you have the header file. */ #undef HAVE_EVENT_H -/* Define to 1 if you have the `EVP_aes_256_cbc' function. */ +/* Define to 1 if you have the 'EVP_aes_256_cbc' function. */ #undef HAVE_EVP_AES_256_CBC -/* Define to 1 if you have the `EVP_cleanup' function. */ +/* Define to 1 if you have the 'EVP_cleanup' function. */ #undef HAVE_EVP_CLEANUP -/* Define to 1 if you have the `EVP_default_properties_is_fips_enabled' +/* Define to 1 if you have the 'EVP_default_properties_is_fips_enabled' function. */ #undef HAVE_EVP_DEFAULT_PROPERTIES_IS_FIPS_ENABLED -/* Define to 1 if you have the `EVP_DigestVerify' function. */ +/* Define to 1 if you have the 'EVP_DigestVerify' function. */ #undef HAVE_EVP_DIGESTVERIFY -/* Define to 1 if you have the `EVP_dss1' function. */ +/* Define to 1 if you have the 'EVP_dss1' function. */ #undef HAVE_EVP_DSS1 -/* Define to 1 if you have the `EVP_EncryptInit_ex' function. */ +/* Define to 1 if you have the 'EVP_EncryptInit_ex' function. */ #undef HAVE_EVP_ENCRYPTINIT_EX -/* Define to 1 if you have the `EVP_MAC_CTX_set_params' function. */ +/* Define to 1 if you have the 'EVP_MAC_CTX_set_params' function. */ #undef HAVE_EVP_MAC_CTX_SET_PARAMS -/* Define to 1 if you have the `EVP_MD_CTX_new' function. */ +/* Define to 1 if you have the 'EVP_MD_CTX_new' function. */ #undef HAVE_EVP_MD_CTX_NEW -/* Define to 1 if you have the `EVP_sha1' function. */ +/* Define to 1 if you have the 'EVP_sha1' function. */ #undef HAVE_EVP_SHA1 -/* Define to 1 if you have the `EVP_sha256' function. */ +/* Define to 1 if you have the 'EVP_sha256' function. */ #undef HAVE_EVP_SHA256 -/* Define to 1 if you have the `EVP_sha512' function. */ +/* Define to 1 if you have the 'EVP_sha512' function. */ #undef HAVE_EVP_SHA512 -/* Define to 1 if you have the `ev_default_loop' function. */ +/* Define to 1 if you have the 'ev_default_loop' function. */ #undef HAVE_EV_DEFAULT_LOOP -/* Define to 1 if you have the `ev_loop' function. */ +/* Define to 1 if you have the 'ev_loop' function. */ #undef HAVE_EV_LOOP /* Define to 1 if you have the header file. */ #undef HAVE_EXPAT_H -/* Define to 1 if you have the `explicit_bzero' function. */ +/* Define to 1 if you have the 'explicit_bzero' function. */ #undef HAVE_EXPLICIT_BZERO -/* Define to 1 if you have the `fcntl' function. */ +/* Define to 1 if you have the 'fcntl' function. */ #undef HAVE_FCNTL -/* Define to 1 if you have the `FIPS_mode' function. */ +/* Define to 1 if you have the 'FIPS_mode' function. */ #undef HAVE_FIPS_MODE -/* Define to 1 if you have the `fork' function. */ +/* Define to 1 if you have the 'fork' function. */ #undef HAVE_FORK -/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ +/* Define to 1 if fseeko (and ftello) are declared in stdio.h. */ #undef HAVE_FSEEKO -/* Define to 1 if you have the `fsync' function. */ +/* Define to 1 if you have the 'fsync' function. */ #undef HAVE_FSYNC /* Whether getaddrinfo is available */ #undef HAVE_GETADDRINFO -/* Define to 1 if you have the `getauxval' function. */ +/* Define to 1 if you have the 'getauxval' function. */ #undef HAVE_GETAUXVAL -/* Define to 1 if you have the `getentropy' function. */ +/* Define to 1 if you have the 'getentropy' function. */ #undef HAVE_GETENTROPY -/* Define to 1 if you have the `getifaddrs' function. */ +/* Define to 1 if you have the 'getifaddrs' function. */ #undef HAVE_GETIFADDRS /* Define to 1 if you have the header file. */ #undef HAVE_GETOPT_H -/* Define to 1 if you have the `getpwnam' function. */ +/* Define to 1 if you have the 'getpwnam' function. */ #undef HAVE_GETPWNAM -/* Define to 1 if you have the `getrlimit' function. */ +/* Define to 1 if you have the 'getrlimit' function. */ #undef HAVE_GETRLIMIT -/* Define to 1 if you have the `gettid' function. */ +/* Define to 1 if you have the 'gettid' function. */ #undef HAVE_GETTID -/* Define to 1 if you have the `glob' function. */ +/* Define to 1 if you have the 'glob' function. */ #undef HAVE_GLOB /* Define to 1 if you have the header file. */ #undef HAVE_GLOB_H -/* Define to 1 if you have the `gmtime_r' function. */ +/* Define to 1 if you have the 'gmtime_r' function. */ #undef HAVE_GMTIME_R /* Define to 1 if you have the header file. */ @@ -330,7 +330,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_HIREDIS_HIREDIS_H -/* Define to 1 if you have the `HMAC_Init_ex' function. */ +/* Define to 1 if you have the 'HMAC_Init_ex' function. */ #undef HAVE_HMAC_INIT_EX /* If we have htobe64 */ @@ -339,19 +339,19 @@ /* Define to 1 if you have the header file. */ #undef HAVE_IFADDRS_H -/* Define to 1 if you have the `if_nametoindex' function. */ +/* Define to 1 if you have the 'if_nametoindex' function. */ #undef HAVE_IF_NAMETOINDEX -/* Define to 1 if you have the `inet_aton' function. */ +/* Define to 1 if you have the 'inet_aton' function. */ #undef HAVE_INET_ATON -/* Define to 1 if you have the `inet_ntop' function. */ +/* Define to 1 if you have the 'inet_ntop' function. */ #undef HAVE_INET_NTOP -/* Define to 1 if you have the `inet_pton' function. */ +/* Define to 1 if you have the 'inet_pton' function. */ #undef HAVE_INET_PTON -/* Define to 1 if you have the `initgroups' function. */ +/* Define to 1 if you have the 'initgroups' function. */ #undef HAVE_INITGROUPS /* Define to 1 if you have the header file. */ @@ -363,10 +363,10 @@ /* Define to 1 if you have the header file. */ #undef HAVE_IPHLPAPI_H -/* Define to 1 if you have the `isblank' function. */ +/* Define to 1 if you have the 'isblank' function. */ #undef HAVE_ISBLANK -/* Define to 1 if you have the `kill' function. */ +/* Define to 1 if you have the 'kill' function. */ #undef HAVE_KILL /* Use portable libbsd functions */ @@ -384,7 +384,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_NET_TSTAMP_H -/* Define to 1 if you have the `localtime_r' function. */ +/* Define to 1 if you have the 'localtime_r' function. */ #undef HAVE_LOCALTIME_R /* Define to 1 if you have the header file. */ @@ -393,7 +393,7 @@ /* If have GNU libc compatible malloc */ #undef HAVE_MALLOC -/* Define to 1 if you have the `memmove' function. */ +/* Define to 1 if you have the 'memmove' function. */ #undef HAVE_MEMMOVE /* Define to 1 if you have the header file. */ @@ -435,49 +435,49 @@ /* Define this to use ngtcp2. */ #undef HAVE_NGTCP2 -/* Define to 1 if you have the `ngtcp2_ccerr_default' function. */ +/* Define to 1 if you have the 'ngtcp2_ccerr_default' function. */ #undef HAVE_NGTCP2_CCERR_DEFAULT -/* Define to 1 if you have the `ngtcp2_conn_encode_0rtt_transport_params' +/* Define to 1 if you have the 'ngtcp2_conn_encode_0rtt_transport_params' function. */ #undef HAVE_NGTCP2_CONN_ENCODE_0RTT_TRANSPORT_PARAMS -/* Define to 1 if you have the `ngtcp2_conn_get_max_local_streams_uni' +/* Define to 1 if you have the 'ngtcp2_conn_get_max_local_streams_uni' function. */ #undef HAVE_NGTCP2_CONN_GET_MAX_LOCAL_STREAMS_UNI -/* Define to 1 if you have the `ngtcp2_conn_get_num_scid' function. */ +/* Define to 1 if you have the 'ngtcp2_conn_get_num_scid' function. */ #undef HAVE_NGTCP2_CONN_GET_NUM_SCID -/* Define to 1 if you have the `ngtcp2_conn_in_closing_period' function. */ +/* Define to 1 if you have the 'ngtcp2_conn_in_closing_period' function. */ #undef HAVE_NGTCP2_CONN_IN_CLOSING_PERIOD -/* Define to 1 if you have the `ngtcp2_conn_in_draining_period' function. */ +/* Define to 1 if you have the 'ngtcp2_conn_in_draining_period' function. */ #undef HAVE_NGTCP2_CONN_IN_DRAINING_PERIOD /* Define if ngtcp2_conn_shutdown_stream has 4 arguments. */ #undef HAVE_NGTCP2_CONN_SHUTDOWN_STREAM4 -/* Define to 1 if you have the `ngtcp2_conn_tls_early_data_rejected' function. +/* Define to 1 if you have the 'ngtcp2_conn_tls_early_data_rejected' function. */ #undef HAVE_NGTCP2_CONN_TLS_EARLY_DATA_REJECTED -/* Define to 1 if you have the `ngtcp2_crypto_encrypt_cb' function. */ +/* Define to 1 if you have the 'ngtcp2_crypto_encrypt_cb' function. */ #undef HAVE_NGTCP2_CRYPTO_ENCRYPT_CB /* Define to 1 if you have the - `ngtcp2_crypto_quictls_configure_client_context' function. */ + 'ngtcp2_crypto_quictls_configure_client_context' function. */ #undef HAVE_NGTCP2_CRYPTO_QUICTLS_CONFIGURE_CLIENT_CONTEXT /* Define to 1 if you have the - `ngtcp2_crypto_quictls_configure_server_context' function. */ + 'ngtcp2_crypto_quictls_configure_server_context' function. */ #undef HAVE_NGTCP2_CRYPTO_QUICTLS_CONFIGURE_SERVER_CONTEXT /* Define to 1 if you have the - `ngtcp2_crypto_quictls_from_ossl_encryption_level' function. */ + 'ngtcp2_crypto_quictls_from_ossl_encryption_level' function. */ #undef HAVE_NGTCP2_CRYPTO_QUICTLS_FROM_OSSL_ENCRYPTION_LEVEL -/* Define to 1 if the system has the type `ngtcp2_encryption_level'. */ +/* Define to 1 if the system has the type 'ngtcp2_encryption_level'. */ #undef HAVE_NGTCP2_ENCRYPTION_LEVEL /* Define to 1 if you have the header file. @@ -494,13 +494,13 @@ /* Use libnss for crypto */ #undef HAVE_NSS -/* Define to 1 if you have the `OpenSSL_add_all_digests' function. */ +/* Define to 1 if you have the 'OpenSSL_add_all_digests' function. */ #undef HAVE_OPENSSL_ADD_ALL_DIGESTS /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_BN_H -/* Define to 1 if you have the `OPENSSL_config' function. */ +/* Define to 1 if you have the 'OPENSSL_config' function. */ #undef HAVE_OPENSSL_CONFIG /* Define to 1 if you have the header file. */ @@ -521,10 +521,10 @@ /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_ERR_H -/* Define to 1 if you have the `OPENSSL_init_crypto' function. */ +/* Define to 1 if you have the 'OPENSSL_init_crypto' function. */ #undef HAVE_OPENSSL_INIT_CRYPTO -/* Define to 1 if you have the `OPENSSL_init_ssl' function. */ +/* Define to 1 if you have the 'OPENSSL_init_ssl' function. */ #undef HAVE_OPENSSL_INIT_SSL /* Define to 1 if you have the header file. */ @@ -539,10 +539,10 @@ /* Define to 1 if you have the header file. */ #undef HAVE_OPENSSL_SSL_H -/* Define to 1 if you have the `OSSL_PARAM_BLD_new' function. */ +/* Define to 1 if you have the 'OSSL_PARAM_BLD_new' function. */ #undef HAVE_OSSL_PARAM_BLD_NEW -/* Define to 1 if you have the `poll' function. */ +/* Define to 1 if you have the 'poll' function. */ #undef HAVE_POLL /* Define to 1 if you have the header file. */ @@ -554,10 +554,10 @@ /* Have PTHREAD_PRIO_INHERIT. */ #undef HAVE_PTHREAD_PRIO_INHERIT -/* Define to 1 if the system has the type `pthread_rwlock_t'. */ +/* Define to 1 if the system has the type 'pthread_rwlock_t'. */ #undef HAVE_PTHREAD_RWLOCK_T -/* Define to 1 if the system has the type `pthread_spinlock_t'. */ +/* Define to 1 if the system has the type 'pthread_spinlock_t'. */ #undef HAVE_PTHREAD_SPINLOCK_T /* Define to 1 if you have the header file. */ @@ -566,101 +566,101 @@ /* Define if you have Python libraries and header files. */ #undef HAVE_PYTHON -/* Define to 1 if you have the `random' function. */ +/* Define to 1 if you have the 'random' function. */ #undef HAVE_RANDOM -/* Define to 1 if you have the `RAND_cleanup' function. */ +/* Define to 1 if you have the 'RAND_cleanup' function. */ #undef HAVE_RAND_CLEANUP /* If we have reallocarray(3) */ #undef HAVE_REALLOCARRAY -/* Define to 1 if you have the `recvmsg' function. */ +/* Define to 1 if you have the 'recvmsg' function. */ #undef HAVE_RECVMSG -/* Define to 1 if you have the `sendmsg' function. */ +/* Define to 1 if you have the 'sendmsg' function. */ #undef HAVE_SENDMSG -/* Define to 1 if you have the `setregid' function. */ +/* Define to 1 if you have the 'setregid' function. */ #undef HAVE_SETREGID -/* Define to 1 if you have the `setresgid' function. */ +/* Define to 1 if you have the 'setresgid' function. */ #undef HAVE_SETRESGID -/* Define to 1 if you have the `setresuid' function. */ +/* Define to 1 if you have the 'setresuid' function. */ #undef HAVE_SETRESUID -/* Define to 1 if you have the `setreuid' function. */ +/* Define to 1 if you have the 'setreuid' function. */ #undef HAVE_SETREUID -/* Define to 1 if you have the `setrlimit' function. */ +/* Define to 1 if you have the 'setrlimit' function. */ #undef HAVE_SETRLIMIT -/* Define to 1 if you have the `setsid' function. */ +/* Define to 1 if you have the 'setsid' function. */ #undef HAVE_SETSID -/* Define to 1 if you have the `setusercontext' function. */ +/* Define to 1 if you have the 'setusercontext' function. */ #undef HAVE_SETUSERCONTEXT -/* Define to 1 if you have the `SHA512_Update' function. */ +/* Define to 1 if you have the 'SHA512_Update' function. */ #undef HAVE_SHA512_UPDATE -/* Define to 1 if you have the `shmget' function. */ +/* Define to 1 if you have the 'shmget' function. */ #undef HAVE_SHMGET -/* Define to 1 if you have the `sigprocmask' function. */ +/* Define to 1 if you have the 'sigprocmask' function. */ #undef HAVE_SIGPROCMASK -/* Define to 1 if you have the `sleep' function. */ +/* Define to 1 if you have the 'sleep' function. */ #undef HAVE_SLEEP -/* Define to 1 if you have the `snprintf' function. */ +/* Define to 1 if you have the 'snprintf' function. */ #undef HAVE_SNPRINTF -/* Define to 1 if you have the `socketpair' function. */ +/* Define to 1 if you have the 'socketpair' function. */ #undef HAVE_SOCKETPAIR /* Using Solaris threads */ #undef HAVE_SOLARIS_THREADS -/* Define to 1 if you have the `srandom' function. */ +/* Define to 1 if you have the 'srandom' function. */ #undef HAVE_SRANDOM /* Define if you have the SSL libraries installed. */ #undef HAVE_SSL -/* Define to 1 if you have the `SSL_CTX_set_alpn_protos' function. */ +/* Define to 1 if you have the 'SSL_CTX_set_alpn_protos' function. */ #undef HAVE_SSL_CTX_SET_ALPN_PROTOS -/* Define to 1 if you have the `SSL_CTX_set_alpn_select_cb' function. */ +/* Define to 1 if you have the 'SSL_CTX_set_alpn_select_cb' function. */ #undef HAVE_SSL_CTX_SET_ALPN_SELECT_CB -/* Define to 1 if you have the `SSL_CTX_set_ciphersuites' function. */ +/* Define to 1 if you have the 'SSL_CTX_set_ciphersuites' function. */ #undef HAVE_SSL_CTX_SET_CIPHERSUITES -/* Define to 1 if you have the `SSL_CTX_set_security_level' function. */ +/* Define to 1 if you have the 'SSL_CTX_set_security_level' function. */ #undef HAVE_SSL_CTX_SET_SECURITY_LEVEL -/* Define to 1 if you have the `SSL_CTX_set_tlsext_ticket_key_evp_cb' +/* Define to 1 if you have the 'SSL_CTX_set_tlsext_ticket_key_evp_cb' function. */ #undef HAVE_SSL_CTX_SET_TLSEXT_TICKET_KEY_EVP_CB -/* Define to 1 if you have the `SSL_CTX_set_tmp_ecdh' function. */ +/* Define to 1 if you have the 'SSL_CTX_set_tmp_ecdh' function. */ #undef HAVE_SSL_CTX_SET_TMP_ECDH -/* Define to 1 if you have the `SSL_get0_alpn_selected' function. */ +/* Define to 1 if you have the 'SSL_get0_alpn_selected' function. */ #undef HAVE_SSL_GET0_ALPN_SELECTED -/* Define to 1 if you have the `SSL_get0_peername' function. */ +/* Define to 1 if you have the 'SSL_get0_peername' function. */ #undef HAVE_SSL_GET0_PEERNAME -/* Define to 1 if you have the `SSL_get1_peer_certificate' function. */ +/* Define to 1 if you have the 'SSL_get1_peer_certificate' function. */ #undef HAVE_SSL_GET1_PEER_CERTIFICATE -/* Define to 1 if you have the `SSL_is_quic' function. */ +/* Define to 1 if you have the 'SSL_is_quic' function. */ #undef HAVE_SSL_IS_QUIC -/* Define to 1 if you have the `SSL_set1_host' function. */ +/* Define to 1 if you have the 'SSL_set1_host' function. */ #undef HAVE_SSL_SET1_HOST /* Define to 1 if you have the header file. */ @@ -681,7 +681,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H -/* Define to 1 if you have the `strftime' function. */ +/* Define to 1 if you have the 'strftime' function. */ #undef HAVE_STRFTIME /* Define to 1 if you have the header file. */ @@ -690,39 +690,39 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H -/* Define to 1 if you have the `strlcat' function. */ +/* Define to 1 if you have the 'strlcat' function. */ #undef HAVE_STRLCAT -/* Define to 1 if you have the `strlcpy' function. */ +/* Define to 1 if you have the 'strlcpy' function. */ #undef HAVE_STRLCPY -/* Define to 1 if you have the `strptime' function. */ +/* Define to 1 if you have the 'strptime' function. */ #undef HAVE_STRPTIME -/* Define to 1 if you have the `strsep' function. */ +/* Define to 1 if you have the 'strsep' function. */ #undef HAVE_STRSEP -/* Define to 1 if `ipi_spec_dst' is a member of `struct in_pktinfo'. */ +/* Define to 1 if 'ipi_spec_dst' is a member of 'struct in_pktinfo'. */ #undef HAVE_STRUCT_IN_PKTINFO_IPI_SPEC_DST -/* Define to 1 if `tokenlen' is a member of `struct ngtcp2_pkt_hd'. */ +/* Define to 1 if 'tokenlen' is a member of 'struct ngtcp2_pkt_hd'. */ #undef HAVE_STRUCT_NGTCP2_PKT_HD_TOKENLEN -/* Define to 1 if `max_tx_udp_payload_size' is a member of `struct +/* Define to 1 if 'max_tx_udp_payload_size' is a member of 'struct ngtcp2_settings'. */ #undef HAVE_STRUCT_NGTCP2_SETTINGS_MAX_TX_UDP_PAYLOAD_SIZE -/* Define to 1 if `tokenlen' is a member of `struct ngtcp2_settings'. */ +/* Define to 1 if 'tokenlen' is a member of 'struct ngtcp2_settings'. */ #undef HAVE_STRUCT_NGTCP2_SETTINGS_TOKENLEN -/* Define to 1 if `original_dcid_present' is a member of `struct +/* Define to 1 if 'original_dcid_present' is a member of 'struct ngtcp2_transport_params'. */ #undef HAVE_STRUCT_NGTCP2_TRANSPORT_PARAMS_ORIGINAL_DCID_PRESENT -/* Define to 1 if the system has the type `struct ngtcp2_version_cid'. */ +/* Define to 1 if the system has the type 'struct ngtcp2_version_cid'. */ #undef HAVE_STRUCT_NGTCP2_VERSION_CID -/* Define to 1 if `sun_len' is a member of `struct sockaddr_un'. */ +/* Define to 1 if 'sun_len' is a member of 'struct sockaddr_un'. */ #undef HAVE_STRUCT_SOCKADDR_UN_SUN_LEN /* Define if you have Swig libraries and header files. */ @@ -782,16 +782,16 @@ /* Define to 1 if you have the header file. */ #undef HAVE_TIME_H -/* Define to 1 if you have the `tzset' function. */ +/* Define to 1 if you have the 'tzset' function. */ #undef HAVE_TZSET /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Define to 1 if you have the `usleep' function. */ +/* Define to 1 if you have the 'usleep' function. */ #undef HAVE_USLEEP -/* Define to 1 if you have the `vfork' function. */ +/* Define to 1 if you have the 'vfork' function. */ #undef HAVE_VFORK /* Define to 1 if you have the header file. */ @@ -809,22 +809,22 @@ /* Define to 1 if you have the header file. */ #undef HAVE_WINSOCK2_H -/* Define to 1 if `fork' works. */ +/* Define to 1 if 'fork' works. */ #undef HAVE_WORKING_FORK -/* Define to 1 if `vfork' works. */ +/* Define to 1 if 'vfork' works. */ #undef HAVE_WORKING_VFORK -/* Define to 1 if you have the `writev' function. */ +/* Define to 1 if you have the 'writev' function. */ #undef HAVE_WRITEV /* Define to 1 if you have the header file. */ #undef HAVE_WS2TCPIP_H -/* Define to 1 if you have the `X509_VERIFY_PARAM_set1_host' function. */ +/* Define to 1 if you have the 'X509_VERIFY_PARAM_set1_host' function. */ #undef HAVE_X509_VERIFY_PARAM_SET1_HOST -/* Define to 1 if you have the `_beginthreadex' function. */ +/* Define to 1 if you have the '_beginthreadex' function. */ #undef HAVE__BEGINTHREADEX /* If HMAC_Init_ex() returns void */ @@ -923,16 +923,16 @@ /* Shared data */ #undef SHARE_DIR -/* The size of `pthread_t', as computed by sizeof. */ +/* The size of 'pthread_t', as computed by sizeof. */ #undef SIZEOF_PTHREAD_T -/* The size of `size_t', as computed by sizeof. */ +/* The size of 'size_t', as computed by sizeof. */ #undef SIZEOF_SIZE_T -/* The size of `time_t', as computed by sizeof. */ +/* The size of 'time_t', as computed by sizeof. */ #undef SIZEOF_TIME_T -/* The size of `unsigned long', as computed by sizeof. */ +/* The size of 'unsigned long', as computed by sizeof. */ #undef SIZEOF_UNSIGNED_LONG /* define if (v)snprintf does not return length needed, (but length used) */ @@ -941,7 +941,7 @@ /* Define to 1 if libsodium supports sodium_set_misuse_handler */ #undef SODIUM_MISUSE_HANDLER -/* 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. */ #undef STDC_HEADERS @@ -1035,7 +1035,7 @@ /* Define this to enable SHA256 and SHA512 support. */ #undef USE_SHA2 -/* Enable extensions on AIX 3, Interix. */ +/* Enable extensions on AIX, Interix, z/OS. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif @@ -1096,11 +1096,15 @@ #ifndef __STDC_WANT_IEC_60559_DFP_EXT__ # undef __STDC_WANT_IEC_60559_DFP_EXT__ #endif +/* Enable extensions specified by C23 Annex F. */ +#ifndef __STDC_WANT_IEC_60559_EXT__ +# undef __STDC_WANT_IEC_60559_EXT__ +#endif /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ # undef __STDC_WANT_IEC_60559_FUNCS_EXT__ #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__ # undef __STDC_WANT_IEC_60559_TYPES_EXT__ #endif @@ -1141,30 +1145,36 @@ /* Define if you want PyUnbound. */ #undef WITH_PYUNBOUND -/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a - `char[]'. */ +/* Define to 1 if 'lex' declares 'yytext' as a 'char *' by default, not a + 'char[]'. */ #undef YYTEXT_POINTER /* 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 /* Enable for compile on Minix */ #undef _NETBSD_SOURCE +/* Number of bits in time_t, on hosts where this is settable. */ +#undef _TIME_BITS + +/* Define to 1 on platforms where this makes time_t a 64-bit type. */ +#undef __MINGW_USE_VC2005_COMPAT + /* defined to use gcc ansi snprintf and sscanf that understands %lld when compiled for windows. */ #undef __USE_MINGW_ANSI_STDIO -/* Define to empty if `const' does not conform to ANSI C. */ +/* Define to empty if 'const' does not conform to ANSI C. */ #undef const -/* Define to `int' if doesn't define. */ +/* Define as 'int' if doesn't define. */ #undef gid_t /* in_addr_t */ @@ -1173,28 +1183,28 @@ /* in_port_t */ #undef in_port_t -/* Define to `__inline__' or `__inline' if that's what the C compiler +/* Define to '__inline__' or '__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif -/* Define to `short' if does not define. */ +/* Define to 'short' if does not define. */ #undef int16_t -/* Define to `int' if does not define. */ +/* Define to 'int' if does not define. */ #undef int32_t -/* Define to `long long' if does not define. */ +/* Define to 'long long' if does not define. */ #undef int64_t -/* Define to `signed char' if does not define. */ +/* Define to 'signed char' if does not define. */ #undef int8_t /* Define if replacement function should be used. */ *** 17337 LINES SKIPPED *** From nobody Sun Sep 7 20:53:03 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cKj333gPMz66lNw; Sun, 07 Sep 2025 20: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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cKj332XnPz3FV8; Sun, 07 Sep 2025 20: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=1757278383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+cq/pwZfRo164ql+pQsP7KWPG3Kxm1yAIkWb36DMBbE=; b=ZsguZ7cFRuVJgV9x+r73eXLUjDhgF3Pt2O5lTjUHfj0l/YByWIB485n8FnG4QAO/QUW4Ux puA3Zy2CS9/1Brmkip+8jFiBQBzZp2KXM1LfWYhLe1BqjoghnGzPeWgeDti6RM3mNQzd9w xzInNvML4AaVpKDRc8bxRxlRyRJbdUezctGSeFg1LPRyAZ+eV6xN/4kdwtwdqjaiikl2fy b5i0hfhyp1bkrfhMWJvTYN1aX3nOZln7mbhPBIgyN0fZd5gi7Ndh32OYUYKzozUkwS55/3 4TWvMA5qbKnSkUOZiIOUVYLzyD305me01OHPwtpwCO4X0jtv91FRLLqrzL11JQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1757278383; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+cq/pwZfRo164ql+pQsP7KWPG3Kxm1yAIkWb36DMBbE=; b=WzvMPaUhUmH3e0r7MIc6FarpND4mJb0+c/1/6DrXjPmYoKGynXKMGEHdHCCPs1XDUUK2Ec TeutHK2BTn8UifdkNdiybIvCuGILNgBpqm1hm3lGwmbj4ityBl91/j3OYMRjyLThiBe9NI QiXJWNzUkazLoA0v5dZiKQKcz23FC5UbPF+XSEBcqK78uJforKMU6sOlNIUilvYj3WgUE5 KBrIBIGTkpCwsSBxTZJ3OER/mKUdOWyF7837ht8VIA9YIqHuFdS7weiahOl/r9nKG7Ow36 V3KrlZ1RahsYoDghSUg9Qkf6SrmnUv3X3j0NsM9CPEmXFhf9U7N9ODJ2J8q7qw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1757278383; a=rsa-sha256; cv=none; b=rneWBJDL3QHdspd01uhuR9ooTObXSUc82hhg6B43T8JBOHHgQNaIy1Y2pGY0EZPANlKRBJ c0O/FLE/uwrVg4Q2ouMK7sf1s6dPN4j7Y0hvhIH/RNYkfEgdOQDTOvPvIO8E9ZS9+8E2Sg IqFklt5rTXAq5/YP/DkcalwwceZTIPwm2Mec4LYYkmAliFZiiz+R+FGavIjDQfV2p9WfRv hpG5LJhLZyZIbtM1T/Q/VjuryU79NUB4HOtw7Jtm4DFw/AGhJDmYOwt28iXXDeVPDdFLDB mJ4wzBXqEZuoB5qjYHnHH1kem/dYnSlBf93rA9HzZDp51cQlJpngxdHPnF4cnQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cKj331z0Lzcdh; Sun, 07 Sep 2025 20: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 587Kr3Pb046988; Sun, 7 Sep 2025 20: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 587Kr3uE046985; Sun, 7 Sep 2025 20:53:03 GMT (envelope-from git) Date: Sun, 7 Sep 2025 20:53:03 GMT Message-Id: <202509072053.587Kr3uE046985@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: 14b61b2e9317 - main - man: Add -l 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: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 14b61b2e931741281d0bfef426e9809f16006504 Auto-Submitted: auto-generated The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=14b61b2e931741281d0bfef426e9809f16006504 commit 14b61b2e931741281d0bfef426e9809f16006504 Author: Ingo Schwarze AuthorDate: 2025-09-07 20:52:09 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2025-09-07 20:52:09 +0000 man: Add -l option Add a -l option which causes man to interpret all arguments as paths to open directly rather than man pages to search for in MANPATH. See the PR for a detailed rationale. PR: 289245 MFC after: 1 week Reviewed by: ziaee, emaste Differential Revision: https://reviews.freebsd.org/D52385 --- usr.bin/man/man.1 | 24 ++++++++++++++++++------ usr.bin/man/man.sh | 33 ++++++++++++++++++++++++--------- 2 files changed, 42 insertions(+), 15 deletions(-) diff --git a/usr.bin/man/man.1 b/usr.bin/man/man.1 index 820d6a5b33a9..707677ccce06 100644 --- a/usr.bin/man/man.1 +++ b/usr.bin/man/man.1 @@ -33,7 +33,7 @@ .Nd display online manual documentation pages .Sh SYNOPSIS .Nm -.Op Fl adho +.Op Fl adhlo .Op Fl t | w .Op Fl M Ar manpath .Op Fl P Ar pager @@ -144,6 +144,15 @@ Search names and descriptions of all manual pages for an extended regular .Ar expression , emulating basic functionality of .Xr apropos 1 . +.It Fl l +Interpret all arguments as absolute or relative filename(s) +of the manual page(s) to display. +No search is done and the options +.Fl M , +.Fl m , +and +.Fl S +are ignored. .It Fl m Ar arch Ns Op : Ns Ar machine Override the default architecture and machine settings allowing lookup of other platform specific manual pages. @@ -269,12 +278,15 @@ will search the following paths when considering section 4 manual pages in .Pa /usr/share/man/man4 .El .Ss Displaying Specific Manual Files -The +For compatibility reasons, .Nm -utility also supports displaying a specific manual page if passed a path -to the file as long as it contains a +will interpret any argument containing at least one .Ql / -character. +character as an absolute or relative path to a manual page to be +displayed. +This heuristic, made redundant by the more widely supported +.Fl l +option, is now deprecated and may be removed in future releases. .Sh ENVIRONMENT The following environment variables affect the execution of .Nm : @@ -398,7 +410,7 @@ manual page: .Pp Show a manual page in the current working directory: .Pp -.Dl $ man ./man.1 +.Dl $ man -l man.1 .Pp Show the location of manual pages in sections 1 and 8 which contain the word .Ql arm : diff --git a/usr.bin/man/man.sh b/usr.bin/man/man.sh index 18595042da5f..53961ae4997e 100755 --- a/usr.bin/man/man.sh +++ b/usr.bin/man/man.sh @@ -511,13 +511,21 @@ man_display_page_groff() { # Usage: man_find_and_display page # Search through the manpaths looking for the given page. man_find_and_display() { - local found_page locpath p path sect + local found_page has_slash locpath p path sect # Check to see if it's a file. But only if it has a '/' in - # the filename. + # the filename or if -l was specified. case "$1" in - */*) if [ -f "$1" -a -r "$1" ]; then + */*) has_slash=yes + ;; + esac + if [ -n "$has_slash" -o -n "$lflag" ]; then + if [ -f "$1" -a -r "$1" ]; then decho "Found a usable page, displaying that" + if [ -z "$lflag" ]; then + echo "Opening a file directly is deprecated," \ + "use -l instead." >&2 + fi unset use_cat manpage="$1" setup_cattool "$manpage" @@ -531,9 +539,12 @@ man_find_and_display() { man_display_page fi return + elif [ -n "$lflag" ]; then + echo "Cannot read $1" >&2 + ret=1 + return fi - ;; - esac + fi IFS=: for sect in $MANSECT; do @@ -601,7 +612,7 @@ man_parse_opts() { local cmd_arg OPTIND=1 - while getopts 'K:M:P:S:adfhkm:op:tw' cmd_arg; do + while getopts 'K:M:P:S:adfhklm:op:tw' cmd_arg; do case "${cmd_arg}" in K) Kflag=Kflag REGEXP=$OPTARG ;; @@ -613,6 +624,7 @@ man_parse_opts() { f) fflag=fflag ;; h) man_usage 0 ;; k) kflag=kflag ;; + l) lflag=lflag ;; m) mflag=$OPTARG ;; o) oflag=oflag ;; p) MANROFFSEQ=$OPTARG ;; @@ -625,16 +637,19 @@ man_parse_opts() { shift $(( $OPTIND - 1 )) # Check the args for incompatible options. - - case "${Kflag}${fflag}${kflag}${tflag}${wflag}" in + case "${Kflag}${fflag}${kflag}${lflag}${tflag}${wflag}" in Kflagfflag*) echo "Incompatible options: -K and -f"; man_usage ;; Kflag*kflag*) echo "Incompatible options: -K and -k"; man_usage ;; + Kflag*lflag*) echo "Incompatible options: -K and -l"; man_usage ;; Kflag*tflag) echo "Incompatible options: -K and -t"; man_usage ;; fflagkflag*) echo "Incompatible options: -f and -k"; man_usage ;; + fflag*lflag*) echo "Incompatible options: -f and -l"; man_usage ;; fflag*tflag*) echo "Incompatible options: -f and -t"; man_usage ;; fflag*wflag) echo "Incompatible options: -f and -w"; man_usage ;; - *kflagtflag*) echo "Incompatible options: -k and -t"; man_usage ;; + *kflaglflag*) echo "Incompatible options: -k and -l"; man_usage ;; + *kflag*tflag*) echo "Incompatible options: -k and -t"; man_usage ;; *kflag*wflag) echo "Incompatible options: -k and -w"; man_usage ;; + *lflag*wflag) echo "Incompatible options: -l and -w"; man_usage ;; *tflagwflag) echo "Incompatible options: -t and -w"; man_usage ;; esac